PT09IHJlbGVhc2UgMS4xMC4xID09PQoKMjAxNi0xMS0xNyAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY29heGlvbi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkgIHJlbGVhc2luZyAxLjEwLjEKCjIwMTYtMTEtMTcgMTQ6NDU6MzQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBwby9lbC5wbzoKCSogcG8vaWQucG86CgkqIHBvL3poX0NOLnBvOgoJICBwbzogVXBkYXRlIHRyYW5zbGF0aW9ucwoKMjAxNi0xMS0xNiAxMDo1Mzo1MSArMDUzMCAgVmlub2QgS2VzdGkgPHZpbm9ka2VzdGlAeWFob28uY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNpbmsuYzoKCSAgc3BsaXRtdXhzaW5rOiBwYWQgcmVxdWVzdCBmYWlscyBmb3IgZmx2bXV4CgkgIHNwbGl0bXV4c2luayByZXF1ZXN0cyBwYWQgZnJvbSBlbGVtZW50IHVzaW5nIHBhZCB0ZW1wbGF0ZSBsaWtlICJ2aWRlb18ldSIsICJhdWRpb18ldSIgYW5kICJzaW5rXyVkIi4gVGhpcyBpcyB0cnVlIGZvciBtb3N0IG9mIHRoZSBtdXhlcnMuCgkgIEJ1dCBzcGxpdG11eHNpbmsgbm90IGFibGUgdG8gcmVxdWVzdCBwYWQgdG8gZmx2bXV4IGFzIGZsdm11eCBoYXMgImF1ZGlvIiBhbmQgInZpZGVvIiBhcyBwYWQgdGVtcGxhdGVzLgoJICBmaXg6IHNwbGl0bXV4c2luayBzaG91bGQgZmFsbGJhY2sgdG8gImF1ZGlvIiBhbmQgICJ2aWRlbyIgd2hlbiB0ZW1wbGF0ZSBub3QgZm91bmQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzQ1MDcKCjIwMTYtMTEtMTQgMTc6Mzc6NTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYzoKCSAgZGVpbnRlcmxlYXZlOiBSZXNldCBjYXBzIGFjY3VtdWxhdG9yIHRvIEFOWSB3aGVuIHJlc3luY2luZyB0aGUgYWRhcHRlciwgbm90IEVNUFRZCgkgIFRoZSBhY2N1bXVsYXRvciBpcyBmaWxsZWQgYnkgaW50ZXJzZWN0aW5nIHdpdGggYWxsIHRoZSBwYWQgY2FwcywgYXMgc3VjaAoJICBpdCBtdXN0IGJlIGluaXRpYWxpemVkIHdpdGggQU5ZIChsaWtlIGl0IGlzIGJlZm9yZSB0aGUgaXRlcmF0aW9uIGlzCgkgIHN0YXJ0ZWQpIGFuZCBub3QgdG8gRU1QVFkuCgkgIEZpeGVzIHRoZSBDQVBTIHF1ZXJ5IGFsd2F5cyByZXR1cm5pbmcgRU1QVFkgY2FwcyB3aGVuIHJlc3luY2luZyBoYXBwZW5lZAoJICBkdXJpbmcgdGhlIHF1ZXJ5LCBlLmcuIGJlY2F1c2UgcGFkcyB3ZXJlIGFkZGVkL3JlbW92ZWQuCgoyMDE2LTExLTEyIDIzOjM0OjIzICswMTAwICBQZXRyIEt1bGhhdnkgPGJyYWluQGppa29zLmN6PgoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgdWRwc3JjOiByZWNlaXZlIGNvbnRyb2wgbWVzc2FnZXMgb25seSBpbiBtdWx0aWNhc3QKCSAgQ29udHJvbCBtZXNzYWdlcyBhcmUgdXNlZCBvbmx5IGluIG11bHRpY2FzdCBtb2RlIC0gdG8gZGV0ZWN0IGlmIHRoZSBkZXN0aW5hdGlvbgoJICBhZGRyZXNzIGlzIG5vdCBvdXJzIGFuZCBwb3NzaWJseSBkcm9wIHRoZSBwYWNrZXQuIEhvd2V2ZXIgaW4gbm9uLW11bHRpY2FzdAoJICBtb2RlcyB0aGUgbWVzc2FnZXMgYXJlIHN0aWxsIGFsbG9jYXRlZCBhbmQgZnJlZWQgZXZlbiBpZiBub3QgdXNlZC4gVGhlcmVmb3JlCgkgIHJlcXVlc3QgY29udHJvbCBtZXNzYWdlcyBmcm9tIGdfc29ja2V0X3JlY2VpdmVfbWVzc2FnZSgpIG9ubHkgaW4gbXVsdGljYXN0CgkgIG1vZGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzI4NDEKCjIwMTYtMTAtMDggMTg6MTE6MTcgKzAyMDAgIFdpbGxpYW0gTWFubGV5IDx3aWxsQHdpbGxpYW1tYW5sZXkubmV0PgoKCSogc3lzL3Y0bDIvZ3N0djRsMmFsbG9jYXRvci5jOgoJICB2NGwyOiBXYXJuLCBkb24ndCBhc3NlcnQgaWYgdjRsIGdpdmVzIHVzIGEgYnVmZmVyIHdpdGggYSB0b28gbGFyZ2Ugc2l6ZQoJICBJJ3ZlIHNlZW4gcHJvYmxlbXMgd2hlcmUgdGhlIGBieXRlc3VzZWRgIGZpZWxkIG9mIGB2NGwyX2J1ZmZlcmAgd291bGQgYmUKCSAgYSBzaWxseSBudW1iZXIgY2F1c2luZyB0aGUgbGF0ZXIgY2FsbCB0bzoKCSAgZ3N0X21lbW9yeV9yZXNpemUgKGdyb3VwLT5tZW1baV0sIDAsIGdyb3VwLT5wbGFuZXNbaV0uYnl0ZXN1c2VkKTsKCSAgdG8gcmVzdWx0IGluIHRoaXMgZXJyb3IgdG8gYmUgcHJpbnRlZDoKCSAgKHB1bHNldmlkZW86MTEpOiBHU3RyZWFtZXItQ1JJVElDQUwgKio6IGdzdF9tZW1vcnlfcmVzaXplOiBhc3NlcnRpb24gJ3NpemUgKyBtZW0tPm9mZnNldCArIG9mZnNldCA8PSBtZW0tPm1heHNpemUnIGZhaWxlZAoJICBiZXNpZGVzIGNhdXNpbmcgd2hvLWtub3dzIHdoYXQgb3RoZXIgcHJvYmxlbXMuCgkgIFdlIG1ha2UgdGhlIGFzc3VtcHRpb24gdGhhdCB0aGlzIGJ1ZmZlciBoYXMgc3RpbGwgYmVlbiBkZXF1ZXVlZCBjb3JyZWN0bHkKCSAgc28ganVzdCBjbGFtcCB0byBhIHZhbGlkIHNpemUgc28gZG93bnN0cmVhbSBlbGVtZW50cyB3b24ndCBlbmQgdXAgaW4KCSAgdW5kZWZpbmVkIGJlaGF2aW91ci4KCSAgVGhlIGludmFsaWQgYHY0bDJfYnVmZmVyYCBJIHNhdyBmcm9tIG15IGNhcHR1cmUgZGV2aWNlIHdhczoKCSAgYnVmZmVyID0gewoJICBpbmRleCA9IDAsCgkgIHR5cGUgPSAxLAoJICBieXRlc3VzZWQgPSA1MzQ3NDg5MjgsIC8vIDwtIEludmFsaWQKCSAgZmxhZ3MgPSA4MjYwLCAvLyBWNEwyX0JVRl9GTEFHX1RJTUVTVEFNUF9NT05PVE9OSUMgfCBWNEwyX0JVRl9GTEFHX0VSUk9SIHwgVjRMMl9CVUZfRkxBR19ET05FCgkgIGZpZWxkID0gMDEzMzAsIC8vIDwtIEludmFsaWQKCSAgdGltZXN0YW1wID0gewoJICB0dl9zZWMgPSAwLAoJICB0dl91c2VjID0gMAoJICB9LAoJICB0aW1lY29kZSA9IHsKCSAgdHlwZSA9IDAsCgkgIGZsYWdzID0gMCwKCSAgZnJhbWVzID0gMCAnXDAwMCcsCgkgIHNlY29uZHMgPSAwICdcMDAwJywKCSAgbWludXRlcyA9IDAgJ1wwMDAnLAoJICBob3VycyA9IDAgJ1wwMDAnLAoJICB1c2VyYml0cyA9ICJcMDAwXDAwMFwwMDAiCgkgIH0sCgkgIHNlcXVlbmNlID0gMCwKCSAgbWVtb3J5ID0gMiwKCSAgbSA9IHsKCSAgb2Zmc2V0ID0gMzUzNzIxOTU4NCwKCSAgdXNlcnB0ciA9IDE0MDcwNjY2NTgzNjU0NCwgLy8gQ291bGQgYmUgbm9uc2Vuc2UsIG5vdCBzdXJlCgkgIHBsYW5lcyA9IDB4N2ZmOGQyZDViMDAwLAoJICBmZCA9IC03NTc3NDc3MTIKCSAgfSwKCSAgbGVuZ3RoID0gMjc2NDgwMCwKCSAgcmVzZXJ2ZWQyID0gMCwKCSAgcmVzZXJ2ZWQgPSAwCgkgIH0KCSAgVGhpcyBpcyBmcm9tIGdkYiB3aXRoIG15IG93biBhbm5vdGF0aW9ucyBhZGRlZC4KCSAgVGhpcyB3YXMgd2l0aCBnc3QtcGx1Z2lucy1nb29kIDEuOC4xLCBhIE1hZ2V3ZWxsIFhJMTAwRFVTQi1IRE1JIHZpZGVvCgkgIGNhcHR1cmUgZGV2aWNlIGFuZCBrZXJuZWwgMy4xMyB1c2luZyBhIGRvZGd5IEhETUkgY2FibGUgd2hpY2ggaXMgZ3JlYXQgYXQKCSAgYnJlYWtpbmcgSERNSSBjYXB0dXJlIGRldmljZXMuICBJJ20gdXNpbmcgaW8tbW9kZT11c2VycHRyIGFuZCBoYXZlIGJ1aWx0CgkgIGdzdC1wbHVnaW5zLWdvb2Qgd2l0aG91dCBsaWJ2NGwuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Njk3NjUKCjIwMTYtMDgtMzAgMTA6MjQ6NDMgKzAyMDAgIFBldHIgS3VsaGF2eSA8YnJhaW5Aamlrb3MuY3o+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGFsbG93IG1pc3NpbmcgY29udHJvbCBhdHRyaWJ1dGUgaW4gY2FzZSBvZiBhIHNpbmdsZSBzdHJlYW0KCSAgSW1wcm92ZSBSRkMyMzI2IC0gY2hhcHRlciBDLjMgY29tcGF0aWJpbGl0eToKCSAgSW4gY2FzZSBqdXN0IGEgc2luZ2xlIHN0cmVhbSBpcyBzcGVjaWZpZWQgaW4gU0RQIGFuZCB0aGUgY29udHJvbCBhdHRyaWJ1dGUKCSAgaXMgbWlzc2luZyBkbyBub3QgZHJvcCB0aGUgc3RyZWFtIGJ1dCByYXRoZXIgYXNzdW1lICJhPWNvbnRyb2w6KiIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3MDU2OAoKMjAxNi0xMC0yMSAxNzozMTowMCArMDAwMCAgTWF0dCBTdGFwbGVzIDxzdGFwbGVzMjU1QGdtYWlsLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogQWxzbyBoYW5kbGUgcmVkaXJlY3Qgb24gUExBWQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzcyNjEwCgoyMDE2LTEwLTIwIDEzOjE0OjEzICswMjAwICBBbGVqYW5kcm8gRy4gQ2FzdHJvIDxhbGV4QGlnYWxpYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cGJpbjogYXZvaWQgZ2VuZXJhdGluZyBlcnJvcnMgd2hlbiBydGNwIG1lc3NhZ2VzIGFyZSBlbXB0eSBhbmQgY2hlY2sgdGhlIHF1ZXVlIGlzIG5vdCBlbXB0eQoJICBBZGQgYSBjaGVjayB0byB2ZXJpZnkgYWxsIHRoZSBvdXRwdXQgYnVmZmVycyB3ZXJlIGVtcHR5IGZvciB0aGUKCSAgc2Vzc2lvbiBpbiBhIHRpbW91dCBhbmQgbG9nIGFuIGVycm9yLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzczMjY5CgoyMDE2LTEwLTE4IDExOjA5OjEwICswMjAwICBTdGlhbiBTZWxuZXMgPHN0aWFuQHBleGlwLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5jOgoJICBydHBoMjYzcGF5OiBGaXggbGVhayBmb3IgQi1mcmFnbWVudHMKCSAgQWx0b3VnaCBjb21taXRzIDZhMTZiZTcsIDY0ZjlkMDggYW5kIDBjN2UzYTggZml4ZWQgc29tZSBpc3N1ZXMgdGhleQoJICBpbnRyb2R1Y2VkIG90aGVycy4gVGhpcyBwYXRjaCBmaXhlcyB0aGUgbGVhayBvZiBvbmUgbWFjcm9ibG9jayBmb3IgZXZlcnkKCSAgQiBmcmFnbWVudC4KCSAgTWFjcm9ibG9jayBzdHJ1Y3R1cmVzIG11c3Qgbm90IGJlIGZyZWVkIGltbWVkaWF0ZWx5IGFmdGVyIGZpbmRpbmcgdGhlCgkgIGJvdW5kYXJpZXMgYXMgdGhleSBhcmUgc3RvcmVkIGFuZCB1c2VkIGxhdGVyLiBIb3dldmVyIHRoZSBpbml0YWwgZHVtbXkKCSAgc3RydWN0dXJlICh1c2VkIGZvciBmaW5kaW5nIHRoZSBmaXJzdCBib3VuZGFyeSkgbXVzdCBiZSBmcmVlZC4KCSAgQ0lEICMxMjEyMTU2CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzM1MTIKCjIwMTYtMDYtMjIgMTM6NTk6MzUgKzAyMDAgIEhhdmFyZCBHcmFmZiA8aGF2YXJkLmdyYWZmQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwaDI2My5jOgoJICBydHBoMjYzcHBheTogRml4IGNhcHMgbGVhawoJICBGaXggbGVha2luZyBjYXBzIHdoZW4gZG93bnN0cmVhbSBoYXMgbm90LWZpeGVkIGNhcHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzM1MTUKCjIwMTQtMDYtMTYgMTc6MjA6MzIgKzAyMDAgIFN0aWFuIFNlbG5lcyA8c3RpYW4uc2VsbmVzQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2M2RlcGF5LmM6CgkgIHJ0cGgyNjNkZXBheTogRG9uJ3QgZHJvcCBtb2RlIGIgcGFja2V0cyB3aXRoIHBpY3R1cmUgc3RhcnQgY29kZQoJICBTb21lIGJ1Z2d5IHBheWxvYWRlcnMsIGUuZy4gcnRwaDI2M3BheSwgbWF5IHVzZSBtb2RlIEIgZm9yIHBhY2tldHMKCSAgdGhhdCBzdGFydHMgd2l0aCBhIHBpY3R1cmUgKG9yIEdPQikgc3RhcnQgY29kZSBhbHRob3VnaCBpdCdzIG5vdAoJICBhbGxvd2VkLiBMZXQncyBiZSBuaWNlIGFuZCBub3QgZHJvcCB0aGVzZSBwYWNrZXRzL2ZyYW1lcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3MzUxNgoKMjAxNi0xMS0wMyAxMzoyNzo1MSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3dhdnBhcnNlLmM6CgkqIHRlc3RzL2ZpbGVzL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9maWxlcy9hdWRpb3Rlc3RzcmMud2F2OgoJICB0ZXN0czogd2F2cGFyc2U6IGFkZCB0ZXN0IGZvciBwcm9jZXNzaW5nIGFuIGFjdHVhbCAud2F2IGZpbGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3Mzg2MQoKMjAxNi0xMS0wMyAxMjozNDo1MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICB3YXZwYXJzZTogRG9uJ3Qgc2V0IGNhcHMgdG8gTlVMTCBhZnRlciBzZXR0aW5nIHRoZW0gb24gdGhlIHNyY3BhZAoJICBXZSB3b3VsZCBsaWtlIHRvIGNoZWNrIGxhdGVyIG9uIEVPUyBpZiB3ZSBmb3VuZCBhIGtub3duIHN0cmVhbSB0eXBlIG9yCgkgIG5vdCwgdG8gcG9zc2libHkgcG9zdCBhbiBlcnJvciBtZXNzYWdlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzczODYxCgoyMDE2LTExLTAyIDExOjAwOjEzICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzaW5rLmM6CgkgIHNwbGl0bXV4c2luazogRml4IEdPYmplY3Qgd2FybmluZ3Mgb24gc2h1dGRvd24uCgkgIENvbW1pdCA4M2U3MTggYWRkZWQgYSBwYWQgdGVtcGxhdGUgdG8gc3BsaXRtdXggcmVxdWVzdAoJICBwYWRzLCB3aGljaCBtZWFucyB0aGF0IEdzdEVsZW1lbnQgbm93IHJlbGVhc2VzIHRoZSBwYWRzIG9uCgkgIGRpc3Bvc2UsIGJ1dCBhZnRlciBoYXZpbmcgcmVtb3ZlZCBhbGwgZWxlbWVudHMgaW4gdGhlIGJpbgoJICBhbmQgdW5saW5rZWQgdGhlbS4gTWFrZSBzdXJlIHdlIGNhbiBoYW5kbGUgY2xlYW51cCBpbiB0aGF0IGNhc2UKCSAgd2l0aG91dCB0aHJvd2luZyBhc3NlcnRpb25zLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzczNzg0CgoyMDE2LTExLTAxIDE5OjQyOjU1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogbWVzb24uYnVpbGQ6CgkgIG1lc29uOiB1cGRhdGUgdmVyc2lvbgoKPT09IHJlbGVhc2UgMS4xMC4wID09PQoKMjAxNi0xMS0wMSAxNzo1Nzo0NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pc29tcDQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12cHgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDEuMTAuMAoKMjAxNi0xMS0wMSAxNzo0NzozMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VvLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2hyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9yby5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHBvL3poX0hLLnBvOgoJKiBwby96aF9UVy5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAxNi0xMS0wMSAxNzo0MTo1MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHBvL2VsLnBvOgoJICBwbzogVXBkYXRlIHRyYW5zbGF0aW9ucwoKMjAxNi0xMC0yNyAxMjowMTo1NSArMDIwMCAgVG9iaWFzIFNjaG5laWRlciA8dG9iaWFzLnNjaG5laWRlckB2b2ljZWludGVyY29ubmVjdC5kZT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogZml4IGV4dHJhLWNvbnRyb2xzIGxlYWsKCSAgR3N0IHN0cnVjdCB2NGwyb2JqZWN0LT5leHRyYV9jb250cm9scyBpcyBjcmVhdGVkIGlmIHVzZXIgc2V0cyBhcHByb3ByaWF0ZQoJICBvcHRpb24gYnV0IGl0IGlzIG5vdCBmcmVlZCBvbiBkZXN0cnVjdGlvbiBvZiB2NGwyb2JqZWN0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzczNTgwCgoyMDE2LTEwLTMxIDE4OjAwOjA3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuaDoKCSAgUmV2ZXJ0ICJzb3VwaHR0cHNyYzogcmVkdWNlIHJlYWRpbmcgbGF0ZW5jeSBieSB1c2luZyBub24tYmxvY2tpbmcgcmVhZCIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCA4ODE2NzY0MTEyNDA4NzY2ODg5YzhiNjgwYTNhZjUxMTE1ZGY0YmY1LgoJICBJdCBjYXVzZXMgaXNzdWVzIHdpdGggdGhlIHRpbWVvdXRzLCBhbmQgY2F1c2VzIGNvbm5lY3Rpb25zIHRvIGJlIGNsb3NlZAoJICB3aXRob3V0IGFjdHVhbCByZWFzb24uIE5lZWRzIGZ1cnRoZXIgaW52ZXN0aWdhdGlvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3MzUwOQoKMjAxNi0xMC0zMSAwOTowMDo0OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICB3YXZwYXJzZTogRG9uJ3QgdHJ5IHRvIGFkZCBzcmNwYWQgaWYgd2UgZG9uJ3Qga25vdyB2YWxpZCBjYXBzIHlldAoJICBPdGhlcndpc2Ugd2UnbGwgcnVuIGludG8gYW4gYXNzZXJ0aW9uIG9uIHNwZWNpYWxseSBjcmFmdGVkIGZpbGVzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzczNjQzCgoyMDE2LTEwLTI3IDExOjIzOjUxICswNTMwICBOaXJiaGVlayBDaGF1aGFuIDxuaXJiaGVla0BjZW50cmljdWxhci5jb20+CgoJKiBtZXNvbi5idWlsZDoKCSAgbWVzb246IFJlbW92ZSB1c2VsZXNzbHkgZHVwbGljYXRlZCBkZXAgY2hlY2tzCgkgIFRoZXNlIGNoZWNrcyBhcmUgZG9uZSBpbnNpZGUgdGhlIG1lc29uLmJ1aWxkIGZpbGVzIGZvciBlYWNoIHBsdWdpbi4KCjIwMTYtMTAtMjcgMTE6MjI6NTkgKzA1MzAgIE5pcmJoZWVrIENoYXVoYW4gPG5pcmJoZWVrQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9tZXNvbi5idWlsZDoKCSAgbWVzb246IGR2IHBsdWdpbiBub3cgd29ya3Mgb24gTVNWQwoJICBOZWVkcyBhIE1lc29uIHBhdGNoIHRvIGZpbHRlciBvdXQgdGhlIHVzZWxlc3MgLWxwdGhyZWFkCgkgIGh0dHBzOi8vZ2l0aHViLmNvbS9tZXNvbmJ1aWxkL21lc29uL3B1bGwvOTYyCgoyMDE2LTEwLTI3IDE0OjAzOjQ4ICswMjAwICBCcmFua28gU3ViYXNpYyA8YnJhbmtvQGF4aXMuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogYWxsb3cgcmVzb2x1dGlvbnMgYWJvdmUgNDA5NgoJICBNb2RpZnkgdGhlIGNhcHMgc3RyaW5nIHRvIGFsbG93IHdpZHRoIGFuZCBoZWlnaHQgZ3JlYXRlciB0aGFuIDQwOTYuCgkgIFRoZXJlIGlzIG5vIG5lZWQgdG8gcmVzdHJpY3QgaXQgc2luY2UgdGhlIG1hdHJvc2thIGZvcm1hdCBhbGxvd3MgdGhlCgkgIHdpZHRoIGFuZCBoZWlnaHQgdmFsdWVzIHRvIGJlIHVwIHRvIGVpZ2h0IGJ5dGVzIGxvbmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzM1ODIKCjIwMTYtMTAtMjMgMTc6MjM6MTAgLTA3MDAgIFNjb3R0IEQgUGhpbGxpcHMgPHNjb3R0LmQucGhpbGxpcHNAaW50ZWwuY29tPgoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgdWRwc3JjOiBDaGVjayBmb3IgR19QTEFURk9STV9XSU4zMiBmb3IgcHJlc2VuY2Ugb2YgaXBpX3NwZWNfZGVzdAoJICBHX09TX1dJTjMyIGlzIG9ubHkgc2V0IHdoZW4gbm90IGJ1aWxkaW5nIHdpdGggY3lnd2luLCBidXQKCSAgaXBpX3NwZWNfZGVzdCBpcyBtaXNzaW5nIGJvdGggd2l0aCBhbmQgd2l0aG91dCBjeWd3aW4uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzMxMTQKCjIwMTYtMTAtMjYgMDg6NTE6NDAgKzAyMDAgIE1pY2hhZWwgT2xicmljaCA8bS5vbGJyaWNoQHBlbmd1dHJvbml4LmRlPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cGh0dHBzcmM6IHJlc2V0IHJlYWRfcG9zaXRpb24gd2hlbiByZWFkaW5nIGZhaWxzCgkgIHNvdXBodHRwc3JjIG1haW50YWlucyB0d28gdmFyaWFibGVzIGZvciB0aGUgcG9zaXRpb246CgkgICogJ3JlcXVlc3RfcG9zaXRpb24nIGlzIHdoZXJlIHdlIHdhbnQgdG8gYmUKCSAgKiAncmVhZF9wb3NpdGlvbicgaXMgd2hlcmUgd2UgYXJlCgkgIER1cmluZyBOb3JtYWwgb3BlcmF0aW9ucyBib3RoIGFyZSB1cGRhdGVkIGluIHN5bmMgd2hlbiBkYXRhIGFycml2ZXMuIEEgc2VlawoJICBjaGFuZ2VzICdyZXF1ZXN0X3Bvc2l0aW9uJyBidXQgbm90ICdyZWFkX3Bvc2l0aW9uJy4KCSAgV2hlbiB0aGUgdHdvIHBvc2l0aW9ucyBnZXQgb3V0IG9mIHN5bmMsIHRoZW4gYSBuZXcgcmVxdWVzdCBpcyBzZW5kIGFuZCB0aGUKCSAgJ1JhbmdlJyBoZWFkZXIgaXMgYWRqdXN0ZWQgdG8gdGhlIGN1cnJlbnQgJ3JlcXVlc3RfcG9zaXRpb24nLgoJICBXaXRob3V0IHRoaXMgcGF0Y2gsIGlmIHJlYWRpbmcgZmFpbHMsIHRoZW4gdGhlIHNvdXJjZSBpcyBkZXN0cm95ZWQuIFRoaXMKCSAgdHJpZ2dlcnMgYSBuZXcgcmVxdWVzdCwgYnV0IHRoZSByYW5nZSByZW1haW5zIHVuY2hhbmdlZC4gQXMgYSByZXN1bHQsIHRoZQoJICBvbGQgcmFuZ2UgaXMgdXNlZCBhbmQgb2xkIGRhdGEgd2lsbCBiZSByZWFkLgoJICBDaGFuZ2luZyB0aGUgJ3JlYWRfcG9zaXRpb24nIHRvIC0xIG1ha2VzIGl0IGV4cGxpY2l0bHkgZGlmZmVyZW50IGZyb20KCSAgJ3JlcXVlc3RfcG9zaXRpb24nIGFuZCBhcyBhIHJlc3VsdCB0aGUgJ1JhbmdlJyBoZWFkZXIgaXMgdXBkYXRlZCBjb3JyZWN0bHkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzM1MDkKCjIwMTYtMTAtMjUgMDg6NTQ6MzQgLTA3MDAgIFNjb3R0IEQgUGhpbGxpcHMgPHNjb3R0LmQucGhpbGxpcHNAaW50ZWwuY29tPgoKCSogbWVzb24uYnVpbGQ6CgkgIG1lc29uOiBEb24ndCBkZXBlbmQgb24gZ3N0cmVhbWVyLWNoZWNrLTEuMCBvbiB3aW5kb3dzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzMxMTQKCjIwMTYtMTAtMjUgMTU6MjQ6MjAgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1uYXV3QHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogcmVzZXQgY29ubmVjdGlvbiBpbmZvIHRvIG5vbi1mbHVzaGluZyB3aGVuIGNsb3NpbmcKCSAgVGhpcyBzb2x2ZXMgYSBoYW5naW5nIG1haW5sb29wIGluIGZvbGxvd2luZyBzY2VuYXJpbzoKCSAgKiBjb25uZWN0IHRvIHNvdXJjZQoJICAqIG5ldHdvcmsvc2VydmVyIGRyb3BzCgkgICogcGlwZWxpbmUgc2V0IHRvIE5VTEwgKGFuZCBjb25uZWN0aW9uIHRvIGZsdXNoaW5nIGFzIHBhcnQpCgkgICogcGlwZWxpbmUgc2V0IHRvIFBBVVNFRC9QTEFZSU5HIChjb25uZWN0aW9uIHRvIG5vbi1mbHVzaGluZywgYnV0IG5vdCByZWNvcmRlZCkKCSAgKiBbY29ubmVjdGluZyBzdGlsbCBub3QgcG9zc2libGVdCgkgICogcGlwZWxpbmUgc2V0IHRvIE5VTEwgPT4gbWFpbmxvb3AgaGFuZ3MgKHNpbmNlIG5vIGFjdHVhbCBmbHVzaGluZyBpcyBkb25lKQoKMjAxNi0xMC0yNiAxNDozMjo0OCArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c2luay5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c2luay5oOgoJICBzcGxpdG11eHNpbms6IE9ubHkgYWxsb3cgb25lIHZpZGVvIHJlcXVlc3QgcGFkCgkgIFRoZSBwYWNpbmcgb2YgdGhlIG92ZXJhbGwgbXV4aW5nIGlzIGNvbnRyb2xsZWQKCSAgYnkgdGhlIHZpZGVvIEdPUHMgYXJyaXZpbmcsIHNvIHdlIGNhbiBvbmx5IGhhbmRsZQoJICAxIHZpZGVvIHN0cmVhbSwgYW5kIHRoZSByZXF1ZXN0IHBhZCBpcyBuYW1lZCBhY2NvcmRpbmdseS4KCSAgSWdub3JlIGEgcmVxdWVzdCBmb3IgYSAybmQgdmlkZW8gcGFkIGlmIHRoZXJlJ3MgYWxyZWFkeQoJICBhbiBhY3RpdmUgb25lLgoKMjAxNi0xMC0yNiAxMTo1OTozMiArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c2luay5jOgoJICBzcGxpdG11eHNpbms6IFRha2Ugb3duZXJzaGlwIG9mIGZsb2F0aW5nIHJlZnMKCSAgc2luayB0aGUgZmxvYXRpbmcgcmVmIHdoZW4gaGFuZGVkIGEgbXV4ZXIgb3Igc2luayB0byB1c2Ugc28KCSAgd2UgY2xlYXJseSB0YWtlIG93bmVyc2hpcC4KCjIwMTYtMTAtMjUgMTQ6NTE6NTIgKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNpbmsuYzoKCSAgc3BsaXRtdXhzaW5rOiBTZXQgY2hpbGQgZWxlbWVudHMgdG8gTlVMTCB3aGVuIHJlbW92aW5nLgoJICBNYWtlIHN1cmUgdGhhdCBlbGVtZW50cyBhcmUgaW4gdGhlIE5VTEwgc3RhdGUgd2hlbiByZW1vdmluZy4KCSAgRml4ZXMgY3JpdGljYWwgd2FybmluZ3Mgd2hlbiBlcnJvcnMgb2NjdXIgZWFybHkgb24gaW4gc3RhcnRpbmcgdXAuCgoyMDE2LTEwLTI1IDE0OjUwOjUzICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzaW5rLmM6CgkgIHNwbGl0bXV4c2luazogU2V0IHBhZCB0ZW1wbGF0ZSBvbiByZXF1ZXN0IHNpbmsgcGFkcwoJICBFbnN1cmUgdGhhdCB0aGUgZ2hvc3QgcGFkIHJldHVybmVkIGFzIGEgcmVxdWVzdCBwYWQKCSAgaGFzIHRoZSB0ZW1wbGF0ZSB0aGF0IHdhcyByZXF1ZXN0ZWQKCjIwMTYtMTAtMjUgMTA6NTA6NDcgKzA1MzAgIE5pcmJoZWVrIENoYXVoYW4gPG5pcmJoZWVrQGNlbnRyaWN1bGFyLmNvbT4KCgkqIG1lc29uLmJ1aWxkOgoJKiB0ZXN0cy9jaGVjay9tZXNvbi5idWlsZDoKCSAgUmV2ZXJ0ICJtZXNvbjogbW92ZSBnc3RyZWFtZXItY2hlY2stMS4wIGRlcGVuZGVuY3kgdG8gdGVzdHMvY2hlY2siCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgNDY2MzI2OTQ2NjJiOTZmZGRiODQ4YTFmMjA5MWEyMTViMjhhMmQzNS4KCSAgRG9lcyBub3QgYWN0dWFsbHkgd29yay4gU2VlOgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzczMTE0I2MzMQoKMjAxNi0wNi0wOCAxMToyNDozNyAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSAgZmx2bXV4OiBBc3N1bWUgUFRTIGlzIERUUyB3aGVuIFBUUyBpcyBtaXNzaW5nCgkgIFRoaXMgZml4ZXMgaXNzdWUgZm9yIGVuY29kZXJzIHRoYXQgb25seSBzZXRzIHRoZSBEVFMuIFdlIGFzc3VtZSB0aGF0CgkgIHRoZXJlIHdhcyBubyByZS1vcmRlcmluZyB3aGVuIHRoYXQgaGFwcGVucy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MjIwNwoKMjAxNi0xMC0yNCAwMDozNDoxNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL21lc29uLmJ1aWxkOgoJICBtZXNvbjogZml4IGJ1aWxkIG91dHNpZGUgb2YgZ3N0LWFsbAoKMjAxNi0xMC0yMSAwMDo0Mjo1NCAtMDcwMCAgU2NvdHQgRCBQaGlsbGlwcyA8c2NvdHQuZC5waGlsbGlwc0BpbnRlbC5jb20+CgoJKiBzeXMvZGlyZWN0c291bmQvbWVzb24uYnVpbGQ6CgkgIG1lc29uOiBkaXJlY3Rzb3VuZDogQWRkIG9sZTMyIGxpYnJhcnkgZGVwZW5kZW5jeQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzczMTE0CgoyMDE2LTEwLTIxIDAwOjQyOjE4IC0wNzAwICBTY290dCBEIFBoaWxsaXBzIDxzY290dC5kLnBoaWxsaXBzQGludGVsLmNvbT4KCgkqIG1lc29uLmJ1aWxkOgoJKiB0ZXN0cy9jaGVjay9tZXNvbi5idWlsZDoKCSAgbWVzb246IG1vdmUgZ3N0cmVhbWVyLWNoZWNrLTEuMCBkZXBlbmRlbmN5IHRvIHRlc3RzL2NoZWNrCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzMxMTQKCjIwMTYtMTAtMjAgMjI6MDg6MTQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb21peGVyLmM6CgkgIHRlc3RzOiB2aWRlb21peGVyOiBkaXNhYmxlIHJhY3kgZmx1c2hfc3RhcnRfZmx1c2hfc3RvcCB0ZXN0CgkgIEl0J3MgYmVlbiBicm9rZW4gZm9yIHllYXJzLCBhbmQgaXQncyB1bmxpa2VseSBpdCB3aWxsIGV2ZXIKCSAgYmUgZml4ZWQgZm9yIGNvbGxlY3RwYWRzL3ZpZGVvbWl4ZXIgbm93IHRoYXQgdGhlcmUncyBjb21wb3NpdG9yCgkgIHdoaWNoIHdvcmtzIGZpbmUuIFNvIGxldCdzIGRpc2FibGUgaXQsIHNpbmNlIGFsbCBpdCBkb2VzCgkgIGlzIHRoYXQgaXQgY3JlYXRlcyBub2lzZSB0aGF0IGRpc3RyYWN0cyBmcm9tIG90aGVyIGZhaWx1cmVzLgoJICBBbHNvIHNlZSB0aGUgY29ycmVzcG9uZGluZyBhZGRlciBidWcgYXMgaXQgZmFpbGVkIGluIHRoZSBzYW1lIHdheToKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwODg5MQoKMjAxNi0xMC0wOSAxNjo1NjoxMCArMDIwMCAgSmFuIEFsZXhhbmRlciBTdGVmZmVucyAoaGVmdGlnKSA8amFuLnN0ZWZmZW5zQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NvdXBodHRwc3JjLmM6CgkgIHRlc3RzOiBGaXggc291cGh0dHBzcmMgdGVzdHMgd2l0aG91dCBDS19GT1JLPW5vCgkgIEl0IHNlZW1zIHRoYXQgdGhlIGZvcmtlZCBwcm9jZXNzZXMgYWxsIGF0dGVtcHQgdG8gaGFuZGxlIHRoZSBsaXN0ZW5pbmcKCSAgc29ja2V0IGZyb20gdGhlIHNlcnZlciwgYW5kIG9ubHkgb25lIGhhcyB0byBzaHV0ZG93biB0aGUgc29ja2V0IHRvIGJyZWFrCgkgIHRoZSBzZXJ2ZXIgY29tcGxldGVseS4KCSAgQ3JlYXRlIGEgbmV3IHNlcnZlciBpbnNpZGUgZWFjaCB0ZXN0IHRvIGF2b2lkIHRoaXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzI2NTYKCjIwMTYtMTAtMDkgMTU6MjM6NTEgKzAyMDAgIEphbiBBbGV4YW5kZXIgU3RlZmZlbnMgKGhlZnRpZykgPGphbi5zdGVmZmVuc0BnbWFpbC5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9sZXZlbC5jOgoJICB0ZXN0czogRml4IGxldmVsIHRlc3QgaW4gQ0tfRk9SSz1ubyBtb2RlCgkgIFRoZSB0ZXN0cyBhY2N1bXVsYXRlIGJ1ZmZlcnMgaW4gR3N0Q2hlY2sncyBidWZmZXJzIGxpc3QsIGFuZCB0aGUgbGlzdCBpcwoJICBub3QgKGNvbnNpc3RlbnRseSkgcmVzZXQgYmV0d2VlbiB0ZXN0cy4gRG8gdGhhdCBhbmQgcmVtb3ZlIHRoZSBub3cKCSAgY29uZmxpY3RpbmcgdW5yZWZzIGZvciBvdXRidWZmZXJzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzcyNjQ0CgoyMDE2LTEwLTA3IDEzOjA0OjI3ICswNTMwICBHYXVyYXYgR3VwdGEgPGcuZ3VwdGFAc2Ftc3VuZy5jb20+CgoJKiBzeXMvd2F2ZWZvcm0vZ3N0d2F2ZWZvcm1zaW5rLmM6CgkgIHdhdmVmb3Jtc2luazogRml4IE1lbW9yeSBsZWFrIHVzaW5nIEdTVF9QVFJfRk9STUFUCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzI0OTcKCjIwMTYtMTAtMTggMTI6MjM6NDIgKzA1MzAgIE5pcmJoZWVrIENoYXVoYW4gPG5pcmJoZWVrQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tb25vc2NvcGUvbWVzb24uYnVpbGQ6CgkgIG1lc29uOiBBZGQgbWlzc2luZyBnc3RhdWRpbyBkZXAgdG8gbW9ub3Njb3BlCgkgIEluIGZpbGUgaW5jbHVkZWQgZnJvbSAuLi9zdWJwcm9qZWN0cy9nc3QtcGx1Z2lucy1nb29kL2dzdC9tb25vc2NvcGUvZ3N0bW9ub3Njb3BlLmM6NDI6MDoKCSAgLi4vc3VicHJvamVjdHMvZ3N0LXBsdWdpbnMtYmFzZS9nc3QtbGlicy9nc3QvYXVkaW8vYXVkaW8uaDoyNjozOTogZmF0YWwgZXJyb3I6IGdzdC9hdWRpby9hdWRpby1lbnVtdHlwZXMuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQoJICAjaW5jbHVkZSA8Z3N0L2F1ZGlvL2F1ZGlvLWVudW10eXBlcy5oPgoJICBeCgkgIGNvbXBpbGF0aW9uIHRlcm1pbmF0ZWQuCgkgIGh0dHBzOi8vY2kuZ3N0cmVhbWVyLm5ldC9qb2IvR1N0cmVhbWVyLW1hc3Rlci1tZXNvbi8yNzEvY29uc29sZQoKMjAxNi0xMC0xNiAwMjoxODoyMiArMDUzMCAgTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWtAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L211bHRpZmlsZS9tZXNvbi5idWlsZDoKCSAgbWVzb246IEFkZCBtaXNzaW5nIHBidXRpbHMgZGVwZW5kZW5jeSB0byBtdWx0aWZpbGUKCSAgRm91bmQgdmlhIHRoZSBKZW5raW5zIENJOgoJICBGQUlMRUQ6IHN1YnByb2plY3RzL2dzdC1wbHVnaW5zLWdvb2QvZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVAc2hhL2dzdHNwbGl0bXV4c2luay5jLm8KCSAgWy4uLl0KCSAgSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4uL3N1YnByb2plY3RzL2dzdC1wbHVnaW5zLWdvb2QvZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNpbmsuaDoyNDowLAoJICBmcm9tIC4uL3N1YnByb2plY3RzL2dzdC1wbHVnaW5zLWdvb2QvZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNpbmsuYzo1OToKCSAgLi4vc3VicHJvamVjdHMvZ3N0LXBsdWdpbnMtYmFzZS9nc3QtbGlicy9nc3QvcGJ1dGlscy9wYnV0aWxzLmg6MzA6NDM6IGZhdGFsIGVycm9yOiBnc3QvcGJ1dGlscy9wYnV0aWxzLWVudW10eXBlcy5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CgkgICNpbmNsdWRlIDxnc3QvcGJ1dGlscy9wYnV0aWxzLWVudW10eXBlcy5oPgoJICBeCgkgIGNvbXBpbGF0aW9uIHRlcm1pbmF0ZWQuCgkgIGh0dHBzOi8vY2kuZ3N0cmVhbWVyLm5ldC9qb2IvR1N0cmVhbWVyLW1hc3Rlci1tZXNvbi8yNjMvY29uc29sZQoKMjAxNi0xMC0xNSAyMjoxMTowOCArMDUzMCAgTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWtAY2VudHJpY3VsYXIuY29tPgoKCSogbWVzb24uYnVpbGQ6CgkgIG1lc29uOiBEb24ndCBzZXQgY19zdGQgdG8gZ251OTkKCSAgVXNlIHRoZSBkZWZhdWx0IGZvciBlYWNoIGNvbXBpbGVyIG9uIGV2ZXJ5IHBsYXRmb3JtIGluc3RlYWQuIFRoaXMKCSAgaW1wcm92ZXMgb3VyIGNvbXBhdGliaWxpdHkgd2l0aCBjb21waWxlcnMgdGhhdCBkb24ndCBoYXZlIGdudTk5IGFzCgkgIGEgY19zdGQuCgoyMDE2LTEwLTA0IDE4OjA0OjExIC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQG9zZy5zYW1zdW5nLmNvbT4KCgkqIG1lc29uLmJ1aWxkOgoJKiB0ZXN0cy9jaGVjay9nZXRwbHVnaW5zZGlyOgoJKiB0ZXN0cy9jaGVjay9tZXNvbi5idWlsZDoKCSAgbWVzb246IE1ha2UgdXNlIG9mIG5ldyBlbnZpcm9ubWVudCBvYmplY3QgYW5kIHNldCBwbHVnaW4gcGF0aCB0byBidWlsZGRpcgoJICBXb3JrYXJvdW5kIHNvdXJjZV9yb290IGJlaW5nIHRoZSByb290IGRpcmVjdG9yeSBvZiBhbGwgcHJvamVjdHMgaW4gdGhlIHN1YnByb2plY3QKCSAgY2FzZSBhbmQgcmVtb3ZlIG5vdyB1bm5lZWRlZCBnZXRwbHVnaW5zZGlyCgkgIEJ1bXAgbWVzb24gcmVxdWlyZW1lbnQgdG8gMC4zNQoKMjAxNi0xMC0wNiAxMToxNTo1NCArMDUzMCAgR2F1cmF2IEd1cHRhIDxnLmd1cHRhQHNhbXN1bmcuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL2NsaWVudC1ydHBhdXguYzoKCSAgdGVzdHM6IEZpeCBtZW1vcnkgbGVhayBpbiB0ZXN0IHJ0cGF1eCB0ZXN0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzI0OTYKCjIwMTYtMTAtMDMgMTE6Mjc6NTQgKzA1MzAgIE5pcmJoZWVrIENoYXVoYW4gPG5pcmJoZWVrQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pbWFnZWZyZWV6ZS9nc3RpbWFnZWZyZWV6ZS5jOgoJICBpbWFnZWZyZWV6ZTogRm9yd2FyZCBsYXRlbmN5IHF1ZXJpZXMgdG8gdXBzdHJlYW0KCSAgV2l0aG91dCB0aGlzLCBsYXRlbmN5IHF1ZXJpZXMgdG8gaW1hZ2VmcmVlemUgd2lsbCBmYWlsLgoKMjAxNi0wOS0zMCAxMTozNTozOSAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBvc2cuc2Ftc3VuZy5jb20+CgoJKiBob29rcy9wcmUtY29tbWl0Lmhvb2s6CgkqIG1lc29uLmJ1aWxkOgoJKiB0ZXN0cy9jaGVjay9nZXRwbHVnaW5zZGlyOgoJICBtZXNvbjogU2V0dXAgcHJlIGNvbW1pdCBob29rIGFuZCBmaXggZ2V0cGx1Z2luc2RpciBmb3Igc3RhbmRhbG9uZSBjYXNlCgoyMDE2LTA5LTI5IDA0OjU1OjE0ICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzcmMuYzoKCSAgc3BsaXRtdXhzcmM6IEhhbmRsZSBzdG9wIHBvaW50IGZyb20gc2VnbWVudAoJICBJZiB0aGUgc2VlayBzdG9wIHBvaW50IChvciBzdGFydCwgZHVyaW5nIHJldmVyc2UgcGxheSkKCSAgd2FzIHdpdGhpbiB0aGUgc2VnbWVudCB3ZSBqdXN0IGZpbmlzaGVkLCBnbyBFT1MgaW1tZWRpYXRlbHkKCSAgaW5zdGVhZCBvZiBwcm9jZWVkaW5nIHRocm91Z2ggYWxsIG90aGVyIHBhcnRzIGFuZCBzZW5kaW5nCgkgIDAgbGVuZ3RoIHNlZWtzIHRvIHRoZW0uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzIxMzgKCjIwMTYtMDktMjkgMDM6MjE6MjYgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNyYy5jOgoJICBzcGxpdG11eHNyYzogRHJvcCBsb2NrIHNodXR0aW5nIGRvd24gcGFkcwoJICBBdm9pZCBhIHNwb3JhZGljIGRlYWRsb2NrIG9uIHNodXRkb3duIGJ5IGRyb3BwaW5nCgkgIHRoZSBzcGxpdG11eCBsb2NrIGFyb3VuZCBwYWQgc2h1dGRvd24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3MjEzOAoKMjAxNi0wOS0yOSAwMjo0NzozNiArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4cGFydHJlYWRlci5jOgoJICBzcGxpdG11eHNyYzogRml4IGV4dHJhIHVucmVmIGhhbmRsaW5nIHF1ZXJpZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3MjEzOAoKMjAxNi0wOS0yOSAwNDo1MDoyNSArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4cGFydHJlYWRlci5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4cGFydHJlYWRlci5oOgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c3JjLmM6CgkgIHNwbGl0bXV4c3JjOiBBdm9pZCBzdGFsbCB3aGVuIHBhcnRzIGdldCBvdXQgb2Ygc3luYwoJICBXaGVuIG9uZSBwYXJ0IG1vdmVzIGFoZWFkIG9mIHRoZSBvdGhlcnMgLSBkdWUgdG8gZXhjZXNzaXZlCgkgIGRvd25zdHJlYW0gcXVldWVpbmcsIG9yIHJlYWxseSBzbWFsbCBpbnB1dCBmaWxlcyAtIHRoZW4KCSAgd2UgY2FuIGVuZCB1cCBhY3RpdmF0aW5nIHBhcnRzIG1vcmUgdGhhbiBvbmNlLiBUaGF0IGNhbiBsZWFkIHRvCgkgIGVmZmVjdHMgbGlrZSBzaHV0dGluZyBkb3duIHBhZCB0YXNrcyBwcmVtYXR1cmVseS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3MjEzOAoKMjAxNi0wOS0zMCAxMTo0MToxOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIG1lc29uLmJ1aWxkOgoJICBtZXNvbjogdXBkYXRlIHZlcnNpb24KCj09PSByZWxlYXNlIDEuOS45MCA9PT0KCjIwMTYtMDktMzAgMTM6MDI6MTkgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pc29tcDQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12cHgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDEuOS45MAoKMjAxNi0wOS0zMCAxMjoxNzoyNiArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VvLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2hyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9yby5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHBvL3poX0hLLnBvOgoJKiBwby96aF9UVy5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAxNi0wOS0zMCAxMTo0Mzo1NCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHBvL2VsLnBvOgoJICBwbzogVXBkYXRlIHRyYW5zbGF0aW9ucwoKMjAxNi0wOS0zMCAxMzoyMjozMiArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bkBvc2cuc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvdGFnc2NoZWNraW5nLmM6CgkgIHRlc3RzOiBGaXggdGFnc2NoZWNraW5nIGZhaWx1cmUgZHVlIHRvIG1pc3NpbmcgUFRTCgkgIHF0bXV4IG5vdyBuZWVkcyB0aGUgUFRTIChjb21taXQgYTk5Mzg4M2I3KSwgc28gbGV0J3MgbWFrZSBzdXJlIHdlCgkgIHByb2R1Y2Ugb25lIHdpdGggb3VyIGJ1ZmZlcnMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzIyMjgKCjIwMTYtMDktMjggMjM6MDM6NTggKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBEb24ndCBjYWxjdWxhdGUgUFRTIG9mZnNldCBhbmQgRFRTIHdpdGggR1NUX0NMT0NLX1RJTUVfTk9ORQoJICBKdXN0IGVycm9yIG91dCBpZiB0aGVyZSBpcyBubyB2YWxpZCBQVFMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzIxNDMKCjIwMTYtMDktMjkgMTc6Mzc6MjggKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXhfdHlwZXMuYzoKCSAgcXRkZW11eDogQWRkIEpQRUcyMDAwIGloZHIgYXRvbSB0byB0aGUgbGlzdCBvZiBrbm93biBvbmVzCgkgIE90aGVyd2lzZSBxdGRlbXV4IGlzIGFsd2F5cyBnb2luZyB0byBjb21wbGFpbiBhYm91dCBpdCBiZWluZyB1bmtub3duLgoKMjAxNi0wOS0yOSAxMDoxOTo1NiArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IEFsd2F5cyB3cml0ZSB0aGUgZGVmYXVsdCBmcmFtZSBkdXJhdGlvbiBmb3IgVlA4LzkgdG9vCgkgIFRoZSBXZWJNIHNwZWMgYWxsb3dzIHRoaXMgbm93LCBhbmQgaXQgYWxsb3dzIHVzIHRvIGd1ZXNzIGEgZnJhbWVyYXRlLgoJICBTZWUgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3MjE0MSBhbmQKCSAgYWxzbyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU0Mzc5CgoyMDE2LTA5LTI3IDE1OjI2OjE5IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY1ZGVwYXkuYzoKCSAgcnRwaDI2WzQ1XWRlcGF5OiBEb24ndCBoYW5kbGUgTkFMcyBpbnNpZGUgU1RBUCB1bml0cyB0d2ljZQoJICBUaGV5J3ZlIGFscmVhZHkgYmVlbiBoYW5kbGVkIGJlZm9yZSBwdXNoaW5nIHRoZW0gaW50byB0aGUgYWRhcHRlci4KCjIwMTYtMDktMjcgMTI6Mzk6MTIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9tZXNvbi5idWlsZDoKCSAgbWVzb246IHRlc3RzOiBmaXggdnA4IGF2YWlsYWJpbGl0eSBjaGVja3MKCSAgVGhvc2UgdmFyaWFibGVzIGFyZSBub3QgZGVmaW5lZCBpZiB2cDggd2FzIG5vdCBmb3VuZC4KCjIwMTYtMDktMjcgMTA6MjM6MzggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSAgUmV2ZXJ0ICJtdWx0aWZpbGVzaW5rOiBzdHJlYW1saW5lIHRoZSBmaWxlLXN3aXRjaCBjb2RlIGEgYml0IgoJICBUaGlzIHJldmVydHMgY29tbWl0IGYxY2VhYWIwMmYzZjU1N2UyM2I3N2IxNDc3MWE1NzU3ODhmOTJiYjQuCgkgIFRoaXMgYnJva2UgYXRvbWljIGZpbGUgd3JpdGVzIGluICJidWZmZXIiIG1vZGUuIEl0IGRpZCBtYWtlCgkgIHN1cmUgdGhhdCBhbnkgc3RyZWFtaGVhZGVycyBhcmUgcHJlcGVuZGVkIHRvIGVhY2ggZmlsZSBpbgoJICBidWZmZXIgbW9kZSBhcyB3ZWxsLCBidXQgdGhhdCdzIG5vdCByZWFsbHkgbmVlZGVkIGluIHByYWN0aWNlLAoJICB3aGVyZWFzIGF0b21pYyBmaWxlIHdyaXRlcyBhcmUsIHNvIGxldCdzIHJlc3RvcmUgdGhlIHN0YXR1cwoJICBxdW8gYW50ZSBmb3Igbm93IHNpbmNlIHRoaXMgd2FzIHByaW1hcmlseSBhIGNvZGUgY2xlYW51cCBhbnl3YXksCgkgIGFuZCBpZiBhbnlvbmUgbmVlZHMgdG8gc3RyZWFtaGVhZGVycyBpbiBidWZmZXIgbW9kZSB0b28gdGhleQoJICBjYW4gbWFrZSBhIHBhdGNoIHRvIGltcGxlbWVudCB0aGF0IGRpZmZlcmVudGx5LiBSZS1pbXBsZW1lbnRpbmcKCSAgdGhlIGF0b21pYyB3cml0ZXMgaW4gdGhlIGVsZW1lbnQgYWxzbyBzZWVtcyB3YXkgdG9vIG11Y2ggd29yay4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2Njk5MAoKMjAxNi0wOS0yNyAxMDoyMjo1NyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOgoJICBSZXZlcnQgIm11bHRpZmlsZXNpbms6IGNsb3NlIGZpbGUgb24gd3JpdGUgZXJyb3Igd2l0aCBuZXh0LWZpbGUgbW9kZSBpcyBzZXQgdG8gYnVmZmVyIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDg0ZTQ0MWQyNjg1Y2YyMjNkMzQ4YTk1YmUwYzViYTY5M2JiZjY2MjQuCgkgIFRoaXMgd2lsbCBubyBsb25nZXIgYmUgbmVlZGVkIG9uY2Ugd2UgcmV2ZXJ0IGYxY2VhYWIwMi4KCjIwMTYtMDktMjYgMTM6MjI6MjkgLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAb3NnLnNhbXN1bmcuY29tPgoKCSogdGVzdHMvY2hlY2svbWVzb24uYnVpbGQ6CgkgIG1lc29uOiBBZGQgZ3N0LXBsdWdpbnMtYmFzZSBwbHVnaW5zIGRpcmVjdG9yaWVzIHRvIGJlIHVzZWQgYnkgdGVzdHMKCjIwMTYtMDktMjYgMTQ6MzA6MDAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvdnB4L21lc29uLmJ1aWxkOgoJKiBtZXNvbi5idWlsZDoKCSogdGVzdHMvY2hlY2svZ2V0cGx1Z2luc2RpcjoKCSogdGVzdHMvY2hlY2svbWVzb24uYnVpbGQ6CgkgIG1lc29uOiBhZGQgdW5pdCB0ZXN0cwoJICBPbmx5IHdvcmtzIHByb3Blcmx5IGluIGFuIGluc3RhbGxlZCBzZXR1cCBjdXJyZW50bHksIG1vc3QKCSAgbGlrZWx5IHdvbid0IHdvcmsgd2l0aCBhIHN1YnByb2plY3RzIHNldHVwIHlldC4KCjIwMTYtMDktMjQgMDk6MzY6MjQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBtZXNvbi5idWlsZDoKCSogcG8vbWVzb24uYnVpbGQ6CgkgIG1lc29uOiBob29rIHVwIHRyYW5zbGF0aW9ucwoKMjAxNi0wOS0wOCAxNzozMDo0MSArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bkBhcnVucmFnaGF2YW4ubmV0PgoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkgIHB1bHNlc3JjOiBEb24ndCBuZWdvdGlhdGUgdG8gbGVzcyB0aGFuIHR3byBzZWdtZW50cwoJICBHc3RBdWRpb1JpbmdCdWZmZXIgZG9lc24ndCBuZWVkcyB1cyB0byBoYXZlIGF0IGxlYXN0IDIgc2VnbWVudHMuIFdlIG1ha2UKCSAgc3VyZSB0aGF0IGlmIG91ciBidWZmZXIgcGFyYW1ldGVycyBhcmUgc3VjaCB0aGF0IHRoZSBtYXhsZW5ndGggaXMgbm90IGF0CgkgIGxlYXN0IDJ4IGZyYWdzaXplLCB3ZSBzdGlsbCByZXF1ZXN0IHRoZSByaW5nYnVmZmVyIHRvIGtlZXAgdGhhdCBtdWNoCgkgIHNwYWNlIHNvIGl0IGNvbnRpbnVlcyB0byB3b3JrLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzcwNDQ2CgoyMDE2LTA5LTI0IDIzOjIyOjAxICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuQGFydW5yYWdoYXZhbi5uZXQ+CgoJKiBnc3QvcnRwL2dzdHJ0cHNiY3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNiY3BheS5oOgoJICBydHBzYmNwYXk6IEZpeCB0aW1lc3RhbXBpbmcKCSAgV2Ugd2VyZSBqdXN0IHBpY2tpbmcgdGhlIHRpbWVzdGFtcCBvZiB0aGUgbGFzdCBidWZmZXIgcHVzaGVkIGludG8gb3VyCgkgIGFkYXB0ZXIgYmVmb3JlIHdlIGhhZCBlbm91Z2ggZGF0YSB0byBwdXNoIG91dC4KCSAgVGhpcyBmaXhlcyB0aGluZ3MgdG8gZmlndXJlIG91dCBob3cgbGFyZ2UgZWFjaCBmcmFtZSBpcyBhbmQgd2hhdAoJICBkdXJhdGlvbiBpdCBjb3ZlcnMsIHNvIHdlIGNhbiBzZXQgYm90aCB0aGUgdGltZXN0YW1wIGFuZCBkdXJhdGlvbgoJICBjb3JyZWN0bHkuCgkgIEFsc28gYWRkcyBzb21lIERJU0NPTlQgaGFuZGxpbmcuCgoyMDE2LTA3LTEyIDE4OjE0OjUyICswMjAwICBHZW9yZyBMaXBwaXRzY2ggPGdsaXBwaXRzY2hAdG9vbHNvbmFpci5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBGaXggZm91cmNjIGZvciBQcm9SZXMgUHJveHkKCSAgVGhpcyBpcyBhcGNvLCBhY2NvcmRpbmcgdG8KCSAgaHR0cHM6Ly93aWtpLm11bHRpbWVkaWEuY3gvaW5kZXgucGhwP3RpdGxlPUFwcGxlX1Byb1JlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY5MDQ4CgoyMDE2LTA5LTE4IDIwOjU1OjMxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3ZweC9tZXNvbi5idWlsZDoKCSAgbWVzb246IGZpeCBidWlsZCB3aXRoIHZweCAxLjMueAoJICB2cHggPj0gMS40LjAgaXMgb3B0aW9uYWwKCjIwMTYtMDktMTUgMTg6MTk6MzUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IFVzZSBuZXcgYmluIHN1cHByZXNzZWQgZmxhZ3MgQVBJIGZvciBtYW5hZ2luZyB0aGUgZWxlbWVudCBmbGFncwoKMjAxNi0wOS0xNSAwOTo1MjozMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb2NsaWVudC5jOgoJKiBnc3QvcnRwL2Rib29saHVmZi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZsaXAuYzoKCSAgZXh0LCBnc3Q6IGZpeCBpbmRlbnRhdGlvbgoKMjAxNi0wOS0xNSAwOTo1MjoxNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Zsdm11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBoMjYzLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGppdHRlcmJ1ZmZlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBzZXNzaW9uLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cHZwOS5jOgoJICB0ZXN0czogZml4IGluZGVudGF0aW9uCgoyMDE2LTA4LTExIDExOjA0OjIyIC0wNjAwICBUaG9tYXMgQmx1ZW1lbCA8dGJsdWVtZWxAY29udHJvbDQuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogRml4IGNhbGN1bGF0aW5nIG5leHRfc2VxbnVtIHdoZW4gZHJvcHBpbmcgb2xkIGJ1ZmZlcnMgZnJvbSBhIGZ1bGwgcXVldWUuCgkgIEZpeGVzIGNhbGN1bGF0aW5nIHRoZSBuZXh0IHNlcXVlbmNlIG51bWJlciB3aGVuIGEgSVRFTV9UWVBFX0xPU1Qgd2l0aCBtb3JlIHRoYW4gb25lCgkgIGRlZmluaXRlbHkgbG9zdCBwYWNrZXRzIGlzIGVuY291bnRlcmVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY5NzU3CgoyMDE2LTA4LTExIDIzOjA3OjQ0ICswMjAwICBIYXZhcmQgR3JhZmYgPGhhdmFyZC5ncmFmZkBnbWFpbC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogaW1wcm92ZWQgcnR4LXJ0dCBhdmVyYWdpbmcKCSAgVGhlIGJhc2ljIGlkZWEgaXMgdGhpczoKCSAgMS4gRm9yICpsYXJnZXIqIHJ0eC1ydHQsIHdlaWdoIGEgbmV3IG1lYXN1cmVtZW50IGFzIGJlZm9yZQoJICAyLiBGb3IgKnNtYWxsZXIqIHJ0eC1ydHQsIGJlIGEgYml0IG1vcmUgY29uc2VydmF0aXZlIGFuZCB3ZWlnaCBhIGJpdCBsZXNzCgkgIDMuIEZvciB2ZXJ5IGxhcmdlIG1lYXN1cmVtZW50cywgY29uc2lkZXIgdGhlbSAib3V0bGllcnMiCgkgIGFuZCBjb3VudCB0aGVtIGEgbG90IGxlc3MKCSAgVGhlIGlkZWEgYmVpbmcgdGhhdCByZWR1Y2luZyB0aGUgcnR4LXJ0dCBpcyBtdWNoIG1vcmUgaGFybWZ1bCB0aGVuCgkgIGluY3JlYXNpbmcgaXQsIHNpbmNlIHdlIGRvbid0IHdhbnQgdG8gYmUgdW5kZXJlc3RpbWF0aW5nIHRoZSBydHQgb2YgdGhlCgkgIG5ldHdvcmssIGFuZCB3aGVuIHVzaW5nIHRoaXMgbnVtYmVyIHRvIGVzdGltYXRlIHRoZSBsYXRlbmN5IHlvdSBuZWVkIGZvcgoJICB5b3Ugaml0dGVyYnVmZmVyLCB5b3Ugd291bGQgcmF0aGVyIHdhbnQgaXQgdG8gYmUgYSBiaXQgbGFyZ2VyIHRoZW4gYSBiaXQKCSAgc21hbGxlciwgcG90ZW50aWFsbHkgbG9zaW5nIHJ0eC1wYWNrZXRzLiBUaGUgIm91dGxpZXItZGV0ZWN0b3IiIGlzIHRoZXJlCgkgIHRvIHByZXZlbnQgYSBzaW5nbGUgc2tld2VkIG1lYXN1cmVtZW50IHRvIGFmZmVjdCB0aGUgb3V0Y29tZSB0b28gbXVjaC4KCSAgT24gd2lyZWxlc3MgbmV0d29ya3MsIHRoZXNlIGFyZSBzdXJwcmlzaW5nbHkgY29tbW9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY5NzY4CgoyMDE2LTA4LTA1IDEyOjUxOjU5ICswMjAwICBTdGlhbiBTZWxuZXMgPHN0aWFuQHBleGlwLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBEZXRlY3Qgd2hldGhlciB0byBhc3N1bWUgZXF1aWRpc3RhbnQgc3BhY2luZyB3aGVuIGxvc3MKCSAgQXNzdW1pbmcgZXF1aWRpc3RhbnQgcGFja2V0IHNwYWNpbmcgd2hlbiB0aGF0J3Mgbm90IHRydWUgbGVhZHMgdG8gbW9yZQoJICBsb3NzIHRoYW4gbmVjZXNzYXJ5IGluIHRoZSBjYXNlIG9mIHJlb3JkZXJpbmcgYW5kIGppdHRlci4gVHlwaWNhbGx5IHRoaXMKCSAgaXMgdHJ1ZSBmb3IgdmlkZW8gd2hlcmUgb25lIGZyYW1lIG9mdGVuIGNvbnNpc3RzIG9mIG11bHRpcGxlIHBhY2tldHMKCSAgd2l0aCB0aGUgc2FtZSBydHAgdGltZXN0YW1wLiBJbiB0aGlzIGNhc2UgaXQncyBiZXR0ZXIgdG8gYXNzdW1lIHRoYXQgdGhlCgkgIG1pc3NpbmcgcGFja2V0cyBoYXZlIHRoZSBzYW1lIHRpbWVzdGFtcCBhcyB0aGUgbGFzdCByZWNlaXZlZCBwYWNrZXQsIHNvCgkgIHRoYXQgdGhlIHNjaGVkdWxlZCBsb3N0IHRpbWVyIGRvZXMgbm90IHRpbWUgb3V0IHRvbyBlYXJseSBjYXVzaW5nIHRoZQoJICBwYWNrZXRzIHRvIGJlIGNvbnNpZGVyZWQgbG9zdCBldmVuIHRob3VnaCB0aGV5IG1heSBhcnJpdmUgaW4gdGltZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2OTc2OAoKMjAxNi0wNy0yNyAxMDozOTo1MCArMDIwMCAgU3RpYW4gU2VsbmVzIDxzdGlhbkBwZXhpcC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogRG9uJ3QgcmVxdWVzdCBydHggaWYgJ25vdycgaXMgcGFzdCByZXRyeSBwZXJpb2QKCSAgVGhlcmUgaXMgbm8gbmVlZCB0byBzY2hlZHVsZSBhbm90aGVyIEVYUEVDVEVEIHRpbWVyIGlmIHdlJ3JlIGFscmVhZHkKCSAgcGFzdCB0aGUgcmV0cnkgcGVyaW9kLiBVbmRlciBub3JtYWwgb3BlcmF0aW9uIHRoaXMgd29uJ3QgaGFwcGVuLCBidXQgaWYKCSAgdGhlcmUgYXJlIG1vcmUgdGltZXJzIHRoYW4gdGhlIGppdHRlcmJ1ZmZlciBpcyBhYmxlIHRvIHByb2Nlc3MgaW4KCSAgcmVhbC10aW1lLCBzY2hlZHVsaW5nIG1vcmUgdGltZXJzIHdpbGwganVzdCBtYWtlIHRoZSBzaXR1YXRpb24gd29yc2UuCgkgIEluc3RlYWQsIGNvbnNpZGVyIHRoaXMgcGFja2V0IGFzIGxvc3QgYW5kIG1vdmUgb24uIFRoaXMgc2NlbmFyaW8gY2FuCgkgIG9jY3VyIHdpdGggaGlnaCBsb3NzIHJhdGUsIGxvdyBydHQgYW5kIGhpZ2ggY29uZmlndXJlZCBsYXRlbmN5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY5NzY4CgoyMDE2LTA3LTI2IDE4OjAxOjQ4ICswMjAwICBTdGlhbiBTZWxuZXMgPHN0aWFuQHBleGlwLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBGaXggbG9zdCBkdXJhdGlvbiB3aGVuIGdhcCBhZnRlciBsb3N0IHRpbWVyCgkgIFRoaXMgcGF0Y2ggZml4ZXMgYW4gaXNzdWUgd2l0aCB0aGUgZXN0aW1hdGVkIGdhcCBkdXJhdGlvbiB3aGVuIHRoZXJlIGlzCgkgIGEgZ2FwIGltbWVkaWF0ZWx5IGFmdGVyIGEgbG9zdCB0aW1lciBoYXMgYmVlbiBwcm9jZXNzZWQuIFByZXZpb3VzbHkKCSAgdGhlcmUgd2FzIGEgZGlzY3JlcGFuY3kgYmV0ZWVuIHRoZSBnYXAgaW4gc2VxbnVtIGFuZCBnYXAgaW4gZHRzIHdoaWNoCgkgIHdvdWxkIGNhdXNlIHdyb25nIGNhbGN1bGF0ZWQgZHVyYXRpb24uIFRoZSBpc3N1ZSB3b3VsZCBvbmx5IGJlIHNlZW4gd2l0aAoJICByZXRyYW5taXNzaW9uIGVuYWJsZWQgc2luY2Ugd2hlbiBpdCdzIGRpc2FibGVkIGxvc3QgdGltZXJzIGFyZSBvbmx5CgkgIGNyZWF0ZWQgd2hlbiBhIHBhY2tldCBpcyByZWNlaXZlZCBhbmQgdGhlIGFjdHVhbCBnYXAgbGVuZ3RoIGFuZCBsYXN0IGR0cwoJICBpcyBrbm93bi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2OTc2OAoKMjAxNi0wNy0xOSAwMToxMTo1OCArMDIwMCAgSGF2YXJkIEdyYWZmIDxoYXZhcmQuZ3JhZmZAZ21haWwuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogRXhwb3NlIHJ0eC1kZWFkbGluZSBhcyBhIHByb3BlcnR5CgkgIFRoZSBkZWZhdWx0IC0xIGdpdmVzIHRoZSBvbGQgYmVoYXZpb3IuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Njk3NjgKCjIwMTYtMDgtMTEgMTI6MDI6MTkgKzAyMDAgIEhhdmFyZCBHcmFmZiA8aGF2YXJkLmdyYWZmQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBJbXByb3ZlZCBleHBlY3RlZC10aW1lciBoYW5kbGluZyB3aGVuIGdhcCA+IDAKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2OTc2OAoKMjAxNi0wOC0xMSAxMTo1MTo1MCArMDIwMCAgU3RpYW4gU2VsbmVzIDxzdGlhbkBwZXhpcC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogTWFqb3IgaW1wcm92ZW1lbnRzIGZvciBSVFggc3RhdHMKCSAgU3RhdHMgc2hvdWxkIGFsc28gYmUgY29sbGVjdGVkIGZvciB1bnN1Y2Nlc3NmdWwgcGFja2V0cy4KCSAgcnR4LXJ0dCBpcyB2ZXJ5IGltcG9ydGFudCBmb3IgZGV0ZXJtaW5pbmcgdGhlIG5lY2Vzc2FyeSBjb25maWd1cmVkCgkgIGxhdGVuY3kgb24gdGhlIGppdHRlcmJ1ZmZlci4gSXQncyBlc3BlY2lhbGx5IGltcG9ydGFudCB0byBiZSBhYmxlIHRvCgkgIGluY3JlYXNlIHRoZSBsYXRlbmN5IHdoZW4gcmV0cmFuc21pdHRlZCBwYWNrZXRzIGFycml2ZSB0b28gbGF0ZSBhbmQgYXJlCgkgIGNvbnNpZGVyZWQgbG9zdC4gVGhpcyBwYXRjaCBpbmNsdWRlcyB0aGVzZSBsYXRlIHBhY2tldHMgaW4gdGhlCgkgIGNhbGN1bGF0aW9uIG9mIHRoZSB2YXJpb3VzIHJ0eCBzdGF0cywgbWFraW5nIHRoZW0gbW9yZSBjb3JyZWN0IGFuZAoJICB1c2VmdWwuCgkgIEFsc28gaW4gdGhlIGNhc2Ugd2hlcmUgdGhlIG9yaWdpbmFsIHBhY2tldCBhcnJpdmVzIGFmdGVyIGEgTkFDSyBpcyBzZW50LAoJICB0aGUgcmVjZWl2ZWQgUlRYIHBhY2tldCBzaG91bGQgdXBkYXRlIHRoZSBzdGF0cyBzaW5jZSBpdCBwcm92aWRlcyB1c2VmdWwKCSAgaW5mb3JtYXRpb24gYWJvdXQgUlRULgoJICBUaGUgUlRUIGlzIG9ubHkgdXBkYXRlZCBpZiBhbmQgb25seSBpZiBhbGwgcmVxdWVzdGVkIHJldHJhbm1pc3Npb25zIGFyZQoJICByZWNlaXZlZC4gVGhhdCB3YXkgdGhlIFJUVCBpcyBndWFyYW50ZWVkIHRvIG1ha2Ugc2Vuc2UuIElmIG5vdCB3ZSBkb24ndAoJICBrbm93IHdoaWNoIHJlcXVlc3QgdGhlIHBhY2tldCBpcyBhIHJlc3BvbnNlIHRvIGFuZCB0aGUgUlRUIG1heSBiZSBib2d1cy4KCSAgQSBjb25zZXF1ZW5jZSBvZiB0aGlzIHBhdGNoIGlzIHRoYXQgUlRUIGlzIG5vdCB1cGRhdGVkIGZvciBhIHJlcXVlc3QKCSAgd2hlbiBvbmUgb2YgdGhlIFJUWCBwYWNrZXRzIGZvciB0aGF0IHNlcW51bSBpcyBsb3N0LCBidXQgdGhhdCBzaW5jZQoJICBtZWFzdXJlZCBSVFQgd2lsbCBiZSBtb3JlIGFjY3VyYXRlLgoJICBUaGUgaW1wbGVtZW50YXRpb24gc3RvcmUgdGhlIFJUWCBpbmZvcm1hdGlvbiBmcm9tIHRoZSB0aW1lZCBvdXQgdGltZXJzCgkgIGFuZCB1c2UgdGhpcyB3aGVuIHRoZSByZXRyYW5zbWl0dGVkIHBhY2tldCBhcnJpdmVzLiBGb3IgcGVyZm9ybWFuY2UKCSAgdGhlc2UgdGltZXJzIGFyZSBzdG9yZWQgc2VwYXJhdGVseSBmcm9tIHRoZSAibm9ybWFsIiB0aW1lcnMgaW4gb3JkZXIgdG8KCSAgbm90IGltcGFjdCBwZXJmb3JtYW5jZSAoc2VlIGF0dGFjaGVkIHBlcmZvcm1hbmNlIHRlc3QpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY5NzY4CgoyMDE2LTA4LTExIDExOjAyOjQ0ICswMjAwICBIYXZhcmQgR3JhZmYgPGhhdmFyZC5ncmFmZkBnbWFpbC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogQWRkIGFuZCBleHBvc2UgbW9yZSBzdGF0cyBhbmQgaW5jcmVhc2UgdGVzdGluZyBvZiBpdAoJICBBZGQgbnVtLXB1c2hlZCBhbmQgbnVtLWxvc3QuCgkgIEV4cG9zZSBudW0tbGF0ZSwgbnVtLWR1cGxpY2F0ZXMgYW5kIGF2Zy1qaXR0ZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Njk3NjgKCjIwMTYtMDctMDcgMTA6MjA6MDIgKzAyMDAgIFN0aWFuIFNlbG5lcyA8c3RpYW5AcGV4aXAuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcnR4cmVjZWl2ZS5jOgoJICBydHhyZWNlaXZlOiBTZXQgYnVmZmVyIGZsYWcgZm9yIHJldHJhbnNtaXR0ZWQgcGFja2V0cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY5NzY4CgoyMDE2LTA3LTA5IDIzOjQ3OjQxICswMjAwICBIYXZhcmQgR3JhZmYgPGhhdmFyZC5ncmFmZkBnbWFpbC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBPcHRpb24gdG8gZGlzYWJsZSBydHgtZGVsYXktcmVvcmRlcgoJICBXaGVuIGRpc2FibGVkIHdlIGNhbiBzYXZlIHNvbWUgaXRlcmF0aW9ucyBvdmVyIHRpbWVycy4KCSAgVGhlcmUgaXMgcHJvYmFibHkgYW4gYXJndW1lbnQgZm9yIHJ0eC1kZWxheS1yZW9yZGVyIHRvIGV4aXN0LCBidXQKCSAgZm9yIG5vcm1hbCBvcGVyYXRpb25zLCBoYW5kbGluZyBqaXR0ZXIgKHJlb3JkZXJpbmcpIGlzIHNvbWV0aGluZyBhCgkgIGppdHRlcmJ1ZmZlciBzaG91bGQgZG8sIGFuZCB0aGlzIHZhcmlhYmxlIGZlZWxzIGxpa2UgZnVuY3Rpb25hbGl0eSB0aGF0CgkgIGlzIG5vdCAiaW4tc3luYyIgd2l0aCB3aGF0IHRoZSBqaXR0ZXJidWZmZXIgaXMgdHJ5aW5nIHRvIGFjaGlldmUuCgkgIEV4YW1wbGU6IFlvdSBoYXZlIDUwbXMgaml0dGVyIG9uIHlvdXIgbmV0d29yaywgYW5kIGFyZSByZWNlaXZpbmcKCSAgYXVkaW8gcGFja2V0cyB3aXRoIDEwbXMgZHVyYXRpb25zLiBBbiBhdWRpbyBwYWNrZXQgc2hvdWxkIG5vdCBiZQoJICBjb25zaWRlcmVkIGxhdGUgdW50aWwgaXRzIHJ0eC10aW1lb3V0IGhhcyBleHBpcmVkIChhbmQgaGVuY2UgYSBydHgtZXZlbnQKCSAgaXMgc2VudCksIGJ1dCB3aXRoIHJ0eC1kZWxheS1yZW9yZGVyLCBldmVudHMgd2lsbCBiZSBzZW50IHByZXR0eSBtdWNoCgkgIGFsbCB0aGUgdGltZSBkdWUgdG8gdGhlIGppdHRlciBvbiB0aGUgbmV0d29yay4KCSAgUG9pbnQgYmVpbmc6IFRoZSBqaXR0ZXJidWZmZXIgc2hvdWxkIGFkYXB0IGl0cyBzaXplIHRvIHRoZSBtZWFzdXJlZCBuZXR3b3JrCgkgIGppdHRlciwgYW5kIHRoZW4gcnR4LWRlbGF5LXJlb3JkZXIgbmVlZHMgdG8gYWRhcHQgYXMgd2VsbCwgb3Igc2ltcGx5CgkgIGdldCBvdXQgb2YgdGhlIHdheSBhbmQgbGV0IHRoZSBvdGhlciAoYmV0dGVyKSBydHgtbWVjaGFuaXNtcyBkbyB0aGVpciBqb2IuCgkgIEFsc28gY2hhbmdlIGZpbmRfdGltZXIgdG8gb25seSB1c2Ugc2VxbnVtIGFzIGFuIGFyZ3VtZW50LCBzaW5jZSB0aGVyZQoJICB3aWxsIG9ubHkgZXZlciBiZSBvbmUgdGltZXIgcGVyIHNlcW51bSBhdCBhbnkgZ2l2ZW4gdGltZS4gSW4gdGhlCgkgIG9uZSBjYXNlIHdoZXJlIHRoZSB0eXBlIG1hdHRlcnMsIHRoZSBjYWxsZXIgc2ltcGx5IGNoZWNrcyB0aGUgdHlwZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2OTc2OAoKMjAxNi0wOS0xNCAwOTo1ODo0MSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5jOgoJICBydHBoMjYzcGF5OiBGaXggZG91YmxlIGZyZWUgZnJvbSBjb3Zlcml0eQoJICBDSUQgIzEzNzI4ODcKCjIwMTYtMDktMTQgMDk6NTg6MzcgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuYzoKCSAgcnRwaDI2M3BheTogSW5kZW50IGFzIHBlciBnc3QtaW5kZW50CgoyMDE2LTA5LTE0IDExOjMwOjQxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IERlcGVuZCBvbiBnc3RyZWFtZXIgMS45LjIuMQoKMjAxNi0wOS0xNCAxMDoxNzowMiArMDkwMCAgV29uY2h1bCBMZWUgPHdvbmNodWwubGVlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvZGV0ZWN0LmM6CgkgIGF1dG9kZXRlY3Q6IFVzZSBnc3RfYmluX3NldF9zdXBwcmVzc2VkX2ZsYWdzKCkgQVBJCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzEzOTUKCjIwMTYtMDktMDkgMTU6MzY6MTIgKzAyMDAgIFRob21hcyBTY2hldWVybWFubiA8VGhvbWFzLlNjaGV1ZXJtYW5uQGJhcmNvLmNvbT4KCgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb2NsaWVudC5jOgoJICBqYWNrOiBGaXggcGlwZWxpbmUgaGFuZyB3aGVuIGphY2sgY2hhbmdlcyBzYW1wbGUgcmF0ZSBvciBidWZmZXIgc2l6ZQoJICBJZiBqYWNrZCBjaGFuZ2VzIHRoZSBidWZmZXIgc2l6ZSBvciBzYW1wbGUgcmF0ZSwgamFja2F1ZGlvc2luayBoYW5ncwoJICBhbmQgY2FuJ3QgYmUgc3RvcHBlZC4gVGhpcyBhbHNvIGhhcHBlbnMgaWYgamFjayBpcyBjb25maWd1cmVkIGFzIHNsYXZlCgkgIGFuZCBhIGdzdHJlYW1lciBwaXBlbGluZSBpcyBzdGFydGVkIG9uIHRoZSBzbGF2ZSBtYWNoaW5lIHdoaWxlIHRoZSBqYWNrCgkgIG1hc3RlciBpc24ndCBydW5uaW5nIHlldC4gSWYgdGhlIHRoZSBqYWNrIG1hc3RlciBpcyBzdGFydGVkIGl0IGNoYW5nZXMKCSAgdGhlIGJ1ZmZlciBzaXplIC8gc2FtcGxlIHJhdGUgYW5kIGphY2thdWRpb3NpbmsgY2FuJ3QgYmUgc3RvcHBlZC4KCSAgVGhpcyBmaXggY2FsbHMgamFja19zaHV0ZG93bl9jYiB3aGVuIGphY2tfc2FtcGxlX3JhdGVfY2Igb3IKCSAgamFja19idWZmZXJfc2l6ZV9jYiBpcyBjYWxsZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzEyNzIKCjIwMTYtMDktMTIgMjA6MDg6MzYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IEZpeCBmaWVsZCBvcmRlcmluZyBmb3IgcmV2ZXJzZSBwbGF5YmFjawoJICBBbmQgYWN0dWFsbHkgY2FsY3VsYXRlIHRoZSBmaWVsZCBkdXJhdGlvbiBpbnN0ZWFkIG9mIGEgZnJhbWUgZHVyYXRpb24gc28KCSAgdGhhdCB3ZSBjYW4gcHJvcGVybHkgdGltZXN0YW1wIG91dHB1dCBmcmFtZXMgaW4gZmllbGRzPWFsbCBtb2RlLgoJICBUaGlzIGlzIHByb2JhYmx5IHN0aWxsIGJyb2tlbiBmb3IgcmV2ZXJzZSBwbGF5YmFjayBpbiB0ZWxlY2luZSBtb2RlLgoKMjAxNi0wOS0xMiAwOTowMjowMCArMDAwMCAgVGhvbWFzIEtsYXVzbmVyIDx0a0BnaWdhLm9yLmF0PgoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgdWRwc3JjOiBGaXggY29tcGlsYXRpb24gb24gTmV0QlNECgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzEyNzgKCjIwMTYtMDktMTAgMjA6NTE6MTAgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogYXV0b2dlbi5zaDoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBiMThkODIwIHRvIGY5ODBmZDkKCjIwMTYtMDktMDkgMTQ6MDI6MjUgKzAyMDAgIFhhYmllciBSb2RyaWd1ZXogQ2FsdmFyIDxjYWx2YXJpc0BpZ2FsaWEuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IG9mZnNldCBpcyBpcnJlbGV2YW50IHdoZW4gbm8gY3J5cHRvIGluZm8KCSAgQ2F1c2UgbGF0ZXIgaXQgd2lsbCB0cnkgdG8gdXNlIHRoZSBjcnlwdG8gaW5mbyBhcnJheSB0byBnZXQgYW4gaW5kZXggYW5kCgkgIGF0dGFjaCBvbiBvZiB0aGUgcG9zaXRpb25zIGFzIGJ1ZmZlcidzIGNyeXB0byBpbmZvLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzcwOTUxCgoyMDE2LTA5LTEwIDA5OjUzOjU3ICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGF1dG9nZW4uc2g6CgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gZjQ5YzU1ZSB0byBiMThkODIwCgoyMDE2LTA5LTA3IDE1OjMzOjMwIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvb3N4YXVkaW8vTWFrZWZpbGUuYW06CgkgIG9zeGF1ZGlvOiBEaXN0cmlidXRlIGRldmljZSBwcm92aWRlciBmaWxlcwoJICBUaG9zZSB3aGVyZSBtaXNzaW5nIHRoZSB0aGUgZGV2IHJlbGVhc2UgdGFyYmFsbHMgZm9yIDEuOS4yIHdoaWNoCgkgIHByZXZlbnRlZCBidWlsZGluZyBmcm9tIHRhcmJhbGwgb24gT1NYIHBsYXRmb3JtCgoyMDE2LTA5LTA2IDA5OjQ5OjM5ICswMjAwICBYYWJpZXIgUm9kcmlndWV6IENhbHZhciA8Y2FsdmFyaXNAaWdhbGlhLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBGaXggY3Jhc2ggd2l0aCBubyBjZW5jIGF1eCBvZmZzZXQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3MDk1MQoKMjAxNi0wOS0wNSAwOTozOTozMyArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiBwYXJzZSBhIGJpdCBtb3JlIG9mIHRoZSBodW1vbmdvdXMgTE9BUyBkYXRhCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjkyNzgKCjIwMTYtMDktMDUgMDk6Mzk6MDggKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogbWFrZSBpdCBjbGVhciB3aGVuIGEgcG90ZW50aWFsIExPQVMgZnJhbWUgaXMgbm90IG9uZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY5Mjc4CgoyMDE2LTA5LTA1IDA5OjM4OjI2ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSAgYWFjcGFyc2U6IGFkZCBhIGZldyBjb21tZW50cyB0byBhbmNob3IgcGFyc2luZyB0byB0aGUgc3BlYwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY5Mjc4CgoyMDE2LTA5LTA1IDA5OjM3OjAyICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5oOgoJICBhYWNwYXJzZTogaW1wcm92ZSBjaGFubmVsL3JhdGUgaGFuZGxpbmcKCSAgS2VlcCB0cmFjayBvZiB0aGUgbGFzdCBwYXJzZWQgY2hhbm5lbHMvcmF0ZSBmaWVsZHMgc28gdGhleSBjYW4gYmUKCSAgdXNlZCBldmVuIGlmIHRoZSBlbGVtZW50IHdhcyBub3QgeWV0IGNvbmZpZ3VyZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjkyNzgKCjIwMTYtMDktMDUgMDk6MzU6NTMgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogZml4IHZhcmxlbmd0aCBudW1iZXIgcmVhZGluZyBhcyBwZXIgc3BlYwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY5Mjc4CgoyMDE2LTA5LTA1IDA5OjM1OjAyICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSAgYWFjcGFyc2U6IHN0cmlwIHVuZWVkZWQgc3RhdGljIGFycmF5cyBzbGFjawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY5Mjc4CgoyMDE2LTA3LTE4IDE5OjE4OjU4IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBtcDRhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRhZGVwYXkuaDoKCSAgcnRwbXA0YWRlcGF5OiBPbmx5IGRlY2xhcmUgYSBzdHJlYW0gdG8gYmUgZnJhbWVkIG9uY2UgYSBtYXJrZXIgYml0IGhhcyBiZWVuIHNlZW4KCSAgVGhpcyBtYXkgY2F1c2UgYSBmZXcgcGFja2V0cyB0byBiZSBwcm9jZXNzZWQgYnkgdGhlIHBhcnNlciwgYnV0IGl0J3MKCSAgYmV0dGVyIHRoYW4gbmV2ZXIgcHVzaGluZyBvdXQgYnVmZmVycyBmcm9tIGEgc2xpZ2h0bHkgYnJva2VuIHN0cmVhbQoJICB3aGVyZSBubyBtYXJrZXIgYml0cyBhcmUgc2V0LgoKMjAxNi0wOS0wNiAxNDoyNTo0MiArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kdi9nc3RkdmRlbXV4LmM6CgkgIGR2ZGVtdXg6IEZpeCB0aW1lc3RhbXBpbmcgaW4gcmV2ZXJzZSBwbGF5YmFjayBtb2RlCgkgIFRoaXMgaXMgb25seSBzdXBwb3J0ZWQgcmlnaHQgbm93IGlmIGFmdGVyIGEgZGVtdXhlciB0aGF0IHN1cHBvcnRzIHJldmVyc2UKCSAgcGxheWJhY2ssIGUuZy4gd2l0aCBEViBjb250YWluZXIgaW5zaWRlIEFWSSBjb250YWluZXIuCgoyMDE2LTA5LTA1IDEyOjIzOjU0IC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQG9zZy5zYW1zdW5nLmNvbT4KCgkqIG1lc29uLmJ1aWxkOgoJICBtZXNvbjogQnVtcCB2ZXJzaW9uIHRvIDEuOS4yCgoyMDE1LTA2LTI2IDIwOjEzOjE3ICswMjAwICBNYXRoaWV1IER1cG9uY2hlbGxlIDxtYXRoaWV1LmR1cG9uY2hlbGxlQG9wZW5jcmVlZC5jb20+CgoJKiBnc3QvaXNvbXA0L0dzdFFUTXV4LnByczoKCSogZ3N0L2lzb21wNC9NYWtlZmlsZS5hbToKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogSW1wbGVtZW50IHRoZSBwcmVzZXQgaW50ZXJmYWNlLgoJICArIEFuZCBwcm92aWRlIGEgInlvdXR1YmUiIHByZXNldCwgd2hpY2ggYmFzZWQgb24KCSAgaHR0cHM6Ly9zdXBwb3J0Lmdvb2dsZS5jb20veW91dHViZS9hbnN3ZXIvMTcyMjE3MSBzZXRzCgkgIGZhc3RzdGFydCB0byBUcnVlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxNTU5CgoyMDE2LTA5LTAxIDEyOjI3OjM1ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBCYWNrIHRvIGRldmVsb3BtZW50Cgo9PT0gcmVsZWFzZSAxLjkuMiA9PT0KCjIwMTYtMDktMDEgMTI6Mjc6MTUgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXNvbXA0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdnB4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiBnc3QtcGx1Z2lucy1nb29kLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAxLjkuMgoKMjAxNi0wOS0wMSAxMToyMzozMyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VvLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2hyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9yby5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHBvL3poX0hLLnBvOgoJKiBwby96aF9UVy5wbzoKCSAgcG86IFVwZGF0ZSB0cmFuc2xhdGlvbnMKCjIwMTYtMDktMDEgMTA6NTk6NTEgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9lcXVhbGl6ZXIvZGVtby5jOgoJKiB0ZXN0cy9leGFtcGxlcy9zcGVjdHJ1bS9kZW1vLWF1ZGlvdGVzdC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9zcGVjdHJ1bS9kZW1vLW9zc3NyYy5jOgoJICB0ZXN0cy9leGFtcGxlczogI2RlZmluZSBHREtfRElTQUJMRV9ERVBSRUNBVElPTl9XQVJOSU5HUwoJICBXZSB1c2UgZ2RrX2NhaXJvX2NyZWF0ZSgpIHdoaWNoIGlzIGRlcHJlY2F0ZWQgc2luY2UgMy4yMi4KCjIwMTYtMDgtMzEgMDU6NTA6NDQgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL29zeHZpZGVvL01ha2VmaWxlLmFtOgoJKiBzeXMvb3N4dmlkZW8vY29jb2F3aW5kb3cuaDoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5oOgoJICBvc3h2aWRlbzogUmVtb3ZlIFF1aWNrVGltZSByZWZlcmVuY2VzLgoJICBRdWlja1RpbWUuaCBpcyBubyBsb25nZXIgYXZhaWxhYmxlIG9uIE9TIFggMTAuMTIgKFNpZXJyYSksCgkgIGFuZCBib3RoIHRoZSBoZWFkZXIgYW5kIHRoZSBmcmFtZXdvcmsgc2VlbSB1bm5lY2Vzc2FyeQoJICBmb3IgY29tcGlsYXRpb24gLSBhdCBsZWFzdCBhcyBvZiAxMC4xMSAoRWwgQ2FwaXRhbikuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzA1MjYKCjIwMTYtMDgtMTkgMTE6MTE6MDMgLTA3MDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2R2L2dzdGR2ZGVtdXguYzoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmZGVjLmM6CgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2RlYnVndXRpbHMvcm5kYnVmZmVyc2l6ZS5jOgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkqIGdzdC9pbWFnZWZyZWV6ZS9nc3RpbWFnZWZyZWV6ZS5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c3JjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIFVzZSB0aGUgbmV3IEFQSSB0byBwb3N0IGZsb3cgRVJST1IgbWVzc2FnZXMgb24gdGhlIGJ1cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzcwMTU4CgoyMDE2LTA4LTI2IDIxOjMyOjA3ICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJICBnaXRpZ25vcmU6IGlnbm9yZSBxdGRlbXV4LCBydHBoMjYxIGFuZCBydHB2cDkgdGVzdHMKCjIwMTYtMDgtMjYgMjE6MjI6MTYgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICB0ZXN0czogdXNlIEdTVF9ORVRfTElCUyBpbnN0ZWFkIG9mIGhhcmRjb2RlZCAtbGdzdG5ldAoJICBGaXhlcyBidWlsZCBpbiBPU1ggd2hlbiBydW5uaW5nICdtYWtlIGNoZWNrJyBpbiBnc3QtdW5pbnN0YWxsZWQuCgoyMDE2LTA4LTI2IDIxOjE0OjQ3ICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHAtcGF5bG9hZGluZy5jOgoJICB0ZXN0czogcmVtb3ZlIGEgd3JvbmcgJ2NvbnN0JyBzcGVjaWZpZXIKCSAgRml4ZXMgImVycm9yOiBkdXBsaWNhdGUgJ2NvbnN0JyBkZWNsYXJhdGlvbiBzcGVjaWZpZXIiCgoyMDE2LTA4LTI2IDIxOjExOjU5ICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBidWlsZDogc2lsZW5jZSBlcnJvciBhYm91dCBwdGhyZWFkIGZvciAnbWFrZSBjaGVjaycgaW4gb3N4CgkgIEZpeGVzICJjbGFuZzogZXJyb3I6IGFyZ3VtZW50IHVudXNlZCBkdXJpbmcgY29tcGlsYXRpb246ICctcHRocmVhZCciCgoyMDE2LTA4LTI2IDIwOjMxOjEwICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHZwOWVuYzogRml4IGJ1aWxkIG9mIHVuaXQgdGVzdCBieSBsZXR0aW5nIGl0IGxpbmsgdG8gbGliZ3N0dmlkZW8KCjIwMTYtMDgtMjYgMTI6MDY6MzUgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4Lmg6CgkgIFJldmVydCAicnRwbXV4OiBmaXggUFJPUF9USU1FU1RBTVBfT0ZGU0VUIHJhbmdlIHByb2JsZW1zIgoJICBUaGlzIGJyb2tlIEFQSSwgc28gd2UgbmVlZCBhIGJldHRlciBzb2x1dGlvbiEKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCBjNzU3OWQzMWE2ZTlkNzg4ZTk0YjgzMjU4MzA5MDYzZDBhYWU0ODFlLgoKMjAxNi0wNi0wOCAxNTowNjoyOCArMDIwMCAgU3RpYW4gU2VsbmVzIDxzdGlhbkBwZXhpcC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHZwOWRlcGF5LmM6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHB2cDkuYzoKCSAgcnRwdnA5ZGVwYXk6IFN1cHBvcnQgZmxleGlibGUgbW9kZQoKMjAxNi0wNi0wNiAxNzowMzozNiArMDIwMCAgU3RpYW4gU2VsbmVzIDxzdGlhbkBwZXhpcC5jb20+CgoJKiBleHQvdnB4L2dzdHZwOWVuYy5jOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdnA5ZW5jLmM6CgkgIHZwOWVuYzogRml4IGxlYWsgb2YgdnB4X2ltYWdlX3QKCjIwMTYtMDUtMDYgMTM6MzM6MjIgKzAyMDAgIFN0aWFuIFNlbG5lcyA8c3RpYW5AcGV4aXAuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGRlcGF5LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGgyNjMuYzoKCSAgcnRwaDI2M3BkZXBheTogRG9uJ3QgdHJ5IHRvIHB1c2ggZW1wdHkgZnJhbWUKCSAgSWYgdGhlIHJlc3VsdCBvZiBkZXBheWxvYWRpbmcgaXMgYW4gZW1wdHkgZnJhbWUsIGp1c3QgZHJvcCBpdC4gVGhpcyBpcwoJICBsaWtlbHkgdGhlIHJlc3VsdCBvZiBhIGJ1Z2d5IHBheWxvYWRlci4KCjIwMTYtMDUtMDYgMTY6MDY6NTMgKzAyMDAgIEhhdmFyZCBHcmFmZiA8aGF2YXJkLmdyYWZmQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguaDoKCSAgcnRwbXV4OiBmaXggUFJPUF9USU1FU1RBTVBfT0ZGU0VUIHJhbmdlIHByb2JsZW1zCgkgIEl0IGNvdWxkIG5vdCBzZXQgdGhlIG9mZnNldCBmb3IgdGhlIGZ1bGwgZ3VpbnQzMiByYW5nZS4KCjIwMTYtMDUtMDYgMDk6NDQ6NDIgKzAyMDAgIEhhdmFyZCBHcmFmZiA8aGF2YXJkLmdyYWZmQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaDoKCSAgcnRwYmluOiBpbnRyb2R1Y2UgbWF4LXN0cmVhbXMgcHJvcGVydHkKCSAgVG8gYmUgYWJsZSB0byBjYXAgdGhlIG51bWJlciBvZiBhbGxvd2VkIHN0cmVhbXMgZm9yIG9uZSBzZXNzaW9uLgoJICBUaGlzIGlzIHVzZWZ1bCBmb3IgcHJldmVudGluZyBEb1MgYXR0YWNrcywgd2hlcmUgYSBzZW5kZXIgY2FuIGNoYW5nZQoJICBTU1JDIGZvciBldmVyeSBidWZmZXIsIGVmZmVjdGl2ZWx5IGJyaW5naW5nIHJ0cGJpbiB0byBhIGhhbHQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzAyOTIKCjIwMTYtMDMtMzEgMDA6MTA6NDkgKzAyMDAgIEhhdmFyZCBHcmFmZiA8aGF2YXJkLmdyYWZmQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJICBydHBzb3VyY2U6IHJlb3JkZXJlZCBwYWNrZXRzIGFyZSB2ZXJ5IG5vcm1hbCwgYW5kIHNob3VsZCBub3QgYmUgYSB3YXJuaW5nCgoyMDE2LTAyLTA1IDE0OjE5OjI1ICswMTAwICBIYXZhcmQgR3JhZmYgPGhhdmFyZC5ncmFmZkBnbWFpbC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IGRlZ3JhZGUgZ193YXJuaW5nIHRvIEdTVF9FUlJPUgoJICBTbyB3ZSBkb24ndCBibG93IHVwIHdoaWxlIGludmVzdGlnYXRpbmcKCjIwMTYtMDItMDQgMTQ6MTY6NDAgKzAxMDAgIFN0aWFuIFNlbG5lcyA8c3RpYW5AcGV4aXAuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGRlcGF5LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGgyNjMuYzoKCSAgcnRwaDI2M3BkZXBheTogRml4IHBpY3R1cmUgaGVhZGVyIGZvciBub24td3JpdGFibGUgcGF5bG9hZAoJICBVbmRlciBjZXJ0YWluIGNvbmRpdGlvbnMgZ3N0X3J0cF9idWZmZXJfZ2V0X3BheWxvYWQoKSByZXR1cm5zIGEgY29weSBvZgoJICB0aGUgcGF5bG9hZC4gSW4gdGhpcyBjYXNlIHRoZSBwYXlsb2FkIG1vZGlmaWNhdGlvbnMgd2lsbCBub3QgYWZmZWN0IHRoZQoJICBydHAgYnVmZmVyLiBTbyBpbnN0ZWFkIG9mIG1vZGlmeWluZyB0aGUgcGF5bG9hZCBidWZmZXIgZGlyZWN0bHkgd2UKCSAgc2hvdWxkIG1vZGlmeSB0aGUgYnVmZmVyIHRoYXQgYWN0dWFsbHkgZ2V0cyBwdXNoZWQgb24gdGhlIGFkYXB0ZXIuCgoyMDE1LTExLTE5IDExOjUwOjQ3ICswMTAwICBTdGlhbiBTZWxuZXMgPHN0aWFuQHBleGlwLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2MWRlcGF5LmM6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBoMjYxLmM6CgkgIHJ0cGgyNjFkZXBheTogRml4IGNoZWNrIG9mIHZhbGlkIHBheWxvYWQgbGVuZ3RoCgkgIFBhY2tldHMgd2l0aCBubyBILjI2MSBwYXlsb2FkIHNob3VsZCBiZSBkcm9wcGVkIHRvIGF2b2lkIGludmFsaWQKCSAgd3JpdGUvcmVhZHMuCgoyMDE1LTExLTA5IDEwOjA2OjIxICswMTAwICBTdGlhbiBTZWxuZXMgPHN0aWFuQHBleGlwLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBoMjYzLmM6CgkgIHJ0cGgyNjNwYXk6IEZpeCBkb3VibGUgZnJlZSwgaW52YWxpZCByZWFkcyBhbmQgbGVhawoKMjAxNC0wNi0zMCAxNTo0Mzo1OCArMDIwMCAgU3RpYW4gU2VsbmVzIDxzdGlhbkBwZXhpcC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IHNhbml0eSBjaGVjayBSVFQgYmVmb3JlIGlnbm9yaW5nIFBMSS9GSVIKCjIwMTQtMDYtMzAgMTU6MDc6NDUgKzAyMDAgIFN0aWFuIFNlbG5lcyA8c3RpYW5AcGV4aXAuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBoYW5kbGUgc2RlcyBtZXNzYWdlcyB3aXRoIG5vbi11dGY4IG1vcmUgZ3JhY2VmdWxseQoKMjAxNC0wNi0xNyAwODo1Mjo1MCArMDIwMCAgU3RpYW4gU2VsbmVzIDxzdGlhbi5zZWxuZXNAZ21haWwuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGF5LmM6CgkgIHJ0cGgyNjNwYXk6IGNoYW5nZSBsb2cgbGV2ZWwgb24gYml0c3RyZWFtIHBhcnNpbmcgbWVzc2FnZXMKCjIwMTYtMDctMDcgMTE6MTM6MTggKzAyMDAgIE1pa2hhaWwgRmx1ZGtvdiA8bWlzaGFAcGV4aXAuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwcnR4LmM6CgkgIHRlc3RzL3J0cHJ0eDogcmVmYWN0b3IgdGhlIHRlc3RzIHRvIHVzZSBnc3RoYXJuZXNzCgkgIFRoZSBmdW5jdGlvbmFsaXR5IG9mIGFsbCB0aGUgdGVzdHMgd2FzIGtlcHQgZXhhY3RseSB0aGUgc2FtZS4gU29tZSB0ZXN0cwoJICB3ZXJlIHJlbmFtZWQ6CgkgIHRlc3RfcHVzaF9mb3J3YXJkX3NlcSAtPiB0ZXN0X3J0eHNlbmRfcnR4cmVjZWl2ZQoJICB0ZXN0X2Ryb3Bfb25lX3NlbmRlciAtPiB0ZXN0X3J0eHNlbmRfcnR4cmVjZWl2ZV93aXRoX3BhY2tldF9sb3NzCgkgIHRlc3RfZHJvcF9tdWx0aXBsZV9zZW5kZXIgLT4gdGVzdF9tdWx0aV9ydHhzZW5kX3J0eHJlY2VpdmVfd2l0aF9wYWNrZXRfbG9zcwoJICB0ZXN0X3J0eHJlY2VpdmVfZGF0YV9yZWNvbnN0cnVjdGlvbiB3YXMgdGVzdGluZyB0aGF0IHJldHJhbnNtaXR0ZWQKCSAgYnVmZmVyIHByb2R1Y2VkIGJ5IHJ0eHNlbmQgd2FzIGNvcnJlY3RseSB0cmFuc2Zvcm1lZCB0byB0aGUgb3JpZ2luYWwKCSAgYnVmZmVyIGJ5IHJ0eHJlY2VpdmUuIE5vdyB3ZSBhcmUgY2hlY2tpbmcgZm9yIHRoaXMgaW4gYWxsIHRoZSB0ZXN0cwoJICB3aGVyZSBib3RoIHJ0eHNlbmQgJiBydHhyZWNlaXZlIGFyZSBpbnZvbHZlZC4gVGhhdCdzIHdoeSB0aGUgdGVzdCB3YXMKCSAgcmVtb3ZlZC4KCjIwMTYtMDgtMjUgMTU6NTI6MzYgKzAyMDAgIEpvbmFzIEhvbG1iZXJnIDxqb25hc2hnQGF4aXMuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY1cGF5LmM6CgkgIHJ0cGgyNjVwYXk6IFNldCBSVFAgbWFya2VyIGJpdAoJICBTZXQgdGhlIFJUUCBtYXJrZXIgYml0IG9uIHRoZSBsYXN0IFJUUCBwYWNrZXQgb2YgYW4gSC4yNjUgYWNjZXNzIHVuaXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzAzOTQKCjIwMTYtMDctMjYgMTk6Mzk6NTggKzAyMDAgIFhhYmllciBSb2RyaWd1ZXogQ2FsdmFyIDxjYWx2YXJpc0BpZ2FsaWEuY29tPgoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmxpcC5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9mbGlwLmg6CgkgIHZpZGVvZmxpcDogYWRkZWQgR3N0VmlkZW9EaXJlY3Rpb24gaW50ZXJmYWNlCgkgIEl0IGltcGxlbWVudHMgbm93IHRoaXMgaW50ZXJmYWNlIHdpdGggaXRzIHZpZGVvLWRpcmVjdGlvbgoJICBwcm9wZXJ0eS4gVmFsdWVzIGFyZSBjaGFuZ2VkIHRvIEdzdFZpZGVvT3JpZW50YXRpb25NZXRob2QgYnV0IHRoZXkgaGF2ZQoJICB0aGUgc2FtZSB2YWx1ZSB0aGFuIHRoZSBvcmlnaW5hbHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Njg2ODcKCjIwMTUtMTEtMDYgMTA6Mzk6MTYgKzAxMDAgIEhhdmFyZCBHcmFmZiA8aGF2YXJkLmdyYWZmQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgZ3N0cnRwc2Vzc2lvbjogcmVmYWN0b3IgZHVwbGljYXRlIGNvZGUgaW50byBhIGZ1bmN0aW9uCgkgIExlc3MgY29kZSwgZWFzaWVyIHRvIHJlYWQsIG1vcmUgY29uc2lzdGVudC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3MDI5MwoKMjAxNi0wOC0yMyAxNzowNjo0NCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiBmaXggdHlwbyBpbiBtYXgtbWlzb3JkZXItdGltZSBwcm9wZXJ0eSBuYW1lCgoyMDE2LTA4LTIyIDAwOjA1OjUyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNpbmsuYzoKCSAgc3BsaXRtdXhzaW5rOiBmaXggcHJpbnRmIGZvcm1hdCBjb21waWxlciB3YXJuaW5nIGluIGRlYnVnIG1lc3NhZ2UKCSAgT24gMzItYml0IHg4NjogZ3N0c3BsaXRtdXhzaW5rLmM6OTY2OjMxOiB3YXJuaW5nOiBmb3JtYXQg4oCYJXXigJkgZXhwZWN0cwoJICBhcmd1bWVudCBvZiB0eXBlIOKAmHVuc2lnbmVkIGludOKAmSwgYnV0IGFyZ3VtZW50IDkgaGFzIHR5cGUKCSAg4oCYZ3VpbnQ2NCB7YWthIGxvbmcgbG9uZyB1bnNpZ25lZCBpbnR94oCZCgoyMDE2LTA4LTEyIDIxOjEyOjMwICswNTMwICBOaXJiaGVlayBDaGF1aGFuIDxuaXJiaGVla0BjZW50cmljdWxhci5jb20+CgoJKiAuZ2l0aWdub3JlOgoJKiBjb25maWcuaC5tZXNvbjoKCSogZXh0L2NhaXJvL21lc29uLmJ1aWxkOgoJKiBleHQvZHYvbWVzb24uYnVpbGQ6CgkqIGV4dC9mbGFjL21lc29uLmJ1aWxkOgoJKiBleHQvZ2RrX3BpeGJ1Zi9tZXNvbi5idWlsZDoKCSogZXh0L2phY2svbWVzb24uYnVpbGQ6CgkqIGV4dC9qcGVnL21lc29uLmJ1aWxkOgoJKiBleHQvbGlicG5nL21lc29uLmJ1aWxkOgoJKiBleHQvbWVzb24uYnVpbGQ6CgkqIGV4dC9wdWxzZS9tZXNvbi5idWlsZDoKCSogZXh0L3Nob3V0Mi9tZXNvbi5idWlsZDoKCSogZXh0L3NvdXAvbWVzb24uYnVpbGQ6CgkqIGV4dC9zcGVleC9tZXNvbi5idWlsZDoKCSogZXh0L3RhZ2xpYi9tZXNvbi5idWlsZDoKCSogZXh0L3ZweC9tZXNvbi5idWlsZDoKCSogZXh0L3dhdnBhY2svbWVzb24uYnVpbGQ6CgkqIGdzdC9hbHBoYS9tZXNvbi5idWlsZDoKCSogZ3N0L2FwZXRhZy9tZXNvbi5idWlsZDoKCSogZ3N0L2F1ZGlvZngvbWVzb24uYnVpbGQ6CgkqIGdzdC9hdWRpb3BhcnNlcnMvbWVzb24uYnVpbGQ6CgkqIGdzdC9hdXBhcnNlL21lc29uLmJ1aWxkOgoJKiBnc3QvYXV0b2RldGVjdC9tZXNvbi5idWlsZDoKCSogZ3N0L2F2aS9tZXNvbi5idWlsZDoKCSogZ3N0L2N1dHRlci9tZXNvbi5idWlsZDoKCSogZ3N0L2RlYnVndXRpbHMvbWVzb24uYnVpbGQ6CgkqIGdzdC9kZWludGVybGFjZS9tZXNvbi5idWlsZDoKCSogZ3N0L2R0bWYvbWVzb24uYnVpbGQ6CgkqIGdzdC9lZmZlY3R2L21lc29uLmJ1aWxkOgoJKiBnc3QvZXF1YWxpemVyL21lc29uLmJ1aWxkOgoJKiBnc3QvZmx2L21lc29uLmJ1aWxkOgoJKiBnc3QvZmx4L21lc29uLmJ1aWxkOgoJKiBnc3QvZ29vbS9tZXNvbi5idWlsZDoKCSogZ3N0L2dvb20yazEvbWVzb24uYnVpbGQ6CgkqIGdzdC9pY3lkZW11eC9tZXNvbi5idWlsZDoKCSogZ3N0L2lkM2RlbXV4L21lc29uLmJ1aWxkOgoJKiBnc3QvaW1hZ2VmcmVlemUvbWVzb24uYnVpbGQ6CgkqIGdzdC9pbnRlcmxlYXZlL21lc29uLmJ1aWxkOgoJKiBnc3QvaXNvbXA0L21lc29uLmJ1aWxkOgoJKiBnc3QvbGF3L21lc29uLmJ1aWxkOgoJKiBnc3QvbGV2ZWwvbWVzb24uYnVpbGQ6CgkqIGdzdC9tYXRyb3NrYS9tZXNvbi5idWlsZDoKCSogZ3N0L21lc29uLmJ1aWxkOgoJKiBnc3QvbW9ub3Njb3BlL21lc29uLmJ1aWxkOgoJKiBnc3QvbXVsdGlmaWxlL21lc29uLmJ1aWxkOgoJKiBnc3QvbXVsdGlwYXJ0L21lc29uLmJ1aWxkOgoJKiBnc3QvcmVwbGF5Z2Fpbi9tZXNvbi5idWlsZDoKCSogZ3N0L3J0cC9tZXNvbi5idWlsZDoKCSogZ3N0L3J0cG1hbmFnZXIvbWVzb24uYnVpbGQ6CgkqIGdzdC9ydHNwL21lc29uLmJ1aWxkOgoJKiBnc3Qvc2hhcGV3aXBlL21lc29uLmJ1aWxkOgoJKiBnc3Qvc21wdGUvbWVzb24uYnVpbGQ6CgkqIGdzdC9zcGVjdHJ1bS9tZXNvbi5idWlsZDoKCSogZ3N0L3VkcC9tZXNvbi5idWlsZDoKCSogZ3N0L3ZpZGVvYm94L21lc29uLmJ1aWxkOgoJKiBnc3QvdmlkZW9jcm9wL21lc29uLmJ1aWxkOgoJKiBnc3QvdmlkZW9maWx0ZXIvbWVzb24uYnVpbGQ6CgkqIGdzdC92aWRlb21peGVyL21lc29uLmJ1aWxkOgoJKiBnc3Qvd2F2ZW5jL21lc29uLmJ1aWxkOgoJKiBnc3Qvd2F2cGFyc2UvbWVzb24uYnVpbGQ6CgkqIGdzdC95NG0vbWVzb24uYnVpbGQ6CgkqIG1lc29uLmJ1aWxkOgoJKiBtZXNvbl9vcHRpb25zLnR4dDoKCSogc3lzL2RpcmVjdHNvdW5kL21lc29uLmJ1aWxkOgoJKiBzeXMvbWVzb24uYnVpbGQ6CgkqIHN5cy92NGwyL21lc29uLmJ1aWxkOgoJKiBzeXMveGltYWdlL21lc29uLmJ1aWxkOgoJKiB0ZXN0cy9jaGVjay9tZXNvbi5idWlsZDoKCSogdGVzdHMvbWVzb24uYnVpbGQ6CgkgIEFkZCBzdXBwb3J0IGZvciBNZXNvbiBhcyBhbHRlcm5hdGl2ZS9wYXJhbGxlbCBidWlsZCBzeXN0ZW0KCSAgaHR0cHM6Ly9naXRodWIuY29tL21lc29uYnVpbGQvbWVzb24KCSAgV2l0aCBjb250cmlidXRpb25zIGZyb206CgkgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgkgIEp1c3NpIFBha2thbmVuIDxqcGFra2FuZUBnbWFpbC5jb20+IChvcmlnaW5hbCBwb3J0KQoJICBIaWdobGlnaHRzIG9mIHRoZSBmZWF0dXJlcyBwcm92aWRlZCBhcmU6CgkgICogRmFzdGVyIGJ1aWxkcyBvbiBMaW51eCAofjQwLTUwJSBmYXN0ZXIpCgkgICogVGhlIGFiaWxpdHkgdG8gYnVpbGQgd2l0aCBNU1ZDIG9uIFdpbmRvd3MKCSAgKiBHZW5lcmF0ZSBWaXN1YWwgU3R1ZGlvIHByb2plY3QgZmlsZXMKCSAgKiBHZW5lcmF0ZSBYQ29kZSBwcm9qZWN0IGZpbGVzCgkgICogTXVjaCBmYXN0ZXIgYnVpbGRzIG9uIFdpbmRvd3MgKG9uLXBhciB3aXRoIExpbnV4KQoJICAqIFNlcmlvdXNseSBmYXN0IGNvbmZpZ3VyZSBhbmQgYnVpbGRpbmcgb24gZW1iZWRkZWQKCSAgLi4uIGFuZCBtYW55IG1vcmUuIEZvciBtb3JlIGRldGFpbHMgc2VlOgoJICBodHRwOi8vYmxvZy5uaXJiaGVlay5pbi8yMDE2LzA1L2dzdHJlYW1lci1hbmQtbWVzb24tbmV3LWhvcGUuaHRtbAoJICBodHRwOi8vYmxvZy5uaXJiaGVlay5pbi8yMDE2LzA3L2J1aWxkaW5nLWFuZC1kZXZlbG9waW5nLWdzdHJlYW1lci11c2luZy5odG1sCgkgIEJ1aWxkaW5nIHdpdGggTWVzb24gc2hvdWxkIHdvcmsgb24gYm90aCBMaW51eCBhbmQgV2luZG93cywgYnV0IG1heQoJICBuZWVkIGEgZmV3IG1vcmUgdHdlYWtzIG9uIG90aGVyIG9wZXJhdGluZyBzeXN0ZW1zLgoKMjAxNi0wOC0yMCAxNjo1OTozMCArMDgwMCAgSmllIEppYW5nIDxqaWFuZ2ppZUBudWR0LmVkdS5jbj4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzaW5rLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzaW5rLmg6CgkgIEZpeGVkIHNwbGl0bXV4c2luayAzMi1iaXQgb3ZlcmZsb3cgYnVnCgkgIEV4dGVuZCB0aGUgYnl0ZSB0cmFja2luZyBjb3VudGVycyB0byA2NC1iaXQgb24KCSAgYWxsIHBsYXRmb3JtcywgaW5zdGVhZCBvZiB1c2luZyBnc2l6ZSwgd2hpY2ggb3ZlcmZsb3dzCgkgIGFmdGVyIDRHQi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3MDAxOQoKMjAxNi0wOC0xOSAxNzoxODoxNiArMDMwMCAgVml2aWEgTmlrb2xhaWRvdSA8dml2aWFAdG9vbHNvbmFpci5jb20+CgoJKiBnc3QvaXNvbXA0L2F0b21zLmM6CgkgIGlzb21wNDogRml4IGNvdmVyaXR5IHdhcm5pbmcKCSAgSWYgYXRvbV9jb3B5X2RhdGEgZmFpbHMgdG8gd3JpdGUgYW55dGhpbmcsIHJldHVybiAwCgkgIENJRCAjMTM3MTQ1OAoKMjAxNi0wNC0wOSAwNzo1MTowMyArMDUzMCAgTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWtAY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmRldmljZXByb3ZpZGVyLmM6CgkqIHN5cy92NGwyL3Y0bDItdXRpbHMuYzoKCSAgdjRsMjogY29uc2lzdGVudGx5IGNoZWNrICNpZmRlZiBIQVZFX0dVREVWIGluc3RlYWQgb2YgI2lmCgkgIEJvdGggd29yayB3aXRoIGF1dG90b29scyBidXQgdGhleSBkZWZpbml0ZWx5IGRvbid0IG1lYW4gdGhlIHNhbWUgdGhpbmcsIGNhdXNlCgkgIHByb2JsZW1zIHdpdGggb3RoZXIgYnVpbGQgc3lzdGVtcywgYW5kIGFyZSBiYWQgZm9ybS4gRXhpc3RlbmNlIHNob3VsZCBhbHdheXMgYmUKCSAgY2hlY2tlZCB3aXRoICNpZmRlZiBvciAjaWYgZGVmaW5lZC4KCjIwMTYtMDQtMTkgMTA6NTM6MDUgKzA1MzAgIE5pcmJoZWVrIENoYXVoYW4gPG5pcmJoZWVrQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5oOgoJICBkaXJlY3Rzb3VuZDogcG9ydCBhd2F5IGZyb20gb2xkIERpcmVjdFggQVBJCgkgIEQzRFggaGFzIGJlZW4gZGVwcmVjYXRlZCBmb3IgdGhlIGxhc3QgNCB5ZWFycyBhbmQgbGF0ZXN0IHZlcnNpb25zIG9mCgkgIFdpbmRvd3Mgbm8gbG9uZ2VyIHNoaXAgaGVhZGVycyBmb3IgaXQuIFRoaXMgaXMgZmluZSBhcyBsb25nIGFzIHlvdSdyZQoJICBidWlsZGluZyB3aXRoIENlcmJlcm8ncyBXaW5lLWJhc2VkIERpcmVjdFggaGVhZGVycywgYnV0IHN1Y2tzIGlmIHlvdQoJICB3YW50IHRvIGJ1aWxkIGFnYWluc3QgdGhlIGFjdHVhbCBXaW5kb3dzIFNESy4KCSAgV2Ugd2VyZSBqdXN0IHVzaW5nIGl0IHRvIGdldCBlcnJvciBzdHJpbmdzIGFueXdheSwgc28ganVzdCB1c2UgdGhlCgkgIGdlbmVyaWMgZXJyb3Igc3RyaW5nIEFQSS4KCjIwMTYtMDgtMTggMTI6MDI6MDEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBSZXZlcnQgImZsYWNwYXJzZTogQWRkIG1heGltdW0gYml0cmF0ZSB0YWciCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgYzcwM2FiNjlmNTI2MDkyYmIyNmNjZTQxY2E2OTFhODk2YzgzODNkOC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2OTM5MgoKMjAxNi0wOC0xOCAwOTo1Nzo1MSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IEZpeCB1bml0IHRlc3QgYnkgZGlzYWJsaW5nIGFkYXB0aXZlIG1pc29yZGVyL2Ryb3BvdXQgY2FsY3VsYXRpb25zCgkgIE5lZWQgdG8gc2V0IG1heC1taXNvcmRlci10aW1lIGFuZCBtYXgtZHJvcG91dC10aW1lIHRvIDAgc28gdGhlCgkgIGppdHRlcmJ1ZmZlciBkb2VzIG5vdCBiYXNlIHRoZW0gb24gcGFja2V0IHJhdGUgY2FsY3VsYXRpb25zLgoJICBJZiBpdCBkb2VzLCBvdXQgZ2FwIGlzIGJpZyBlbm91Z2ggdG8gYmUgY29uc2lkZXJlZCBhIG5ldyBzdHJlYW0gYW5kCgkgIHdlIHdhaXQgZm9yIGEgZmV3IGNvbnNlY3V0aXZlIHBhY2tldHMganVzdCB0byBiZSBzdXJlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTEzMTEKCjIwMTYtMDgtMDkgMTI6NTU6NTkgKzAzMDAgIFZpdmlhIE5pa29sYWlkb3UgPHZpdmlhQGFoaXJ1LmV1PgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNpbmsuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNpbmsuaDoKCSAgc3BsaXRtdXhzaW5rOiBBZGQgb3B0aW9uIHRvIHNwbGl0IGF0IGV4YWN0bHkgbWF4LXNpemUtdGltZQoJICBXaWxsIHRyeSB0byByZXF1ZXN0IGEga2V5ZnJhbWUgZnJvbSB0aGUgZW5jb2RlciB0byBiZSBzZW50IGF0IHRoZSB0YXJnZXQKCSAgcnVubmluZyB0aW1lLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY5NjY0CgoyMDE2LTA4LTA5IDIwOjE2OjE2ICswMzAwICBWaXZpYSBOaWtvbGFpZG91IDx2aXZpYUBhaGlydS5ldT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzaW5rLmM6CgkgIHNwbGl0bXV4c2luazogQWxsb3cgdGltZSBhbmQgYnl0ZXMgdG8gcmVhY2ggdGhlaXIgcmVzcGVjdGl2ZSB0aHJlc2hvbGRzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Njk2NjQKCjIwMTYtMDgtMTcgMDk6NDk6MDQgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IEFsbG93IG1pbWV0eXBlcyB3aXRoIHByb3BlcnRpZXMgYXMgbG9uZyBhcyB0aGV5J3JlIGFwcGxpY2F0aW9uL3NkcAoJICBTb21lIHNlcnZlcnMgYWRkIHByb3BlcnRpZXMgbGlrZSBjaGFyc2V0LCBlLmcuCgkgIGFwcGxpY2F0aW9uL3NkcDsgY2hhcnNldD11dGY4CgkgIElkZWFsbHkgd2Ugc2hvdWxkIGFsc28gcGFyc2UgdGhlIGNoYXJzZXQgYW5kIGRvIGNvbnZlcnNpb24gb2YgYWxsIG1lc3NhZ2VzLAoJICBidXQgdGhhdCdzIGZvciBhIGxhdGVyIHRpbWUuCgoyMDE2LTA2LTI0IDE2OjMyOjM3ICswMzAwICBWaXZpYSBOaWtvbGFpZG91IDx2aXZpYUB0b29sc29uYWlyLmNvbT4KCgkqIGdzdC9pc29tcDQvYXRvbXMuYzoKCSogZ3N0L2lzb21wNC9hdG9tcy5oOgoJKiBnc3QvaXNvbXA0L2ZvdXJjYy5oOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguaDoKCSAgcXRtdXg6IEFkZGVkIHN1cHBvcnQgZm9yIHdyaXRpbmcgdGltZWNvZGUgdHJhY2sKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2Nzk1MAoKMjAxNi0wOC0xMSAxNjozMjoyMSAtMDYwMCAgVGhvbWFzIEJsdWVtZWwgPHRibHVlbWVsQGNvbnRyb2w0LmNvbT4KCgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkgIG11bHRpdWRwc2luazogSW5pdGlhbGl6ZSBieXRlc19zZW50IGZpZWxkLgoJICBUaGlzIGZpeGVzIGVuZHBvaW50cyBub3QgcmVjZWl2aW5nIGFueSBkYXRhIGludGVybWl0dGVudGx5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY5NzczCgoyMDE2LTA4LTEwIDExOjQ1OjEzIC0wNjAwICBUaG9tYXMgQmx1ZW1lbCA8dGJsdWVtZWxAY29udHJvbDQuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogQWN0dWFsbHkgY2FsY3VsYXRlIHRoZSBwYWNrZXQgcmF0ZSBmb3IgbWF4LWRyb3BvdXQgYW5kIG1heC1taXNvcmRlciBjYWxjdWxhdGlvbnMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTEzMTEKCjIwMTYtMDgtMTAgMTE6MjY6MTcgLTA2MDAgIFRob21hcyBCbHVlbWVsIDx0Ymx1ZW1lbEBjb250cm9sNC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBEb24ndCB3YXJuIGZvciBkdXBsaWNhdGUgcGFja2V0cwoJICBUaGlzIGlzIGEgbm9ybWFsIHNjZW5hcmlvIGFuZCBzaG91bGQgbm90IGJlIGEgd2FybmluZy4gIFRoaXMgY2FuCgkgIGhhcHBlbiBmcmVxdWVudGx5IHdoZW4gcmUtdHJhbnNtaXRzIG9mIGxvc3QgcGFja2V0cyBhcmUgZW5hYmxlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MjIwOAoKMjAxNi0wOC0wOCAxMzo0OToxOSArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c2luay5jOgoJICBzcGxpdG11eDogRml4IHR5cG8gY29udmVydGluZyB0byBydW5uaW5nIHRpbWUuCgkgIFVzZSB0aGUgY29ycmVjdCBjb2xsZWN0ZWQgdGltZXN0YW1wLgoKMjAxNi0wOC0wOCAwMjo1Mzo0OCArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c2luay5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c2luay5oOgoJICBSZXZlcnQgInNwbGl0bXV4c2luazogVXNlIEdzdEJpbiBhc3luYy1oYW5kbGluZyBpbnN0ZWFkIG9mIG91ciBvd24uIgoJICBUaGlzIHJldmVydHMgY29tbWl0IGZhMDA4ZjI3MWE1MmY4MmRlZGVkYzI4YmQ4MWIwMjBjYTc5MzliNDcuCgkgIGFzeW5jLWhhbmRsaW5nIGluIEdzdEJpbiBjYXVzZXMgdGhlIHBpcGVsaW5lIHRvIHNwaW4gYXQgMTAwJQoJICBDUFUgYXMgdGhlIHRvcC1sZXZlbCBwaXBlbGluZSB0cmllcyB0byBjaGFuZ2UgdGhhdCBzdGF0ZQoJICB0byBQTEFZSU5HIGNvbnN0YW50bHkuIFRoaXMgaXMgYSB3b3JrYXJvdW5kIGZvciBhIGNvcmUKCSAgcHJvYmxlbSwgZXNzZW50aWFsbHksIGJ1dCBhbiBpbXByb3ZlbWVudCBpbiB0aGlzIGNhc2UgZm9yIG5vdy4KCjIwMTYtMDgtMDggMDA6NTY6MzggKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNpbmsuYzoKCSAgc3BsaXRtdXg6IFJlY2hlY2sgc3RhdGUgYWZ0ZXIgdW5sb2NraW5nIG11dGV4LgoJICBBZnRlciBkcm9wcGluZyB0aGUgc3BsaXRtdXggbG9jaywgcmUtY2hlY2sgdGhlIHN0YXRlLAoJICBkb24ndCBqdXN0IGZhbGwgdGhyb3VnaCBhbmQgc2xlZXAgdW5jb25kaXRpb25hbGx5LAoJICBhcyB3ZSBtYXkgaGF2ZSBhbHJlYWR5IG1pc3NlZCB0aGUgd2FrZXVwLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY5NTE0CgoyMDE2LTA4LTAzIDAzOjMyOjA3ICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzcmMuYzoKCSAgc3BsaXRtdXhzcmM6IERvbid0IHN0b3AgYW5kIGVycm9yIG9uIEVPUyBmbG93IHJldHVybgoJICBEb24ndCBpbW1lZGlhdGVseSBoYWx0IG9uIEVPUyBmbG93IHJldHVybiBmcm9tIGRvd25zdHJlYW0KCSAgZHVlIHRvIG91dCBvZiBzZWdtZW50LiBMZXQgdGhlIGRlbXV4ZXIgaGFuZGxlIGl0IGFuZCBzZW5kCgkgIEVPUy4KCjIwMTYtMDgtMDQgMDA6MzY6MjggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzYW50b3NAZ21haWwuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogYXZvaWQgdW5yZWYgb2YgbnVsbCBidWZmZXIKCSAgVGhlIGN1cnJlbnQgJ2wnIHBvaW50ZXIgd2lsbCBiZSBOVUxMIHdoZW4gdGhlIGxvb3AKCSAgaXMgaW50ZXJydXB0ZWQgd2l0aCBhICdicmVhaycgc3RhdGVtZW50LiBOZWVkIHRvIGhhdmUKCSAgaXQgYWR2YW5jZSB0byB0aGUgbmV4dCBsaXN0IGl0ZW0gYmVmb3JlIGludGVycnVwdGluZy4KCjIwMTYtMDgtMDIgMTQ6MDE6MTQgKzAyMDAgIENhcmxvcyBSYWZhZWwgR2lhbmkgPGR2QHBzZXVkb3Rlcm1pbmFsLm9yZz4KCgkqIGdzdC93YXZwYXJzZS9NYWtlZmlsZS5hbToKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIHdhdnBhcnNlOiBBZGQgdGFncyBmb3IgY29udGFpbmVyIGZvcm1hdCBhbmQgYml0cmF0ZSBmb3IgdW5jb21wcmVzc2VkIFBDTQoJICBUaGUgUENNIGJpdHJhdGUgaXMgYWRkZWQgdG8gaGVscCBkb3duc3RyZWFtIGVsZW1lbnRzIChsaWtlIHVyaWRlY29kZWJpbikKCSAgZmlndXJlIG91dCBhIHByb3BlciBuZXR3b3JrIGJ1ZmZlciBzaXplCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjkzOTAKCjIwMTYtMDgtMDEgMTg6NTI6MjYgKzAyMDAgIENhcmxvcyBSYWZhZWwgR2lhbmkgPGR2QHBzZXVkb3Rlcm1pbmFsLm9yZz4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogQWRkIG1heGltdW0gYml0cmF0ZSB0YWcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2OTM5MgoKMjAxNi0wNy0yOCAxNzo1ODoxNiArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBXaGVuIHJlY2VpdmluZyBhIERJU0NPTlQgYnVmZmVyIHRoYXQgZG9lcyBub3QgcG9pbnQgdG8gYSBzYW1wbGUsIHJlbWVtYmVyIHRoZSBvZmZzZXQKCSAgQW5kIGRvbid0IGp1c3QgcmVzZXQgZXZlcnl0aGluZy4gVGhpcyBtYWtlcyBzdXJlIHRoYXQgd2UgY2FuIGNvbnRpbnVlIHRvCgkgIGhhbmRsZSBkYXRhIGluIHRoZSBmb2xsb3dpbmcgc2NlbmFyaW86CgkgIG1vb3Y6IGRpc2NvbnQKCSAgbW9vZjogZGlzY29udAoJICBtZGF0OiBjb250aW51b3VzCgkgIFByZXZpb3VzbHkgdGhpcyB3b3VsZCBmYWlsIGJlY2F1c2UgdGhlIG9mZnNldCB3b3VsZCBiZSB0aGUgYWNjdW11bGF0ZWQgb2Zmc2V0CgkgIGZyb20gbW9vdiBhbmQgbW9vZiBhdCB0aGUgbWRhdCBwb3NpdGlvbiwgd2hpbGUgdGhlIGJ1ZmZlciBvZmZzZXQgbWlnaHQgYmUKCSAgc29tZXRoaW5nIGNvbXBsZXRlbHkgZGlmZmVyZW50LgoKMjAxNi0wNy0yNSAxMzozNDowMiArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwYnZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBjZWx0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyMnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGlsYmNwYXkuYzoKCSAgcnRwOiBGaWx0ZXIgd2l0aCB0aGUgZmlsdGVyIGNhcHMgaW4gdGhlIHBheWxvYWRlcidzIGdldGNhcHMKCjIwMTYtMDMtMDMgMTE6MzU6MDYgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cGh0dHBzcmM6IGluY2x1ZGUgaHR0cC1zdGF0dXMtY29kZSBpbiBlcnJvciBtZXNzYWdlIGRldGFpbHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MzAzOAoKMjAxNi0wNy0yNSAxODoyMDowMyArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c2luay5jOgoJICBzcGxpdG11eHNpbms6IEZpeCBkZWJ1ZyBzdGF0ZW1lbnQgc2lnbmVkbmVzcy4KCSAgVGhlIHRzIHZhcmlhYmxlIGlzIGEgR3N0Q2xvY2tUaW1lLCBkb24ndCBwcmludCBpdAoJICBhcyBhIEdzdENsb2NrVGltZURpZmYuCgoyMDE2LTA3LTE3IDIyOjQxOjAyICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzaW5rLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzaW5rLmg6CgkgIHNwbGl0bXV4c2luazogSGFuZGxlIG5lZ2F0aXZlIHJ1bm5pbmcgdGltZQoJICBVc2Ugc2lnbmVkIGNsb2NrIHRpbWVzIGZvciBydW5uaW5nIHRpbWUgZXZlcnl3aGVyZQoJICBzbyB0aGF0IHdlIGhhbmRsZSBuZWdhdGl2ZSBydW5uaW5nIHRpbWVzIHdpdGhvdXQKCSAgZ29pbmcgaGF5d2lyZSwgc2ltaWxhciB0byB3aGF0IHF1ZXVlIGFuZCBtdWx0aXF1ZXVlCgkgIGRvIHRoZXNlIGRheXMuCgoyMDE2LTA3LTE4IDAwOjEyOjU1ICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzaW5rLmM6CgkgIHNwbGl0bXV4c2luazogRHJvcCBsb2NrIHdoZW4gc2VuZGluZyBkdW1teSBldmVudAoJICBXaGVuIHB1c2hpbmcgdGhlIGR1bW15IGV2ZW50IGludG8gdGhlIG11bHRpcXVldWUsCgkgIGRyb3AgdGhlIHNwbGl0bXV4IGxvY2sgb3IgZWxzZSB3ZSBtaWdodCBkZWFkbG9jay4KCjIwMTYtMDYtMzAgMDE6NTY6NDEgKzEwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJICBydHBoMjY0cGF5OiBJbnRlcnNlY3Qgd2l0aCBmaWx0ZXIgY2FwcyBpbiBnZXRjYXBzIGZ1bmN0aW9uLgoJICBBbHdheXMgaW50ZXJzZWN0IHdpdGggdGhlIGZpbHRlciBjYXBzIGluIHRoZSBnZXRjYXBzIGZ1bmN0aW9uCgkgIHRvIG1ha2Ugc3VyZSB3ZSByZXR1cm4gYSBzdWJzZXQgb2Ygd2hhdCB3YXMgcmVxdWVzdGVkLgoJICBPdGhlciBwYXlsb2FkZXJzIGFsc28gaGF2ZSB0aGlzIHByb2JsZW0gYW5kIG5lZWQgZml4aW5nCgkgIGluIGZ1dHVyZSBjb21taXRzLgoKMjAxNi0wNy0xMiAxNzozMDo1NiArMDIwMCAgR3VpbGxhdW1lIERlc21vdHRlcyA8Z3VpbGxhdW1lLmRlc21vdHRlc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9xdGRlbXV4LmM6CgkgIHRlc3RzOiBxdGRlbXV4OiBmaXggZWxlbWVudCBhbmQgcGFkIGxlYWsKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2ODczOQoKMjAxNi0wNy0xMiAxNjo0NTozNiArMDIwMCAgR3VpbGxhdW1lIERlc21vdHRlcyA8Z3VpbGxhdW1lLmRlc21vdHRlc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2ZpcmZpbHRlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2lpcmZpbHRlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHAtcGF5bG9hZGluZy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb2JveC5jOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvZWZmZWN0di5jOgoJICB0ZXN0czogZml4IGJ1cyBsZWFrcwoJICBnc3RfYnVzX2FkZF9zaWduYWxfd2F0Y2goKSB0YWtlcyBhIHJlZiBvbiB0aGUgYnVzIHdoaWNoIHNob3VsZCBiZQoJICByZWxlYXNlZCB1c2luZyBnc3RfYnVzX3JlbW92ZV9zaWduYWxfd2F0Y2goKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2ODczOQoKMjAxNi0wNy0xNCAwMzowNzoxMSArMDgwMCAgVGluZy1XZWkgTGFuIDxsYW50d0BzcmMuZ25vbWUub3JnPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IENhbGwgQUdfR1NUX1BLR19DT05GSUdfUEFUSCB0byBzZXQgR1NUX1BLR19DT05GSUdfUEFUSAoJICBHU1RfUEtHX0NPTkZJR19QQVRIIGlzIHVzZWQgaW4gZG9jcy9wbHVnaW5zIGRpcmVjdG9yeSwgc28KCSAgQUdfR1NUX1BLR19DT05GSUdfUEFUSCBtdXN0IGJlIGNhbGxlZCB0byBzZXQgaXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Njg3ODcKCjIwMTYtMDctMTIgMDc6Mzk6NTggKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwaHR0cHNyYzogRG9uJ3QgZHJvcCBmaW5hbCBieXRlcyBvZiBhIHJhbmdlIHJlcXVlc3QKCSAgQXQgdGhlIGVuZCBvZiBhIHJhbmdlIHJlcXVlc3QsIHdlIGRvbid0IHdhbnQgdG8gcmV0dXJuIEdTVF9GTE9XX0VPUyBvdGhlcndpc2UKCSAgdGhlIGxhc3QgYnl0ZXMgd2UganVzdCByZWFkIHdpbGwgYmUgZHJvcHBlZCBieSBiYXNlc3JjLgoJICBJbnN0ZWFkIGp1c3QgcmV0dXJuIEdTVF9GTE9XX09LICh3aGljaCB3YXMgc2V0IGp1c3QgYmVmb3JlKSBhbmQgbGV0IGJhc2VzcmMKCSAgaGFuZGxlIHRoZSBmYWN0IHdlIGFyZSBhdCB0aGUgZW5kIG9mIHRoZSBzZWdtZW50LgoKMjAxNi0wNy0xMSAxODozMDoxOCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmRldmljZXByb3ZpZGVyLmM6CgkgIHY0bDJwcm92aWRlcjogRml4IGRldmljZSB0eXBlIGRldGVjdGlvbgoJICBUaGUgdHlwZSBkZXRlY3Rpb24gd291bGQgbGVhZCB0byBhc3NlcnRpb24gYXMgaXQgd291bGQgdHJ5CgkgIHRvIGNyZWF0ZSBhIGRldmljZSB3aXRob3V0IGhhdmluZyBmb3VuZCBhbnkgdHlwZSBmb3IgaXQuIEl0CgkgIGFsc28gZGlkbid0IGRldGVjdCBNUExBTkUgZGV2aWNlcyBwcm9wZXJseS4KCjIwMTYtMDctMTEgMTg6Mjk6MDEgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogRG9uJ3QgYXNzZXJ0IHdoZW4gdXNlZCBieSB0aGUgbW9uaXRvcgoJICBUaGUgbW9uaXRvciBzZXRzIHRoZSBvYmplY3QtPmVsZW1lbnQgb2JqZWN0IGFzIGEgR3N0T2JqZWN0LiBUaGlzCgkgIHdvcmtzIGZvciBkZWJ1ZyB0cmFjZXMsIGJ1dCB3aWxsIGFzc2VydCBmb3IgRUxFTUVOVF9FUlJPUi4gVGhpcwoJICB3YXMgdGhlIG9ubHkgY2FzZSB3aGVyZSB0aGF0IGNvdWxkIGhhcHBlbi4gQWRkIGEgY2hlY2sgZm9yIHRoYXQuCgoyMDE2LTA3LTExIDE3OjM4OjAwIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IEluZGVudCB2ZXJ5IGxvbmcgbGluZQoKMjAxNi0wNy0xMiAwMDo0MjowMiArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXBodHRwc3JjOiBBdCB0aGUgZW5kIG9mIGEgcmFuZ2UgcmVxdWVzdCwgcmVhZCBhbm90aGVyIHRpbWUgdG8gZmluYWxpemUgdGhlIHJlcXVlc3QKCSAgSWYgd2UncmUgYXQgdGhlIGVuZCBvZiBhIHJhbmdlIHJlcXVlc3QsIHJlYWQgYWdhaW4gdG8gbGV0IGxpYnNvdXAKCSAgZmluYWxpemUgdGhlIHJlcXVlc3QuIFRoaXMgYWxsb3dzIHRvIHJldXNlIHRoZSBjb25uZWN0aW9uIGFnYWluIGxhdGVyLAoJICBvdGhlcndpc2Ugd2Ugd291bGQgaGF2ZSB0byBjYW5jZWwgdGhlIG1lc3NhZ2UgYW5kIGNsb3NlIHRoZSBjb25uZWN0aW9uLgoKMjAxNi0wNy0xMSAyMToxMzo0NyArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gZjM2M2IzMiB0byBmNDljNTVlCgoyMDE2LTA3LTExIDE5OjU3OjE4ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cGh0dHBzcmM6IEZpeCBrZWVwLWFsaXZlIGhhbmRsaW5nCgkgIFdlIGhhdmUgdG8gZ2V0IHJpZCBvZiB0aGUgbWVzc2FnZSBvbiBFT1Mgd2hlbiB0aGUgY29tcGxldGUgc3RyZWFtIGlzIHJlYWQgdG8KCSAgcmVtZW1iZXIgdGhhdCB3ZSBzdWNjZXNzZnVsbHkgZmluaXNoZWQgaGFuZGxpbmcgdGhpcyBzcGVjaWZpYyBtZXNzYWdlLgoJICBPdGhlcndpc2Ugd2Ugd2lsbCBjYW5jZWwgaXQgbGF0ZXIgYW5kIGNsb3NlIHRoZSBjb25uZWN0aW9uIGluc3RlYWQgb2YgcmV1c2luZwoJICBpdCBhdCBhIGxhdGVyIHRpbWUuCgkgIEl0IG1pZ2h0IGFsc28gbWFrZSBzZW5zZSB0byByZXVzZSBjb25uZWN0aW9ucyBpZiBhIG5vbi0yMDAgcmVzcG9uc2UgaXMKCSAgcmVjZWl2ZWQuIEFzIGxvbmcgYXMgdGhlcmUgd2FzIG5vIGNvbm5lY3Rpb24gZXJyb3IsIHRoZSBIVFRQIGNvbm5lY3Rpb24gc2hvdWxkCgkgIGJlIHJlLXVzYWJsZS4KCjIwMTYtMDctMTEgMTI6MDU6MDYgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgQWxzbyBlbmFibGUgVjRMMiBwcm9iZSBvbiBhYXJjaDY0IChha2EgQVJNIDY0Yml0KQoKMjAxNi0wNy0xMSAxMTo1OToxOSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9jbGllbnQtUENNQS5jOgoJICBydHAgZXhhbXBsZTogRml4IGxlYWsKCSAgQWxzbyBzdG9wIGZldGNoaW5nIHRoZSBpbnRlcm5hbCBzb3VyY2UgYXMgdGhpcwoJICBmdW5jdGlvbmFsaXR5IGhhcyBiZWVuIGJyb2tlbi4KCjIwMTYtMDctMDggMTQ6NTg6MzcgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgRW5hYmxlIHY0bDIgcHJvYmUgb24gTGludXgvQVJNCgkgIE1vc3Qgb2YgdGhvc2UgaGF2ZSBWNEwyIGRyaXZlcnMgdGhlc2UgZGF5cyBlbmFibGluZyBpdCBtYWtlIHN1cmUgdGhhdCBpdAoJICB0aGlzIGNvZGUgaXMgZW5hYmxlZCBpbiBtYWpvciBkaXN0cmlidXRpb24sIGhlbmNlIHRoYXQgSFcgYWNjZWxlcmF0ZWQKCSAgZGVjb2Rlci9lbmNvZGVyIGNhbiBiZSB1c2VkIG9uIHBsYXRmb3JtcyB0aGF0IHN1cHBvcnQgaXQuIFRoZSBwcm9iZXMgYXJlCgkgIHNsaWdodGx5IGluY3JlYXNpbmcgdGhlIGZpcnN0IGluaXQgb2YgZ3N0cmVhbWVyIGxpYnJhcnksIHRob3VnaCB0aGUKCSAgcmVzdWx0IGlzIGNhY2hlZCBpbiB0aGUgcmVnaXN0cnkgZm9yIGxhdGVyIHVzZS4KCjIwMTYtMDctMTEgMDk6NDY6NDkgKzAyMDAgIEpvbmFzIEhvbG1iZXJnIDxqb25hc2hnQGF4aXMuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY1cGF5LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cC1wYXlsb2FkaW5nLmM6CgkgIHJ0cGgyNjVwYXk6IEFjY2VwdCBhcnJheV9jb21wbGV0ZW5lc3M9MQoJICBXaGVuIHBhcnNpbmcgTkFMIHVuaXQgdHlwZSBpbiBjb2RlY19kYXRhLCBjaGVjayB0aGUgNmJpdHMgb2YKCSAgTkFMX3VuaXRfdHlwZSBvbmx5IGFuZCBkbyBub3QgcmVxdWlyZSB0aGUgYXJyYXlfY29tcGxldGVuZXNzIGJpdCB0byBiZQoJICAwLCBzaW5jZSB0aGUgZGVmYXVsdCBhbmQgbWFuZGF0b3J5IHZhbHVlIG9mIGFycmF5X2NvbXBsZXRlbmVzcyBpcyAxIGZvcgoJICBodmMxLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY4NjUzCgoyMDE2LTA3LTEwIDIxOjM1OjA2IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkgIHY0bDI6IEFsc28gY29weSBkZXZpY2VfY2FwcyBpbiBnc3RfdjRsMl9kdXAKCSAgVGhpcyBmaXhlcyByZWdyZXNzaW9uIHdoZXJlIE0yTSBlcnJvciBvdXQgc2F5aW5nIHRoZXkgaGF2ZSBubyBvdXRwdXQKCSAgZm9ybWF0ICh0aGUgVjRMMiBDQVBUVVJFIHNpZGUpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY4MTk1CgoyMDE2LTA3LTEwIDIxOjMwOjI3ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgdWRwc3JjOiBVc2UgY29ycmVjdCBpbjZfcGt0aW5mbyBzdHJ1Y3QgaW5zdGVhZCBvZiBpbl9wa3RpbmZvCgkgIEZpeGVzIHRoZSBidWlsZCBvbiBGcmVlQlNELCB3aGljaCBkb2VzIG5vdCBoYXZlIHRoZSBsYXR0ZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Njg2MjMKCjIwMTYtMDctMDggMTc6Mjg6MTkgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkgIHY0bDI6IGZpeCBtdWx0aXBsYW5hciBjYXB0dXJlCgkgIEFmdGVyIHN3aXRjaGluZyB0byB1c2luZyBWNEwyX0NBUF9ERVZJQ0VfQ0FQUyB3ZSBsb3N0IHN1cHBvcnQgZm9yCgkgIG11bHRpcGxhbmFyIGRldmljZSB0eXBlcy4gQWZ0ZXIgc29tZSByZXNlYXJjaCwgaXQgbG9va3MgbGlrZQoJICB2Y2FwLmNhcGFiaWxpdGllcyB0cmVhdGVkIHRoZSBtdWx0aXBsYW5hciBmbGFnIG9mIG91dHB1dCBhbmQgY2FwdHVyZQoJICBkZXZpY2VzIGVxdWFsbHksIGJ1dCBub3QgdGhlIG5ldyBkZXZpY2VfY2Fwcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2ODE5NQoKMjAxNi0wNy0wOCAxNDo1NjozMCArMDIwMCAgTWF0cyBMaW5kZXN0YW0gPG1hdHNsbUBheGlzLmNvbT4KCgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0bXV4LmM6CgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0bXV4Lmg6CgkgIG11bHRpcGFydG11eDogVXNlIFBUUyBhbmQgRFRTIGluc3RlYWQgb2YgdGltZXN0YW1wCgkgIEFuZCBwYXNzLXRocm91Z2ggYm90aCBvZiB0aGVtLgoJICBCYXNlZCBvbiBhIHBhdGNoIGJ5IEfDtnJhbiBKw7Zuc3NvbiA8Z29yYW5qbkBheGlzLmNvbT4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NzkwMAoKMjAxNi0wNi0zMCAxNDo0MDo0MCArMDIwMCAgVGhvbWFzIFNjaGV1ZXJtYW5uIDxUaG9tYXMuU2NoZXVlcm1hbm5AYmFyY28uY29tPgoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvY2xpZW50LmM6CgkgIGphY2s6IGRvbid0IHdhaXQgZm9yIGNhbGxiYWNrcyBpZiB0aGUgamFjayBzZXJ2ZXIgc2h1dCBkb3duCgkgIE90aGVyd2lzZSB3ZSdsbCB3YWl0IGZvcmV2ZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDcyNzUKCjIwMTYtMDYtMjMgMTU6MzA6MTkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogTGV0IHVwc3RyZWFtIGV2ZW50cyBnbyB0aHJvdWdoIHVwc3RyZWFtCgkgIFRoZXJlJ3Mgbm8gcmVhbCByZWFzb24gdG8gYXZvaWQgc2VuZGluZyBRT1MvTkFWSUdBVElPTiBldmVudHMgdXBzdHJlYS4KCSAgU29tZSBlbGVtZW50cyBtaWdodCB3YW50IHRvIGhhdmUgdGhhdCBpbmZvcm1hdGlvbi4KCjIwMTYtMDYtMjMgMTU6MjI6NTYgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBMZXQgdXBzdHJlYW0gZXZlbnRzIGdvIHRocm91Z2ggdXBzdHJlYW0KCSAgVGhlcmUncyBubyByZWFsIHJlYXNvbiB0byBhdm9pZCBzZW5kaW5nIFFPUy9OQVZJR0FUSU9OIGV2ZW50cyB1cHN0cmVhLgoJICBTb21lIGVsZW1lbnRzIG1pZ2h0IHdhbnQgdG8gaGF2ZSB0aGF0IGluZm9ybWF0aW9uLgoKMjAxNi0wNi0yMyAxNToxNzozNiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kdi9nc3RkdmRlbXV4LmM6CgkgIGR2ZGVtdXg6IExldCB1cHN0cmVhbSBldmVudHMgZ28gdGhyb3VnaCB1cHN0cmVhbQoJICBUaGVyZSdzIG5vIHJlYWwgcmVhc29uIHRvIGF2b2lkIHNlbmRpbmcgUU9TL05BVklHQVRJT04gZXZlbnRzIHVwc3RyZWEuCgkgIFNvbWUgZWxlbWVudHMgbWlnaHQgd2FudCB0byBoYXZlIHRoYXQgaW5mb3JtYXRpb24uCgkgIEFsc28gcmVtb3ZlIGRvd25zdHJlYW0tb25seSBDQVBTIGV2ZW50IGhhbmRsaW5nIGFuZCBtaW5pbWl6ZSBjb2RlCgoyMDE2LTA3LTA3IDIzOjUzOjU0ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMi5jOgoJICB2NGwyOiBmaXggdjRsMiBwcm9iZSBidWlsZCBlcnJvcgoJICBBIHR5cG8gaW4gZ3N0X3Y0bDJfcHJvYmVfYW5kX3JlZ2lzdGVyKCkgY2F1c2VkIGEgYnVpbGQgZXJyb3Igd2hlbiBidWlsZGluZwoJICB3aXRoIC0tZW5hYmxlLXY0bDItcHJvYmUuIEZpeGluZyBpdC4KCSAgZ3N0djRsMi5jOiBJbiBmdW5jdGlvbiAnZ3N0X3Y0bDJfcHJvYmVfYW5kX3JlZ2lzdGVyJzoKCSAgZ3N0djRsMi5jOjE1MDoyNTogZXJyb3I6ICdzdHJ1Y3QgdjRsMl9jYXBhYmlsaXR5JyBoYXMgbm8gbWVtYmVyIG5hbWVkICdjYXBhYmlsaXRpdGVzJwoJICBkZXZpY2VfY2FwcyA9IHZjYXAuY2FwYWJpbGl0aXRlczsKCjIwMTYtMDctMDEgMjI6NTM6MzMgLTA3MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgdjRsMnNyYzogdXNlIGdzdF9jYXBzX2ludGVyc2VjdF9mdWxsIGluIG5lZ290aWF0ZSgpCgkgIEluc3RlYWQgb2YgcmVpbXBsZW1lbnRpbmcgdGhlIEdTVF9DQVBTX0lOVEVSU0VDVF9GSVJTVAoJICBpbnRlcmVjdGlvbiBtb2RlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY4MTk1CgoyMDE2LTA3LTAyIDAxOjU2OjA3IC0wNzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJkZXZpY2Vwcm92aWRlci5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnJhZGlvLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSAgdjRsMjogdXNlIG9wZW5lZCBkZXZpY2UgY2FwcyBpbnN0ZWFkIG9mIHBoeXNpY2FsIGRldmljZSBvbmVzCgkgIFRoZSBzYW1lIHBoeXNpY2FsIGRldmljZSBjYW4gZXhwb3J0IG11bHRpcGxlIGRldmljZXMuIEluCgkgIHRoaXMgY2FzZSwgdGhlIGNhcGFiaWxpdGllcyBmaWVsZCBub3cgY29udGFpbnMgYSB1bmlvbiBvZgoJICBhbGwgY2FwcyBhdmFpbGFibGUgZnJvbSBhbGwgZXhwb3J0ZWQgVjRMMiBkZXZpY2VzIGFsb25nc2lkZQoJICBhIFY0TDJfQ0FQX0RFVklDRV9DQVBTIGZsYWcgdGhhdCBzaG91bGQgYmUgdXNlZCB0byBkZWNpZGUKCSAgd2hhdCBjYXBhYmlsaXRpZXMgdG8gY29uc2lkZXIuIEluIG91ciBjYXNlLCB3ZSBuZWVkIHRoZQoJICBvbmVzIGZyb20gdGhlIGV4cG9ydGVkIGRldmljZSB3ZSBhcmUgdXNpbmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjgxOTUKCjIwMTYtMDctMDcgMTg6MjQ6NTkgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBSZW1vdmUgc3VzcGljaW91cyBjaGVja3MgZm9yIHBhZHMgYmVpbmcgYWN0aXZlIGFuZCBsaW5rZWQKCSAgV2Ugc2hvdWxkIGFkZCBhbGwgcGFkcywgbm8gbWF0dGVyIGlmIHRoZXkgYXJlIGxpbmtlZCBvciBhY3RpdmUgb3Igbm90IGF0IHRoaXMKCSAgcG9pbnQuIFNraXBwaW5nIHNvbWUgdGhhdCBhcmUgbm90IHdpbGwgY2F1c2UgZGlmZmVyZW50IGJlaGF2aW91ciB0aGFuIHdpdGgKCSAgb3RoZXIgbXV4ZXJzLgoKMjAxNi0wNy0wNyAxODoyMzowNyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IEVycm9yIG91dCBpZiB3ZSBzdGFydCB3cml0aW5nIGRhdGEgd2l0aCBzb21lIHBhZHMgbm90IGhhdmluZyBhIGNvZGVjIGlkIHlldAoJICBUaGlzIGNhbiBvbmx5IGhhcHBlbiBpZiBhKSB1cHN0cmVhbSBzb21laG93IGdldHMgYXJvdW5kIHRoZSBDQVBTIGV2ZW50IGZhaWxpbmcKCSAgb3IgYikgdGhlcmUgbmV2ZXIgYmVpbmcgYW55IENBUFMgZXZlbnQuCgkgIFRoZSBmb2xsb3dpbmcgY29kZSBhc3N1bWVzIHRoYXQgYWxsIHBhZHMgaGF2ZSBhIGNvZGVjLWlkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY4NTA5CgoyMDE2LTA3LTA3IDE4OjE0OjQzICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogQ29uc2lzdGVudGx5IHVzZSBnc3RfbWF0cm9za2FfbXV4X3NldF9jb2RlY19pZCgpIGZvciBzZXR0aW5nIHRoZSBjb2RlYyBpZAoKMjAxNi0wNy0wNCAwOTo1MDoxMSArMDIwMCAgSm9uYXMgSG9sbWJlcmcgPGpvbmFzaGdAYXhpcy5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY1cGF5Lmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cC1wYXlsb2FkaW5nLmM6CgkgIHJ0cGgyNjVwYXkvZGVwYXk6IFN5bmMgYWdhaW5zdCBSRkMgNzc5OAoJICBIYW5kbGUgc3Byb3AtdnBzLCBzcHJvcC1zcHMgYW5kIHNwcm9wLXBwcyBpbiBjYXBzIGluc3RlYWQgb2YKCSAgc3Byb3AtcGFyYW1ldGVyLXNldHMuCgkgIHJ0cGgyNjVwYXkgd29ya3Mgd2l0aCBieXRlLXN0cmVhbSBhbmQgaHZjMSBmb3JtYXRzIGJ1dCBub3QgaGV2MSB5ZXQuIEl0CgkgIGhhbmRsZXMgcHJvZmlsZS1pZCwgdGllci1mbGFnIGFuZCBsZXZlbC1pZCBpbiBjYXBzIHF1ZXJ5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzNzYwCgoyMDE2LTA3LTA2IDA5OjI1OjAwICswMjAwICBKYW4gQWxleGFuZGVyIFN0ZWZmZW5zIChoZWZ0aWcpIDxqYW4uc3RlZmZlbnNAZ21haWwuY29tPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4Lmg6CgkgIGZsdmRlbXV4OiBQdXNoIG5vbWluYWwgYml0cmF0ZSB0YWdzCgkgIEFkZCBwZXItc3RyZWFtIHRhZyBsaXN0cywgd2hpY2ggYXJlIHVzZWQgdG8gc2VuZCBub21pbmFsCgkgIGJpdHJhdGUgdGFncy4gV2hlbiByZW11eGluZyBGTFYgPT4gRkxWLCB0aGlzIG5vdyBwYXNzZXMKCSAgdGhyb3VnaCB0aGUgdXBzdHJlYW0gYml0cmF0ZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2ODQ0MAoKMjAxNi0wNy0wNiAwOToyNDo0OSArMDIwMCAgSmFuIEFsZXhhbmRlciBTdGVmZmVucyAoaGVmdGlnKSA8amFuLnN0ZWZmZW5zQGdtYWlsLmNvbT4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5oOgoJICBmbHZkZW11eDogUmVmYWN0b3IgbWV0YWRhdGEgdGFnIGhhbmRsaW5nCgkgIFRoZSBGTFYgaGVhZGVyIGNhbm5vdCBiZSB0cnVzdGVkIHRvIGluZGljYXRlIHZpZGVvIG9yCgkgIGF1ZGlvIHByZXNlbmNlLCBhcyB0aGUgY29tbWVudHMgYWxyZWFkeSBtZW50aW9uLiBEb24ndAoJICBkZWxheSBwdXNoaW5nIHRhZ3Mgd2FpdGluZyBmb3Igc3RyZWFtcyB0aGF0IG1pZ2h0IG5ldmVyCgkgIGFwcGVhci4KCSAgVGFncyBhcmUgbm93IHB1c2hlZCBpbW1lZGlhdGVseSBhZnRlciB0aGV5IGNoYW5nZToKCSAgLSBBZnRlciBwYXJzaW5nIGFuIG9uTWV0YURhdGEgc2NyaXB0IG9iamVjdAoJICAtIEFmdGVyIG5lZ290aWF0aW5nIGNhcHMgb24gYSBwYWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2ODQ0MAoKMjAxNi0wNy0wNiAxMjo0NDoxMCArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBmaXggQUFDIGNvZGVjX2RhdGEgdmFsdWVzCgkgIEFzIHNlZW4gaW4gdGhlIHBhcmVudCBzd2l0Y2ggZm9yIG9iamVjdF90eXBlX2lkLCB0aGUgNCBwb3NzaWJsZSB2YWx1ZXMgYXJlCgkgIDB4NDAsIDB4NjYsIDB4NjcgYW5kIDB4NjguIEZpeGluZyB0aGUgbmVzdGVkIHN3aXRjaCB0byBtYXRjaCB0aGVzZSB2YWx1ZXMuCgkgIExvb2tzIGxpa2UgaXQgd2FzIGEgdHlwbyBtYWtpbmcgdGhlbSBkZWNpbWFsIGluc3RlYWQgb2YgaGV4YWRlY2ltYWwuCgkgIENJRCAxMzYzMzI4CgoyMDE2LTA3LTA2IDEzOjUxOjAzICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBCYWNrIHRvIGRldmVsb3BtZW50Cgo9PT0gcmVsZWFzZSAxLjkuMSA9PT0KCjIwMTYtMDctMDYgMTM6MDY6NDQgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlzb21wNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZweC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogZ3N0LXBsdWdpbnMtZ29vZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMS45LjEKCjIwMTYtMDctMDYgMTE6NDY6MjYgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lby5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2dsLnBvOgoJKiBwby9oci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMTYtMDctMDYgMTE6MjI6NTMgKzAzMDAgIFN0ZXZlbiBIb3ZpbmcgPHNoQGJpZ2Jyb3RoZXIubmw+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IEZpeCBlcnJvciBtZXNzYWdlcyB0byBmaXJzdCBjb252ZXJ0IHRvIGRvdWJsZXMgYmVmb3JlIGRpdmlzaW9uCgoyMDE2LTA3LTA2IDEwOjE4OjMwICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogcG8vZGEucG86CgkqIHBvL2hyLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vc2sucG86CgkgIHBvOiBVcGRhdGUgdHJhbnNsYXRpb25zCgoyMDE2LTA3LTA1IDIxOjExOjM1ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBTZXQgdG8gUExBWUlORyBhZnRlciBhIHNlZWsgYWdhaW4gYWZ0ZXIgc2V0dGluZyB1cCB0aGUgc2VnbWVudCBhbmQgZXZlcnl0aGluZyBlbHNlCgkgIFRoZXJlJ3MgYSBzbWFsbCB3aW5kb3cgZm9yIGEgcmFjZSBjb25kaXRpb24gb3RoZXJ3aXNlLgoKMjAxNi0wNy0wNCAxNzo0NTo0MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3F0bXV4LmM6CgkgIHF0bXV4OiBVc2UgY29tcGxldGUgQUFDIGNhcHMgd2l0aCBjb2RlY19kYXRhIGluIHRoZSB0ZXN0cwoKMjAxNi0wNy0wNCAxNjo1ODozOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSAgYWFjcGFyc2U6IFJlamVjdCByYXcgQUFDIGlmIG5vIGNvZGVjX2RhdGEgaXMgZm91bmQgaW4gdGhlIGNhcHMKCSAgSWYgbmVjZXNzYXJ5LCBhIGRlbXV4ZXIgd2lsbCBoYXZlIHRvIGludmVudCBzb21ldGhpbmcgaGVyZSBidXQgdGhpcyBpcyBvbmx5IGEKCSAgcHJvYmxlbSB3aXRoIG5vbi1jb25mb3JtYW50IGZpbGVzIGFueXdheS4KCjIwMTYtMDctMDQgMTY6NTU6MzIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogSW52ZW50IEFBQyBjb2RlY19kYXRhIGlmIG5vbmUgaXMgcHJlc2VudAoJICBXaXRob3V0LCByYXcgQUFDIGNhbid0IGJlIGhhbmRsZWQgYW5kIHdlIGhhdmUgc29tZSBpbmZvcm1hdGlvbiBhdmFpbGFibGUgaW4KCSAgdGhlIGRlY29kZXIgdGhhdCBtb3N0IGxpa2VseSBhbGxvd3MgdXMgdG8gZGVjb2RlIHRoZSBzdHJlYW0gaW4gb25lIHdheSBvcgoJICBhbm90aGVyLiBUaGlzIGlzIHRoZSBzYW1lIGNvZGUgYWxyZWFkeSB1c2VkIGJ5IG1hdHJvc2thZGVtdXggZm9yIHRoZSBzYW1lCgkgIHJlYXNvbnMsIGFuZCBmZm1wZWcvdmxjIHBsYXkgc3VjaCBmaWxlcyBqdXN0IGZpbmUgdG9vIGJ5IGd1ZXNzd29yay4KCjIwMTYtMDctMDQgMTQ6NTQ6MTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBSZWplY3QgcmF3IEFBQyBjYXBzIHdpdGhvdXQgY29kZWNfZGF0YQoJICBUaGUgcmVzdWx0aW5nIGZpbGUgaXMgbm90IGdvaW5nIHRvIGJlIHBsYXlhYmxlIHdpdGhvdXQgZ3Vlc3N3b3JrIGFuZCByYXcgY2FwcwoJICBzaG91bGQgYWx3YXlzIGhhdmUgY29kZWNfZGF0YS4KCjIwMTYtMDUtMTAgMTU6NDg6NDkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJICBxdGRlbXV4OiBIYW5kbGUgdXBzdHJlYW0gR0FQIGluIHB1c2gtbW9kZS90aW1lIHNlZ21lbnQKCSAgVGhpcyBpcyB0byBoYW5kbGUgY2FzZXMgd2hlcmUgdXBzdHJlYW0gaGFuZGxlcyB0aGUgZnJhZ21lbnRlZCBzdHJlYW1pbmcgaW4gVElNRQoJICBzZWdtZW50cyBhbmQgc2VuZHMgdXMgZGF0YSB3aXRoIGdhcHMgd2l0aGluIGZyYWdtZW50cy4gVGhpcyB3b3VsZCBoYXBwZW4gd2hlbiBkZWFsaW5nCgkgIHdpdGggdHJpY2stbW9kZXMuCgkgIFdoZW4gdXBzdHJlYW0gKHB1c2gtYmFzZWQsIFRJTUUgU0VHTUVOVCkgd2lzaGVzIHRvIHNlbmQgZGlzY29udGludW91cyBzYW1wbGVzLAoJICBpdCBtdXN0IG9iZXkgdGhlIGZvbGxvd2luZyBydWxlczoKCSAgKiBUaGUgYnVmZmVyIGNvbnRhaW5pbmcgdGhlIFttb29mXSBtdXN0IGhhdmUgYSB2YWxpZCBHU1RfQlVGRkVSX09GRlNFVAoJICAqIFRoZSBidWZmZXJzIGNvbnRhaW5pbmcgdGhlIGZpcnN0IHNhbXBsZSBhZnRlciBhIGdhcDoKCSAgKiBNVVNUIHN0YXJ0IGF0IHRoZSBiZWdpbm5pbmcgb2YgYSBzYW1wbGUsCgkgICogTVVTVCBoYXZlIHRoZSBESVNDT05UIGZsYWcgc2V0LAoJICAqIE1VU1QgaGF2ZSBhIHZhbGlkIEdTVF9CVUZGRVJfT0ZGU0VUIHJlbGF0aXZlIHRvIHRoZSBiZWdpbm5pbmcgb2YgdGhlIGZyYWdtZW50LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY3MzU0CgoyMDE2LTA3LTAxIDExOjU0OjU3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL3Y0bDIvdjRsMi11dGlscy5jOgoJICB2NGwyOiBmaXggcG90ZW50aWFsIGRvdWJsZS1mcmVlIG9mIGVycm9yIGRlYnVnIHN0cmluZwoJICBnc3RfdjRsMl9jbGVhcl9lcnJvcigpIGRvZXNuJ3Qgd29yayBsaWtlIGdfY2xlYXJfZXJyb3IoKSwgaXQKCSAgZG9lc24ndCBOVUxMaWZ5IHRoZSBwb2ludGVyLCBzbyBzZXQgZnJlZWQgZGVidWcgc3RyaW5nIHRvIE5VTEwKCSAgc28gaXQgZG9lc24ndCBnZXQgZnJlZWQgYWdhaW4gaWYgZ3N0X3Y0bDJfY2xlYXJfZXJyb3IoKSBpcwoJICBjYWxsZWQgdHdpY2Ugb24gdGhlIGVycm9yLgoJICBDSUQgMTM2MjkwMQoKMjAxNi0wNy0wMSAxMDowNTowMCArMDAwMCAgQnJhZCBMYWNrZXkgPGJsYWNrZXlAZ21haWwuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBEb24ndCBkaXNhYmxlIFVEUCBwcm90b2NvbHMgb24gcmVkaXJlY3RpbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2ODIzMgoKMjAxNi0wNy0wMSAxNzoyODoxNyArMDkwMCAgU2V1bmdoYSBZYW5nIDxzaC55YW5nQGxnZS5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogUHVzaCBjYXBzIG9ubHkgd2hlbiBpdCB3YXMgdXBkYXRlZAoJICBDb21taXQgNzg3M2JlZGUzMTM0YjE1ZTUwNjZlOGQxNGU1NGQxZjUwNTRkMjA2MyBjYXVzZWQgbmV3IGNhcHMKCSAgZXZlbnQgcGVyIG1vb2Ygd2l0aG91dCBjb25zaWRlcmF0aW9uIG9mIGR1cGxpY2F0aW9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY4MjY4CgoyMDE2LTA2LTMwIDE1OjAxOjQ2ICswMjAwICBKb25hcyBIb2xtYmVyZyA8am9uYXNoZ0BheGlzLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NWRlcGF5LmM6CgkgIHJ0cGgyNjVkZXBheTogZml4IGludmFsaWQgbWVtb3J5IGFjY2VzcwoJICAxMCBieXRlcyB3YXMgYWxsb2NhdGVkIGZvciBzdHJlYW1fZm9ybWF0IGJ1dCBzaXplIG9mICJieXRlLXN0cmVhbSIgaXMKCSAgbW9yZS4gVXNlIGdfc3RyZHVwKCkgaW5zdGVhZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1Mzc2MAoKMjAxNi0wNi0yOSAyMzozMToyMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9zaG91dDIvZ3N0c2hvdXQyLmM6CgkgIHNob3V0MjogVXNlIGEgbm9uLXRpbWVyIEdzdFBvbGwKCSAgT3RoZXJ3aXNlIHNldF9mbHVzaGluZygpIHdpbGwgaGF2ZSB1bmRlZmluZWQgc2VtYW50aWNzIGFuZCBub3dhZGF5cyBjYXVzZXMgYQoJICBnX2NyaXRpY2FsKCkgdG8gd2FybiBhYm91dCB0aGF0LgoKMjAxNi0wNi0xOSAwMjowODoyNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NhbnRvc0BnbWFpbC5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5oOgoJICBzb3VwaHR0cHNyYzogZHluYW1pY2FsbHkgYWRqdXN0IGJsb2Nrc2l6ZQoJICBVcGRhdGUgdGhlIGJsb2Nrc2l6ZSBkZXBlbmRpbmcgb24gaG93IG11Y2ggaXMgb2J0YWluZWQgZnJvbSBhIHJlYWQKCSAgb2YgdGhlIGlucHV0IHN0cmVhbS4gVGhpcyBhdm9pZHMgZG9pbmcgdG9vIG1hbnkgcmVhZHMgaW4gc21hbGwgY2h1bmtzCgkgIHdoZW4gbGFyZ2VyIGFtb3VudHMgb2YgZGF0YSBhcmUgYXZhaWxhYmxlIGFuZCBhbHNvIHByZXZlbnRzIHVzaW5nCgkgIGEgdmVyeSBsYXJnZSBtZW1vcnkgYXJlYSB0byByZWFkIGEgc21hbGwgY2h1bmsgb2YgZGF0YS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NzgzMwoKMjAxNi0wNi0yOCAxNjo0NDo1MCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIHVkcHNyYzogV2luZG93cyBoYXMgbm8gaXBpX3NwZWNfZHN0IGluIHN0cnVjdCBpbl9wa3RpbmZvCgoyMDE2LTA2LTI4IDE1OjE1OjE0ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgdWRwc3JjOiAjZGVmaW5lIF9fQVBQTEVfVVNFX1JGQ18zNTQyIHRvIGJlIGFibGUgdG8gdXNlIElQVjZfUEtUSU5GTyBvbiBPU1gvaU9TCgoyMDE2LTA2LTI4IDE1OjA4OjA0ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgdWRwc3JjOiBNb3ZlICNpbmNsdWRlcyBhcm91bmQgdG8gYSkgd29yayBhcm91bmQgYnJva2VuIGdsaWJjIGhlYWRlciBhbmQgYikgV2luZG93cwoKMjAxNi0wNi0yOCAxNDoyNTowMyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIHVkcHNyYzogRml4IGNvbXBpbGF0aW9uIG9uIFdpbmRvd3MgYW5kICpCU0QvT1NYCgoyMDE2LTA2LTIzIDIwOjIxOjU5ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgdWRwc3JjOiBGaWx0ZXIgb3V0IG11bHRpY2FzdCBwYWNrZXRzIHRoYXQgYXJlIG5vdCBmb3Igb3VyIG11bHRpY2FzdCBhZGRyZXNzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Njc5ODAKCjIwMTYtMDYtMjggMTA6NTc6MjcgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IFdoZW4gc2Vla2luZywgY29uc2lkZXIgdGhlIGN1cnJlbnQgZWxlbWVudCBzdGF0ZSBvciBwZW5kaW5nIHN0YXRlIGluc3RlYWQgb2YgdGhlIFJUU1Agc3RhdGUKCSAgSWYgd2UgY29uc2lkZXIgdGhlIFJUU1Agc3RhdGUsIHdoYXQgY2FuIGhhcHBlbiBpcyB0aGF0IGl0IGlzIFBMQVlJTkcgYnV0IHRoZQoJICBlbGVtZW50IGFscmVhZHkgYXN5bmNocm9ub3VzbHkgdHJpZWQgdG8gUEFVU0UgYW5kIGl0IGp1c3QgZGlkIG5vdCBoYXBwZW4geWV0LgoJICBXZSB3b3VsZCB0aGVuIG92ZXJyaWRlIHRoaXMgc2V0dGluZyB0byBQQVVTRUQgKHdoaWxlIHRoZSBlbGVtZW50IGFjdHVhbGx5IGlzCgkgIGluIFBBVVNFRCkgYW5kIHNldCB0aGUgUlRTUCBzdGF0ZSB0byBQTEFZSU5HIGFnYWluLiBUaGlzIHdvdWxkIHRoZW4gY2F1c2UgdXMKCSAgdG8gcHJvZHVjZSBwYWNrZXRzIHdoaWxlIHRoZSBzaW5rcyBhcmUgYWxsIFBBVVNFRCwgcGlsaW5nIHVwIHRob3VzYW5kcyBvZgoJICBwYWNrZXRzIGluIHRoZSBydHBqaXR0ZXJidWZmZXIgYW5kIG90aGVyIGVsZW1lbnRzIGFuZCBmaW5hbGx5IGZhaWxpbmcuCgoyMDE2LTA2LTI3IDA5OjIwOjM1ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHZkZW11eDogQWRkIGNvbW1lbnQgYWJvdXQgSDI2My9NUEVHNFAyIGJlaW5nIG5vbi1zdGFuZGFyZCBmb3IgRkxWCgkgIFRoZXkgYXJlIGhvd2V2ZXIgc3VwcG9ydGVkIGJ5IGZmbXBlZyBhbmQgYXBwYXJlbnRseSB1c2VkIG91dCB0aGVyZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2ODAwNgoKMjAxNi0wNi0yNCAxNDo0ODo1MyArMDMwMCAgVml2aWEgTmlrb2xhaWRvdSA8dml2aWFAYWhpcnUuZXU+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdmRlbXV4OiBBZGQgc3VwcG9ydCBmb3IgSDI2MyBhbmQgTVBFRzQgcGFydDIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2ODAwNgoKMjAxNi0wNi0yMSAxNzoxMDo1NiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkgIFVwZGF0ZSBwbHVnaW5zIGRvYwoJICBUaGlzIGlzIHBhcnRseSBhdXRvbWF0ZWQgdXNpbmcgIm1ha2UgdXBkYXRlIiBpbiBkb2NzL3BsdWdpbnMsIGJ1dCBhbHNvCgkgIHJlcXVpcmVkIG1hbnVhbCBtZXJnZS4gQWRkaXRpb25hbGx5LCBtaXNzaW5nIHBsdWdpbnMgYW5kIGVsZW1lbnRzIGhhdmUKCSAgYmVlbiBhZGRlZC4KCjIwMTYtMDYtMjEgMTc6NTE6MzggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zcGxpdG11eC5jOgoJICB0ZXN0czogc3BsaXRtdXg6IHNraXAgdGVzdHMgaWYgdGhlb3JhIG9yIG9nZyBwbHVnaW5zIGFyZSBub3QgYXZhaWxhYmxlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Njc4NjEKCjIwMTYtMDYtMjEgMTE6NDY6MTMgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gYWMyZjY0NyB0byBmMzYzYjMyCgoyMDE2LTA2LTIxIDA3OjQwOjQyIC0wNDAwICBBYXJvbiBCb3hlciA8Ym94ZXJhYkBnbWFpbC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGoya3BheS5jOgoJICBnc3RydHBqMmtwYXk6IHVzZSB0aWxlIGJpdCBhbmQgdGlsZSBudW1iZXIgdG8gZGV0ZXJtaW5lIGlmIHRoZXJlIGFyZSBtdWx0aXBsZSB0aWxlcyBpbiBwYWNrZXQKCSAgTm93IHdlIGRvbid0IGhhdmUgdG8gcmVseSBvbiBhIHNwZWNpYWwgdmFsdWUgZm9yIHRoZSB0aWxlIG51bWJlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NzgxNwoKMjAxNi0wNi0yMSAwOTozNDo1NiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwajJrcGF5LmM6CgkgIHJ0cGoya3BheTogZml4IGNvbXBpbGVyIHdhcm5pbmcgb24gT1MvWAoJICBnc3RydHBqMmtwYXkuYzozNjQ6MjE6IGVycm9yOiBpbXBsaWNpdCB0cnVuY2F0aW9uIGZyb20gJ2ludCcgdG8gYml0ZmllbGQgY2hhbmdlcyB2YWx1ZSBmcm9tIC0xIHRvIDY1NTM1CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Njc4MTcKCjIwMTYtMDYtMjEgMDk6MzQ6MzcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSAgZG9jczogdXBkYXRlCgoyMDE2LTA1LTE2IDE3OjMxOjU4ICswMjAwICBHdWlsbGF1bWUgRGVzbW90dGVzIDxndWlsbGF1bWUuZGVzbW90dGVzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhcHNzZXR0ZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaWN5ZGVtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvanBlZ2VuYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9sZXZlbC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tdWx0aWZpbGUuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcXRtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwcnR4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3VkcHNyYy5jOgoJICBmaXggYnVmZmVyIGxlYWtzIGluIHRlc3RzCgkgIE5lZWQgdG8gY2FsbCBnc3RfY2hlY2tfZHJvcF9idWZmZXJzKCkgdG8gcmVsZWFzZSB0aGUgYnVmZmVycyBleGNoYW5nZWQKCSAgZHVyaW5nIHRoZSB0ZXN0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY2NTYxCgoyMDE2LTA1LTE3IDEyOjUyOjQzICswMzAwICBHdWlsbGF1bWUgRGVzbW90dGVzIDxndWlsbGF1bWUuZGVzbW90dGVzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ludGVybGVhdmUuYzoKCSAgaW50ZXJsZWF2ZTogZml4IG1lc3NhZ2UgbGVha3MgaW4gdGVzdAoJICBGbHVzaCB0aGUgYnVzIHdoZW4gY2xlYW5pbmcgdXAgc28gcGVuZGluZyBtZXNzYWdlcyBhcmUgZGVzdHJveWVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY2NTYxCgoyMDE2LTA1LTE3IDEyOjU4OjA2ICswMzAwICBHdWlsbGF1bWUgRGVzbW90dGVzIDxndWlsbGF1bWUuZGVzbW90dGVzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvbWl4ZXIuYzoKCSAgdmlkZW9taXhlcjogZml4IGV2ZW50IGxlYWtzIGluIHRlc3QKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NjU2MQoKMjAxNi0wNS0xMyAxNToxMjoyMiArMDIwMCAgR3VpbGxhdW1lIERlc21vdHRlcyA8Z3VpbGxhdW1lLmRlc21vdHRlc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kZWludGVybGVhdmUuYzoKCSAgZGVpbnRlcmxlYXZlOiBmaXggbGVha3MKCSAgLSBGbHVzaCB0aGUgYnVzIHNvIG1lc3NhZ2VzIGFyZW4ndCBsZWFrZWQKCSAgLSBGaXggcGFkIGxlYWsKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NjU2MQoKMjAxNi0wNi0xNyAxNToyOToxNiArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJICBydHBoMjY0cGF5OiBEZXByZWNhdGVkIHNwcm9wLXBhcmFtZXRlci1zZXQgcHJvcGVydHkKCSAgVGhpcyBpcyBzdXBwb3NlZCB0byBiZSBlaXRoZXIgaW4gdGhlIGNvZGVjX2RhdGEgKGF2YyBzdHJlYW0gZm9ybWF0KSBvciBpbnNpZGUKCSAgdGhlIHN0cmVhbSwgYW5kIHdlIGV4dHJhY3QgaXQgZnJvbSB0aGVyZS4gSXQgc2hvdWxkIG5vdCBiZSBzZXQgZnJvbSBhCgkgIHByb3BlcnR5IGFzIGl0J3Mgc3RyZWFtIHNwZWNpZmljLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY3Nzg5CgoyMDE2LTA2LTE3IDEyOjE2OjMyIC0wNzAwICBBbGVpeCBDb25jaGlsbG8gRmxhcXXDqSA8YWxlaXhAb2Jsb25nLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogbWFrZSBhbGwgc3J0cCBlbmNvZGVyIHByb3BlcnRpZXMgZXhwbGljaXQKCSAgVGhlIFNlc3Npb24gRGF0YSBQcm90b2NvbCBkb2Vzbid0IGFsbG93IHNwZWNpZnlpbmcgYSBjaXBoZXIgZm9yIHRoZQoJICBTUlRDUCwgc28gaXQgd2lsbCB1c2UgdGhlIFNSVFAgb25lLiBJbiB0aGUgInNydHBlbmMiIGVsZW1lbnQgdGhlIGNpcGhlcgoJICAiYWVzLTEyOC1pY20iIGlzIHRoZSBkZWZhdWx0IGZvciBTUlRQIGFuZCBTUlRDUCwgYnV0IGlmIHdlIHdhbnQgdG8gaGF2ZQoJICBhbiBTUlRDUCB3aXRoIHRoZSAiYWVzLTI1Ni1pY20iIGNpcGhlciB0aGVuIHdlIGFsc28gbmVlZCB0byBzZXQgdGhlIFNSVFAKCSAgY2lwaGVyIHRvICJhZXMtMjU2LWljbSIsIG90aGVyd2lzZSAiYWVzLTEyOC1pY20iIHdpbGwgYmUgdXNlZCBpbnN0ZWFkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY3Nzk5CgoyMDE2LTA2LTE3IDE5OjU5OjEzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3NvdXAvZ3N0c291cC5jOgoJICBzb3VwOiB3b3JrIGFyb3VuZCBmcmVxdWVudCBkZWFkbG9ja3MgaW4gR0xpYiB0eXBlIGluaXRpYWxpc2F0aW9uCgkgIC4uIGJ5IHJlZ2lzdGVyaW5nIHRoZSB0eXBlcyBmcm9tIHRoZSBwbHVnaW4gaW5pdCBmdW5jdGlvbi4gVGhpcwoJICBzZWVtcyB0byBoZWxwLCBidXQgd2UnbGwgc2VlIGlmIGl0J3MgZW5vdWdoIChtaWdodCBuZWVkIHNpbWlsYXIKCSAgdGhpbmdzIGVsc2V3aGVyZSkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTM5MTEKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NDg4NQoKMjAxNi0wNi0xNyAxNjowODowOCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IFRoZSBwcm9yZXMgdmFyaWFudCBpcyBzdG9yZWQgaW4gdGhlIHZhcmlhbnQgZmllbGQsIG5vdCBmb3JtYXQKCSAgQW5kIHRoZSBjYXBzIGluIHRoZSBzaW5rIHBhZCB0ZW1wbGF0ZSBhbHJlYWR5IHVzZWQgdmFyaWFudCAob25seSkuCgoyMDE2LTA2LTE3IDEzOjAwOjQ4ICswMjAwICBKb25hcyBIb2xtYmVyZyA8am9uYXNoZ0BheGlzLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVwYXkuaDoKCSAgcnRwaDI2NXBheTogUmVtb3ZlIHNwcm9wLXBhcmFtZXRlci1zZXRzIHByb3BlcnR5CgkgIFRoZXJlIGlzIG5vIHZhbGlkIHVzZSBjYXNlIHdoZW4gdGhpcyBwcm9wZXJ0eSBpcyBuZWVkZWQgc2luY2UgdGhlIHZhbHVlcwoJICBtdXN0IGJlIGluIGVpdGhlciBjb2RlY19kYXRhIG9yIGJ1ZmZlciBkYXRhLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzNzYwCgoyMDE2LTA2LTEwIDE2OjE3OjI2ICswMjAwICBKb25hcyBIb2xtYmVyZyA8am9uYXNoZ0BheGlzLmNvbT4KCgkqIGRvY3MvcGx1Z2lucy9zY2Fub2JqLWJ1aWxkLnN0YW1wOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVwYXkuYzoKCSAgcnRwaDI2NXBheTogUmVhZCBOQUxVIHR5cGUgdGhlIHNhbWUgd2F5IGV2ZXJ5d2hlcmUKCSAgQ29zbWV0aWMgY2hhbmdlIHRvIHJlYWQgTkFMVSB0eXBlIGluIGdzdF9ydHBfaDI2NV9wYXlfZGVjb2RlX25hbCgpIHRoZQoJICBzYW1lIHdheSBhcyBpbiBvdGhlciBwbGFjZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTM3NjAKCjIwMTYtMDYtMTcgMTM6NTg6MzMgKzAyMDAgIEF1csOpbGllbiBaYW5lbGxpIDxhdXJlbGllbi56YW5lbGxpQHBhcnJvdC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuaDoKCSAgcnRwaml0dGVyYnVmZmVyOiBmaXggUlRQSml0dGVyQnVmZmVyTW9kZSBkb2N1bWVudGF0aW9uCgkgIERvY3VtZW50YXRpb24gbGFja3MgJ0AnIGJlZm9yZSBlYWNoIGVudW0gdmFsdWVzIGFuZCB0aGVyZSB3YXMgYW4gZXh0cmEKCSAgbGluZSBhZnRlciBzeW1ib2wgc2VjdGlvbiB3aGljaCBjb25mdXNlcyBHVEstRG9jIHBhcnNlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2Nzc4OAoKMjAxNi0wNS0yMyAxMDoxODo0OCArMDIwMCAgTWlndWVsIFBhcsOtcyBEw61heiA8bXBhcmlzZGlhekBnbWFpbC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IHRha2UgdGhlIGxvY2sgd2hlbiBjaGFuZ2luZyBzdGF0cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY2MDI1CgoyMDE2LTA2LTE1IDExOjE5OjQzICswMjAwICBKw7xyZ2VuIFNsb3dhY2sgPGp1cmdlbi5zbG93YWNrQGJhcmNvLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NXBheS5jOgoJICBydHBoMjY1OiBmaXggTkFMIHVuaXQgdHlwZSBwYXJzaW5nIGFuZCBTUFMvUFBTL1ZQUyBkZXRlY3Rpb24KCSAgRml4ZXMgc3BzL3Bwcy92cHMgaW5zZXJ0aW9uIHZpYSB0aGUgY29uZmlnLWludGVydmFsIHByb3BlcnR5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy8vc2hvd19idWcuY2dpP2lkPTc2NzY4MAoKMjAxNi0wNi0xMSAxMjoxNjowMyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9zaW1wbGUtbGF1bmNoLWxpbmVzLmM6CgkgIHNpbXBsZS1sYXVuY2gtbGluZXM6IFVzZSBjb3JyZWN0IEpQRUcyMDAwIGNhcHMKCjIwMTYtMDYtMTAgMTM6NDM6MDkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdmRlbXV4OiBmaXggaW5kZW50YXRpb24KCjIwMTYtMDYtMTAgMTM6NDI6MDEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdmRlbXV4OiBmaXggZGF0ZSBwYXJzaW5nIHdoZW4gdGhlcmUgYXJlIHRyYWlsaW5nIHNwYWNlcwoJICBGaXhlcyBwYXJzaW5nIG9mICJUaHUgTWF5IDExIDE1OjU3OjQ2IDIwMDYgIi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NzQ5NgoKMjAxNi0wNS0xMyAxNTowODoyNCAtMDQwMCAgQWFyb24gQm94ZXIgPGJveGVyYWJAZ21haWwuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBqMmtjb21tb24uaDoKCSogZ3N0L3J0cC9nc3RydHBqMmtkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGoya3BheS5jOgoJICBnc3RydHBqMms6IHNldCBzYW1wbGluZyBmaWVsZCByZXF1aXJlZCBieSBSRkMKCSAgVGhpcyBmaWVsZCBpcyBub3cgcmVxdWlyZWQgaW4gdGhlIHNpbmsgY2Fwcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NjIzNgoKMjAxNi0wNi0wOSAwOTozMDo0OCArMDkwMCAgU2V1bmdoYSBZYW5nIDxzaC55YW5nQGxnZS5jb20+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdmRlbXV4OiBGaXggdW5yZWYgYXNzZXJ0aW9uIGZhaWx1cmUKCSAgRml4IHVucmVmIGFzc2VydGlvbiBmYWlsdXJlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Njc0MjQKCjIwMTYtMDUtMTQgMTQ6NDY6MTcgKzAyMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBXb3JrIHdpdGggbm9uLVRJTUUgc2VnbWVudHMKCSAgV2l0aCBub24tdGltZSBzZWdtZW50cywgaXQgbm93IGFzc3VtZXMgdGhhdCB0aGUgYXJyaXZhbCB0aW1lIG9mIHBhY2tldHMKCSAgaXMgbm90IHJlbGV2YW50IGFuZCB0aGF0IG9ubHkgdGhlIFJUUCB0aW1lc3RhbXAgbWF0dGVyIGFuZCBpdCBwcm9kdWNlcwoJICBhbiBvdXRwdXQgc2VnbWVudCBzdGFydCBhdCBydW5uaW5nIHRpbWUgMC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NjQzOAoKMjAxNi0wNi0wNyAyMDo1MzozNCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzoKCSAgcG5nZGVjOiBXYWl0IGZvciBzZWdtZW50IGV2ZW50IGJlZm9yZSBjaGVja2luZyBpdAoJICBUaGUgaGV1cmlzdGljIHRvIGNob29zZSBiZXR3ZWVuIHBhY2tldGlzZSBvciBub3Qgd2FzIGNoYW5nZWQgdG8gdXNlIHRoZQoJICBzZWdtZW50IGZvcm1hdC4gVGhlIHByb2JsZW0gaXMgdGhhdCB0aGlzIGNoYW5nZSBpcyByZWFkaW5nIHRoZSBzZWdtZW50CgkgIGR1cmluZyB0aGUgY2FwcyBldmVudCBoYW5kbGluZy4gVGhlIHNlZ21lbnQgZXZlbnQgd2lsbCBvbmx5IGJlIHNlbnQKCSAgYWZ0ZXIuIFRoYXQgcHJldmVudGVkIHRoZSBkZWNvZGVyIHRvIGdvIGluIHBhY2tldGl6ZSBtb2RlLCBhbmQgYXZvaWQKCSAgdXNlbGVzcyBwYXJzaW5nLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2MjUyCgoyMDE2LTA2LTA2IDE3OjAwOjIyIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgIGpwZWdkZWM6IFdhaXQgZm9yIHNlZ21lbnQgZXZlbnQgYmVmb3JlIGNoZWNraW5nIGl0CgkgIFRoZSBoZXVyaXN0aWMgdG8gY2hvb3NlIGJldHdlZW4gcGFja2V0aXNlIG9yIG5vdCB3YXMgY2hhbmdlIHRvIHVzZSB0aGUKCSAgc2VnbWVudCBmb3JtYXQuIFRoZSBwcm9ibGVtIGlzIHRoYXQgdGhpcyBjaGFuZ2UgaXMgcmVhZGluZyB0aGUgc2VnbWVudAoJICBkdXJpbmcgdGhlIGNhcHMgZXZlbnQgaGFuZGxpbmcuIFRoZSBzZWdtZW50IGV2ZW50IHdpbGwgb25seSBiZSBzZW50CgkgIGFmdGVyLiBUaGF0IHByZXZlbnRlZCB0aGUgZGVjb2RlciB0byBnbyBpbiBwYWNrZXRpemUgbW9kZSwgYW5kIGF2b2lkCgkgIHVzZWxlc3MgcGFyc2luZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjI1MgoKMjAxNi0wNi0wNyAxNjo0MjowOSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvZGVjLmM6CgkgIHY0bDJ2aWRlb2RlYzogS2VlcCBwYXJ0IG9mIHRoZSBpbnB1dCBidWZmZXIKCSAgSW5zdGVhZCBvZiBjb21wbGV0ZWx5IGdldHRpbmcgcmlkIG9mIHRoZSBpbnB1dCBidWZmZXIsIGNvcHkKCSAgdGhlIG1ldGFkYXRhLCB0aGUgZmxhZ3MgYW5kIHRoZSB0aW1lc3RhbXAgaW50byBhbiBlbXB0eSBidWZmZXIuCgkgIFRoaXMgd2F5IHRoZSBkZWNvZGVyIGJhc2UgY2xhc3MgY2FuIGNvcHkgdGhhdCBpbmZvcm1hdGlvbiBhZ2FpbgoJICB0byB0aGUgb3V0cHV0IGJ1ZmZlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1ODQyNAoKMjAxNi0wNi0wNyAxNjo0MTo1OCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvZGVjLmM6CgkgIHY0bDJ2aWRlb2RlYzogQ29kaW5nIHN0eWxlIGZpeGVzCgoyMDE2LTA2LTA3IDE2OjA5OjIzIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IENvZGluZyBzdHlsZSBmaXhlcwoKMjAxNi0wNi0wNyAxNjowNDo1MiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnRyYW5zZm9ybS5jOgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9kZWMuYzoKCSAgdjRsMjogQWRkIGFuIGVycm9yIHJldHVybiB0byBfdHJ5L19zZXRfZm9ybWF0CgkgIFRoaXMgd2F5IG9uZSBjYW4gZWFzaWx5IGlnbm9yZSBlcnJvcnMuIFByZXZpb3VzbHksIGVycm9yIHdlcmUgYWx3YXlzCgkgIHBvc3RlZCBvbnQgaGUgYnVzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY2MTcyCgoyMDE2LTA2LTA3IDE2OjAxOjU1IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi92NGwyLXV0aWxzLmM6CgkqIHN5cy92NGwyL3Y0bDItdXRpbHMuaDoKCSAgdjRsMi11dGlsOiBJbnRyb2R1Y2UgR3N0VjRsMkVycm9yCgkgIFRoaXMgaXMgdG8gYWxsb3cgcmV0dXJuaW5nIGFuIGVycm9yIHRoYXQgY2FuIGVhc2lseSBiZSBzZW50IGFzCgkgIG1lc3NhZ2UgdG8gdGhlIGFwcGxpY2F0aW9uIGlmIHRoZSBlbGVtZW50IG5lZWRzIGl0LiBVc2luZyB0aGlzCgkgIGFsc28gYWxsb3cgaWdub3JpbmcgZXJyb3JzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY2MTcyCgoyMDE2LTA2LTA3IDEyOjQxOjE5IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIHY0bDJzcmM6IEF2b2lkIGRlY2lkZSBhbGxvY2F0aW9uIG9uIGFjdGl2ZSBwb29sCgkgIHY0bDJzcmMgd2lsbCByZW5lZ290aWF0ZSBvbmx5IGlmIHRoZSBmb3JtYXQgaGF2ZSBjaGFuZ2VkLiBBcyBvZiBub3csCgkgIGl0J3Mgbm90IHBvc3NpYmxlIHRvIGNoYW5nZSB0aGUgYWxsb2NhdGlvbncgd2l0aG91dCByZXNldHRpbmcgdGhlCgkgIGNhbWVyYS4gVG8gYXZvaWQgdW53YW50ZWQgc2lkZSBlZmZlY3QsIHNpbXBseSBrZWVwIHRoZSBvbGQgYWxsb2NhdGlvbgoJICBpZiBubyByZW5lZ290aWF0aW9uIGlzIHRha2luZyBwbGFjZS4gVGhpcyBmaXhlcyBhc3NlcnRpb24gYW5kIHBvc3NpYmxlCgkgIGZhaWx1cmVzIGluIFVTRVJQVFIgb3IgRE1BQlVGIGltcG9ydCBtb2RlICh3aGVuIHVzaW5nIGRvd25zdHJlYW0gcG9vbHMpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU0MDQyCgoyMDE2LTA0LTI4IDEzOjQ0OjQ5ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5oOgoJICBxdGRlbXV4OiBTaG93IHN0YXRlIG5hbWUgaW4gZGVidWdnaW5nCgkgIE1ha2VzIGl0IGVhc2llciB0byB0cmFjZSB3aGF0J3MgZ29pbmcgb24KCjIwMTYtMDUtMTAgMTU6NDU6NDIgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogUmVtb3ZlIHVzZWxlc3MgdmFyaWFibGUKCSAgVGhhdCB2YXJpYWJsZSBpcyBvbmx5IG5lZWRlZCBmb3IgYSBkZWJ1ZyBzdGF0ZW1lbnQsIG1vdmUgaXQgdGhlcmUKCjIwMTYtMDUtMTAgMTU6MTA6MzYgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4Lmg6CgkgIHF0ZGVtdXg6IEFkZC9GaXggY29tbWVudHMgb24gdGhlIHZhcmlvdXMgc3RydWN0dXJlIHZhcmlhYmxlcwoJICBObyB2YXJpYWJsZXMgd2VyZSBhZGRlZC9yZW1vdmVkLiBUaGlzIHdhcyBqdXN0IGEgZ29vZCBleGN1c2UgdG86CgkgICogQ29tbWVudCB3aGF0IG1vc3QgdmFyaWFibGVzIGFyZSB1c2VkIGZvciAoYW5kIHdoZW4pCgkgICogT3JkZXIgdGhlbSBpbiBzdWNoIGEgd2F5IGFzIHRvIHNob3cgZmlyc3QgdGhlIGNvbW1vbiB2YXJpYWJsZXMgdXNlZAoJICBpbiBhbGwgY2FzZXMsIGZvbGxvd2VkIGJ5IHRob3NlIG9ubHkgdXNlZCBpbiBwdXNoLW1vZGUKCjIwMTYtMDUtMTAgMTU6MDc6NDAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogUmVtb3ZlIHVudXNlZCBzdHJ1Y3R1cmUKCSAgTGV0J3MganVzdCByZW1vdmUgaXQsIGJlZW4gY29tbWVudGVkIGZvciA3KyB5ZWFycyA6KQoKMjAxNS0wOS0wMiAxMTo0ODoyOSArMDIwMCAgUGhpbGlwcCBaYWJlbCA8cC56YWJlbEBwZW5ndXRyb25peC5kZT4KCgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb2RlYy5jOgoJICB2NGwydmlkZW9kZWM6IHVzZSBkZWNvZGVyIHN0b3AgY29tbWFuZCBpbnN0ZWFkIG9mIHF1ZXVlaW5nIGVtcHR5IGJ1ZmZlcnMKCSAgT25seSBpZiB0aGUgZGVjb2RlciBzdG9wIGNvbW1hbmQgZmFpbHMsIGtlZXAgcXVldWVpbmcgZW1wdHkgYnVmZmVycyB0bwoJICBzaWduYWwgZW5kIG9mIHN0cmVhbSBhcyBiZWZvcmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzM4NjQKCjIwMTQtMTItMTIgMTQ6MzE6MzYgKzAxMDAgIFBldGVyIFNlaWRlcmVyIDxwcy5yZXBvcnRAZ214Lm5ldD4KCgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb2RlYy5jOgoJICB2NGwydmlkZW9kZWM6IGFkZCBnc3RfdjRsMl9kZWNvZGVyX2NtZCBoZWxwZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMzg2NAoKMjAxNi0wNi0wMSAyMDoyODozOSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBGb3J3YXJkIHNlZ21lbnRzIGRpcmVjdGx5IGlmIHdlIGFyZSBvcGVyYXRpbmcgaW4gUFVTSCBtb2RlIG9uIGZyYWdtZW50ZWQgc3RyZWFtcwoJICBXZSBzaG91bGRuJ3QgZ28gdGhyb3VnaCBzZWdtZW50IGFjdGl2YXRpb24gYXMgd2Ugd2lsbCBvbmx5IGhhdmUgYSBsaW1pdGVkCgkgIHVuZGVyc3RhbmRpbmcgb2YgaG93IHRoZSB3aG9sZSBzdHJlYW0gdGltZWxpbmUgbG9va3MgbGlrZSBmcm9tIHRoZSBtb29mLiBXZQoJICBvbmx5IGtub3cgYWJvdXQgdGhlIGN1cnJlbnQgZnJhZ21lbnQsIHdoaWxlIHVwc3RyZWFtIGtub3dzIGFib3V0IHRoZSB3aG9sZQoJICBzdHJlYW0uCgkgIFRoaXMgZml4ZXMgc2Vla2luZyBpbiBEQVNIIHN0cmVhbXMsIGJvdGggZm9yIHNlZWtzIGFmdGVyIHRoZSBjdXJyZW50IG1vb2YgYW5kCgkgIGZvciBzZWVrcyBpbnRvIHRoZSBjdXJyZW50IG1vb2YuIFRoZSBmb3JtZXIgd291bGQgZmFpbCBiZWNhdXNlIHRoZSBtb29mIGVuZHMKCSAgYW5kIHdlIGNhbid0IGFjdGl2YXRlIGFueSBzZWdtZW50LCB0aGUgbGF0dGVyIHdvdWxkIGNhdXNlIGEgc2VnbWVudCB0aGF0IHN0b3BzCgkgIGF0IHRoZSBtb29mIGVuZCwgYW5kIG5vIGZ1cnRoZXIgZnJhZ21lbnRzIHdvdWxkIGJlIHBsYXllZCBiZWNhdXNlIHdlIGVuZCB1cAoJICBiZWluZyBFT1MuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjcwNzEKCjIwMTYtMDYtMDYgMTc6NTQ6MTAgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJ0cmFuc2Zvcm0uYzoKCSAgdjRsMnRyYW5zZm9ybTogVXNlIGxvb3NlciBjYXBzIGZvciB1cHN0cmVhbQoJICBXaGVuIHdlIGZpeGF0ZSBmb3IgdXBzdHJlYW0sIHRyeSB0byBub3QgaW50cm9kdWNlIG5ldyBmaWVsZHMgd2hlbiBub3QKCSAgbmVlZGVkLiBUaGlzIHdhcyBpbXBvcnRlZCBmcm9tIHZpZGVvY29udmVydCBlbGVtZW50LgoKMjAxNS0wMS0yOCAxMjowNzo1OCArMDEwMCAgRW5yaWNvIEpvcm5zIDxlam9AcGVuZ3V0cm9uaXguZGU+CgoJKiBzeXMvdjRsMi9nc3R2NGwydHJhbnNmb3JtLmM6CgkgIGdzdHY0bDJ0cmFuc2Zvcm06IGZvcm1hdCBmaXhhdGlvbiBmb3IgcHJlZmVycmluZyBwYXNzdGhyb3VnaAoJICAqIElmIG91dGdvaW5nIGZvcm1hdCBpcyB1bmZpeGF0ZWQsIHRyeSB0byBzZXQgaXQgdG8gaW5wdXQgZm9ybWF0LgoJICAqIENhbGwgZ3N0X2NhcHNfZml4YXRlICgpIGF0IGVuZCBvZiBmaXhhdGlvbiByb3V0aW5lCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjY3MTkKCjIwMTYtMDUtMjAgMTI6NDk6NTMgKzAyMDAgIFBoaWxpcHAgWmFiZWwgPHAuemFiZWxAcGVuZ3V0cm9uaXguZGU+CgoJKiBzeXMvdjRsMi9nc3R2NGwydHJhbnNmb3JtLmM6CgkgIHY0bDJ0cmFuc2Zvcm06IGFsbG93IHRvIGNoYW5nZSBwaXhlbCBhc3BlY3QgcmF0aW8KCSAgU2NhbGVycyBtYXkgY2hhbmdlIHdpZHRoIGFuZCBoZWlnaHQgaW5kZXBlbmRlbnRseSwKCSAgYWxsb3cgdG8gY2hhbmdlIHBpeGVsIGFzcGVjdCByYXRpby4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NjcxMgoKMjAxNi0wNS0yMCAxMjozMjoyNSArMDIwMCAgUGhpbGlwcCBaYWJlbCA8cC56YWJlbEBwZW5ndXRyb25peC5kZT4KCgkqIHN5cy92NGwyL2dzdHY0bDJ0cmFuc2Zvcm0uYzoKCSAgdjRsMnRyYW5zZm9ybTogZml4IHNjYWxpbmcgaW4gY2FzZSBvZiBmaXhlZCBwaXhlbCBhc3BlY3QgcmF0aW8KCSAgVG8gY2hhbmdlIHBpeGVsIGFzcGVjdCByYXRpbyBmcm9tIERBUiB0byBQQVIsIHRoZSBuZWNlc3Nhcnkgc2NhbGluZyBmYWN0b3IKCSAgaXMgREFSL1BBUiwgbm90IERBUipQQVIuCgkgIEZvciBnb29kIG1lYXN1cmUsIGFkZCBkZWJ1ZyBvdXRwdXQgc2ltaWxhciB0byB0aGUgZml4ZWQtd2lkdGggYW5kCgkgIGZpeGVkLWhlaWdodCBjYXNlcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NjcxMQoKMjAxNi0wNS0xMyAxNjozOToyNSArMDIwMCAgUGhpbGlwcCBaYWJlbCA8cC56YWJlbEBwZW5ndXRyb25peC5kZT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogZmlsbCBjb2xvcmltZXRyeSBpbiBnc3RfdjRsMl9vYmplY3RfYWNxdWlyZV9mb3JtYXQKCSAgSW5zdGVhZCBvZiByZWx5aW5nIG9uIHRoZSBkZWZhdWx0IGNvbG9yaW1ldHJ5IGNob3NlbiBieQoJICBnc3RfdmlkZW9faW5mb19zZXRfZm9ybWF0KCksIHNldCBpbmZvLmNvbG9yaW1ldHJ5IGZyb20gdGhlCgkgIHZhbHVlcyByZXR1cm5lZCBieSBHX0ZNVC4gVGhpcyBhbGxvd3MgZGVjb2RlcnMgdG8gcHJvcGFnYXRlCgkgIHRoZWlyIGlucHV0IGNvbG9yaW1ldHJ5IGRvd25zdHJlYW0uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjYzODMKCjIwMTYtMDUtMTggMTA6MTc6MTIgKzAyMDAgIFBoaWxpcHAgWmFiZWwgPHAuemFiZWxAcGVuZ3V0cm9uaXguZGU+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IHJlZmFjdG9yIGdzdF92NGwyX29iamVjdF9nZXRfY29sb3JzcGFjZSB0byB0YWtlIGEgdjRsMl9mb3JtYXQgcGFyYW1ldGVyCgkgIE1vdmUgdGhlIGV4dHJhY3Rpb24gb2YgY29sb3JpbWV0cnkgcGFyYW1ldGVycyBmcm9tIHN0cnVjdCB2NGwyX2Zvcm1hdCBhbmQgdGhlCgkgIHNldHRpbmcgb2YgdGhlIGlkZW50aXR5IG1hdHJpeCBmb3IgUkdCIGZvcm1hdHMgaW50byB0aGUgZnVuY3Rpb24gdG8gYXZvaWQgY29kZQoJICBkdXBsaWNhdGlvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NjM4MwoKMjAxNi0wNS0xMyAxNDo1ODo0MSArMDIwMCAgUGhpbGlwcCBaYWJlbCA8cC56YWJlbEBwZW5ndXRyb25peC5kZT4KCgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb2RlYy5jOgoJICB2NGwydmlkZW9kZWM6IHVzZSB2aXNpYmxlIHNpemUsIG5vdCBjb2RlZCBzaXplLCBmb3IgZG93bnN0cmVhbSBuZWdvdGlhdGlvbiBmaWx0ZXIKCSAgZ3N0X3Y0bDJfcHJvYmVfY2FwcygpIHJldHVybnMgdGhlIGNvZGVkIHNpemUsIG5vdCB0aGUgdmlzaWJsZSBzaXplLiBTdWJ0cmFjdAoJICB0aGUga25vd24gcGFkZGluZyBmcm9tIHByb2JlZCBjYXBzIHdpdGggdGhlIGNvZGVkIHNpemUgYmVmb3JlIHVzaW5nIHRoZW0gYXMKCSAgZmlsdGVyIGZvciBjYXBzIG5lZ290aWF0aW9uIHdpdGggZG93bnN0cmVhbSBlbGVtZW50cy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NjM4MgoKMjAxNi0wNS0xMyAxNDo0NTowMiArMDIwMCAgUGhpbGlwcCBaYWJlbCA8cC56YWJlbEBwZW5ndXRyb25peC5kZT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogdXNlIEdfU0VMRUNUSU9OIGluc3RlYWQgb2YgR19DUk9QIGluIGdzdF92NGwyX29iamVjdF9hY3F1aXJlX2Zvcm1hdAoJICBUaGUgZ3N0X3Y0bDJfb2JqZWN0X2FjcXVpcmVfZm9ybWF0KCkgZnVuY3Rpb24gaXMgdXNlZCBieSB2NGwydmlkZW9kZWMgdG8gb2J0YWluCgkgIHRoZSBjdXJyZW50bHkgc2V0IGNhcHR1cmUgZm9ybWF0LiBTaW5jZSBHX0ZNVCByZXR1cm5zIHRoZSBjb2RlZCBzaXplLCB0aGUKCSAgdmlzaWJsZSBzaXplIG5lZWRzIHRvIGJlIG9idGFpbmVkIGZyb20gdGhlIGNvbXBvc2UgcmVjdGFuZ2xlIGluIG9yZGVyIHRvCgkgIG5lZ290aWF0ZSBpdCB3aXRoIGRvd25zdHJlYW0gZWxlbWVudHMuIFRoZSBHX0NST1AgY2FsbCBoYXNuJ3Qgd29ya2VkIG9uIG1lbTJtZW0KCSAgY2FwdHVyZSBxdWV1ZXMgZm9yIGEgbG9uZyB0aW1lLiBJbnN0ZWFkIHVzZSB0aGUgR19TRUxFQ1RJT04gY2FsbCB0byBvYnRhaW4gdGhlCgkgIGNvbXBvc2UgcmVjdGFuZ2xlIGFuZCBvbmx5IGZhbGwgYmFjayB0byBHX0NST1AgZm9yIGFuY2llbnQga2VybmVscy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NjM4MQoKMjAxNi0wMS0yNyAwOTo1NzozOCArMDEwMCAgQW5kcmVhcyBOYXVtYW5uIDxhbmF1bWFubkB1bHRyYXRyb25pay5kZT4KCgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkgIHY0bDJzaW5rOiBVc2UgVjRMMl9CVUZfVFlQRV9WSURFT19PVVRQVVRfT1ZFUkxBWSBpZiBkcml2ZXIgYWR2ZXJ0aXNlcyBpdC4KCSAgT24gbW9kZXJuIGtlcm5lbHMsIHRoZSBHL1NfRk1UIGlvY3RscyB3aWxsIGFsd2F5cyBmYWlsIHVzaW5nCgkgIFY0TDJfQlVGX1RZUEVfVklERU9fT1ZFUkxBWSB3aXRoIFZGTF9ESVJfVFggKGUuZy4gcmVhbCBvdmVybGF5IG91dCBkcml2ZXJzKQoJICBzaW5jZSB0aGlzIGlzIG5vdCB0aGUgaW50ZW50ZWQgdXNlIChyYXRoZXIgcngsIGFjY29yZGluZyB0byB2NGwyIEFQSSBkb2MpLgoJICBQcm9iYWJseSB0aGlzIGlzIHdoeSB0aGUgVmlkZW8gT3V0cHV0IE92ZXJsYXkgaW50ZXJmYWNlIHdhcyBjcmVhdGVkLCBzbyBpZgoJICB0aGUgZHJpdmVyIGFkdmVydGlzZXMgaXQgd2UgbWlnaHQgYXMgd2VsbCB1c2UuCgkgIEZvciBvbGQga2VybmVscyAocHJlIDIwMTIpIHRoZSBvbGQgd2F5IG1pZ2h0IHN0aWxsIHdvcmsgc28ga2VlcGluZyB0aGlzIGZvcgoJICBjb21wYXRpYmlsaXR5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYxMTY1CgoyMDE2LTA2LTA2IDE4OjUyOjAxICswMTAwICBLaWVyYW4gQmluZ2hhbSA8a2llcmFuQGJpbmdoYW0ueHl6PgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBVc2Ugbm9uLWRlcHJlY2F0ZWQgVjRMMiB0eXBlIGZvciBSR0IxNQoJICBTdXBwb3J0IGZvciB0aGUgdXBkYXRlZCBWNEwyX1BJWF9GTVRfWFJHQjU1NSB3YXMgYWRkZWQgaW4gY29tbWl0CgkgIDI1MzhmZWUyZmQ4ZmRiNzRiMDVmMGE1MTEyODFiYzQ3MDdlN2NjNDQgaG93ZXZlciwgd2hlbiBzZXR0aW5nIHRoZSBmb3JtYXQKCSAgZm9yIHVzZSBpbiB2NGwyIGlvY3RscywgdGhlIG9sZCBkZXByZWNhdGVkIGZvcm1hdCBpcyBzdGlsbCB1c2VkLiBDb252ZXJ0CgkgIHRoaXMgdG8gdGhlIG5ldyBhY2NlcHRlZCBmb3JtYXQgdHlwZSwgYXMgdGhlIHByZWZlcnJlZCBmb3JtYXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjczMDAKCjIwMTYtMDUtMDQgMTQ6NTA6MzIgKzAyMDAgIE1pY2hhZWwgT2xicmljaCA8bS5vbGJyaWNoQHBlbmd1dHJvbml4LmRlPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IHByZXNlcnZlIHNlZWsgZmxhZ3MKCSAgV2l0aG91dCB0aGlzIHNvbWUgZmxhZ3MgZ2V0IGxvc3QgaW4gc3RyZWFtaW5nIG1vZGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjcxOTQKCjIwMTYtMDYtMDYgMTA6NDc6NTIgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvc291cC9NYWtlZmlsZS5hbToKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBjbGllbnRzaW5rLmM6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmg6CgkgIFJldmVydCAiV0lQIHJldmVydCBzb3VwIgoJICBUaGlzIHJldmVydHMgY29tbWl0IGZkYWMzYTdhMjMxZjM4NDg2NjU2MzZjZjgxMjJmOTYxMDNiNDZlM2IuCgkgIFdhcyBub3Qgc3VwcG9zZWQgdG8gYmUgcHVzaGVkIGJ1dCBhIGxvY2FsIHdvcmthcm91bmQgZm9yCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTM5MTEjYzEzCgoyMDE2LTA2LTAzIDEzOjA5OjM1ICswMjAwICBNaWd1ZWwgUGFyw61zIETDrWF6IDxtcGFyaXNkaWF6QGdtYWlsLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJICBydHBzb3VyY2U6IGNvbXBsZXRlIHdhcm4gbG9nIHdpdGggU1NSQwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY3MTk1CgoyMDE2LTA1LTMxIDE1OjI5OjEzICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3NvdXAvTWFrZWZpbGUuYW06CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwY2xpZW50c2luay5jOgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5oOgoJICBXSVAgcmV2ZXJ0IHNvdXAKCjIwMTYtMDYtMDMgMTM6MTg6MzEgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZHYvZ3N0ZHZkZW11eC5jOgoJICBkdmRlbXV4OiBVbnJlZiBzZWVrIGV2ZW50IGluIGFueSBjYXNlCgkgIEl0IHdvdWxkIGJlIGxlYWtlZCBpZiBubyBzZWVrIGhhbmRsZXIgd2FzIGN1cnJlbnRseSBzZXQuCgoyMDE2LTA2LTAzIDEwOjQ5OjE3ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2R2L2dzdGR2ZGVtdXguYzoKCSogZXh0L2R2L2dzdGR2ZGVtdXguaDoKCSAgZHZkZW11eDogUHJvcGVybHkgc2V0IGV2ZW50L21lc3NhZ2Ugc2VxdWVuY2UgbnVtYmVycyBiYXNlZCBvbiB0aGUgcHJldmlvdXMgc2VlawoJICBTZWUgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NTkzNQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY3MTU3CgoyMDE2LTA2LTAzIDEwOjM2OjMyICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2R2L2dzdGR2ZGVtdXguYzoKCSogZXh0L2R2L2dzdGR2ZGVtdXguaDoKCSAgZHZkZW11eDogUmVtZW1iZXIgaWYgdXBzdHJlYW0gaGFkIGEgdGltZSBzZWdtZW50IGFuZCBpZiBub3QgcHJvcGVybHkgY3JlYXRlIHRpbWUgc2VnbWVudHMKCSAgUHJldmlvdXNseSB0aGUgc2VnbWVudC50aW1lIHdhcyB3cm9uZywgYW5kIHRoZSBwb3NpdGlvbiB3YXMgbm90IHVwZGF0ZWQKCSAgY29ycmVjdGx5LCByZXN1bHRpbmcgaW4gc2Vla3MgaW4gUFVTSCBtb2RlIHdpdGggdXBzdHJlYW0gcHJvdmlkaW5nIGEgQllURVMKCSAgc2VnbWVudCB0byBub3Qgd29yayBhdCBhbGwuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjcxNTcKCjIwMTYtMDYtMDMgMDk6NTQ6NTMgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZHYvZ3N0ZHZkZW11eC5jOgoJICBkdmRlbXV4OiBJbXBsZW1lbnQgU0VFS0lORyBxdWVyeSBzbyB3ZSBjYW4gYWN0dWFsbHkgc2VlayBpZiB1cHN0cmVhbSBjYW4ndCBzZWVrIGluIFRJTUUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NzE1NwoKMjAxNi0wNi0wMiAxNDoxOToxNSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kdi9nc3RkdmRlbXV4LmM6CgkgIGR2ZGVtdXg6IFJlY2FsY3VsYXRlIHRoZSBmcmFtZSBvZmZzZXRzIGF0IHRoZSBiZWdpbm5pbmcgb2YgZWFjaCBCWVRFIHNlZ21lbnQgYW5kIHdoZW5ldmVyIHVwc3RyZWFtIGdpdmVzIHVzIGEgdGltZXN0YW1wCgkgIFRoaXMgZml4ZXMgc2Vla2luZyBpbiBEViBzdHJlYW1zIHdoZXJlIHVwc3RyZWFtIG9wZXJhdGVzIGluIFBVU0ggbW9kZSB3aXRoIGEKCSAgVElNRSBzZWdtZW50IChlLmcuIGF2aWRlbXV4KS4gV2l0aG91dCB0aGlzLCB3ZSB3b3VsZCBnZW5lcmF0ZSB3cm9uZyBkdXJhdGlvbnMKCSAgYW5kIHRpbWVzdGFtcHMgYWZ0ZXIgYSBzZWVrLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY3MTU3CgoyMDE2LTA2LTAyIDEzOjUzOjQ0ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2R2L2dzdGR2ZGVtdXguYzoKCSogZXh0L2R2L2dzdGR2ZGVtdXguaDoKCSAgZHZkZW11eDogUGFzcy10aHJvdWdoIGJ1ZmZlciBESVNDT05UIGZsYWdzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjcxNTcKCjIwMTYtMDYtMDIgMTY6MTY6NDUgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHZwOWRlcGF5LmM6CgkgIHJ0cHZwOWRlcGF5OiBEb24ndCBhc3NlcnQgb24gZmxleGlibGUgbW9kZSBwYWNrZXRzCgkgIEluc3RlYWQganVzdCBwb3N0IGEgd2FybmluZyBvbiB0aGUgYnVzIGZvciBub3cuCgoyMDE2LTA2LTAyIDE1OjAzOjE3ICswMjAwICBHdWlsbGF1bWUgRGVzbW90dGVzIDxndWlsbGF1bWUuZGVzbW90dGVzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGJpbi5jOgoJICB0ZXN0czogcnRwYmluOiBmaXggY2FwcyBsZWFrCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjcxNTYKCjIwMTYtMDYtMDIgMTU6MDA6MDEgKzAyMDAgIEd1aWxsYXVtZSBEZXNtb3R0ZXMgPGd1aWxsYXVtZS5kZXNtb3R0ZXNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYW1ycGFyc2UuYzoKCSAgdGVzdHM6IGFtcnBhcnNlOiBjbGVhbiB1cCB0ZXN0CgkgIC0gdXNlIEdTVF9DSEVDS19NQUlOKCkgdG8gcmVkdWNlIGJvaWxlcnBsYXRlCgkgIC0gdW5yZWYgdGhlIGlucHV0IGNhcHMgdXNpbmcgYSB0ZWFyZG93biBmdW5jdGlvbiB0byBwcmV2ZW50IGxlYWtzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjcxNTYKCjIwMTYtMDUtMjAgMTU6MjI6MzUgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmg6CgkgIGRlaW50ZXJsYWNlOiBFbnN1cmUgRElTQ09OVCBmbGFnIGlzIHByb3Blcmx5IHByb3BhZ2F0ZWQKCSAgVGhlIG91dHB1dCBvZiBkZWludGVybGFjZSBhdCBzdGFydHVwLCBvciB3aGVuIHJlY2VpdmluZyBhIG5ldyBESVNDT05UCgkgIGJ1ZmZlciwgc2hvdWxkIGhhdmUgdGhlIERJU0NPTlQgZmxhZyBzZXQgb24gdGhlIGZpcnN0IGJ1ZmZlci4KCjIwMTYtMDUtMzEgMjE6MzQ6MDQgKzAyMDAgIEpvc2VwIFRvcnJhIDxhZG43NzBAZ21haWwuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMnNyYzogY2hlY2sgZm9yIHZhbGlkIHNpemUgb24gcmF3IHZpZGVvIGJ1ZmZlcnMKCSAgRGlzY2FyZCBidWZmZXJzIHRoYXQgZG9lc24ndCBjb250YWluIGVub3VnaCBkYXRhIHdoZW4gZGVhbGluZwoJICB3aXRoIHJhdyB2aWRlbyBpbnB1dHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjcwODYKCjIwMTYtMDUtMzEgMTc6MTA6MzYgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogVXNlIHRoZSBkZW11eGVyIHNlZ21lbnQgaW5zdGVhZCBvZiBhIG5ldyBvbmUgZm9yIE1TUyBzdHJlYW1zCgkgIFVwc3RyZWFtIG1pZ2h0IGhhdmUgdG9sZCB1cyBzb21ldGhpbmcgYWJvdXQgdGhlIHRvIGJlIGV4cGVjdGVkIHNlZ21lbnQsIHNvCgkgIGxldCdzIHVzZSB0aGF0IGluZm9ybWF0aW9uIGluc3RlYWQgb2YgY29taW5nIHVwIHdpdGggYSBbMCwtMV0gc2VnbWVudC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NzA3MQoKMjAxNi0wNS0zMSAxNzowNDozMiArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBPbmx5IGFjdGl2YXRlIHNlZ21lbnRzIGFuZCBzZW5kIFNFR01FTlQgZXZlbnRzIGlmIHdlIGhhdmUgc3RyZWFtcwoJICBCdXQgaW4gdGhhdCBjYXNlIGFsc28gcmVtb3ZlIHRoZSBwZW5kaW5nIG5ld3NlZ21lbnQgZXZlbnQsIG90aGVyd2lzZSB3ZSB3b3VsZAoJICBsYXRlciBzZW5kIGEgcG9zc2libHkgb3V0ZGF0ZWQgZXZlbnQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjcwNzEKCjIwMTYtMDUtMzEgMTY6NTM6NTAgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogSW4gUFVMTCBtb2RlLCBub3RoaW5nIGlzIGV2ZXIgZ29pbmcgdG8gc2VuZCB1cyBhIFNFR01FTlQgZXZlbnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NzA3MQoKMjAxNi0wNS0zMSAxNjozODozNCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBEb24ndCBvdmVycmlkZSBUSU1FIHNlZ21lbnRzIGZyb20gdXBzdHJlYW0gdGhhdCB3ZSBqdXN0IHNhdwoJICBUaGUgcG9pbnQgb2YgZDhmYjdhOWM5NmIxMDg4MTRiZWVhYTBlNjNmODE4ZDQ2NDhjN2ZlOSB3YXMgdG8gbm90IGhhdmUgYW55CgkgIHNwdXJpb3VzIHNlZ21lbnRzIHN0b3JlZCBmb3IgbGF0ZXIgaWYgd2UgZG8gQllURVMtPlRJTUUgY29udmVyc2lvbiwgYnV0CgkgIG92ZXJyaWRpbmcgYW55IFRJTUUgc2VnbWVudHMgZnJvbSB1cHN0cmVhbSBkb2VzIG5vdCBtYWtlIGFueSBzZW5zZS4KCSAgU2VlIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjMxNjUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NzA3MQoKMjAxNS0wNy0xNiAwOTo0ODo0NiArMDUzMCAgUHJhc2hhbnQgR290YXJuZSA8cHMuZ290YXJuZUBzYW1zdW5nLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc3JjLmM6CgkgIG11bHRpZmlsZXNyYzogc2V0IHBvc2l0aW9uIGFzIG9mZnNldCBmcm9tIHN0YXJ0LWluZGV4CgkgIHF1ZXJ5IHBvc2l0aW9uIGluIEdTVF9GT1JNQVRfQlVGRkVSIHJldHVybnMKCSAgb2Zmc2V0IGZyb20gc3RhcnQtaW5kZXggcmF0aGVyIHRoYW4gaW5kZXguCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTI0NjIKCjIwMTYtMDUtMjcgMTI6NDk6MzIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvc2ltcGxlLWxhdW5jaC1saW5lcy5jOgoJKiB0ZXN0cy9maWxlcy9NYWtlZmlsZS5hbToKCSogdGVzdHMvZmlsZXMvZ3JhZGllbnQuajJrOgoJICB0ZXN0czogYWRkIHVuaXQgdGVzdCBmb3IgSlBFRy0yMDAwIHJ0cCBwYXlsb2FkZXIgbGVhawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY2ODcwCgoyMDE2LTA1LTI1IDE3OjExOjEzICswMjAwICBQaWVycmUgTGFtb3QgPHBpZXJyZS5sYW1vdEBvcGVud2lkZS5mcj4KCgkqIGdzdC9ydHAvZ3N0cnRwajJrcGF5LmM6CgkgIHJ0cGoya3BheTogRml4IGJ1ZmZlciBtZW1vcnkgbGVhawoJICBJbnB1dCBidWZmZXIgbWVtb3J5IHdhcyBub3QgdW5tYXBwZWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2Njg3MAoKMjAxNi0wNS0xOCAxMjoxMjoxNSArMDMwMCAgR3VpbGxhdW1lIERlc21vdHRlcyA8Z3VpbGxhdW1lLmRlc21vdHRlc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IGZpeCBjYXBzIGxlYWsKCSAgZ3N0X3Y0bDJfb2JqZWN0X3Byb2JlX2NhcHMoKSB3YXMgdGFraW5nIGFuIGV4dHJhIHJlZiBvbiB0aGUgcmV0dXJuZWQKCSAgY2FwcyBmb3Igbm8gcmVhc29uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY2NjEwCgoyMDE2LTA1LTIyIDIwOjE0OjE4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuYzoKCSAgdmlkZW9jcm9wIG1hcmsgY3JvcCBwcm9wZXJ0aWVzIGFzIG11dGFibGUgaW4gcGxheWluZyBzdGF0ZQoKMjAxNi0wNS0yMCAxNjo0NzozNSArMDMwMCAgR3VpbGxhdW1lIERlc21vdHRlcyA8Z3VpbGxhdW1lLmRlc21vdHRlc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwaHR0cHNyYzogZml4IGJ1ZmZlciBsZWFrIHdoZW4gZmx1c2hpbmcKCSAgV2hlbiBlYXJseSByZXR1cm5pbmcgaW4gZ3N0X3NvdXBfaHR0cF9zcmNfcmVhZF9idWZmZXIoKSBiZWNhdXNlIHRoZQoJICBlbGVtZW50IGlzIEZMVVNISU5HLCB3ZSBuZWVkIHRvIHVubWFwIGFuZCB1bnJlZiB0aGUgYnVmZmVyIHdoaWNoIHdhcyBqdXN0IGNyZWF0ZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjY3MTgKCjIwMTYtMDUtMjAgMTE6MTU6NDQgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogU2V0IHNlZWsgZXZlbnQgc2VxbnVtIG9uIGFsbCBTRUdNRU5UIGV2ZW50cwoJICBTb21lIHdlcmUgZm9yZ290dGVuLgoJICBTZWUgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NTkzNQoKMjAxNi0wNS0yMCAxMToxMjo0NCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5oOgoJICBhdmlkZW11eDogUGFzcyB0aHJvdWdoIHNlZWsgZXZlbnQgc2VxbnVtcyBpbiBhbGwgU0VHTUVOVC9FT1MgZXZlbnRzIGFuZCBTRUdNRU5UX0RPTkUgbWVzc2FnZXMvZXZlbnRzCgkgIFNlZSBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY1OTM1CgoyMDE2LTA1LTIwIDEwOjU2OjUyICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IFNldCBzZWVrIGV2ZW50IHNlcW51bSBpbiBFT1MgYW5kIFNFR01FTlRfRE9ORSBtZXNzYWdlcy9ldmVudHMKCSAgQWxzbyBhY3R1YWxseSBzdG9yZSB0aGUgc2VxbnVtIGluIHB1bGwgbW9kZSBzZWVrcy4KCSAgU2VlIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjU5MzUKCjIwMTYtMDUtMTcgMTM6NDA6MzggKzAzMDAgIEd1aWxsYXVtZSBEZXNtb3R0ZXMgPGd1aWxsYXVtZS5kZXNtb3R0ZXNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBmaXggY2FwcyBsZWFrCgkgIFRoZSBjYXBzIHJldHVybmVkIGJ5IGdzdF9wYWRfZ2V0X2N1cnJlbnRfY2FwcygpIHdhcyBuZXZlciB1bnJlZmZlZCB3aGVuCgkgIG5vdCBlYXJseSByZXR1cm5pbmcuCgkgIEZpeCBhIGxlYWsgd2l0aCB0aGUgZWxlbWVudHMvZGVpbnRlcmxhY2UgdGVzdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NjU1OAoKMjAxNi0wMS0yNSAxNjoyNTo1MSArMDEwMCAgTWlraGFpbCBGbHVka292IDxtaXNoYUBwZXhpcC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IGRvbid0IGFjdCBvbiBzdXNwaWNpb3VzIEJZRSBSVENQCgkgIFNvbWUgZW5kcG9pbnRzIChsaWtlIFRhbmRiZXJnIEUyMCkgY2FuIHNlbmQgQllFIHBhY2tldCBjb250YWluaW5nIG91cgoJICBpbnRlcm5hbCBTU1JDLiBJIHRoaXMgY2FzZSB3ZSB3b3VsZCBkZXRlY3QgU1NSQyBjb2xsaXNpb24gYW5kIGdldCByaWQKCSAgb2YgdGhlIHNvdXJjZSBhdCBzb21lIHBvaW50LiBCdXQgYmVjYXVzZSB3ZSBhcmUgc3RpbGwgc2VuZGluZyBwYWNrZXRzCgkgIHdpdGggdGhhdCBTU1JDIHRoZSBzb3VyY2Ugd2lsbCBiZSByZWNyZWF0ZWQgaW1tZWRpYXRlbHkuCgkgIFRoaXMgYnJhbmQgbmV3IGludGVybmFsIHNvdXJjZSB3aWxsIG5vdCBoYXZlIHNvbWUgdmFyaWFibGVzIGluY29ycmVjdGx5CgkgIHNldCBpbiBpdHMgc3RhdGUuIEZvciBleGFtcGxlICdzZXFudW0tYmFzZWAgYW5kIGBjbG9jay1yYXRlYCB2YWx1ZXMgd2lsbCBiZQoJICAtMS4KCSAgVGhlIGZpeCBpcyBub3QgdG8gYWN0IG9uIEJZRSBSVENQIGlmIGl0IGNvbnRhaW5zIGludGVybmFsIG9yIHVua25vd24KCSAgU1NSQy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MjIxOQoKMjAxNS0xMS0xNSAxNDo1NDoyOCArMDEwMCAgTWlraGFpbCBGbHVka292IDxtaXNoYUBwZXhpcC5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IEFkZCB0ZXN0IGZvciBsb2NraW5nIG9mIHRoZSBzdGF0cyBzaWduYWwKCSAgS2VlcGluZyB0aGUgbG9jayB3aGlsZSBlbWl0dGluZyB0aGUgc3RhdHMgc2lnbmFsIGludHJvZHVjZXMgcG90ZW50aWFsCgkgIGRlYWRsb2NrIGluIHRob3NlIHNpdHVhdGlvbnMgd2hlbiB0aGUgc2lnbmFsIGNhbGxiYWNrIHdhbnRzIHRoZSBhY2Nlc3MKCSAgdG8gcnRwc2Vzc2lvbidzIHByb3BlcnRpZXMgd2hpY2ggYWxzbyByZXF1cmUgdGhlIGxvY2suCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjIyMTYKCjIwMTYtMDUtMTkgMTU6MzY6NTcgKzA5MDAgIFNldW5naGEgWWFuZyA8c2gueWFuZ0BsZ2UuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IGRvbid0IGhvbGQgb2JqZWN0IGxvY2sgd2hpbHN0IHB1c2hpbmcgb3V0IGhlYWRlcnMKCSAgbWF0cm9za2FkZW11eCB3b3VsZCB0YWtlIHRoZSBHU1RfT0JKRUNUX0xPQ0sgaW4KCSAgLSBnc3RfbWF0cm9za2FfZGVtdXhfcHVzaF9jb2RlY19kYXRhX2FsbCgpCgkgIC0gZ3N0X21hdHJvc2thX2RlbXV4X3F1ZXJ5KCkKCSAgU29tZSBwYXJzZSBlbGVtZW50IHN1Y2ggYXMgRkxBQyBjaGVja3MgdXBzdHJlYW0gc2Vla2FiaWxpdHksIGFuZAoJICB0aGVyZSBpcyBzb21lIHVzZSBjYXNlcyB0aGF0IG1hdHJvc2thLWRlbXV4IGlzIGxpbmtlZCB0byBhIHBhcnNlIGVsZW1lbnQKCSAgKGUuZy4sRkxBQyBmb3JtYXQpIHdpdGhvdXQgaW50ZXJtZWRpYXRlIGVsZW1lbnRzIChlLmcuLCBxdWV1ZSkuCgkgIEluIHRoaXMgY2FzZSwgbWF0cm9za2EtZGVtdXggbmV2ZXIgcmV0dXJucyBmcm9tIF9wdXNoX2NvZGVjX2RhdGFfYWxsKCkKCSAgYmVjYXVzZSB0aGUgcGFyc2VyIGNhbiByZXR1cm4gb25seSBhZnRlciBpdCByZWNlaXZlcyB0aGUgcmVzcG9uc2UgdG8KCSAgdGhlIHVwc3RyZWFtIHF1ZXJ5LCBidXQgdGhhdCdzIG5vdCBnb2luZyB0byBoYXBwZW4gYmVjYXVzZSBpdCdzCgkgIGRlYWRsb2NrZWQuCgkgIEVsZW1lbnRzIG11c3Qgbm90IGhvbGQgdGhlIG9iamVjdCBsb2NrIHdoaWxzdCBwdXNoaW5nIG91dCBldmVudHMKCSAgb3IgZGF0YS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NjY0NQoKMjAxNi0wNS0xOSAxMjo0MzowMSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwY2xpZW50c2luay5jOgoJICBzb3VwaHR0cGNsaWVudHNpbms6IFNldCBzZW50X2J1ZmZlcnMgYW5kIHN0cmVhbWhlYWRlcl9idWZmZXJzIHRvIE5VTEwgYWZ0ZXIgZnJlZWluZwoJICBPdGhlcndpc2Ugd2UgbWlnaHQgdXNlIGFuIGFscmVhZHkgZnJlZWQgbGlzdCBsYXRlciBhbmQgY3Jhc2ggb3Igd29yc2UuCgoyMDE2LTA1LTE4IDE4OjMyOjU3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgdWRwc3JjOiBmaXggU2luY2UgdmVyc2lvbiBmb3IgbmV3ICJsb29wIiBwcm9wZXJ0eQoKMjAxNi0wNS0xNiAxNjoxODozNyArMDIwMCAgR3VpbGxhdW1lIERlc21vdHRlcyA8Z3VpbGxhdW1lLmRlc21vdHRlc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHBkZWMuYzoKCSAgcnRwZGVjOiBmaXggY2xvY2sgbGVhawoJICBnc3Rfc3lzdGVtX2Nsb2NrX29idGFpbigpIHJldHVybnMgYSBuZXcgcmVmLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY2NTIxCgoyMDE2LTA1LTE3IDA1OjMzOjM1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgdWRwc3JjOiBhZGQgZG9jIGJsdXJiIHdpdGggc2luY2UgbWFya2VyIGZvciBuZXcgImxvb3AiIHByb3BlcnR5CgoyMDE1LTExLTEzIDE1OjUyOjM1ICswMTAwICBEaW1pdHJpb3MgS2F0c2Fyb3MgPHBhdGNoZXJ3b3JrQGdtYWlsLmNvbT4KCgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkgIGF2aW11eDogYWRkIHN1cHBvcnQgZm9yIHBuZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU4MDU5CgoyMDE2LTA1LTE1IDIyOjA3OjE0ICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhwYXJ0cmVhZGVyLmM6CgkgIHNwbGl0bXV4c3JjOiBDb25uZWN0IHRvIGRlbXV4IHNpZ25hbHMgYmVmb3JlIGFjdGl2YXRpbmcKCSAgRml4IGEgcmFjZSBpbiBzcGxpdG11eHNyYyBieSBwcm9wZXJseSBjb25uZWN0aW5nIHRvIHRoZQoJICBkZW11eGVyIHNpZ25hbHMgd2UncmUgaW50ZXJlc3RlZCBpbiAqYmVmb3JlKiBzZXR0aW5nIGl0IHJ1bm5pbmcuCgoyMDE2LTA1LTE1IDEzOjMxOjM3ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLnNpZ25hbHM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pc29tcDQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12cHgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkgIGRvY3M6IFVwZGF0ZSBmb3IgZ2l0IG1hc3RlcgoKMjAxNi0wNS0xNSAxMjoxNjoyMyArMDIwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdwYXkuaDoKCSAgcnRwbXA0Z3BheTogRG9uJ3QgcHJvZHVjZSB0aW1lc3RhbXBzIGJhc2VkIG9uIGJ5dGUgY291bnQKCSAgVGhlIEdTVF9CVUZGRVJfT0ZGU0VUIG9mIG91dHB1dCBidWZmZXJzIHJldHVybmVkIHRvIEdzdFJ0cEJhc2VQYXlsb2FkCgkgIHNob3VsZCByZWZsZWN0IHRoZSBudW1iZXIgb2YgInNhbXBsZXMiIGluIHRoZSB1bml0IG9mIHRoZSBSVFAgY2xvY2sgaW4gdGhpcwoJICBidWZmZXIuIElmIHRoaXMgaXMgbm90IHRydWUsIHRoZW4gaXQgc2hvdWxkbid0IGJlIHNldC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MTk0MwoKMjAxNi0wNS0xNSAxMjoyNDowMyArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2EtbXV4OiBGaXggc3RyY21wIHVzYWdlCgkgIEp1c3QgdXNlIGdfc3RyY21wMCB3aGljaCBjYW4gaGFuZGxlIE5VTEwgZW50cmllcwoKMjAxNi0wMy0wNCAxMDoxNDowMCArMDEwMCAgQ2FybG9zIFJhZmFlbCBHaWFuaSA8ZHZAcHNldWRvdGVybWluYWwub3JnPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cGh0dHBzcmM6IFVzZSBhdWRpby94LXVuYWxpZ25lZC1yYXcgaW5zdGVhZCBvZiBhdWRpby94LXJhdyBmb3IgTDE2IGRhdGEKCSAgRGlyZWN0bHkgc2V0dGluZyBhdWRpby94LXJhdyBjYXBzIGxlYWRzIHRvIHByb2JsZW1zIHdoZW4gdGhlIGRlbGl2ZXJlZAoJICBkYXRhIGJsb2NrcyBkbyBub3QgYWxpZ24gcHJvcGVybHkgYXQgc2FtcGxlIGJvdW5kYXJpZXMgKGZvciBleGFtcGxlLCBhCgkgIGRhdGEgYmxvY2sgd2l0aCAzOTEgYnl0ZXMpLiBTbywgaW5zdGVhZCwgc2V0IGF1ZGlvL3gtdW5hbGlnbmVkLXJhdyB0bwoJICBsZXQgYSBwYXJzZXIgYmUgYXV0b3BsdWdnZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODk0NjAKCjIwMTYtMDUtMTIgMTE6NTI6MDkgKzA5MDAgIFNldW5naGEgWWFuZyA8c2gueWFuZ0BsZ2UuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IFBhcnNpbmcgZWxzdCBib3ggYmFzZWQgb24gdmVyc2lvbgoJICBzZWdtZW50X2R1cmF0aW9uIGFuZCBtZWRpYV90aW1lIHNob3VsZCBiZSBwYXJzZWQgYmFzZWQgb24gdmVyc2lvbgoJICBvZiBlbHN0IGJveC4gU3BlY2lmaWNhdGlvbiBkZWZpbmVzIHRoYXQgYW4gZWxzdCBib3ggd2l0aCB2ZXJzaW9uIDEKCSAgaGFzIHVpbnQ2NCBhbmQgaW50NjQgdmFsdWVzIGZvciBzZWdtZW50X2R1cmF0aW9uIGFuZCBtZWRpYV90aW1lLAoJICByZXNwZWN0aXZlbHkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjYzMDEKCjIwMTYtMDUtMTQgMTI6NTc6NDEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXBodHRwc3JjOiBjaGVjayBpZiByZXF1ZXN0IHdhcyBjYW5jZWxsZWQgd2hlbiBzZW5kaW5nIG1lc3NhZ2UKCSAgSXQgbWlnaHQgYmUgdGhhdCB0aGUgcmVxdWVzdCB3YXMgYWJvcnRlZCBieSB0aGUgYXBwbGljYXRpb24gYW5kCgkgIHdlIGNhbiByZXR1cm4gaW1tZWRpYXRlbGx5CgoyMDE2LTA1LTE0IDEyOjQzOjU0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwaHR0cHNyYzogcHJveHkgcmVzb2x2ZXIgaXMgb24gYnkgZGVmYXVsdAoJICBSZW1vdmUgZnJvbSB0aGUgc2Vzc2lvbiBjcmVhdGlvbiBwYXJhbWV0ZXJzCgoyMDE2LTA1LTE0IDEyOjE1OjQ4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvc291cC9NYWtlZmlsZS5hbToKCSAgc291cDogdXBkYXRlIGJ1aWxkIHRvIHdhcm4gYWJvdXQgbmV3ZXIgZGVwcmVjYXRlZCBmdW5jdGlvbnMKCSAgV2UgYWxyZWFkeSBkZXBlbmQgb24gMi40OAoKMjAxNi0wNS0xNCAxMTowOTozMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuaDoKCSAgc291cGh0dHBzcmM6IHJlZHVjZSByZWFkaW5nIGxhdGVuY3kgYnkgdXNpbmcgbm9uLWJsb2NraW5nIHJlYWQKCSAgTm9uLWJsb2NraW5nIHJlYWQgd2lsbCByZXR1cm4gdGhlIGFtb3VudCBvZiBkYXRhIGF2YWlsYWJsZSB3aXRob3V0CgkgIGJsb2NraW5nIHRvIHdhaXQgZm9yIHRoZSBmdWxsIHJlcXVlc3RlZCBzaXplLgoJICBUaGUgZG93bnNpZGUgaXMgdGhhdCBub3cgaXQgc291cGh0dHBzcmMgbmVlZHMgdG8gaGF2ZSBhIHdhaXRpbmcKCSAgbWVjaGFuaXNtIGluIGNhc2UgdGhlcmUgaXMgbm8gZGF0YSBhdmFpbGFibGUgeWV0IHRvIGF2b2lkIGJ1c3kKCSAgbG9vcGluZyBhcm9uZCB0aGUgaW5wdXRzdHJlYW0uCgoyMDE2LTA1LTE1IDEyOjMwOjUwICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBUYWtlIHRoZSBsb2NrIGFscmVhZHkgd2hlbiByZWFkaW5nIHRoZSBvdGhlciBzdGF0cywgbm90IGp1c3QgZm9yIHRoZSBoYXNoIHRhYmxlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjYwMjUKCjIwMTYtMDUtMTQgMTc6MDQ6NTcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbWF0cm9za2EvZWJtbC1yZWFkLmM6CgkgIG1hdHJvc2thOiB1c2UgbWF0aC1jb21wYXQuaCBmb3IgTkFOIGRlZmluZQoKMjAxNi0wNS0xNCAyMzozOToyMiArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c2luay5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c2luay5oOgoJICBzcGxpdG11eHNpbms6IFVzZSBHc3RCaW4gYXN5bmMtaGFuZGxpbmcgaW5zdGVhZCBvZiBvdXIgb3duLgoJICBTZXQgdGhlIGFzeW5jLWhhbmRsaW5nIHByb3BlcnR5IG9uIEdzdEJpbiB0byBsZXQgaXQgbWFuYWdlCgkgIGFzeW5jLWhhbmRsaW5nIGluc3RlYWQgb2YgdGhlIGxvY2FsIGhhbmRsaW5nIGZyb20gdGhlIHByZXZpb3VzCgkgIGNvbW1pdC4gV29ya3MgYmVjYXVzZSBvZiAjMTc0YTVlIGluIGNvcmUKCjIwMTYtMDUtMTMgMTA6MTc6MzMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmg6CgkgIHNvdXBodHRwc3JjOiByZWZhY3RvciB0byB1c2UgU291cCdzIHN5bmMgQVBJCgkgIFJlcGxhY2UgdGhlIGFzeW5jIEFQSSB3aXRoIHRoZSBzeW5jIEFQSSB0byByZW1vdmUgYWxsIHRoZSBleHRyYSBtYWlubG9vcAoJICBhbmQgY29udGV4dCBoYW5kbGluZy4gQ3VycmVudGx5IGl0IGJsb2NrcyByZWFkaW5nIHVudGlsICdibG9ja3NpemUnCgkgIGJ5dGVzIGFyZSBhdmFpbGFibGUgYnV0IHRoYXQgY2FuIGJlIGltcHJvdmVkIGJ5IHVzaW5nOgoJICBodHRwczovL2RldmVsb3Blci5nbm9tZS5vcmcvZ2lvL3Vuc3RhYmxlL0dQb2xsYWJsZUlucHV0U3RyZWFtLmh0bWwjZy1wb2xsYWJsZS1pbnB1dC1zdHJlYW0tcmVhZC1ub25ibG9ja2luZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkzOTExCgoyMDE2LTA1LTE0IDA0OjUwOjM2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zb3VwaHR0cHNyYy5jOgoJICB0ZXN0czogc291cGh0dHBzcmM6IHJlcGxhY2UgZGVwcmVjYXRlZCBBUEkKCSAgQXZvaWQgdXNpbmcgc291cF9zZXJ2ZXJfcnVuX2FzeW5jIGFuZCBvbGQgZ2V0X3BvcnQoKSBBUElzLAoJICByZXBsYWNlIHdpdGggbWUgc291cF9zZXJ2ZXJfbGlzdGVuIGFuZCBnZXQgdGhlIHBvcnQgdGhyb3VnaCB0aGUKCSAgVVJJcyBsaXN0IHJldHVybmVkIGZyb20gdGhlIHNlcnZlci4KCjIwMTYtMDUtMTQgMTI6MzQ6MTAgKzAyMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBVcGdyYWRlIGRlYnVnIG1lc3NhZ2UgdG8gZXJyb3IKCSAgSXQgY2F1c2VzIHRoZSBlbnRpcmUgcGlwZWxpbmUgdG8gZmFpbCwgaXQgc2hvdWxkIGJlIGVhc2llciB0byBmaW5kLgoKMjAxNi0wNS0xNCAxODozMjo1MiArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c2luay5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c2luay5oOgoJICBzcGxpdG11eHNpbms6IEhpZGUgaW50ZXJuYWwgYXN5bmMgc3RhdGUgY2hhbmdlcy4KCSAgV2hlbiBzd2l0Y2hpbmcgZnJhZ21lbnRzLCBoaWRlIHRoZSBhc3luYy1zdGFydC9hc3luYy1kb25lCgkgIG1lc3NhZ2VzIGZyb20gdGhlIHBhcmVudCBiaW4sIGFzIG90aGVyd2lzZSB3ZSBzb21ldGltZXMgKHZlcnkgcmFyZWx5KQoJICBoYW5nIGluIFBBVVNFRCBpbnN0ZWFkIG9mIHJldHVybmluZyAvIGNvbnRpbnVpbmcgdG8gUExBWUlORwoJICBzdGF0ZS4KCjIwMTYtMDUtMTMgMjE6MjA6MjggKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNpbmsuYzoKCSAgc3BsaXRtdXhzaW5rOiBSZW1vdmUgc3RyYXkgY2FycmlhZ2UtcmV0dXJuIGZyb20gZGVidWcKCjIwMTYtMDUtMTMgMTY6NDM6MjEgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJICBydHA6IFNoaXAgZ3N0cnRwajJrY29tbW9uLmggZmlsZSB0byBmaXggZGlzdGNoZWNrCgoyMDE1LTA0LTMwIDE0OjQzOjA0ICswMjAwICBKZXNwZXIgTGFyc2VuIDxrbm9yci5qZXNwZXJAZ21haWwuY29tPgoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSAgYXZpbXV4OiBEbyBub3Qgd3JpdGUgaW5kZXggYW5kIGhlYWRlciBpZiBpZHggaXMgTlVMTAoJICBGaXhlcyBjcml0aWNhbHMgd2l0aCBlLmcuCgkgIHZpZGVvdGVzdHNyYyBudW0tYnVmZmVycz0xICEgaWRlbnRpdHkgZHJvcC1wcm9iYWJpbGl0eT0xLjAgISBhdmltdXggISBmYWtlc2luawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ4NzAwCgoyMDE2LTA1LTEyIDA4OjQzOjM5IC0wNDAwICBBYXJvbiBCb3hlciA8Ym94ZXJhYkBnbWFpbC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGoya3BheS5jOgoJICBydHBqMmtwYXk6IG1hbmFnZSBUIHRpbGUgaW52YWxpZGF0aW9uIGJpdCBjb3JyZWN0bHksIHVwZGF0ZSB0aWxlIGlkIGluIGhlYWRlciBjb3JyZWN0bHkuCgkgIDEuIGFjY29yZGluZyB0byBSRkMsIFQgYml0IGlzIG9ubHkgc2V0IHdoZW4gZWl0aGVyIHRoZSBSVFAgcGFja2V0IG9ubHkgY29udGFpbnMgdGhlIEoySyBtYWluIGhlYWRlciwgb3IgdGhlIHBhY2tldCBjb250YWlucyB0aWxlIHBhcnRzIGZyb20gbXVsdGlwbGUgdGlsZXMuIFRoaXMgaXMgbm93IGJlaW5nIG1hbmFnZWQgY29ycmVjdGx5IGluIHRoZSBjb2RlLiBUaGUgc2Vjb25kIHNjZW5hcmlvIGNhbm5vdCBoYXBwZW4gd2l0aCBvdXIgcGF5bG9hZGVyLCBzaW5jZSB0aWxlIGhlYWRlcnMgYXJlIGFsd2F5cyBwbGFjZWQgaW4gdGhlaXIgb3duIFJUUCBwYWNrZXQsIGFuZCBzbyBhIHBhY2tldCBjYW5ub3QgY29udGFpbiB0aWxlIHBhcnRzIGZyb20gbXVsdGlwbGUgdGlsZXMuCgkgIEhvd2V2ZXIsIEkgaGF2ZSBhZGRlZCBjb2RlIHRvIHRyYWNrIGlmIG11bHRpcGxlIHRpbGUgcGFydHMgYXJlIGluY2x1ZGVkIGluIGEgc2luZ2xlIFJUUCBwYWNrZXQsIGluIGNhc2UgaW4gdGhlIGZ1dHVyZSB3ZSB3YW50IHRvIHB1dCBoZWFkZXIgYW5kIGRhdGEgaW4gc2FtZSBwYWNrZXQuCgkgIDIuIE9sZCBjb2RlIHdvdWxkIHNldCB0aGUgdGlsZSBpZCB0byB6ZXJvIGZvciBhbGwgSjJLIHBhY2tldHMuIFRoaXMgaXMgbm93IHNldCBjb3JyZWN0bHkgdG8gdGhlIGFwcHJvcHJpYXRlIHRpbGUgaWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDUxODcKCjIwMTYtMDUtMTIgMDg6NDE6NTEgLTA0MDAgIEFhcm9uIEJveGVyIDxib3hlcmFiQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwajJrcGF5LmM6CgkgIHJ0cGoya3BheTogbWFuYWdlIGZyYWdtZW50ZWQgaGVhZGVycyBjb3JyZWN0bHkKCSAgSjJLIG1haW4gaGVhZGVyIGZyYW1lbnRhdGlvbiBhY3Jvc3MgbXVsdGlwbGUgUlRQIHBhY2tldHMgaXMgbm93IGhhbmRsZWQgY29ycmVjdGx5CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDUxODcKCjIwMTYtMDUtMTEgMTU6MDQ6MjYgLTA0MDAgIEFhcm9uIEJveGVyIDxib3hlcmFiQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwajJrY29tbW9uLmg6CgkqIGdzdC9ydHAvZ3N0cnRwajJrZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqMmtkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGoya3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGoya3BheS5oOgoJICBydHBqMms6IG1vdmUgY29tbW9uIGNvZGUgdG8gc2hhcmVkIGhlYWRlciwgY29kZSBjbGVhbiB1cAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1MTg3CgoyMDE2LTA1LTExIDE1OjAxOjMyIC0wNDAwICBBYXJvbiBCb3hlciA8Ym94ZXJhYkBnbWFpbC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGoya2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwajJrcGF5LmM6CgkgIHJ0cGoyazogdXBkYXRlIGRvY3VtZW50YXRpb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTE4NwoKMjAxNi0wNS0xMiAxNDo0Mzo0MyArMDIwMCAgUGF0cmljaWEgTXVzY2FsdSA8cGF0cmljaWFAYXhpcy5jb20+CgoJKiBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLmM6CgkqIGdzdC9hdXBhcnNlL2dzdGF1cGFyc2UuaDoKCSAgYXVwYXJzZTogRml4IHN0aWNreSBldmVudCBtaXNvcmRlcmluZyB3YXJuaW5nCgkgIE1ha2Ugc3VyZSB0aGF0IHNyYyBwYWQgaGFzIGNhcHMgYmVmb3JlIHNlbmRpbmcgc2VnbWVudCBldmVudC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NjM1OQoKMjAxNi0wNS0xMSAwOToyODoxMyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogRG9uJ3Qgbm90aWZ5IGFib3V0IHN0YXRzIHByb3BlcnR5IGNoYW5nZXMgd2hpbGUgdGFraW5nIHRoZSBzZXNzaW9uIGxvY2sKCSAgVGhlIHNpZ25hbCBoYW5kbGVycyBtaWdodCB3YW50IHRvIGFjdHVhbGx5IGdldCB0aGUgdmFsdWUgb2YgdGhlIHN0YXRzCgkgIHByb3BlcnR5LCB3aGljaCB3b3VsZCB0YWtlIHRoZSBzZXNzaW9uIGxvY2sgYWdhaW4gYW5kIGRlYWRsb2NrLgoJICBUaGlzIHdhcyBpbnRyb2R1Y2VkIGJ5IDJlOTYwZTcwNzUwYTBjYjdlMTExN2QwYzA5ZDA4NTk3ODY2YTI5ZWUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjYwMjUKCjIwMTYtMDUtMDMgMTM6NTk6NTQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBpbXByb3ZlIGVkdHMgc2VnbWVudCBoYW5kbGluZyBhZnRlciBzZWVrcyBpbiBwdXNoIG1vZGUKCSAgUHJvcGVybHkgaGFuZGxlIGVkdHMgc2VnbWVudHMgZm9yIHB1c2gtYmFzZWQgb3BlcmF0aW9uIHNlZWtpbmcuCgkgIFdlIG9ubHkgc3VwcG9ydCBlZHRzIHRoYXQgYSBzaW5nbGUgc2VnbWVudCB0aGF0IGhhcyBtZWRpYSBhdCB0aGUgZW5kLAoJICBiZWluZyBwcmVjZWVkZWQgYnkgYW55IG51bWJlciBvZiBnYXAgc2VnbWVudHMuCgkgIFRoaXMgYWxzbyBhbGxvd3MgdGhlIHF0IHNlZ21lbnQgcmF0ZSB0byBiZSByZXNwZWN0ZWQgYWZ0ZXIgc2Vla3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NTY2OQoKMjAxNi0wNS0wMyAxMDo0MTowNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHByb3Blcmx5IGFjdGl2YXRlIHNlZ21lbnQgd2l0aCByYXRlICE9IDEuMAoJICBBbHNvIHVzZSB0aGUgcXQgcmF0ZSB0byBpZGVudGlmeSB0aGUgcG9zaXRpb24gd2l0aGluIGEgcXQgc2VnbWVudAoJICB0byBwcm9wZXJseSB0cmFuc2xhdGUgcGxheWJhY2sgdGltZSB0byBxdCBtZWRpYSB0aW1lCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjU2NjkKCjIwMTYtMDUtMDMgMTE6NDU6MDEgKzAyMDAgIEhhdmFyZCBHcmFmZiA8aGF2YXJkLmdyYWZmQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBGaXggc3RhbGwgd2hlbiByZWNlaXZpbmcgYWxyZWFkeSBsb3N0IHBhY2tldAoJICBXaGVuIGEgcGFja2V0IGFycml2ZXMgdGhhdCBoYXMgYWxyZWFkeSBiZWVuIGNvbnNpZGVyZWQgbG9zdCBhcyBwYXJ0IG9mIGEKCSAgbGFyZ2UgZ2FwIHRoZSAibG9zdCB0aW1lciIgZm9yIHRoaXMgd2lsbCBiZSBjYW5jZWxsZWQuIElmIHRoZSByZW1haW5pbmcKCSAgcGFja2V0cyBvZiB0aGlzIGxhcmdlIGdhcCBuZXZlciBhcnJpdmVzLCB0aGVyZSB3aWxsIGJlIG1pc3NpbmcgZW50cmllcwoJICBpbiB0aGUgcXVldWUgYW5kIHRoZSBsb29wIGZ1bmN0aW9uIHdpbGwga2VlcCB3YWl0aW5nIGZvciB0aGVzZSBwYWNrZXRzCgkgIHRvIGFycml2ZSBhbmQgbmV2ZXIgcHVzaCBhbm90aGVyIHBhY2tldCwgZWZmZWN0aXZlbHkgc3RhbGxpbmcgdGhlCgkgIHBpcGVsaW5lLgoJICBUaGUgcHJvcG9zZWQgZml4IGNvbmNpZGVycyBwYXJ0cyBvZiBhIGxhcmdlIGdhcCBkZWZpbml0ZWx5IGxvc3QgKHNpbmNlCgkgIHRoZXkgYXJlIGNhbGN1bGF0ZWQgZnJvbSBsYXRlbmN5KSBhbmQgaWdub3JlcyB0aGUgbGF0ZSBhcnJpdmFscy4KCSAgSW4gcHJhY3RpY2UgdGhlIGlzc3VlIGlzIHJhcmUgc2luY2UgbGFyZ2UgZ2FwcyBhcmUgc2NoZWR1bGVkIGltbWVkaWF0ZWx5LAoJICBhbmQgZm9yIHRoZSBzdGFsbCB0byBoYXBwZW4gdGhlIGxhdGUgYXJyaXZhbCBuZWVkcyB0byBiZSBwcm9jZXNzZWQKCSAgYmVmb3JlIHRoaXMgdGltZXMgb3V0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY1OTMzCgoyMDE2LTA1LTA1IDE0OjE4OjIxICswMjAwICBNaWd1ZWwgUGFyw61zIETDrWF6IDxtcGFyaXNkaWF6QGdtYWlsLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogVGFrZSBzZXNzaW9uIGxvY2sgd2hlbiBjcmVhdGluZyBzdGF0cwoJICBUaGUgYWNjZXNzIHRvIHRoZSBzZXNzaW9uIGhhc2ggdGFibGUgbXVzdCBoYXBwZW4gd2hpbGUgdGhlIHNlc3Npb24gbG9jayBpcwoJICB0YWtlbiwgb3RoZXJ3aXNlIGFub3RoZXIgdGhyZWFkIG1pZ2h0IG1vZGlmeSB0aGUgaGFzaCB0YWJsZSB3aGlsZSB3ZSdyZQoJICBjcmVhdGluZyB0aGUgc3RhdHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjYwMjUKCjIwMTYtMDUtMDMgMjE6MTc6MDEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiB1cGRhdGUgc2VnbWVudCB3aGVuIG5ldyBkdXJhdGlvbiBpcyBmb3VuZAoJICBPdGhlcndpc2UgdGhlIG9sZCBzZWdtZW50IHdpbGwgaGF2ZSBhIHNob3J0ZXIgc3RvcCB0aW1lIGFuZCB3b3VsZAoJICBjYXVzZSB0aGUgc3RyZWFtIHRvIGVuZCB0b28gZWFybHkuCgoyMDE2LTA1LTA0IDExOjM3OjI5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZGlzbWVtYmVyIGFjdGl2YXRlX3NlZ21lbnQgaW50byAyIHBhcnRzCgkgIE9uZSB0aGF0IHVwZGF0ZXMgYW5kIHB1c2ggYSBuZXcgc2VnbWVudCwgdGhlIG90aGVyIHdpbGwgbW92ZSB0aGUKCSAgc3RyZWFtIHRvIHRoZSBuZXcgc2VnbWVudCBzdGFydGluZyBwb3NpdGlvbgoKMjAxNi0wNS0wNCAwOTozMDoyNyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kdi9nc3RkdmRlYy5jOgoJKiBleHQvZHYvZ3N0ZHZkZW11eC5jOgoJICBkdjogVXNlIGNvcnJlY3QgcGl4ZWwtYXNwZWN0LXJhdGlvIHZhbHVlcwoJICBUaGUgcHJldmlvdXMgb25lcyByZXN1bHRlZCBpbiBvZGQgZGlzcGxheSBhc3BlY3QgcmF0aW9zIGFuZCB3ZXJlIGRpZmZlcmVudAoJICBmcm9tIHRoZSBvbmVzIHVzZWQgYnkgZS5nLiBmZm1wZWcuIFRoZSBuZXcgb25lcyBub3cgcmVzdWx0IGluIGRpc3BsYXkgYXNwZWN0CgkgIHJhdGlvcyBvZiA0OjMgYW5kIDE2OjkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjU5NDYKCjIwMTUtMTEtMDkgMTc6NTU6MDkgKzAxMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zcGxpdG11eC5jOgoJICB0ZXN0czogYWRkIHNwbGl0bXV4c3JjIHRlc3QgZm9yIG5ldyAiZm9ybWF0LWxvY2F0aW9uIiBzaWduYWwKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MzYyNQoKMjAxNS0xMS0wOSAxNzo1MToxMiArMDEwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzcmMuYzoKCSAgc3BsaXRtdXhzcmM6IGFkZCBhIGZvcm1hdC1sb2NhdGlvbiBzaWduYWwgdGhhdCBhbGxvd3MgYnlwYXNzaW5nIHRoZSBsb2NhdGlvbiBwcm9wZXJ0eQoJICBUaGlzIHNpZ25hbCBhbGxvd3MgYSB1c2VyIHRvIGRpcmVjdGx5IHJldHVybiBhIHNvcnRlZCBsaXN0IG9mCgkgIGZpbGVzIHRvIGJlIGpvaW5lZCwgc28gdGhhdCB0aGV5IGRvbid0IGhhdmUgdG8gZm9sbG93IHRoZQoJICBmaWxlbmFtZSBwYXR0ZXJuIHRoYXQgdGhlICJsb2NhdGlvbiIgcHJvcGVydHkgZXhwZWN0cy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MzYyNQoKMjAxNi0wNS0wNCAxMToxNToyMCAtMDQwMCAgWGF2aWVyIENsYWVzc2VucyA8eGF2aWVyLmNsYWVzc2Vuc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNpbmsuYzoKCSAgc3BsaXRtdXhzaW5rOiBGaXggZGVhZGxvY2sgY2FzZSB3aGVuIHNvdXJjZSByZWFjaGVzIEVPUwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY1MDcyCgoyMDE2LTA1LTAzIDIyOjU5OjI3IC0wNzAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIHdhdnBhcnNlOiBzaW1wbGlmeSBhbmQgY29ycmVjdCBoZWFkZXIgc2Nhbm5pbmcKCSAgVGhlIHdhdiBzcGVjIHRlbGxzIHRoYXQgJ2ZtdCcgKGFuZCAnYmV4dCcgaWYgcHJlc2VudCkgbXVzdCBjb21lIGJlZm9yZSAnZGF0YScuCgkgIFRoZXJlIGlzIG5vIHJlcXVpcmVtZW50IGZvciAnZm10JyB0byBiZSBmaXJzdC4gV2UgYWxyZWFkeSBoYWQgYSBsaXN0IG9mIGNodW5rcwoJICB0byBza2lwLCBidXQgaXQgaXMgZWFzaWVyIHRvIGp1c3Qgc2tpcCBhbnkgY2h1bmsgd2hpbGUgc2Vla2luZyBmb3IgJ2ZtdCcuCgkgIFRoaXMgZml4ZXMgcmVhZGluZyBmaWxlcyBnZW5lcmF0ZWQgYnkgUHJvVG9vbHMuCgoyMDE2LTA0LTMwIDIyOjE1OjEzICswOTAwICBIeXVuanVuIEtvIDx6em9vbkBpZ2FsaWEuY29tPgoKCSogc3lzL29zeGF1ZGlvL01ha2VmaWxlLmFtOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW8uYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvZGV2aWNlcHJvdmlkZXIuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvZGV2aWNlcHJvdmlkZXIuaDoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zaW5rLmg6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NyYy5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zcmMuaDoKCSAgb3N4YXVkaW86IFN1cHBvcnQgYXVkaW8gZGV2aWNlIHByb3ZpZGVyIG9uIG9zeAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzMjY1CgoyMDE2LTA1LTAxIDE1OjA5OjI3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtbmF1d0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJICBhdmltdXg6IHNldCBhdWRpbyBoZWFkZXIgcmF0ZSBhY2NvcmRpbmcgdG8gY2FsY3VsYXRlZCBicHMgaW4gc3RvcF9maWxlCgkgIC4uLiBub3cgdGhhdCBzZXRfZmllbGRzIGlzIG5vIGxvbmdlciBjYWxsZWQgdGhlcmUgYnkKCSAgZTUzODYwOGIzZjkwNTM5MDAzZGUyMWMxZGIyMzhmM2M5Yjk0NmUzMAoKMjAxNi0wNC0yOSAxNTowNDoxMSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguaDoKCSAgcXRkZW11eDogU3RvcmUgdGhlIHNlZ21lbnQgc2VxdWVuY2UgbnVtYmVyIGluIHRoZSBFT1MgZXZlbnRzIGFuZCBTRUdNRU5UX0RPTkUgZXZlbnRzL21lc3NhZ2UKCSAgQWxzbyBpbnN0ZWFkIG9mIHN0b3JpbmcgaXQgcGVyIHN0cmVhbSwgc3RvcmUgaXQgZ2xvYmFsbHkgaW4gdGhlIGRlbXV4ZXIuIEl0J3MKCSAgdGhlIHNhbWUgZm9yIGVhY2ggc3RyZWFtIGFueXdheS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NTgwNgoKMjAxNi0wNC0xMSAxMDo1NDozOCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIHVkcHNyYzogQWx3YXlzIGJpbmQgdG8gQU5ZIHdoZW4gYWRkcmVzcyBpcyBhIG11bHRpY2FzdCBhZGRyZXNzIGFuZCBub3Qgb25seSBvbiBXaW5kb3dzCgkgIEZvciBJUHY2IGFkZHJlc3NlcywgYmluZGluZyB0byBhIG11bHRpY2FzdCBncm91cCBkb2VzIG5vdCB3b3JrIG9uIExpbnV4CgkgIGVpdGhlci4gQWx3YXlzIGJpbmQgdG8gQU5ZIGFuZCB0aGVuIGxhdGVyIGpvaW4gdGhlIG11bHRpY2FzdCBncm91cC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NDY3OQoKMjAxNi0wNC0yNiAxNzowMTo0OSArMDgwMCAgU29uZyBCaW5nIDxiMDY0OThAZnJlZXNjYWxlLmNvbT4KCgkqIHN5cy94aW1hZ2UveGltYWdldXRpbC5jOgoJICB4aW1hZ2V1dGlsOiBzaG91bGRuJ3QgaW1wbGVtZW50IHRyYW5zZm9ybSBpZiBkb24ndCBzdXBwb3J0IGl0CgkgIHNob3VsZG4ndCBpbXBsZW1lbnQgdHJhbnNmb3JtIGlmIGRvbid0IHN1cHBvcnQgaXQuIE9yIGdzdF9idWZmZXJfY29weV9pbnRvKCkKCSAgd2lsbCBwcmludCBFUlJPUiBsb2cuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjU1ODMKCjIwMTYtMDQtMjggMTY6MjQ6NTIgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXhtYXAuYzoKCSAgcXRtdXg6IEFsbG93IE1QRUctMSBMYXllciAxIGFuZCAyIGluIGFkZGl0aW9uIHRvIDMgaW4gTVA0CgkgIFZpYSB0aGUgTVBFRy00IFBhcnQgMyBzcGVjIHdlIGNhbiBzdXBwb3J0IHRoZSBvdGhlciBsYXllcnMgdG9vLgoJICBBbHNvIGNvcnJlY3QgdGhlIHNhbXBsZXMgcGVyIGZyYW1lIGNhbGN1bGF0aW9uIGZvciBNUDMgaWYgaXQncyBNUEVHLTIgb3IKCSAgTVBFRy0yLjUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjU3MjUKCjIwMTYtMDQtMjcgMjA6NDY6MzQgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgcnRzcHNyYzogVXBkYXRlIGNhcHMgZm9yIFRDUCB3aGVuZXZlciB0aGV5IGNoYW5nZQoJICBXZSBvbmx5IGNoYW5nZWQgdGhlbSBmb3IgVURQIHNvIGZhciwgd2hpY2ggY2F1c2VkIHRoZSB3cm9uZyBzZXFudW0tYmFzZSBhbmQKCSAgb3RoZXIgaW5mb3JtYXRpb24gdG8gYmUgcGFzc2VkIHRvIHJ0cGppdHRlcmJ1ZmZlci9ldGMgd2hlbiBzZWVraW5nLiBUaGlzCgkgIHVzdWFsbHkgd2Fzbid0IHRoYXQgbXVjaCBvZiBhIHByb2JsZW0gYXMgdGhlIGNvZGUgdGhlcmUgaXMgcm9idXN0IGVub3VnaCwgYnV0CgkgIGV2ZXJ5IG5vdyBhbmQgdGhlbiBpdCBjYXVzZXMgdXMgdG8gZHJvcCB1cCB0byAzMjc1NiBwYWNrZXRzIGJlZm9yZSB3ZQoJICBjb250aW51ZSBkb2luZyBhbnl0aGluZyBtZWFuaW5nZnVsLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY1Njg5CgoyMDE2LTA0LTI3IDIwOjMzOjM4ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogRW5zdXJlIHRvIG5vdCB0YWtlIGNhcHMgd2l0aCB0aGUgd3JvbmcgcHQgZm9yIGdldHRpbmcgdGhlIGNsb2NrLXJhdGUKCSAgRXNwZWNpYWxseSB0aGUgY2FwcyBvbiB0aGUgcGFkIG1pZ2h0IGJlIG91dCBvZiBkYXRlLCBhbmQgdGhlIG5ldyBjYXBzIHdvdWxkIGJlCgkgIHByb3ZpZGVkIGZvciB0aGUgY3VycmVudCBwdCB2aWEgdGhlIHJlcXVlc3QtcHQtbWFwIHNpZ25hbC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NTY4OQoKMjAxNi0wNC0yNyAxODoyNzoxNyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogRG9uJ3QgcHJvcGFnYXRlIHNwdXJpb3VzIHN0YXRlIGNoYW5nZSByZXR1cm5zIGZyb20gaW50ZXJuYWwgZWxlbWVudHMgZnVydGhlcgoJICBXZSBoYW5kbGUgdGhlbSBpbnNpZGUgcnRzcHNyYyBhbmQgb3ZlcnJpZGUgdGhlbSBpbiBhbGwgb3RoZXIgY2FzZXMgYW55d2F5LCBzbwoJICBkbyB0aGUgc2FtZSBmb3IgImludGVybmFsIiBzdGF0ZSBjaGFuZ2VzIGxpa2UgUEFVU0VELT5QQVVTRUQgYW5kCgkgIFBMQVlJTkctPlBMQVlJTkcuCgkgIFRoaXMga2VlcHMgdW5leHBlY3RlZCBOT19QUkVST0xMIHRvIGNvbmZ1c2Ugc3RhdGUgY2hhbmdlcyBpbiBHc3RCaW4uCgkgIFNlZSBhbHNvIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjA1MzIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NTY4OQoKMjAxNi0wNC0yNyAxNDowOTowMyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkgIGF2aW11eDogRG9uJ3Qgb3ZlcnJpZGUgbWF4aW11bSBhdWRpbyBjaHVuayBzaXplIHdpdGggdGhlIHNjYWxlIGFnYWluIGp1c3QgYmVmb3JlIHdyaXRpbmcgaXQKCSAgc2V0X2ZpZWxkcygpIHNob3VsZCBvbmx5IGJlIGNhbGxlZCBpbiB0aGUgYmVnaW5uaW5nLCBvdGhlcndpc2Ugd2Ugd2lsbCBuZXZlcgoJICByZW1lbWJlciB0aGUgbWF4aW11bSBhdWRpbyBjaHVuayBzaXplIGFuZCB3cml0ZSBhIHdyb25nIGJsb2NrIGFsaWduLi4uIHdoaWNoCgkgIHRoZW4gY2F1c2VzIHdyb25nIHRpbWVzdGFtcHMgYW5kIG90aGVyIHByb2JsZW1zLgoKMjAxNi0wNC0yNyAxMzo1MzowMCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkgIGF2aW11eDogQWN0dWFsbHkgc3RvcmUgdGhlIGxhcmdlc3QgYXVkaW8gY2h1bmsgc2l6ZSBmb3IgdGhlIFZCUiBjYXNlIG9mIE1QMi9NUDMKCSAgM2VhMzM4Y2UyNzFlMWY2YTk2ZDJlZDQ5ZDQ0NzJiMDkxZjZmOGI3ZSBjaGFuZ2VkIGF2aW11eCB0byBkbyB0aGF0LCBidXQgaXQKCSAgbmV2ZXIgYWN0dWFsbHkga2VwdCB0cmFjayBvZiB0aGUgbWF4IGF1ZGlvIGNodW5rIGZvciBNUDMgYW5kIE1QMi4gVGhlc2UgYXJlCgkgIGtub3dpbmcgdGhlIGhkci5zY2FsZSBvbmx5IGFmdGVyIHBhcnNpbmcgdGhlIGZyYW1lcyBpbnN0ZWFkIG9mIGF0IHNldGNhcHMKCSAgdGltZS4KCjIwMTYtMDQtMjUgMTU6MDM6MTQgKzAyMDAgIE1hdHMgTGluZGVzdGFtIDxtYXRzbG1AYXhpcy5jb20+CgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJICBtdWx0aXVkcHNpbms6IEFsbG93IHNldHRpbmcgInNvY2tldC12NiIgd2l0aG91dCBzZXR0aW5nICJzb2NrZXQiIHRvbwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY0ODk3CgoyMDE2LTA0LTIyIDE1OjAyOjE2ICswMTAwICBNYXJpbyBTYW5jaGV6IFByYWRhIDxtYXJpb0BlbmRsZXNzbS5jb20+CgoJKiBleHQvdnB4L2dzdHZweGVuYy5jOgoJICB2cHhlbmM6IFByb3Blcmx5IGhhbmRsZSBmcmFtZXMgd2l0aCB0b28gbG93IGR1cmF0aW9uCgkgIFdoZW4gYSBmcmFtZSdzIGR1cmF0aW9uIGlzIHRvbyBsb3csIGNhbGxpbmcgZ3N0X3V0aWxfdWludDY0X3NjYWxlKCkKCSAgdG8gc2NhbGUgaXRzIHZhbHVlIGNhbiByZXN1bHQgaW50byBpdCBiZWluZyB0cnVuY2F0ZWQgdG8gemVybywgd2hpY2gKCSAgd2lsbCBjYXVzZSB0aGUgdnB4IGVuY29kZXIgdG8gcmV0dXJuIGFuIFZQWF9DT0RFQ19JTlZBTElEX1BBUkFNIGVycm9yCgkgIHdoZW4gdHJ5aW5nIHRvIGVuY29kZS4KCSAgVG8gcHJldmVudCB0aGlzIGZyb20gaGFwcGVuaW5nLCB3ZSBzaW1wbHkgaWdub3JlIHRoZSBkdXJhdGlvbiB3aGVuCgkgIGVuY29kaW5nIGlmIGl0IGJlY29tZXMgemVybyBhZnRlciBzY2FsaW5nLCBsb2dnaW5nIGEgd2FybmluZyBtZXNzYWdlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY1MzkxCgoyMDE2LTA0LTIyIDE1OjQ4OjA4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBmaXggZGVzY3JpcHRpb24gb2YgbGluZWFyIGludGVybGFjaW5nIG1ldGhvZAoKMjAxNi0wNC0yMSAxNDowODoxOSAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAZ25vbWUub3JnPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSAgZmx2OiBIYW5kbGUgdGhlIGNhc2Ugd2hlcmUgd2UgZG8gbm90IGdldCBhbnkgQ29sbGVjdERhdGEgaW4gaGFuZGxlX2J1ZmZlcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY1MzIwCgoyMDE2LTA0LTExIDIyOjQxOjIwICswOTAwICBTZXVuZ2hhIFlhbmcgPHNoLnlhbmdAbGdlLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBEbyBub3QgdXNlIHVucmVsaWFibGUgZnJhbWVyYXRlCgkgIHRpbWVzY2FsZS8xIGlzIHVucmVsaWFibGUgdmFsdWUgZm9yIGZyYW1lcmF0ZS4gRHVlIHRvIGRvd25zdHJlYW0KCSAgZWxlbWVudCB1c3VhbGx5IHVzZSBmcmFtZXJhdGUgZ2VuZXJhdGVkIGJ5IHF0ZGVtdXgsIGxldCBpdCBiZSBvbWl0dGVkCgkgIHVudGlsIHRoZSBmcmFtZXJhdGUgY2FuIGJlIHJlbGlhYmx5IGNhbGN1bGF0ZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjQ3MzMKCjIwMTYtMDQtMjEgMTI6NTM6MzMgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4Lmg6CgkgIFJldmVydCAicXRkZW11eDogZXhwb3NlIHN0cmVhbXMgd2l0aCBmaXJzdCBtb29mIGZvciBmcmFnbWVudGVkIGZvcm1hdCIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCBkOGJiNjY4N2VhMjUxNTcwYzMzMTAzODI3OWE0M2Q0NDgxNjdkNmFkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY0NzMzCgoyMDE2LTAyLTA5IDE3OjE3OjA5ICswMDAwICBBbGV4IEFzaGxleSA8YnVnemlsbGFAYXNobGV5LWZhbWlseS5uZXQ+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogc3VwcG9ydCBzZWVraW5nIG9mIENFTkMgZW5jcnlwdGVkIHN0cmVhbXMKCSAgV2hlbiBwbGF5aW5nIGEgc3RyZWFtIHRoYXQgaGFzIGJlZW4gcHJvdGVjdGVkIGJ5IERBU0ggQ0VOQywgcGxheWJhY2sKCSAgd2lsbCBmYWlsIGlmIGEgc2VlayBpcyBwZXJmb3JtZWQuIFF0ZGVtdXggcHJvZHVjZXMgdGhlIGVycm9yICJzdHJlYW0KCSAgaXMgcHJvdGVjdGVkIHVzaW5nIGNlbmMsIGJ1dCBubyBjZW5jIHByb3RlY3Rpb24gc3lzdGVtIGluZm9ybWF0aW9uCgkgIGhhcyBiZWVuIGZvdW5kIiBhbmQgcGxheWJhY2sgc3RvcHMuCgkgIFRoZSBwcm9ibGVtIGlzIHRoYXQgZ3N0X3F0ZGVtdXhfcmVzZXQoKSBnZXRzIGNhbGxlZCBhcyBwYXJ0IG9mIHRoZQoJICBGTFVTSCBkdXJpbmcgYSBzZWVrLiBUaGlzIGZ1bmN0aW9uIGZyZWVzIHRoZSBwcm90ZWN0aW9uX3N5c3RlbV9pZHMKCSAgYXJyYXkuIFdoZW4gZ3N0X3F0ZGVtdXhfY29uZmlndXJlX3Byb3RlY3RlZF9jYXBzKCkgaXMgY2FsbGVkIGFmdGVyIHRoZQoJICBzZWVrIGhhcyBjb21wbGV0ZWQsIHRoZSBwcm90ZWN0aW9uX3N5c3RlbV9pZHMgYXJyYXkgaXMgZW1wdHkgYW5kCgkgIHF0ZGVtdXggaXMgdW5hYmxlIHRvIGNyZWF0ZSB0aGUgY29ycmVjdCBvdXRwdXQgY2FwcyBmb3IgdGhlIHByb3RlY3RlZAoJICBzdHJlYW0uCgkgIFRoaXMgY29tbWl0IGNoYW5nZXMgaXQgdG8gb25seSBmcmVlIHRoZSBwcm90ZWN0aW9uX3N5c3RlbV9pZHMgb24KCSAgaGFyZCByZXNldHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjE3ODcKCjIwMTYtMDQtMTggMTQ6MzM6MTAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5oOgoJICB1ZHBzcmM6IGFkZCAicmV0cmlldmUtc2VuZGVyLWFkZHJlc3MiIHByb3BlcnR5CgkgIFRoaXMgYWxsb3dzIGRpc2FibGluZyBvZiBzZW5kZXIgYWRkcmVzcyByZXRyaWV2YWwsIHdoaWNoIG1pZ2h0CgkgIGJlIHVzZWZ1bCBpbiBjZXJ0YWluIHNjZW5hcmlvcywgbGlrZSB3aGVuIHRoZSBzb2NrZXQgaXMgY29ubmVjdGVkLAoJICBvciB0aGUgc2VuZGVyIGFkZHJlc3MgaXMgbm90IG9mIGludGVyZXN0IChlLmcuIHdoZW4gcmVjZWl2aW5nIGFuCgkgIE1QRUctVFMgc3RyZWFtKS4gRGlzYWJsaW5nIHNlbmRlciBhZGRyZXNzIHJldHJpZXZhbCBpbiB0aG9zZQoJICBjYXNlcyBjYW4gaGF2ZSBtaW5vciBwZXJmb3JtYW5jZSBhZHZhbnRhZ2VzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTYzMzIzCgoyMDE1LTExLTI2IDEzOjE1OjA2ICswMTAwICBEaW1pdHJpb3MgS2F0c2Fyb3MgPHBhdGNoZXJ3b3JrQGdtYWlsLmNvbT4KCgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSAgdjRsMjogQ2hhbmdlIHdhcm5pbmcgaGFuZGxpbmcgdG8gYnJlYWsgaW5maW5pdGUgbWVzc2FnZSBsb29wCgkgIHY0bDJzcmMgY2FuIGNhdXNlIGFuICJpbmZpbml0ZSBtZXNzYWdlIGxvb3AiIHdoZW4gYSBiYXNlIGNvbnRyb2wgZXhwb3NlZCBhcyBhCgkgIHByb3BlcnR5IGlzIG5vdCBwcm92aWRlZCBieSB0aGUgZGV2aWNlLiBJbiB0aGVzZSBjYXNlcywgaWYgaW4gdGhlIHdhcm5pbmcgbWVzc2FnZQoJICBoYW5kbGluZyBmb3IgdGhlIGJ1cywgdGhlIEdTVF9ERUJVR19CSU5fVE9fRE9UX0ZJTEUqIGNhdGVnb3J5IG9mIGZ1bmN0aW9ucyBhcmUgdXNlZCwKCSAgdGhlIHNyYyBsb29rdXAgY2F1c2VzIGEgbmV3IHdhcm5pbmcgdG8gYmUgcG9zdGVkIG9uIHRoZSBidXMsIGNhdXNpbmcgYSBsb29wLgoJICBUaGlzIHBhdGNoIGNoYW5nZXMgdGhlIHdhcm5pbmcgZm9yIHRoZXNlIGNvbnRyb2xzIHNvIHRoZXkgYXJlIG5vdCBwb3N0ZWQgb24gdGhlIGJ1cy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1ODcwMwoKMjAxNi0wNC0xNSAxMDo0NDowMiAtMDQwMCAgWGF2aWVyIENsYWVzc2VucyA8eGF2aWVyLmNsYWVzc2Vuc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNpbmsuYzoKCSAgc3BpdG11eHNpbms6IEF2b2lkIGNyZWF0aW5nIHNtYWxsIGZpbGUgYXQgRU9TCgkgIFdoZW4gRU9TIGlzIHJlYWNoZWQsIHRoZSBjdXJyZW50IGZpbGUgZ2V0IGNsb3NlZCBhbmQgdGhlIGxhc3QKCSAgR09QIGluIHRoZSBtcSB3YXMgd3JpdHRlbiBpbiBhIG5ldyBmaWxlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY1MDcyCgoyMDE2LTA0LTE1IDE5OjU5OjE1ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F1ZGlvZngvZ3N0c2NhbGV0ZW1wby5jOgoJICBzY2FsZXRlbXBvOiBTMTYgdXNlcyBTMzIgdGVtcG9yYXJ5IGJ1ZmZlcnMsIGZsb2F0L2RvdWJsZSB0aGVpciBvd24gdHlwZQoJICBNYWtlIHN1cmUgdG8gYWxsb2NhdGUgbm90IG9ubHkgYSBTMTYgYnVmZmVyIGZvciBTMTYgYnV0IGEgdHdpY2UgYXMgYmlnIG9uZSB0bwoJICBob2xkIFMzMi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NTExNgoKMjAxNi0wNC0xNiAwMjoxNzoyNiArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIFJldmVydCAicHVsc2VzaW5rOiB1bmNvcmsgaWYgbmVlZGVkIHVwb24gY29tbWl0IgoJICBUaGlzIHJldmVydHMgY29tbWl0IDBkZDQ2YWNjZjZkMjgyZmYwNzA2NTg1MmJkOTFjODVjNzhhZjMzOTQuCgkgIFdpdGggc29tZSBhdWRpb3NpbmtzLCBzdGFydGluZyB0aGUgcmluZ2J1ZmZlciBvbiB0aGUgZmlyc3QgY29tbWl0CgkgIGNhdXNlcyBhdWRpbyBnbGl0Y2hlcyBhdCBzdGFydHVwIGJ5IHN0YXJ0aW5nIHRvIG91dHB1dCBzZWdtZW50cwoJICBmcm9tIHRoZSByaW5nYnVmZmVyIGJlZm9yZSBpdCBoYXMgYmVlbiBmaWxsZWQgLyBmdWxseSBwcmVyb2xsZWQuIFRoaXMKCSAgZG9lc24ndCB1c3VhbGx5IGhhcHBlbiB3aXRoIHB1bHNlc2luayBiZWNhdXNlIHdlIG1hcCB0aGUgcHVsc2VhdWRpbwoJICByaW5nYnVmZmVyIGRpcmVjdGx5LCBidXQgd2Ugc2hvdWxkIGtlZXAgdGhpbmdzIGNvbnNpc3RlbnQgd2l0aAoJICBvdGhlciBzaW5rcyB3aXRoIHJlZ2FyZHMgdG8gc3RhcnR1cCBsYXRlbmN5LCBwbHVzIGl0IGdpdmVzIG1vcmUKCSAgaGVhZHdheSB0byBhdm9pZCBnbGl0Y2hpbmcsIHNob3VsZCB0aGUgaW5pdGlhbCAybmQgc2VnbWVudCB0YWtlCgkgIG1vcmUgdGhhbiAxMG1zIHRvIGdlbmVyYXRlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU3MDc2CgoyMDE2LTA0LTE1IDAwOjQ2OjU2IC0wNzAwICBBbGVpeCBDb25jaGlsbG8gRmxhcXXDqSA8YWxlaXhAb2Jsb25nLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBydHNwc3JjOiBhZGQgc3J0cCByb2xsb3ZlciBjb3VudGVycyBmcm9tIG1pa2V5IGNyeXB0byBzZXNzaW9ucwoJICBUaGUgc2VydmVyIGNhbiBzZW5kIG11bHRpcGxlIGNyeXB0byBzZXNzaW9ucywgb25lIGZvciBlYWNoIFNTUkMgd2l0aCBpdHMKCSAgb3duIHJvbGxvdmVyIGNvdW50ZXIuIFdlIHBhcnNlIHRoaXMgaW5mb3JtYXRpb24gYW5kIHBhc3MgaXQgdG8gdGhlIFNSVFAKCSAgZGVjb2RlciB2aWEgdGhlICJyZXF1ZXN0LWtleSIgc2lnbmFsLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwNTQwCgoyMDE2LTA0LTE1IDE0OjM1OjA3ICswMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IEZpeCBkZWJ1ZyBvdXRwdXQgd2hlbiByZXN5bmNpbmcKCSAgRG9uJ3Qgb3V0cHV0IHRoZSBwb2ludGVyIHZhbHVlIG9mIHRoZSB0aW1lKCkgZnVuY3Rpb24gYXMgYSB0aW1lc3RhbXAKCSAgYnkgdXNpbmcgdGhlIGNvcnJlY3QgdmFyaWFibGUuCgkgIEZpeGVzIGJ1aWxkIG9uIFJhc3BiZXJyeSBQaSAzLgoKMjAxNi0wNC0xNSAxMTozNjozNiArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwY2xpZW50c2luay5jOgoJICBzb3VwaHR0cGNsaWVudHNpbms6IElmIG5vIHByb3h5IGlzIHNldCBieSBwcm9wZXJ0aWVzLCB1c2UgdGhlIGRlZmF1bHQgbGlic291cCBwcm94eSByZXNvbHZlcgoJICBUaGF0IGlzLCB1c2Ugd2hhdGV2ZXIgc3lzdGVtIHNldHRpbmdzIHRoZXJlIG1pZ2h0IGV4aXN0LiBUaGlzIGlzIHRoZSBzYW1lCgkgIGJlaGF2aW91ciB3ZSB1c2UgaW4gdGhlIEhUVFAgc291cmNlLgoKMjAxNi0wNC0xNCAxMDowMToyOCArMDEwMCAgSnVsaWVuIElzb3JjZSA8ai5pc29yY2VAc2Ftc3VuZy5jb20+CgoJKiBSRUFETUU6CgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNmYyZDIwOSB0byBhYzJmNjQ3CgoyMDE2LTA0LTEzIDE4OjQ1OjA3ICswMTAwICBEYW1pYW4gWmlvYnJvIDxkYW1pYW5AeG1lbWVudG9pdC5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c2luay5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c2luay5oOgoJICBzcGxpdG11eHNpbms6IEFkZCBtYXhfZmlsZXNfbnVtYmVyIHByb3BlcnR5CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDQ2MTIKCjIwMTYtMDQtMTMgMTA6NTc6MDMgLTA3MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIHZpZGVvbWl4ZXI6IGRyb3AgcmVmZXJlbmNlIHRvIHZpZGVvbWl4ZXIgMgoJICBGaXggYSBzbWFsbCBncmFtbWFyIG1pc3Rha2Ugb24gIm92ZXJsYXllZCIgd2hpbGUgYXQgaXQuCgoyMDE2LTA0LTEzIDA5OjU3OjE2ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL3hpbWFnZS94aW1hZ2V1dGlsLmM6CgkgIHhpbWFnZTogSW5pdGlhbGl6ZSBhbGwgZmllbGRzIGluIHRoZSBtZXRhIGV4cGxpY2l0bHkKCSAgVGhlIG1ldGEgaXMgbm90IGFsbG9jYXRlZCB3aXRoIGFsbCBmaWVsZHMgaW5pdGlhbGl6ZWQgdG8gemVyb2VzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY0OTAyCgoyMDE2LTA0LTEyIDA5OjQxOjAwICswMDAwICBQYW9sbyBQZXR0aW5hdG8gPHBwZXR0aW5hQGNpc2NvLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IEZvcndhcmQgc3RpY2t5IGV2ZW50cyBvbiBidWZmZXIgbGlzdHMgdG9vLCBub3Qgb25seSBvbiBidWZmZXJzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjQ5MzMKCjIwMTYtMDQtMTIgMTU6MDE6MjggKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IERyYWluIHRoZSBmaWVsZCBoaXN0b3J5IGlmIHRoZSBjYXBzIGFyZSBjaGFuZ2luZwoJICBPdGhlcndpc2Ugd2Ugd2lsbCB1c2UgZmllbGRzIGZyb20gdGhlIG9sZCBjYXBzIHdpdGggZXZlcnl0aGluZyBzZXQgdXAgZm9yIHRoZQoJICBuZXcgY2FwcywgY2F1c2luZyBjcmFzaGVzIGFuZCB3b3JzZS4KCSAgQWxzbyBkb24ndCBkbyBhbnl0aGluZyBpZiB0aGUgc2FtZSBjYXBzIGFyZSBzZXQgdHdpY2UuCgoyMDE2LTA0LTEyIDE1OjAwOjMxICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBJbnN0ZWFkIG9mIGNvbmZ1c2luZyBjcmFzaGVzIGxhdGVyLCBqdXN0IGVycm9yIG91dCBpbW1lZGlhdGVseSBpZiBtYXBwaW5nIGEgdmlkZW8gZnJhbWUgZmFpbHMKCSAgVGhpcyBwcm9iYWJseSBzdGlsbCBjcmFzaGVzIGJ1dCBhdCBsZWFzdCB3ZSBnZXQgc29tZSBoaW50IGFib3V0IHdoYXQgZ29lcwoJICB3cm9uZyBpbnN0ZWFkIG9mIHJhbmRvbSBiZWhhdmlvdXIgbGF0ZXIuCgoyMDE2LTA0LTEyIDExOjM4OjUxICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGNoZWNrIHN0cmVhbSBpcyBhdmFpbGFibGUgaW4gUElGRiBwYXJzZXIKCSAgcXRkZW11eC0+c3RyZWFtcyBpcyBhbiBhcnJheSwgaXQgd2lsbCBuZXZlciBldmFsdWF0ZSB0byB0cnVlIHdoZW4gY29tcGFyaW5nCgkgIHRvIE5VTEwuIEluc3RlYWQgd2Ugd2FudCB0byBjaGVjayB0aGUgbnVtYmVyIG9mIHN0cmVhbXMgdG8gbWFrZSBzdXJlIHRoZQoJICBzdHJlYW0gaXMgYXZhaWxhYmxlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzNjE0CgkgIENJRCAxMzU4Mzg5CgoyMDE2LTA0LTEyIDExOjM3OjM2ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIFJldmVydCAicXRkZW11eDogcmVkdW5kYW50IGNoZWNrIGluIFBJRkYgcGFyc2VyIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDQxZTEwNTI0ZjNiYWJkZDkyYWFjOGM4YzlkNWI5Y2RmMTg0YzJkNGUuCgoyMDE2LTA0LTEyIDExOjA1OjUwICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHJlZHVuZGFudCBjaGVjayBpbiBQSUZGIHBhcnNlcgoJICBxdGRlbXV4LT5zdHJlYW1zIGlzIGFuIGFycmF5IG9mIHNpemUgR1NUX1FUREVNVVhfTUFYX1NUUkVBTVMsIGl0IHdpbGwgbmV2ZXIKCSAgZXZhbHVhdGUgdG8gdHJ1ZSB3aGVuIGNvbXBhcmluZyB0byBOVUxMLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzNjE0CgkgIENJRCAxMzU4Mzg5CgoyMDE2LTA0LTEyIDExOjU2OjA4ICswMjAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMjogYXZvaWQgbGVha2luZyBHVmFsdWVzCgkgIHVuc2V0IHRoZSBHVmFsdWUgaWYgd2UgZG9uJ3QgdXNlIGl0IGFueSBtb3JlIHRvIGF2b2lkIGxlYWtzLgoKMjAxNi0wNC0xMiAxMDoxNTozOSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IEZpeCBydHBfaml0dGVyX2J1ZmZlcl9nZXRfdHNfZGlmZigpIGZpbGwgbGV2ZWwgY2FsY3VsYXRpb24KCSAgVGhlIGhlYWQgb2YgdGhlIHF1ZXVlIGlzIHRoZSBvbGRlc3QgcGFja2V0IChhcyBpbiBsb3dlc3Qgc2VxbnVtKSwgdGhlIHRhaWwgaXMKCSAgdGhlIG5ld2VzdCBwYWNrZXQuIFRvIGNhbGN1bGF0ZSB0aGUgZmlsbCBsZXZlbCwgd2Ugc2hvdWxkIGNhbGN1bGF0ZSB0YWlsLWhlYWQKCSAgd2hpbGUgY29uc2lkZXJpbmcgd3JhcGFyb3VuZHMuIE5vdCB0aGUgb3RoZXIgd2F5IGFyb3VuZC4KCSAgT3RoZXIgY29kZSBpcyBhbHJlYWR5IGRvaW5nIHRoaXMgaW4gdGhlIGNvcnJlY3Qgb3JkZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjQ4ODkKCjIwMTYtMDQtMTEgMTA6NDQ6NTYgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9NYWtlZmlsZS5hbToKCSAgcnRwbWFuYWdlcjogSXQncyBHU1RfTElCUywgbm90IEdTVF9MSUJTX0xJQlMKCjIwMTYtMDQtMTEgMDg6MzM6MTcgKzA5MDAgIFNldW5naGEgWWFuZyA8c2gueWFuZ0BsZ2UuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEZpeCBwYXJzaW5nIHNlZ21lbnQgZHVyYXRpb24gb2YgZW1wdHkgZWRpdCBsaXN0IGJveAoJICBGb3IgZW1wdHkgZWRpdCBsaXN0LCBzZWdtZW50LWR1cmF0aW9uIGluIGVkaXQgbGlzdCBib3ggc2hvdWxkIG5vdCBiZQoJICB1c2VkIGZvciBzZWdtZW50IGV2ZW50LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY0ODcwCgoyMDE2LTA0LTA4IDEzOjA1OjU3ICswMjAwICBOaWNvbGEgTXVyaW5vIDxuaWNvbGEubXVyaW5vQGdtYWlsLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IG1ha2UgdGltZWNvZGVzY2FsZSBjb25maWd1cmFibGUKCSAgSW4gc29tZSB1c2UgY2FzZXMgdGhlIGRlZmF1bHQgdGltZWNvZGVzY2FsZSB3aWxsIHByb2R1Y2UgYmxvY2tzIHdpdGggdGhlIHNhbWUgdGltZXN0YW1wCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjQ3NjkKCjIwMTYtMDQtMDcgMTM6MDE6NTIgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0ZXJidWZmZXI6IE1vdmUgYXNzZXJ0aW9uIHRvIHRoZSByaWdodCBsb2NhdGlvbgoJICBXZSBzaG91bGRuJ3QgaGF2ZSAibGF0ZSIgbG9zdCB0aW1lcnMgYXQgdGhhdCBwb2ludAoKMjAxNi0wMy0wMiAxNDoyNToyNCArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IFNwZWVkIHVwIGxvc3QgdGltZW91dCBoYW5kbGluZwoJICBXaGVuIGRvd25zdHJlYW0gYmxvY2tzLCAibG9zdCIgdGltZXJzIGFyZSBjcmVhdGVkIHRvIG5vdGlmeSB0aGUKCSAgb3V0Z29pbmcgdGhyZWFkIHRoYXQgcGFja2V0cyBhcmUgbG9zdC4KCSAgVGhlIHByb2JsZW0gaXMgdGhhdCBmb3IgaGlnaCBwYWNrZXQtcmF0ZSBzdHJlYW1zLCB3ZSBtaWdodCBlbmQgdXAgd2l0aAoJICBhIGJpZyBsaXN0IG9mIGxvc3QgdGltZW91dHMgKGhhZCBhIHVzZS1jYXNlIHdpdGggfjEwMDAuLi4pLgoJICBUaGUgcHJvYmxlbSBpc24ndCBzbyBtdWNoIHRoZSBhbW91bnQgb2YgbG9zdCB0aW1lb3V0cyB0byBoYW5kbGUsIGJ1dAoJICByYXRoZXIgdGhlIHdheSB0aGV5IHdlcmUgaGFuZGxlZC4gQWxsIHRpbWVycyB3b3VsZCBmaXJzdCBiZSBpdGVyYXRlZCwKCSAgdGhlbiB0aGUgb25lIHNlbGVjdGVkIHdvdWxkIGJlIGhhbmRsZWQgLi4uIHRvIHJlLWl0ZXJhdGUgdGhlIGxpc3QgYWdhaW4uCgkgIEFsbCBvZiB0aGlzIGlzIGJlaW5nIGRvbmUgd2hpbGUgdGhlIGpidWYgbG9jayBpcyB0YWtlbiwgd2hpY2ggaW4gc29tZSB1c2UtY2FzZXMKCSAgd291bGQgcmV0dXJuIGluIGhvbGRpbmcgdGhhdCBsb2NrIGZvciAxMHMuLi4gYmxvY2tpbmcgYW55IGJ1ZmZlcnMgZnJvbQoJICBiZWluZyBhY2NlcHRlZCBpbiBpbnB1dC4uLiB3aGljaCB3b3VsZCB0aGVuIGFycml2ZSBsYXRlIC4uLiB3aGljaCB3b3VsZAoJICBjcmVhdGUgcGxlbnR5IG9mIGxvc3QgdGltZXJzIC4uLiB3aGljaCB3b3VsZCBjYXVzZSB0aGUgc2FtZSBpc3N1ZS4KCSAgSW4gb3JkZXIgdG8gYXZvaWQgdGhhdCBzaXR1YXRpb24sIGhhbmRsZSB0aGUgbG9zdCB0aW1lcnMgaW1tZWRpYXRlbHkgd2hlbgoJICBpdGVyYXRpbmcgdGhlIGxpc3Qgb2YgcGVuZGluZyB0aW1lcnMuIFRoaXMgbW9kaWZpZXMgdGhlIGNvbXBsZXhpdHkgZnJvbQoJICBhIHF1YWRyYXRpYyB0byBhIGxpbmVhciBjb21wbGV4aXR5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYyOTg4CgoyMDE2LTAzLTAyIDE0OjIzOjAxICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogRG9uJ3QgY3JlYXRlIGxvc3QgZXZlbnRzIGlmIHdlIGRvbid0IG5lZWQgdGhlbQoJICBXaGVuICJkby1sb3N0IiBpcyBzZXQgdG8gRkFMU0Ugd2UgZG9uJ3QgdXNlL3NlbmQgdGhlIGxvc3QgZXZlbnRzLgoJICBJbiB0aGF0IGNhc2UsIGRvbid0IGNyZWF0ZSB0aGVtIHRvIHN0YXJ0IHdpdGggOikKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2Mjk4OAoKMjAxNi0wMy0wMiAxMzo1NzowNyArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IEFkZCB0cmFjaW5nIG9mIGxvY2sgdXNhZ2UKCSAgSGVscHMgd2l0aCBkZWJ1Z2dpbmcgbG9jayB1c2FnZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYyOTg4CgoyMDE2LTAyLTEwIDE5OjU2OjU5ICswNTMwICBOaXJiaGVlayBDaGF1aGFuIDxuaXJiaGVla0BjZW50cmljdWxhci5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyZGV2aWNlcHJvdmlkZXIuYzoKCSAgdjRsMjogRG9uJ3QgbGVhayB2NGwyIG9iamVjdHMgYW5kIHByb3BzIG9uIHByb2JlIGVycm9ycwoKMjAxNi0wNC0wNCAxNzo0MjowMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cC1wYXlsb2FkaW5nLmM6CgkgIHRlc3RzOiBhZGQgdW5pdCB0ZXN0IGZvciBqcGVnIGRlcGF5bG9hZGVyIHBhY2tldCBsb3NzIGhhbmRsaW5nCgkgIE1ha2Ugc3VyZSBpdCBhbHdheXMgb3V0cHV0cyBzb21ldGhpbmcgdGhhdCBsb29rcyBsaWtlIGEgdmFsaWQKCSAgSlBFRyBmcmFtZSwgaWUuIHN0YXJ0cyB3aXRoIGFuIFNPSSBtYXJrZXIgYW5kIGVuZHMgd2l0aCBhbiBFT0kKCSAgbWFya2VyLgoKMjAxNi0wMy0xNSAwMzoyNToyNiArMDUzMCAgTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWtAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBqcGVnZGVwYXkuYzoKCSAgcnRwanBlZ2RlcGF5OiBEb24ndCBzZW5kIGludmFsaWQgZnJhbWVzIGRvd25zdHJlYW0gYWZ0ZXIgcGFja2V0IGxvc3Mgb3IgYSBESVNDT05UCgkgIEFmdGVyIGNsZWFyaW5nIHRoZSBhZGFwdGVyIGR1ZSB0byBhIERJU0NPTlQsIGFzIG1pZ2h0IGhhcHBlbiB3aGVuIHNvbWUgcGFja2V0KHMpCgkgIGhhdmUgYmVlbiBsb3N0LCB0aGUgZGVwYXlsb2FkZXIgd2FzIHB1c2hpbmcgZGF0YSBpbnRvIHRoZSBhZGFwdGVyICh3aGljaCBoYWQgbm8KCSAgaGVhZGVyIGR1ZSB0byB0aGUgY2xlYXIpLCBjcmVhdGluZyBhIGhlYWRlcmxlc3MgZnJhbWUgb3V0IG9mIGl0LCBhbmQgc2VuZGluZyBpdAoJICBkb3duc3RyZWFtLiBUaGUgZG93bnN0cmVhbSBkZWNvZGVyIHdvdWxkIHRoZW4gdXN1YWxseSBpZ25vcmUgaXQ7IHVubGVzcyB0aGVyZQoJICB3ZXJlIGxvdHMgb2YgRElTQ09OVHMgZnJvbSB0aGUgaml0dGVyYnVmZmVyIGluIHdoaWNoIGNhc2UgdGhlIGRlY29kZXIgd291bGQgcmVhY2gKCSAgaXRzIG1heF9lcnJvcnMgbGltaXQgYW5kIHRocm93IGFuIGVsZW1lbnQgZXJyb3IuIE5vdyB3ZSBqdXN0IGRpc2NhcmQgdGhhdCBkYXRhLgoJICBJdCBpcyBwcm9iYWJ5IG5vdCB3b3J0aCB0cnlpbmcgdG8gc2FsdmFnZSB0aGlzIGRhdGEgYmVjYXVzZSBub24tcHJvZ3Jlc3NpdmUKCSAganBlZyBkb2VzIG5vdCBkZWdyYWRlIGdyYWNlZnVsbHkgYW5kIG1ha2VzIHRoZSB2aWRlbyB1bndhdGNoYWJsZSBldmVuIHdpdGgKCSAgbG93IHBhY2tldCBsb3NzIHN1Y2ggYXMgMy01JS4KCjIwMTYtMDEtMDUgMTY6MTU6MTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmg6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBydHBqaXR0ZXJidWZmZXI6IEFkZCBSRkM3MjczIG1lZGlhIGNsb2NrIGhhbmRsaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjIyNTkKCjIwMTUtMDctMTAgMDk6NDQ6MTUgKzAyMDAgIFBoaWxpcHBlIE5vcm1hbmQgPHBoaWxuQGlnYWxpYS5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogUElGRiBib3ggZGV0ZWN0aW9uIGFuZCBwYXJzaW5nIHN1cHBvcnQKCSAgVGhlIFBJRkYgZGF0YSBpcyBzdG9yZWQgaW4gYSBjdXN0b20gVVVJRCBib3ggd2hpY2ggaXMgcGFyc2VkIGFuZCB0aGUKCSAgY3J5cHRvX2luZm8gb2YgdGhlIGVsZW1lbnQgaXMgdXBkYXRlZCBhY2NvcmRpbmdseS4gVGhpcyBhbGxvd3MKCSAgZG93bnN0cmVhbSBkZWNyeXB0b3JzIHRvIHByb2Nlc3MgYW5kIGRlY3J5cHQgdGhlIHByb3RlY3RlZCBjb250ZW50LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzNjE0CgoyMDE2LTA0LTAxIDEyOjE1OjA1ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNkZXBheS5jOgoJICBydHB2b3JiaXNkZXBheTogcmVtb3ZlIGRlYWQgY29kZQoJICBwYXlsb2FkX2J1ZmZlciBoYXNuJ3QgYmVlbiBhc3NpZ25lZCBhIHZhbHVlIGJlZm9yZSB0aGUganVtcHMgdG8KCSAgc3dpdGNoX2ZhaWxlZCBvciBwYWNrZXRfc2hvcnQuIFNvIHRoZSB2YWx1ZSBtdXN0IGJlIE5VTEwuIE5vIG5lZWQKCSAgdG8gdW5tYXAgYW5kIHVucmVmLgoJICBDSUQgIzEzMTY0NzYKCjIwMTYtMDMtMzEgMTQ6NTc6MjAgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuYzoKCSAgcnRwaDI2M3BheTogZml4IGxlYWsKCSAgRnJlZSBtZW1vcnkgb2YgY3VycmVudCBtYWNyb2Jsb2NrIG9uY2UgaXQgaXNuJ3QgbmVlZGVkIHNvIGl0IGlzbid0IGxlYWtlZAoJICBieSB0aGUgY2FsbCBvZiB0aGUgZ3N0X3J0cF9oMjYzX3BheV9CX21iZmluZGVyIGZ1bmN0aW9uLgoJICBpZiAoIShtYWMgPSBnc3RfcnRwX2gyNjNfcGF5X0JfbWJmaW5kZXIgKGNvbnRleHQsIGdvYiwgbWFjLCBtYikpKSB7CgkgIENJRCAxMjEyMTU2CgoyMDE2LTAzLTMxIDAyOjE1OjA0ICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzaW5rLmM6CgkgIHNwbGl0bXV4OiBIYW5kbGUgYSBoYW5nIGRyYWluaW5nIG91dCBhdCBFT1MKCSAgTWFrZSBzdXJlIHRoYXQgYWxsIGRhdGEgaXMgZHJhaW5lZCBvdXQgd2hlbiB0aGUgcmVmZXJlbmNlIHBhZAoJICBnb2VzIEVPUy4gRml4ZXMgYSBwcm9ibGVtIHdoZXJlIGRhdGEgdGhhdCBhcnJpdmVzIG9uIG90aGVyCgkgIHBhZHMgYWZ0ZXIgdGhlIHJlZmVyZW5jZSBwYWQgZmluaXNoZXMgY2FuIHN0YWxsIGZvcmV2ZXIgYW5kCgkgIG5ldmVyIHBhc3MgRU9TLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYzNzExCgoyMDE2LTAzLTE4IDE1OjQ1OjAxIC0wNDAwICBYYXZpZXIgQ2xhZXNzZW5zIDx4YXZpZXIuY2xhZXNzZW5zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c2luay5jOgoJICBzcGxpdG11eHNpbms6IEZpeCBvY2Nhc2lvbmFsIGRlYWRsb2NrIHdoZW4gZW5kaW5nIGZpbGUgd2l0aCBzdWJ0aXRsZQoJICBEZWFkbG9jayBvY2N1cnMgd2hlbiBzcGxpdHRpbmcgZmlsZXMgaWYgb25lIHN0cmVhbSByZWNlaXZlZCBubyBidWZmZXIgZHVyaW5nCgkgIHRoZSBmaXJzdCBHT1Agb2YgdGhlIG5leHQgZmlsZS4gVGhhdCBjYW4gaGFwcGVuIGluIHRoYXQgc2NlbmFyaW8gZm9yIGV4YW1wbGU6CgkgIDEpIFRoZSBmaXJzdCBHT1Agb2YgdmlkZW8gaXMgY29sbGVjdGVkLCBpdCBoYXMgYSBkdXJhdGlvbiBvZiAxMHMuCgkgIG1heF9pbl9ydW5uaW5nX3RpbWUgaXMgc2V0IHRvIDEwcy4KCSAgMikgT3RoZXIgc3RyZWFtcyBjYXRjaHVwIGFuZCB3ZSByZWNlaXZlIHRoZSBmaXJzdCBzdWJ0aXRsZSBidWZmZXIgYXQgdHM9MCBhbmQKCSAgaGFzIGEgZHVyYXRpb24gb2YgMW1pbi4KCSAgMykgV2UgcmVjZWl2ZSB0aGUgMm5kIHN1YnRpdGxlIGJ1ZmZlciB3aXRoIGEgdHM9MW1pbi4gaW5fcnVubmluZ190aW1lIGlzIHNldCB0bwoJICAxbWluLiBUaGF0IGJ1ZmZlciBpcyBibG9ja2VkIGluIGhhbmRsZV9tcV9pbnB1dCgpIGJlY2F1c2UKCSAgbWF4X2luX3J1bm5pbmdfdGltZSBpcyBzdGlsbCAxMHMuCgkgIDQpIFNpbmNlIGFsbCBpbl9ydW5uaW5nX3RpbWUgYXJlIG5vdyA+IDEwcywgbWF4X291dF9ydW5uaW5nX3RpbWUgaXMgbm93IHNldCB0bwoJICAxMHMuIFRoYXQgZmlyc3QgR09QIGdldHMgcmVjb3JkZWQgaW50byB0aGUgZmlsZS4gVGhlIG11eGVyIHBvcCBidWZmZXJzIG91dAoJICBvZiB0aGUgbXEsIHdoZW4gaXQgdHJpZXMgdG8gcG9wIGEgMm5kIHN1YnRpdGxlIGJ1ZmZlciBpdCBibG9ja3MgYmVjYXVzZSB0aGUKCSAgR3N0RGF0YVF1ZXVlIGlzIGVtcHR5LgoJICA1KSBBIDJuZCBHT1Agb2YgdmlkZW8gaXMgY29sbGVjdGVkIGFuZCBoYXMgYSBkdXJhdGlvbiBvZiAxMHMgYXMgd2VsbC4KCSAgbWF4X2luX3J1bm5pbmdfdGltZSBpcyBub3cgMjBzLiBTaW5jZSBzdWJ0aXRsZSdzIGluX3J1bm5pbmdfdGltZSBpcyBhbHJlYWR5CgkgIDFtaW4sIHRoYXQgR09QIGlzIGFscmVhZHkgY29tcGxldGUuCgkgIDYpIEJ1dCBsZXQncyBzYXkgd2Ugb3ZlcnJhbiB0aGUgbWF4IGZpbGUgc2l6ZSwgd2UgdGh1cyBzZXQgc3RhdGUgdG8KCSAgU1BMSVRNVVhfU1RBVEVfRU5ESU5HX0ZJTEUgbm93LiBBcyBzb29uIGFzIGEgYnVmZmVyIHdpdGggdHMgPiAxMHMgKGVuZCBvZgoJICBwcmV2aW91cyBHT1ApIGFycml2ZXMgaW4gaGFuZGxlX21xX291dHB1dCgpLCBFT1MgZXZlbnQgaXMgc2VudCBkb3duc3RyZWFtCgkgIGluc3RlYWQuIEJ1dCBzaW5jZSB0aGUgc3VidGl0bGUgcXVldWUgaXMgZW1wdHksIHRoYXQncyBuZXZlciBnb2luZyB0bwoJICBoYXBwZW4uIFBpcGVsaW5lIGlzIG5vdyBkZWFkbG9ja2VkLgoJICBUbyBmaXggdGhpcyBzaXR1YXRpb24gd2UgaGF2ZSB0bzoKCSAgLSBTZW5kIGEgZHVtbXkgZXZlbnQgdGhyb3VnaCB0aGUgcXVldWUgdG8gd2FrZXVwIG91dHB1dCB0aHJlYWQuCgkgIC0gVXBkYXRlIG91dF9ydW5uaW5nX3RpbWUgdG8gYXQgbGVhc3QgbWF4X291dF9ydW5uaW5nX3RpbWUgc28gaXQgc2VuZHMgRU9TLgoJICAtIFJlc3BlY3QgdGltZSBvcmRlciwgc28gd2Ugc2V0IG91dF9ydW5uaW5nX3RpbT1tYXhfaW5fcnVubmluZ190aW1lIGJlY2F1c2UKCSAgdGhhdCdzIGJpZ2dlciB0aGFuIHByZXZpb3VzIGJ1ZmZlciBhbmQgc21hbGxlciB0aGFuIG5leHQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjM3MTEKCjIwMTUtMTEtMTcgMTg6MTc6MzUgKzAxMDAgIFN0aWFuIFNlbG5lcyA8c3RpYW5AcGV4aXAuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogQWRkIG5ldyBzaWduYWwgJ29uLWFwcC1ydGNwJwoJICBTaW1pbGFyIHRvIHRoZSAnb24tZmVlZGJhY2stcnRjcCcgc2lnbmFsLCBidXQgZW1pdHRlZCBmb3IgUlRDUCBBUFAKCSAgcGFja2V0cy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MjIxNwoKMjAxNi0wMy0yNCAxNTo1NzoxMSArMDkwMCAgTWluamFlIEtpbSA8bmF0ZS5raW1AbGdlLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIHJ0cG1hbmFnZXI6IFNldCB0byBpbml0aWFsIHZhbHVlIGZvciAnbnRwbnMnIGluIGdldF9jdXJyZW50X3RpbWVzKCkKCSAgSW5pdGlhbGl6ZSAibnRwbnMiIHZhcmlhYmxlIHRvIC0xIGFzIHRoZSBPRSBjb21waWxlciBmb3Igc29tZSByZWFzb24gZG9lc24ndAoJICByZWFsaXplIHRoYXQgdGhlIHZhcmlhYmxlIGlzIHNldCBpbiBhbGwgY29kZSBwYXRocy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NDExOQoKMjAxNi0wMS0zMSAxMTowODozOCArMTEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwanBlZ3BheS5jOgoJICBydHBqcGVncGF5OiBBbGxvdyBkaWZmZXJlbnQgcXVhbnRpemF0aW9uIHRhYmxlcyBmb3IgY29tcG9uZW50cyAyIGFuZCAzCgkgIFJGQyAyNDM1IG1lbnRpb25zIGluIHNlY3Rpb24gNC4xIHRoYXQgVS9WIHVzZSB0YWJsZSBudW1iZXIgMSwgYnV0IHRoaXMgc2VlbXMKCSAganVzdCBsaWtlIGFuIGV4YW1wbGUuIFNvbWUgZW5jb2RlcnMgYXJlIG5vdCBmb2xsb3dpbmcgdGhhdCBhbmQgdGhlcmUgc2VlbXMgdG8KCSAgYmUgbm8gcmVhc29uIHRvIHJlamVjdCB0aGVpciBzdHJlYW1zLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYxMzQ1CgoyMDE2LTAzLTI0IDE5OjIzOjEyIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvdnB4L2dzdHZweGRlYy5jOgoJICB2cHhkZWM6IFVzZSB0aHJlYWRzIG9uIG11bHRpLWNvcmUgc3lzdGVtcwoJICBUaGlzIGlzIGEgcmVkbyBvZiBjb21taXQgYjg0OGMxYjZmZmQxZTUwODIyODgyMGEwMTNmOTRmYjQ0NWU0Nzc3Zi4gVGhlCgkgIGNvZGUgd2FzIGxvc3Qgd2hlbiB0aGUgZWxlbWVudHMgd2hlcmUgcG9ydGVkIHRvIHVzZSBhIGJhc2VjbGFzcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NDE2OQoKMjAxNi0wMi0yOSAyMzo0MDowMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNpbmsuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc3BsaXRtdXguYzoKCSAgc3BsaXRtdXhzaW5rOiBvbmx5IHRyeSB0byBjcmVhdGUgaW50ZXJuYWwgc2luayBpZiBpdCBkb2Vzbid0IGV4aXN0CgkgIFRoaXMgYWxsb3dzIHNwbGl0bXV4c2luayB0byBiZSByZXVzZWQgYWZ0ZXIgYmVpbmcgcHV0IHRvIE5VTEwuCgkgIFRlc3QgaW5jbHVkZWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2Mjg5MwoKMjAxNS0xMC0wMSAxMzo0MToyMyArMDIwMCAgQXVyw6lsaWVuIFphbmVsbGkgPGF1cmVsaWVuLnphbmVsbGlAcGFycm90LmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogcHJvYmUgYWxsIGNvbG9yc3BhY2Ugc3VwcG9ydGVkIGJ5IGRldmljZQoJICBBIGRldmljZSBjYW4gc3VwcG9ydCBtb3JlIHRoYW4gb25lIGNvbG9yc3BhY2UgZm9yIGEgZ2l2ZW4gaW1hZ2UKCSAgZGltZW5zaW9uIGFuZCBwaXhlbCBmb3JtYXQuIFNvIHdlIGhhdmUgdG8gcHJvYmUgYWxsIHRoZSBzdXBwb3J0ZWQKCSAgY29sb3JzcGFjZSBhbmQgbm90IG9ubHkgcmVseSBvbiB0aGUgZGVmYXVsdCBvbmUuIE90aGVyd2lzZSB3ZSBjb3VsZCBlbmQKCSAgdXAgd2l0aCBuZWdvdGlhdGlvbiBmYWlsdXJlIGlmIHRoZSBjYXBzIGNvbG9yaW1ldHJ5IGZpZWxkIGRvbid0IG1hdGNoCgkgIHRoZSB2NGwyIGRldmljZSBkZWZhdWx0IG9uZSBldmVuIGlmIHRoZSB2NGwyIGNvdWxkIHN1cHBvcnQgc3VjaAoJICBjb2xvcmltZXRyeS4KCSAgVGhpcyBwYXRjaCBlbmFibGUgcHJvYmluZyBpZiBjb2xvcnNwYWNlIGZvciBib3RoIGNhcHR1cmUgYW5kIG91dHB1dAoJICBkZXZpY2UuIEl0IHJlYWxseSBtYWtlcyBzZW5zZSBmb3Igb3V0cHV0IGRldmljZSBzaW5jZSB0aGUgY29sb3JzcGFjZQoJICBzaGFsbCBiZSBzZXQgYnkgdGhlIGFwcGxpY2F0aW9uIGFuZCBhIGxpdHRsZSBsZXNzIGZvciBjYXB0dXJlIGRldmljZQoJICB3aGljaCwgYXQgdGhlIG1vbWVudCwgc2hhbGwgcHJvdmlkZSB0aGUgY29sb3JzcGFjZTsgaWU6IHRoZSB2NGwyCgkgIHNwZWNpZmljYXRpb24gc2VlbXMgdG8gbm90IHRha2UgaW50byBhY2NvdW50IHRoZSBmYWN0IHRoYXQgYSBjYXB0dXJlCgkgIGRldmljZSBjb3VsZCBkbyBjb2xvcnNwYWNlIGNvbnZlcnNpb24uCgkgIEFzIGEgc2lkZSBlZmZldCwgcHJvYmluZyB0YWtlcyBzb21lIHRpbWVzIGFuZCBzbyBzbGlndGhseSBkZWxheSB2NGwyCgkgIGluaXRpYWxpemF0aW9uLiBOb3RlIHRoYXQgdGhpcyBwYXRjaCBvbmx5IHByb2JlIGNvbG9yc3BhY2UgYW5kIG5vdCBhbGwKCSAgY29sb3JzcGFjZSwgbWF0cml4LCB0cmFuc2ZlciBhbmQgcmFuZ2UgY29tYmluYXRpb24gdG8gYXZvaWQgdGFraW5nIHRvbwoJICBtdWNoIHRpbWUsIGVzcGVjaWFsbHkgd2l0aCBsb3ctc3BlZWQgZGV2aWNlcyBhcyBmdWxsIHByb2JpbmcgZG8gMTc4MgoJICBpb2N0bC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NTkzNwoKMjAxNi0wMy0yNCAxNjoyMTo1NiArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ZsdmRlbXV4LmM6CgkgIGNoZWNrOiBGaXggaW5kZW50YXRpb24KCjIwMTYtMDMtMjQgMTY6MjA6MzkgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9mbHZkZW11eC5jOgoJICB0ZXN0czogUmVtb3ZlIHVudXNlZCB2YXJpYWJsZXMKCjIwMTYtMDMtMTYgMjA6MjY6MTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYzoKCSAgZGVpbnRlcmxlYXZlOiBSZXR1cm4gdGhlIGN1cnJlbnQgY2FwcyBvbiB0aGUgc3JjcGFkcyBvbiBjYXBzIHF1ZXJpZXMKCSAgSXQncyBub3QgbGlrZSB3ZSBjb3VsZCBhY2NlcHQgYW55IG90aGVyIGNhcHMgaGVyZS4gVGhlIGNhcHMgYXJlIGRlY2lkZWQgYnkgdGhlCgkgIHVwc3RyZWFtIGNhcHMgZXZlbnQuCgkgIEFsc28ga2VlcCB0aGUgZmlsdGVyIG9yZGVyIGludGFjdCB3aGVuIGZpbHRlcmluZyB0aGUgcmVzdWx0cyBhZ2FpbnN0IHRoZQoJICBmaWx0ZXIgY2Fwcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MzMyNgoKMjAxNi0wMy0yNCAxNToxNDoyMyArMDkwMCAgSmltbXkgT2huIDx5b25namluLm9obkBsZ2UuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEZpeCBxdGRlbXV4IG1lbW9yeSBsZWFrIGluIHNyY19jb252ZXJ0IGZ1bmN0aW9uCgkgIElmIHdlIGRvbid0IGZpbmQgdGhlIGluZGV4IG9mIHRoZSBzYW1wbGUgY29ycmVjdGx5IGluIHNyY19jb252ZXJ0IGZ1bmN0aW9uLAoJICB3ZSBoYXZlIHRvIHVucmVmIGFib3V0IHRoZSBxdGRlbXV4IGJlZm9yZSByZXR1cm5pbmcgdmFsdWUuCgkgIFNvLCBJIGhhdmUgbW9kaWZ5IGl0IGFib3V0IGluc3RlYWQgcGFzcyBxdGRlbXV4IGFzIGEgcGFyYW1ldGVyIGludG8KCSAgc3JjX2NvbnZlcnQgZnVuY3Rpb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjM5NzMKCjIwMTYtMDMtMjIgMTM6MTU6MjAgKzA5MDAgIEppbW15IE9obiA8eW9uZ2ppbi5vaG5AbGdlLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBBZGQgY2hlY2sgY29uZGl0aW9uIGZvciBmYWlsIGNhc2UgaW4gZ2V0X2R1cmF0aW9uIGZ1bmN0aW9uCgkgIEN1cnJlbnRseSwgZ2V0X2R1cmF0aW9uIGZ1bmN0aW9uIGFsd2F5cyByZXR1cm4gdGhlIFRSVUUgZXZlbiB0aG91Z2gKCSAgaXQgY2FuJ3QgYmUgc2V0IGR1cmF0aW9uIGNvcnJlY3RseS4gU28sIHdlIG5lZWQgdG8gYWRkIHRoZSBlbHNlIGNvbmRpdGlvbgoJICBhYm91dCB0aGUgZmFpbCBjYXNlLiBBbHNvLCB3ZSBhbHJlYWR5IHNldCB0aGUgR1NUX0NMT0NLX1RJTUVfTk9ORQoJICBpbiB0aGlzIGZ1bmN0aW9uLiBTbyBJIGhhdmUgbW9kaWZ5IGl0IHdoaWNoIGlzIHJlbGF0ZWQgY29kZSBpbiBzb21lCgkgIGZ1bmN0aW9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYzOTY4CgoyMDE2LTAzLTIxIDEwOjExOjIzICswOTAwICBKaW1teSBPaG4gPHlvbmdqaW4ub2huQGxnZS5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogTW9kaWZ5IGRhdGEgdHlwZSBvZiBkdXJhdGlvbiBpbiBoYW5kbGVfc3JjX3F1ZXJ5IGZ1bmN0aW9uCgkgIERhdGEgdHlwZSBvZiBkdXJhdGlvbiBuZWVkIHRvIG1vZGlmeSBmcm9tIGd1aW50NjQgdG8gR3N0Q2xvY2tUaW1lCgkgIGZvciBjb25zaXN0ZW5jeSBpbiBoYW5kbGVfc3JjX3F1ZXJ5IGZ1bmN0aW9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYzOTY1CgoyMDE2LTAzLTE4IDE0OjQwOjU4ICswMjAwICBWaXZpYSBOaWtvbGFpZG91IDx2aXZpYUBhaGlydS5ldT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2RlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBBZGRlZCB1bml0IHRlc3RzIGZvciBmaWVsZD1hdXRvCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjM4NjkKCjIwMTYtMDMtMTcgMjE6MjE6MDIgKzAyMDAgIFZpdmlhIE5pa29sYWlkb3UgPHZpdmlhQHRvb2xzb25haXIuY29tPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5oOgoJICBkZWludGVybGFjZTogQWRkZWQgImF1dG8iIGZpZWxkcyBtb2RlCgkgIFRoZSAiYXV0byIgZmllbGRzIG1vZGUgd2lsbCBkZXRlY3QgdGhlIHVwc3RyZWFtIGFuZCBkb3duc3RyZWFtIGZyYW1lcmF0ZXMgYW5kCgkgIHdpbGwgZGVjaWRlIHRvIGRlaW50ZXJsYWNlIGFsbCBvciBvbmx5IHRvcCBmaWVsZHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjM4NjkKCjIwMTYtMDMtMTYgMjA6MTc6NTUgKzAxMDAgIEhhdmFyZCBHcmFmZiA8aGF2YXJkLmdyYWZmQGdtYWlsLmNvbT4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZmx2ZGVtdXguYzoKCSAgZmx2ZGVtdXg6IGRvbid0IGVtaXQgcGFkLWFkZGVkIHVudGlsIGNhcHMgYXJlIHJlYWR5CgkgIEluIG90aGVyIHdvcmRzLCBnc3RfcGFkX2dldF9jdXJyZW50X2NhcHMgc2hvdWxkIG5ldmVyIHJldHVybiBOVUxMCgkgIGluIGEgcGFkLWFkZGVkIGNhbGxiYWNrIGZyb20gdGhlIGRlbXV4ZXIuCgkgIEFkZGVkIHRlc3RzIGZvciB0aGUgdHdvIHNwZWNpYWwgY2FzZXMgd2l0aCBBQUMgYW5kIEguMjY0IHdoZXJlIHRoaXMKCSAgd291bGQgaGFwcGVuIGV2ZXJ5IHRpbWUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjM3ODAKCjIwMTYtMDMtMDQgMTA6MzA6MTIgKzA5MDAgIFZpbmVldGggVE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBleHQvYWFsaWIvZ3N0YWFzaW5rLmM6CgkqIGV4dC9jYWlyby9nc3RjYWlyb292ZXJsYXkuYzoKCSogZXh0L2R2L2dzdGR2ZGVjLmM6CgkqIGV4dC9kdi9nc3RkdmRlbXV4LmM6CgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJKiBleHQvZmxhYy9nc3RmbGFjdGFnLmM6CgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1ZmRlYy5jOgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWZvdmVybGF5LmM6CgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1ZnNpbmsuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkqIGV4dC9qcGVnL2dzdHNtb2tlZGVjLmM6CgkqIGV4dC9qcGVnL2dzdHNtb2tlZW5jLmM6CgkqIGV4dC9saWJjYWNhL2dzdGNhY2FzaW5rLmM6CgkqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6CgkqIGV4dC9saWJwbmcvZ3N0cG5nZW5jLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkqIGV4dC9yYXcxMzk0L2dzdGR2MTM5NHNyYy5jOgoJKiBleHQvcmF3MTM5NC9nc3RoZHYxMzk0c3JjLmM6CgkqIGV4dC9zaG91dDIvZ3N0c2hvdXQyLmM6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwY2xpZW50c2luay5jOgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6CgkqIGV4dC90YWdsaWIvZ3N0YXBldjJtdXguY2M6CgkqIGV4dC90YWdsaWIvZ3N0aWQzdjJtdXguY2M6CgkqIGV4dC92cHgvZ3N0dnA4ZGVjLmM6CgkqIGV4dC92cHgvZ3N0dnA4ZW5jLmM6CgkqIGV4dC92cHgvZ3N0dnA5ZGVjLmM6CgkqIGV4dC92cHgvZ3N0dnA5ZW5jLmM6CgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzoKCSogZ3N0L2FscGhhL2dzdGFscGhhY29sb3IuYzoKCSogZ3N0L2FwZXRhZy9nc3RhcGVkZW11eC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb3Bhbm9yYW1hLmM6CgkqIGdzdC9hdWRpb2Z4L2dzdHNjYWxldGVtcG8uYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YW1ycGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RkY2FwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0c2JjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3R3YXZwYWNrcGFyc2UuYzoKCSogZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zaW5rLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NyYy5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zaW5rLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NyYy5jOgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpc3VidGl0bGUuYzoKCSogZ3N0L2N1dHRlci9nc3RjdXR0ZXIuYzoKCSogZ3N0L2RlYnVndXRpbHMvYnJlYWtteWRhdGEuYzoKCSogZ3N0L2RlYnVndXRpbHMvY3B1cmVwb3J0LmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNhcHNkZWJ1Zy5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RjYXBzc2V0dGVyLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdG5hdmlnYXRpb250ZXN0LmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdG5hdnNlZWsuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0cHVzaGZpbGVzcmMuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0dGFnaW5qZWN0LmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL3Byb2dyZXNzcmVwb3J0LmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL3JuZGJ1ZmZlcnNpemUuYzoKCSogZ3N0L2RlYnVndXRpbHMvdGVzdHBsdWdpbi5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJKiBnc3QvZWZmZWN0di9nc3RhZ2luZy5jOgoJKiBnc3QvZWZmZWN0di9nc3RkaWNlLmM6CgkqIGdzdC9lZmZlY3R2L2dzdGVkZ2UuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0b3AuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0cXVhcmsuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0cmFkaW9hYy5jOgoJKiBnc3QvZWZmZWN0di9nc3RyZXYuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0cmlwcGxlLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHNoYWdhZGVsaWMuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0c3RyZWFrLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHZlcnRpZ28uYzoKCSogZ3N0L2VmZmVjdHYvZ3N0d2FycC5jOgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkqIGdzdC9nb29tL2dzdGdvb20uYzoKCSogZ3N0L2dvb20yazEvZ3N0Z29vbS5jOgoJKiBnc3QvaWN5ZGVtdXgvZ3N0aWN5ZGVtdXguYzoKCSogZ3N0L2lkM2RlbXV4L2dzdGlkM2RlbXV4LmM6CgkqIGdzdC9pbWFnZWZyZWV6ZS9nc3RpbWFnZWZyZWV6ZS5jOgoJKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYzoKCSogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOgoJKiBnc3QvaXNvbXA0L2dzdHJ0cHhxdGRlcGF5LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvbGF3L2FsYXctZGVjb2RlLmM6CgkqIGdzdC9sYXcvYWxhdy1lbmNvZGUuYzoKCSogZ3N0L2xhdy9tdWxhdy1kZWNvZGUuYzoKCSogZ3N0L2xhdy9tdWxhdy1lbmNvZGUuYzoKCSogZ3N0L2xldmVsL2dzdGxldmVsLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5jOgoJKiBnc3QvbWF0cm9za2Evd2VibS1tdXguYzoKCSogZ3N0L21vbm9zY29wZS9nc3Rtb25vc2NvcGUuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc3JjLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRmaWxlc3JjLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzaW5rLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzcmMuYzoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydG11eC5jOgoJKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ2FuYWx5c2lzLmM6CgkqIGdzdC9yZXBsYXlnYWluL2dzdHJnbGltaXRlci5jOgoJKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ3ZvbHVtZS5jOgoJKiBnc3QvcnRwL2dzdGFzdGVyaXNraDI2My5jOgoJKiBnc3QvcnRwL2dzdHJ0cEwxNmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwTDE2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwTDI0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBMMjRwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhYzNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFjM3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYW1ycGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYnZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGJ2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwY2VsdGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwY2VsdHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGR2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBkdnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjJkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjJwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzIzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzIzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyNmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyNnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjlkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjlwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc21kZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzdGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3N0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2MWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2MXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGlsYmNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGlsYmNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqMmtkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGoya3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBrbHZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGtsdnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMXNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMnRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMnRwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRhcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcGFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYXJvYnVzdGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXB2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcHZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBvcHVzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBvcHVzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtYXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbXVkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbXVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBxY2VscGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcWRtZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzYmNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNiY3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNpcmVuZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzaXJlbnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzcGVleHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHN0cmVhbWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3RyZWFtcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3YzdmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZwOGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnA4cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnA5ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2cDlwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2cmF3ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2cmF3cGF5LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBkdG1mbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhxdWV1ZS5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhyZWNlaXZlLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHNlbmQuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSogZ3N0L3J0c3AvZ3N0cnRwZGVjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSogZ3N0L3NtcHRlL2dzdHNtcHRlLmM6CgkqIGdzdC9zbXB0ZS9nc3RzbXB0ZWFscGhhLmM6CgkqIGdzdC91ZHAvZ3N0ZHludWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzoKCSogZ3N0L3ZpZGVvY3JvcC9nc3Rhc3BlY3RyYXRpb2Nyb3AuYzoKCSogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdGdhbW1hLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2JhbGFuY2UuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmxpcC5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9tZWRpYW4uYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuYzoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6CgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSogc3lzL29zcy9nc3Rvc3NzaW5rLmM6CgkqIHN5cy9vc3MvZ3N0b3Nzc3JjLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NpbmsuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc3JjLmM6CgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvc2luay5jOgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zcmMuYzoKCSogc3lzL3dhdmVmb3JtL2dzdHdhdmVmb3Jtc2luay5jOgoJKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdXRvZGV0ZWN0LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3F0bXV4LmM6CgkgIGdvb2Q6IHVzZSBuZXcgZ3N0X2VsZW1lbnRfY2xhc3NfYWRkX3N0YXRpY19wYWRfdGVtcGxhdGUoKQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYzMDc2CgoyMDE2LTAzLTA0IDA5OjQyOjQ0ICswMTAwICBEYXZpZCBCdWNobWFubiA8ZGF2aWQuYnVjaG1hbm5AZ21haWwuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZmx2bXV4LmM6CgkgIGZsdm11eDogVGVzdCB0byB2ZXJpZnkgZmx2bXV4IGhhbmRsZXMgRFRTIHdpdGggR1NUX0NMT0NLX1RJTUUgTk9ORQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYyMjA3CgoyMDE1LTExLTA0IDE0OjUxOjE5ICswOTAwICBKaWhhZSBZaSA8amloYWUueWlAc2Ftc3VuZy5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGF2b2lkIHBvdGVudGlhbGx5IG92ZXJmbG93aW5nIGV4cHJlc3Npb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NzU2OQoKMjAxNi0wMy0yMiAxMDo0Mzo0NSArMDkwMCAgSmltbXkgT2huIDx5b25namluLm9obkBsZ2UuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEFkZCB0aGUgZnVuY3Rpb24gdG8gZ2V0IGNoYW5uZWxzIGFuZCBzYW1wbGUgcmF0ZSBmb3IgQUFDCgkgIEFkZCBhYWNfZ2V0X2NoYW5uZWxzIGFuZCBzYW1wbGVfcmF0ZSBmdW5jdGlvbiB0byBnZXQgdGhlc2UgdmFsdWUgZm9yCgkgIEFBQy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0OTExMAoKMjAxNi0wMy0yNCAxMzozMzowMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgQmFjayB0byBkZXZlbG9wbWVudAoKPT09IHJlbGVhc2UgMS44LjAgPT09CgoyMDE2LTAzLTI0IDEyOjI3OjMzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlzb21wNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZweC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogZ3N0LXBsdWdpbnMtZ29vZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMS44LjAKCjIwMTYtMDMtMjQgMTI6MDI6NTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lby5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2dsLnBvOgoJKiBwby9oci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMTYtMDMtMTYgMjA6MTg6NDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYzoKCSAgZGVpbnRlcmxlYXZlOiBVc2UgR3N0SXRlcmF0b3IgZm9yIGl0ZXJhdGluZyBhbGwgcGFkcyBpbnN0ZWFkIG9mIG1hbnVhbGx5IGl0ZXJhdGluZyB0aGVtIHdoaWxlIGhvbGRpbmcgdGhlIG9iamVjdCBsb2NrIGFsbCB0aGUgdGltZQoJICBEb2luZyBxdWVyaWVzIHdoaWxlIGhvbGRpbmcgdGhlIG9iamVjdCBsb2NrIGlzIGEgYml0IGRhbmdlcm91cywgYW5kIGluIHRoaXMKCSAgY2FzZSBjYXVzZXMgZGVhZGxvY2tzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYzMzI2CgoyMDE2LTAzLTE3IDIwOjUzOjI3ICswMjAwICBWaXZpYSBOaWtvbGFpZG91IDx2aXZpYUB0b29sc29uYWlyLmNvbT4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogRml4IHR5cG8gdG8gbm90IGNoYW5nZSB0aGUgaW5wdXQgY2FwcyBidXQgb3VyIGZpbHRlcmVkIGNhcHMKCSAgQ2hhbmdpbmcgdGhlIGlucHV0IGNhcHMgYW5kIG5vdCB1c2luZyB0aGVtIGFueW1vcmUgYWZ0ZXJ3YXJkcyBpcyB1c2VsZXNzLCBhbmQKCSAgaXQgYnJlYWtzIG5lZ290aWF0aW9uIGluIHBpcGVsaW5lcyBsaWtlOgoJICBnc3QtbGF1bmNoLTEuMCB2aWRlb3Rlc3RzcmMgISAidmlkZW8veC1yYXcsZnJhbWVyYXRlPTI1LzEsaW50ZXJsYWNlLW1vZGU9aW50ZXJsZWF2ZWQiICEKCSAgZGVpbnRlcmxhY2UgZmllbGRzPWFsbCAhICJ2aWRlby94LXJhdyxmcmFtZXJhdGU9NTAvMSxpbnRlcmxhY2UtbW9kZT1wcm9ncmVzc2l2ZSIgIQoJICBmYWtlc2luawoKPT09IHJlbGVhc2UgMS43LjkxID09PQoKMjAxNi0wMy0xNSAxMjowNDozOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pc29tcDQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12cHgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDEuNy45MQoKMjAxNi0wMy0xNSAxMTo1MzozNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VvLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2hyLnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMTYtMDMtMTUgMTE6NDE6MjIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBwby9odS5wbzoKCSogcG8vc3IucG86CgkgIHBvOiBVcGRhdGUgdHJhbnNsYXRpb25zCgoyMDE2LTAzLTE1IDAzOjI2OjE0ICswNTMwICBOaXJiaGVlayBDaGF1aGFuIDxuaXJiaGVla0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkgIHJ0cG1hbmFnZXI6IFNvbWUgY29tbWVudCBhbmQgZG9jdW1lbnRhdGlvbiBjbGFyaWZpY2F0aW9ucy9maXhlcwoKMjAxNi0wMy0xMyAxMDozMzoxMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIFJldmVydCAiZmxhY3BhcnNlOiBwdXNoIHRhZ3MgaW4gcHJlX3B1c2hfZnJhbWUiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgNDA2NWZjYjgwYTQ5OTI0YjcwZjBjOGZjMTU5ZGVjMGZmNDc5NDNhMS4KCSAgZmxhY3BhcnNlIHNob3VsZCBub3QgcHVzaCB0YWdzIGJ5IGl0c2VsZiwgdGhlIGJhc2UgY2xhc3MgaXMgZ29pbmcgdG8gZG8gdGhhdAoJICB3aGlsZSBwcm9wZXJseSBtZXJnaW5nIGluIHVwc3RyZWFtIHRhZ3MuIEl0IGp1c3QgZGlkbid0IGJlY2F1c2Ugb2YgYSBidWcgaW4KCSAgdGhlIGJhc2UgY2xhc3MsIHdoaWNoIHdhcyBoaWRkZW4gYnkgdGhpcyBjb21taXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjM1NTMKCjIwMTYtMDItMjUgMDU6MTc6NTEgKzA1MzAgIE5pcmJoZWVrIENoYXVoYW4gPG5pcmJoZWVrQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZGJvb2xodWZmLmM6CgkqIGdzdC9ydHAvZGJvb2xodWZmLmg6CgkqIGdzdC9ydHAvZ3N0cnRwc2JjcGF5LmM6CgkgIHdpbjMyOiBEb24ndCB1c2UgX19hdHRyaWJ1dGVfXyBvbiBNU1ZDCgkgIFVzZSBNU1ZDLWVxdWl2YWxlbnRzIGZvciBhbGlnbm1lbnQgYW5kIHBhY2tpbmcgY29tcGlsZXIgZGlyZWN0aXZlcyB3aGVuIGJ1aWxkaW5nCgkgIG9uIE1TVkMKCjIwMTYtMDItMjUgMDU6MTY6NDIgKzA1MzAgIE5pcmJoZWVrIENoYXVoYW4gPG5pcmJoZWVrQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9lYm1sLXJlYWQuYzoKCSAgd2luMzI6IERvbid0IHRyeSB0byBpbmNsdWRlIHhtYXRoLmggb24gbmV3ZXIgVmlzdWFsIFN0dWRpbwoKMjAxNi0wMi0yNSAwNToxNjowOSArMDUzMCAgTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWtAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2ZseC9nc3RmbHhkZWMuYzoKCSogZ3N0L2dvb20vZ3N0Z29vbS5jOgoJKiBnc3QvZ29vbTJrMS9nc3Rnb29tLmM6CgkqIGdzdC9tb25vc2NvcGUvZ3N0bW9ub3Njb3BlLmM6CgkgIGdzdCBGYWN0b3Igb3V0IGVuZGlhbi1vcmRlciBSR0IgZm9ybWF0cwoJICBNU1ZDIHNlZW1zIHRvIGlnbm9yZSBwcmVwcm9jZXNzb3IgY29uZGl0aW9uYWxzIGluc2lkZSBzdGF0aWMgcGFkCgkgIHRlbXBsYXRlIG1hY3Jvcy4KCjIwMTYtMDMtMDggMTc6Mzc6MTcgKzAxMDAgIFRob21hcyBSb29zIDx0aG9tYXMucm9vc0BpbmR1c3Ryb25pYy5kZT4KCgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSAgZGlyY3Rzb3VuZHNpbms6IFNldHRpbmcgdm9sdW1lIHNob3VsZCBub3QgdW5tdXRlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTUxMDYKCjIwMTYtMDMtMDggMTM6NTc6MjQgKzAxMDAgIFRob21hcyBSb29zIDx0aG9tYXMucm9vc0BpbmR1c3Ryb25pYy5kZT4KCgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSAgZGlyY3Rzb3VuZHNpbms6IEZpeCB2b2x1bWUgcmVzZXQgb24gdW5tdXRlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTUxMDYKCjIwMTYtMDMtMDggMTM6MDM6NTUgKzAxMDAgIEFsYmFuIEJlZGVsIDxhbGJhbi5iZWRlbEBhdmlvbmljLWRlc2lnbi5kZT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogZml4IGNhcHR1cmUgd2l0aCBiYXllciBmb3JtYXRzIG90aGVyIHRoYW4gYmdncgoJICBnc3RfdjRsMl9vYmplY3RfZ2V0X2NhcHNfaW5mbygpIGFsd2F5cyByZXR1cm4gVjRMMl9QSVhfRk1UX1NCR0dSOAoJICBmb3IgYWxsIGJheWVyIGZvcm1hdHMuIFRoaXMgaXMgb2J2aW91c2x5IGJyb2tlbiBpZiB0aGUgZGV2aWNlIHVzZQoJICBhbm90aGVyIG9yZGVyaW5nLiBGaXggdGhpcyBieSBwcm9wZXJseSByZWFkaW5nIHRoZSBmb3JtYXQgcGFyYW1ldGVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYzMzE4CgoyMDE2LTAzLTA3IDEwOjI4OjA2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogcmVzZXQgcGVuZGluZyBzZWdtZW50IGlmIHdlIGFyZSBhbHJlYWR5IHB1c2hpbmcgb25lCgkgIFdoZW4gdXBzdHJlYW0gaXMgcnVubmluZyBpbiBieXRlcyBpbiBwdXNoLW1vZGUsIHF0ZGVtdXggd2lsbAoJICBjb252ZXJ0IHNlZWtzIGZyb20gdGltZSB0byBieXRlcyBhbmQgc2VuZCBpdCB1cHN0cmVhbS4gVXBzdHJlYW0KCSAgZWxlbWVudCB3aWxsIHBlcmZvcm0gYSBieXRlIHNlZWsgYW5kIHNlbmQgYSBieXRlIHNlZ21lbnQgdG8gcXRkZW11eAoJICB0aGF0IHdpbGwgY29udmVydCBpdCB0byB0aW1lIGFuZCBwdXNoIGl0IGRvd25zdHJlYW0uCgkgIFRoZXJlIGlzLCBob3dldmVyLCB0aGUgcGVuZGluZ19zZWdtZW50IHZhcmlhYmxlIHRoYXQgc3RvcmVzIGEgbmV3CgkgIHNlZ21lbnQgZXZlbnQgdG8gYmUgcHVzaGVkIGJlZm9yZSB0aGUgbmV4dCBkYXRhLiBXaGVuIGhhbmRsaW5nIHNlZWtzCgkgIGFzIG1lbnRpb25lZCBhYm92ZSB0aGlzIHZhcmlhYmxlIHdhcyBiZWluZyBpZ25vcmVkIGFuZCwgaWYgaXQgY29udGFpbmVkCgkgIHNvbWUgc2VnbWVudCBldmVudCwgaXQgd291bGQgb3ZlcnJpZGUgdGhlIG9uZSByZXN1bHRpbmcgZnJvbSB0aGUgc2Vlay4KCSAgVGhpcyB3b3VsZCByZXN0b3JlIGEgcHJldmlvdXMgc2VnbWVudCBhbmQgd291bGQgY2F1c2UgdGhlIHNlZWsgc2VnbWVudAoJICB0byBiZSBkaXNjYXJkZWQgZG93bnN0cmVhbS4KCSAgVGhpcyBwYXRjaCBmaXhlcyB0aGlzIGlzc3VlIGJ5IHVucmVmaW5nIGFueSBwZW5kaW5nIHNlZ21lbnQgYXMgdGhlCgkgIHNlZWsgZnJvbSB1cHN0cmVhbSBzaG91bGQgY29udGFpbiB0aGUgbGF0ZXN0IG9uZSB0aGF0IHNob3VsZCBiZQoJICB1c2VkLCBhcyByZXF1ZXN0ZWQgYnkgdGhlIGFwcGxpY2F0aW9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYzMTY1CgoyMDE2LTAzLTA3IDEwOjI3OjQxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogcnVuIGdzdC1pbmRlbnQKCSAgT3RoZXJ3aXNlIGNvbW1pdHMgd2lsbCBmYWlsIHdpdGggb3VyIGluZGVudCBjaGVjayBob29rCgoyMDE2LTAzLTA0IDE1OjA5OjQ1ICswMTAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDI6IGZpeCBjb2xvcmltZXRyeSBmb3IgTlYxMgoJICBSZXBsaWNhdGUgVjRMMl9NQVBfUVVBTlRJWkFUSU9OX0RFRkFVTFQgbWFjcm8gYmVoYXZpb3IuCgkgIEF0ICN2NGwgaXQgd2FzIGRlc2NyaWJlZCB0aGF0IGRvY3VtZW50YXRpb24gbWlnaHQgYmUgd3JvbmcgYW5kIHRoYXQKCSAgd2Ugc2hvdWxkIHRydXN0IHRoaXMgbWFjcm8gaW5zdGVhZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MjUyOQoKMjAxNi0wMy0wNCAxNDowNzoxOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIHVkcHNyYzogRml4IG11bHRpY2FzdCBncm91cCBqb2luaW5nIHdpdGggcHJvdmlkZWQgc29ja2V0cyBvbiBXaW5kb3dzCgkgIE9uIFdpbmRvd3MgdGhlIHNvY2tldCB3aWxsIGJlIGJvdW5kIHRvIEFOWSBpbnN0ZWFkIG9mIHRoZSBtdWx0aWNhc3QgZ3JvdXAsCgkgIGFzIGJpbmRpbmcgdG8gYSBtdWx0aWNhc3QgZ3JvdXAgZG9lcyBub3Qgd29yay4gV2hpY2ggd291bGQgbWVhbiB0aGF0IHdlCgkgIG92ZXJyaWRlIHNyYy0+YWRkciB0byBiZWNvbWUgQU5ZIGFuZCB3b24ndCBhdXRvbWF0aWNhbGx5IGpvaW4gYSBtdWx0aWNhc3QKCSAgZ3JvdXAgYW55bW9yZSBvbiBXaW5kb3dzLgoJICBPbiBMaW51eCB3ZSB3b3VsZCBhdXRvbWF0aWNhbGx5IGpvaW4gYSBtdWx0aWNhc3QgZ3JvdXAsIGtlZXAgaXQgY29uc2lzdGVudC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MzA5MwoKMjAxNi0wMy0wMiAxMzoxMzoyNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBSZXZlcnQgInJ0cGppdHRlcmJ1ZmZlcjogZG9uJ3QgZm9yZ2V0IHRvIHVubG9jayBtdXRleCBpbiBlcnJvciBjb2RlIHBhdGggaW4gdHdvIGNhc2VzIgoJICBUaGlzIHJldmVydHMgY29tbWl0IGE3ZmI3YjUzNTkyZDg3Zjc5ODM1NDRkZWJiNzRkMzY0ZmMzMjU3YWQuCgkgIFRoZSBtdXRleCBpcyB0YWtlbiBieSB0aGUgY2FsbGVyLCB3ZSBzaG91bGQga2VlcCBpdCBsb2NrZWQgd2hlbiByZXR1cm5pbmcgc28KCSAgdGhlIGNhbGxlciBjYW4gdW5sb2NrIGl0IGFnYWluLgoKMjAxNi0wMy0wMSAxNTowMToyMiArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogcHVzaCB0YWdzIGluIHByZV9wdXNoX2ZyYW1lCgkgIFB1c2ggYSB0YWcgZXZlbnQgYmVmb3JlIHByZS1yb2xsIGlmIHdlIGhhdmUgdGFncy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MjY2MAoKPT09IHJlbGVhc2UgMS43LjkwID09PQoKMjAxNi0wMy0wMSAxODoxNTo0MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXNvbXA0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdnB4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiBnc3QtcGx1Z2lucy1nb29kLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAxLjcuOTAKCjIwMTYtMDMtMDEgMTc6MDM6NTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2NhLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lby5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2hyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL29yLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby90ci5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDE2LTAzLTAxIDE2OjUzOjI3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogcG8vYmcucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZnIucG86CgkqIHBvL25sLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcnUucG86CgkqIHBvL3N2LnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJICBwbzogVXBkYXRlIHRyYW5zbGF0aW9ucwoKMjAxNi0wMy0wMSAxNDoxNDowMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IGRvbid0IGZvcmdldCB0byB1bmxvY2sgbXV0ZXggaW4gZXJyb3IgY29kZSBwYXRoIGluIHR3byBjYXNlcwoKMjAxNi0wMi0yOSAxMDoxMDoyNCArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYS1kZW11eDogcmVtb3ZlIGltcG9zc2libGUgY29uZGl0aW9uCgkgIEl0IGlzIGltcG9zc2libGUgZm9yIGEgZ3VpbnQgdG8gaGF2ZSBhIG5lZ2F0aXZlIHZhbHVlLCBubyBuZWVkIHRvIGNoZWNrIGZvcgoJICB0aGlzLiBJbnRyb2R1Y2VkIGluIGNvbW1pdCA2ODYxZDExYzQ5ZWEwZjMwZDI0MzJjZjRlYmY2MTA4YmM4OTg5N2YxCgkgIENJRCAxMzU0NTA5CgoyMDE2LTAyLTI4IDEwOjEyOjM2ICswMTAwICBQZXRyIFZpa3RvcmluIDxlbmN1a291QGdtYWlsLmNvbT4KCgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOgoJICBhbHBoYTogRml4IHNhbXBsZSBwaXBlbGluZQoJICBVc2UgdGhlIHpvcmRlciBwYWQgcHJvcGVydHkgdG8gbWFrZSBzdXJlIHRoZSBzZW1pdHJhbnNwYXJlbnQKCSAgdmlkZW8gaXMgb24gdG9wIG9mIHRoZSBiYWNrZ3JvdW5kLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYyODA5CgoyMDE2LTAyLTI4IDEzOjQyOjI4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3JlcGxheWdhaW4vZ3N0cmd2b2x1bWUuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcmd2b2x1bWUuYzoKCSAgcmd2b2x1bWU6IG1ha2UgdGFnIGxpc3Qgd3JpdGFibGUgYmVmb3JlIG1vZGlmeWluZyBpdAoJICBNYWtpbmcgdGhlIGV2ZW50IGl0c2VsZiB3cml0YWJsZSBpcyBub3QgZW5vdWdoLCBpdCB3b24ndCBtYWtlCgkgIHRoZSBhY3R1YWwgdGFnbGlzdCBpbiB0aGUgZXZlbnQgd3JpdGFibGUgYXMgd2VsbC4gSW5zdGVhZCwganVzdAoJICBtYWtlIGEgY29weSBvZiB0aGUgdGFnbGlzdCBhbmQgdGhlbiBjcmVhdGUgYSBuZXcgdGFnIGV2ZW50IGZyb20KCSAgdGhhdCBpZiByZXF1aXJlZCwgcmVwbGFjaW5nIHRoZSBvbGQgb25lLiBCZWZvcmUgd2Ugd291bGQKCSAgaW5hZHZlcnRlbnRseSBtb2RpZnkgdGFnbGlzdHMgdXBzdHJlYW0gZWxlbWVudHMgbWlnaHQgc3RpbGwKCSAgYmUgaG9sZGluZyBvbiB0by4gQWRkIHVuaXQgdGVzdCBmb3IgdGhpcyBhcyB3ZWxsLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYyNzkzCgoyMDE2LTAyLTI4IDEzOjAxOjM0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBQcm9wZXJseSBlcnJvciBvdXQgaWYgYmluZGluZyB0aGUgVURQIHNvY2tldHMgZmFpbHMKCSAgdWRwc3JjIGlzIG5vdCByZXR1cm5pbmcgdXMgYSBzb2NrZXQgaW4gdGhhdCBjYXNlLgoKMjAxNi0wMi0yNyAyMDozMzozMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9nb29tL2dzdGdvb20uYzoKCSAgZ29vbTogVXNlIGdvb21fc2V0X3Jlc29sdXRpb24oKSBpbnN0ZWFkIG9mIHJlY3JlYXRpbmcgdGhlIGdvb20gaW5zdGFuY2Ugd2hlbiB0aGUgcmVzb2x1dGlvbiBjaGFuZ2VzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjI3NjUKCjIwMTYtMDItMjcgMjA6MzI6NDUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZ29vbS9nc3Rnb29tLmM6CgkgIFJldmVydCAiZ29vbTogSW5pdGlhbGl6ZSB0aGUgZ29vbSBzdHJ1Y3Qgb25seSBvbmNlIHdlIGtub3cgd2lkdGgvaGVpZ2h0IGFuZCByZWNyZWF0ZSBpdCBpZiB0aG9zZSBjaGFuZ2UiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgY2M2ZTEwMjY0M2MxYmFlOTI4MzE2ZGNhOWYzNGRiMDI4ZmI5YTY3ZS4KCjIwMTYtMDItMjcgMjA6MzE6MTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZ29vbS9nc3Rnb29tLmM6CgkgIGdvb206IEluaXRpYWxpemUgdGhlIGdvb20gc3RydWN0IG9ubHkgb25jZSB3ZSBrbm93IHdpZHRoL2hlaWdodCBhbmQgcmVjcmVhdGUgaXQgaWYgdGhvc2UgY2hhbmdlCgkgIEZpeGVzIGNyYXNoIHdoZW4gdGhlIHdpZHRoIGFuZC9vciBoZWlnaHQgaXMgY2hhbmdpbmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjI3NjUKCjIwMTYtMDItMjYgMTI6NDE6MDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGI2NGYwM2YgdG8gNmYyZDIwOQoKMjAxNi0wMi0yNSAyMjo1NDoxOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJICBkb2NzOiBhZGQgcnRwb3B1c2RlcGF5IGFuZCBydHBvcHVzcGF5IHRvIGRvY3VtZW50YXRpb24KCjIwMTYtMDItMTcgMTU6MTU6MTEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwL2dzdHJ0cC5jOgoJKiBnc3QvcnRwL2dzdHJ0cG9wdXNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG9wdXNkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG9wdXNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBvcHVzcGF5Lmg6CgkgIHJ0cDogb3B1czogbW92ZSBPcHVzIFJUUCBwYXlsb2FkZXIvZGVwYXlsb2FkZXIgZnJvbSAtYmFkIHRvIC1nb29kCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTYyODIKCjIwMTYtMDItMTcgMTU6MTA6MDAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJICBNZXJnZSBicmFuY2ggJ3BsdWdpbi1tb3ZlLXJ0cC1vcHVzJwoJICBNb3ZlIE9wdXMgUlRQIGRlcGF5bG9hZGVyL3BheWxvYWRlciBmcm9tIC1iYWQgdG8gLWdvb2QuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTYyODIKCjIwMTYtMDItMjUgMTE6MzM6MTMgKzAxMDAgIFBoaWxpcHBlIE5vcm1hbmQgPHBoaWxuQGlnYWxpYS5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogY2VuYyBhdXggaW5mbyBwYXJzaW5nIGZyb20gbWRhdCBzdXBwb3J0IGluIFBVTEwgbW9kZQoJICBUaGlzIGlzIGFscmVhZHkgc3VwcG9ydGVkIGZvciBQVVNIIG1vZGUgYnV0IHdhcyBmYWlsaW5nIGluIFBVTEwgbW9kZS4KCSAgVGhlIGF1eCBpbmZvIGlzIHNvbWV0aW1lcyBzdG9yZWQgaW4gdGhlIG1kYXQgYmVmb3JlIHRoZSBmaXJzdCBzYW1wbGUsCgkgIHNvIHRoZSBsb29wIHRhc2sgbmVlZHMgdG8gcHVsbCBkYXRhIHN0b3JlZCBhdCB0aGF0IGxvY2F0aW9uIGFuZAoJICBwZXJmb3JtIHRoZSBhdXggaW5mbyBjZW5jIHBhcnNpbmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjE3MDAKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MjUxNgoKMjAxNi0wMi0yNCAxMToyODowOSArMDEwMCAgUGhpbGlwcGUgTm9ybWFuZCA8cGhpbG5AaWdhbGlhLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBwcmV2ZW50IGJ1ZmZlciBmbG93IGlmIGFueSBzdHJlYW0gZmFpbGVkIHRvIGJlIGV4cG9zZWQKCSAgSW4gc29tZSBjYXNlcyB0aGUgc3RyZWFtIGNvbmZpZ3VyYXRpb24gY2FuIGZhaWwsIGZvciBpbnN0YW5jZSBpZiB0aGUKCSAgc3RyZWFtIGlzIHByb3RlY3RlZCBhbmQgbm8gZGVjcnlwdG9yIHdhcyBmb3VuZC4gRm9yIHRob3NlIHNpdHVhdGlvbnMKCSAgdGhlIGRlbXV4ZXIgc2hvdWxkbid0IGVtaXQgYW55IGRhdGEgb24gdGhlIGNvcnJlc3BvbmRpbmcgc291cmNlIHBhZCBvZgoJICB0aGUgc3RyZWFtIGFuZCBiYWlsIG91dC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MjUxNgoKMjAxNi0wMi0yNCAwOToxMjowMyArMDEwMCAgUGhpbGlwcGUgTm9ybWFuZCA8cGhpbG5AaWdhbGlhLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBkb24ndCBwdXNoIGVuY3J5cHRlZCBidWZmZXIgd2l0aG91dCBjZW5jIG1ldGFkYXRhCgkgIFdoZW4gdGhlIGNlbmMgbWV0YWRhdGEgaXMgc3RvcmVkIG91dHNpZGUgb2YgdGhlIG1vb2YgYm94IGFuZCB0aGUKCSAgc3RyZWFtIGlzIGV4cG9zZWQgaXQgaXMgcG9zc2libGUgdGhhdCB0aGUgY2VuYyBtZXRhZGF0YSBoYXNuJ3QgYmVlbgoJICBwcm9jZXNzZWQgeWV0IHdoaWxlIHRoZSBmaXJzdCBidWZmZXIgaXMgYmVpbmcgcHVzaGVkLiBXaGVuIHRoaXMKCSAgaGFwcGVucyB0aGUgYnVmZmVyIGNhbid0IHBvc3NpYmx5IGJlIGRlY3J5cHRlZCBkb3duc3RyZWFtIHNvIGRvbid0CgkgIHB1c2ggaXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjI1MTYKCjIwMTUtMTAtMjEgMTY6MjE6NDUgKzAyMDAgIFBoaWxpcHBlIE5vcm1hbmQgPHBoaWxuQGlnYWxpYS5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogcmVhZCBzYWlvIGF1eF9pbmZvX3R5cGUgYXMgYSBGT1VSQ0MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1Njg5NwoKMjAxNi0wMi0yMyAxODoyNzo0NyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kdi9nc3RkdmRlYy5jOgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWZkZWMuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkqIGdzdC9zbXB0ZS9nc3RzbXB0ZS5jOgoJICBnc3Q6IEhhbmRsZSBnc3RfcGFkX2dldF9jdXJyZW50X2NhcHMoKSByZXR1cm5pbmcgTlVMTCBncmFjZWZ1bGx5CgoyMDE2LTAyLTIzIDE4OjEyOjU0ICswMjAwICBEYXZlIENyYWlnIDxkY3JhaWdAYnJpZ2h0c2lnbi5iaXo+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVkZXBheS5jOgoJICBydHBoMjY1ZGVwYXk6IERvbid0IGFzc3VtZSB0aGF0IGdldF9jdXJyZW50X2NhcHMoKSByZXR1cm5zIG5vbi1OVUxMIGNhcHMgYWZ0ZXIgaGFzX2N1cnJlbnRfY2FwcygpCgkgIFJlbW92ZSBjYWxscyB0byBnc3RfcGFkX2hhc19jdXJyZW50X2NhcHMoKSB3aGljaCB0aGVuIGdvIG9uIHRvIGNhbGwKCSAgZ3N0X3BhZF9nZXRfY3VycmVudF9jYXBzKCkgYXMgdGhlIGNhcHMgY2FuIGdvIHRvIE5VTEwgaW4gYmV0d2Vlbi4gSW5zdGVhZCBqdXN0CgkgIHVzZSBnc3RfcGFkX2dldF9jdXJyZW50X2NhcHMoKSBhbmQgY2hlY2sgZm9yIE5VTEwuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTk1MzkKCjIwMTUtMTItMTYgMTI6NDA6MzkgKzAwMDAgIERhdmUgQ3JhaWcgPGRjcmFpZ0BicmlnaHRzaWduLmJpej4KCgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSogZ3N0L2ltYWdlZnJlZXplL2dzdGltYWdlZnJlZXplLmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkqIGdzdC92aWRlb2Nyb3AvZ3N0YXNwZWN0cmF0aW9jcm9wLmM6CgkgIGdzdDogRG9uJ3QgYXNzdW1lIHRoYXQgZ2V0X2N1cnJlbnRfY2FwcygpIHJldHVybnMgbm9uLU5VTEwgY2FwcyBhZnRlciBoYXNfY3VycmVudF9jYXBzKCkKCSAgUmVtb3ZlIGNhbGxzIHRvIGdzdF9wYWRfaGFzX2N1cnJlbnRfY2FwcygpIHdoaWNoIHRoZW4gZ28gb24gdG8gY2FsbAoJICBnc3RfcGFkX2dldF9jdXJyZW50X2NhcHMoKSBhcyB0aGUgY2FwcyBjYW4gZ28gdG8gTlVMTCBpbiBiZXR3ZWVuLiBJbnN0ZWFkIGp1c3QKCSAgdXNlIGdzdF9wYWRfZ2V0X2N1cnJlbnRfY2FwcygpIGFuZCBjaGVjayBmb3IgTlVMTC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1OTUzOQoKMjAxNS0xMi0xNiAxMDo1NDoxNyArMDAwMCAgRGF2ZSBDcmFpZyA8ZGNyYWlnQGJyaWdodHNpZ24uYml6PgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogSGFuZGxlIGdzdF9wYWRfZ2V0X2N1cnJlbnRfY2FwcygpIHJldHVybmluZyBOVUxMIGdyYWNlZnVsbHkKCSAgVGhpcyBjYW4gaGFwcGVuIHdoZW4gdGhlIHBpcGVsaW5lIGlzIGN1cnJlbnRseSBzaHV0dGluZyBkb3duLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU5NTM5CgoyMDE2LTAyLTIzIDE1OjU3OjE4ICswMTAwICBMaW51cyBTdmVuc3NvbiA8bGludXNzbkBheGlzLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYS1kZW11eDogRG9uJ3QgaGFuZGxlIHNlZWsgdW50aWwgcmVhZHkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MjU0MgoKMjAxNi0wMi0yMyAxNTo1NToxMyArMDEwMCAgTGludXMgU3ZlbnNzb24gPGxpbnVzc25AYXhpcy5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2EtZGVtdXg6IFVucmVmIHNlZWsgZXZlbnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MjU0MgoKMjAxNi0wMi0yMiAxMTowMTo0MCArMDEwMCAgQXVyw6lsaWVuIFphbmVsbGkgPGF1cmVsaWVuLnphbmVsbGlAcGFycm90LmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOgoJICBtdWx0aWZpbGVzaW5rOiBjbG9zZSBmaWxlIG9uIHdyaXRlIGVycm9yIHdpdGggbmV4dC1maWxlIG1vZGUgaXMgc2V0IHRvIGJ1ZmZlcgoJICBJZiB3ZSBoYXZlIGFuIGVycm9yIGR1cmluZyBmd3JpdGUgY2FsbCwgZmlsZSBzdGF5cyBvcGVuIGFuZCB0aHVzIG5leHQKCSAgaW5jb21pbmcgYnVmZmVyIHdpbGwgdHJpZ2dlciBhbiBhc3NlcnQgd2hlbiB0cnlpbmcgdG8gb3BlbmluZyBhIG5ldwoJICBmaWxlLgoJICBUaGlzIGhhcHBlbnMgaWYgd2UgZG8gbm90IHJlc3RhcnQgZWxlbWVudCwgZmlsZSBpcyBjbG9zZWQgYXQgc3RvcCwgYW5kCgkgIGlmIGFwcGxpY2F0aW9uIGhhbmRsZXMgdGhlIHJldHVybmVkIEdTVF9GTE9XX0VSUk9SIHRvIGtlZXAgYmluIGFsaXZlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYyNDM0CgoyMDE2LTAyLTE5IDIzOjQ0OjQyICswMTAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogZG9uJ3Qgb3V0cHV0IGVtcHR5IHRhZ3MvdGFnIGVsZW1lbnRzCgkgIFN1Y2ggZmlsZXMgd2lsbCBub3QgcGxheSBvbiBBbmRyb2lkLCBiZWNhdXNlIG9mIGJ1ZyBpbiBsaWJ3ZWJtIG1hdHJvc2thIHBhcnNpbmcsIHdoaWNoIGlzIHN0aWxsIHByZXNlbnQgaW4gNi4wLjEKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MjM0OQoKMjAxNi0wMi0wNCAxNTo1OTowNCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2EtZGVtdXg6IG1ha2UgdXAgYW4gT3B1c0hlYWQgYmxvY2sgaWYgcG9zc2libGUgd2hlbiBtaXNzaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjE0ODkKCjIwMTYtMDItMDQgMTA6NDM6MTUgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYS1tdXg6IG1ha2UgdXAgYW4gT3B1c0hlYWQgYmxvY2sgaWYgcG9zc2libGUgd2hlbiBtaXNzaW5nCgkgIFRoaXMgYmxvY2sgaXMgbmVlZGVkIGluIHRoZSBNYXRyb3NrYSBmaWxlLCBidXQgZGF0YSBjb21pbmcgZnJvbQoJICBSVFAgbWF5IG5vdCBoYXZlIG9uZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MTQ4OQoKMjAxNi0wMi0yMiAxMzo1MzoyMSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bW5hdXdAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IG1ha2Ugc3RyZWFtLWlkIG1vcmUgcmVhZGFibGUgYW5kIG9yZGVyLWZyaWVuZGx5CgkgIC4uLiBhcyBzdHJlYW1zIGFyZSBzbyBvcmRlcmVkIGJ5IGlkIGJ5IGUuZy4gZGVjb2RlYmluCgkgIChhbmQgYXMgdHlwaWNhbGx5IGFscmVhZHkgaG9ub3VyZWQgYnkgb3RoZXIgZGVtdXhlcnMpLgoKMjAxNi0wMi0yMiAxMzoyNTo1MSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bW5hdXdAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5oOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thOiByZW1vdmUgY29uZnVzaW5nIGR1cGxpY2F0ZSB0cmFjayB1aWQgZmllbGQKCjIwMTYtMDItMjIgMTQ6MDM6MDIgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHZwOXBheS5jOgoJICBydHB2cDlwYXk6IGFkZCBtaXNzaW5nIGJyZWFrCgkgIFZQOV9QQVlfUElDVFVSRV9JRF83QklUUyBhbmQgVlA5X1BBWV9QSUNUVVJFX0lEXzE1QklUUyBhcmUgbXV0dWFsbHkKCSAgZXhjbHVzaXZlIG9wdGlvbnMgb2YgdGhlIHBpY3R1cmUtaWQtbW9kZS4gV2UgY2FuIGJyZWFrIGFmdGVyIHRoZQoJICBmaXJzdCBjYXNlLgoJICAxIG9yIDIgYnl0ZXMgbmVlZCB0byBiZSBhZGRlZCB0byB0aGUgaGVhZGVyIGxlbmd0aCBkZXBlbmRpbmcgb24gdGhlCgkgIFBpY3R1cmVJRCBzaXplLgoJICBodHRwczovL3Rvb2xzLmlldGYub3JnL2h0bWwvZHJhZnQtdWJlcnRpLXBheWxvYWQtdnA5LTAwI3NlY3Rpb24tNC4yCgkgIENJRCAxMzUzNDc5CgoyMDE2LTAyLTIyIDA5OjA5OjAxICswOTAwICBWaW5lZXRoIFRNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogRml4IGJ1ZmZlciBtZW1vcnkgbGVhawoJICBidWZmZXIgYmVpbmcgbWFwcGVkIGlzIG5vdCBiZWluZyB1bm1hcHBlZCBpbiBzb21lIGNhc2VzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjI0MjAKCjIwMTUtMTEtMDQgMTA6MTk6MDMgKzAxMDAgIFN0aWFuIFNlbG5lcyA8c3RpYW5AcGV4aXAuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cG1hbmFnZXI6IERvbid0IHdhcm4gZm9yIGR1cGxpY2F0ZS9yZW9yZGVyZWQgcGFja2V0cwoJICBUaGlzIGlzIGEgbm9ybWFsIHNjZW5hcmlvIGFuZCBzaG91bGQgbm90IGJlIGEgd2FybmluZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MjIwOAoKMjAxNi0wMi0yMSAwOTo0Nzo0MyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hbHBoYS9hbHBoYS52Y3Byb2o6CgkqIGdzdC9hdXBhcnNlL2F1cGFyc2UudmNwcm9qOgoJKiBnc3QvYXZpL2F2aS52Y3Byb2o6CgkqIGdzdC9jdXR0ZXIvY3V0dGVyLnZjcHJvajoKCSogZ3N0L2RlYnVndXRpbHMvZGVidWcudmNwcm9qOgoJKiBnc3QvZGVidWd1dGlscy9uYXZpZ2F0aW9udGVzdC52Y3Byb2o6CgkqIGdzdC9lZmZlY3R2L2VmZmVjdHYudmNwcm9qOgoJKiBnc3QvZmx4L2ZseGRlYy52Y3Byb2o6CgkqIGdzdC9nb29tL2dvb20udmNwcm9qOgoJKiBnc3QvZ29vbTJrMS9nb29tLnZjcHJvajoKCSogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS52Y3Byb2o6CgkqIGdzdC9pc29tcDQvcXRkZW11eC52Y3Byb2o6CgkqIGdzdC9sYXcvYWxhdy52Y3Byb2o6CgkqIGdzdC9sYXcvbXVsYXcudmNwcm9qOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EudmNwcm9qOgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydC52Y3Byb2o6CgkqIGdzdC9ydHAvcnRwLnZjcHJvajoKCSogZ3N0L3NtcHRlL3NtcHRlLnZjcHJvajoKCSogZ3N0L3NwZWN0cnVtL3NwZWN0cnVtLnZjcHJvajoKCSogZ3N0L3VkcC91ZHAudmNwcm9qOgoJKiBnc3QvdmlkZW9ib3gvdmlkZW9ib3gudmNwcm9qOgoJKiBnc3QvdmlkZW9jcm9wL3ZpZGVvY3JvcC52Y3Byb2o6CgkqIGdzdC92aWRlb2ZpbHRlci9nYW1tYS52Y3Byb2o6CgkqIGdzdC92aWRlb2ZpbHRlci92aWRlb2JhbGFuY2UudmNwcm9qOgoJKiBnc3QvdmlkZW9maWx0ZXIvdmlkZW9maWx0ZXIudmNwcm9qOgoJKiBnc3QvdmlkZW9maWx0ZXIvdmlkZW9mbGlwLnZjcHJvajoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci52Y3Byb2o6CgkqIGdzdC93YXZlbmMvd2F2ZW5jLnZjcHJvajoKCSogZ3N0L3dhdnBhcnNlL3dhdnBhcnNlLnZjcHJvajoKCSogZ3N0L3k0bS95NG1lbmMudmNwcm9qOgoJKiB3aW4zMi9NQU5JRkVTVDoKCSogd2luMzIvdnM2L2F1dG9nZW4uZHNwOgoJKiB3aW4zMi92czYvZ3N0X3BsdWdpbnNfZ29vZC5kc3c6CgkqIHdpbjMyL3ZzNi9saWJnc3RhbGF3LmRzcDoKCSogd2luMzIvdnM2L2xpYmdzdGFscGhhLmRzcDoKCSogd2luMzIvdnM2L2xpYmdzdGFscGhhY29sb3IuZHNwOgoJKiB3aW4zMi92czYvbGliZ3N0YXBldGFnLmRzcDoKCSogd2luMzIvdnM2L2xpYmdzdGF1ZGlvZnguZHNwOgoJKiB3aW4zMi92czYvbGliZ3N0YXVwYXJzZS5kc3A6CgkqIHdpbjMyL3ZzNi9saWJnc3RhdXRvZGV0ZWN0LmRzcDoKCSogd2luMzIvdnM2L2xpYmdzdGF2aS5kc3A6CgkqIHdpbjMyL3ZzNi9saWJnc3RjdXR0ZXIuZHNwOgoJKiB3aW4zMi92czYvbGliZ3N0ZGlyZWN0c291bmQuZHNwOgoJKiB3aW4zMi92czYvbGliZ3N0ZWZmZWN0di5kc3A6CgkqIHdpbjMyL3ZzNi9saWJnc3RmbHguZHNwOgoJKiB3aW4zMi92czYvbGliZ3N0Z29vbS5kc3A6CgkqIHdpbjMyL3ZzNi9saWJnc3RpY3lkZW11eC5kc3A6CgkqIHdpbjMyL3ZzNi9saWJnc3RpZDNkZW11eC5kc3A6CgkqIHdpbjMyL3ZzNi9saWJnc3RpbnRlcmxlYXZlLmRzcDoKCSogd2luMzIvdnM2L2xpYmdzdGpwZWcuZHNwOgoJKiB3aW4zMi92czYvbGliZ3N0bGV2ZWwuZHNwOgoJKiB3aW4zMi92czYvbGliZ3N0bWF0cm9za2EuZHNwOgoJKiB3aW4zMi92czYvbGliZ3N0bWVkaWFuLmRzcDoKCSogd2luMzIvdnM2L2xpYmdzdG1vbm9zY29wZS5kc3A6CgkqIHdpbjMyL3ZzNi9saWJnc3RtdWxhdy5kc3A6CgkqIHdpbjMyL3ZzNi9saWJnc3RtdWx0aXBhcnQuZHNwOgoJKiB3aW4zMi92czYvbGliZ3N0cG5nLmRzcDoKCSogd2luMzIvdnM2L2xpYmdzdHF0ZGVtdXguZHNwOgoJKiB3aW4zMi92czYvbGliZ3N0cnRwLmRzcDoKCSogd2luMzIvdnM2L2xpYmdzdHJ0c3AuZHNwOgoJKiB3aW4zMi92czYvbGliZ3N0c21wdGUuZHNwOgoJKiB3aW4zMi92czYvbGliZ3N0c3BlZXguZHNwOgoJKiB3aW4zMi92czYvbGliZ3N0dWRwLmRzcDoKCSogd2luMzIvdnM2L2xpYmdzdHZpZGVvYmFsYW5jZS5kc3A6CgkqIHdpbjMyL3ZzNi9saWJnc3R2aWRlb2JveC5kc3A6CgkqIHdpbjMyL3ZzNi9saWJnc3R2aWRlb2Nyb3AuZHNwOgoJKiB3aW4zMi92czYvbGliZ3N0dmlkZW9mbGlwLmRzcDoKCSogd2luMzIvdnM2L2xpYmdzdHZpZGVvbWl4ZXIuZHNwOgoJKiB3aW4zMi92czYvbGliZ3N0d2F2ZWZvcm0uZHNwOgoJKiB3aW4zMi92czYvbGliZ3N0d2F2ZW5jLmRzcDoKCSogd2luMzIvdnM2L2xpYmdzdHdhdnBhcnNlLmRzcDoKCSogd2luMzIvdnM3L2xpYmdzdGRpcmVjdHNvdW5kLnZjcHJvajoKCSogd2luMzIvdnM4L2dzdC1wbHVnaW5zLWdvb2Quc2xuOgoJKiB3aW4zMi92czgvbGliZ3N0MTM5NC52Y3Byb2o6CgkqIHdpbjMyL3ZzOC9saWJnc3RhYXNpbmsudmNwcm9qOgoJKiB3aW4zMi92czgvbGliZ3N0YWxhdy52Y3Byb2o6CgkqIHdpbjMyL3ZzOC9saWJnc3RhbHBoYS52Y3Byb2o6CgkqIHdpbjMyL3ZzOC9saWJnc3RhbHBoYWNvbG9yLnZjcHJvajoKCSogd2luMzIvdnM4L2xpYmdzdGFubm9kZXgudmNwcm9qOgoJKiB3aW4zMi92czgvbGliZ3N0YXBldGFnLnZjcHJvajoKCSogd2luMzIvdnM4L2xpYmdzdGF1ZGlvZngudmNwcm9qOgoJKiB3aW4zMi92czgvbGliZ3N0YXVwYXJzZS52Y3Byb2o6CgkqIHdpbjMyL3ZzOC9saWJnc3RhdXRvZGV0ZWN0LnZjcHJvajoKCSogd2luMzIvdnM4L2xpYmdzdGF2aS52Y3Byb2o6CgkqIHdpbjMyL3ZzOC9saWJnc3RjYWNhc2luay52Y3Byb2o6CgkqIHdpbjMyL3ZzOC9saWJnc3RjZGlvLnZjcHJvajoKCSogd2luMzIvdnM4L2xpYmdzdGN1dHRlci52Y3Byb2o6CgkqIHdpbjMyL3ZzOC9saWJnc3RkaXJlY3Rzb3VuZC52Y3Byb2o6CgkqIHdpbjMyL3ZzOC9saWJnc3Rkdi52Y3Byb2o6CgkqIHdpbjMyL3ZzOC9saWJnc3RlZmZlY3R2LnZjcHJvajoKCSogd2luMzIvdnM4L2xpYmdzdGZsYWMudmNwcm9qOgoJKiB3aW4zMi92czgvbGliZ3N0Zmx4ZGVjLnZjcHJvajoKCSogd2luMzIvdnM4L2xpYmdzdGdvb20udmNwcm9qOgoJKiB3aW4zMi92czgvbGliZ3N0aWN5ZGVtdXgudmNwcm9qOgoJKiB3aW4zMi92czgvbGliZ3N0aWQzZGVtdXgudmNwcm9qOgoJKiB3aW4zMi92czgvbGliZ3N0anBlZy52Y3Byb2o6CgkqIHdpbjMyL3ZzOC9saWJnc3RsYWRzcGEudmNwcm9qOgoJKiB3aW4zMi92czgvbGliZ3N0bGV2ZWwudmNwcm9qOgoJKiB3aW4zMi92czgvbGliZ3N0bWF0cm9za2EudmNwcm9qOgoJKiB3aW4zMi92czgvbGliZ3N0bW5nLnZjcHJvajoKCSogd2luMzIvdnM4L2xpYmdzdG1vbm9zY29wZS52Y3Byb2o6CgkqIHdpbjMyL3ZzOC9saWJnc3RtdWxhdy52Y3Byb2o6CgkqIHdpbjMyL3ZzOC9saWJnc3RtdWx0aXBhcnQudmNwcm9qOgoJKiB3aW4zMi92czgvbGliZ3N0cG5nLnZjcHJvajoKCSogd2luMzIvdnM4L2xpYmdzdHJ0cC52Y3Byb2o6CgkqIHdpbjMyL3ZzOC9saWJnc3RydHNwLnZjcHJvajoKCSogd2luMzIvdnM4L2xpYmdzdHNob3V0Mi52Y3Byb2o6CgkqIHdpbjMyL3ZzOC9saWJnc3RzbXB0ZS52Y3Byb2o6CgkqIHdpbjMyL3ZzOC9saWJnc3RzcGVleC52Y3Byb2o6CgkqIHdpbjMyL3ZzOC9saWJnc3R0YWdsaWIudmNwcm9qOgoJKiB3aW4zMi92czgvbGliZ3N0dWRwLnZjcHJvajoKCSogd2luMzIvdnM4L2xpYmdzdHZpZGVvYmFsYW5jZS52Y3Byb2o6CgkqIHdpbjMyL3ZzOC9saWJnc3R2aWRlb2JveC52Y3Byb2o6CgkqIHdpbjMyL3ZzOC9saWJnc3R2aWRlb2ZsaXAudmNwcm9qOgoJKiB3aW4zMi92czgvbGliZ3N0dmlkZW9taXhlci52Y3Byb2o6CgkqIHdpbjMyL3ZzOC9saWJnc3R3YXZlbmMudmNwcm9qOgoJKiB3aW4zMi92czgvbGliZ3N0d2F2cGFyc2UudmNwcm9qOgoJICB3aW4zMjogcmVtb3ZlIG91dGRhdGVkIGJ1aWxkIGNydWZ0CgkgIFRoaXMgaGFzbid0IGJlZW4gdG91Y2hlZCBmb3IgZ2VuZXJhdGlvbnMsIGRvZXNuJ3Qgd29yaywKCSAgYW5kIGlzIGp1c3QgY2F1c2luZyBjb25mdXNpb24uIFdlIGFsc28gZG9uJ3Qgd2FudCB0bwoJICBtYWludGFpbiB0aGVzZSBmaWxlcyBtYW51YWxseS4KCjIwMTYtMDItMjAgMTE6NTE6NTYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyOiBkb24ndCB1c2UgdW5kZWNsYXJlZCBjb3JlIGRlYnVnIGNhdGVnb3J5IHN5bWJvbHMKCjIwMTYtMDItMDYgMTQ6Mzk6MDUgKzAxMDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogd29ya2Fyb3VuZCBmb3IgZmlsZXMgd2l0aCB3cm9uZyBjb2xvcl90YWJsZV9pZCB2YWx1ZQoJICBJbnN0ZWFkIG9mIGVycm9yaW5nIG91dCwganVzdCB1c2UgdGhlIGRlZmF1bHQgY29sb3IgdGFibGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjE2MzcKCjIwMTYtMDItMTkgMTU6MDI6MDQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZwOWRlcGF5LmM6CgkgIGZsdm11eCwgcnRwdnA5ZGVwYXk6IGZpeCBpbmRlbnRhdGlvbgoKMjAxNi0wMi0xOSAxNTowMzowNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvZGVjLmM6CgkgIHY0bDJzcmM6IGZpeCBpbmRlbnRhdGlvbgoKMjAxNS0xMi0wNCAwMDo0NjozNCArMTEwMCAgSGF2YXJkIEdyYWZmIDxoYXZhcmQuZ3JhZmZAZ21haWwuY29tPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSAgZmx2bXV4OiBwbHVnIGxlYWsocykgaW4gZXJyb3Itc2NlbmFyaW8KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MjIxMAoKMjAxNS0xMi0wNCAwMDo0NjoxMiArMTEwMCAgSGF2YXJkIEdyYWZmIDxoYXZhcmQuZ3JhZmZAZ21haWwuY29tPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHZkZW11eDogZml4IGVvcyBldmVudCBsZWFrCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjIyMDkKCjIwMTYtMDItMTkgMTQ6NDE6MDcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9mbHZkZW11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9mbHZtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwaDI2My5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgdGVzdHM6IGZpeCBpbmRlbnRhdGlvbgoKMjAxNi0wMi0xOCAxNjowOToyOSArMDEwMCAgSGF2YXJkIEdyYWZmIDxoYXZhcmQuZ3JhZmZAZ21haWwuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwaml0dGVyYnVmZmVyLmM6CgkgIHRlc3RzOiBydHBqaXR0ZXJidWZmZXI6IHBvcnQgdGVzdGhhcm5lc3MgdG8gR3N0SGFybmVzcyBhbmQgY2xlYW51cC9pbXByb3ZlCgkgIFByb2JhYmx5IGZvdW5kIGEgYnVnIGFzIHdlbGwsIGluIHRoYXQgdGhlcmUgYXJlIHNvbWUgdGltZXN0YW1wcyBpbgoJICB0aGVyZSB0aGF0IGFyZSBsb29raW5nIHZlcnkgd3JvbmcuIChtYXJrZWQgd2l0aCBGSVhNRSkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MjI2NwoKMjAxNi0wMi0xOCAxMDoyNzoxOSArMDEwMCAgSGF2YXJkIEdyYWZmIDxoYXZhcmQuZ3JhZmZAZ21haWwuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwaml0dGVyYnVmZmVyLmM6CgkgIHRlc3RzOiBydHBqaXR0ZXJidWZmZXI6IHRlc3QgY2xlYW51cHMvaW1wcm92ZW1lbnRzCgkgIFVzZSBmYWlsX3VubGVzcyBhbmQgZnJpZW5kcyBpbnN0ZWFkIG9mIGdfYXNzZXJ0CgkgIEZhY3RvciBzZXEtbnVtIGNoZWNraW5nIG91dCB0byBzZXBhcmF0ZSBmdW5jdGlvbgoJICBDaGVjayBtb3JlIHJldHVybi12YWx1ZXMgZnJvbSBwdXNoIGFuZCBjcmFuayBhbmQgb3RoZXJzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjIyNTQKCjIwMTUtMTItMDMgMTE6MDc6MDUgKzAxMDAgIFN0aWFuIFNlbG5lcyA8c3RpYW5AcGV4aXAuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwaml0dGVyYnVmZmVyLmM6CgkgIHRlc3RzOiBydHBqaXR0ZXJidWZmZXI6IGZpeCBsZWFrcyBpbiB1bml0IHRlc3QKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MjIxNAoKMjAxNi0wMi0xOSAxMjozODoyOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgQmFjayB0byBkZXZlbG9wbWVudAoKPT09IHJlbGVhc2UgMS43LjIgPT09CgoyMDE2LTAyLTE5IDExOjQ5OjU1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLnNpZ25hbHM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pc29tcDQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12cHgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDEuNy4yCgoyMDE2LTAyLTE5IDEwOjMxOjQ4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZW8ucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vaHIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJICBwbzogVXBkYXRlIHRyYW5zbGF0aW9ucwoKMjAxNi0wMi0xOCAxODozMzoxMyArMDEwMCAgUGhpbGlwcGUgTm9ybWFuZCA8cGhpbG5AaWdhbGlhLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBwbHVnIGxlYWtzIGluIGNlbmMgYXV4IGluZm8gcGFyc2luZwoKMjAxNi0wMi0xOCAxMzo0MzowNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICB0ZXN0czogZml4IHNwdXJpb3VzIHNvdXBodHRwc3JjIHRlc3QgdGltb3V0cwoJICBTZXQgR1NFVFRJTkdTX0JBQ0tFTkQ9bWVtb3J5LCBhcHBhcmVudGx5IHRoZXJlJ3Mgc29tZXRoaW5nCgkgIGFib3V0IGZvcmsoKSBhbmQgdGhlIGRjb25mIGJhY2tlbmQgKG9yIHdoYXRldmVyIGVsc2UgdGhhdAoJICBkcmFncyBpbiBvciBhY3RpdmF0ZXMpIHRoYXQgbWVzc2VzIHVwIGxvY2tpbmcgYW5kIGNhdXNlcwoJICB0aW1lb3V0cyBkdWUgdG8gZGVhZGxvY2tzIGluIGdfbXV0ZXhfbG9jaygpLCBzaW5jZQoJICBldmVyeXRoaW5nIHdvcmtzIGZpbmUgd2l0aCBDS19GT1JLPW5vIGFzIHdlbGwuCgoyMDE2LTAyLTE4IDExOjEwOjE0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IFVubWFwIHdhdnBhY2sgaGVhZGVyIGJ1ZmZlciBhZnRlciBjcmVhdGluZyBpdAoJICBPdGhlcndpc2UgaXQgd2lsbCBiZSBtYXBwZWQgd3JpdGFibGUgYWxsIHRoZSB0aW1lIGFuZCB3ZSBjYW4ndCByZWFkIGZyb20gaXQKCSAgYW55d2hlcmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjIyMzkKCjIwMTUtMTItMDggMTg6NDk6NDAgKzAxMDAgIFN0aWFuIFNlbG5lcyA8c3RpYW5AcGV4aXAuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogQWRkIHRlc3QgZm9yIGJpZyBzZXFudW0gZ2FwIGhhbmRsaW5nCgkgIE1ha2Ugc3VyZSB0aGF0IHRoZSBwYWNrZXRzIHF1ZXVlZCB3aGVuIGRldGVjdGluZyBhIGJpZyBnYXAgYXJlIHB1c2hlZAoJICBhZnRlciByZXNldCAoNSBjb25zZWN0aXZlIHNlcW51bXMpIGFuZCBub3QgZHJvcHBlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MjIxMQoKMjAxNi0wMi0xNyAxNTowMzoxMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwdXRpbHMuaDoKCSAgcnRwOiBzcHJpbmtsZSBzb21lIEdfR05VQ19JTlRFUk5BTCBmb3IgaW50ZXJuYWwgdXRpbHMgZnVuY3Rpb25zCgoyMDE2LTAyLTA5IDEzOjE3OjAwICswMDAwICBBbGV4IEFzaGxleSA8YnVnemlsbGFAYXNobGV5LWZhbWlseS5uZXQ+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogb25seSB0cmFuc2Zvcm0gcHJvdGVjdGVkIGNhcHMgb25jZQoJICBDb21taXQgNzg3M2JlZGUzMTM0YjE1ZTUwNjZlOGQxNGU1NGQxZjUwNTRkMjA2MwoJICAoaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MDc3NCkgY2hhbmdlZCB0aGUKCSAgYmVoYXZpb3VyIG9mIHF0ZGVtdXggdG8gY2FsbCBnc3RfcXRkZW11eF9jb25maWd1cmVfc3RyZWFtKCkgZm9yCgkgIGV2ZXJ5IG5ldyBtb29mLgoJICBXaGVuIHBsYXlpbmcgYSBwcm90ZWN0ZWQgc3RyZWFtLCBnc3RfcXRkZW11eF9jb25maWd1cmVfc3RyZWFtKCkKCSAgY2FsbHMgZ3N0X3F0ZGVtdXhfY29uZmlndXJlX3Byb3RlY3RlZF9jYXBzKCkuIFRoZQoJICBnc3RfcXRkZW11eF9jb25maWd1cmVfcHJvdGVjdGVkX2NhcHMoKSBmdW5jdGlvbiB0YWtlcyB0aGUgb3JpZ2luYWwKCSAgbWVkaWEgZm9ybWF0LCBwdXRzIHRoaXMgaW4gYSBmaWVsZCBjYWxsZWQgIm9yaWdpbmFsLW1lZGlhLXR5cGUiCgkgIGFuZCB0aGVuIGNoYW5nZXMgdGhlIGNhcHMgdG8gImFwcGxpY2F0aW9uL3gtY2VuYyIuCgkgIFRoZSBnc3RfcXRkZW11eF9jb25maWd1cmVfcHJvdGVjdGVkX2NhcHMoKSBkaWQgbm90IGhhbmRsZSB0aGUgY2FzZQoJICBvZiBiZWluZyBjYWxsZWQgbXVsdGlwbGUgdGltZXMsIGNhdXNpbmcgaXQgdG8gaW5jb3JyZWN0bHkgc2V0IHRoZQoJICBjYXBzLiBUaGUgc2Vjb25kIGNhbGwgd2FzIGNhdXNpbmcgdGhlIGNhcHMgdG8gYmUgc2V0IHRvOgoJICBhcHBsaWNhdGlvbi94LWNlbmMsIG9yaWdpbmFsLW1lZGlhLXR5cGUiYXBwbGljYXRpb24veC1jZW5jIgoJICBUaGlzIGNvbW1pdCBtYWtlcyBnc3RfcXRkZW11eF9jb25maWd1cmVfcHJvdGVjdGVkX2NhcHMoKSBjaGVjayB0aGF0CgkgIHRoZSBjYXBzIGhhdmUgYWxyZWFkeSBiZWVuIHRyYW5zZm9ybWVkLCBzbyB0aGF0IGl0IG9ubHkgZ2V0cwoJICBjaGFuZ2VkIG9uY2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjE3NjkKCjIwMTUtMTEtMDMgMTQ6NTA6NTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cG9wdXNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG9wdXNwYXkuYzoKCSAgb3B1czogQWRkIHByb3BlciBzdXBwb3J0IGZvciBtdWx0aWNoYW5uZWwgYXVkaW8KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NzE1MgoKMjAxNS0wNi0zMCAxMzo1MTozMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwb3B1c2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwb3B1c3BheS5jOgoJICBvcHVzOiBDb3B5IG1ldGFkYXRhIGluIHRoZSAoZGUpcGF5bG9hZGVyLCBidXQgb25seSB0aGUgcmVsZXZhbnQgb25lcwoJICBUaGUgcGF5bG9hZGVyIGRpZG4ndCBjb3B5IGFueXRoaW5nIHNvIGZhciwgdGhlIGRlcGF5bG9hZGVyIGNvcGllZCBldmVyeQoJICBwb3NzaWJsZSBtZXRhLiBMZXQncyBtYWtlIGl0IGNvbnNpc3RlbnQgYW5kIGp1c3QgY29weSBhbGwgbWV0YXMgd2l0aG91dCB0YWdzIG9yCgkgIHdpdGggb25seSB0aGUgYXVkaW8gdGFnLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxNzc0CgoyMDE1LTA1LTA0IDExOjIzOjE2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBvcHVzZGVwYXkuYzoKCSAgb3B1c2RlcGF5OiBTZXQgbXVsdGlzdHJlYW09RkFMU0Ugb24gdGhlIE9wdXMgY2FwcwoJICBUaGUgUlRQIE9wdXMgbWFwcGluZyBvbmx5IGFsbG93cyBtb25vL3N0ZXJlbywgYW5kIG5vdCBtdWx0aXN0cmVhbSBPcHVzCgkgIHN0cmVhbXMuCgoyMDE1LTAzLTI0IDEzOjU3OjU0IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBvcHVzcGF5LmM6CgkgIHJ0cG9wdXNwYXk6IEZvcndhcmQgc3RlcmVvIHByZWZlcmVuY2VzIGZyb20gY2FwcyB1cHN0cmVhbQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ2NjE3CgoyMDE1LTAzLTI0IDEzOjU2OjIxIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBvcHVzcGF5LmM6CgkgIHJ0cG9wdXNwYXk6IFNldCB0aGUgbnVtYmVyIG9mIGNoYW5uZWxzIHRvIDIgYXMgcGVyIFJGQyBkcmFmdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ2NjE3CgoyMDE1LTAzLTIzIDEyOjI0OjU1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBvcHVzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBvcHVzcGF5LmM6CgkgIG9wdXM6IEhhbmRsZSBzcHJvcC1zdGVyZW8gYW5kIHNwcm9wLW1heGNhcHR1cmVyYXRlIFJUUCBjYXBzIGZpZWxkcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ2NjE3CgoyMDE1LTAyLTE5IDE0OjMwOjEwICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwb3B1c3BheS5jOgoJICBydHBvcHVzcGF5OiBkZWZhdWx0IGVuY29kaW5nIG5hbWUgdG8gT1BVUwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM3ODEwCgoyMDE1LTAyLTE5IDE0OjA1OjA2ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwb3B1c3BheS5jOgoJICBydHBvcHVzcGF5OiBtYWtlIGNhcHMgd3JpdGFibGUgYmVmb3JlIHRydW5jYXRpbmcgdGhlbQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM3ODEwCgoyMDE1LTAyLTA1IDEwOjI3OjUxICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwb3B1c3BheS5jOgoJICBydHBvcHVzcGF5OiBuZWdvdGlhdGUgdGhlIGVuY29kaW5nIG5hbWUKCSAgQ2hyb21lIHVzZXMgYSBkaWZmZXJlbnQgZW5jb2RpbmcgbmFtZSB0aGF0IGdzdHJlYW1lci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNzgxMAoKMjAxNC0xMS0wMSAxMDoxMDoyNyAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cG9wdXNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG9wdXNwYXkuYzoKCSAgcnRwb3B1czogVXNlIE9QVVMgZW5jb2RpbmcgbmFtZQoJICBCb3RoIEZpcmVmb3ggYW5kIENocm9tZSB1c2VzIE9QVVMgYXMgdGhlIGVuY29kaW5nIGluIHRoZWlyIFNEUC4KCSAgQWRkaW5nIHRoaXMgbm93IGRlZmFjdG8gc3RhbmRhcmQgbmFtZSByZW1vdmUgdGhlIG5lZWQgZm9yIHNwZWNpYWwKCSAgY2FzZSBpbiBTRFAgcGFyc2luZyBjb2RlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM3ODEwCgoyMDEzLTAxLTMxIDEyOjMwOjQ5ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBvcHVzcGF5LmM6CgkgIG9wdXNwYXk6IGZpeCB0aW1lc3RhbXBzCgkgIENvcHkgdGltZXN0YW1wcyB0byBwYXlsb2FkZWQgYnVmZmVyLgoJICBBdm9pZCBpbnB1dCBidWZmZXIgbWVtb3J5IGxlYWsuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTI5MjkKCjIwMTItMTEtMDMgMjA6Mzg6MDAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvcnRwL2dzdHJ0cG9wdXNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG9wdXNkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG9wdXNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBvcHVzcGF5Lmg6CgkgIEZpeCBGU0YgYWRkcmVzcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg3NTIwCgoyMDEyLTEwLTIyIDEyOjA4OjQxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBvcHVzcGF5LmM6CgkgIG9wdXNwYXk6IHJlbW92ZSBwb2ludGxlc3MgY2FwcyBzZXJpYWxpemF0aW9uCgkgIFJlbW92ZSB0aGUgY2FwcyBzZXJpYWxpemF0aW9uIGluIHRoZSBydHAgY2Fwcy4gdGhlIHNwZWMgbm9yIHRoZSByZWNlaXZlcgoJICBkb2VzIGFueXRoaW5nIHdpdGggaXQuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODY1NDcKCjIwMTItMTAtMTcgMTc6MzQ6MjYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBvcHVzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBvcHVzcGF5LmM6CgkgIFVzZSBnc3RfZWxlbWVudF9jbGFzc19zZXRfc3RhdGljX21ldGFkYXRhKCkKCSAgd2hlcmUgcG9zc2libGUuIEF2b2lkcyBzb21lIHN0cmluZyBjb3BpZXMuIEFsc28gcmUtaW5kZW50CgkgIHNvbWUgc3R1ZmYuIEFsc28gc29tZSBpbmRlbnQgZml4ZXMgaGVyZSBhbmQgdGhlcmUuCgoyMDEyLTA5LTIwIDE4OjQxOjI0IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBvcHVzcGF5LmM6CgkgIHJ0cG9wdXNwYXk6IEFsbG9jYXRlIHRoZSBydHAgYnVmZmVyIGNvcnJlY3RseQoJICBVc2UgdGhlIHJpZ2h0IGZ1bmN0aW9ucyB0byBhbGxvY2F0ZSB0aGUgcnRwIGJ1ZmZlcgoKMjAxMi0wOS0xNCAxNzowODo0OSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cG9wdXNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG9wdXNwYXkuYzoKCSAgcmVwbGFjZSBnc3RfZWxlbWVudF9jbGFzc19zZXRfZGV0YWlsc19zaW1wbGUgd2l0aCBnc3RfZWxlbWVudF9jbGFzc19zZXRfbWV0YWRhdGEKCjIwMTItMDMtMDcgMTc6MTQ6MjkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBvcHVzcGF5LmM6CgkgIG9wdXM6IHBvcnQgdG8gdXBkYXRlZCAwLjExCgoyMDExLTEyLTMwIDExOjQxOjE3ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwb3B1c2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwb3B1c2RlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwb3B1c3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG9wdXNwYXkuaDoKCSAgTWVyZ2UgcmVtb3RlLXRyYWNraW5nIGJyYW5jaCAnb3JpZ2luL21hc3RlcicgaW50byAwLjExLXByZW1lcmdlCgkgIENvbmZsaWN0czoKCSAgZG9jcy9saWJzL01ha2VmaWxlLmFtCgkgIGV4dC9rYXRlL2dzdGthdGV0aWdlci5jCgkgIGV4dC9vcHVzL2dzdG9wdXNkZWMuYwoJICBleHQveHZpZC9nc3R4dmlkZW5jLmMKCSAgZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvTWFrZWZpbGUuYW0KCSAgZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0YmFzZWNhbWVyYXNyYy5jCgkgIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGJhc2VjYW1lcmFzcmMuaAoJICBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuYwoJICBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuaAoJICBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jCgkgIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmMKCSAgZ3N0L2FzZm11eC9nc3Rhc2ZtdXguYwoJICBnc3QvYXVkaW92aXN1YWxpemVycy9nc3R3YXZlc2NvcGUuYwoJICBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmMKCSAgZ3N0L2RlYnVndXRpbHMvZ3N0Y29tcGFyZS5jCgkgIGdzdC9mcmVpMHIvZ3N0ZnJlaTBybWl4ZXIuYwoJICBnc3QvbXBlZ3BzbXV4L21wZWdwc211eC5jCgkgIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmMKCSAgZ3N0L214Zi9teGZtdXguYwoJICBnc3QvdmlkZW9tZWFzdXJlL2dzdHZpZGVvbWVhc3VyZV9zc2ltLmMKCSAgZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYwoJICBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWc0dmlkZW9wYXJzZS5jCgoyMDExLTEyLTA5IDE3OjI1OjQxICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwb3B1c3BheS5jOgoJICBvcHVzZW5jOiBhZGQgdXBzdHJlYW0gbmVnb3RpYXRpb24gZm9yIG11bHRpc3RyZWFtIGFiaWxpdHkKCSAgVGhpcyB3aWxsIGhlbHAgZWxlbWVudHMgdGhhdCBjYW5ub3QgZGVhbCB3aXRoIG11bHRpc3RyZWFtLAoJICBzdWNoIGFzIHRoZSBSVFAgcGF5bG9hZGVyLgoJICBUaGUgY2FwcyBub3cgZG8gbm90IGluY2x1ZGUgYSAic3RyZWFtcyIgZmllbGQgYW55bW9yZSwgYnV0CgkgIGEgIm11bHRpc3RyZWFtIiBib29sZWFuLCBzaW5jZSB3ZSBoYXZlIG5vIHJlYWwgdXNlIGZvciBrbm93aW5nCgkgIHRoZSBleGFjdCBhbW91bnQgb2Ygc3RyZWFtcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NTA3OAoKMjAxMS0xMi0wNyAxNToxMzoxMSAtMDIwMCAgRGFuaWxvIENlc2FyIExlbWVzIGRlIFBhdWxhIDxkYW5pbG8uY2VzYXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBvcHVzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBvcHVzZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBvcHVzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwb3B1c3BheS5oOgoJICBBZGRpbmcgb3B1cyBSVFAgcGF5bG9hZGVyL2RlcGF5bG9hZGVyIGVsZW1lbnQKCSAgQWRkaW5nIE9QVVMgUlRQIG1vZHVsZSBiYXNlZCBvbiB0aGUgY3VycmVudCBkcmFmdDoKCSAgaHR0cDovL3Rvb2xzLmlldGYub3JnL2lkL2RyYWZ0LXNwaXR0a2EtcGF5bG9hZC1ydHAtb3B1cy0wMC50eHQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NDgxNwoKMjAxNi0wMi0xNyAxMzoyNjowMiArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdXRpbHMuYzoKCSogZ3N0L3J0cC9nc3RydHB1dGlscy5oOgoJICBydHA6IGgyNjQvaDI2NTogYXZvaWQgZHVwbGljYXRpb24gb2YgcmVhZF9nb2xvbWIoKQoJICBUaGVyZSBpcyBubyBuZWVkIHRvIGhhdmUgdHdvIGlkZW50aWNhbCBpbXBsZW1lbnRhdGlvbnMgb2YgdGhlIHJlYWRfZ29sb21iCgkgIGZ1bmN0aW9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYxNjA2CgoyMDE2LTAyLTE3IDE0OjM3OjQ0ICswMTAwICBPZ255YW4gVG9uY2hldiA8b2dueWFuQGF4aXMuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IFNpbXBsZSBpbXBsZW1lbnRhdGlvbiBvZiBUUklDS01PREVfS0VZX1VOSVRTCgkgIFdoZW4gdGhlIHRyaWNrbW9kZSBrZXktdW5pdHMgZmxhZyBpcyBzZXQgb24gdGhlIHNlZ21lbnQsIHNpbXBseSBza2lwCgkgIGFueSBzYW1wbGUgb24gYSB2aWRlbyBzdHJlYW0gdGhhdCBpc24ndCBhIGtleWZyYW1lCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjIxODUKCjIwMTUtMDgtMjEgMTQ6MTU6MTggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2EtZGVtdXg6IHNlbmQgR0FQIGV2ZW50cyBmb3IgbGFnZ2luZyBhdWRpbyBhbmQgdmlkZW8gc3RyZWFtcyB0b28KCSAgU2VuZCBHQVAgZXZlbnRzIGZvciBub24tc3VidGl0bGUgc3RyZWFtcyB0b28gaWYgdGhleSBsYWcgdG9vIG11Y2gKCSAgYmVoaW5kLCBidXQgdXNlIGEgaGlnaGVyIHRocmVzaG9sZCB0aGFuIGZvciBzdWJ0aXRsZXMuCgkgIFRoaXMgaGVscHMgd2l0aCBmaXhpbmcgcHJlcm9sbGluZyB3aXRoIGEgZmlsZSB3aGVyZSBvbmUgb2YgdGhlCgkgIGF1ZGlvIHN0cmVhbXMgb25seSBoYXMgZGF0YSBzdGFydGluZyBmcm9tIDE5cyBvbndhcmRzLiBJdCdzIG5vdAoJICBhIGNvbXBsZXRlIGZpeCB5ZXQsIGl0IGFsc28gcmVxdWlyZXMgY2hhbmdlcyBlbHNld2hlcmUsIHN1Y2ggYXMKCSAgaW4gYmFzZXBhcnNlLCB0byBtYWtlIHN1cmUgY2FwcyBhcmUgcHJvcGFnYXRlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYxNDQ2MAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzODk5CgoyMDE1LTEyLTIzIDE5OjU0OjEzICswMTAwICBTdGlhbiBTZWxuZXMgPHN0aWFuQHBleGlwLmNvbT4KCgkqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHAvZ3N0cnRwLmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnA5ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2cDlkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHZwOXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZwOXBheS5oOgoJICBydHB2cDlwYXk6IHJ0cHZwOWRlcGF5OiBJbml0aWFsIGltcGxlbWVudGF0aW9uIG9mIGRyYWZ0IDAxCgkgIFF1aWNrIGFuZCBkaXJ0eSBpbXBsZW1lbnRhdGlvbiBvZiBhbiBSVFAgcGF5bG9hZGVyIGFuZCBkZXBheWxvYWRlcgoJICBmb3IgVlA5LiBJbiBwYXJ0aWNhbHVyIGl0IGFzc3VtZXMgbm8gc3BhdGlhbCBvciB0ZW1wb3JhbCBsYXllcmluZywKCSAgbm9uLWZsZXhpYmxlIG1vZGUsIGFuZCBzb21lIG90aGVyIGJpdHMgYW5kIHBpZWNlcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NDc3MwoKMjAxNi0wMi0xNiAwOTowMjozMCArMDkwMCAgVmluZWV0aCBUTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IEZpeCBzdHJpbmcgbWVtb3J5IGxlYWsKCSAgY29kZWNfbmFtZSBpcyBub3QgYmVpbmcgZnJlZWQgaW4gYWxsIGNvbmRpdGlvbnMgbGVhZGluZyB0byBtZW1vcnkgbGVhawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYyMTE3CgoyMDE1LTEyLTEwIDEyOjE1OjUyICswMTAwICBNaWd1ZWwgUGFyw61zIETDrWF6IDxtcGFyaXNkaWF6QGdtYWlsLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaDoKCSAgcnRwYmluOiBhZGQgImdldC1zZXNzaW9uIiBzaWduYWwKCSAgVGhpcyBnZXRzIHRoZSBHc3RSVFBTZXNzaW9uIGVsZW1lbnQsIGFzIGNvbXBhcmVkIHRvIHRoZSBSVFBTZXNzaW9uIG9iamVjdAoJICB0aGF0IGlzIHJldHVybmVkIGJ5IGdldC1pbnRlcm5hbC1zZXNzaW9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU5MjkzCgoyMDE2LTAyLTE2IDAwOjE5OjAwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cC9nc3RydHAuYzoKCSAgcnRwOiBoMjY1OiBob29rIHVwIG1vdmUgUlRQIEguMjY1IHBheWxvYWRlci9kZXBheWxvYWRlciB0byBidWlsZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYxNjA2CgoyMDE2LTAyLTE2IDAwOjE0OjI3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY1ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY1ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBoMjY1cGF5LmM6CgkgIHJ0cDogaDI2NTogdXNlIGNvbW1vbiBtZXRhIHV0aWxpdHkgZnVuY3Rpb25zCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjE2MDYKCjIwMTYtMDItMDUgMTg6MTg6MzEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBoMjY1dHlwZXMuaDoKCSAgcnRwOiBoMjY1OiByZW1vdmUgY29kZWNwYXJzZXIgZGVwZW5kZW5jeSBmcm9tIGgyNjUgcGF5bG9hZGVyL2RlcGF5bG9hZGVyCgkgIExvb2tzIGxpa2UgaXQganVzdCB1c2VzIHRoZSBOQUwgZW51bXMgYW5kIG5vdGhpbmcgZWxzZSBmcm9tCgkgIHRoZSBjb2RlY3BhcnNlcnMsIGFuZCB0aGF0J3MgdGhlIG9ubHkgcmVhc29uIGl0IGhhZCB0byBiZQoJICBtb3ZlZCBmcm9tIC1nb29kIHRvIC1iYWQgd2hlbiBpdCB3YXMgb3JpZ2luYWxseSBhZGRlZC4gV2UKCSAgY2FuIHByb2JhYmx5IGtlZXAgdGhvc2UgTkFMIGVudW1zIHVwIHRvIGRhdGUgZW5vdWdoLCBzbyBsZXQncwoJICByZW1vdmUgdGhlIGNvZGVjcGFyc2VyIGRlcGVuZGVuY3kgc28gaXQgY2FuIGJlIG1vdmVkIGJhY2sgaW50bwoJICAtZ29vZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MTYwNgoKMjAxNi0wMi0xNiAwMDoyNDo1OCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkgIE1lcmdlIGJyYW5jaCAncGx1Z2luLW1vdmUtcnRwLWgyNjUnCgkgIE1vdmUgUlRQIEguMjY1IHBheWxvYWRlci9kZXBheWxvYWRlciBmcm9tIC1iYWQgdG8gLWdvb2QuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjE2MDYKCjIwMTYtMDItMDUgMTU6MzQ6NTEgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVkZXBheS5oOgoJICBnc3RydHBoMjY1ZGVwYXk6IGtlZXAgY29uc2lzdGVuY3kgd2l0aCBydHBoMjY0ZGVwYXkKCSAgVXNlIGdzdF9ydHBfZHJvcF9tZXRhKCkgYW5kIHRoZSBzYW1lIGZ1bmN0aW9uIHByb3RvdHlwZSBmb3IKCSAgZ3N0X3J0cF9jb3B5X21ldGEoKSB0byBrZWVwIGNvbnNpc3RlbmN5IHdpdGggdGhlIFJUUCBlbGVtZW50cyBpbgoJICBnc3QtcGx1Z2lucy1nb29kCgoyMDE2LTAyLTA1IDEzOjU2OjM0ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY1ZGVwYXkuYzoKCSAgcnRwaDI2NWRlcGF5OiBmaXggdGVybWluYXRpb24gb2YgYWNjZXNzIHVuaXQKCSAgT25seSBjb25zaWRlciB0aGUgYWNjZXNzIHVuaXQgY29tcGxldGUgd2hlbiB0aGUgbmV4dC1vY2N1cnJpbmcgVkNMIE5BTCB1bml0CgkgIGhhcyB0aGUgZmlyc3QgYml0IGFmdGVyIGl0cyBOQUwgdW5pdCBoZWFkZXIgZXF1YWwgdG8gMS4KCjIwMTYtMDEtMTUgMTY6MTA6MDIgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVkZXBheS5jOgoJICBydHBoMjY1ZGVwYXk6IGZpeCB1bm5lZWRlZCBzdWItYnVmZmVyIGNyZWF0aW9uCgkgIFdlIGNyZWF0ZSBhIHN1Yi1idWZmZXIganVzdCB0byBjb3B5IG92ZXIgaXRzIG1ldGFzIGFuZCB0aGVuIHRocm93IGl0CgkgIGF3YXkgaW1tZWRpYXRlbHksIGp1c3QgdXNlIHRoZSBvcmlnaW5hbCBpbnB1dCBidWZmZXIgZGlyZWN0bHkuCgoyMDE2LTAxLTE1IDE1OjU2OjU5ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY1cGF5LmM6CgkgIHJ0cGgyNjVwYXk6IGFkZCAic2VuZCBWUFMvU1BTL1BQUyB3aXRoIGV2ZXJ5IGtleSBmcmFtZSIgbW9kZQoJICBJdCdzIG5vdCBlbm91Z2ggdG8gaGF2ZSB0aW1lb3V0IG9yIGV2ZW50IGJhc2VkIFZQUy9TUFMvUFBTIGluZm9ybWF0aW9uCgkgIHNlbnQgaW4gUlRQIHBhY2tldHMuIFRoZXJlIGFyZSBzb21lIHNjZW5hcmlvcyB3aGVuIGtleSBmcmFtZXMgbWF5IGFwcGVhcgoJICBtb3JlIGZyZXF1ZW50bHkgdGhhbiBvbmNlIGEgc2Vjb25kLCBpbiB3aGljaCBjYXNlIHRoZSBtaW5pbXVtIHRpbWVvdXQKCSAgZm9yICJjb25maWctaW50ZXJ2YWwiIG9mIDEgc2Vjb25kIGZvciBzZW5kaW5nIFZQUy9TUFMvUFBTIGlzbid0IGVub3VnaC4KCSAgSXQgbWlnaHQgYWxzbyBiZSBkZXNpcmFibGUgaW4gZ2VuZXJhbCB0byBtYWtlIHN1cmUgdGhlIFZQUy9TUFMvUFBTIGlzCgkgIGF2YWlsYWJsZSB3aXRoIGV2ZXJ5IGtleWZyYW1lIChwYWNrZXQgbG9zcyBhc2lkZSksIHNvIHJlY2VpdmVycyBjYW4KCSAgYWN0dWFsbHkgcGljayB1cCBkZWNvZGluZyBpbW1lZGlhdGVseSBmcm9tIHRoZSBmaXJzdCBrZXlmcmFtZSBpZgoJICBWUFMvU1BTL1BQUyBpcyBub3Qgc2lnbmFsZWQgb3V0IG9mIGJhbmQuCgkgIFRoaXMgY29tbWl0IGFkZHMgdGhlIHBvc3NpYmlsaXR5IHRvIHNlbmQgVlBTL1NQUy9QUFMgd2l0aCBldmVyeSBrZXkgZnJhbWUuCgkgIFRoaXMgbW9kZSBjYW4gYmUgZW5hYmxlZCBieSBzZXR0aW5nICJjb25maWctaW50ZXJ2YWwiIHByb3BlcnR5IHRvIC0xLiBJbgoJICB0aGlzIGNhc2UgdGhlIHBheWxvYWRlciB3aWxsIGFkZCBWUFMsIFNQUyBhbmQgUFBTIGJlZm9yZSBldmVyeSBrZXkgKElEUikKCSAgZnJhbWUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTc4OTIKCjIwMTYtMDEtMTUgMTU6MTk6NDEgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY1cGF5Lmg6CgkgIHJ0cGgyNjVwYXk6IGNoYW5nZSBjb25maWctaW50ZXJ2YWwgcHJvcGVydHkgdHlwZSBmcm9tIHVpbnQgdG8gaW50CgkgIFRoaXMgd2F5IHdlIGNhbiB1c2UgLTEgYXMgc3BlY2lhbCB2YWx1ZSwgd2hpY2ggaXMgbmljZXIgdGhhbiBNQVhVSU5ULgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU3ODkyCgoyMDE1LTA4LTE1IDE2OjIyOjIwICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY1ZGVwYXkuYzoKCSAgcnRwaDI2NWRlcGF5OiBtYWtlIHN1cmUgd2UgY2FsbCBoYW5kbGVfbmFsIGZvciBlYWNoIE5BTAoJICBDYWxsIGhhbmRsZV9uYWwgZm9yIGVhY2ggTkFMIGluIHRoZSBTVEFQLUEgUlRQIHBhY2tldC4gVGhpcyBtYWtlcyBzdXJlCgkgIHdlIGNvcnJlY3RseSBleHRyYWN0IHRoZSBTUFMgYW5kIFBQUy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDk5OQoKMjAxNS0wOC0xNSAxNDo0NTozNCArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NXBheS5jOgoJICBydHBoMjY1cGF5OiBDb3B5IG1ldGFkYXRhIGluIHRoZSBwYXlsb2FkZXIsIGJ1dCBvbmx5IHRoZSByZWxldmFudCBvbmVzCgkgIFRoZSBwYXlsb2FkZXIgZGlkbid0IGNvcHkgYW55dGhpbmcgc28gZmFyLCB0aGUgZGVwYXlsb2FkZXIgY29waWVkIGV2ZXJ5CgkgIHBvc3NpYmxlIG1ldGEuIExldCdzIG1ha2UgaXQgY29uc2lzdGVudCBhbmQganVzdCBjb3B5IGFsbCBtZXRhcyB3aXRob3V0CgkgIHRhZ3Mgb3Igd2l0aCBvbmx5IHRoZSB2aWRlbyB0YWcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTE3NzQKCjIwMTUtMDgtMTUgMTE6NDE6NDAgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVwYXkuYzoKCSAgcnRwaDI2NXBheTogVXNlIEdTVF9XQVJOSU5HX09CSkVDVCgpIGluc3RlYWQgb2YgR1NUX1dBUk5JTkcoKQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzMjI4CgoyMDE1LTA4LTE1IDExOjMwOjM2ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY1cGF5LmM6CgkgIHJ0cGgyNjVwYXk6IGZpeCBwb3RlbnRpYWwgY3Jhc2ggd2hlbiBzaHV0dGluZyBkb3duCgkgIEEgcmFjZSBjb25kaXRpb24gaW4gdGhlIHN0YXRlIGNoYW5nZSBmdW5jdGlvbiBtYXkgY2F1c2UgYnVmZmVycyB0byBiZQoJICB1bnJlZmZlZCB3aGlsZSB0aGV5IGFyZSBzdGlsbCB1c2VkIGJ5IHRoZSBzdHJlYW1pbmcgdGhyZWFkIGluCgkgIGdzdF9ydHBfaDI2NV9wYXlfc2VuZF92cHNfc3BzX3BwcygpIHJlc3VsdGluZyBpbiBhIGNyYXNoLiBDaGFpbiB1cCB0byB0aGUKCSAgcGFyZW50IGNsYXNzIGZpcnN0IGluIHRoZSBzdGF0ZSBjaGFuZ2UgZnVuY3Rpb24gdG8gbWFrZSBzdXJlIHN0cmVhbWluZwoJICBoYXMgc3RvcHBlZCBhbmQgb25seSB0aGVuIGZyZWUgdGhvc2UgYnVmZmVycy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MTM4MQoKMjAxNS0wOC0xNCAxNTowODowOCArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NXBheS5jOgoJICBydHBoMjY1cGF5OiBmaXggYnVmZmVyIGxlYWsgd2hlbiB1c2luZyBTUFMvUFBTCgkgIEZpeGVzIGEgYnVmZmVyIGxlYWsgdGhhdCB3b3VsZCBvY2N1ciBpZiB0aGUgcGlwZWxpbmUgd2FzIHNodXRkb3duIHdoaWxlIGEKCSAgU1BTL1BQUyBoZWFkZXIgd2FzIGJlaW5nIGNyZWF0ZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDEyNzEKCjIwMTUtMDgtMTQgMTE6NDk6NTEgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVkZXBheS5oOgoJICBydHBoMjY1ZGVwYXk6IGNvcHkgbWV0YWRhdGEgaW4gdGhlIGRlcGF5bG9hZGVyLCBidXQgb25seSB0aGUgcmVsZXZhbnQgb25lcwoJICBUaGUgcGF5bG9hZGVyIGRpZG4ndCBjb3B5IGFueXRoaW5nIHNvIGZhciwgdGhlIGRlcGF5bG9hZGVyIGNvcGllZCBldmVyeQoJICBwb3NzaWJsZSBtZXRhLiBMZXQncyBtYWtlIGl0IGNvbnNpc3RlbnQgYW5kIGp1c3QgY29weSBhbGwgbWV0YXMgd2l0aG91dAoJICB0YWdzIG9yIHdpdGggb25seSB0aGUgdmlkZW8gdGFnLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxNzc0CgoyMDE1LTA4LTEyIDE3OjU0OjUyICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY1ZGVwYXkuYzoKCSAgcnRwaDI2NWRlcGF5OiBjaGVja2luZyBpZiBkZXBheSBoYXMgc3BzL3BwcyBuYWxzIGJlZm9yZSBpbnNlcnRpb24KCSAgUmVsYXRlZCB0bzogaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MzQzMAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzMjI4CgoyMDE1LTA4LTEyIDE3OjIyOjQyICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY1ZGVwYXkuYzoKCSAgcnRwaDI2NWRlcGF5OiBvbmx5IHVwZGF0ZSB0aGUgc3JjcGFkIGNhcHMgaWYgc29tZXRoaW5nIGVsc2UgdGhhbiB0aGUgY29kZWNfZGF0YSBjaGFuZ2VkCgkgIGgyNjRwYXJzZSBhbmQgZ3N0cnRwaDI2NGRlcGF5IGRvIHRoZSBzYW1lLCBsZXQncyBrZWVwIHRoZSBiZWhhdmlvdXIKCSAgY29uc2lzdGVudC4gQXMgd2Ugbm93IGluY2x1ZGUgdGhlIGNvZGVjX2RhdGEgaW5zaWRlIHRoZSBzdHJlYW0sIHRoaXMgY2F1c2VzCgkgIGxlc3MgY2FwcyByZW5lZ290aWF0aW9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzMjI4CgoyMDE1LTA4LTEyIDE2OjQzOjQ4ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY1ZGVwYXkuYzoKCSAgcnRwaDI2NWRlcGF5OiBQUFMgcmVwbGFjZXMgb2xkIFBQUyBpZiBpdCBoYXMgdGhlIHNhbWUgaWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MzIyOAoKMjAxNS0wOC0xMiAxNjoxMTowMCArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NWRlcGF5LmM6CgkgIHJ0cGgyNjVkZXBheTogSW5zZXJ0IFNQUy9QUFMgTkFMcyBpbnRvIHRoZSBzdHJlYW0KCSAgcnRwaDI2NGRlcGF5IGRvZXMgdGhlIHNhbWUgYW5kIHRoaXMgZml4ZXMgZGVjb2Rpbmcgb2Ygc29tZSBzdHJlYW1zIHdpdGggMzIKCSAgU1BTIChvciAyNTYgUFBTKS4gSXQgaXMgYWxsb3dlZCB0byBoYXZlIFNQUyBJRCAwIHRvIDMxIChvciBQUFMgSUQgMCB0byAyNTUpLAoJICBidXQgdGhlIGZpZWxkIGluIHRoZSBjb2RlY19kYXRhIGZvciB0aGUgbnVtYmVyIG9mIFNQUyBvciBQUFMgaXMgb25seSA1CgkgIChvciA4KSBiaXQuIEFzIHN1Y2gsIDMyIFNQUyAob3IgMjU2IFBQUykgYXJlIGludGVycHJldGVkIGFzIDAgZXZlcnl3aGVyZS4KCSAgVGhpcyBsb29rcyBsaWtlIGEgbWlzdGFrZSBpbiB0aGUgcGFydCBvZiB0aGUgc3BlY3QgYWJvdXQgdGhlIGNvZGVjX2RhdGEuCgoyMDE1LTA4LTEyIDE1OjQ5OjUwICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY1ZGVwYXkuYzoKCSAgcnRwaDI2NWRlcGF5OiBpbXBsZW1lbnQgcHJvY2Vzc19ydHBfcGFja2V0KCkgdmZ1bmMKCSAgRm9yIG1vcmUgb3B0aW1pc2VkIFJUUCBwYWNrZXQgaGFuZGxpbmc6IG1lYW5zIHdlIGRvbid0IG5lZWQgdG8gbWFwIHRoZQoJICBpbnB1dCBidWZmZXIgYWdhaW4gYnV0IGNhbiBqdXN0IHJlLXVzZSB0aGUgbWFwcGluZyB0aGUgYmFzZSBjbGFzcyBoYXMKCSAgYWxyZWFkeSBkb25lLgoJICBCYXNlZCBvbjogaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MDIzNQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzMjI4CgoyMDE1LTA4LTEyIDE1OjE0OjUwICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY1ZGVwYXkuYzoKCSAgcnRwaDI2NWRlcGF5OiBVc2UgR1NUX0JVRkZFUl9QVFMoKSBpbnN0ZWFkIG9mIEdTVF9CVUZGRVJfVElNRVNUQU1QKCkKCSAgU3dpdGNoaW5nIHRvIEdTVF9CVUZGRVJfVElNRVNUQU1QKCkgdG8gYmUgY29uc2lzdGVudCB3aXRoIG90aGVyIHJ0cCBjb2RlLgoKMjAxNS0wOC0xMiAxNDo1OTo1MyArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NWRlcGF5LmM6CgkgIHJ0cGgyNjVkZXBheTogcHJldmVudCB0cnlpbmcgdG8gZ2V0IDAgYnl0ZXMgZnJvbSBhZGFwdGVyCgkgIFRoaXMgY2F1c2VzIGFuIGFzc2VydGlvbiBhbmQgd291bGQgbGVhZCB0byBnZXR0aW5nIGEgTlVMTCBpbnN0ZWFkCgkgIG9mIGEgYnVmZmVyLiBXaXRob3V0IHByb3BlciBjaGVja2luZyB0aGlzIHdvdWxkIGVhc2lseSBsZWFkIHRvIGEKCSAgc2VnZmF1bHQuCgkgIFJlbGF0ZWQgdG8gcnB0aDI2NGRlcGF5OiBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM3MTk5CgoyMDE1LTA3LTI5IDE3OjI5OjI4ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY1cGF5LmM6CgkgIHJ0cDogcmVtb3ZlIGRlYWQgYXNzaWdubWVudAoJICBWYWx1ZSBzZXQgdG8gcmV0IHdpbGwgYmUgb3ZlcndyaXR0ZW4gYXQgbGVhc3Qgb25jZSBhdCB0aGUgZW5kIG9mIHRoZSB3aGlsZQoJICBsb29wLCByZW1vdmluZyBhc3NpZ25tZW50LgoKMjAxNS0wNC0yNCAxNjo0ODoyMyArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NXBheS5jOgoJICByZW1vdmUgdW51c2VkIGVudW0gaXRlbXMgUFJPUF9MQVNUCgkgIFRoaXMgd2VyZSBwcm9iYWJseSBhZGRlZCB0byB0aGUgZW51bXMgZHVlIHRvIGNhcmdvIGN1bHQgcHJvZ3JhbW1pbmcgYW5kIGFyZQoJICB1bnVzZWQuCgoyMDE1LTAzLTA2IDE0OjU0OjQxICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY1ZGVwYXkuYzoKCSAgcnRwOiBkb25sX3ByZXNlbnQgdmFyaWFibGUgdW51c2VkCgkgIGRvbmxfcHJlc2VudCBpcyBub3QgaW1wbGVtZW50ZWQsIHlldCB0aGUgdmFsdWUgaXMgc2V0IGFuZCBjaGVja2VkIGEgZmV3IHRpbWVzLgoJICBDbGVhbmluZyB0aGlzLgoJICBDSUQgIzEyNDk2ODcKCjIwMTUtMDEtMDggMTU6MzY6MDQgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVwYXkuYzoKCSAgcnRwOiB2YWx1ZSB0cnVuY2F0ZWQgdG9vIHNob3J0IGNyZWF0ZXMgZGVhZCBjb2RlCgkgIHR5cGUgaXMgdHJ1bmNhdGVkIHRvIDAtMzEgd2l0aCAiJiAweDFmIiwgYnV0IHJpZ2h0IGFmdGVyIHRoYXQgaXQgaXMgY2hlY2tzIGlmCgkgIHRoZSB2YWx1ZSBpcyBlcXVpdmFsZW50IHRvIEdTVF9IMjY1X05BTF9WUFMsIEdTVF9IMjY1X05BTF9TUFMsIGFuZAoJICBHU1RfSDI2NV9OQUxfUFBTICh3aGljaCBhcmUgMzIsIDMzLCBhbmQgMzQgcmVzcGVjdGl2ZWx5KS4gT2J2aW91c2x5LCB0aGlzIHdpbGwKCSAgbmV2ZXIgYmUgVHJ1ZSBpZiB0aGUgdmFsdWUgaXMgbWF4aW11bSAzMSBhZnRlciB0aGUgdHJ1bmNhdGlvbi4KCSAgVGhlIGludGVudGlvbiBvZiB0aGUgY29kZSB3YXMgdG8gdHJ1bmNhdGUgdG8gMC02My4KCjIwMTUtMDEtMDggMTU6Mjc6NDQgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVkZXBheS5jOgoJICBydHA6IGZpeCBuYWwgdW5pdCB0eXBlIGNoZWNrCgkgIEFmdGVyIGZ1cnRoZXIgaW52ZXN0aWdhdGlvbiB0aGUgcHJldmlvdXMgY29tbWl0IGlzIHdyb25nLiBUaGUgY29kZSBpbnRlbmRlZCB0bwoJICBjaGVjayBpZiB0aGUgdHlwZSBpcyAzOSBvciB0aGUgcmFuZ2VzIDQxLTQ0IGFuZCA0OC01NS4gSnVzdCBsaWtlIGdzdGgyNjVwYXJzZS5jCgkgIGRvZXMuIFR5cGUgNDAgd291bGQgbm90IGJlIGNvbXBsZXRlLgoKMjAxNS0wMS0wOCAxMzo0NzowOSArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NWRlcGF5LmM6CgkgIHJ0cDogZml4IGRlYWQgY29kZSBhbmQgY2hlY2sgZm9yIGltcG9zc2libGUgdmFsdWVzCgkgIG5hbF90eXBlIGlzIHRoZSBpbmRleCBmb3IgYSBHc3RIMjY1TmFsVW5pdFR5cGUgZW51bS4gVGhlcmUgYXJlIHR3byB0eXBlcyBvZiBkZWFkCgkgIGNvZGUgaGVyZToKCSAgRmlyc3QsIGFmdGVyIGNoZWNraW5nIGlmIG5hbF90eXBlIGlzID49IDM5IHRoZXJlIGFyZSB0d28gT1IgY29uZGl0aW9uYWxzIHRoYXQKCSAgY2hlY2sgaWYgdGhlIHZhbHVlIGlzIGluIHJhbmdlcyBoaWdoZXIgdGhhbiB0aGF0IG51bWJlciwgc28gaWYgbmFsX3R5cGUgPj0gMzkKCSAgZmFsbHMgaW4gdGhlIFRydWUgYnJhbmNoIHRob3NlIG90aGVyIGNvbmRpdGlvbnMgYXJlbid0IGNoZWNrZWQgYW5kIGlmIGl0IGZhbGxzCgkgIGluIHRoZSBGYWxzZSBicmFuY2ggYW5kIHRoZXkgYXJlIGNoZWNrZWQsIHRoZXkgd2lsbCBhbHdheXMgYWxzbyBiZSBGYWxzZS4gVGhleQoJICBhcmUgcmVkdW5kYW50LgoJICBTZWNvbmQsIHRoZSBlbnVtIGhhcyBhIHJhbmdlIG9mIDAgdG8gNDAuIFNvIHRoZSBjaGVja3MgZm9yIHJhbmdlcyBoaWdoZXIgdGhhbiA0MQoJICBzaG91bGQgbmV2ZXIgYmUgVHJ1ZS4KCSAgUmVtb3ZpbmcgdGhpcyByZWR1bmRhbnQgY2hlY2tzLgoJICBDSUQgMTI0OTY4NAoKMjAxNC0xMC0xNiAxMDozNDowMSArMDIwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NWRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVwYXkuaDoKCSAgcnRwOiBhZGQgaDI2NSBSVFAgcGF5bG9hZGVyICsgZGVwYXlsb2FkZXIKCjIwMTYtMDItMTUgMTE6NTE6NDYgKzA5MDAgIFZpbmVldGggVE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBtdXguYzoKCSAgdGVzdHM6IHJ0cG11eDogRml4IGVsZW1lbnQgbWVtb3J5IGxlYWsKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MjA1NwoKMjAxNi0wMi0xMiAyMDo1NzoyOSArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9tb25vc2NvcGUvbW9ub3Njb3BlLmM6CgkgIG1vbm9zY29wZTogcmV3b3JrIHRoZSBzY2FsaW5nIGNvZGUKCSAgVGhlIHJ1bm5pbmcgYXZlcmFnZSB3YXMgd3JvbmcgYW5kIHRoZSByZXN1bHRpbmcgc2NhbGluZyBmYWN0b3Igd2FzIG9ubHkgaGVsZCBpbgoJICBwbGFjZSB1c2luZyB0aGUgQ0xBTVAuIEluIGFkZHRpb24gd2UgYXJlIG5vdyBjb252ZXJpbmcgcXVpY2tseSB0byB2b2x1bWUKCSAgY2hhbmdlcy4KCSAgRkluYWxseSBub3cgd2l0aCB0aGlzIGNoYW5nZSwgd2UgY2FuIGNoYW5nZSB0aGUgcmVzb2x1dGlvbiBkZWZpbmVzIGFuZAoJICBldmVyeXRoaWduIGFkanVzdHMuCgoyMDE2LTAxLTI4IDE3OjAwOjU1ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L21vbm9zY29wZS9jb252b2x2ZS5jOgoJKiBnc3QvbW9ub3Njb3BlL21vbm9zY29wZS5jOgoJKiBnc3QvbW9ub3Njb3BlL21vbm9zY29wZS5oOgoJICBtb25vc2NvcGU6IHVzZSBjb25zdGFudHMgaW4gdGhlIGRyYXdpbmcgY29kZQoJICBNYWtlIGFsbCB0aGUgZHJhd2luZyBvcHMgYmUgYmFzZWQgb24gdGhlIGNvbnN0YW50cy4gVGhpcyB3YXkgd2UgY2FuIGNoYW5nZQoJICB0aGUgZml4ZWQgc2l6ZSBhdCBsZWFzdCBhdCBjb21waWxlIHRpbWUuCgoyMDE2LTAxLTI4IDA5OjUxOjE3ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L21vbm9zY29wZS9nc3Rtb25vc2NvcGUuYzoKCSAgbW9ub3Njb3BlOiByZXBsYWNlIGhhcmRjb2RlZCB2YWx1ZXMgYnkgY29uc3RhbnRzCgkgIFRoaXMgYXQgbGVhc3QgZXN0YWJsaXNoZXMgdGhlIHJlbGF0aW9uc2hpcC4KCjIwMTYtMDEtMjggMDk6NDM6MTIgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvbW9ub3Njb3BlL2NvbnZvbHZlLmM6CgkqIGdzdC9tb25vc2NvcGUvY29udm9sdmUuaDoKCSogZ3N0L21vbm9zY29wZS9tb25vc2NvcGUuYzoKCSogZ3N0L21vbm9zY29wZS9tb25vc2NvcGUuaDoKCSAgbW9ub3NjcGU6IG1ha2UgdGhlIGNvbnZvbHZlciB1c2UgZHluYW1pYyBtZW1vcnkKCSAgUmVwbGFjZSBhbGwgI2RlZmluZXMgd2l0aCBtZW1iZXJzIGFuZCBpbml0aWFsaXplIHRoZSBjb252b2x2ZXIgd2l0aCBhIHBhcmFtZXRlci4KCjIwMTYtMDEtMjggMDg6NTY6NDQgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvbW9ub3Njb3BlL1JFQURNRToKCSAgbW9ub3Njb3BlOiB1cGRhdGUgUkVBRE1FCgkgIFdlIGNhbiBhbHJlYWR5IGNyZWF0ZSBtdWx0aXBsZSBpbnN0YW5jZXMuCgoyMDE2LTAxLTI4IDA4OjUzOjM1ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L21vbm9zY29wZS9jb252b2x2ZS5jOgoJKiBnc3QvbW9ub3Njb3BlL21vbm9zY29wZS5jOgoJICBtb25vc2NvcGU6IGNvZGUgY2xlYW51cAoJICBVc2UgY29uc3RhbnRzIG1vcmUgb2Z0ZW4uIENsZWFudXAgY29tbWVudHMgYW5kIGFkZCBtb3JlIHRvIGV4cGxhaW4gaG93IHRoaW5ncwoJICB3b3JrLgoKMjAxNi0wMi0wOCAyMzo0MTozMiArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogcmVtb3ZlIGNoZWNrIGZvciBpbXBvc3NpYmxlIGNvbmRpdGlvbgoJICBDb21taXQgYmQyN2ExZjMwYjQ0NThmMmVkZWU1M2M3NmRkMDdmYjM1OTA0YjYxZCBhZGRlZCBhIGZldyBlcnJvciBoYW5kbGluZwoJICBtZW1vcnkgbWFuYWdlbWVudCBjaGVja3MuIFRoZXNlIGNoZWNrIHNyY2NhcHMgdG8gc2VlIGlmIGl0IG5lZWRzIHRvIGJlCgkgIHVucmVmZXJlbmNlZCBiZWZvcmUgcmV0dXJuaW5nLCBpbiB0aGUgY2FzZSBvZiBpbnZhbGlkX2NhcHMgdGhpcyBnb3RvIGp1bXAKCSAgYWx3YXlzIGhhcHBlbnMgYmVmb3JlIHNyY2NhcHMgaXMgc2V0LCBzbyBpdCB3aWxsIGFsd2F5cyBiZSBOVUxMIGluIHRoaXMKCSAgZXJyb3IgbGFiZWwuCgkgIENJRCAjMTM1MjAzNQoKMjAxNi0wMi0wOCAxMjo0ODo0NiArMDEwMCAgUGlvdHIgRHLEhWcgPHBpb3RyZHJhZ0BnbWFpbC5jb20+CgoJKiBwby9QT1RGSUxFUy5pbjoKCSAgcG86IHVwZGF0ZSBQT1RGSUxFUwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYxNzA1CgoyMDE2LTAyLTA4IDE1OjMxOjU1ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmFsbG9jYXRvci5jOgoJICB2NGwyYWxsb2NhdG9yOiBGaXggc3BlbGxpbmcgb2YgcmVlbnF1ZXVlaW5nCgkgIFRvIG1hdGNoIGNvbW1pdCA3ZDcwNzRjZWYwMjcyY2Q1MTU1MDk4YmZjMmJkYTY4NDlkZDg5MjY3LiBJIGxvdmUgdGhlIGlkZWEKCSAgb2YgYWltaW5nIGZvciB0aGUgbWF4aW11bSBudW1iZXIgb2YgY29uc2VjdXRpdmUgdm93ZWxzLgoKMjAxNi0wMi0wOCAxMDoxNzo0OSAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmFsbG9jYXRvci5jOgoJICB2NGwyYWxsb2NhdG9yOiBGaXggc3BlbGxpbmcgb2YgcXVldWVpbmcKCSAgRGlkbid0IGtub3cgd2hpY2ggb25lIHRvIGNob29zZSBiZXR3ZWVuIHF1ZXVpbmcgYW5kIHF1ZXVlaW5nLCBzbyBJIHBpY2tlZAoJICB0aGUgb25lIHdpdGggdGhlIGJpZ2dlc3QgYW1vdW50IG9mIHZvd2VscyBpbiBhIHJvdyA7LVAgKGJvdGggYXJlCgkgIGFjY2VwdGFibGUgYXBwYXJlbnRseSkKCjIwMTYtMDItMDcgMTU6MDI6MzUgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogRG9uJ3QgcGFzcyB0aGUgc2FtZSBkYXRhIG92ZXIgYW5kIG92ZXIKCSAgV2UgYWxyZWFkeSBwYXNzIHRoZSBlbnRpcmUgZnJhbWUgdG8gdGhlIGRlY29kZXIuIElmIHRoZSBkZWNvZGVyIGFzayBmb3IKCSAgbW9yZSBkYXRhLCBkb24ndCBwYXNzIHRoZSBzYW1lIGRhdGEgYWdhaW4gYXMgdGhpcyBsZWFkcyB0byBpbmZpbml0IGxvb3AuCgkgIEluc3RlYWQsIHNpbXBseSBmYWlsIHRoZSBmaWxsIGZ1bmN0aW9uIHRvIHNpZ25hbCB0aGUgcHJvYmxlbSB3aXRoIHRoYXQKCSAgZnJhbWUuIEl0IHdpbGwgdGhlbiBiZSBza2lwcGVkIHByb3Blcmx5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYxNjcwCgoyMDE2LTAyLTA4IDAwOjEwOjMzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21hdHJvc2thL2x6by5jOgoJICBtYXRyb3NrYTogZ2V0IHJpZCBvZiBfc3RkaW50LmggaW5jbHVkZQoKMjAxNi0wMi0wNSAyMDowMDo1NyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHRlc3RzOiBleHRlbmQgdGhlIEFNX1RFU1RTX0VOVklST05NRU5UIGZyb20gY2hlY2subWFrCgkgIFRvIGdldCB0aGUgQ0tfREVGQVVMVF9USU1FT1VUIGRlZmluZWQgZm9yIGFsbCB0ZXN0cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYxNDcyCgoyMDE2LTAyLTA1IDE4OjA0OjMxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBhdXRvZ2VuLnNoOgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDg2ZTQ2NjMgdG8gYjY0ZjAzZgoKMjAxNi0wMS0zMCAxODo0MzozMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwanBlZ3BheS5jOgoJICBydHBqcGVncGF5OiBTa2lwIEFQUCBhbmQgSlBHIG1hcmtlcnMgYW5kIHByaW50IHdhcm5pbmdzIGZvciB1bmtub3duIG1hcmtlcnMKCSAgRm9yIEFQUC9KUEcgbWFya2VycyB0aGUgc2l6ZSBpcyBmb2xsb3dpbmcgYW5kIHdlIGhhdmUgdG8gc2tpcCB0aGF0LiBUaGlzIGlzCgkgIG5vdCByZWFsbHkgYSBwcm9ibGVtIHVubGVzcyB0aGUgbWFya2VyIGNvbnRhaW5zIGUuZy4gYSBwcmV2aWV3IEpQRUcgb3IKCSAgc29tZXRoaW5nIGVsc2UgdGhhdCB3ZSBtaWdodCBpbnRlcnByZXRlIGFzIGFub3RoZXIgbWFya2VyLgoKMjAxNi0wMS0yNiAyMjozNzozMCArMDkwMCAgU2V1bmdoYSBZYW5nIDxzaC55YW5nQGxnZS5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZml4IGZyYW1lcmF0ZSBjYWxjdWxhdGlvbiBmb3IgZnJhZ21lbnRlZCBmb3JtYXQKCSAgcXRkZW11eCBjYWxjdWxhdGVzIGZyYW1lcmF0ZSB1c2luZyBkdXJhdGlvbiBhbmQgdGhlIG51bWJlciBvZiBzYW1wbGUuCgkgIEluIGNhc2Ugb2YgZnJhZ21lbnRlZCBtcDQgZm9ybWF0LCBob3dldmVyLCB0aGUgbnVtYmVyIG9mIHNhbXBsZSBjYW4KCSAgYmUgZmlndXJlIG91dCBhZnRlciBwYXJzaW5nIGV2ZXJ5IG1vb2YgYm94LiBCZWNhdXNlIHF0ZGVtdXggZG9lcyBub3QKCSAgcGFyc2UgZXZlcnkgbW9vZiBpbiBRVERFTVVYX1NUQVRFX0hFQURFUiBzdGF0ZSwgaXQgd2lsbCBjYXVzZSBpbmNvcnJlY3QKCSAgZnJhbWVyYXRlIGNhbGN1bGF0aW9uLgoJICBUaGlzIHBhdGNoIHdpbGwgdHJpZ2VyIGdzdF9xdGRlbXV4X2NvbmZpZ3VyZV9zdHJlYW0oKSBmb3IgZXZlcnkgbmV3IG1vb2YuCgkgIFRoZW4sIGZyYW1lcmF0ZSB3aWxsIGJlIGNhbGN1bGF0ZWQgYnkgdXNpbmcgZHVyYXRpb24gYW5kIG5fc2FtcGxlcyBvZiB0aGUgbW9vZi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MDc3NAoKMjAxNi0wMS0yOCAyMjozNjoyMyArMDkwMCAgU2V1bmdoYSBZYW5nIDxzaC55YW5nQGxnZS5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogaGFuZGxpbmcgemVybyBzZWdtZW50LWR1cmF0aW9uIGVkaXQgbGlzdAoJICBCYXNlZCBvbiBkb2N1bWVudCBJU09fSUVDXzE0NDk2LTEyLCBlZGl0IGxpc3QgYm94IGNhbiBoYXZlCgkgIHNlZ21lbnQgZHVyYXRpb24gYXMgemVyby4gSXQgZG9lcyBub3QgaW1wbHkgdGhhdCBtZWRpYV9zdGFydCBlcXVhbHMgdG8KCSAgbWVkaWFfc3RvcC4gQnV0LCBpdCBqdXN0IGluZGljYXRlcyBhIHNhbXBsZSB3aGljaCBzaG91bGQgYmUgcHJlc2VudGVkCgkgIGF0IHRoZSBmaXJzdC4gVGhpcyBwYXRjaCBkZXJpdmVzIHNlZ21lbnQgZHVyYXRpb24gdXNpbmcgbWVkaWFfdGltZQoJICBhbmQgZHVyYXRpb24gb2YgZmlsZS4gQW5kIHNldCBkZXJpdmVkIGR1cmF0aW9uIHRvIHNlZ21lbnQtZHVyYXRpb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjA3ODEKCjIwMTYtMDEtMjggMjE6MzY6NTQgKzA5MDAgIFNldW5naGEgWWFuZyA8c2gueWFuZ0BsZ2UuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5oOgoJICBxdGRlbXV4OiBleHBvc2Ugc3RyZWFtcyB3aXRoIGZpcnN0IG1vb2YgZm9yIGZyYWdtZW50ZWQgZm9ybWF0CgkgIEluIGNhc2Ugb2YgcHVzaCBtb2RlLCBxdGRlbXV4IGV4cG9zZSBzdHJlYW1zIGFmdGVyIGdvdCBtb292IGJveC4KCSAgV2UgY2FuIG5vdCBndWFyYW50ZWUgdGhhdCBhIG1vb3YgYm94IGhhcyBzYW1wbGUgZGF0YSBzdWNoIGFzIHNhbXBsZSBkdXJhdGlvbgoJICBhbmQgdGhlIG51bWJlciBvZiBzYW1wbGUgaW4gc3RibCBib3ggZm9yIGZyYWdtZW50ZWQgZm9ybWF0IGNhc2UuCgkgIFNvLCBpZiBhIG1vb3YgaGFzIG5vIHNhbXBsZSBkYXRhLCBzdHJlYW1zIHdpbGwgbm90IGJlIGV4cG9zZWQgdW50aWwgZ2V0IHRoZSBmaXJzdCBtb29mLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYwNzc5CgoyMDE2LTAxLTI3IDE4OjQ4OjE3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBDaGVjayBmb3Igc3Vic2V0IGluc3RlYWQgb2Ygbm9uLWVtcHR5IGludGVyc2VjdGlvbiBmb3IgQUNDRVBUX0NBUFMKCjIwMTYtMDEtMjcgMTg6NDQ6MjMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IFVuc2V0IFJFQ09ORklHVVJFIGZsYWcgb24gc3JjcGFkIHdoZW5ldmVyIHdlIGNvbmZpZ3VyZSBuZXcgY2FwcwoJICBQcmV2ZW50cyBkb3VibGUtbmVnb3RpYXRpb24gZHVyaW5nIHN0YXJ0dXAgYW5kIGluIHNvbWUgb3RoZXIgY2FzZXMuCgoyMDE2LTAxLTI3IDE2OjQzOjIyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IEFkZCBuZWdvdGlhdGlvbiB1bml0IHRlc3RzIGZvciBhbGwgNCBtb2RlcwoJICBUaGVzZSBub3cgY2hlY2sgdGhlIG91dHB1dCBjYXBzIGJhc2VkIG9uIHRoZSBpbnB1dCBjYXBzIGFuZCBhIGZvbGxvd2luZwoJICBjYXBzZmlsdGVyIGFuZCBtYWtlIHN1cmUgdGhlIGNhcHMgYXJlIGV4YWN0bHkgYXMgZXhwZWN0ZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjA5OTUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMDM4OAoKMjAxNi0wMS0yNiAxNzozOToyMCArMDEwMCAgVml2aWEgTmlrb2xhaWRvdSA8dml2aWFAdG9vbHNvbmFpci5jb20+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IERvIHBhc3N0aHJvdWdoIGluIGF1dG8gbW9kZSBpZiBkb3duc3RyZWFtIG9ubHkgc3VwcG9ydHMgaW50ZXJsYWNlZAoJICBJZiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDoKCSAgMSkgdXBzdHJlYW0gYW5kIGRvd25zdHJlYW0gY2FwcyBhcmUgY29tcGF0aWJsZQoJICAyKSB1cHN0cmVhbSBpcyBpbnRlcmxhY2VkCgkgIDMpIGRvd25zdHJlYW0gZG9lc24ndCBzdXBwb3J0IHByb2dyZXNzaXZlIG1vZGUKCSAgdGhlbiBkZWludGVybGFjZSB3aWxsIGp1c3QgZG8gcGFzc3Rocm91Z2ggaW5zdGVhZCBvZiBmYWlsaW5nIHRvIGxpbmsuCgkgIFRoaXMgaXMgZG9uZSB3aXRoIHRoZSBmb2xsb3dpbmcgc2NlbmFyaW8gaW4gbWluZDoKCSAgdmlkZW90ZXN0c3JjICEgInZpZGVvL3gtcmF3LGludGVybGFjZS1tb2RlPWludGVybGVhdmVkIiAhIGRlaW50ZXJsYWNlCgkgIG5hbWU9ZGVpbl9zcmMgISB0ZWUgbmFtZT10ICEgcXVldWUgISBkZWludGVybGFjZSBuYW1lPWRlaW5fZmlsZSAhIGZpbGVzaW5rIHQuICEKCSAgcXVldWUgISBkZWludGVybGFjZSBuYW1lPWRlaW5fZGVza3RvcCAhIGF1dG92aWRlb3NpbmsKCSAgSW4gdGhpcyBjYXNlLCBkZWluX3NyYyB3aWxsIGRvIHRoZSBkZWludGVybGFjaW5nLiBIb3dldmVyLAoJICB2aWRlb3Rlc3RzcmMgISAidmlkZW8veC1yYXcsaW50ZXJsYWNlLW1vZGU9aW50ZXJsZWF2ZWQiICEgZGVpbnRlcmxhY2UKCSAgbmFtZT1kZWluX3NyYyAhIHRlZSBuYW1lPXQgISBxdWV1ZSAhIGRlaW50ZXJsYWNlIG5hbWU9ZGVpbl9maWxlICEgZmlsZXNpbmsgdC4gIQoJICBxdWV1ZSAhIGRlaW50ZXJsYWNlIG5hbWU9ZGVpbl9kZXNrdG9wICEgYXV0b3ZpZGVvc2luayB0LiAhIHF1ZXVlICEKCSAgInZpZGVvL3gtcmF3LGludGVybGFjZS1tb2RlPWludGVybGVhdmVkIiAhIGZha2VzaW5rCgkgIEluIHRoaXMgY2FzZSwgY2FwcyBhdXRvLW5lZ290aWF0aW9uIHdpbGwgbWFrZSBkZWluX2ZpbGUgYW5kIGRlaW5fZGVza3RvcCBkbwoJICB0aGUgZGVpbnRlcmxhY2luZywgd2hpbGUgZGVpbl9zcmMgd2lsbCBiZSBwYXNzdGhyb3VnaC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MDk5NQoKMjAxNi0wMS0yNiAxODowNTo1MSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuaDoKCSAgZGVpbnRlcmxhY2U6IEFkZCBtb2RlPWF1dG8tc3RyaWN0CgkgIEluIHRoaXMgbW9kZSB3ZSB3aWxsIHBhc3N0aHJvdWdoIGFsbCBwcm9ncmVzc2l2ZSBjYXBzIGJ1dCBpbnRlcmxhY2VkIGNhcHMgbXVzdCBiZQoJICBjYXBzIHdoZXJlIHdlIGFjdHVhbGx5IHN1cHBvcnQgZGVpbnRlcmxhY2luZy4KCSAgVGhpcyBpcyB0aGUgb25seSBkaWZmZXJlbmNlIGJldHdlZW4gYXV0byBhbmQgYXV0by1zdHJpY3QsIGF1dG8gd291bGQKCSAgcGFzc3Rocm91Z2ggYWxsIHVuc3VwcG9ydGVkIGludGVybGFjZWQgY2Fwcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMDM4OAoKMjAxNi0wMS0yNiAxNzo1MDozMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogSW1wbGVtZW50IHJlY29uZmlndXJhdGlvbiBhIGJpdCBiZXR0ZXIKCSAgQW5kIGUuZy4gY29uc2lkZXIgcmVjb25maWd1cmF0aW9uIGNhdXNlZCBieSBSRUNPTkZJR1VSRSBldmVudHMgdG9vLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIwMzg4CgoyMDE2LTAxLTI2IDExOjU3OjA5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBSZXdyaXRlIGNhcHMgbmVnb3RpYXRpb24KCSAgUHJldmlvdXNseSB0aGUgcmVzdWx0IG9mIHRoZSBDQVBTIHF1ZXJ5IGFuZCBBQ0NFUFRfQ0FQUyBkZXBlbmRlZCBvbiB3aGF0IGtpbmQKCSAgb2YgY2FwcyB3ZXJlIGxhc3Qgc2V0LCBhbmQgZS5nLiBpZiB3ZSBsYXN0IGhhZCBpbnRlcmxhY2VkIGNhcHMgb3Igbm90LiBUaGF0J3MKCSAganVzdCBicm9rZW4uCgkgIEFsc28gcHJldmlvdXNseSB0aGUgaGFuZGxpbmcgb2Ygbm9uLXN5c21lbSBjYXBzIGZlYXR1cmVzIHdhcyByYXRoZXIgcmFuZG9tIGFuZAoJICB1bnVzdWFibGUuCgkgIE5vdyB0aGUgYmVoYXZpb3VyIGlzIHRoZSBmb2xsb3dpbmcsIGRlcGVuZGluZyBvbiB0aGUgbW9kZSBwcm9wZXJ0eToKCSAgMSkgbW9kZT1kaXNhYmxlZAoJICBDb21wbGV0ZWx5IGRvIHBhc3N0aHJvdWdoIG9mIGV2ZXJ5dGhpbmcKCSAgMikgbW9kZT1pbnRlcmxhY2VkCgkgIE9ubHkgYWNjZXB0IGZvcm1hdHMgd2UgY2FuIGFjdHVhbGx5IGRlaW50ZXJsYWNlLCBhbmQgYWNjZXB0IGludGVybGFjZWQKCSAgYW5kIHByb2dyZXNzaXZlIGNvbnRlbnQgYW5kIGFsd2F5cyBydW4gdGhlIGRlaW50ZXJsYWNlciBhbmQgb3V0cHV0CgkgIHByb2dyZXNzaXZlIGNvbnRlbnQKCSAgMykgbW9kZT1hdXRvIChpLmUuIHBsYXliaW4pCgkgIEFjY2VwdCBhbGwgcHJvZ3Jlc3NpdmUgZm9ybWF0cyBhcyBwYXNzdGhyb3VnaCwgYWNjZXB0IGFsbCBmb3JtYXRzIHRoYXQgd2UKCSAgY2FuIGRlaW50ZXJsYWNlIG91cnNlbHZlcyAod2hpY2ggd2UgZG8gdGhlbiksIGJ1dCBhbHNvIGFjY2VwdCBldmVyeXRoaW5nCgkgIGVsc2UgZm9yIHdoaWNoIHdlIHRoZW4ganVzdCBwYXNzdGhyb3VnaC4gSW4gYXV0byBtb2RlLCBkZWludGVybGFjaW5nIGlzIGJlc3QKCSAgZWZmb3J0OiBJZiB3ZSBjYW4sIHdlIGRlaW50ZXJsYWNlLCBpZiB3ZSBjYW4ndCB3ZSBqdXN0IG91dHB1dCBpbnRlcmxhY2VkCgkgIGNvbnRlbnQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjAzODgKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MDU1MwoKMjAxNi0wMS0yNiAxMTozNDo0MCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogUmVtb3ZlIHVudXNlZCwgb2Jzb2xldGUgYnVmZmVyYWxsb2MgY29kZQoKMjAxNi0wMS0yNiAxODo1MDozOCArMDEwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IHVzZSBBX0FBQyBpbnN0ZWFkIG9mIEFfQUFDL01QRUd4L3kKCSAgU29tZSBHb29nbGVDYXN0IGNvbXBhdGlibGUgZGV2aWNlcyBpZ25vcmUgQV9BQUMvTVBFR3gveSB0cmFja3M7IEFsc28gYWNjb3JkaW5nIHRvIGh0dHA6Ly93aWtpLm11bHRpbWVkaWEuY3gvaW5kZXgucGhwP3RpdGxlPU1hdHJvc2thIEFfQUFDL01QRUd4L3kgaXMgb2Jzb2xldGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MTE0NAoKMjAxNi0wMS0yNSAxNzoyMToyNCArMDEwMCAgVsOtY3RvciBNYW51ZWwgSsOhcXVleiBMZWFsIDx2amFxdWV6QGlnYWxpYS5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYxcGF5LmM6CgkgIGdzdDogRml4IHVuaW50aWFsaXplZCB2YXJpYWJsZSB3YXJuaW5ncwoJICBXaGlsZSBjcm9zcy1jb21waWxpbmcgd2l0aCBMaW5hcm8gR0NDIDUuMS0yMDE1LjA4LCBpdCBjb21wbGFpbmVkCgkgIGFib3V0IGEgY291cGxlIHVuaXRpYWxpemVkIHZhcmlhYmxlcy4KCSAgVGhpcyBwYXRjaCBpbml0aWFsaXplcyB0aGVtIHRvIHplcm8uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjEwOTQKCjIwMTYtMDEtMjUgMTU6MDM6MjMgKzAxMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4cGFydHJlYWRlci5jOgoJICBzcGxpdG11eHNyYzogcHJpbnQgcG90ZW50aWFsbHkgbmVnYXRpdmUgb2Zmc2V0IHdpdGggYSBzaWduCgoyMDE2LTAxLTIxIDE3OjQxOjU1IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDI6IFJlLWFkZCBjb2xvcmltZXRyeSBmaWVsZCBmb3IgUkdCIGZvcm1hdHMKCSAgVGhpcyB0aW1lLCBjaGVjayBpZiBpdCdzIGFuIFJHQiBmb3JtYXQgYW5kIHNldHMgdGhlIHRyYW5zZm9ybWF0aW9uCgkgIG1hdHJpeCB0byBpZGVudGl0eS4gVGhlIHJlc3Qgb2YgdGhlIGNvbG9yaW1ldHJ5IGluZm9ybWF0aW9uIGlzCgkgIG1lYW5pbmdmdWxsIGFuZCBzaGFsbCBiZSBrZXB0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU5NjI0CgoyMDE2LTAxLTIyIDEwOjAzOjUwICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMjogZml4IHNSR0IgY29sb3JzcGFjZSBkZWZpbml0aW9uCgkgIFY0bDIgY2FuIGFsc28gdXNlIHRoZSBzUkdCIGNvbG9yc3BhY2UgZm9yIFlVViBmb3JtYXRzIGFuZCB0aHVzIG5lZWRzIGEKCSAgZGVmYXVsdCBtYXRyaXguCgoyMDE2LTAxLTIxIDE1OjI5OjQ2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0dGFnaW5qZWN0LmM6CgkgIHRhZ2luamVjdDogZml4IHNhbXBsZSBwaXBlbGluZSBpbiBkb2NzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Nzk1NzEKCjIwMTYtMDEtMjEgMTA6NDk6NDQgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyOiBBZGQgYWRvYmUgY29sb3JzcGFjZSBzdXBwb3J0CgkgIFVzZSB0aGUgbmV3IHByaW1hcmllcyBhbmQgdHJhbnNmZXIgZnVuY3Rpb24gZm9yIEFkb2JlIFJHQi4KCSAgRXhwbGljaXRseSBsaXN0IHRoZSBjb2xvcmltZXRyeSBpbnN0ZWFkIG9mIHVzaW5nIHRoZSBkZWZhdWx0IEdTdHJlYW1lcgoJICBvbmVzLiBUaGUgZGVmYXVsdHMgZm9yIEJUMjAyMCwgZm9yIGV4YW1wbGUsIGRvIG5vdCBtYXRjaC4KCSAgRXhwbGljaXRseSBzZXQgdGhlIG1hdHJpeCBvZiBTUkdCIHRvIFJHQi4KCjIwMTYtMDEtMjAgMTM6NDE6MzMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvdnB4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IEVuc3VyZSB0aGF0IHdlIGFsd2F5cyBoYXZlIHZhbGlkIGZyYW1lIHVzZXIgZGF0YSBiZWZvcmUgdXNpbmcgaXQKCSAgT3RoZXJ3aXNlIHdlJ3JlIGdvaW5nIHRvIGRlcmVmZXJlbmNlIE5VTEwgcG9pbnRlcnMuCgoyMDE2LTAxLTIwIDEwOjAyOjQ4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3ZweC9nc3R2cHhkZWMuYzoKCSAgdnB4ZGVjOiBVbnJlZiBmcmFtZSBpbiBhbGwgY29kZSBwYXRocyBvZiBoYW5kbGVfZnJhbWUoKQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYwNjY2CgoyMDE2LTAxLTE5IDIyOjQ5OjIwICswMTAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBleHQvdnB4L2dzdHZweGVuYy5jOgoJICB2cHhlbmM6IFVucmVmIGZyYW1lIG9uIEVSUk9SCgkgIEFsbCBjb2RlIHBhdGhzIGZvciBoYW5kbGVfZnJhbWUoKSBtdXN0IHNvbWVob3cgdGFrZSBvd25lcnNoaXAgb2YgdGhlIGZyYW1lLCBiZQoJICBpdCBieSBhY3R1YWxseSB1bnJlZmZpbmcsIGZvcndhcmRpbmcgdGhlIGZyYW1lIGVsc2V3aGVyZSBvciBzdG9yaW5nIGl0IGZvcgoJICBsYXRlci4KCSAgaHR0cDovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYwNjY2CgoyMDE2LTAxLTIwIDE4OjIwOjQzICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJkZXZpY2Vwcm92aWRlci5jOgoJICB2NGwyOiBEb24ndCBmcmVlIHByb3BzIHN0cnVjdHVyZSB0d2ljZS4KCSAgZ3N0X3Y0bDJfZGV2aWNlX3Byb3ZpZGVyX3Byb2JlX2RldmljZSgpIGZyZWVzIHRoZSBwYXNzZWQgcHJvcHMKCSAgc3RydWN0dXJlLCBkb24ndCBmcmVlIGl0IGFnYWluIGluIHRoZSBjYWxsZXIuCgoyMDE2LTAxLTE5IDE1OjE1OjM1IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IENsZWFudXAgdW5lZWRlZCByZXR1cm4gc3RhdGVtZW50CgoyMDE2LTAxLTE5IDE1OjE0OjU5IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IERvbid0IHNldCBjb2xvcmltZXRyeSBmb3Igbm9uIFlVViBmb3JtYXRzCgkgIFNldHRpbmcgY29sb3JtZXRyeSBpbiBjYXBzIGZvciBSR0IgaGF2ZSBubyBtZWFuaW5nLCBidXQgd29yc3QgaXQKCSAgY29uZnVzZXMgdGhlIGNvbnZlcnRlcnMgZG93bnN0cmVhbS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1OTYyNAoKMjAxNi0wMS0xOSAxMzowMToxNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwY2hhbm5lbHMuYzoKCSogZ3N0L3J0cC9nc3RydHBjaGFubmVscy5oOgoJICBydHA6IGZpeCBjb21waWxlciB3YXJuaW5ncyB3aXRoIGdjYy02CgkgIEluIGZpbGUgaW5jbHVkZWQgZnJvbSBnc3RydHBMMTZkZXBheS5oOjI3OjAsCgkgIGZyb20gZ3N0cnRwLmM6NzM6CgkgIGdzdHJ0cGNoYW5uZWxzLmg6MTU0OjMzOiBlcnJvcjogJ2NoYW5uZWxfb3JkZXJzJyBkZWZpbmVkIGJ1dCBub3QgdXNlZCBbLVdlcnJvcj11bnVzZWQtY29uc3QtdmFyaWFibGVdCgkgIHN0YXRpYyBjb25zdCBHc3RSVFBDaGFubmVsT3JkZXIgY2hhbm5lbF9vcmRlcnNbXSA9CgoyMDE2LTAxLTE5IDE0OjU3OjAzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIHdhdnBhcnNlOiBEb24ndCBwbGF5IGFueXRoaW5nIGFmdGVyIHRoZSBlbmQgb2YgdGhlIGRhdGEgY2h1bmsgZXZlbiB3aGVuIHNlZWtpbmcKCSAgRXNwZWNpYWxseSBpbiBwdXNoIG1vZGUgd2Ugd291bGQgY29tcGxldGVseSBpZ25vcmUgdGhlIHNpemUgb2YgdGhlIGRhdGEgY2h1bmsKCSAgd2hlbiBub3Qgc3RvcCBwb3NpdGlvbiBpcyBnaXZlbiBmb3IgdGhlIHNlZWsuIEluc3RlYWQgbWFrZSBzdXJlIHRoYXQgdGhlIGVuZAoJICBvZmZzZXQgaXMgYXQgbW9zdCB0aGUgZW5kIG9mIHRoZSBkYXRhIGNodW5rIGlmIGtub3duLgoJICBXaXRob3V0IHRoaXMgd2Ugd291bGQgb3V0cHV0IGFueXRoaW5nIGFmdGVyIHRoZSBkYXRhIGNodW5rLCBwb3NzaWJseSBjYXVzaW5nCgkgIGxvdWQgbm9pc2VzIGlmIHRoZSBtZWRpYSBmaWxlIGlzIGZvbGxvd2VkIGJ5IGFuIElORk8gY2h1bmsgb3IgYW4gSUQzIHRhZy4KCjIwMTYtMDEtMTkgMTQ6NTU6NTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgd2F2cGFyc2U6IERvbid0IGRvIGNhbGN1bGF0aW9ucyB3aXRoIC0xIG9mZnNldHMgd2hlbiBoYW5kbGluZyBTRUdNRU5UIGV2ZW50cwoJICBXZSB1c2UgdGhhdCB0byBzaWduYWwgImluZmluaXR5IiwgdGFraW5nIHRoZSBkaWZmZXJlbmNlIGJldHdlZW4gdGhhdCBhbmQgc29tZQoJICBvdGhlciB2YWx1ZSBpcyBub3QgZ29pbmcgdG8gZ2l2ZSB1cyBhbnkgdXNlZnVsIHJlc3VsdCBmb3IgdGhlIGVuZCBvZmZzZXRzIG9mCgkgIHNlZ21lbnRzLgoKMjAxNi0wMS0xOCAxMTozMDo0NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmg6CgkgIFJldmVydCAiV0lQOiBydHBqaXR0ZXJidWZmZXI6IEFkZCBSRkM3MjczIG1lZGlhIGNsb2NrIGhhbmRsaW5nIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDI3MTUwMWY2NTc2ZGU0ZDE0MWU3YzJmNjE4ZTI4YjllM2IxZTViMzguCgkgIEl0IHdhc24ndCBtZWFudCB0byBiZSBwdXNoZWQgeWV0IGFzIHRoZSBjb21taXQgbWVzc2FnZSBpbmRpY2F0ZXMuCgoyMDE2LTAxLTEyIDE0OjAxOjIxIC0wODAwICBBbGVpeCBDb25jaGlsbG8gRmxhcXXDqSA8YWNvbmNoaWxsb0BnbWFpbC5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGhhbmRsZSBydGNwL3NydGNwIGNhcHMgcHJvcGVybHkgd2hlbiB1c2luZyBpbnRlcmxlYXZlZCBkYXRhCgkgIFdlIGNoZWNrIHRoZSBzdHJlYW0gcHJvZmlsZSBhbmQgdXNlIHRoZSBwcm9wZXIgUlRDUCBjYXBzOgoJICBhcHBsaWNhdGlvbi94LXNydGNwIGlmIHdlIGFyZSB1c2luZyBhIHNlY3VyZSBwcm9maWxlIGFuZAoJICBhcHBsaWNhdGlvbi94LXJ0Y3Agb3RoZXJ3aXNlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYwNTU2CgoyMDE2LTAxLTA1IDE2OjE1OjE2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuaDoKCSAgV0lQOiBydHBqaXR0ZXJidWZmZXI6IEFkZCBSRkM3MjczIG1lZGlhIGNsb2NrIGhhbmRsaW5nCgoyMDE2LTAxLTE1IDExOjM2OjM1ICswMDAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBleHQvdnB4L2dzdHZweGVuYy5jOgoJICB2cDhlbmM6IFJldHVybiBGTE9XX0VSUk9SIHdoZW4gYW4gZXJyb3IgYWNjdXJlcwoJICBGQUxTRSB3b3VsZCBtZWFuIEZMT1dfT0sKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MDY2NgoKMjAxNi0wMS0xNSAwMzo1Nzo0NSArMDUzMCAgTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWtAY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGNvcmVhdWRpb2hhbC5jOgoJICBvc3hhdWRpbzogYnJlYWsgYXMgc29vbiBhcyB0aGUgZGV2aWNlIGlzIGZvdW5kCgkgIE5vIG5lZWQgdG8gbG9vcCBmdXJ0aGVyIGlmIHRoZXJlJ3Mgbm8gc2lkZS1lZmZlY3RzIGZvciBpdAoKMjAxNi0wMS0xNSAwMzo1Njo0OSArMDUzMCAgTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWtAY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvcmluZ2J1ZmZlci5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4Y29yZWF1ZGlvaGFsLmM6CgkgIG9zeGF1ZGlvOiBGaXggZXJyb3IgaGFuZGxpbmcgd2hlbiBzZWxlY3Rpbmcvb3BlbmluZyBkZXZpY2VzCgkgIFBvc3QgYW4gZWxlbWVudCBlcnJvciB3aGVuIHRoZSBDb3JlQXVkaW8gZGV2aWNlIGNhbm5vdCBiZSBzZWxlY3RlZCBvciBvcGVuZWQuCgkgIEFsc28gZW5zdXJlIHRoYXQgd2UgcG9zdCBhIEdTVF9FUlJPUiB3aXRoIG1vcmUgZGV0YWlsLgoKMjAxNi0wMS0xMyAyMzo0MDoyMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICB3YXZwYXJzZTogV2hlbiBmbHVzaGluZyBvbiBFT1MsIGRvbid0IHByb2Nlc3MgbW9yZSBkYXRhIHRoYW4gdGhlICJkYXRhIiBzaXplCgkgIEV2ZW4gaWYgd2UgaGF2ZSBtb3JlIGRhdGEgcXVldWVkIHVwIHdoZW4gZmx1c2hpbmcgdGhhbiB0aGUgc2l6ZSBvZiB0aGUgZGF0YQoJICBjaHVuaywgZG9uJ3QgcHJvY2VzcyBhbmQgb3V0cHV0IGl0LiBJZiB0aGUgZGF0YSBzaXplIGlzIGtub3duLCB0aGlzIGxpa2VseQoJICBjb250YWlucyBhbm90aGVyIGNodW5rIChlLmcuIGFuIElORk8gY2h1bmspIG9yIHRoaW5ncyBsaWtlIElEMyB0YWdzLiBKdXN0CgkgIG91dHB1dHRpbmcgdGhlbSBhcyBpZiB0aGV5IHdlcmUgZGF0YSBpcyBnb2luZyB0byBjYXVzZSB1bmV4cGVjdGVkIGJlaGF2aW91cgoJICBhbmQgdW5wbGVhc2FudCBhdWRpbyBub2lzZXMuCgoyMDE0LTA4LTI5IDE1OjQwOjIzICswMjAwICBBbnRvbmlvIE9zcGl0ZSA8YW8yQGFvMi5pdD4KCgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy93YXZlbmMuYzoKCSAgdGVzdHM6IGZpeCBhIHRoaW5rbyBpbiB0aGUgd2F2ZW5jIGV4YW1wbGUKCSAgVGhlIGNvZGUgaXMgc3VwcG9zZWQgdG8gZm9sbG93IHNvbWVob3cgd2hhdCB0aGUgY29tbWVudCBhYm92ZSBzYXlzLCB0aGF0CgkgIGlzIHRvIGhhdmUgb25lIGNoYW5uZWwgd2l0aCBhIHdhdmUgb2YgZnJlcSA0NDAgYW5kIHRoZSBvdGhlciBjaGFubmVsCgkgIHdpdGggYSB3YXZlIG9mIGZyZXEgODgwLCBidXQgYW4gb2ZmIGJ5IG9uZSBlcnJvciByZXN1bHRzIGluIGZyZXF1ZW5jaWVzCgkgIG9mIDAgYW5kIDQ0MC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNTY3MwoKMjAxNC0wOC0yOSAxNTowNzo1OCArMDIwMCAgQW50b25pbyBPc3BpdGUgPGFvMkBhbzIuaXQ+CgoJKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6CgkgIGludGVybGVhdmU6IEZpeCB0aGUgZXhhbXBsZSBieSBzZXR0aW5nIGNoYW5uZWwtbWFza3MgaW4gdGhlIHNpbmsgcGFkcwoJICBUaGUgY3VycmVudCBleGFtcGxlIGRvZXMgbm90IHdvcmssIGl0IGZhaWxzIHdpdGg6CgkgIEVSUk9SOiBmcm9tIGVsZW1lbnQgL0dzdFBpcGVsaW5lOnBpcGVsaW5lMC9Hc3REZWNvZGVCaW46ZGVjb2RlYmluMC9Hc3RXYXZQYXJzZTp3YXZwYXJzZTA6IEludGVybmFsIGRhdGEgZmxvdyBlcnJvci4KCSAgZ3N0d2F2cGFyc2UuYygyMTc4KTogZ3N0X3dhdnBhcnNlX2xvb3AgKCk6IC9Hc3RQaXBlbGluZTpwaXBlbGluZTAvR3N0RGVjb2RlQmluOmRlY29kZWJpbjAvR3N0V2F2UGFyc2U6d2F2cGFyc2UwOgoJICBzdHJlYW1pbmcgdGFzayBwYXVzZWQsIHJlYXNvbiBub3QtbmVnb3RpYXRlZCAoLTQpCgkgIFRoaXMgaXMgYmVjYXVzZSBuZWdvdGlhdGlvbiB3aXRoIHdhdmVuYyBnZXRzIG1lc3NlZCB1cCBieSB0aGUgbWlzc2luZwoJICBjaGFubmVsIHBvc2l0aW9ucyBjb25maWd1cmF0aW9uLgoJICBUaGUgcHJvcGVyIHdheSB0byBkZWZpbmUgdGhlIGNoYW5uZWwgbGF5b3V0IHdoZW4gdXNpbmcgdGhlIGludGVybGVhdmUKCSAgZWxlbWVudCBpbiBjb2RlIHdvdWxkIGJlIHRvIHNldCB0aGUgY2hhbm5lbC1wb3NpdGlvbnMgcHJvcGVydHksIGJ1dAoJICBnc3QtbGF1bmNoLTEuMCBkb2VzIG5vdCBrbm93IGhvdyB0byBkZWFsIHdpdGggYXJyYXlzOyBzbyB0aGUgZXhhbXBsZQoJICBwaXBlbGluZSB3b3JrcyBhcm91bmQgdGhlIGlzc3VlIGJ5IHNldHRpbmcgdGhlIGNoYW5uZWwtbWFza3MgaW4gdGhlIHNpbmsKCSAgcGFkcy4KCSAgQWxzbyBmaXggYSByZXBldGl0aW9uIGluIHRoZSBkZWludGVybGVhdmUgZXhhbXBsZSBkZXNjcmlwdGlvbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM1NjczCgoyMDE2LTAxLTExIDE2OjI5OjU1ICswMDAwICBUaW0gU2hlcmlkYW4gPHRpbS5zaGVyaWRhbkBpbWd0ZWMuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RzYmNwYXJzZS5jOgoJICBzYmNwYXJzZTogRml4IGZyYW1lIGxlbmd0aCBjYWxjdWxhdGlvbgoJICBTQkMgZnJhbWUgbGVuZ3RoIGNhbGN1bGF0aW9uIHdhc24ndCBiZWluZyByb3VuZGVkIHVwIHRvIHRoZSBuZWFyZXN0IGJ5dGUKCSAgKGFzIHNwZWNpZmllZCBpbiB0aGUgQTJEUCAxLjAgc3BlY2lmaWNhdGlvbiwgc2VjdGlvbiAxMi45KS4gVGhpcyBjb3VsZAoJICBjYXVzZSAnc3RlcmVvJyBhbmQgJ2pvaW50IHN0ZXJlbycgbW9kZSBTQkMgc3RyZWFtcyB0byBoYXZlIGluY29ycmVjdGx5CgkgIGNhbGN1bGF0ZWQgZnJhbWUgbGVuZ3Rocy4KCSAgSW5jb3JyZWN0IGZyYW1lIGxlbmd0aCBjYWxjdWxhdGlvbiBjYXVzZXMgZnJhbWUgY29hbGVzY2luZyB0byBmYWlsLCBhcwoJICBzdWJzZXF1ZW50IGZyYW1lcyBpbiB0aGUgc3RyZWFtIGFyZW4ndCBmb3VuZCBpbiB0aGUgZXhwZWN0ZWQgbG9jYXRpb25zLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQyNDQ2CgoyMDE2LTAxLTEwIDIyOjU0OjEyIC0wODAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IGRlbW90ZSB3YXJuaW5nIG9uIHdyb25nIHJlc2VydmVkIHZhbHVlIHRvIGZpeG1lCgkgIFdlIGFyZSBsaWtlbHkganVzdCBwYXJzaW5nIGEgYmFja3dhcmQtY29tcGF0aWJsZSBzdHJlYW0gd2UKCSAgZG9uJ3QgZnVsbHkgc3VwcG9ydC4KCjIwMTYtMDEtMDggMTY6Mjc6MDUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pbWFnZWZyZWV6ZS9nc3RpbWFnZWZyZWV6ZS5jOgoJICBpbWFnZWZyZWV6ZTogc2ltcGxpZnkgY2FwcyBzZWxlY3Rpb24KCSAgVGhlIGRvd25zdHJlYW0gY2FwcyBxdWVyeSB3aXRoIGEgZmlsdGVyIGFscmFlZHkgZ2l2ZXMgdXMgdGhlIHBvc3NpYmxlCgkgIGludGVyc2VjdGlvbiBzbyB0aGVyZSBpcyBubyBuZWVkIHRvIGNoZWNrIGl0IGFnYWluIHdpdGggZG93bnN0cmVhbQoJICBpZiBpdCBpcyBzdXBwb3J0ZWQuIEp1c3QgdHJ5IHRvIHNldCBpdCBkaXJlY3RseS4KCjIwMTYtMDEtMDcgMjA6NDI6NDEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOgoJICBydHBoMjY0ZGVwYXk6IGZpeCB1bm5lY2Vzc2FyeSBzdWItYnVmZmVyIGNyZWF0aW9uCgkgIFdlIGNyZWF0ZSBhIHN1Yi1idWZmZXIganVzdCB0byBjb3B5IG92ZXIgaXRzIG1ldGFzIGFuZCB0aGVuCgkgIHRocm93IGl0IGF3YXkgaW1tZWRpYXRlbHksIGp1c3QgdXNlIHRoZSBvcmlnaW5hbCBpbnB1dCBidWZmZXIKCSAgZGlyZWN0bHkuCgoyMDE2LTAxLTA3IDIwOjM4OjI3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBkdmRlcGF5LmM6CgkgIHJ0cGR2ZGVwYXk6IGZpeCB1bm5lY2Vzc2FyeSBzdWItYnVmZmVyIGNyZWF0aW9uCgkgIFdlIGNyZWF0ZSBhIHN1Yi1idWZmZXIganVzdCB0byBjb3B5IG92ZXIgaXRzIG1ldGFzIGFuZCB0aGVuCgkgIHRocm93IGl0IGF3YXkgaW1tZWRpYXRlbHksIGp1c3QgdXNlIHRoZSBvcmlnaW5hbCBpbnB1dCBidWZmZXIKCSAgZGlyZWN0bHkuCgoyMDE2LTAxLTA3IDIwOjM0OjA1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5jOgoJICBydHBhbXJkZXBheTogZml4IHVubmVjZXNzYXJ5IHN1Yi1idWZmZXIgY3JlYXRpb24KCSAgV2UgY3JlYXRlIGEgc3ViLWJ1ZmZlciBqdXN0IHRvIGNvcHkgb3ZlciBpdHMgbWV0YXMgYW5kIHRoZW4KCSAgdGhyb3cgaXQgYXdheSBpbW1lZGlhdGVseSwganVzdCB1c2UgdGhlIG9yaWdpbmFsIGlucHV0IGJ1ZmZlcgoJICBkaXJlY3RseS4KCjIwMTYtMDEtMDcgMjA6Mjc6MjkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdkZXBheS5jOgoJICBydHB2cmF3ZGVwYXk6IGZpeCBtYWpvciBtZW1vcnkgbGVhayBhbmQgcGVyZm9ybWFuY2UgaXNzdWUKCSAgV2UgY2FsbCBnc3RfcnRwX2J1ZmZlcl9nZXRfcGF5bG9hZCgpIHdoaWNoIGNyZWF0ZXMgYSBzdWItYnVmZmVyCgkgIG9mIGVhY2ggaW5wdXQgYnVmZmVyLCBqdXN0IHRvIGNvcHkgb3ZlciBtZXRhcywgYW5kIHRoZW4gbGVhayBpdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MDI4OQoKMjAxNi0wMS0wOCAxNTozMjo0NyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnYW5hbHlzaXMuYzoKCSAgcmdhbmFseXNpczogRml4IGNvbXBpbGVyIHdhcm5pbmdzIGluIHRoZSB1bml0IHRlc3QKCSAgZWxlbWVudHMvcmdhbmFseXNpcy5jOjkxOTo2NjogZXJyb3I6IHNoaWZ0aW5nIGEgbmVnYXRpdmUgc2lnbmVkIHZhbHVlIGlzIHVuZGVmaW5lZAoJICBbLVdlcnJvciwtV3NoaWZ0LW5lZ2F0aXZlLXZhbHVlXQoJICBwdXNoX2J1ZmZlciAodGVzdF9idWZmZXJfY29uc3RfaW50MTZfc3RlcmVvICg4MDAwLCAxNiwgNTEyLCAtMSA8PCAxNCwgMCkpOwoJICB+fiBeCgkgIGVsZW1lbnRzL3JnYW5hbHlzaXMuYzo5Mjk6Njk6IGVycm9yOiBzaGlmdGluZyBhIG5lZ2F0aXZlIHNpZ25lZCB2YWx1ZSBpcyB1bmRlZmluZWQKCSAgWy1XZXJyb3IsLVdzaGlmdC1uZWdhdGl2ZS12YWx1ZV0KCSAgcHVzaF9idWZmZXIgKHRlc3RfYnVmZmVyX2NvbnN0X2ludDE2X3N0ZXJlbyAoODAwMCwgMTYsIDUxMiwgMCwgLTEgPDwgMTQpKTsKCSAgfn4gXgoJICBlbGVtZW50cy9yZ2FuYWx5c2lzLmM6OTM5OjY0OiBlcnJvcjogc2hpZnRpbmcgYSBuZWdhdGl2ZSBzaWduZWQgdmFsdWUgaXMgdW5kZWZpbmVkCgkgIFstV2Vycm9yLC1Xc2hpZnQtbmVnYXRpdmUtdmFsdWVdCgkgIHB1c2hfYnVmZmVyICh0ZXN0X2J1ZmZlcl9jb25zdF9pbnQxNl9tb25vICg4MDAwLCAxNiwgNTEyLCAtMSA8PCAxNCkpOwoJICB+fiBeCgoyMDE2LTAxLTA1IDE4OjEzOjA2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBkb24ndCBtYXAgYnVmZmVyIG11bHRpcGxlIHRpbWVzIHdoZW4gcGFyc2luZwoKMjAxNi0wMS0wNyAxODoyMDozMCArMDIwMCAgU3RldmVuIEhvdmluZyA8c2hAYmlnYnJvdGhlci5ubD4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJICBtYXRyb3NrYTogU3RvcmUgc3VidGl0bGUgc3RyZWFtIGNvdW50IGluIHRoZSBjb3JyZWN0IHZhcmlhYmxlCgkgIEFuZCBkb24ndCBvdmVycmlkZSB0aGUgdmlkZW8gc3RyZWFtIGNvdW50IGluc3RlYWQuCgoyMDE2LTAxLTA1IDE4OjU5OjA2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXJuYmFuZHMuYzoKCSAgZXF1YWxpemVyOiBUaGUgY2hpbGQtcHJveHkgQVBJIGlzIEdPYmplY3QgYmFzZWQgaW4gMS54CgkgIE5vdCBHc3RPYmplY3QgYW55bW9yZS4KCjIwMTUtMDUtMjEgMTc6NDE6MTIgKzAyMDAgIFBhYmxvIEFudG9uIDxwYWJsby5hbnRvbkB2b2RhbHlzLWxhYnMuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnRyYW5zZm9ybS5jOgoJICB2NGwyLSo6IENvbmZpZ3VyaW5nIG91dHB1dCBwb29sIGNvcnJlY3RseSBmb3IgdXNpbmcgZHJpdmVycyBtaW5fYnVmZmVyIGlmIHByZXNlbnQuCgkgIFNpZ25lZC1vZmYtYnk6IFBhYmxvIEFudG9uIDxwYWJsby5hbnRvbkB2b2RhbHlzLWxhYnMuY29tPgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU1NzM2CgoyMDE1LTEyLTMxIDE1OjQ2OjMxIC0wODAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IGFkZCBkZWJ1ZyBtc2cgb24gQ1JDIG1pc21hdGNoIHdoaWxlIHZhbGlkYXRpbmcgZnJhbWUgaGVhZGVyCgoyMDE1LTEyLTMxIDE2OjAwOjQ5IC0wODAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IGRyb3AgdW5uZWVkZWQgYnJhY2VzIGF0IF9wYXJzZV9mcmFtZSgpIGV4aXQKCSAgQWRkaXRpb25hbGx5LCBkcm9wIHJlZHVuZGFudCBjb21tZW50ICYgbGluZSBicmVhawoKMjAxNS0xMi0zMSAxNTo1NToxOCAtMDgwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBtaW5vciBncmFtbWFyIGNvcnJlY3Rpb24KCjIwMTUtMTItMzEgMTU6MzQ6NTcgLTA4MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogdXBkYXRlIFVSTHMgb24gcG9pbnRlcnMgdG8gb25saW5lIHNwZWMKCjIwMTUtMTItMzEgMTQ6NDA6MTUgLTA4MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogbWFrZSBidWZmZXIgRFRTIHNldHRpbmcgZXhwbGljaXRseSB1bmNvbmRpdGlvbmFsCgkgIFdlIGFyZSBzZXR0aW5nIGl0IHRvIFBUUyByZWdhcmRsZXNzIG9mIGJsb2NrX3N0cmF0ZWd5CgoyMDE1LTEyLTMxIDE0OjIxOjQwIC0wODAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IGFkZCBhY3R1YWwgaW52YWxpZCBibG9jayB0eXBlIHRvIHdhcm5pbmcKCSAgRm9yIHNvbWVvbmUgdGhhdCByZWFkIHRoZSBzcGVjIGlzIGNsZWFyIHRoZSBvbmx5ICppbnZhbGlkKgoJICBkYXRhIGJsb2NrIHR5cGUgaXMgMTI3LiBGb3IgdGhlIHJlc3QsIGl0cyB1c2VmdWwgaW5mb3JtYXRpb24uCgkgIEFkZGl0aW9uYWxseS4gdmFsdWVzIDctMTI2IGFyZSBjdXJyZW50bHkgcmVzZXJ2ZWQgYnkgdGhlCgkgIHNwZWMgc28gdGhlIHNpdHVhdGlvbiBtaWdodCBjaGFuZ2UgaW4gdGhlIGZ1dHVyZS4KCjIwMTUtMTItMzEgMTQ6MTI6MzYgLTA4MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogdXNlIHNoaWZ0IGluc3RlYWQgb2YgbWFzayAmIGNvbXAKCSAgV2UgYXJlIG9ubHkgaW50ZXJlc3RlZCBvbiB0aGUgZmlyc3QgYml0IG9mIHRoZSBmaXJzdAoJICBieXRlIG9mIHRoZSBtZXRhZGF0YSBibG9jayBoZWFkZXIgdG8gZmlndXJlIG91dCB3aGV0aGVyCgkgIGlzIG1hcmtlZCBhcyB0aGUgbGFzdCBvbmUuIFRoZSBzaGlmdCBtYWtlcyBpdCBxdWl0ZQoJICBjbGVhcmVyLgoKMjAxNS0xMi0zMSAxMjo1MjoxMyAtMDgwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiB3YXJuIG9uIHdpc2hmdWwgcGFyc2luZyBvZiB3ZWlyZCBoZWFkZXJzCgkgIElmIHdlIGdldCBhbnl0aGluZyBmcm9tIDcgdG8gMTI2IGFzIHR5cGUgd2hlbiBwYXJzaW5nCgkgIGEgbWV0YWRhdGEgYmxvY2sgaGVhZGVyLCB3ZSBhcmUgbGlrZWx5IGRlYWxpbmcgd2l0aCBhCgkgIEZMQUMgc3RyZWFtIHZlcnNpb24gd2UgZG9uJ3QgZnVsbHkgdW5kZXJzdGFuZC4gSXNzdWUKCSAgYSB3YXJuaW5nIGlmIHNvLgoJICBEb2N1bWVudCBmdW5jdGlvbiBhc3N1bXB0aW9ucyByZWdhcmRpbmcgdGhlIHBhc3NlZC1vbgoJICB0eXBlIHdoaWxlIGF0IHRoaXMuCgoyMDE1LTEyLTMxIDExOjMzOjQ1IC0wODAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IHNob3cgbWVhbmluZ2Z1bCBpbmZvIG9uIGZyYW1lIENSQyBjaGVjawoJICBBcyBDUkNzIGFyZSBjYWxjdWxhdGVkIGZvciB0aGUgY29tcGFyaXRpb24gYWxyZWFkeSwgd2UKCSAgbWlnaHQgYXMgd2VsbCAoY2hlYXBseSkgaW5mb3JtIHRoZSB1c2VyIGhvdyB0aGUgbnVtYmVycwoJICBkaWZmZXIgaWYgYSBtaXNzbWF0Y2hlZCBwYWlyIGlzIGZvdW5kLgoJICBXaGlsZSBhdCBpdDoKCSAgUmVwaHJhc2UgY2FuZGlkYXRlLWZyYW1lIG1lc3NhZ2UgdG8gbWFrZSBtb3JlIHNlbnNlCgoyMDE1LTEyLTMxIDAyOjQwOjQzIC0wODAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IGRyb3AgcmVtYWluaW5nIHRyYWlsaW5nIHdoaXRlc3BhY2UKCjIwMTUtMTItMzEgMDI6MTU6MDYgLTA4MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogZHJvcCBzdXBlcmZsb3VzIGVsc2UgY2xhdXNlcwoKMjAxNS0xMi0zMSAwMTowOTo1MSAtMDgwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBmYWN0b3Igb3V0IGJ1ZmZlciB0aW1lIGFuZCBvZmZzZXQgcmVzZXR0aW5nCgkgIEF2b2lkcyBtdWx0aXBsZSBvY2N1cnJlbmNlcyBvZiB0aGUgc2FtZSByZXNldHRpbmcgcGF0dGVybgoKMjAxNS0xMi0zMSAwMDo1NDo0OCAtMDgwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBtb3ZlIGJsb2NrIGhhbmRsaW5nIGJ5IHR5cGUgb3V0IG9mIF9wYXJzZV9mcmFtZSgpCgoyMDE1LTEwLTA3IDE4OjUxOjI1ICswOTAwICBIeXVuanVuIEtvIDx6em9vbi5rb0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogcmVwbGFjZSBkdXBsaWNhdGVkIGNvZGVzIHRvIGNhbGwgbmV3IGJhc2Ugc2RwIGFwaXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTg4MAoKMjAxNS0xMi0zMCAxMjoxNjo1NiAtMDgwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBkcm9wIHJlZHVuZGFudCByZXR1cm4gc3RhdGVtZW50IG9uIF9oZWFkZXJfaXNfdmFsaWQoKQoJICBGaXggdGhlIHJhdGhlciB2YWd1ZSBlcnJvciBtZXNzYWdlIHdoaWxlIGF0IGl0LgoKMjAxNS0xMi0zMCAwMTo1NjoyNiAtMDgwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiByZXdvcmsgZ3N0X2ZsYWNfcGFyc2VfZnJhbWVfaXNfdmFsaWQoKQoJICBkcm9wIHVubmVjZXNzYXJ5IG5lc3RpbmcgbG9va2luZyBmb3IgZW5kIG9mIGZyYW1lCgoyMDE1LTEyLTMwIDAwOjM3OjA0IC0wODAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IGZhY3RvciBvdXQgY29udGV4dCBjbGVhcmluZyByb3V0aW5lCgoyMDE1LTEyLTI5IDE4OjA1OjU2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IEd1YXJkIGFnYWluc3Qgbm8gY29kZWMgZGF0YSBpbiBwcm9yZXMgY2FwcyBjcmVhdGlvbgoJICBDSUQgMTM0NjUzMgoKMjAxNS0xMi0yOSAxNzo1ODozOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC92cHgvZ3N0dnB4ZGVjLmM6CgkgIHZweGRlYzogSW5pdGlhbGl6ZSBidWZmZXIgdmFyaWFibGUgdG8gTlVMTAoJICBGYWxzZSBwb3NpdGl2ZSBidXQgdHJpdmlhbCB0byBmaXggYW5kIHBvc3NpYmx5IGNhdXNpbmcgY29tcGlsZXIgd2FybmluZ3MgYXQKCSAgc29tZSBwb2ludCBpbiB0aGUgZnV0dXJlIHRvby4KCSAgQ0lEIDEzNDY1MzUKCjIwMTUtMDctMjcgMTU6NTM6MjYgKzAyMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmRldmljZXByb3ZpZGVyLmM6CgkgIHY0bDJkZXZpY2Vwcm92aWRlcjogYWRkIHByb3BlcnRpZXMgdG8gdGhlIGRldmljZQoJICBBZGQgcHJvcGVydGllcyB0byB0aGUgZGV2aWNlIHdpdGggZXhhY3RseSB0aGUgc2FtZSBrZXlzIGFuZCBzZW1hdGljcwoJICBhcyB3aGF0IHB1bHNlYXVkaW8gdXNlcyBhcyBwcm9wZXJ0eSBrZXlzLgoJICBBbHNvIGhhbmRsZSB0aGUgY2FzZSB3aGVuIGEgZGV2aWNlIGlzIHByb2JlZCBtYW51YWxseSBhbmQgbm90IHRocm91Z2ggZ3VkZXYuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnLy9zaG93X2J1Zy5jZ2k/aWQ9NzU5NzgwCgoyMDE1LTEyLTI1IDExOjQxOjE5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F1ZGlvZngvZ3N0c2NhbGV0ZW1wby5jOgoJICBzY2FsZXRlbXBvOiBGcmVlIHRoZSB2YXJpb3VzIGJ1ZmZlcnMgaW4gR3N0QmFzZVRyYW5zZm9ybTo6c3RvcCgpCgkgIFByZXZpb3VzbHkgd2UgbGVha2VkIHRoZW0gY29tcGxldGVseSwgYnV0IGFzIHRoZXkncmUgc3BlY2lmaWMgdG8gdGhlIGNhcHMKCSAgZnJlZWluZyB0aGVtIGluIHN0b3AoKSBpbnN0ZWFkIG9mIGZpbmFsaXplKCkgbWFrZXMgbW9zdCBzZW5zZS4KCjIwMTUtMTItMjQgMTU6Mjg6MDYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQKCj09PSByZWxlYXNlIDEuNy4xID09PQoKMjAxNS0xMi0yNCAxNDoxNjoyMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pc29tcDQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12cHgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDEuNy4xCgoyMDE1LTEyLTI0IDEzOjE5OjI0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZW8ucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vaHIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDE1LTEyLTI0IDEyOjIyOjMyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogcG8vY3MucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vaHUucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vcGwucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkgIHBvOiBVcGRhdGUgdHJhbnNsYXRpb25zCgoyMDE1LTEyLTIxIDA5OjU3OjMzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4Lmg6CgkgIHF0ZGVtdXg6IGRyb3AgZmx1c2hlcyBmcm9tIG91ciBvd24gb2Zmc2V0IHNlZWsKCSAgUHJldmVudHMgZG93bnN0cmVhbSBmcm9tIHJlY2VpdmluZyBmbHVzaGVzIGZvciBhIHNlZWsgb25seSBpbgoJICB1cHN0cmVhbS4gVGhvc2Ugc2Vla3MgYXJlIG9ubHkgdG8gc3RhcnQgcmVhZGluZyBmcm9tIHRoZSByaWdodAoJICBvZmZzZXQgd2hlbiBza2lwcGluZyBvciByZXR1cm5pbmcgdG8gcXQgYXRvbXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTg5MjgKCjIwMTUtMTEtMTEgMTY6NTM6MTkgKzAxMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGdub21lLm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBBbHdheXMgc2V0IHRoZSBjaGFubmVsIG1hc2sgZm9yIFBDTSBzdHJlYW1zCgkgIEp1c3QgdXNlIHRoZSBnc3RfYXVkaW9fY2hhbm5lbF9nZXRfZmFsbGJhY2tfbWFzayBmdW5jdGlvbiBmb3Igbm93IGFzCgkgIHRoZSBzcGVjaWZpY2F0aW9uIGlzIHRvbyBjb21wbGljYXRlZCBhbmQgbm9ib2R5IGltcGxlbWVudHMgaXQuCgoyMDE1LTEyLTIxIDExOjM3OjI2ICswMTAwICBUaG9tYXMgUm9vcyA8dGhvbWFzLnJvb3NAaW5kdXN0cm9uaWMuZGU+CgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkgIGRpcmVjdHNvdW5kc2luazogRml4IHNsZWVwIGZvciBidWZmZXItdGltZSBsb3dlciB0aGFuIDIwMDAwMAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ4NjgwCgoyMDE1LTEyLTIxIDEyOjMxOjE5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IFVzZSAtQnN5bWJvbGljLWZ1bmN0aW9ucyBpZiBhdmFpbGFibGUKCSAgV2hpbGUgdGhpcyBpcyBtb3JlIHVzZWZ1bCBmb3IgbGlicmFyaWVzLCBzb21lIG9mIG91ciBwbHVnaW5zIHdpdGggbXVsdGlwbGUKCSAgZmlsZXMgYW5kIHNvbWUgaW50ZXJuYWwgQVBJIGNhbiBhbHNvIGJlbmVmaXQgZnJvbSB0aGlzLgoKMjAxNS0xMi0xOCAxNTozNDo1MiArMDAwMCAgV2lsbGlhbSBNYW5sZXkgPHdpbGxAd2lsbGlhbW1hbmxleS5uZXQ+CgoJKiBnc3QvZGVidWd1dGlscy9wcm9ncmVzc3JlcG9ydC5jOgoJKiBnc3QvZGVidWd1dGlscy9wcm9ncmVzc3JlcG9ydC5oOgoJICBwcm9ncmVzc3JlcG9ydDogYWRkIHN1cHBvcnQgZm9yIHVzaW5nIGZvcm1hdD1idWZmZXJzIHdpdGggZG8tcXVlcnk9ZmFsc2UKCSAgVGhpcyBpcyB1c2VmdWwgZm9yIGludmVzdGlnYXRpbmcgYW5kIGRlYnVnZ2luZyBwaXBlbGluZXMgd2hpY2ggYXJlCgkgIHByb2R1Y2luZyBidWZmZXJzIGF0IGEgc2xvd2VyL2Zhc3RlciByYXRlIHRoYW4geW91IHdvdWxkIGV4cGVjdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1OTYzNQoKMjAxNS0xMi0xOCAxNTo0OTo0MyAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBVcGRhdGUgZm9ybWF0cyB0YWJsZQoJICBUaGlzIGNoYW5nZSBhZGQgYWxsIHRoZSBuZXcgUkdCIGJhc2VkIGZvcm1hdC4gVGhvc2UgZm9ybWF0IHJlbW92ZXMgdGhlCgkgIGFtYmlndWl0eSB3aXRoIHRoZSBBTFBIQSBjaGFubmVsLiBTb21lIG90aGVyIG1pc3NpbmcgbXVsdGlwbGFuYXIgZm9ybWF0CgkgIGhhcyBiZWVuIGFkZGVkIHdpdGggc29tZSBhZGRpdGlvbmFsIGNsZWFudXAuCgoyMDE1LTEyLTE4IDA1OjE3OjE1ICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IERvbid0IHdyaXRlIGludmFsaWQgZWRpdCBsaXN0IHN0YXJ0IHRpbWUuCgkgIEF2b2lkIHdyaXRpbmcgYSBuZWdhdGl2ZSBudW1iZXIgYXMgYSBsYXJnZSBwb3NpdGl2ZQoJICBpbnRlZ2VyIGluIGFuIGVkaXQgbGlzdCB3aGVuIHRoZSBmaXJzdF90cyBpcyBzbWFsbGVyCgkgIHRoYW4gdGhlIGZpcnN0X2R0cyAtIHdoaWNoIGNhbiBoYXBwZW4gd2hlbiB0aGUgZmlyc3QKCSAgcGFja2V0IHJlY2VpdmVkIGhhcyBhIFBUUyBidXQgbm8gRFRTLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU5NjE1CgoyMDE1LTEyLTA0IDIzOjE2OjQ1ICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzaW5rLmM6CgkgIHNwbGl0bXV4c2luazogT25seSB1cGRhdGUgcnVubmluZyB0aW1lIHdoZW4gaXQgaW5jcmVhc2VzLgoJICBEb24ndCBpbmNyZW1lbnQgcnVubmluZyB0aW1lIGZyb20gZXZlcnkgYnVmZmVyLiBUaGUgY29ycmVjdAoJICBsb2dpYyB0byBvbmx5IGluY3JlbWVudCB3aGVuIHJ1bm5pbmcgdGltZSBhZHZhbmNlcyBpcyBhCgkgIGxpdHRsZSBmdXJ0aGVyIGRvd24sIHNvIGRlbGV0ZSB0aGlzIGxlZnQtb3ZlciBsaW5lLgoKMjAxNS0xMS0xOCAxMTowMToyMCArMDEwMCAgVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAZ25vbWUub3JnPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYS1tdXg6IEltcGxlbWVudCBwcm9yZXMgc3VwcG9ydAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU4MjU4CgoyMDE1LTExLTE4IDE2OjIwOjM4ICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmg6CgkgIG1hdHJvc2thLWRlbXV4OiBQbGF5IFByb1JlcyB2aWRlbyBzdHJlYW1zCgkgIEdlbmVyYXRlIHZpZGVvL3gtcHJvcmVzIGNhcHMgZm9yIFByb1JlcyB2aWRlbyBzdHJlYW1zLgoJICBFdmVyeSBmcmFtZSBuZWVkcyBhbiA4IGJ5dGUgaGVhZGVyIHByZXBlbmRlZCwgYXMgZGVzY3JpYmVkIGluCgkgIGh0dHA6Ly93aWtpLm11bHRpbWVkaWEuY3gvaW5kZXgucGhwP3RpdGxlPUFwcGxlX1Byb1JlcyNGcmFtZV9sYXlvdXQKCSAgc28gZG8gdGhhdCBpbiBhIHBvc3QtcHJvY2Vzc2luZyBjYWxsYmFjay4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1ODI1OAoKMjAxNS0xMi0xOCAxMDoxODowOSArMDUzMCAgUmF2aSBLaXJhbiBLIE4gPHJhdmkua2lyYW5Ac2Ftc3VuZy5jb20+CgoJKiBleHQvZHYvZ3N0ZHZkZWMuaDoKCSAgZHZkZWM6IFJlbW92ZSB1bnVzZWQgZmllbGRzCgkgIFJlbW92ZSB1bnVzZWQgZmllbGRzIGZyYW1lX2xlbiBhbmQgc3BhY2UKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1OTYxNAoKMjAxNS0xMi0xNyAxNjowMzowNCArMDEwMCAgVmluY2VudCBEZWhvcnMgPHZpbmNlbnQuZGVob3JzQG9wZW53aWRlLmZyPgoKCSogZ3N0L3J0cC9nc3RydHBqMmtkZXBheS5jOgoJICBydHBqMmtkZXBheTogUHVzaCBvbmUgSlBFRzIwMDAgZnJhbWUgcGVyIGJ1ZmZlciwgbm90IGEgYnVmZmVyIGxpc3Qgd2l0aCBtdWx0aXBsZSBidWZmZXJzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTg5NDMKCjIwMTUtMTItMTYgMTE6NDM6NTggKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvcmF3MTM5NC9nc3RkdjEzOTRzcmMuYzoKCSogZXh0L3JhdzEzOTQvZ3N0aGR2MTM5NHNyYy5jOgoJICBkdjEzOTQ6IGxvZyBlcnJvciBpZiBmYWlsZWQgdG8gc2V0IHNvY2tldCBzdGF0dXMgZmxhZwoJICBMb2cgYW4gZXJyb3IgbWVzc2FnZSBpZiBmYWlsZWQgdG8gc2V0IHdyaXRlIG9yIHJlYWQgc29ja2V0IGFzCgkgIG5vbi1ibG9ja2luZy4KCSAgQ0lEIDExMzk2MDgKCSAgQ0lEIDExMzk2MDkKCjIwMTUtMTItMTUgMTc6MTA6MDAgKzAwMDAgIERhdmUgQ3JhaWcgPGRhdmVjcmFpZ0B1bmJhbGFuY2VkYXVkaW8uY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YW1ycGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RkY2FwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0c2JjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3R3YXZwYWNrcGFyc2UuYzoKCSAgYXVkaW9wYXJzZXJzOiBDaGVjayBmb3IgTlVMTCByZXR1cm4gdmFsdWUgb2YgZ3N0X3BhZF9nZXRfY3VycmVudF9jYXBzKCkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1OTUwMwoKMjAxNS0xMi0xNiAwOTozNTo1MyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlzb21wNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZweC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSAgZG9jczogdXBkYXRlIHRvIGdpdAoKMjAxNS0xMi0xNSAxNDoyNzoyMiAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3ZweC9NYWtlZmlsZS5hbToKCSAgdnB4OiBBZGQgbWlzc2luZyBoZWFkZXJzIGluIE1ha2VmaWxlLmFtCgkgIFRoaXMgZml4ZXMgZGlzdGNoZWNrLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU1NTEwCgoyMDE1LTA5LTI0IDEyOjU3OjAwICswNTMwICBQcmFzaGFudCBHb3Rhcm5lIDxwcy5nb3Rhcm5lQHNhbXN1bmcuY29tPgoKCSogZXh0L3ZweC9NYWtlZmlsZS5hbToKCSogZXh0L3ZweC9nc3R2cDhlbmMuYzoKCSogZXh0L3ZweC9nc3R2cDhlbmMuaDoKCSogZXh0L3ZweC9nc3R2cDllbmMuYzoKCSogZXh0L3ZweC9nc3R2cDllbmMuaDoKCSogZXh0L3ZweC9nc3R2cHhlbmMuYzoKCSogZXh0L3ZweC9nc3R2cHhlbmMuaDoKCSAgdnB4OiBjcmVhdGVkIGNvbW1vbiBiYXNlY2xhc3MgR3N0VlBYRW5jCgkgIEdzdFZQOEVuYyBhbmQgR3N0VlA5RW5jIGhhcyBhbG1vc3QgODAlIGNvZGUgaW4gY29tbW9uLgoJICBjcmVhdGVkIGNvbW1vbiBiYXNlY2xhc3MgR3N0VlBYRW5jIGZvciBHc3RWUDhFbmMgYW5kIEdzdFZQOUVuYwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU1NTEwCgoyMDE1LTEyLTE1IDEyOjU3OjUzIC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvdnB4L2dzdHZwOWRlYy5jOgoJKiBleHQvdnB4L2dzdHZweGRlYy5jOgoJKiBleHQvdnB4L2dzdHZweGRlYy5oOgoJICB2cHhkZWM6IFJlbW92ZSB1bm5lZWRlZCBhZGQgdmlkZW9fbWV0YQoJICBUaGlzIGFsc28gcmVtb3ZlIGNvcGllcyBmb3IgVlA4LCB3aGljaCB3YXMgbm90IGNvcnJlY3RseSBpbiBwbGFjZQoJICBpbiBwcmV2aW91cyByZWxhdGVkIHBhdGNoLgoKMjAxNS0xMi0xNSAwOTo0OToyNCArMDUzMCAgUHJhc2hhbnQgR290YXJuZSA8cHMuZ290YXJuZUBzYW1zdW5nLmNvbT4KCgkqIGV4dC92cHgvTWFrZWZpbGUuYW06CgkqIGV4dC92cHgvZ3N0dnA4ZGVjLmM6CgkqIGV4dC92cHgvZ3N0dnA4ZGVjLmg6CgkqIGV4dC92cHgvZ3N0dnA5ZGVjLmM6CgkqIGV4dC92cHgvZ3N0dnA5ZGVjLmg6CgkqIGV4dC92cHgvZ3N0dnB4ZGVjLmM6CgkqIGV4dC92cHgvZ3N0dnB4ZGVjLmg6CgkgIHZweDogY3JlYXRlZCBjb21tb24gYmFzZSBjbGFzcyBHc3RWUFhkZWMgZm9yIHZweCBkZWNvZGVycwoJICBCYXNlIGNsYXNzIGZvciB0aGUgdnA4ZGVjIGFuZCB2cDlkZWMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTU1MTAKCjIwMTUtMDYtMTAgMDk6MTc6MDggLTA0MDAgIFhhdmllciBDbGFlc3NlbnMgPHhhdmllci5jbGFlc3NlbnNAY29sbGFib3JhLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuaDoKCSAgc291cGh0dHBzcmM6IEFkZCBHVGxzSW50ZXJhY3Rpb24gcHJvcGVydHkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MDcwOQoKMjAxNS0xMi0xNCAwOTowNTowNiAtMDUwMCAgRXZhbiBDYWxsYXdheSA8ZXZhbi5jYWxsYXdheUBpcGNvbmZpZ3VyZS5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IFJldHJ5IGNvbm5lY3Rpb24gaWYgdHVubmVsaW5nIG5lZWRzIGF1dGhlbnRpY2F0aW9uCgkgIExldmVyYWdlIHJlc3BvbnNlIGZyb20gZ3N0X3J0c3BfY29ubmVjdGlvbl9jb25uZWN0X3dpdGhfcmVzcG9uc2UgdG8KCSAgZGV0ZXJtaW5lIGlmIHRoZSBjb25uZWN0aW9uIHNob3VsZCBiZSByZXRyaWVkIHVzaW5nIGF1dGhlbnRpY2F0aW9uLiAgSWYKCSAgc28sIGFkZCB0aGUgYXBwcm9wcmlhdGUgYXV0aGVudGljYXRpb24gaGVhZGVycyBiYXNlZCB1cG9uIHRoZSByZXNwb25zZQoJICBhbmQgcmV0cnkgdGhlIGNvbm5lY3Rpb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDk1OTYKCjIwMTUtMTItMTQgMTQ6MTk6MDUgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGNoZWNrIHBvcnQtcmFuZ2UgZm9ybWF0CgkgIFRoZSBzdHJpbmcgY291bGQgZXhpc3QgYnV0IHdpdGggYSB3cm9uZyBmb3JtYXQsIGluIHRoYXQgY2FzZSB3ZSBzdGlsbCB3YW50CgkgIHRvIHJlc2V0IHRoZSB2YWx1ZXMgb2YgY2xpZW50X3BvcnRfcmFuZ2UubWluIGFuZCBtYXggbGlrZSB3ZSBkbyBpZiB0aGVyZSBpcwoJICBubyBzdHJpbmcuCgkgIENJRCAxMTM5NTkzCgoyMDE1LTEyLTE0IDE0OjU1OjEyICswMTAwICBUaG9tYXMgUm9vcyA8dGhvbWFzLnJvb3NAaW5kdXN0cm9uaWMuZGU+CgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkgIGRpcmVjdHNvdW5kc2luazogQ2hlY2sgZGV2aWNlIHByb3BlcnR5IGFuZCBmYWlsIGlmIGRldmljZSBjYW4ndCBiZSBmb3VuZAoJICBEb24ndCB1c2UgZGVmYXVsdCBpZiBhIHNwZWNpZmljIGRldmljZSBpcyBzZXQgYnV0IGl0IGNhbid0IGJlIGZvdW5kLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU5NDUyCgoyMDE1LTEyLTE0IDE0OjE1OjAwICswMTAwICBUaG9tYXMgUm9vcyA8dGhvbWFzLnJvb3NAaW5kdXN0cm9uaWMuZGU+CgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkgIGRpcmVjdHNvdW5kc2luazogRml4IGhhbmRsaW5nIG9mIHRoZSBtdXRlIHByb3BlcnR5CgkgIC0gc2V0IG11dGUgdmFsdWUgYXQgc3RhcnR1cAoJICAtIGNvcnJlY3Qgc2V0IGFuZCBnZXQgbXV0ZSBmdW5jdGlvbnMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NTEwNgoKMjAxNS0xMi0xMSAxMToyMzoxMyArMDEwMCAgVGhvbWFzIFJvb3MgPHRob21hcy5yb29zQGluZHVzdHJvbmljLmRlPgoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJICBkaXJlY3Rzb3VuZHNpbms6IENoZWNrIHRoZSByZXR1cm4gdmFsdWUgb2YgR2V0U3RhdHVzKCkgdG9vIHRvIGRlY2lkZSBpZiB0aGVyZSB3YXMgYW4gZXJyb3IKCSAgSWYgR2V0U3RhdHVzKCkgZmFpbHMsIHRoZSBzdGF0dXMgaXRzZWxmIHdvbid0IGJlIHZlcnkgbWVhbmluZ2Z1bCBidXQgd2UgYWxzbwoJICBoYXZlIHRvIGxvb2sgYXQgaXRzIHJldHVybiB2YWx1ZS4gVGhpcyBmaXhlcyBibG9ja2luZyBwaXBlbGluZXMgd2hlbiByZW1vdmluZwoJICBzb3VuZCBkZXZpY2VzIG9yIGR1cmluZyBvdGhlciBlcnJvcnMsIHdoZXJlIHdlIHdvdWxkbid0IG5vdGljZSB0aGUgZXJyb3IgYW5kCgkgIHRoZW4gd2FpdCBmb3JldmVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM0MDk4CgoyMDE1LTEyLTEwIDE3OjQxOjQ2ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9hdG9tcy5jOgoJKiBnc3QvaXNvbXA0L2F0b21zLmg6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgaXNvbXA0OiByZW1vdmUgdW51c2VkIHBhcmFtZXRlcnMgaW4gYnVpbGRfKl9leHRlbnNpb24KCSAgQXRvbVRSQUsgcGFyYW1ldGVyIGlzIG5vdCB1c2VkIGJ5IGJ1aWxkX21vdl9hbGFjX2V4dGVuc2lvbigpLAoJICBidWlsZF9qcDJoX2V4dGVuc2lvbigpLCBvciBidWlsZF9tb3ZfYWxhY19leHRlbnNpb24oKSAgYW5kIGNhbiBiZQoJICByZW1vdmVkLgoKMjAxNS0xMi0xMCAxNToxMTowNyArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgaXNvbXA0OiByZXBsYWNlIHZhcmlhYmxlIG9ubHkgdXNlZCBvbmNlCgkgIFJlcGxhY2UgaGFzX3NoaWZ0IHZhcmlhYmxlIHdpdGggdmFsdWUgc2luY2UgaXQgaXMgb25seSB1c2Ugb25jZS4KCjIwMTUtMTItMDkgMTI6MjQ6MDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBGaXggcGFja2V0IGRyb3BwaW5nIGFmdGVyIGEgYmlnIGRpc2NvbnQKCSAgV2Ugd291bGQgcXVldWUgNSBjb25zZWN0aXZlIHBhY2tldHMgYmVmb3JlIGNvbnNpZGVyaW5nIGEgcmVzZXQgYW5kIGEgcHJvcGVyCgkgIGRpc2NvbnQgaGVyZS4gSW5zdGVhZCBvZiBleHBlY3RpbmcgdGhlIG5leHQgb3V0cHV0IHBhY2tldCB0byBoYXZlIHRoZSBjdXJyZW50CgkgIHNlcW51bSAoaS5lLiB0aGUgZmlmdGgpLCBleHBlY3QgaXQgdG8gaGF2ZSB0aGUgZmlyc3Qgc2VxbnVtLiBPdGhlcndpc2Ugd2UncmUKCSAgZ29pbmcgdG8gZHJvcCBhbGwgcXVldWVkIHVwIHBhY2tldHMuCgoyMDE1LTEyLTA5IDExOjQ5OjAyICswNTMwICBSYXZpIEtpcmFuIEsgTiA8cmF2aS5raXJhbkBzYW1zdW5nLmNvbT4KCgkqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuaDoKCSAgaW50ZXJsZWF2ZTogUmVtb3ZlIHVuc2VkIGZpZWxkCgkgIFJlbW92ZSB1bnVzZWQgZmllbGQgY29sbGVjdF9ldmVudCBpbiBpbnRlcmxlYXZlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU5MjI2CgoyMDE1LTEyLTA3IDE2OjMzOjE0ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IFN0b3AgcHVzaGluZyBkYXRhIGFzIHNvb24gYXMgcG9zc2libGUgaW4gcHVzaC1tb2RlCgkgIFdoZW4gd29ya2luZyBpbiBwdXNoLW1vZGUsIHdlIGF0dGVtcHQgdG8gcHVzaCBvdXQgZXZlcnl0aGluZyBjdXJyZW50bHkKCSAgYnVmZmVyZWQgaW4gdGhlIGFkYXB0ZXIuCgkgIFRoaXMgaGFzIHR3byBwaXRmYWxsczoKCSAgKiBXZSBjb3VsZCBzdG9wIGVhcmxpZXIgKHRoZSBtb21lbnQgd2UgZ2V0IGEgbm9uLW9rIG9yIG5vbi1ub3QtbGlua2VkKQoJICAqIFdlIHJldHVybiB0aGUgbGFzdCBjb21iaW5lZCBmbG93IHJldHVybiwgd2hpY2ggbWlnaHQgYmUgY29tcGxldGVseQoJICBkaWZmZXJlbnQgZnJvbSB0aGUgcHJldmlvdXMgY29tYmluZWQgZmxvdyByZXR1cm4KCjIwMTUtMTItMDcgMDk6MDg6MDkgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogYXV0b2dlbi5zaDoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBiMzE5OTA5IHRvIDg2ZTQ2NjMKCjIwMTUtMTItMDcgMTQ6NDE6NTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IEFkZCBhIHdhcm5pbmcgaWYgYW4gZW1wdHkgUlRDUCBwYWNrZXQgaXMgdHJpZWQgdG8gYmUgc2VudAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU5MTE5CgoyMDE1LTExLTMwIDE5OjIwOjEzIC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC92cHgvZ3N0dnA4ZGVjLmM6CgkqIGV4dC92cHgvZ3N0dnA4ZGVjLmg6CgkqIGV4dC92cHgvZ3N0dnA5ZGVjLmM6CgkqIGV4dC92cHgvZ3N0dnA5ZGVjLmg6CgkgIHZweGRlYzogVXNlIEdzdE1lbW9yeSB0byBhdm9pZCBjb3BpZXMKCSAgV2l0aCB0aGUgVlBYIGRlY29kZXJzIGl0J3Mgbm90IHNpbXBsZSB0byB1c2UgZG93bnN0cmVhbSBidWZmZXIgcG9vbCwKCSAgYmVjYXVzZSB3ZSBkb24ndCBrbm93IHRoZSBpbWFnZSBzaXplIGFuZCBhbGlnbm1lbnQgd2hlbiBidWZmZXJzIGdldAoJICBhbGxvY2F0ZWQuIFdlIGNhbiB0aG91Z2ggdXNlIEdzdEFsbG9jYXRvciAoZm9yIGRvd25zdHJlYW0sIG9yIHRoZSBzeXN0ZW0KCSAgYWxsb2NhdG9yKSB0byBhdm9pZCBhIGNvcHkgYmVmb3JlIHB1c2hpbmcgaWYgZG93bnN0cmVhbSBzdXBwb3J0cwoJICBHc3RWaWRlb01ldGEuIFRoaXMgd291bGQgc3RpbGwgY2F1c2UgYSBjb3B5IGZvciBzaW5rIHRoYXQgcmVxdWlyZXMKCSAgc3BlY2lhbGl6ZWQgbWVtb3J5IGFuZCBkb2VzIG5vdCBoYXZlIGEgR3N0QWxsb2NhdG9yIGZvciB0aGF0LCB0aG91Z2gKCSAgaXQgd2lsbCBncmVhdGx5IGltcHJvdmUgcGVyZm9ybWFuY2UgZm9yIHNpbmsgbGlrZSBnbGltYWdlc2luayBhbmQKCSAgY2x1dHRlcnNpbmsuIFRvIGF2b2lkIGFsbG9jYXRpbmcgZm9yIGV2ZXJ5IGJ1ZmZlciwgd2UgYWxzbyB1c2UgYQoJICBpbnRlcm5hbCBidWZmZXIgcG9vbC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTM3MgoKMjAxNS0xMS0zMCAwODo0MjozNSArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSAgYWFjcGFyc2U6IEF2b2lkIG92ZXItc2tpcHBpbmcgd2hlbiBjaGVja2luZyBMT0FTIGNvbmZpZwoJICBUaGVyZSBtaWdodCBiZSBtdWx0aXBsZSBMT0FTIGNvbmZpZyBpbiBhIHJvdyBpbiBhIGZ1bGwgZnJhbWUuIFRoZSBmaXJzdAoJICBvbmUgbWlnaHQgYmUgYSBtdWx0aS1sYXllciBjb25maWcgKHdoaWNoIHdlIGNhbid0IHByb3Blcmx5IHBhcnNlIHlldCkuLi4KCSAgYnV0IHRoZW4gZm9sbG93ZWQgYnkgYSB2YWxpZCAoc2luZ2xlLWxheWVyKSBvbmUuCgkgIFRoZSBjb2RlIHdhcyBwcmV2aW91c2x5IHNraXBwaW5nIHdob2xlIGZyYW1lcyAoaW5zdGVhZCBvZiBqdXN0IHRoZSBMT0FTCgkgIGNvbmZpZyB3ZSBmYWlsZWQgdG8gcmVhZCkgcmVzdWx0aW5nIGluIG11bHRpcGxlIGZyYW1lcyAoc2VlbiB1cCB0byA2cyBpbgoJICBzb21lIHNpdHVhdGlvbikgYmVpbmcgZHJvcHBlZCBiZWZvcmUgZmluYWxseSBnZXR0aW5nIHRoZSBjb25maWd1cmF0aW9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU4ODI2CgoyMDE1LTExLTI1IDE3OjA4OjU2ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogUHJvcGVybHkgc2V0IFNQQVJTRSBzdHJlYW0gZmxhZ3MgZm9yIHN1YnBpY3R1cmUvc3VidGl0bGUKCSAgQW5kIHdoaWxlIHdlJ3JlIGF0IGl0LCBhbHNvIGRldGVjdCAnRFhTQScgYXMgYmVpbmcgYSB2YXJpYW50IGZvdXJjYwoJICBvZiAnRFhTQicgZm9yIFhTVUIKCjIwMTUtMTEtMzAgMjE6MjM6NTIgLTA4MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NvdXBodHRwc3JjLmM6CgkgIHRlc3RzOiBzb3VwaHR0cHNyYzogZ3JhbW1hciBmaXgKCjIwMTUtMTEtMzAgMjE6MDE6MTcgLTA4MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NvdXBodHRwc3JjLmM6CgkgIHRlc3RzOiBzb3VwaHR0cHNyYzogc3dpdGNoIHNob3V0Y2FzdCBzdHJlYW0gcHJvdmlkZXIKCSAgRml4ZXMgZmFpbGluZyBJQ1kgdGVzdC4gUHJldmlvdXMgcHJvdmlkZXIgaGFzCgkgIHN0cmVhbWluZyBkaXNhYmxlZCBvdXRzaWRlIFVLLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU4MTE0CgoyMDE1LTExLTE4IDE2OjEwOjExICswMTAwICBNaWNoYWVsIE9sYnJpY2ggPG0ub2xicmljaEBwZW5ndXRyb25peC5kZT4KCgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkgIGF2aW11eDogZG9uJ3QgY3Jhc2ggaWYgd2UgbmV2ZXIgZ290IGF1ZGlvIGNhcHMgYmVmb3JlIHN0b3BwaW5nCgkgIGF1ZHMuYmxvY2thbGlnbiBpcyBzZXQgb25jZSB0aGUgZmlyc3QgY2FwcyBhcnJpdmUuIElmCgkgIGdzdF9hdmlfbXV4X3N0b3BfZmlsZSgpIGlzIGNhbGxlZCBiZWZvcmUgdGhpcyBoYXBwZW5zIHRoZW4gYXVkcy5ibG9ja2FsaWduCgkgIGlzIHplcm8gYW5kIGdzdF9hdmlfbXV4X2F1ZHNpbmtfc2V0X2ZpZWxkcygpIGNhdXNlIGEgY3Jhc2g6CgkgIFsuLi5dCgkgIGF2aXBhZC0+cGFyZW50Lmhkci5yYXRlID0gYXZpcGFkLT5hdWRzLmF2X2JwcyAvIGF2aXBhZC0+YXVkcy5ibG9ja2FsaWduOwoJICBbLi4uXQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU4OTEyCgoyMDE1LTEyLTAxIDE4OjIwOjIzICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDJidWZmZXJwb29sOiBkb24ndCBibG9jayB3aGVuIHJlc3VyZWN0aW5nIGEgYnVmZmVyCgkgIFdoZW4gd2UgYXJlIHJlc3VyZWN0aW5nIGEgYnVmZmVyLCBkb24ndCBibG9jay4gaW5zdGVhZCBsZXQgdXMgY29weSBhCgkgIGJ1ZmZlci4KCjIwMTUtMTItMDEgMDA6MzA6MDggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICB3YXZwYXJzZTogcmVtb3ZlIGV4dHJhIHZhcmlhYmxlIHRvIGltcHJvdmUgcmVhZGFiaWxpdHkKCSAgTWFrZXMgaXQgZWFzaWVyIHRvIHNlZSB0aGF0IHRoZSBldmVudCBpcyBiZWluZyByZXBsYWNlZC91bnJlZmVkCgoyMDE1LTEyLTAxIDAwOjIyOjM2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgd2F2cGFyc2U6IHJlc3BlY3Qgc2VxbnVtIGluIHNlZWsgZXZlbnRzCgkgIFByb3BhZ2F0ZSB0aGUgb3JpZ2luYWwgc2VlayBzZXFudW0gdG8gZXZlbnRzIG9yaWdpbmF0ZWQgZnJvbQoJICBzZWVraW5nIHRvIG1ha2Ugc3VyZSB0aGV5IGhhdmUgdGhlIHNhbWUgdmFsdWUKCjIwMTUtMTItMDEgMDA6MDM6MjEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICB3YXZwYXJzZTogZmx1c2ggdXBzdHJlYW0gd2hlbiBzZWVraW5nIGluIHB1bGwgbW9kZQoJICBNYWtlcyBzdXJlIHVwc3RyZWFtIHdpbGwgdW5ibG9jayBhbmQgcmV0dXJuIHRoZSB0aHJlYWQgc28gdGhhdAoJICBzZWVraW5nIGNhbiBjb250aW51ZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU4ODYxCgoyMDE1LTExLTI3IDA5OjI3OjI5ICswMTAwICBBbnRvbiBCb25kYXJlbmtvIDxhbnRvbmJvQGF4aXMuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkgIHJ0cGgyNjRwYXk6IGFkZCAic2VuZCBTUFMvUFBTIHdpdGggZXZlcnkga2V5IGZyYW1lIiBtb2RlCgkgIEl0J3Mgbm90IGVub3VnaCB0byBoYXZlIHRpbWVvdXQgb3IgZXZlbnQgYmFzZWQgU1BTL1BQUyBpbmZvcm1hdGlvbiBzZW50CgkgIGluIFJUUCBwYWNrZXRzLiBUaGVyZSBhcmUgc29tZSBzY2VuYXJpb3Mgd2hlbiBrZXkgZnJhbWVzIG1heSBhcHBlYXIKCSAgbW9yZSBmcmVxdWVudGx5IHRoYW4gb25jZSBhIHNlY29uZCwgaW4gd2hpY2ggY2FzZSB0aGUgbWluaW11bSB0aW1lb3V0CgkgIGZvciAiY29uZmlnLWludGVydmFsIiBvZiAxIHNlY29uZCBmb3Igc2VuZGluZyBTUFMvUFBTIGlzIG5vdCBzdWZmaWNpZW50LgoJICBJdCBtaWdodCBhbHNvIGJlIGRlc2lyYWJsZSBpbiBnZW5lcmFsIHRvIG1ha2Ugc3VyZSB0aGUgU1BTL1BQUyBpcwoJICBhdmFpbGFibGUgd2l0aCBldmVyeSBrZXlmcmFtZSAocGFja2V0IGxvc3MgYXNpZGUpLCBzbyByZWNlaXZlcnMgY2FuCgkgIGFjdHVhbGx5IHBpY2sgdXAgZGVjb2RpbmcgaW1tZWRpYXRlbHkgZnJvbSB0aGUgZmlyc3Qga2V5ZnJhbWUgaWYKCSAgU1BTL1BQUyBpcyBub3Qgc2lnbmFsZWQgb3V0IG9mIGJhbmQuCgkgIFRoaXMgcGF0Y2ggYWRkcyB0aGUgcG9zc2liaWxpdHkgdG8gc2VuZCBTUFMvUFBTIHdpdGggZXZlcnkga2V5IGZyYW1lLiBUaGlzCgkgIG1vZGUgY2FuIGJlIGVuYWJsZWQgYnkgc2V0dGluZyAiY29uZmlnLWludGVydmFsIiBwcm9wZXJ0eSB0byAtMS4gSW4gdGhpcwoJICBjYXNlIHRoZSBwYXlsb2FkZXIgd2lsbCBhZGQgU1BTIGFuZCBQUFMgYmVmb3JlIGV2ZXJ5IGtleSAoSURSKSBmcmFtZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1Nzg5MgoKMjAxNS0xMS0yNyAwOTowMzo1MSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwLXBheWxvYWRpbmcuYzoKCSAgcnRwaDI2NHBheTogY2hhbmdlIGNvbmZpZy1pbnRlcnZhbCBwcm9wZXJ0eSB0eXBlIGZyb20gdWludCB0byBpbnQKCSAgVGhpcyB3YXkgd2UgY2FuIHVzZSAtMSBhcyBzcGVjaWFsIHZhbHVlLCB3aGljaCBpcyBuaWNlciB0aGFuIE1BWFVJTlQuCgkgIFRoaXMgaXMgYmFja3dhcmRzIGNvbXBhdGlibGUgZXZlbiB3aXRoIHRoZSBHVmFsdWUgQVBJLCBhcyBzaG93biBieQoJICBhIHVuaXQgdGVzdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1Nzg5MgoKMjAxNS0xMS0yNiAyMTo0NjoxMSArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBhZGQgc3VwcG9ydCBmb3IgT3B1cwoJICBBZGQgc3VwcG9ydCBmb3IgZGVtdXhpbmcgT3B1cyBlbmNhcHN1bGF0ZWQgaW4gTVA0IGZpbGVzLCBiYXNlZCBvbiB0aGUKCSAgZm9sbG93aW5nIHNwZWM6IGh0dHBzOi8vd3d3Lm9wdXMtY29kZWMub3JnL2RvY3Mvb3B1c19pbl9pc29ibWZmLmh0bWwKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MjY0MwoKMjAxNS0xMS0yNSAyMjo0ODozMiArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiB1c2UgbWFjcm8gZm9yIGNvZGVjX25hbWUKCSAgVXNlIF9jb2RlYygpIG1hY3JvIGluc3RlYWQgb2YgZHVwbGljYXRpbmcgY29kZS4KCjIwMTUtMDMtMjUgMTY6MzI6NTUgKzAxMDAgIFBoaWxpcHAgWmFiZWwgPHAuemFiZWxAcGVuZ3V0cm9uaXguZGU+CgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9kZWMuYzoKCSAgdjRsMjogdmlkZW9kZWM6IGNob29zZSBmb3JtYXQgZnJvbSBjYXBzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzM4MjcKCjIwMTUtMDMtMjcgMTU6MDI6MzMgKzAxMDAgIFBoaWxpcHAgWmFiZWwgPHAuemFiZWxAcGVuZ3V0cm9uaXguZGU+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSAgdjRsMjogYWRkIGdzdF92NGwyX29iamVjdF9wcm9iZV9jYXBzCgkgIEFkZCBhIHZhcmlhbnQgb2YgZ3N0X3Y0bDJfb2JqZWN0X2dldF9jYXBzIHRoYXQgYnlwYXNzZXMgdGhlIHByb2JlZF9jYXBzIGNhY2hlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMzODI3CgoyMDE1LTExLTE5IDE3OjIwOjU1IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyLmM6CgkgIHY0bDItcHJvYmU6IFNraXAgZGV2aWNlcyB3aXRob3V0IHN1cHBvcnRlZCBmb3JtYXRzCgoyMDE1LTExLTEzIDEyOjM1OjU5IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy92NGwyL2dzdHY0bDIuYzoKCSAgdjRsMjogVHJhY2sgL2Rldi92aWRlbyogdG8gdHJpZ2dlcmVkIHJlcXVpcmVkIHByb2JlCgkgIElmIHNvbWV0aGluZyBpbiAvZGV2L3ZpZGVvKiBnZXQgYWRkZWQsIHJlbW92ZWQgb3IgcmVwbGFjZWQsIHdlIG5lZWQgdG8KCSAgcHJvYmUgdGhlIGRldmljZXMgYWdhaW4gaW4gb3JkZXIgdG8gZW5zdXJlIHRoZSBkeW5hbWljIGRldmljZXMgYXJlIHVwIHRvCgkgIGRhdGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTgwODUKCjIwMTUtMTEtMjUgMTQ6NTE6NDAgKzExMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBtYW5hZ2VyOiBydHBzZXNzaW9uOiBkb24ndCBzZW5kIGVtcHR5IFJUQ1AgcGFja2V0cwoJICBnZW5lcmF0ZV9ydGNwIGNhbiBwcm9kdWNlIGVtcHR5IHBhY2tldHMgd2hlbiByZWR1Y2VkIHNpemUgUlRDUCBpcyB0dXJuZWQgb24uCgkgIFNraXAgdGhlbSBzaW5jZSBpdCBkb2Vzbid0IG1ha2Ugc2Vuc2UgdG8gcHVzaCB0aGVtIGFuZCB0aGV5IGNhdXNlIGVycm9ycyB3aXRoCgkgIGVsZW1lbnRzIHRoYXQgZXhwZWN0IFJUQ1AgcGFja2V0cyB0byBjb250YWluIGRhdGEgKGxpa2Ugc3J0cGVuYykuCgoyMDE1LTExLTI0IDEwOjU3OjI4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogcmVzdG9yZSB0aGUgc2VnbWVudCBvbiBjYXNlIG9mIHNvZnQgcmVzZXQKCSAgV2hlbiBzZWVraW5nIGJhY2sgdG8gcmVzdG9yZSB0aGUgbWRhdCBwb3NpdGlvbiBhIGZsdXNoIGlzIHB1c2hlZAoJICB0aHJvdWdoIGFuZCBpdCByZXNldHMgZG93bnN0cmVhbSBzZWdtZW50IGluZm9ybWF0aW9uLiBNYWtlIHN1cmUKCSAgdGhhdCBhZnRlciB0aGUgZmx1c2ggKHRoYXQgZG9lcyBhIHNvZnQgcmVzZXQpIGEgc2VnbWVudCB3aWxsCgkgIGJlIHB1c2hlZCBhZ2FpbgoJICBGaXhlcyByZWdyZXNzaW9ucyBzcG90dGVkIGF0CgkgIGh0dHBzOi8vY2kuZ3N0cmVhbWVyLm5ldC9qb2IvR1N0cmVhbWVyLW1hc3Rlci12YWxpZGF0ZS8yMTAwLwoKMjAxNS0xMS0yMCAxMjo0NDoyMiArMDAwMCAgR3JhaGFtIExlZ2dldHQgPG1pbmZyaW5Ac2hhcnAuZm0+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSAgbXVsdGlmaWxlc2luazogZml4IHNwZWxsaW5nIG9mIHZhcmlhYmxlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTgzOTAKCjIwMTUtMTEtMjAgMTE6MDU6NTEgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L2ZvdXJjYy5oOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogdW5pdGUgZHVwbGljYXRlIEZvdXJDQwoJICBVbml0ZSBpbiBmb3VyY2MuaCB0aGUgRm91ckNDcyB0aGF0IGFyZSB1c2VkIHR3aWNlIG9yIG1vcmUgaW4gcXRkZW11eAoKMjAxNS0xMS0xOSAxNTozMzo0NSAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnRyYW5zZm9ybS5jOgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9kZWMuYzoKCSAgdjRsMjogRml4IGNhcHR1cmUvb3V0cHV0LWlvLW1vZGUgcHJvcGVydGllcwoJICBUaGVyZSB3YXMgc29tZSBtaXNzLW1hdGNoIGluIHRoZSBpbXBsZW1lbnRhdGlvbi4gVGhpcyBtYWtlcyBpdAoJICBjb25jaXN0ZW50LCB0aG91Z2ggZnVuY3Rpb25hbGx5IGl0IHdvcmtlZCwgZXhjZXB0IHRoZSB2aWRlbyBkZWNvZGVyCgkgIG91dHB1dC1pby1tb2RlIGdldHRlci4KCjIwMTUtMTEtMTkgMTk6NDg6MDYgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L2F0b21zLmM6CgkgIGF0b21zOiByZW1vdmUgdW51c2VkIGFyZ3VtZW50IG9mIGJ1aWxkX21vdl93YXZlX2V4dGVuc2lvbigpCgkgIEF0b21UcmFrICogdHJhayBhcmd1bWVudCBvZiBidWlsZF9tb3ZlX3dhdmVfZXh0ZW5zaW9uKCkgaXNuJ3QgdXNlZC4KCSAgUmVtb3ZpbmcgaXQuCgoyMDE1LTExLTE5IDE5OjI4OjIwICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9mb3VyY2MuaDoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHJlbW92ZSBkdXBsaWNhdGUgRm91ckNDCgkgIFVzZSB0aGUgYXZhaWxhYmxlIEZvdXJDQ3MgaW4gZm91cmNjLmggaW5zdGVhZCBvZiBkdXBsaWNhdGluZyB0aGVtLgoKMjAxNS0xMS0xOSAxODozNjozOSArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvYXRvbXMuYzoKCSogZ3N0L2lzb21wNC9mb3VyY2MuaDoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBpc29tcDQ6IGNlbnRyYWxpemUgYWxsIEZvdXJDQwoJICAxMCBGb3VyQ0NzIGdlbmVyYXRlZCB3aXRoIEdTVF9NQUtFX0ZPVVJDQygpIGluIGdzdHF0bXV4LmMgYW5kIGF0b21zLmMKCSAgYWxyZWFkeSBleGlzdCBpbiBmb3VyY2MuaC4gRG9uJ3QgZHVwbGljYXRlIHRoZXNlIGFuZCB1c2UgdGhlbSBkaXJlY3RseS4KCSAgUGx1cyBtb3ZpbmcgNiB0byBmb3VyY2MuaCwgdG8gY2VudHJhbGl6ZSB0aGVtIGFsbC4KCjIwMTUtMTEtMTkgMTc6MzI6MTIgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvbWF0cm9za2Evd2VibS1tdXguYzoKCSAgbWF0cm9za2Evd2VibW11eDogZml4IG91dGRhdGVkIGV4YW1wbGUgbGF1bmNoIGxpbmVzCgkgIFVwZGF0ZSBnc3QtbGF1bmNoLTAuMTAgbGluZXMgdG8gZ3N0LWxhdW5jaC0xLjAKCjIwMTUtMTEtMTYgMTM6MjY6NTAgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L2F0b21zLmM6CgkqIGdzdC9pc29tcDQvYXRvbXMuaDoKCSogZ3N0L2lzb21wNC9mb3VyY2MuaDoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4bWFwLmM6CgkgIGlzb21wNDogYWRkIHN1cHBvcnQgZm9yIE9wdXMgaW4gbXA0bXB1eAoJICBBZGQgc3VwcG9ydCBmb3IgbXV4aW5nIE1QNCBmaWxlcyBjb250YWluaW5nIE9wdXMuIEJhc2VkIG9uIHRoZSBzcGVjCgkgIGRldGFpbGVkIGhlcmU6CgkgIGh0dHBzOi8vd3d3Lm9wdXMtY29kZWMub3JnL2RvY3Mvb3B1c19pbl9pc29ibWZmLmh0bWwKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MjY0MwoKMjAxNS0xMS0xOCAxOToxMDo1NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBSZXBsYWNlIHRhYnMgd2l0aCBzcGFjZXMKCjIwMTUtMTEtMTggMTk6MDc6NTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogQ2FzdCB0byBzaWduZWQgaW50ZWdlcnMgdG8gcHJldmVudCB1bnNpZ25lZCBjb21wYXJlIGJldHdlZW4gbmVnYXRpdmUgYW5kIHBvc2l0aXZlIG51bWJlcnMKCSAgVGhpcyBmaXhlcyBzZWVraW5nIGlmIHRoZSBmaXJzdCBlbnRyaWVzIGluIHRoZSBzYW1wbGVzIHRhYmxlIGFyZSBuZWdhdGl2ZS4gVGhlCgkgIGJpbmFyeSBzZWFyY2ggd291bGQgYWx3YXlzIGZhaWwgb24gdGhpcyBhcyB0aGUgYXJyYXkgd291bGQgbm90IGJlIHNvcnRlZCBpZgoJICBpbnRlcnByZXRpbmcgdGhlIG5lZ2F0aXZlIG51bWJlcnMgYXMgaHVnZSBwb3NpdGl2ZSBudW1iZXJzLiBUaGlzIGNhdXNlZCB1cyB0bwoJICBhbHdheXMgb3V0cHV0IGJ1ZmZlcnMgZnJvbSB0aGUgYmVnaW5uaW5nIGFmdGVyIGEgc2VlayBpbnN0ZWFkIG9mIGNsb3NlIHRvIHRoZQoJICBzZWVrIHBvc2l0aW9uLgoJICBBbHNvIGFkZCBhIGNhc2UgdG8gdGhlIGNvbXBhcmlzb24gZnVuY3Rpb24gZm9yIGVxdWFsaXR5LgoKMjAxNS0xMS0xOCAxNjowMTo0OCArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IHJlbW92ZSBkdXBsaWNhdGUgY2hlY2sKCSAgV2Ugd2FudCAxIG9yIDIgc3RyZWFtaGVhZGVycywgdGhlIGNoZWNrICBpZiAoYnVmYXJyLT5sZW4gIT0gMSAmJgoJICBidWZhcnItPmxlbiAhPSAyKSBpcyBlbm91Z2guIE5vdCBuZWVkIHRvIGNoZWNrIGlmIGJ1ZmFyci0+bGVuIGlzIDw9IDAgb3IKCSAgPiAyNTUuCgoyMDE1LTExLTE4IDE0OjQ4OjM2ICswOTAwICBWaW5lZXRoIFRNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBjbGllbnRzaW5rLmM6CgkgIHNvdXBodHRwY2xpZW50c2luazogRml4IGVycm9yIGxlYWsgYW5kIGhhbmRsZSBlcnJvcgoJICBnX3RocmVhZF90cnlfbmV3IGFsbG93cyBmb3IgcG9zc2libGl0eSBvZiBmYWlsdXJlcy4gSW4gY2FzZSBpdCBmYWlscywKCSAgZXJyb3IgaXMgbm90IGhhbmRsZWQgYW5kIGxlYWtlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1ODI2MAoKMjAxNS0xMS0xNSAxNzoxNjoyOSAtMDgwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBnc3RkZXBheS5jOgoJICBydHBnc3RkZXBheTogUHJvcGVybHkgaGFuZGxlIGJhY2t3YXJkIGNvbXBhdCBmb3IgZXZlbnQgZGVzZXJpYWxpemF0aW9uCgkgIEFjdHVhbCBjb2RlIGlzIGNoZWNraW5nIGZvciBhIE5VTEwgdGVybWluYXRvciBhbmQgYSAnOycgdGVybWluYXRvciwKCSAgZm9yIGJhY2t3YXJkIGNvbXBhdCwgaW4gYSBjaGFpbmVkIHdheSB0aGF0IGNhdXNlIGFsbCBldmVudHMgYmVpbmcgcmVqZWN0ZWQuCgkgIFRoZSBwcm9wZXIgY29uZGl0aW9uIGlzIHRvIHJlamVjdCB0aGUgZXZlbnRzIHdoZW4gdGVybWluYXRvciBpc24ndAoJICBpbiBbJ1wwJywgJzsnXSBzZXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTgxNTEKCjIwMTUtMTEtMTUgMTc6MTE6MDIgLTA4MDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cC1wYXlsb2FkaW5nLmM6CgkgIHRlc3RzOiBydHAtcGF5bG9hZGluZzogVGVzdCBmb3IgaGFuZGxpbmcgb2YgY3VzdG9tIGV2ZW50cyBpbiBydHBnc3QKCSAgQWRkIGEgc2ltcGxlIHRlc3QgdGhhdCBjaGVja3MgcHJvcGVyIHNlcmlhbGl6YXRpb24vZGVzZXJpYWxpemF0aW9uCgkgIG9mIGN1c3RvbSBldmVudHMgd2l0aCBydHBnc3RwYXkgYW5kIHJ0cGdzdGRlcGF5LgoKMjAxNS0xMS0xNiAxNjoyMzo0MyAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3ZweC9nc3R2cDhkZWMuYzoKCSogZXh0L3ZweC9nc3R2cDlkZWMuYzoKCSAgdnB4ZGVjOiBVc2UgdGhyZWFkcyBvbiBtdWx0aS1jb3JlIHN5c3RlbXMKCSAgVGhpcyBhZGRzIGFuIGF1dG9tYXRpYyBtb2RlIHRvIHRoZSB0aHJlYWRzIHByb3BlcnR5IG9mIHZweGRlYyBpbiBvcmRlciB0bwoJICB1c2UgYXMgbWFueSB0aHJlYWRzIGFzIHRoZXJlIGlzIENQVSBvbiB0aGUgcGxhdGZvcm0uIFRoaXMgYnJpbmdzIGJhY2sKCSAgR1N0cmVhbWVyIFZQWCBkZWNvZGluZyBwZXJmb3JtYW5jZSBjbG9zZXIgdG8gd2hhdCBpcyBhY2hpZXZlZCBieSBvdGhlcgoJICBwbGF5ZXJzLCBpbmNsdWRpbmcgQ2hyb21pdW0uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTgxOTUKCjIwMTUtMTEtMTYgMTA6NTg6MzIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBvbmx5IHNlbmQgaW5pdGlhbCBnYXBzIGZvciBub24tZnJhZ21lbnRlZCBzdHJlYW1zCgkgIEl0IHdvdWxkIGJlIHVudXN1YWwgdG8gaGF2ZSB0aGUgaGVhZGVyIHNlZ21lbnQgd2l0aCBhbiAnZWR0cycgYXRvbQoJICBpbmRpY2F0aW5nIGdhcHMgYXQgdGhlIGJlZ2lubmluZyB3aGVuIGhhbmRsaW5nIGZyYWdtZW50ZWQgc3RyZWFtcy4KCSAgVGhlIGhlYWRlciB1c3VhbGx5IGRvZXNuJ3QgY29udGFpbiBhbnkgdGltZXN0YW1waW5nIGluZm9ybWF0aW9uLCB0aGlzCgkgIHNob3VsZCBjb21lIGZyb20gdGhlIHBsYXlsaXN0L21hbmlmZXN0IGFuZCB0aGUgc2VnbWVudHMgd2l0aCBtZWRpYQoJICBpbiB0aG9zZSBzY2VuYXJpb3MuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTgxNzEKCjIwMTUtMTEtMTcgMDk6NDE6MzQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBSZXZlcnQgIlJldmVydCAicXRkZW11eDogcmVzcGVjdCBxdCBzZWdtZW50cyBpbiBwdXNoLW1vZGUgZm9yIGVtcHR5IHN0YXJ0cyIiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgZDg0MmZmMjg4YTlkMDEyMTRhMDQ2YmVjYmZkOWNiZmYzYTRhY2VhMC4KCSAgVGhpcyB3YXMgcmV2ZXJ0ZWQgYnkgYWNjaWRlbnQKCjIwMTUtMTEtMTcgMTI6Mzk6MDUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5oOgoJICB1ZHBzcmM6IEFkZCAibG9vcCIgcHJvcGVydHkgZm9yIGVuYWJsaW5nL2Rpc2FibGluZyBtdWx0aWNhc3QgbG9vcGJhY2sKCSAgT24gUE9TSVgsIElQX01VTFRJQ0FTVF9MT09QIGlzIGEgc2V0dGluZyBmb3IgdGhlIHNlbmRlciBzb2NrZXQuIE9uIFdpbmRvd3MgaXQKCSAgaXMgYSBzZXR0aW5nIGZvciB0aGUgcmVjZWl2ZXIgc29ja2V0LiBBcyBzdWNoIHdlIHdpbGwgbmVlZCBpdCBvbiB1ZHBzcmMgdG9vIHRvCgkgIGFsbG93IGZpbHRlcmluZyBvdXQgb3VyIG93biBtdWx0aWNhc3QgcGFja2V0cy4KCjIwMTUtMTEtMTYgMTM6NTI6MDUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgUmV2ZXJ0ICJxdGRlbXV4OiByZXNwZWN0IHF0IHNlZ21lbnRzIGluIHB1c2gtbW9kZSBmb3IgZW1wdHkgc3RhcnRzIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDE0MmQ4ZTJkMjNlNTYwMmU3MzgyOTc3YWYxMDQzZDYyMTYyNWY4YzguCgoyMDE1LTExLTE2IDE2OjU2OjA0ICswOTAwICBWaW5lZXRoIFRNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEZpeCBzdHJpbmcgbWVtb3J5IGxlYWsKCSAgVGhlIHN0cmluZyBnb3QgdXNpbmcgZ19zdHJkdXBfcHJpbnRmIHdpbGwgYmUgYWxsb2NhdGVkIG1lbW9yeQoJICBhbmQgc2hvdWxkIGJlIGZyZWVkIGFmdGVyIHVzZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1ODE2MQoKMjAxNS0xMS0xNCAyMTo1MToxMSAtMDgwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyL29iamVjdDogcmVtb3ZlIHVubmVjZXNzYXJ5IE5VTEwgY2hlY2sgYmVmb3JlIGdfZnJlZSgpCgoyMDE1LTExLTE0IDIxOjQ1OjI5IC0wODAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBzeXMvb3NzL2dzdG9zc3NyYy5jOgoJICBvc3NzcmM6IHJlbW92ZSB1bm5lY2Vzc2FyeSBOVUxMIGNoZWNrIGJlZm9yZSBnX2ZyZWUoKQoKMjAxNS0xMS0xNCAyMTo0MzoyNCAtMDgwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvc3JjLmM6CgkgIHN1bmF1ZGlvc3JjOiByZW1vdmUgdW5uZWNlc3NhcnkgTlVMTCBjaGVja3MgYmVmb3JlIGdfZnJlZSgpCgoyMDE1LTExLTE0IDIxOjM2OjMwIC0wODAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgd2F2cGFyc2U6IHJlbW92ZSB1bm5lY2Vzc2FyeSBOVUxMIGNoZWNrcyBiZWZvcmUgZ19mcmVlKCkKCjIwMTUtMTEtMTQgMjE6MzE6MDggLTA4MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IHJlbW92ZSB1bm5lY2Vzc2FyeSBOVUxMIGNoZWNrcyBiZWZvcmUgZ19mcmVlKCkKCjIwMTUtMTEtMTQgMjE6MjY6MjEgLTA4MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJICBtYXRyb3NrYS9yZWFkLWNvbW1vbjogcmVtb3ZlIHVubmVjZXNzYXJ5IE5VTEwgY2hlY2tzIGJlZm9yZSBnX2ZyZWUoKQoKMjAxNS0xMS0xNCAyMDo0MzoxMCAtMDgwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9hdG9tcy5jOgoJICBpc29tcDQvYXRvbXM6IHJlbW92ZSB1bm5lY2Vzc2FyeSBOVUxMIGNoZWNrcyBiZWZvcmUgZ19mcmVlKCkKCjIwMTUtMTEtMTQgMjA6MzU6NTQgLTA4MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhcGF5LmM6CgkgIHJ0cC90aGVvcmFwYXk6IHJlbW92ZSB1bm5lY2Vzc2FyeSBOVUxMIGNoZWNrcyBiZWZvcmUgZ19mcmVlKCkKCjIwMTUtMTEtMTQgMjA6MzM6NTQgLTA4MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzcGF5LmM6CgkgIHJ0cC92b3JiaXNwYXk6IHJlbW92ZSB1bm5lY2Vzc2FyeSBOVUxMIGNoZWNrcyBiZWZvcmUgZ19mcmVlKCkKCjIwMTUtMTEtMTQgMjA6MzE6MzQgLTA4MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwanBlZ3BheS5jOgoJICBydHAvanBlZ3BheTogcmVtb3ZlIHVubmVjZXNzYXJ5IE5VTEwgY2hlY2tzIGJlZm9yZSBnX2ZyZWUoKQoKMjAxNS0xMS0xNCAyMDoyNzowNCAtMDgwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBnc3RwYXkuYzoKCSAgcnRwZ3N0cGF5OiByZW1vdmUgdW5uZWNlc3NhcnkgTlVMTCBjaGVja3MgYmVmb3JlIGdfZnJlZSgpCgoyMDE1LTExLTE0IDIwOjIyOjA5IC0wODAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IHJlbW92ZSB1bm5lY2Vzc2FyeSBOVUxMIGNoZWNrcyBiZWZvcmUgZ19mcmVlKCkKCjIwMTUtMTEtMTQgMjA6MTQ6MjUgLTA4MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9mbHgvZ3N0Zmx4ZGVjLmM6CgkgIGZseGRlYzogcmVtb3ZlIHVubmVjZXNzYXJ5IE5VTEwgY2hlY2sgYmVmb3JlIGdfZnJlZSgpCgoyMDE1LTExLTE0IDIwOjA5OjU0IC0wODAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvZWZmZWN0di9nc3RvcC5jOgoJICBlZmZlY3R2L29wdHY6IHJlbW92ZSB1bm5lY2Vzc2FyeSBOVUxMIGNoZWNrcyBiZWZvcmUgZ19mcmVlKCkKCjIwMTUtMTEtMTQgMjA6MDU6MDMgLTA4MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9lZmZlY3R2L2dzdHNoYWdhZGVsaWMuYzoKCSAgZWZmZWN0di9zaGFnYWRlbGljdHY6IHJlbW92ZSB1bm5lY2Vzc2FyeSBOVUxMIGNoZWNrcyBiZWZvcmUgZ19mcmVlKCkKCjIwMTUtMTEtMTQgMjA6MDE6NDMgLTA4MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9lZmZlY3R2L2dzdHJpcHBsZS5jOgoJICBlZmZlY3R2L3JpcHBsZTogcmVtb3ZlIHVubmVjZXNzYXJ5IE5VTEwgY2hlY2tzIGJlZm9yZSBnX2ZyZWUoKQoKMjAxNS0xMS0xNCAxOTo1Njo1NyAtMDgwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2VmZmVjdHYvZ3N0cmFkaW9hYy5jOgoJICBlZmZlY3R2L3JhZGlvYWM6IHJlbW92ZSB1bm5lY2Vzc2FyeSBOVUxMIGNoZWNrcyBiZWZvcmUgZ19mcmVlKCkKCjIwMTUtMTEtMTQgMTk6NTI6MTIgLTA4MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9lZmZlY3R2L2dzdHN0cmVhay5jOgoJICBlZmZlY3R2L3N0cmVhazogcmVtb3ZlIHVubmVjZXNzYXJ5IE5VTEwgY2hlY2sgYmVmb3JlIGdfZnJlZSgpCgoyMDE1LTExLTE0IDE3OjA0OjU1IC0wODAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvc2hvdXQyL2dzdHNob3V0Mi5jOgoJICBzaG91dDI6IHJlbW92ZSB1bm5lY2Vzc2FyeSBOVUxMIGNoZWNrcyBiZWZvcmUgZ19mcmVlKCkKCjIwMTUtMTEtMTQgMTY6NTc6MTMgLTA4MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC92cHgvZ3N0dnA5ZW5jLmM6CgkgIHZwOWVuYzogcmVtb3ZlIHVubmVjZXNzYXJ5IE5VTEwgY2hlY2sgYmVmb3JlIGdfZnJlZSgpCgoyMDE1LTExLTE0IDE2OjU0OjQyIC0wODAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvdnB4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IHJlbW92ZSB1bm5lY2Vzc2FyeSBOVUxMIGNoZWNrIGJlZm9yZSBnX2ZyZWUoKQoKMjAxNS0xMS0xNCAxNjoyMDozMyAtMDgwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cGh0dHBzcmM6IHJlbW92ZSB1bm5lY2Vzc2FyeSBOVUxMIGNoZWNrcyBiZWZvcmUgZ19mcmVlKCkKCjIwMTUtMTEtMTMgMTM6MzQ6MDIgKzAxMDAgIEF1csOpbGllbiBaYW5lbGxpIDxhdXJlbGllbi56YW5lbGxpQHBhcnJvdC5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IGFkZCBzdXBwb3J0IG9mIE5WMTYsIE5WNjEgYW5kIE5WMjQgZm9ybWF0cwoJICBNYXBwZWQgcmVzcGVjdGl2ZWx5IHRvIFY0TDJfUElYX0ZNVF9OVjE2L1Y0TDJfUElYX0ZNVF9OVjE2TSwKCSAgVjRMMl9QSVhfRk1UX05WNjEsVjRMMl9QSVhfRk1UX05WNjFNIGFuZCBWNEwyX1BJWF9GTVRfTlYyNCB2NGwyIGZvcm1hdHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTgwNTgKCjIwMTUtMTEtMTEgMTQ6MTA6NTMgKzA5MDAgIFZpbmVldGggVE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4cGFydHJlYWRlci5jOgoJICBzcGxpdG11eHBhcnRyZWFkZXI6IEZpeCBHQ29uZCBsZWFrCgkgIGluYWN0aXZlX2NvbmQgaXMgbm90IGJlaW5nIGNsZWFyZWQgcmVzdWx0aW5nIGluIG1lbW9yeSBsZWFrLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU3OTI0CgoyMDE1LTA4LTA2IDEyOjQ0OjIwICswOTAwICBWaW5lZXRoIFRNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnZGVjOiBmaXggb3V0cHV0IHN0YXRlIG1lbW9yeSBsZWFrCgkgIFdoZW4ganBlZ19maW5pc2hfZGVjb21wcmVzcyBpcyBjYWxsZWQsIG91dHB1dCBzdGF0ZSByZWZlcmVuY2UgaXMgYmVpbmcgY3JlYXRlZC4KCSAgQnV0IGlmIHRoZXJlIGlzIGFueSBmYWlsdXJlcyBpbiBmaW5pc2hpbmcgZGVjb21wcmVzcywgaXQganVtcHMgdG8gc2V0am1wLAoJICBhbmQgYXQgdGhhdCBwb2ludCBzdGF0ZSB3YXMgbm90IHJlZmVyZW5jZWQuIFJlc3VsdGluZyBpbiBsZWFrIG9mIG91dHB1dCBzdGF0ZS4KCSAgSGVuY2UgYWRkaW5nIGFub3RoZXIgc2V0am1wIGFmdGVyIG91dHB1dCBzdGF0ZSBpcyByZWZlcmVuY2VkLgoJICBTaW1pbGFybHkgYWRkaW5nIGFub3RoZXIgc2V0am1wIHRvIHVubWFwIHRoZSBmcmFtZSBpbiBjYXNlIGVycm9yIGhhcHBlbnMgYmVmb3JlCgkgIGZpbmlzaF9kZWNvbXByZXNzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTMwODcKCjIwMTUtMDgtMTAgMTE6MjM6NDUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiByZXNwZWN0IHF0IHNlZ21lbnRzIGluIHB1c2gtbW9kZSBmb3IgZW1wdHkgc3RhcnRzCgkgIEluIHB1c2gtbW9kZSBpdCBpcyBoYXJkIHRvIHN1cHBvcnQgcXQgc2VnbWVudHMgb3ZlcmFsbCBidXQgaXQgaXMKCSAgcG9zc2libGUgdG8gc3VwcG9ydCB3aGVuIHRoZSBmaWxlIGlzbid0IGhlYXZpbHkgZWRpdGVkIGJ1dCBqdXN0IGNvbnRhaW4KCSAgYSBzZWdtZW50IHRvIGluZGljYXRlIGEgZ2FwIGF0IHRoZSBiZWdpbm5pbmcuIFRoaXMgYWxzbyBhbGxvd3MgcHJvcGVybHkKCSAgdGltZXN0YW1waW5nIGRhdGEgdGhhdCBoYXMgbmVnYXRpdmUgRFRTIGluIHB1c2gtbW9kZS4KCSAgSXQgaXMgcmVsZXZhbnQgdG8gc3VwcG9ydCB0aG9zZSBmb3IgMiBzY2VuYXJpb3M6CgkgIDEpIGZyYWdtZW50ZWQgc3RyZWFtaW5nCgkgIDIpIEhUVFAgcGxheWJhY2sgb2YgJ3JlZ3VsYXInIG1wNAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzNDg0CgoyMDE1LTExLTA1IDE4OjM5OjMzICswNTMwICBOaXJiaGVlayBDaGF1aGFuIDxuaXJiaGVla0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvcHVsc2UvcHVsc2VkZXZpY2Vwcm92aWRlci5jOgoJICBwdWxzZTogRG9uJ3QgbGVhayBjYXBzIGFuZCBzdHJ1Y3R1cmVzIGluIHRoZSBkZXZpY2UgcHJvdmlkZXIKCjIwMTUtMTEtMDQgMTk6MDE6MjAgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBtYW5hZ2VyOiBEb2N1bWVudCBwcm9wZXJ0aWVzIHRoYXQgYXJlIGV4cHJlc3NlZCBpbiBiaXRzIHBlciBzZWNvbmQKCSAgVGhpcyBjaGFuZ2VkIGluIDkyOGNkMTEwYmNlYTVkMTQzY2FiM2VhNzQ3OTkxODUxZDUyZWNiYWQgYW5kCgkgIDczYzBjMjkyMGY5YWNhOTY5ODJhNGRlMGMyMGIzNDE3YWExNDhiODEgYnV0IHdhcyBub3QgZG9jdW1lbnRlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0Nzg2MwoKMjAxNS0xMS0wNCAxODo1MTozMiArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwbWFuYWdlcjogVHJpdmlhbCBnc3QtaW5kZW50IGZpeGVzCgoyMDE1LTA4LTEyIDEzOjM1OjQwICswMjAwICBQaGlsaXBwZSBOb3JtYW5kIDxwaGlsbkBpZ2FsaWEuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5oOgoJICBxdGRlbXV4OiBzdXBwb3J0IGZvciBjZW5jIGF1eGlsaWFyeSBpbmZvIHBhcnNpbmcgb3V0c2lkZSBvZiBtb29mIGJveAoJICBXaGVuIHRoZSBjZW5jIGF1eCBpbmZvIGluZGV4IGlzIG91dCBvZiBtb29mIGJvdW5kYXJpZXMsIGtlZXAgdHJhY2sgb2YKCSAgaXQgYW5kIHBhcnNlIHRoZSBiZWdpbm5pbmcgb2YgdGhlIG1kYXQgYm94LCBiZWZvcmUgdGhlIGZpcnN0IHNhbXBsZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NTYxNAoKMjAxNS0xMS0wMyAyMDozMzoxMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBVc2UgY29kZWN1dGlscyBoZWxwZXJzIGZvciBjcmVhdGluZyBPcHVzIGNhcHMKCSAgQWxzbyBmaXggdXAgY29kZWMgZGF0YSB3aXRoIHZhbHVlcyBmcm9tIHRoZSBjb250YWluZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTcxNTIKCjIwMTUtMTEtMDMgMTQ6NTE6NDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogVGhlcmUgaXMgbm8gbXVsdGlzdHJlYW0gZmllbGQgZm9yIE9wdXMgYW55bW9yZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU3MTUyCgoyMDE1LTExLTAzIDEyOjQyOjUyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJKiBnc3QvbWF0cm9za2Evd2VibS1tdXguYzoKCSAgbWF0cm9za2Evd2VibW11eDogU3VwcG9ydCBPcHVzIGluIHdlYm1tdXggYW5kIFZQOSBpbiBtYXRyb3NrYW11eAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI5OTUwCgoyMDE1LTExLTAzIDEyOjQwOjE1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IFBhcnNlIGFuZCBoYW5kbGUgQ29kZWNEZWxheSwgU2Vla1ByZXJvbGwgYW5kIERpc2NhcmRQYWRkaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjczMDUKCjIwMTUtMTEtMDMgMTI6MTg6MTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmg6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IFdyaXRlIENvZGVjRGVsYXksIERpc2NhcmRQYWRkaW5nIGFuZCBTZWVrUHJlcm9sbCBmb3IgT3B1cwoJICBBbmQgYWxzbyBhZGp1c3QgdGltZXN0YW1wcyBhbmQgZHVyYXRpb25zIGFjY29yZGluZyB0byB0aGUgY29kZWMgZGVsYXksIGJvdGgKCSAgc2hvdWxkIGluY2x1ZGUgaXQgZm9yIHdoYXRldmVyIHJlYXNvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNzMwNQoKMjAxNS0xMS0wMyAxMTo0OTo1NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IE9wdXMgaGVhZGVycyBhcmUgbm90IGluLWJhbmQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNzMwNQoKMjAxNS0xMS0wMyAyMjowMTowNyArMDUzMCAgQXJ1biBSYWdoYXZhbiA8Z2l0QGFydW5yYWdoYXZhbi5uZXQ+CgoJKiBzeXMvdjRsMi9nc3R2NGwyLmM6CgkgIHY0bDI6IFNldCBPX0NMT0VYRUMgb24gdGhlIGRldmljZSBmZAoJICBUaGlzIGlzIG5lZWRlZCB0byBtYWtlIHN1cmUgdGhhdCBjaGlsZCBwcm9jZXNzZXMgZG9uJ3QgaW5oZXJpdCB0aGUgdmlkZW8KCSAgZGV2aWNlIGZkIHdoaWNoIGNhbiBjYXVzZSBwcm9ibGVtcyB3aXRoIHNvbWUgZHJpdmVycy4KCjIwMTUtMTEtMDMgMTQ6NDY6MzAgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwbWFuYWdlcjogc3dpdGNoIEdfR0lOVDY0X0ZPUk1BVCBmb3IgR1NUX1NUSU1FX0FSR1MKCSAgTm8gbmVlZCB0byB1c2UgR19HSU5UNjRfRk9STUFUIGZvciBwb3RlbnRpYWxseSBuZWdhdGl2ZSB2YWx1ZXMgb2YKCSAgR3N0Q2xvY2tUaW1lRGlmZi4gU2luY2UgMS42IHRoZXNlIGNhbiBiZSBoYW5kbGVkIHdpdGggR1NUX1NUSU1FX0FSR1MuCgkgIFBsdXMgaXQgY3JlYXRlcyBtb3JlIHJlYWRhYmxlIHZhbHVlcyBpbiB0aGUgbG9ncy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NzQ4MAoKMjAxNS0xMS0wMyAxNDoyNjoyOSArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJICBydHBtYW5hZ2VyOiB1c2UgR1NUX1NUSU1FX0FSR1MgZm9yIEdzdENsb2NrVGltZURpZmYKCSAgTm8gbmVlZCB0byBtYW51YWxseSBoYW5kbGUgbmVnYXRpdmUgdmFsdWVzIG9mIGRpZmYsIEdTVF9TVElNRV9BUkdTIGRvZXMKCSAgZXhhY3RseSB0aGlzLgoKMjAxNS0xMS0wMiAxNjo1MzoxNSArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIHZpZGVvbWl4ZXI6IHVzZSBHU1RfU1RJTUVfQVJHUyBmb3IgR3N0Q2xvY2tUaW1lRGlmZgoJICBObyBuZWVkIHRvIG1hbnVhbGx5IGhhbmRsZSBuZWdhdGl2ZSB2YWx1ZXMgb2YgZGlmZiwgR1NUX1NUSU1FX0FSR1MgZG9lcwoJICBleGFjdGx5IHRoaXMuCgoyMDE1LTExLTAyIDE2OjQzOjQ2ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiB1c2UgR1NUX1NUSU1FX0FSR1MgZm9yIEdzdENsb2NrVGltZURpZmYKCSAgTm8gbmVlZCB0byBtYW51YWxseSBoYW5kbGUgbmVnYXRpdmUgdmFsdWVzIG9mIGRpZmYsIEdTVF9TVElNRV9BUkdTIGlzCgkgIGF2YWlsYWJsZSBmb3IgdGhpcy4KCjIwMTUtMTAtMzAgMTA6MDU6MzcgKzA1MzAgIFJhdmkgS2lyYW4gSyBOIDxyYXZpLmtpcmFuQHNhbXN1bmcuY29tPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9jaGViYmFuZC5jOgoJICBhdWRpb2NoZWJiYW5kOiBGaXggdHlwbyBpbiBleGFtcGxlIHBpcGVsaW5lCgkgIEZpeCB0eXBvIGluIGV4YW1wbGUgcGlwZWxpbmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTczNDAKCjIwMTUtMTAtMjggMjM6NDc6MzAgKzA1MzAgIE5pcmJoZWVrIENoYXVoYW4gPG5pcmJoZWVrQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJkZXZpY2Vwcm92aWRlci5jOgoJICB2NGwyOiBmaXggZG91YmxlLXVucmVmIGluIHRoZSB2NGwyIGRldmljZSBwcm92aWRlcgoKMjAxNS0xMC0yNyAxMDo0ODowMCArMDEwMCAgTmljb2xhIE11cmlubyA8bmljb2xhLm11cmlub0BnbWFpbC5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmM6CgkgIG1hdHJvc2thbXV4OiBkb24ndCBkcm9wIEpQRUcgZnJhbWVzIHRoYXQgb25seSBoYXZlIFBUUyBidXQgbm8gRFRTIHNldAoJICBGb3IgdGhlIE1TL1ZmVyBjb2RlYyBpZHMsIHdlIHdhbnQgdG8gd3JpdGUgRFRTIHRpbWVzdGFtcHMgaW5zdGVhZAoJICBvZiBQVFMgYmVjYXVzZSB0aGF0J3Mgd2hhdCBldmVyeW9uZSBlbHNlIHNlZW1zIHRvIGRvIChhbmQgaXQncyBhbHNvCgkgIGhvdyBpdCBpcyBpbiBBVkkpLiBTbyBmb3IgdGhvc2UgaW5wdXQgZm9ybWF0cyB3ZSB1c2UgdGhlIGJ1ZmZlciBEVFMKCSAgaW5zdGVhZCBvZiB0aGUgUFRTLiBIb3dldmVyLCBpZiB0aGVyZSdzIG5vIERUUyBzZXQgYnV0IG9ubHkgdGhlIFBUUwoJICB0aGVuIGp1c3QgdGFrZSB0aGUgUFRTIGluc3RlYWQgb2YgZHJvcHBpbmcgdGhlIGlucHV0IGJ1ZmZlci4gVGhpcwoJICBpcyB1c2VmdWwgZXNwZWNpYWxseSBmb3IgSS1mcmFtZSBvbmx5IGNvZGVjcyBsaWtlIEpQRUcgYW5kIGh1ZmZ5dXYsCgkgIGJ1dCBzaG91bGQgYWxzbyBiZSBmaW5lIGFzIGZhbGxiYWNrIGluIGdlbmVyYWwuCgkgIEZpeGVzIHJlZ3Jlc3Npb24gd2l0aCBpbnB1dCBKUEVHIGZyYW1lcyB0aGF0IG9ubHkgaGF2ZSBQVFMgc2V0IG9uIHRoZW0uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTY5NjcKCjIwMTUtMTAtMjQgMjM6NTc6MzggKzAyMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zcGxpdG11eC5jOgoJICB0ZXN0cy9jaGVjay9zcGxpdG11eDogdGVzdCB0aGF0IHRoZSByZWxlYXNlX3BhZCB2ZnVuYyBvZiBzcGxpdG11eHNpbmsgYWN0dWFsbHkgcmVsZWFzZXMgcGFkcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzNjIyCgoyMDE1LTEwLTI0IDIzOjU3OjI5ICswMjAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNpbmsuYzoKCSAgc3BsaXRtdXhzaW5rOiBkbyBub3QgZGVzdHJveSB0aGUgbXVsdGlxdWV1ZSAmIG11eGVyIHdoZW4gZ29pbmcgdG8gTlVMTAoJICBJbnN0ZWFkLCBkZWxheSBpdCB1bnRpbCBhbGwgcmVxdWVzdCBwYWRzIGhhdmUgYmVlbiByZWxlYXNlZC4gVGhpcyBpcwoJICBiZWNhdXNlIHRoZSByZWxlYXNlX3BhZCgpIHZmdW5jIHJlcXVpcmVzIHRoZSBtdWx0aXF1ZXVlIGFuZCBtdXhlciB0bwoJICBiZSB0aGVyZSBpbiBvcmRlciB0byByZWxlYXNlIHRoZWlyIHJlcXVlc3QgcGFkcyBhcyB3ZWxsLiBJZiB0aG9zZQoJICBlbGVtZW50cyBhcmUgZGVzdHJveWVkIGVhcmxpZXIsIHJlbGVhc2VfcGFkKCkgZG9lcyBub3Qgd29yaywgbm8KCSAgcGFkcyBhcmUgcmVsZWFzZWQgYW5kIHNvbWUgcmVzb3VyY2VzIGFyZSBsZWFrZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTM2MjIKCjIwMTUtMTAtMjAgMTU6Mjg6MTAgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogUmVhZCBidWZmZXIgdGltZXN0YW1wICphZnRlciogYWN0dWFsbHkgc2V0dGluZyBpdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU2ODA5CgoyMDE1LTEwLTI0IDE3OjE0OjA3ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F1ZGlvZngvZ3N0c2NhbGV0ZW1wby5jOgoJKiBnc3QvYXVkaW9meC9nc3RzY2FsZXRlbXBvLmg6CgkgIHNjYWxldGVtcG86IEZpeCBoYW5kbGluZyBvZiByYXRlIDwgMAoJICBXZSBoYXZlIHRvIHJldmVyc2UgYWxsIHNhbXBsZXMgaW4gYSBidWZmZXIgYmVmb3JlIHByb2Nlc3NpbmcgdGhlbSB0byBwcm9wZXJseQoJICBoYXZlIGNvbnRpbnVvdXMgZGF0YSBmcm9tIG9uZSBidWZmZXIgdG8gYW5vdGhlci4gQXMgYSByZXN1bHQgd2Ugd2lsbCBoYXZlIGEKCSAgbmVnYXRpdmUgYXBwbGllZCByYXRlIGFuZCBhIHJhdGUgb2YgMS4wLgoJICBBbHNvIG1ha2Ugc3VyZSB0aGF0IGlucHV0IGJ1ZmZlcnMgYXJlIGNvcnJlY3RseSBjbGlwcGVkIHRvIHRoZSBzZWdtZW50LAoJICBvdGhlcndpc2Ugb3VyIGNhbGN1bGF0aW9ucyBhcmUgZ29pbmcgdG8gZ28gd3JvbmcuCgkgIEFsc28gY29weSBvdmVyIHRoZSBzZWdtZW50IGV2ZW50J3Mgc2VxdWVuY2UgbnVtYmVyIHRvIHRoZSBvdXRwdXQgc2VnbWVudCB3aGlsZQoJICB3ZSdyZSBhdCBpdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NzAzMwoKMjAxNS0xMC0xOSAxODowNDo1NiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBicmVhayBhcyBzb29uIGFzIG5vbi1pbnRlcmxhY2VkIGlmIGZvdW5kCgkgIEl0IGxvb2tzIGZvciBhIG5vbi1pbnRlcmxhY2VkIGVudHJ5IG9uIHRoZSBmaWx0ZXIgY2FwcywgYnJlYWsKCSAgYXMgc29vbiBhcyBvbmUgaXMgZm91bmQgdG8gYXZvaWQgd2FzdGluZyBjcHUKCjIwMTUtMTAtMTkgMTc6NTA6MjggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogaW1wbGVtZW50IGFjY2VwdC1jYXBzCgkgIEltcGxlbWVudCBhY2NlcHQtY2FwcyBoYW5kbGVyIHRvIGF2b2lkIGRvaW5nIGEgZnVsbCBjYXBzIHF1ZXJ5CgkgIGRvd25zdHJlYW0gdG8gaGFuZGxlIGl0LgoJICBUaGlzIGNvbW1pdCBpbXBsZW1lbnRzIGFjY2VwdC1jYXBzIGFzIGEgc2ltcGxpZmljYXRpb24gb2YgdGhlIF9nZXRjYXBzCgkgIGZ1bmN0aW9uLCBzbyBpdCBleHBvc2VzIHRoZSBzYW1lIGxpbWl0YXRpb25zIHRoYXQgZ2V0Y2FwcyB3b3VsZC4KCSAgRm9yIGV4YW1wbGUsIG5vdCBhY2NlcHRpbmcgcmVuZWdvdGlhdGlvbiB0byBjYXBzIHdpdGggY2Fwc2ZlYXR1cmVzIHdoZW4KCSAgaXQgd2FzIGxhc3QgY29uZmlndXJlZCB0byBhIGNhcHMgdGhhdCBpdCBoYXMgdG8gZGVpbnRlcmxhY2UuCgoyMDE1LTEwLTE5IDE3OjA2OjI4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kZWludGVybGFjZS5jOgoJICB0ZXN0czogZGVpbnRlcmxhY2U6IGZpeCBzbWFsbCB0eXBvIGluIGNvbW1lbnQKCjIwMTUtMTAtMjYgMDA6NDE6MjggKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvZmlsZXMvTWFrZWZpbGUuYW06CgkgIGNoZWNrOiBEaXN0IHNwbGl0dmlkZW8wWzAxMl0ub2dnIHRlc3QgZmlsZXMuCgoyMDE1LTEwLTIzIDIwOjE2OjE3ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F1ZGlvZngvZ3N0c2NhbGV0ZW1wby5jOgoJKiBnc3QvYXVkaW9meC9nc3RzY2FsZXRlbXBvLmg6CgkgIHNjYWxldGVtcG86IEFkZCBzdXBwb3J0IGZvciBGNjQKCjIwMTUtMTAtMjIgMTc6NDA6MzggLTA3MDAgIE1pc2NoYSBTcGllZ2VsbW9jayA8bXNwaWVnZWxtb2NrQGdtYWlsLmNvbT4KCgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4LmM6CgkqIGdzdC9ydHAvUkVBRE1FOgoJKiBnc3QvcnRwL2dzdHJ0cHZwOHBheS5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhyZWNlaXZlLmM6CgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIGRvY3M6IE1pbm9yIGZpeGVzIGluIHZhcmlvdXMgcGxhY2VzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTY5OTYKCjIwMTUtMTAtMjEgMTc6NDM6MzEgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvZ29vbS9wbHVnaW5faW5mby5jOgoJICBnb29tOiByZW1vdmUgY29tcGlsZXIgdHJpY2sKCSAgQWZ0ZXIgY29tbWl0IDJjYjZjZmVkMjIxNjZiMjYyYWU1MGNiNThmM2ZmMTFkZDhiYTkxZjkgdGhlcmUgaXMgbm8gbmVlZCB0bwoJICB0cmljayB0aGUgY29tcGlsZXIgYW55bW9yZSBhYm91dCB0aGUgdXNhZ2Ugb2YgdmFyaWFibGUgY3B1Rmxhdm91ci4KCjIwMTUtMTAtMjEgMTQ6MzU6MDIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGI5OTgwMGEgdG8gYjMxOTkwOQoKMjAxNS0xMC0yMSAxNzo0MTozOCArMDUzMCAgUmF2aSBLaXJhbiBLIE4gPHJhdmkua2lyYW5Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWlpcmZpbHRlci5oOgoJICBhdWRpb2Z4OiByZW1vdmUgdW51c2VkIHZhcmlhYmxlCgkgIFJlbW92ZSB1bnN1ZWQgdmFyaWFibGUgaGF2ZV9jb2VmZnMgaW4gYXVkaW9meGJhc2VpaXJmaWx0ZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NjkwNQoKMjAxNS0xMC0yMCAxNzoyOTo0MiArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgVXNlIG5ldyBHU1RfRU5BQkxFX0VYVFJBX0NIRUNLUyAjZGVmaW5lCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTY4NzAKCjIwMTUtMTAtMjEgMTQ6MjU6NTUgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBSRUFETUU6CgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gOWFlZDFkNyB0byBiOTk4MDBhCgoyMDE1LTEwLTIxIDExOjUzOjA5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHZkZW11eDogcmVsYXggY3JlYXRpb24gdGltZSBwYXJzaW5nCgkgIFBhcnNlIHdyb25nIHRpbWVzdGFtcHMgbGlrZSB3ZSB1c2VkIHRvIHdyaXRlIGFzIHdlbGwsCgkgIGUuZy4gMTA6OTo0MiwgYW5kIHRoZSBob3VyIG1pZ2h0IGJlIHdpdGhvdXQgYSBsZWFkaW5nCgkgIHplcm8gaW4gYW55IGNhc2UuCgoyMDE1LTEwLTIxIDExOjQ1OjM1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHZkZW11eDogZml4IGluZGVudGF0aW9uCgoyMDE1LTEwLTIxIDExOjQ0OjUwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHZkZW11eDogZXh0cmFjdCBib3RoIGNyZWF0aW9uIGRhdGUgYW5kIHRpbWUKCSAgQmVmb3JlIHdlIG9ubHkgZXh0cmFjdGVkIHRoZSBkYXRlIHBhcnQuCgoyMDE1LTEwLTIxIDExOjE2OjAxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSAgZmx2bXV4OiBmaXggd3JpdGluZyBvZiBjcmVhdGlvbiB0aW1lCgkgIERvbid0IHdyaXRlIHRpbWUgYXMgZS5nLiAxMTo5OjQyCgoyMDE1LTEwLTEzIDEyOjQyOjU2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGoya3BheS5jOgoJICBydHBqMmtwYXk6IHVwZGF0ZSBmcmFnbWVudCBvZmZzZXQKCSAgSXQgd2FzIGFsd2F5cyBiZWluZyBzZXQgdG8gMCwgbWFraW5nIHRoZSByZXN1bHRpbmcgc3RyZWFtIGJyb2tlbgoJICBmb3IgdGhlIHJlY2VpdmVyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTY0MjIKCjIwMTUtMTAtMTkgMTU6MzY6MzcgKzAzMDAgIFJ5YW4gSGVuZHJpY2tzb24gPHJ5YW4uaGVuZHJpY2tzb25AYWx1bS5taXQuZWR1PgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogRG9uJ3QgdW5jb25kaXRpb25hbGx5IHVzZSBzdHJubGVuKCkKCSAgSXQncyBub3QgYXZhaWxhYmxlIG9uIG9sZGVyIE9TWCBhbmQgd2UgY2FuIGFzIHdlbGwgdXNlIG1lbWNocigpIGhlcmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTYxNTQKCjIwMTUtMTAtMTkgMTc6Mzg6MzIgKzA5MDAgIFZpbmVldGggVE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLmM6CgkgIGF1cGFyc2U6IEZpeCBldmVudCBtZW1vcnkgbGVhawoJICBGcmVlIHRoZSBldmVudCBhZnRlciBiZWluZyBoYW5kbGVkIHRvIHByZXZlbnQgbWVtb3J5IGxlYWsuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTY3OTkKCjIwMTUtMTAtMTkgMDk6MTQ6MTkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4bWFwLmM6CgkgIHF0bXV4OiB1bmlmeSByYXcgYXVkaW8gY2FwcyBpbnRvIGEgc2luZ2xlIGNhcHMgc3RydWN0dXJlCgoyMDE1LTEwLTE0IDE1OjQyOjUwIC0wNzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogYWRkIHN1cHBvcnQgZm9yIEZGVjEgY29kZWQgc3RyZWFtcyBpbiBtb3YKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MjQ5NQoKMjAxNS0xMC0xNCAxNTo1MzoyNiArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXBodHRwc3JjOiBFT1MgaW1tZWRpYXRlbHkgaWYgd2UgaGF2ZSBhbiBlbXB0eSBzZWVrIHNlZ21lbnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0ODMxNgoKMjAxNS0xMC0xNCAxMDo0MzoxOSArMDMwMCAgU3RhdnJvcyBWYWdpb25pdGlzIDxzdGF2cm9zdkBkaWdpc29mdC50dj4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXBodHRwc3JjOiBNYWtlIG5vbi1pbmNsdXNpdmUgc2VnbWVudCBib3VuZGFyaWVzIGluY2x1c2l2ZQoJICBUaGUgcHJvYmxlbSBpcyB0aGF0IHRoZSBmaWxlc3JjIGFuZCBzb3VwaHR0cHNyYyBhcmUgYmVoYXZpbmcKCSAgZGlmZmVyZW50bHkgcmVnYXJkaW5nIHRoZSBjYWxjdWxhdGlvbiBvZiB0aGUgc2VnbWVudCBib3VuZGFyaWVzLiBUaGUKCSAgZmlsZXNyYyBpcyB1c2luZyBhIG5vbi1pbmNsdXNpdmUgYm91bmRhcmllcywgd2hpbGUgdGhlIHNvdXBodHRwc3JjCgkgIHVzZXMgaW5jbHVzaXZlLiBDdXJyZW50bHkgdGhlIGhsc2RlbXV4IGNhbGN1bGF0ZXMgdGhlIGJvdW5kYXJpZXMgYXMKCSAgaW5jbHVzaXZlLCBzbyBmb3IgdGhpcyByZWFzb24gdGhlcmUgaXMgbm8gcHJvYmxlbSB3aXRoIHRoZSBzb3VwaHR0cHNyYywKCSAgYnV0IHRoZXJlIGlzIGFuIGlzc3VlIGluIHRoZSBmaWxlc3JjLgoJICBUaGUgR3N0U2VnbWVudCBpcyBub24taW5jbHVzaXZlLCBzbyB0aGUgcHJvcG9zZWQgc29sdXRpb24gaXMgdG8gdXNlCgkgIG5vbi1pbmNsdXNpdmUgYm91bmRhcmllcyBpbiB0aGUgaGxzZGVtdXggaW4gb3JkZXIgdG8gYmUgY29uc2lzdGVudC4KCSAgTWFrZSB0aGUgY2hhbmdlIGluIHRoZSBobHNkZW11eCwgd2lsbCBicmVhayB0aGUgc291cGh0dHBzcmMsIHdoaWNoCgkgIHdpbGwgZXhwZWN0IGluY2x1c2l2ZSBib3VuZGFyaWVzLCBidXQgdGhlIGhsc2RlbXV4IHdpbGwgb2ZmZXIKCSAgbm9uLWluY2x1c2l2ZS4gVGhpcyBjaGFuZ2UgbWFrZXMgc3VyZSB0aGF0IHRoZSBub24taW5jbHVzaXZlCgkgIGJvdW5kYXJpZXMgYXJlIGNvbnZlcnRlZCB0byBpbmNsdXNpdmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDgzMTYKCjIwMTUtMTAtMTEgMjI6MDc6NTQgKzAwMDAgIEdyYWhhbSBMZWdnZXR0IDxtaW5mcmluQHNoYXJwLmZtPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBjbGllbnRzaW5rLmM6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwY2xpZW50c2luay5oOgoJICBzb3VwaHR0cGNsaWVudHNpbms6IEFkZCB0aGUgcmV0cnkgYW5kIHJldHJ5LWRlbGF5IHByb3BlcnRpZXMKCSAgVGhlc2UgYWxsb3cgYSBmYWlsZWQgcmVxdWVzdCB0byBiZSByZXRyaWVkIGFmdGVyIHRoZSBnaXZlbiBudW1iZXIgb2Ygc2Vjb25kcwoJICBpbnN0ZWFkIG9mIGZhaWxpbmcgdGhlIHBpcGVsaW5lLiBUYWtlIGFjY291bnQgb2YgdGhlIFJldHJ5LUFmdGVyIGhlYWRlciBpZgoJICBwcmVzZW50LiBBZGQgcmV0cmllcyBwYXJhbWV0ZXIgdGhhdCBjb250cm9scyB0aGUgbnVtYmVyIG9mIHRpbWVzIGFuIEhUVFAKCSAgcmVxdWVzdCB3aWxsIGJlIHJldHJpZWQgYmVmb3JlIGZhaWxpbmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTYzMTgKCjIwMTUtMTAtMTQgMTI6MDM6MTUgKzAyMDAgIEd1aWxsYXVtZSBEZXNtb3R0ZXMgPGd1aWxsYXVtZS5kZXNtb3R0ZXNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGZpeCBjYXBzIGxlYWsKCSAgSWYgdGhlIFF0RGVtdXhTdHJlYW0gYXJlIHJlLXVzZWQgdGhleSBtYXkgYWxyZWFkeSBoYXZlIGNhcHMgd2hpY2ggdXNlZAoJICB0byBiZSBsZWFrZWQuCgkgIFJlcHJvZHVjZWQgdXNpbmcgdGhlCgkgIHZhbGlkYXRlLmRhc2gucGxheWJhY2suc2Vla19mb3J3YXJkLmRhc2hfZXhNUERfQklQX1RDMSB2YWxpZGF0ZQoJICBzY2VuYXJpby4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NjU2MQoKMjAxNS0xMC0xNCAwOToyOTo1MCArMDkwMCAgVmluZWV0aCBUTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBGaXggdGFnbGlzdCBtZW1vcnkgbGVhawoJICBGcmVlIHRoZSBzdHJlYW0gYW5kIGl0cyBzdWIgaXRlbXMgaW5zdGVhZCBvZiBqdXN0IHRoZSBzdHJlYW0KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NjU0NAoKMjAxNS0xMC0xMSAxMjowNjoyNiArMDEwMCAgVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAZ25vbWUub3JnPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4bWFwLmM6CgkgIHF0bXV4OiBBbGxvdyBuZWdvdGlhdGluZyB0byBTOCBhcyBhIHJhdyBmb3JtYXQgYnV0IHN0b3AgbWFraW5nIGl0IGJlc3QgY2hvaWNlCgkgIE5lZ290aWF0aW9uIHRvIGF1ZGlvL3gtcmF3LGZvcm1hdD1TOCB3YXMgbm90IHBvc3NpYmxlIGJlY2F1c2UgUzggZG9lcwoJICBub3QgaGF2ZSBhIGJpdCBvcmRlciBzbyB3ZSBlbmRlZCB1cCBkb2luZyBgaWYgKCFlbnRyeS5mb3VyY2MpIGdvdG8gcmVmdXNlX2NhcHM7YAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU2Mzg3CgoyMDE1LTEwLTExIDA5OjE4OjQwICswMTAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXhtYXAuYzoKCSAgcXRtdXg6IEFkZCBwcm9yZXMgc3VwcG9ydAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU2Mzg4CgoyMDE1LTEwLTEyIDE4OjU2OjMyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHRlc3RzOiBhZGQgR1NUX1BMVUdJTlNfQkFTRV9MSUJTIGZvciBmbHZkZW11eCBjaGVjawoJICBTbyBpdCBwdWxscyBpbiB0aGUgcmlnaHQgbGliZ3N0dGFnLTEuMC4KCjIwMTUtMTAtMTEgMjI6Mjc6NDcgKzAxMDAgIEp1bGllbiBJc29yY2UgPGouaXNvcmNlQHNhbXN1bmcuY29tPgoKCSogZ3N0L2dvb20vTWFrZWZpbGUuYW06CgkqIGdzdC9nb29tL2dzdGF1ZGlvdmlzdWFsaXplci5jOgoJKiBnc3QvZ29vbS9nc3RhdWRpb3Zpc3VhbGl6ZXIuaDoKCSogZ3N0L2dvb20vZ3N0Z29vbS5oOgoJKiBnc3QvZ29vbTJrMS9NYWtlZmlsZS5hbToKCSogZ3N0L2dvb20yazEvZ3N0YXVkaW92aXN1YWxpemVyLmM6CgkqIGdzdC9nb29tMmsxL2dzdGF1ZGlvdmlzdWFsaXplci5oOgoJKiBnc3QvZ29vbTJrMS9nc3Rnb29tLmg6CgkgIGdvb20vZ29vbTJrMTogcmVtb3ZlIG9ic29sZXRlIGxlZnQgb3ZlciBmaWxlcwoJICBUaGV5IG5vdyB1c2UgdGhlIG5ldyBHc3RBdWRpb1Zpc3VhbGl6ZXIgYmFzZSBjbGFzcwoJICBmcm9tIGdzdC1wbHVnaW5zLWJhc2UvZ3N0LWxpYnMvZ3N0L3BidXRpbHMKCSAgQWxzbyBmaXhlZCB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGdzdF9hdWRpb192aXN1YWxpemVyX2dldF90eXBlCgkgIEFkZGVkIEdTVF9QTFVHSU5TX0JBU0VfTElCUyB0byBNYWtlZmlsZS5hbSBhbmQgcmUtb3JkZXIgTElCQURELgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQyODc1CgoyMDE1LTEwLTEyIDEwOjQ4OjIzICswOTAwICBWaW5lZXRoIFRNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJICBtcGVnYXVkaW9wYXJzZTogRml4IGJ1ZmZlciBtZW1vcnkgbGVhayBkdXJpbmcgZmFpbHVyZXMKCSAgbWFwcGVkIGJ1ZmZlciBpcyBub3QgYmVpbmcgdW5tYXBwZWQgZHVyaW5nIGZhaWx1cmVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTYyMzEKCjIwMTUtMTAtMTIgMTE6MTg6NTEgKzA5MDAgIFZpbmVldGggVE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cGNsaWVudHNpbmsuYzoKCSAgc291cGh0dHBjbGllbnRzaW5rOiBDaGVjayBpZiBzb3VwIG1lc3NhZ2UgaXMgY3JlYXRlZAoJICBJZiBzb3VwIG1lc3NhZ2UgaXMgbm90IGNyZWF0ZWQgdGhlbiB0aGUgc2FtZSBzaG91bGQgbm90IGJlIHBhc3NlZAoJICBvbiwgd2hpY2ggaXMgcmVzdWx0aW5nIGluIHNlZ2ZhdWx0LiBIZW5jZSB0aHJvd2luZyBhIHdhcm5pbmcgbWVzc2FnZQoJICBhbmQgcmV0dXJuaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTUzMjYKCjIwMTUtMTAtMTIgMTE6MTU6MTUgKzA5MDAgIFZpbmVldGggVE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cGNsaWVudHNpbmsuYzoKCSAgc291cGh0dHBjbGllbnRzaW5rOiBDaGVjayBpZiBsb2NhdGlvbiBiZWluZyBzZXQgaXMgdmFsaWQKCSAgQWRkaW5nIGEgY2hlY2sgaW4gc2V0X3Byb3BlcnR5IHRvIGZpbmQgaWYgdGhlIGxvY2F0aW9uIHVyaSBpcyB2YWxpZAoJICBhbmQgcHJpbnRpbmcgd2FybmluZyBpZiBub3QgdmFsaWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTUzMjYKCjIwMTUtMTAtMTIgMTE6MDk6MzAgKzA5MDAgIFZpbmVldGggVE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cGNsaWVudHNpbmsuYzoKCSAgc291cGh0dHBjbGllbnRzaW5rOiBGaXggbWVtb3J5IGxlYWtzIGR1cmluZyBmYWlsdXJlcwoJICBmcmVlaW5nIHN0cmVhbWhlYWRlcl9idWZmZXJzIGFuZCBzZW50X2J1ZmZlcnMgZHVyaW5nIGZhaWx1cmUgY2FzZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTUzMjYKCjIwMTUtMTAtMTIgMTE6MDM6MTcgKzA5MDAgIFZpbmVldGggVE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cGNsaWVudHNpbmsuYzoKCSAgc291cGh0dHBjbGllbnRzaW5rOiBSZXBsYWNlIHJlZHVuZGFudCBmcmVlX2J1ZmZlcl9saXN0IGZ1bmN0aW9uCgkgIFJlbW92aW5nIGZyZWVfYnVmZmVyX2xpc3QgYW5kIHJlcGxhY2luZyBpdCB3aXRoIGFscmVhZHkgYXZhaWxhYmxlIGZ1bmN0aW9uCgkgIGdfbGlzdF9mcmVlX2Z1bGwKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NTMyNgoKMjAxNS0xMC0xMSAxNjo0MDowMSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBjaGVjazogRG9uJ3QgZm9yZ2V0IGJhc2UgQ0ZMQUdTIGZvciBmbHZkZW11eCBjaGVjawoJICBlbGVtZW50cy9mbHZkZW11eC5jOjI1OjI1OiBmYXRhbCBlcnJvcjogZ3N0L3RhZy90YWcuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQoKMjAxNS0xMC0xMSAxMTozNzo1MSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9lYm1sLXdyaXRlLmM6CgkqIGdzdC9tYXRyb3NrYS9lYm1sLXdyaXRlLmg6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5oOgoJICBtYXRyb3NrYW11eDogQ3JlYXRlIGEgVElNRSBzZWdtZW50IHdoZW4gY3JlYXRpbmcgc3RyZWFtYWJsZSBvdXRwdXQKCSAgUmVsYXRlZCB0byBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU0NDM1IHdoaWNoCgkgIGRvZXMgdGhlIHNhbWUgZm9yIGZsdm11eC4KCjIwMTUtMDktMjMgMTM6NTA6NTIgKzAyMDAgIEhhdmFyZCBHcmFmZiA8aGF2YXJkLmdyYWZmQGdtYWlsLmNvbT4KCgkqIGdzdC9mbHYvTWFrZWZpbGUuYW06CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ZsdmRlbXV4LmM6CgkgIGZsdmRlbXV4OiBvdXRwdXQgc3BlZXggdm9yYmlzY29tbWVudCBhcyBhIEdzdFRhZ0xpc3QKCSAgVGhpcyBpcyB3aGF0IHNwZWV4ZGVjIGV4cGVjdHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTU0NzgKCjIwMTUtMDktMjIgMjI6NTk6MTYgKzAyMDAgIEhhdmFyZCBHcmFmZiA8aGF2YXJkLmdyYWZmQGdtYWlsLmNvbT4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Zsdm11eC5jOgoJICBmbHZtdXg6IEdTVF9CVUZGRVJfT0ZGU0VUcyBzaG91bGQgYmUgR1NUX0JVRkZFUl9PRkZTRVRfTk9ORQoJICBPciBlbHNlIGZsdmRlbXV4IGRvbid0IHVuZGVyc3RhbmQgaXQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NDQzNQoKMjAxNS0wOS0wMiAxMDo0NDo1OSArMDIwMCAgSGF2YXJkIEdyYWZmIDxoYXZhcmQuZ3JhZmZAZ21haWwuY29tPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZmx2bXV4LmM6CgkgIGZsdm11eDogdXNlIHRpbWUgc2VnbWVudCBhbmQgY29weSB0aW1lc3RhbXBzIHdoZW4gc3RyZWFtYWJsZQoJICBBZGQgYSBiYXNpYyB0ZXN0IHVzaW5nIHNwZWV4IGRhdGEgdG8gdmVyaWZ5IHRpbWVzdGFtcGluZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NDQzNQoKMjAxNS0wOS0yMyAxMzoxNDowMyArMDIwMCAgSGF2YXJkIEdyYWZmIDxoYXZhcmQuZ3JhZmZAZ21haWwuY29tPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHZkZW11eDogc3BlZXggaXMgYWxzbyBhbHdheXMgMTZLSHoKCSAgVGhpcyBpcyBqdXN0IGEgY29zbWV0aWMgY2hhbmdlIGZvciB0aGUgbG9ncywgc2luY2UgdGhlIHJpZ2h0IGNhcHMKCSAgZm9yIFNwZWV4IGlzIGJlaW5nIHNldCBlbHNld2hlcmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTU0NzkKCjIwMTUtMDctMTQgMTU6MTk6NDQgKzAyMDAgIFN0aWFuIFNlbG5lcyA8c3RpYW5AcGV4aXAuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cG1hbmFnZXI6IEFkZCAnc291cmNlLXN0YXRzJyB0byBzdGF0cyBhbmQgbm90aWZ5CgkgIEFkZCBzdGF0aXRpY3MgZnJvbSBlYWNoIHJ0cCBzb3VyY2UgdG8gdGhlIHJ0cCBzZXNzaW9uIHByb3BlcnR5LgoJICAnc291cmNlLXN0YXRzJyBpcyBhIEdWYWx1ZUFycmF5IHdoZXJlIGVhY2ggZWxlbWVudCBpcyBhIEdzdFN0cnVjdHVyZSBvZgoJICBzdGF0cyBmb3Igb25lIHJ0cCBzb3VyY2UuCgkgIFRoZSBhdmFpbGFiaWxpdHkgb2YgbmV3IHN0YXRzIGlzIHNpZ25hbGVkIHZpYSBnX29iamVjdF9ub3RpZnkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTI2NjkKCjIwMTUtMDYtMDUgMTc6MjA6MzMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgcnRwc2Vzc2lvbjogSW1wbGVtZW50IHNlbmRpbmcgb2YgcmVkdWNlZCBzaXplIFJUQ1AgcGFja2V0cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUwNDU2CgoyMDE1LTEwLTA4IDE1OjAxOjEzICswNTMwICBSYXZpIEtpcmFuIEsgTiA8cmF2aS5raXJhbkBzYW1zdW5nLmNvbT4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZHluYW1pYy5oOgoJICBhdWRpb2Z4OiBSZW1vdmUgdW51c2VkIHZhcmlhYmxlCgkgIFJlbW92ZSB1bnVzZWQgdmFyaWFibGUgJ2RlZ3JlZScgaW4gYXVkaW9keW5hbWljCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTYyMzQKCjIwMTUtMTAtMDggMTQ6NDQ6MDcgKzA5MDAgIFZpbmVldGggVE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogRml4IG1lbW9yeSBsZWFrIGZvciBjb3JydXB0ZWQgZmlsZQoJICBGcmVlIGJyYW5kcyBiZWZvcmUgb3ZlcnJpZGluZyB0aGVtLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU2MjI2CgoyMDE1LTEwLTA4IDExOjQ0OjA0ICswOTAwICBWaW5lZXRoIFRNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmZGVjLmM6CgkgIGdka3BpeGJ1ZmRlYzogRml4IHBpeGJ1Zl9sb2FkZXIgbGVhayBkdXJpbmcgZmFpbHVyZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NjIxOQoKMjAxNS0xMC0wNyAyMzoyMzo0NSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IEFkZCBtaXNzaW5nIGJyZWFrCgoyMDE1LTEwLTA3IDEzOjAzOjAyICswMjAwICBNaWd1ZWwgUGFyw61zIETDrWF6IDxtcGFyaXNkaWF6QGdtYWlsLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmg6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmg6CgkgIHJ0cG1hbmFnZXI6IFRha2UgaW50byBhY2NvdW50IHBhY2tldCByYXRlIGZvciBtYXgtZHJvcG91dCBhbmQgbWF4LW1pc29yZGVyIGNhbGN1bGF0aW9ucwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxMzExCgoyMDE1LTEwLTA3IDEzOjAyOjEyICswMjAwICBNaWd1ZWwgUGFyw61zIETDrWF6IDxtcGFyaXNkaWF6QGdtYWlsLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaDoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuaDoKCSAgcnRwbWFuYWdlcjogYWRkICJtYXgtZHJvcG91dC10aW1lIiBhbmQgIm1heC1taXNvcmRlci10aW1lIiBwcm9wcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxMzExCgoyMDE1LTEwLTA3IDE3OjE0OjU3ICswOTAwICBWaW5lZXRoIFRNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogRml4IGRhdGUgbWVtb3J5IGxlYWsKCSAgV2hlbiBnZXR0aW5nIGRhdGUgZnJvbSB0YWdsaXN0LCB0aGUgbWVtb3J5IHNob3VsZCBiZSBmcmVlZCBhZnRlcgoJICB1c2luZyBpdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NjE3MQoKMjAxNS0xMC0wNSAxMTowMzozOCArMDkwMCAgVmluZWV0aCBUTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IEZpeCBzYW1wbGUgbWVtb3J5IGxlYWsKCSAgV2hlbiBnZXR0aW5nIHNhbXBsZSBmcm9tIHRhZ2xpc3QsIHRoZSBtZW1vcnkgc2hvdWxkIGJlIGZyZWVkIGFmdGVyCgkgIHVzaW5nIGl0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU2MDY4CgoyMDE1LTEwLTA1IDEzOjEwOjU2ICswOTAwICBWaW5lZXRoIFRNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZ3N0L2N1dHRlci9nc3RjdXR0ZXIuYzoKCSAgY3V0dGVyOiBGaXggYnVmZmVyIGxlYWsKCSAgQnVmZmVyIGlzIGFkZGVkIHRvIHRoZSBpbnRlcm5hbCBjYWNoZSwgYW5kIHB1c2hlZCBvbmx5IHdoZW4gYWNjdW11bGF0ZWQKCSAgYnVmZmVyIGR1cmF0aW9uIGNyb3NzZXMgMjAwIG1zLiBTbyB3aGVuIHRoZSBjaGFpbiBlbmRzLCB0aGUgYnVmZmVyIGFjY3VtdWxhdGVkCgkgIGlzIG5vdCBmcmVlZC4gRnJlZWluZyB0aGUgY2FjaGUgd2hlbiB0aGUgc3RhdGUgY2hhbmdlcyBmcm9tIFBBVVNFRCB0byBSRUFEWS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NDIxMgoKMjAxNS0wOC0zMSAyMToxMDoxNiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IFVzZSBkZWZhdWx0IHVwc3RyZWFtIGV2ZW50IGhhbmRsaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTI2OTQKCjIwMTUtMDgtMzEgMjE6MDU6MDMgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4Lmg6CgkgIHJ0cG11eDogQXMgMHhGRkZGRkZGRiBpcyBhIHZhbGlkIHNzcmMsIGNoZWNrIGlmIGl0IGhhcyBiZWVuIHNldAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyNjk0CgoyMDE1LTA3LTIyIDA5OjQ3OjIyICswMjAwICBIYXZhcmQgR3JhZmYgPGhhdmFyZC5ncmFmZkBnbWFpbC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4Lmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cG11eC5jOgoJICBnc3RydHBtdXg6IGFsbG93IHRoZSBzc3JjLXByb3BlcnR5IHRvIGRlY2lkZSBzc3JjIG9uIG91dGdvaW5nIGJ1ZmZlcnMKCSAgQnkgbm90IGRvaW5nIHRoaXMsIHRoZSBtdXhlciBpcyBub3QgZWZmZWN0aXZlbHkgYSBydHBtdXhlciwgcmF0aGVyIGEKCSAgZnVubmVsLCBzaW5jZSBpdCBzaG91bGQgYmUgYSBzaW5nbGUgc3RyZWFtIHRoYXQgZXhpc3RzIHRoZSBtdXhlci4KCSAgSWYgbm90IHNwZWNpZmllZCwgdGFrZSB0aGUgZmlyc3Qgc3NyYyBzZWVuIG9uIGEgc2lua3BhZCwgYWxsb3dpbmcgdXBzdHJlYW0KCSAgdG8gZGVjaWRlIHNzcmMgaW4gInBhc3N0aHJvdWdoIiB3aXRoIG9ubHkgb25lIHNpbmtwYWQuCgkgIEFsc28sIGxldCBkb3duc3RyZWFtIHNzcmMgb3ZlcnJ1bGUgaW50ZXJuYWwgY29uZmlndXJlZCBvbmUKCSAgV2UgaGVuY2UgaGFzIHRoZSBmb2xsb3dpbmcgb3JkZXIgZm9yIGRldGVybWluaW5nIHRoZSBzc3JjIHVzZWQgYnkKCSAgcnRwbXV4OgoJICAwLiBTdWdnZXN0aW9uIGZyb20gR3N0UlRQQ29sbGlzaW9uIGV2ZW50CgkgIDEuIERvd25zdHJlYW0gY2FwcwoJICAyLiBzc3JjLVByb3BlcnR5CgkgIDMuIChGaXJzdCkgdXBzdHJlYW0gY2FwcyBjb250YWluaW5nIHNzcmMKCSAgNC4gUmFuZG9tbHkgZ2VuZXJhdGVkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTI2OTQKCjIwMTUtMTAtMDIgMjI6NDI6MjAgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICB1ZHBzcmM6IEZpeHVwIGxhc3QgY29tbWl0CgoyMDE1LTEwLTAyIDIyOjIxOjQ1ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICBVcGRhdGUgR0xpYiBkZXBlbmRlbmN5IHRvIDIuNDAuMAoKMjAxNS0wNi0zMCAxNjo1NjoxOSArMDIwMCAgTWlndWVsIFBhcsOtcyBEw61heiA8bXBhcmlzZGlhekBnbWFpbC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5oOgoJICBydHBzdGF0czogYWRkIHV0aWxpdHkgZm9yIGNhbGN1bGF0aW5nIFJUUCBwYWNrZXQgcmF0ZQoKMjAxNS0wOC0xMCAxODoxNDozOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGhhbmRsZSBlbXB0eSBzZWdtZW50cyBpbiBzZWVraW5nIGFkanVzdAoJICBJZiBzZWVraW5nIHRhcmdldHMgYW4gZW1wdHkgc2VnbWVudCBza2lwIGl0IGFzIHRoZXJlIGlzIG5vIG1lZGlhCgkgIG9mZnNldCB0byBnZXQgZnJvbSBpdC4gSW5zdGVhZCBsb29rIGZvciB0aGUgbmV4dCBvbmUuCgkgIFRoaXMgZG9lc24ndCBtYWtlIHNlZWtpbmcgaW4gcHVzaC1tb2RlIHdvcmsgaWYgeW91IHNlZWsgdG8gYW4KCSAgZW1wdHkgc2VnbWVudCBidXQgYXQgbGVhc3Qgd29uJ3QgZ2V0IHlvdSB0byB3cm9uZyBvZmZzZXRzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzNDg0CgoyMDE1LTA0LTE3IDE0OjI1OjQzICswMjAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNpbmsuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNpbmsuaDoKCSAgc3BsaXRtdXhzaW5rOiBwb3N0IG1lc3NhZ2VzIHdoZW4gZnJhZ21lbnRzIGFyZSBiZWluZyBvcGVuZWQgYW5kIGNsb3NlZAoJICBUaGlzIGNhbiBiZSB1c2VmdWwgZm9yIGFwcGxpY2F0aW9ucyB0aGF0IG5lZWQgdG8gdHJhY2sgdGhlIGNyZWF0ZWQgZnJhZ21lbnRzCgkgICh0byBsb2cgdGhlbSBpbiBhIHJlY29yZGluZyBkYXRhYmFzZSwgZm9yIGV4YW1wbGUpCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTAxMDgKCjIwMTUtMDQtMjkgMTg6MjM6MjggKzAxMDAgIFJhbWlybyBQb2xsYSA8cmFtaXJvLnBvbGxhQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzaW5rLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzaW5rLmg6CgkgIHNwbGl0bXV4c2luazogYWxsb3cgbm9uLXZpZGVvIHN0cmVhbXMgdG8gc2VydmUgYXMgcmVmZXJlbmNlCgkgIEluIHRoZSBhYnNlbmNlIG9mIGEgdmlkZW8gc3RyZWFtLCB0aGUgZmlyc3Qgc3RyZWFtIHdpbGwgYmUgdXNlZCBhcwoJICByZWZlcmVuY2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTM2MTcKCjIwMTUtMDctMjIgMTc6NDU6MTIgKzAyMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c2luay5jOgoJICBzcGxpdG11eHNpbms6IGluaXRpYWxpemUgbXV4X3N0YXJ0X3RpbWUgcHJvcGVybHkKCSAgbXV4X3N0YXJ0X3RpbWUgcmVmZXJzIHRvIHRoZSBydW5uaW5nX3RpbWUgb2YgdGhlIGJ1ZmZlcgoJICB0aGF0IGdvZXMgZmlyc3QgaW4gdGhlIG91dHB1dCBmaWxlLiBOb3JtYWxseSB0aGlzIHRpbWUgaXMKCSAgMCwgc28gdGhpcyB2YXJpYWJsZSBpcyBpbml0aWFsaXplZCB0byAwIGR1cmluZyB0aGUgc3RhdGUKCSAgY2hhbmdlIHRvIFBBVVNFRC4KCSAgSG93ZXZlciwgd2hlbiBkZWFsaW5nIHdpdGggZHluYW1pYyBwaXBlbGluZXMgYW5kIHN0YXJ0aW5nCgkgIGEgcmVjb3JkaW5nIHdoaWxlIHRoZSBwaXBlbGluZSBoYXMgYWxyZWFkeSBydW4gZm9yIGEgd2hpbGUsCgkgIHRoZSBydW5uaW5nX3RpbWUgb2YgdGhlIGZpcnN0IGJ1ZmZlciBpcyA+IDAgYW5kIHRoaXMgY2F1c2VzCgkgIGEgcHJvYmxlbSB3aXRoIGRldGVjdGluZyB0aGUgZW5kIG9mIHRoZSBmaXJzdCBmaWxlKHMpIHdoZW4KCSAgc3BsaXR0aW5nIGJ5IGR1cmF0aW9uLCBiZWNhdXNlIHRoZSBjb2RlIHdpbGwgbGF0ZXIgY29tcGFyZQoJICB0aGUgdGhyZXNob2xkX3RpbWUgd2l0aCAobGFzdCBidWZmZXIgcnVubmluZ190aW1lIC0gbXV4X3N0YXJ0X3RpbWUpCgkgIGFuZCB3aWxsIGdldCBpdCB3cm9uZyB1bnRpbCBtdXhfc3RhcnRfdGltZSBhZHZhbmNlcyBlbm91Z2gKCSAgdG8gbWFrZSB0aGlzIGRpZmZlcmVuY2UgPCB0aHJlc2hvbGRfdGltZSwgY3JlYXRpbmcgZW1wdHkgZmlsZXMKCSAgaW4gdGhlIG1lYW50aW1lLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzNjI0CgoyMDE1LTA5LTE2IDE2OjAzOjAyICswOTAwICBWaW5lZXRoIFQgTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IFJldmVyc2UgcGxheWJhY2sgZG9lcyBub3QgY29uc2lkZXIgc2VnbWVudC5zdGFydAoJICBEdXJpbmcgcmV2ZXJzZSBwbGF5YmFjaywgdGhlIG1lZGlhIHNob3VsZCBzdG9wIHBsYXlpbmcgYXQgc2VnbWVudC5zdGFydAoJICBUaGlzIGRvZXMgbm90IGhhcHBlbiwgYW5kIGF2aWRlbXV4IGNvbnRpbnVlcyB0byBwcm9jZXNzIGRhdGEgZXZlbiB3aGVuCgkgIGN1cnJlbnQgdGltZXN0YW1wIGlzIGxlc3MgdGhhdCBzZWdtZW50LnN0YXJ0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU1MDk0CgoyMDE1LTA5LTIzIDEyOjM5OjM1ICswOTAwICBNYW5hc2EgQXRocmV5YSA8bWFuYXNhLmF0aHJleWFAbGdlLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBDaGVjayBtdWx0aSB0cmV4IHRvIGZpbmQgdHJhY2sgaWQgaW4gbXA0IG1wZWctZGFzaCBzdHJlYW0KCSAgSWYgc3RyZWFtIGhhcyBtb3JlIHRoYW4gb25lIHRyZXggYm94IHdoaWNoIGlzIG5vdCBtYXRjaGVkIHRvIGFjdHVhbAoJICB0cmFjayBpZCwgaXQgbWFrZXMgcXRkZW11eCBjcmFzaGVkLgoJICBBdXRob3IgOiBNYW5hc2EgQXRocmV5YSAobWFuYXNhLmF0aHJleWFAbGdlLmNvbSkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NDg2NAoKMjAxNS0wOS0wNCAxNDoyNDo0NSArMDUzMCAgUmF2aSBLaXJhbiBLIE4gPHJhdmkua2lyYW5Ac2Ftc3VuZy5jb20+CgoJKiBnc3Qvc21wdGUvZ3N0c21wdGUuYzoKCSAgc21wdGU6IGdldCBzaXplLCBzdHJpZGUgaW5mbyB1c2luZyBWaWRlb0luZm8KCSAgVXNlIFZpZGVvSW5mbyBkYXRhIHRvIGdldCBzaXplIHN0cmlkZSBhbmQKCSAgb2Zmc2V0LCBpbnN0ZWFkIG9mIGhhcmQgY29kZWQgbWFjcm9zLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU0NTU4CgoyMDE1LTA5LTA0IDE0OjE4OjUwICswNTMwICBSYXZpIEtpcmFuIEsgTiA8cmF2aS5raXJhbkBzYW1zdW5nLmNvbT4KCgkqIGdzdC9zbXB0ZS9nc3RzbXB0ZS5jOgoJICBzbXB0ZTogZnJlZSBtYXNrCgkgIEZyZWUgdGhlIG1lbW9yeSBhbGxvY2F0ZWQgdG8gJ21hc2snIHRvIGF2b2lkCgkgIG1lbW9yeSBsZWFrLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU0NTU1CgoyMDE1LTA4LTIwIDExOjAyOjU4ICswOTAwICBWaW5lZXRoIFRNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZXF1YWxpemVyL2RlbW8uYzoKCSogdGVzdHMvaWNsZXMvZXF1YWxpemVyLXRlc3QuYzoKCSogdGVzdHMvaWNsZXMvZ2RrcGl4YnVmb3ZlcmxheS10ZXN0LmM6CgkqIHRlc3RzL2ljbGVzL2dka3BpeGJ1ZnNpbmstdGVzdC5jOgoJKiB0ZXN0cy9pY2xlcy90ZXN0LW9zczQuYzoKCSogdGVzdHMvaWNsZXMvdmlkZW9jcm9wLXRlc3QuYzoKCSAgZ3N0cmVhbWVyOiBnb29kOiB0ZXN0czogRml4IG1lbW9yeSBsZWFrcyB3aGVuIGNvbnRleHQgcGFyc2UgZmFpbHMuCgkgIFdoZW4gZ19vcHRpb25fY29udGV4dF9wYXJzZSBmYWlscywgY29udGV4dCBhbmQgZXJyb3IgdmFyaWFibGVzIGFyZSBub3QgZ2V0dGluZyBmcmVlJ2QKCSAgd2hpY2ggcmVzdWx0cyBpbiBtZW1vcnkgbGVha3MuIEZyZWUnaW5nIHRoZSBzYW1lLgoJICBBbmQgcmVwbGFjaW5nIGdfZXJyb3JfZnJlZSB3aXRoIGdfY2xlYXJfZXJyb3IsIHdoaWNoIGNoZWNrcyBpZiB0aGUgZXJyb3IgYmVpbmcgcGFzc2VkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTM4NTMKCjIwMTUtMTAtMDIgMTY6MTg6MTUgKzA5MDAgIEh5dW5qdW4gS28gPHp6b29uLmtvQHNhbXN1bmcuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkgIHJ0cHNvdXJjZTogZG9lc24ndCBoYW5kbGUgcHJvYmF0aW9uIGFuZCBydHAgZ2FwIGluIGNhc2Ugb2Ygc2VuZGVyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTQ1NDgKCjIwMTUtMTAtMDIgMTY6MTY6MzIgKzA5MDAgIEh5dW5qdW4gS28gPHp6b29uLmtvQHNhbXN1bmcuY29tPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5zaWduYWxzOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5oOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgcnRwbWFuYWdlcjogYWRkIG5ldyBvbi1uZXctc2VuZGVyLXNzcmMsIG9uLXNlbmRlci1zc3JjLWFjdGl2ZSBzaWduYWxzCgkgIEFsbG93cyBmb3IgYXBwbGljYXRpb25zIHRvIGdldCBpbnRlcm5hbCBzb3VyY2UncyBSVFAgc3RhdGlzdGljcy4KCSAgKGVnLiBzZW5kZXIgc291cmNlcyBmb3IgYSBzZXJ2ZXIvY2xpZW50KQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ2NzQ3CgoyMDE1LTEwLTAyIDE0OjE3OjQ4ICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6CgkgIHhpbWFnZXNyYzogR2F0aGVyIGFuZCBjb2FsZXNjZSBhbGwgZGFtYWdlZCBhcmVhcyBiZWZvcmUgcmV0cmlldmluZy4KCSAgVGhlc2UgZGF5cyB0aGUgeHNlcnZlciBzZWVtcyB0byBnaXZlIHVzIHRoZSBzYW1lIGRhbWFnZSByZWdpb25zCgkgIG92ZXIgYW5kIG92ZXIgZm9yIGVudGlyZSB3aW5kb3dzLCBhbmQgd2UgcmV0cmlldmUgdGhlbSBtdWx0aXBsZQoJICB0aW1lcywgd2hpY2ggZ2l2ZXMgdGltZSBmb3IgbW9yZSBkYW1hZ2UgdG8gYXBwZWFyLiBJbnN0ZWFkLCBqdXN0CgkgIHF1aWNrbHkgZ2F0aGVyIGFsbCBkYW1hZ2VkIGFyZWFzIGludG8gYSByZWdpb24gbGlzdCBhbmQgY29weQoJICBvdXQgb25jZS4KCjIwMTUtMTAtMDEgMTY6MjQ6MzIgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvZ29vbTJrMS9NYWtlZmlsZS5hbToKCSogZ3N0L2dvb20yazEvZ3N0Z29vbS5oOgoJICBnb29tMmsxOiB1c2UgdGhlIG5ldyBhdWRpb3Zpc3VhbGl6ZXIgYmFzZSBjbGFzcwoJICBSZWJhc2UgdG8gaGF2ZSBnb29tIHVzaW5nIHRoZSBHc3RBdWRpb1Zpc3VhbGl6ZXIgYmFzZSBjbGFzcyBpbgoJICBnc3QtcGx1Z2lucy1iYXNlL2dzdC1saWJzL2dzdC9wYnV0aWxzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDI4NzUKCjIwMTUtMTAtMDEgMTY6MTY6MDggKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvZ29vbS9NYWtlZmlsZS5hbToKCSogZ3N0L2dvb20vZ3N0Z29vbS5oOgoJICBnb29tOiB1c2UgdGhlIG5ldyBhdWRpb3Zpc3VhbGl6ZXIgYmFzZSBjbGFzcwoJICBSZWJhc2UgdG8gaGF2ZSBnb29tIHVzaW5nIHRoZSBHc3RBdWRpb1Zpc3VhbGl6ZXIgYmFzZSBjbGFzcyBpbgoJICBnc3QtcGx1Z2lucy1iYXNlL2dzdC1saWJzL2dzdC9wYnV0aWxzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDI4NzUKCjIwMTUtMDktMzAgMTc6MzU6MzMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kZWludGVybGVhdmUuYzoKCSAgZGVpbnRlcmxlYXZlOiBpbXBsZW1lbnQgYWNjZXB0LWNhcHMKCSAgQXZvaWQgdXNpbmcgZGVmYXVsdCBhY2NlcHQtY2FwcyBoYW5kbGVyIHRoYXQgd2lsbCBxdWVyeSBkb3duc3RyZWFtCgkgIGFuZCBpcyBtb3JlIGV4cGVuc2l2ZS4gSnVzdCBjaGVjayBpZiB0aGUgY2FwcyBpcyBjb21wYXRpYmxlIHdpdGgKCSAgdGhlIHRlbXBsYXRlIGFuZCBjaGVjayBpZiB0aGUgY2hhbm5lbHMgYXJlIHRoZSBzYW1lLgoKMjAxNS0wOS0zMCAwOTozNTozOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGVpbnRlcmxlYXZlLmM6CgkgIHRlc3RzOiBkZWludGVybGVhdmU6IGFsc28gY2hlY2sgZm9yIGNhcHMgcXVlcnkgcmVzdWx0cwoKMjAxNS0wOS0zMCAxMjozMDo1OSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmM6CgkgIGRlaW50ZXJsZWF2ZTogdXNlIHRoZSBjYXBzIHF1ZXJ5IGZpbHRlcgoJICBJdCB3YXMgYmVpbmcgaWdub3JlZCBhbmQgd291bGQgbGVhZCB0byB3cm9uZyByZXN1bHRzIGlmIHRoZQoJICBlbGVtZW50IGRvaW5nIHRoZSBxdWVyeSB3b3VsZCByZWx5IG9uIHRoZSBpbnRlcnNlY3Rpb24gYmVpbmcgbWFkZS4KCjIwMTUtMDktMzAgMTA6MDA6MzEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOgoJICBkZWludGVybGVhdmU6IGltcGxlbWVudCBhIGNhcHMgcXVlcnkgaGFuZGxlciBmb3IgdGhlIHNpbmtwYWQKCSAgSXQgd2FzIG1pc3NpbmcgYW5kIGFwcGFyZW50bHkgY29kZSByZWxpZWQgb24gaGF2aW5nIGl0IHRoZXJlCgkgIGZvciBub3QgYWxsb3dpbmcgYSBjaGFuZ2UgaW4gdGhlIG51bWJlciBvZiBjaGFubmVscwoKMjAxNS0wOS0zMCAwOTowNTowMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmM6CgkgIGRlaW50ZXJsZWF2ZTogZml4IGNhcHMgbGVhawoJICBDYXBzIGZyb20gdGhlIHBhZCB0ZW1wbGF0ZSBhcmUgYmVpbmcgbGVha2VkLiBJbiBhbnkgY2FzZSBpdCBpcwoJICBmcm9tIGEgc3RhdGljIHBhZCB0ZW1wbGF0ZSBhbmQgd2lsbCAnbGVhaycgaW4gdGhlIGVuZCwganVzdCBkb2luZwoJICB0aGUgY2xlYW51cCBmb3IgdGhlIGdvb2QgcHJhY3RpY2UuCgoyMDE1LTA5LTI5IDExOjE1OjAxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dka3BpeGJ1Zm92ZXJsYXkuYzoKCSAgdGVzdHM6IGdka3BpeGJ1Zm92ZXJsYXk6IGFkZCBtaW5pbWFsIHVuaXQgdGVzdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU1NzczCgoyMDE1LTA5LTI5IDExOjEyOjQ4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmb3ZlcmxheS5jOgoJICBnZGtwaXhidWZzaW5rOiBkb24ndCBsZWFrIG9sZCBwaXhlbCBidWZmZXIgd2hlbiBzZXR0aW5nIGEgbmV3IG92ZXJsYXkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NTc3MwoKMjAxNS0wOS0yOCAyMDoyNToyMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSAgZmxhY2VuYzogYXZvaWQgcG90ZW50aWFsIHN0cmluZyBvdmVyZmxvdwoJICBXZSBkb24ndCBuZWNlc3NhcmlseSBoYXZlIGZ1bGwgY29udHJvbCBvdmVyIHRoZSBpbnB1dCB0YWdzLCBzbwoJICBpdCdzIHBvc3NpYmxlIHRoYXQgdGhlIElTUkMgdGFnIGNvbnRhaW5zIGEgbG9uZ2VyIHN0cmluZyB0aGFuCgkgIGV4cGVjdGVkLCBpbiB3aGljaCBjYXNlIHdlJ2Qgd3JpdGUgb3ZlciB0aGUgZW5kIG9mIHRoZSBzdGF0aWMtc2l6ZQoJICAxMyBieXRlIGJ1ZmZlciB0aGF0IGlzIEZMQUNfX1N0cmVhbU1ldGFkYXRhX0N1ZVNoZWV0X1RyYWNrOjppc3JjLgoJICBNYWtlIHN1cmUgdG8gb25seSBjb3B5IHRoZSBJU1JDIGlmIGl0J3Mgbm90IHRvbyBsb25nLCBhbmQgbWFrZQoJICBzdXJlIHRoZSBidWZmZXIgd2Ugd3JpdGUgdG8gaXMgYWx3YXlzIE5VTC10ZXJtaW5hdGVkIGJ5IHVzaW5nCgkgIGdfc3RybGNweSgpLgoJICBDSUQgMTMyNDkzMS4KCjIwMTUtMDktMjggMTg6MDM6NTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogUmVtb3ZlIGxlZnRvdmVyIGFzc2VydGlvbiBmcm9tIDAuMTAKCSAgV2Ugbm93IGFsbG9jYXRlIG1lbW9yeSB2aWEgR3N0QWxsb2NhdG9yIGFuZCBhcyBzdWNoIGNhbiBoYW5kbGUgYXJiaXRyYXJ5CgkgIGFsaWdubWVudHMsIG5vdCBvbmx5IDw9IEdfTUVNX0FMSUdOLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU1NzA4CgoyMDE1LTA5LTI1IDEwOjAxOjM3ICswMjAwICBHdWlsbGF1bWUgTWFycXVlYmllbGxlIDxndWlsbGF1bWUubWFycXVlYmllbGxlQHBhcnJvdC5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiBmaXggdW5pbml0aWFsaXplZCB2YXJpYWJsZXMgaW4gTE9BUyBjb25maWcgcmVhZGluZwoJICBPbiByZWFkaW5nIExPQVMgY29uZmlnLCBmbGFnIHY9MSBhbmQgdkE9MSBjb21iaW5hdGlvbiBjYW4gb2NjdXIsIGxlYWRpbmcgdG8gd2FybmluZwoJICAiU3BlYyBzYXlzICJUQkQiLi4uIi4gUmV0dXJuaW5nIFRSVUUgb24gdGhpcyBjYXNlIHdoaWxlIHBhcmFtZXRlcnMgJ3NhbXBsZV9yYXRlJyBhbmQKCSAgJ2NoYW5uZWxzJyBhcmUgcG9pbnRpbmcgdG8gdW5pbml0aWFsaXplZCB2YWx1ZXMgY2FuIGVuZCBvbiBzZXR0aW5nIHJhbmRvbSB2YWx1ZXMgYXMKCSAgcmF0ZSBhbmQgY2hhbm5lbHMgb24gc3JjIGNhcHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTU2MTEKCjIwMTUtMDktMTggMDA6NTg6MjMgKzEwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1ZnNpbmsuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgRml4IHNvbWUgY29tcGlsZXIgd2FybmluZ3Mgd2hlbiBidWlsZGluZyB3aXRoIEdfRElTQUJMRV9BU1NFUlQKCSAgVG91Y2hlcyBydHBtYW5hZ2VyIGFuZCBnZGtwaXhidWZzaW5rCgoyMDE1LTA4LTE4IDE0OjMwOjU3ICswMTAwICBDaHJpcyBCYXNzIDxmbG9vYmxlZmxhbUBnbWFpbC5jb20+CgoJKiBnc3QvaXNvbXA0L2ZvdXJjYy5oOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4X3R5cGVzLmM6CgkgIHF0ZGVtdXg6IHN1cHBvcnQgdGltZWQtdGV4dCBzdWJ0aXRsZSB0cmFja3MuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTI4MTgKCjIwMTUtMDktMjYgMDA6MTI6NDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBnc3Q6IERvbid0IHVzZSBkZXByZWNhdGVkIGdzdF9zZWdtZW50X3RvX3Bvc2l0aW9uKCkKCjIwMTUtMDktMjEgMTM6NDc6MjEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgcnRwYmluL3J0cGppdHRlcmJ1ZmZlci9ydHNwc3JjOiBBZGQgcHJvcGVydHkgdG8gc2V0IG1heGltdW0gbXMgYmV0d2VlbiBSVENQIFNSIFJUUCB0aW1lIGFuZCBsYXN0IG9ic2VydmVkIFJUUCB0aW1lCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTUxMjUKCjIwMTUtMDktMTYgMTk6Mjg6MTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgcnRwYmluL3Nlc3Npb246IEFsbG93IFJUQ1Agc3luYyB0byBoYXBwZW4gYmFzZWQgb24gY2FwdHVyZSB0aW1lIG9yIHNlbmQgdGltZQoJICBTZW5kIHRpbWUgaXMgdGhlIHByZXZpb3VzIGJlaGF2aW91ciBhbmQgdGhlIGRlZmF1bHQsIGJ1dCB0aGVyZSBhcmUgdXNlIGNhc2VzCgkgIHdoZXJlIHlvdSB3YW50IHRvIHN5bmNocm9uaXplIGJhc2VkIG9uIHRoZSBjYXB0dXJlIHRpbWUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTUxMjUKCjIwMTUtMDktMjUgMjM6NTE6MDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQKCj09PSByZWxlYXNlIDEuNi4wID09PQoKMjAxNS0wOS0yNSAyMzoxNTo1NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pc29tcDQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12cHgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDEuNi4wCgoyMDE1LTA5LTI1IDIyOjU3OjM0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZW8ucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vaHIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDE1LTA5LTI1IDE0OjA4OjA5ICswMjAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBnc3Qvc21wdGUvZ3N0c21wdGVhbHBoYS5jOgoJICBzbXB0ZWFscGhhOiBEbyBub3Qgc2V0IHdpZHRoL2hlaWdodCBiZWZvcmUgY29tcGFyaW5nIHdpdGggb2xkIHZhbHVlcwoJICBPdGhlcndpc2Ugd2UgZW5kIHVwIGNvbnNpZGVyaW5nIHRoZSB2YWx1ZXMgZGlkIG5vdCBjaGFuZ2UgYW5kIHdlIHdyb25nbHkKCSAgd29yayB3aXRoIHRoZSBvbGQgdmlkZW8gZm9ybWF0ICh3aGljaCB3aWxsIGxlYWQgdG8gd3JvbmcKCSAgYmVoYXZpb3VyL3NlZ2ZhdWx0cykuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTU2MjEKCjIwMTUtMDktMjMgMjA6NTk6MDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogQWNjdW11bGF0ZSBzZWdtZW50cyBmb3IgZWRpdCBsaXN0cyBiZWZvcmUgYWN0aXZhdGluZyB0aGUgbmV4dCBzZWdtZW50CgkgIGVjZWIyY2NjNzM5MDkyZDk2NGQ3ODk0NWUxOWMyZWNlZGJkMjE0ZTIgYnJva2Ugc2VnbWVudCBzZWVrcyBieSBhbHdheXMKCSAgYWNjdW11bGF0aW5nIHNlZ21lbnRzIG1hbnVhbGx5IHdoZW4gYWN0aXZhdGluZyBhIHNlZ21lbnQuIFRoaXMgaXMgb25seQoJICBuZWVkZWQgd2hlbiBoYW5kbGluZyBlZGl0IGxpc3RzLCBub3Qgd2hlbiBhY3RpdmF0aW5nIGEgc2VnbWVudCBiZWNhdXNlIG9mIGEKCSAgc2Vlay4gRG8gdGhlIGFjY3VtdWxhdGlvbiB3aGVuIHN3aXRjaGluZyBlZGl0IGxpc3Qgc2VnbWVudHMgaW5zdGVhZC4KCSAgVGhpcyBmaXhlcyBzZWdtZW50IHNlZWtzIGFnYWluLCB3aGlsZSBrZWVwaW5nIGVkaXQgbGlzdHMgcGxheWJhY2sgd29ya2luZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NTQ3MQoKMjAxNS0wOS0yMyAxNzo0Mzo1MSArMDUzMCAgVmlrcmFtIEZ1Z3JvIDx2aWtyYW0uZnVncm9AZ21haWwuY29tPgoKCSogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkgIHNwZWN0cnVtOiBzZW5kIHBoYXNlIHZhbHVlcyBpbiB0aGUgR3N0TWVzc2FnZSBmb3IgUGhhc2UgaW5mbwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU1NDYzCgoyMDE1LTA5LTIyIDAwOjQ2OjAxICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2EtbXV4OiBEb24ndCBvdXRwdXQgYSB3YXJuaW5nIG9uIE1PTk8gbXVsdGl2aWV3IG1vZGUuCgoyMDE1LTA5LTE5IDE3OjAyOjE4ICswMjAwICBTZWJhc3RpYW4gUmFzbXVzc2VuIDxzZWJyYXNAaG90bWFpbC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYWRlcGF5LmM6CgkgIHJ0cHRoZW9yYWRlcGF5OiBGaXggbWVtb3J5IGxlYWtzCgkgIFRoZSBzYW1lIG1lbW9yeSBsZWFrcyB3ZXJlIGZpeGVkIGluIGlkZW50aWNhbCBmYXNoaW9uIGZvcgoJICB2b3JiaXNkZXBheSBpbiAwNmVmZWZmNWQ5Nzk1NzZhMjUyZTVkYWU1N2Y0NmQ2NDQ1YjFkZjEyIGluIDIwMDkuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTUyNzcKCjIwMTUtMDktMTkgMTc6MDQ6MDcgKzAyMDAgIFNlYmFzdGlhbiBSYXNtdXNzZW4gPHNlYnJhc0Bob3RtYWlsLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNwYXkuYzoKCSAgcnRwe3ZvcmJpcyx0aGVvcmF9e3BheSxkZXBheX06IENvc21ldGljIGNsZWFudXAKCSAgKiB1c2UgZ19saXN0X2ZyZWVfZnVsbCgpLCBkb24ndCBpdGVyYXRlIGVsZW1lbnRzIG1hdWFsbHkgd2hlbiBmcmVlaW5nCgkgICogY2FsbCBnc3RfcnRwXypfcGF5X2NsZWFyX3BhY2tldCgpLCBkb24ndCBkdXBsaWNhdGUgaXRzIGNvZGUKCSAgKiB1c2UgZ3N0X2J1ZmZlcl91bnJlZigpIHRvIGNsYXJpZnkgdGhhdCBpdCBpcyBidWZmZXJzIGJlaW5nIHJlbGVhc2VkLAoJICBpbnN0ZWFkIG9mIHJlZmVyaW5nIGRpcmVjdGx5IHRvIGdzdF9taW5pX29iamVjdF91bnJlZigpCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTUyNzcKCjIwMTUtMDktMTkgMTg6NDQ6MjIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc3BheS5jOgoJICBydHB7dm9yYmlzLHRoZW9yYX1wYXk6IFN0b3JlIGhlYWRlcnMgaW4gdGhlIHBhY2tldCBidWZmZXJzIGxpc3RzLCBub3QgYSBOVUxMIGJ1ZmZlcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU1MjY1Cgo9PT0gcmVsZWFzZSAxLjUuOTEgPT09CgoyMDE1LTA5LTE4IDE5OjMzOjEzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5zaWduYWxzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXNvbXA0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdnB4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiBnc3QtcGx1Z2lucy1nb29kLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAxLjUuOTEKCjIwMTUtMDktMTggMTk6MjM6NTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lby5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2dsLnBvOgoJKiBwby9oci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMTUtMDktMTggMTE6NTA6MzEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBwby96aF9DTi5wbzoKCSAgcG86IFVwZGF0ZSB0cmFuc2xhdGlvbnMKCjIwMTUtMDktMTcgMTA6NTA6MDEgKzA5MDAgIEV1bmhhZSBDaG9pIDxldW5oYWUxLmNob2lAc2Ftc3VuZy5jb20+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBGaXggdGFnbGlzdCBsZWFrCgkgIGdzdF90YWdfbGlzdF9pbnNlcnQoKSBkb2VzIG5vdCB0YWtlIG93bmVyc2hpcCBvZiB0aGUgaW5zZXJ0ZWQgdGFnbGlzdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NTEzOAoKMjAxNS0wOS0xNiAwNzowNTozNiArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiBTa2lwIExPQVMgQUFDIHVudGlsIGEgdmFsaWQgY29uZmlnIGlzIHNlZW4uCgkgIEl0J3Mgbm9ybWFsIHdoZW4gZHJvcHBpbmcgaW50byB0aGUgbWlkZGxlIG9mIGEgc3RyZWFtIHRvCgkgIG5vdCBhbHdheXMgaGF2ZSB0aGUgY29uZmlnIGF2YWlsYWJsZSBpbW1lZGlhdGVseSwgc28gc2tpcCBMT0FTCgkgIHVudGlsIGEgdmFsaWQgY29uZmlnIGlzIHNlZW4gd2l0aG91dCBlaXRoZXIgc2V0dGluZyBpbnZhbGlkCgkgIGNhcHMgb3IgZXJyb3Jpbmcgb3V0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxMzg2CgoyMDE1LTA5LTEzIDE1OjQxOjM4ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtbmF1d0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiByZXNldCBqdXN0IGEgYml0IG1vcmUgdXBvbiBmbHVzaF9zdG9wCgoyMDE1LTA5LTEzIDE1OjQwOjA5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtbmF1d0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiByZW1vdmUgZGVhZCBzdHJ1Y3QgbWVtYmVyCgoyMDE1LTA5LTExIDE3OjA5OjI4ICswOTAwICBWaW5lZXRoIFRNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSAgbXVsdGl1ZHBzaW5rOiBmaXggR0Vycm9yIG1lbW9yeSBsZWFrIHdoZW4gaG9zdG5hbWUgcmVzb2x1dGlvbiBmYWlscwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU0ODY5CgoyMDE1LTA5LTEwIDE1OjI2OjU0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS5jOgoJICBtYXRyb3NrYW11eDogZHJvcCBIRUFERVIgZmxhZyBmcm9tIG91dHB1dCBidWZmZXJzCgkgIERyb3AgSEVBREVSIGZsYWcgZnJvbSBvdXRwdXQgYnVmZmVycyBpZiB0aGV5IGFyZSBub3QgaW5kZWVkCgkgIGhlYWRlcnMuCgkgIEZpeGVzIHJlc2VuZGluZyBvZiBoZWFkZXJzIGluIHRjcCBjb25uZWN0aW9uIGhhbmRsaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTQ3NjgKCjIwMTUtMDktMTAgMTY6MDA6NTAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS5jOgoJICBtYXRyb3NrYW11eDogZml4IG1hdHJvc2thbXV4ICEgbWF0cm9za2FkZW11eAoJICBEb24ndCBjYXJyeSBvdmVyIERJU0NPTlQgZmxhZ3MgZnJvbSB0aGUgaW5wdXQgYnVmZmVycyB0byB0aGUKCSAgb3V0cHV0IGJ1ZmZlciwgb3IgdGhlIGRlbXV4ZXIgbWlnaHQgcmVzZXQgaXRzIHN0YXRlIHdoZW4gaXQKCSAgcmVjZWl2ZXMgdGhlIGZpcnN0IGRhdGEgYnVmZmVyIGp1c3QgYWZ0ZXIgcGFyc2luZyB0aGUgc2ltcGxlCgkgIGJsb2NrIGhlYWRlciwgYW5kIHRoZW4gZXhwZWN0IHNhbmUgZGF0YSB0byBmb2xsb3cuCgkgIEZpeGVzIG1hdHJvc2thbXV4ICEgZGVtdXggZXJyb3Jpbmcgb3V0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU0NzY4CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTc4MDUKCjIwMTUtMDktMDkgMTI6NTE6NDAgLTA3MDAgIE1hcnRpbiBLZWxseSA8bWFydGluQHN1cnJvdW5kLmlvPgoKCSogZ3N0L3J0c3AvUkVBRE1FOgoJICBydHNwOiBmaXggc21hbGwgUkVBRE1FIHR5cG8KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NDgwNwoKMjAxNS0wOS0wNCAxOTo0NTozNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0d2F2cGFja3BhcnNlLmM6CgkgIHdhdnBhY2twYXJzZTogc2V0IGJvdGggcHRzIGFuZCBkdHMgc28gYmFzZXBhcnNlIGRvZXNuJ3QgbWFrZSB1cCB3cm9uZyBkdHMgYWZ0ZXIgc2Vla3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MjEwNgoKMjAxNS0wOS0wNCAxOTozNDo0MSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogc2V0IGJvdGggcHRzIGFuZCBkdHMgc28gYmFzZXBhcnNlIGRvZXNuJ3QgbWFrZSB1cCB3cm9uZyBkdHMgYWZ0ZXIgYSBzZWVrCgkgIGZsYWMgY29udGFpbnMgdGhlIHNhbXBsZSBvZmZzZXQgaW4gdGhlIGZyYW1lIGhlYWRlciwgc28gYWZ0ZXIgYSBzZWVrCgkgIHdpdGhvdXQgaW5kZXggZmxhY3BhcnNlIHdpbGwga25vdyB0aGUgZXhhY3QgcG9zaXRpb24gd2UgbGFuZGVkIG9uIGFuZAoJICB0aW1lc3RhbXAgYnVmZmVycyBhY2NvcmRpbmdseS4gSXQgb25seSBzZXQgdGhlIHB0cyB0aG91Z2gsIHdoaWNoIG1lYW5zCgkgIHRoZSBiYXNlcGFyc2Utc2V0IGR0cyB3aGljaCB3YXMgc2V0IHRvIHRoZSBzZWVrIHBvc2l0aW9uIHByZXZhaWxzLCBhbmQKCSAgc2luY2UgdGhlIHNlZWsgd2FzIGJhc2VkIG9uIGFuIGVzdGltYXRlLCB0aGVyZSdzIGxpa2VseSBhIGRpc2NyZXBhbmN5CgkgIGJldHdlZW4gd2hlcmUgd2Ugd2FudGVkIHRvIGxhbmQgYW5kIHdoZXJlIHdlIGRpZCBsYW5kLCBzbyBmcm9tIGhlcmUgb24KCSAgdGhhdCBkdHMvcHRzIGRpZmZlcmVuY2Ugd2lsbCBiZSBtYWludGFpbmVkLCB3aXRoIGR0cyBwb3NzaWJseSBtdWx0aXBsZQoJICBzZWNvbmRzIGFoZWFkIG9mIHB0cywgd2hpY2ggaXMganVzdCB3cm9uZy4gVGhlIGVhc2llc3Qgd2F5IHRvIGZpeCB0aGlzCgkgIGlzIHRvIGp1c3Qgc2V0IGJvdGggcHRzIGFuZCBkdHMgYmFzZWQgb24gdGhlIHNhbXBsZSBvZmZzZXQsIGJ1dCBwZXJoYXBzCgkgIHBhcnNlZCBhdWRpbyBzaG91bGQganVzdCBub3QgaGF2ZSBkdHMgc2V0IGF0IGFsbC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MjEwNgoKMjAxNS0wOS0wNiAxNjozMzowMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5zaWduYWxzOgoJICBkb2NzOiByZW1vdmUgcHJvcGVydGllcyBhbmQgc2lnbmFscyB0aGF0IG5vIGxvbmdlciBleGlzdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI2NDQzCgoyMDEzLTEwLTExIDE1OjEzOjAwICswMDAwICBHZW9yZ2UgQ2hyaXNzIDxnc2Nocmlzc0BnbWFpbC5jb20+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJICBmbHZtdXg6IE1ha2UgdGhlIGVsZW1lbnQgY291bnQgaW4gYXJyYXlzIG5vdCBpbmNsdWRlIGVuZAoJICBPbmUtbGluZSByZW1vdmFsIG9mIHRhZ3Nfd3JpdHRlbisrCgkgIFRoaXMgc2hvdWxkIGZpeCBydG1wIG91dHB1dCB0byBjcnRtcHNlcnZlciwgYW5kIGhvcGVmdWxseQoJICBub29uZSBpcyBleHBlY3RpbmcgdGhhdCB0aGUgZWxlbWVudCBjb3VudCBpbmNsdWRlcyB0aGUgZW5kCgkgIGVsZW1lbnQsIGFzIGRpZmZlcmVudCBiaXRzIG9mIGRvY3VtZW50YXRpb24gc2F5IGRpZmZlcmVudAoJICB0aGluZ3MgYWJvdXQgd2hldGhlciBpdCBzaG91bGQgb3Igbm90LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYxNjI0CgoyMDE1LTA3LTMwIDAwOjU5OjE1ICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2bXV4Lmg6CgkgIGZsdm11eDogU3RvcmUgaW5jb21pbmcgYml0cmF0ZSB0YWdzIGFuZCBzZW5kIGluIHRoZSBtZXRhZGF0YQoJICBBcHBhcmVudGx5IHRoZSBNaWNyb3NvZnQgQXp1cmUgUlRNUCBzZXJ2ZXIgcmVxdWlyZXMgdGhhdCB0aGUKCSAgdmlkZW9kYXRhcmF0ZSBhbmQgYXVkaW9kYXRhcmF0ZSBtZXRhZGF0YSBiZSBwcm92aWRlZCwgc28KCSAgc2V0IHRob3NlLCBldmVuIGlmIGl0J3MgdG8gMC4gVXNlIHRoZSBhY3R1YWwgaW5wdXQgYml0cmF0ZQoJICB0YWdzIGlmIGF2YWlsYWJsZS4KCjIwMTUtMDktMDQgMDA6MDY6MjkgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBEb24ndCBwYXJzZSBrZXkgZGF0YSBtb3JlIHRoYW4gbmVlZGVkLgoJICBXaGVuIGFuIGF1eGlsbGlhcnkgc3RyZWFtcyBhcmUgcHJlc2VudCBpbiB0aGUgU0RQIG1lZGlhLAoJICB0aGVyZSdzIG5vIG5lZWQgdG8gcmUtcGFyc2UgdGhlIFNEUCBhdHRyaWJ1dGVzIG11bHRpcGxlCgkgIHRpbWVzLgoKMjAxNS0wOS0wMyAyMDo1Njo1NSArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IEZpeCBTUlRQICsgUlRYLCBhdXRoIGFjY2VzcywgYSBsZWFrLCBhbmQgYW4gaW52YWxpZCBtZW1vcnkgYWNjZXNzLgoJICBJbiBwYXJzZV9rZXltZ210KCksIGRvbid0IG11dGF0ZSB0aGUgaW5wdXQgc3RyaW5nIHRoYXQncyBiZWVuIHBhc3NlZAoJICBhcyBjb25zdCwgZXNwZWNpYWxseSBzaW5jZSB3ZSBtaWdodCBuZWVkIHRoZSBvcmlnaW5hbCB2YWx1ZSBhZ2FpbiBpZgoJICB0aGUgc2FtZSBrZXkgaW5mbyBhcHBsaWVzIHRvIG11bHRpcGxlIHN0cmVhbXMgKFJUWCwgZm9yIGV4YW1wbGUpLgoJICBXaGVuIGEgcmVzb3VyY2UgaXMgNDA0LCBhbmQgd2UgaGF2ZSBhdXRoIGluZm8gLSByZXRyeSB3aXRoIHRoZSBhdXRoCgkgIGluZm8gdGhlIHNhbWUgYXMgaWYgd2UgaGFkIHJlY2VpdmUgdW5hdXRob3Jpc2VkLCBpbiBjYXNlIHRoZSByZXNvdXJjZQoJICBpc24ndCBldmVuIHZpc2libGUgdW50aWwgY3JlZGVudGlhbHMgYXJlIHN1cHBsaWVkLgoJICBGaXggYSBtZW1vcnkgbGVhayBoYW5kbGluZyBNaWtleSBkYXRhLgoJICBXaGVuIGdlbmVyYXRpbmcgYSByYW5kb20ga2V5c3RyaW5nLCBkb24ndCBvdmVycnVuIHRoZSAzMCBieXRlCgkgIGJ1ZmZlciBieSBnZW5lcmF0aW5nIDMyIGJ5dGVzIGludG8gaXQuCgoyMDE1LTA5LTA0IDE1OjE4OjA1ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgdWRwc3JjOiBGaXggYnVpbGQgd2l0aCBHTGliIDwgMi40NAoJICBHX0lPX0VSUk9SX0NPTk5FQ1RJT05fQ0xPU0VEIHdhcyBhZGRlZCBpbiAyLjQ0LgoKMjAxNS0wOS0wNCAxMjowMTo1MiArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIHVkcHNyYzogSWdub3JlIEdfSU9fRVJST1JfQ09OTkVDVElPTl9DTE9TRUQgd2hlbiByZWNlaXZpbmcgZGF0YQoJICBUaGlzIGhhcHBlbnMgb24gV2luZG93cyBpZiB3ZSB1c2UgdGhlIHNhbWUgc29ja2V0IGZvciBzZW5kaW5nIHBhY2tldHMsCgkgIGFuZCB0aGUgcmVtb3RlIHNlbmRzIElDTVAgcG9ydC9ob3N0IHVucmVhY2hhYmxlIG1lc3NhZ2VzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU0NTM0CgoyMDE1LTA5LTAyIDIxOjEyOjQxICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc2RlcGF5LmM6CgkgIHJ0cHZvcmJpcy90aGVvcmFkZXBheTogRml4IGhhbmRsaW5nIG9mIGZyYWdtZW50ZWQgcGFja2V0cwoJICBUaGlzIHdhcyBicm9rZW4gaW4gYjEwODlmYjUyMCBieSBub3QgY29uc2lkZXJpbmcgdGhlIGZ1bGwgcGFja2V0IGxlbmd0aCBvZiBhCgkgIGZyYWdtZW50ZWQgcGFja2V0IGJ1dCBvbmx5IHRoZSBsZW5ndGggb2YgdGhlIGZpcnN0IG9uZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NDQxNwoKMjAxNS0wOS0wMSAxNTozOToyMiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBkdG1mc3JjOiBSZXBseSB0byBsYXRlbmN5IHF1ZXJ5CgoyMDE1LTA4LTMxIDE2OjQyOjMwIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwc2Vzc2lvbi5jOgoJICB0ZXN0czogRml4IHJ0cHNlc3Npb24gdGVzdCBmYWlsdXJlCgkgIFRoZSB0aW1lIG9mIHRoZSBmaXJzdCBSVENQIHBhY2tldCBpcyBzZW1pLXJhbmRvbSwgc28KCSAgc29tZXRpbWVzIGl0IHdhcyBwcm9kdWNlZCBiZWZvcmUgZW5vdWdoIHBhY2tldHMgZnJvbQoJICB0aGUgc2Vjb25kIFNTUkMgd2VyZSByZWNlaXZlZC4gRmlyc3QgZHJvcCBxdWV1ZWQgUlRDUAoJICBwYWNrZXRzLCB0aGVuIGFkdmFuY2UgdGhlIGNsb2NrIGVub3VnaCB0byBlbnN1cmUKCSAgdGhhdCBhdCBsZWFzdCBvbmUgbmV3IFJUQ1AgcGFja2V0IGlzIHByb2R1Y2VkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUwNzMxCgoyMDE1LTA4LTMxIDEzOjU2OjA0ICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbGV2ZWwuYzoKCSAgbGV2ZWw6IGltcHJvdmUgdGhlIHRlc3QgZm9yIG11bHRpLWNoYW5uZWwgbW9kZQoJICBDaGFuZ2UgdGhlIHRlc3QgdG8gdmVyaWZ5IHRoZSByZWFkLWluZGV4IGZvciBtdWx0aXBsZSBtZXNzYWdlcyBwZXIgYnVmZmVyLgoJICBTZWUgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NDE0NAoKMjAxNS0wOC0zMSAxMjo0Njo1MiArMDIwMCAgSmFuIEFsZXhhbmRlciBTdGVmZmVucyAoaGVmdGlnKSA8amFuLnN0ZWZmZW5zQGdtYWlsLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBBbGlnbiByYXcgdmlkZW8gZnJhbWVzIHRvIDMyIGJ5dGVzCgkgIE91dHB1dHRpbmcgdW5hbGlnbmVkIHZpZGVvIGZyYW1lcyBjYXVzZXMgdmlkZW9zY2FsZSBldCBhbCB0bwoJICBjcmFzaCB3aGVuIGF0dGVtcHRpbmcgU0lNRC1hY2NlbGVyYXRlZCBjb252ZXJzaW9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2OTY1CgoyMDE1LTA4LTI2IDIzOjE2OjQ2ICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2xldmVsL2dzdGxldmVsLmM6CgkgIGxldmVsOiBmaXggbGV2ZWwgY2FsY3VsYXRpb25zIGZvciBtdXRsaXBsZSBjaGFubmVscwoJICBUaGlzIHdhcyBicm9rZW4gd2l0aCA3YjkwYmYzMjE1MDg5N2ExNDFhMjlhMTJlY2FiNTU1ZDhjNWI3ZmFiLgoKMjAxNS0wOC0yNyAxMDoyODo1NSArMDUzMCAgUmF2aSBLaXJhbiBLIE4gPHJhdmkua2lyYW5Ac2Ftc3VuZy5jb20+CgoJKiBnc3Qvc21wdGUvZ3N0c21wdGUuYzoKCSAgc21wdGU6IEZpeCBtZW1vcnkgbGVhawoJICBJbiBnc3Rfc21wdGVfY29sbGVjdGVkKCksIGNoZWNrIHVwZnJvbnQgaWYgaW5wdXQgZm9ybWF0cyBhcmUgc2FtZQoJICBvciBub3QuIFRoaXMgYXZvaWRzIGFsbG9jYXRpb24gb2YgaW4xIGFuZCBpbjIgYnVmZmVycyBhbmQKCSAgc3Vic2VxdWVudCBtZW1vcnkgbGVhayB3aGVuIGlucHV0IGZvcm1hdHMgZG8gbm90IG1hdGNoLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU0MTUzCgoyMDE1LTA4LTIxIDExOjUyOjE5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc291cGh0dHBzcmMuYzoKCSAgdGVzdHM6IHNvdXBodHRwc3JjOiBkb24ndCB0cnkgdG8gY29ubmVjdCB0byBkZWFkIHJhZGlvIHNlcnZlcgoKMjAxNS0wOC0yMSAxNjoyOToxNiArMDkwMCAgVmluZWV0aCBUTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogVHJpdmlhbCBmaXggdG8gY2hlY2sgY29ycmVjdCBjb25kaXRpb24KCSAgV2hlbiBjaGVja2luZyBmb3IgZGVzY3JpYmUgbWV0aG9kLCBiZWNhdXNlIG9mIG1pc3NpbmcgcGFyZW50aGVzZXMsIHdyb25nCgkgIGNvbmRpdGlvbiBpcyBiZWluZyBjaGVja2VkLCB3aGljaCB3aWxsIHJlc3VsdCBpbiB3cm9uZyBiZWhhdmlvci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MzkxMgoKMjAxNS0wOC0yMSAxMzoxOTowMiArMDkwMCAgVmluZWV0aCBUTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJICBtYXRyb3NrYTogcmVhZDogZml4IHRhZyBsaXN0IG1lbW9yeSBsZWFrCgkgIGdzdF90b2NfZW50cnlfbWVyZ2VfdGFncyBtYWtlcyBhIG5ldyByZWYgb2YgdGhlIHRhZ2xpc3QsIHNvIGl0IHNob3VsZAoJICBiZSB1bnJlZidlZCBhcyBzb29uIGFzIHRoZSB0YWdzIGFyZSBtZXJnZWQgdG8gdGhlIHRvY2VudHJ5CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTM5MDQKCjIwMTUtMDgtMjEgMTI6MjA6NTkgKzA5MDAgIFZpbmVldGggVE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6CgkgIHdhdnBhY2tkZWM6IGZpeCB0YWdsaXN0IG1lbW9yeSBsZWFrCgkgIFdoZW4gcGFzc2luZyB0aGUgdGFnbGlzdCB0byBnc3RfYXVkaW9fZGVjb2Rlcl9tZXJnZV90YWdzLCB0aGUgcmVmZXJlbmNlIGlzIGluY3JlYXNlZAoJICBieSBhdWRpb2RlY29kZXIgYW5kIHRoZSBjYWxsZXIgc2hvdWxkIGZyZWUgdGhlIHRhZ2xpc3QgYmVpbmcgcGFzc2VkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzOTAzCgoyMDE1LTA4LTIwIDE0OjQ1OjMzICswMjAwICBKZWFuLU1pY2hlbCBIYXV0Ym9pcyA8amVhbi1taWNoZWwuaGF1dGJvaXNAdmVvLWxhYnMuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnRyYW5zZm9ybS5jOgoJICB2NGwydHJhbnNmb3JtOiBmaXggcGFkIGNsb3NpbmcKCSAgU2lnbmVkLW9mZi1ieTogSmVhbi1NaWNoZWwgSGF1dGJvaXMgPGplYW4tbWljaGVsLmhhdXRib2lzQHZlby1sYWJzLmNvbT4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1Mzg3NQoKPT09IHJlbGVhc2UgMS41LjkwID09PQoKMjAxNS0wOC0xOSAxMzoyOTo1MyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuc2lnbmFsczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlzb21wNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZweC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogZ3N0LXBsdWdpbnMtZ29vZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMS41LjkwCgoyMDE1LTA4LTE5IDEyOjQ3OjQyICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZW8ucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vaHIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDE1LTA4LTE5IDExOjI5OjU1ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogcG8vZWwucG86CgkqIHBvL3poX0NOLnBvOgoJICBwbzogVXBkYXRlIHRyYW5zbGF0aW9ucwoKMjAxNS0wOC0xMyAxNzoyOTo1OCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc3JjLmM6CgkgIG11bHRpZmlsZXNyYzogZml4IHJlZ3Jlc3Npb24gd2l0aCBzdGFydGluZyBmcm9tIGluZGV4IHNldCB2aWEgaW5kZXggcHJvcGVydHkKCSAgV2hlbiB3ZSBoYXZlbid0IHN0YXJ0ZWQgeWV0LCBzZXQgdGhlIHN0YXJ0X2luZGV4IHdoZW4gd2Ugc2V0IHRoZSBpbmRleCBwcm9wZXJ0eSwKCSAgc28gdGhhdCB3ZSBzdGFydCBhdCB0aGUgcmlnaHQgaW5kZXggcG9zaXRpb24gYWZ0ZXIgdGhlIGluaXRpYWwgc2Vlay4gVGhlIGluZGV4CgkgIHByb3BlcnR5IHdhcyBuZXZlciByZWFsbHkgbWVhbnQgdG8gYmUgZm9yIHdyaXRpbmcsIGJ1dCBpdCB1c2VkIHRvIHdvcmssIHNvIGxldCdzCgkgIHN1cHBvcnQgaXQgZm9yIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM5NDcyCgoyMDE1LTA4LTE4IDEwOjUyOjExICswMTAwICBBbGV4IEFzaGxleSA8YnVnemlsbGFAYXNobGV5LWZhbWlseS5uZXQ+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZml4IG9mZnNldCBjYWxjdWxhdGlvbiB3aGVuIHBhcnNpbmcgQ0VOQyBhdXggaW5mbwoJICBDb21taXQgN2Q3ZTU0Y2U2ODYzZmY1M2UxODhkMDI3NmQyNjUxYjY1MDgyZmZkYiBhZGRlZCBzdXBwb3J0IGZvcgoJICBEQVNIIGNvbW1vbiBlbmNyeXB0aW9uLCBob3dldmVyIGNvbW1pdAoJICBiYjMzNjg0MGMwYjBiMDJmYTE4ZGM0NDM3Y2UwZGVkM2Q5MTQyODAxIHRoYXQgd2VudCBvbnRvIG1hc3RlcgoJICBzaG9ydGx5IGJlZm9yZSB0aGUgQ0VOQyBjb21taXQgY2F1c2VkIHRoZSBjYWxjdWxhdGlvbiBvZiB0aGUgQ0VOQwoJICBhdXggaW5mbyBvZmZzZXQgdG8gYmUgaW5jb3JyZWN0LgoJICBUaGUgYmFzZV9vZmZzZXQgd2FzIGJlaW5nIGFkZGVkIGlmIHByZXNlbnQsIGJ1dCBpZiB0aGUgYmFzZV9vZmZzZXQKCSAgaXMgcmVsYXRpdmUgdG8gdGhlIHN0YXJ0IG9mIHRoZSBtb29mLCB0aGUgb2Zmc2V0IHdhcyBiZWluZyBhZGRlZCB0d2ljZS4KCSAgVGhlIGNvcnJlY3QgYXBwcm9hY2ggaXMgdG8gY2FsY3VsYXRlIHRoZSBvZmZzZXQgZnJvbSB0aGUgc3RhcnQgb2YgdGhlCgkgIG1vb2YgYW5kIHVzZSB0aGF0IG9mZnNldCB3aGVuIHBhcnNpbmcgdGhlIENFTkMgYXV4IGluZm8uCgoyMDE1LTA4LTE3IDE0OjI4OjI0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkgIGZsYWNlbmM6IGFjdHVhbGx5IHJldHVybiB0cnVlIGZvciBhY2NlcHQtY2FwcyBxdWVyeSBoYW5kbGluZwoKMjAxNS0wOC0xNyAxNDowNzoxMCArMDkwMCAgSHl1bmp1biBLbyA8enpvb24ua29Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc21wYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBrbHZwYXkuYzoKCSAgcnRwOiBjb3B5IG1ldGFkYXRhIGluIHRoZSAoZGUpcGF5bG9hZGVycyB3aGljaCBpcyBtaXNzZWQgYmVmb3JlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTM3MDYKCjIwMTUtMDgtMTYgMTU6MjE6NTEgLTA0MDAgIER1c3RpbiBTcGljdXp6YSA8ZHVzdGluQHZpcnR1YWxyb2Fkc2lkZS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5oOgoJICBkaXJlY3Rzb3VuZHNpbms6IGFsbG93IHNwZWNpZnlpbmcgYXVkaW8gcGxheWJhY2sgZGV2aWNlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTM2NzAKCjIwMTUtMDgtMTYgMTM6NTE6NDcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSAgZmxhY2VuYzogcmVtb3ZlIHNpbmdsZSBlbnRyeSBpZiBmcm9tIGxvb3AKCSAgSXRlcmF0ZSBmcm9tIHRoZSAybmQgY2hhbm5lbCBvbiBhbmQgY3JlYXRlIHRoZSAxIGNoYW5uZWwgc3RydWN0CgkgIG91dHNpZGUgdG8gbWFrZSBsb29wIHN0cnVjdHVyZSBzaW1wbGVyIGFuZCBvbmx5IHNsaWdodGx5IGZhc3Rlci4KCjIwMTUtMDgtMTYgMTM6MjE6NDEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSAgZmxhY2VuYzogaW1wbGVtZW50IHByb3BlciBhY2NlcHQtY2FwcwoJICBTaG91bGQganVzdCBjb21wYXJlIHdpdGggd2hhdCBjYW4gYmUgaW1tZWRpYXRlbGx5IGFjY2VwdGVkIGJ5CgkgIHRoZSBlbGVtZW50LiBmbGFjZW5jIGNhbid0IHJlbmVnb3RpYXRlIHNvIGlmIGl0IGhhcyBhIGNhcHMgYWxyZWFkeQoJICBpdCBzaG91bGQgb25seSBhY2NlcHQgaWYgaXQgaXMgdGhhdCBjYXBzIG90aGVyd2lzZSBqdXN0IHVzZSB0aGUKCSAgdGVtcGxhdGUgY2FwcwoKMjAxNS0wOC0xNiAxMzowMzozNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJICBmbGFjZW5jOiBpbXByb3ZlIHNpbmsgcGFkIHRlbXBsYXRlIGNhcHMKCSAgUmVtb3ZlcyB0aGUgbmVlZCBmb3IgY3VzdG9tIGNhcHMgcXVlcnkgaGFuZGxpbmcgYW5kIG1ha2VzIGl0IG1vcmUKCSAgY29ycmVjdCBmcm9tIHRoZSBiZWdpbm5pbmcgb24gdGhlIHRlbXBsYXRlLiBJdCBpcyBhIGJpdCB1Z2xpZXIKCSAgdG8gcmVhZCBiZWNhdXNlIHRoZXJlIGlzIDEgZW50cnkgcGVyIGNoYW5uZWwgYnV0IG1ha2VzIGNvZGUgZWFzaWVyCgkgIHRvIG1haW50YWluLgoKMjAxNS0wOC0xNiAxMjo0MTo1NiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzoKCSAgeTRtZW5jb2RlOiBmaXggZ3N0LWxhdW5jaCB2ZXJzaW9uIGluIGRvY3VtZW50YXRpb24KCjIwMTUtMDgtMTUgMjI6MzI6MjEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6CgkqIGdzdC9sYXcvYWxhdy1lbmNvZGUuYzoKCSogZ3N0L2xhdy9tdWxhdy1lbmNvZGUuYzoKCSAgYXVkaW9lbmNvZGVyczogdXNlIHRlbXBsYXRlIHN1YnNldCBjaGVjayBmb3IgYWNjZXB0LWNhcHMKCSAgSXQgaXMgZmFzdGVyIHRoYW4gZG9pbmcgYSBxdWVyeSB0aGF0IHByb3BhZ2F0ZXMgZG93bnN0cmVhbSBhbmQKCSAgc2hvdWxkIGJlIGVub3VnaAoJICBFbGVtZW50czogc3BlZXhlbmMsIHdhdnBhY2tlbmMsIG11bGF3ZW5jLCBhbGF3ZW5jCgoyMDE1LTA4LTE1IDIyOjI5OjQxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkqIGV4dC9saWJwbmcvZ3N0cG5nZW5jLmM6CgkqIGV4dC92cHgvZ3N0dnA4ZW5jLmM6CgkqIGV4dC92cHgvZ3N0dnA5ZW5jLmM6CgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6CgkgIHZpZGVvZW5jb2RlcnM6IHVzZSB0ZW1wbGF0ZSBzdWJzZXQgY2hlY2sgZm9yIGFjY2VwdC1jYXBzCgkgIEl0IGlzIGZhc3RlciB0aGFuIGRvaW5nIGEgcXVlcnkgdGhhdCBwcm9wYWdhdGVzIGRvd25zdHJlYW0gYW5kCgkgIHNob3VsZCBiZSBlbm91Z2gKCSAgRWxlbWVudHM6IGpwZWdlbmMsIHBuZ2VuYywgdnA4ZW5jLCB2cDllbmMsIHk0bWVuYwoKMjAxNS0wOC0xNiAxNzoyMToyNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSAgbXBlZ2F1ZGlvcGFyc2U6IHVzZSBuZXcgYmFzZXBhcnNlIEFQSSB0byBmaXggdGFnIGhhbmRsaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Nzk3NjgKCjIwMTUtMDMtMTcgMTc6NTA6MzcgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhbXJwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0c2JjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3R3YXZwYWNrcGFyc2UuYzoKCSAgYXVkaW9wYXJzZXJzOiB1c2UgbmV3IGJhc2UgcGFyc2UgQVBJIHRvIGZpeCB0YWcgaGFuZGxpbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3OTc2OAoKMjAxNS0wOC0xNiAxNDozNzo1MyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogdXNlIG5ldyBiYXNlcGFyc2UgQVBJIGFuZCBmaXggdGFnIGhhbmRsaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Nzk3NjgKCjIwMTUtMDgtMTYgMTM6MDQ6MDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogVXNlIHNpZ25lZCBpbnRlZ2VyIHR5cGUgdG8gYmUgYWJsZSB0byBjaGVjayBmb3IgbmVnYXRpdmUgc3VidHJhY3Rpb24gcmVzdWx0cwoJICBDSUQgMTMxNTgyOQoKMjAxNS0wOC0xNiAxMTo1MDozNCArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzZGVwYXkuYzoKCSAgcnRwdm9yYmlzZGVwYXk6IHJlbW92ZSBkZWFkIGNvZGUKCSAgcGF5bG9hZF9idWZmZXIgbXVzdCBiZSBOVUxMIGluIGlnbm9yZV9yZXNlcnZlZC4gQ2hlY2sgd2lsbCBhbHdheXMgYmUgZmFsc2UuCgkgIEludHJvZHVjZWQgYnkgYjEwODlmYjUyMDc2OTdiYTI2ZWRiNGZmNjZlZDBmNDY1YzZkZjNjZgoJICBDSUQgIzEzMTY0NzYKCjIwMTUtMDgtMTUgMjI6NDU6NTMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9sYXcvYWxhdy1lbmNvZGUuYzoKCSogZ3N0L2xhdy9hbGF3LWVuY29kZS5oOgoJICBhbGF3ZW5jOiBwb3J0IHRvIEF1ZGlvRW5jb2RlciBiYXNlIGNsYXNzCgoyMDE1LTA4LTE1IDA5OjE2OjIzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6CgkqIGdzdC9sYXcvYWxhdy1kZWNvZGUuYzoKCSogZ3N0L2xhdy9tdWxhdy1kZWNvZGUuYzoKCSAgYXVkaW9kZWNvZGVyczogdXNlIGRlZmF1bHQgcGFkIGFjY2VwdC1jYXBzIGhhbmRsaW5nCgkgIEF2b2lkcyB1c2VsZXNzIGNoZWNrIG9mIGRvd25zdHJlYW0gY2FwcyB3aGVuIGhhbmRsaW5nIGFuCgkgIGFjY2VwdC1jYXBzIHF1ZXJ5CgkgIEVsZW1lbnRzOiBmbGFjZGVjLCBzcGVleGRlYywgd2F2cGFja2RlYywgbXVsYXdkZWMsIGFsYXdkZWMKCjIwMTUtMDgtMTUgMDg6NDk6NTcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzoKCSogZXh0L3ZweC9nc3R2cDhkZWMuYzoKCSogZXh0L3ZweC9nc3R2cDlkZWMuYzoKCSAgdmlkZW9kZWNvZGVyczogdXNlIGRlZmF1bHQgcGFkIGFjY2VwdC1jYXBzIGhhbmRsaW5nCgkgIEF2b2lkcyB1c2VsZXNzIGNoZWNrIG9mIGRvd25zdHJlYW0gY2FwcyB3aGVuIGhhbmRsaW5nIGFuCgkgIGFjY2VwdC1jYXBzIHF1ZXJ5CgkgIEVsZW1lbnRzOiBqcGVnZGVjLCBwbmdkZWMsIHZwOGRlYywgdnA5ZGVjCgoyMDE1LTA4LTE1IDExOjMxOjA0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvbGF3L2FsYXctZGVjb2RlLmM6CgkgIGFsYXdkZWM6IG1ha2UgZXJyb3IgaGFuZGxpbmcgYSBiaXQgbmljZXIKCSAgUHJpbnQgdGhlIGVsZW1lbnQgYWxvbmcgd2l0aCB0aGUgZGVidWcgdG8gbWFrZSBpdCBlYXNpZXIgdG8gdHJhY2UKCSAgdGhlIGZhaWx1cmVzCgoyMDE1LTA4LTE1IDExOjA0OjE2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvbGF3L2FsYXctZGVjb2RlLmM6CgkqIGdzdC9sYXcvYWxhdy1kZWNvZGUuaDoKCSAgYWxhd2RlYzogcG9ydCB0byBhdWRpb2RlY29kZXIgYmFzZSBjbGFzcwoJICBtdWxhd2RlYyB3YXMgYWxyZWFkeSBwb3J0ZWQsIGFsYXdkZWMgd2FzIGxlZnQgYmVoaW5kLgoKMjAxNS0wOC0xNSAxMDozNDoxNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IG9ubHkgbG9vayBmb3IgbW9yZSBzYW1wbGVzIGluIG1vb2ZzIGluIHB1bGwtbW9kZQoJICBGb3IgcGxheWJhY2sgb2Ygc29tZSBmcmFnbWVudGVkIGZvcm1hdHMgd2l0aCBxdGRlbXV4IGl0IHdpbGwKCSAgdHJ5IHRvIGxvb2sgZm9yIHRoZSBuZXh0IG1vb2YgYWZ0ZXIgZmluaXNoaW5nIG9uZSBidXQgaXQgaXMgb25seQoJICBwb3NzaWJsZSBmb3IgcHVsbC1tb2RlLiBGb3IgcGxheWJhY2sgb2Ygc3RyZWFtaW5nIGZyYWdtZW50ZWQgZm9ybWF0cwoJICBzdWNoIGFzIERBU0ggaXQgc2hvdWxkIGp1c3Qgbm90IHRyeSB0byBsb29rIGZvciBhbm90aGVyIG1vb2YgYnV0CgkgIGluc3RlYWQgd2FpdCBmb3IgbW9yZSBkYXRhLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyNjAyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTI2MDMKCjIwMTUtMDgtMTUgMTI6NTg6NTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmM6CgkgIGRjYXBhcnNlOiBEb24ndCBsb29rIGZvciBhIHNlY29uZCBzeW5jd29yZAoJICBUaGVyZSBhcmUgc3RyZWFtcyBvdXQgdGhlcmUgdGhhdCBjb25zaXN0ZW50bHkgY29udGFpbiBnYXJiYWdlIGJldHdlZW4KCSAgZXZlcnkgZnJhbWUgc28gd2UgbmV2ZXIgZXZlciBmaW5kIGEgc2Vjb25kIGNvbnNlY3V0aXZlIHN5bmN3b3JkLgoJICBTZWUgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczODIzNwoKMjAxNS0wOC0xNSAxMToxMjowNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC92cHgvZ3N0dnA4ZW5jLmM6CgkqIGV4dC92cHgvZ3N0dnA5ZW5jLmM6CgkgIHZwOGVuYywgdnA5ZW5jOiByZXNldCBtdWx0aXBhc3MgZmlsZSBpbmRleCB3aGVuIHN0b3BwaW5nIGVuY29kZXIKCSAgRml4ZXMgbXVsdGlwYXNzIGVuY29kaW5nIHdoZW4gcmUtdXNpbmcgdGhlIHNhbWUgZWxlbWVudC9waXBlbGluZQoJICBmb3Igc3Vic2VxdWVudCBlbmNvZGluZyBydW5zLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ3NzI4CgoyMDE1LTA4LTE1IDExOjA5OjQyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3ZweC9nc3R2cDllbmMuYzoKCSogZXh0L3ZweC9nc3R2cDllbmMuaDoKCSAgdnA5ZW5jOiBwcm92aWRlIHN1cHBvcnQgZm9yIG11bHRpcGxlIHBhc3MgY2FjaGUgZmlsZXMKCSAgU29tZSBmaWxlcyBtYXkgcHJvdmlkZSBkaWZmZXJlbnQgY2FwcyBpbnNpZ2h0IG9mIG9uZSBzdHJlYW0uIFNpbmNlCgkgIHZwOWVuYyBzdXBwb3J0IGNhcHMgcmVpbml0LCB3ZSBzaG91bGQgc3VwcG9ydCBjYWNoZSByZWluaXQgdG9vLgoJICBJZiBtb3JlIHRoZW4gZmlsZSBjYWNoZSBmaWxlIHdpbGwgYmUgY3JlYXRlZCwgdGhlIG5hbWluZyB3aWxsIGJlOgoJICBjYWNoZSBjYWNoZS4xIGNhY2hlLjIgLi4uCgkgIEJhc2VkIG9uIHBhdGNoIGJ5OiBPbGVrc2lqIFJlbXBlbCA8bGludXhAcmVtcGVsLXByaXZhdC5kZT4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NzcyOAoKMjAxNS0wOC0xNCAxMTo0MTo0MiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYWFjcGFyc2UuYzoKCSAgdGVzdHM6IGFhY3BhcnNlOiB1c2UgY2FwcyBxdWVyeSBpbnN0ZWFkIG9mIGFjY2VwdC1jYXBzCgkgIFRoZSBhY2NlcHQtY2FwcyBxdWVyeSBqdXN0IGRvZXMgYSBzaGFsbG93IGNoZWNrIGF0IHRoZSBjdXJyZW50CgkgIGVsZW1lbnQgd2hpbGUgYXQgdGhpcyB0ZXN0IHdlIHdhbnQgaXQgdG8gYWxzbyBsb29rIGF0IGRvd25zdHJlYW0uCgkgIFNvIHVzZSBjYXBzIHF1ZXJ5IHRoZXJlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzNjIzCgoyMDE1LTA4LTE0IDExOjQwOjIyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhbXJwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RzYmNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdHdhdnBhY2twYXJzZS5jOgoJICBhdWRpb3BhcnNlcnM6IGVuYWJsZSBhY2NlcHQtdGVtcGxhdGUgZmxhZwoJICBEbyBhIHF1aWNrIGNoZWNrIHdpdGggdGhlIHBhZCB0ZW1wbGF0ZSBjYXBzIGFzIGl0IGlzIGVub3VnaC4gVXNlcnMKCSAgc2hvdWxkIGhhdmUgZmlndXJlZCB0aGUgYXBwcm9wcmlhdGUgZnVsbCBjYXBzIG9uIGEgcHJldmlvdXMgY2FwcyBxdWVyeQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzNjIzCgoyMDE1LTA4LTE0IDE1OjQ2OjUzICswMjAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIHJ0c3BzcmM6IHNlbmQgdGhlIFVzZXItQWdlbnQgaGVhZGVyCgkgIFNvbWV0aW1lcyBpdCBpcyB1c2VmdWwgdG8ga25vdyB0aGlzIGluZm9ybWF0aW9uIG9uIHRoZQoJICBzZXJ2ZXIgc2lkZS4gT3RoZXIgcG9wdWxhciBpbXBsZW1lbnRhdGlvbnMgKHZsYywgZmZtcGVnLCAuLi4pCgkgIGFsc28gc2VuZCB0aGlzIGhlYWRlciBvbiBldmVyeSBtZXNzYWdlLgoJICBUaGlzIGluY2x1ZGVzIGEgbmV3ICJ1c2VyLWFnZW50IiBwcm9wZXJ0eSB0aGF0IHRoZSB1c2VyCgkgIGNhbiBzZXQgdG8gdXNlIGEgY3VzdG9tIFVzZXItQWdlbnQgc3RyaW5nLiBUaGUgZGVmYXVsdAoJICBpcyAiR1N0cmVhbWVyLzx2ZXJzaW9uPiIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MDEwMQoKMjAxNS0wOC0xNCAxNTo0Mjo0MiArMDIwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogd3JhcCBnc3RfcnRzcF9tZXNzYWdlX2luaXRfcmVxdWVzdCBpbiBhIGxvY2FsIGZ1bmN0aW9uCgkgIFRoaXMgd2lsbCBhbGxvdyBhZGRpbmcgY29tbW9uIHJlcXVlc3QgaW5pdGlhbGl6YXRpb24sIGxpa2UgdGhlCgkgIHVzZXIgYWdlbnQgc3RyaW5nLCBpbiBqdXN0IG9uZSBwbGFjZS4KCjIwMTUtMDgtMTQgMDk6MzY6MDkgKzA1MzAgIFByYXNoYW50IEdvdGFybmUgPHBzLmdvdGFybmVAc2Ftc3VuZy5jb20+CgoJKiBnc3QvYXVkaW9meC9hdWRpb2VjaG8uYzoKCSAgYXVkaW9lY2hvOiBtYWtlIHN1cmUgYnVmZmVyIGdldHMgcmVhbGxvY2F0ZWQgaWYgbWF4X2RlbGF5IGNoYW5nZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MzQ5MAoKMjAxNS0wNy0wOSAwOTo1MToyNiArMDIwMCAgT2xla3NpaiBSZW1wZWwgPGxpbnV4QHJlbXBlbC1wcml2YXQuZGU+CgoJKiBleHQvdnB4L2dzdHZwOGVuYy5jOgoJKiBleHQvdnB4L2dzdHZwOGVuYy5oOgoJICB2cDhlbmM6IHByb3ZpZGUgc3VwcG9ydCBmb3IgbXVsdGlwbGUgcGFzcyBjYWNoZSBmaWxlcwoJICBTb21lIGZpbGVzIG1heSBwcm92aWRlIGRpZmZlcmVudCBjYXBzIGluc2lnaHQgb2Ygb25lIHN0cmVhbS4gU2luY2UgdnA4ZW5jCgkgIHN1cHBvcnQgY2FwcyByZWluaXQsIHdlIHNob3VsZCBzdXBwb3J0IGNhY2hlIHJlaW5pdCB0b28uCgkgIElmIG1vcmUgdGhlbiBmaWxlIGNhY2hlIGZpbGUgd2lsbCBiZSBjcmVhdGVkLCB0aGUgbmFtaW5nIHdpbGwgYmU6CgkgIGNhY2hlCgkgIGNhY2hlLjEKCSAgY2FjaGUuMgoJICAuLi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NzcyOAoKMjAxNS0wNC0xNSAyMjo1MTo1MSArMDIwMCAgUmFtaXJvIFBvbGxhIDxyYW1pcm8ucG9sbGFAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBtcDRnZGVwYXkuYzoKCSAgcnRwbXA0Z2RlcGF5OiBmaXggdGltZXN0YW1wcyBmb3IgUlRQIHBhY2tldHMgd2l0aCBtdWx0aXBsZSBBVXMKCSAgVXNlIGNvbnN0YW50RHVyYXRpb24gdG8gY2FsY3VsYXRlIHRoZSB0aW1lc3RhbXAgb2Ygbm9uLWZpcnN0IEFVIGluIHRoZQoJICBSVFAgcGFja2V0LgoJICBJZiBjb25zdGFudER1cmF0aW9uIGlzIG5vdCBwcmVzZW50IGluIHRoZSBNSU1FIHBhcmFtZXRlcnMsIGl0cyB2YWx1ZQoJICBtdXN0IGJlIGNhbGN1bGF0ZWQgYmFzZWQgb24gdGhlIHRpbWluZyBpbmZvcm1hdGlvbiBmcm9tIHR3byBjb25zZWN1dGl2ZQoJICBSVFAgcGFja2V0cyB3aXRoIEFVLUluZGV4IGVxdWFsIHRvIDAuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDc4ODEKCjIwMTUtMDgtMTQgMDY6NDM6MTMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXBodHRwc3JjOiByZW1vdmUgdW5uZWNlc3NhcnkgaWYsIGdfZnJlZSBpcyBudWxsIHNhZmUKCjIwMTUtMDgtMTQgMDg6MzM6NTYgKzAxMDAgIEFsZXggQXNobGV5IDxidWd6aWxsYUBhc2hsZXktZmFtaWx5Lm5ldD4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmg6CgkgIHNvdXBodHRwc3JjOiBhZGQgcHJvcGVydHkgdG8gc2V0IEhUVFAgbWV0aG9kCgkgIFRvIGFsbG93IHNvdXBodHRwc3JjIHRvIGJlIHVzZSBIVFRQIG1ldGhvZHMgb3RoZXIgdGhhbiBHRVQKCSAgKGUuZy4gSEVBRCksIGFkZCBhICJtZXRob2QiIHByb3BlcnR5IHRoYXQgaXMgYSBzdHJpbmcuIElmIHRoaXMKCSAgcHJvcGVydHkgaXMgbm90IHNldCwgR0VUIGlzIHVzZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTI0MTMKCjIwMTUtMDgtMTQgMTE6MTM6MDEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiB0ZXN0cy9jaGVjay9nZW5lcmljL3N0YXRlcy5jOgoJICBjaGVjazogUmVuYW1lIHN0YXRlcyB1bml0IHRlc3QKCSAgTWFrZXMgaXQgZWFzaWVyIHRvIGRpZmZlcmVudGlhdGUgZnJvbSBvdGhlciBtb2R1bGVzIHN0YXRlcyB1bml0IHRlc3QKCjIwMTUtMDgtMTQgMDk6MjE6MjUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZ29vbS9nc3RhdWRpb3Zpc3VhbGl6ZXIuYzoKCSogZ3N0L2dvb20vZ3N0YXVkaW92aXN1YWxpemVyLmg6CgkqIGdzdC9nb29tMmsxL2dzdGF1ZGlvdmlzdWFsaXplci5jOgoJKiBnc3QvZ29vbTJrMS9nc3RhdWRpb3Zpc3VhbGl6ZXIuaDoKCSAgZ29vbTogUmVuYW1lIGdldF90eXBlKCkgZnVuY3Rpb24gb2YgYmFzZSBjbGFzcyB0byBwcmV2ZW50IHN5bWJvbCBjb25mbGljdHMKCSAgVGhpcyBpcyBhIHByb2JsZW0gd2hlbiBzdGF0aWNhbGx5IGxpbmtpbmcuCgoyMDE1LTA4LTEzIDE2OjMyOjU1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogS2VlcCB0aGUgRFRTIGVzdGltYXRlIGlmIHdlIGdvdCBubyBEVFMgYWZ0ZXIgYSBqaXR0ZXJidWZmZXIgcmVzZXQKCSAgT3RoZXJ3aXNlIHdlIHdpbGwganVzdCBvdXRwdXQgYnVmZmVycyB3aXRob3V0IHRpbWVzdGFtcHMgYWZ0ZXIgYSByZXNldCBpZiBubwoJICB0aW1lc3RhbXBzIGFyZSBwcm92aWRlZCBieSB1cHN0cmVhbSwgZS5nLiB3aGVuIHVzaW5nIFJUU1Agb3ZlciBUQ1AuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDk1MzYKCjIwMTUtMDgtMTIgMTc6MTY6MDEgKzA1MzAgIFJhdmkgS2lyYW4gSyBOIDxyYXZpLmtpcmFuQHNhbXN1bmcuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4Lmg6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5oOgoJICBtYXRyb3NrYTogUmVtb3ZlIHVudXNlZCB2YXJpYWJsZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzNTU2CgoyMDE1LTA4LTA0IDIwOjU5OjE3ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cC9nc3RydHBMMTZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cEwyNGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYWMzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhYzNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGJ2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBjZWx0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBjZWx0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZHZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGR2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyMmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyM3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjlkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjlwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc21kZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzdGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3N0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2MWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2MXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaWxiY2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwajJrZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqMmtwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqcGVnZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqcGVncGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXAxc2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXAydGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXAydHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRnZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRncGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXB2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcHZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY21hZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY211ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBxY2VscGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcWRtZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzYmNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNiY3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNpcmVuZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzcGVleGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzdjN2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHV0aWxzLmM6CgkqIGdzdC9ydHAvZ3N0cnRwdXRpbHMuaDoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc3BheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHZwOGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnA4cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnJhd2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnJhd3BheS5jOgoJICBydHA6IENvcHkgbWV0YWRhdGEgaW4gdGhlIChkZSlwYXlsb2FkZXIsIGJ1dCBvbmx5IHRoZSByZWxldmFudCBvbmVzCgkgIFRoZSBwYXlsb2FkZXIgZGlkbid0IGNvcHkgYW55dGhpbmcgc28gZmFyLCB0aGUgZGVwYXlsb2FkZXIgY29waWVkIGV2ZXJ5CgkgIHBvc3NpYmxlIG1ldGEuIExldCdzIG1ha2UgaXQgY29uc2lzdGVudCBhbmQganVzdCBjb3B5IGFsbCBtZXRhcyB3aXRob3V0CgkgIHRhZ3Mgb3Igd2l0aCBvbmx5IHRoZSB2aWRlbyB0YWcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTE3NzQKCjIwMTUtMDgtMTAgMTg6MjA6MTUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBmaXggc21hbGwgdHlwbyBpbiBjb21tZW50CgoyMDE1LTA4LTEwIDE2OjE5OjE4IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvZ29vbTJrMS9nc3Rnb29tLmM6CgkgIGdvb20yazEvZG9jOiBGaXh1cCBwcmV2aW91cyBjb21taXQKCjIwMTUtMDgtMTAgMTU6NTU6MTkgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBnc3QvZ29vbTJrMS9nc3Rnb29tLmM6CgkqIGdzdC9nb29tMmsxL2dzdGdvb20uaDoKCSAgZ29vbTJrMS9kb2M6IFVzZSBHc3RHb29tMmsxIG5hbWVzcGFjZQoJICBUaGUgZG9jIGdlbmVyYXRvciBpc24ndCBoYXBweSB3aGVuIHdlIGhhdmUgY2xhc3MgbmFtZSBjbGFzaC4gU2ltcGx5CgkgIHVzZSBpdCdzIG93biBuYW1lc3BhY2UuCgoyMDE1LTA4LTEwIDE3OjEwOjQyICswNTMwICBQcmFzaGFudCBHb3Rhcm5lIDxwcy5nb3Rhcm5lQHNhbXN1bmcuY29tPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9lY2hvLmM6CgkgIGF1ZGlvZWNobzogcmVtb3ZlZCB1bnVzZWQgdmFyaWFibGUgaW4gc2V0X3Byb3BlcnR5CgkgIHVudXNlZCBsb2NhbCB2YXJpYWJsZSAnZGVsYXknIGlzIHJlbW92ZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTM0NTAKCjIwMTUtMDgtMTAgMTI6NDU6MjcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZml4IHN1Ym9wdGltYWwgcXVldWUgaXRlcmF0aW9uIGNvZGUKCjIwMTUtMDgtMDkgMTc6MjU6NDUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZG9uJ3QgdXNlIGdsaWIgMi40NC1vbmx5IEFQSQoKMjAxNS0wNy0yOSAxNDoxNDo1MCArMDEwMCAgQWxleCBBc2hsZXkgPGJ1Z3ppbGxhQGFzaGxleS1mYW1pbHkubmV0PgoKCSogZ3N0L2lzb21wNC9mb3VyY2MuaDoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5oOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXhfdHlwZXMuYzoKCSAgcXRkZW11eDogYWRkIHN1cHBvcnQgZm9yIElTT0JNRkYgQ29tbW9uIEVuY3J5cHRpb24KCSAgVGhpcyBjb21taXQgYWRkcyBzdXBwb3J0IGZvciBJU09CTUZGIENvbW1vbiBFbmNyeXB0aW9uIChjZW5jKSwgYXMKCSAgZGVmaW5lZCBpbiBJU08vSUVDIDIzMDAxLTcuIEl0IHVzZXMgYSBHc3RQcm90ZWN0aW9uIGV2ZW50IHRvCgkgIHBhc3MgdGhlIGNvbnRlbnRzIG9mIFBTU0ggYm94ZXMgdG8gZG93bnN0cmVhbSBkZWNyeXB0b3IgZWxlbWVudHMKCSAgYW5kIGF0dGFjaGVkIEdzdFByb3RlY3Rpb25NZXRhIHRvIGVhY2ggc2FtcGxlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA1OTkxCgoyMDE1LTA4LTEwIDE0OjEzOjUwICswOTAwICBIeXVuanVuIEtvIDx6em9vbi5rb0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkgIHJ0cGgyNjRkZXBheTogY2hlY2tpbmcgaWYgZGVwYXkgaGFzIHNwcy9wcHMgbmFscyBiZWZvcmUgaW5zZXJ0aW9uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTM0MzAKCjIwMTUtMDgtMDggMTY6NDQ6NDkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBmaXggb3V0ZGF0ZWQgY29tbWVudAoJICBUaGUgZGVmYXVsdCBiZWhhdmlvdXIgd2FzIGNoYW5nZWQgaW4gdGhlIDAuMTAgLT4gMS54CgkgIHRyYW5zaXRpb24sIGJ1dCB0aGUgY29tbWVudCB3YXMgbm90IHVwZGF0ZWQuCgoyMDE1LTA4LTA4IDE3OjQyOjIyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFwYXkuYzoKCSAgcnRwdGhlb3JhcGF5OiBJZiBmbHVzaGluZyBhIHBhY2tldCBmYWlsZWQsIGdvIG91dCBvZiB0aGUgbG9vcCBpbW1lZGlhdGVseQoKMjAxNS0wOC0wOCAxNzo0MTowMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzcGF5LmM6CgkgIHJ0cHZvcmJpc3BheTogSWYgZmx1c2hpbmcgYSBwYWNrZXQgZmFpbGVkLCBnbyBvdXQgb2YgdGhlIGxvb3AgaW1tZWRpYXRlbHkKCjIwMTUtMDgtMDggMTc6MzQ6NTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYXBheS5oOgoJICBydHB0aGVvcmFwYXk6IEV4dHJhY3QgcGl4ZWwgZm9ybWF0IGZyb20gdGhlIGlkZW50IGhlYWRlciB0byBwdXQgaXQgaW50byB0aGUgc2FtcGxpbmcgZmllbGQgb2YgdGhlIGNhcHMKCSAgV2UgYWx3YXlzIHB1dCA0OjI6MCBpbnRvIHRoZSBjYXBzIGJlZm9yZSwgd2hpY2ggb2J2aW91c2x5IGlzIHdyb25nIGZvciA0OjI6MgoJICBhbmQgNDo0OjQgZm9ybWF0cy4KCjIwMTUtMDgtMDYgMTc6NDY6MTMgKzAyMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGtsdmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwa2x2cGF5LmM6CgkgIHJ0cGtsdihkZSlwYXk6IGFkZCAiUlRQIiBpbiB0aGUga2xhc3Mgc3RyaW5nCgkgIEdzdFJUU1BNZWRpYSB1c2VzIHRoaXMgY2xhc3NpZmljYXRpb24gdG8gZGV0ZWN0IHRoZSByZWFsIHBheWxvYWRlcgoJICBpbnNpZGUgYSBkeW5wYXkgYmluIGFuZCBhc3NlcnRzIGlmIGl0IGRvZXNuJ3QgZmluZCBpdCwgdGhlcmVmb3JlCgkgIGl0IGlzIHJlcXVpcmVkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTMzMjUKCjIwMTUtMDgtMDUgMTE6MTM6MDkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGF1eC5jOgoJICB0ZXN0czogcnRwYXV4OiB1c2UgYSBkeW5hbWljIHB0IGluIHRoZSB0ZXN0CgkgIDEpIFRlc3RzIHRoYXQgdXNpbmcgZHluYW1pYyBQVCBpbnN0ZWFkIG9mIHRoZSBkZWZhdWx0IG9uZXMgd29yawoJICAyKSBJZiB3ZSBldmVyIGRlY2lkZSB0byBjaGFuZ2UgdGhlIGNvZGVjIGhlcmUgd2UgZG9uJ3QgbmVlZCB0bwoJICB3b3JyeSBhYm91dCBjaGFuZ2UgdGhlIFBUIGZvciB0aGUgZGVmYXVsdCBvbmUgb2YgdGhlIG5ldyBjb2RlYwoJICBpbiB0aGUgdGVzdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ2NDQ1CgoyMDE1LTA4LTA1IDEwOjUzOjE1ICswOTAwICBIeXVuanVuIEtvIDx6em9vbi5rb0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHNlbmQuYzoKCSAgcnRwcnR4c2VuZDogcHJpbnQgdmFsaWQgdHlwZSB3aGVyZSBndWludDMyIGlzIGV4cGVjdGVkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDY0NDUKCjIwMTUtMDgtMDYgMTE6MzM6MzcgKzA5MDAgIEh5dW5qdW4gS28gPHp6b29uLmtvQHNhbXN1bmcuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBMMTZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzIycGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyM3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjlwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc21wYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYxcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDJ0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXB2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtYXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbXVwYXkuYzoKCSAgcnRwcGF5bG9hZDogc2V0IHN0YW5kYXJkIHBheWxvYWQgdHlwZSBhcyBkZWZhdWx0CgkgIEluaXRpYWxpemUgdGhlIFBUIHRvIHRoZSBkZWZhdWx0IHZhbHVlIG9mIHRoZSBjb2RlYyBhbmQgY2hlY2sgaWYKCSAgaXQgaXMgc3RpbGwgdGhlIGRlZmF1bHQgYmVmb3JlIGRlY2xhcmluZyB0aGUgcHQgdG8gYmUgZHluYW1pYyBvcgoJICBub3Qgd2hlbiBzZXR0aW5nIHRoZSBjYXBzLgoJICBBbHNvIHVzZSB0aGUgUFQgY29uc3RhbnRzIGZyb20gdGhlIHJ0cCBsaWIgd2hlbiBwb3NzaWJsZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ3OTY1CgoyMDE1LTA3LTI2IDEyOjA3OjU2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogc3RvcmUgdGhlIG1vb2Ytb2Zmc2V0IGFsc28gZm9yIHB1c2ggbW9kZQoJICBJdCB3aWxsIGJlIHVzZWQgaW4gc29tZSBjYXNlcyBmb3IgZ2V0dGluZyB0aGUgY29ycmVjdCBvZmZzZXRzCgkgIGZyb20gdHJ1biBhdG9tcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MjYwMwoKMjAxNS0wNy0yNiAwMjowOToyNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9hdG9tcy5oOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4X3R5cGVzLmg6CgkgIHF0ZGVtdXg6IGhhbmRsZSBkZWZhdWx0LWJhc2UtaXMtbW9vZiBmbGFnCgkgIEhhbmRsZSB0aGUgZmxhZyBmcm9tIHRoZSB0ZmhkIHRoYXQgc2lnbmFscyB0aGUgYmFzZSBvZmZzZXQgdG8KCSAgc3RhcnQgZnJvbSB0aGUgbW9vZiBhdG9tCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTI2MDMKCjIwMTUtMDctMjkgMTg6NTQ6MzUgLTA2MDAgIEdsZW4gRGllbmVyIDxncmRAbG9nYW5taWxsLm5ldD4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmg6CgkgIG1hdHJvc2thZGVtdXg6IFByZXNlcnZlIGZvcndhcmQgcmVmZXJlbmNlZCB0cmFjayB0YWdzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTI4NTAKCjIwMTUtMDgtMDQgMTg6MDc6MzUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGF1eC5jOgoJICB0ZXN0czogcnRwYXV4OiBmaXggdGVzdCBmYWlsdXJlCgkgIFRoZSBSVFAgUFQgZm9yIGFsYXcgaXMgOC4KCSAgTGVzcyB0aGFuIDUwIHBhY2tldHMgYXJlIHJlY2VpdmVkIGluIHRoZSBsZW5ndGggb2YgdGhpcyB0ZXN0IHNvIGl0CgkgIHdvdWxkIG5ldmVyIGRyb3AgYSBidWZmZXIgb3Igd291bGQgZHJvcCBvbmx5IHRoZSBsYXN0IGJ1ZmZlciBhbmQKCSAgaXQgd291bGQgZmFpbCBzb21ldGltZXMgd2hlbiB0aGUgcmVjZWl2ZWQgd291bGRuJ3QgcmVjZWl2ZSB0aGUKCSAgcmV0cmFuc21pc3Npb24gcGFja2V0IGluIHRpbWUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDY0NDUKCjIwMTUtMDgtMDQgMjA6NTk6MTcgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHN0cmVhbWRlcGF5LmM6CgkgIHJ0cHN0cmVhbWRlcGF5OiBPbmx5IGFsbG93IGFjdGl2YXRpb24gaW4gcHVzaCBtb2RlCgkgIFdlIG5lZWQgYSBwcm9wZXIgY2FwcyBldmVudCBmcm9tIHVwc3RyZWFtIHdpdGggdGhlIGZ1bGwgUlRQIGNhcHMgYXMgd2UgY2FuJ3QKCSAgY3JlYXRlIGNhcHMgb3Vyc2VsdmVzIGZyb20gdGhpbiBhaXIuIEZpeGVzIHVzYWdlIG9mIHJ0cHN0cmVhbWRlcGF5IGFmdGVyIGUuZy4KCSAgYSBmaWxlc3JjIG9yIGFueSBvdGhlciBlbGVtZW50IHRoYXQgc3VwcG9ydHMgcHVsbCBtb2RlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzMDY2CgoyMDE1LTA4LTA0IDE2OjI4OjE3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cDogZml4IHR5cG8gaW4gdHJhbnNsYXRlZCBzdHJpbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MzI0MAoKMjAxNS0wOC0wNCAxMjoyNTo0NiArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkgIHJ0cGgyNjRkZXBheTogUHV0IHRoZSBwcm9maWxlIGFuZCBsZXZlbCBpbnRvIHRoZSBjYXBzCgoyMDE1LTA4LTA0IDEyOjA5OjEyICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSAgcnRwaDI2NGRlcGF5OiBPbmx5IHVwZGF0ZSB0aGUgc3JjcGFkIGNhcHMgaWYgc29tZXRoaW5nIGVsc2UgdGhhbiB0aGUgY29kZWNfZGF0YSBjaGFuZ2VkCgkgIGgyNjRwYXJzZSBkb2VzIHRoZSBzYW1lLCBsZXQncyBrZWVwIHRoZSBiZWhhdmlvdXIgY29uc2lzdGVudC4gQXMgd2Ugbm93CgkgIGluY2x1ZGUgdGhlIGNvZGVjX2RhdGEgaW5zaWRlIHRoZSBzdHJlYW0gdG9vIGhlcmUsIHRoaXMgY2F1c2VzIGxlc3MgY2FwcwoJICByZW5lZ290aWF0aW9uLgoKMjAxNS0wOC0wNCAxMTo0ODoyNyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkgIHJ0cGgyNjRkZXBheTogUFBTIHJlcGxhY2VzIGFuZCBvbGQgUFBTIGlmIGl0IGhhcyB0aGUgc2FtZSBpZCwgaW5kZXBlbmRlbnQgb2YgU1BTIGlkCgkgIFRoZSBzcGVjIHNheXM6CgkgIFdoZW4gYSBwaWN0dXJlIHBhcmFtZXRlciBzZXQgTkFMIHVuaXQgd2l0aCBhIHBhcnRpY3VsYXIgdmFsdWUgb2YKCSAgcGljX3BhcmFtZXRlcl9zZXRfaWQgaXMgcmVjZWl2ZWQsIGl0cyBjb250ZW50IHJlcGxhY2VzIHRoZSBjb250ZW50IG9mIHRoZQoJICBwcmV2aW91cyBwaWN0dXJlIHBhcmFtZXRlciBzZXQgTkFMIHVuaXQsIGluIGRlY29kaW5nIG9yZGVyLCB3aXRoIHRoZSBzYW1lCgkgIHZhbHVlIG9mIHBpY19wYXJhbWV0ZXJfc2V0X2lkICh3aGVuIGEgcHJldmlvdXMgcGljdHVyZSBwYXJhbWV0ZXIgc2V0IE5BTCB1bml0CgkgIHdpdGggdGhlIHNhbWUgdmFsdWUgb2YgcGljX3BhcmFtZXRlcl9zZXRfaWQgd2FzIHByZXNlbnQgaW4gdGhlIGJpdHN0cmVhbSkuCgoyMDE1LTA4LTAzIDEzOjQ1OjU5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c2luay5jOgoJICBzcGxpdG11eHNpbms6IHJlbW92ZSBleHRyYSBcbiBhdCBkZWJ1ZyBtZXNzYWdlCgoyMDE1LTA4LTAzIDEzOjQyOjIwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c2luay5jOgoJICBzcGxpdG11eHNpbms6IHByZXZlbnQgZGVhZGxvY2sgd2hlbiBzdGF0ZXMgY2hhbmdlIHRvbyBmYXN0CgkgIElmIHRoZSBHT1AgaXMgY29tcGxldGVkLCBwYWRzIGhhdmUgdG8gc3RhcnQgZ2F0aGVyaW5nIGZvciB0aGUKCSAgbmV4dCBvbmUgYnV0IGl0IGlzIHBvc3NpYmxlIHRoYXQgdGhlIHRoZSBzdGF0ZSBtaWdodCBnbyB0bwoJICBDT0xMRUNUSU5HX0dPUF9TVEFSVCBhbmQgYmFjayB0byBXQUlUSU5HX0dPUF9DT01QTEVURSBiZWZvcmUgdGhlCgkgIHRocmVhZCBoYXMgYSBjaGFuY2UgdG8gd2FrZSB1cCBhbmQgcHJvY2VlZCwgbGVhdmluZyBpdCB0cmFwcGVkIGluCgkgIHRoZSBjaGVja19jb21wbGV0ZWRfZ29wIGxvb3AgYW5kIGRlYWRsb2NraW5nIHRoZSBvdGhlciB0aHJlYWRzCgkgIHdhaXRpbmcgZm9yIGl0IHRvIGFkdmFuY2UuCgkgIFRvIHNvbHZlIGl0LCB0aGlzIHBhdGNoIGFsc28gY2hlY2tzIHRoYXQgdGhhIGlucHV0IHJ1bm5pbmcgdGltZQoJICBoYXNuJ3QgY2hhbmdlZCB0byBwcmV2ZW50IHRoaXMgc2NlbmFyaW8uCgoyMDE1LTA4LTAzIDE3OjU1OjAxICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSAgcnRwaDI2NGRlcGF5OiBJbnNlcnQgU1BTL1BQUyBOQUxzIGludG8gdGhlIHN0cmVhbQoJICBoMjY0cGFyc2UgZG9lcyB0aGUgc2FtZSBhbmQgdGhpcyBmaXhlcyBkZWNvZGluZyBvZiBzb21lIHN0cmVhbXMgd2l0aCAzMiBTUFMKCSAgKG9yIDI1NiBQUFMpLiBJdCBpcyBhbGxvd2VkIHRvIGhhdmUgU1BTIElEIDAgdG8gMzEgKG9yIFBQUyBJRCAwIHRvIDI1NSksIGJ1dAoJICB0aGUgZmllbGQgaW4gdGhlIGNvZGVjX2RhdGEgZm9yIHRoZSBudW1iZXIgb2YgU1BTIG9yIFBQUyBpcyBvbmx5IDUgKG9yIDgpIGJpdC4KCSAgQXMgc3VjaCwgMzIgU1BTIChvciAyNTYgUFBTKSBhcmUgaW50ZXJwcmV0ZWQgYXMgMCBldmVyeXdoZXJlLgoJICBUaGlzIGxvb2tzIGxpa2UgYSBtaXN0YWtlIGluIHRoZSBwYXJ0IG9mIHRoZSBzcGVjIGFib3V0IHRoZSBjb2RlY19kYXRhLgoKMjAxNS0wNy0zMCAxMToyOToyNyArMDkwMCAgRXVuaGFlIENob2kgPGV1bmhhZTEuY2hvaUBzYW1zdW5nLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXBodHRwc3JjOiBoYW5kbGUgZW1wdHkgaHR0cCBwcm94eSBzdHJpbmcKCSAgMSkgSWYgdGhlIHN5c3RlbSBodHRwX3Byb3h5IGVudmlyb25tZW50IHZhcmlhYmxlIGlzIG5vdCBzZXQKCSAgb3Igc2V0IHRvIGFuIGVtcHR5IHN0cmluZywgd2UgbXVzdCBub3Qgc2V0IHByb3h5IHRvIGF2b2lkCgkgIGh0dHAgY29ubmVjdGlvbiBlcnJvci4KCSAgMikgSW4gY2FzZSBvZiBwcm94eSBwcm9wZXJ0eSBzZXR0aW5nLCBpZiB1c2VyIHdhbnQgdG8gY2xlYXIKCSAgdGhlIHByb3h5IHNldHRpbmcsIHRoZXkgc2hvdWxkIGJlIGFibGUgdG8gc2V0IGl0IHRvIE5VTEwgb3IKCSAgYW4gZW1wdHkgc3RyaW5nIGFnYWluLCBzbyB0aGlzIGlzIGZpeGVkIHRvby4KCSAgMykgQ2hlY2sgaWYgdGhlIHByb3h5IHN0cmluZyB3YXMgcGFyc2VkIGNvcnJlY3RseS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1Mjg2NgoKMjAxNS0wNy0yOSAxNTo0NjoyMCArMDUzMCAgUmF2aSBLaXJhbiBLIE4gPHJhdmkua2lyYW5Ac2Ftc3VuZy5jb20+CgoJKiBleHQvZHYvZ3N0ZHZkZW11eC5jOgoJKiBleHQvZHYvZ3N0ZHZkZW11eC5oOgoJICBkdmRlbXV4OiByZW1vdmUgdW51c2VkIHZhcmlhYmxlCgkgIFJlbW92ZSB1bnVzZWQgdmFyaWFibGUgJ2ZyYW1lY291bnQnIGZyb20gZHZkZW11eAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzMDA4CgoyMDE1LTA3LTMwIDE1OjMyOjA5ICswOTAwICBWaW5lZXRoIFRNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBhc3NlcnRpb24gZXJyb3IgZHVlIHRvIHdyb25nIGNvbmRpdGlvbiBjaGVjawoJICBJbiBtZWRpYSB0byBjYXBzIGZ1bmN0aW9uLCByZXNlcnZlZF9rZXlzIGFycmF5IGlzIGJlaW5nIHVzZWQgZm9yIHZhcmlhYmxlIGksCgkgIGxlYWRpbmcgdG8gR0xpYi1DUklUSUNBTCAqKjogZ19hc2NpaV9zdHJjYXNlY21wOiBhc3NlcnRpb24gJ3MxICE9IE5VTEwnIGZhaWxlZAoJICBjaGFuZ2VkIGl0IHRvIHZhcmlhYmxlIGoKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MzAwOQoKMjAxNS0wNy0zMCAxNToyMToyMCArMDkwMCAgVmluZWV0aCBUTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwbXA0dmRlcGF5LmM6CgkgIHJ0cG1wNHZkZXBheTogcnRwYnVmZmVyIGlzIGJlaW5nIHVucmVmJ2VkIHR3aWNlCgkgIHByb2Nlc3NfcnRwX3BhY2tldCBkb2Vzbid0IHRyYW5zZmVyIHRoZSBydHAgYnVmZmVyIHRvIG1wNHZfcHJvY2Vzc19kZXBheQoJICB0aGUgcmVmZXJuY2Ugc2hvdWxkIG5vdCBiZSByZW1vdmVkIGhlcmUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MzA0MgoKMjAxNS0wNy0yOSAxMToyNjo0NiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogU3RyaXAga2V5cyBmcm9tIHRoZSBmbXRwIHRoYXQgd2UgdXNlIGludGVybmFsbHkgaW4gb3VyIGNhcHMKCSAgU2tpcCBrZXlzIGZyb20gdGhlIGZtdHAsIHdoaWNoIHdlIGFscmVhZHkgdXNlIG91cnNlbHZlcyBmb3IgdGhlCgkgIGNhcHMuIFNvbWUgc29mdHdhcmUgaXMgYWRkaW5nIHJhbmRvbSB0aGluZ3MgbGlrZSBjbG9jay1yYXRlIGludG8KCSAgdGhlIGZtdHAsIGFuZCB3ZSB3b3VsZCBvdGhlcndpc2UgaGVyZSBzZXQgYSBzdHJpbmctdHlwZWQgY2xvY2stcmF0ZQoJICBpbiB0aGUgY2Fwcy4uLiBhbmQgdGh1cyBmYWlsIHRvIGNyZWF0ZSB2YWxpZCBSVFAgY2FwcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzMDA5CgoyMDE1LTA3LTI5IDE5OjI4OjMzICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzaW5rLmM6CgkgIHNwbGl0bXV4c2luazogU3VwcG9ydCBtcGVndHNtdXggYXMgYSBtdXhlci4KCSAgQXMgYSBmYWxsYmFjaywgbG9vayBmb3IgYSBwYWQgdGVtcGxhdGUgc2lua18lZCBvbgoJICB0aGUgbXV4ZXIgd2hlbiByZXF1ZXN0aW5nIHBhZHMsIHRvIHN1cHBvcnQgbXBlZ3RzbXV4CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTI5OTkKCjIwMTUtMDYtMjUgMDE6MzU6MjcgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHBhcnRyZWFkZXIuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHBhcnRyZWFkZXIuaDoKCSAgc3BsaXRtdXhzcmM6IFVzZSBhIHNlcGFyYXRlIGxvY2sgdG8gZGVsYXkgdHlwZWZpbmQuCgkgIERvbid0IGhvbGQgdGhlIG1haW4gc3BsaXRtdXggcGFydCBsb2NrIG92ZXIKCSAgdGhlIHBhcmVudCBzdGF0ZSBjaGFuZ2UgZnVuY3Rpb24sIGFzIGl0IHByZXZlbnRzCgkgIHBvc3RpbmcgZXJyb3IgbWVzc2FnZXMgdGhhdCBoYXBwZW4uIFNpbmNlIHRoZSBwdXJwb3NlCgkgIGlzIHRvIHByZXZlbnQgdHlwZWZpbmRpbmcgZnJvbSBwcm9jZWVkaW5nLCB1c2UgYQoJICBzZXBhcmF0ZSBtdXRleCBqdXN0IGZvciB0aGF0LgoKMjAxNS0wNy0yOSAxMzo0Mzo1MCArMDkwMCAgVmluZWV0aCBUTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJICBtYXRyb3NrYTogZml4IG1lbW9yeSBsZWFrCgkgIEFmdGVyIGFkZGluZyB0byB0YWcgbGlzdCwga2V5X3ZhbCBpcyBub3QgYmVpbmcgZnJlZSdkCgkgIHJlc3VsdGluZyBpbiBtZW1vcnkgbGVhawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyOTkyCgoyMDE1LTA3LTI3IDEzOjM0OjE0ICswOTAwICBNYW5hc2EgQXRocmV5YSA8bWFuYXNhLmF0aHJleWFAbGdlLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBmaXggMTYtYml0IFBDTSBhdWRpbyBhZHZlcnRpc2VkIHdpdGggJ3JhdyAnIGZvdXJjYwoJICAnTk9ORScgYW5kICdyYXcgJyBmb3VyY2MgZG9uJ3QgYWx3YXlzIGNvbnRhaW4gVTggYXVkaW8sIGl0IGNhbgoJICBiZSBtb3JlIGJpdHMgYXMgd2VsbCwgaW4gd2hpY2ggY2FzZSBpdCdzIGp1c3QgbGlrZSAndHdvcycuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTI2MTMKCjIwMTUtMDctMjQgMTU6MTA6MDUgKzAyMDAgIERpbWl0cmlvcyBLYXRzYXJvcyA8cGF0Y2hlcndvcmtAZ21haWwuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIHY0bDI6IEFsbG93IGZyYW1lcmF0ZSB0byBiZSBsYXJnZSB0aGVuIDEwMHBmcwoJICBUaGlzIGxpbWl0IHdhcyBhcmJpdHJhcnkuIFdlIHN0aWxsIGZpeGF0ZSBuZWFyIDEwMHBmcyBmb3IgY29tcGF0aWJpbGl0eS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MjgyNQoKMjAxNS0wNy0yNSAwMzoyNToyOCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAb2NyZXRlLmNhPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogU3RvcCB3aXRob3V0IHBvc3RpbmcgZXJyb3Igb24gZmx1c2hpbmcKCSAgVGhpcyBjb3VsZCBqdXN0IGJlIGEgbm9ybWFsIHBpcGVsaW5lIHNodXRkb3duLgoKMjAxNS0wNy0yMyAxNTowMDowOCArMDkwMCAgSHl1bmp1biBLbyA8enpvb24ua29Ac2Ftc3VuZy5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyYnVmZmVycG9vbDogc2V0IEdTVF9CVUZGRVJfQ09QWV9GTEFHUyB0byBjb3B5IGZsYWdzIGFsc28KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MjYxOAoKMjAxNS0wNy0xNiAxODowOTozMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tYXRyb3NrYWRlbXV4LmM6CgkgIHRlc3RzOiBhZGQgbWlubWFsIG1hdHJvc2thZGVtdXggdGVzdCBmb3Igc3VidGl0bGUgb3V0cHV0CgkgIFNvbWUgb2YgdGhlIHN1YnRpdGxlIGNodW5rcyB3aWxsIGhhdmUgZW1iZWRkZWQKCSAgTlVMLXRlcm1pbmF0b3JzIChsYXN0IHRocmVlKSwgc29tZSBkb24ndCAoZmlyc3QgdGhyZWUpLAoJICBzb21lIHdpbGwgaGF2ZSBtYXJrdXAsIHNvbWUgd29uJ3QsIHNvbWUgd2lsbCBiZSB2YWxpZAoJICBVVEYtOCAoYWxsIGJ1dCBsYXN0KSwgc29tZSB3b24ndCAobGFzdCBzdGFuemEpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyNDIxCgoyMDE1LTA3LTE2IDE4OjQ5OjI2ICswMzAwICBEaW1pdHJpb3MgQ2hyaXN0aWRpcyA8ZGNocmlzdGlkaXNAbXlrb2xhYi5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogZml4IGZvciBzdWJ0aXRsZSBidWZmZXJzIHdpdGggTlVMIHRlcm1pbmF0b3JzCgkgIENvbW1pdCA0NTg5MmVjOCBjcmVhdGVkIGEgcmVncmVzc2lvbiB3aGVyZSBnX3V0ZjhfdmFsaWRhdGUoKSB3b3VsZCBmYWlsCgkgIGlmIHRoZSBzdWJ0aXRsZSBidWZmZXIgaGFkIGEgTlVMIHRlcm1pbmF0b3IgYXMgcGFydCBvZiB0aGUgZGF0YS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MjQyMQoKMjAxNS0wNy0yMSAxMzozMTowNSArMDIwMCAgU3RpYW4gU2VsbmVzIDxzdGlhbkBwZXhpcC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHZwOGRlcGF5LmM6CgkgIHJ0cHZwOGRlcGF5OiBDaGVjayBhdmFpbGFibGUgYnl0ZXMgYmVmb3JlIGNvcHkKCSAgTmVlZCB0byBjaGVjayB0aGF0IHRoZSBudW1iZXIgb2YgYnl0ZXMgd2Ugd2FudCB0byBjb3B5IGZyb20gdGhlIGFkYXB0ZXIKCSAgYWN0dWFsbHkgaXMgYXZhaWxhYmxlIGFuZCBoYW5kbGUgdGhlIGVycm9yIGNhc2UgZ3JhY2VmdWxseS4gVGhpcyBlcnJvcgoJICBtYXkgaGFwcGVuIGlmIG1hbGZvcm1lZCBwYWNrZXRzIGFyZSByZWNlaXZlZCBhbmQgd2UgZG9uJ3QgaGF2ZSBhCgkgIGNvbXBsZXRlIGZyYW1lLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyNjYzCgoyMDE1LTA3LTE2IDA5OjMyOjM2ICswOTAwICBQYXVsIEh5dW5pbCA8cGF1bC5oeXVuaWxAbGdlLmNvbT4KCgkqIGdzdC9pc29tcDQvZm91cmNjLmg6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBTdXBwb3J0IHN1YnRpdGxlIHdoZW4gdHJhY2sgc3VidHlwZSBpcyBmb3VyY2Nfc3VidAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyNjU1CgoyMDE1LTA3LTIwIDE2OjU5OjQwICswODAwICBTb25nIEJpbmcgPGIwNjQ5OEBmcmVlc2NhbGUuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMmJ1ZmZlcnBvb2w6IFNldCB0aW1lc3RhbXAgd2hlbiBxdWV1ZSBidWZmZXIuCgkgIFNob3VsZCBzZXQgdGltZXN0YW1wIHdoZW4gcXVldWUgYnVmZmVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyNjE4CgoyMDE1LTA3LTE2IDE1OjEyOjE3ICswMjAwICBIYXZhcmQgR3JhZmYgPGhhdmFyZC5ncmFmZkBnbWFpbC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwbXV4LmM6CgkgIHJ0cG11eDogaGFuZGxlIGRpZmZlcmVudCBzc3JjJ3Mgb24gc2lua3BhZHMKCSAgRG8gdGhpcyBieSBub3QgcHV0dGluZyB0aGUgc3NyYyBmcm9tIHRoZSBzcmMgcGFkcyBpbiB0aGUgY2FwcyB1c2VkIHRvCgkgIHByb2JlIG90aGVyIHNpbmtwYWRzLCBhbmQgdGhlbiAgaW50ZXJzZWN0aW5nIHdpdGggaXQgbGF0ZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTI0OTEKCjIwMTUtMDctMTYgMTc6MTk6MDMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSogZ3N0L21hdHJvc2thL3dlYm0tbXV4LmM6CgkgIFVwZGF0ZSBtYWlsaW5nIGxpc3QgYWRkcmVzcyBmcm9tIHNvdXJjZWZvcmdlIHRvIGZyZWVkZXNrdG9wCgoyMDE1LTA3LTE1IDEzOjQ0OjUyICswMzAwICBEaW1pdHJpb3MgQ2hyaXN0aWRpcyA8ZGNocmlzdGlkaXNAbXlrb2xhYi5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogZml4IHRyYWlsaW5nICcqJyBkaXNwbGF5ZWQgd2l0aCBzb21lIHRleHQgc3VidGl0bGVzCgkgIFRoZSBzdWJ0aXRsZSBidWZmZXIgd2UgcHVzaCBvdXQgc2hvdWxkIG5vdCBpbmNsdWRlIGEgTlVMIHRlcm1pbmF0b3IKCSAgYXMgcGFydCBvZiB0aGUgZGF0YSwgd2UganVzdCBhZGQgc3VjaCBhIHRlcm1pbmF0b3IgZm9yIHNhZmV0eSwgYnV0CgkgIGl0IHNob3VsZCBub3QgYmUgaW5jbHVkZWQgaW4gdGhlIGJ1ZmZlciBzaXplLgoJICBBIE5VTCB0ZXJtaW5hdG9yIGlzIG5vdCB2YWxpZCBVVEYtOCwgc28gY2hlY2tzIHdpbGwgZmFpbCBpZiBpdCdzCgkgIGluY2x1ZGVkIGluIHRoZSBzaXplLCBhbmQgdGhlIE5VTCB3aWxsIGJlIHJlcGxhY2VkIGJ5IHRoZSBmYWxsYmFjawoJICBjaGFyYWN0ZXIgc3BlY2lmaWVkIHdoZW4gY29udmVydGluZywgaS5lLiAnKicuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTI0MjEKCjIwMTUtMDctMTUgMTg6MjM6MDUgKzAyMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZXh0L3B1bHNlL3B1bHNlZGV2aWNlcHJvdmlkZXIuYzoKCSogZXh0L3B1bHNlL3B1bHNldXRpbC5jOgoJKiBleHQvcHVsc2UvcHVsc2V1dGlsLmg6CgkgIHB1bHNlOiBhZGQgcHJvcGVydGllcyB0byBHc3REZXZpY2UKCSAgQWRkIHRoZSBleHRyYSBwcm9wZXJ0aWVzIHdlIGdldCBmcm9tIHB1bHNlIHRvIHRoZSBHc3REZXZpY2Ugd2UgZXhwb3NlCgkgIHdpdGggdGhlIGRldmljZSBtb25pdG9yCgoyMDE1LTA3LTE1IDE3OjIwOjIwICswNTMwICBSYXZpIEtpcmFuIEsgTiA8cmF2aS5raXJhbkBzYW1zdW5nLmNvbT4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvaW52ZXJ0LmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvd3NpbmNiYW5kLmM6CgkgIGF1ZGlvZng6IEZpeCB0eXBvIGluIGV4YW1wbGUgcGlwZWxpbmVzCgkgIEZpeCB0eXBvIGluIGV4YW1wbGUgcGlwZWxpbmVzIG9mIGF1ZGlvd3NpbmNiYW5kIGFuZCBhdWRpb2ludmVydC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MjQxNgoKMjAxNS0wNC0xNSAxODoyNzowNCArMDIwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzaW5rLmM6CgkgIHNwbGl0bXV4c2luazogYWRkIGEgImZvcm1hdC1sb2NhdGlvbiIgc2lnbmFsIHRoYXQgYWxsb3dzIGJldHRlciBjb250cm9sIG92ZXIgZmlsZW5hbWVzCgkgIEluIGNlcnRhaW4gYXBwbGljYXRpb25zLCBzcGxpdHRpbmcgaW50byBmaWxlcyBuYW1lZCBhZnRlciBhIGJhc2UKCSAgbG9jYXRpb24gdGVtcGxhdGUgYW5kIGFuIGluY3JlbWVudGFsIHNlcXVlbmNlIG51bWJlciBpcyBub3QgZW5vdWdoLgoJICBUaGlzIHNpZ25hbCBnaXZlcyBtb3JlIGZpbmUtZ3JhaW5lZCBjb250cm9sIHRvIHRoZSBhcHBsaWNhdGlvbiB0bwoJICBkZWNpZGUgaG93IHRvIG5hbWUgdGhlIGZpbGVzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUwMTA2CgoyMDE1LTA0LTE1IDIwOjEzOjI3ICswMzAwICBJbHlhIEtvbnN0YW50aW5vdiA8aWx5YS5rb25zdGFudGlub3ZAZ21haWwuY29tPgoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGNvcmVhdWRpby5jOgoJICBvc3hhdWRpb3NyYzogbm8gcmVzYW1wbGluZyBvbiBPUyBYCgkgIFVubGlrZSBSZW1vdGUgSU8sIEFVSEFMIGRvZXNuJ3QgaGF2ZSBidWlsdC1pbiByZXNhbXBsaW5nCgkgIGZvciBzb3VyY2VzIC0tIGNvbmZpcm1lZCBieSBDb3JlIEF1ZGlvIGVuZ2luZWVyIERvdWcgV3lhdHQ6CgkgIGh0dHA6Ly9saXN0cy5hcHBsZS5jb20vYXJjaGl2ZXMvY29yZWF1ZGlvLWFwaS8yMDA2L1NlcC9tc2cwMDA4OC5odG1sCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDM3NTgKCjIwMTUtMDQtMTUgMTg6Mjk6MTQgKzAzMDAgIElseWEgS29uc3RhbnRpbm92IDxpbHlhLmtvbnN0YW50aW5vdkBnbWFpbC5jb20+CgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4Y29yZWF1ZGlvLmM6CgkgIG9zeGF1ZGlvc3JjOiBhdm9pZCBnZXRfY2hhbm5lbF9sYXlvdXQKCSAgVGhpcyBvbmx5IHByb2R1Y2VzIGEgd2FybmluZyBhbmQgc2VydmVzIG5vIHB1cnBvc2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDM3NTgKCjIwMTUtMDQtMDcgMTU6NDA6MTQgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGNvcmVhdWRpby5jOgoJICBvc3hhdWRpbzogQXZvaWQgbWFraW5nIGEgZHVwbGljYXRlIHN0cnVjdHVyZSBpbiBjYXBzIGZvciBtb25vL3N0ZXJlbyBjYXNlCgkgIEZvciAxY2ggb3IgMmNoIGRldmljZXMsIHdlIGp1c3QgbmVlZCB0byBzZXQgdGhlIGNhcHMgdG8gYWxsb3cgYm90aAoJICBvcHRpb25zIHNpbmNlIENvcmVBdWRpbyB3aWxsIHVwL2Rvd25taXggYXBwcm9wcmlhdGVseS4KCSAgQWxzbyBmaXhlcyB0aGUgY29uZGl0aW9uIGZvciB0aGUgMmNoIGNhc2UgdG8gYmUgZXhhY3QsIHJhdGhlciB0aGFuIGF0CgkgIGxlYXN0IDIgY2hhbm5lbHMgc2luY2UgdGhlIGRvd25taXggd2lsbCBub3QgdGFrZSBwbGFjZSBpbiB0aGUgPnN0ZXJlbwoJICBjYXNlLgoKMjAxNS0wNC0wNiAxNjoyMjozNCArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4Y29yZWF1ZGlvLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hjb3JlYXVkaW9jb21tb24uYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGNvcmVhdWRpb2hhbC5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4Y29yZWF1ZGlvcmVtb3RlaW8uYzoKCSAgb3N4YXVkaW86IERvbid0IHNldCB0aGUgZm9ybWF0IG9uIGFuIGluaXRpYWxpemVkIEF1ZGlvVW5pdAoJICBXZSBuZWVkIHRvIGluaXRpYWxpemUgdGhlIEF1ZGlvVW5pdCBlYXJseSB0byBiZSBhYmxlIHRvIHByb2JlIHRoZQoJICB1bmRlcmx5aW5nIGRldmljZSwgYnV0IGFjY29yZGluZyB0byB0aGUgQXVkaW9Vbml0SW5pdGlhbGl6ZSgpIGFuZAoJICBBdWRpb1VuaXRVbmluaXRpYWxpemUoKSBkb2N1bWVudGF0aW9uLCBmb3JtYXQgY2hhbmdlcyBzaG91bGQgYmUgZG9uZQoJICB3aGlsZSB0aGUgQXVkaW9Vbml0IGlzIHVuaW5pdGlhbGl6ZWQuIFNvIHdlIGV4cGxpY2l0bHkgdW5pbml0aWFsaXplIHRoZQoJICBBdWRpb1VuaXQgZHVyaW5nIGEgZm9ybWF0IGNoYW5nZSBhbmQgcmVpbml0aWFsaXplIGl0IHdoZW4gd2UncmUgZG9uZS4KCjIwMTUtMDQtMDYgMTU6NTU6NTkgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvcmluZ2J1ZmZlci5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4Y29yZWF1ZGlvLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hjb3JlYXVkaW8uaDoKCSAgb3N4YXVkaW86IE1pbm9yIHNwZWxsaW5nIGZpeCAodW5pdGlhbGl6ZSAtPiB1bmluaXRpYWxpemUpCgoyMDE1LTAzLTIxIDIwOjM0OjI1ICswMjAwICBJbHlhIEtvbnN0YW50aW5vdiA8aWx5YS5rb25zdGFudGlub3ZAZ21haWwuY29tPgoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zcmMuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGNvcmVhdWRpby5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4Y29yZWF1ZGlvLmg6CgkgIG9zeGF1ZGlvOiBGaXggbG9ja3VwIGluIF9hdWRpb191bml0X3Byb3BlcnR5X2xpc3RlbmVyCgkgIF9hdWRpb191bml0X3Byb3BlcnR5X2xpc3RlbmVyIGlzIGNhbGxlZCBlaXRoZXIgZnJvbSBhIENvcmUgQXVkaW8gdGhyZWFkCgkgIG9yIGFzIGEgcmVzdWx0IG9mIGEgQ29yZSBBdWRpbyBBUEkgKGUuZy4gQXVkaW9Vbml0SW5pdGlhbGl6ZSkKCSAgZnJvbSBvdXIgb3duIHRocmVhZC4gSW4gdGhlIGxhdHRlciBjYXNlLCBvc3hidWYgY2FuIGJlIGFscmVhZHkgbG9ja2VkCgkgIChHU3RyZWFtZXIncyBtdXRleCBpcyBub3QgcmVjdXJzaXZlKS4KCSAgV2UgaW50cm9kdWNlIHRoZSBmbGFnIGNhY2hlZF9jYXBzX3ZhbGlkIGFuZCB1c2UgaXQgaW5zdGVhZCBvZiBudWxsaWZ5aW5nCgkgIGNhY2hlZF9jYXBzIHdoZW4gd2UgY2Fubm90IGxvY2sgb24gb3N4YnVmLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQzNzU4CgoyMDE1LTAzLTEyIDEyOjE1OjEyICswMjAwICBJbHlhIEtvbnN0YW50aW5vdiA8aWx5YS5rb25zdGFudGlub3ZAZ21haWwuY29tPgoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGNvcmVhdWRpby5jOgoJICBvc3hhdWRpbzogSW52YWxpZGF0ZSBjYWNoZWQgY2FwcyBvbiBmb3JtYXQgY2hhbmdlCgkgIExpc3RlbiBmb3IgY2hhbmdlcyBpbiBoYXJkd2FyZSBzdHJlYW0gZm9ybWF0IGFuZCBjaGFubmVsIGxheW91dCwgYW5kCgkgIGludmFsaWRhdGUgY2FjaGVkIGNhcHMgKHNpbmNlIHRoZXkgY29udGFpbiB0aGUgcHJlZmVycmVkIGNhcHMpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQzNzU4CgoyMDE1LTAzLTA5IDIzOjM0OjA2ICswMjAwICBJbHlhIEtvbnN0YW50aW5vdiA8aWx5YS5rb25zdGFudGlub3ZAZ21haWwuY29tPgoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvcmluZ2J1ZmZlci5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zaW5rLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NpbmsuaDoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc3JjLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NyYy5oOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4Y29yZWF1ZGlvLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hjb3JlYXVkaW8uaDoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGNvcmVhdWRpb2NvbW1vbi5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4Y29yZWF1ZGlvY29tbW9uLmg6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hjb3JlYXVkaW9oYWwuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGNvcmVhdWRpb3JlbW90ZWlvLmM6CgkgIG9zeGF1ZGlvOiBPdmVyaGF1bCBvZiBwcm9iaW5nIGNhcHMKCSAgLSBQcm9iaW5nIGNhcHMgaXMgdW5pZmllZCBiZXR3ZWVuIHNvdXJjZSBhbmQgc2luawoJICAtIEhhcmR3YXJlIHN0cmVhbSBmb3JtYXQgaXMgbm93IHJlcG9ydGVkIGFzIHByZWZlcnJlZCBjYXBhYmlsaXRpZXMKCSAgKGR5bmFtaWNhbGx5IHVwZGF0ZWQgd2hlbiBoYXJkd2FyZSBjb25maWd1cmF0aW9uIGNoYW5nZXMpCgkgIC0gR2V0IGhhcmR3YXJlIGNoYW5uZWwgbGF5b3V0IGZyb20gUmVtb3RlIElPIGp1c3QgbGlrZSBmcm9tIEhBTAoJICAtIE1vcmUgY29tcHJlaGVuc2l2ZSBtYXBwaW5nIGJldHdlZW4gQXVkaW9DaGFubmVsTGFiZWwgYW5kCgkgIEdzdEF1ZGlvQ2hhbm5lbFBvc2l0aW9uCgkgIC0gU3VwcG9ydCBmb3IgdW5wb3NpdGlvbmVkIGNoYW5uZWwgbGF5b3V0cwoJICAtIEFubm91bmNlIHN0ZXJlby1tb25vIHVwbWl4aW5nL2Rvd25taXhpbmcgaW4gY2FwcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQzNzU4CgoyMDE1LTAzLTA5IDIzOjE1OjU2ICswMjAwICBJbHlhIEtvbnN0YW50aW5vdiA8aWx5YS5rb25zdGFudGlub3ZAZ21haWwuY29tPgoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGNvcmVhdWRpby5jOgoJICBvc3hhdWRpbzogQXVkaW9Vbml0SW5pdGlhbGl6ZSBvbiBvcGVuCgkgIENhbGwgQXVkaW9Vbml0SW5pdGlhbGl6ZSB1cG9uIG9wZW4uIE90aGVyd2lzZSwgd2UgY2Fubm90IGdldAoJICAoaGFyZHdhcmUpIHN0cmVhbSBmb3JtYXQgbm9yIGNoYW5uZWwgbGF5b3V0IGZyb20gdGhlIG91dGVyIHNjb3BlLgoKMjAxNS0wNy0xMiAxNDoyNzoxNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwTDE2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBMMjRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFjM2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBidmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwY2VsdGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZHZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjJkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjlkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3N0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYxZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaWxiY2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwajJrZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqcGVnZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBrbHZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMXNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMnRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhcm9idXN0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcHZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbWFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbXVkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHFjZWxwZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBxZG1kZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNiY2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc2lyZW5kZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzdjN2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnA4ZGVwYXkuYzoKCSAgcnRwOiBkZXBheWxvYWRlcnM6IGltcGxlbWVudCBwcm9jZXNzX3J0cF9wYWNrZXQoKSB2ZnVuYwoJICBGb3IgbW9yZSBvcHRpbWlzZWQgUlRQIHBhY2tldCBoYW5kbGluZzogbWVhbnMgd2UgZG9uJ3QKCSAgbmVlZCB0byBtYXAgdGhlIGlucHV0IGJ1ZmZlciBhZ2FpbiBidXQgY2FuIGp1c3QgcmUtdXNlCgkgIHRoZSBtYXBwaW5nIHRoZSBiYXNlIGNsYXNzIGhhcyBhbHJlYWR5IGRvbmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTAyMzUKCjIwMTUtMDUtMjcgMTk6MTk6MjcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdkZXBheS5jOgoJICBydHB2cmF3ZGVwYXk6IGltcGxlbWVudCBwcm9jZXNzX3J0cF9wYWNrZXQoKSB2ZnVuYwoJICBGb3IgbW9yZSBvcHRpbWlzZWQgUlRQIHBhY2tldCBoYW5kbGluZzogbWVhbnMgd2UgZG9uJ3QKCSAgbmVlZCB0byBtYXAgdGhlIGlucHV0IGJ1ZmZlciBhZ2FpbiBidXQgY2FuIGp1c3QgcmUtdXNlCgkgIHRoZSBtYXAgdGhlIGJhc2UgY2xhc3MgaGFzIGFscmVhZHkgZG9uZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MDIzNQoKMjAxNS0wNy0xMCAwMDoxMzozMiArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IEZpeCBpbmRlbnRpb24KCjIwMTUtMDctMDkgMjM6NTk6MTAgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBBbHdheXMgZXN0aW1hdGUgRFRTIGZyb20gdGhlIGN1cnJlbnQgY2xvY2sgdGltZQoJICBFc3RpbWF0aW5nIGl0IGZyb20gdGhlIFJUUCB0aW1lIHdpbGwgZ2l2ZSB1cyB0aGUgUFRTLCBzbyBpbiBjYXNlcyBvZiBQVFMhPURUUwoJICB3ZSB3b3VsZCBwcm9kdWNlIHdyb25nIERUUy4gQXMgbm93IHRoZSBlc3RpbWF0ZWQgRFRTIGlzIGJhc2VkIG9uIHRoZSBjbG9jaywKCSAgZG9uJ3Qgc3RvcmUgaXQgaW4gdGhlIGppdHRlcmJ1ZmZlciBpdGVtcyBhcyBpdCB3b3VsZCBvdGhlcndpc2UgYmUgdXNlZCBpbiB0aGUKCSAgc2tldyBjYWxjdWxhdGlvbnMgYW5kIHdvdWxkIGluZmx1ZW5jZSB0aGUgcmVzdWx0cy4gV2Ugb25seSByZWFsbHkgbmVlZCB0aGUgRFRTCgkgIGZvciB0aW1lciBjYWxjdWxhdGlvbnMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDk1MzYKCjIwMTUtMDctMDkgMDk6MjY6MDkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkgIGdpdGlnbm9yZTogaWdub3JlIHJ0cGgyNjMgdGVzdAoKMjAxNS0wNy0wOCAyMzo0Nzo0NCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogZml4IGJ1aWxkIGVycm9yIHdpdGggZ2NjIChEZWJpYW4gNC45LjItMjEpIDQuOS4yCgkgIFJlcGxhY2Ugc3RhdGljIGNvbnN0YW50cyB3aXRoIG1hY3JvcyB0byBtYWtlIGdjYyBoYXBweQoJICBDQyAgICAgICBlbGVtZW50cy9lbGVtZW50c19ydHBqaXR0ZXJidWZmZXItcnRwaml0dGVyYnVmZmVyLm8KCSAgZWxlbWVudHMvcnRwaml0dGVyYnVmZmVyLmM6Mzg3OjE6IGVycm9yOiBpbml0aWFsaXplciBlbGVtZW50IGlzIG5vdCBjb25zdGFudAoJICBzdGF0aWMgY29uc3QgR3N0Q2xvY2tUaW1lIFBDTVVfQlVGX0RVUkFUSU9OID0gUENNVV9CVUZfTVMgKiBHU1RfTVNFQ09ORDsKCSAgXgoJICBlbGVtZW50cy9ydHBqaXR0ZXJidWZmZXIuYzozODg6MTogZXJyb3I6IGluaXRpYWxpemVyIGVsZW1lbnQgaXMgbm90IGNvbnN0YW50CgkgIHN0YXRpYyBjb25zdCBndWludCBQQ01VX0JVRl9TSVpFID0gNjQwMDAgKiBQQ01VX0JVRl9NUyAvIDEwMDA7CgkgIF4KCSAgZWxlbWVudHMvcnRwaml0dGVyYnVmZmVyLmM6MzkwOjU6IGVycm9yOiBpbml0aWFsaXplciBlbGVtZW50IGlzIG5vdCBjb25zdGFudAoJICBQQ01VX0JVRl9DTE9DS19SQVRFICogUENNVV9CVUZfTVMgLyAxMDAwOwoKMjAxNS0wNy0wOCAyMzo0MDo0NSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogcnVuIGluZGVudCBhbmQgZml4IHNvbWUgY29tbWVudHMKCSAgRml4IGluZGVudCBvbiB0aGlzIGZpbGUgYW5kIGJyZWFrIHNvbWUgY29tbWVudCBsaW5lcyBpbnRvIHR3byB0byBtYWtlCgkgIGl0IGZpdCA4MCBjaGFycyBwZXIgbGluZQoKMjAxNS0wNy0wOCAxNTowMjoyNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHJld29yayBzZWdtZW50IGV2ZW50IGhhbmRsaW5nIGZvciBhZGFwdGl2ZSBzdHJlYW1pbmcKCSAgV2hlbiBhIG5ldyB0aW1lIHNlZ21lbnQgaXMgcmVjZWl2ZWQgdXBzdHJlYW0gaXMgZ29pbmcgdG8gcmVzdGFydAoJICB3aXRoIGEgbmV3IGF0b20uIE1ha2UgdGhlIG5lZWRlZGJ5dGVzIGFuZCB0b2Ryb3AgdmFyaWFibGVzCgkgIHJlZmxlY3QgdGhhdCB0byBhdm9pZCB3YWl0aW5nIHRvbyBtdWNoIG9yIGRyb3BwaW5nIHRoZQoJICBpbml0aWFsIGJ5dGVzIHRoYXQgY29udGFpbiB0aGUgaGVhZGVyLgoKMjAxNS0wNy0wOCAxMjozNTo1NSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHB1c2ggZGF0YSBmcm9tIGFkYXB0ZXIgYmVmb3JlIHN0YXJ0aW5nIG5ldyBzZWdtZW50CgkgIFRoZSBhZGFwdGVyIG1pZ2h0IGhhdmUgZGF0YSByZW1haW5pbmcgZnJvbSB0aGUgcHJldmlvdXMgc2VnbWVudCwKCSAgcHVzaCBpdCBhbGwgYmVmb3JlIGNsZWFyaW5nIHRoZSBhZGFwdGVyIGFuZCBzdGFydGluZyBhIG5ldyBzZWdtZW50LgoJICBJdCBjYW4gYWNjdW11bGF0ZSBkYXRhIGlmIGl0IGhhZCBwdXNoZWQgYW5kIGdvdCBub3QtbGlua2VkLCByZXR1cm5pbmcKCSAgaW1tZWRpYXRlbHkgd2l0aG91dCBwcm9jZXNzaW5nIGFsbCB0aGUgZGF0YS4gQmVmb3JlIHN0YXJ0aW5nIGEgbmV3CgkgIHNlZ21lbnQgdGhpcyBkYXRhIHNob3VsZCBiZSBoYW5kbGVkLgoKMjAxNS0wNy0wOCAxOTo1OToxMyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IENhbGN1bGF0ZSBEVFMgZnJvbSB0aGUgY2xvY2sgaWYgd2UgaGFkIG5vbmUgZm9yIHRoZSBmaXJzdCBwYWNrZXQgYWZ0ZXIgYSByZXNldAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ5NTM2CgoyMDE1LTA3LTA4IDIxOjA4OjM2ICswMjAwICBIYXZhcmQgR3JhZmYgPGhhdmFyZC5ncmFmZkBnbWFpbC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogZml4IGdhcC10aW1lIGNhbGN1bGF0aW9uIGFuZCByZW1vdmUgImxhdGUiCgkgIFRoZSBhbW91bnQgb2YgdGltZSB0aGF0IGlzIGNvbXBsZXRlbHkgZXhwaXJlZCBhbmQgbm90IHdvcnRoIHdhaXRpbmcgZm9yLAoJICBpcyB0aGUgZHVyYXRpb24gb2YgdGhlIHBhY2tldHMgaW4gdGhlIGdhcCAoZ2FwICogZHVyYXRpb24pIC0gdGhlCgkgIGxhdGVuY3kgKHNpemUpIG9mIHRoZSBqaXR0ZXJidWZmZXIgKHByaXYtPmxhdGVuY3lfbnMpLiBUaGlzIGlzIHRoZSBkdXJhdGlvbgoJICB0aGF0IHdlIG1ha2UgYSAibXVsdGktbG9zdCIgcGFja2V0IGZvci4KCSAgVGhlICJsYXRlIiBjb25jZXB0IG1hZGUgc29tZSBzZW5zZSBpbiAwLjEwIGFzIGl0IHJlZmxlY3RlZCB0aGF0IGEgYnVmZmVyCgkgIGNvbWluZyBpbiBoYWQgbm90IGJlZW4gd2FpdGVkIGZvciBhdCBhbGwsIGJ1dCBoYWQgYSB0aW1lc3RhbXAgdGhhdCB3YXMKCSAgb3V0c2lkZSB0aGUgaml0dGVyYnVmZmVyIHRvIHdhaXQgZm9yLiBXaXRoIHRoZSByZXdyaXRlIG9mIHRoZSB3YWl0aW5nCgkgICh0aW1lb3V0KSBtZWNoYW5pc20gaW4gMS4wLCB0aGlzIG5vIGxvbmdlciBtYWtlcyBhbnkgc2Vuc2UsIGFuZCB0aGUKCSAgdmFyaWFibGUgbm8gbG9uZ2VyIHJlZmxlY3RzIGFueXRoaW5nIG1lYW5pbmdmdWwgKG51bSA+IDAgaXMgdXNlbGVzcywKCSAgdGhlIGR1cmF0aW9uIGlzIHdoYXQgbWF0dGVycykKCSAgRml4ZWQgdXAgdGhlIHRlc3RzIHRoYXQgaGFkIGJlZW4gc2xpZ2h0bHkgbW9kaWZpZWQgaW4gMS4wIHRvIGFsbG93IGZhdWx0eQoJICBiZWhhdmlvciB0byBzbmVhayBpbiwgYW5kIHBvcnQgc29tZSBvZiB0aGVtIHRvIHVzZSBHc3RIYXJuZXNzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM4MzYzCgoyMDE1LTA2LTMwIDExOjIxOjMxICswMjAwICBTdGlhbiBTZWxuZXMgPHN0aWFuQHBleGlwLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBSZXZlcnQgInJ0cGppdHRlcmJ1ZmZlcjogRml4IGV4cGVjdGVkX2R0cyBjYWxjIGluIGNhbGN1bGF0ZV9leHBlY3RlZCIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCAwNWJkNzA4ZmM1ZTg4MTM5MGZlODM5ODAzYjUzMTQ0MzkzZDk1YWIwLgoJICBUaGUgcmV2ZXJ0ZWQgcGF0Y2ggaXMgd3JvbmcgYW5kIGludHJvZHVjZXMgYSByZWdyZXNzaW9uIGJlY2F1c2UgdGhlcmUKCSAgbWF5IHN0aWxsIGJlIHRpbWUgdG8gcmVjZWl2ZSBzb21lIG9mIHRoZSBwYWNrZXRzIGluY2x1ZGVkIGluIHRoZSBnYXAKCSAgaWYgdGhleSBhcmUgcmVvcmRlcmVkLgoKMjAxNS0wNy0wNyAyMzo1MzowMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGZsdXNoIHNhbXBsZXMgYmVmb3JlIGFkZGluZyBtb3JlIGZyb20gbW9vZgoJICBBdm9pZHMgYWNjdW11bGF0aW5nIGFsbCBzYW1wbGVzIGZyb20gYSBmcmFnbWVudGVkIHN0cmVhbSB0aGF0IGNvdWxkCgkgIGxlYWQgdG8gYSAnaW5kZXgtdG9vLWJpZycgZXJyb3Igb25jZSBpdCBnb2VzIG92ZXIgNTBNQiBvZiBkYXRhLiBJdAoJICBjb3VsZCByZWFjaCB0aGF0IGJlZm9yZSAyaCBvZiBwbGF5YmFjayBzbyBpdCBkb2Vzbid0IHRha2UgdGhhdCBsb25nLgoJICBBcyB1cHN0cmVhbSBlbGVtZW50cyBhcmUgcHJvdmlkaW5nIGRhdGEgaW4gdGltZSBmb3JtYXQgdGhleSBzaG91bGQKCSAgYmUgdGhlIG9uZXMgdGhhdCBoYXZlIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgdGhlIGZ1bGwgbWVkaWEgaW5kZXgKCSAgYW5kIHNob3VsZCBiZSBhYmxlIHRvIHNlZWsgaWYgcG9zc2libGUuCgoyMDE1LTA3LTA3IDIzOjU2OjEyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4Lmg6CgkgIHF0ZGVtdXg6IHJlbmFtZSB1cHN0cmVhbV9uZXdzZWdtZW50IHRvIHVwc3RyZWFtX2Zvcm1hdF9pc190aW1lCgkgIHVwc3RyZWFtX25ld3NlZ21lbnQgaXNuJ3QgcmVhbGx5IGNsZWFyIG9uIHdoYXQgaXQgbWVhbnMsIGl0IGlzIHNldAoJICB0byBUUlVFIHdoZW4gdGhlIHVwc3RyZWFtIGVsZW1lbnQgc2VuZHMgYSBzZWdtZW50IGluIFRJTUUgZm9ybWF0LCBzbwoJICByZW5hbWUgaXQgdG8gYmUgbW9yZSBjbGVhciBhYm91dCBpdC4KCSAgSXQgaXMgaW1wb3J0YW50IHRvIGtub3cgdGhpcyBiZWNhdXNlIGl0IG1lYW5zIHRoYXQgdXBzdHJlYW0gaGFzCgkgIGEgbm90aW9uIG9mIHRpbWUgYW5kIHF0ZGVtdXggaXMgbGlrZWx5IGJlaW5nIGRyaXZlbiBieSBhbiB1cHN0cmVhbQoJICBlbGVtZW50IHRoYXQgaXMgcmVhZGluZyBmcm9tIGEgaGlnaGVyIGxldmVsIGFic3RyYWN0aW9uIHRoYW4gYSBmaWxlLAoJICBzdWNoIGFzIGEgREFTSCwgTVNTIG9yIERMTkEgZWxlbWVudC4KCjIwMTUtMDctMDcgMjE6MzE6MDggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBmaXggbGVhayBieSBmbHVzaGluZyBwcmV2aW91cyBzYW1wbGUgaW5mbyBmcm9tIHRyYWsKCSAgSW4gZnJhZ21lbnRlZCBzdHJlYW1pbmcsIG11bHRpcGxlIG1vb3YvbW9vZiB3aWxsIGJlIHBhcnNlZCBhbmQgdGhlaXIKCSAgcHJldmlvdXNseSBzdG9yZWQgc2FtcGxlcyBhcnJheSBtaWdodCBsZWFrIHdoZW4gbmV3IHZhbHVlcyBhcmUgcGFyc2VkLgoJICBUaGUgcGFyc2VfdHJhayBhbmQgY2FsbGVlcyB3b24ndCBmcmVlIHRoZSBwcmV2aW91c2x5IHN0b3JlZCB2YWx1ZXMKCSAgYmVmb3JlIHBhcnNpbmcgdGhlIG5ldyBvbmVzLgoJICBJbiBzdGVwLWJ5LXN0ZXAsIHRoaXMgaXMgd2hhdCBoYXBwZW5zOgoJICAxKSBpbml0aWFsIG1vb3YgaXMgcGFyc2VkLCB0cmFrcyBhcyB3ZWxsLCBzdHJlYW1zIGFyZSBjcmVhdGVkLiBUaGUKCSAgdHJhayBkb2Vzbid0IGNvbnRhaW4gc2FtcGxlcyBiZWNhdXNlIHRoZXkgYXJlIGluIHRoZSBtb29mJ3MgdHJ1bgoJICBib3hlcy4gbl9zYW1wbGVzIGlzIHNldCB0byAwIHdoaWxlIHBhcnNpbmcgdGhlIHRyYWsgYW5kIHRoZSBzYW1wbGVzCgkgIGFycmF5IGlzIHN0aWxsIE5VTEwuCgkgIDIpIG1vb2ZzIGFyZSBwYXJzZWQsIGFuZCB0aGVpciB0cnVuIGJveGVzIHdpbGwgaW5jcmVhc2Ugbl9zYW1wbGVzIGFuZAoJICBjcmVhdGUvZXh0ZW5kIHRoZSBzYW1wbGVzIGFycmF5CgkgIDMpIEF0IHNvbWUgcG9pbnQgYSBuZXcgbW9vdiBtaWdodCBiZSBzZW50IChiaXRyYXRlIHN3aXRjaGluZywgZm9yIGV4YW1wbGUpCgkgIGFuZCBwYXJzaW5nIHRoZSB0cmFrIHdpbGwgb3ZlcndyaXRlIG5fc2FtcGxlcyB3aXRoIHRoZSB2YWx1ZXMgZnJvbQoJICB0aGlzIHRyYWsuIElmIHRoZSBuX3NhbXBsZXMgaXMgc2V0IHRvIDAgcXRkZW11eCB3aWxsIGFzc3VtZSB0aGF0CgkgIHRoZSBzYW1wbGVzIGFycmF5IGlzIE5VTEwgYW5kIHdpbGwgbGVhayBpdCB3aGVuIGEgbmV3IG9uZSBpcwoJICBjcmVhdGVkIGZvciB0aGUgc3Vic2VxdWVudCBtb29mcy4KCSAgVGhpcyBwYXRjaCBtYWtlcyBxdGRlbXV4IHByb3Blcmx5IGZyZWUgcHJldmlvdXMgc2FtcGxlIGRhdGEgYmVmb3JlCgkgIGNyZWF0aW5nIG5ldyBvbmVzIGFuZCBhZGRzIGFuIGFzc2VydCB0byBjYXRjaCBmdXR1cmUgb2NjdXJyZW5jZXMgb2YKCSAgdGhpcyBpc3N1ZSB3aGVuIHRoZSBjb2RlIGNoYW5nZXMuCgoyMDE1LTA3LTA3IDE2OjQ2OjMzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZml4IGluZGV4IHNpemUgY2hlY2sgYW5kIGRlYnVnIG1lc3NhZ2UKCSAgSXQgaXMgYWxsb2NhdGluZyBzYW1wbGVzX2NvdW50ICsgbl9zYW1wbGVzLCBub3Qgb25seSBuX3NhbXBsZXMKCjIwMTUtMDctMDggMTc6MDI6MDUgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBDYWxjdWxhdGUgcmVjZWl2ZSB0aW1lIGlmIHdlIGRvbid0IGhhdmUgYW55CgkgIFRoaXMgaXMgcmVxdWlyZWQgdG8gcHJvcGVybHkgc2NoZWR1bGUgcGFja2V0IGxvc3MgdGltZXJzIGFuZCBtYWtlCgkgIHN1cmUgYWxsIG91ciBjYWxjdWxhdGlvbnMgd29yayBwcm9wZXJseS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0OTUzNgoKMjAxNS0wNy0wOCAxNToxMzoxNyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IEhhbmRsZSBzZXFudW0gZ2FwcyBpbiBUQ1Agc3RyZWFtcyB3aXRob3V0IGVycm9yaW5nIG91dCBvciBvdmVyZmxvd2luZyBjYWxjdWxhdGlvbnMKCSAgVGhhdCBpcywgaGFuZGxlIERUUz09R1NUX0NMT0NLX1RJTUVfTk9ORSBjb3JyZWN0bHkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDk1MzYKCjIwMTUtMDctMDggMjA6MzE6NDIgKzA5MDAgIFZpbmVldGggVCBNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogZml4IGV2ZW50IGxlYWsKCSAgd2hlbiBzZWVrIGZhaWxzIGluIGF2aWRlbXV4LCBldmVudCBpcyBub3QgYmVpbmcgZnJlZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTIxMTcKCjIwMTUtMDctMDggMTI6MDI6MjIgKzAyMDAgIFN0aWFuIFNlbG5lcyA8c3RpYW5AcGV4aXAuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjYzZGVwYXkuYzoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGgyNjMuYzoKCSAgcnRwaDI2M2RlcGF5OiBNYWtlIHN1cmUgcGF5bG9hZCBpcyBsYXJnZSBlbm91Z2gKCSAgUGx1cyBuZXcgdW5pdCB0ZXN0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyMTEyCgoyMDE1LTA3LTA4IDA4OjU5OjQ5ICswOTAwICBWaW5lZXRoIFRNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBrbHZkZXBheS5jOgoJICBydHBrbHZkZXBheTogZml4IHByaW50ZiBmb3JtYXQgY29tcGlsZXIgd2FybmluZwoJICB2X2xlbiBpcyBvZiB0eXBlIGd1aW50NjQsIGJ1dCB3aGlsZSBwcmludCB0aGUgdmFsdWUoMTYgKyBsZW5fc2l6ZSArIHZfbGVuKQoJICBHX0dTSVpFX0ZPUk1BVCBpcyBiZWluZyB1c2VkIGluc3RlYWQgb2YgR19HVUlOVDY0X0ZPUk1BVAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyMTAwCgoyMDE1LTA3LTA3IDIwOjI1OjQ3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSAgZG9jczogYWRkIG5ldyBSVFAgZWxlbWVudHMgdG8gZG9jcwoKMjAxNS0wNy0wNyAyMDowNzozMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cC1wYXlsb2FkaW5nLmM6CgkgIHRlc3RzOiBydHAtcGF5bG9hZGluZzogYWRkIGJhc2ljIHVuaXQgdGVzdCBmb3IgS0xWIHBheWxvYWRpbmcKCSAgQWxzbyBtYWtlIGl0IHNvIHRoYXQgdGhlIG10dSBpcyBhbHdheXMgc2V0IGlmIHNwZWNpZmllZCwgbm90CgkgIG9ubHkgaW4gY2FzZSBvZiB0aGUgcmF0aGVyIHdlaXJkIGJ1ZmZlcmxpc3QgdGVzdCBjb2RlIHBhdGguCgkgIFRoaXMgYWxsb3dzIHVzIHRvIGVhc2lseSBtYWtlIHRoZSBwYXlsb2FkZXIgZnJhZ21lbnQgYSBwYXlsb2FkCgkgIGFjcm9zcyBtdWx0aXBsZSBvdXRwdXQgcGFja2V0cyBieSBzZXR0aW5nIGEgc21hbGwgTVRVIG9uIGl0LgoKMjAxNS0wNy0wNyAxOTo1ODo0MiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwa2x2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBrbHZkZXBheS5oOgoJICBydHBrbHZkZXBheTogaW1wcm92ZSBzdGFydCBkZXRlY3Rpb24gYW5kIGhhbmRsZSBmcmFnbWVudGVkIEtMViB1bml0cwoKMjAxNS0wNy0wNSAyMDoyNToxMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHAvZ3N0cnRwLmM6CgkqIGdzdC9ydHAvZ3N0cnRwa2x2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBrbHZkZXBheS5oOgoJICBydHA6IGFkZCBTTVBURSAzMzZNIEtMViBtZXRhZGF0YSBkZXBheWxvYWRlcgoJICBodHRwOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9yZmM2NTk3CgoyMDE0LTA4LTA5IDEwOjA4OjQyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cC9nc3RydHAuYzoKCSogZ3N0L3J0cC9nc3RydHBrbHZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBrbHZwYXkuaDoKCSAgcnRwOiBhZGQgU01QVEUgMzM2TSBLTFYgbWV0YWRhdGEgcGF5bG9hZGVyCgkgIGh0dHA6Ly90b29scy5pZXRmLm9yZy9odG1sL3JmYzY1OTcKCjIwMTUtMDctMDcgMTY6NTk6MjAgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvaXNvbXA0L2F0b21zLmM6CgkqIGdzdC9pc29tcDQvYXRvbXMuaDoKCSogZ3N0L2lzb21wNC9hdG9tc3JlY292ZXJ5LmM6CgkqIGdzdC9pc29tcDQvcHJvcGVydGllcy5oOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJICBkb2NzOiBmaXggIlN5bWJvbCBuYW1lIG5vdCBmb3VuZCBhdCB0aGUgc3RhcnQgb2YgdGhlIGNvbW1lbnQgYmxvY2siCgkgIEFkZCBzeW1ib2xzIG9yIGNoYW5nZSBjb21tZW50IGludG8gYSByZWd1bGFyIGNvbW1lbnQuCgoyMDE1LTA3LTA3IDE2OjU4OjUzICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhbXJwYXJzZS5oOgoJICBkb2NzOiByZW1vdmUgb3V0ZGF0ZWQgZG9jIHN0cmluZ3MKCjIwMTUtMDctMDMgMjM6MTA6NDAgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgZG9jczogYWRkIG1pc3NpbmcgcGx1Z2lucyBhbmQgZW5zdXJlIG1hc3RlciBkb2MgaXMgc29ydGVkCgoyMDE1LTA3LTA3IDE1OjU0OjQxICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZ3N0L2ltYWdlZnJlZXplL2dzdGltYWdlZnJlZXplLmM6CgkgIFJldmVydCAiaW1hZ2VmcmVlemU6IFJlbW92ZSBpbXBvc3NpYmxlIGVycm9yIGNvbmRpdGlvbiIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCBkNDY2MzFjNWM3MzEyYWQ2MTMzOTdmODIzOGM3YTk3MTRhZTNhZTk0LgoJICBwYWQgb25seSBoYW5kbGUgRU9TIGV2ZW50cyBidXQgbm90IEVPUyBmbG93LCBhbmQgd2lsbCBwdXNoIHRoZSBidWZmZXIgYWdhaW4KCSAgcmVzdWx0aW5nIGluIGFuIGFzc2VydGlvbiBlcnJvci4gU28gd2Ugc2hvdWxkIG5vdCBoYW5kbGUgdGhlIGJ1ZmZlcgoJICBhbmQgcmV0dXJuIEVPUyBmbG93LgoKMjAxNS0wNy0wNyAxNTo1MDo1MCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwZzcyOWRlcGF5LmM6CgkgIHJ0cGc3MjlkZXBheTogdW5tYXAgcnRwIGJ1ZmZlciBpbiBlcnJvciBwYXRoCgoyMDE1LTA3LTA3IDE1OjQ4OjQwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBnNzI5cGF5LmM6CgkgIHJ0cGc3MjlwYXk6IGZpeCBidWZmZXIgbGVhawoJICBUaGUgaGFuZGxlX2J1ZmZlciB2ZnVuYyB0YWtlcyBvd25lcnNoaXAgb2YgdGhlIGlucHV0IGJ1ZmZlci4KCSAgRml4ZXMgZWxlbWVudHMvcnRwLXBheWxvYWRpbmcgdW5kZXIgdmFsZ3JpbmQuCgoyMDE1LTA3LTAyIDA4OjUyOjQzICswMjAwICBUb2JpYXMgTXVlbGxlciA8bXVlbGxpQGNyeXB0b2JpdGNoLmRlPgoKCSogZ3N0L2dvb20vZ29vbV9jb3JlLmM6CgkgIGdvb206IEluaXRpYWxpc2VkIHZhcmlhYmxlcyB0byByZW1vdmUgY29tcGlsZXIgd2FybmluZ3MKCSAgZ29vbV9jb3JlLmM6IEluIGZ1bmN0aW9uICdnb29tX3VwZGF0ZSc6CgkgIGdvb21fY29yZS5jOjY4NTo1OiBlcnJvcjogJ3BhcmFtMicgbWF5IGJlIHVzZWQgdW5pbml0aWFsaXplZCBpbiB0aGlzIGZ1bmN0aW9uIFstV2Vycm9yPW1heWJlLXVuaW5pdGlhbGl6ZWRdCgkgIGdvb21fbGluZXNfc3dpdGNoX3RvIChnb29tSW5mby0+Z21saW5lMiwgbW9kZSwgcGFyYW0yLCBhbXBsaXR1ZGUsIGNvdWxldXIpOwoJICBeCgkgIGdvb21fY29yZS5jOjY4NDo1OiBlcnJvcjogJ3BhcmFtMScgbWF5IGJlIHVzZWQgdW5pbml0aWFsaXplZCBpbiB0aGlzIGZ1bmN0aW9uIFstV2Vycm9yPW1heWJlLXVuaW5pdGlhbGl6ZWRdCgkgIGdvb21fbGluZXNfc3dpdGNoX3RvIChnb29tSW5mby0+Z21saW5lMSwgbW9kZSwgcGFyYW0xLCBhbXBsaXR1ZGUsIGNvdWxldXIpOwoJICBeCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTIwNTMKCjIwMTUtMDctMDcgMDk6MTg6MzkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjFwYXkuYzoKCSAgcnRwaDI2MXBheTogZml4IGluZGVudGF0aW9uCgoyMDE1LTA3LTA2IDE5OjExOjAwICswOTAwICBKaW1teSBPaG4gPHlvbmdqaW4ub2huQGxnZS5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjFwYXkuYzoKCSAgcnRwaDI2MXBheTogRml4IHVuaW5pdGlhbGl6ZWQgdmFyaWFibGUgY29tcGlsZXIgZXJyb3IKCSAgZW5kcG9zIHZhcmlhYmxlIGRvZXMgbm90IGNvcnJlY3RseSB1bmRlcnN0YW5kIGluIHRoZQoJICA0LjYuMyBHQ0MgdmVyc2lvbi4gU28gY29tcGlsZSBlcnJvciBhcHBlYXJzIHdoZW4gd2UgZG8KCSAgY29tcGlsZSBydHBoMjYxcGF5IHVzaW5nIGpoYnVpbGQuCgkgIFRoaXMgcGF0Y2ggaXMgZml4ZWQgdGhlIGNvbXBpbGUgZXJyb3IgaW4gNC42LjMgR0NDIHZlcnNpb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTE5ODUKCjIwMTQtMTEtMTIgMTI6MDg6NTggKzAxMDAgIEphbiBBbGV4YW5kZXIgU3RlZmZlbnMgKGhlZnRpZykgPGpzdGVmZmVuc0BtYWtlLnR2PgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHZkZW11eDogSGFuZGxlIHNlZWsgZmxhZ3MgcHJvcGVybHkKCSAgQWxsb3dzIGZvciBub24ta2V5ZnJhbWUgc2Vla3MuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzg1NzAKCjIwMTUtMDItMjQgMTA6NTA6NTIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBhdm9pZCBsb29waW5nIHJlYWRpbmcgdGhlICdtb29mJyBhdG9tIGZvcmV2ZXIKCSAgSXQgZ2V0cyBzdHVjayBpZiBpdCBvbmx5IGZpbmRzIGEgbW9vZiBhbmQgbm8gbWZyYS9tZnJvIG9yIG1vb3YKCSAgYXRvbXMuIFNraXAgdGhlIG1vb2YgdG8gY29udGludWUgdGhlIHBhcnNpbmcgdG8gaGF2ZSBpdCBlaXRoZXIKCSAgcGxheSBvciBlcnJvciBvdXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDUwODkKCjIwMTUtMDYtMjYgMTM6MjQ6MTcgKzA5MDAgIFZpbmVldGggVE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkgIGZsYWNkZWM6IGltcHJvdmUgZXJyb3IgaGFuZGxpbmcKCSAgZm9yIGZpbGVzIHdoaWNoIGhhdmUgY29ycnVwdGVkIGhlYWRlciwgbGliZmxhYyBpcyBub3QgYWJsZSB0bwoJICBwcm9jZXNzIHRoZSBtZXRhZGF0YSBwcm9wZXJseS4gV2UganVzdCB0cnkgdG8gaWdub3JlIHRoZSBlcnJvcgoJICBhbmQgY29udGludWUgd2l0aCB0aGUgcHJvY2Vzc2luZywgc2luY2UgbWV0YWRhdGEgcGFyc2luZyBpcyBub3QKCSAgbWFraW5nIG11Y2ggb2YgYSBkaWZmZXJlbmNlIHRvIGxpYmZsYWMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTMzNAoKMjAxNS0wNy0wNiAyMDoxNjozOCArMDkwMCAgSHl1bmp1biBLbyA8enpvb24ua29Ac2Ftc3VuZy5jb20+CgoJKiBzeXMveGltYWdlL3hpbWFnZXV0aWwuYzoKCSAgeGltYWdlc3JjOiBhZGQgbWV0YSB0cmFuc2Zvcm0gZnVuY3Rpb24KCSAgeGltYWdlIG1ldGFkYXRhIGNhbid0IGJlIHRyYW5zZm9ybWVkIG9yIGNvcGllZCwgYnV0IHByb3ZpZGUgYW4gZW1wdHkKCSAgdHJhbnNmb3JtYXRpb24gZnVuY3Rpb24gaW5zdGVhZCBvZiBOVUxMIHRvIGFsbG93IHVuY29uZGl0aW9uYWwgY2FsbGluZwoJICBvZiBtZXRhcycgdHJhbnNmb3JtIGZ1bmN0aW9ucy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTc3OAoKMjAxNC0wNi0xNiAxNjoxNDoyOCArMDIwMCAgU3RpYW4gU2VsbmVzIDxzdGlhbi5zZWxuZXNAZ21haWwuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGRlcGF5LmM6CgkgIHJ0cGgyNjNwZGVwYXk6IGluaXQgZGVidWcgY2F0ZWdvcnkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MjAxMgoKMjAxNC0wNi0yMCAxMDo1OToxNCArMDIwMCAgU3RpYW4gU2VsbmVzIDxzdGlhbkBwZXhpcC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHZwOGRlcGF5LmM6CgkgIHJ0cHY4ZGVwYXk6IGlnbm9yZSByZXNlcnZlZCBiaXQgaW4gcGF5bG9hZCBkZXNjcmlwdG9yCgkgIERyYWZ0IDE2IG9mICJSVFAgUGF5bG9hZCBGb3JtYXQgZm9yIFZQOCIgc3RhdGVzIGluIHNlY3Rpb24gNC4yIHRoYXQ6CgkgIFI6IEJpdCByZXNlcnZlZCBmb3IgZnV0dXJlIHVzZS4gIE1VU1QgYmUgc2V0IHRvIHplcm8gYW5kIE1VU1QgYmUKCSAgaWdub3JlZCBieSB0aGUgcmVjZWl2ZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTE5MjkKCjIwMTUtMDctMDQgMjA6NTY6NDIgKzAyMDAgIFN0aWFuIFNlbG5lcyA8c3RpYW5AcGV4aXAuY29tPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjFwYXkuYzoKCSAgcnRwaDI2MXBheTogcnRwaDI2MWRlcGF5OiBBZGQgZG9jdW1lbnRhdGlvbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxOTgyCgoyMDE1LTA3LTAzIDIxOjU4OjE0ICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBmNzRiMmRmIHRvIDlhZWQxZDcKCjIwMTUtMDctMDMgMTQ6Mjk6MTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjFwYXkuYzoKCSAgcnRwaDI2MXBheTogRml4IGNvbXBpbGVyIHdhcm5pbmcKCSAgZ3N0cnRwaDI2MXBheS5jOiBJbiBmdW5jdGlvbiAnZ3N0X3J0cF9oMjYxX3BheV9jbGFzc19pbml0JzoKCSAgZ3N0cnRwaDI2MXBheS5jOjEwMDM6MTc6IGVycm9yOiB2YXJpYWJsZSAnZ29iamVjdF9jbGFzcycgc2V0IGJ1dCBub3QgdXNlZCBbLVdlcnJvcj11bnVzZWQtYnV0LXNldC12YXJpYWJsZV0KCSAgR09iamVjdENsYXNzICpnb2JqZWN0X2NsYXNzOwoKMjAxNS0wNy0wMyAxNDowMzowNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2MWRlcGF5LmM6CgkgIHJ0cGgyNjFkZXBheTogTGV0IHRoZSBiYXNlIGNsYXNzIHB1c2ggdGhlIGJ1ZmZlciBzbyBpdCBjYW4gZGVhbCB3aXRoIHRoZSBmbG93IHJldHVybgoKMjAxNS0wNy0wMyAxNDoxMTozNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2MXBheS5jOgoJICBydHBoMjYxcGF5OiBSZW1vdmUgdW51c2VkIGFkYXB0ZXIKCjIwMTUtMDctMDMgMTM6MTc6MjQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4cGF5LmM6CgkgIHNwZWV4cGF5OiBEaXJlY3RseSBhdHRhY2ggcGF5bG9hZCB0byB0aGUgb3V0cHV0IGJ1ZmZlciBpbnN0ZWFkIG9mIGNvcHlpbmcgaXQKCjIwMTUtMDctMDMgMTM6MDc6MjAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHNiY3BheS5jOgoJICBzYmNwYXk6IEF0dGFjaCBwYXlsb2FkIGRpcmVjdGx5IHRvIHRoZSBvdXRwdXQgaW5zdGVhZCBvZiBjb3B5aW5nCgoyMDE0LTEyLTAxIDE0OjE4OjQwICswMTAwICBTdGlhbiBTZWxuZXMgPHN0aWFuQHBleGlwLmNvbT4KCgkqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHAvZ3N0cnRwLmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2MWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2MWRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2MXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjFwYXkuaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwLXBheWxvYWRpbmcuYzoKCSAgcnRwOiBhZGQgSC4yNjEgUlRQIHBheWxvYWRlciBhbmQgZGVwYXlsb2FkZXIKCSAgSW1wbGVtZW50YXRpb24gYWNjb3JkaW5nIHRvIFJGQyA0NTg3LgoJICBQYXlsb2FkZXIgY3JlYXRlIGZyYWdtZW50cyBvbiBNQiBib3VuZGFyaWVzIGluIG9yZGVyIHRvIG1hdGNoIE1UVSBzaXplCgkgIHRoZSBiZXN0IGl0IGNhbi4gU29tZSBkZWNvZGVycy9kZXBheWxvYWRlcnMgaW4gdGhlIHdpbGQgYXJlIHZlcnkgc3RyaWN0CgkgIGFib3V0IHJlY2VpdmluZyBhIGNvbnRpbnVvdXMgYml0LXN0cmVhbSAoZS5nLiBubyBuby1vcCBiaXRzIGJldHdlZW4KCSAgZnJhbWVzKSwgc28gdGhlIHBheWxvYWRlciB3aWxsIHNoaWZ0IHRoZSBjb21wcmVzc2VkIGJpdC1zdHJlYW0gb2YgYQoJICBmcmFtZSB0byBhbGlnbiB3aXRoIHRoZSBsYXN0IHNpZ25pZmljYW50IGJpdCBvZiB0aGUgcHJldmlvdXMgZnJhbWUuCgkgIERlcGF5bG9hZGVyIGRvZXMgbm90IHRyeSB0byBiZSBmYW5jeSBpbiBjYXNlIG9mIHBhY2tldCBsb3NzLiBJdCBzaW1wbHkKCSAgZHJvcHMgYWxsIHBhY2tldHMgZm9yIGEgZnJhbWUgaWYgdGhlcmUgaXMgYSBsb3NzLCBrZWVwaW5nIGl0IHNpbXBsZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTg4NgoKMjAxNS0wNy0wMyAxMjoxODo1MiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwbXB2ZGVwYXkuYzoKCSAgcnRwbXB2ZGVwYXk6IERvbid0IGZvcmdldCB0byB1bm1hcCB0aGUgaW5wdXQgYnVmZmVyCgoyMDE1LTA3LTAzIDEyOjE0OjQ3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBtcHZwYXkuYzoKCSAgcnRwbXB2cGF5OiBDcmVhdGUgYnVmZmVyIGxpc3RzIGluc3RlYWQgb2YgcHVzaGluZyBlYWNoIGJ1ZmZlciBpbmRpdmlkdWFsbHkKCjIwMTUtMDctMDMgMTI6MDM6NTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wYXBheS5jOgoJICBydHBtcGFwYXk6IFVzZSBidWZmZXIgbGlzdHMgaW5zdGVhZCBvZiBwdXNoaW5nIGVhY2ggZnJhZ21lbnQgaW5kaXZpZHVhbGx5CgoyMDE1LTA3LTAzIDEwOjUxOjU3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBtcDRhcGF5LmM6CgkgIHJ0cG1wNGFwYXk6IENyZWF0ZSBidWZmZXIgbGlzdHMgYW5kIGRvbid0IGNvcHkgcGF5bG9hZCBtZW1vcnkKCjIwMTUtMDYtMjkgMTY6MTQ6MTggKzAyMDAgIE1pZ3VlbCBQYXLDrXMgRMOtYXogPG1wYXJpc2RpYXpAZ21haWwuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogQ29uc2lkZXIgdGltZXJzIGxlbiB0byBjb21wYXJlIHdpdGggUlRQX01BWF9EUk9QT1VUCgkgIFdoZW4gdGhlcmUgYXJlIGEgbG90IG9mIHNtYWxsIGdhcHMsIHdlIGNhbiBjb25zaWRlciB0aGF0IHRoZXJlIGlzCgkgIGEgYmlnIGdhcCAodG9vIGxvc3NlcykgdG8gcmVzZXQgdGhlIGJ1ZmZlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTYzNgoKMjAxNS0wNi0yOSAxNTo1Mzo1MiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBJZiBwb3NzaWJsZSwgYWx3YXlzIHVwZGF0ZSB0aGUgY3VycmVudCB0aW1lIGJlZm9yZSBsb29waW5nIG92ZXIgYWxsIHRpbWVycwoJICBJZiB3ZSBoYXZlIGEgY2xvY2ssIHVwZGF0ZSAibm93IiBub3cgd2l0aCB0aGUgdmVyeSBsYXRlc3QgcnVubmluZyB0aW1lIHdlIGhhdmUuCgkgIElmIHRpbWVycyBhcmUgdW5zY2hlZHVsZWQgYmVsb3cgd2Ugb3RoZXJ3aXNlIHdvdWxkbid0IHVwZGF0ZSBub3cgKGl0J3Mgb25seSB1cGRhdGVkCgkgIHdoZW4gdGltZXJzIGV4cGlyZSksIGFuZCBhbHNvIGZvciB0aGUgdmVyeSBmaXJzdCBsb29wIGl0ZXJhdGlvbiBub3cgd291bGQgb3RoZXJ3aXNlCgkgIGFsd2F5cyBiZSAwLgoJICBBbHNvIHRoZSB0aW1lIGlzIHVzZWQgZm9yIHRoZSB0aW1lb3V0IGZ1bmN0aW9ucywgZS5nLiB0byBjYWxjdWxhdGUgYW55IHRpbWVzCgkgIGZvciB0aGUgbmV4dCB0aW1lb3V0cyBhbmQgd2Ugd291bGQgb3RoZXJ3aXNlIHBhc3MgdG9vIG9sZCB0aW1lcyB0aGVyZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTYzNgoKMjAxNS0wNy0wMiAxNDozNDo1NyArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJ0cmFuc2Zvcm0uYzoKCSAgdjRsMnRyYW5zZm9ybTogZml4IG1lbW9yeSBsZWFrCgkgIHRtcCBuZWVkcyB0byBiZSBmcmVlZCBiZWZvcmUgZ29pbmcgb3V0IG9mIHNjb3BlIGluICdkb25lJy4KCSAgQ0lEICMxMzA4OTU0CgoyMDE1LTA3LTAyIDEyOjIzOjQ1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcHBheS5jOgoJICBydHBoMjYzcHBheTogR2VuZXJhdGUgYnVmZmVyIGxpc3RzIGFuZCBhdHRhY2ggdGhlIHBheWxvYWQgZGlyZWN0bHkgaW5zdGVhZCBvZiBjb3B5aW5nIGl0CgoyMDE1LTA3LTAyIDA5OjQ4OjAyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGRlcGF5LmM6CgkgIHJ0cGgyNjNwZGVwYXk6IFNpbXBsaWZ5IGNvZGUgYSBiaXQgYW5kIGRvIGxlc3MgZGlyZWN0IG1lbWNweSBhbmQgbGV0IEdzdEJ1ZmZlciBkbyB0aGF0IGZvciB1cwoKMjAxNS0wNy0wMiAwOToxNzo1OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuaDoKCSAgcnRwaDI2M3BheTogU3RvcCB1c2luZyBhbiBhZGFwdGVyIGFuZCBkaXJlY3RseSB1c2UgdGhlIGJ1ZmZlcgoJICBXZSBhbHdheXMgcHVzaGVkIG9uZSBidWZmZXIgaW50byB0aGUgYWRhcHRlciwgdGhlbiBoYW5kbGVkIGV4YWN0bHkgdGhhdCBvbmUKCSAgYnVmZmVyIGFuZCBmbHVzaGVkIGl0IGZyb20gdGhlIGFkYXB0ZXIuIE5vdyBhbHNvIGRvbid0IG1lbWNweSgpIHRoZSBhY3R1YWwKCSAgcGF5bG9hZCBidXQganVzdCBhdHRhY2ggdGhlIGlucHV0IGJ1ZmZlcidzIGRhdGEgdG8gdGhlIG91dHB1dCBidWZmZXIuCgkgIFRoaXMgY29kZSBzdGlsbCBuZWVkcyBzb21lIHNlcmlvdXMgcmVmYWN0b3JpbmcvcmV3cml0aW5nLgoKMjAxNS0wNy0wMSAyMTo1NzoyOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwZ3NtcGF5LmM6CgkgIHJ0cGdzbXBheTogUmVtb3ZlIG5vbi1leGlzdGluZyBpbmNsdWRlcyBmb3Igbm93CgkgIGdpdCBhZGQgLXAgbWlzdGFrZS4KCjIwMTUtMDctMDEgMTk6Mjk6MDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGdzdHBheS5jOgoJICBydHBnc3RwYXk6IFVzZSB0aGUgcmV0dXJuIHZhbHVlIG9mIGdzdF9idWZmZXJfYXBwZW5kKCkKCjIwMTUtMDctMDEgMTk6MTk6MTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGdzbXBheS5jOgoJICBydHBnc21wYXk6IEF0dGFjaCBwYXlsb2FkIHRvIHRoZSBvdXRwdXQgYnVmZmVyIGluc3RlYWQgb2YgY29weWluZyBpdAoKMjAxNS0wNy0wMSAxNzo1ODo1NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwZzcyOXBheS5jOgoJICBydHBnNzI5cGF5OiBBdHRhY2ggcGF5bG9hZCBkaXJlY3RseSB0byBvdXRwdXQgYnVmZmVycyBpbnN0ZWFkIG9mIGNvcHlpbmcKCjIwMTUtMDctMDEgMTc6NDM6NTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjNwYXkuYzoKCSAgcnRwZzcyM3BheTogQXR0YWNoIHBheWxvYWQgYnVmZmVyIHRvIHRoZSBvdXRwdXQgaW5zdGVhZCBvZiBjb3B5aW5nCgoyMDE1LTA3LTAxIDE3OjMwOjM5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBkdmRlcGF5LmM6CgkgIHJ0cGR2ZGVwYXk6IE1hcCB0aGUgb3V0cHV0IGJ1ZmZlciBvbmNlIGluc3RlYWQgb2Ygb25jZSBldmVyeSA4MCBieXRlcwoKMjAxNS0wNy0wMSAyMTo0Njo0NiArMDkwMCAgSmltbXkgT2huIDx5b25namluLm9obkBsZ2UuY29tPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogZml4IHJldHVybiB0eXBlIG9mIGluZGV4X2VudHJ5X29mZnNldF9zZWFyY2goKQoJICBJdCdzIGEgY29tcGFyZSBmdW5jdGlvbiBhbmQgbWF5IHJldHVybiBhIG5lZ2F0aXZlIHZhbHVlLAoJICBzbyBzaG91bGQgZm9yIGNvcnJlY3RuZXNzIGFuZCBjb25zaXN0ZW5jeSByZXR1cm4gYSBzaWduZWQKCSAgaW50ZWdlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTc4MAoKMjAxNS0wNy0wMSAxNDoxMjo1NyArMDIwMCAgTWlndWVsIFBhcsOtcyBEw61heiA8bXBhcmlzZGlhekBnbWFpbC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiByZWZhY3RvciBoYW5kbGVfbmV4dF9idWZmZXIKCSAgVGhlIGdvYWwgb2YgdGhpcyBwYXRjaCBpcyBtYWtpbmcgaGFuZGxlX25leHRfYnVmZmVyIGZ1bmN0aW9uCgkgIG1vcmUgcmVhZGFibGUgYXZvaWRpbmcgdW5uZWNlc2FyeSBnb3RvcyBhbmQgYWRkaW5nIG90aGVyCgkgIGNvc21ldGljIGNoYW5nZXMuCgoyMDE1LTA3LTAxIDE1OjQwOjI1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBhYzNwYXkuYzoKCSAgcnRwYWMzcGF5OiBBdHRhY2ggdGhlIHBheWxvYWQgdG8gdGhlIG91dHB1dCBidWZmZXIgaW5zdGVhZCBvZiBjb3B5aW5nIGl0CgkgIE1pZ2h0IGFsc28gd2FudCB0byBwcm9kdWNlIGJ1ZmZlciBsaXN0cyBoZXJlIGlmIG5lZWRlZC4KCjIwMTUtMDctMDEgMTU6Mzg6NDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGlsYmNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNpcmVuZGVwYXkuYzoKCSAgcnRwOiBGaXggaW5kZW50aW9uCgoyMDE1LTA3LTAxIDEyOjM3OjExICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvY2xpZW50LVZQOC1PUFVTLnNoOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvc2VydmVyLVZUUy1WUDgtQVRTLU9QVVMuc2g6CgkgIHJ0cDogQWRkIGV4YW1wbGVzIHdpdGggVlRTL0FUUyBmb3IgVlA4L09QVVMKCSAgTGV0J3MgaGF2ZSBhbiBleGFtcGxlIHdpdGggbW9kZXJuIGNvZGVjcy4KCjIwMTUtMDYtMzAgMTg6MTE6MzMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSAgcnRwaDI2NHBheTogVXNlIEdTVF9XQVJOSU5HX09CSkVDVCgpIGluc3RlYWQgb2YgR1NUX1dBUk5JTkcoKQoKMjAxNS0wNi0zMCAxNDowNjoyMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwdnA4ZGVwYXkuYzoKCSAgdnA4ZGVwYXk6IERvbid0IGxvY2svbWFwIGV2ZXJ5IG5vbi1rZXlmcmFtZSBidWZmZXIgdHdpY2UKCSAgSnVzdCBjb3B5IHRoZSBjb21wbGV0ZSBoZWFkZXIgaW5zdGVhZCBvZiBmaXJzdCBsb29raW5nIGF0IHRoZSBmaXJzdCBieXRlCgkgIGFuZCB0aGVuIGF0IHRoZSByZW1haW5pbmcgMTAgYnl0ZXMuCgoyMDE1LTA2LTI5IDE2OjA1OjQ0ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyOiBkb2N1bWVudCBmYWxsdGhyb3VnaCBjYXNlcwoJICBQYWNpZnkgY292ZXJpdHkgYW5kIGRvY3VtZW50IGZhbGx0aHJvdWdoIGNhc2VzIGluIHN3aXRjaCBzdGF0ZW1lbnRzLgoJICBDSUQgIzEzMDg5NDgsICMxMzA4OTQ3LCAjMTMwODk0NgoKMjAxNS0wNi0yOSAxMDozNjo1OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBSZXZlcnQgInJ0cGppdHRlcmJ1ZmZlcjogSWYgd2UgaGF2ZSBhbiBpbW1lZGlhdGUgdGltZW91dCwgZG9uJ3QgdHJ5IHRvIGZpbmQgYW4gZWFybGllciB0aW1lb3V0IgoJICBUaGlzIHJldmVydHMgY29tbWl0IDBjMjFjZDcxNzdlYTg4M2M3MTA5OTkxNDdkZGNlZGIxOTAwNGQxODIuCgkgIElmIHdlIGhhdmUgbXVsdGlwbGUgaW1tZWRpYXRlIHRpbWVycywgd2Ugd2FudCB0byBmaXJzdCBoYW5kbGUgdGhlIG9uZSB3aXRoIHRoZQoJICBsb3dlc3Qgc2VxdWVuY2UgbnVtYmVyLi4uIHdoaWNoIHdvdWxkIGJlIGJyb2tlbiBub3cuCgkgIEluc3RlYWQgb2YgdGhpcyB3ZSBzaG91bGQganVzdCB1c2UgYSBHU2VxdWVuY2UgZm9yIHRoZSB0aW1lcnMsIGFuZCBoYXZlIHRoZW0KCSAgc29ydGVkIGZpcnN0IGJ5IHRpbWVzdGFtcCwgYW5kIGZvciBlcXVhbCB0aW1lc3RhbXBzIGJ5IHNlcXVlbmNlIG51bWJlci4gVGhlbgoJICB3ZSB3b3VsZCBhbHdheXMgb25seSBoYXZlIHRvIHRha2UgdGhlIHZlcnkgZmlyc3QgdGltZXIgZnJvbSB0aGUgbGlzdCBhbmQgbmV2ZXIKCSAgaGF2ZSB0byBsb29rIGF0IGFueSBvdGhlcnMuCgoyMDE1LTA2LTI5IDEwOjE0OjA1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogSWYgd2UgaGF2ZSBhbiBpbW1lZGlhdGUgdGltZW91dCwgZG9uJ3QgdHJ5IHRvIGZpbmQgYW4gZWFybGllciB0aW1lb3V0CgkgIElmIHdlIGhhdmUgbG90cyBvZiBzdWNoIGltbWVkaWF0ZSB0aW1lb3V0cywgd2Ugd291bGQgb3RoZXJ3aXNlIGhhdmUgcXVhZHJhdGljCgkgIHJ1bnRpbWUgaW4gdGhlIG51bWJlciBvZiB0aW1lb3V0cy4KCjIwMTUtMDYtMTkgMTg6MDE6MDMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzcmMuYzoKCSAgc3BsaXRtdXhzcmM6IHN0aWNreSBldmVudHMgYXJlIHNlbnQgYXV0b21hdGljYWxseSBmcm9tIHRoZSBwYWQKCSAgTm8gbmVlZCB0byBzZW5kIHRoZW0gZXhwbGljaXRseSBmcm9tIHRoZSBlbGVtZW50CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTEyNDAKCjIwMTUtMDYtMTkgMTg6MDA6NDAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzcmMuYzoKCSAgc3BsaXRtdXhzcmM6IG1ha2Ugc3VyZSB0byBwdXNoIHN0aWNreSBldmVudHMgYmVmb3JlIGFkZGluZyBwYWQKCSAgSXQgYWxsb3dzIHRoZSBjYXBzIHRvIGJlIHNldCBvbiB0aGUgcGFkIGJlZm9yZSBiZWluZyBhZGRlZCBmb3IKCSAgZHluYW1pYyBhdXRvcGx1Z2dpbmcgdG8gd29yay4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTI0MAoKMjAxNS0wNi0yNiAwMDowNToyOSArMDkwMCAgSHl1bmp1biBLbyA8enpvb24ua29Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgcnRzcHNyYzogQWRkIG5ldyBudHAtdGltZS1zb3VyY2UgcHJvcGVydHkgYW5kIGRlcHJlY2F0ZSB1c2UtcGlwZWxpbmUtY2xvY2sgcHJvcGVydHkKCSAgRW5hYmxlIHRvIHVzZSBuZXcgbnRwLXRpbWUtc291cmNlIHByb3BlcnR5IG9mIHJ0cGJpbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxNDk2CgoyMDE1LTA2LTI1IDIzOjE5OjU4ICswOTAwICBIeXVuanVuIEtvIDx6em9vbi5rb0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIHJ0cGJpbi9zZXNzaW9uOiBmaXggZGVzY3JpcHRpb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTQ5NgoKMjAxNS0wNi0yNSAxMDo1NzoyNSArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pbWFnZWZyZWV6ZS9nc3RpbWFnZWZyZWV6ZS5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogdGVzdHMvZXhhbXBsZXMvc2hhcGV3aXBlL3NoYXBld2lwZS1leGFtcGxlLmM6CgkgIGRvY3M6IGRlY29kZWJpbjIgLT4gZGVjb2RlYmluCgoyMDE1LTA2LTI1IDEwOjQ3OjA2ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiB1cGRhdGUgZXhhbXBsZSBwaXBlbGluZQoJICBVcGRhdGUgcmVmZXJlbmNlIHRvIGRlY29kZWJpbjIgdG8gZGVjb2RlYmluCgoyMDE1LTA2LTI1IDEwOjQ1OjM1ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiByZW1vdmUgZGVhZCBhc3NpZ25tZW50cwoJICBWYWx1ZXMgaW4gZmllbGRzX3JlcXVpcmVkIGFuZCBzYW1lX2J1ZmZlciBhcmUgb3ZlcndyaXR0ZW4gYmVmb3JlIHVzZWQuIFJlbW92aW5nCgkgIGFzc2lnbm1lbnQKCjIwMTUtMDYtMjUgMTA6MDY6MDcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9taWttb2QvTWFrZWZpbGUuYW06CgkqIGV4dC9taWttb2QvUkVBRE1FOgoJKiBleHQvbWlrbW9kL2Rydl9nc3QuYzoKCSogZXh0L21pa21vZC9nc3RtaWttb2QuYzoKCSogZXh0L21pa21vZC9nc3RtaWttb2QuaDoKCSogZXh0L21pa21vZC9taWttb2RfcmVhZGVyLmM6CgkqIGV4dC9taWttb2QvbWlrbW9kX3R5cGVzLmM6CgkqIGV4dC9taWttb2QvbWlrbW9kX3R5cGVzLmg6CgkqIG00L01ha2VmaWxlLmFtOgoJKiBtNC9saWJtaWttb2QubTQ6CgkqIHdpbjMyL01BTklGRVNUOgoJKiB3aW4zMi92czgvbGliZ3N0bWlrbW9kLnZjcHJvajoKCSAgbWlrbW9kOiByZW1vdmUgYW5jaWVudCB1bnBvcnRlZCBwbHVnaW4KCSAgVGhpcyBoYXNuJ3QgYmVlbiB0b3VjaGVkIGluIDExIHllYXJzLCBhbmQKCSAgY2xlYXJseSBubyBvbmUncyBiZWVuIG1pc3NpbmcgaXQuCgoyMDE1LTA2LTIzIDIwOjE1OjEzICswOTAwICBHaWxib2sgTGVlIDxnaWxib2subGVlQHNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGRvZXMgbm90IGRldGVjdCBvcmllbnRhdGlvbgoJICBNb3N0IGZpbGVzIGRvbid0IGNvbnRhaW4gdGhlIHZhbHVlcyBmb3IgdHJhbnNwb3NpbmcgdGhlIGNvb3JkaW5hdGVzCgkgIGJhY2sgdG8gdGhlIHBvc2l0aXZlIHF1YWRyYW50IHNvIHF0ZGVtdXggd2FzIGlnbm9yaW5nIHRoZSByb3RhdGlvbgoJICB0YWcuIFRvIGJlIGFibGUgdG8gcHJvcGVybHkgaGFuZGxlIHRob3NlIGZpbGVzIHF0ZGVtdXggd2lsbCBhbHNvIGlnbm9yZQoJICB0aGUgdHJhbnNwb3NpbmcgdmFsdWVzIHRvIG9ubHkgZGV0ZWN0IHRoZSByb3RhdGlvbiB1c2luZyB0aGUgdmFsdWVzCgkgIGFiZGUgZnJvbSB0aGUgdHJhbnNmb3JtYXRpb24gbWF0cml4OgoJICBbYSBiIGNdCgkgIFtkIGUgZl0KCSAgW2cgaCBpXQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM4NjgxCgoyMDE1LTA2LTI1IDAwOjA0OjE2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBCYWNrIHRvIGRldmVsb3BtZW50Cgo9PT0gcmVsZWFzZSAxLjUuMiA9PT0KCjIwMTUtMDYtMjQgMjM6MzA6NDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlzb21wNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZweC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogZ3N0LXBsdWdpbnMtZ29vZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMS41LjIKCjIwMTUtMDYtMjQgMjI6NTY6MTIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lby5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2dsLnBvOgoJKiBwby9oci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMTUtMDYtMjQgMTE6MTU6MDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBwby9ubC5wbzoKCSAgcG86IFVwZGF0ZSB0cmFuc2xhdGlvbnMKCjIwMTUtMDYtMjMgMTg6NDI6NTkgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3F0bXV4LmM6CgkgIHF0bXV4OiBDb3JyZWN0bHkgdGVzdCBlYWNoIHNlZ21lbnRzCgkgIEluIHByZXNlbmNlIG9mIGdhcHMsIHF0ZGVtdXggd2lsbCBlbWl0IG11bHRpcGxlIHNlZ21lbnRzLiBUaGUKCSAgc2Vjb25kIHNlZ21lbnQgc3RhcnQgc2hvdWxkIG1hdGNoIHRoZSBDVFRTLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxMzYxCgoyMDE1LTA2LTIzIDE3OjU0OjMxIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguaDoKCSAgcXRtdXg6IENvcnJlY3RseSBjYWxjdWxhdGUgdGhlIGVsc3QgbWVkaWEgc3RhcnQKCSAgVGhlIG1lZGlhIHN0YXJ0IGhhcyBub3RoaW5nIHRvIGRvIHdpdGggdGhlIHNoaWZ0IHdlIGhhdmUgYXBwbGllZAoJICBidXQgd2l0aCB0aGUgdmFsdWUgb2YgdGhlIGZpcnN0IFBUUy4gVGhpcyBpcyBkZWZpbmVkIGFzOgoJICBEdCgwKSA9IDAKCSAgQ3QoMCkgPSBEdCgwKSArIENUVFMoMCkKCSAgU28gdGhlIG1lZGlhIHN0YXJ0IGlzIGFsd2F5cyB0aGUgZmlyc3QgQ1RUUy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTM2MQoKMjAxNS0wNi0yMyAxMTo0OTozMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGFjY3VtdWxhdGUgcHJldmlvdXMgZWR0cyBlbnRyaWVzIGludG8gc2VnbWVudC5iYXNlCgkgIEFsbG93cyBwbGF5aW5nIGVkdHMgZWRpdHRlZCBmaWxlcyB3aXRoIHByb3BlciBzeW5jaHJvbml6YXRpb24gb2YKCSAgc3RyZWFtcy4gVGhpcyBwYXRjaCBmaXhlcyB0aGUgcmVncmVzc2lvbiBpbnRyb2R1Y2VkIGJ5CgkgIGJmOTVmOTNjMDE4OWFhMDRmMThlMjY0Yjg2YjY1MjdlNDMxYzVkNTMgdGhhdCB3YXMgYWRkZWQgdG8gZml4CgkgIHNlZ21lbnQgc2Vla3MgaGFuZGxpbmcuCgkgIEhhdmluZyB0aGUgYWNjdW11bGF0ZWRfYmFzZSBzZXBhcmF0ZWQgZnJvbSB0aGUgbWFpbiBzZWdtZW50LmJhc2UKCSAgYWxsb3dzIGhhbmRsaW5nIGJvdGggc2VnbWVudCBzZWVrcyBhbmQgZWR0cyBlZGl0dGVkIGZpbGVzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxMzYxCgoyMDE1LTA2LTIzIDAwOjU2OjE2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogaW1wcm92ZSBzb21lIGRlYnVnIG1lc3NhZ2VzCgkgIFRob3NlIG1lc3NhZ2VzIGFyZSBhYm91dCB0aGUgc3RyZWFtLCB1c2UgdGhlIHBhZCBhcyB0aGUKCSAgZGVidWcgb2JqZWN0IHRvIG1ha2UgaXQgY2xlYXIgZnJvbSB0aGUgbG9ncwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxMzYxCgoyMDE1LTA2LTIyIDIyOjIyOjA5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBzdG9yZSBsYXN0X2R0cyBvZiB0aGUgZmlyc3QgYnVmZmVyCgkgIEJ1ZmZlcnMgbmVlZCBub3QgdG8gc3RhcnQgYXQgcnVubmluZy10aW1lIDAgc28gdGhlIGxhc3RfZHRzIG5lZWRzCgkgIHRvIGJlIHRoZSB2YWx1ZSBvZiB0aGUgZmlyc3QgYnVmZmVyJ3MgZHRzIGFzIGl0IGlzIHVzZWQgdG8gY29tcHV0ZQoJICB0aGUgZHVyYXRpb24gb2YgdGhlIGJ1ZmZlcnMuIElmIGl0IHdhcyBsZWZ0IGF0IDAgdGhlIGZpcnN0IGJ1ZmZlcgoJICB3b3VsZCBoYXZlIGEgbGFyZ2VyIGR1cmF0aW9uIHdoZW4gaXQgc2hvdWxkbid0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTEzNjEKCjIwMTUtMDYtMjMgMTc6MTE6NTcgKzA5MDAgIFZpbmVldGggVE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IGZpeCBwb3NzaWJsZSBtZW1vcnkgbGVhawoJICB3aGVuIGJ1ZmZlciBpcyBzdG9yZWQgdG8gc2Vla3RhYmxlLCBhbmQgc3RvcCBnZXRzIGNhbGxlZCBkdWUgdG8KCSAgY29ycnVwdCBmbGFjIGZpbGUsIHRoZW4gdGhlIHNlZWt0YWJsZSBpcyBub3QgYmVpbmcgcmVsZWFzZWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTM2NAoKMjAxNS0wNi0yMyAxNjoyODo0MCArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c2luay5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c2luay5oOgoJICBSZXZlcnQgInNwbGl0bXV4c2luazogTWFzayBhc3luYy1zdGFydC9kb25lIHdoaWxlIHN3aXRjaGluZyBmaWxlcy4iCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgZDYxZTUzOTNmMTEwZWQ0ODI4MTVkNzc4MDcyNDVkNzhiNTJlZmY0Ni4KCSAgQ2F1c2VzIGZhaWx1cmVzIG11eGluZyBsYXJnZXIgR09QIHNpemVzIGZvciBzb21lIHJlYXNvbi4gUmV2ZXJ0aW5nCgkgIHdoaWxlIEkgZmlndXJlIGl0IG91dAoKMjAxNS0wNi0xOCAyMzoyMjowNiArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4cGFydHJlYWRlci5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c3JjLmM6CgkgIHNwbGl0bXV4c3JjOiBGaXggc3RhcnR1cCBhbmQgc2h1dGRvd24gcmFjZXMuCgkgIEZpeCAyIHN0YXJ0dXAgcmFjZXMgd2hlbiB0aGluZ3MgaGFwcGVuIHRvbyBxdWlja2x5LCBhbmQgMQoJICBhdCBzaHV0ZG93biBieSBob2xkaW5nIGEgcmVmIHRvIHRoZSBwYWRzIGluIHVzZSB1bnRpbCB0aGUKCSAgbG9vcCBmdW5jdGlvbnMgZXhpdC4KCSAgSGFuZGxlIGVycm9ycyBhY3RpdmF0aW5nIGZpbGUgcGFydHMgYW5kIHB1Ymxpc2ggdGhlbSBvbgoJICB0aGUgYnVzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUwNzQ3CgoyMDE1LTA2LTE4IDA5OjI2OjEzICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzaW5rLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzaW5rLmg6CgkgIHNwbGl0bXV4c2luazogTWFzayBhc3luYy1zdGFydC9kb25lIHdoaWxlIHN3aXRjaGluZyBmaWxlcy4KCSAgU29tZXRpbWVzLCBleHRyYSBhc3luYy1zdGFydC9kb25lIGZyb20gdGhlIGludGVybmFsIHNpbmsKCSAgd2hpbGUgdGhlIGVsZW1lbnQgaXMgc3RpbGwgc3RhcnRpbmcgdXAgY2FuIGNhdXNlIHNwbGl0bXV4c2luawoJICB0byBzdGFsbCBpbiBQQVVTRUQgc3RhdGUgd2hlbiBpdCBoYXMgYmVlbiBzZXQgdG8gUExBWUlORwoJICBieSB0aGUgYXBwLiBEcm9wIHRoZSBjaGlsZCdzIGFzeW5jLXN0YXJ0L2RvbmUgbWVzc2FnZXMgd2hpbGUKCSAgc3dpdGNoaW5nLCBzbyB0aGV5IGRvbid0IGNhdXNlIHN0YXRlIGNoYW5nZXMgYXQgdGhlCgkgIHNwbGl0bXV4c2luayBsZXZlbC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MDc0NwoKMjAxNS0wNi0xNSAxNjoxMjoxMCArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2EtZGVtdXg6IFVzZSBnc3RfdmlkZW9fbXVsdGl2aWV3X2d1ZXNzX2hhbGZfYXNwZWN0KCkKCSAgVXNlIHRoZSBnc3RfdmlkZW9fbXVsdGl2aWV3X2d1ZXNzX2hhbGZfYXNwZWN0KCkgdXRpbGl0eSBmdW5jdGlvbgoJICB0byBzZXQgdGhlIGhhbGYtYXNwZWN0IGZsYWcgKG9yIG5vdCkgb24gc3RlcmVvc2NvcGljIGZyYW1lLXBhY2tlZAoJICB2aWRlb3MuCgoyMDE1LTA2LTE1IDE2OjEwOjM3ICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBNb3ZlIG11bHRpdmlldyBjYXBzIGNhbGN1bGF0aW9ucywgYWRkIGhhbGYtYXNwZWN0IGhldXJpc3RpY3MKCSAgTW92ZSB0aGUgbXVsdGl2aWV3IGNhcHMgY2FsY3VsYXRpb25zIHRvIHRoZSBjb25maWd1cmVfc3RyZWFtKCkKCSAgZnVuY3Rpb24sIHNvIHRoZSByZXN0IG9mIHRoZSB2aWRlbyBpbmZvIGlzIGF2YWlsYWJsZSwgYW5kCgkgIHVzZSB0aGUgZ3N0X3ZpZGVvX211bHRpdmlld19ndWVzc19oYWxmX2FzcGVjdCgpIGZ1bmN0aW9uIHRvCgkgIGRldGVybWluZSBpZiB0aGUgaGFsZi1hc3BlY3QgZmxhZyBzaG91bGQgYmUgc2V0IG9uIGZyYW1lLXBhY2tlZAoJICB2aWRlby4KCjIwMTUtMDYtMTggMTY6MDY6MDIgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBBZGQgY3NsZyBzdXBwb3J0CgkgIFRoZSBjc2xnIGF0b20gcHJvdmlkZSBpbmZvcm1hdGlvbiBhYm91dCB0aGUgRFRTIHNoaWZ0LiBUaGlzIGlzCgkgIG5lZWRlZCBpbiByZWNlbnQgdmVyc2lvbiBvZiBjdHRzIGF0b20gd2hlcmUgdGhlIG9mZnNldCBjYW4gYmUKCSAgbmVnYXRpdmUuIFdoZW4gY3NsZyBpcyBtaXNzaW5nLCB3ZSBwYXJzZSB0aGUgQ1RUUyB0YWJsZSBhcyBwcm9wb3NlZAoJICBpbiB0aGUgc3BlYyB0byBjYWxjdWxhdGUgdGhlc2UgdmFsdWVzLgoJICBJbiB0aGlzIGltcGxlbWVudGF0aW9uLCB3ZSBvbmx5IG5lZWQgdG8ga25vdyB0aGUgc2hpZnQuIEFzIEdTdHJlYW1lcgoJICBjYW5ub3QgdHJhbnNwb3J0IG5lZ2F0aXZlIHRpbWVzdGFtcHMsIHdlIHNoaWZ0IHRoZSB0aW1lc3RhbXBzIGZvcndhcmQKCSAgdXNpbmcgdGhhdCB2YWx1ZSBhbmQgYWRhcHQgdGhlIHNlZ21lbnQgdG8gY29tcGVuc2F0ZS4gVGhpcyBwYXRjaCBhbHNvCgkgIHJlbW92ZXMgYm9ndXMgb2Zmc2V0IG9mIGN0dHNfc29mZnNldCwgdGhpcyBvZmZzZXQgc2hhbGwgYmUgaW5jbHVkZWQKCSAgaW4gdGhlIGVkaXQgbGlzdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTEwMwoKMjAxNS0wNi0xOSAxODozNzo1OSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcXRtdXguYzoKCSAgcXRtdXg6IFRlc3QgZ2FwcyBhdCBzdGFydCBvZiBzdHJlYW0KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTI0MgoKMjAxNS0wNi0xOSAxODo0MDo0MyAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogVXNlIFBUUyB0byBmaWd1cmUtb3V0IHByZXNlbmNlIG9mIGdhcHMKCSAgV2UgbmVlZCB0byBsb29rIGF0IHRoZSBwcmVzZW50YXRpb24gdGltZXN0YW1wIGluIG9yZGVyIHRvIGNvbmNsdWRlIGlmCgkgIHRoZXJlIGlzIGEgZ2FwIGF0IHRoZSBzdGFydCBvZiBhIHN0cmVhbS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTI0MgoKMjAxNS0wNi0xOSAxNjo0NTowMiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogU2V0IGVkaXQgbGlzdCB0byBjb21wZW5zYXRlIERUUyBzaGlmdAoJICBXZSBzaGlmdCBEVFMgZm9yd2FyZCB0byBhdm9pZCBuZWdhdGl2ZSB0aW1lc3RhbXBzIHdoaWNoIGNhbm5vdCBiZQoJICByZXByZXNlbnRlZCB3aXRoIHZlcnNpb24gMCBvZiB0aGUgQ1RUUyB0YWJsZS4gVG8gc3RpY2sgd2l0aCB0aGF0CgkgIHZlcnNpb24gKGJhY2t3YXJkIGNvbXBhdGliaWxpdHkpLCB0aGUgc3BlYyByZWNvbW1lbmQgdXNpbmcgYW4KCSAgZWRpdCBsaXN0IGVudHJ5IHRvIG1vdmUgYmFjayB0aGUgcHJlc2VudGF0aW9uIHRpbWUgdG8gd2hlcmUgaXQKCSAgc2hvdWxkIGJlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxMjQyCgoyMDE1LTA2LTIyIDE0OjM1OjUyIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkgIGZsdm11eDogSW5zZXJ0IEFWQyBlbmQgb2Ygc2VxdWVuY2UKCSAgVGhpcyBGTFYgc3BlY2lmaWMgbWFyayBpcyBuZWVkZWQgdG8gcHJldmVudCBGbG93IFBsYXllciAobW9zdCBsaWtlbHkKCSAgYWxsIEZsYXNoIGJhc2UgcGxheWVyKSBmcm9tIGdvaW5nIGludG8gYnVmZmVyaW5nIHN0YXRlIHdoZW4gbmVhciBFT1MuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTEzMjAKCjIwMTUtMDYtMjIgMTM6MDU6MjkgKzA5MDAgIFZpbmVldGggVE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmM6CgkgIG1hdHJvc2thOiByZW1vdmUgdXNlbGVzcyBjaGVjawoJICBObyBuZWVkIHRvIGNoZWNrIGZvciBjb250ZXh0IGF2YWlsYWJpbGl0eSB3aGlsZSBmcmVlaW5nLiBXZSBhcmUgaW5zaWRlCgkgIGluc2lkZSBhIGNvZGUgYmxvY2sgd2l0aCBhIGNvbmRpdGlvbiB0aGF0IGRlcmVmZXJlbmNlcyBjb250ZXh0LgoJICBpZiAoY29udGV4dC0+dHlwZSA9PSAwIC4uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxMzA2CgoyMDE1LTA2LTIyIDE5OjM1OjU3ICswOTAwICBWaW5lZXRoIFQgTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9sem8uYzoKCSAgbHpvOiBmaXggbWVtb3J5IGxlYWsKCSAgdGhlIG9wZW5lZCBmaWxlIGlzIG5vdCBiZWluZyBjbG9zZWQgZHVyaW5nIHRlc3QsIHdoaWNoIHdpbGwgcmVzdWx0CgkgIGluIG1lbW9yeSBsZWFrLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxMzA2CgoyMDE1LTA2LTIyIDE5OjMwOjU4ICswOTAwICBWaW5lZXRoIFQgTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGV4dC9taWttb2QvbWlrbW9kX3JlYWRlci5jOgoJICBtaWttb2RfcmVhZGVyOiBQb3NzaWJsZSBudWxsIHBvaW50ZXIgZGVyZWZlcmVuY2U6CgkgIGdzdF9yZWFkZXIgdmFyaWFibGUgaXMgYmVpbmcgdXNlZCBiZWZvcmUgYWN0dWFsbHkgY2hlY2tpbmcgaWYgaXQKCSAgYWxsb2NhdGVkIHByb3Blcmx5CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTEzMDYKCjIwMTUtMDYtMjIgMTk6NDU6MTQgKzA5MDAgIFNhbmdreXUgUGFyayA8c2sxMTIyLnBhcmtAc2Ftc3VuZy5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogTWlub3IgY2xlYW4tdXAKCSAgMS4gRml4IHRoZSBjb2RlIHdoaWNoIGlzIHdyb25nIGNvZGluZyBzdHlsZS4KCSAgMi4gRml4IGEgdHlwaW5nIGVycm9yIG9mIGNvbW1lbnQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTEzMTYKCjIwMTUtMDYtMjIgMTE6Mjg6MTMgKzAyMDAgIEpvc2UgQW50b25pbyBTYW50b3MgQ2FkZW5hcyA8c2FudG9zY2FkZW5hc0BnbWFpbC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSAgcnRwc291cmNlOiBEbyBub3QgdHJ5IHRvIHB1c2ggTlVMTCBidWZmZXJzCgkgIElmIHVwZGF0ZV9yZWNlaXZlcl9zdGF0cygpIGZhaWxzLCB3ZSBjYW4ndCByZWFsbHkgZG8gYW55dGhpbmcgd2l0aCB0aGlzIGJ1ZmZlcgoJICBhbnltb3JlIGFuZCBoYXZlIHRvIGRyb3AgaXQuIFRoaXMgaGFwcGVucyBpZiB0aGVyZSdzIGEgYmlnIHNlcW51bQoJICBkaXNjb250aW51aXR5IGZvciBleGFtcGxlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxMzExCgoyMDE1LTA2LTIyIDEzOjEwOjAyICswOTAwICBWaW5lZXRoIFRNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHZkZW11eDogdHJpdmlhbCBjbGVhbnVwCgkgIHRyaXZpYWwgcGF0Y2ggdG8gYWRkIHByb3BlciAoIHdoaWxlIGNoZWNraW5nIGZvciBpZihHX1VOTElLRUxZKCkpCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTEzMDYKCjIwMTUtMDYtMjIgMTM6MTY6MDggKzA5MDAgIFZpbmVldGggVE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmM6CgkgIGRjYXBhcnNlOiBpbml0aWFsaXplIHNpemUgdmFyaWFibGUKCSAgc2l6ZSBjYW4gYmUgdXNlZCBpbiBjbGVhbnVwIHdpdGhvdXQgYmVpbmcgaW5pdGlhbGl6ZWQuIEhlbmNlCgkgIHNldHRpbmcgaXQgdG8gMCB3aGVuIGRlY2xhcmluZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxMzA2CgoyMDE1LTA2LTIyIDEzOjEzOjI5ICswOTAwICBWaW5lZXRoIFRNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJICBtcGVnYXVkaW9wYXJzZTogaW5pdGlhbHplIGJwZiB2YXJpYWJsZQoJICBicGYgdmFyaWFibGUgbWlnaHQgYmUgdXNlZCBpbiBjbGVhbnVwIHdpdGhvdXQgYmVpbmcgaW50aWFsaXplZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTMwNgoKMjAxNS0wNi0xOSAxNDo1MDo1OSArMDIwMCAgTWlndWVsIFBhcsOtcyBEw61heiA8bXBhcmlzZGlhekBnbWFpbC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhxdWV1ZS5jOgoJICBydHBydHhxdWV1ZTogcmV2ZXJzZSBwZW5kaW5nIGxpc3QgYmVmb3JlIHB1c2hpbmcgYnVmZmVycwoJICBXaXRoIHRoaXMgd2Ugc2VuZCB0aGUgUlRYIGJ1ZmZlcnMgaW4gdGhlIHNhbWUgb3JkZXIKCSAgdGhhdCB0aGV5IHdlcmUgcmVxdWVzdGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxMjk3CgoyMDE1LTA2LTIxIDE5OjIyOjEwIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkgIGZsdm11eDogRml4IERUUyB2YWxpZGl0eSBjaGVjawoJICBUaGlzIGNoZWNrIHdhcyB1cC1zaWRlLWRvd24sIGNhdXNpbmcgYSBiYWQgdGltZXN0YW1wIGF0IHN0YXJ0CgkgIGFuZCB0aGVuIGFsbCB0aW1lc3RhbXAgYmVpbmcgZGVsYXllZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTI5OAoKMjAxNS0wNi0xNyAxNToxOTo0NyAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2lzb21wNC9mb3VyY2MuaDoKCSogZ3N0L2lzb21wNC9xdGRlbXV4X2R1bXAuYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4X2R1bXAuaDoKCSogZ3N0L2lzb21wNC9xdGRlbXV4X3R5cGVzLmM6CgkgIGNzbGc6IEFkZCBDb21wb3NpdGlvbiBTaGlmdCBMZWFzdCBHcmVhdGVzdCBBdG9tCgkgIFRoaXMgc2ltcGx5IGFkZCBmb3VyY2MgYW5kIGR1bXAgZnVuY3Rpb24gZm9yIHRoZSBjc2xnIEF0b20uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTExMDMKCjIwMTUtMDYtMTcgMTU6MTg6MzggLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eF9kdW1wLmM6CgkgIGN0dHNfZHVtcDogRml4IHNpZ25lc3MgaXNzdWVzCgkgIEl0IGRpZG4ndCBidWcsIGJ1dCB1c2UgY29ycmVjdCBzaWduZXNzIGluIHRyYWNlcy4gVGhlIG51bWJlciBvZgoJICBlbnRyaWVzIGlzIHVuc2lnbmVkIHdoaWxlIHRoZSBvZmZzZXQgY2FuIGJlIHNpZ25lZCBhY2NvcmRpbmcgdG8KCSAgcmVjZW50IHNwZWMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTExMDMKCjIwMTUtMDYtMTYgMTc6NDg6MDggLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA2MDE1ZDI2IHRvIGY3NGIyZGYKCjIwMTUtMDYtMTYgMTE6NDM6MzkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBnc3RfcnRwX2J1ZmZlcl9leHRfdGltZXN0YW1wKCkgbW9kaWZpZXMgaXRzIGZpcnN0IGFyZ3VtZW50LCBrZWVwIGEgY29weSBhcm91bmQKCjIwMTUtMDYtMTYgMTA6MzA6MzQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBDb21wYXJlIGV4dCBSVFAgdGltZXMsIG5vdCBwbGFpbiBSVFAgdGltZSBhbmQgZXh0IFJUUCB0aW1lIHdoZW4gY2FsY3VsYXRpbmcgZWxhcHNlZCB0aW1lCgkgIE90aGVyd2lzZSBhbGwgUlRQIHRpbWVzIGFmdGVyIGEgd3JhcGFyb3VuZCB3b3VsZCBiZSBjb25zaWRlcmVkIGFzIGdvaW5nCgkgIGJhY2t3YXJkcywgdGhleSB3aWxsIGFsd2F5cyBiZSBzbWFsbGVyIHRoYW4gdGhlIGV4dCBSVFAgdGltZS4KCjIwMTUtMDYtMTUgMTk6MjU6MTIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiBUaGUgZGVmYXVsdCBydHAtcHJvZmlsZSBzaG91bGQgYmUgQVZQLCBub3QgQVZQRgoKMjAxNS0wNi0xNSAxNDozMjoyMSArMDkwMCAgU2FuZ2t5dSBQYXJrIDxzazExMjIucGFya0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBNaW5vciBjbGVhbnVwCgkgIDEuIEFkZCBOdWxsIGNoZWNrIGluICdmcmVlX2l0ZW0nIGZ1bmN0aW9uLgoJICAyLiBGaXggYSB0eXBpbmcgZXJyb3Igb2YgY29tbWVudC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MDk2NQoKMjAxNS0wNi0xMiAxNzo0NDo1MSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSAgZmxtdXg6IE1ha2Ugc3VyZSBiZXN0X3RpbWUgaXMgaW5pdGlhbGl6ZWQKCjIwMTUtMDYtMTIgMjM6Mjk6MTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5oOgoJICBydHBiaW4vc2Vzc2lvbjogQWRkIG5ldyBudHAtdGltZS1zb3VyY2UgcHJvcGVydHkgYW5kIGRlcHJlY2F0ZSB1c2UtcGlwZWxpbmUtY2xvY2sgcHJvcGVydHkKCSAgVGhlIG5ldyBwcm9wZXJ0eSBhbGxvd3MgdG8gc2VsZWN0IHRoZSB0aW1lIHNvdXJjZSB0aGF0IHNob3VsZCBiZSB1c2VkIGZvciB0aGUKCSAgTlRQIHRpbWUgaW4gUlRDUCBwYWNrZXRzLiBCeSBkZWZhdWx0IGl0IHdpbGwgY29udGludWUgdG8gY2FsY3VsYXRlIHRoZSBOVFAKCSAgdGltZXN0YW1wICgxOTAwIGVwb2NoKSBiYXNlZCBvbiB0aGUgcmVhbHRpbWUgY2xvY2suIEFsdGVybmF0aXZlbHkgaXQgY2FuIHVzZQoJICB0aGUgVU5JWCB0aW1lc3RhbXAgKDE5NzAgZXBvY2gpLCB0aGUgcGlwZWxpbmUncyBydW5uaW5nIHRpbWUgb3IgdGhlIHBpcGVsaW5lJ3MKCSAgY2xvY2sgdGltZS4gVGhlIGxhdHRlciBpcyBlc3BlY2lhbGx5IHVzZWZ1bCBmb3Igc3luY2hyb25pemluZyBtdWx0aXBsZQoJICByZWNlaXZlcnMgaWYgYWxsIG9mIHRoZW0gc2hhcmUgdGhlIHNhbWUgY2xvY2suCgkgIElmIHVzZS1waXBlbGluZS1jbG9jayBpcyBzZXQgdG8gVFJVRSwgaXQgd2lsbCBvdmVycmlkZSB0aGUgbnRwLXRpbWUtc291cmNlCgkgIHNldHRpbmcgYW5kIGNvbnRpbnVlIHRvIHVzZSB0aGUgcnVubmluZyB0aW1lIHBsdXMgNzAgeWVhcnMuIFRoaXMgaXMgb25seSBrZXB0CgkgIGZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eS4KCjIwMTUtMDQtMDcgMTY6MDM6NDIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3F0bXV4LmM6CgkgIHRlc3RzOiBxdG11eDogdGVzdCBmb3IgbXV4aW5nIHdpdGggRFRTIG91dHNpZGUgdGhlIHNlZ21lbnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MDU3NQoKMjAxNS0wNi0xMSAxNzoyNjo0OSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEFkanVzdCBzZWdtZW50IGFjY29yZGluZyB0byBjdHRzIG9mZnNldAoJICBJbiBwcmVzZW5jZSBvZiBhIENUVFMsIHRoZSBzZWdtZW50IHN0YXJ0L3N0b3AgbXVzdCBiZSBvZmZzZXQgc28KCSAgdGhlIHNlZ21lbnQgc3RhcnQvc3RvcCBpbmNsdWRlIHRoZSBQVFMuIFRoaXMgaXMgbmVlZGVkIHNpbmNlIHRoZQoJICBQVFMgY2Fubm90IGJlIG5lZ2F0aXZlIGluIHRoaXMgZm9ybWF0LiBUaGlzIGZpeGVzIGlzc3VlcyB3aGVyZSB0aGUKCSAgcnVubmluZyB0aW1lIG9mIHRoZSBmaXJzdCBidWZmZXIgaXNuJ3QgYXQgdGhlIHN0YXJ0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQwNTc1CgoyMDE1LTA0LTAzIDIwOjM0OjQyIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguaDoKCSAgcXRtdXg6IEhhbmRsZSBEVFMgd2l0aCBuZWdhdGl2ZSBydW5uaW5nIHRpbWUKCSAgQXMgUVQgd29ya3Mgd2l0aCBkdXJhdGlvbiwgc2ltcGx5IGJyaW5nIGJhY2sgZmlyc3QgRFRTIHRvIDAgYW5kIHNoaWZ0CgkgIGZvcndhcmQgdGhlIFBUUyBvZiB0aGUgc2FtZSBhbW91bnQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDA1NzUKCjIwMTUtMDYtMTAgMTg6MTU6NTIgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2bXV4Lmg6CgkgIGZsdm11eDogQWRkIG5lZ2F0aXZlIHJ1bnRpbWUgRFRTIHN1cHBvcnQKCSAgVGhpcyBpcyBkb25lIGJ5IHVzaW5nIG5ldyBmZWF0dXJlIG9mIHRoZSBDb2xsZWN0UGFkIGNsaXAgZnVuY3Rpb24KCSAgd2hpY2ggc2V0cyB0aGUgRFRTIGFzIGEgZ2ludDY0IGluIHRoZSBjb2xsZWN0ZWQgZGF0YS4gSXQgYWxzbyBzaW1wbGlmeQoJICB0aGUgY29kZSBhIGJpdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MDU3NQoKMjAxNS0wNi0xMiAyMzowNjoyNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IFJlbmFtZSBzb21lIHZhcmlhYmxlcyBhbmQgZGVidWcgb3V0cHV0IHRvIG1ha2UgbW9yZSBzZW5zZQoJICBMb2NhbCBhbmQgcmVtb3RlIHdlcmUgbWl4ZWQgdXAgaW4gYSBmZXcgcGxhY2VzLCBhbmQgdGhlIHRpbWUgd2Ugc3RvcmUgaGVyZSBpcwoJICBub3QgVU5JWCB0aW1lICgxOTcwIGVwb2NoKSwgYnV0IE5UUCB0aW1lICgxOTAwIGVwb2NoKSBpbiBuYW5vc2Vjb25kcy4KCjIwMTUtMDYtMTIgMTk6MjE6MTAgKzAzMDAgIElseWEgS29uc3RhbnRpbm92IDxpbHlhLmtvbnN0YW50aW5vdkBnbWFpbC5jb20+CgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4Y29yZWF1ZGlvcmVtb3RlaW8uYzoKCSAgb3N4YXVkaW86IGZpeCBsYXRlbmN5IHByb3BlcnR5IHF1ZXJ5IG9uIFJlbW90ZUlPCgkgIEF1ZGlvVW5pdEdldFByb3BlcnR5IHdvdWxkIGZhaWwgd2l0aCBrUGFyYW1FcnIgKC01MCkgZXZlcnkgdGltZSwKCSAgc2ltcGx5IGJlY2F1c2Ugc2l6ZSB3YXNuJ3QgaW5pdGlhbGl6ZWQuCgkgIE5vdyBpdCByZXR1cm5zIHplcm8gbGF0ZW5jeSwgYnV0IGF0IGxlYXN0IGl0IGRvZXNuJ3QgZmFpbC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MDg2OAoKMjAxNS0wNC0wNyAxNDowNjoxNiArMDUzMCAgQXJ1biBSYWdoYXZhbiA8Z2l0QGFydW5yYWdoYXZhbi5uZXQ+CgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSAgcHVsc2VzcmM6IEZpeCBtYXBwaW5nIG9mIGxhdGVuY3kgcGFyYW1ldGVycyB0byBidWZmZXIgYXR0cmlidXRlcwoKMjAxNS0wNi0xMiAwMTo1NjozNyArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2EtZGVtdXg6IEFjdHVhbGx5IHNldCBkZXRlY3RlZCAzRCBpbmZvIGludG8gb3V0cHV0IGNhcHMuCgkgIFVzZSB0aGUgaW5mb3JtYXRpb24gcmVhZCBmcm9tIHRoZSBTdGVyZW9Nb2RlIGluZm8KCSAgdG8gY29uZmlndXJlIG11bHRpdmlldy1tb2RlIGFuZCBtdWx0aXZpZXctZmxhZ3MgaW4gdGhlCgkgIHZpZGVvIGNhcHMuCgoyMDE1LTA2LTExIDEzOjM2OjU0ICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhwYXJ0cmVhZGVyLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzaW5rLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzaW5rLmg6CgkgIHNwbGl0bXV4c2luazogVGFrZSByZWxlYXNlZC1idXQtbm90LXlldC1vdXRwdXQgYnl0ZXMgaW50byBhY2NvdW50CgkgIFdoZW4gZGVjaWRpbmcgd2hldGhlciBpdCdzIHRpbWUgdG8gc3dpdGNoIHRvIGEgbmV3IGZpbGUsIHRha2UgaW50bwoJICBhY2NvdW50IGRhdGEgdGhhdCdzIGJlZW4gcmVsZWFzZWQgZm9yIHB1c2hpbmcsIGJ1dCBoYXNuJ3QgeWV0CgkgIGJlZW4gcHVzaGVkIC0gYmVjYXVzZSBkb3duc3RyZWFtIGlzIHNsb3cgb3IgdGhlIHRocmVhZHMgaGF2ZW4ndCBiZWVuCgkgIHNjaGVkdWxlZC4KCSAgRml4ZXMgYSByYWNlIGluIHRoZSB1bml0IHRlc3QgYW5kIHByb2JhYmx5IGluIHByYWN0aWNlIC0gc29tZXRpbWVzCgkgIGZhaWxpbmcgdG8gc3dpdGNoIHdoZW4gaXQgc2hvdWxkIGZvciBhbiBleHRyYSBHT1Agb3IgdHdvLgoJICBBbHNvIGZpeCBhIHByb2JsZW0gaW4gc3BsaXRtdXhzcmMgd2hlcmUgcGxheWJhY2sgc29tZXRpbWVzCgkgIHN0YWxscyBhdCBzdGFydHVwIGlmIHR5cGVzIGFyZSBmb3VuZCB0b28gcXVpY2tseS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MDc0NwoKMjAxNS0wNi0xMSAwMTowNDo1MSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9hdG9tcy5jOgoJICBhdG9tczogcmVtb3ZlIGN1c3RvbSBnc3RfYnVmZmVyX25ldyBmdW5jdGlvbiBpbiBmYXZvciBvZiBjb3JlIHZlcnNpb24KCSAgUmVtb3ZlIGEgY3VzdG9tIHNwZWNpYWxpemVkIHZlcnNpb24gb2YgZ3N0X2J1ZmZlcl9uZXdfd3JhcHBlZCBieQoJICB1c2luZyBnc3RfYnVmZmVyX25ld193cmFwcGVkX2Z1bGwgaW5zaWRlIGEgbWFjcm8gdG8gc2ltcGxpZnkKCSAgcGFyYW1ldGVycyBhbmQgZ2l2ZSBpdCBhIG1vcmUgbWVhbmluZ2Z1bCBuYW1lLgoJICBJdCBpcyBvbmx5IHVzZWQgdG8gY3JlYXRlIHRlbXBvcmFyeSBidWZmZXJzIHRvIGhhdmUgaXRzIGRhdGEgY29waWVkLgoKMjAxNS0wNi0xMSAwMDoxNDo0MSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9hdG9tcy5jOgoJICBhdG9tczogc2ltcGxpZnkgZnJlZSBmb3JtIGRhdGEgYXRvbXMgY3JlYXRpb24KCSAgQXZvaWQgY3JlYXRpbmcgYW4gaW50ZXJtZWRpYXJ5IGJ1ZmZlciBvciBtZW1vcnkgYXJlYSBqdXN0CgkgIHRvIGNvcHkgaW50byBhbiBhdG9tJ3MgZGF0YSBhcmVhLgoKMjAxNS0wNi0xMCAyMjoyNzoyNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9hdG9tcy5jOgoJKiBnc3QvaXNvbXA0L2F0b21zLmg6CgkqIGdzdC9pc29tcDQvZm91cmNjLmg6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5oOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4bWFwLmM6CgkgIHF0bXV4OiBhZGQgQUMtMyBtdXhpbmcgc3VwcG9ydAoJICBBZGRzIEFDLTMgbXV4aW5nIHN1cHBvcnQuIEl0IGlzIGRlZmluZWQgZm9yIG1wNCBhbmQgM2dwIGZvcm1hdHMuCgkgIE9uZSBleHRyYSBmZWF0dXJlIHRoYXQgd2FzIGFkZGVkIHdhcyB0aGUgYWJpbGl0eSB0byBhZGQgZXh0ZW5zaW9uCgkgIGF0b21zIGFmdGVyIHNldF9jYXBzIGFzIHRoZSBBQy0zIGV4dGVuc2lvbiBhdG9tIG5lZWRzIHNvbWUgZGF0YQoJICB0aGF0IGhhcyB0byBiZSBleHRyYWN0ZWQgZnJvbSB0aGUgc3RyZWFtIGl0c2VsZiBhbmQgaXMgbm90CgkgIHByZXNlbnQgb24gY2Fwcy4KCjIwMTUtMDYtMTAgMjI6MzY6NTkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvYXRvbXMuYzoKCSogZ3N0L2lzb21wNC9hdG9tcy5oOgoJICBxdG11eDogcmVtb3ZlIHVudXNlZCB0eXBlIE1QNFMKCjIwMTUtMDYtMTAgMjI6Mjk6MDEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IHJlbW92ZSBkdXBsaWNhdGUgYXR0cmlidXRlIHZhbHVlIHNldAoJICBJdCBpcyBhbHNvIHNldCBhIGZldyBsaW5lcyBiZWxvdwoKMjAxNS0wNi0xMSAwMDoyMjo1NCArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmg6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2E6IEltcGxlbWVudCBiYXNpYyBzdGVyZW9zY29waWMgdmlkZW8gc3VwcG9ydAoJICBJbXBsZW1lbnQgc3VwcG9ydCBmb3IgdGhlIHBhY2tlZCB2aWRlbyBmb3JtYXRzIFdlYk0KCSAgdXNlcywgbm90IGFsbCB0aGUgdmFsdWVzIHRoYXQgTWF0cm9za2EgbWlnaHQgdXNlLgoJICBJbiBwcmFjdGljZSwgaXQncyByZWFsbHkgaGFyZCB0byBmaW5kIGFueSBzYW1wbGVzIGluIHRoZQoJICB3aWxkIG9mIGFueS4KCSAgU3VwcG9ydGVkIGluIGJvdGggdGhlIG11eGVyIGFuZCBkZW11eGVyLgoKMjAxNS0wNi0xMCAwMToyNjoxNSArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L2ZvdXJjYy5oOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4X2R1bXAuYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4X2R1bXAuaDoKCSogZ3N0L2lzb21wNC9xdGRlbXV4X3R5cGVzLmM6CgkgIHF0ZGVtdXg6IEFkZCBiYXNpYyBzdXBwb3J0IGZvciBNUEVHLUEgc3RlcmVvc2NvcGljIHZpZGVvCgkgIFRoZSBNUEVHLUEgZm9ybWF0IHByb3ZpZGVzIGFuIGV4dGVuc2lvbiB0byB0aGUgSVNPIGJhc2UgbWVkaWEKCSAgZmlsZSBmb3JtYXQgdG8gc3RvcmUgc3RlcmVvc2NvcGljIGNvbnRlbnQgZW5jb2RlZCB3aXRoIGRpZmZlcmVudAoJICBjb2RlY3MgbGlrZSBILjI2NCBhbmQgTVBFRy00OjIuIFRoZSBzdGVyZW8gdmlkZW8gbWVkaWEgaW5mb3JtYXRpb24oc3ZtaSkKCSAgYXRvbSBkZWNsYXJlcyB0aGUgcHJlc2VuY2UgYW5kIHN0b3JhZ2UgbWV0aG9kIGZvciB0aGUgdmlkZW8uCgkgIFN0ZXJlbyB2aWRlbyBpbmZvcm1hdGlvbiBmb3IgTVBFRy1BIGNhbiBhbHNvIGJlIHN1cHBsaWVkIHRocm91Z2gKCSAgdGhlICdzdHZpJyBhdG9tIChyZWY6IElTTy9JRUNfMTQ0OTYtMTIsIElTTy9JRUNfMjMwMDAtMTEpLCB3aGljaAoJICBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBwYXRjaC4KCSAgQWxzbyBtaXNzaW5nIGlzIHN1cHBvcnQgZm9yIHN0ZXJlbyB2aWRlbyBlbmNvZGVkIGFzIHNlcGFyYXRlIHZpZGVvIHRyYWNrcwoJICBmb3Igbm93LgoJICBCYXNlZCBvbiBhIHBhdGNoIGJ5IFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYxMTE1NwoKMjAxNS0wNi0wMiAxNjoxNTozNSAtMDQwMCAgWGF2aWVyIENsYWVzc2VucyA8eGF2aWVyLmNsYWVzc2Vuc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuaDoKCSAgc291cGh0dHBzcmM6IEFkZCB0bHMtZGF0YWJhc2UgcHJvcGVydHkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MDI5OAoKMjAxNS0wNi0xMCAxNDozMzo1MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0YXN0ZXJpc2toMjYzLmM6CgkqIGdzdC9ydHAvZ3N0cnRwYWMzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYW1ycGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwY2VsdGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwY2VsdHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGR2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyM3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjlwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc21wYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc3RwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqMmtwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqcGVncGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXAydHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRnZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRncGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYXJvYnVzdGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXB2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcWNlbHBkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHFkbWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc2JjcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzdjN2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2cmF3ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2cmF3cGF5LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkgIHJ0cDogVXNlIEdTVF9CVUZGRVJfUFRTKCkgaW5zdGVhZCBvZiBHU1RfQlVGRkVSX1RJTUVTVEFNUCgpCgkgIFRoZSBtaXggYmV0d2VlbiBhbGwgdGhlc2UgaW4gdGhlIFJUUCBjb2RlIGlzIGNvbmZ1c2luZywgbGV0J3MgdHJ5IHRvIGJlCgkgIGNvbnNpc3RlbnQuCgoyMDE1LTA2LTEwIDE0OjQ5OjUwICswMzAwICBJbHlhIEtvbnN0YW50aW5vdiA8aWx5YS5rb25zdGFudGlub3ZAZ21haWwuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkgIHJ0cG1hbmFnZXI6IGNsYXJpZnkgbmVnYXRpdmUgbG9zdCBwYWNrZXRzIGluIHN0YXRzCgkgIEFsc286CgkgIC0gTW92ZSBub3RlcyBvbiB1bml0cyBiZWZvcmUgZmllbGQgZG9jdW1lbnRhdGlvbi4KCSAgLSBVbmlmeSBkb2N1bWVudGF0aW9uIHN0eWxlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUwNjUzCgoyMDE1LTA2LTEwIDA2OjM4OjM5IC0wNDAwICBYYXZpZXIgQ2xhZXNzZW5zIDx4YXZpZXIuY2xhZXNzZW5zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwaHR0cHNyYzogZml4IGdldHRlciBvZiAic3NsLXVzZS1zeXN0ZW0tY2EtZmlsZSIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MDI5OAoKMjAxNS0wNi0xMCAwOTo0OTo0NyArMDkwMCAgVmluZWV0aCBUTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBmaXggcmV2ZXJzZSBwbGF5YmFjawoJICBXaGVuIHBlcmZvcm1pbmcgc2Vlaywgc2VnbWVudC0+c3RhcnQgaXMgYmVpbmcgdXBkYXRlZCB3aXRoIGRlc2lyZWRfb2Zmc2V0LAoJICBidXQgaW4gY2FzZSBvZiByZXZlcnNlIHBsYXliYWNrIHNlZ21lbnQtPnN0YXJ0IHNob3VsZCBiZSAwIGFuZAoJICBzZWdtZW50LT5zdG9wIHNob3VsZCBiZSB1cGRhdGVkIHdpdGggZGVzaXJlZCBvZmZzZXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTA2NzUKCjIwMTUtMDEtMjEgMTg6MDk6MDMgKzAxMDAgIFBoaWxpcHAgWmFiZWwgPHAuemFiZWxAcGVuZ3V0cm9uaXguZGU+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYWxsb2NhdG9yLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJhbGxvY2F0b3IuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgZ3N0djRsMmJ1ZmZlcnBvb2w6IGhhbmRsZSAtRVBJUEUgZnJvbSBEUUJVRiB0byBzaWduYWwgRU9TCgkgIFRoZSBWNEwyIGRlY29kZXIgc2lnbmFscyBFT1MgYnkgcmV0dXJuaW5nIC1FUElQRSBmcm9tIERRQlVGIGFmdGVyIHRoZQoJICBsYXN0IGJ1ZmZlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MzMzOAoKMjAxNS0wNi0wNiAyMTowOToxOSAtMDQwMCAgWGF2aWVyIENsYWVzc2VucyA8eGF2aWVyLmNsYWVzc2Vuc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIHJ0c3BzcmM6IEFkZCBhIEdUbHNJbnRlcmFjdGlvbiBwcm9wZXJ0eQoJICBJdCBjYW4gYmUgdXNlZCBmb3IgVExTIGNsaWVudCBhdXRoZW50aWNhdGlvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MDQ3MQoKMjAxNS0wMS0wOSAxMTozNjoxMSArMDEwMCAgRW5yaWNvIEpvcm5zIDxlam9AcGVuZ3V0cm9uaXguZGU+CgoJKiBzeXMvdjRsMi9nc3R2NGwydHJhbnNmb3JtLmM6CgkgIHY0bDI6IEFsbG93IHNjYWxpbmcgaW4gdGhlIHY0bDIqY29udmVydCBlbGVtZW50CgkgIFRoaXMgaXMgaW5zcGlyZWQgb2YgdmlkZW9zY2FsZSBhbmQgdmlkZW9jb252ZXJ0IGVsZW1lbnRzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQyOTE3CgoyMDE1LTA2LTA5IDE5OjAyOjU1ICswMzAwICBJbHlhIEtvbnN0YW50aW5vdiA8aWx5YS5rb25zdGFudGlub3ZAZ21haWwuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmg6CgkgIHJ0cG1hbmFnZXI6IGRvY3VtZW50IHVuaXRzIG9mIHN0YXRzIGFuZCBhcmd1bWVudHMKCSAgQWxzbywgbWlub3Igc3BlbGxpbmcgYW5kIHN0eWxlIGNvcnJlY3Rpb25zLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUwNjUzCgoyMDE1LTA2LTA5IDE0OjQyOjI3ICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogTWFrZWZpbGUuYW06CgkgIGNydWZ0OiBhZGQgdGhlIG9ic29sZXRlIHRtcGwgZGlyIHRvIGNydWZ0LWRpcnMKCjIwMTUtMDYtMDkgMTE6MzA6MjIgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGQ5YTMzNTMgdG8gNjAxNWQyNgoKMjAxNS0wNi0wOSAwNzowNDowNyArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGNvbW1vbjoKCSAgRml4IGNvbW1vbiB2ZXJzaW9uCgkgIFdhcyBhY2NpZGVudGx5IGRvd25ncmFkZWQgYnkgODdhNDg4NGFjZDg2NTVhNjU5MWQ3MzVhMWQ5NDRlY2I1ZWEzZGUxNgoKMjAxNS0wNi0wOCAxOToxMTo0MSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyOiBBbHNvIHNldCBjb2xvcmltZXRyeSBvbiBvdXRwdXQgZGV2aWNlcwoJICBUaGlzIGNvbXBsZXRlcyB0aGUgY29kZSB0aGF0IHNldCB0aGUgY29sb3JpbWV0cnkgb24gb3V0cHV0CgkgIGRldmljZS4KCjIwMTUtMDYtMDggMTk6MTA6MzQgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGNvbW1vbjoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyOiBBZGQgbWlzc2luZyBTTVRQMjQwTSBtYXRyaXgKCSAgVGhpcyBpcyBtaXNzaW5nIGluIHRoZSBkb2MsIGJ1dCB3YXMgaW4gdGhlIGhlYWRlci4KCjIwMTUtMDYtMDggMjM6MDA6MTYgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvZ29vbS9nb29tX2NvcmUuYzoKCSAgZ29vbTogcG9zc2libGUgdW5pbml0aWFsaXplZCB2YXJpYWJsZXMgd2FybmluZwoJICBCdWlsZCBmYWlscyB3aXRoIHRoZSBsYXRlc3Qgc25hcHNob3Qgb2YgZ2NjLTQuOSBiZWNhdXNlIHBhcmFtMSBhbmQgcGFyYW0yIG1pZ2h0CgkgIHBvc3NpYmx5IGJlIHVzZWQgdW5pbml0aWFsaXplZC4gVGhleSBhcmUgc2V0IGRlcGVuZGluZyBvbiB0aGUgY2FzZXMgb2YgYSBzd2l0Y2gKCSAgc3RhdGVtZW50IGFuZCB0aGUgY29tcGlsZXIgc2VlcyB0aGlzIGFzIG5vdCBhIGNvbXBsZXRlIGd1YXJhbnRlZS4KCSAgU2V0IHRoZW0gdG8gMCBpZiB0aGUgc3dpdGNoIHN0YXRlbWVudCBmYWxscyBkb3duIHRvIHRoZSBkZWZhdWx0IGNhc2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTA1NjYjYzYKCjIwMTUtMDYtMDggMTc6MjQ6MzggLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogRnVsbHkgaW1wbGVtZW50IGNvbG9yaW1ldHJ5IHN1cHBvcnQKCSAgVGhpcyBmaXhlcyB3cm9uZyBtYXBwaW5nIGZvciBzUkdCIGFzIGluIEdTdHJlYW1lciBzUkdCIGNvcnJlY3RseQoJICBhcHBseSB0byBSR0IgZm9ybWF0cywgd2hpbGUgaW4gVjRMMiBpdCdzIGFuIGFsaWFzIGZvciBzWUNDLiBBbHNvCgkgIGFkZCBzdXBwb3J0IGZvciB0aGUgbmV3IHF1YW50aXphdGlvbiAocmFuZ2UpLCB5Y2Jjcl9lbmNvZGluZyAobWF0cml4KQoJICBhbmQgeGZlcl9mdW5jICh0cmFuc2ZlcikgZW51bWVyYXRpb24uCgoyMDE1LTA2LTA4IDE3OjAxOjE1IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9leHQvdHlwZXMtY29tcGF0Lmg6CgkqIHN5cy92NGwyL2V4dC92NGwyLWNvbW1vbi5oOgoJKiBzeXMvdjRsMi9leHQvdjRsMi1jb250cm9scy5oOgoJKiBzeXMvdjRsMi9leHQvdmlkZW9kZXYyLmg6CgkgIHY0bDI6IFVwZGF0ZSBrZXJuZWwgaGVhZGVycyB0byBsYXRlc3QgZnJvbSBtZWRpYSB0cmVlCgkgIFRoaXMgaXMgdGhlIGxhdGVzdCBmcm9tIG1lZGlhIHRyZWUuIFRoaXMgc2hvdWxkIGVuYWJsZSBtb3JlIGRldmVsb3BtZW50CgkgIG9mIHRoZSB2NGwyIGVsZW1lbnRzLiBUaGlzIGluY2x1ZGVzIG5ldyBmbGFncyByZXF1aXJlcyB0byBmaXggZHJhaW5pbmcKCSAgcGF0aCBpbiBkZWNvZGVyLCBjb2xvcmltZXRyeSBhbmQgbXVjaCBtb3JlLgoKMjAxNS0wNi0wOCAyMzowNzo1NSArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gZDM3YWYzMiB0byBkOWEzMzUzCgoyMDE1LTA2LTA4IDE5OjQyOjMwICswMTAwICBDaHJpcyBDbGF5dG9uIDxjaHJpczI1NTNAZ29vZ2xlbWFpbC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHZwOHBheS5jOgoJICBydHB2cDhkZXBheTogcG90ZW50aWFsIGFjY2VzcyBiZXlvbmQgZW5kIG9mIGFycmF5CgkgIENvbXBpbGluZyAod2l0aCBnY2MtNC45LTIwMTUwNjAzKSBwcm9kdWNlcyBhbiBlcnJvciBiZWNhdXNlIG9mIGFuIGFjY2VzcyBiZXlvbmQKCSAgdGhlIGVuZCBvZiBhbiBhcnJheS4gVGhpcyBwYXRjaCBmaXhlcyB0aGUgZXJyb3IgYnkgaW5pdGlhbGl6aW5nIHRoZSBsb29wCgkgIGNvbnRyb2wvYXJyYXkgaW5kZXggdmFyaWFibGUgKGkpIHRvIDEgYW5kIHJldHVybmluZyBpIC0gMSB3aGVuIGEgbWF0Y2ggaXMgZm91bmQuCgkgIEFsc28sIGJlY2F1c2UgdGhlIHZhbHVlcyBzdG9yZWQgaW4gdGhlIGFycmF5IGluY3JlYXNlIGluIHZhbHVlIGFzIHRoZSBpbmRleAoJICBpbmNyZWFzZXMsIHRoZSA+PSB0ZXN0IHVubmVjZXNzYXJ5LCBzbyBpdCBpcyByZW1vdmVkLgoKMjAxNS0wNC0zMCAwMjo1Mjo1OCArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c2luay5jOgoJICBzcGxpdG11eHNpbms6IERvbid0IGFjY3VtdWxhdGUgbW9yZSB0aGFuIDIgR09QcwoJICBEb24ndCBhbGxvdyBsYXJnZSBhbW91bnRzIG9mIGRhdGEgdG8gcXVldWUgdXAgLSB3ZSBvbmx5IG5lZWQKCSAgdGhlIEdPUCB3ZSdyZSB3cml0aW5nLCBhbmQgdGhlIEdPUCB3ZSdyZSBhY2N1bXVsYXRpbmcuCgoyMDE1LTA0LTE2IDEwOjQ0OjQ5ICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgaXNvbXA0OiBmc3luYyBhZnRlciBzZW5kaW5nIHVwZGF0ZXMgaW4gcm9idXN0IG1vZGUKCSAgVXNlIHRoZSBuZXcgR3N0QnVmZmVyIFNZTkNfQUZURVIgZmxhZyB0byB0cmlnZ2VyIGFuIGZzeW5jCgkgIGFmdGVyIHVwZGF0aW5nIHRoZSBtb292IG9yIG1kYXQgYXRvbSwgYW5kIGFmdGVyIHVwZGF0aW5nIHRoZSBmcmVlCgkgIGF0b20gdG8gbWFrZSBpdCB2aXNpYmxlLgoKMjAxNS0wNC0wMyAwMDo1NzoyMCArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIGlzb21wNDogT25seSBzZXQgbW9vdiBoZWFkZXIgaW50byBzdHJlYW1oZWFkZXIgYXQgRU9TCgkgIE9ubHkgdXBkYXRlIHRoZSBtb292IGhlYWRlciBpbnRvIHRoZSBjYXBzIGlmIGl0J3MgdGhlIGZpbmFsaXNlZAoJICBtb292IGF0IEVPUyB0aW1lLiBBdm9pZHMgcG9zdGluZyBhIGJvZ3VzIG1vb3YgYXQgc3RhcnR1cCBhbmQKCSAgcmVwZWF0ZWQgdXBkYXRlcyBpbiByb2J1c3QtcmVjb3JkaW5nIG1vZGUKCjIwMTUtMDQtMDMgMDE6NDQ6MTUgKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcXRtdXguYzoKCSAgdGVzdHM6IFVwZGF0ZSBtcDQgbXV4IHRlc3QgZm9yIG1kYXQgcGxhY2Vob2xkZXIgY2hhbmdlCgkgIFRoZSBtcDQgbXV4ZXIgbm93IHdyaXRlcyBhIHBsYWNlLWhvbGRlciBtZGF0IGFzIGEgZnJlZQoJICBhdG9tIGZvbGxvd2VkIGJ5IGEgMC1ieXRlIG1kYXQgdGhhdCBjb3ZlcnMgdGhlIHJlc3Qgb2YgdGhlCgkgIGZpbGUsIG1ha2luZyBpdCBwb3NzaWJsZSB0byByZXdyaXRlIGl0IGFzIDY0LWJpdCwgb3IgbGVhdmUKCSAgaXQgYXMtaXMgaWYgbm90aGluZyBlbHNlIGlzIHdyaXR0ZW4gYWZ0ZXJ3YXJkCgoyMDE1LTA0LTAxIDExOjE1OjM4ICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvYXRvbXMuYzoKCSogZ3N0L2lzb21wNC9hdG9tcy5oOgoJKiBnc3QvaXNvbXA0L2F0b21zcmVjb3ZlcnkuYzoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4Lmg6CgkgIGlzb21wNDogSW1wbGVtZW50IHJvYnVzdCBtdXhpbmcgdXNpbmcgcGluZy1wb25nIHN0cmF0ZWd5CgkgIEltcGxlbWVudCBhIHJvYnVzdCByZWNvcmRpbmcgbW9kZSwgd2hlcmUgdGhlIG91dHB1dAoJICBmaWxlIGlzIGFsd2F5cyBpbiBhIHBsYXlhYmxlIHN0YXRlLCBzZWVraW5nIGFuZCByZXdyaXRpbmcKCSAgdGhlIG1vb3YgaGVhZGVyIGF0IGEgY29uZmlndXJhYmxlIGludGVydmFsLiBSZXdyaXRpbmcKCSAgbW9vdiBpcyBkb25lIHVzaW5nIHJlc2VydmVkIHNwYWNlIGF0IHRoZSBzdGFydCBvZgoJICB0aGUgZmlsZSwgYW5kIGEgcGluZy1wb25nIHN0cmF0ZWd5IHdoZXJlIHRoZSBtb292CgkgIGlzIHJlcGxhY2VkIGF0b21pY2FsbHkgc28gaXQncyBuZXZlciBpbnZhbGlkLgoJICBUcmFjayB3aGVuIHRhZ3MgaGF2ZSBhY3R1YWxseSBjaGFuZ2VkLCBhbmQgZG9uJ3Qgd3JpdGUgdGhlbSBpbnRvCgkgIHRoZSBtb292IHVubGVzcyB0aGV5J3ZlIGNoYW5nZWQuIENsZWFyIGFueSBleGlzdGluZyB0YWdzIHdoZW4KCSAgcmUtd3JpdGluZyB0aGVtLCBzbyB3ZSBjYW4gZG8gcHJvZ3Jlc3NpdmUgbW9vdiB1cGRhdGluZyBpbiByb2J1c3QKCSAgcmVjb3JkaW5nIG1vZGUuCgkgIFdyaXRlIHBsYWNlaG9sZGVyIG1kYXQgYXMgYSBmcmVlIGF0b20gcGx1cyBhIDMyLWJpdCBtZGF0CgkgIHdpdGggJzAnIHNpemUsIHdoaWNoIG1lYW5zICJyZXN0IG9mIHRoZSBmaWxlIiBpbiB0aGUgc3BlYy4KCSAgUmUtd3JpdGUgaXQgbGF0ZXIgdG8gYSBmdWxsIDY0LWJpdCBleHRlbmRlZCBzaXplIGF0b20gaWYgbmVlZGVkLgoKMjAxNS0wNC0wMSAwMDo1ODo1MiArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L2F0b21zLmM6CgkqIGdzdC9pc29tcDQvYXRvbXMuaDoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBpc29tcDQ6IFVwZGF0ZSBlZGl0IGxpc3Qgd2hlbiByZS13cml0aW5nIG1vb3YKCSAgQ29ycmVjdGx5IHVwZGF0ZSBhbnkgZWRpdCBsaXN0cyBlYWNoIHRpbWUgdGhlIG1vb3YgaXMgcmVjYWxjdWxhdGVkLAoJICB1cGRhdGluZyBleGlzdGluZyB0YWJsZSBlbnRyaWVzIGlmIHRoZXkgYWxyZWFkeSBleGlzdCBpbnN0ZWFkIG9mIGp1c3QKCSAgYWRkaW5nIG5ldyBvbmVzLgoKMjAxNS0wNC0wOCAwMTo0MToxOCArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIGlzb21wNDogUmVtb3ZlIGFuIGV4dHJhIGJyYWNrZXQgaW4gYSBjb21tZW50LgoKMjAxNS0wMy0xOSAyMDoyOTo0NCArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c3JjLmM6CgkgIHNwbGl0bXV4c3JjOiBQcm90ZWN0IHRvdGFsX2R1cmF0aW9uIHN0YXRlIHZhcmlhYmxlIHdpdGggdGhlIG9iamVjdCBsb2NrLgoJICBQcmV2ZW50IGRlYWRsb2NrcyBmcm9tIGRvd25zdHJlYW0gcXVlcnlpbmcgZHVyYXRpb24gZnJvbSB0aGUgc3RyZWFtaW5nIHRocmVhZC4KCjIwMTUtMDYtMDcgMjM6MDY6MjAgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDIxYmEyZTUgdG8gZDM3YWYzMgoKMjAxNS0wNi0wNyAxOToyNDoyMCArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9nb29tL2dzdGF1ZGlvdmlzdWFsaXplci5jOgoJICBnb29tOiBjbGVhbiBkZXJlZmVyZW5jZXMgb2YgcHJpdmF0ZSBzdHJ1Y3R1cmUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0Mjg3NQoKMjAxNS0wNi0wNyAxOToyMDowNCArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9nb29tMmsxL2dzdGF1ZGlvdmlzdWFsaXplci5jOgoJICBnb29tMmsxOiBjbGVhbiBkZXJlZmVyZW5jZXMgb2YgcHJpdmF0ZSBzdHJ1Y3R1cmUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0Mjg3NQoKMjAxNS0wNi0wNyAxNzozMjowMSArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gYzQwODU4MyB0byAyMWJhMmU1CgoyMDE1LTA2LTA3IDE3OjAxOjM3ICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICBkb2NzOiByZW1vdmUgdmFyaWFibGVzIHRoYXQgd2UgZGVmaW5lIGluIHRoZSBzbmlwcGV0IGZyb20gY29tbW9uCgkgIFRoaXMgaXMgc3luY2luZyBvdXIgTWFrZWZpbGUuYW0gd2l0aCB1cHN0cmVhbSBndGtkb2MuCgoyMDE1LTA2LTA3IDE3OjE2OjE5ICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogYXV0b2dlbi5zaDoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBkNjc2OTkzIHRvIGM0MDg1ODMKCjIwMTUtMDYtMDcgMTY6NDQ6MzcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQKCj09PSByZWxlYXNlIDEuNS4xID09PQoKMjAxNS0wNi0wNyAxMDo0NjozNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXNvbXA0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdnB4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiBnc3QtcGx1Z2lucy1nb29kLmRvYXA6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUtZGlzdC5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyb3JjLWRpc3QuYzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDEuNS4xCgoyMDE1LTA2LTA3IDEwOjM4OjI4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZW8ucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vaHIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDE1LTA2LTA3IDEwOjMyOjM4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogT3ZlcnJpZGUgdGhlIFNTUkMgZnJvbSB0aGUgcGFja2V0cycgU1NSQyBpZiBub25lIHdhcyBnaXZlbiB2aWEgY2FwcyBvciBwcm9wZXJ0eQoKMjAxNS0wNi0wNyAwOTozNTozOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VvLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2hyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9yby5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHBvL3poX0hLLnBvOgoJKiBwby96aF9UVy5wbzoKCSAgcG86IFVwZGF0ZSB0cmFuc2xhdGlvbnMKCjIwMTUtMDYtMDUgMTU6MzI6MTAgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyOiBEb24ndCB3YXJuIHdoZW4gb3B0aW9uYWwgQ0lEIGFyZSBub3QgaW1wbGVtZW50CgkgIGdzdF92NGwyX2dldF9hdHRyaWJ1dHJlKCkgc2hhbGwgb25seSBiZSB1c2VkIHdoZW4gdGhlIENJRCBpcyBleHBlY3RlZAoJICB0byBiZSBzdXBwb3J0ZWQuIE90aGVyd2lzZSwgd2UgZ2V0IHVud2FudGVkIHdhcm5pbmcgcG9zdGVkIHRvIHRoZSBidXMuCgoyMDE1LTA2LTA1IDE2OjQzOjA4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgcnRwc2Vzc2lvbjogT25seSBzdWdnZXN0IG91ciBpbnRlcm5hbCBzc3JjIGlmIGl0J3Mgbm90IGEgcmFuZG9tIG9uZSBhbmQgd2FzIHNlbGVjdGVkIGFzIGludGVybmFsIHNzcmMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0OTU4MQoKMjAxNS0wNi0wNCAxNDoxODowMSArMDkwMCAgVmluZWV0aCBUTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzoKCSAgaW50ZXJsZWF2ZTogZXJyb3Igd2hlbiBjaGFubmVsLXBvc2l0aW9ucy1mcm9tLWlucHV0PUZhbHNlCgkgIHNlbGYtPmNoYW5uZWxzIGlzIGJlaW5nIGluY3JlbWVudGVkIG9ubHkgd2hlbgoJICBjaGFubmVsLXBvc2l0aW9ucy1mcm9tLWlucHV0IGlzIHNldCBhcyBUUlVFLiBTbyBpbiBjYXNlIG9mIEZBTFNFCgkgIHNlbGYtPmZ1bmMgaXMgbm90IHNldCBhbmQgaGVuY2UgY3JlYXRpbmcgYXNzZXJ0aW9uIGVycm9yLgoJICBIZW5jZSByZW1vdmluZyB0aGUgY29uZGl0aW9uIHRvIGluY3JlbWVudCBzZWxmLT5jaGFubmVscy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NDIxMQoKMjAxNS0wNi0wNSAxMDozMzoxMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IEFkZCBzdXBwb3J0IGZvciByZWNlaXZpbmcgcmVkdWNlZCBzaXplIFJUQ1AKCSAgSXQgd29ya2VkIGJlZm9yZSBidXQgZ2F2ZSB3YXJuaW5ncywgbm93IHdlIGp1c3QgaWdub3JlIFJUQ1AKCSAgcGFja2V0cyB0aGF0IGRvbid0IHN0YXJ0IHdpdGggYSBTUi4gQXMgYWxsIHdlJ3JlIGludGVyZXN0ZWQKCSAgaW4gaGVyZSBhcmUgU1JzLgoKMjAxNS0wNi0wMyAxMjoyMjo0MiArMDIwMCAgSm9zZSBBbnRvbmlvIFNhbnRvcyBDYWRlbmFzIDxzYW50b3NjYWRlbmFzQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJICBydHBzc3JjZGVtdXg6IEFkZCBzdXBwb3J0IGZvciByZWR1Y2Ugc2l6ZSBydGNwCgkgIEFjY29yZGluZyB0byBSRkMgNTUwNiwgcmVkdWNlIHNpemUgcGFja2FnZXMgY2FuIGJlIHNlbnQsIHRoaXMKCSAgcGFja2FnZXMgbWF5IG5vdCBiZSBjb21wb3VuZCwgc28gd2UgbmVlZCB0byBhZGQgc3VwcG9ydCBmb3IKCSAgZ2V0dGluZyBzc3JjIGZyb20gb3RoZXIgdHlwZXMgb2YgcGFja2FnZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTAzMjcKCjIwMTUtMDYtMDMgMTM6MTQ6NDQgKzAyMDAgIEpvc2UgQW50b25pbyBTYW50b3MgQ2FkZW5hcyA8c2FudG9zY2FkZW5hc0BnbWFpbC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IEFkZCBzdXBwb3J0IGZvciByZWNlaXZpbmcgcmVkdWNlZCBzaXplIHJ0Y3AKCSAgU2VlIFJGQyA1NTA2CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTAzMzIKCjIwMTUtMDYtMDQgMTY6MDk6NDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiBBZGQgc3VwcG9ydCBmb3IgY2hhbm5lbCBjb25maWd1cmF0aW9ucyAxMSwgMTIgYW5kIDE0IGFuZCA3IGFjdHVhbGx5IGhhcyA4IGNoYW5uZWxzCgkgIElTTy9JRUMgMTQ0OTYtMzoyMDA5L1BEQU0gNCBhZGRlZCAxMSwgMTIgYW5kIDE0LgoKMjAxNS0wNi0wMyAwODo1Nzo1NyAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdGFzdGVyaXNraDI2My5jOgoJICBhc3Rlcmlza2gyNjM6IFVuLXJhbmsgY2xhc2hpbmcgZGVwYXlsb2FkZXIKCSAgVGhpcyBkZXBheWxvYWRlciBjbGFzaCB3aXRoIHRoZSBzdGFuZGFyZCBvbmUgZm9yIEgyNjNwLiBJdCBwcm9kdWNlcyBhbgoJICBIMjYzcCBzdHJlYW0gd2l0aCBhIG1vZGlmaWVkIGhlYWRlci4gSXQgdXNlcyBlbmNvZGluZy1uYW1lIHRoYXQgaXMgdGhlCgkgIHNhbWUgYXMgSDI2M3AgKEgyNjMtMTk5OCkgdGhvdWdoIHRoZSByZXN1bHRpbmcgRVMgaXMgbm90IGRlY29kYWJsZSBvcgoJICBwYXJzYWJsZSBpbiBHU3RyZWFtZXIsIG1ha2luZyBpdCB1bnN1YWJsZSBpbiBkeW5hbWljIHBpcGVsaW5lLiBUaGlzCgkgIHBhdGNoIHVucmFuayB0aGlzIHNwZWNpYWxpemVkIGRlcGF5bG9hZGVyIHNpbmNlIGl0IGNhbiBvbmx5IGJlIHVzZWQgaW4KCSAgY3VzdG9tIHBpcGVsaW5lLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM5OTM1CgoyMDE1LTA2LTAyIDE4OjA5OjQ4ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L2dvb20yazEvZ3N0Z29vbS5jOgoJKiBnc3QvZ29vbTJrMS9nc3Rnb29tLmg6CgkgIGdvb20yazE6IHJlbW92ZSB2YXJpYWJsZXMgbm90IG5lZWRlZCBhbnltb3JlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDI4NzUKCjIwMTUtMDYtMDIgMTc6NTI6NDYgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvZ29vbTJrMS9NYWtlZmlsZS5hbToKCSogZ3N0L2dvb20yazEvZ3N0YXVkaW92aXN1YWxpemVyLmM6CgkqIGdzdC9nb29tMmsxL2dzdGF1ZGlvdmlzdWFsaXplci5oOgoJKiBnc3QvZ29vbTJrMS9nc3Rnb29tLmM6CgkqIGdzdC9nb29tMmsxL2dzdGdvb20uaDoKCSAgZ29vbTJrMTogcmViYXNlIHRvIHVzZSB0aGUgYXVkaW92aXN1YWxpemVyIGNsYXNzCgkgIFJlYmFzZSB0byBoYXZlIGdvb20yazEgdXNpbmcgdGhlIGNvbW1vbiBHc3RBdWRpb1Zpc3VhbGl6ZXIgY2xhc3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0Mjg3NQoKMjAxNS0wNi0wMiAxNzoyOTozNiArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9nb29tL01ha2VmaWxlLmFtOgoJKiBnc3QvZ29vbS9nc3RhdWRpb3Zpc3VhbGl6ZXIuYzoKCSogZ3N0L2dvb20vZ3N0YXVkaW92aXN1YWxpemVyLmg6CgkqIGdzdC9nb29tL2dzdGdvb20uYzoKCSogZ3N0L2dvb20vZ3N0Z29vbS5oOgoJICBnb29tOiByZWJhc2UgdG8gdXNlIHRoZSBhdWRpb3Zpc3VhbGl6ZXIgY2xhc3MKCjIwMTUtMDYtMDIgMTY6Mjc6MjQgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hYWNwYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hYzNwYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hcGV2Mm11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hc3BlY3RyYXRpb2Nyb3AuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9hbXBsaWZ5LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvY2hlYmJhbmQuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9jaGVibGltaXQuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9keW5hbWljLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvaW52ZXJ0LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvd3NpbmNiYW5kLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvd3NpbmNsaW1pdC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdmltdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZXF1YWxpemVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ZsYWNwYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pZDN2Mm11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9qcGVnZGVjLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2pwZWdlbmMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbWF0cm9za2FtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBlZ2F1ZGlvcGFyc2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcmdhbmFseXNpcy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ2xpbWl0ZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcmd2b2x1bWUuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwYmluLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cHNlc3Npb24uYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc3BlY3RydW0uYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9ib3guYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9jcm9wLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvZmlsdGVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3dhdnBhY2tkZWMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvd2F2cGFja2VuYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy93YXZwYWNrcGFyc2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMveTRtZW5jLmM6CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9zaW1wbGUtbGF1bmNoLWxpbmVzLmM6CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy90YWdzY2hlY2tpbmcuYzoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3dhdnBhY2suYzoKCSAgY2hlY2s6IFVzZSBHU1RfQ0hFQ0tfTUFJTiAoKSBtYWNybyBldmVyeXdoZXJlCgkgIE1ha2VzIHNvdXJjZSBjb2RlIHNtYWxsZXIsIGFuZCBlbnN1cmVzIHdlIGdvIHRocm91Z2ggY29tbW9uIGluaXRpYWxpemF0aW9uCgkgIHBhdGggKGxpa2UgdGhlIG9uZSB0aGF0IHNldHMgdXAgWE1MIHVuaXQgdGVzdCBvdXRwdXQgLi4uKQoKMjAxNS0wNS0yNiAxNDo0NzozMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBydHBzZXNzaW9uOiBPbmx5IHNjaGVkdWxlIGEgdGltZXIgd2hlbiB3ZSBhY3R1YWxseSBoYXZlIHRvIHNlbmQgUlRDUAoJICBPdGhlcndpc2Ugd2Ugd2lsbCBoYXZlIDEwcy0xMDBzIG9mIHRocmVhZCB3YWtldXBzIGluIGZlZWRiYWNrIHByb2ZpbGVzLCBjcmVhdGUKCSAgUlRDUCBwYWNrZXRzLCBldGMuIGp1c3QgdG8gc3VwcHJlc3MgdGhlbSBpbiA5OSUgb2YgdGhlIGNhc2VzIChpLmUuIGlmIG5vCgkgIGZlZWRiYWNrIGlzIGFjdHVhbGx5IHBlbmRpbmcgYW5kIG5vIHJlZ3VsYXIgUlRDUCBoYXMgdG8gYmUgc2VudCkuCgkgIFRoaXMgaW1wcm92ZXMgQ1BVIHVzYWdlIGFuZCBiYXR0ZXJ5IGxpZmUgcXVpdGUgYSBsb3QuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDY1NDMKCjIwMTUtMDUtMjIgMTM6NDQ6MDMgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IFJlbW92ZSB1c2VsZXNzIGdvdG8KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NjU0MwoKMjAxNS0wNS0yMSAxMjo1NDo0NyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvcnRwL2NsaWVudC1IMjY0LXJ0eC5zaDoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL2NsaWVudC1ydHBhdXguYzoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL3NlcnZlci1WVFMtSDI2NC1ydHguc2g6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9zZXJ2ZXItcnRwYXV4LmM6CgkgIGV4YW1wbGVzOiBTZXQgUlRQIHByb2ZpbGUgdG8gQVZQRiBmb3IgcnRwYXV4IGV4YW1wbGVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDY1NDMKCjIwMTUtMDUtMDQgMTY6NDE6NTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IFNldCBSVFAgcHJvZmlsZSBvbiB0aGUgcnRwc2Vzc2lvbiBvYmplY3RzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDY1NDMKCjIwMTUtMDUtMjEgMTQ6MTM6NTYgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkgIHJ0cGJpbjogQWRkIHJ0cC1wcm9maWxlIHByb3BlcnR5IGZvciBzZXR0aW5nIHRoZSBkZWZhdWx0IHByb2ZpbGUgb2YgbmV3bHkgY3JlYXRlZCBzZXNzaW9ucwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ2NTQzCgoyMDE1LTA1LTA0IDExOjUxOjQxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBPbmx5IHB1dCBSUnMgYW5kIGZ1bGwgU0RFUyBpbnRvIHJlZ3VsYXIgUlRDUCBwYWNrZXRzCgkgIElmIHdlIG1heSBzdXBwcmVzcyB0aGUgcGFja2V0IGR1ZSB0byB0aGUgcnVsZXMgb2YgUkZDNDU4NSAoaS5lLiB3aGVuCgkgIGJlbG93IHRoZSB0LXJyLWludCksIHdlIGNhbiBzZW5kIGEgc21hbGxlciBSVENQIHBhY2tldCB3aXRob3V0IFJScwoJICBhbmQgZnVsbCBTREVTLiBJbiB0aGVvcnkgd2UgY291bGQgZXZlbiBzZW5kIGEgbWluaW1hbCBSVENQIHBhY2tldAoJICBhY2NvcmRpbmcgdG8gUkZDNTUwNiwgYnV0IHdlIGRvbid0IHN1cHBvcnQgdGhhdCB5ZXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDY1NDMKCjIwMTUtMDUtMDQgMTM6NTE6NTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgcnRwc2Vzc2lvbjogS2VlcCB0cmFjayBvZiB0cC90biBhbmQgdF9ycl9sYXN0IHNlcGFyYXRlbHkKCSAgT3RoZXJ3aXNlIHdlIGNhbid0IHByb3Blcmx5IHNjaGVkdWxlIFJUQ1AgaW4gZmVlZGJhY2sgcHJvZmlsZXMgYXMgd2UgbmVlZCB0bwoJICBkaXN0aW5ndWlzaCB0aGUgdGltZSB3aGVuIHdlIGxhc3QgY2hlY2tlZCBmb3Igc2VuZGluZyBSVENQICh0cCkgYnV0IG1pZ2h0IGhhdmUKCSAgc3VwcHJlc3NlZCBpdCwgYW5kIHRoZSB0aW1lIHdoZW4gd2UgbGFzdCBhY3R1YWxseSBzZW50IGEgbm9uLWVhcmx5IFJUQ1AKCSAgcGFja2V0LgoJICBUaGlzIHRvZ2V0aGVyIHdpdGggdGhlIG90aGVyIGNoYW5nZXMgc2hvdWxkIG5vdyBwcm9wZXJseSBpbXBsZW1lbnQgUlRDUAoJICBzY2hlZHVsaW5nIGFjY29yZGluZyB0byBSRkM0NTg1LCBhbmQgZXNwZWNpYWxseSBhbGxvdyB1cyB0byBzZW5kIGZlZWRiYWNrCgkgIHBhY2tldHMgYSBsb3QgaWYgbmVlZGVkIGJ1dCBvbmx5IHNlbmQgcmVndWxhciBSVENQIHBhY2tldHMgZXZlcnkgb25jZSBpbiBhCgkgIHdoaWxlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ2NTQzCgoyMDE1LTA1LTA0IDExOjQyOjA4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmg6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmg6CgkgIHJ0cHNlc3Npb246IEFkZCBwcm9wZXJ0eSBmb3Igc2VsZWN0aW5nIFJUUCBwcm9maWxlIChBVlAvQVZQRi9ldGMpCgkgIEFuZCBtb2RpZnkgb3VyIFJUQ1Agc2NoZWR1bGluZyBhbGdvcml0aG0gYWNjb3JkaW5nbHkuIFdlIG5vdyBjYW4gc2VuZCBtb3JlCgkgIFJUQ1AgcGFja2V0cyBpZiBuZWVkZWQgZm9yIGZlZWRiYWNrLCBidXQgd2lsbCB0aHJvdHRsZSBmdWxsIFJUQ1AgcGFja2V0cyBieQoJICBydGNwLW1pbi1pbnRlcnZhbCAodC1yci1pbnQgZnJvbSBSRkM0NTg1KS4KCSAgSW4gbm9uLWZlZWRiYWNrIG1vZGUsIHJ0Y3AtbWluLWludGVydmFsIGlzIFRtaW4gZnJvbSBSRkMzNTUwLCB3aGljaCBpcwoJICBzdGF0aWNhbGx5IHNldCB0byAxcyBvciAwcyBieSBSRkM0NTg1LiBUbWluIGRlZmluZXMgaG93IG9mdGVuIHdlIHNob3VsZAoJICBzZW5kIFJUQ1AgcGFja2V0cyBhdCBtb3N0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ2NTQzCgoyMDE1LTA1LTMwIDE3OjQxOjA1IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2xhdy9tdWxhdy1kZWNvZGUuYzoKCSAgbXVsYXdkZWM6IExldCBiYXNlY2xhc3MgZXN0aW1hdGUgYml0cmF0ZQoJICBUaGlzIG1ha2VzIHBsYXliYWNrIGRpcmVjdGx5IGZyb20gYSBmaWxlIHdvcmsgd2l0aCB0aGUgcmlnaHQgY2Fwcy4KCjIwMTUtMDUtMjcgMTY6MzE6MjMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdWRwL2dzdGR5bnVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3RkeW51ZHBzaW5rLmg6CgkgIGR5bnVkcHNpbms6IGtlZXAgR0NhbmNlbGxhYmxlIGZkIGFyb3VuZCBpbnN0ZWFkIG9mIHJlLWNyZWF0aW5nIGl0IGNvbnN0YW50bHkKCSAgQW5kIGNyZWF0ZSBpdCBvbmx5IHdoZW4gc3RhcnRpbmcgdGhlIGVsZW1lbnQuCgoyMDE1LTA1LTI3IDE1OjU1OjU2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuaDoKCSAgdWRwc2luaywgbXVsdGl1ZHBzaW5rOiBrZWVwIEdDYW5jZWxsYWJsZSBmZCBhcm91bmQgaW5zdGVhZCBvZiByZS1jcmVhdGluZyBpdCBjb25zdGFudGx5CgkgIE90aGVyd2lzZSB3ZSBjb25zdGFudGx5IGNyZWF0ZS9jbG9zZSBldmVudCBmaWxlIGRlc2NyaXB0b3JzLAoJICBldmVyeSB0aW1lIHdlIGNhbGwgZ19zb2NrZXRfY29uZGl0aW9uX3RpbWVkX3dhaXQoKSBvcgoJICBnX3NvY2tldF9zZW5kX21lc3NhZ2UocykoKSwgaS5lLiBhIGxvdC4gV2hpY2ggaXMgbm90CgkgIHBhcnRpY3VsYXJseSBnb29kIGZvciBwZXJmb3JtYW5jZS4KCSAgQ2FuJ3QgY3JlYXRlIEdDYW5jZWxsYWJsZSBpbiA6OnN0YXJ0KCkgaGVyZSBiZWNhdXNlIGl0J3MgdXNlZAoJICBpbiBjbGllbnRfbmV3KCkgd2hpY2ggbWF5IGJlIGNhbGxlZCB2aWEgdGhlIGFkZC1jbGllbnQgYWN0aW9uCgkgIHNpZ25hbCB3aGljaCBtYXkgYmUgY2FsbGVkIGJlZm9yZSB0aGUgZWxlbWVudCBpcyB1cCBhbmQgcnVubmluZy4KCjIwMTUtMDUtMTkgMTg6MTM6MTYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5oOgoJICB1ZHBzcmM6IGtlZXAgR0NhbmNlbGxhYmxlIGZkIGFyb3VuZCBpbnN0ZWFkIG9mIHJlLWNyZWF0aW5nIGl0IGNvbnN0YW50bHkKCSAgT3RoZXJ3aXNlIHdlIGNvbnN0YW50bHkgY3JlYXRlL2Nsb3NlIGV2ZW50IGZpbGUgZGVzY3JpcHRvcnMsCgkgIGV2ZXJ5IHNpbmdsZSB0aW1lIHdlIGNhbGwgZ19zb2NrZXRfY29uZGl0aW9uX3RpbWVkX3dhaXQoKSBvcgoJICBnX3NvY2tldF9yZWNlaXZlX21lc3NhZ2UoKSwgaS5lLiB0d2ljZSBwZXIgcGFja2V0IHJlY2VpdmVkIQoJICBUaGlzIHdhcyBub3QgcGFydGljdWxhcmx5IGdvb2QgZm9yIHBlcmZvcm1hbmNlLgoJICBBbHNvIG9ubHkgY3JlYXRlIEdDYW5jZWxsYWJsZSBvbiBzdGFydC11cC4KCjIwMTUtMDUtMjYgMTU6MzM6MzcgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSAgbWF0cm9za2E6IG92ZXJ3cml0dGVuIHZhbHVlIGFzc2lnbm1lbnQKCSAgY3VycG9zIGlzIHNldCBhbmQgaW1tZWRpYXRlbHkgYWZ0ZXIsIHNldCBhZ2Fpbi4gUmVtb3ZlIHRoZSByZWR1bmRhbnQKCSAgYXNzaWdubWVudC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0OTkwOQoKMjAxNS0wNS0yMyAxMzo0NzoxNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwdnJhd2RlcGF5LmM6CgkgIHJ0cHZyYXdkZXBheTogZG9uJ3Qgc2hhZG93IGV4aXN0aW5nIG91dGJ1ZiB2YXJpYWJsZQoJICBBbmQgZml4IHVucmVmIG9mIHRoZSB3cm9uZyBvbmUgd2hpY2ggd2lsbCBjb250YWluIE5VTEwKCSAgaW4gYW4gZXJyb3IgY29kZSBwYXRoLgoKMjAxNS0wNS0yMyAxMzoyMzoyMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwdnJhd2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnJhd2RlcGF5Lmg6CgkgIHJ0cHZyYXdkZXBheTogbWFwL3VubWFwIG91dHB1dCBmcmFtZSBvbmx5IG9uY2UsIG5vdCBmb3IgZXZlcnkgaW5wdXQgcGFja2V0CgkgIE1hcCBvdXRwdXQgYnVmZmVyIGFmdGVyIGNyZWF0aW5nIGl0IGFuZCBrZWVwIGl0IG1hcHBlZAoJICB1bnRpbCB3ZSdyZSBkb25lIHdpdGggaXQgaW5zdGVhZCBvZiBtYXBwaW5nL3VubWFwcGluZwoJICBpdCBmb3IgZXZlcnkgc2luZ2xlIGlucHV0IGJ1ZmZlci4KCjIwMTUtMDUtMjUgMDg6NDc6NDcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiByZW1vdmUgZml4bWUgZnJvbSAyMDA2CgkgIEl0IGhhcyBiZWVuIHZlcmlmaWVkIGJ5IHVzZSBvdmVyIHRpbWUuCgoyMDE1LTA1LTIzIDE0OjM2OjQxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZml4IHJldmVyc2UgcGxheWJhY2sgb2YgZnJhZ21lbnRlZCBtZWRpYQoJICBxdGRlbXV4IGNyZWF0ZXMgYSBzYW1wbGVzIGFycmF5IGFuZCBnZXRzIHRoZSB0aW1lc3RhbXBzIGZvciBidWZmZXJzIGJ5CgkgIGFjY3VtdWxhdGluZyB0aGVpciBkdXJhdGlvbnMuIFdoZW4gZG9pbmcgcmV2ZXJzZSBwbGF5YmFjayBvZiBmcmFnbWVudHMsCgkgIGFjY3VtdWxhdGluZyBzYW1wbGVzIHdpbGwgbGVhZCB0byB3cm9uZyB0aW1lc3RhbXBzIGFzIHRoZSB0aW1lc3RhbXBzCgkgIHNob3VsZCBnbyBkZWNyZWFzaW5nIGZyb20gZnJhZ21lbnQgdG8gZnJhZ21lbnQgYW5kIHRoZSBhY2N1bXVsYXRpb24KCSAgd2lsbCBwcm9kdWNlIHdyb25nIHJlc3VsdHMuCgkgIEluIHRoaXMgY2FzZSwgd2hlbiByZWNlaXZpbmcgYSBkaXNjb250IGZvciBmcmFnbWVudGVkIHJldmVyc2UgcGxheWJhY2ssCgkgIHRoZSBwcmV2aW91cyBzYW1wbGVzIGluZm9ybWF0aW9uIHNob3VsZCBiZSBmbHVzaGVkIGJlZm9yZSBuZXcgZGF0YQoJICBpcyBwcm9jZXNzZWQuCgoyMDE1LTA1LTIzIDAxOjAzOjE4ICswOTAwICBKaW1teSBPaG4gPHlvbmdqaW4ub2huQGxnZS5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0ZmlsZXNyYy5jOgoJICBzcGxpdGZpbGVzcmM6IEltcGxlbWVudCBiaW5hcnkgc2VhcmNoIGluIGZpbmRfcGFydF9mb3Jfb2Zmc2V0CgkgIEltcGxlbWVudCBiaW5hcnkgc2VhcmNoIHVzaW5nIGdzdF91dGlsX2FycmF5X2JpbmFyeV9zZWFyY2gKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0OTY5MAoKMjAxNS0wNS0yMSAxMzoyNjo1MyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogRG9uJ3QgY3Jhc2ggaWYgd2UgcmVjZWl2ZSBGSVIvUExJIGZyb20gYSBzb3VyY2Ugd2UgZG9uJ3Qga25vdwoKMjAxNS0wNS0yMSAwOTozNTo1OCArMDIwMCAgU2FudGlhZ28gQ2Fyb3QtTmVtZXNpbyA8c2FuY2FuZUBnbWFpbC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IEZpeCBjb2xsZWN0aW9uIG9mIHN0YXRpc3RpY3MKCSAgU3RhdHMgc2hvdWxkIGJlIGNvbGxlY3RlZCBvbiB0aGUgbWVkaWEgcnRwIHNvdXJjZSBub3QgaW4gdGhlCgkgIHNlbmRlciBvbmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDk2NjkKCjIwMTUtMDQtMjAgMTA6MDc6MzAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmg6CgkgIG11bHRpZmlsZXNpbms6IEFkZCBhIG5ldyBtYXgtZHVyYXRpb24gZmlsZSBzd2l0Y2hpbmcgbW9kZQoJICBUaGlzIG5ldyBtb2RlIGVuc3VyZXMgdGhhdCBmaWxlcyB3aWxsIG5ldmVyIGV4Y2VlZCBhIGNlcnRhaW4gZHVyYXRpb24KCSAgYmFzZWQgb24gaW5jb21pbmcgYnVmZmVyIFBUUyAoYW5kIGR1cmF0aW9uIGlmIHByZXNlbnQpCgkgIE5vdGU6CgkgICogWW91IG5lZWQgdGltZXN0YW1wZWQgYnVmZmVycyAoZHVoKS4gSWYgc29tZSBvZiB0aGUgaW5jb21pbmcgYnVmZmVycyBkb24ndAoJICBoYXZlIFBUUywgdGhlbiBpdCB3aWxsIGp1c3QgYWNjZXB0IHRoZW0gaW4gdGhlIGN1cnJlbnQgZmlsZQoKMjAxNS0wNC0xNyAxNjoxODozMiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOgoJICBtdWx0aWZpbGVzaW5rOiBzdHJlYW1saW5lIHRoZSBmaWxlLXN3aXRjaCBjb2RlIGEgYml0CgkgIFVzZSB0aGUgc2FtZSBmdW5jdGlvbnMgcmVnYXJkbGVzcyBvZiB0aGUgbW9kZSB3ZSBhcmUgdXNpbmcKCjIwMTUtMDQtMDIgMTM6MzU6MTggKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmg6CgkgIG11bHRpZmlsZXNpbms6IGFkZCAiYWdncmVnYXRlLWdvcHMiIHByb3BlcnR5IHRvIHByb2Nlc3MgR09QcyBhcyBhIHdob2xlCgkgIFRoaXMgcHJvcGVydHkgY2FuIGJlIHVzZWQgaW4gY29tYmluYXRpb24gd2l0aCBuZXh0LWZpbGU9bWF4LXNpemUKCSAgKGFuZCBwZXJoYXBzIGEgZnV0dXJlIG5leHQtZmlsZT1tYXgtZHVyYXRpb24pIHRvIG1ha2Ugc3VyZSB0aGF0CgkgIGVhY2ggZmlsZSBwYXJ0IHN0YXJ0cyBjbGVhbmx5IHdpdGggYSBrZXkgZnJhbWUgYW5kIHRoZSBhcHByb3ByaWF0ZSBoZWFkZXJzLgoJICBJbiBvcmRlciBmb3IgdGhpcyBwcm9wZXJ0eSB0byB3b3JrIGNvcnJlY3RseSwgdXBzdHJlYW0gZWxlbWVudHMgc2hvdWxkIG1ha2UKCSAgc3VyZSB0aGFuIGFueSBoZWFkZXJzIHRoYXQgbmVlZCB0byBiZSB3cml0dGVuIGluIGEgc3RhbmRhbG9uZSBmaWxlIGFyZToKCSAgMSkgaW4gdGhlIHN0cmVhbWhlYWRlciBjYXBzIGZpZWxkCgkgIDIpIGFuZC9vciBpbiB0aGUgc3RyZWFtIGFzIG9uZSBvciBtb3JlIGJ1ZmZlcnMgbWFya2VkIHdpdGggR1NUX0JVRkZFUl9GTEFHX0hFQURFUgoJICB0aGF0IGFyZSBqdXN0IGJlZm9yZSB0aGUga2V5ZnJhbWUgYnVmZmVyCgkgIFRoaXMgaXMgdXNlZnVsIGZvciBNUEVHLVRTL01QRUctUFMgZmlsZSBzZWdtZW50aW5nIGluCgkgIGNvbWJpbmF0aW9uIHdpdGggbXBlZ3RzbXV4IG9yIG1wZWdwc211eC4KCSAgT3JpZ2luYWwgcGF0Y2ggYnk6IFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoyMDE1LTA1LTIwIDE2OjM3OjIyICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBydHNwc3JjOiBVc2Ugc2luZ2xlLWluY2x1ZGUgaGVhZGVyIGZvciB0aGUgUlRTUCBsaWJyYXJ5CgoyMDE0LTEwLTI0IDIzOjQ3OjIxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3VkcC9nc3RkeW51ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIHVkcDogZG9uJ3QgdXNlIHNvb24tdG8tYmUtZGVwcmVjYXRlZCBnX2NhbmNlbGxhYmxlX3Jlc2V0KCkKCSAgRnJvbSB0aGUgQVBJIGRvY3VtZW50YXRpb246ICJOb3RlIHRoYXQgaXQgaXMgZ2VuZXJhbGx5IG5vdAoJICBhIGdvb2QgaWRlYSB0byByZXVzZSBhbiBleGlzdGluZyBjYW5jZWxsYWJsZSBmb3IgbW9yZQoJICBvcGVyYXRpb25zIGFmdGVyIGl0IGhhcyBiZWVuIGNhbmNlbGxlZCBvbmNlLCBhcyB0aGlzCgkgIGZ1bmN0aW9uIG1pZ2h0IHRlbXB0IHlvdSB0byBkby4gVGhlIHJlY29tbWVuZGVkIHByYWN0aWNlCgkgIGlzIHRvIGRyb3AgdGhlIHJlZmVyZW5jZSB0byBhIGNhbmNlbGxhYmxlIGFmdGVyIGNhbmNlbGxpbmcKCSAgaXQsIGFuZCBsZXQgaXQgZGllIHdpdGggdGhlIG91dHN0YW5kaW5nIGFzeW5jIG9wZXJhdGlvbnMuCgkgIFlvdSBzaG91bGQgY3JlYXRlIGEgZnJlc2ggY2FuY2VsbGFibGUgZm9yIGZ1cnRoZXIgYXN5bmMKCSAgb3BlcmF0aW9ucy4iCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzkxMzIKCjIwMTUtMDUtMTggMjA6MTM6MDEgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJiYW5kLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYmxpbWl0LmM6CgkqIGdzdC9jdXR0ZXIvZ3N0Y3V0dGVyLmM6CgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVybmJhbmRzLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOgoJICBSZXZlcnQgImRvYzogV29ya2Fyb3VuZCBndGtkb2MgaXNzdWUiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgMTc5N2M4ZjhiMTJkN2Y0YzdhOTQ0NGM5NGYzNGY0ZDA4ZWM4NTk0NS4KCSAgVGhpcyBpcyBmaXhlZCBieSB0aGUgZ3RrLWRvYyAxLjIzIHJlbGVhc2UuCgkgIDxwYXJhPiBjYW5ub3QgY29udGFpbiA8cmVmc2VjdDI+OgoJICBodHRwOi8vd3d3LmRvY2Jvb2sub3JnL3RkZy9lbi9odG1sL3BhcmEuaHRtbAoJICBodHRwOi8vd3d3LmRvY2Jvb2sub3JnL3RkZy9lbi9odG1sL3JlZnNlY3QyLmh0bWwKCjIwMTUtMDUtMTggMTY6NDA6MjEgKzAyMDAgIE5pY29sYSBNdXJpbm8gPG5pY29sYS5tdXJpbm9AZ21haWwuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBnNzI2cGF5LmM6CgkgIHJ0cGc3MjZwYXk6IGZpeCBjYXBzIGxlYWsKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0OTU0NAoKMjAxNS0wNS0xOCAxNjozNDoxMyArMDIwMCAgTmljb2xhIE11cmlubyA8bmljb2xhLm11cmlub0BnbWFpbC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjZkZXBheS5jOgoJICBydHBnNzI2ZGVwYXk6IGRvbid0IGxlYWsgaW5wdXQgYnVmZmVyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDk1NDMKCjIwMTUtMDUtMTggMTc6Mzg6MzEgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSAgcnRwc291cmNlOiBRdWV1ZSBiYWQgcGFja2V0cyBpbnN0ZWFkIG9mIGRyb3BwaW5nIHRoZW0KCSAgU28gd2UgY2FuIHNlbmQgdGhlbSBvdXQgb25jZSB3ZSBmb3VuZCB0aGUgbmV4dCwgY29uc2VjdXRpdmUgc2VxdWVuY2UgbnVtYmVyIGluCgkgIGNhc2Ugb25lIGlzIGZvbGxvd2luZy4KCjIwMTUtMDUtMTggMTc6Mzg6MTQgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSAgcnRwc291cmNlOiBVc2UgZ19xdWV1ZV9mb3JlYWNoKCkgdG8gdW5yZWYgYWxsIGJ1ZmZlcnMgaW4gcXVldWVzCgoyMDE1LTA1LTE4IDE3OjE5OjMxICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkgIHJ0cHNvdXJjZTogUmVmYWN0b3Igc2VxbnVtIGNvbXBhcmlzb24gY29kZSBhIGJpdAoKMjAxNS0wNS0xOCAxNzowODo1MyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJICBydHBzb3VyY2U6IEFsbG93IHNlcXVlbmNlIG51bWJlciB3cmFwYXJvdW5kIGR1cmluZyBwcm9iYXRpb24KCjIwMTUtMDUtMTggMTc6MDc6MjMgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSAgcnRwc291cmNlOiBNYWtlIHNlcXVlbmNlIG51bWJlciBjb21wYXJpc29uIGNvZGUgbW9yZSByZWFkYWJsZQoJICAuLi4gYnkgdXNpbmcgZ3N0X3J0cF9idWZmZXJfY29tcGFyZV9zZXFudW0oKSBhbmQgc2lnbmVkIGludGVnZXJzCgkgIGluc3RlYWQgb2YgaW1wbGljdGx5IHVzaW5nIGVmZmVjdHMgb2YgaW50ZWdlciBvdmVyL3VuZGVyZmxvd3MuCgoyMDE1LTA0LTIyIDE4OjU0OjA2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogV2hlbiBkZXRlY3RpbmcgYSBodWdlIHNlcW51bSBnYXAsIHdhaXQgZm9yIDUgY29uc2VjdXRpdmUgcGFja2V0cyBiZWZvcmUgcmVzZXR0aW5nIGV2ZXJ5dGhpbmcKCSAgSXQgbWlnaHQganVzdCBiZSBhIGxhdGUgcmV0cmFuc21pc3Npb24gb3Igc3B1cmlvdXMgcGFja2V0IGZyb20gZWxzZXdoZXJlLCBidXQKCSAgcmVzZXR0aW5nIGV2ZXJ5dGhpbmcgd291bGQgbWVhbiB0aGF0IHdlIHdpbGwgY2F1c2UgYSBub3RpY2VhYmxlIGhpY2t1cC4gTGV0J3MKCSAgZ2V0IHNvbWUgY29uZmlkZW5jZSBmaXJzdCB0aGF0IHRoZSBzZXF1ZW5jZSBudW1iZXJzIGNoYW5nZWQgZm9yIHdoYXRldmVyCgkgIHJlYXNvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NzkyMgoKMjAxNS0wNS0xNiAyMzozNzowNiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJiYW5kLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYmxpbWl0LmM6CgkqIGdzdC9jdXR0ZXIvZ3N0Y3V0dGVyLmM6CgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVybmJhbmRzLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOgoJICBkb2M6IFdvcmthcm91bmQgZ3RrZG9jIGlzc3VlCgkgIFdpdGggZ3RrZG9jIDEuMjIsIHRoZSBYTUwgZ2VuZXJhdG9yIGZhaWxzIHdoZW4gYSBpdGVtaXplZGxpc3QgaXMKCSAgZm9sbG93ZWQgYnkgYSByZWZzZWN0Mi4gV29ya2Fyb3VuZCB0aGUgaXNzdWUgYnkgd3JhcHBpbmcgdGhlCgkgIHJlZnNlY3QyIGludG8gcGFyYS4KCjIwMTUtMDEtMjMgMTM6NTc6NDAgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXhfdHlwZXMuYzoKCSAgcXRkZW11eDogYXZvaWQgd3Jvbmcgd2FybmluZ3Mgb24gdW5rbm93biBub2RlIHR5cGVzCgkgIEFkZCAnbmFtZScgYW5kICdtZWFuJyBmb3VyY2NzLCBhcyB3ZSBoYW5kbGUgdGhlbS4gUmlnaHQgbm93IGVhY2ggdXNlIHdvdWxkCgkgIHRyaWdnZXIgYSB3YXJuaW5nLgoKMjAxNS0wNS0wOCAxOToxMzowMCArMDIwMCAgTmljb2xhIE11cmlubyA8bmljb2xhLm11cmlub0BnbWFpbC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjZkZXBheS5oOgoJICBydHBnNzI2ZGVwYXk6IGFkZCBibG9ja19hbGlnbiB0byBvdXRwdXQgY2FwcwoJICBJdCBpcyBuZWVkZWQgdG8gY29ycmVjdGx5IG5lZ290aWF0ZSBjYXBzIHdpdGggbWF0cm9za2FtdXgKCSAgYW5kIG1vc3Qgb3RoZXIgbXV4ZXJzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ5MTI5CgoyMDE1LTA1LTEyIDEzOjQxOjU4ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9meGJhc2VmaXJmaWx0ZXIuYzoKCSAgYXVkaW9meGJhc2VmaXJmaWx0ZXI6IEZpeCB0aW1lLWRvbWFpbiBjb252b2x1dGlvbiB3aXRoID4xIGNoYW5uZWxzCgkgIGlucHV0X3NhbXBsZXMgaXMgdGhlIG51bWJlciBvZiBmcmFtZXMsIGJ1dCB3ZSB1c2VkIGl0IGFzIHRoZSBudW1iZXIgb2YKCSAgc2FtcGxlcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NzIwNAoKMjAxNS0wNS0xMiAxMjoxMzoxNiArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC92cHgvZ3N0dnA4ZW5jLmM6CgkqIGV4dC92cHgvZ3N0dnA5ZW5jLmM6CgkgIHZwWzg5XWVuYzogUHJvcGVybHkgY29udmVydCBiZXR3ZWVuIEdTdHJlYW1lciBhbmQgZW5jb2RlciB0aW1lYmFzZQoJICAuLi4gYnkgc3dpdGNoaW5nIG51bWVyYXRvciBhbmQgZGVub21pbmF0b3Igd2hlbiBzY2FsaW5nLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ5MTIyCgoyMDE1LTA1LTExIDEzOjMzOjI2ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3ZweC9nc3R2cDhlbmMuYzoKCSogZXh0L3ZweC9nc3R2cDllbmMuYzoKCSAgdnBbODldZW5jOiBEb24ndCBzZXQgdGltZWJhc2UgZnJvbSB0aGUgZnJhbWVyYXRlCgkgIFRoZSBmcmFtZXJhdGUgdmVyeSBvZnRlbiBpcyBqdXN0IGFuIGluZGljYXRpb24gb2YgdGhlIGlkZWFsIGZyYW1lcmF0ZSwgbm90IHRoZQoJICBhY3R1YWwgZnJhbWVyYXRlIG9mIHRoZSBzdHJlYW0uIEJ5IGp1c3QgdXNpbmcgdGhlIGZyYW1lcmF0ZSwgd2UgY29uZnVzZSB0aGUKCSAgcmF0ZSBjb250cm9sIGFsZ29yaXRobSBhbGdvcml0aG0gYXMgbXVsdGlwbGUgZnJhbWVzIHdpbGwgbWFwIHRvIHRoZSBzYW1lIFBUUwoJICBvciBoYXZlIGR1cmF0aW9ucyBvZiAwLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ5MTIyCgoyMDE1LTA1LTEwIDE0OjIxOjA0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtbmF1d0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy93YXZwYWNrcGFyc2UuYzoKCSAgdGVzdHM6IHdhdnBhY2twYXJzZTogZml4IHVuaXQgdGVzdAoJICBTZWUgYWxzbyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM4MjM3CgoyMDE1LTA1LTEwIDExOjA1OjAwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3Nob3V0Mi9nc3RzaG91dDIuYzoKCSogZXh0L3ZweC9nc3R2cDhkZWMuYzoKCSogZXh0L3ZweC9nc3R2cDhlbmMuYzoKCSogZXh0L3ZweC9nc3R2cDlkZWMuYzoKCSogZXh0L3ZweC9nc3R2cDllbmMuYzoKCSogZ3N0L3J0cC9nc3RydHBMMTZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cEwxNnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cEwyNGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwTDI0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYWMzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYW1ycGF5LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvd2F2ZW5jLmM6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9jbGllbnQtUENNQS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvc2VydmVyLWFsc2FzcmMtUENNQS5jOgoJICBkb2NzOiB1cGRhdGUgZXhhbXBsZSBwaXBlbGluZXMgaW4gZWxlbWVudCBkb2NzCgkgIE1vc3RseSBnc3QtbGF1bmNoIC0+IGdzdC1sYXVuY2gtMS4wCgkgIFVzZSBhdXRvdmlkZW9zaW5rL2F1dG9hdWRpb3NpbmsgbW9yZSBvZnRlbi4KCSAgU3ByaW5rbGUgc29tZSBjb252ZXJ0ZXJzIGhlcmUgYW5kIHRoZXJlLgoKMjAxNS0wNS0wOSAxOTo0ODo1NSArMDIwMCAgUGlvdHIgRHLEhWcgPHBpb3RyZHJhZ0BnbWFpbC5jb20+CgoJKiBwby9QT1RGSUxFUy5pbjoKCSAgcG86IHVwZGF0ZSBQT1RGSUxFUy5pbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ5MTYzCgoyMDE1LTA1LTEwIDEwOjUyOjE4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNyYy5jOgoJICBzcGxpdG11eHNyYzogbWlub3IgZXJyb3IgbWVzc2FnZSBjbGVhbi11cAoJICBEb24ndCBwdXQgZmlsZW5hbWUgaW4gZXJyb3IgbWVzc2FnZSBzaG93biB0byB1c2VyLgoKMjAxNS0wNS0wNyAxNjoyNTozNiArMDIwMCAgR3VpbGxhdW1lIERlc21vdHRlcyA8Z3VpbGxhdW1lLmRlc21vdHRlc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IGZpeCBidWZmZXIgbGVhayB3aGVuIHN0b3JlZCB0byBzZWVrdGFibGUKCSAgRml4IGEgbGVhayB3aXRoIHRoZQoJICB2YWxpZGF0ZS5maWxlLnBsYXliYWNrLmNoYW5nZV9zdGF0ZV9pbnRlbnNpdmUuc2FtcGxlc19tdWx0aW1lZGlhX2N4X2ZsYWNfWWVzdGVyZGF5X2ZsYWMKCSAgc2NlbmFyaW8uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDkwNzIKCjIwMTUtMDUtMDcgMTc6MTA6MzcgKzA5MDAgIFBhdWwgSHl1bmlsIDxwYXVsLmh5dW5pbEBsZ2UuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGZpeCBleGFtcGxlIHBpcGVsaW5lIGluIGRvY3MKCSAgVGhlIGdzdC1sYXVuY2ggc2NyaXB0IGZvciBleGFtcGxlIGxhdW5jaCBsaW5lIHRvIHRlc3QgcXRkZW11eCBpcwoJICBtaXNzaW5nIGEgcXVldWUgYmVmb3JlIHRoZSBkZWNvZGViaW5zLCBvdGhlcndpc2UgdGhlIGdzdC1sYXVuY2gtMS4wCgkgIGNvbW1hbmQgd29uJ3Qgd29yay4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0OTA1NAoKMjAxNS0wNS0wNyAxNDo1MTo0NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgUmV2ZXJ0ICJydHBzZXNzaW9uOiBBbHNvIHJlcG9ydCBpbnRlcm5hbCBzb3VyY2VzIGluIG9uLW5ldy1zc3JjIGFuZCBvbi1zc3JjLWFjdGl2ZSIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCBkMjJlYzQ5NjMyOGU2YmE4ZWRiZjJkMDcxZDU2MDhiMmFmMjgzMWU4LgoJICBBcHBsaWNhdGlvbiBjb2RlIG1pZ2h0IGV4cGVjdCB0aGF0IGl0IG9ubHkgZ2V0cyBleHRlcm5hbCBzb3VyY2VzIG9uIHRob3NlCgkgIHNpZ25hbHMsIGFuZCBnZXQgY29uZnVzZWQgYnkgdGhpcy4gSWYgYW55dGhpbmcgd2Ugd291bGQgbmVlZCB0byBhZGQgbmV3CgkgIHNpZ25hbHMuCgoyMDE1LTAzLTI1IDE1OjI3OjM0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBBbHNvIHJlcG9ydCBpbnRlcm5hbCBzb3VyY2VzIGluIG9uLW5ldy1zc3JjIGFuZCBvbi1zc3JjLWFjdGl2ZQoJICBXaXRob3V0IHRoaXMgaXQgc2VlbXMgaW1wb3NzaWJsZSBmb3IgYW4gYXBwbGljYXRpb24gdG8gZWFzaWx5IGdldCBub3RpZmllZAoJICBhYm91dCB0aGUgaW50ZXJuYWwgc3NyY3MgdGhhdCBhcmUgY3JlYXRlZCwgZS5nLiBzZW5kZXIgc291cmNlcywgYW5kIGFsc28KCSAgdG8ga25vdyB3aGVuIHRoZXkgYXJlIGFjdGl2ZSBhbmQgcHJvZHVjZSBSVENQIHBhY2tldHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDY3NDcKCjIwMTUtMDUtMDQgMTk6MjY6MTQgKzAyMDAgIEd1aWxsYXVtZSBEZXNtb3R0ZXMgPGd1aWxsYXVtZS5kZXNtb3R0ZXNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnZGVjOiBmaXggZnJhbWUgbGVha3MgaW4gaGFuZGxlX2ZyYW1lKCkgaW1wbGVtZW50YXRpb24KCSAgaGFuZGxlX2ZyYW1lKCkgaXMgc3VwcG9zZWQgdG8gY29uc3VtZSBAZnJhbWUsIHNvIGlmIHdlIGRvbid0IGNhbGwKCSAgZ3N0X3ZpZGVvX2RlY29kZXJfZHJvcF9mcmFtZSgpIG9yIGdzdF92aWRlb19kZWNvZGVyX2ZpbmlzaF9mcmFtZSgpIHdlIGhhdmUgdG8KCSAgcmVsZWFzZSBpdCBtYW51YWxseS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0ODkwOQoKMjAxNS0wNS0wNCAxNjo1MDozOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogRml4IHVwIGxhc3QgY29tbWl0CgoyMDE1LTA1LTA0IDE2OjQ2OjAyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBPbmx5IGRvIFJUWCB3aGVuIHVzaW5nIGEgZmVlZGJhY2sgcHJvZmlsZQoKMjAxNS0wNS0wNCAxMzo1MDozMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogVGhlIHN0YXRzIG1pbl9pbnRlcnZhbCBpcyBpbiBzZWNvbmRzLCBub3QgbmFub3NlY29uZHMKCSAgV2UgaGF2ZSB0byBzY2FsZSBpdCB0byBjb21wYXJlIGl0IGFnYWluc3Qgb3VyIGNsb2NrIHRpbWVzLgoKMjAxNS0wNS0wNCAxMTozODoyNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogT25seSByZXR1cm4gVFJVRSBpZiBlYXJseSBmZWVkYmFjayB3YXMgcmVxdWVzdGVkIGFscmVhZHkgYW5kIGl0J3MgZWFybHkgZW5vdWdoCgoyMDE1LTA0LTMwIDE1OjQyOjM0ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmM6CgkgIG1hdHJvc2thOiByZW1vdmUgdW51c2VkIHByb3BlcnR5IGVudW0gaXRlbXMKCjIwMTUtMDQtMzAgMTI6MTM6NTkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZml4IGJ1ZmZlciBsZWFrIG9uIGVvcyBpbiBwdXNoIG1vZGUKCSAgQmFzZWQgb24gcGF0Y2ggYnkgR3VpbGxhdW1lIERlc21vdHRlcy4KCSAgc2NlbmFyaW86IHZhbGlkYXRlLmh0dHAucGxheWJhY2suc2Vla193aXRoX3N0b3AucmF3X2gyNjRfMV9tcDQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0ODYxNwoKMjAxNS0wNC0yOSAxOTo0MToyOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBDaGVjayBmb3Igc2l6ZXMgb2YgdGhlIHJkcmYgKHJlZGlyZWN0KSBhdG9tIGJlZm9yZSBhY2Nlc3NpbmcgdGhlIGRhdGEgYW5kIHVzZSBnX3N0cm5kdXAoKSBpbnN0ZWFkIG9mIGdfc3RyZHVwKCkKCSAgVGhhbmtzIHRvIFJhbHBoIEdpbGVzIGZvciByZXBvcnRpbmcgdGhpcy4KCjIwMTUtMDQtMjkgMTU6NTI6MjcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IE9ubHkgZW5hYmxlIHJldHJhbnNtaXNzaW9ucyBpZiB0aGVyZSBpcyByZXRyYW5zbWlzc2lvbiBpbmZvIGluIHRoZSBTRFAKCSAgT3RoZXJ3aXNlIHdlJ3JlIGdvaW5nIHRvIHNlbmQgZWFybHkgUlRDUCBhbmQgTkFDS3MgaW4gbm9uLWZlZWRiYWNrIHNlc3Npb25zCgkgIHRvbywgd2hpY2ggd2lsbCBjb25mdXNlIHNlcnZlcnMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDg2MjcKCjIwMTUtMDItMTEgMTg6MDk6MjQgKzA1MzAgIFJhdmkgS2lyYW4gSyBOIDxyYXZpLmtpcmFuQHNhbXN1bmcuY29tPgoKCSogZXh0L2R2L2dzdGR2ZGVtdXguYzoKCSAgZHZkZW11eDogZXh0cmFjdCByZWNvcmRpbmcgdGltZQoJICBFeHRyYWN0cyB0aGUgcmVjb3JkZWQgdGltZSBvZiB0aGUgZHYgZmlsZSBmcm9tCgkgIHRoZSBtZXRhZGF0YSBhbmQgcHV0cyBpdCBpbnRvIHRoZSBnbG9iYWwgdGFncy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MzY1NwoKMjAxNS0wNC0yOCAxNTo1OToyNSArMDIwMCAgR3VpbGxhdW1lIERlc21vdHRlcyA8Z3VpbGxhdW1lLmRlc21vdHRlc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogZml4IHNlZWsgZXZlbnQgbGVhawoJICBnc3RfbWF0cm9za2FfZGVtdXhfaGFuZGxlX3NlZWtfZXZlbnQoKSBkb2Vzbid0IGNvbnN1bWUgdGhlCgkgIGV2ZW50IHNvIHdlIGhhdmUgdG8gdW5yZWYgaXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDg1ODQKCjIwMTUtMDQtMjggMTU6NDI6NDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2EtZGVtdXg6IFNlbmQgcGVuZGluZyB0YWdzIHdoZW4gYWRkaW5nIGEgbmV3IHBhZAoJICBXZSBtaWdodCd2ZSBwYXJzZWQgdGhvc2UgdGFncyBiZWZvcmUgYWxyZWFkeSBhbmQgdHJpZWQgdG8gcHVzaCB0aGVtIHRvCgkgIG5vbi1leGlzdGluZyBwYWRzIGJlZm9yZS4gTm93IGxldCdzIGRvIGl0IGZvciByZWFsLgoKMjAxNS0wNC0yMyAxODo1NzozNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmM6CgkgIHJ0cHN0YXRzOiBBdmVyYWdlIFJUQ1AgcGFja2V0IHNpemUgaXMgaW4gYnl0ZXMsIGJhbmR3aWR0aHMgaW4gYml0cwoJICBXZSBuZWVkIHRvIGNvbnZlcnQgdGhlIHNpemUgdG8gYml0cyBmb3Igb3VyIGNhbGN1bGF0aW9ucy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0Nzg2MwoKMjAxNS0wNC0yMyAxODo1MzozOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmM6CgkgIHJ0cHN0YXRzOiBVc2UgdGhlIHNhbWUgbG93ZXIgbGltaXQgZm9yIFJUQ1AgYmFuZHdpZHRoIHRvIHN0b3Agc2VuZGluZyBSVENQIGV2ZXJ5d2hlcmUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0Nzg2MwoKMjAxNS0wNC0xNCAxODo0MTowNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBVc2UgYmFuZHdpZHRoIGNhbGN1bGF0aW9uIGJ5IGRlZmF1bHQgaW5zdGVhZCBvZiBzb21lIGFyYml0cmFyeSBoYXJkY29kZWQgdmFsdWUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0Nzg2MwoKMjAxNS0wNC0yMyAxODo0OTozNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogQmFuZHdpZHRoIGlzIHN1cHBvc2VkIHRvIGJlIGluIGJpdHMvcywgbm90IGJ5dGVzL3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0Nzg2MwoKMjAxNS0wNC0yNyAxNjozNjoyNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IEZpeCBSVFggdW5pdCB0ZXN0CgkgIFRoZSBjYWxjdWxhdGlvbnMgd2VyZSBhIGJpdCBvZmYgZXZlcnl3aGVyZSwgZXZlbiBiZWZvcmUgdGhlIGNoYW5nZXMgZG9uZQoJICByZWNlbnRseSB0byB0aGUgZGVsYXkgZm9yIFJUWCBvZiBleHBlY3RlZCBmdXR1cmUgcGFja2V0cy4gSXQgb25seSB3b3JrZWQgYnkKCSAgYWNjaWRlbnQsIGJ1dCBub3cgdGhlIGNhbGN1bGF0aW9ucyBhcmUgYWxsIGNvcnJlY3QgYWdhaW4uIEhvcGVmdWxseS4KCjIwMTUtMDQtMjcgMTE6MjI6MTEgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJKiBnc3QvZGVidWd1dGlscy9icmVha215ZGF0YS5jOgoJKiBnc3QvZGVidWd1dGlscy9jcHVyZXBvcnQuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0bmF2c2Vlay5jOgoJKiBnc3QvZGVidWd1dGlscy9wcm9ncmVzc3JlcG9ydC5jOgoJKiBnc3QvZGVidWd1dGlscy9ybmRidWZmZXJzaXplLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5jOgoJKiBnc3QvZmx2L2dzdGluZGV4LmM6CgkqIGdzdC9nb29tL2dzdGdvb20uYzoKCSogZ3N0L2dvb20yazEvZ3N0Z29vbS5jOgoJKiBnc3QvaWQzZGVtdXgvZ3N0aWQzZGVtdXguYzoKCSogZ3N0L2lzb21wNC9nc3RydHB4cXRkZXBheS5jOgoJKiBnc3QvbGF3L211bGF3LWRlY29kZS5jOgoJKiBnc3QvbGF3L211bGF3LWVuY29kZS5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzcmMuYzoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRtdXguYzoKCSogZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGNlbHRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGR2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzIzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI5ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDR2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtdWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcWNlbHBkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4ZGVwYXkuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkqIGdzdC92aWRlb2Nyb3AvZ3N0YXNwZWN0cmF0aW9jcm9wLmM6CgkqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb3RlbXBsYXRlLmM6CgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6CgkgIFJlbmFtZSBwcm9wZXJ0eSBlbnVtcyBmcm9tIEFSR18gdG8gUFJPUF8KCSAgUHJvcGVydHkgZW51bSBpdGVtcyBzaG91bGQgYmUgbmFtZWQgUFJPUF8gZm9yIGNvbnNpc3RlbmN5IGFuZCByZWFkYWJpbGl0eS4KCjIwMTUtMDQtMjUgMDI6NDk6NTggKzAzMDAgIElseWEgS29uc3RhbnRpbm92IDxpbHlhLmtvbnN0YW50aW5vdkBnbWFpbC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBGaXggInN0YXRzIiBwcm9wZXJ0eSBkb2NzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDg0MzYKCjIwMTUtMDQtMjYgMTc6NTQ6NTIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBBbmRyb2lkLm1rOgoJKiBnc3QvYWxwaGEvTWFrZWZpbGUuYW06CgkqIGdzdC9hcGV0YWcvTWFrZWZpbGUuYW06CgkqIGdzdC9hdWRpb2Z4L01ha2VmaWxlLmFtOgoJKiBnc3QvYXVwYXJzZS9NYWtlZmlsZS5hbToKCSogZ3N0L2F1dG9kZXRlY3QvTWFrZWZpbGUuYW06CgkqIGdzdC9hdmkvTWFrZWZpbGUuYW06CgkqIGdzdC9jdXR0ZXIvTWFrZWZpbGUuYW06CgkqIGdzdC9kZWJ1Z3V0aWxzL01ha2VmaWxlLmFtOgoJKiBnc3QvZGVpbnRlcmxhY2UvTWFrZWZpbGUuYW06CgkqIGdzdC9kdG1mL01ha2VmaWxlLmFtOgoJKiBnc3QvZWZmZWN0di9NYWtlZmlsZS5hbToKCSogZ3N0L2VxdWFsaXplci9NYWtlZmlsZS5hbToKCSogZ3N0L2Zsdi9NYWtlZmlsZS5hbToKCSogZ3N0L2ZseC9NYWtlZmlsZS5hbToKCSogZ3N0L2dvb20vTWFrZWZpbGUuYW06CgkqIGdzdC9nb29tMmsxL01ha2VmaWxlLmFtOgoJKiBnc3QvaWN5ZGVtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9pZDNkZW11eC9NYWtlZmlsZS5hbToKCSogZ3N0L2ltYWdlZnJlZXplL01ha2VmaWxlLmFtOgoJKiBnc3QvaW50ZXJsZWF2ZS9NYWtlZmlsZS5hbToKCSogZ3N0L2lzb21wNC9NYWtlZmlsZS5hbToKCSogZ3N0L2xhdy9NYWtlZmlsZS5hbToKCSogZ3N0L2xldmVsL01ha2VmaWxlLmFtOgoJKiBnc3QvbWF0cm9za2EvTWFrZWZpbGUuYW06CgkqIGdzdC9tb25vc2NvcGUvTWFrZWZpbGUuYW06CgkqIGdzdC9tdWx0aWZpbGUvTWFrZWZpbGUuYW06CgkqIGdzdC9tdWx0aXBhcnQvTWFrZWZpbGUuYW06CgkqIGdzdC9yZXBsYXlnYWluL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwbWFuYWdlci9NYWtlZmlsZS5hbToKCSogZ3N0L3J0c3AvTWFrZWZpbGUuYW06CgkqIGdzdC9zaGFwZXdpcGUvTWFrZWZpbGUuYW06CgkqIGdzdC9zbXB0ZS9NYWtlZmlsZS5hbToKCSogZ3N0L3NwZWN0cnVtL01ha2VmaWxlLmFtOgoJKiBnc3QvdWRwL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9ib3gvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb2Nyb3AvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb2ZpbHRlci9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvbWl4ZXIvTWFrZWZpbGUuYW06CgkqIGdzdC93YXZlbmMvTWFrZWZpbGUuYW06CgkqIGdzdC93YXZwYXJzZS9NYWtlZmlsZS5hbToKCSogZ3N0L3k0bS9NYWtlZmlsZS5hbToKCSAgUmVtb3ZlIG9ic29sZXRlIEFuZHJvaWQgYnVpbGQgY3J1ZnQKCSAgVGhpcyBpcyBub3QgbmVlZGVkIGFueSBsb25nZXIuCgoyMDE1LTA0LTI0IDEzOjU1OjA4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5jOgoJICB2aWRlb2Nyb3A6IHByaW50IHRoZSBwcm9wZXJ0eSB2YWx1ZXMgd2hlbiBzZXQKCSAgSW5zdGVhZCBvZiBwcmludGluZyB0aGUgY3VycmVudGx5IHVzZWQgdmFsdWVzLiBUaGUgbG9nIGlzIG1lYW50CgkgIHRvIHNob3cgd2hhdCB0aGUgcHJvcGVydGllcyBjaGFuZ2VkIHRvLCBub3Qgd2hhdCBpcyBiZWluZyBjdXJyZW50bHkKCSAgdXNlZC4KCjIwMTUtMDQtMjQgMTc6MDE6MTAgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9rYXJhb2tlLmM6CgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3N0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdwYXkuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhxdWV1ZS5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhyZWNlaXZlLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHNlbmQuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9zbXB0ZS9nc3RzbXB0ZS5jOgoJKiBnc3Qvc21wdGUvZ3N0c21wdGVhbHBoYS5jOgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICByZW1vdmUgdW51c2VkIGVudW0gaXRlbXMgUFJPUF9MQVNUCgkgIFRoaXMgd2VyZSBwcm9iYWJseSBhZGRlZCB0byB0aGUgZW51bXMgZHVlIHRvIGNhcmdvIGN1bHQgcHJvZ3JhbW1pbmcgYW5kIGFyZQoJICB1bnVzZWQuIFJlbW92aW5nIHRoZW0uCgoyMDE1LTA0LTI0IDAwOjMwOjM1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2xldmVsL2dzdGxldmVsLmM6CgkgIGxldmVsOiBmaXggaW5maW5pdGUgbG9vcCBmb3IgdmVyeSBsb3cgaW50ZXJ2YWwgdmFsdWVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDU1MTUKCjIwMTUtMDQtMjMgMTY6MDg6NTQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgdGVzdHM6IGRlZmluZSBHU1RfQ0hFQ0tfVEVTVF9FTlZJUk9OTUVOVF9CRUFDT04KCSAgTWFrZSBzdXJlIHRoZSB0ZXN0IGVudmlyb25tZW50IGlzIHNldCB1cC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvL3Nob3dfYnVnLmNnaT9pZD03NDc2MjQKCjIwMTUtMDQtMjMgMTY6MDg6MzIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogYnVtcCBhdXRvbWFrZSByZXF1aXJlbWVudCB0byAxLjE0IGFuZCBhdXRvY29uZiB0byAyLjY5CgkgIFRoaXMgaXMgb25seSByZXF1aXJlZCBmb3IgYnVpbGRzIGZyb20gZ2l0LCBwZW9wbGUgY2FuIHN0aWxsCgkgIGJ1aWxkIHRhcmJhbGxzIGlmIHRoZXkgb25seSBoYXZlIG9sZGVyIGF1dG90b29scy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvL3Nob3dfYnVnLmNnaT9pZD03NDc2MjQKCjIwMTUtMDQtMjMgMTY6MDY6NTcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiAuZ2l0aWdub3JlOgoJICBVcGRhdGUgLmdpdGlnbm9yZQoKMjAxNS0wNC0yMyAwOTo1NTo1OSArMDIwMCAgSmVzcGVyIExhcnNlbiA8a25vcnIuamVzcGVyQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogRml4IFJUQ1AgY2FwcyBsZWFrCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnLy9zaG93X2J1Zy5jZ2k/aWQ9NzQ4MzUzCgoyMDE1LTA0LTIyIDIwOjI0OjIwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogV2hlbiByZXF1ZXN0IHJldHJhbnNtaXNzaW9ucyBmb3IgZnV0dXJlIHBhY2tldHMsIGNvbnNpZGVyIHRoZSBwYWNrZXQgc3BhY2luZyBpbiB0aGUgZXh0cmEgZGVsYXkKCSAgV2Ugbm93IHRha2UgdGhlIG1heGltdW0gb2YgMipqaXR0ZXIgYW5kIDAuNSpwYWNrZXRfc3BhY2luZyBmb3IgdGhlIGV4dHJhCgkgIGRlbGF5LiBJZiBqaXR0ZXIgaXMgdmVyeSBsb3csIHRoaXMgc2hvdWxkIHByZXZlbnQgdW5uZWNlc3NhcnkgcmV0cmFuc21pc3Npb24KCSAgcmVxdWVzdHMgdG8gc29tZSBkZWdyZWUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDgwNDEKCjIwMTUtMDQtMjIgMTk6NDE6MDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBUYWtlIGEgcnVubmluZyBhdmVyYWdlIG9mIHRoZSBwYWNrZXQgc3BhY2luZ3MgaW5zdGVhZCBvZiBqdXN0IHRoZSBsYXRlc3QKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0ODA0MQoKMjAxNS0wNC0xMyAxMToyMDo0MCArMDIwMCAgTWlndWVsIFBhcsOtcyBEw61heiA8bXBhcmlzZGlhekBnbWFpbC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBBZGQgInJ0eC1uZXh0LXNlcW51bSIgcHJvcGVydHkKCSAgSWYgdGhpcyBpcyBzZXQgdG8gRkFMU0UsIHJ0cGppdHRlcmJ1ZmZlciB3aWxsIG5vdCByZXF1ZXN0IHJldHJhbnNtaXNzaW9ucyBmb3IKCSAgZnV0dXJlIHBhY2tldHMgYmFzZWQgb24gd2hlbiB0aGV5IGFyZSBlc3RpbWF0ZWQgdG8gYXJyaXZlLgoJICBTZWUgYWxzbyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ4MDQxCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzk4NjgKCjIwMTUtMDQtMjIgMTk6Mjk6MzQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhyZWNlaXZlLmM6CgkgIHJ0eHJlY2VpdmU6IFB1dCBkZWJ1ZyBvdXRwdXQgZm9yIHJldHJhbnNtaXNzaW9uIHJlcXVlc3RzIGF0IHRoZSByaWdodCBwbGFjZQoJICBCZWZvcmUgaXQgd2FzIG9ubHkgZXZlciBwcmludGVkIG9uY2UgZm9yIGV2ZXJ5IHRpbWUgYSBzc3JjIHdhcyBhc3NvY2lhdGVkIHdpdGgKCSAgYSBzcGVjaWZpYyBzdHJlYW0uCgoyMDE1LTA0LTIyIDE4OjA1OjI0ICswMjAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMjogZG9uJ3QgYWRkIHRoZSBzYW1lIGludGVybGFjZSBtb2RlIHR3aWNlCgkgIFNvbWUgZHJpdmVycyBtb2RpZnkgdGhlIGludGVybGFjZSBtb2RlIHRvIHByb2dyZXNzaXZlLCBubyBtYXR0ZXIgd2hhdAoJICBpbnB1dCB5b3UgZ2l2ZSB0aGVtLCBtYWtlIHN1cmUgdGhhdCB3ZSBkb24ndCBhZGQgdGhlIHNhbWUgaW50ZXJsYWNlIG1vZGUKCSAgdHdpY2UuCgoyMDE1LTA0LTIxIDE2OjM0OjIxICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzoKCSAgZXF1YWxpemVyOiBmaXggZHluYW1pYyBjaGFuZ2VzIG9uIGJhbmRzCgkgIFdoZW4gd2UgYXJlIGluIHBhc3N0aHJvdWdoLCB0aGUgdHJhbnNmb3JtIGZ1bmN0aW9uIGRvZXNuJ3QgcnVuIGFuZCBpZiB0aGUKCSAgcGFzc3Rocm91Z2ggY2hlY2sgaXMgaW4gdGhpcyBmdW5jdGlvbiBpdCB3aWxsIG5ldmVyIGJlIGRlYWN0aXZhdGVkLiBGaXggdGhpcyBieQoJICBjaGVja2luZyBkaXJlY3RseSB3aGVuZXZlciBhIGdhaW4gaXMgY2hhbmdlZC4KCSAgQWxzbyBzZXQgdGhlIHBhc3N0aHJvdWdoIHRvIFRSVUUgYXQgaW5pdCBiZWNhdXNlIHRoZSBnYWlucyBkZWZhdWx0IHRvIDAsIHNvIHdlCgkgIGNhbiBwYXNzdGhyb3VnaCB1bnRpbCBhbnkgZ2FpbiBwcm9wZXJ0eSBpcyBjaGFuZ2VkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ4MDY4CgoyMDE1LTA0LTIyIDEwOjMwOjUyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogSU5TVEFMTDoKCSAgUmVtb3ZlIElOU1RBTEwgZmlsZQoJICBhdXRvdG9vbHMgYXV0b21hdGljYWxseSBnZW5lcmF0ZSB0aGlzLCBhbmQgd2hlbiB1c2luZyBkaWZmZXJlbnQgdmVyc2lvbnMKCSAgZm9yIGF1dG9nZW4uc2ggdGhlcmUgd2lsbCBhbHdheXMgYmUgY2hhbmdlcyB0byBhIGZpbGUgdHJhY2tlZCBieSBnaXQuCgoyMDE1LTA0LTIyIDEwOjMwOjE0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogTElDRU5TRV9yZWFkbWU6CgkgIFJlbW92ZSBMSUNFTlNFX3JlYWRtZQoJICBJdCdzIGNvbXBsZXRlbHkgb3V0ZGF0ZWQgYW5kIGp1c3QgY29uZnVzaW5nLCBiZXR0ZXIgaWYgcGVvcGxlIGFyZQoJICBmb3JjZWQgdG8gbG9vayBhdCB0aGUgYWN0dWFsIGNvZGUgaW4gcXVlc3Rpb24gdGhhbiB0cnVzdGluZyB0aGlzIGZpbGUuCgoyMDE1LTA0LTIxIDE1OjIxOjMzICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJICB2NGwyOiBjYXN0IHVudXNlZCByZXR1cm4gdG8gdm9pZAoJICBRdWVsbCB1bmNoZWNrZWQgcmV0dXJuIHZhbHVlIGRlZmVjdCBieSBjYXN0aW5nIHRoZSByZXR1cm4gdmFsdWUgdG8gdm9pZCBhbmQKCSAgbWFraW5nIGl0IGV4cGxpY2l0IGl0IGlzIGdvaW5nIHRvIGJlIGlnbm9yZWQuCgkgIENJRCAjMjA2MDMxCgoyMDE1LTA0LTE3IDEzOjA4OjAyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvdnB4L2dzdHZwOGRlYy5jOgoJICB2cDhkZWM6IG9wdGltaXplIHZweCBpbWFnZSB0byBnc3RidWZmZXIgY29weSB3aGVuIHN0cmlkZXMgbWF0Y2gKCSAgU29sdmluZyB0aGlzIEZJWE1FLiBDb3B5IHRoZSBmdWxsIHBsYW5lIHdoZW4gc3RyaWRlcyBhcmUgdGhlIHNhbWUKCjIwMTUtMDQtMTYgMTU6MTE6MDUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC92cHgvZ3N0dnA5ZGVjLmM6CgkgIHZwOWRlYzogb3B0aW1pemUgdnB4IGltYWdlIHRvIGdzdGJ1ZmZlciBjb3B5IHdoZW4gc3RyaWRlcyBtYXRjaAoJICBTb2x2aW5nIHRoaXMgRklYTUUuIENvcHkgdGhlIGZ1bGwgcGxhbmUgd2hlbiBzdHJpZGVzIGFyZSB0aGUgc2FtZQoKMjAxNS0wNC0xNyAxMzozMjo1NCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkgIGFjM3BhcnNlOiBmaXggbWVtb3J5IGxlYWsKCjIwMTUtMDQtMTcgMDY6NTE6NDYgKzAwMDAgIEFsZXggTydLb25za2kgPGFsZXhhbmRlcm9rb25za2lAZ21haWwuY29tPgoKCSogZ3N0L2ljeWRlbXV4L2dzdGljeWRlbXV4LmM6CgkgIGljeWRlbXV4OiBGaXggc2VnZmF1bHQgaWYgbWV0YWRhdGEtaW50ZXJ2YWwgaXMgMAoJICBQcmV2ZW50cyBhbiBleHRyYSB1bnJlZiBvZiBHc3RCdWZmZXIgd2hlbiBwYXNzaW5nIGEgbm9uLWljeSBzdHJlYW0gdGhyb3VnaAoJICBpY3lkZW11eCB3aXRoIG1ldGFkYXRhLWludGVydmFsIHNldCB0byAwLgoJICBSZXByb2R1Y2libGUgd2l0aDoKCSAgZ3N0LWxhdW5jaC0xLjAgZmlsZXNyYyBsb2NhdGlvbj1+L3Rlc3Rzb25nLm1wMyAhIFwKCSAgJ2FwcGxpY2F0aW9uL3gtaWN5LG1ldGFkYXRhLWludGVydmFsPShpbnQpMCcgISBpY3lkZW11eCAhIGRlY29kZWJpbiAhIHdhdmVuYyAhIFwKCSAgZmlsZXNpbmsgbG9jYXRpb249fi90ZXN0c29uZy53YXYKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0ODAyNAoKMjAxNS0wNC0xNyAxMTo1NDoyMyArMDUzMCAgUmF2aSBLaXJhbiBLIE4gPHJhdmkua2lyYW5Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvYXVkaW9meC9hdWRpb2FtcGxpZnkuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9keW5hbWljLmM6CgkgIGF1ZGlvZng6IGZpeCB0eXBvIGluIGV4YW1wbGUgcGlwZWxpbmVzCgkgIEZpeCB0eXBvIGluIGV4YW1wbGUgcGlwZWxpbmVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDgwMjIKCjIwMTUtMDQtMTUgMTg6MjI6MzcgKzAzMDAgIElseWEgS29uc3RhbnRpbm92IDxpbHlhLmtvbnN0YW50aW5vdkBnbWFpbC5jb20+CgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4Y29yZWF1ZGlvaGFsLmM6CgkgIG9zeGF1ZGlvOiBmaXggc3BlbGxpbmcgaW4gZGVidWcgbWVzc2FnZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy8vc2hvd19idWcuY2dpP2lkPTc0NzkzNgoKMjAxNS0wNC0xNiAxNjozMzo0NCArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2VxdWFsaXplci9kZW1vLmM6CgkgIHRlc3RzOiBzZWxlY3RhYmxlIGFtb3VudCBvZiBiYW5kcyBpbiBlcXVhbGl6ZXIgZGVtbwoJICBBZGRpbmcgYW4gb3B0aW9uIGluIHRoZSBlcXVhbGl6ZXIgZGVtbyB0byBtYWtlIHRoZSBudW1iZXIgb2YgYmFuZHMgc2VsZWN0YWJsZS4KCjIwMTUtMDQtMTYgMTU6MzE6MjUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhzZW5kLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJICBydHBzb3VyY2UvcnRwcnR4c2VuZDogQWxzbyBwYXNzIGNvcnJlY3Qgc2VxbnVtLW9mZnNldCBhbmQgcGF5bG9hZCB0byB0aGUgUlRYIHJ0cHNvdXJjZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ3Mzk0CgoyMDE1LTA0LTA2IDEyOjU2OjUwICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHNlbmQuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBUcmFjayBSVFggc3NyYyBjYXBzCgkgIFRoaXMgaXMgbmVlZGVkIHNvIHRoYXQgd2UgY2FuIGdlbmVyYXRlIFNSIGZvciBSVFggc3RyZWFtIGNvcnJlY3RseSAodGhlCgkgIGNsb2NrIHJhdGUgaXMgcmVxdWlyZWQpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ3Mzk0CgoyMDE1LTA0LTE0IDEzOjU2OjM4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcnR4c2VuZC5jOgoJICBydHBydHhzZW5kOiBDb3B5IG92ZXIgdGltZXN0YW1wcyBmcm9tIHRoZSBvcmlnbmFsIGJ1ZmZlcnMgdG8gdGhlIFJUWCBidWZmZXJzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDczOTQKCjIwMTUtMDQtMTYgMTY6MDE6NTAgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9lcXVhbGl6ZXIvZGVtby5jOgoJICB0ZXN0czogc3dpdGNoIGVxdWFsaXplciBkZW1vIHRvIHBsYXkgZnJvbSB1cmkKCSAgU3dpdGNoIHRoZSBlcXVhbGl6ZXItbmJhbmRzIGRlbW8gdG8gdXNlIHVyaWRlY29kZWJpbiwgc28gdXNlcnMgY2FuIGxpc3RlbiB0bwoJICBzb21ldGhpbmcgbW9yZSBwbGVhc2FudCB0aGFuIHdoaXRlIG5vaXNlLiBJZiBhbnlib2R5IG1pc3NlcyB0aGUgd2hpdGUgbm9pc2UKCSAgYSB1cmkgaGFuZGxlciB0byBhdWRpb3Rlc3RzcmMgY2FuIGJlIHVzZWQuCgoyMDE1LTA0LTE2IDExOjE3OjM4ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZXF1YWxpemVyL2RlbW8uYzoKCSAgdGVzdHM6IGltcHJvdmUgcmVhZGFiaWxpdHkgb2YgZXF1YWxpemVyIGRlbW8KCSAgUmVuYW1lIHZhcmlhYmxlIG5hbWUgdG8gbWFrZSBpdCBtb3JlIHJlYWRhYmxlLCBhZGQgY29tbWVudHMgZm9yIHRoZSB0aHJlZQoJICBzY2FsZXMgY3JlYXRlZCBwZXIgYmxvY2ssIGFuZCBzZXQgdGhlIHdpbmRvdyB0aXRsZS4KCjIwMTUtMDQtMTUgMTc6MzI6MzcgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9lcXVhbGl6ZXIvZGVtby5jOgoJICB0ZXN0czogYWRkIG1pc3NpbmcgbGljZW5zZSBoZWFkZXIgZm9yIGVxdWFsaXplciBkZW1vCgoyMDE1LTA0LTE2IDEzOjA5OjE5ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBmaXggdGFnIGxpc3QgbGVha3Mgb24gZXJyb3IgcGF0aHMKCjIwMTUtMDQtMTYgMTI6MjM6MzggKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGZpeCB0YWcgbGlzdCBsZWFrIG9uIHVua25vd24gc3RyZWFtIHR5cGUKCjIwMTUtMDQtMDkgMTM6MTk6NDkgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZ3N0LXBsdWdpbnMtZ29vZC5zdXBwOgoJICBzdXBwcmVzc2lvbnM6IGlnbm9yZSBhbiBhcHBhcmVudCBidWcgaW4gc3RydG9kCgkgIEEgYnVmZmVyIG92ZXJyZWFkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ3NTU0CgoyMDE1LTA0LTE1IDExOjA3OjI3ICswMjAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNpbmsuYzoKCSAgc3BsaXRtdXhzaW5rOiBkbyBub3QgYWNjZXNzIHByb3BlcnR5IHZhcmlhYmxlIHdpdGhvdXQgdGhlIG9iamVjdCBsb2NrLCB1c2UgdGhlIGxvY2FsIHN0YWNrIGNvcHkgaW5zdGVhZAoKMjAxNS0wNC0xNCAxODo0NTo0NCArMDIwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzaW5rLmM6CgkgIHNwbGl0bXV4c2luazogYWRkIHByb2JlIG9uIHRoZSBtdWx0aXF1ZXVlJ3Mgc2luayBwYWQgaW5zdGVhZCBvZiB0aGUgZ2hvc3QgcGFkCgkgIGJlY2F1c2UgX3JlbGVhc2VfcGFkIHRyaWVzIHRvIHJlbGVhc2UgaXQgZnJvbSBjdHgtPnNpbmtwYWQsIHdoaWNoIGlzCgkgIG11bHRpcXVldWUncyBzaW5rIHBhZCwgYW5kIGN1cnJlbnRseSBmYWlscyBiZWNhdXNlIHRoZSBwcm9iZSBpcyBub3QKCSAgaW5zdGFsbGVkIHRoZXJlCgoyMDE1LTA0LTE0IDE5OjA4OjI0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcnR4cmVjZWl2ZS5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhzZW5kLmM6CgkgIHJ0cHJ0eCo6IEZpeCB0eXBvcwoKMjAxNS0wNC0xNCAxNzoyNDo0NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogTm90IHNlbmRpbmcgZWFybHkgUlRDUCBub3cgYmVjYXVzZSBvZiBkaXRoZXJpbmcgbWVhbnMgd2Ugc2VuZCBpdCB3aXRoIHRoZSBuZXh0IGNvbXBvdW5kIHBhY2tldAoKMjAxNS0wNC0xNCAxNjoyNzoxOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogSW1wcm92ZSBkZWJ1ZyBvdXRwdXQgYSBiaXQgaWYgd2UgY2FuJ3QgYWxsb3cgZWFybHkgZmVlZGJhY2sKCjIwMTUtMDQtMDcgMTg6MDA6NTMgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHZwOGRlcGF5LmM6CgkgIHJ0cHZwOGRlcGF5OiBXaGVuIGRyb3BwaW5nIGludHJhIHBhY2tldCwgcmVxdWVzdCBrZXlmcmFtZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ3MjA4CgoyMDE1LTA0LTEzIDIwOjI1OjAwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogQ2hhbmdlIHJlc3luY2luZyBHU1RfV0FSTklORyB0byBHU1RfSU5GTwoJICBUaGlzIGFsc28gaGFwcGVucyBpbiB0aGUgdmVyeSBiZWdpbm5pbmcgd2hlbiB3ZSByZWNlaXZlIHRoZSBmaXJzdCBwYWNrZXQsIGEKCSAgd2FybmluZyB3b3VsZCBiZSB2ZXJ5IGNvbmZ1c2luZyBoZXJlLiBJbiBhbGwgcGxhY2VzIHdoZXJlIHdlIHNob3VsZCB3YXJuIGFib3V0CgkgIHRoaXMsIHdlIHdvdWxkJ3ZlIHByaW50ZWQgYSB3YXJuaW5nIGFscmVhZHkgYmVmb3JlLgoKMjAxNS0wNC0wMiAxMzoyNjo0MSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOgoJICBtdWx0aWZpbGVzaW5rOiBtaW5vciBkb2NzIGltcHJvdmVtZW50CgoyMDE0LTExLTA2IDEyOjA4OjAzICswMTAwICBNaWd1ZWwgUGFyw61zIETDrWF6IDxtcGFyaXNkaWF6QGdtYWlsLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IEFkZCAicnR4LW1heC1yZXRyaWVzIiBwcm9wZXJ0eQoJICBUaGlzIHByb3BlcnR5IGFsbG93cyB0byBsaW1pdCB0aGUgbWF4aW11bSBudW1iZXIgb2YgcmV0cmFuc21pc3Npb24KCSAgZm9yIGEgc3BlY2lmaWMgcGFja2V0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM5ODY4CgoyMDE0LTExLTA0IDE1OjAwOjUyICswMTAwICBNaWd1ZWwgUGFyw61zIETDrWF6IDxtcGFyaXNkaWF6QGdtYWlsLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IEZpeCBleHBlY3RlZF9kdHMgY2FsYyBpbiBjYWxjdWxhdGVfZXhwZWN0ZWQKCSAgUmlnaHQgYWJvdmUgd2UgY29uc2lkZXIgbG9zdF9wYWNrZXQgcGFja2V0cywgZWFjaCBvZiB0aGVtIGhhdmluZyBkdXJhdGlvbiwKCSAgYXMgbG9zdCBhbmQgdHJpZ2dlcmVkIHRoZWlyIHRpbWVycyBpbW1lZGlhdGVseS4gQmVsb3cgd2UgdXNlIGV4cGVjdGVkX2R0cwoJICB0byBzY2hlZHVsZSByZXRyYW5zbWlzc2lvbiBvciBzY2hlZHVsZSBsb3N0IHRpbWVycyBmb3IgdGhlIHBhY2tldHMgdGhhdAoJICBjb21lIGFmdGVyIGV4cGVjdGVkX2R0cy4KCSAgQXMgd2UganVzdCB0cmlnZ2VyZWQgbG9zdF9wYWNrZXRzIHBhY2tldHMgYXMgbG9zdCwgdGhlcmUncyBubyBwb2ludCBpbgoJICBzY2hlZHVsaW5nIG5ldyB0aW1lcnMgZm9yIHRoZW0gYW5kIHdlIGNhbiBqdXN0IHNraXAgb3ZlciBhbGwgbG9zdCBwYWNrZXRzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM5ODY4CgoyMDE1LTAzLTIwIDE4OjIxOjU3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogTWFrZSB0aGUgbmV4dCBvdXRwdXQgYnVmZmVyIGRpc2NvbnQgYWZ0ZXIgcmVzZXR0aW5nIHRoZSBqaXR0ZXJidWZmZXIKCSAgUmVzZXR0aW5nIHRoZSBqaXR0ZXJidWZmZXIgZHJvcHMgYWxsIHBhY2tldHMgYW5kIG90aGVyIHRoaW5ncywgYW5kIHdpbGwgY2F1c2UKCSAgYSBkaXNjb250aW51aXR5IGluIHRoZSBwYWNrZXRzIHJlY2VpdmVkIGJ5IHRoZSBkZXBheWxvYWRlcnMuIFRoZXkgc2hvdWxkIG5vdwoJICBhbHNvIGZsdXNoIGFueXRoaW5nIHRoZXkgaGFkIHBlbmRpbmcgYXMgdGhlIG5ldyBkYXRhIHdpbGwgc3RhcnQgYXQgYSBkaWZmZXJlbnQKCSAgcG9zaXRpb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzk4NjgKCjIwMTUtMDQtMTAgMDk6MTc6MjYgKzA5MDAgIEh5dW5qdW4gS28gPHp6b29uLmtvQHNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IFVwZGF0ZSBzZWdtZW50LnN0YXJ0IGFmdGVyIGtleS11bml0IHNlZWsKCSAgV2hlbiBkb2luZyBrZXkgdWludCBzZWVrLCBxdGRlbXV4IGNhbGxzIGdzdF9xdGRlbXV4X2FkanVzdF9zZWVrCgkgIHRvIGdldCBwcm9wZXIgb2Zmc2V0LiBBbmQgdGhlbiB0aGlzIG9mZnNldCBpcyBzZXQgdG8KCSAgc2VnbWVudC5wb3NpdGlvbiBhbmQgc2VnbWVudC50aW1lIGluIGdzdF9xdGRlbXV4X3BlcmZvcm1fc2VlayBidXQKCSAgc2VnbWVudC5zdGFydCBpcyBub3QgdXBkYXRlZC4KCSAgQWZ0ZXIgdGhhdCwgYXBwbGljYXRpb24gc2VuZHMgc2VnbWVudCBxdWVyeSwKCSAgcXRkZW11eCBzZXRzIHN0YXJ0IGFuZCBzdG9wIHRvIHF1ZXJ5IHVzaW5nIGdzdF9zZWdtZW50X3RvX3N0cmVhbV90aW1lLiBEdWUKCSAgdG8gdGhlIHdyb25nIHZhbHVlIGluIHNlZ21lbnQuc3RhcnQsIHRoZSBzdG9wIHBvc2l0aW9uIGlzIHNtYWxsZXIgdGhhbgoJICBpdCBzaG91bGQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDY4MjIKCjIwMTUtMDQtMDcgMTY6MTI6NDAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IHJlbW92ZSB1c2VsZXNzIHZhcmlhYmxlIGRvX3B0cwoJICBXZSBhbHdheXMgd3JpdGUgdGhlIENUVFMgaW4gcXRtdXguIElkZWFsbHkgd2Ugb25seSB3YW50IHRvIGRvIHRoYXQKCSAgZm9yIHN0cmVhbXMgdGhhdCBuZWVkIERUUywgaXQgc2hvdWxkIGJlIHByZXNlbnQgb24gdGhlIHRyYWNrIGluZm9ybWF0aW9uCgkgIHJhdGhlciB0aGFuIGJlIGRlY2lkZWQgYmFzZWQgb24gZWFjaCBidWZmZXIKCjIwMTUtMDQtMDcgMDA6NTM6MzUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IHJlbW92ZSBzdWJ0cmFjdGlvbiB0aGF0IG1ha2VzIFBUUy9EVFMgc3RhcnQgZnJvbSAwCgkgIEFzIHF0IHVzZXMgZHVyYXRpb25zLCBpdCBkb2Vzbid0IG1hdHRlciwgb25seSB0aGUgZGlmZmVyZW5jZQoJICBiZXR3ZWVuIGNvbnNlY3V0aXZlIGJ1ZmZlcnMgaXMgaW1wb3J0YW50LiBBbHNvLCBjb2xsZWN0cGFkcwoJICBhbHJlYWR5IHJlcGxhY2VzIFBUUy9EVFMgd2l0aCB0aGUgcnVubmluZyB0aW1lcyBmb3IgdGhlbS4KCjIwMTUtMDQtMDYgMjI6MzY6NDMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3F0bXV4LmM6CgkgIHRlc3RzOiBxdG11eDogYWRkIHRlc3RzIHRvIHZlcmlmeSBpdCBoYW5kbGVzIG5vbi0wIHNlZ21lbnRzCgkgIEJvdGggaW5wdXQgc3RyZWFtcyBpbiB0aGlzIHRlc3QgaGF2ZSBhIHNlZ21lbnQuc3RhcnQgPSAxMHMsIHNvCgkgIG91dHB1dCBzaG91bGQgc3RhcnQgZnJvbSAwIGFueXdheS4KCSAgQW5vdGhlciB0ZXN0IGhhcyBib3RoIHN0YXJ0aW5nIGF0IG5vbi0wIHNlZ21lbnRzLCBidXQgdGhlIHJ1bm5pbmcKCSAgdGltZSBvZiBib3RoIHN0cmVhbXMgc2hvdWxkIHN0aWxsIHN0YXJ0IGZyb20gMAoKMjAxNS0wNC0wNiAyMDowMzoxOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcXRtdXguYzoKCSAgdGVzdHM6IHF0bXV4OiBzaW1wbGUgbXV4aW5nIHRlc3QKCSAgQWRkcyBhIG5ldyBzaW1wbGUgdGVzdCB0aGF0IHZlcmlmaWVzIHRoYXQgZGF0YSBpcyBwcm9wZXJseSBtdXhlZAoJICBhbmQgcHJlc2VydmVkLiAgUFRTLCBEVFMsIGR1cmF0aW9uIGFuZCBjYXBzIGFyZSB2ZXJpZmllZC4KCjIwMTUtMDQtMTAgMTA6NTk6MjYgKzA1MzAgIFJhdmkgS2lyYW4gSyBOIDxyYXZpLmtpcmFuQHNhbXN1bmcuY29tPgoKCSogZ3N0L3NtcHRlL2dzdHNtcHRlLmg6CgkgIHNtcHRlOiByZW1vdmUgdW51c2VkIGZpZWxkcwoJICBSZW1vdmUgdGhlIGZpZWxkcyAtIGZvcm1hdCBhbmQgZnBzIGZyb20gc21wdGUKCSAgYXMgdGhleSBhcmUgdW51c2VkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ3NTk3CgoyMDE1LTA0LTEwIDEwOjI5OjQ3ICswNTMwICBSYXZpIEtpcmFuIEsgTiA8cmF2aS5raXJhbkBzYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hbHBoYS5jOgoJICB0ZXN0czogYWRkIHRlc3Qgc3VpdGUgZm9yIGFscGhhCgkgIEFkZGVkIHRlc3Qgc3VpdGUgZm9yIGFscGhhIGVsZW1lbnQgd2l0aCB0ZXN0IGNhc2VzCgkgIDEuIGFscGhhCgkgIDIuIGNocm9tYSBrZXlpbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NzU5NQoKMjAxNS0wNC0wOSAxMjo1ODo0NiArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9nc3QtcGx1Z2lucy1nb29kLnN1cHA6CgkgIHN1cHByZXNzaW9uczogYWRkIGEgd2VsbCBrbm93biB6bGliIGluZmxhdGUgYnVnCgoyMDE1LTA0LTA5IDEyOjU4OjI2ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzaW5rLmM6CgkgIHNwbGl0bXV4c2luazogZml4IG11dGV4IGxlYWsKCjIwMTUtMDQtMDkgMTI6NTg6MDQgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwcnR4LmM6CgkgIHRlc3RzOiBGaXggcnRwcnR4IHRlc3QgYnkgaGFuZGxpbmcgYnVmZmVyIGxpc3RzCgkgIENvbW1pdCAjMTAxOGFhIG1hZGUgcnRwcnR4c2VuZCBoYW5kbGUgYnVmZmVyIGxpc3RzLCBicmVha2luZwoJICB0aGUgdGVzdCB3aGljaCBwcm9iZXMgZm9yIGJ1ZmZlcnMsIGJ1dCBub3QgYnVmZmVyIGxpc3RzLgoJICBVc2UgYSB1dGlsaXR5IGZ1bmN0aW9uIHRvIHJ1biB0aGUgcHJvYmUgY2FsbGJhY2sgb24gZWFjaCBidWZmZXIKCSAgaW4gdGhlIGxpc3QgaW4gdHVybiBhbmQgcmVtb3ZlIGFueSBidWZmZXJzIHRoYXQgYXJlIGRyb3BwZWQuCgoyMDE1LTA0LTAxIDExOjE1OjM4ICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5oOgoJICBpc29tcDQ6IFJlZmFjdG9yIHZhcmlvdXMgc3RhdGUgdmFyaWFibGVzIGludG8gYSBtdXhfbW9kZSB2YXIKCSAgSW5zdGVhZCBvZiBjaGVja2luZyB2YXJpb3VzIHN0YXRlIHZhcmlhYmxlcyBhcm91bmQgdGhlIG11eGVyLAoJICB0cmFjayB0aGUgY3VycmVudCBtdXhpbmcgbW9kZSBpbiBhIHNpbmdsZSAnbXV4X21vZGUnIGVudW0uCgkgIEFkZCBzb21lIGltcGxlbWVudGF0aW9uIG5vdGVzIGFib3V0IHRoZSBkaWZmZXJlbnQgbXV4IG1vZGVzCgoyMDE1LTA0LTA4IDE2OjQwOjAyICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogY29tbW9uOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgdGVzdHM6IFVzZSBBTV9URVNUU19FTlZJUk9OTUVOVAoJICBOZWVkZWQgYnkgdGhlIG5ldyBhdXRvbWFrZSB0ZXN0IHJ1bm5lcgoKMjAxNS0wNC0wOCAxMToxNzozMSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2M2RlcGF5LmM6CgkgIHJ0cGgyNjNkZXBheTogRml4IGZyYW1lc2l6ZSBwYXJzaW5nCgkgIFRoZSBzdHJpbmcgcGFzc2VkIHRvIHRoZSBwYXJzaW5nIGZ1bmN0aW9uIG9ubHkgY29udGFpbnMgYSBmcmFtZXNpemUsIGFuZAoJICBub3QgPHB0PiArIDxmcmFtZXNpemU+CgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjY0MTYKCjIwMTUtMDMtMjAgMTI6MTg6MzcgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIHdhdnBhcnNlOiBjbGlwIGNodW5rIHNpemUgYWJvdmUgdGhlIHZhbGlkIG1heGltdW0gKDB4N2ZmZmZmZmYpCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjI1NjcKCjIwMTUtMDMtMjAgMDk6MDc6MzUgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIHdhdnBhcnNlOiBjbGlwIGNodW5rIGxlbmd0aCB0byBhdmFpbGFibGUgZGF0YSAod2hlbiBrbm93bikKCSAgVGhpcyBwcmV2ZW50cyBzaWxseSBjaHVuayBsZW5ndGhzIGZyb20gcG9zc2libHkgb3ZlcmZsb3dpbmcKCSAgKGF0IGxlYXN0IHdoZW4gd2Uga25vdyB0aGUgYWN0dWFsIGRhdGEgbGVuZ3RoKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMjU2NwoKMjAxNS0wNC0wNiAyMDoxNzo1MiAtMDcwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBEb24ndCBhY2N1bXVsYXRlIHNlZ21lbnQgYmFzZXMgbWFudWFsbHkKCSAgZ3N0X3NlZ21lbnRfZG9fc2VlaygpIGRvZXMgdGhhdCBmb3IgdXMgYWxyZWFkeSwgYW5kIGRvaW5nIGl0IHR3aWNlCgkgIHdpbGwgYnJlYWsgbm9uLWZsdXNoaW5nIHNlZWtzIGluIGludGVyZXN0aW5nIHdheXMuIExlZnRvdmVyIGZyb20gMS4wCgkgIHBvcnRpbmcuCgkgIEFsc28gY29weSBvdmVyIHNlZ21lbnQgb2Zmc2V0IGFuZCBhcHBsaWVkX3JhdGUsIGp1c3QgaW4gY2FzZS4KCjIwMTUtMDQtMDYgMTk6MDg6MTAgLTA3MDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9pY2xlcy90ZXN0LXNlZ21lbnQtc2Vla3MuYzoKCSAgaWNsZXM6IEZpeCB3YWl0aW5nIGZvciBzZWdtZW50LWRvbmUgaWYgaXQgaGFwcGVucyB0b28gZmFzdAoJICBTb21ldGltZXMgd2UgY2FuIGdldCBzZWdtZW50LWRvbmUgYmVmb3JlIHdlIGdvdCBhc3luYy1kb25lLiBJZiB3ZSB3YWl0ZWQKCSAgZm9yIGFzeW5jLWRvbmUgb25seSwgdGhlIHNlZ21lbnQtZG9uZSB3b3VsZCBiZSBkcm9wcGVkIGFuZCB3ZSB3b3VsZCB3YWl0CgkgIGZvcmV2ZXIgZm9yIGl0IGEgZmV3IGxpbmVzIGJlbG93LgoKMjAxNS0wNC0wNiAxODo1NTowOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHN0YmxfaW5kZXggaXMgdmFsaWQgZnJvbSAwIG9ud2FyZHMKCSAgSXQgaW5kaWNhdGVzIHRoZSBsYXN0IHNhbXBsZSBwYXJzZWQsIG5vdCB0aGUgbmV4dCBvbmUgdG8gcGFyc2UuCgkgIEFzIGl0IHN0YXJ0cyBpbiAtMSwgYW55IHZhbHVlIGZyb20gMCBvbndhcmRzIG1lYW5zIHRoYXQgaXQgaGFzCgkgIHNvbWUgdmFsaWQgZGF0YS4KCjIwMTUtMDQtMDUgMjA6MDY6MDkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJICBkb2NzOiBtYWtlIEdzdFJUQ1BTeW5jIGVudW0gc2hvdyB1cCBpbiBydHBiaW4gZG9jcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ3MzU4CgoyMDE1LTA0LTA1IDExOjQ1OjQ1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgIGRvY3M6IGFkZCBSVFBKaXR0ZXJCdWZmZXJNb2RlIGVudW0gdG8gcnRwYmluIGRvY3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NzM1OAoKMjAxNS0wNC0wNCAxMTo1NTowMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmM6CgkgIG11bHRpZmlsZXNpbms6IGNsb3NlIGZpbGVzIGJlZm9yZSBwb3N0aW5nIG1lc3NhZ2UKCSAgTWFrZXMgc3VyZSB0aGUgZmlsZXMgd2VyZSBwcm9wZXJseSBmbHVzaGVkIGFuZCBjbG9zZWQgYmVmb3JlCgkgIHRoZSBtZXNzYWdlIHJlYWNoZXMgdGhlIGFwcGxpY2F0aW9uCgoyMDE1LTAzLTMwIDEzOjU0OjIzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tdWx0aWZpbGUuYzoKCSAgdGVzdHM6IG11bHRpZmlsZTogaW5jcmVtZW50IHRlc3RzIHRvIGNoZWNrIGZvciBtdWx0aWZpbGUgbWVzc2FnZXMKCSAgQWxzbyB2ZXJpZnkgdGhhdCB0aGUgbXVsdGlmaWxlc2luayBmaWxlIG1lc3NhZ2VzIGFyZSBiZWluZyBjb3JyZWN0bHkKCSAgcG9zdGVkIHRvIHRoZSBidXMKCjIwMTUtMDMtMzAgMTI6NTE6MzUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL211bHRpZmlsZS5jOgoJICB0ZXN0czogbXVsdGlmaWxlOiBoYW5kbGUgRklYTUUgZm9yIHByb3BlciBjaGVja2luZyB3aGVuIHRlc3QgZmluaXNoZWQKCSAgVXNlIGEgR3N0QnVzIGFuZCB3YWl0IGZvciBFT1MgdG8gZmluaXNoIHRoZSB0ZXN0cyBpbnN0ZWFkIG9mCgkgIHJlbHlpbmcgb24gc2xlZXBpbmcKCjIwMTUtMDMtMzAgMTE6MTQ6MDkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOgoJICBtdWx0aWZpbGVzaW5rOiBwb3N0IGZpbGUgbWVzc2FnZSBvbiBFT1MKCSAgV2hlbiBtdWx0aWZpbGVzaW5rIGlzIG9wZXJhdGluZyBpbiBhbnkgbW9kZSBvdGhlciB0aGFuIG9uZSBmaWxlCgkgIHBlciBidWZmZXIsIHRoZSBsYXN0IGZpbGUgY3JlYXRlZCB3b24ndCBoYXZlIGEgZmlsZSBtZXNzYWdlIHBvc3RlZAoJICBhcyBtdWx0aWZpbGVzaW5rIGRvZXNuJ3QgaGFuZGxlIHRoZSBFT1MgZXZlbnQuCgkgIFRoaXMgcGF0Y2ggZml4ZXMgaXQgYnkgdXNpbmcgdGhlIGxhc3QgcG9zaXRpb24gdG8gcG9zdCBhIGZpbGUKCSAgbWVzc2FnZSB3aGVuIEVPUyBpcyByZWNlaXZlZC4gVGhpcyBzaG91bGQgZW5zdXJlIGF0IGxlYXN0IHRoZQoJICB0aW1lIHJlbGF0ZWQgZGF0YSBhbmQgdGhlIGZpbGVuYW1lIGFyZSBwb3N0ZWQgdG8gdGhlIGFwcGxpY2F0aW9uCgkgIG9yIG90aGVyIGVsZW1lbnRzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDcwMDAKCjIwMTUtMDQtMDMgMTg6NTc6NTAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBhdXRvZ2VuLnNoOgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGJjNzZhOGIgdG8gYzhmYjM3MgoKMjAxNS0wNC0wMyAwMjowODo1MCArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogR3VhcmQgYWdhaW5zdCA2NC1iaXQgb3ZlcmZsb3cKCSAgRm9yIGxhcmdlLWZpbGUgYXRvbXMsIGd1YXJkIGFnYWluc3Qgb3ZlcmZsb3cgaW4gdGhlIHNpemUgZmllbGQsCgkgIHdoaWNoIGNvdWxkIG1ha2UgdXMganVtcCBiYWNrd2FyZCBpbiB0aGUgZmlsZSBhbmQgY2F1c2UKCSAgaW5maW5pdGUgbG9vcHMuCgoyMDE1LTA0LTAxIDIzOjQ2OjEzICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9xdG11eC5jOgoJICBpc29tcDQ6IE1ha2Ugbm9uLXNlZWthYmxlIGRvd25zdHJlYW0gYW4gZXJyb3IgaW4gbm9ybWFsIG1vZGUKCSAgV2hlbiBub3QgaW4gZmFzdC1zdGFydCBvciBmcmFnbWVudGVkIG1vZGUsIHdlIG5lZWQgdG8gYmUgYWJsZQoJICB0byByZXdyaXRlIHRoZSBzaXplIG9mIHRoZSBtZGF0IGF0b20sIG9yIGVsc2UgdGhlIG91dHB1dCBqdXN0CgkgIHdvbid0IGJlIHBsYXlhYmxlIC0gdGhlIG1kYXQgcGxhY2Vob2xkZXIgd2l0aCBzaXplID09IDAgd2lsbAoJICBjb3ZlciB0aGUgcmVzdCBvZiB0aGUgZmlsZSwgaW5jbHVkaW5nIGFueSBtb292IGF0b20gd2Ugd3JpdGUgb3V0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA4ODA4CgoyMDE0LTAzLTE1IDE1OjIzOjAxICswMTAwICBTZWJhc3RpYW4gUmFzbXVzc2VuIDxzZWJyYXNAaG90bWFpbC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwLXBheWxvYWRpbmcuYzoKCSAgcnRwaDI2M3BheS8tZGVwYXk6IGFkZCBmcmFtZXNpemUgU0RQIGF0dHJpYnV0ZQoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI2NDE2CgoyMDE0LTAzLTE1IDEzOjMzOjU2ICswMTAwICBTZWJhc3RpYW4gUmFzbXVzc2VuIDxzZWJyYXNAaG90bWFpbC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdwYXkuYzoKCSAgcnRwanBlZ3BheS8tZGVwYXk6IFJlbW92ZSBpbmNvcnJlY3RseSBpbnRyb2R1Y2VkIGZyYW1lc2l6ZSBTRFAgYXR0cmlidXRlCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjY0MTUKCjIwMTUtMDMtMjcgMjE6MDk6NDQgKzAxMDAgIFBldGVyIFNlaWRlcmVyIDxwcy5yZXBvcnRAZ214Lm5ldD4KCgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5oOgoJICB2NGwyc3JjOiBkZXZpY2Ugc2VxdWVuY2Uvb2Zmc2V0IGNvcnJlY3Rpb24gaW4gY2FzZSBvZiByZW5lZ290aWF0aW9uCgkgIFRoZSB2NGwyIGRldmljZSByZXN0YXJ0cyB0aGUgc2VxdWVuY2UgY291bnRlciBpbiBjYXNlIG9mIHN0cmVhbW9mZi9zdHJlYW1vbiwKCSAgdGhlIEdTVCBvZmZzZXQgdmFsdWVzIGFyZSBzdXBwb3NlZCB0byBpbmNyZW1lbnQgc3RyaWN0bHkgbW9ub3RvbmljLCBzbwoJICBhZGp1c3QgdGhlIHNlcXVlbmNlIGNvdW50ZXIvb2Zmc2V0IHZhbHVlcyBpbiBjYXNlIG9mIGNhcHMKCSAgcmVuZWdvdGlhdGlvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTQ0MQoKMjAxNC0xMS0xNCAxNDoxODo1MSArMDEwMCAgUGV0ZXIgU2VpZGVyZXIgPHBzLnJlcG9ydEBnbXgubmV0PgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICB2NGwyc3JjOiBhZGQgZnJhbWUgbG9zcyBkZXRlY3Rpb24KCSAgSW4gY2FzZSBvZiB2NGwyIGRyaXZlciBmaWxsZWQgb2Zmc2V0L3NlcXVlbmNlIHZhbHVlcyBhZGQgZnJhbWUKCSAgbG9zcyBkZXRlY3Rpb24gKGFuZCB3cml0ZSBhIHdhcm5pbmcgbWVzc2FnZSkuCgkgIE1vdmUgb2Zmc2V0IG1ldGEgZGF0YSBzZXR0aW5nIGFuZCBmcmFtZSBsb3NzIGNoZWNraW5nIGFmdGVyIHRoZQoJICB0aW1lc3RhbXAgYWRqdXN0bWVudCBjb2RlIHRvIGdldCBwcm9wZXIgdGltZXN0YW1wcyBmb3IgdGhlCgkgIHdhcm5pbmcgbWVzc2FnZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTQ0MQoKMjAxNC0xMS0xNCAxMzo0ODo1MSArMDEwMCAgUGV0ZXIgU2VpZGVyZXIgPHBzLnJlcG9ydEBnbXgubmV0PgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICB2NGwyOiB1c2UgdjRsMiBjYXB0dXJlIGRldmljZSBzZXF1ZW5jZSBjb3VudGVyCgkgIFVzZSB0aGUgdjRsMiBjYXB0dXJlIGRldmljZSBzZXF1ZW5jZSBjb3VudGVyIGZvcgoJICBzZXR0aW5nIHRoZSBHc3RCdWZmZXIgb2Zmc2V0L29mZnNldF9lbmQgdmFsdWVzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1NDQxCgoyMDE1LTAzLTMwIDEzOjEyOjM1ICswMjAwICBUb2JpYXMgTW9kc2NoaWVkbGVyIDx0b2JpYXMubW9kc2NoaWVkbGVyQGNldGl0ZWMuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyOiBBc2sgdGhlIGRyaXZlciBhYm91dCBpdHMgcmVxdWlyZW1lbnRzIGZvciBtaW5fYnVmZmVycyBiZWZvcmUgaW5pdGlhdGluZyBidWZmZXIgcG9vbC4KCSAgSWYgcHJvcG9zZV9hbGxvY2F0aW9uKCkgaGFkIG5vdCBiZWVuIGNhbGxlZCB5ZXQsIGl0IHdhcyBwb3NzaWJsZSB0aGF0IHRoZSBkcml2ZXIgd2FzIG5vdCBhc2tlZCBhdCBhbGwuCgkgIEluIGJ1ZmZlciBwb29sOiBDb25zaWRlciBtaW5pbXVtIG51bWJlciBvZiBidWZmZXJzIHJlcXVlc3RlZCBieSBkcml2ZXIgd2hlbiBzZXR0aW5nIGNvbmZpZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NjgzNAoKMjAxNS0wNC0wMSAxOTozMDoyNyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwdnA4ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2cDhkZXBheS5oOgoJICBydHB2cDhkZXBheTogUGFyc2Ugd2lkdGgvaGVpZ2h0L3Byb2ZpbGUgZnJvbSBrZXlmcmFtZXMKCSAgVGhpcyBtYWtlcyBpdCBwb3NzaWJsZSB0byBtdXggdGhlIHJlc3VsdCBpbnRvIGEgY29udGFpbmVyCgkgIHN1Y2ggYXMgbWF0cm9za2EuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDcyMDgKCjIwMTUtMDQtMDEgMTk6MDE6NDkgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvdnB4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IEV4cG9zZSBWUDggd2lkdGgvaGVpZ2h0IGxpbWl0YXRpb25zIGluIHRoZSBjYXBzIHRlbXBsYXRlCgkgIFRoZSBWUDggZm9ybWF0IHNwZWNpZmljYXRpb24gKFJGQyA2Mzg2IHNlY3Rpb24gMTguMSkgc3BlY2lmaWVzCgkgIHRoYXQgdGhlIG1heGltdW0gc2l6ZSBpcyAxNjM4M3gxNjM4My4KCjIwMTUtMDMtMzEgMDA6MjA6MTMgKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHY6IFdoZW4gcGFzc2luZyBzZWVrIGV2ZW50IHVwc3RyZWFtLCBob2xkIGEgcmVmLgoJICBJbiBjYXNlIHVwc3RyZWFtIGNhbid0IGhhbmRsZSB0aGUgc2VlaywgbWFrZSBzdXJlIHdlCgkgIGtlZXAgYSByZWYgb24gdGhlIGV2ZW50IHRvIGF0dGVtcHQgdG8gaGFuZGxlIGl0IG91cnNlbHZlcy4KCjIwMTUtMDMtMjYgMTM6MzQ6NTMgKzAxMDAgIEd1aWxsYXVtZSBEZXNtb3R0ZXMgPGd1aWxsYXVtZS5kZXNtb3R0ZXNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkgIG1hdHJvc2thOiBmaXggR1ZhbHVlIGxlYWtzIHdoZW4gcGFyc2luZyB0YWdzCgkgIGdzdF90YWdfbGlzdF9hZGRfdmFsdWUoKSBkb2Vzbid0IGNvbnN1bWUgdGhlIEdWYWx1ZSB3ZSBwYXNzIHRvIGl0IHNvIHRoZXJlIGlzCgkgIG5vIHBvaW50IGNvcHlpbmcgaXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDY4MTAKCjIwMTUtMDMtMjMgMjA6NTg6MjUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1uYXV3QHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiByZXN1cnJlY3Qgc29tZSBmbG93IHJldHVybiBoYW5kbGluZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ0NTcyCgoyMDE1LTAzLTIzIDIwOjU3OjU2ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtbmF1d0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdmRlbXV4OiByZXN1cnJlY3Qgc29tZSBmbG93IHJldHVybiBoYW5kbGluZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ0NTcyCgoyMDE1LTAzLTIzIDIwOjU2OjQxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtbmF1d0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogcmVzdXJyZWN0IHNvbWUgZmxvdyByZXR1cm4gaGFuZGxpbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NDU3MgoKMjAxNS0wMy0yNyAxODo1ODozMSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5oOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSAgbWF0cm9za2E6IHN0b3JlIHN0cmVhbSB0YWdzIGFuZCBwdXNoIGFzIHVwZGF0ZWQKCSAgTmV3IHRhZ3MgY2FuIGJlIGZvdW5kIG9uIGRpZmZlcmVudCBwYXJ0cyBvZiB0aGUgZmlsZSwgc28gdGhpcyBwYXRjaAoJICBrZWVwcyB0aGUgc3RyZWFtIHRhZ2xpc3RzIGFyb3VuZCBmb3IgdGhlIGxpZmUgY3ljbGUgb2YgdGhlIHBhZAoJICBhbmQgYWRkcyB0aG9zZSBuZXcgdGFncyBhcyBmb3VuZC4gVGhlbiBhIG5ldyB0YWcgaXMgZm91bmQsIHRoZQoJICBwYWQncyBpcyBtYXJrZWQgd2l0aCBhIHRhZ3MgY2hhbmdlZCBmbGFnLCBtYWtpbmcgdGhlIGVsZW1lbnQgcHVzaAoJICBhIG5ldyB0YWcgZXZlbnQgb24gdGhlIG5leHQgY2hlY2suIEJlZm9yZSB0aGlzLCB3ZSB3ZXJlIHNlbmRpbmcKCSAgb25seSB0aGUgbmV3bHkgZm91bmQgdGFncywgYXMgdGhlIGVsZW1lbnQgd2FzIGxvc2luZyBpdHMgdGFnbGlzdAoJICB3aGVuIHB1c2hpbmcgdGhlIGV2ZW50LgoKMjAxNS0wMy0xNSAxNDo0MDozNiArMDEwMCAgUmFtaXJvIFBvbGxhIDxyYW1pcm8ucG9sbGFAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IHNlbmQgZ2xvYmFsIHRhZ3MgaW5jcmVtZW50YWxseQoJICBJbnN0ZWFkIG9mIHNlbmRpbmcgb25seSBuZXcgdGFncyBvbmNlIHRoZXkgYXJlIGZvdW5kLCBtZXJnZSB0aGUgdGFnbGlzdAoJICBhbmQgc2VuZCB0aGVtIGluY3JlbWVudGFsbHkuCgoyMDE1LTAzLTE0IDE3OjA3OjA1ICswMTAwICBSYW1pcm8gUG9sbGEgPHJhbWlyby5wb2xsYUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5oOgoJICBtYXRyb3NrYXBhcnNlOiBzZW5kIGdsb2JhbCB0YWdzCgkgIEdsb2JhbCB0YWdzIGFyZSBhbHJlYWR5IGJlaW5nIHJlYWQgaW4gbWF0cm9za2FwYXJzZSwgYnV0IHRoZXkgYXJlIG5vdAoJICBjdXJyZW50bHkgYmVpbmcgc2VudC4KCSAgVGhpcyBwYXRjaCBtYWtlcyBnbG9iYWwgdGFncyBnZXQgc2VudCBpbmNyZW1lbnRhbGx5IHdoZW5ldmVyIG5ldyBvbmVzCgkgIGFyZSBmb3VuZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NjI0MgoKMjAxNS0wMi0wMyAxMDoxODo1OCArMDUzMCAgVmluZWV0aCBUIE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvZWZmZWN0di9nc3RxdWFyay5jOgoJICBxdWFya3R2OiBmaXggInBsYW5lcyIgcHJvcGVydHkgcmFuZ2UsIGEgdmFsdWUgb2YgMCBpcyBub3QgYWxsb3dlZAoJICBXaGVuIHBsYW5lcyBwcm9wZXJ0eSBpcyBzZXQgdG8gMCwgdGhlIHBpcGVsaW5lIGV4ZWN1dGVzIGluCgkgIGFuIGluZmluaXRlIGxvb3AgYW5kIG5ldmVyIGV4aXRzLiBTaW5jZSBwbGFuZXMgbXVzdCBuZXZlcgoJICBiZSAwLCBzZXQgdGhlIG1pbmltdW0gdmFsdWUgaW4gdGhlIHByb3BlcnR5IGRlc2NyaXB0aW9uCgkgIHRvIDEuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDM5MDYKCjIwMTUtMDMtMjYgMTM6NDI6MDIgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIHdhdnBhcnNlOiBGaXggdXAgY29tbWVudHMgcmVnYXJkaW5nIERUUwoKMjAxNS0wMy0yNSAxNToxMTozNCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIHJ0c3BzcmM6IEZpeCBzZWdtZW50IGluIFRDUCBtb2RlCgkgIEl0IGlzIGV4cGVjdGVkIHRoYXQgYnVmZmVycyBhcmUgdGltZS1zdGFtcGVkIHdpdGggcnVubmluZyB0aW1lLiBTZXQKCSAgYSBzZWdtZW50IGFjY29yZGluZ2x5LiBJbiB0aGlzIGNhc2Ugd2UgcGljayAwLC0xIGFzIHRoaXMgaXMgd2hhdCB1ZHBzcmMKCSAgd291bGQgZG8uIERlcGF5bG9hZGVycyB3aWxsIHVwZGF0ZSB0aGUgc2VnbWVudCB0byByZWZsZWN0IHRoZSBwbGF5YmFjawoJICBwb3NpdGlvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzNTcwMQoKMjAxNS0wMy0yNiAxMjoyMToyNSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgd2F2cGFyc2U6IGJlIG1vcmUgc3RyaWN0IGFib3V0IHR5cGVmaW5kaW5nIERUUwoJICBDb2RlIG5vdyBtYXRjaGVzIGNvbW1lbnRzLgoKMjAxNS0wMy0yNSAxNToxMDo1MyAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBSZW1vdmUgdXNlbGVzcyBmdW5jdGlvbgoJICBUaGlzIGZ1bmN0aW9uIGRpZG4ndCBkbyBhbnl0aGluZyBzcGVjaWFsLCBsZXQncyBub3QgdXNlIGEgZnVuY3Rpb24gZm9yCgkgIHRoYXQuCgoyMDE1LTAzLTIwIDEzOjAzOjA5IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyOiBBY2NvdW50IGZvciBydHhfcmV0cnkgaW4gb3ZlcmZsb3cgY2hlY2sKCSAgQXMgcnR4X3JldHJ5IGlzIHBhcnQgb2YgdGhlIHN1YnN0cmFjdGlvbiwgd2UgbmVlZCB0byB0YWtlIGl0IGludG8KCSAgYWNjb3VudCwgb3RoZXJ3aXNlIHdlIG1heSBlbmR1cCB3aXRoIGEgYmlnIHZhbHVlLgoKMjAxNS0wMy0yNCAyMzoxNToxNSArMDAwMCAgSnVsaWVuIElzb3JjZSA8ai5pc29yY2VAc2Ftc3VuZy5jb20+CgoJKiBzeXMvb3N4dmlkZW8vY29jb2F3aW5kb3cubToKCSAgb3N4dmlkZW9zaW5rOiBjaGVjayBmb3IgZGVwcmVjYXRlZCBjb25zdGFudHMgcHJpb3IgdG8gT1NYIDEwLjEwCgkgIGNvY29hd2luZG93Lm06MzM5OjU6IGVycm9yOiAnTlNPcGVuR0xQRkFXaW5kb3cnCgkgIGlzIGRlcHJlY2F0ZWQ6IGZpcnN0IGRlcHJlY2F0ZWQgaW4gT1MgWCAxMC45CgkgIGNvY29hd2luZG93Lm06NTc2Ojc6IGVycm9yOiAnTlNPcGVuR0xQRkFGdWxsU2NyZWVuJwoJICBpcyBkZXByZWNhdGVkOiBmaXJzdCBkZXByZWNhdGVkIGluIE9TIFggMTAuNgoJICBjb2NvYXdpbmRvdy5tOjYwNToyNDogZXJyb3I6ICdzZXRGdWxsU2NyZWVuJwoJICBpcyBkZXByZWNhdGVkOiBmaXJzdCBkZXByZWNhdGVkIGluIE9TIFggMTAuNwoKMjAxNS0wMy0yNCAxNjo1MToxMiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IEZpeCBzZWVraW5nIHF1ZXJ5CgkgIFRoZSBzZWdtZW50IHN0YXJ0L3N0b3AgaW4gdGhlIHF1ZXJ5IGlzIG1lYW50IHRvIHJlcHJlc2VudCB0aGUgc2Vla2FibGUKCSAgcG9ydGlvbiBvZiB0aGUgc3RyZWFtLiBJdCBkb2VzIG5vdCBtYXRjaCB0aGUgc2VnbWVudCBzdGFydC9zdG9wLiBJbnN0ZWFkCgkgIGV4cG9ydCAwIHRvIGR1cmF0aW9uLgoKMjAxNS0wMy0yNCAxNjoxODo1MyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx2ZGVtdXg6IE9ubHkgc2V0IGNhcHMgb25jZSBpZiB0aGV5IGRvbid0IGNoYW5nZQoJICBQcmV2aW91c2x5IHdlIHdlcmUgc2V0dGluZyBuZXcgY2FwcyB3aXRoIHRoZSBzYW1lIGNvbnRlbnQgZm9yIGV2ZXJ5IEgyNjQgb3IKCSAgQUFDIGNvZGVjX2RhdGEgd2UgZm91bmQgaW4gdGhlIHN0cmVhbSwgc3BhbW1pbmcgZXZlcnl0aGluZyBhbmQgY2F1c2luZwoJICByZW5lZ290aWF0aW9ucy4KCjIwMTUtMDMtMjQgMTI6NDY6MTkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdmRlbXV4OiBEb24ndCBjcmVhdGUgQUFDL0gyNjQgY2FwcyB3aXRob3V0IGNvZGVjX2RhdGEKCSAgSW5zdGVhZCBkZWxheSBjcmVhdGluZyB0aGUgY2FwcyB1bnRpbCB3ZSByZWFkIHRoZSBjb2RlY19kYXRhIGZyb20gdGhlIHN0cmVhbSwKCSAgb3IgZmFpbCBpZiB3ZSBnZXQgbm9ybWFsIGRhdGEgYmVmb3JlIHRoZSBjb2RlY19kYXRhLgoJICBBQUMgcmF3IGNhcHMgYW5kIEgyNjQgYXZjIGNhcHMgYWx3YXlzIG5lZWQgY29kZWNfZGF0YSwgc2V0dGluZyBjYXBzIG9uIHRoZSBwYWQKCSAgd2l0aG91dCB0aGVtIGlzIGdvaW5nIHRvIG1ha2UgbmVnb3RpYXRpb24gZmFpbCBtb3N0IG9mIHRoZSB0aW1lLiBFdmVuIGlmIHdlCgkgIGxhdGVyIHNldCBuZXcgY2FwcyB3aXRoIHRoZSBjb2RlY19kYXRhLCB0aGF0J3MgdXN1YWxseSBnb2luZyB0byBiZSB0b28gbGF0ZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NjY4MgoKMjAxNS0wMy0yNCAxNTozOToyMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx2ZGVtdXg6IEZpeCBpbmRlbnRpb24KCjIwMTUtMDMtMjIgMTM6MjM6NDQgKzAyMDAgIElseWEgS29uc3RhbnRpbm92IDxpbHlhLmtvbnN0YW50aW5vdkBnbWFpbC5jb20+CgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4Y29yZWF1ZGlvLmg6CgkgIG9zeGF1ZGlvOiBGaXggc3RyaW5nIGZvcm1hdCB3YXJuaW5nIG9uIDMyLWJpdAoJICBVSW50MzIgKERhcndpbiwgbm90IEM5OSdzIHVpbnQzMl90KSBpcyAndW5zaWduZWQgbG9uZycgb24gMzItYml0CgkgIHBsYXRmb3Jtcy4KCjIwMTUtMDMtMjEgMTc6NTA6NDAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IEZpeCBhbm90aGVyIGluc3RhbmNlIG9mIHN0aWNreSBldmVudCBtaXNvcmRlcmluZyB3YXJuaW5ncwoJICBNYWtlIHN1cmUgdGhhdCB0aGUgc3luY19zcmMgcGFkIGhhcyBjYXBzIGJlZm9yZSB0aGUgc2VnbWVudCBldmVudC4KCSAgT3RoZXJ3aXNlIHdlIG1pZ2h0IGdldCBhIHNlZ21lbnQgZXZlbnQgYmVmb3JlIGNhcHMgZnJvbSB0aGUgcmVjZWl2ZQoJICBSVENQIHBhZCwgYW5kIHRoZW4gbGF0ZXIgd2hlbiByZWNlaXZpbmcgUlRDUCBwYWNrZXRzIHdpbGwgc2V0IGNhcHMuCgkgIFRoaXMgd2lsbCByZXN1bHRzIGluIGEgc3RpY2t5IGV2ZW50IG1pc29yZGVyaW5nIHdhcm5pbmcKCSAgVGhpcyBmaXhlcyB3YXJuaW5ncyBpbiB0aGUgcnRwYXV4IHVuaXQgdGVzdCBidXQgYWxzbyBpbiB0aGUKCSAgcnRwYXV4IGFuZCBydHggZXhhbXBsZXMgaW4gdGVzdHMvZXhhbXBsZXMvcnRwCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDY0NDUKCjIwMTUtMDMtMjEgMTc6MTg6NDcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IEFsc28gc3RhcnQgdGhlIFJUQ1Agc2VuZCB0aHJlYWQgd2hlbiByZWNlaXZpbmcgUlRQIG9yIFJUQ1AKCSAgQmVmb3JlIHdlIG9ubHkgc3RhcnRlZCBpdCB3aGVuIGVpdGhlcjoKCSAgLSB0aGVyZSBpcyBubyBzZW5kIFJUUCBzdHJlYW0KCSAgb3IKCSAgLSB3ZSByZWNlaXZlZCBhbiBSVFAgcGFja2V0IGZvciBzZW5kaW5nCgkgIFRoaXMgY291bGQgbWVhbiB0aGF0IGlmIHRoZSBzZW5kIFJUUCBwYWRzIGFyZSBjb25uZWN0ZWQgYnV0IG5ldmVyIHJlY2VpdmUgYW55CgkgIFJUUCBkYXRhLCBhbmQgdGhlIHNhbWUgc2Vzc2lvbiBpcyBhbHNvIHVzZWQgZm9yIHJlY2VpdmluZyBSVFAvUlRDUCwgd2Ugd291bGQKCSAgbmV2ZXIgc3RhcnQgdGhlIFJUQ1AgdGhyZWFkIGFuZCB3b3VsZCBuZXZlciBzZW5kIFJUQ1AgZm9yIHRoZSByZWNlaXZpbmcgcGFydAoJICBvZiB0aGUgc2Vzc2lvbi4KCSAgVGhpcyBjYW4gYmUgcmVwcm9kdWNlZCB3aXRoIGEgcGlwZWxpbmUgbGlrZToKCSAgZ3N0LWxhdW5jaC0xLjAgcnRwYmluIG5hbWU9cnRwYmluIFwKCSAgdWRwc3JjIHBvcnQ9NTAwMCAhICJhcHBsaWNhdGlvbi94LXJ0cCwgbWVkaWE9dmlkZW8sIGNsb2NrLXJhdGU9OTAwMDAsIGVuY29kaW5nLW5hbWU9SDI2NCIgISBydHBiaW4ucmVjdl9ydHBfc2lua18wIFwKCSAgdWRwc3JjIHBvcnQ9NTAwMSAhIHJ0cGJpbi5yZWN2X3J0Y3Bfc2lua18wIFwKCSAgcnRwYmluLnNlbmRfcnRjcF9zcmNfMCAhIGZha2VzaW5rIG5hbWU9cnRjcF9mYWtlc2luayBzaWxlbnQ9ZmFsc2UgYXN5bmM9ZmFsc2Ugc3luYz1mYWxzZSBcCgkgIHJ0cGJpbi5yZWN2X3J0cF9zcmNfMF8yNTUzMjI1NTMxXzk2ICEgZGVjb2RlYmluICEgeHZpbWFnZXNpbmsgXAoJICBmYWtlc3JjICEgdmFsdmUgZHJvcD10cnVlICEgcnRwYmluLnNlbmRfcnRwX3NpbmtfMCBcCgkgIHJ0cGJpbi5zZW5kX3J0cF9zcmNfMCAhIGZha2VzaW5rIG5hbWU9cnRwX2Zha2VzaW5rIHNpbGVudD1mYWxzZSBhc3luYz1mYWxzZSBzeW5jPWZhbHNlIC12CgkgIEJlZm9yZSB0aGlzIGNoYW5nZSB0aGUgcnRjcF9mYWtlc2luayB3b3VsZCBuZXZlciBzZW5kIFJUQ1AgZm9yIHRoZSByZWNlaXZpbmcKCSAgcGFydCBvZiB0aGUgc2Vzc2lvbiAoaS5lLiBubyByZWNlaXZlciByZXBvcnRzISksIGFmdGVyIHRoZSBjaGFuZ2UgaXQgZG9lcy4KCSAgQW5kIGJlZm9yZSBhbmQgYWZ0ZXIgdGhpcyBjaGFuZ2UgaXQgd291bGQgc2VuZCBSVENQIGZvciB0aGUgcmVjZWl2aW5nIHBhcnQgb2YKCSAgdGhlIHNlc3Npb24gaWYgdGhlIHNlbmRlciBwYXJ0IHdhcyBvbWl0dGVkICh0aGUgbGFzdCB0d28gbGluZXMpLgoKMjAxNS0wMy0xOSAxMTo1NDoxMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHNlbmQuYzoKCSAgcnRwcnR4c2VuZDogQWRkIHN1cHBvcnQgZm9yIGJ1ZmZlciBsaXN0cwoKMjAxNS0wMy0xOSAxMTozOTozOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHF1ZXVlLmM6CgkgIHJ0cHJ0eHF1ZXVlOiBJbXBsZW1lbnQgc3VwcG9ydCBmb3IgYnVmZmVyIGxpc3RzCgoyMDE1LTAzLTE4IDE3OjMyOjM2IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IEltcHJvdmUgdHJhY2UgcmVhZGFiaWxpdHkKCSAgQ2hhbmdlIHRoZSBjb21tYW5kIG51bWJlciBpbnRvIHN0cmluZ3MuCgoyMDE1LTAxLTIwIDEwOjE4OjU2ICswMTAwICBKYW4gQWxleGFuZGVyIFN0ZWZmZW5zIChoZWZ0aWcpIDxqc3RlZmZlbnNAbWFrZS50dj4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5oOgoJICBmbHZkZW11eDogRG9uJ3QgcmVwZWF0ZWRseSB3YXJuIGFmdGVyIG5vX21vcmVfcGFkcyAodjIpCgkgIFRoaXMgY2FuIGdldCByYXRoZXIgc3BhbW15IGZvciBzdWNoIGEgaGlnaCBsb2cgbGV2ZWwuCgkgIE9ubHkgd2FybiBvbmNlIHBlciBzdHJlYW0uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDYyNzQKCjIwMTUtMDMtMTYgMTE6MjM6NTIgKzAxMDAgIEphbiBBbGV4YW5kZXIgU3RlZmZlbnMgKGhlZnRpZykgPGpzdGVmZmVuc0BtYWtlLnR2PgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHZkZW11eDogSW50cm9kdWNlIGNvbnN0YW50IGZvciBuby1tb3JlLXBhZHMgdGhyZXNob2xkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDYyNzQKCjIwMTUtMDEtMjAgMTA6MTg6MjkgKzAxMDAgIEphbiBBbGV4YW5kZXIgU3RlZmZlbnMgKGhlZnRpZykgPGpzdGVmZmVuc0BtYWtlLnR2PgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHZkZW11eDogRml4IHdhcm5pbmcgdG8gY29udGFpbiAndmlkZW8nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDYyNzQKCjIwMTUtMDMtMTEgMjE6MjU6NDAgKzAxMDAgIE5pY29sYSBNdXJpbm8gPG5pY29sYS5tdXJpbm9AZ21haWwuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuaDoKCSAgbWF0cm9za2FkZW11eDogZm9yIGR0cyBvbmx5IHN0cmVhbSBzZXQgcHRzPWR0cyBmb3IgaW50cmEgb25seSBmb3JtYXRzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDUxOTIKCjIwMTUtMDMtMTQgMTY6Mzk6MDkgKzAxMDAgIFJhbWlybyBQb2xsYSA8cmFtaXJvLnBvbGxhQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSAgbWF0cm9za2FkZW11eDogZml4IHNlbmRpbmcgb2YgdGFncwoJICAqIEZpeCBjcml0aWNhbCB3aGVuIG5ldyB0YWdzIGFyZSBmb3VuZCBhZnRlciBzZWdtZW50IGV2ZW50IGhhcyBhbHJlYWR5CgkgIGJlZW4gc2VudC4KCSAgKiBTZW5kIGdsb2JhbCB0YWdzIGJlZm9yZSBzdHJlYW0gdGFncy4KCSAgKiBTcGxpdCBzZW5kaW5nIG9mIHRhZ3Mgb3V0IG9mIGdzdF9tYXRyb3NrYV9kZW11eF9zZW5kX2V2ZW50KCkgaW50byBpdHMKCSAgb3duIGZ1bmN0aW9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1OTczCgoyMDE1LTAzLTEzIDE4OjI2OjA2ICswMDAwICBSYW1pcm8gUG9sbGEgPHJhbWlyby5wb2xsYUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IHByb3Blcmx5IGVzY2FwZSBwZXJjZW50IHNpZ24gaW4gZG9jdW1lbnRhdGlvbgoKMjAxNS0wMy0xMyAxODoyNjo0NCArMDAwMCAgUmFtaXJvIFBvbGxhIDxyYW1pcm8ucG9sbGFAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwZHRtZm11eC5jOgoJICBydHBkdG1mbXV4OiBwcm9wZXJseSBlc2NhcGUgcGVyY2VudCBzaWduIGluIGRvY3VtZW50YXRpb24KCjIwMTUtMDMtMTMgMTg6NDg6MDMgKzAwMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5oOgoJICB2NGwyc3JjOiBkZWxheSByZW5lZ290aWF0aW9uIHVudGlsIGl0IGlzIGxpa2VseSBidWZmZXJzIHdlcmUgcmVjbGFpbWVkCgkgIEFsbG93IHJlbmVnb3RpYXRpb24gdG8gaGFwcGVuIHdoZW4gYnVmZmVycyBoYXZlIHJldHVybmVkIGFmdGVyIGFuIGFsbG9jYXRpb24KCSAgcXVlcnkuIEFzIHRoZSBhbGxvY2F0aW9uIHF1ZXJ5IGlzIHNlcmlhbGl6ZWQsIGFsbCBidWZmZXJzIGZyb20gdGhlIHBvb2wKCSAgc2hvdWxkIGhhdmUgcmV0dXJuZWQgYW5kIHdlIGNhbiBzdG9wIGl0IHRvIGNyZWF0ZSBhIG5ldyBvbmUgZm9yIHRoZQoJICBuZXcgZm9ybWF0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODI3NzAKCjIwMTUtMDMtMTMgMTg6NDc6NTUgKzAwMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJICB2NGwyb2JqZWN0OiBhZGQgZ3N0X3Y0bDJfb2JqZWN0X3RyeV9mb3JtYXQKCSAgU2ltaWxhciB0byBzZXRfZm9ybWF0IGJ1dCBpdCB1c2VzIFRSWV9GTVQgaW5zdGVhZCBvZiBTX0ZNVAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgyNzcwCgoyMDE1LTAzLTEzIDE4OjM4OjQyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSAgbXVsdGl1ZHBzaW5rOiBmaXggY3Jhc2ggd2l0aCBHU1RfREVCVUcgZW5hYmxlZAoJICBnX2luZXRfc29ja2V0X2FkZHJlc3NfZ2V0X2FkZHJlc3MoKSBkb2VzIG5vdCBnaXZlCgkgIHVzIGEgcmVmIHRvIHRoZSBhZGRyZXNzLCBzbyBkb24ndCB1bnJlZiBpdC4KCjIwMTUtMDMtMTIgMTM6NDk6NTYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzoKCSAgbGV2ZWw6IERvbid0IHJlYWQgb3ZlciB0aGUgZW5kIG9mIHRoZSBpbnB1dCBtZW1vcnkKCSAgUHJldmlvdXNseSB3ZSBhZHZhbmNlZCB0aGUgaW5fZGF0YSBwb2ludGVyIGJ5IGJwcyBmb3IgZXZlcnkgY2hhbm5lbCwgYW5kIHRoZW4KCSAgbGF0ZXIgYWdhaW4gZm9yIGJsb2NrX3NpemUqYnBzLiBUaGlzIGNhdXNlZCB1cyB0byBiZSBvbmUgc2FtcGxlIGZ1cnRoZXIgdGhhbgoJICBleHBlY3RlZCBpZiBhbiBpbnB1dCBidWZmZXIgY292ZXJlZCB0d28gYW5hbHlzaXMgZnJhbWVzLiBBbmQgaW4gdGhlIGVuZCBsZWFkCgkgIHRvIGNvbXBsZXRlbHkgYm9ndXMgdmFsdWVzIHJlcG9ydGVkIGJ5IGxldmVsLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ2MDY1CgoyMDE1LTAzLTEyIDAxOjM3OjA4ICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9vc3MvZ3N0b3NzZG1hYnVmZmVyLmM6CgkgIFJlbW92ZSBhIGNvdXBsZSBvZiBzdXBlcmZsdW91cyB0cmFpbGluZyBzZW1pLWNvbG9ucwoKMjAxNS0wMy0xMCAwOTozMToyMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdHB1c2hmaWxlc3JjLmM6CgkqIGdzdC9pc29tcDQvZ3N0aXNvZmYuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9yaW5nYnVmZmVyLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hjb3JlYXVkaW9jb21tb24uYzoKCSAgRml4IGRvdWJsZSBzZW1pY29sb25zCgoyMDE1LTAzLTEwIDE1OjQ2OjQwICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzcmMuYzoKCSAgc3BsaXRtdXg6IFNodXQgZG93biBlbGVtZW50IGJlZm9yZSBkb3dud2FyZCBzdGF0ZSBjaGFuZ2UKCSAgTWFrZSBzdXJlIHRoZSBzdGF0ZSBjaGFuZ2Ugd29uJ3QgaGFuZyB0cnlpbmcgdG8gc2h1dCBkb3duIHBhZHMKCSAgYnkgbWFraW5nIHN1cmUgdGhlIHN0cmVhbWluZyBoYXMgc3RvcHBlZCBiZWZvcmUgY2hhaW5pbmcgdXAuCgoyMDE1LTAzLTA5IDIyOjU4OjA1ICswMjAwICBJbHlhIEtvbnN0YW50aW5vdiA8aWx5YS5rb25zdGFudGlub3ZAZ21haWwuY29tPgoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGNvcmVhdWRpby5oOgoJICBvc3hhdWRpbzogc3RyZWFtIGZvcm1hdCBpcyBhbiBTUERJRi1vbmx5IGZpZWxkCgoyMDE1LTAzLTA5IDIyOjUzOjQxICswMjAwICBJbHlhIEtvbnN0YW50aW5vdiA8aWx5YS5rb25zdGFudGlub3ZAZ21haWwuY29tPgoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc3JjLmg6CgkgIG9zeGF1ZGlvOiBmaXggc3BhY2VzCgoyMDE1LTAzLTA5IDIyOjUyOjQ2ICswMjAwICBJbHlhIEtvbnN0YW50aW5vdiA8aWx5YS5rb25zdGFudGlub3ZAZ21haWwuY29tPgoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc3JjLmg6CgkgIG9zeGF1ZGlvOiBhZGQgdHlwZSBjaGVjayBtYWNybwoKMjAxNS0wMy0wOSAyMjo1MTo1MSArMDIwMCAgSWx5YSBLb25zdGFudGlub3YgPGlseWEua29uc3RhbnRpbm92QGdtYWlsLmNvbT4KCgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hjb3JlYXVkaW9jb21tb24uYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGNvcmVhdWRpb2NvbW1vbi5oOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4Y29yZWF1ZGlvaGFsLmM6CgkgIG9zeGF1ZGlvOiByZW5hbWUgZ3N0X2NvcmVfYXVkaW9fc2V0X2NoYW5uZWxzX2xheW91dCgpCgkgIHRvIGdzdF9jb3JlX2F1ZGlvX2dldF9jaGFubmVsX2xheW91dCgpLgoKMjAxNS0wMy0wOSAyMjozMDoyOCArMDIwMCAgSWx5YSBLb25zdGFudGlub3YgPGlseWEua29uc3RhbnRpbm92QGdtYWlsLmNvbT4KCgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3JpbmdidWZmZXIuYzoKCSAgb3N4YXVkaW86IHJlbW92ZSB1bnVzZWQgZmluYWxpemUKCjIwMTUtMDMtMDkgMTY6MjU6NDMgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBleHQvdnB4L2dzdHZwOWVuYy5jOgoJICB2cDllbmM6IHJlbW92ZSBkdXBsaWNhdGUgZGVjbGFyYXRpb24gb2YgZnVuY3Rpb24KCjIwMTUtMDMtMDkgMTY6MjI6MjkgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOgoJICBydHBoMjY0ZGVwYXk6IHJlbW92ZSB1bnVzZWQgdmFsdWUKCSAgQ0lEICMxMjI2NDc0CgoyMDE1LTAzLTA5IDE2OjE0OjM0ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGF5LmM6CgkgIHJ0cGgyNjNwYXk6IGZpeCBsZWFrCgkgIENJRCAxMjEyMTU2CgoyMDE1LTAzLTA5IDE1OjU4OjMzICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGF5LmM6CgkgIHJ0cGgyNjNwYXk6IHJlbW92ZSB1bmVlZGVkIHZhcmlhYmxlCgkgIFdlIGp1c3QgbmVlZCB0byBzYXZlIHRoZSBlYml0IGluZm9ybWF0aW9uIGluIGNhc2UgdGhlcmUgaXMgYW4gZXJyb3IgZGVjb2RpbmcuCgoyMDE1LTAzLTA5IDE2OjQ2OjAyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3ZweC9nc3R2cDhlbmMuYzoKCSogZXh0L3ZweC9nc3R2cDllbmMuYzoKCSAgdnBbODldZW5jOiBSZXNldCB0aGUgZW5jb2RlciB3aGVuIGZsdXNoaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDU3MDQKCjIwMTUtMDMtMDkgMTI6NTE6MTcgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSAgbWF0cm9za2E6IGVycm9yIG1vZGUgaWYgY2FuJ3QgcHVzaCBidWZmZXIKCSAgSWYgZ3N0X3BhZF9wdXNoKCkgZmFpbHMsIGluZm9ybSBhbmQgcmV0dXJuIGZsb3cgZXJyb3IuCgoyMDE1LTAzLTA5IDEyOjEzOjM0ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmM6CgkgIG1hdHJvc2thOiB1bnVzZWQgdmFsdWUKCSAgVmFsdWUgc2V0IGluIHJldCB3aWxsIGJlIG92ZXJ3cml0dGVuIGp1c3QgYmVmb3JlIGV4aXRpbmcgdGhlIGZ1bmN0aW9uLgoJICBDSUQgIzEyMjY0NjkKCjIwMTUtMDMtMDkgMTE6MTA6MzUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBEcm9wIHBhY2tldHMgd2l0aCBzZXF1ZW5jZSBudW1iZXJzIGJlZm9yZSB0aGUgc2VxbnVtLWJhc2UKCSAgVGhlc2UgYXJlIG91dHNpZGUgdGhlIGV4cGVjdGVkIHJhbmdlIG9mIHNlcXVlbmNlIG51bWJlcnMgYW5kIHNob3VsZCBiZQoJICBjbGlwcGVkLCBlc3BlY2lhbGx5IGZvciBSVFNQIHRoZXkgbWlnaHQgYmVsb25nIHRvIHBhY2tldHMgZnJvbSBiZWZvcmUgYSBzZWVrCgkgIG9yIGEgcHJldmlvdXMgc3RyZWFtIGluIGdlbmVyYWwuCgoyMDE0LTAyLTI3IDEwOjUyOjE2ICswMTAwICBMaW51cyBTdmVuc3NvbiA8bGludXNzbkBheGlzLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogRG9uJ3QgaW5jbHVkZSBwYXlsb2FkIHR5cGUgaW4gdGhlIGNhcHMgZm9yIGZyYW1lc2l6ZQoJICBXaGVuIHRoZSBzZHAgbWVkaWEgYXR0cmlidXRlIGZyYW1lc2l6ZSBhcmUgY29udmVydGVkIHRvIGNhcHMKCSAgdGhlIDxwYXlsb2FkPiBzaG91bGQgbm90IGJlIGluY2x1ZGVkLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI1MzM1CgoyMDE1LTAzLTA5IDEwOjA1OjE0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogRG9uJ3QgZm9yZ2V0IHRvIHVubG9jayB0aGUgbXV0ZXggd2hlbiByZWNlaXZpbmcgR0FQcyBpbiBUQ1Agc3RyZWFtcwoKMjAxNS0wMy0wOSAxMToyNDo1OCArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogTWFrZSBzdXJlIHRvIGZpbHRlciBjYXBzIGluIGFsbCBjYXNlcyBkdXJpbmcgQ0FQUyBxdWVyeQoJICBXZSB3ZXJlIHNraXBwaW5nIHRoZSBmaWx0ZXIgc3RlcCB3aGlsZSByZXR1cm5pbmcgdGVtcGxhdGUgY2FwcywgZm9yCgkgIGV4YW1wbGUuCgoyMDE1LTAzLTA4IDIxOjE1OjUzICswMDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyYnVmZmVycG9vbDogRG9uJ3QgdXBkYXRlIGJ1ZmZlciBmb3IgT1VUUFVUCgkgIEZvciBvdXRwdXQgZGV2aWNlLCB3ZSBzaG91bGQgbm90IHVwZGF0ZSB0aGUgYnVmZmVyIHdpdGggZmxhZ3MgYW5kCgkgIHRpbWVzdGFtcCB3aGVuIHdlIGRlcXVldWUuIFRoZSBpbmZvcm1hdGlvbiBpbiB0aGUgdjRsMl9idWZmZXIgaXMgbm90CgkgIG1lYW5pbmdmdWwgYW5kIGl0IGJyZWFrcyB0aGUgY2FzZSB3aGVyZSB0aGUgYnVmZmVyIGlzIHJlbmRlcmVkIGF0CgkgIG11bHRpcGxlIHBsYWNlcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTQzOAoKMjAxNS0wMy0wOCAxODowNDozNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwY2xpZW50c2luay5jOgoJICBzb3VwaHR0cGNsaWVudHNpbms6IEltcGxlbWVudCBjb29raWVzIHByb3BlcnR5CgoyMDE1LTAzLTA4IDE4OjAyOjUxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBjbGllbnRzaW5rLmM6CgkgIHNvdXBodHRwY2xpZW50c2luazogSW1wbGVtZW50IGF1dG9tYXRpYy1yZWRpcmVjdCBwcm9wZXJ0eQoKMjAxNS0wMy0wOCAxNzo1NDowNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwY2xpZW50c2luay5jOgoJICBzb3VwaHR0cGNsaWVudHNpbms6IEltcGxlbWVudCBwcm94eSBzdXBwb3J0CgkgIFRoZSBwcm9wZXJ0aWVzIHdlcmUgdGhlcmUgYmVmb3JlLCBidXQgbm90IHVzZWQgYW55d2hlcmUuCgoyMDE1LTAyLTIxIDIwOjA1OjI0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtbmF1d0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiByZXN1cnJlY3Qgc29tZSBmbG93IHJldHVybiBoYW5kbGluZwoKMjAxNS0wMy0wNCAxMDoyNzoxNyArMDEwMCAgTmljb2xhcyBIdWV0IDxuaWNvbGFzLmh1ZXRAcGFycm90LmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSAgYWFjcGFyc2U6IGZpeCBMT0FTIHBhcnNpbmcgaXNzdWUKCSAgRml4IG1pc3NpbmcgaW5kZXggaW4gc3luY3dvcmQgc2VhcmNoaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDU1ODUKCjIwMTUtMDMtMDUgMTc6NTQ6NDMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSAgZGlyZWN0c291bmRzaW5rOiBmaXggbW9kdWxvIG1hdGggd2l0aCByaW5nYnVmZmVyIHBhcmFtZXRlcnMKCSAgVG8gZ2V0IGEgbXVsdGlwbGUgb2YgYnBmIHVzZSBhIHN1YnRyYWN0aW9uIGFuZCBub3QgYW4gYWRkaXRpb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTY4NAoKMjAxNS0wMy0wNyAwMDo1NTo0NyArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c2luay5jOgoJICBzcGxpdG11eHNpbms6IFByb3RlY3QgcHJvcGVydHkgdmFyaWFibGVzIHdpdGggdGhlIG9iamVjdCBsb2NrLgoJICBVc2UgdGhlIG9iamVjdCBsb2NrIGluc3RlYWQgb2YgdGhlIHNwbGl0bXV4IGxvY2sgdG8gcHJvdGVjdAoJICBpbnRlcm5hbCBwcm9wZXJ0eSB2YXJpYWJsZXMsIHNvIHRoZXkncmUgbm90IGxvY2tlZCB3aGVuCgkgIHN3aXRjaGluZyB0byBhIG5ldyBmaWxlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ0NDIwCgoyMDE1LTAzLTA2IDExOjM5OjM5ICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBjaGVjazogYWRkIGppdHRlcmJ1ZmZlciB1bml0IHRlc3QKCSAgU2VlIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDU1MzkKCjIwMTUtMDMtMDUgMDk6MTg6NTIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IEZpeCBoYW5kbGluZyBvZiBpbnRlcmxlYXZlZCAoVENQKSBzdHJlYW1zCgkgIFdlIG5lZWQgdG8gc2V0IHVwIHRoZSB0cmFuc3BvcnQgaW4gYW55IGNhc2UsIG5vdCBqdXN0IGlmIHdlIGhhdmUgYSBjb250YWluZXIKCSAgc3RyZWFtIG9yIGEgbm9uLWludGVybGVhdmVkIHN0cmVhbS4gT25seSBpZiB3ZSBoYXZlIGFuIGludGVybGVhdmVkIHN0cmVhbSBhbmQKCSAgYXJlIHJldHJ5aW5nLCB3ZSBzaG91bGQgbm90IHNldCB1cCB0aGUgc3RyZWFtIGFnYWluLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1NTk5CgoyMDE1LTAzLTA1IDEwOjAwOjMzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3ZweC9nc3R2cDhkZWMuYzoKCSogZXh0L3ZweC9nc3R2cDlkZWMuYzoKCSAgdnBbODldZGVjOiBEcm9wIGZyYW1lcyB0aGF0IGhhdmUgbm8gb3V0cHV0IGJ1ZmZlciBiZWNhdXNlIG9mIGVycm9ycwoJICBmaW5pc2hfZnJhbWUoKSBhc3N1bWVzIHRoYXQgdGhlcmUgaXMgYW4gb3V0cHV0IGJ1ZmZlci4KCjIwMTUtMDMtMDUgMDk6NTY6MjMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IERvbid0IHVucmVmIGNhcHMgd2UgZG9uJ3Qgb3duCgoyMDE1LTAzLTA1IDA5OjQ2OjE3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBQdXNoIFJUQ1AgY2FwcyBvbiB0aGUgUlRDUCBwYWRzCgkgIE90aGVyd2lzZSB3ZSB3aWxsIGdldCBub3QtbmVnb3RpYXRlZCBsYXRlciBmcm9tIHJ0cGJpbiwgYW5kIHdpbGwgbmV2ZXIgYmUgYWJsZQoJICB0byBzZW5kIFJUQ1AgcGFja2V0cyBiYWNrIHRvIHRoZSBzZXJ2ZXIuIE5vdGUgdGhhdCBlcnJvciBmbG93IHJldHVybnMgZnJvbSB0aGUKCSAgUlRDUCBwYWRzIGFyZSBpZ25vcmVkLCB0aGF0J3Mgd2h5IGl0IGRpZG4ndCBmYWlsIG1vcmUgdmlzaWJsZSBiZWZvcmUuCgoyMDE1LTAzLTA1IDA5OjM1OjMyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBNYWtlIHN1cmUgdG8gc2VuZCBTRUdNRU5UIGV2ZW50cyBvbiBhbGwgcGFkcwoKMjAxNS0wMy0wMyAxNjoyMzoxNSArMDEwMCAgU2FudGlhZ28gQ2Fyb3QtTmVtZXNpbyA8c2FuY2FuZUBnbWFpbC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5oOgoJICBydHA6IEFkZCBGdWxsIEludHJhIFJlcXVlc3QgKEZJUikgcGFja2V0cyB0byBzdGF0aXN0aWNzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDU1ODcKCjIwMTUtMDMtMDMgMTY6MDE6NTMgKzAxMDAgIFNhbnRpYWdvIENhcm90LU5lbWVzaW8gPHNhbmNhbmVAZ21haWwuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc3RhdHMuaDoKCSAgcnRwOiBBZGQgUGFja2V0IExvc3MgSW5kaWNhdGlvbiAoUExJKSB0byBzdGF0aXN0aWNzCgkgIFRoaXMgaXMgaGVscGZ1bCB0byBwcm92aWRlIHN0YXRpc3RpY3MgaW4gdGhlIGZvcm1hdCBkZWZpbmVkIGluCgkgIGh0dHA6Ly93M2MuZ2l0aHViLmlvL3dlYnJ0Yy1zdGF0cy8jZGljdGlvbmFyeS1ydGNydHBzdHJlYW1zdGF0cy1tZW1iZXJzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1NTg3CgoyMDE1LTAzLTAzIDE5OjE5OjUwICswMTAwICBOaWNvbGEgTXVyaW5vIDxuaWNvbGEubXVyaW5vQGdtYWlsLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5oOgoJICBtYXRyb3NrYW11eDogUmVtb3ZlIGR1cmF0aW9uIGFjY3VtdWxhdGlvbiBsb2dpYwoJICBEdXJhdGlvbiBhY2N1bXVsYXRpb24gY2FuIGNhdXNlIHJvdW5kaW5nIGVycm9ycyBhbmQgZ2VuZXJhdGUgd3JvbmcKCSAgZHVyYXRpb24gd2l0aCBkaWZmZXJlbnQgYnVmZmVycyB0aGF0IHNoYXJlIHRoZSBzYW1lIHRpbWVzdGFtcC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTE5MgoKMjAxNS0wMy0wMyAxODo0MDoxNiArMDEwMCAgTmljb2xhIE11cmlubyA8bmljb2xhLm11cmlub0BnbWFpbC5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmg6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2E6IEFkZCBhbiBoZWxwZXIgbWV0aG9kIHRvIGdldCBidWZmZXIgdGltZXN0YW1wcwoJICAuLi4gYW5kIHJlcGxhY2UgR1NUX0JVRkZFUl9USU1FU1RBTVAgdGhhdCBhbHdheXMgcmV0dXJuIFBUUyB3aXRoIHRoaXMgbWV0aG9kCgkgIHRoYXQgcmV0dXJuIFBUUyBvciBEVFMgYmFzZWQgb24gc3RyZWFtIHR5cGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDUxOTIKCjIwMTUtMDMtMDQgMTE6Mjg6MTIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IEFkZCBleHBsYW5hdGlvbiB3aHkgd2UgaGF2ZSBzcGFjZSBmb3IgMzIgaGFzaCB0YWJsZXMKCSAgQW5kIGFsc28gY3JlYXRlIG9ubHkgb25lLCB0aGVyZSdzIG5vIG5lZWQgeWV0IHRvIGNyZWF0ZSBhbGwgMzIgdW50aWwKCSAgd2UgaW1wbGVtZW50IFJGQzI3NjIuCgoyMDE1LTAzLTA0IDExOjI2OjU3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIFJldmVydCAicnRwc2Vzc2lvbjogRG8gbm90IHVzZSBhbiBhcnJheSBvZiBtYXBzIGlmIHRoZXkgYXJlIG5vdCBiZWluZyB1c2VkIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDE1OTFhZGY0Y2Q4NDNkMTNkODYyMmEzMGM2MTk0MjU2OTFhODQxMjguCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDU1ODYjYzE6CgkgIEl0J3MgdGhlIGJlZ2lubmluZyBvZiBhbiBpbXBsZW1lbnRhdGlvbiBvZiBSRkMgMjc2Miwgd2hpY2ggaXMgbmVlZGVkIGZvcgoJICBsYXJnZSBtdWx0aWNhc3QgZ3JvdXBzLiBUaGUgaW1wbGVtZW50YXRpb24gaXMgbm90IHlldCBjb21wbGV0ZSBidXQgd2h5CgkgIG5vdCBsZWF2ZSB3aGF0IGlzIHRoZXJlIGFuZCBpbXBsZW1lbnQgUkZDIDI3NjIgaW5zdGVhZD8KCjIwMTUtMDMtMDQgMTA6MzU6MTIgKzAxMDAgIFNhbnRpYWdvIENhcm90LU5lbWVzaW8gPHNhbmNhbmVAZ21haWwuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIHJ0cHNlc3Npb246IERvIG5vdCB1c2UgYW4gYXJyYXkgb2YgbWFwcyBpZiB0aGV5IGFyZSBub3QgYmVpbmcgdXNlZAoJICBydHBzZXNzaW9uIGRlY2xhcmVzIGFuIGFycmF5IG9mIG1hcHMgdG8gc3RvcmUgc3JyY3MgYnV0IG9ubHkgdGhlCgkgIHRoZSBrZXkgMCBpcyBiZWluZyB1c2VkLiBUaGlzIHBhdGNoIHJlcGxhY2VzIHRoZSBhcnJheSBvZiBtYXBzCgkgIGZvciBqdXN0IG9uZSBtYXAgYW5kIHJlbW92ZSB1c2VsZXNzIHBhcmFtZXRlcnMgaW4gcnRwc2Vzc2lvbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1NTg2CgoyMDE1LTAyLTI3IDE4OjEyOjA5ICswOTAwICBKaW1teSBPaG4gPHlvbmdqaW4ub2huQGxnZS5jb20+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiByZW1vdmUgbm90IG5lZWRlZCBjb2RlCgkgIEluIGdzdF9hdmlfZGVtdXhfaGFuZGxlX3NyY19xdWVyeSwgdGhlcmUgaXMgbm90IG5lZWRlZCBjb2RlLgoJICBXZSBhbHJlYWR5IGNoZWNrIGFib3V0IHN0cmVhbSBpcyB2YnIgb3Igbm90IGF0IHRoZSB1cHBlciBsaW5lLgoJICBvLCB3ZSBkb24ndCBuZWVkIHRvIGNoZWNrIHRoaXMgY29uZGl0aW9uIGJlY2FzZSBzdHJlYW0gaXMgbm90CgkgIHZiciAxMDAlIGluIHRoaXMgY2FzZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTI3NgoKMjAxNS0wMy0wMyAyMzoyNTozNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2ljbGVzL2dka3BpeGJ1Zm92ZXJsYXktdGVzdC5jOgoJICB0ZXN0czogZ2RrcGl4YnVmb3ZlcmxheS10ZXN0OiByZXBsYWNlIGRlcHJlY2F0ZWQgZnVuY3Rpb24KCSAgSnVzdCBhdm9pZCB1c2luZyB0aGUgZGVwcmVjYXRlZCBmdW5jdGlvbiBlbnRpcmVseSwKCSAgaXQncyBlYXN5IGVub3VnaC4gRGVmaW5pbmcgdGhlIG1hY3JvIGlzIG5vdCBlbm91Z2guCgoyMDE1LTAzLTAzIDE5OjA0OjQ4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvaWNsZXMvZ2RrcGl4YnVmb3ZlcmxheS10ZXN0LmM6CgkgIHRlc3RzOiBnZGtwaXhidWZvdmVybGF5LXRlc3Q6IGZpeCBjb21waWxhdGlvbiBhZ2FpbnN0IG5ld2VyIGdkay1waXhidWYKCSAgZ2RrX3BpeGJ1Zl9uZXdfZnJvbV9pbmxpbmUoKSBoYXMgYmVlbiBkZXByZWNhdGVkIGluIGZhdm91cgoJICBvZiBHUmVzb3VyY2UuCgoyMDE1LTAzLTAzIDE4OjM5OjE1ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NyYy5jOgoJICBvc3hhdWRpb3NyYzogQWxsb3cgY2FwcyByZW5lZ290aWF0aW9uCgkgIFRoZSByaW5nYnVmZmVyIGRvZXMgYWxsb3cgcmVuZWdvdGlhdGlvbiwgc28gd2UgZG8gbm90IGhhdmUgdG8gcmVwb3J0CgkgIGZpeGVkIGNhcHMgb25jZSBpdCBpcyBhY3F1aXJlZCAoYmFzZWQgb24gYSBzaW1pbGFyIHBhdGNoIGZvciB0aGUgc2luawoJICBzaWRlIGJ5IElseWEgS29uc3RhbnRpbm92IDxpbHlhLmtvbnN0YW50aW5vdkBnbWFpbC5jb20+KS4KCjIwMTUtMDItMjEgMTQ6NDE6MDggKzAyMDAgIElseWEgS29uc3RhbnRpbm92IDxpbHlhLmtvbnN0YW50aW5vdkBnbWFpbC5jb20+CgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zaW5rLmM6CgkgIG9zeGF1ZGlvc2luazogQWxsb3cgcmVuZWdvdGlhdGluZyBjYXBzCgkgIE9uY2Ugb3N4YXVkaW9zaW5rJ3MgZGV2aWNlIGlzIG9wZW4sIGl0IGZpeGF0ZXMgb24gdGhlIGluaXRpYWwgY2FwcyBhbmQKCSAgcmVmdXNlcyB0byBhY2NlcHQgbmV3IGNhcHMuIFRoaXMgaXMgZXJyb25lb3VzIHNpbmNlIHRoZSBBdWRpbyBVbml0IGlzCgkgIGNhbiBhY2NlcHQgYSBuZXcgQVNCRCwgYW5kIEdzdEF1ZGlvUmluZ0J1ZmZlciBzdXBwb3J0cyByZWNvbmZpZ3VyYXRpb24KCSAgYXMgd2VsbC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MzkyNQoKMjAxNS0wMy0wMiAxMjowNDowMCArMDEwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMmFsbG9jYXRvcjogZml4IGZkIGxlYWsgaW4gRE1BQlVGIGltcG9ydCBtb2RlLgoJICBFbnN1cmUgZ3N0X3Y0bDJfYnVmZmVyX3Bvb2xfcmVsZWFzZV9idWZmZXIoKSByZWxlYXNlcyB0aGUgYXNzb2NpYXRlZAoJICBHc3RWNGwyTWVtb3J5R3JvdXAuIEluIHBhcnRpY3VsYXIsIHRoaXMgYWxsb3dzIGZvciBjbG9zaW5nIHRoZSBETUFCVUYKCSAgaGFuZGxlcyBwcmlvciB0byBpbnN0YW50aWF0aW5nIG5ldyBvbmVzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1NDQzCgoyMDE1LTAzLTAyIDE1OjA2OjA5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3ZweC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiBVc2UgMCBhcyBkdXJhdGlvbiBmb3IgdGhlIEVPUyAiZnJhbWUiCgoyMDE1LTAzLTAyIDE1OjAyOjIwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3ZweC9nc3R2cDhlbmMuYzoKCSogZXh0L3ZweC9nc3R2cDhlbmMuaDoKCSogZXh0L3ZweC9nc3R2cDllbmMuYzoKCSogZXh0L3ZweC9nc3R2cDllbmMuaDoKCSAgdnB7OCw5fWVuYzogVGVsbCB0aGUgZW5jb2RlciBhYm91dCBhY3R1YWwgdGltZXN0YW1wcyBhbmQgZHVyYXRpb25zIG9mIGZyYW1lcwoJICAuLi4gaW5zdGVhZCBvZiBqdXN0IGNvdW50aW5nIGZyYW1lcy4gVGhlIHZhbHVlcyBhcmUgc3VwcG9zZWQgdG8gYmUgaW4gdGltZWJhc2UKCSAgdW5pdHMsIG5vdCBmcmFtZSB1bml0cy4gVGhpcyBmaXhlcyB2YXJpb3VzIHF1YWxpdHkgcHJvYmxlbXMgd2l0aCBWUDgvVlA5CgkgIGVuY29kaW5nIGFuZCBpbiBnZW5lcmFsIG1ha2VzIHRoZSBlbmNvZGVyIGJlaGF2ZSBiZXR0ZXIuCgkgIFRoYW5rcyB0byBOaXJiaGVlayBDaGF1aGFuIGZvciBub3RpY2luZyB0aGlzIGJ1Zy4KCjIwMTUtMDMtMDEgMTM6NTY6MTcgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZweC9nc3R2cDhkZWMuYzoKCSogZXh0L3ZweC9nc3R2cDlkZWMuYzoKCSAgdnB4ZGVjOiBGaXggY2FsY3VsYXRpb24gb2Ygd2lkdGggaW4gYnl0ZXMKCSAgUmlnaHQgbm93IHdlIG9ubHkgc3VwcG9ydCBJNDIwLCBidXQgdnB4IHNlZW1zIHRvIHN1cHBvcnQgbW9yZSBmb3JtYXRzLgoJICBUaGlzIHdpbGwgcHJldmVudCBoYXJkIHRvIGZpbmQgYnVnIGluIHRoZSBmdXR1cmUuCgoyMDE1LTAzLTAxIDEzOjUyOjUwIC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cHgvZ3N0dnA4ZGVjLmM6CgkqIGV4dC92cHgvZ3N0dnA5ZGVjLmM6CgkgIHZweGRlYzogRG9uJ3QgbWVtY3B5IGluIGZyYW1lIG1hcCBmYWlsZWQKCSAgVGhpcyBhdm9pZCBhIGNyYXNoIGlmIG1hcHBpbmcgdGhlIGZyYW1lIGZhaWxlZC4KCjIwMTUtMDMtMDEgMTM6NDg6NDUgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMmJ1ZmZlcnBvb2w6IEFkZCBtaXNzaW5nIGJyZWFrCgkgIFRoaXMgaXMgY29zbWV0aWMgY2hhbmdlLgoKMjAxNS0wMy0wMSAxMzo0NjoxOCAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5oOgoJICB2NGwyOiBXb3JrYXJvdW5kIGRyaXZlciBub3Qgc2V0dGluZyBmaWVsZCBjb3JyZWN0bHkKCSAgQXMgaXQncyB2ZXJ5IGNvbW1vbiwgaGFuZGxlIGRyaXZlciBub3Qgc2V0dGluZyBmaWVsZCBpbiBidWZmZXJzCgkgIGJ5IHVzaW5nIHRoZSBmaWVsZCB2YWx1ZSBmcm9tIHRoZSBmb3JtYXQuIFRoaXMgd29ya2Fyb3VuZCBhIGxvbmcgdGltZQoJICBidWcgaW4gVVZDIGRyaXZlci4gRm9yIGV2ZW4gYnVnZ2llciBkcml2ZXIsIHdlIHNpbXBseSBhc3N1bWUKCSAgcHJvZ3Jlc3NpdmUgYXMgYmVmb3JlLiBXZSBhbHNvIG9ubHkgd2FybiBvbmNlLCB0byBhdm9pZCBzcGFtbWluZy4KCjIwMTUtMDItMjggMTg6MTA6MDYgKzAxMDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZml4IGtleSB1bml0IHNlZWsKCSAgVW5saWtlIG1hbnkgb3RoZXIgc2VlayBmbGFncywgdGhlIEtFWV9VTklUIHNlZWsKCSAgZmxhZyBpcyBub3QgY29waWVkIG92ZXIgaW50byB0aGUgR3N0U2VnbWVudCwKCSAgc2luY2UgaXQncyBvbmx5IHJlbGV2YW50IGZvciB0aGUgc2VlayBpdHNlbGYsCgkgIHNvIHdlIG5lZWQgdG8gcGFzcyBpdCBleHBsaWNpdGx5IHRvIHRoZSBzZWVrCgkgIGhhbmRsZXIgaGVyZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTMzOQoKMjAxNS0wMi0yNyAwOTozODowMSArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlzb21wNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSAgZG9jcy9wbHVnaW5zOiBVcGRhdGVzCgoyMDE1LTAyLTI2IDIzOjQxOjQ3ICswMTAwICBOaWNvbGEgTXVyaW5vIDxuaWNvbGEubXVyaW5vQGdtYWlsLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4L2RlbXV4OiBpbml0aWFsaXplIGR0c19vbmx5CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDUxOTIKCjIwMTUtMDItMjYgMjM6Mjg6MTEgKzAxMDAgIE5pY29sYSBNdXJpbm8gPG5pY29sYS5tdXJpbm9AZ21haWwuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogc3RvcmUgRFRTIGZvciBWX01TL1ZGVy9GT1VSQ0Mgc3RyZWFtcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1MTkyCgoyMDE1LTAyLTI2IDE5OjQ4OjMzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNpbmsuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNyYy5jOgoJICBtdWx0aWZpbGU6IGF0dGVtcHQgdG8gZml4IGRvY3MgYnVpbGQgaXNzdWUgb24gYnVpbGQgYm90CgoyMDE1LTAyLTI3IDAwOjQxOjQ2ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxnaXRAYXJ1bnJhZ2hhdmFuLm5ldD4KCgkqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzoKCSAgaW50ZXJsZWF2ZTogRHJvcCBjdXN0b20gbGF0ZW5jeSBxdWVyeSBoYW5kbGluZwoJICBUaGlzIGlzIGltcGxlbWVudGVkIGJ5IHRoZSBkZWZhdWx0IHF1ZXJ5IGhhbmRsZXIgbm93LgoKMjAxNS0wMi0yNyAwMDo0MDowNSArMDUzMCAgQXJ1biBSYWdoYXZhbiA8Z2l0QGFydW5yYWdoYXZhbi5uZXQ+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICB2aWRlb21peGVyOiBEcm9wIGN1c3RvbSBsYXRlbmN5IHF1ZXJ5aW5nIGxvZ2ljCgkgIFRoaXMgaXMgbm93IGltcGxlbWVudGVkIGluIHRoZSBkZWZhdWx0IGxhdGVuY3kgcXVlcnkgaGFuZGxlci4KCjIwMTUtMDItMjYgMTY6MTA6NDEgKzAxMDAgIFNlYmFzdGlhbiBSYXNtdXNzZW4gPHNlYnJuQGF4aXMuY29tPgoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNwYXkuYzoKCSAgcnRwdm9yYmlzcGF5OiBmaXggcGF5bG9hZGVyIGRlc2NyaXB0aW9uIGFuZCBhdXRob3IgZS1tYWlsCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDUyMjYKCjIwMTQtMDktMDUgMTY6MzQ6MjYgKzAyMDAgIEF1csOpbGllbiBaYW5lbGxpIDxhdXJlbGllbi56YW5lbGxpQHBhcnJvdC5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkgIHY0bDI6IHF1ZXJ5IGNyb3AgY29uZmlndXJhdGlvbiBhZnRlciBlYWNoIGNhbGwgb2YgU19DUk9QCgkgIFNfQ1JPUCBpb2N0bCBpcyB3cml0ZS1vbmx5IGFuZCB0aGUgZGV2aWNlIGNhbiBhZGp1c3QgY3JvcCByZWN0YW5nbGUgc28KCSAgd2UgcXVlcnkgYmFjayB0aGUgY3JvcCBjb25maWd1cmF0aW9uIGFmdGVyIGVhY2ggU19DUk9QIHRvIGtub3cgd2hhdCBoYXMKCSAgYmVlbiBkb25lLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2MTMzCgoyMDE1LTAyLTI2IDAyOjEyOjE4ICswMTAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuaDoKCSAgbWF0cm9za2FkZW11eDogVl9NUy9WRlcvRk9VUkNDIHN0cmVhbXMgaGF2ZSBEVFMgaW5zdGVhZCBvZiBQVFMKCSAgV2hlbiBzdWNoIHN0cmVhbSBpcyBwcmVzZW50IGRlbXV4ZXIgc2hvdWxkIHNldCBEVFMgb24gYnVmZmVycyBpbnN0ZWFkCgkgIG9mIFBUUy4gVGhpcyBpcyBjb25zaXN0ZW50IHdpdGggaG93IFZMQyBhbmQgbGliYXYvZmZtcGVnIGhhbmRsZSBWRlcKCSAgc3RyZWFtcy4KCSAgU2FtcGxlIGZpbGUKCSAgaHR0cHM6Ly9zMy5hbWF6b25hd3MuY29tL01hdGVqSy9TYW1wbGVzL01hdHJvc2thLVZGVy1EVFMtT25seS5ta3YKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTE5MgoKMjAxNS0wMi0yNSAxNjo0NToxMSAtMDgwMCAgQWxlaXggQ29uY2hpbGxvIEZsYXF1w6kgPGFsZWl4QG9ibG9uZy5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyYnVmZmVycG9vbDogQ2hlY2sgY29ycnVwdGlvbiBmbGFnIG9uIHRoZSByaWdodCBidWZmZXIKCSAgV2Ugd2hlcmUgY2hlY2tpbmcgdGhlIGJ1ZmZlciB3ZSBhcmUgY29weWluZyB0byBpbnN0ZWFkIG9mIHRoZSBidWZmZXIgd2UKCSAgYXJlIGNvcHlpbmcgZnJvbS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MDA0MAoKMjAxNS0wMS0xOSAxNToyOToyNCArMDEwMCAgQXVyw6lsaWVuIFphbmVsbGkgPGF1cmVsaWVuLnphbmVsbGlAcGFycm90LmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogc2V0IGNvbG9yc3BhY2UgaW4gY2FwcyBmb3IgY2FwdHVyZSBkZXZpY2VzCgkgIFRoaXMgaW5mb3JtYXRpb24gaXMgc2V0IGJ5IHRoZSBkcml2ZXIgZm9yIGEgY2FwdHVyZSBkZXZpY2UsIGFuZCBzbyBjb3VsZAoJICBiZSBmb3J3YXJkZWQgdG8gcGlwZWxpbmUgYnkgc2V0dGluZyB0aGUgY29sb3JpbWV0cnkgaW4gY2Fwcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MzE4NgoKMjAxNC0xMC0wNiAxNzozMDowNiArMDIwMCAgQXVyw6lsaWVuIFphbmVsbGkgPGF1cmVsaWVuLnphbmVsbGlAcGFycm90LmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJhbGxvY2F0b3IuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkgIHY0bDJidWZmZXJwb29sOiBmaXggaW1wb3J0X3VzZXJwdHIoKSBpbiBzaW5nbGUtcGxhbmFyIEFQSSB3aGVuIG5fcGxhbmVzID4gMQoJICBJbiB0aGUgVjRMMiBzaW5nbGUtcGxhbmFyIEFQSSwgd2hlbiBmb3JtYXQgaXMgc2VtaS1wbGFuYXIvcGxhbmFyLAoJICBkcml2ZXJzIGV4cGVjdCB0aGUgcGxhbmVzIHRvIGJlIGNvbnRpZ3VvdXMgaW4gbWVtb3J5LgoJICBTbyB0aGlzIGNvbW1pdCBjaGFuZ2UgdGhlIHdheSB3ZSBoYW5kbGUgc2VtaS1wbGFuYXIvcGxhbmFyIGZvcm1hdAoJICAobl9wbGFuZXMgPiAxKSB3aGVuIHdlIHVzZSB0aGUgc2luZ2xlLXBsYW5hciBBUEkgKGdyb3VwLT5uX21lbSA9PSAxKS4KCSAgVG8gY2hlY2sgdGhhdCBwbGFuZXMgYXJlIGNvbnRpZ3VvdXMgYW5kIGhhdmUgZXhwZWN0ZWQgc2l6ZSwgaWU6IG5vCgkgIHBhZGRpbmcuIFdlIHRlc3QgdGhlIGZhY3QgdGhhdCBwbGFuZSAnaScgc3RhcnQgYWRkcmVzcyArIHBsYW5lICdpJwoJICBleHBlY3RlZCBzaXplIGVxdWFscyB0byBwbGFuZSAnaSArIDEnIHN0YXJ0IGFkZHJlc3MuIElmIG5vdCwgd2UgcmV0dXJuCgkgIGluIGVycm9yLgoJICBNYXRoIGFyZSBkb25lIGluIGJ1ZmZlcnBvb2wgcmF0aGVyIHRoYW4gaW4gYWxsb2NhdG9yIGJlY2F1c2UgdGhlCgkgIGZvcm1lciBpcyBhd2FyZSBvZiB2aWRlbyBpbmZvLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM4MDEzCgoyMDE1LTAxLTIzIDEwOjE1OjQ2ICswMTAwICBBdXLDqWxpZW4gWmFuZWxsaSA8YXVyZWxpZW4uemFuZWxsaUBwYXJyb3QuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmFsbG9jYXRvci5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYWxsb2NhdG9yLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDJhbGxvY2F0b3I6IGxldCBidWZmZXJwb29sIGNhbGN1bGF0ZSBpbWFnZSBzaXplIHdoZW4gaW1wb3J0aW5nIHVzZXJwdHIKCSAgT2Zmc2V0IGFyZSByZWxhdGl2ZSB0byB0aGUgYnVmZmVyIGFuZCB0aGVyZSBpcyBubyBndWFyYW50ZWUgc3Vic3RyYWN0aW5nCgkgIHRoZW0gd2lsbCBnaXZlIHVzIHRoZSBwbGFuZSBzaXplLiBTbyB3ZSBsZXQgYnVmZmVycG9vbCBtYWtlIHRoZSBtYXRoIGFzCgkgIGl0IGlzIG1vcmUgYXdhcmUgb2YgdmlkZW8gaW5mbyB0aGFuIGFsbG9jYXRvciBhbmQgcGFzcyBhIHNpemUgYXJyYXkgdG8KCSAgYWxsb2NhdG9yIGltcG9ydCBmdW5jdGlvbi4KCSAgUG9pbnRlZCBvdXQgYnkgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM4MDEzCgoyMDE0LTEyLTExIDE2OjEzOjE1ICswMTAwICBQaGlsaXBwZSBEZSBNdXl0ZXIgPHBoZG1AbWFjcWVsLmJlPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiByZWNvZ25pemUgYW5kIGRpc3Rpbmd1aXNoIGFsbCBiYXllciBhcnJhbmdlbWVudHMKCSAgVXAgdG8gbm93LCB2NGwyc3JjIHJlY29nbml6ZWQgb25seSAiYmdnciIgYW1vbmdzdCB0aGUgYmF5ZXIgYXJyYW5nZW1lbnRzLgoJICBSZWNvZ25pemUgbm93IGFsc28gdGhlICJyZ2diIiwgImdicmciIGFuZCAiZ3JiZyIgYXJyYW5nZW1lbnRzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQyMzYzCgoyMDE1LTAxLTE1IDE2OjExOjUzICswMTAwICBBdXLDqWxpZW4gWmFuZWxsaSA8YXVyZWxpZW4uemFuZWxsaUBwYXJyb3QuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMmJ1ZmZlcnBvb2w6IHNldCB2NGwyX2J1ZmZlci5maWVsZCB3aGVuIHF1ZXVpbmcgYnVmZmVyIGluIGFuIG91dHB1dCBkZXZpY2UKCSAgQWNjb3JkaW5nIHRvIHRoZSBjdXJyZW50IHNwZWNpZmljYXRpb24sIGFwcGxpY2F0aW9uIG11c3Qgc2V0IHRoaXMgZmllbGQKCSAgZm9yIGFuIG91dHB1dCBkZXZpY2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDMwMTMKCjIwMTUtMDItMjQgMDU6NTc6MjQgKzAyMDAgIElseWEgS29uc3RhbnRpbm92IDxpbHlhLmtvbnN0YW50aW5vdkBnbWFpbC5jb20+CgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zcmMuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGNvcmVhdWRpby5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4Y29yZWF1ZGlvLmg6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hjb3JlYXVkaW9jb21tb24uYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGNvcmVhdWRpb2NvbW1vbi5oOgoJICBvc3hhdWRpb3NyYzogaU9TIHJlc2FtcGxpbmcgY2F1c2VzIHN0dXR0ZXJpbmcKCSAgRml4ZXMgc3R1dHRlcmluZyBhdWRpbyB3aGVuIGlPUyBBVSBpcyByZXNhbXBsaW5nLiBUbyBtYWtlIEFVIHJlc2FtcGxlLAoJICBvbmUgaGFzIHRvIHJlcXVlc3QgYSByYXRlIHRoYXQgZGlmZmVycyBmcm9tIEFWQXVkaW9TZXNzaW9uJ3MKCSAgc2FtcGxlUmF0ZS4gVGhlIHJlc2FtcGxpbmcgaXRzZWxmIGlzIG5vdCB0aGUgY3VscHJpdCwgYnV0IHJhdGhlciBvdXIKCSAgQVBJIG1pc3VzZS4KCSAgQXVkaW9Vbml0UmVuZGVyIG1vZGlmaWVzIHRoZSBtRGF0YUJ5dGVTaXplIG1lbWJlcnMgd2l0aCB0aGUKCSAgYWN0dWFsIHJlYWQgYnl0ZXMgY291bnQuIFRoZXJlZm9yZSwgdGhleSBtdXN0IGJlIHJlaW5pdGlhbGl6ZWQKCSAgYmVmb3JlIGVhY2ggQXVkaW9Vbml0UmVuZGVyLiAoVGhlIGJ1ZmZlcnMgdGhlbXNlbHZlcyBjYW4gYmUKCSAgcHJlYWxsb2NhdGVkLikKCSAgVGhlICJzdHV0dGVyIiB3YXMgY2F1c2VkIGJ5IG9uZSBBdWRpb1VuaXRSZW5kZXIgbWFraW5nIHRoZSBidWZmZXIKCSAgdG9vIHNtYWxsIGZvciBvdGhlciBBdWRpb1VuaXRSZW5kZXIgaW52b2NhdGlvbnMsIG1ha2luZyB0aGVtIGZhaWwKCSAgd2l0aCAtNTAgKHBhcmFtRXJyKS4gQnkgd2F5IG9mIGx1Y2ssIHdoZW4gQVUgZGlkbid0IHJlc2FtcGxlLCBhbGwKCSAgQXVkaW9Vbml0UmVuZGVyIGludm9jYXRpb25zIHJlYWQgdGhlIHNhbWUgbnVtYmVyIG9mIGJ5dGVzLgoJICAoVGhpcyBwYXRjaCBhZGRyZXNzZXMgc29tZSBub24taW50ZXJsZWF2ZWQgYXVkaW8gY29uY2VybnMsIGJ1dAoJICBhdCB0aGlzIG1vbWVudCB0aGUgZWxlbWVudHMgZG8gbm90IHN1cHBvcnQgbm9uLWludGVybGVhdmVkIGF1ZGlvCgkgIGFuZCBub24taW50ZXJsZWF2ZWQgaXMgdW50ZXN0ZWQuKQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ0OTIyCgoyMDE1LTAyLTIyIDAxOjQ5OjUyICswMTAwICBLcnp5c3p0b2YgS290bGVuZ2EgPHBvY2VrQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogaW1wcm92ZSBlcnJvciBtZXNzYWdlIHdoZW4gdW5hdXRob3JpemVkCgkgIE1ha2UgdXNlIG9mIE5PVF9BVVRIT1JJWkVEIGVycm9yIGNvZGUgaW5zdGVhZCBvZiBmYWxsaW5nIGJhY2sgdG8gZ2VuZXJpYwoJICBSRUFEIGVycm9yLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjAxNzMzCgoyMDE1LTAyLTIzIDIwOjA2OjI1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL3hpbWFnZS94aW1hZ2V1dGlsLmM6CgkgIHhpbWFnZXNyYzogcmVtb3ZlIHBvaW50bGVzcyBnX3JldHVybl92YWxfaWZfZmFpbCgpCgkgIHhpbWFnZSB3b24ndCBldmVyIGJlIE5VTEwgaGVyZSBiZWNhdXNlIHRoZSBkaXNwb3NlCgkgIGZ1bmN0aW9uIGlzIGNhbGxlZCB2aWEgeGltYWdlLT5kaXNwb3NlKCkuCgoyMDE1LTAyLTIzIDE5OjQwOjI1ICswMTAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogQWxsIHNlZ21lbnQgcmVzdWx0aW5nIGZyb20gYSBzZWVrIHNob3VsZCBoYXZlIHRoZSBzYW1lIHNlcW51bQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ0OTgzCgoyMDE1LTAyLTE5IDIzOjEyOjMxIC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMjogRW5hYmxlIGNvcHkgd2hlbiBubyBrbm93biBhbGxvY2F0aW9uIHBhcmFtcwoJICBXaGVuIHRoZXJlIGlzIG5vIGFsbG9jYXRpb24gcGFyYW1ldGVycyBpbiB0aGUgcXVlcnksIGVuYWJsZSBjb3B5CgkgIHRocmVzaG9sZC4gV2hlbiB0aGlzIHRocmVzaG9sZCBpcyByZWFjaGVkLCB0aGUgYnVmZmVyIHBvb2wgd2lsbCBzdGFydAoJICBjb3B5aW5nIHdoZW4gdGhlIHBvb2wgcmVhY2hlcyBhIGNyaXRpY2FsIGxldmVsLiBJZiB0aGUgZHJpdmVyIHN1cHBvcnRzCgkgIENSRUFURV9CVUZTLCB0aGlzIHdpbGwgYmUgdXNlZCBpbnN0ZWFkLgoKMjAxNS0wMi0xOSAyMzowODozNCAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyYnVmZmVycG9vbDogVXBkYXRlIGFsbG9jYXRvciBmbGFncwoJICBXaGVuIHdlIGhpdCBlbXVsYXRlZCBmb3JtYXRzLCB3ZSBkaXNhYmxlIENSRUFURV9CVUZTIHNpbmNlIGxpYnY0bDIKCSAgY29wZSB2ZXJ5IGJhZGx5IHdpdGggaXQuIEFsc28gY2xlYXIgdGhlIGFsbG9jYXRvciBmbGFncyBzbyB3ZSB3aWxsCgkgIG5ldmVyIHRyeSB0byBhbGxvY2F0ZSBtb3JlIGJ1ZmZlcnMuIFRoaXMgZml4ZXMgZmFpbHVyZSB3aGVuIHRoZSBjb3B5CgkgIHRocmVzaG9sZCBpcyByZWFjaGVkIGFzIHdlIHdoZXJlIGNhbGxpbmcgQ1JFQVRFX0JVRlMsIHdoaWNoIGxlYWQgdG8KCSAgbGlidjRsMiBpbnN0YWJpbGl0eS4KCjIwMTUtMDItMTkgMjM6MDc6MjMgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMmJ1ZmZlcnBvb2w6IFVzZSBzcGVjaWZpYyBkZWJ1ZyBjYXRlZ29yeQoJICBUaGUgcG9vbCBoYXMgZ3Jvd24gZW5vdWdoIHRoYXQgaXQgaXMgbm93IGhhbmR5IHRvIHNlcGVyYXRlIHY0bDJvYmplY3QKCSAgdHJhY2UgZnJvbSB2NGwyYnVmZmVycG9vbCB0cmFjZS4KCjIwMTUtMDItMTkgMTQ6Mjk6MDIgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHB2cDhwYXkuYzoKCSAgcnRwdnA4cGF5OiBkZWZhdWx0IGVuY29kaW5nIG5hbWUgdG8gVlA4CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzc4MTAKCjIwMTUtMDItMTkgMTQ6MDY6NTEgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHB2cDhwYXkuYzoKCSAgcnRwdnA4cGF5OiBtYWtlIGNhcHMgd3JpdGFibGUgYmVmb3JlIHRydW5jYXRpbmcgdGhlbQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM3ODEwCgoyMDE1LTAyLTA1IDEwOjI5OjI2ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwdnA4cGF5LmM6CgkgIHJ0cHZwOHBheTogbmVnb3RpYXRlIGVuY29kaW5nIG5hbWUKCSAgQ2hyb21lIHVzZXMgYSBkaWZmZXJlbnQgb25lIHRoYW4gZ3N0cmVhbWVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM3ODEwCgoyMDE1LTAyLTE5IDEyOjM1OjA3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBTZW5kIGluaXRpYWwgZXZlbnRzIG9uIHN5bmNfcnRjcCBwYWQgd2hlbiB1c2luZyBSVFAvUlRDUCBtdXhpbmcKCSAgT3RoZXJ3aXNlIHdlIHdpbGwganVzdCBzZW5kIGJ1ZmZlcnMgb24gdGhlIHBhZCB3aXRob3V0IGFueSBldmVudHMgYmVmb3JlaGFuZAoJICBhbmQgd2lsbCBnZXQgZ193YXJuaW5ncygpIGFib3V0IHRoYXQuCgoyMDE1LTAyLTE5IDExOjIwOjUxICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6CgkgIGphY2s6IGNhc2UgbWlzc2luZyBicmVhayBzdGF0ZW1lbnQKCSAgY29tbWl0IGIxMDk4YzJlYTVlYWJlYTdhZjA4Y2U1MWQyMmI4NjdlYWVkMmJiZTIgYWRkZWQgYSBuZXcgY2FzZSBpbgoJICBnc3RfamFja19hdWRpb19zcmNfZ2V0X3Byb3BlcnR5KCkgYnV0IGZvcmdvdCB0byBhZGQgdGhlIGJyZWFrIHN0YXRlbWVudCB0byBpdC4KCjIwMTUtMDItMTggMTk6MTg6MDAgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkgIFJldmVydCAidjRsMjogZnJhY3Rpb24gaXMgcmV2ZXJzZWQiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgYjkxZmUzNjY0NGIxNWFlMDcwZDcyYjllOGE5YzcwODdlODJhZWYxMi4KCjIwMTUtMDItMTggMTc6NDk6MjkgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkgIHY0bDI6IGZyYWN0aW9uIGlzIHJldmVyc2VkCgkgIEluIHRoZSBmcmFjdGlvbiAxIC8gMi4gMSBpcyB0aGUgbnVtZXJhdG9yIGFuZCAyIGlzIHRoZSBkZW5vbWluYXRvci4KCSAgVGhlIGFyZ3VtZW50cyBvZiBmcmFjdGlvbiBnc3RfdmFsdWVfc2V0X2ZyYWN0aW9ucygpIGFyZSB2YWx1ZSwKCSAgbnVtZXJhdG9yIGFuZCBkZW5vbWluYXRvci4KCSAgQWxzbywgZ3N0X3ZhbHVlX3NldF9mcmFjdGlvbigpIGZhaWxzIGlmIGRlbm9taW5hdG9yIGlzIDAgZm9yIG9idmlvdXMKCSAgcmVhc29ucy4KCjIwMTUtMDItMTcgMjA6MjY6NTUgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMnBvb2w6IERlYWN0aXZhdGUgb3RoZXIgcG9vbAoJICBXaGVuIGltcG9ydGluZyBidWZmZXJzIGZyb20gYSBkb3duc3RyZWFtIHBvb2wsIHdlIG5lZWQgdG8gZGVhY3RpdmF0ZQoJICB0aGF0IHBvb2wgdG8gZW5zdXJlIGl0IHdpbGwgYmUgdXNhYmxlIGFnYWluIGxhdGVyLiBSZWx5aW5nIG9uIHRoZQoJICByZWZjb3VudCB0byByZWFjaCB6ZXJvIGRvZXMgbm90IHdvcmssIHNpbmNlIGVsZW1lbnRzIGxpa2UgeHZpbWFnZXNpbmsKCSAga2VlcHMgYSByZWZlcmVuY2Ugb24gdGhlaXIgcHJvcG9zZWQgcG9vbC4KCjIwMTUtMDItMTggMTA6MTA6NTMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0bXV4OiByZW1vdmUgbm90IG5lZWRlZCBjb25kaXRpb24KCSAgZ3N0X2J1ZmZlcl9yZXBsYWNlIGNhbiBoYW5kbGUgTlVMTCBpbnB1dHMgYnkgaXRzZWxmCgoyMDE1LTAyLTE4IDA5OjQwOjE0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogcHJlZmVyIHRoZSB0ZmR0IHRpbWVzdGFtcCBvdmVyIHRoZSBidWZmZXIncyB0aGF0IGlzIGxlc3MgYWNjdXJhdGUKCSAgVGhlIHRmZHQgc2hvdWxkIGJlIG1vcmUgYWNjdXJhdGUgYXMgdGhlIGJ1ZmZlciB0aW1lc3RhbXAgaXMgcHJvdmlkZWQKCSAgYnkgdGhlIGZyYWdtZW50ZWQgZm9ybWF0IG1hbmlmZXN0IGFuZCBpdCBtaWdodCBqdXN0IGJlIGFuIGFwcHJveGltYXRpb24uCgoyMDE1LTAyLTE3IDE2OjU3OjU1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogV2hlbiByZXNldHRpbmcgdGhlIGppdHRlcmJ1ZmZlciBiZWNhdXNlIG9mIHBhY2tldCBkaXNjb250LCBkb24ndCBmbHVzaCBzdGlja3kgZXZlbnRzCgkgIFdlIHdpbGwgb3RoZXJ3aXNlIGZsdXNoIGF3YXkgU1RSRUFNX1NUQVJULCBDQVBTIG9yIFNFR01FTlQgZXZlbnRzIGFuZCB3aWxsCgkgIGNvbmZ1c2UgZG93bnN0cmVhbSB3aXRoIGJ1ZmZlcnMgdGhhdCBjb21lIGJlZm9yZSBzdWNoIGV2ZW50cy4KCjIwMTUtMDItMTcgMTI6MjA6NTcgKzAxMDAgIGhhcmsgPGhhcmtAcHVzY2lpLm5sPgoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmg6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuaDoKCSAgamFjazogQWRkIHByb3BlcnR5IHBvcnQtcGF0dGVybiB0byBzcGVjaWZ5IHdoaWNoIEpBQ0sgcG9ydHMgdG8gY29ubmVjdCB0bwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkwNzE5CgoyMDE1LTAyLTE3IDEyOjMxOjA2ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2lzb21wNC9nc3Rpc29mZi5jOgoJKiBnc3QvaXNvbXA0L2dzdGlzb2ZmLmg6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBpc29tcDQ6IFJlZGVmaW5lIGdzdF9pc29mZl8gc3ltYm9scyB0byBnc3RfaXNvZmZfcXRfCgkgIFdlIG5lZWQgZGlmZmVyZW50IHN5bWJvbCBuYW1lcywgYmVjYXVzZSB0aGVzZSBzeW1ib2xzIGFyZSBhbHNvIHByZXNlbnQKCSAgaW4gdGhlIGZyYWdtZW50ZWQgcGx1Z2luIC4uLiB3aGljaCB3aWxsIGNhdXNlIGNvbmZsaWN0cyB3aGVuIGRvaW5nCgkgIHN0YXRpYyBsaW5raW5nCgoyMDE1LTAyLTE2IDE0OjMxOjA1ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L2dvb20yazEvbGluZXMuYzoKCSAgZ29vbTJrMTogdXNlIGZyYWN0aW9uYWwgcGFydCBvZiBmbG9hdCBkaXZpc2lvbgoKMjAxNS0wMi0xNiAxMzo1OToxNCArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzaW5rLmM6CgkgIHNwbGl0bXV4c2luOiByZW1vdmUgZGVhZCBjb2RlCgkgIEV2ZXJ5IGluc3RhbmNlIG9mIGdvdG8gYmVhY2ggaGFzIGJ1Zl9pbmZvIGVxdWFsIE5VTEwuIERvbid0IGNoZWNrCgkgIGZvciBhIGNvbmRpdGlvbiB0aGF0IG5ldmVyIGhhcHBlbnMuCgkgIENJRCAjMTI2ODM5OQoKMjAxNS0wMi0xNSAyMTo0NToyNCAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zcGxpdG11eC5jOgoJICBzcGxpdG11eC10ZXN0OiBQYXJzZSBlcnJvciBtZXNzYWdlCgkgIFRoZSB0ZXN0IGhhZCBhIGZ1bmN0aW9uIHRvIHByaW50IHRoZSBlcnJvciwgYnV0IHdhcyBub3QgcGFyc2luZyBpdC4KCSAgVGhpcyB3YXMgY2F1c2luZyB3YXJuaW5nIGFib3V0IGRiZ19pbmZvIGJlaW5nIHVzZWQgdW5pbml0aWFsaXplZC4gSWYKCSAgdGhlIHRlc3Qgd2FzIHRlc3RpbmcgYW55IGVycm9ycywgdGhpcyB3b3VsZCBoYXZlIGNyYXNoZWQuCgoyMDE1LTAyLTE1IDIxOjM0OjI4IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJICBzcGVjdHJ1bTogRml4IG1pbiBhbmQgbWF4IGZvciBiYW5kcyBwcm9wZXJ0eQoJICBUaGUgbnVtYmVyIG9mIEZGVHMgaXMgY2FsY3VsYXRlZCB3aXRoIHRoZSBmb2xsb3dpbmcgZm9ybXVsYToKCSAgZ3VpbnQgbmZmdCA9IDIgKiBiYW5kcyAtIDI7CgkgIG5mZnQgaXMgcGFzc2VkIHRvIGdzdF9mZnRfZjMyX25ldygpIGFzIHRoZSBsZW4gYXJndW1lbnQgYW5kIGlzIG9mIHR5cGUKCSAgdW5zaWduZWQgaW50ZWdlci4gVGhpcyBtZXRob2QgcmVxdWlyZWQgdGhhdCBsZW4gaXMgYXQgbGVhcyAxLCB0aGVuCgkgIG1heGltdW0gR19NQVhJTlQsIGFzIG90aGVyIHZhbHVlcyB3b3VsZCBiZSBuZWdhdGl2ZS4gSWYgd2UgZXh0cmFwb2xhdGUKCSAgZnJvbSB0aGUgZm9ybXVsYSBhYm92ZSBpdCBtZWFucyB3ZSBuZWVkICJiYW5kcyIgdG8gYmUgYmV0d2VlbiAyIGFuZAoJICAoKGd1aW50KUdfTUFYSU5UICsgMikgLyAyKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NDIxMwoKMjAxNS0wMi0xNSAxNTo1MTo1NSAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYWxsb2NhdG9yLmM6CgkgIHY0bDJhbGxvY2F0b3I6IEZpeCBmcmVlaW5nIG9mIHNoYXJlZCBtZW1vcnkKCSAgV2hlbiBtZW1vcnkgKHRoYXQgaGFzIGJlZW4gc2hhcmVkIHVzaW5nIGdzdF9tZW1vcnlfc2hhcmUoKSkgYXJlIGZyZWVkLAoJICB0aGUgbWVtb3J5IChvciB0aGUgRE1BQlVGIEZEKSBzaG91bGQgbm90IGJlZSBmcmVlZC4gVGhlc2UgbWVtb3JpZXMgaGF2ZQoJICBhIHBhcmVudC4gVGhpcyBhbHNvIHJlbW92ZXMgdGhlIGV4dHJhIF92NGwybWVtX2ZyZWUgZnVuY3Rpb24gYW5kIGF2b2lkCgkgIGNhbGxpbmcgY2xvc2UgdHdpY2Ugb24gdGhlIERNQUJVRiBGRC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NDU3MwoKMjAxNS0wMi0xNCAxMToxMTozMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGRvIG5vdCB1c2Ugc3BhcnNlIHN0cmVhbXMgaW4gcHVzaC1iYXNlZCBzZWVraW5nCgkgIFVzaW5nIHRoZSBzcGFyc2Ugc3RyZWFtcyBjYW4gbWFrZSB0aGUgcHVzaC1iYXNlZCBzZWVraW5nIHJldHVybgoJICB0b28gZmFyIGluIHRoZSBzdHJlYW0uIEl0IGFsc28gY2FuIGxlYWQgdG8gaXNzdWVzIGFzIHRoZQoJICBzcGFyc2Ugc3RyZWFtcyB3aWxsIGJlIGlnbm9yZWQgd2hlbiByZXN0YXJ0aW5nIHBsYXliYWNrIGFuZCwKCSAgaWYgdGhlIHNwYXJzZSBzdHJlYW0gaXMgdGhlIG9uZSB0aGF0IGhhcyB0aGUgZWFybGllc3Qgc2FtcGxlLAoJICBpdCB3aWxsIGNvbmZ1c2UgcXRkZW11eCdzIG9mZnNldHMgYXMgb25lIHN0cmVhbSB3aWxsIGhhdmUKCSAgYW4gZWFybGllciBvZmZzZXQgdGhhbiB0aGUgZGVtdXhlcidzIG9uZSB3aGljaCBtaWdodCBsZWFkIHRvCgkgIGVhcmx5IEVPUy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MjY2MQoKMjAxNS0wMi0xMyAxOTo0MzoxNiArMDkwMCAgSmltbXkgT2huIDx5b25namluLm9obkBsZ2UuY29tPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IEVuaGFuY2UgY29kZSByZWFkYWJpbGl0eSBpbiBwdWxzZXNpbmtfcXVlcnkKCSAgSW4gcHVsc2VzaW5rX3F1ZXJ5IGZ1bmN0aW9uLCB3ZSB1c2UgYSBzd2l0Y2ggZm9yIHRoZSBxdWVyeQoJICB0eXBlLiBJbiB0aGUgQ0FQUyBjYXNlLCB0aGVyZSBpcyBubyAnYnJlYWsnLCBpbnN0ZWFkIHdlCgkgIHJldHVybiByaWdodCBhd2F5LiBVc2UgYSBicmVhayBhbmQgcmV0dXJuIGF0IHRoZSBlbmQgb2YKCSAgdGhlIGZ1bmN0aW9uIGluc3RlYWQgZm9yIGJldHRlciBjb2RlIHJlYWRhYmlsaXR5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ0NDYxCgoyMDE1LTAyLTEzIDIwOjQwOjQ4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNpbmsuYzoKCSAgc3BsaXRtdXhzaW5rOiBmbGFnIGFzIHNpbmsgZnJvbSB0aGUgc3RhcnQKCjIwMTUtMDItMTEgMTU6MzA6NDQgKzAxMDAgIFBoaWxpcHBlIE5vcm1hbmQgPHBoaWxuQGlnYWxpYS5jb20+CgoJKiBnc3QvaXNvbXA0L01ha2VmaWxlLmFtOgoJKiBnc3QvaXNvbXA0L2ZvdXJjYy5oOgoJKiBnc3QvaXNvbXA0L2dzdGlzb2ZmLmM6CgkqIGdzdC9pc29tcDQvZ3N0aXNvZmYuaDoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5oOgoJICBxdGRlbXV4OiBJbml0aWFsICdzaWR4JyBhdG9tIHBhcnNpbmcgc3VwcG9ydAoJICBQYXJzZSB0aGUgJ3NpZHgnIGF0b20gYW5kIHVwZGF0ZSB0aGUgdG90YWwgZHVyYXRpb24gYWNjb3JkaW5nIHRvIHRoZQoJICBwYXJzZXIgcmVzdWx0LiBUaGUgaXNvZmYgcGFyc2VyIGNvZGUgaXMgaW1wb3J0ZWQgZnJvbQoJICBnc3QtcGx1Z2lucy1iYWQncyBkYXNoZGVtdXggYW5kIGEgZ3N0X2lzb2ZmX3NpZHhfcGFyc2VyX2FkZF9kYXRhKCkKCSAgZnVuY3Rpb24gd2FzIGZhY3RvcmVkIG91dCBvZiB0aGUgZ3N0X2lzb2ZmX3NpZHhfcGFyc2VyX2FkZF9idWZmZXIoKQoJICBmdW5jdGlvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MzU3OAoKMjAxNS0wMi0xMSAwNTowNjo0NSArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZmx2L01ha2VmaWxlLmFtOgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdmRlbXV4OiBVc2UgZ3N0X3ZpZGVvX2d1ZXNzX2ZyYW1lcmF0ZSgpCgkgIFVzZSBnc3RfdmlkZW9fZ3Vlc3NfZnJhbWVyYXRlKCkgZnJvbSBsaWJnc3R2aWRlbyB0byBndWVzcwoJICBzZW5zaWJsZSBjb21tb24gZnJhbWVyYXRlcyB3aGVyZSBwb3NzaWJsZSBmcm9tIHRoZQoJICBmbG9hdGluZyBwb2ludCBmcHMgaW4gdGhlIHN0cmVhbS4KCjIwMTUtMDItMTEgMTM6NTM6MDIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvcmF3MTM5NC9nc3RkdjEzOTRzcmMuYzoKCSogZXh0L3ZweC9nc3R2cDhlbmMuYzoKCSogZXh0L3ZweC9nc3R2cDllbmMuYzoKCSogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOgoJKiBnc3QvcnRzcC9nc3RydHBkZWMuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgSW1wcm92ZSBhbmQgZml4IExBVEVOQ1kgcXVlcnkgaGFuZGxpbmcKCSAgVGhpcyBub3cgZm9sbG93cyB0aGUgZGVzaWduIGRvY3MgZXZlcnl3aGVyZSwgZXNwZWNpYWxseSB0aGUgbWF4aW11bSBsYXRlbmN5CgkgIGhhbmRsaW5nLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ0MTA2CgoyMDE1LTAyLTExIDEwOjI5OjU1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBIYW5kbGUgZmlyc3QgUlRDUCBwYWNrZXQgYW5kIGVhcmx5IGZlZWRiYWNrIGNvcnJlY3RseQoJICBBY2NvcmRpbmcgdG8gUkZDIDQ1ODUgc2VjdGlvbiAzLjUuMyBzdGVwIDEgd2UgYXJlIG5vdCBhbGxvd2VkIHRvIHNlbmQKCSAgYW4gZWFybHkgUlRDUCBwYWNrZXQgZm9yIHRoZSB2ZXJ5IGZpcnN0IG9uZS4gSXQgbXVzdCBiZSBhIHJlZ3VsYXIgb25lLgoJICBBbHNvIG1ha2Ugc3VyZSB0byBub3QgdXNlIGxhc3RfcnRjcF9zZW5kX3RpbWUgaW4gYW55IGNhbGN1bGF0aW9ucyB1bnRpbAoJICB3ZSBhY3R1YWxseSBzZW50IGFuIFJUQ1AgcGFja2V0IGFscmVhZHkuIEluIHNwZWNpZmljIHRoaXMgbWVhbnMgdGhhdCB3ZQoJICBtdXN0IG5vdCB1c2UgaXQgZm9yIGZvcndhcmQgcmVjb25zaWRlcmF0aW9uIG9mIHRoZSBjdXJyZW50IFJUQ1Agc2VuZCB0aW1lLgoJICBJbnN0ZWFkIHdlIGRvbid0IGRvIGFueSBmb3J3YXJkIHJlY29uc2lkZXJhdGlvbiBmb3IgdGhlIGZpcnN0IFJUQ1AgcGFja2V0LgoKMjAxNS0wMi0xMCAxODo1Mzo1MyArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNkZXBheS5jOgoJICBydHBoMjYzZGVwYXk6IGZpeCBjb21waWxhdGlvbiB3aXRoIGdjYyA1LjAKCjIwMTUtMDItMTAgMTY6MDA6MDcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c2luay5jOgoJICBzcGxpdG11eHNpbms6IGZpeCBleGFtcGxlIHBpcGVsaW5lIHByb3Blcmx5CgkgIHgyNjRlbmMgbWlnaHQgbm90IGhhdmUgYSBtYXgta2V5LWludCBwcm9wZXJ0eSwgYnV0IGl0CgkgIGhhcyBhIGtleS1pbnQtbWF4IHByb3BlcnR5Li4uCgoyMDE1LTAyLTEwIDE0OjU3OjU1ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNyYy5jOgoJICBzcGxpdG11eDogZml4IHR5cG8KCjIwMTUtMDItMTAgMTQ6NTY6MjMgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c2luay5jOgoJICBzcGxpdG11eDogdXBkYXRlIGV4YW1wbGUgcGlwZWxpbmUKCSAgRWxlbWVudCB4MjY0ZW5jIGRvZXNuJ3QgaGF2ZSBhIG1heC1rZXktaW50IHByb3BlcnR5CgoyMDE1LTAyLTEwIDEzOjI5OjMyICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNpbmsuYzoKCSAgc3BsaXRtdXg6IGZpeCBtZW1vcnkgbGVhawoJICBJZiBleGVjdXRpb24gZ29lcyB0byB0aGUgYmVhY2ggaW4gbGluZSA5ODEsIGJ1Zl9pbmZvIGdvZXMgb3V0IG9mIHNjb3BlIHdpdGhvdXQKCSAgdGhlIG1lbW9yeSBiZWluZyBmcmVlJ2QuIEhhbmRsZSB0aGlzIGNhc2UuCgkgIENJRCAjMTI2ODQwMwoKMjAxNS0wMi0wOCAxMjowMzoxMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogZml4IGF3a3dhcmQgaWYgY2xhdXNlCgoyMDE1LTAyLTA3IDAxOjQxOjQ5ICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhwYXJ0cmVhZGVyLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzaW5rLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NwbGl0bXV4LmM6CgkgIHNwbGl0bXV4OiBBZGQgdW5pdCB0ZXN0IGZvciBmaWxlIHNwbGl0dGluZwoJICBBZGQgYSB1bml0IHRlc3QgZm9yIGZpbGUgc3BsaXR0aW5nLCBhbmQgZml4IHRoZSBsZWFrcyBpbiB0aGUKCSAgc3BsaXRtdXhzaW5rIGl0IGZvdW5kCgoyMDE1LTAyLTA2IDE0OjQzOjIyICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIHdhdnBhcnNlOiBmaXggd2hpY2ggc3RvcCB2YXJpYWJsZSBpcyB1c2VkIGluIGFzc2lnbm1lbnQKCSAgQXNzaWdubWVudCBpcyBkb25lIHRvIHZhcmlhYmxlIHNlZ21lbnQuc3RvcCB3aGVuIHRoZSBpbnRlbnRpb24gd2FzIHRvIGFzc2lnbiB0bwoJICBsb2NhbCB2YXJpYWJsZSBzdG9wLiBJbnN0ZWFkIG9mIG92ZXJ3cml0aW5nIGl0LCB0aGUgdmFsdWUgaXMgbm93IGNsYW1wZWQgYW5kCgkgIHNlZ21lbnQuc3RvcCBpcyBzZXQgdG8gaXQgc29vbiBhZnRlci4KCSAgQ0lEICMxMjY1NzczCgoyMDE1LTAyLTA3IDAwOjE5OjM2ICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhwYXJ0cmVhZGVyLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzcmMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc3BsaXRtdXguYzoKCSAgc3BsaXRtdXg6IEZpeCBtZW1vcnkgbGVha3MgdW50aWwgdGhlIHRlc3QgdmFsZ3JpbmRzIGNsZWFuCgoyMDE1LTAyLTA2IDA2OjQyOjE3ICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhwYXJ0cmVhZGVyLmM6CgkgIHNwbGl0bXV4OiBIYW5kbGUgZWFybHkgRU9TIGR1cmluZyBwYXJ0IHByZXBhcmF0aW9uCgkgIEhhbmRsZSB0aGUgY2FzZSB3aGVyZSBhIHNob3J0IGZpbGUgcmVhY2hlcyBFT1Mgd2hpbGUgd2UncmUgc3RpbGwKCSAgd2FpdGluZyBmb3Igbm8tbW9yZS1wYWRzLCBhbmQgbWFrZSBzdXJlIHdlIGNvbnRpbnVlIHRvIHRoZSBpbnRlcm5hbAoJICBSRUFEWSBzdGF0ZSBmb3IgcmVhbCBwbGF5YmFjayB0byB3b3JrIHByb3Blcmx5IGxhdGVyLgoKMjAxNS0wMi0wNiAwNTowMzoxOSArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9maWxlcy9zcGxpdHZpZGVvMDAub2dnOgoJKiB0ZXN0cy9maWxlcy9zcGxpdHZpZGVvMDEub2dnOgoJKiB0ZXN0cy9maWxlcy9zcGxpdHZpZGVvMDIub2dnOgoJICB0ZXN0czogQ2hhbmdlIHNwbGl0bXV4IHRlc3QgdmlkZW8gZmlsZXMKCSAgQXZvaWQgdGVzdCBmYWlsdXJlIGJ5IGNoYW5naW5nIHRoZSBzdG9yZWQgdmlkZW8gcmVzb2x1dGlvbgoJICBmcm9tIDgweDYwIHRvIDgweDY0LCB3aGljaCBuZWVkcyBidWcgNzQxMDMwIHRvIGJlIGZpeGVkLgoKMjAxNC0wOC0wMSAwMDowNzo1MyArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZ3N0L211bHRpZmlsZS9NYWtlZmlsZS5hbToKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGUuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdGZpbGVzcmMuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHBhcnRyZWFkZXIuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHBhcnRyZWFkZXIuaDoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNpbmsuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNpbmsuaDoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNyYy5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c3JjLmg6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXR1dGlscy5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0dXRpbHMuaDoKCSogZ3N0L211bHRpZmlsZS90ZXN0LXNwbGl0bXV4cGFydHJlYWRlci5jOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc3BsaXRtdXguYzoKCSogdGVzdHMvZmlsZXMvc3BsaXR2aWRlbzAwLm9nZzoKCSogdGVzdHMvZmlsZXMvc3BsaXR2aWRlbzAxLm9nZzoKCSogdGVzdHMvZmlsZXMvc3BsaXR2aWRlbzAyLm9nZzoKCSAgc3BsaXRtdXg6IEltcGxlbWVudCBuZXcgZWxlbWVudHMgZm9yIHNwbGl0dGluZyBmaWxlcyBhdCBtdXggbGV2ZWwuCgkgIEltcGxlbWVudCAyIG5ldyBlbGVtZW50cyAtIHNwbGl0bXV4c2luayBhbmQgc3BsaXRtdXhzcmMuCgkgIHNwbGl0bXV4c2luayBpcyBhIGJpbiB3aGljaCB3cmFwcyBhIG11eGVyIGFuZCB0YWtlcyAxIHZpZGVvIHN0cmVhbSwKCSAgcGx1cyBhdWRpby9zdWJ0aXRsZSBzdHJlYW1zLCBhbmQgc3RhcnRzIGEgbmV3IGZpbGUKCSAgd2hlbmV2ZXIgbmVjZXNzYXJ5IHRvIGF2b2lkIG92ZXJydW5uaW5nIGEgdGhyZXNob2xkIG9mIGVpdGhlciBieXRlcwoJICBvciB0aW1lLiBOZXcgZmlsZXMgYXJlIHN0YXJ0ZWQgYXQgYSBrZXlmcmFtZSwgYW5kIGNvcnJlc3BvbmRpbmcgYXVkaW8KCSAgYW5kIHN1YnRpdGxlIHN0cmVhbXMgYXJlIHNwbGl0IGF0IHBhY2tldCBib3VuZGFyaWVzIHRvIG1hdGNoCgkgIHZpZGVvIEdPUCB0aW1lc3RhbXBzLgoJICBzcGxpdG11eHNyYyBpcyBhIGNvcnJlc3BvbmRpbmcgc291cmNlIGVsZW1lbnQgd2hpY2ggaGFuZGxlcwoJICB0aGUgc3BsaXRtdXg6Ly8gVVJMIGFuZCBwbGF5cyBiYWNrIGFsbCBjb21wb25lbnQgZmlsZXMsCgkgIHJlY29uc3RydWN0aW5nIHRoZSBvcmlnaW5hbCBlbGVtZW50YXJ5IHN0cmVhbXMgYXMgaXQgZ29lcy4KCjIwMTUtMDItMDQgMTY6MzI6MTQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NvdXBodHRwc3JjLmM6CgkqIHRlc3RzL2ZpbGVzL3Rlc3QtY2VydC5wZW06CgkqIHRlc3RzL2ZpbGVzL3Rlc3Qta2V5LnBlbToKCSAgdGVzdHM6IHNvdXBodHRwc3JjOiB1cGRhdGUgc3NsIGtleS9jZXJ0IHBhaXIKCSAgT3VyIG9uZXMgd2VyZSBleHBpcmVkLiBUaGUgbmV3IG9uZXMgd2VyZSBjb3BpZWQgZnJvbSBsaWJzb3VwJ3MKCSAgdGVzdHMgZmlsZXMuCgkgIEFsc28gc2V0cyB0aGUgcHJvcGVydHkgdG8gdXNlIG91ciBvd24gY2VydCB0byB2YWxpZGF0ZSB0aGUKCSAgc2VydmVyLCBvdGhlcndpc2UgdGhlIGRlZmF1bHQgc3lzdGVtIGNlcnRzIHdvdWxkIGJlIHVzZWQKCSAgYW5kIGl0IHdvdWxkIGZhaWwuCgoyMDE1LTAyLTA0IDAyOjI1OjQ0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOgoJICBydHBoMjY0ZGVwYXk6IHByZXZlbnQgdHJ5aW5nIHRvIGdldCAwIGJ5dGVzIGZyb20gYWRhcHRlcgoJICBUaGlzIGNhdXNlcyBhbiBhc3NlcnRpb24gYW5kIHdvdWxkIGxlYWQgdG8gZ2V0dGluZyBhIE5VTEwgaW5zdGVhZAoJICBvZiBhIGJ1ZmZlci4gV2l0aG91dCBwcm9wZXIgY2hlY2tpbmcgdGhpcyB3b3VsZCBlYXNpbHkgbGVhZCB0bwoJICBhIHNlZ2ZhdWx0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzcxOTkKCjIwMTUtMDItMDQgMjE6NTA6NTEgKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IFNpbXBsZSBpbXBsZW1lbnRhdGlvbiBvZiBHU1RfU0VHTUVOVF9GTEFHX1RSSUNLTU9ERV9LRVlfVU5JVFMKCSAgV2hlbiB0aGUgdHJpY2ttb2RlIGtleS11bml0cyBmbGFnIGlzIHNldCBvbiB0aGUgc2VnbWVudCwgc2ltcGx5IHNraXAKCSAgYW55IHNhbXBsZSBvbiBhIHZpZGVvIHN0cmVhbSB0aGF0IGlzbid0IGEga2V5ZnJhbWUKCjIwMTUtMDItMDMgMTc6MzU6NTIgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBmaXggY29udGFpbmVyIGhhbmRsaW5nCgkgIFdlIGRldGVjdCBhIGNvbnRhaW5lciBjb3JyZWN0bHkgbm93IHNvIHdlIG5lZWQgdG8gcmV2ZXJ0IHRoZSB3ZWlyZAoJICBjaGVjayB0aGVyZSB3YXMgYmVmb3JlLgoJICBVc2UgZ3N0X3J0c3BzcmNfc3RyZWFtX3B1c2hfZXZlbnQoKSB0byBwdXNoIHRoZSBjYXBzIGV2ZW50IG9uIHRoZQoJICByaWdodCBwYWQuCgkgIFNlZSBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM5MzkxCgoyMDE1LTAyLTAyIDE5OjQ2OjI3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmg6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5oOgoJICBtYXRyb3NrYW11eDogc3RvcmUgYW5kIHdyaXRlIHN0cmVhbSB0YWdzCgkgIFNlcGFyYXRlIGdsb2JhbCBmcm9tIHN0cmVhbSB0YWdzIHN0b3JhZ2UgYW5kIHdyaXRlIHRoZW0gdG8gdGhlCgkgIGFwcHJvcHJpYXRlIHRhZ3MgZW50cnkgaW4gdGhlIG91dHB1dAoKMjAxNS0wMi0wMiAxMzozNTo1OSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHBhcnNlIHN0cmVhbSB0YWdzCgkgIEtlZXAgZ2xvYmFsIGFuZCBzdHJlYW0gdGFncyBzZXBhcmF0ZWx5IGFuZCBwYXJzZSB0aGUgdWR0YSBub2RlCgkgIHRoYXQgY2FuIGJlIGZvdW5kIHVuZGVyIHRoZSB0cmFrIGF0b20uIFRoZSB1ZHRhIHdpbGwgY29udGFpbgoJICBzdHJlYW0gc3BlY2lmaWMgdGFncyBhbmQgd2lsbCBiZSBwdXNoZWQgYXMgc3VjaAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkyNDczCgoyMDE1LTAxLTMxIDE0OjMyOjM0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguaDoKCSAgcXRtdXg6IHN0b3JlIHN0cmVhbSBhbmQgY29udGFpbmVyIHRhZ3Mgc2VwYXJhdGVseQoJICBUYWdzIHJlY2VpdmVkIHZpYSBldmVudHMsIHdoZW4gbWFya2VkIGFzIHN0cmVhbSB0YWdzLCB3aWxsCgkgIGJlIHN0b3JlZCBvbiB0aGF0IHN0cmVhbSdzIHRyYWsgYXRvbSBpbnN0ZWFkIG9mIGJlaW5nIHN0b3JlZAoJICBpbiB0aGUgbWFpbiB0YWdzIGF0b20uIFRoaXMgYWxsb3dzIHRoZSByZXN1bHRpbmcgZmlsZSB0byBoYXZlCgkgIGdsb2JhbCBhbmQgc3RyZWFtIHRhZ3Mgc3RvcmVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkyNDczCgoyMDE1LTAxLTMxIDEzOjE0OjQ0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L2F0b21zLmM6CgkqIGdzdC9pc29tcDQvYXRvbXMuaDoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogcmVmYWN0b3IgdGFncyBmdW5jdGlvbnMgdG8gYWNjb21vZGF0YSBVRFRBIGF0IHRyYWsgbGV2ZWwKCSAgUmVmYWN0b3IgdGhlIGZ1bmN0aW9ucyB0aGF0IHdlcmUgYm91bmQgdG8gdGhlICdtb292JyBhdG9tIHRvCgkgIGRpcmVjdGx5IHBhc3MgdGhlIGRlc2lyZWQgJ3VkdGEnIHRoYXQgc2hvdWxkIHJlY2VpdmUgdGhlIHRhZ3MuCgkgIFRoaXMgYWxsb3dzIHRoZSB0YWdzIHRvIGJlIHdyaXR0ZW4gdG8gJ3VkdGEnIGF0IHRoZSAnbW9vdicgb3IKCSAgdGhlICd0cmFrJyBsZXZlbCwgY3JlYXRpbmcgdGFncyB0aGF0IGFyZSBmb3IgdGhlIGNvbnRhaW5lciBvcgoJICBmb3IgYSBzdHJlYW0gb25seS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MjQ3MwoKMjAxNS0wMS0zMSAxMDo0Nzo0MCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogbWFwIGFwcGxpY2F0aW9uIG5hbWUgdG8gX3N3ciB0YWcKCSAgSXQgcmVmZXJzIHRvIHRoZSBhcHBsaWNhdGlvbiBuYW1lIGFuZCB2ZXJzaW9uIHVzZWQgdG8gY3JlYXRlIHRoZQoJICBmaWxlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTI0NzMKCjIwMTUtMDEtMzEgMDI6MzA6NDAgKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmg6CgkgIG1hdHJvc2thOiBGaXggc2Vla2luZyBwYXN0IHRoZSBlbmQgb2YgdGhlIGZpbGUgaW4gcmV2ZXJzZSBtb2RlLgoJICBTbmFwIHRvIHRoZSBlbmQgb2YgdGhlIGZpbGUgd2hlbiBzZWVraW5nIHBhc3QgdGhlIGVuZCBpbiByZXZlcnNlIG1vZGUsCgkgIGFuZCBhbHNvIGZpeCBHU1RfU0VFS19UWVBFX0VORCBhbmQgR1NUX1NFRUtfVFlQRV9OT05FIGhhbmRsaW5nCgkgIGZvciB0aGUgc3RvcCBwb3NpdGlvbiBieSBhbHdheXMgc2Vla2luZyBvbiBhIHNlZ21lbnQgaW4gc3RyZWFtIHRpbWUKCjIwMTUtMDEtMzAgMTg6MjI6MzEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IEZpeCBzaWduYWwgbmFtZQoJICBUaGlzIHdhc24ndCBtZWFudCB0byBiZSBwdXNoZWQgYXQgYWxsIHlldCwgYnV0IG5vdyB0aGF0IGl0J3MgdGhlcmUKCSAgYWxyZWFkeSBpdCB3b24ndCBodXJ0IHRvIG1ha2UgaXQgY29ycmVjdCBhdCBsZWFzdC4KCjIwMTUtMDEtMzAgMTY6NTY6MzUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5oOgoJICBydHBzdGF0czogRml4IHR5cG8gaW4gZG9jdW1lbnRhdGlvbgoKMjAxNS0wMS0zMCAxNjo1MDozNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBydHBzZXNzaW9uOiBBZGQgbmV3IG9uLXJlY2VpdmluZy1ydGNwIHNpZ25hbAoJICBUaGlzIHdpbGwgYmUgZW1pdHRlZCB3aGVuZXZlciBhbiBSVENQIHBhY2tldCBpcyByZWNlaXZlZC4gRGlmZmVyZW50IHRvCgkgIG9uLWZlZWRiYWNrLXJ0Y3AsIHRoaXMgc2lnbmFsIGdldHMgZXZlcnkgY29tcGxldGUgUlRDUCBwYWNrZXQgYW5kIG5vdAoJICBqdXN0IHRoZSBpbmRpdmlkdWFsIGZlZWRiYWNrIHBhY2tldHMuCgoyMDE1LTAxLTI4IDE0OjAyOjE1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4Lmg6CgkgIHF0ZGVtdXg6IHNpbXBsaWZ5IHNlZ21lbnQuYmFzZSBtYXRoCgkgIFJlbW92ZSBhIGZpeCBmb3IgaGVhdmlseSBlZGl0ZWQgZmlsZXMgYWRkZWQgZm9yIGZpeGluZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzQ1ODMwIHRvIHdvcmsKCSAgd2l0aCBzZWVrcyBhbmQgcHJvcGVyIGdhcHMgcGxheWJhY2suIFRoZSBmaXggd2FzIHJlcGxhY2VkCgkgIGZvciBhIG1vcmUgZ2VuZXJhbCBzb2x1dGlvbiB0aGF0IGJhc2VzIG9uIHVzaW5nIHByZXZpb3VzCgkgIHNlZ21lbnQncyBkdXJhdGlvbiwganVzdCBsaWtlIGl0IHdvcmtzIGZvciBtZWRpYSBzZWdtZW50cwoJICBwbGF5YmFjay4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MzUxOAoKMjAxNS0wMS0yNyAxNDowMDozNSArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXJvcmMtZGlzdC5jOgoJICB2aWRlb21peGVyOiB1cGRhdGUgb3JjIGZpbGVzCgoyMDE1LTAxLTI2IDE3OjA4OjEyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogRml4IGRhdGEgZHJvcHBpbmcgZm9yIGZyYWdtZW50ZWQgc3RyZWFtcwoJICBGb3IgZnJhZ21lbnRlZCBzdHJlYW1zIHdpdGggZXh0cmEgZGF0YSBhdCB0aGUgZW5kIG9mIHRoZSBtZGF0CgkgIHF0ZGVtdXggd2FzIG5vdCBkcm9wcGluZyB0aG9zZSBieXRlcyBhbmQgd291bGQgdHJ5IHRvIHVzZQoJICB0aGF0IGV4dHJhIGRhdGEgYXMgdGhlIGJlZ2lubmluZyBvZiBhIG5ldyBhdG9tLCBjYXVzaW5nIHRoZQoJICBzdHJlYW0gdG8gZmFpbC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MzQwNwoKMjAxNS0wMS0yNSAxNzozMDozMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogRGVwcmVjYXRlIHJ0Y3AtaW1tZWRpYXRlLWZlZWRiYWNrLXRocmVzaG9sZCBwcm9wZXJ0eQoJICBJdCBoYWQgbm8gZWZmZWN0IHNpbmNlIHF1aXRlIHNvbWUgdGltZSBhbmQgYWxzbyBpcyBub3QgbmVlZGVkIGluIGdlbmVyYWwsCgkgIGVzcGVjaWFsbHkgbm90IHRvIHN3aXRjaCBiZXR3ZWVuIGltbWVkaWF0ZSBmZWVkYmFjayBtb2RlIGFuZCBlYXJseSBmZWVkYmFjawoJICBtb2RlLiBUaGUgbGF0ZXN0IHVuZGVyc3RhbmRpbmcgb2YgdGhlIFJGQyBpcyB0aGF0IGZyb20gdGhlIGVuZHBvaW50IHBvaW50IG9mCgkgIHZpZXcsIGJvdGggbW9kZXMgYXJlIGV4YWN0bHkgdGhlIHNhbWUuIFJUQ1AgaXMgb25seSBhbGxvd2VkIHRvIHVzZSB0aGUKCSAgYmFuZHdpZHRoIGFzIGdpdmVuIGJ5IHRoZSBSRkMgY29uc3RyYWludHMsIGFzIHN1Y2ggaXQgaXMgb25seSBldmVyIHBvc3NpYmxlCgkgIHRvIHNjaGVkdWxlIGEgUlRDUCBwYWNrZXQgZWFybHkgYnV0IGl0J3MgYWdhaW5zdCB0aGUgUkZDIHRvIHNjaGVkdWxlIG1vcmUgUlRDUAoJICBwYWNrZXRzLgoJICBUaGUgZGlmZmVyZW5jZSBiZXR3ZWVuIGltbWVkaWF0ZSBmZWVkYmFjayBtb2RlIGFuZCBlYXJseSBmZWVkYmFjayBtb2RlIGlzIHRoYXQKCSAgdGhlIGZvcm1lciBndWFyYW50ZWVzIHRoYXQgYW4gUlRDUCBwYWNrZXQgY2FuIGJlIHNlbnQgZm9yIGV2ZXJ5IGV2ZW50CgkgICJpbW1lZGlhdGVseSIsIHdoaWNoIG1lYW5zIHRoYXQgdGhlIGJhbmR3aWR0aCBjYWxjdWxhdGlvbnMgZnJvbSB0aGUgUkZDIGhhdmUKCSAgcmVzdWx0ZWQgaW4gYW4gUlRDUCBzY2hlZHVsaW5nIGludGVydmFsIHRoYXQgaXMgc21hbGwgZW5vdWdoLiBFYXJseSBmZWVkYmFjawoJICBtb2RlIG9uIHRoZSBvdGhlciBoYW5kIG1lYW5zIHRoYXQgd2UgY2FuIHNjaGVkdWxlIHNvbWUgcGFja2V0cyBlYXJseSB0byBtYWtlCgkgIHRoYXQgaGFwcGVuLCBidXQgaXQncyBub3QgZ3VhcmFudGVlZCBhdCBhbGwgdGhhdCBpdCdzIHBvc3NpYmxlIHRvIHNjaGVkdWxlCgkgIGFuIFJUQ1AgcGFja2V0IHBlciBldmVudCAoaS5lLiB0aGV5IG5lZWQgdG8gYmUgYWNjdW11bGF0ZWQgb3IgZHJvcHBlZCkuCgoyMDE1LTAxLTIyIDEwOjI5OjM5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBEZWxheSB0aGUgbmV4dCByZWd1bGFyIFJUQ1AgcGFja2V0IGFmdGVyIGVhcmx5IFJUQ1AKCSAgVGhpcyBpcyByZXF1aXJlZCB0byBub3QgZXhjZWVkIHRoZSBzaG9ydCB0ZXJtIGF2ZXJhZ2UgUlRDUCBiaXRyYXRlIHdoZW4KCSAgdXNpbmcgZWFybHkgZmVlZGJhY2sgYXMgY29tcGFyZWQgdG8gd2l0aG91dCBlYXJseSBmZWVkYmFjay4KCjIwMTUtMDEtMjIgMTA6Mjg6NTIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IEFkZCBuZXcgc2VuZC1ydGNwLWZ1bGwgc2lnbmFsCgkgIFRoaXMgaW5kaWNhdGVzIHdpdGggYSBib29sZWFuIHJldHVybiB2YWx1ZSBpZiBzY2hlZHVsaW5nIGEgbmV3IFJUQ1AgcGFja2V0CgkgIHdpdGhpbiB0aGUgcmVxdWVzdGVkIGRlbGF5IHdhcyBwb3NzaWJsZS4gT3RoZXJ3aXNlIGl0IGJlaGF2ZXMgZXhhY3RseSBsaWtlCgkgIHNlbmQtcnRjcC4gVGhlIG9ubHkgcmVhc29uIGZvciBhZGRpbmcgYSBuZXcgc2lnbmFsIGlzIEFCSSBjb21wYXRpYmlsaXR5LgoKMjAxNS0wMS0yMCAwMDozMjowMCArMDAwMCAgSmltbXkgT2huIDx5b25namluLm9obkBsZ2UuY29tPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IEZyZWUgZm9ybWF0X2luZm8gaW4gcXVlcnlfZ2V0Y2FwcwoJICBJZiB3ZSBjYW4gbm90IGNyZWF0ZSBwcm9iZSBzdHJlYW0gaW4gcXVlcnlfZ2V0Y2FwcyBmdW5jdGlvbiwgaXQgd2lsbCBhcHBlYXIKCSAgbWVtb3J5IGxlYWthZ2UgZnJvbSBmb3JtYXQgaW5mby4KCSAgVGhlIGZvbGxvd2luZyBwYXRjaCBwcmV2ZW50IG1lbW9yeSBsZWFrYWdlIGluIHB1bHNlc2luay4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MzE3OAoKMjAxNS0wMS0yMyAxNzozNTo1MSArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJICBtYXRyb3NrYWRlbXV4OiByZW1vdmUgdW5uZWNlc3NhcnkgY2hlY2sKCSAgTm8gbWF0dGVyIGlmIGdzdF9tYXRyb3NrYV9yZWFkX2NvbW1vbl9wYXJzZV9pbmRleF9jdWV0cmFjayAoKSByZXR1cm5zIHRoYXQgdGhlCgkgIGZsb3cgaXMgT0sgb3Igbm90LCB0aGUgY2hlY2sgdGhlcmUgd2lsbCBiZSBhIGJyZWFrIGZyb20gdGhlIHN3aXRjaC4gUmVtb3ZpbmcgdGhlCgkgIGNoZWNrIHNpbmNlIHRoZSBvdXRjb21lIGlzIHRoZSBzYW1lLgoJICBDSUQgIzEyNjU3NjIKCjIwMTUtMDEtMjMgMTU6MTY6MjUgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBBdm9pZCB1c2luZyBmcmVlZCB2YXJpYWJsZQoJICB0aGUgbmFtZSB2YXJpYWJsZSBtaWdodCBoYXZlIGJlZW4gYXR0cmlidXRlZCB0byBwYWRfbmFtZSwgbWFrZSBzdXJlIHdlCgkgIGZyZWUgaXQgb25seSAqYWZ0ZXIqIHBhZF9uYW1lIGhhcyBiZWVuIHVzZWQuCgkgIENvdmVyaXR5IENJRCA6IDEyNjU3NzQKCjIwMTUtMDEtMjMgMTU6MTM6NTUgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJICBhdmltdXg6IEF2b2lkIHVzaW5nIGZyZWVkIHZhcmlhYmxlCgkgIHRoZSBuYW1lIHZhcmlhYmxlIG1pZ2h0IGhhdmUgYmVlbiBhdHRyaWJ1dGVkIHRvIHBhZF9uYW1lLCBtYWtlIHN1cmUgd2UKCSAgZnJlZSBpdCBvbmx5ICphZnRlciogcGFkX25hbWUgaGFzIGJlZW4gdXNlZC4KCSAgQ292ZXJpdHkgQ0lEIDogMTI2NTc3NQoKMjAxNC0xMS0xNCAxMjo1OTozMSArMDEwMCAgUGV0ZXIgU2VpZGVyZXIgPHBzLnJlcG9ydEBnbXgubmV0PgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiByZXVzZSBjYXBzIGZyYW1lcmF0ZSBpZiBub3Qgb3ZlcndyaXR0ZW4gYnkgdjRsMiBkZXZpY2UKCSAgRW5hYmxlcyBkdXJhdGlvbiBzZXR0aW5nIGluIHY0bDJzcmMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDA0MDMKCjIwMTUtMDEtMjIgMTA6Mjk6MjQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IEZpeCBpbmRlbnRpb24KCjIwMTUtMDEtMjEgMTc6MzY6MjYgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXhfZHVtcC5jOgoJICBxdGRlbXV4X2R1bXA6IEJ5cGFzcyBldmVuIG1vcmUgY29kZSBpZiBkZWJ1Z2dpbmcgaXMgZGlzYWJsZWQKCSAgQW5kIGF2b2lkIHVzaW5nIHZhcmlhYmxlcyB0aGF0IHdvbid0IGV4aXN0IHdoZW4gZGVidWdnaW5nIGlzIGRpc2FibGVkCgoyMDE1LTAxLTIxIDE1OjMwOjMzICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4X2R1bXAuYzoKCSAgcXRkZW11eDogT25seSB0cmF2ZXJzZS9kdW1wIG5vZGVzIGlmIGd1YXJhbnRlZWQgdG8gYmUgdXNlZAoJICBfX2dzdF9kZWJ1Z19taW4gaXMgdGhlICJnbG9iYWwiIGxvd2VzdCBkZWJ1ZyBsZXZlbCBzZXQuIFRoZXJlJ3Mgbm8KCSAgZ3VhcmFudGVlIHRoZSBxdGRlbXV4IGRlYnVnIGNhdGVnb3J5IGlzIGFjdHVhbGx5IHNldCBhdCB0aGF0IGxldmVsLgoKMjAxNC0xMi0yMCAxNzowOToxNCArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9lYm1sLXJlYWQuYzoKCSAgbWF0cm9za2E6IEF2b2lkIGRlYnVnZ2luZyBiZWxvdyBjYXRlZ29yeSB0aHJlc2hvbGQKCSAgVGhpcyBwYXJ0IGFsb25lIHdhcyB3aGF0IG1hZGUgdGhlIG1hdHJvc2thIHRocmVhZCB0YWtlIGEgZnVsbCBjb3JlCgkgIG9uIGFuIGFuZHJvaWQgcGhvbmUgLi4uCgoyMDE1LTAxLTIxIDA5OjU1OjMwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2R2L2dzdHNtcHRldGltZWNvZGUuYzoKCSogZXh0L21pa21vZC9taWttb2RfdHlwZXMuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9keW5hbWljLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvcGFub3JhbWEuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0cmFkaW9hYy5jOgoJKiBnc3QvaXNvbXA0L2F0b21zLmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXhtYXAuYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvdGVtcGxhdGUuYzoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIENvbnN0aWZ5IHNvbWUgc3RhdGljIGFycmF5cyBldmVyeXdoZXJlCgoyMDE1LTAxLTE5IDE3OjQ5OjU0ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBmaXggZGVhZGxvY2sgc2Vla2luZyBpbiBmaWxlcyB3aXRob3V0IHNlZWsgZW50cmllcwoJICBBIG11dGV4IHVubG9jayB3YXMgbWlzc2luZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczOTk3NQoKMjAxNS0wMS0xOSAxMjozNDoyNSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZC5jOgoJICB2aWRlb21peGVyOiBmaXggaWxsZWdhbCBtZW1vcnkgYWNjZXNzIGluIGJsZW5kIGZ1bmN0aW9uIHdpdGggbmVnYXRpdmUgeXBvcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQxMTE1CgoyMDE1LTAxLTEzIDE2OjQ5OjM0IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9kZWMuYzoKCSAgdjRsMnZpZGVvZGVjOiBQcm94eSBnZXRjYXBzCgkgIFJlcGxhY2UgdGhlIHNpbmtfcXVlcnkgd2l0aCBuZXcgZ2V0Y2FwcygpIHZpcnR1YWwgYW5kIHVzZSB0aGUgcHJveHkKCSAgaGVscGVyIHdpdGggdGhlIHByb2JlZCBjYXBzLiBUaGlzIGFsbG93IHVwc3RyZWFtIGVsZW1lbnQgdGFraW5nIGRlY2lzaW9uCgkgIGJhc2Ugb24gd2hhdCBpcyBzdXBwb3J0ZWQgZG93bnN0cmVhbS4KCjIwMTUtMDEtMTMgMTk6MDU6MjAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L2ZvdXJjYy5oOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXhtYXAuYzoKCSAgcXRtdXg6IEFkZCBzdXBwb3J0IGZvciB2MjEwCgoyMDE1LTAxLTEzIDE4OjU4OjAxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHYyMTAgaXMgdjIxMCwgbm90IFVZVlkgYW5kIHl1djIgaXMgWVVZMiwgbm90IEk0MjAKCSAgQWxzbyBhZGQgYSBmZXcgb3RoZXIgcmF3IHZpZGVvIGZvcm1hdHMgd2Ugc3VwcG9ydDogdjMwOCwgdjIxNgoJICBhbmQgYWRkIGNvbW1lbnRzIGZvciBhIGZldyBvdGhlcnMgd2UgZG9uJ3Qgc3VwcG9ydCB5ZXQuCgkgIGh0dHBzOi8vZGV2ZWxvcGVyLmFwcGxlLmNvbS9saWJyYXJ5L21hYy90ZWNobm90ZXMvdG4yMTYyLwoKMjAxNS0wMS0xMiAxNTo1NjoyOSArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gZjJjNmI5NSB0byBiYzc2YThiCgoyMDE1LTAxLTEwIDE1OjUxOjE2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL29zeHZpZGVvL2NvY29hd2luZG93Lmg6CgkqIHN5cy9vc3h2aWRlby9jb2NvYXdpbmRvdy5tOgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLmg6CgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgb3N4dmlkZW9zaW5rOiBEaXNhYmxlIGhhY2sgZm9yIE5TQXBwIGl0ZXJhdGlvbiB3aXRoIGEgc3BlY2lhbCAjZGVmaW5lCgkgIFRoZSBoYWNrIGNhdXNlcyBkZWFkbG9ja3MgYW5kIG90aGVyIGludGVyZXN0aW5nIHByb2JsZW1zIGFuZCBpdCByZWFsbHkKCSAgY2FuIG9ubHkgYmUgZml4ZWQgcHJvcGVybHkgaW5zaWRlIEdMaWIuIFdlIHdpbGwgaW5jbHVkZSBhIHBhdGNoIGZvcgoJICBHTGliIGluIG91ciBidWlsZHMgZm9yIG5vdyB0aGF0IGhhbmRsZXMgdGhpcywgYW5kIGhvcGVmdWxseSBhdCBzb21lCgkgIHBvaW50IEdMaWIgd2lsbCBhbHNvIG1lcmdlIGEgcHJvcGVyIHNvbHV0aW9uLgoJICBBIHByb3BlciBzb2x1dGlvbiB3b3VsZCBmaXJzdCByZXF1aXJlIHRvIHJlZmFjdG9yIHRoZSBwb2xsaW5nIGluCgkgIEdNYWluQ29udGV4dCB0byBvbmx5IHByb3ZpZGUgYSBzaW5nbGUgZmQsIGUuZy4gdmlhIGVwb2xsL2txdWV1ZQoJICBvciBhIHRocmVhZCBsaWtlIHRoZSBvbmUgYWRkZWQgYnkgb3VyIHBhdGNoLiBUaGVuIHRoaXMgc2luZ2xlCgkgIGZkIGNvdWxkIGJlIHJldHJpZXZlZCBmcm9tIHRoZSBHTWFpbkNvbnRleHQgYW5kIGRpcmVjdGx5IGludGVncmF0ZWQKCSAgaW50byBhIE5TUnVuTG9vcC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MTQ1MAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA0Mzc0CgoyMDE1LTAxLTA4IDIxOjA3OjA1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtbmF1d0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogdW5jb3JrIGlmIG5lZWRlZCB1cG9uIGNvbW1pdAoJICAuLi4gdG8gcHJvdmlkZSBmb3IgYSBydW5uaW5nIGNsb2NrLgoKMjAxNS0wMS0wOSAxNjo1OTo1MyAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvZGVjLmM6CgkgIHY0bDJ2aWRlb2RlYzogUHJldmVudCByZW5lZ290aWF0aW9uCgkgIFJlbmVnb3RpYXRpb24gaXNuJ3Qgc3VwcG9ydGVkLCBzaW1wbHkgcHJldmVudCBpdCB0aGUgd2F5IHdlIGRvIGluCgkgIHY0bDJzcmMuCgoyMDE1LTAxLTA2IDEzOjU0OjI1IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9kZWMuYzoKCSAgdjRsMnZpZGVvZGVjOiBEb24ndCB1bmxvY2sgdGhlIHN0cmVhbSBsb2NrIHR3aWNlCgoyMDE1LTAxLTA5IDExOjQwOjQwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZml4IHN0cmVhbSB0aW1lIGNvbnZlcnNpb24KCSAgVXNlIHRoZSByaWdodCBtYWNybyB0byBjb252ZXJ0IHRvIHRoZSBjb3JyZWN0IHNjYWxlIG9yIHRoZQoJICBzZWdtZW50IGluZm9ybWF0aW9uIHdpbGwgYmUgd3JvbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MjU3MgoKMjAxNS0wMS0wNyAxODo0ODo1OCAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYWxsb2NhdG9yLmM6CgkgIHY0bDJhbGxvY2F0b3I6IEFkZCBwcm90ZWN0aW9uIGFnYWluc3QgZHJpdmVyIGJ1ZwoJICB2NGwybG9vcGJhY2sgZHJpdmVyIGhhcyBhIHRoaXMgbmFzdHkgYnVnIHRoYXQgaWYgdGhlIHF1ZXVlIGlzIGxhcmdlcgoJICB0aGVuIDIgYnVmZmVycywgaXQgcmV0dXJucyByYW5kb20gaW5kZXggb24gZHFidWYuIFNvIGZhciB3ZSBhc3N1bWVkCgkgIHRoYXQgdGhlIGluZGV4IHdhcyBhbHdheXMgcmlnaHQsIHdoaWNoIHdvdWxkIGxlYWQgdG8gbWVtb3J5IGJlaW5nCgkgIHVucmVmIHR3aWNlLCBhbmQgZXZlbnR1YWxseSBjcmFzaC4KCjIwMTUtMDEtMDcgMTc6NTg6MDUgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmFsbG9jYXRvci5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYWxsb2NhdG9yLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDI6IERvbid0IHVzZSBhbGxvY2F0b3Igc2l6ZSB0byBpdGVyYXRlCgkgIEFzIHRoZSBidWZmZXIgYXJyYXkgaXMgZml4ZWQgc2l6ZSBhbmQgc21hbGwsIGl0J3Mgc2FmZXIgdG8gc2ltcGx5CgkgIHVzZSB0aGlzIHN0YXRpYyBzaXplIHRvIGNsZWFudXAgdGhlIGJ1ZmZlcnMuIFRoaXMgaXMgYWxzbyBtb3JlCgkgIGNvbnNpc3RlbnQgd2l0aCB0aGUgcmVzdC4gVGhlIGFzc29jaWF0ZWQgbWV0aG9kIGlzIG5vIGxvbmdlcgoJICByZXF1aXJlZCBhbmQgY2FuIGJlIGRyb3BwZWQuCgoyMDE1LTAxLTA3IDE3OjU1OjE0IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDJidWZmZXJwb29sOiBEb24ndCBjbGVhbiBidWZmZXIgYXJyYXkgaW4gZGlzcG9zZQoJICBUaGlzIHNob3VsZCBhbHJlYWR5IGhhdmUgYmVlbiBkb25lLCBwbHVzIHRoaXMgY29kZSBpcyBpbmNvcnJlY3QKCSAgYW5kIG1heSBsZWFkIHRvIGNyYXNoLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQyMDc0CgoyMDE1LTAxLTA3IDE3OjQ4OjMxIC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDJidWZmZXJwb29sOiBEb24ndCByZWYgcXVldWVkIG91dHB1dCBidWZmZXIKCSAgVGhpcyBwYXJ0bHkgcmV2ZXJ0IHRvIHRoZSBvbGQgMS4yIGJlaGF2aW9yLiBJbnN0ZWFkIG9mIGtlZXBpbmcgYQoJICByZWZlcmVuY2UgdG8gdGhlIG91dHB1dCBidWZmZXIgcXVldWVkLCB3ZSBzaW1wbHkgcmVsZWFzZSB0aGVtIGJ1dAoJICBkb24ndCBmb3J3YXJkIGl0IHRvIEdzdEJ1ZmZlclBvb2wuIFRoaXMgd2F5LCB0aGUgYnVmZmVyIHBvb2wgZG9uJ3QKCSAgbmVlZCB0byBiZSBmbHVzaGVkIHRvIGJlIHN0b3BwZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDIwNzQKCjIwMTUtMDEtMDggMTE6Mzc6MjMgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMmJ1ZmZlcnBvb2w6IE5ldmVyIGZhaWwgb24gc3RyZWFtb2ZmCgkgIEZhaWxpbmcgc3RyZWFtb2ZmIHByZXZlbnRzIGFsbG9jYXRvciBmcm9tIGJlaW5nIGRpc3Bvc2VkIGhlbmNlCgkgIGxlYWQgdG8gZGV2aWNlIEZEIGxlYWsuIFRoZXJlIGlzIG5vIGtub3duIGNhc2VzIHdoZXJlIHN0cmVhbW9mZgoJICBtYXkgZmFpbHMgZm9yIHdoaWNoIHdlJ2Qgc3RpbGwgYmUgc3RyZWFtaW5nLiBzdHJlYW1vZmYgaXMga25vd24KCSAgdG8gZmFpbCB3aGVuIGEgZGV2aWNlIGlzIGJlaW5nIHVucGx1Z2dlZCAoaW4gd2hpY2ggY2FzZSBlcnJubwoJICAxOS9FTk9ERVYgaXMgc2V0KS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMjczNAoKMjAxNS0wMS0wNyAyMTo1MjoxNyAtMDUwMCAgQnJhZCBTbWl0aCA8YnJhZEBjb21zdHlsZS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIHY0bDI6IEFkZCBzdXBwb3J0IGZvciBkZXRlY3RpbmcgdGhlIHByZXNlbmNlIG9mIFY0TDIgc3VwcG9ydCBvbiBPcGVuQlNECgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Jldmlldz9idWc9NzQyNTAzCgoyMDE1LTAxLTA0IDE1OjU3OjEwICswMTAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJICBhYzNwYXJzZTogcmVxdWVzdCBhdCBsZWFzdCA4IGJ5dGVzIHRvIHByb3Blcmx5IHBhcnNlIGhlYWRlcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQyMzI1CgoyMDE1LTAxLTA3IDE2OjIwOjAzIC0wODAwICBNaWNoYWVsIFNtaXRoIDxtaWNoYWVsLnNtaXRoQHJkaW8uY29tPgoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIHdhdnBhcnNlOiBza2lwIGFuIGFkZGl0aW9uYWwgdW5pbnRlcmVzdGluZyBjaHVuayB0eXBlIGJlZm9yZSB0aGUgZm10IGNodW5rLgoKMjAxNS0wMS0wNyAxODoxNjoxMiArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZHluYW1pYy5jOgoJICBhdWRpb2R5bmFtaWM6IGFzc2VydCBmdW5jX2luZGV4IGlzIGluc2lkZSBib3VuZHMKCSAgQnJpbmdpbmcgYmFjayB0aGUgY2hlY2sgcmVtb3ZlZCBpbiB0aGUgcHJldmlvdXMgY29tbWl0IGJ1dCBoYXZlIHRoYXQgY2hlY2sgYmUgYQoJICBnX2Fzc2VydC4gQ2hhbmdpbmcgdGhlIGZ1bmN0aW9uIHRvIHN0YXRpYyB2b2lkIHNpbmNlIHJldHVybiBjYW4gbmV2ZXIgYmUgRmFsc2UsCgkgIGJlY2F1c2UgYXVkaW8gZm9ybWF0IHdpbGwgbmV2ZXIgYmUgdW5rb3duLgoKMjAxNS0wMS0wNyAxNzozMTozOSArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZHluYW1pYy5jOgoJICBhdWRpb2R5bmFtaWM6IHJlbW92ZSBhbHdheXMtdHJ1ZSBjb25kaXRpb25hbAoJICBmdW5jX2luZGV4IGlzIHNldCBieSB0aGUgc3VtIG9mIHRocmVlIHRlcm5hcnkgb3BlcmF0b3JzIHdoaWNoIGFkZCwgMDo0LCAwOjIsCgkgIGFuZCAxOjAuIE1pbmltdW0gdmFsdWUgd291bGQgYmUgMCswKzA9MCwgYW5kIG1heGltdW0gd291bGQgYmUgNCsyKzE9Ny4KCSAgVGhlIGNvbmRpdGlvbmFsIGNoZWNraW5nIGlmIGZ1bmNfaW5kZXggaXMgPj0gMCBhbmQgPCA4IHdpbGwgYWx3YXlzIGJlIHRydWUuCgkgIFJlbW92aW5nIGl0LgoJICBDSUQgMTIyNjQ0MgoKMjAxNS0wMS0wNyAxODowNToxOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IElmIHdlIGdldCBhIGdhcCB3aXRoIGEgYnVmZmVyIHdpdGhvdXQgRFRTLCBlcnJvciBvdXQKCSAgV2UgKGN1cnJlbnRseT8pIGNhbid0IHJlYWxseSBoYW5kbGUgZ2FwcyBiZXR3ZWVuIFJUUCBwYWNrZXRzIGlmIHRoZXkncmUgbm90CgkgIHByb3Blcmx5IHRpbWVzdGFtcGVkLiBUaGUgY3VycmVudCBjb2RlIHdvdWxkIGdvIGludG8gY2FsY3VsYXRpb25zIHdpdGgKCSAgR1NUX0NMT0NLX1RJTUVfTk9ORSBhbmQgdGhlbiBjYXVzZSBhc3NlcnRpb25zIGV2ZXJ5d2hlcmUuIEl0J3MgcHJvYmFibHkKCSAgYmV0dGVyIHRvIGVycm9yIG91dCBjbGVhbmx5IGluc3RlYWQuCgoyMDE0LTExLTIxIDExOjM5OjE5IC0wODAwICBBbGVpeCBDb25jaGlsbG8gRmxhcXXDqSA8YWxlaXhAb2Jsb25nLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogc2V0IFBMQVlJTkcgc3RhdGUgYWZ0ZXIgY29uZmlndXJpbmcgY2FwcwoJICBXZSBzZXQgdG8gUExBWUlORyBhZnRlciB3ZSBoYXZlIGNvbmZpZ3VyZWQgdGhlIGNhcHMsIG90aGVyd2lzZSB3ZQoJICBtaWdodCBlbmQgdXAgY2FsbGluZyByZXF1ZXN0X2tleSAod2l0aCBTUlRQKSB3aGlsZSBjYXBzIGFyZSBzdGlsbAoJICBiZWluZyBjb25maWd1cmVkLCBlbmRpbmcgaW4gYSBjcmFzaC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MDUwNQoKMjAxNC0xMi0zMCAxODowMzoyMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2ljbGVzL2dka3BpeGJ1Zm92ZXJsYXktdGVzdC5jOgoJICB0ZXN0czogZ2RrcGl4YnVmb3ZlcmxheS10ZXN0OiByZW1vdmUgb3V0ZGF0ZWQgRklYTUUKCjIwMTQtMTItMzAgMTc6MTk6NDIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBjb2xsaXNpb24uYzoKCSAgdGVzdHM6IHJ0cGNvbGxpc2lvbjogdXNlIGFsYXdlbmMvZGVjIGluIHRoZXNlIHRlc3RzIGluc3RlYWQgb2YgU3BlZXgKCSAgVGhleSBzaG91bGQgYWx3YXlzIGJlIGJ1aWx0LCB3aGlsZSB0aGUgc3BlZXggZWxlbWVudHMgYXJlIG5vdC4KCSAgTmVlZCB0byBjaGVjayBmb3IgYSBzbWFsbGVyIG51bWJlciBvZiBidWZmZXJzIHRoZW4gKDctPjQpIGJlY2F1c2UKCSAgc3BlZXhlbmMgd2lsbCBhZGQgMyBoZWFkZXIgYnVmZmVycyB3aGlsZSBhbGF3ZW5jIHdpbGwganVzdCBvdXRwdXQKCSAgYXMgbWFueSBidWZmZXJzIGFzIGl0IHJlY2VpdmVzIGFzIGlucHV0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQyMDk4CgoyMDE0LTEyLTMwIDE2OjM2OjAyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3NpbXBsZS1sYXVuY2gtbGluZXMuYzoKCSAgdGVzdHM6IHNpbXBsZS1sYXVuY2gtbGluZXM6IG9ubHkgcnVuIGpwZWcvcG5nIHRlc3RzIGlmIGVsZW1lbnRzIGFyZSBhdmFpbGFibGUKCjIwMTQtMTItMzAgMTY6MjY6NTggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwaHR0cHNyYzogRG9uJ3QgcmV0dXJuIGEgYnVmZmVyIHdoZW4gcmV0dXJuaW5nIG5vdCBHU1RfRkxPV19PSwoJICBiYXNlc3JjIGFzc3VtZXMgdGhhdCB3ZSBkb24ndCByZXR1cm4gYSBidWZmZXIgaWYKCSAgc29tZXRoaW5nIGVsc2UgdGhhbiBPSyBpcyByZXR1cm5lZC4gSXQgd2lsbCBqdXN0CgkgIGxlYWsgYW55IGJ1ZmZlciB3ZSBtaWdodCBhY2NpZGVudGlhbGx5IHByb3ZpZGUKCSAgaGVyZS4KCSAgVGhpcyBjYW4gcG90ZW50aWFsbHkgaGFwcGVuIGR1cmluZyBmbHVzaGluZy4KCSAgTWF5YmUgZml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MTk5MwoKMjAxNC0xMi0zMCAxNDo1Mjo0MiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGF1eC5jOgoJICB0ZXN0czogcnRwYXV4OiB1c2UgYWxhd2VuYy9kZWMgaW4gdGhlc2UgdGVzdHMgaW5zdGVhZCBvZiBTcGVleAoJICBUaGV5IHNob3VsZCBhbHdheXMgYmUgYnVpbHQsIHdoaWxlIHRoZSBzcGVleCBlbGVtZW50cyBhcmUgbm90LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQyMDk4CgoyMDE0LTEyLTI5IDE1OjM1OjE5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IEltcHJvdmUgZGV0ZWN0aW9uIG9mIGJlaW5nIHN0dWNrIGF0IHRoZSBzYW1lIG9mZnNldAoJICBPbmx5IGVycm9yIG91dCBpZiB3ZSByZWFkIGZyb20gdGhlIHNhbWUgcG9zaXRpb24gYWdhaW4gYW5kIGdvdCB0aGUKCSAgc2FtZSBsZW5ndGguIEp1c3QgdGhlIHNhbWUgcG9zaXRpb24gaXMgbm90IG5lY2Vzc2FyaWx5IGVub3VnaC4KCjIwMTQtMTItMjkgMTU6MDA6MDIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogRG9uJ3QgZ2V0IHN0dWNrIGF0IHRoZSBzYW1lIG9mZnNldCB3aGVuIHNlYXJjaGluZyBmb3IgY2x1c3RlcnMKCSAgVGhpcyBjb3VsZCBoYXBwZW4gaWYgdGhlcmUgaXMgYW4gaW52YWxpZCBjbHVzdGVyIHdpdGggc2l6ZSAwLCBhbmQgaW4gdGhhdAoJICBjYXNlIGp1c3QgZXJyb3Igb3V0IGluc3RlYWQgb2YgbG9vcGluZyBmb3JldmVyLgoKMjAxNC0xMi0yNSAyMTozMjo0MCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGZpeCBBTEFDIG11eGluZwoJICBBY3R1YWxseSBjb3B5IHRoZSBjb2RlYyBkYXRhIGluc3RlYWQgb2YgY29weWluZyBub3RoaW5nCgkgIGFuZCB0aGVuIGJvbWJpbmcgb3V0IGJlY2F1c2UgdGhlcmUncyBubyBkYXRhLgoJICBGaXhlczogZ3N0LWxhdW5jaC0xLjAgYXVkaW90ZXN0c3JjICEgYXZlbmNfYWxhYyAhIHF0bXV4ICEgZmFrZXNpbmsKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MTc4MwoKMjAxNC0xMi0yNSAxNTo0ODowNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzoKCSAgcnRwcHRkZW11eDoganVzdCBkcm9wIGludmFsaWQgcnRwIHBhY2tldHMgaW5zdGVhZCBvZiBlcnJvcmluZyBvdXQKCSAgQXBwYXJlbnRseSBsaW5waG9uZSBzZW5kcyBhbiBpbnZhbGlkIFJUUCBwYWNrZXQgYXMgdmVyeQoJICBmaXJzdCBwYWNrZXQuIFdlIHdhbnQgdG8gaWdub3JlIHRoYXQgaW5zdGVhZCBvZiBlcnJvcmluZwoJICBvdXQgKHNhbWUgZm9yIGFueSBvdGhlciBpbnZhbGlkIHBhY2tldHMgcmVhbGx5KS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MTM5OAoKMjAxNC0xMi0yNSAxNTo0NDoxNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzoKCSAgcnRwcHRkZW11eDogZml4IDAuMTAtaXNtIGluIGRvY3MKCjIwMTQtMTItMjUgMTQ6NTg6MTIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9pY2xlcy9nZGtwaXhidWZvdmVybGF5LXRlc3QuYzoKCSAgdGVzdHM6IGdka3BpeGJ1Zm92ZXJsYXktdGVzdDogdXNlIGFic29sdXRlIHBvc2l0aW9uaW5nIHRvIGZpeCBkZW1vCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzk1NjYKCjIwMTQtMTItMjUgMTQ6NTM6MDkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWZvdmVybGF5LmM6CgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zm92ZXJsYXkuaDoKCSAgZ2RrcGl4YnVmb3ZlcmxheTogYWRkICJwb3NpdGlvbmluZy1tb2RlIiBwcm9wZXJ0eSB0byBhbGxvdyBhYnNvbHV0ZSBwb3NpdGlvbnMKCSAgU2V0IHBvc2l0aW9uaW5nLW1vZGU9cGl4ZWxzLWFic29sdXRlIHRvIGFsbG93IHBvc2l0aW9uaW5nIHdpdGgKCSAgYWJzb2x1dGUgY29vcmRpbmF0ZXMsIG1lYW5pbmcgbmVnYXRpdmUgeC95IG9mZnNldHMgd2lsbCBiZQoJICBpbnRlcnByZXRlZCBhcyBiZWluZyB0byB0aGUgbGVmdC9hYm92ZSB0aGUgdmlkZW8gZnJhbWUgaW5zdGVhZAoJICBvZiBiZWluZyBpbnRlcnByZXRlZCBhcyByZWxhdGl2ZSB0byB0aGUgcmlnaHQvYm90dG9tIGVkZ2Ugb2YKCSAgdGhlIHZpZGVvIGZyYW1lICh3aGljaCBpcyBhIHNpbGx5IGRlZmF1bHQsIGJ1dCB0aGF0J3MgaG93IGl0IGlzKS4KCSAgVGhpcyBtZWFucyB3ZSBjYW4gbmljZWx5IHNsaWRlIGltYWdlcyBpbnRvIGFuZCBvdXQgb2YgdGhlIGZyYW1lLAoJICBzZWUgZ2RrcGl4YnVmb3ZlcmxheS10ZXN0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM5NTY2CgoyMDE0LTEyLTIyIDE1OjMzOjUxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zcmMuYzoKCSAgb3N4YXVkaW86IERpcmVjdGx5IHJldHVybiB0aGUgcmluZ2J1ZmZlcidzIGNhcHMgaWYgaXQgaXMgYWNxdWlyZWQKCjIwMTQtMTItMjIgMTI6NTY6MTkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zaW5rLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NyYy5jOgoJICBvc3hhdWRpbzogUHV0IGFsbCBhdWRpbyBmb3JtYXRzIGludG8gdGhlIHRlbXBsYXRlIGNhcHMKCSAgV2UgcmVwb3J0IHRoZSBwcm9wZXIgY2FwcyBsYXRlciBmcm9tIHRoZSBnZXRfY2FwcygpIHZmdW5jIGltcGxlbWVudGF0aW9uIGFmdGVyCgkgIHByb2JpbmcgdGhlIHNlbGVjdGVkIGRldmljZS4KCjIwMTQtMTItMjIgMTI6NTY6MDUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9yaW5nYnVmZmVyLmM6CgkgIG9zeGF1ZGlvOiBBbHNvIHNldCB0aGUgYmlnIGVuZGlhbiBmbGFnIGZvciBmbG9hdGluZyBwb2ludCBzYW1wbGVzCgoyMDE0LTEyLTIyIDExOjQ1OjU5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogTUFJTlRBSU5FUlM6CgkgIE1BSU5UQUlORVJTOiBVcGRhdGUgbXkgbWFpbCBhZGRyZXNzCgoyMDE0LTEyLTIyIDEwOjIzOjAxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zcmMuYzoKCSAgb3N4YXVkaW86IEZpeCBkZWFkbG9jayBhbmQgcHJvcGVydHkgY2hhbmdlIG5vdGlmaWNhdGlvbiBpbiBkZXZpY2Ugc2VsZWN0aW9uIGNvZGUKCSAgQWZ0ZXIgY3JlYXRpbmcgdGhlIHJpbmdidWZmZXIgd2UgaGF2ZSB0byBzZXQgdGhlIGRldmljZSBvbiB0aGUgcmluZ2J1ZmZlciBhcwoJICBpdCBkZWZhdWx0cyB0byBrQXVkaW9EZXZpY2VVbmtub3duLiBBdCB0aGlzIHBvaW50IGl0IGNhbid0IGhhdmUgY2hhbmdlZCB0bwoJICBhbnl0aGluZyBlbHNlIHlldCBhbmQgd2UgZG9uJ3QgaGF2ZSB0byBub3RpZnkgYWJvdXQgY2hhbmdlcyB0byB0aGUgc2luay9zcmMKCSAgImRldmljZSIgcHJvcGVydHkuIEl0J3MgYWxzbyBub3QgYSBnb29kIGlkZWEgYmVjYXVzZSBHc3RBdWRpb0Jhc2VTcmMgaGFzIHRoZQoJICBvYmplY3QgbG9jayB0YWtlbiB3aGlsZSB0aGUgcmluZ2J1ZmZlciBpcyBjcmVhdGVkLCB3aGljaCBtaWdodCBjYXVzZSBhCgkgIGRlYWRsb2NrIGlmIHNvbWV0aGluZyBjYWxscyBiYWNrIGludG8gdGhlIGVsZW1lbnQgZnJvbSAibm90aWZ5OjpkZXZpY2UiLgoJICBPbmNlIHRoZSBiYXNlIGNsYXNzIGlzIGRvbmUgd2l0aCB0aGUgTlVMTF9UT19SRUFEWSBzdGF0ZSBjaGFuZ2UsIGl0IGhhcyBvcGVuZWQKCSAgdGhlIGRldmljZSB2aWEgdGhlIHJpbmdidWZmZXIgYW5kIHRoaXMgbWlnaHQgaGF2ZSBjaG9zZW4gYSBkaWZmZXJlbnQgZGV2aWNlLgoJICBFc3BlY2lhbGx5IGlmIHdlIGluaXRpYWxseSB1c2VkIGtBdWRpb0RldmljZVVua25vd24uIEFsc28gbm90aWZ5IGFib3V0IHRoaXMKCSAgcHJvcGVydHkgY2hhbmdlIGFzIGluaXRpYWxseSBpbnRlbmRlZCBieSB0aGlzIGNvZGUuCgoyMDE0LTEyLTE5IDEyOjMwOjAzIC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwycG9vbDogVXBkYXRlIGNvbmZpZ3VyYXRpb24gc2l6ZQoJICBXZSBhbHJlYWR5IHVwZGF0ZSBvdXIgY29weSBvZiBWaWRlb0luZm8uc2l6ZSB0byBwcm9wZXIgc2l6ZSwgbm93IGFsc28KCSAgdGhlIGNvbmZpZ3VyYXRpb24gc28gdGhlIHNpemUgbWF0Y2hlcyBvbiByZWxlYXNlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQxNDIwCgoyMDE0LTEyLTE5IDEwOjU3OjI5ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5oOgoJICBtYXRyb3NrYS1kZW11eDogQ2FjaGUgdXBzdHJlYW0gbGVuZ3RoCgkgIEluc3RlYWQgb2YgY29uc3RhbnRseSBxdWVyeWluZyB1cHN0cmVhbSwganVzdCBjYWNoZSB0aGUgbGFzdCBkdXJhdGlvbiwKCSAgYW5kIGluIHRoZSB1bmxpa2VseW5lc3Mgd2UgbWlnaHQgaGF2ZSBnb25lIG92ZXIgcXVlcnkgYWdhaW4gYmVmb3JlCgkgIGRlY2lkaW5nIHdlIGFyZSBFT1MuCgkgIEN1dCAxNSUgY3B1IG9mZiBtYXRyb3NrYWRlbXV4IHN0cmVhbWluZyB0aHJlYWQgKHNyc2x5Li4uKQoKMjAxNC0xMi0xNyAxNzozNjoxOCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmg6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2E6IG11eC9kZW11eCB0aGUgT3B1c0hlYWQgaGVhZGVyCgkgIFRoaXMgaXMgbWVhbnQgdG8gYmUgc28gKGh0dHBzOi8vd2lraS54aXBoLm9yZy9NYXRyb3NrYU9wdXMgLSB3aGlsZQoJICBpdCBpcyBtYXJrZWQgYXMgYSBkcmFmdCwgdGhpcyBwYXJ0IHdhcyBjb25maXJtZWQgdG8gYmUgY29ycmVjdCBvbgoJICBJUkMpLCBhbmQgYWxsb3dzIG9uZSB0byBkZXRlcm1pbmUgd2hldGhlciBhIGRlbXV4ZWQgc3RyZWFtIGlzCgkgIG11bHRpc3RyZWFtIG9yIG5vdCwgYW5kIHRodXMgc2V0IHRoZSBtdWx0aXN0cmVhbSBjYXBzIGZpZWxkCgkgIGFjY29yZGluZ2x5LiBJbiB0dXJuLCB0aGlzIG1lYW5zIGRvd25zdHJlYW0gZG9lcyBub3QgaGF2ZSB0byBndWVzcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MDc0NAoKMjAxNC0xMi0xOCAxMTo1MDozMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogRG9uJ3QgZGVyZWZlcmVuY2UgTlVMTCBpZiBhIHN1aXRhYmxlIHN0cmVhbSBmb3IgdGhlIEFVWCBlbGVtZW50IGNhbid0IGJlIGZvdW5kCgkgIENJRCAxMjU4NzE3CgoyMDE0LTEyLTE4IDEwOjUzOjM5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBlZjFmZmRjIHRvIGYyYzZiOTUKCjIwMTQtMTItMTIgMjM6MDY6MDcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5oOgoJICB1ZHBzaW5rOiBhbGxvY2F0ZSBzY3JhdGNoIHNwYWNlIGZvciByZW5kZXIgZnVuY3Rpb25zIG9uIHRoZSBoZWFwCgkgIGFuZCBub3QgdGhlIHN0YWNrLiBPdXIgYWxsb2NhdGlvbnMgY291bGQgZ2V0IGEgYml0IHRvbyBsYXJnZQoJICB0byBiZSBzdXJlIGl0J3Mgbm90IGdvaW5nIHRvIGNhdXNlIHRyb3VibGUgdXNpbmcgdGhlIHN0YWNrLgoKMjAxNC0wNi0yNCAwMToxNjozNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkgIG11bHRpdWRwc2luazogcmUtdXNlIHNlbmRfYnVmZmVycygpIGNvZGUgcGF0aCBmb3IgcmVuZGVyKCkgZnVuY3Rpb24KCSAgSXQncyBsaWtlIHJlbmRlcmluZyBhIGJ1ZmZlciBsaXN0LCBqdXN0IHdpdGggb25lIGJ1ZmZlci4KCSAgSGFzIHRoZSBhZGRlZCBhZHZhbnRhZ2UgdGhhdCBpZiB0aGVyZSBhcmUgbXVsdGlwbGUgY2xpZW50cwoJICB3ZSBjYW4gc2VuZCB0aGUgYnVmZmVyIHRvIGFsbCB0aGUgY2xpZW50cyBpbiBvbmUgZ28uCgoyMDE0LTA2LTI0IDAxOjE1OjI1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuaDoKCSAgbXVsdGl1ZHBzaW5rOiBrZWVwIGNsaWVudCBsaXN0IGNvbnNpc3RlbnQgZHVyaW5nIHJlbW92YWxzCgkgIFdlIHVubG9jayBhbmQgcmUtbG9jayB0aGUgY2xpZW50IGxvY2sgd2hpbGUgZW1pdHRpbmcgdGhlCgkgIHJlbW92ZWQgc2lnbmFsLCB3aGljaCBjYXVzZXMgaW5jb25zaXN0ZW5jaWVzIGluIHRoZSBjbGllbnQKCSAgbGlzdCB2cy4gdGhlIGNsaWVudCBjb3VudHMuIEluc3RlYWQsIHJlbW92ZSB0aGUgY2xpZW50IGZyb20KCSAgdGhlIGxpc3QgYWxyZWFkeSBiZWZvcmUgZW1pdHRpbmcgdGhlIHNpZ25hbCBhbmQgcHV0IGl0IGludG8KCSAgYSB0ZW1wb3JhcnkgbGlzdCBvZiBjbGllbnRzIHRvIGJlIHJlbW92ZWQuIFRoYXQgd2F5IHRoaW5ncwoJICBsb29rIGNvbnNpc3RlbnQgdG8gdGhlIHN0cmVhbWluZyB0aHJlYWQsIGJ1dCBzaWduYWwgY2FsbGJhY2tzCgkgIGNhbiBzdGlsbCBkbyB0aGluZ3MgbGlrZSBnZXQgc3RhdHMgZnJvbSByZW1vdmVkIGNsaWVudHMuCgoyMDE0LTA2LTI0IDAwOjU2OjI3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSAgbXVsdGl1ZHBzaW5rOiBmaXggY2xpZW50IGNvdW50IGFmdGVyIHJlbW92YWwKCjIwMTQtMDYtMjMgMTg6NDM6MjEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJICBtdWx0aXVkcHNpbms6IGtlZXAgY2xpZW50IGxpc3Qgc29ydGVkIGJ5IHNvY2tldCBmYW1pbHkKCSAgV2UgbWFrZSB1c2Ugb2YgaW4gdGhlIHNlbmRfYnVmZmVycygpIGZ1bmN0aW9uIGlmIHdlCgkgIG5lZWQgdG8gdXNlIGRpZmZlcmVudCBzb2NrZXRzIHRvIHNlbmQgdG8gSVB2NCBhbmQKCSAgSVB2NiBkZXN0aW5hdGlvbnMuCgoyMDE0LTA2LTIwIDExOjM2OjE5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuaDoKCSAgbXVsdGl1ZHBzaW5rOiBhZGQgc2VuZG1tc2ctcmVhZHkgcmVuZGVyX2xpc3QgZnVuY3Rpb24gcHJvdG90eXBlCgkgIEFkZCBwcm90b3R5cGUgZm9yIGEgcmVuZGVyX2xpc3QoKSBmdW5jdGlvbiB0aGF0IGNhbiB1c2UgYQoJICBzZW5kbW1zZy1zdHlsZSBnX3NvY2tldF9zZW5kX21lc3NhZ2VzKCkgZnVuY3Rpb24gb25jZSBpdCBsYW5kcwoJICBpbiBHTGliLiBXZSBjYW4gdXNlIHRoaXMgaW5mcmFzdHJ1Y3R1cmUgdG8gc2VuZCBtdWx0aXBsZSBidWZmZXJzCgkgIG1hZGUgdXAgYnkgbXVsdGlwbGUgbWVtb3JpZXMgdG8gbXVsdGlwbGUgY2xpZW50cyBpbiBvbmUgZ28sIHdoaWNoCgkgIGRyYXN0aWNhbGx5IHJlZHVjZXMgdGhlIG51bWJlciBvZiBzeXNjYWxscyBtYWRlIHdoZW4gc2VuZGluZwoJICBoaWdoLWJpdHJhdGUgdmlkZW8gc3RyZWFtcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMjE1MgoKMjAxNC0wNi0xOSAxOToxNjowMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmg6CgkgIG11bHRpdWRwc2luazogbWFrZSB1ZHAgY2xpZW50IHN0cnVjdHVyZSByZWZjb3VudGVkCgkgIFVzZSB0aGUgcmVmY291bnQgZm9yIG1lbW9yeSBtYW5hZ2VtZW50IGFuZCBrZWVwIHRyYWNrCgkgIG9mIHRoZSBudW1iZXIgb2YgZHVwbGljYXRlIGNsaWVudHMgaW4gYSBzZXBhcmF0ZQoJICB2YXJpYWJsZS4gVGhpcyB3aWxsIGJlIHVzZWZ1bCBsYXRlciwgYW5kIG1lYW5zIHdlCgkgIGRvbid0IGhhdmUgdG8gaG9sZCB0aGUgT0JKRUNUX0xPQ0sgYWxsIHRoZSB0aW1lLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMyODY2CgoyMDE0LTA2LTE5IDE4OjMxOjA1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuaDoKCSAgbXVsdGl1ZHBzaW5rOiBrZWVwIGNvdW50IG9mIG51bWJlciBvZiB1bmlxdWUgYW5kIG5vbi11bmlxdWUgSVB2NCBhbmQgSVB2NiBjbGllbnRzCgkgIFRoaXMgd2lsbCBjb21lIGluIGhhbmR5IGxhdGVyLgoKMjAxNC0xMi0xNiAxNTowMDoyMiAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMmJ1ZmZlcnBvb2w6IERpc2FibGUgY3JlYXRlX2J1ZiB3aXRoIGxpYnY0bDIKCSAgTGlidjRsMiBkb2VzIG5vdCB3b3JrIHdpdGggQ1JFQVRFX0JVRlMuIEluc3RlYWQgb2YgZmFpbGluZyBvbiByYW5kb20KCSAgZXJyb3IgY2F1c2VkIGJ5IGxpYnY0bDIsIGRpc2FibGUgQ1JFQVRFX0JVRlMgd2hlbiBhbiBlbXVsYXRlZCBmb3JtYXQgaXMKCSAgZGV0ZWN0ZWQuCgoyMDE0LTEyLTA5IDE3OjM5OjEyIC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYWxsb2NhdG9yLmM6CgkgIHY0bDJhbGxvY2F0b3I6IEFkZCBwcm90ZWN0aW9uIGFnYWluc3QgYnJva2VuIGxpYnY0bDIKCSAgSXQgbG9va3MgbGlrZSBsaWJ2NGwyIHN1cHBvcnQgZm9yIENSRUFURV9CVUYgaXMgaW5jb21wbGV0ZS4gVGhhdAoJICBjb21iaW5lIHdpdGggZXhpc3RpbmcgYnVncyBtYXkgbGVhZCB0byBjcmFzaCBpbiBHU3RyZWFtZXIuIFRoZXNlCgkgIGNoZWNrIHdpbGwgbWFrZSBpdCByb2J1c3QgYnk6CgkgIC0gQ2hlY2tpbmcgY3JlYXRlIGJ1ZiBpbmRleCBpc24ndCBhbiBhbHJlYWR5IGluIHVzZWQgaW5kZXgKCSAgLSBDaGVja2luZyB0aGF0IHRoZSBpbmRleCBvdXQgb2YgUVVFUllCVUYgbWF0Y2hlcyB0aGUgcmVxdWVzdGVkCgkgIGluZGV4CgoyMDE0LTEyLTE2IDE2OjM3OjI0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBBZGQgc29tZXRoaW5nIHRvIHRoZSBkZWJ1ZyBsb2dzIGlmIGFuIFJUWCBBVVggZWxlbWVudCBjYW4ndCBiZSBhZGRlZAoJICAuLi4gYmVjYXVzZSB0aGUgYXBwbGljYXRpb24gYWxyZWFkeSBoYXMgYSBzaWduYWwgaGFuZGxlciBzZXQgdXAgaGVyZS4KCjIwMTQtMTEtMjEgMTQ6MTM6MzQgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBydHNwc3JjOiBhZGQgcmV0cmFuc21pc3Npb24gc3VwcG9ydCBhY2NvcmRpbmcgdG8gUkZDNDU4OAoJICBCYXNlZCBvbiB0aGUgY2xpZW50LXJ0cGF1eCBleGFtcGxlCgoyMDE0LTEyLTE2IDEzOjI1OjAxICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgb3N4dmlkZW9zaW5rOiBjbGVhciByZWN0YW5nbGUgc3RydWN0dXJlcyBiZWZvcmUgdXNlCgoyMDE0LTEyLTA5IDE1OjA5OjU2IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IEFsd2F5cyBzZXQgZm9ybWF0CgkgIFJpZ2h0IG5vdyB3ZSB0cnkgdG8gYmUgY2xldmVyIGJ5IGRldGVjdGluZyBpZiBkZXZpY2UgZm9ybWF0IGhhdmUKCSAgY2hhbmdlZCBvciBub3QsIGFuZCBza2lwIHNldHRpbmcgZm9ybWF0IGluIHRoaXMgY2FzZS4gVGhpcyBpcyB2YWxpZAoJICBiZWhhdmlvdXIgd2l0aCBWNEwyLCBidXQgaXQncyBhbHNvIHZlcnkgZXJyb3IgcHJvbmUuIFRoZSByYXRpb25hbAoJICBmb3Igbm90IHNldHRpbmcgdGhlc2UgYWxsIHRoZSB0aW1lIGlzIGZvciBzcGVlZCwgdGhvdWdoIEkgY2FuJ3QKCSAgbWVhc3VyZSBhbnkgbm90aWNlYWJsZSBnYWluIG9uIGFueSBIVyBJIG93bi4gQWxzbywgdW50aWwgcmVjZW50bHksCgkgIHdlIHdoZXJlIGRvaW5nIGdldC9zZXQgb24gdGhlIGZvcm1hdCBmb3IgZWFjaCBmb3JtYXQgd2Ugd2hlcmUKCSAgcHJvYmluZywgbWFraW5nIGl0IG5lYXIgdG8gaW1wb3NzaWJsZSB0aGF0IHRoZSBmb3JtYXQgd291bGQgbWF0Y2guCgkgIFRoaXMgYWxzbyBmaXhlcyBidWcgd2hlcmUgd2Ugd2hlcmUgc2tpcHBpbmcgZnJhbWUtcmF0ZSBzZXR0aW5nIGlmCgkgIGZvcm1hdCBkaWRuJ3QgY2hhbmdlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQwNjM2CgoyMDE0LTEyLTE1IDE4OjMwOjAxIC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5jOgoJICB2aWRlb2Nyb3A6IFJlbW92ZSB0b2RvIGFib3V0IGNhcHMgZmlsdGVyCgkgIFRoZSBmaWx0ZXIgaXMgYWxyZWFkeSBpbnRlcmVjdGVkLgoKMjAxNC0xMi0xNSAxODoxOTowNSAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuYzoKCSogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuaDoKCSAgdmlkZW9jcm9wOiBNYWtlIHN1cmUgbmV3IGNyb3AgaXMgYXBwbGllZAoJICBTaW5jZSAiYmFzZXRyYW5zZm9ybTogRml4IGNhcHMgZXF1YWxpdHkgY2hlY2siIGNvbW1pdCBhN2YzNTcsCgkgIHNldF9pbmZvKCkgd2lsbCBub3QgYmUgY2FsbGVkIGFueW1vcmUgaWYgY3JvcCBkaWRuJ3QgY2hhbmdlCgkgIHRoZSBjYXBzLiBUaGlzIGlzIGZpeGVkIGJ5IHNldHRpbmcgIm5lZWRfdXBkYXRlIiBib29sZWFuIHdoZW4KCSAgY3JvcHBpbmcgcHJvcGVydGllcyBoYXMgYmVlbiBjaGFuZ2VkLCBhbmQgdGhlbiBhcHBseWluZyB0aGVzZQoJICBpZiB0aGV5IHdoZXJlIG5vdCBhcHBsaWVkIGJlZm9yZSByZW5kZXJpbmcgdGhlIG5leHQgZnJhbWUuIFRoaXMKCSAgcGF0Y2ggYWxzbyBmaXhlZCB0aGUgbG9ja2luZywgZHJvcHBpbmcgdW4tbmVlZGVkIGN1c3RvbSBsb2NrLAoJICBhbmQgbm8gaG9sZGluZyBuZWVkbGVzcyBsb2NrIHdoaWxlIGRvaW5nIHRoZSBvcGVyYXRpb24gYXMgd2UKCSAgYWxyZWFkeSBob2xkIHRoZSBzdHJlYW1pbmcgbG9jay4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MDc4NwoKMjAxNC0xMi0xMiAxODoxMDozNSArMDUzMCAgQXJ1biBSYWdoYXZhbiA8Z2l0QGFydW5yYWdoYXZhbi5uZXQ+CgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zaW5rLmM6CgkgIG9zeGF1ZGlvc2luazogUHJlZmVyIGZpbHRlciBjYXBzIG9yZGVyIHdoaWxlIGdldHRpbmcgY2FwcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQwOTg3CgoyMDE0LTEyLTA5IDEzOjM4OjI2ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxnaXRAYXJ1bnJhZ2hhdmFuLm5ldD4KCgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NpbmsuYzoKCSAgb3N4YXVkaW9zaW5rOiBBZGQgc29tZSBlcnJvciBoYW5kbGluZyBhcm91bmQgY2hhbm5lbCBsYXlvdXQgcGFyc2luZwoJICBGb3Igbm93IHdlIGp1c3Qgc3BpdCBhIHdhcm5pbmcgYW5kIGlnbm9yZSB0aGUgY2hhbm5lbCBsYXlvdXQgaWYgd2UgY2FuJ3QKCSAgc3VwcG9ydCBpdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MDk4NwoKMjAxNC0xMi0wOCAyMjozODoyMiArMDUzMCAgQXJ1biBSYWdoYXZhbiA8Z2l0QGFydW5yYWdoYXZhbi5uZXQ+CgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zaW5rLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NyYy5jOgoJICBvc3hhdWRpbzogVGFrZSBsb2NrIGFyb3VuZCBzaW5rL3NvdXJjZSBiZWZvcmUgYWNjZXNzaW5nIHRoZSByaW5nYnVmZmVyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDA5ODcKCjIwMTQtMTItMDEgMjE6MDY6MjcgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGdpdEBhcnVucmFnaGF2YW4ubmV0PgoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zaW5rLmg6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NyYy5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4Y29yZWF1ZGlvLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hjb3JlYXVkaW8uaDoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGNvcmVhdWRpb3JlbW90ZWlvLmM6CgkgIG9zeGF1ZGlvc3JjOiBQcm9iZSBjaGFubmVsIGxheW91dCB0b28KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MDk4NwoKMjAxNC0xMi0wMSAyMDozMjowNCArMDUzMCAgQXJ1biBSYWdoYXZhbiA8Z2l0QGFydW5yYWdoYXZhbi5uZXQ+CgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zaW5rLmM6CgkgIG9zeGF1ZGlvc2luazogT25seSBmaXggdXAgY2hhbm5lbHMvbGF5b3V0IGZvciBQQ00gY2FwcyB3aGlsZSBwcm9iaW5nCgkgIEl0J3MgdW5saWtlbHkgdGhhdCBzZXR0aW5nIGEgY2hhbm5lbCBsYXlvdXQgd2lsbCBkbyBtdWNoIGZvciBBQzMvRFRTCgkgIHN0cmVhbXMuIElmIHdlIGZpbmQgYXQgc29tZSBwb2ludCB0aGF0IGl0IGRvZXMgbWFrZSBzZW5zZSwgd2UgY2FuCgkgIHBlcmZvcm0gdGhlIHN0cnVjdHVyZSBjb3B5aW5nIHVuY29uZGl0aW9uYWxseSAoaS5lLiwgdGhlIGN1cnJlbnQgY29kZSBpcwoJICB3cm9uZywgc2luY2UgQUMzL0RUUyB3aWxsIGdldCB0d28gc3RydWN0dXJlcyBub3cgLSBvbmUgd2l0aCB0aGUgY2hhbm5lbAoJICBsYXlvdXQsIG9uZSB3aXRob3V0KS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MDk4NwoKMjAxNC0xMi0wMSAxOTo0MTozNSArMDUzMCAgQXJ1biBSYWdoYXZhbiA8Z2l0QGFydW5yYWdoYXZhbi5uZXQ+CgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zcmMuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc3JjLmg6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hjb3JlYXVkaW8uYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGNvcmVhdWRpby5oOgoJICBvc3hhdWRpb3NyYzogSW1wbGVtZW50IGNhcHMgcHJvYmluZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQwOTg3CgoyMDE0LTEyLTAxIDE5OjI5OjU3ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxnaXRAYXJ1bnJhZ2hhdmFuLm5ldD4KCgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hjb3JlYXVkaW9oYWwuYzoKCSAgb3N4YXVkaW86IEJpbmQgYXVkaW8gZGV2aWNlIHRvIGF1ZGlvIHVuaXQgZWFybHkKCSAgV2Ugd2FudCB0byBiaW5kIHRoZSBkZXZpY2UgZHVyaW5nIG9wZW4gc28gdGhhdCBzdWJzZXF1ZW50IGZvcm1hdCBxdWVyaWVzCgkgIG9uIHRoZSBhdWRpbyB1bml0IGFyZSBhcyBzcGVjaWZpYyBhcyBwb3NzaWJsZSBmcm9tIHRoYXQgcG9pbnQgb253YXJkcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MDk4NwoKMjAxNC0xMS0yOSAyMzoxNjozMCArMDUzMCAgQXJ1biBSYWdoYXZhbiA8Z2l0QGFydW5yYWdoYXZhbi5uZXQ+CgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zaW5rLmM6CgkgIG9zeGF1ZGlvc2luazogRml4IHVwIGNhcHMgcXVlcnlpbmcgYSBiaXQKCSAgVGhpcyBzaG91bGQgbWFrZSBjYXBzIHF1ZXJpZXMgY29ycmVjdCBpbiBQQVVTRUQgYW5kIGhpZ2hlciBhcyB3ZWxsLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQwOTg3CgoyMDE0LTExLTI4IDIyOjMyOjM2ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxnaXRAYXJ1bnJhZ2hhdmFuLm5ldD4KCgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NyYy5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4Y29yZWF1ZGlvLmM6CgkgIG9zeGF1ZGlvOiBNb3ZlIG9zeGF1ZGlvc3JjLXNwZWNpZmljIGNvZGUgb3V0IG9mIHRoZSBnZW5lcmljIHBhdGgKCSAgQXZvaWRzIG9uZSBsYXllcmluZyB2aW9sYXRpb24gKEdzdENvcmVBdWRpbyByZWZlcnJpbmcgdG8KCSAgR3N0T3N4QXVkaW9TcmMpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQwOTg3CgoyMDE0LTExLTI4IDIyOjIzOjE3ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxnaXRAYXJ1bnJhZ2hhdmFuLm5ldD4KCgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3JpbmdidWZmZXIuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvcmluZ2J1ZmZlci5oOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zaW5rLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NyYy5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4Y29yZWF1ZGlvLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hjb3JlYXVkaW8uaDoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGNvcmVhdWRpb2hhbC5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4Y29yZWF1ZGlvcmVtb3RlaW8uYzoKCSAgb3N4YXVkaW86IENsZWFuIHVwIGEgR3N0Q29yZUF1ZGlvIC0+IEdzdE9zeEF1ZGlvU3JjL1NpbmsgcmVmZXJlbmNlCgkgIE5vdyB0aGF0IGRldmljZSBzZWxlY3Rpb24gaGFzIG5vIHNpbmsvc291cmNlLXNwZWNpZmljIGJpdHMsIHdlIGNhbiBoYXZlCgkgIGdlbmVyaWMgZGV2aWNlIHNlbGVjdGlvbiBmb3IgdGhpcyBwYXRoLiBXZSBkbyBuZWVkIHRvIG5vdyB0cmFjayBzdGF0ZQoJICBjaGFuZ2VzIHNvIHdlIGNhbiBsb29rIHVwIHRoZSBmaW5hbCBkZXZpY2VfaWQgb25jZSB0aGUgZGV2aWNlIGlzIG9wZW4sCgkgIHRob3VnaC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MDk4NwoKMjAxNC0xMS0yOCAxOTo0MDo1MiArMDUzMCAgQXJ1biBSYWdoYXZhbiA8Z2l0QGFydW5yYWdoYXZhbi5uZXQ+CgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zaW5rLmM6CgkgIG9zeGF1ZGlvc2luazogTW92ZSBkZXZpY2UgY2FwcyBwcm9iaW5nIHRvIGdldF9jYXBzKCkKCSAgVGhpcyBzaG91bGQgYmUgcHJlZmVycmVkIHRvIHJ1bm5pbmcgdGhlIHByb2JlIGF0IGRldmljZSBvcGVuIHRpbWUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDA5ODcKCjIwMTQtMTEtMjggMTg6Mzc6MDIgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGdpdEBhcnVucmFnaGF2YW4ubmV0PgoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGNvcmVhdWRpb2hhbC5jOgoJICBvc3hhdWRpbzogTWFrZSBzb21lIGRlYnVnIGNvZGUgY29tcGlsZSBjb25kaXRpb25hbGx5CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDA5ODcKCjIwMTQtMTEtMjggMTU6MDY6MzUgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGdpdEBhcnVucmFnaGF2YW4ubmV0PgoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvcmluZ2J1ZmZlci5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9yaW5nYnVmZmVyLmg6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NpbmsuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc3JjLmM6CgkgIG9zeGF1ZGlvOiBNb3ZlIGRldmljZSBzZWxlY3Rpb24gdG8gcmluZ2J1ZmZlci0+b3Blbl9kZXZpY2UoKQoJICBUaGlzIGlzIGNvbmNlcHR1YWxseSB0aGUgcmlnaHQgdGhpbmcgdG8gZG8sIGFuZCBhbGxvd3MgdXMgdG8gY29ycmVjdGx5CgkgIGNhdGNoIGVycm9ycyBpbiBkZXZpY2Ugc2VsZWN0aW9uIGFzIHdlbGwsIHdoaWNoIHdlIGNvdWxkIG5vdCBkbyB3aGlsZQoJICBjcmVhdGluZyB0aGUgcmluZ2J1ZmZlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MDk4NwoKMjAxNC0xMS0yOCAxNDozNDozNCArMDUzMCAgQXJ1biBSYWdoYXZhbiA8Z2l0QGFydW5yYWdoYXZhbi5uZXQ+CgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zaW5rLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NyYy5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4Y29yZWF1ZGlvLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hjb3JlYXVkaW8uaDoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGNvcmVhdWRpb2hhbC5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4Y29yZWF1ZGlvcmVtb3RlaW8uYzoKCSAgb3N4YXVkaW86IENvbnNvbGlkYXRlIGlucHV0IGFuZCBvdXRwdXQgY29kZSBwYXRocyBhIGJpdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQwOTg3CgoyMDE0LTExLTIxIDExOjU0OjE4ICswMTAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgRGVpbnRlcmxhY2U6IGluIHF1ZXJ5X2NhcHMgcmV0dXJuIG9ubHkgc3VwcG9ydGVkIGZvcm1hdHMgaWYgZmlsdGVyIGlzIGludGVybGFjZWQKCSAgSW4gc29tZSBjYXNlcyB0aGUgY3VycmVudGx5IHNldCBHc3RWaWRlb0luZm8gaXMgbm90IGludGVybGFjZWQsIGJ1dAoJICB1cHN0cmVhbSBjYXBzIGFyZSBpbnRlcmxhY2VkIGFuZCB0aGUgaW5mbyBpcyBwYXNzZWQgaW4gdGhlIGZpbHRlciwKCSAgd2Ugc2hvdWxkIHRha2UgdGhhdCBpbmZvIGludG8gYWNjb3VudCBhbmQgbWFrZSBzdXJlIHRoYXQgd2UgZG8gbm90CgkgIGNvbnNpZGVyIHRoYXQgY2FzZSBhcyBhICJwYXNzIHRocm91Z2giIGNhc2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDE0MDcKCjIwMTQtMTItMTIgMTE6MDY6MTcgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogRml4IGRlYnVnIHN0YXRlbWVudAoJICBJdCB3YXMgdXNpbmcgdGhlIG5vbi1pbmNyZWFzaW5nIG9mZnNldCB2YXJpYWJsZSwgd2hpY2ggbWFkZSB0aGF0IHN0YXRlbWVudAoJICBub3Qgc28gdXNlZnVsIDopCgoyMDE0LTEyLTEyIDExOjAzOjE1ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEFkZCBtYWNyb3MgZm9yIHRoZSB2YXJpb3VzIHRpbWVzY2FsZSBjb252ZXJzaW9ucwoJICBUaGlzIGhlbHBzIG1ha2UgdGhlIGNvZGUgbW9yZSByZWFkYWJsZSBhbmQgYXZvaWQgZnV0dXJlIGJhZCB1c2FnZSBvZgoJICBzY2FsaW5nIGZ1bmN0aW9uIGFyZ3VtZW50IG9yZGVyLgoKMjAxNC0xMi0xMSAxMDoxNjowNiArMDEwMCAgUGF0cmljayBSYWRpemkgPHBhdHJpY2tyQGF4aXMuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkgIHJ0cGgyNjRwYXk6IGZpeCBwb3RlbnRpYWwgY3Jhc2ggd2hlbiBzaHV0dGluZyBkb3duCgkgIEEgcmFjZSBjb25kaXRpb24gaW4gdGhlIHN0YXRlIGNoYW5nZSBmdW5jdGlvbiBtYXkgY2F1c2UgYnVmZmVycwoJICB0byBiZSB1bnJlZmZlZCB3aGlsZSB0aGV5IGFyZSBzdGlsbCB1c2VkIGJ5IHRoZSBzdHJlYW1pbmcgdGhyZWFkCgkgIGluIGdzdF9ydHBfaDI2NF9wYXlfc2VuZF9zcHNfcHBzKCkgcmVzdWx0aW5nIGluIGEgY3Jhc2guIENoYWluCgkgIHVwIHRvIHRoZSBwYXJlbnQgY2xhc3MgZmlyc3QgaW4gdGhlIHN0YXRlIGNoYW5nZSBmdW5jdGlvbiB0bwoJICBtYWtlIHN1cmUgc3RyZWFtaW5nIGhhcyBzdG9wcGVkIGFuZCBvbmx5IHRoZW4gZnJlZSB0aG9zZSBidWZmZXJzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQxMzgxCgoyMDE0LTEyLTEyIDAwOjQyOjA2ICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBDb3B5IGZsYWdzIG9mIHRoZSBvdmVyYWxsIHNlZ21lbnQgdG8gb3V0cHV0IHNlZ21lbnRzCgkgIFByZXNlcnZlIHRoZSBzZWdtZW50IGZsYWdzIG9mIHRoZSBvdmVyYWxsIGRlbXV4IHNlZ21lbnQgb24gdGhlIG91dHB1dAoJICBzZWdtZW50cyBmb3IgZWFjaCBwYWQuCgoyMDE0LTEyLTA5IDAyOjQzOjAwICswMTAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogdXNlIDY0Yml0IGNodW5rX29mZnNldAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQxMjc5CgoyMDE0LTEyLTEwIDE3OjM5OjE3ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEZpeCByb3VuZGluZyBlcnJvcnMgaW4gZHVyYXRpb24gdXBkYXRlCgkgIE1ha2Ugc3VyZSB3ZSBzdG9yZSB1cGRhdGVkIHNlZ21lbnQgc3RvcC9kdXJhdGlvbiB3aXRoIHRoZSBzYW1lCgkgIGdyYW51bGFyaXR5IGFzIHRoZSBkdXJhdGlvbiB0aW1lc2NhbGUuCgkgIEFuZCBhZGQgbW9yZSBkZWJ1ZwoKMjAxNC0xMi0xMCAxNjo1NTo0NCArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBVcGRhdGUgZHVyYXRpb24gd2hlbiB3ZSBnZXQgbW9yZSBpbmZvcm1hdGlvbgoJICBXaGVuIGRlYWxpbmcgd2l0aCBmcmFnbWVudGVkIGZpbGVzLCB3ZSB3aWxsIGdldCBtb3JlIGFjY3VyYXRlIGR1cmF0aW9uCgkgIGluZm9ybWF0aW9uIHZpYSB0aGUgbWZyYSBhbmQgbW9vZiBhdG9tcy4KCSAgSW4gb3JkZXIgZm9yIHBsYXliYWNrIHRvIG5vdCBzdG9wIGF0IHRoZSBpbml0aWFsIGR1cmF0aW9uIChmcm9tIHRoZQoJICBtb292IGF0b20pLCB3ZSBuZWVkIHRvIGNoZWNrIGFuZCB1cGRhdGUgdGhlIHZhcmlvdXMgZHVyYXRpb24gdmFyaWFibGVzCgkgIHdoZW4gd2UgZmluZCBtb3JlIGluZm9ybWF0aW9uLgoJICBGaXhlcyBwbGF5YmFjayBvZiBmcmFnbWVudGVkIGZpbGVzIGluIHB1bGwgbW9kZQoKMjAxNC0xMi0xMCAxNTowODo0MCArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBSZW1vdmUgdmFyaWFibGUgYXNzaWdubWVudHMgbmV2ZXIgcmVhZAoJICBBcyBkZXRlY3RlZCBieSBjbGFuZy9zY2FuLWJ1aWxkCgoyMDE0LTEyLTEwIDE0OjU2OjA2ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5oOgoJICBxdGRlbXV4OiBVc2UgR3N0Q2xvY2tUaW1lIGZvciBuYW5vc2Vjb25kLWJhc2VkIHRpbWUgdmFyaWFibGVzL2ZpZWxkcwoJICBBdm9pZHMgY29uZnVzaW9uIHdpdGggdGltZXNjYWxlZC1iYXNlZCB2YXJpYWJsZXMgYW5kIGJ5dGVzIChvZmZzZXQpCgkgIHZhcmlhYmxlcy4KCSAgQW5kIHVzZSBHU1RfQ0xPQ0tfVElNRV9OT05FIHdoZXJlIGFwcGxpY2FibGUKCjIwMTQtMTItMDMgMTQ6NDc6MDUgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvZGVidWd1dGlscy9nc3RwdXNoZmlsZXNyYy5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RwdXNoZmlsZXNyYy5oOgoJICBwdXNoZmlsZXNyYzogQWRkIFRJTUUgU0VHTUVOVCBjYXBhYmlsaXR5CgkgIEFkZHMgYSBuZXcgc2V0IG9mIHByb3BlcnRpZXMgdG8gbWFrZSBwdXNoZmlsZXNyYyBvdXRwdXQgYSBUSU1FIFNFR01FTlQKCSAgKGluc3RlYWQgb2YgdGhlIGZpbGVzcmMgQllURSBTRUdNRU5UKS4KCSAgV2hlbiB0aW1lLXNlZ21lbnQgaXMgc2V0IHRvIFRydWUgdGhlIGZvbGxvd2luZyB3aWxsIGhhcHBlbjoKCSAgKiBTZWVrcyBhcmUgcmVmdXNlZCAoZGF0YSBzdGFydHMgZnJvbSB0aGUgYmVnaW5uaW5nIG9mIHRoZSBmaWxlKQoJICAqIFRoZSBCWVRFIHNlZ21lbnQgd2lsbCBiZSByZXBsYWNlZCBieSBhIFRJTUUgc2VnbWVudCB3aXRoIHRoZSB2YWx1ZXMKCSAgc3BlY2lmaWVkIGluIHRoZSB2YXJpb3VzIHByb3BlcnRpZXMKCSAgKiBUaGUgZmlyc3Qgb3V0Z29pbmcgYnVmZmVyIHdpbGwgaGF2ZSBhIHRpbWVzdGFtcCBzZXQgb24gaXQgKGJ5IGRlZmF1bHQKCSAgaXQgaGFzIGEgdmFsdWUgb2YgR1NUX0NMT0NLX1RJTUVfTk9ORSkKCjIwMTQtMTItMTAgMTE6MzU6MjkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiBBbHNvIG9ubHkgdW5yZWYgY2FwcyBpZiB0aGV5J3JlIG5vdCBOVUxMCgoyMDE0LTEyLTEwIDExOjM0OjQyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogZ3N0X3BhZF9nZXRfYWxsb3dlZF9jYXBzKCkgd2lsbCByZXR1cm4gTlVMTCBpZiB0aGVyZSBpcyBubyBwZWVyCgoyMDE0LTEyLTA5IDE2OjM4OjM4ICswMTAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBleHQvdnB4L2dzdHZwOGVuYy5jOgoJKiBleHQvdnB4L2dzdHZwOWVuYy5jOgoJICB2cFhlbmM6IENMT0NLX1RJTUVfTk9ORSBpcyBub3QgYSB2YWxpZCBtaW5fbGF0ZW5jeSB2YWx1ZQoJICBXZSBzaG91bGQganVzdCB1c2UgMCBpZiB3ZSBkbyBub3QgaGF2ZSB0aGUgaW5mb3JtYXRpb24KCjIwMTQtMTItMDMgMTc6MjY6NTYgKzAxMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGdub21lLm9yZz4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogVXNlIGFuIGVtcHR5IGl0ZXJhdG9yIGluIGl0ZXJhdGVfaW50ZXJuYWxfbGluayB3aGVuIG5vIGxpbmtzCgkgIEFuZCBub3QgYSBOVUxMIEl0ZXJhdG9yLCBzbyBpdCBpcyBjb25zaXN0ZW50IHdpdGggdGhlIHdheSBpdCB1c3VhbGx5CgkgIHdvcmtzIGFuZCBhdm9pZCB1c2VyIHRvIG5lZWQgYSBkaWZmZXJlbnQgY29kZSBwYXRocyB0byBoYW5kbGUgdGhhdC4KCjIwMTQtMTItMDkgMTQ6MDE6NTAgKzAxMDAgIEF1csOpbGllbiBaYW5lbGxpIDxhdXJlbGllbi56YW5lbGxpQHBhcnJvdC5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyYnVmZmVycG9vbDogc2V0IGJ1ZmZlciBpbnRlcmxhY2UgZmxhZ3Mgd2hlbiBmaWVsZCBpcyBWNEwyX0ZJRUxEX0lOVEVSTEFDRUQKCSAgSWYgdjRsMl9idWZmZXIuZmllbGQgaXMgVjRMMl9GSUVMRF9JTlRFUkxBQ0VELCB3ZSBzZXQgY29ycmVzcG9uZGluZwoJICBHc3RWaWRlb0J1ZmZlciBmbGFncyBkZXBlbmRpbmcgb24gdGhlIHZpZGVvIHN0YW5kYXJkLgoJICBBY2NvcmRpbmcgdG8gVjRMMiBzcGVjaWZpY2F0aW9uLCBNL05UU0MgdHJhbnNtaXRzIHRoZSBib3R0b20gZmllbGQKCSAgZmlyc3QsIGFsbCBvdGhlciBzdGFuZGFyZHMgdGhlIHRvcCBmaWVsZCBmaXJzdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNzYwMwoKMjAxNC0xMi0wOCAyMToyNjoxOCArMDEwMCAgUGF0cmljayBSYWRpemkgPHBhdHJpY2tyQGF4aXMuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkgIHJ0cGgyNjRwYXk6IEZpeGVzIGJ1ZmZlciBsZWFrIHdoZW4gdXNpbmcgU1BTL1BQUwoJICBGaXhlcyBhIGJ1ZmZlciBsZWFrIHRoYXQgd291bGQgb2NjdXJyIGlmIHRoZSBwaXBlbGluZSB3YXMgc2h1dGRvd24KCSAgd2hpbGUgYSBTUFMvUFBTIGhlYWRlciB3YXMgYmVpbmcgY3JlYXRlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MTI3MQoKMjAxNC0xMi0wOSAwNDo0MzoyOSArMDEwMCAgTWF0aGlldSBEdXBvbmNoZWxsZSA8bWF0aGlldS5kdXBvbmNoZWxsZUBvcGVuY3JlZWQuY29tPgoKCSogZ3N0L2VmZmVjdHYvZ3N0YWdpbmcuYzoKCSAgYWdpbmd0djogZml4IG1lbWNweSB3aGVuIG5vIGNvbG9yIGFnaW5nIHJlcXVlc3RlZC4KCSAgdmlkZW9fc2l6ZSBpcyB0aGUgc2l6ZSBpbiBwaXhlbHMsIGFjdHVhbCBzaXplIG9mIHRoZSBtZW1jcHkKCSAgaGFzIHRvIGJlIHN0cmlkZSAqIGhlaWdodC4KCjIwMTQtMTItMDcgMTc6MzM6NTEgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMjogV29ya2Fyb3VuZCBsaWJ2NGwyIFJXIGVtdWxhdGlvbiBidWcKCSAgV2hlbiBsaWJ2NGwyIGVtdWxhdGVzIFJXIG1vZGUgb24gdG9wIG9mIE1NQVAgZGV2aWNlcywgdGhlIHF1ZXVlcyBhcmUKCSAgb25seSBpbml0aWFsaXplZCBvbiBmaXJzdCByZWFkLiBUaGUgcHJvYmxlbSBpcyB0aGF0IHBvbGwoKSB3aWxsIGZhaWwKCSAgaWYgY2FsbGVkIGJlZm9yZSB0aGUgcXVldWVzIGFyZSBpbml0aWFsaXplZCBhbmQgc3RyZWFtaW5nLiBXb3JrYXJvdW5kCgkgIHRoaXMgYnkgZG9pbmcgYSB6ZXJvIHNpemUgcmVhZCB3aGVuIHBvb2wgaXMgc3RhcnRlZCBpbiB0aGF0IElPIG1vZGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDA2MzMKCjIwMTQtMTItMDcgMTc6Mjc6MzcgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMjogRml4IFJXIGlvIG1vZGUKCSAgSW4gUlcsIGFsbG9jYXRvciBjYW4gYmUgbnVsbCwgbWF4X2J1ZmZlcnMgY2FuIGJlIHplcm8sIGFuZCB3ZSBuZWVkIG5vdAoJICB0byB3YWl0IHdoaWxlIHRoZSBxdWV1ZSBpcyBlbXB0eSBzaW5jZSB0aGVyZSBpcyBubyBxdWV1ZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MDYzMwoKMjAxNC0xMi0wMyAxNjo0MDo0OSAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMmJ1ZmZlcnBvb2w6IENsZWFudXAgdW5lZWRlZCBjaGVjayBhbmQgY2FzZXMKCSAgVGhlcmUgaXMgbm90aGluZyBpbiBiZXR3ZWVuIHRoZSBicmVhayBhbmQgdGhlICJkb25lOiIgYW55bW9yZSwgcGx1cwoJICBVU0VSUFRSIGFuZCBETUFCVUZfSU1QT1JUIGNhc2UgaXMgZXhhY3RseSB0aGUgc2FtZS4KCjIwMTQtMTItMDMgMTc6MDc6NDkgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDJwb29sOiBGaXggQ1JFQVRFX0JVRlMgc3VwcG9ydCBmb3IgY2FwdHVyZQoJICBUaGlzIHBhdGNoIGZpeGVzIENSRUFURV9CVUZTIHN1cHBvcnQgZm9yIGNhcHR1cmUgZGV2aWNlcy4gSW5pdGlhbGx5IHdlCgkgIHdvdWxkIG9ubHkgdHJ5IGFuZCBhbGxvY2F0ZSBtb3JlIGJ1ZmZlcnMgd2hlbiB0aGUgY29weSB0aHJlc2hvbGQKCSAgaXMgcmVhY2hlZC4gV2hlbiB0aGUgdGhyZXNob2xkIHdhcyBub3Qgc2V0IChuZWVkZWQpIGl0IHdvdWxkIG5ldmVyCgkgIGhhcHBlbi4gQW5vdGhlciBwcm9ibGVtIGlzIHRoYXQgb24gY2FwdHVyZSBzaWRlLCBhY3F1aXJlIHJldHVybnMKCSAgZmlsbGVkIGJ1ZmZlciwgaGVuY2UgbmVlZCB0byBwb29sLiBXZSBuZWVkIHRvIHNldCBhIHNwZWNpYWwgZmxhZyB0bwoJICBmb3JjZSBhbGxvY2F0aW9uIHRvIGhhcHBlbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MTEzNAoKMjAxNC0xMi0wMyAxNjoyNzo1OSAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmFsbG9jYXRvci5jOgoJICB2NGwyYWxsb2NhdG9yOiBGaXggQ1JFQVRFX0JVRiBwcm9iaW5nCgkgIEN1cnJlbnQgZm9yIGV2ZXJ5IG1lbW9yeSB0eXBlIHdlIHdoZXJlIHByb2JpbmcgTU1BUCBDUkVBVEVfQlVGUyBpb2N0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQxMTM0CgoyMDE0LTExLTE4IDE2OjUyOjQwICswMTAwICBOaWNvbGEgTXVyaW5vIDxuaWNvbGEubXVyaW5vQGdtYWlsLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBzZXQgZnJhbWVyYXRlIDAvMSB3aGVuIGR1cmF0aW9uIGlzIG5vdCBrbm93bgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQwMTMwCgoyMDE0LTEyLTA0IDE3OjI1OjU1ICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBNb3JlIGZpeGVzIGZvciByZXZlcnNlIHBsYXliYWNrCgkgIFdoZW4gc2Vla2luZyBvciBmaW5kaW5nIHRoZSBwcmV2aW91cyBrZXlmcmFtZSwgZG8KCSAgY29tcGFyaXNvbnMgYWdhaW5zdCB0YXJnZXRzIGFuZCBzZWdtZW50cyB1c2luZyBjb21wb3NpdGlvbiB0aW1lCgkgIHRvIGNvcnJlY3RseSBkZWNpZGUgd2hpY2ggc2FtcGxlIHRpbWVzIG1hdGNoLgoKMjAxNC0xMi0wMyAxMToxMjo1NSArMDEwMCAgVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAZ25vbWUub3JnPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogVXNlIGFuIGVtcHR5IGl0ZXJhdG9yIGluIGl0ZXJhdGVfaW50ZXJuYWxfbGluayB3aGVuIG5vIGxpbmtzCgkgIFdlIHVzZWQgdG8gc2V0dXAgYW4gaXRlcmF0b3Igd2l0aCAxIEdWYWx1ZSBzZXQgd2l0aCBhIE5VTEwgb2JqZWN0CgkgIHBvaW50ZXIgd2hpY2ggaXMgbm90IHRoZSBub3JtYWwgd2F5IHRvIGRvIHRoYXQuIEluc3RlYWQgd2Ugc2hvdWxkIG1ha2UKCSAgc3VyZSB0aGF0IHRoZSBmaXJzdCBjYWxsIHRvIGdzdF9pdGVyYXRvcl9uZXh0IHJldHVybnMgR1NUX0lURVJBVE9SX0RPTkUuCgoyMDE0LTEyLTAzIDEzOjIwOjU3ICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBIYW5kbGUgc2Vla3MgcGFzdCBFT1MgYXMgYSBzZWVrIHRvIHRoZSBlbmQKCSAgRml4IHJldmVyc2UgcGxheWJhY2sgb2YgZXZlcnkgZnJhbWUgYnkgbWFraW5nIHNlZWtzIHBhc3QvdG8gRU9TCgkgIGZpbmQgdGhlIGxhc3Qgc2VnbWVudCBhbmQgc3RhcnQgdGhlcmUuCgoyMDE0LTEyLTAyIDE1OjMzOjI1IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBtcGFkZXBheS5jOgoJICBydHBtcGFkZXBheTogUmVsYXggY2FwcyB0byBhbGxvdyBhbnkgY2xvY2stcmF0ZQoJICBTb21lIFdvd3phIHNldHVwcyBzZWVtIHRvIHNlbmQgYW4gaW52YWxpZCBub24tOTAwMDAgY2xvY2stcmF0ZS4KCjIwMTQtMTItMDEgMjE6MDQ6MDIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBkb24ndCB1c2UgR1NUX0NMT0NLX1RJTUVfTk9ORSBpbiBub24gR3N0Q2xvY2tUaW1lIHZhcmlhYmxlcwoJICBVc2UgLTEgaW5zdGVhZCBhcyB0aG9zZSBhcmUgZ2ludDY0L2d1aW50NjQgdmFyaWFibGVzIGFuZCBub3QgR3N0Q2xvY2tUaW1lCgoyMDE0LTExLTA3IDE3OjA2OjQ5ICswMTAwICBBdXLDqWxpZW4gWmFuZWxsaSA8YXVyZWxpZW4uemFuZWxsaUBwYXJyb3QuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmFsbG9jYXRvci5oOgoJICB2NGwyYWxsb2NhdG9yOiBmaXggZ3N0X3Y0bDJfYWxsb2NhdG9yX3N0b3AgcHJvdG90eXBlCgkgIGdzdF92NGwyX2FsbG9jYXRvcl9zdG9wIHJldHVybnMgYSBHc3RWNGwyUmV0dXJuLCBub3QgYSBnYm9vbGVhbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczOTc5MgoKMjAxNC0xMS0wNyAxNjo0MTo1MiArMDEwMCAgQXVyw6lsaWVuIFphbmVsbGkgPGF1cmVsaWVuLnphbmVsbGlAcGFycm90LmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDJidWZmZXJwb29sOiB1bnJlZiBwb29sIHdoZW4gdjRsMl9hbGxvY2F0b3JfbmV3KCkgZmFpbHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczOTc5MQoKMjAxNC0xMS0zMCAxNzo1Mjo0NyAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmg6CgkgIHY0bDI6IFJlbW92ZSBsYXN0IGluY2x1ZGUgdG8gbGludXgvdmlkZW9kZXYyLmgKCSAgV2Ugbm93IHVzZSBhbmQgdXBkYXRlIG91ciBpbnRlcm5hbCBjb3B5IHNvIHdlIG5vIGxvbmdlciBoYXZlIHRvIGlmZGVmCgkgIHRoZSBlbnRpcmUgY29kZSBmb3IgZmVhdHVyZXMgYW5kIGRlZmluZXMgdGhhdCB3aGVyZSBhZGRlZCBvdmVyIHRoZQoJICB5ZWFycy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MDkwNQoKMjAxNC0wOC0yNCAxMzozODowOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguaDoKCSAgcXRkZW11eDogaW1wbGVtZW50IHNlZWtpbmcgaW4gZnJhZ21lbnRlZCBtcDQgZmlsZXMgaW4gcHVsbCBtb2RlIGJhc2VkIG9uIHRoZSBtZnJhIHRhYmxlCgoyMDE0LTExLTI5IDE1OjI1OjUxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHVzZSB0cmFjayBmcmFnbWVudCBkZWNvZGluZyB0aW1lICh0ZmR0KSBpbiBwYXJzZV90cnVuKCkgZm9yIGludGVycG9sYXRpb24KCSAgQXMgZmFsbGJhY2sgaWYgd2UgZG9uJ3QgaGF2ZSBhbnkgZXhpc3Rpbmcgc2FtcGxlcwoJICBhcyByZWZlcmVuY2UgcG9pbnQgeWV0LgoJICBCYXNlZCBvbiBwYXRjaCBieSBEYXZpZCBDb3J2b3lzaWVyIDxkYXZpZC5jb3J2b3lzaWVyQG9yYW5nZS5jb20+CgoyMDE0LTExLTI5IDE0OjM3OjI1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5oOgoJICBxdGRlbXV4OiBwYXJzZSBtZnJhIHJhbmRvbSBhY2Nlc3MgYm94IGZvciBmcmFnbWVudGVkIG1wNCBmaWxlcwoJICBJZiBpdCdzIHByZXNlbnQsIGFuZCB3ZSBvcGVyYXRlIGluIHB1bGwgbW9kZS4KCjIwMTQtMDgtMTUgMTQ6NTg6MjYgKzAyMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogc3RvcCBwYXJzaW5nIGhlYWRlcnMgZm9yIGZyYWdtZW50ZWQgbXA0cyBhdCB0aGUgZmlyc3QgbW9vZgoJICBDdXJyZW50bHkgZHVyaW5nIGhlYWRlciBwYXJzaW5nLCB3ZSBzY2FuIHRocm91Z2ggdGhlIGVudGlyZSBmaWxlCgkgIGFuZCBza2lwIGV2ZXJ5IG1vb2YrbWRhdCBjaHVuayBmb3IgZnJhZ21lbnRlZCBtcDRzLCB3aGljaCBtYWtlcwoJICBzdGFydC11cCBpbmNyZWRpYmx5IHNsb3cuIEluc3RlYWQsIGp1c3Qgc3RvcCBhdCB0aGUgZmlyc3QgbW9vZgoJICBjaHVuayB3aGVuIGhhdmUgYSBtb292LCBhbmQgc3RhcnQgZXhwb3NpbmcgdGhlIHN0cmVhbXMsIHNvIHdlCgkgIGNhbiBnbyBhbmQgc3RhcnQgaGFuZGxpbmcgdGhlIG1vb2ZzIGZvciByZWFsLgoKMjAxNC0xMS0yOSAxMzo1OTozNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2ljbGVzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2ljbGVzL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9pY2xlcy9nZGtwaXhidWZvdmVybGF5LXRlc3QuYzoKCSAgdGVzdHM6IGFkZCBpbnRlcmFjdGl2ZSBnZGtwaXhidWZvdmVybGF5IHRlc3QKCSAgSnVzdCBuZWVkIHRvIGZpeCB0aGUgY29vcmRpbmF0ZSBzeXN0ZW0gbm93IHNvCgkgIHRoYXQgbmVnYXRpdmUgb2Zmc2V0cyBhcmUgYWN0dWFsbHkgbmVnYXRpdmUKCSAgYW5kIG5vdCBmbGlwcGVkIHRvIHBvc2l0aW9uIHRoaW5ncyBmcm9tIHRoZQoJICBvcHBvc2l0ZSBib3JkZXIuCgoyMDE0LTExLTI5IDEzOjUzOjAzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmb3ZlcmxheS5jOgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWZvdmVybGF5Lmg6CgkgIGdka3BpeGJ1Zm92ZXJsYXk6IGFkZCAicGl4YnVmIiBwcm9wZXJ0eQoJICBTbyB3ZSBjYW4gc2V0IGEgR2RrUGl4YnVmIGRpcmVjdGx5IGluc3RlYWQgb2YKCSAgcmVhZGluZyBpdCBmcm9tIGFuIGltYWdlIGZpbGUgb24gdGhlIGZpbGUgc3lzdGVtLgoKMjAxNC0xMS0yOSAxMzoyMzo1MCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nZGtfcGl4YnVmL01ha2VmaWxlLmFtOgoJKiBleHQvZ2RrX3BpeGJ1Zi9waXhidWZzY2FsZS5jOgoJKiBleHQvZ2RrX3BpeGJ1Zi9waXhidWZzY2FsZS5oOgoJICBnZGtwaXhidWY6IHJlbW92ZSBwaXhidWZzY2FsZSBjb2RlIHRoYXQgd2FzIG5ldmVyIHBvcnRlZAoJICBEb24ndCB0aGluayB3ZSdsbCBuZWVkIHRoaXMgYWdhaW4uCgoyMDE0LTExLTI5IDE4OjM1OjQyIC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcnR4cmVjZWl2ZS5jOgoJICBydHBydHhyZWNlaXZlOiBVc2Ugb2Zmc2V0IHdoZW4gY29weWluZyBoZWFkZXIKCSAgVGhlIGhlYWRlciBpcyBub3QgYWx3YXlzIGF0IHRoZSBzdGFydCBvZiB0aGUgcGFja2V0LCBzbyB3ZSBuZWVkIHRvIGNvbXB1dGUKCSAgdGhlIG9mZnNldCBmaXJzdC4KCjIwMTQtMTEtMjggMTM6MTI6NDYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvdGFnbGliL2dzdGFwZXYybXV4LmNjOgoJICBhcGV2Mm11eDogd3JpdGUgQVBFIHRhZ3MgYXQgZW5kIGZvciB3YXZwYWNrIGZpbGVzCgkgIGh0dHA6Ly93d3cud2F2cGFjay5jb20vZmlsZV9mb3JtYXQudHh0OgoJICAiQm90aCB0aGUgQVBFdjIgdGFncyBhbmQvb3IgSUQzdjEgdGFncyBtdXN0IGNvbWUgYXQgdGhlIGVuZCBvZiB0aGUKCSAgV2F2UGFjayBmaWxlLCB3aXRoIHRoZSBJRDN2MSBjb21pbmcgbGFzdCBpZiBib3RoIGFyZSBwcmVzZW50LiIKCSAgV2F2UGFjayBmaWxlcyB0aGF0IGNvbnRhaW4gQVBFdjIgdGFncyBhdCB0aGUgYmVnaW5uaW5nIG9mIHRoZSBmaWxlcwoJICBhcmUgdW5wbGF5YWJsZSBvbiBwbGF5ZXJzIHRoYXQgdXNlIEZGbXBlZyAobGlrZSBWTEMpIGFuZCBtb3N0IG90aGVyCgkgIHNvZnR3YXJlIChleGNlcHQgQmFuc2hlZSkuIFBsYXllcnMgdGhhdCB1c2UgbGlid2F2cGFjayBkaXJlY3RseSBjYW4KCSAgcGxheSB0aGUgZmlsZXMgYmVjYXVzZSBpdCBza2lwcyB0aGUgdGFncywgYnV0IGRvZXMgbm90IHJlY29nbml6ZSB0aGUKCSAgdGFnIGRhdGEgYXQgdGhhdCBsb2NhdGlvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMTQzNwoKMjAxNC0xMS0yOCAxMDo0MTo1NSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2ljbGVzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2ljbGVzL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9pY2xlcy90ZXN0LXNlZ21lbnQtc2Vla3MuYzoKCSAgdGVzdHM6IGFkZCBpbnRlcmFjdGl2ZSB0ZXN0IGZvciBnYXBsZXNzIHBsYXliYWNrIHVzaW5nIFNFR01FTlQgc2Vla3MKCSAgTm90IHdvcmtpbmcgdG9vIHdlbGwgeWV0LCB0aGVyZSBhcmUgZ2xpdGNoZXMgZXZlbiB3aXRoIFdBViBvciBGTEFDLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkyMzY4CgoyMDE0LTExLTI2IDEwOjMzOjA5ICswMzAwICBBbmRyZWkgU2FyYWtlZXYgPHNhcmFrdXNoYUBnbWFpbC5jb20+CgoJKiBnc3QvdmlkZW9jcm9wL2dzdGFzcGVjdHJhdGlvY3JvcC5jOgoJKiBnc3QvdmlkZW9jcm9wL2dzdGFzcGVjdHJhdGlvY3JvcC5oOgoJICBhc3BlY3RyYXRpb2Nyb3A6IEhhbmRsZSByZXNvbHV0aW9uIGNoYW5nZXMgcHJvcGVybHkKCSAgV2hlbiBhbiBjYXBzLWV2ZW50IGlzIHJlY2VpdmVkLCB3ZSBtdXN0IGltbWVkaWF0ZWx5IGNoYW5nZSB0aGUgY3JvcAoJICB0byB2aWRlb2Nyb3AgY29ycmVjdGx5IGNoYW5nZWQgY2Fwcy1ldmVudCBkaW1lbnNpb24sIG90aGVyd2lzZSB0aGUKCSAgdmlkZW9jcm9wIHdpbGwgZmlyc3QgdXNlIHRoZSBwcmV2aW91cyB2YWx1ZSBvZiB0aGUgY3JvcCB0aGF0IHdoZW4KCSAgcmVzaXppbmcgdmlkZW8gdG8gYSBzbWFsbGVyIHJlc29sdXRpb24gbWF5IGNhdXNlIGFuIGVycm9yLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQwNjcxCgoyMDE0LTExLTI3IDE3OjEwOjUzICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA3YmIyYmNlIHRvIGVmMWZmZGMKCjIwMTQtMTEtMjcgMTE6MjA6MzYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9pY2xlcy90ZXN0LWFjY3VyYXRlLXNlZWsuYzoKCSAgdGVzdDogdXNlIGdzdF91dGlsX3VpbnQ2NF9zY2FsZV9yb3VuZCgpIGZvciB0aW1lc3RhbXAgdG8gc2FtcGxlIGNhbGN1bGF0aW9uCgoyMDE0LTExLTI3IDExOjE2OjM1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvaWNsZXMvLmdpdGlnbm9yZToKCSogdGVzdHMvaWNsZXMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2ljbGVzL3Rlc3QtYWNjdXJhdGUtc2Vlay5jOgoJICB0ZXN0czogYWRkIGludGVyYWN0aXZlIHRlc3QgZm9yIGFjY3VyYXRlIHNlZWtpbmcKCSAgRm9yIHNvbWUgYXVkaW8gZm9ybWF0cy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1NTI3NgoKMjAxNC0xMS0yNiAxNjowNDoyNiArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBpc29tcDQ6IENoZWNrIHByZXNlbmNlIG9mIG1maGQgaW4gbW9vZgoJICBUaGUgJ21maGQnIGF0b20gaXMgbWFuZGF0b3J5IGluICdtb29mJy4gV2UgY2FuIGxhdGVyIG9uIGNoZWNrIHdoZXRoZXIKCSAgdGhlIGZyYWdtZW50IG51bWJlciBwcm9wZXJseSBpbmNyZWFzZXMKCjIwMTQtMTEtMjYgMTU6NTk6MzYgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXhfZHVtcC5jOgoJICBpc29tcDQ6IEZpeCBtZnJvIGFuZCB0ZnJhIGF0b20gZHVtcGluZwoJICBtZnJvIHdhcyBza2lwcGluZyB0aGUgdmVyc2lvbi9mbGFncwoJICB0ZnJhIGhhZCB3cm9uZyBieXRlX3JlYWRlciByZXR1cm4gdmFsdWUgY2hlY2tzCgoyMDE0LTExLTI2IDE1OjU4OjI2ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4X2R1bXAuYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4X2R1bXAuaDoKCSogZ3N0L2lzb21wNC9xdGRlbXV4X3R5cGVzLmM6CgkgIGlzb21wNDogQWRkIG1maGQgYXRvbSBkdW1waW5nCgoyMDE0LTExLTI3IDAwOjE1OjAyICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBIYW5kbGUgZW1wdHkgc2VnbWVudHMgd2hlbiBzZWVraW5nIGluIHJldmVyc2UgcGxheS4KCSAgRW1wdHkgc2VnbWVudHMgaW4gYW4gZWRpdCBsaXN0IGhhdmUgYSBtZWRpYV9zdGFydCB0aW1lIG9mIC0xLAoJICBhcyB0aGV5IGRvbid0IGFjdHVhbGx5IHBsYXkgYW55IG1lZGlhLiBBbGxvdyBmb3IgdGhhdCB3aGVuCgkgIGFsaWduaW5nIHRvIHRoZSByZWZlcmVuY2Ugc3RyZWFtIGluIHJldmVyc2UgcGxheS4KCjIwMTQtMTEtMjQgMTA6MzY6NTQgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmFsbG9jYXRvci5jOgoJICBSZXZlcnQgInY0bDJhbGxvY2F0b3I6IFJlbW92ZSB1bnVzZWQgdmFyaWFibGUiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgYWQ0NDgwZDUzNDA4YTRkOTdhYjUzMTE3NGVmMzdmMjU4ZjMyNTNjMC4KCjIwMTQtMTEtMjQgMTA6MzY6MzAgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmFsbG9jYXRvci5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYWxsb2NhdG9yLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJICBSZXZlcnQgInY0bDI6IG1vdmUgdmJfcXVldWUgcHJvYmluZyBmcm9tIGFsbG9jYXRvciB0byB2NGwyb2JqZWN0IgoJICBUaGlzIHJldmVydHMgY29tbWl0IGVjNmI4Yjg0YWY3MTlkODI4ZGRkOTFjNzI0ZTcxNWMwYjRhNTU2YmMuCgoyMDE0LTExLTI0IDEwOjMzOjI5IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgUmV2ZXJ0ICJ2NGwyb2JqZWN0OiBhbGxvdyB0byBhdXRvbWF0aWMgc2VsZWN0aW9uIG9mIGRtYWJ1ZiIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCBlNmMyYWQ1NTcxZTVkZWRiMjEyMjg3ZWZlMjM4ZWI0NTAwMzJjZDRmLgoKMjAxNC0xMS0yMyAxNjozNDoxNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIFJFUVVJUkVNRU5UUzoKCSAgUkVRVUlSRU1FTlRTOiB1cGRhdGUgYSBsaXR0bGUKCSAgUGVvcGxlIGFjdHVhbGx5IGxvb2sgYXQgdGhhdCBpdCBzZWVtcy4KCjIwMTQtMTEtMjMgMTY6MjI6MTIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaWN5ZGVtdXgvTWFrZWZpbGUuYW06CgkgIGljeWRlbXV4OiBkb2VzIG5vdCBuZWVkIHRvIGxpbmsgYWdhaW5zdCB6bGliCgoyMDE0LTExLTIyIDIxOjI4OjM1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuaDoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmg6CgkgIHNwZWV4OiByZW1vdmUgc3VwcG9ydCBmb3IgYW5jaWVudCBzcGVleCB2ZXJzaW9ucwoKMjAxNC0xMS0yMSAxMToyMToxOCArMDEwMCAgQnJhbmlzbGF2IEthdHJlbmlhayA8YmthdHJlbmlha0BudXZvdGVjaG5vbG9naWVzLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXBodHRwc3JjOiBsb2cgY29ubmVjdGlvbiBldmVudHMgYXQgaW5mbyBsZXZlbAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM5MzA1CgoyMDE0LTEwLTIwIDEzOjAwOjM3ICswMjAwICBNaWd1ZWwgUGFyw61zIETDrWF6IDxtcGFyaXNkaWF6QGdtYWlsLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IGVuc3VyZSBydHhfcmV0cnlfcGVyaW9kID49IDAKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczOTM0NAoKMjAxNC0xMS0yMSAxMTo0NDoyNCAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYWxsb2NhdG9yLmM6CgkgIHY0bDJhbGxvY2F0b3I6IFJlbW92ZSB1bnVzZWQgdmFyaWFibGUKCSAgdGhpcyB3YXMgaW50cm9kdWNlZCBieSBjb21taXQgZWM2YjhiCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTkzODIKCjIwMTQtMTEtMTYgMTI6MzQ6MTcgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwydHJhbnNmb3JtLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb2RlYy5jOgoJICB2NGwyOiBIYW5kbGUgY29ycnVwdGVkIGJ1ZmZlciB3aXRoIGVtcHR5IHBheWxvYWQKCSAgVGhpcyBhbGxvdyBza2lwcGluZyBidWZmZXIgZmxhZ2dlZCB3aXRoIEVSUk9SIHRoYXQgaGFzIG5vIHBheWxvYWQuCgkgIFRoaXMgaXMgdHlwaWNhbCBiZWhhdmlvdXIgd2hlbiBhIHJlY292ZXJlcmFibGUgZXJyb3Igb2NjdXJlZCBkdXJpbmcKCSAgY2FwdHVyZSBpbiB0aGUgZHJpdmVyLCBidXQgdGhhdCBubyB2YWxpZCBkYXRhIHdhcyBldmVyIHdyaXR0ZW4gaW50byB0aGF0CgkgIGJ1ZmZlci4gVGhpcyBwYXRjaCBhbHNvIHRyYW5zbGF0ZSBWNEwyX0JVRl9GTEFHX0VSUk9SIGludG8KCSAgR1NUX0JVRkZFUl9GTEFHX0NPUlJVUFRFRC4gSGVuY2UgZGVjb2RpbmcgZXJyb3IgcHJvZHVjZQoJICBieSBkZWNvZGVyIGR1ZSB0byBtaXNzaW5nIGZyYW1lcyB3aWxsIG5vdyBiZSBjb3JyZWN0bHkgbWFya2VkLiBGaW5hbGx5LAoJICB0aGlzIGZpeGVzIGEgYnVmZmVyIGxlYWsgd2hlbiBFT1MgaXMgcmVhY2hlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MDA0MAoKMjAxNC0xMS0yMSAxNjozNjoxNSArMDEwMCAgQmVuamFtaW4gR2FpZ25hcmQgPGJlbmphbWluLmdhaWduYXJkQGxpbmFyby5vcmc+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IGFsbG93IHRvIGF1dG9tYXRpYyBzZWxlY3Rpb24gb2YgZG1hYnVmCgkgIElmIHRoZSB2NGwyIHF1ZXVlIHN1cHBvcnQgZG1hYnVmIHNlbGVjdCB0aGlzIGJ1ZmZlciBwb29sIG1vZGUKCSAgYW5kIHVwZGF0ZSB0aGUgcXVlcnkgd2l0aCBhbGxvY2F0b3IuCgkgIFRoaXMgcGF0Y2ggb25seSBjb25jZXJuIGV4cG9ydGluZyBkbWFidWYgYW5kIG5vdCBpbXBvcnRpbmcgZG1hYnVmCgkgIGZkIGZyb20gZG93bnN0cmVhbSBlbGVtZW50LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk5MzgyCgoyMDE0LTExLTIxIDE2OjEzOjA1ICswMTAwICBCZW5qYW1pbiBHYWlnbmFyZCA8YmVuamFtaW4uZ2FpZ25hcmRAbGluYXJvLm9yZz4KCgkqIHN5cy92NGwyL2dzdHY0bDJhbGxvY2F0b3IuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmFsbG9jYXRvci5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSAgdjRsMjogbW92ZSB2Yl9xdWV1ZSBwcm9iaW5nIGZyb20gYWxsb2NhdG9yIHRvIHY0bDJvYmplY3QKCSAgVGhlIGdvYWwgaXMgdG8gbWFrZSB0aG9zZSBpbmZvcm1hdGlvbiBhdmFpbGFibGUgaW4gdjRsMl9vYmplY3QKCSAgdG8gYmUgYWJsZSBsYXRlciB0byBzZWxlY3QgdGhlIGJlc3QgYWxsb2NhdGlvbiBtZXRob2QgZm9yIHRoZSBwb29sCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTkzODIKCjIwMTQtMTEtMjAgMjI6NDI6NTkgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGdpdEBhcnVucmFnaGF2YW4ubmV0PgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkgIHJ0cGJpbjogRml4IHVwIG5ld19qaXR0ZXJidWZmZXIgc2lnbmFsIHByb3RvdHlwZQoKMjAxNC0xMS0yMCAyMDoxOToyNSArMDUzMCAgQXJ1biBSYWdoYXZhbiA8Z2l0QGFydW5yYWdoYXZhbi5uZXQ+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiBEb2N1bWVudCBob3cgdG8gY29udHJvbCBwZXItU1NSQyByZXRyYW5zbWlzc2lvbgoKMjAxNC0xMS0yMCAyMDoxODo0NSArMDUzMCAgQXJ1biBSYWdoYXZhbiA8Z2l0QGFydW5yYWdoYXZhbi5uZXQ+CgoJKiBkb2NzL2Rlc2lnbi9kZXNpZ24tcnRwcmV0cmFuc21pc3Npb24udHh0OgoJICBkb2M6IFRyaXZpYWwgc3BlbGxpbmcgYW5kIGNvbnNpc3RlbmN5IHVwZGF0ZQoKMjAxNC0xMS0yMCAxMzoxNDoxNCArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGdzdGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3N0cGF5LmM6CgkgIHJ0cGdzdHBheTogcHV0IDAtYnl0ZSBhdCB0aGUgZW5kIG9mIGV2ZW50cwoJICBQdXQgYSAwLWJ5dGUgYXQgdGhlIGVuZCBvZiB0aGUgZXZlbnQgc3RyaW5nLiBEb2VzIG5vdCBicmVhayBBQkkgYmVjYXVzZQoJICBvbGQgZGVwYXlsb2FkZXJzIHdpbGwgc2tpcCB0aGUgMCBieXRlICh3aGljaCBpcyBpbmNsdWRlZCBpbiB0aGUgbGVuZ3RoKS4KCSAgRXhwZWN0IGEgMC1ieXRlIGF0IHRoZSBlbmQgb2YgdGhlIGV2ZW50IHN0cmluZyBvciBhIDsgZm9yIG9sZAoJICBwYXlsb2FkZXJzLgoJICBTZWUgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNzU5MQoKMjAxNC0xMS0yMCAxMjo0MDoyOCArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGdzdGRlcGF5LmM6CgkgIHJ0cGdzdGRlcGF5OiBhdm9pZCBidWZmZXIgb3ZlcnJlYWQuCgkgIENoZWNrIHRoYXQgYSBjYXBzIGV2ZW50IHN0cmluZyBpcyAwIHRlcm1pbmF0ZWQgYW5kIHRoZSBldmVudCBzdHJpbmcgaXMKCSAgdGVybWluYXRlZCB3aXRoIGEgOyB0byBhdm9pZCBidWZmZXIgb3ZlcnJlYWRzLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM3NTkxCgoyMDE0LTExLTIwIDEwOjQ1OjA3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eG1hcC5jOgoJICBxdG11eDogZG9uJ3QgbGltaXQgbWF4IHZpZGVvIHJlc29sdXRpb24gdG8gNDA5Nng0MDk2CgkgIE1BWCBpc24ndCBlbnRpcmVseSBjb3JyZWN0IGFzIHVwcGVyIGxpbWl0IGVpdGhlciwKCSAgaXQgc2hvdWxkIHJlYWxseSBiZSBNQVhVSU5UMzIsIGJ1dCBpdCdzIHVubGlrZWx5CgkgIHRvIGJlIGEgcHJvYmxlbSBpbiB0aGUgbmVhciBmdXR1cmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDA0MDcKCjIwMTQtMTEtMTkgMTU6MDY6MDAgLTA4MDAgIEFsZWl4IENvbmNoaWxsbyBGbGFxdcOpIDxhbGVpeEBvYmxvbmcuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBmaXggbGVhayBmb3IgbWlrZXkgYmFzZTY0IGRlY29kZWQga2V5LW1nbXQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MDM5MgoKMjAxNC0xMS0yMCAwOTowMTozOCArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9iYWxhbmNlLmM6CgkgIHZpZGVvYmFsYW5jZTogZml4IHVuaGFuZGxlZCBmb3JtYXQgaW4gcGFzc3Rocm91Z2gKCSAgSW4gcGFzc3Rocm91Z2ggd2UgY2FuIGhhbmRsZSBhbGwgZm9ybWF0cy4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MDM4NwoKMjAxNC0xMS0xOSAxNjoxMjozOCArMDEwMCAgSmFuIEFsZXhhbmRlciBTdGVmZmVucyAoaGVmdGlnKSA8anN0ZWZmZW5zQG1ha2UudHY+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdmRlbXV4OiBSZXN0cmljdCByZXN5bmNpbmcgdG8gVFMgcmVncmVzc2lvbnMKCSAgVGhlIGJlaGF2aW9yIG9mIHJlc3luY2luZyB2aWRlbyBhbmQgYXVkaW8gaW5kZXBlbi0KCSAgZGVudGx5IGNhbiBjYXVzZSBBL1YgZGVzeW5jcy4gTGV0cyByZXN0cmljdCByZXN5bmNzCgkgIHRvIGp1bXBzIGJhY2t3YXJkIGZvciBub3cuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzYzOTcKCjIwMTQtMTEtMTcgMjM6MTY6MDMgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmg6CgkgIHZpZGVvbWl4ZXI6IGZpeCB1cCBRb1MgaGFuZGxpbmcgZm9yIGxpdmUgc291cmNlcwoJICBPbmx5IGF0dGVtcHQgYWRhcHRpdmUgZHJvcCB3aGVuIHdlIGFyZSBub3QgbGl2ZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM5OTk2CgoyMDE0LTExLTEwIDIyOjM0OjM5ICswMTAwICBIZW5uaW5nIEhlaW5vbGQgPGhlbm5pbmdAaXRjb25zdWx0aW5nLWhlaW5vbGQuZGU+CgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvY2xpZW50LVBDTUEucHk6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9zZXJ2ZXItYWxzYXNyYy1QQ01BLnB5OgoJICBleGFtcGxlczogcG9ydCBweXRob24gcnRwIFBDTUEgY2xpZW50L3NlcnZlciB0ZXN0cyB0byAxLjAKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczOTkzMAoKMjAxNC0wNi0wNCAxMjoxMToxMCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkgIGZsYWNkZWM6IHNldCB0aGUgY2hhbm5lbCBwb3NpdGlvbnMgdXNpbmcgdGhlIGFwcHJvcHJpYXRlIEFQSQoJICBUaGlzIGF2b2lkcyBfc2V0X2Zvcm1hdCBzZXR0aW5nIHRoZSB1bnBvc2l0aW9uZWQgZmxhZyB3aGVuIHBhc3NlZAoJICBOVUxMIGFzIGNoYW5uZWwgcG9zaXRpb25zLCBhcyBpdCB3b3VsZCBub3QgYmUgY2xlYXJlZCB3aGVuIHNldHRpbmcKCSAgYWN0dWFsIGNoYW5uZWwgcG9zaXRpb25zIGxhdGVyLgoKMjAxNC0xMS0wMSAyMjozOTo0MSArMDEwMCAgQXVyw6lsaWVuIFphbmVsbGkgPGF1cmVsaWVuLnphbmVsbGlAZGFya29zcGhlcmUuZnI+CgoJKiBleHQvdnB4L2dzdHZwOGVuYy5jOgoJKiBleHQvdnB4L2dzdHZwOWVuYy5jOgoJICB2cHg6IG1hcmsgYXJuci10eXBlIHByb3BlcnRpZXMgYXMgZGVwcmVjYXRlZCBhbmQgc2V0IHRoZW0gdG8gbm8tb3AKCSAgQVJOUiB0eXBlIGNvbnRyb2wgaW4gbGlidnB4IGhhcyBiZWVuIGRlcHJlY2F0ZWQgc28gdGhpcyBjb21taXQgbWFyayB0aGUKCSAgdnA4ZW5jIGFuZCB2cDllbmMgYXNzb2NpYXRlZCBwcm9wZXJ0aWVzIGFzIGRlcHJlY2F0ZWQgYW5kIGNoYW5nZSB0aGVpcgoJICBiZWhhdmlvciB0byBqdXN0IGRpc3BsYXkgYSB3YXJuaW5nIG1lc3NhZ2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzk0NzYKCjIwMTQtMTEtMTAgMTM6MTY6MDEgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGdpdEBhcnVucmFnaGF2YW4ubmV0PgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cG1hbmFnZXI6IFRyaXZpYWwgdHlwbyBmaXgKCjIwMTQtMTEtMDkgMTE6MDQ6MzMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thLW11eDogVXNlIEdfREVGSU5FX1RZUEUoKSB0byByZWdpc3RlciB0aGUgcGFkIGluc3RlYWQgb2YgbWFudWFsbHkgcmVnaXN0ZXJpbmcgaXQKCjIwMTQtMTEtMDYgMTU6Mzc6MjggKzAxMDAgIEfDtnJhbiBKw7Zuc3NvbiA8Z29yYW5qbkBheGlzLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IG1ha2UgR3N0TWF0cm9za2FtdXhQYWQgZ2V0X3R5cGUoKSBmdW5jdGlvbiB0aHJlYWQtc2FmZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM5NzIyCgoyMDE0LTExLTA3IDE2OjExOjI0ICswMTAwICBBdXLDqWxpZW4gWmFuZWxsaSA8YXVyZWxpZW4uemFuZWxsaUBwYXJyb3QuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmFsbG9jYXRvci5jOgoJICB2NGwyYWxsb2NhdG9yOiBmaXggZXJyb3IgbWVzc2FnZSBpZiBhbGxvY2F0b3IgaXMgYWxyZWFkeSBhY3RpdmUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczOTc4OQoKMjAxNC0xMS0wNiAyMToyMTo0MCAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyYnVmZmVycG9vbDogSW1wcm92ZSBidWZmZXIgdmFsaWRhdGlvbgoJICBJbXByb3ZlIGJ1ZmZlciB2YWxpZGF0aW9uIGJ5IG1ha2luZyBzdXJlIGVhY2ggbWVtb3J5IGFyZSB0aGUgcmlnaHQKCSAgb25lIGFuZCB0aGF0IGVhY2ggbWVtb3J5IGlzIHdyaXRhYmxlLiBUaGlzIGZpeGVzIHRlYXJpbmcgaXNzdWVzIGluCgkgIGNhc2UgZG93bnN0cmVhbSB1c2VzIGdzdF9idWZmZXJfbWFrZV93cml0YWJsZSgpIG9yIG90aGVyIHR5cGUKCSAgb2YgR3N0QnVmZmVyIGNvcHkgd2hlcmUgbWVtb3J5IGFyZSBvbmx5IHJlZmZlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczOTc1NAoKMjAxNC0xMS0wNiAyMTozODo0MyArMDEwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZ3N0L3J0c3AvTWFrZWZpbGUuYW06CgkgIHJ0c3A6IGZpeCBidWlsZCBpbiBnc3QtdW5pbnN0YWxsZWQgc2V0dXAKCjIwMTQtMTAtMjkgMTg6NDQ6NDMgKzAxMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGdub21lLm9yZz4KCgkqIGdzdC9pbWFnZWZyZWV6ZS9nc3RpbWFnZWZyZWV6ZS5jOgoJKiBnc3QvaW1hZ2VmcmVlemUvZ3N0aW1hZ2VmcmVlemUuaDoKCSAgaW1hZ2VmcmVlemU6IEhhbmRsZSBzZXFudW1zCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzkzNjYKCjIwMTQtMTEtMDQgMDg6MTg6NDEgKzA1MzAgIFZpbmVldGggVCBNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzoKCSogZXh0L2xpYnBuZy9nc3RwbmdkZWMuaDoKCSAgcG5nZGVjOiBjaGFuZ2UgcGFyc2UgbG9naWMKCSAgUmlnaHQgbm93IGluIHBhcnNlIGxvZ2ljIHRoZSBzaWduYXR1cmUgaXMgY2hlY2tlZCBldmVyeSB0aW1lIHRoZSBwYXJzZSBmdW5jdGlvbgoJICBpcyBjYWxsZWQsIGFuZCB0aGUgd2hvbGUgZGF0YSBpcyB0aGUgc2Nhbm5lZCBlYWNoIGFuZCBldmVyeSB0aW1lLCBldmVuIHRob3VnaCB0aGUKCSAgZGF0YSBpcyBzY2FubmVkIGluIHRoZSBwcmV2aW91cyBpbnN0YW5jZS4gQ2hhbmdpbmcgdGhlIGxvZ2ljIHN1Y2ggdGhhdCwgd2Ugc2tpcAoJICB0aGUgYnl0ZXMgd2hpY2ggYXJlIGFscmVhZHkgc2Nhbm5lZCBpbiB0aGUgcHJldmlvdXMgaW5zdGFuY2VzIG9mIHBhcnNlLiBUaGlzCgkgIGhlbHBzIGluIGF2b2lkaW5nIG11bHRpcGxlIHNjYW4gb2YgYWxyZWFkeSBzY2FubmVkIGRhdGEvc2lnbmF0dXJlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM3NzA4CgoyMDE0LTExLTAzIDE1OjI2OjA2ICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIHZpZGVvbWl4ZXIyOiByZXZlcnNlIG9yZGVyIG9mIHBhcmFtcyBmb3IgY29udmVydGVyCgoyMDE0LTExLTAzIDExOjQ0OjI4ICswMTAwICBBdXLDqWxpZW4gWmFuZWxsaSA8YXVyZWxpZW4uemFuZWxsaUBwYXJyb3QuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMmJ1ZmZlcnBvb2w6IGZpeCB0eXBvIGluIGZsYWdzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzk1NDkKCjIwMTQtMTEtMDIgMjM6MzM6MjMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJzcmM6IGZpeCBhIGNvdXBsZSBvZiBtaW5vciBsZWFrcwoKMjAxNC0xMS0wMiAxOTo0MjowMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9nb29tMmsxL2dzdGdvb20uYzoKCSogZ3N0L2dvb20yazEvZ3N0Z29vbS5oOgoJICBnb29tMmsxOiBwb3N0IFFvUyBtZXNzYWdlcyB3aGVuIGRyb3BwaW5nIGZyYW1lcyBkdWUgdG8gUW9TCgoyMDE0LTExLTAyIDE5OjI5OjUyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2dvb20vZ3N0Z29vbS5jOgoJKiBnc3QvZ29vbS9nc3Rnb29tLmg6CgkgIGdvb206IHBvc3QgUW9TIG1lc3NhZ2VzIHdoZW4gZHJvcHBpbmcgZnJhbWVzIGR1ZSB0byBRb1MKCjIwMTQtMTEtMDIgMTk6MDI6MzUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiB0d2VhayB3cml0aW5nIGFwcCB0YWcgc3RyaW5nIGEgbGl0dGxlCgoyMDE0LTExLTAyIDE2OjUxOjIzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICBTcHJpbmtsZSBzb21lIEdfUEFSQU1fREVQUkVDQVRFRCBhbmQgI2lmbmRlZiBHU1RfUkVNT1ZFX0RFUFJFQ0FURUQKCjIwMTQtMTEtMDIgMTY6NTg6MDcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9sZXZlbC5jOgoJICB0ZXN0czogZG9uJ3QgdXNlIGRlcHJlY2F0ZWQgcHJvcGVydHkgaW4gbGV2ZWwgdW5pdCB0ZXN0CgoyMDE0LTExLTAyIDEzOjA2OjMzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogaW1wbGVtZW50IGdldC9zZXQgZm9yIG5ldyBydHgtbWluLXJldHJ5LXRpbWVvdXQgcHJvcGVydHkKCSAgUHJvcGVydGllcyBhcmUgc28gbXVjaCBtb3JlIHVzZWZ1bCBpZiB5b3UgY2FuIGFjdHVhbGx5IHNldAoJICBhbmQgZ2V0IHRoZWlyIHZhbHVlcy4KCjIwMTQtMTAtMzAgMTc6NDE6MTkgKzAwMDAgIFNpbW9uIEZhcm5zd29ydGggPHNpbW9uLmZhcm5zd29ydGhAb25lbGFuLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIHY0bDI6IENsZWFuIHVwIGludGVybGFjZSBzdXBwb3J0CgkgIFJhdGhlciB0aGFuIHRyeSBhbmQgZ3Vlc3MgaW50ZXJsYWNlIHN1cHBvcnQgYXMgcGFydCBvZiBjaGVja2luZyBzdXBwb3J0ZWQKCSAgc2l6ZXMsIGxvb2sgZm9yIGludGVybGFjZSBzdXBwb3J0IHNwZWNpZmljYWxseSBpbiBpdHMgb3duIGZ1bmN0aW9uLgoJICBBcyBhIGNsZWFudXAsIHVzZSBWNEwyX0ZJRUxEX0FOWSB3aGVuIHByb2Jpbmcgc2l6ZXMsIHdoaWNoIHNob3VsZCByZXN1bHQgaW4KCSAgdGhlIGRyaXZlciBkb2luZyB0aGUgcmlnaHQgdGhpbmcuCgkgIFdpdGggbXkgY2FwdHVyZSBzZXR1cCwgdGhpcyBnZXRzIG1lIHRoZSBmb2xsb3dpbmcgc2FtcGxlIGNhcHM6CgkgIEZvciAxMDgwaSByZXNvbHV0aW9uOgoJICB2aWRlby94LXJhdywgZm9ybWF0PShzdHJpbmcpWVVZMiwgd2lkdGg9KGludCkxOTIwLCBoZWlnaHQ9KGludCkxMDgwLCBwaXhlbC1hc3BlY3QtcmF0aW89KGZyYWN0aW9uKTEvMSwgaW50ZXJsYWNlLW1vZGU9KHN0cmluZylpbnRlcmxlYXZlZCwgZnJhbWVyYXRlPShmcmFjdGlvbil7IDI1LzEsIDMwLzEgfQoJICBGb3IgNzIwcCByZXNvbHV0aW9uOgoJICB2aWRlby94LXJhdywgZm9ybWF0PShzdHJpbmcpWVVZMiwgd2lkdGg9KGludCkxMjgwLCBoZWlnaHQ9KGludCk3MjAsIHBpeGVsLWFzcGVjdC1yYXRpbz0oZnJhY3Rpb24pMS8xLCBpbnRlcmxhY2UtbW9kZT0oc3RyaW5nKXByb2dyZXNzaXZlLCBmcmFtZXJhdGU9KGZyYWN0aW9uKXsgNTAvMSwgNjAvMSB9CgkgIEZvciA1NzZpL3AgcmVzb2x1dGlvbiAoYm90aCBwb3NzaWJsZSBhdCB0aGUgcG9pbnQgb2YgcXVlcnkpOgoJICB2aWRlby94LXJhdywgZm9ybWF0PShzdHJpbmcpWVVZMiwgd2lkdGg9KGludCk3MjAsIGhlaWdodD0oaW50KTU3NiwgcGl4ZWwtYXNwZWN0LXJhdGlvPShmcmFjdGlvbikxLzEsIGludGVybGFjZS1tb2RlPShzdHJpbmcpeyBwcm9ncmVzc2l2ZSwgaW50ZXJsZWF2ZWQgfSwgZnJhbWVyYXRlPShmcmFjdGlvbil7IDI1LzEsIDUwLzEgfQoJICBUaGlzLCBpbiB0dXJuLCBtYWtlcyA1NzZpIHdvcmsgY29ycmVjdGx5OyB3aXRoIHRoZSBvbGQgY29kZSwKCSAgdGhlIGNhcHMgd291bGQgYmUgaW50ZXJsYWNlLW1vZGU9cHJvZ3Jlc3NpdmUgZm9yIGludGVybGFjZWQgdmlkZW8uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjYxOTQKCjIwMTQtMTEtMDEgMTI6MTg6MDIgKzAxMDAgIEF1csOpbGllbiBaYW5lbGxpIDxhdXJlbGllbi56YW5lbGxpQGRhcmtvc3BoZXJlLmZyPgoKCSogZXh0L3ZweC9nc3R2cDh1dGlscy5oOgoJICB2cHg6IHJlbW92ZSBjb21wYXRpYmlsaXR5IGRlZmluZXMKCSAgV2UgYXJlIGd1YXJhbnRlZWQgdG8gaGF2ZSBWUFhfSU1HX0ZNVF9JNDIwLCBWUFhfUExBTkVfWSwKCSAgVlBYX1BMQU5FX1UgYW5kIFZQWF9QTEFORV9WIGFzIHdlIHJlcXVpcmUgbGlidnB4ID4gMS4xLjAuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzk0NzYKCjIwMTQtMTEtMDEgMTU6MzM6MjMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tjb21tb24uYzoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6CgkgIHdhdnBhY2s6IHJlbW92ZSBzdXBwb3J0IGZvciBhbmNpZW50IEFQSSB2ZXJzaW9uCgoyMDE0LTExLTAxIDEwOjE0OjMxIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwdnA4ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2cDhwYXkuYzoKCSAgcnRwdnA4OiBVc2UgVlA4IGVuY29kaW5nIG5hbWUKCSAgQm90aCBGaXJlZm94IGFuZCBDaHJvbWUgdXNlcyBWUDggYXMgdGhlIGVuY29kaW5nIGluIHRoZWlyIFNEUC4KCSAgQWRkaW5nIHRoaXMgbm93IGRlZmFjdG8gc3RhbmRhcmQgbmFtZSByZW1vdmVzIHRoZSBuZWVkIGZvciBzcGVjaWFsCgkgIGNhc2UgaW4gU0RQIHBhcnNpbmcgY29kZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNzgxMAoKMjAxNC0xMS0wMSAxMTo1OToyNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwbXAydHBheS5jOgoJICBydHBtcDJ0cGF5OiBmaXggdXAgdGVtcGxhdGUgY2FwcyBzbyB3ZSBjYW4gb3V0cHV0IHRoZSBkZWZhdWx0IHB0IDMzCgkgIEFkZCBmaXhlZCBwYXlsb2FkIHR5cGUgZm9yIG1wMnQgdG8gdGVtcGxhdGUgY2FwcyBhcyB3ZWxsLCBzbwoJICBvdXIgb3V0cHV0IGNhcHMgbWF0Y2ggdGhlIGFkdmVydGlzZWQgZGVmYXVsdCBwdC4gRml4ZXMgYQoJICByZWdyZXNzaW9uIGZyb20gMS4yLgoJICBUaGVyZSdzIHN0aWxsIHNvbWV0aGluZyB3cm9uZyB3aXRoIGNhcHMgbmVnb3RpYXRpb24gdGhvdWdoLAoJICBydHBtcDJ0cGF5IHBheWxvYWQ9OTYgISBmYWtlc2luayB3aWxsIG5vdCBvdXRwdXQgY2FwcyB3aXRoCgkgIHBheWxvYWQ9OTYuCgoyMDE0LTEwLTMwIDE1OjM3OjM2IC0wNzAwICBBbGVpeCBDb25jaGlsbG8gRmxhcXXDqSA8YWxlaXhAb2Jsb25nLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogbWlrZXkgcmVsYXRlZCBtZW1vcnkgbGVha3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczOTQzMAoKMjAxNC0wNi0xMCAxMDowNDowNyArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmg6CgkgIHNwZWV4ZW5jOiB1cGRhdGUgb3V0cHV0IHNlZ21lbnQgc3RvcCB0aW1lIHRvIG1hdGNoIGNsaXBwZWQgc2FtcGxlcwoJICBUaGlzIHdpbGwgbGV0IG9nZ211eCBnZW5lcmF0ZSBhIGdyYW5wb3Mgb24gdGhlIGxhc3QgcGFnZSB0aGF0IHByb3Blcmx5CgkgIHJlcHJlc2VudHMgdGhlIGNsaXBwZWQgc2FtcGxlcyBhdCB0aGUgZW5kIG9mIHRoZSBzdHJlYW0uCgoyMDE0LTA2LTEwIDEwOjU5OjEzICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5oOgoJICBmbGFjZW5jOiB1cGRhdGUgb3V0cHV0IHNlZ21lbnQgc3RvcCB0aW1lIHRvIG1hdGNoIGNsaXBwZWQgc2FtcGxlcwoJICBUaGlzIHdpbGwgbGV0IG9nZ211eCBnZW5lcmF0ZSBhIGdyYW5wb3Mgb24gdGhlIGxhc3QgcGFnZSB0aGF0IHByb3Blcmx5CgkgIHJlcHJlc2VudHMgdGhlIGNsaXBwZWQgc2FtcGxlcyBhdCB0aGUgZW5kIG9mIHRoZSBzdHJlYW0uCgoyMDE0LTEwLTA3IDE1OjI5OjMzICswMjAwICBBdXLDqWxpZW4gWmFuZWxsaSA8YXVyZWxpZW4uemFuZWxsaUBwYXJyb3QuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMmJ1ZmZlcnBvb2w6IGNsZWFubHkgaGFuZGxlIHN0cmVhbW9uIGZhaWx1cmUgZm9yIG91dHB1dCBkZXZpY2UKCSAgT24gc3RyZWFtb24gZmFpbHVyZSwgdGhlIHF1ZXVlZCBidWZmZXIgaXMgbm90IHJlbGVhc2VkIGZyb20gdGhlCgkgIGJ1ZmZlcnBvb2wgY2xhc3MgcG9pbnQgb2YgdmlldyBiZWNhdXNlIGl0IGlzIHF1ZXVlZCB0byB0aGUgZHJpdmVyIGFuZAoJICB0aGUgZmx1c2ggbG9naWMgaXMgbm90IHBlcmZvcm1lZCBzaW5jZSB3ZSBhcmUgbm90IGluIHN0cmVhbWluZyBzdGF0ZS4KCSAgSXQgY2F1c2VzIHRoZSB2NGwyIGJ1ZmZlcnBvb2wgdG8gYWx3YXlzIHJldHVybiB0aGF0IHN0b3AgbWV0aG9kIGZhaWxlZAoJICBhbmQgdG8gbGVhayB2NGwyIG9iamVjdHMgYW5kIGJ1ZmZlcnMuCgkgIFRoaXMgY29tbWl0IHNvbHZlIHRoaXMgYnkgcGVyZm9ybWluZyB0aGUgZmx1c2ggbG9naWMgaW4gZXJyb3IgY2FzZSwgaWUKCSAgZmx1c2hpbmcgdGhlIGFsbG9jYXRvciBhbmQgcmVzdG9yaW5nIHF1ZXVlZCBidWZmZXIgc3RhdGUgdG8gbm9uLXF1ZXVlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczODEwMgoKMjAxNC0xMC0wOCAxMDozMToyMSArMDIwMCAgQXVyw6lsaWVuIFphbmVsbGkgPGF1cmVsaWVuLnphbmVsbGlAcGFycm90LmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDJidWZmZXJwb29sOiBpbXBsZW1lbnQgZGlzcG9zZSBtZXRob2QKCSAgVW5yZWYgb2JqZWN0cyBpbiBkaXNwb3NlIG1ldGhvZCByYXRoZXIgdGhhbiBpbiBmaW5hbGl6ZSBpbiBvcmRlciB0bwoJICBwcmV2ZW50IGNpcmN1bGFyIHJlZmVyZW5jZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczODEwMgoKMjAxNC0xMC0wOCAxMDozNToxNCArMDIwMCAgQXVyw6lsaWVuIFphbmVsbGkgPGF1cmVsaWVuLnphbmVsbGlAcGFycm90LmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDJidWZmZXJwb29sOiBjaGVjayB0aGF0IGFsbG9jYXRvciBpcyBub24gbnVsbCB3aGVuIHN0b3BwaW5nIHBvb2wKCSAgT3RoZXJ3aXNlLCB3ZSBjb3VsZCBkZXJlZmVyZW5jZSBOVUxMIGFsbG9jYXRvciB3aGVuIHRoZSBzdG9wIG1ldGhvZCBpcwoJICBjYWxsZWQgYnkgdGhlIEdzdEJ1ZmZlclBvb2wncyBmaW5hbGl6ZSBtZXRob2QuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzgxMDIKCjIwMTQtMTAtMDkgMTI6MTU6MDUgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkgIHY0bDJzaW5rOiBJbXBsZW1lbnQgdW5sb2NrL3VubG9ja19zdG9wCgkgIFRoaXMgd2lsbCBwcmV2ZW50IGRlYWRsb2NrcywgYnV0IHdpbGwgYWxzbyBwcm9wZXJseSBmbHVzaCB0aGUgcG9vbCBhbmQgYWxsb2NhdG9yCgkgIHdoZW4gZ29pbmcgdG8gUkVBRFkgc3RhdGUuIEl0IHNob3VsZCBhbHNvIGZpeCBpc3N1ZXMgcmVwb3J0ZWQgb24gbWFpbGluZyBsaXN0CgkgIHdoZW4gc2Vla2luZyBpcyBwZXJmb3JtZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzgxNTIKCjIwMTQtMTAtMjggMjE6MzI6MDYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvcHVsc2UvcHVsc2VkZXZpY2Vwcm92aWRlci5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyZGV2aWNlcHJvdmlkZXIuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnR1bmVyLmg6CgkgIHB1bHNlLCB2NGwyOiBhZGQgbWlzc2luZyBHX0VORF9ERUNMUyBpbiBzb21lIHBsYWNlcwoKMjAxNC0xMC0yNyAxNzo1NzoyMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gODRkMDZjZCB0byA3YmIyYmNlCgoyMDE0LTEwLTI3IDExOjA4OjIwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYWFjcGFyc2UuYzoKCSAgYWFjcGFyc2U6IEZpeCB1bml0IHRlc3Qgbm93IHRoYXQgd2UgYWx3YXlzIGhhdmUgcHJvZmlsZS9sZXZlbCBpbiB0aGUgY2FwcwoKMjAxNC0xMC0yNiAxNDo1NTo0OSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIE1ha2VmaWxlLmFtOgoJICBQYXJhbGxlbGlzZSAnbWFrZSBjaGVjay12YWxncmluZCcKCSAgU29tZSBvZiB0aGUgUlRQIHVuaXQgdGVzdHMgYXJlIHZlcnkgZmxha3kgYW5kIHdpbGwKCSAgZmFpbCBtb3JlIG9mdGVuIHdpdGggdGhlIENQVSBtYXhlZCBvdXQgZnVsbHkuIFRob3NlCgkgIHRlc3RzIG5lZWQgdG8gYmUgZml4ZWQgaW4gYW55IGNhc2UgdGhvdWdoLCB0aGV5IGFsc28KCSAgZmFpbCBvbiBzbG93ZXIgbWFjaGluZXMgYW5kIGFsc28gb2NjYXNpb25hbGx5IHdpdGgKCSAgbm9ybWFsICdtYWtlIGNoZWNrJy4KCjIwMTQtMTAtMjYgMTE6NDc6MjUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiBBbHdheXMgc2V0IHByb2ZpbGUvbGV2ZWwgb24gdGhlIGNhcHMKCSAgV2UgaGF2ZSB0aGUgaW5mb3JtYXRpb24gYWxyZWFkeSwgc28gd2h5IG5vdCB1c2UgaXQ/CgoyMDE0LTEwLTI1IDEyOjM2OjAyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogZml4IGNyYXNoIG9uIHNvbWUgMzItYml0IHN5c3RlbXMKCSAgTWFrZSBzdXJlIHRvIHBhc3MgcmlnaHQgbnVtYmVyIG9mIGJpdHMgdG8gZ3N0X3N0cnVjdHVyZV9uZXcoKQoJICB3aGljaCBpcyBhIHZhcmFyZyBmdW5jdGlvbi4KCSAgRml4ZXMgZWxlbWVudHMvcnRwYXV4IHVuaXQgdGVzdCBvbiBwcGMzMi4KCjIwMTQtMTAtMjUgMDA6NTY6MDIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ3ZvbHVtZS5jOgoJICB0ZXN0czogZml4IHJndm9sdW1lIHRlc3Qgb24gYmlnLWVuZGlhbiBzeXN0ZW1zCgoyMDE0LTEwLTI1IDAwOjUzOjM5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL211bGF3ZGVjLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL211bGF3ZW5jLmM6CgkgIHRlc3RzOiBmaXggbXVsYXdkZWMvbXVsYXdlbmMgdGVzdCBmb3IgYmlnIGVuZGlhbiBzeXN0ZW1zCgoyMDE0LTEwLTI0IDIzOjQ4OjMwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOgoJICBpbnRlcmxlYXZlOiBpbnRlcnNlY3QgcmVzdWx0IHdpdGggZmlsdGVyIGNhcHMgaW4gY2FwcyBxdWVyeQoJICBGaXhlcyBjcmFzaCBpbiBhdWRpb3Rlc3RzcmMgYmVjYXVzZSBvZiBhbiB1bnN1cHBvcnRlZCBmb3JtYXQKCSAgZ2V0dGluZyBuZWdvdGlhdGVkIG9uIGJpZy1lbmRpYW4gc3lzdGVtcyB3aXRoCgkgIGF1ZGlvdGVzdHNyYyAhIGludGVybGVhdmUgISBhdWRpb2NvbnZlcnQgISB3YXZlbmMKCjIwMTQtMTAtMjMgMTU6NDY6MTMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvcHVsc2UvcHVsc2VkZXZpY2Vwcm92aWRlci5jOgoJKiBleHQvcHVsc2UvcHVsc2VkZXZpY2Vwcm92aWRlci5oOgoJICBwdWxzZTogcmVtb3ZlIHNvbWUgdW51c2VkIHR5cGVkZWZzCgoyMDE0LTEwLTIyIDE1OjI4OjQ0ICswMjAwICBBbmFuZGEgPGFuYW5kYUBsYXRlbGllcjIzLmNvbT4KCgkqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzoKCSAgc3BlZXg6IEZpeCBzZWdmYXVsdCB3aGVuIHJlc2V0dGluZyB0aGUgY29kZWNzIG11bHRpcGxlIHRpbWVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzg3OTMKCjIwMTQtMTAtMjIgMjI6NTA6NTQgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW5AYWNjb3N0ZWQubmV0PgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IFRlbXBvcmFyaWx5IGRpc2FibGUgc3RyZWFtIHN0YXR1cyBwb3N0aW5nCgkgIFdlIG5lZWQgYSBtZWNoYW5pc20gaW4gUHVsc2VBdWRpbyB0byBhbGxvdyBydW5uaW5nIGNvZGUgb3V0c2lkZSB0aGUKCSAgbWFpbmxvb3AgbG9jay4gVGhlbiB3ZSdkIGJlIGFibGUgdG8gcG9zdCB0byB0aGUgYnVzICh0YWtpbmcgdGhlCgkgIEdTVF9PQkpFQ1RfTE9DSyksIHdpdGhvdXQgd29ycnlpbmcgYWJvdXQgbG9ja2luZyBvcmRlciB3aXRoIHRoZSBtYWlubG9vcAoJICBsb2NrLCB3aGljaCBpcyB0aGUgY3VycmVudCBjYXVzZSBvZiBkZWFkbG9ja3Mgd2hpbGUgdHJ5aW5nIHRvIHBvc3QgdGhlCgkgIHN0cmVhbSBzdGF0dXMgbWVzc2FnZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzYwNzEKCjIwMTQtMTAtMjIgMTU6MDQ6MjQgKzAyMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogbGltaXQgdGhlIHJldHJ5IGZyZXF1ZW5jeQoJICBXaGVuIHRoZSBSVFQgYW5kIGppdHRlciBhcmUgdmVyeSBsb3cgKHN1Y2ggYXMgb24gYSBsb2NhbCBuZXR3b3JrKSwgdGhlCgkgIGNhbGN1bGF0ZWQgcmV0cmFuc21pc3Npb24gdGltZW91dCBpcyB2ZXJ5IHNtYWxsLiBTZXQgc29tZSBzZW5zaWJsZSBsb3dlcgoJICBib3VuZGFyeSB0byB0aGUgdGltZW91dCBieSBhZGRpbmcgYSBuZXcgcHJvcGVydHkuIFdlIHVzZSB0aGUgcGFja2V0CgkgIHNwYWNpbmcgYXMgYSBsb3dlciBib3VuZGFyeSBieSBkZWZhdWx0LgoKMjAxNC0xMC0yMiAxMzo0MDo1OCArMDIwMCAgTWlndWVsIFBhcsOtcyBEw61heiA8bXBhcmlzZGlhekBnbWFpbC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgZ3N0cnRwaml0dGVyYnVmZmVyOiBhZGQgInJ0eC1taW4tZGVsYXkiIHByb3BlcnR5CgkgIFRoaXMgcHJvcGVydHkgaXMgdXNlZnVsIHRvIHNldCBhIG1pbiB0aW1lIHRvIHdhaXQgYmVmb3JlIHNlbmRpbmcgYQoJICByZXRyYW5zbWlzc2lvbiBldmVudC4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNTM3OAoKMjAxNC0xMC0yMiAxMzoyOTo0OCArMDIwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBSZWZhY3RvciBjb2RlCgkgIFJlZmFjdG9yIHNvbWUgY29kZSBkZWFsaW5nIHdpdGggY2FsY3VsYXRpbmcgdmFyaW91cyB0aW1lb3V0cy4KCSAgU2VlIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzUzNzgKCjIwMTQtMTAtMTAgMTk6NTA6MDYgKzAyMDAgIE1pZ3VlbCBQYXLDrXMgRMOtYXogPG1wYXJpc2RpYXpAZ21haWwuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIHJ0cHNlc3Npb246IGZpeCBFYXJseSBGZWVkYmFjayBUcmFuc21pc3Npb24KCSAgSW4gZWFybHkgcmV0cmFuc21pc3Npb24gd2UgYXJlIGFsbG93ZWQgdG8gc2NoZWR1bGUgMSByZWd1bGFyIFJUQ1AgcGFja2V0CgkgIGF0IGFuIGVhcmxpZXIgdGltZS4gV2hlbiB3ZSBkbyB0aGF0LCB3ZSBuZWVkIHRvIHNldCBhbGxvd19lYXJseSB0byBGQUxTRQoJICBhbmQgaWdub3JlL2Ryb3AgKG9yIG1lcmdlKSBhbGwgZnV0dXJlIHJlcXVlc3RzIGZvciBlYXJseSB0cmFuc21pc3Npb24uCgkgIFdlIG5vdyBmaXJzdCBjaGVjayBpZiB3ZSBjYW4gc2NoZWR1bGUgYW4gZWFybHkgUlRDUCBhbmQgaWYgd2UgY2FuLAoJICBhY3R1YWxseSBwcmVwYXJlIHRoZSBkYXRhIGZvciB0aGUgbmV4dCBSVENQIGludGVydmFsLgoJICBBZnRlciB3ZSBzZW5kIHRoZSBuZXh0IHJlZ3VsYXIgUlRDUCBhZnRlciB0aGUgZWFybHkgUlRDUCwgd2Ugc2V0CgkgIGFsbG93X2Vhcmx5IHRvIFRSVUUgYWdhaW4gdG8gYWxsb3cgbW9yZSBlYXJseSByZXF1ZXN0cy4KCSAgUmVtb3ZlIHRoZSBjb25kaXRpb24gZm9yIHRoZSBpbW1lZGlhdGUgZmVlZGJhY2sgZm9yIG5vdy4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczODMxOQoKMjAxNC0xMC0yMSAxMzowMTozMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gYThjODkzOSB0byA4NGQwNmNkCgoyMDE0LTEwLTIxIDEzOjEwOjI0ICswMjAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IG1ha2UgZGVidWcgbGluZSBsZXNzIGNvbmZ1c2luZwoKMjAxNC0xMC0yMSAxMjo1ODoxMyArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIFJFQURNRToKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSAzNjM4OGExIHRvIGE4Yzg5MzkKCjIwMTQtMDctMDIgMTc6NTA6MzUgKzAyMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5oOgoJICBqaXR0ZXJidWZmZXI6IHJld29yayByZXN5bmMgaGFuZGxpbmcKCSAgQWRkIGEgbmVlZC1yZXN5bmMgc3RhdGUsIHRoaXMgaXMgd2hlbiB3ZSBuZWVkIHRvIHRyeSB0byBsb2NrIG9uIHRvIGEKCSAgdGltZS9SVFB0aW1lIHBhaXIuCgkgIEFsd2F5cyBjaGVjayB0aGUgUlRQIHRpbWVzdGFtcHMgYW5kIGlmIHRoZXkgZ28gYmFja3dhcmRzLCBtYXJrIG91cnNlbHZlcwoJICBhcyBuZWVkLXJlc3luYy4KCSAgT25seSByZXN5bmMgd2hlbiBuZWVkLXJlc3luYyBpcyBUUlVFIGFuZCB3ZSBoYXZlIGEgdmFsaWQgdGltZS4gT3RoZXJ3aXNlCgkgIHdlIGtlZXAgdGhlIG9sZCB2YWx1ZXMuIFRoaXMgYXZvaWRzIGxvY2tpbmcgb24gdG8gYW4gaW52YWxpZCB0aW1lIGFuZAoJICBjYXVzaW5nIHVzIHRvIHRpbWVzdGFtcCBldmVyeXRoaW5nIHdpdGggLTEuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzA0MTcKCjIwMTQtMTAtMDMgMTc6Mjg6MDYgLTA3MDAgIEFsZWl4IENvbmNoaWxsbyBGbGFxdcOpIDxhbGVpeEBvYmxvbmcuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBzZXQgZnVsbCBzdHJlYW0gY2FwcyBvbiBpbnRlcm5hbCBzcmMgVENQIHBhZHMKCSAgU2V0IHRoZSBjb21wbGV0ZSBzdHJlYW0gY2FwcyBvbiB0aGUgVENQIGludGVybmFsIHNyYyBwYWRzLiBPdGhlcndpc2UsCgkgIHB0ZGVtdXggd2lsbCBub3QgcHJvcGVybHkgZGV0ZWN0IHRoZSBjYXBzIGNoYW5nZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNzg2OAoKMjAxNC0xMC0xNyAyMjoyMzoyNyArMDIwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkQGx1b24ubmV0PgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cG11eC5jOgoJICBydHBtdXg6IERvbid0IHNldCBQUk9YWV9DQVBTIGZsYWcgb24gdGhlIHNyYyBwYWQKCSAgcnRwbXV4IGJlaGF2ZXMgbGlrZSBhIGZ1bm5lbCBpbiB0aGF0IGl0IGZvcndhcmRzIHdoYXRldmVyIHVwc3RyZWFtIGlzCgkgIHNlbmRpbmcgYnVmZmVycy4gU28gc2V0dGluZyBwcm94eSBjYXBzIGRvZXNuJ3QgbWFrZSBzZW5zZSBhcyB0aGUKCSAgdXBzdHJlYW0gZG9uJ3QgaGF2ZSB0byBoYXZlIGNvbXBhdGlibGUgY2FwcywgdGh1cyByZXN1bHRpbmcgaW4gYW4gZW1wdHkKCSAgY2FwcyBzZXQgYXMgYSByZXN1bHQgb2YgYSBjYXBzIHF1ZXJ5LiBJbnN0ZWFkIHNldCBmaXhlZCBjYXBzIGp1c3QKCSAgYXMgZnVubmVsIGRvZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzg3MjIKCjIwMTQtMTAtMjAgMTE6NTc6MzggKzA1MzAgIFZpbmVldGggVCBNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6CgkgIHZpZGVvYm94OiBjcml0aWNhbCBlcnJvciB3aGVuIGVsZW1lbnQgcHJvcGVydGllcyBzZXQgYXMgbWF4L21pbgoJICBsZWZ0LCByaWdodCwgdG9wLCBib3R0b20gY2FuIGJlIHNldCBmcm9tIHJhbmdlIG9mIC0yMTQ3NDgzNjQ4IHRvIDIxNDc0ODM2NDcKCSAgd2hlbiBpIGxhdW5jaCB0aGUgdmlkZW9ib3ggZWxlbWVudCB3aXRoIHRoYXQgdmFsdWVzLCBpdCBnaXZlcyBhIGNyaXRpY2FsIGVycm9yCgkgIChnc3QtY2hlY2stMS4wOjI5ODY5KTogR1N0cmVhbWVyLUNSSVRJQ0FMICoqOiBnc3RfdmFsdWVfc2V0X2ludF9yYW5nZV9zdGVwOiBhc3NlcnRpb24gJ3N0YXJ0IDwgZW5kJyBmYWlsZWQKCSAgVGhpcyBoYXBwZW5zIGJlY2F1c2UgbWluIGNhbm5vdCBiZSBlcXVhbCB0byBtYXguCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzg4MzgKCjIwMTQtMTAtMTUgMTc6NDU6MjQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwL2dzdHJ0cC5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY1cGF5Lmg6CgkgIFJldmVydCAicnRwOiBhZGQgaDI2NSBSVFAgcGF5bG9hZGVyICsgZGVwYXlsb2FkZXIiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgZDA2YmE5MDUxZjkwNGE3ZWI0ODJjMDdhOTdhMTgyNzE2OTE1ODY2My4KCSAgVGhpcyBicmVha3MgdGhlIGJ1aWxkLCBhcyBpdCBkZXBlbmRzIG9uIHBhcnNlciBBUEkgaW4gLWJhZC4KCjIwMTQtMTAtMTUgMTc6MzQ6NTAgKzAyMDAgIEp1cmdlbiBTbG93YWNrIDxqdXJnZW4uc2xvd2Fja0BiYXJjby5jb20+CgoJKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwL2dzdHJ0cC5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY1cGF5Lmg6CgkgIHJ0cDogYWRkIGgyNjUgUlRQIHBheWxvYWRlciArIGRlcGF5bG9hZGVyCgoyMDE0LTEwLTA1IDIxOjI0OjI3ICswMjAwICBQZXRlciBHLiBCYXVtIDxwZXRlckBkci1iYXVtLm5ldD4KCgkqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmM6CgkqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmg6CgkgIHdhdmVuYzogU3VwcG9ydCBSRjY0IGZvcm1hdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI1MTQ1CgoyMDE0LTEwLTExIDExOjE4OjQyICsxMTAwICBEYXZpZCBTYW5zb21lIDxtZUBkYXZpZHNhbnNvbWUuY29tPgoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzoKCSAgZXF1YWxpemVyOiBEb24ndCBjYWxsIGlpcmVxdWFsaXplcidzIHRyYW5zZm9ybV9pcCBpbiBwYXNzdGhyb3VnaCBtb2RlCgkgIEl0IHRyaWVzIHRvIG1hcCB0aGUgcmVhZC1vbmx5IGJ1ZmZlciB3aXRoIEdTVF9NQVBfUkVBRFdSSVRFIGFuZCBjcmFzaGVzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM3ODg2CgoyMDE0LTEwLTEwIDE4OjMwOjA3IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBvY3JldGUuY2E+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmg6CgkgIHJ0cHNvdXJjZTogUmVuYW1lIHNlcW51bS1iYXNlIHRvIHNlcW51bS1vZmZzZXQgaW4gY2FwcwoJICBUaGlzIHdhcyBtb2RpZmllZCBiYWNrIGluIDEuMCBpbiBHc3RSdHBCYXNlUGF5bG9hZAoKMjAxNC0xMC0xMCAxODoxMToxOSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAb2NyZXRlLmNhPgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kdG1mLmM6CgkgIHJ0cGR0bWZzcmM6IGNsb2NrLWJhc2UgYW5kIHNlcW51bS1iYXNlIC0+IHRpbWVzdGFtcC1vZmZzZXQgYW5kIHNlcW51bS1vZmZzZXQKCSAgVGhlc2Ugd2VyZSByZW5hbWVkIGluIEdzdFJUUEJhc2VQYXlsb2FkIGluIDEuMAoKMjAxNC0xMC0xMCAxNzozMDoyNCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAb2NyZXRlLmNhPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBtdXguYzoKCSAgcnRwbXV4OiBjbG9jay1iYXNlIGFuZCBzZXFudW0tYmFzZSAtPiB0aW1lc3RhbXAtb2Zmc2V0IGFuZCBzZXFudW0tb2Zmc2V0CgkgIFRoZXNlIHdlcmUgcmVuYW1lZCBpbiBHc3RSVFBCYXNlUGF5bG9hZCBpbiAxLjAKCjIwMTQtMTAtMDYgMTQ6MjM6MjIgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvZ29vbTJrMS9maWx0ZXJzLmM6CgkgIGdvb20yazE6IHJlbW92aW5nIGJsb2NrIG9mIGNvZGUgdGhhdCBkb2VzIG5vdGhpbmcKCSAgVGhlIGxvb3AgaW4gem9vbUZpbHRlclNldFJlc29sdXRpb24gaXMgbWVhbnQgdG8gY2hhbmdlIHRoZSB2YWx1ZXMgaW4gdGhlCgkgIHpmLT5maXJlZGVjW10gYXJyYXkuIEVhY2ggaXRlcmF0aW9uIHdyaXRlcyB0aGUgdmFsdWUgb2YgZGVjYyBvbnRvIHRoZSBhcnJ5YSwKCSAgYnV0IG5vIGNvbmRpdGlvbnMgdGhhdCBjaGFuZ2UgdGhlIHZhbHVlIG9mIGRlY2MgYXJlIGV2ZXIgbWV0IGFuZCB0aGUgYXJyYXkgaXMKCSAgZmlsbGVkIHdpdGggemVybyBmb3IgZWFjaCBlbGVtZW50LiBXaGljaCBpcyB0aGUgaW5pdGlhbCBzdGF0ZSBvZiB0aGUKCSAgYXJyYXkgYmVmb3JlIHRoZSBsb29wIGJlZ2lucy4KCSAgVGhlIGxvb3AgZG9lcyBub3RoaW5nLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI4MzUzCgoyMDE0LTEwLTA0IDE3OjE3OjEzICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogZG9uJ3QgbG9nIGFsbCBjbG9ja19yYXRlIGNoYW5nZXMgYXMgd2FybmluZ3MuCgkgIFdlIG5ldmVyIGluaXRpYWxpemUgY2xvY2tfcmF0ZSBleHBsaWNpdGx5LCB0aGVyZWZvcmUgaXQgaXMgMCBieSBkZWZhdWx0LiBUaGUKCSAgcGFyYW1ldGVyIGlzIGEgdWludDMyIGFuZCB0aGUgb25seSBjYWxsZXIgZW5zdXJlIHRoYXQgaXQgaXMgPjAsIHRoZXJlZm9yZSBpdAoJICB3b24ndCBiZWNvbWUgLTEgZXZlci4KCjIwMTQtMTAtMDIgMTQ6MjY6MDggKzA1MzAgIE5pcmJoZWVrIENoYXVoYW4gPG5pcmJoZWVrQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwY2xpZW50c2luay5jOgoJICBzb3VwaHR0cGNsaWVudHNpbms6IEZpeCBsaWZldGltZSBvZiBzdHJlYW0gaGVhZGVycyBhbmQgcXVldWVkIGJ1ZmZlcnMKCSAgU3RyZWFtIGhlYWRlcnMgYXJlIHVwZGF0ZWQgd2hlbmV2ZXIgOjpzZXRfY2FwcyBpcyBjYWxsZWQsIHNvIHdlIGNhbid0IGFzc3VtZQoJICB0aGV5J2xsIGJlIHZhbGlkIGJlZm9yZSB0aGUgbWVzc2FnZSBib2R5IGlzIHdyaXR0ZW4gb3V0LiBXZSAqY2FuKiBhc3N1bWUgdGhhdAoJICBmb3IgcXVldWVkIGJ1ZmZlcnMsIGJ1dCBTT1VQX01FTU9SWV9TVEFUSUMgaXMgc3RpbGwgd3JvbmcgZm9yIHRob3NlLgoJICBBbHNvLCBhZGQgc29tZSBkZWJ1ZyBsb2dnaW5nIGZvciBzdHJlYW0gaGVhZGVyIGludGVyYWN0aW9ucy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNzc3MQoKMjAxNC0xMC0wMiAwMzoyNjoyMiArMDIwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSAgYWFjcGFyc2U6IGZpeCBtZW1vcnkgbGVhayB3aGVuIHByZXBlbmRpbmcgQURUUyBoZWFkZXJzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzc3NjEKCjIwMTQtMDktMjMgMTA6NDg6MDkgKzAyMDAgIEFudG9uaW8gT3NwaXRlIDxhbzJAYW8yLml0PgoKCSogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOgoJKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmg6CgkgIGludGVybGVhdmU6IGludGVybGVhdmUgc2FtcGxlcyBmb2xsb3dpbmcgdGhlIERlZmF1bHQgQ2hhbm5lbCBPcmRlcmluZwoJICBJbiBvcmRlciB0byBoYXZlIGEgZnVsbCBtYXBwaW5nIGJldHdlZW4gY2hhbm5lbCBwb3NpdGlvbnMgaW4gdGhlIGF1ZGlvCgkgIHN0cmVhbSBhbmQgbG91ZHNwZWFrZXIgcG9zaXRpb25zLCB0aGUgY2hhbm5lbC1tYXNrIGFsb25lIGlzIG5vdCBlbm91Z2g6CgkgIHRoZSBjaGFubmVscyBtdXN0IGJlIGludGVybGVhdmVkIGZvbGxvd2luZyBzb21lIERlZmF1bHQgQ2hhbm5lbCBPcmRlcmluZwoJICBhcyBtZW50aW9uZWQgaW4gdGhlIFdBVkVGT1JNQVRFWFRFTlNJQkxFWzFdIHNwZWNpZmljYXRpb24uCgkgIEFzIGEgRGVmYXVsdCBDaGFubmVsIE9yZGVyaW5nIHVzZSB0aGUgb25lIGltcGxpZWQgYnkKCSAgR3N0QXVkaW9DaGFubmVsUG9zaXRpb24gd2hpY2ggZm9sbG93cyB0aGUgb3JkZXJpbmcgZGVmaW5lZCBpbiBTTVBURQoJICAyMDM2LTItMjAwOFsyXS4KCSAgTk9URSB0aGF0IHRoZSByZWxhdGl2ZSBvcmRlciBpbiB0aGUgVG9wIExheWVyIGlzIG5vdCBleGFjdGx5IHRoZSBzYW1lIGFzCgkgIHRoZSBvbmUgZnJvbSB0aGUgV0FWRUZPUk1BVEVYVEVOU0lCTEVbMV0gc3BlY2lmaWNhdGlvbjsgbGV0J3MgaG9wZSB1c2VycwoJICB1c2luZyBzbyBtYXkgY2hhbm5lbHMgYXJlIGFscmVhZHkgYXdhcmUgb2Ygc3VjaCBkaXNjcmVwYW5jaWVzLgoJICBbMV0gaHR0cDovL21zZG4ubWljcm9zb2Z0LmNvbS9lbi11cy9saWJyYXJ5L3dpbmRvd3MvaGFyZHdhcmUvZG42NTMzMDglMjh2PXZzLjg1JTI5LmFzcHgKCSAgWzJdIGh0dHA6Ly93d3cuaXR1LmludC9kbXNfcHViL2l0dS1yL29wYi9yZXAvUi1SRVAtQlMuMjE1OS0yLTIwMTEtUERGLUUucGRmCgkgIEZpeGVzOiBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM3MTI3CgoyMDE0LTEwLTAyIDEwOjEwOjExICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuYzoKCSAgd2F2ZW5jOiBTZW5kIENBUFMgZXZlbnQgYWZ0ZXIgdGhlIHBhZCB3YXMgYWN0aXZhdGVkCgkgIE90aGVyd2lzZSB0aGUgQ0FQUyBldmVudCB3aWxsIGJlIGRyb3BwZWQgYW5kIHdlIG5ldmVyIGNvbmZpZ3VyZSBhbnkgY2FwcyBhdAoJICBhbGwsIGxlYWRpbmcgdG8gd2VpcmQgYmVoYXZpb3VyIGluIG1hbnkgc2l0dWF0aW9ucy4gRXNwZWNpYWxseSBoZWFkZXIKCSAgcmV3cml0aW5nIGlzIG5vdCBnb2luZyB0byB3b3JrIGlmIGEgY2Fwc2ZpbHRlciBpcyBhZnRlciB3YXZlbmMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzc3MzUKCjIwMTQtMTAtMDEgMjM6MTI6MzAgKzA1MzAgIE5pcmJoZWVrIENoYXVoYW4gPG5pcmJoZWVrQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwY2xpZW50c2luay5jOgoJICBzb3VwaHR0cGNsaWVudHNpbms6IEFkZCBzb21lIG1vcmUgdXNlZnVsIGRlYnVnIGxvZ2dpbmcKCjIwMTQtMTAtMDEgMjM6MDU6MDMgKzA1MzAgIE5pcmJoZWVrIENoYXVoYW4gPG5pcmJoZWVrQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwY2xpZW50c2luay5jOgoJICBzb3VwaHR0cGNsaWVudHNpbms6IEZyZWUgcXVldWVkIGJ1ZmZlcnMgaW4gOjpyZXNldAoJICA6OnJlbmRlciBzZXRzIGEgbmV3IGNhbGxiYWNrIGZvciB3cml0aW5nIG91dCBuZXcgYnVmZmVycyBvbmx5IGlmIHRoZXJlIGFyZW4ndAoJICBhbHJlYWR5IGJ1ZmZlcnMgcXVldWVkIGZvciB3cml0aW5nIHdpdGggYSBwcmV2aW91c2x5LXNjaGVkdWxlZCBjYWxsYmFjay4KCSAgSG93ZXZlciwgaWYgdGhlIHByZXZpb3VzbHktc2NoZWR1bGVkIGNhbGxiYWNrIGlzIGludGVycnVwdGVkIGJ5IGEgc3RhdGUgY2hhbmdlCgkgIChlaXRoZXIgbWFudWFsbHkgb3IgZHVlIHRvIGFuIGVycm9yKSBhbmQgdGhlcmUgYXJlIHN0aWxsIGJ1ZmZlcnMgaW4gdGhlIHF1ZXVlLAoJICByZXN0YXJ0aW5nIHRoZSBwaXBlbGluZSB3aWxsIHJlc3VsdCBpbiBidWZmZXJzIGJlaW5nIHF1ZXVlZCBmb3JldmVyLCBhbmQgbm8KCSAgY2FsbGJhY2tzIHdpbGwgZXZlciBiZSBzY2hlZHVsZWQsIGFuZCBubyBidWZmZXJzIHdpbGwgYmUgd3JpdHRlbiBvdXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzc3MzkKCjIwMTQtMTAtMDEgMTc6Mjk6MjkgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICB2aWRlb21peGVyOiBBY3R1YWxseSB1c2UgdGhlIGNvcnJlY3QgR3N0VmlkZW9JbmZvIGZvciBjb252ZXJzaW9uCgoyMDE0LTEwLTAxIDE3OjI0OjU5ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgdmlkZW9taXhlcjogUmV2ZXJ0IHRoZSBsYXN0IGNvbW1pdCBhbmQgaGFuZGxlIHJlc29sdXRpb25zIGRpZmZlcmVuY2VzIHByb3Blcmx5CgkgIFRoaXMgaXMgYWJvdXQgY29udmVydGluZyB0aGUgZm9ybWF0LCBub3QgYWJvdXQgY29udmVydGluZyBhbnkgd2lkdGhzIGFuZAoJICBoZWlnaHRzLiBTdWJjbGFzc2VzIGFyZSBleHBlY3RlZCB0byBoYW5kbGVyIGRpZmZlcmVudCByZXNvbHV0aW9ucyB0aGVtc2VsdmVzLAoJICBsaWtlIHRoZSB2aWRlb21peGVycyBhbHJlYWR5IGRvIHByb3Blcmx5LgoKMjAxNC0xMC0wMSAxNzoxMjo1OSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIHZpZGVvbWl4ZXI6IEdzdFZpZGVvQ29udmVydGVyIGN1cnJlbnRseSBjYW4ndCByZXNjYWxlIGFuZCB3aWxsIGFzc2VydAoJICBMZWFkcyB0byB1Z2x5IGFzc2VydGlvbnMgaW5zdGVhZCBvZiBwcm9wZXJseSBlcnJvcmluZyBvdXQ6CgkgIENSSVRJQ0FMICoqOiBnc3RfdmlkZW9fY29udmVydGVyX25ldzogYXNzZXJ0aW9uICdpbl9pbmZvLT53aWR0aCA9PSBvdXRfaW5mby0+d2lkdGgnIGZhaWxlZAoKMjAxNC0wOS0zMCAxMTozNToxMiArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC92cHgvZ3N0dnA4ZW5jLmM6CgkqIGV4dC92cHgvZ3N0dnA5ZW5jLmM6CgkgIHZwOGVuYy92cDllbmM6IFByb3RlY3QgdGhlIGVuY29kZXIgd2l0aCBhIG11dGV4IGluIGFsbCBzaXR1YXRpb25zCgoyMDE0LTA5LTMwIDExOjMxOjQzICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3ZweC9nc3R2cDllbmMuYzoKCSAgdnA5ZW5jOiBBbGxvdyBjYXBzIHJlbmVnb3RpYXRpb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNjMyOQoKMjAxNC0wOS0zMCAxMToyODozOSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC92cHgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogZmluaXNoKCkgYW5kIGRyYWluKCkgc2hvdWxkIHJldHVybiBhIEdzdEZsb3dSZXR1cm4KCjIwMTQtMDMtMTQgMTI6NTk6MDIgKzAxMDAgIEpvc2UgQW50b25pbyBTYW50b3MgQ2FkZW5hcyA8c2FudG9zY2FkZW5hc0BnbWFpbC5jb20+CgoJKiBleHQvdnB4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IEFsbG93IGNhcHMgcmVuZWdvdGlhdGlvbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI2MzI5CgoyMDE0LTA5LTI5IDExOjQ5OjQ1ICswMjAwICBBdXLDqWxpZW4gWmFuZWxsaSA8YXVyZWxpZW4uemFuZWxsaUBwYXJyb3QuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBzZXQgY29sb3JzcGFjZSBmb3Igb3V0cHV0IGRldmljZXMKCSAgV2hlbiB0aGUgdjRsMiBkZXZpY2UgaXMgYW4gb3V0cHV0IGRldmljZSwgdGhlIGFwcGxpY2F0aW9uIHNoYWxsIHNldCB0aGUKCSAgY29sb3JzcGFjZS4gU28gbWFwIEdTdHJlYW1lciBjb2xvcmltZXRyeSBpbmZvIHRvIFY0TDIgY29sb3JzcGFjZSBhbmQgc2V0CgkgIG9uIHNldF9mb3JtYXQuIEluIGNhc2Ugd2UgaGF2ZSBubyBjb2xvcmltZXRyeSBpbmZvcm1hdGlvbiwgd2UgdHJ5IHRvCgkgIGd1ZXNzIGl0IGFjY29yZGluZyB0byBwaXhlbCBmb3JtYXQgYW5kIHZpZGVvIHNpemUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzc1NzkKCjIwMTQtMDktMjkgMjI6NDg6MTYgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW5AYWNjb3N0ZWQubmV0PgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSAgcHVsc2U6IEFkZCBzb21lIGRvY3VtZW50YXRpb24gYWJvdXQgdGhyZWFkaW5nIGFuZCBzeW5jaHJvbmlzYXRpb24KCSAgVGhpcyBnaXZlcyBhIHF1aWNrIGludHJvZHVjdGlvbiB0byBob3cgdGhlIHB1bHNlc2luay9wdWxzZXNyYyBjb2RlCgkgIGludGVyYWN0cyB3aXRoIHRoZSBwYV90aHJlYWRlZF9tYWlubG9vcCB0aGF0IHdlIHN0YXJ0IHVwIHRvIGNvbW11bmljYXRlCgkgIHdpdGggdGhlIHNlcnZlci4KCjIwMTQtMDktMjkgMjA6MTg6MDggKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW5AYWNjb3N0ZWQubmV0PgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IE1ha2UgZW1pdHRpbmcgc3RyZWFtIHN0YXR1cyBtZXNzYWdlcyBzeW5jaHJvbm91cwoJICBUaGUgc3RyZWFtIHN0YXR1cyBtZXNzYWdlcyBhcmUgZW1pdHRlZCBpbiB0aGUgUEEgbWFpbmxvb3AgdGhyZWFkLCB3aGljaAoJICBtZWFucyB0aGUgbWFpbmxvb3AgbG9jayBpcyB0YWtlbiwgZm9sbG93ZWQgYnkgdGhlIEdzdCBvYmplY3QgbG9jayAoYnkKCSAgZ3N0X2VsZW1lbnRfcG9zdF9tZXNzYWdlKCkpLiBJbiBhbGwgb3RoZXIgbG9jYXRpb25zLCB0aGUgb3JkZXIgb2YKCSAgbG9ja2luZyBpcyByZXZlcnNlZCAodGhpcyBpcyB1bmF2b2lkYWJsZSBpbiBhIGJ1bmNoIG9mIGNhc2VzIHdoZXJlIHRoZQoJICBvYmplY3QgbG9jayBpcyB0YWtlbiBieSBHc3RCYXNlU2luayBvciBHc3RBdWRpb0Jhc2VTaW5rLCBhbmQgdGhlbiB3ZSBnZXQKCSAgY29udHJvbCB0byB0YWtlIHRoZSBtYWlubG9vcCBsb2NrKS4KCSAgVGhlIG9ubHkgd2F5IHRvIGd1YXJhbnRlZSB0aGF0IHRoZSBkZWZlciBjYWxsYmFjayBmb3Igc3RyZWFtIHN0YXR1cwoJICBtZXNzYWdlcyBkb2Vzbid0IGRlYWRsb2NrIGlzIHRvIGVpdGhlciBzdG9wIHBvc3RpbmcgdGhvc2UgbWVzc2FnZXMsIG9yCgkgIG1ha2Ugc3VyZSB0aGF0IHRoZSBtZXNzYWdlIGVtaXNzaW9uIGlzIGNvbXBsZXRlZCBiZWZvcmUgd2UgcHJvY2VlZCB0bwoJICBhbnkgcG9pbnQgdGhhdCBtaWdodCB0YWtlIHRoZSBvYmplY3QgbG9jayBiZWZvcmUgdGhlIG1haW5sb29wIGxvY2sKCSAgKHdoaWNoIGlzIHdoYXQgd2UgZG8gYWZ0ZXIgdGhpcyBwYXRjaCkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzYwNzEKCjIwMTQtMDktMTYgMTI6MTI6NDkgKzAyMDAgIEFudG9uaW8gT3NwaXRlIDxhbzJAYW8yLml0PgoKCSogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuYzoKCSAgd2F2ZW5jOiBwcmludCBjaGFubmVsIG1hc2tzIGluIGhleGFkZWNpbWFsCgoyMDE0LTA5LTI3IDE2OjAxOjIxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmRldmljZXByb3ZpZGVyLmg6CgkgIHY0bDI6IHJlbW92ZSByZWR1bmRhbnQgc3RydWN0IGRlY2xhcmF0aW9uCgoyMDE0LTA5LTI2IDEzOjQ2OjE2ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBGaXggY29tcGlsZXIgd2FybmluZ3MKCSAgZ3N0cnRzcHNyYy5jOjc5Mzk6MTE6IGVycm9yOiBpbXBsaWNpdCBjb252ZXJzaW9uIGZyb20gZW51bWVyYXRpb24gdHlwZSAnR3N0U0RQUmVzdWx0JyB0byBkaWZmZXJlbnQgZW51bWVyYXRpb24gdHlwZQoJICAnR3N0UlRTUFJlc3VsdCcgWy1XZXJyb3IsLVdlbnVtLWNvbnZlcnNpb25dCgkgIHJlcyA9IGdzdF9zZHBfbWVzc2FnZV9uZXcgKCZzZHApOwoJICB+IF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CgkgIGdzdHJ0c3BzcmMuYzo3OTQ0OjExOiBlcnJvcjogaW1wbGljaXQgY29udmVyc2lvbiBmcm9tIGVudW1lcmF0aW9uIHR5cGUgJ0dzdFNEUFJlc3VsdCcgdG8gZGlmZmVyZW50IGVudW1lcmF0aW9uIHR5cGUKCSAgJ0dzdFJUU1BSZXN1bHQnIFstV2Vycm9yLC1XZW51bS1jb252ZXJzaW9uXQoJICByZXMgPSBnc3Rfc2RwX21lc3NhZ2VfcGFyc2VfdXJpICh1cmksIHNkcCk7CgkgIH4gXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CgoyMDE0LTA5LTI1IDE1OjAxOjE0ICswMjAwICBKb25hcyBIb2xtYmVyZyA8am9uYXNoZ0BheGlzLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBtYWtlIGRlbXV4ZXIgcmV1c2FibGUKCSAgUmVtb3ZlIHBhZHMgZnJvbSBmbG93IGNvbWJpbmVyIGFuZCByZXNldCBsYXN0CgkgIGZsb3cgcmV0dXJuIHRvIEZMT1dfT0sgYnkgcmVzZXR0aW5nIHRoZSBmbG93IGNvbWJpbmVyLgoJICBUaGlzIHByZXZlbnRzIEZMT1dfRkxVU0hJTkcgd2hlbiB0cnlpbmcgdG8gcmUtdXNlIHRoZQoJICBkZW11eGVyIGFmdGVyIHNldHRpbmcgaXQgYmFjayB0byBOVUxML1JFQURZIHN0YXRlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM3MzU5CgoyMDE0LTA5LTI0IDE2OjQ2OjM2ICswMjAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC92aWRlb21peGVyL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9taXhlci9nc3RjbXMuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvZ3N0Y21zLmg6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvY29udmVydC5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb2NvbnZlcnQuaDoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjJwYWQuaDoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcm9yYy1kaXN0LmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXJvcmMtZGlzdC5oOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyb3JjLm9yYzoKCSAgdmlkZW9taXhlcjogdXNlIHZpZGVvIGxpYnJhcnkgY29kZSBpbnN0ZWFkIG9mIGNvcHkKCjIwMTQtMDktMTggMTY6Mzk6MTkgKzA1MzAgIFNhbmpheSBOTSA8c2FuamF5Lm5tQHNhbXN1bmcuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJICBhdWRpb3BhcnNlcnM6IEFkZGVkIGluZGV4IGNoZWNrIGJlZm9yZSB1c2luZyB0aGUgaW5kZXgKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjg3OAoKMjAxNC0wOS0yMyAyMzozMzozNyArMDIwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IERvIG5vdCBpbmZlciBEVFMgb24gYnVmZmVycyBmcm9tIHNwYXJzZSBzdHJlYW1zLgoJICBEVFMgZGVsdGEgaXMgdXNlZCB0byBjYWxjdWxhdGUgc2FtcGxlIGR1cmF0aW9uLiBJZiBidWZmZXIgaGFzIG1pc3NpbmcgRFRTLCB3ZSB0YWtlIGVpdGhlciBzZWdtZW50IHN0YXJ0IG9yIHByZXZpb3VzIGJ1ZmZlciBlbmQgdGltZSwgd2hpY2hldmVyIGlzIGxhdGVyLgoJICBUaGlzIG11c3Qgb25seSBiZSBkb25lIGZvciBub24gc3BhcnNlIHN0cmVhbXMsIHNwYXJzZSBzdHJlYW1zIGNhbiBoYXZlIGdhcHMgYmV0d2VlbiBidWZmZXJzICh3aGljaCBpcyBoYW5kbGVkIGxhdGVyIGJ5IGFkZGluZyBleHRyYSBlbXB0eSBidWZmZXIgd2l0aCBkdXJhdGlvbiB0aGF0IGZpbGxzIHRoZSBnYXApCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzcwOTUKCjIwMTQtMDktMTggMTc6MDg6MzcgKzA1MzAgIFNhbmpheSBOTSA8c2FuamF5Lm5tQHNhbXN1bmcuY29tPgoKCSogZ3N0L2dvb20vaWZzLmM6CgkgIGdvb206IENsYXJpZmllZCBwcmVjZWRlbmNlIGJldHdlZW4gJSBhbmQgPwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2ODg3CgoyMDE0LTA5LTE4IDE3OjU5OjMxICswNTMwICBTYW5qYXkgTk0gPHNhbmpheS5ubUBzYW1zdW5nLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcDogY2xhcmlmeSBleHByZXNzaW9uIHNvIG9wZXJhdG9yIHByZWNlZGVuY2UgaXMgY2xlYXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjkwMwoKMjAxNC0wOS0xOCAxNjowNDowMyArMDUzMCAgU2FuamF5IE5NIDxzYW5qYXkubm1Ac2Ftc3VuZy5jb20+CgoJKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9keW5hbWljLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZnhiYXNlZmlyZmlsdGVyLmM6CgkqIGdzdC9hdWRpb2Z4L2dzdHNjYWxldGVtcG8uYzoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHJlY2VpdmUuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBNaXNjZWxsYW5lb3VzIG1pbm9yIGNsZWFudXBzCgkgIEZpeCByZWR1bmRhbnQgdmFyaWFibGVzIGFuZCBhc3NpZ25tZW50cywKCSAgYW5kIHVucmVhY2hhYmxlIGJyZWFrcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjg3NQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2ODc2CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzY4NzkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjg4MAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2ODgxCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzY4ODgKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjg5MAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2ODkyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzY4OTMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjg5NAoKMjAxNC0wOS0yNCAwMDoxMjoxNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOgoJICB2aWRlb2JveDogcmVtb3ZlIGR1cGxpY2F0ZSBhc3NpZ25tZW50cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2ODk3CgoyMDE0LTA5LTIzIDIyOjU1OjQ4ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBPbmx5IGNhbGN1bGF0ZSB3aXRoIGR1cmF0aW9ucyAhPSAtMQoKMjAxNC0wOS0yMyAxOTowODo0OCArMDIwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGNvbGxlY3QgcGFkIGZvciBzcGFyc2Ugc3RyZWFtIHNob3VsZCBiZSBjcmVhdGVkIHdpdGggbG9jayBzZXQgdG8gZmFsc2UKCSAgQXZvaWRzIHdhaXRpbmcgZm9yIGJ1ZmZlcnMgZnJvbSBzcGFyc2Ugc3RyZWFtcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM3MDk1CgoyMDE0LTA5LTIzIDE5OjA3OjI1ICswMjAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogZml4IHN1YnRpdGxlIGJ1ZmZlciBkdXJhdGlvbiBhbmQgc3RyaXAgbnVsbCB0ZXJtaW5hdGlvbgoJICBTdHJpcCB0aGUgXDAgb2ZmIHRoZSBzdWJ0aXRsZSBhcyB3ZSBhbHJlYWR5IGtub3cgdGhlIHNpemUgYW5kIGFsc28gcmVtZW1iZXIKCSAgdG8gc2V0IHRoZSBkdXJhdGlvbiBhcyBidWZmZXIgY29weWluZyBkb2Vzbid0IGRvIGl0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM3MDk1CgoyMDE0LTA5LTIzIDE5OjA2OjE4ICswMjAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L2lzb21wNC9hdG9tcy5jOgoJICBxdG11eDogbW92ZSBzdWJ0aXRsZSBsYXllciBhYm92ZSB2aWRlbyBhbmQgc2V0IGFsdGVybmF0ZSBncm91cAoJICBsYXllciAtMSBpcyBhYm92ZSB2aWRlbywgdGhhdCBpcyAwCgkgIEFuZCBoYXZpbmcgYWxsIHN1YnRpdGxlcyBpbiBhbHRlcm5hdGUgZ3JvdXAgMiBtZWFucyB0aGF0IG9ubHkgb25lCgkgIHNob3VsZCBiZSBzZWxlY3RlZCBhdCBhIHRpbWUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzcwOTUKCjIwMTQtMDktMjMgMDk6NDc6MzEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zb3VwaHR0cHNyYy5jOgoJICBjaGVjay9zb3VwOiBUZW1wb3JhcmlseSBkaXNhYmxlIEdfRU5BQkxFX0RJQUdOT1NUSUMKCSAgVGhlIFNPVVBfU0VSVkVSX1BPUlQgcHJvcGVydHkgaGFzIGJlZW4gZGVwcmVjYXRlZCBpbiByZWNlbnQgbGlic291cAoJICB2ZXJzaW9ucy4KCjIwMTQtMDktMjMgMDk6NDM6MDUgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zb3VwaHR0cHNyYy5jOgoJICBjaGVjay9zb3VwOiBEZWZpbmUgbWluaW11bSB2ZXJzaW9uIHJlcXVpcmVkCgkgIFRvIGF2b2lkIGRlcHJlY2F0aW9uIHdhcm5pbmdzCgoyMDE0LTA5LTE5IDE5OjE0OjI4ICswMjAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEhhbmRsZSBtcDRhIHdpdGhvdXQgRVNEUyBhdG9tCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzY5ODYKCjIwMTQtMDktMjIgMTY6MTU6MjcgKzAyMDAgIExpbnVzIFN2ZW5zc29uIDxsaW51c3NuQGF4aXMuY29tPgoKCSogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzoKCSAgeGltYWdlc3JjOiBGaXggYnVpbGQgcHJvYmxlbSB3aXRob3V0IFhGSVhFUwoKMjAxNC0wOS0xOSAxNDozNDoxMyArMDUzMCAgU2FuamF5IE5NIDxzYW5qYXkubm1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuYzoKCSAgZHRtZjogUmVtb3ZlZCB1bnVzZWQgc3RydWN0dXJlIG1lbWJlcnMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjg4MwoKMjAxNC0wOS0xMSAxMzo0ODo0NCAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9hdG9tcy5jOgoJICBpc29tcDQ6IGZpeCB3cm9uZyBEQVIgY2FsY3VsYXRpb24gZm9yIFBBUiA8PSAxCgkgIENJRCAjMTIyNjQ1MgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2Mzk2CgoyMDE0LTA5LTE4IDE2OjU5OjUyICswNTMwICBTYW5qYXkgTk0gPHNhbmpheS5ubUBzYW1zdW5nLmNvbT4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx2OiBSZW1vdmVkIHVucmVhY2hhYmxlIGJyZWFrIHN0YXRlbWVudHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjg4NAoKMjAxNC0wOS0xNyAxNjozNzoxMSArMDIwMCAgT2dueWFuIFRvbmNoZXYgPG9nbnlhbkBheGlzLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IGRvIG5vdCBsZWFrIGVuY3NpbmsgcGFkIGluIGVycm9yIGNhc2UKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjgwNwoKMjAxNC0wOS0xNyAxNjoyMzoyMSArMDIwMCAgT2dueWFuIFRvbmNoZXYgPG9nbnlhbkBheGlzLmNvbT4KCgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzoKCSAgbXVsdGlwYXJ0ZGVtdXg6IGRvIG5vdCBsZWFrIG5ldyBzdHJlYW0gZXZlbnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjgwNQoKMjAxNC0wOS0xNSAwOTowODoxOCArMDUzMCAgUmF2aSBLaXJhbiBLIE4gPHJhdmkua2lyYW5Ac2Ftc3VuZy5jb20+CgoJKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOgoJKiBnc3QveTRtL2dzdHk0bWVuY29kZS5oOgoJICB5NG1lbmM6IHBvcnQgeTRtZW5jIHRvIHVzZSBHc3RWaWRlb0VuY29kZXIgYmFzZSBjbGFzcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM1MDg1CgoyMDE0LTA5LTE3IDEzOjU1OjE4ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGNvcmVhdWRpby5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4Y29yZWF1ZGlvY29tbW9uLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hjb3JlYXVkaW9oYWwuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGNvcmVhdWRpb3JlbW90ZWlvLmM6CgkgIG9zeGF1ZGlvOiBPU1N0YXR1cyBpcyBub3QgYSBmb3VyY2MsIHNvIGRvbid0IHByaW50IGl0IGFzIG9uZS4uLgoKMjAxNC0wOS0xNiAxNDoyNjowOCArMDIwMCAgT2dueWFuIFRvbmNoZXYgPG9nbnlhbkBheGlzLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogZG8gbm90IGxlYWsgdWlkIGFmdGVyIHBhcnNpbmcgVE9DIGV2ZW50CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzY3MzkKCjIwMTQtMDktMTYgMjI6NDc6MTMgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdkZXBheS5jOgoJICBydHB2cmF3ZGVwYXk6IERlY2xhcmUgc29tZSBtb3JlIHJlcXVpcmVkIGNhcHMgZmllbGRzIGluIHRoZSBzaW5rIHRlbXBsYXRlIGNhcHMKCSAgTm93IG9ubHkgbWlzc2luZyBhcmUgd2lkdGggYW5kIGhlaWdodCwgd2hpY2ggYXJlIGV4cHJlc3NlZCBhcyBzdHJpbmdzCgkgIGZvciBSVFAuLi4gc28gd2UgY2FuJ3QgcHV0IHRoZW0gaW50byB0aGUgdGVtcGxhdGUgY2Fwcy4KCjIwMTQtMDktMTYgMTY6NDY6MDcgKzA1MzAgIFZpbmVldGggVCBNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmZGVjLmM6CgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1ZmRlYy5oOgoJICBnZGtwaXhidWZkZWM6IG1vZGlmeSB3cm9uZyBwYWNrZXRpemVkIG1vZGUgbG9naWMKCSAgcGFja2V0aXplZCBtb2RlIGlzIGJlaW5nIHNldCB3aGVuIGZyYW1lcmF0ZSBpcyBiZWluZyBzZXQKCSAgd2hpY2ggaXMgbm90IGNvcnJlY3QuIENoYW5naW5nIHRoZSBzYW1lIGJ5IGNoZWNraW5nIHRoZQoJICBpbnB1dCBzZWdlbWVudCBmb3JtYXQuIElmIGlucHV0IHNlZ21lbnQgaXMgaW4gVElNRSBpdCBpcwoJICBQYWNrZXRpemVkLCBhbmQgaWYgaXQgaXMgaW4gQllURVMgaXQgaXMgbm90LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2MjUyCgoyMDE0LTA5LTE2IDExOjI2OjIyICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnZGVjOiBSZW1vdmUgdW51c2VkIHZhcmlhYmxlIGFuZCB1c2UgY29ycmVjdCBkZWNvZGVyIHZhcmlhYmxlIG5hbWUKCjIwMTQtMDktMTYgMTE6MjU6NDIgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOgoJICBwbmdkZWM6IFJlbW92ZSB1bnVzZWQgdmFyaWFibGUKCjIwMTQtMDktMTYgMTM6MjQ6MTUgKzA1MzAgIFZpbmVldGggVCBNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnZ2RlYzogbW9kaWZ5IHdyb25nIHBhY2tldGl6ZWQgbW9kZSBsb2dpYwoJICBwYWNrZXRpemVkIG1vZGUgaXMgYmVpbmcgc2V0IHdoZW4gZnJhbWVyYXRlIGlzIGJlaW5nIHNldAoJICB3aGljaCBpcyBub3QgY29ycmVjdC4gQ2hhbmdpbmcgdGhlIHNhbWUgYnkgY2hlY2tpbmcgdGhlCgkgIGlucHV0IHNlZ2VtZW50IGZvcm1hdC4gSWYgaW5wdXQgc2VnbWVudCBpcyBpbiBUSU1FIGl0IGlzCgkgIFBhY2tldGl6ZWQsIGFuZCBpZiBpdCBpcyBpbiBCWVRFUyBpdCBpcyBub3QuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzYyNTIKCjIwMTQtMDktMTYgMTM6MjM6MTYgKzA1MzAgIFZpbmVldGggVCBNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzoKCSAgcG5nZGVjOiBtb2RpZnkgd3JvbmcgcGFja2V0aXplZCBtb2RlIGxvZ2ljCgkgIHBhY2tldGl6ZWQgbW9kZSBpcyBiZWluZyBzZXQgd2hlbiBmcmFtZXJhdGUgaXMgYmVpbmcgc2V0CgkgIHdoaWNoIGlzIG5vdCBjb3JyZWN0LiBDaGFuZ2luZyB0aGUgc2FtZSBieSBjaGVja2luZyB0aGUKCSAgaW5wdXQgc2VnZW1lbnQgZm9ybWF0LiBJZiBpbnB1dCBzZWdtZW50IGlzIGluIFRJTUUgaXQgaXMKCSAgUGFja2V0aXplZCwgYW5kIGlmIGl0IGlzIGluIEJZVEVTIGl0IGlzIG5vdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjI1MgoKMjAxNC0wOS0xNSAxNDozOTo0MSArMDIwMCAgQW50b25pbyBPc3BpdGUgPGFvMkBhbzIuaXQ+CgoJKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOgoJKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5oOgoJKiBzeXMveGltYWdlL3hpbWFnZXV0aWwuYzoKCSogc3lzL3hpbWFnZS94aW1hZ2V1dGlsLmg6CgkgIHhpbWFnZXNyYzogUmVtb3ZlIHVudXNlZCBzY3JlZW4tbnVtIHByb3BlcnR5CgkgIFRoZSBzY3JlZW4gbnVtYmVyIGNhbiBiZSBzdGlsbCBzcGVjaWZpZWQgYXMgcGFydCBvZiB0aGUgZGlzcGxheS1uYW1lCgkgIHByb3BlcnR5IChlLmcuIGZvciBzY3JlZW4gMSBvZiBkaXNwbGF5IDAgdXNlIGRpc3BsYXktbmFtZT0iOjAuMSIpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2MTIyCgoyMDE0LTA5LTA0IDE2OjEwOjUxICswMjAwICBBbnRvbmlvIE9zcGl0ZSA8YW8yQGFvMi5pdD4KCgkqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6CgkgIHhpbWFnZXNyYzogRHJhdyB0aGUgY3Vyc29yIG9ubHkgd2hlbiBpdCBpcyBhY3RpdmUgaW4gdGhlIGNhcHR1cmluZyByZWdpb24KCSAgVXNlIFhRdWVyeVBvaW50ZXIgdG8gY2hlY2sgdGhhdCB0aGUgcG9pbnRlciBpcyBhY3R1YWxseSBhY3RpdmUgaW5zaWRlCgkgIHRoZSBjYXB0dXJpbmcgcmVnaW9uLgoJICBUaGlzIHByZXZlbnRzIGRyYXdpbmcgdGhlIGN1cnNvciB3aGVuIHRoZSBwb2ludGVyIGlzIHBhcnRpYWxseSBvdXRzaWRlCgkgIG9mIHRoZSBjYXB0dXJlZCByZWdpb24gYnV0IG5vdCBhY3RpdmUgaW5zaWRlIHRoZSByZWdpb247IGluIHBhcnRpY3VsYXIKCSAgdGhpcyBhdm9pZHMgZHJhd2luZyB0aGUgIndpbmRvdyByZXNpemUiIGN1cnNvciBzaGFwZXMgdG8gdGhlIGNhcHR1cmVkCgkgIGltYWdlIHdoZW4gdGhlIG1vdXNlIHBvaW50ZXIgY3Jvc3NlcyBhIHdpbmRvdyBib3JkZXIuCgkgIE5PVEUgdGhhdCB0aGlzIGlzIG5vdCBvbmx5IGFuIG9wdGltaXphdGlvbiwgdGhpcyBhbHNvIGhhcHBlbiB0byBmaXgKCSAgYSBzZXJpb3VzIHByb2JsZW0gaW4gbXVsdGktc2NyZWVuIHNldHVwcy4KCSAgQmVjYXVzZSBYRml4ZXMgZ2l2ZXMgbm8gaW5mb3JtYXRpb24gb2Ygd2hhdCBzY3JlZW4gdGhlIHBvaW50ZXIgaXMgb24sCgkgIHhpbWFnZXNyYyB3YXMgYWx3YXlzIGRyYXdpbmcgdGhlIGN1cnNvciBvbiB0aGUgY2FwdHVyZWQgc2NyZWVuIGV2ZW4gaWYKCSAgdGhlIG1vdXNlIHBvaW50ZXIgd2FzIG9uIGFub3RoZXIgc2NyZWVuLgoJICBGb3IgZXhhbXBsZSwgd2hlbiBjYXB0dXJpbmcgZnJvbSBzY3JlZW4gMSAoaS5lLiBkaXNwbGF5LW5hbWU9IjowLjEiKSB0aGUKCSAgY3Vyc29yIHdhcyBkcmF3biBpbiB0aGUgY2FwdHVyZWQgaW1hZ2UgZXZlbiB3aGVuIHRoZSBtb3VzZSBwb2ludGVyIHdhcwoJICBhY3R1YWxseSBvbiBzY3JlZW4gMCwgd2hpY2ggaXMgd3JvbmcgYW5kIHZpc3VhbGx5IGNvbmZ1c2luZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MDY0NgoKMjAxNC0wOS0wNSAxMTozMzozMSArMDIwMCAgQW50b25pbyBPc3BpdGUgPGFvMkBhbzIuaXQ+CgoJKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOgoJICB4aW1hZ2VzcmM6IEZpeCBkcmF3aW5nIHRoZSBjdXJzb3Igd2hlbiBpdCBpcyBvdXRzaWRlIHRoZSBjYXB0dXJpbmcgcmVnaW9uCgkgIFdoZW4gdGhlIGN1cnNvciBpcyBwYXJ0aWFsbHkgb3IgdG90YWxseSBvdXQgb2YgdGhlIGNhcHR1cmluZyByZWdpb24gb24KCSAgdGhlIHRvcCBzaWRlIG9yIG9uIHRoZSBsZWZ0IHNpZGUsIGl0IGdldHMgZHJhd24gZnVsbHkgaW5zaWRlIG9mIHRoZQoJICByZWdpb24gd2l0aCBpdHMgY29vcmRpbmF0ZXMgcm91bmRlZCB1cCB0byB0aGUgbGVmdCBvciB0byB0aGUgdG9wIGJvcmRlci4KCSAgVGhpcyBpcyBpbW1lZGlhdGVseSBub3RpY2VhYmxlIHdoZW4gdXNpbmcgdGhlIHhpZCBwcm9wZXJ0eSB0byBjYXB0dXJlCgkgIGEgc3BlY2lmaWMgd2luZG93LgoJICBUbyBmaXggdGhlIGlzc3VlLCBhbGxvdyBuZWdhdGl2ZSBjeCBhbmQgY3ggY29vcmRpbmF0ZXMgd2hlbiBjaGVja2luZyB0aGUKCSAgYm91bmRhcmllcyBiZWZvcmUgZHJhd2luZyB0aGUgY3Vyc29yLgoJICBOT1RFIHRoYXQgdGhlIGJvdW5kYXJpZXMgY2hlY2tpbmcgY2FsY3VsYXRpb25zIHN0aWxsIGFsbG93cyB0aGUgY3Vyc29yCgkgIHRvIGJlIGRyYXduIHdoZW4gaXQgaXMgb25seSBwYXJ0aWFsbHkgb3V0c2lkZSBvZiB0aGUgY2FwdHVyaW5nIHJlZ2lvbiwKCSAgYnV0IHRoaXMgbWFrZXMgc2Vuc2UgYW5kIGdpdmVzIGEgbW9yZSBwbGVhc2luZyB2aXN1YWwgYmVoYXZpb3VyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkwNjQ2CgoyMDE0LTA5LTA1IDAwOjE1OjMwICswMjAwICBBbnRvbmlvIE9zcGl0ZSA8YW8yQGFvMi5pdD4KCgkqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6CgkqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmg6CgkgIHhpbWFnZXNyYzogRml4IHRoZSBkZXN0aW5hdGlvbiBjb29yZGluYXRlcyBvZiB0aGUgY3Vyc29yCgkgIFhGaXhlcyBwcm92aWRlcyB0aGUgY3Vyc29yIGNvb3JkaW5hdGVzIHJlbGF0aXZlIHRvIHRoZSByb290IHdpbmRvdywgdGhpcwoJICBpcyBub3QgdGFrZW4gaW50byBhY2NvdW50IHdoZW4gdXNpbmcgdGhlIHhpZCBwcm9wZXJ0eSB0byBjYXB0dXJlCgkgIGEgc3BlY2lmaWMgd2luZG93LCB0aGUgcmVzdWx0IGlzIHRoYXQgdGhlIGN1cnNvciBnZXRzIGRyYXduIGF0IHRoZSB3cm9uZwoJICBwb3NpdGlvbi4KCSAgSW4gb3JkZXIgdG8gZml4IHRoaXMgY29uc2lkZXIgdGhlIHdpbmRvdyBsb2NhdGlvbiB3aGVuIGNhbGN1bGF0aW5nIHRoZQoJICBjdXJzb3IgcG9zaXRpb24gaW4gdGhlIGRlc3RpbmF0aW9uIGltYWdlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkwNjQ2CgoyMDE0LTA5LTE1IDE0OjUxOjI0ICswMjAwICBQZXRlciBLb3JzZ2FhcmQgPHBldGVyQGtvcnNnYWFyZC5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYWxsb2NhdG9yLmM6CgkgIHY0bDJhbGxvY2F0b3I6IE9fQ0xPRVhFQyBuZWVkcyBfR05VX1NPVVJDRQoJICBTaW1pbGFyIHRvIDk0ZjNkNmZjIC8gYnogNzA5NDIzCgkgIE9uIHNvbWUgc3lzdGVtcyAoRS5HLiB1Q2xpYmMgYW5kIG9sZGVyIEdsaWJjIHZlcnNpb25zKSwgT19DTE9FWEVDIGlzIG9ubHkKCSAgZGVmaW5lZCB3aGVuIF9HTlVfU09VUkNFIGlzIHNwZWNpZmllZCwgc28gZG8gc28uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzY2NzAKCjIwMTQtMDktMTUgMTg6MTE6MzcgKzAyMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y2Fwc3NldHRlci5jOgoJICBjYXBzc2V0dGVyOiB1cGRhdGUgdG8gMS4wIHRyYW5zZm9ybV9jYXBzIHNlbWF0aWNzCgkgIEluIDEuMCwgd2UgcGFzcyB0aGUgY29tcGxldGUgY2FwcyB0byB0cmFuc2Zvcm1fY2FwcyB0byBhbGxvdyBmb3IgYmV0dGVyCgkgIG9wdGltaXphdGlvbnMuIE1ha2UgdGhpcyBmdW5jdGlvbiBhY3R1YWxseSB3b3JrIG9uIG5vbi1zaW1wbGUgY2FwcwoJICBpbnN0ZWFkIG9mIGp1c3QgaWdub3JpbmcgdGhlIGNvbmZpZ3VyZWQgZmlsdGVyIGNhcHMuCgoyMDE0LTA5LTA4IDE0OjA2OjAwICswMjAwICBQZXRlciBHLiBCYXVtIDxwZXRlckBkci1iYXVtLm5ldD4KCgkqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmM6CgkqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmg6CgkgIHdhdmVuYzogdXNlIFdBVkVfRk9STUFUX0VYVEVOU0lCTEUgZm9yIG1vcmUgdGhhbiAyIGNoYW5uZWxzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzM0NDQKCjIwMTQtMDktMTIgMTU6MDY6NTAgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgd2F2cGFyc2U6IEZpeCBwYXJzaW5nIG9mIGFkdGwgY2h1bmtzCgkgIFdlIGhhdmUgdG8gc2tpcCAxMiBieXRlcyBvZiBkYXRhIGZvciB0aGUgY2h1bmssIGFuZCB0aGUgZGF0YSBzaXplCgkgIHBhc3NlZCB0byB0aGUgc3ViLWNodW5rIHBhcnNpbmcgZnVuY3Rpb25zIHNob3VsZCBoYXZlIDQgYnl0ZXMgbGVzcwoJICB0aGFuIHRoZSBkYXRhIHNpemUuCgkgIEFsc28gd2hlbiBwYXJzaW5nIHRoZSBzdWItY2h1bmtzLCBjaGVjayBpZiB3ZSBhY3R1YWxseSBoYXZlIGVub3VnaAoJICBkYXRhIHRvIHJlYWQgaW5zdGVhZCBvZiBqdXN0IGNyYXNoaW5nLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2MjY2CgoyMDE0LTA5LTEyIDEwOjU1OjIzICswNTMwICBTYW5qYXkgTk0gPHNhbmpheS5ubUBzYW1zdW5nLmNvbT4KCgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIHVkcDogaW5jbHVkZSBzdHJpbmcuaCBmb3IgbWVtY21wIGFuZCBtZW1zZXQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvL3Nob3dfYnVnLmNnaT9pZD03MzY1MjgKCjIwMTQtMDktMTIgMTM6MzY6MTggKzA1MzAgIEFudWogSmFpc3dhbCA8YW51ai5qYWlzd2FsQHNhbXN1bmcuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogZG9uJ3QgYml0d2lzZSBPUiB0aGUgc2FtZSBmbGFnIHR3aWNlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnLy9zaG93X2J1Zy5jZ2k/aWQ9NzM2NTQzCgoyMDE0LTA5LTEyIDEwOjM1OjM2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IGhhbmRsZSByZWFsIGF1ZGlvIDI4XzgKCSAgRml4ZXMgZHVwbGljYXRlIGNoZWNrIGZvciAxNF80LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy8vc2hvd19idWcuY2dpP2lkPTczNjU0MwoKMjAxNC0wOS0xMSAxNDo0NjowOSArMDUzMCAgQW51aiBKYWlzd2FsIDxhbnVqLmphaXN3YWxAc2Ftc3VuZy5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSAgbXVsdGlmaWxlc2luazogZG9uJ3QgT1IgdGhlIHNhbWUgZmxhZyB0d2ljZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2NDYyCgoyMDE0LTA5LTExIDEyOjUyOjExICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cGh0dHBzcmM6IElmIHRoZSBzZXJ2ZXIgcmVwb3J0cyAiQWNjZXB0LVJhbmdlczogbm9uZSIgZG9uJ3QgdHJ5IHJhbmdlIHJlcXVlc3RzCgoyMDE0LTA5LTEwIDA5OjUwOjQ1ICswMjAwICBPZ255YW4gVG9uY2hldiA8b2dueWFuQGF4aXMuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSAgdjRsMnNpbms6IFVucmVmIHBvb2wgYWZ0ZXIgdXNhZ2UKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjM4NAoKMjAxNC0wOS0wOSAxOTowMzo1MCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwydHJhbnNmb3JtLmM6CgkgIHY0bDJ0cmFuc2Zvcm06IERvbid0IHJhbmsgaXQgZm9yIG5vdwoJICBUaGlzIHdpbGwgcHJldmVudCB0aGUgY29udmVydGVyIHRvIGJlIHBpY2tlZCBhdXRvbWF0aWNhbGx5IGluIGNhc2UKCSAgc29tZW9uZSBpbXBsZW1lbnQgZHluYW1pYyBjb252ZXJ0ZXIgc2VsZWN0aW9uIHN1cHBvcnQuIEknZCBsaWtlIHRoaXMKCSAgdG8gYmUgcmFua2VkIG9ubHkgZm9yIGtub3duIGRldmljZSwgYXMgaXQncyBoYXJkIHRvIGJlIHN1cmUgYSBkZXZpY2UgaXMKCSAgYSBjb252ZXJ0ZXIgc3VpdGVkIGZvciBnZW5lcmFsIHB1cnBvc2UuIFJlLW5lZ290aWF0aW9uIGlzIGFsc28gbmVlZGVkCgkgIGJlZm9yZSB3ZSBjYW4gcmFuayBpdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMzYwNwoKMjAxNC0wOS0wNSAwODoyOToyMCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuaDoKCSAgdjRsMjogRGV0ZWN0IGJhZCBkcml2ZXJzIHRpbWVzdGFtcHMKCSAgRXZlbiB0aG91Z2ggdGhlIFVWQyBkcml2ZXIgZG8gYSBncmVhdCBkZWFsIG9mIGVmZm9ydCB0byBwcmV2ZW50IGJhZAoJICB0aW1lc3RhbXAgdG8gYmUgc2VudCB0byB1c2Vyc3BhY2UsIHRoZXJlIHN0aWxsIGV4aXN0IFVWQyBoYXJkd2FyZSB0aGF0CgkgIGFyZSBzbyBidWdneSB0aGF0IHRoZSB0aW1lc3RhbXAgZW5kdXAgbmVhcmx5IHJhbmRvbS4gVGhpcyBjb2RlIGRldGVjdAoJICBhbmQgaWdub3JlIHRpbWVzdGFtcCBmcm9tIHRoZXNlIGRyaXZlcnMsIG1ha2luZyB0aGVzZSBjYW1lcmEgdXNhYmxlLgoJICBUaGlzIGhhcyBiZWVuIHRlc3RlZCBvbiBib3RoIGludmFsaWQgYW5kIHZhbGlkIGNhbWVyYXMsIG1ha2luZyBzdXJlIGl0CgkgIGRvZXMgbm90IHRyaWdnZXIgZm9yIHZhbGlkIGNhbWVyYXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzI5MTAKCjIwMTQtMDgtMjkgMTc6MDk6MzAgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJhbGxvY2F0b3IuYzoKCSAgdjRsMmFsbG9jYXRvcjogV29ya2Fyb3VuZCBkcml2ZXIgdGhhdCBkb24ndCBzdXBwb3J0IFJFUUJVRlMoMCkKCSAgVGhlcmUgaXMgc3RpbGwgYXJvdW5kIDE4IGRyaXZlcnMgbm90IHlldCBwb3J0ZWQgdG8gdmlkZW9idWYyLiBUaGVzZSBkcml2ZXIKCSAgZG9uJ3Qgc3VwcG9ydCBmcmVlaW5nIGJ1ZmZldHJzIHRocm91Z2ggUkVRQlVGUygwKSBoZW5jZSBmb3IgdGhlc2UgdGhlCgkgIG1lbW9yeSB0eXBlIHByb2JpbmcgZmFpbHMuIEluIG9yZGVyIHRvIGdhaW4gYmFjayBvdXIgcHJldmlvdXMgYmVoYXZpb3VyIGluCgkgIHByZXNlbmNlIG9mIHRoZXNlLCB3ZSBpbXBsZW1lbnQgYSB3b3JrYXJvdW5kIHRoYXQgYXNzdW1pbmcgTU1BUCBpcwoJICBzdXBwb3J0ZWQuIE5vdGUgdGhhdCBhbiBhbGxvY2F0b3IgaXMgb25seSBjcmVhdGVkIGZvciBkZXZpY2Ugd2l0aAoJICBTVFJFQU1JTkcgc3VwcG9ydCBpbiB0aGUgZGV2aWNlIGNhcGFiaWxpdGllcy4gSW4gc3VjaCBjYXNlIG9uZSBvZiBNTUFQLAoJICBVU0VSUFRSIGFuZCBETUFCVUYgaXMgcmVxdWlyZWQuIFRob3VnaCBETUFCVUYgY2FtZSBhZnRlcndhcmQsIHNvIGlzCgkgIG5vdCBhbiBvcHRpb24gYW5kIGluIHByYWN0aWNlIG5vbmUgb2YgdGhlc2UgZHJpdmVycyB3aWxsIG9ubHkgZG8gVVNFUlBUUi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNTY2MAoJICBBbHNvLWJ5OiBIYW5zIGRlIEdvZWRlIDxoZGVnb2VkZUByZWRoYXQuY29tPgoKMjAxNC0wOS0wNCAxNToxMTo0MCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvZGVjLmM6CgkgIHY0bDI6IE1lcmdlIG1pbl9idWZmZXJzX2ZvciogdmFyaWFibGUgaW50byBvbmUKCSAgUmV1c2UgdGhlIHNhbWUgbWluX2J1ZmZlcnMgdmFyaWFibGUgZm9yIGJvdGggY2FwdHVyZSBhbmQgb3V0cHV0LCB0aGlzCgkgIHJlZHVjZSB0aGUgbGVuZ3RoIG9mIGxpbmVzIGFuZCBtYWtlIHRoZSBjb2RlIG1vcmUgcmVhZGFibGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzYwNzIKCjIwMTQtMDktMDQgMTg6MzU6NDYgKzAyMDAgIEF1csOpbGllbiBaYW5lbGxpIDxhdXJlbGllbi56YW5lbGxpQHBhcnJvdC5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSAgdjRsMjogc2V0IG1pbl9sYXRlbmN5IGZvciBvdXRwdXQgZGV2aWNlIGFjY29yZGluZyB0byByZXF1aXJlZCBtaW5pbXVtIG51bWJlciBvZiBidWZmZXJzCgkgIFNpbmNlIHdlIGNhbiBnZXQgdGhlIG1pbmltdW0gbnVtYmVyIG9mIGJ1ZmZlcnMgbmVlZGVkIGJ5IGFuIG91dHB1dAoJICBkZXZpY2UgdG8gd29yaywgdXNlIGl0IHRvIHNldCBtaW5fbGF0ZW5jeSB3aGljaCB3aWxsIGRldGVybWluZSBob3cgbWFueQoJICBidWZmZXJzIGFyZSBxdWV1ZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzYwNzIKCjIwMTQtMDktMDkgMTY6MTA6NTYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy91ZHBzcmMuYzoKCSAgdGVzdHM6IHVkcHNyYzogYWRkIGNoZWNrIHRvIG1ha2Ugc3VyZSBtdWx0aXBsZSBtZW1vcnkgY2h1bmtzIGFyZSB1c2VkCgoyMDE0LTA5LTA5IDE1OjU1OjE4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdWRwc3JjLmM6CgkgIHRlc3RzOiB1ZHBzcmM6IHdhaXQgZm9yIGJ1ZmZlcnMgd2l0aCBHQ29uZCBpbnN0ZWFkIG9mIHNsZWVwaW5nCgkgIEF2b2lkcyBoYWxmLXNlY29uZCBzbGVlcCBmb3Igbm8gcmVhc29uLgoKMjAxNC0wOS0wOSAxNTozMTozMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3VkcHNyYy5jOgoJICB0ZXN0czogdWRwc3JjOiBzcGxpdCBvdXQgc29ja2V0IHNldHVwCgoyMDE0LTA5LTA5IDEzOjQ2OjU2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgdWRwc3JjOiBtb3JlIGVmZmljaWVudCBtZW1vcnkgaGFuZGxpbmcKCSAgRHJvcCB1c2Ugb2YgZ19zb2NrZXRfZ2V0X2F2YWlsYWJsZV9ieXRlcygpIHdoaWNoIGlzCgkgIG5vdCB1c2VmdWwgb24gYWxsIHN5c3RlbXMgKHdoZXJlIGl0IHJldHVybnMgdGhlIHNpemUKCSAgb2YgdGhlIGVudGlyZSBidWZmZXIgbm90IHRoYXQgb2YgdGhlIG5leHQgcGVuZGluZwoJICBwYWNrZXQpLCBhbmQgaXMgeWV0IGFub3RoZXIgc3lzY2FsbCBhbmQgYXBwYXJlbnRseQoJICB2ZXJ5IGluZWZmaWNpZW50IG9uIFdpbmRvd3MgaW4gdGhlIFVEUCBjYXNlLgoJICBJbnN0ZWFkLCB3aGVuIHJlYWRpbmcgVURQIHBhY2tldHMsIHVzZSB0aGUgbW9yZSBmZWF0dXJlZnVsCgkgIGdfc29ja2V0X3JlY2VpdmVfbWVzc2FnZSgpIGNhbGwgdGhhdCBhbGxvd3MgdG8gcmVhZCBpbnRvCgkgIHNjYXR0ZXJlZCBtZW1vcnksIGFuZCBhbGxvY2F0ZSBvbmUgbWVtb3J5IGNodW5rIHdoaWNoIGlzCgkgIGxpa2VseSB0byBiZSBsYXJnZSBlbm91Z2ggZm9yIGEgcGFja2V0LCB3aGlsZSBhbHNvIHByb3ZpZGluZwoJICBhIGxhcmdlciBhbGxvY2F0ZWQgbWVtb3J5IGNodW5rIGp1c3QgaW4gY2FzZSB0aGUgcGFja2V0CgkgIGlzIGxhcmdlciB0aGFuIGV4cGVjdGVkLiBJZiB0aGUgcmVjZWl2ZWQgZGF0YSBmaXRzIGludG8gdGhlCgkgIGZpcnN0IGNodW5rLCB3ZSdsbCBqdXN0IGFkZCB0aGF0IHRvIHRoZSBidWZmZXIgd2UgcmV0dXJuCgkgIGFuZCByZS11c2UgdGhlIGZhbGxiYWNrIGJ1ZmZlciBmb3IgbmV4dCB0aW1lLCBvdGhlcndpc2Ugd2UKCSAgYWRkIGJvdGggY2h1bmtzIHRvIHRoZSBidWZmZXIuCgkgIFRoaXMgcmVkdWNlcyBtZW1vcnkgd2FzdGUgbW9yZSByZWxpYWJseSBvbiBzeXN0ZW1zIHdoZXJlCgkgIGdldF9hdmFpbGFibGVfYnl0ZXMoKSBkb2Vzbid0IHdvcmsgcHJvcGVybHkuCgkgIEluIGEgbXVsdGltZWRpYSBzdHJlYW1pbmcgc2NlbmFyaW8sIGluY29taW5nIFVEUCBwYWNrZXRzCgkgIGFyZSBhbG1vc3QgbmV2ZXIgZnJhZ21lbnRlZCBhbmQgdGh1cyBhbG1vc3QgYWx3YXlzIHNtYWxsZXIKCSAgdGhhbiB0aGUgTVRVIHNpemUsIHdoaWNoIGlzIGFsc28gd2h5IHdlIGRvbid0IHRyeSB0byBkbwoJICBzb21ldGhpbmcgc21hcnRlciB3aXRoIG1vcmUgZmFsbGJhY2sgbWVtb3J5IGNodW5rcyBvZgoJICBkaWZmZXJlbnQgc2l6ZXMuIFRoZSBmYWxsYmFjayBzY2VuYXJpbyBpcyBqdXN0IGZvciB3aGVuCgkgIHNvbWVvbmUgYnVpbHQgYSBicm9rZW4gc2VuZGVyIHBpcGVsaW5lIChub3QgdXNpbmcgYQoJICBwYXlsb2FkZXIgb3Igc29tZXN1Y2gpCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MTAzNjQKCjIwMTQtMDktMDkgMTI6MTU6NDMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5oOgoJICB1ZHBzcmM6IHJld29yayBtZW1vcnkgYWxsb2NhdGlvbiBiaXRzIGFuZCBlbnN1cmUgd2UgYWx3YXlzIGhhdmUgdHdvIGNodW5rcyBvZiBtZW1vcmllcyB0byByZWFkIGludG8KCSAgRmlyc3QgY2h1bmsgaXMgdGhlIGxpa2VseS9leHBlY3RlZCBidWZmZXIgc2l6ZSwgc2Vjb25kIGlzIGFzCgkgIGZhbGxiYWNrIGluIGNhc2UgdGhlIHBhY2tldCBpcyBsYXJnZXIgaW4gdGhlIGVuZC4KCSAgTmV4dCBzdGVwOiBhY3R1YWxseSB1c2UgdGhlc2UuCgoyMDE0LTA5LTA5IDA5OjQyOjE1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuaDoKCSAgdWRwc3JjOiB0cmFjayBtYXggcGFja2V0IHNpemUgYW5kIHNhdmUgYWxsb2NhdG9yIG5lZ290aWF0ZWQgYnkgR3N0QmFzZVNyYwoKMjAxNC0wOS0wOCAxNjoxNTowNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZWNoby5jOgoJICBhdWRpb2VjaG86IGZpeCBleGFtcGxlIGNvbW1hbmQgbGluZQoKMjAxNC0wOS0wNyAxMjo0NjowOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IGZpeCBjcmFzaCB3aXRoIGNlcnRhaW4gdmlkZW9zCgkgIFRoaXMgaXMgYSByZWdyZXNzaW9uIGZyb20gMS4yIGNhdXNlZCBieSB0aGUgcG9ydAoJICB0byB0aGUgcGFkIGZsb3cgY29tYmluZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzYxOTIKCjIwMTQtMDktMDQgMTY6MjE6MjAgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmg6CgkgIG1hdHJvc2thLWRlbXV4OiBEb24ndCBoYW5kbGUgcGFyc2UgZXJyb3JzIGF0IHRoZSBlbmQgb2YgZmlsZSBhcyBhbiBlcnJvcgoJICBCdXQgb25seSBpZiB0aGV5IGhhcHBlbiBhZnRlciB0aGUgTWF0cm9za2Egc2VnbWVudC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNTgzMwoKMjAxNC0wOS0wNCAxMjoxNDoxMSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXBodHRwc3JjOiBJbmNsdWRlIHJlZGlyZWN0aW9uIHRhcmdldCBpbiBlcnJvciBtZXNzYWdlcwoJICBKdXN0IGdpdmluZyB0aGUgb3JpZ2luYWwgVVJJIGNhbiBnaXZlIHRoZSBmYWxzZSBpbXByZXNzaW9uIHRoYXQgZS5nLgoJICB0aGF0IG9uZSBmYWlsZWQgaG9zdCBuYW1lIHJlc29sdXRpb24sIHdoaWxlIGFjdHVhbGx5IHRoZSByZWRpcmVjdGlvbiB0YXJnZXQKCSAgZGlkLgoKMjAxNC0wOS0wMiAxMToxMzo0NCArMDQwMCAgQW5kcmVpIFNhcmFrZWV2IDxzYXJha3VzaGFAZ21haWwuY29tPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgdmlkZW9taXhlcjogRml4IHN5bmNocm9uaXphdGlvbiBpZiBkeW5hbWljYWxseSBjaGFuZ2luZyB0aGUgRlBTCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzU4NTkKCjIwMTQtMDktMDIgMTM6NTI6NDMgKzA1MzAgIFJhdmkgS2lyYW4gSyBOIDxyYXZpLmtpcmFuQHNhbXN1bmcuY29tPgoKCSogZ3N0L3NtcHRlL2dzdHNtcHRlLmM6CgkgIHNtcHRlOiBDaGVjayBpZiBpbnB1dCBjYXBzIGFyZSB0aGUgc2FtZSBhbmQgY3JlYXRlIG91dHB1dCBjYXBzIGZyb20gdmlkZW8gaW5mbwoJICBUaGlzIG1ha2VzIHN1cmUgdGhhdCBhbHNvIHByb3BlcnRpZXMgbGlrZSB0aGUgcGl4ZWwtYXNwZWN0LXJhdGlvIGFyZSB0aGUgc2FtZQoJICBiZXR3ZWVuIGJvdGggc3RyZWFtcyBhbmQgdGhhdCB0aGUgb3V0cHV0IGNhcHMgY29udGFpbiBhbGwgZmllbGRzIG5lY2Vzc2FyeSBmb3IKCSAgY29tcGxldGUgdmlkZW8gY2Fwcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNTgwNAoKMjAxNC0wOS0wMiAxNzoyMjowNyArMDUzMCAgVmluZWV0aCBUIE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvaW1hZ2VmcmVlemUvZ3N0aW1hZ2VmcmVlemUuYzoKCSAgaW1hZ2VmcmVlemU6IHJlcGxhY2Ugd2l0aCBnc3RfYnVmZmVyX2NvcHkKCSAgZ3N0X2J1ZmZlcl9yZWYgYW5kIGdzdF9idWZmZXJfd3JpdGFibGUgaXMgYmVpbmcgdXNlZCB0byBjcmVhdGUgYSB3cml0YWJsZSBjb3B5IG9mIHNvdXJjZSBidWZmZXIuCgkgIHJlcGxhY2luZyB0aGUgc2FtZSB3aXRoIGdzdF9idWZmZXJfY29weSBhcyB0aGUgZnVuY3Rpb25hbGl0eSBpcyBzYW1lLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM1ODgwCgoyMDE0LTA5LTAzIDIzOjA2OjUzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IG1hcmsganBlZyBhbmQgcG5nIGFzIHBhcnNlZCBzbyBhdmRlY19tanBlZyBjYW4gYmUgdXNlZCB0b28KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNTk3MQoKMjAxNC0wOS0wMyAxMTo0NjoxMyArMDUzMCAgVmluZWV0aCBUIE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWZkZWMuYzoKCSAgZ2RrcGl4YnVmZGVjOiBmcmVlIHF1ZXJ5IGFmdGVyIHVzZQoJICBJbiBnc3RfZ2RrX3BpeGJ1Zl9kZWNfc2V0dXBfcG9vbCgpLCBxdWVyeSBpcyBiZWluZyBhbGxvY2F0ZWQgdXNpbmcKCSAgZ3N0X3F1ZXJ5X25ld19hbGxvY2F0aW9uKCksIGJ1dCB0aGUgc2FtZSBpcyBub3QgdW5yZWZlcmVuY2VkCgkgIGhlbmNlIGNhbGxpbmcgZ3N0X3F1ZXJ5X3VucmVmKCkgYWZ0ZXIgdXNhZ2Ugb2YgcXVlcnkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzU5NTAKCjIwMTQtMDktMDMgMjM6NDY6MzQgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eF90eXBlcy5jOgoJICBxdGRlbXV4OiBTaWxlbmNlIHNvbWUgd2FybmluZ3MgZm9yIG5vcm1hbCBmaWxlIGNvbnRlbnRzCgoyMDE0LTA5LTAxIDA5OjU2OjAyICswMjAwICBOaWNvbGFzIEh1ZXQgPG5pY29sYXMuaHVldEBwYXJyb3QuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogRml4IHBhcnNpbmcgaXNzdWUgd2hlbiB0aGUgYnVmZmVyIGRvZXMgbm90IGhhdmUgYSBjb21wbGV0ZSBBRFRTL0xPQVMgZnJhbWUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNTUyMAoKMjAxNC0wOS0wMiAwOTowOTo0OSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC92cHgvZ3N0dnA5ZGVjLmM6CgkgIHZwOWRlYzogR2V0IGlucHV0IHdpZHRoL2hlaWdodCBmcm9tIHRoZSBjb2RlYyBpbnN0ZWFkIG9mIHRoZSBpbnB1dCBjYXBzCgkgIFRoZXkgYXJlIHJlcG9ydGVkIHByb3Blcmx5IGJ5IGxpYnZweCBpZiB0aGUgY29ycmVjdCBzdHJ1Y3QgbWVtYmVycyBhcmUgdXNlZC4KCSAgVGhpcyBhbHNvIGZpeGVzIGhhbmRsaW5nIG9mIHJlc29sdXRpb24gY2hhbmdlcyB3aXRob3V0IGlucHV0IGNhcHMgY2hhbmdlcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxOTM1OQoKMjAxMy0xMC0yMiAxODo0OToyMiArMDEwMCAgVG9tIEdyZWVud29vZCA8dGNkZ3JlZW53b29kQGhvdG1haWwuY29tPgoKCSogZXh0L3ZweC9nc3R2cDhkZWMuYzoKCSAgdnA4ZGVjOiBGaXggZm9yIGhhbmRsaW5nIHJlc29sdXRpb24gY2hhbmdlcyB3aGVuIGRlY29kaW5nIFZQOAoJICBJZiB0aGUgcmVzb2x1dGlvbiBjaGFuZ2VzIGluIHRoZSBiaXRzdHJlYW0gd2l0aG91dCB0aGUgaW5wdXQgY2FwcyBjaGFuZ2luZyB3ZQoJICB3b3VsZCBwcmV2aW91c2x5IG91dHB1dCBjb3JydXB0ZWQgdmlkZW8gb3IgY3Jhc2guCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTkzNTkKCjIwMTQtMDktMDIgMDA6NTU6MTcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC92cHgvZ3N0dnA5ZGVjLmM6CgkgIHZwOWRlYzogRml4IHNlZ2ZhdWx0IHdoZW4gYSBuZXcgY2FwcyBpcyByZWNlaXZlZAoJICBSZW1lbWJlciB0byB1bnJlZiB0aGUgb3V0cHV0IGNhcHMgd2hlbiBhIG5ldyBjYXBzIGV2ZW50IGlzIHJlY2VpdmVkCgkgIGFzIGl0IHNob3VsZCBnZW5lcmF0ZSBhIG5ldyBvbmUgYmFzZWQgb24gdGhlIG5ldyBjYXBzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM0MjY2CgoyMDE0LTA5LTAyIDAwOjU0OjM1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92cDhkZWMuYzoKCSAgdGVzdHM6IHZwOGRlYzogYWRkIHRlc3QgZm9yIGNhcHMgcmVuZWdvdGlhdGlvbgoJICBDaGVjayB0aGF0IHZwOGRlYyBjYW4gcHJvcGVybHkgYWNjZXB0IGEgbmV3IGNhcHMgd2hlbiB1cHN0cmVhbQoJICBjaGFuZ2VzIGl0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzQyNjYKCjIwMTQtMDgtMDUgMTA6MzQ6MzkgKzAyMDAgIEpvc2UgQW50b25pbyBTYW50b3MgQ2FkZW5hcyA8c2FudG9zY2FkZW5hc0BnbWFpbC5jb20+CgoJKiBleHQvdnB4L2dzdHZwOGRlYy5jOgoJICB2cDhkZWM6IFJlc2V0IG91dHB1dCBhbmQgaW5wdXQgc3RhdGVzIHdoZW4gY2hhbmdpbmcgZm9ybWF0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzQyNjYKCjIwMTQtMDktMDEgMTY6Mzk6MjMgKzA1MzAgIFZpbmVldGggVCBNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZ3N0L2ltYWdlZnJlZXplL2dzdGltYWdlZnJlZXplLmM6CgkgIGltYWdlZnJlZXplOiBEb24ndCBjYWxsIGdzdF9jYXBzX3VucmVmKCkgb24gdGVtcGxhdGUgY2FwcyB3aGVuIGFscmVhZHkgdW5yZWZlcmVuY2VkCgkgIEFkZGluZyBhbiBleHRyYSBjb25kaXRpb24gd2hpbGUgY2FsbGluZyBnc3RfY2Fwc191bnJlZiAodGVtcGwpCgkgIGFuZCByZXBsYWNpbmcgZ3N0X2NhcHNfbWFrZV93cml0YWJsZSAoZ3N0X2NhcHNfcmVmIChjYXBzKSkgd2l0aAoJICBnc3RfY2Fwc19jb3B5IChjYXBzKSBpbiBsaW5lIDE3Nywgc2luY2UgdGhlIGZ1bmN0aW9uYWxpdHkgaXMgc2FtZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNTc5NQoKMjAxNC0wOC0yOSAxMjowMToyNyArMDIwMCAgSGFucyBkZSBHb2VkZSA8aGRlZ29lZGVAcmVkaGF0LmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMjogZ2V0X25lYXJlc3Rfc2l6ZTogRml4ICJVbnN1cHBvcnRlZCBmaWVsZCB0eXBlIiBlcnJvcnMKCSAgTW9zdCBWNEwyIGlvY3RscyBsaWtlIHRyeV9mbXQgd2lsbCBhZGp1c3QgaW5wdXQgZmllbGRzIHRvIG1hdGNoIHdoYXQgdGhlCgkgIGhhcmR3YXJlIGNhbiBkbyByYXRoZXIgdGhlbiByZXR1cm5pbmcgLUVJTlZBTC4gQXMgaXMgZG9jbWVudGVkIGhlcmU6CgkgIGh0dHA6Ly9saW51eHR2Lm9yZy9kb3dubG9hZHMvdjRsLWR2Yi1hcGlzL3ZpZGlvYy1nLWZtdC5odG1sCgkgIEVJTlZBTCBpcyBvbmx5IHJldHVybmVkIGlmIHRoZSBidWZmZXIgdHlwZSBmaWVsZCBpcyBpbnZhbGlkIG9yIG5vdCBzdXBwb3J0ZWQuCgkgIFNvIHVwb24gcmVxdWVzdGluZyBWNEwyX0ZJRUxEX05PTkUgZGV2aWNlcyB3aGljaCBjYW4gb25seSBkbyBpbnRlcmxhY2VkCgkgIG1vZGUgd2lsbCBjaGFuZ2UgdGhlIGZpZWxkIHZhbHVlIHRvIGUuZy4gVjRMMl9GSUVMRF9CT1RUT00gYXMgb25seSByZXR1cm5pbmcKCSAgaGFsZiB0aGUgbGluZXMgaXMgdGhlIGNsb3Nlc3QgdGhleSBjYW4gZG8gdG8gcHJvZ3Jlc3NpdmUgbW9kZXMuCgkgIEluIGVzc2VuY2UgdGhpcyBtZWFucyB0aGF0IHdlJ3ZlIGZhaWxlZCB0byBnZXQgYSAodXNhYmxlKSBwcm9nZXNzaXZlIG1vZGUKCSAgYW5kIHNob3VsZCBmYWxsIGJhY2sgdG8gaW50ZXJsYWNlZCBtb2RlLgoJICBUaGlzIGNvbW1pdCBhZGRzIGEgY2hlY2sgZm9yIGhhdmluZyBnb3R0ZW4gYSB1c2FibGUgZmllbGQgdmFsdWUgYWZ0ZXIgdGhlIGZpcnN0CgkgIHRyeV9mbXQsIHRvIGZvcmNlIGZhbGxiYWNrIHRvIGludGVybGFjZWQgbW9kZSBldmVuIGlmIHRoZSB0cnlfZm10IHN1Y2NlZWRlZCwKCSAgdGhlcmVieSBmaXhpbmcgZ2V0X25lYXJlc3Rfc2l6ZSBmYWlsaW5nIG9uIHRoZXNlIGRldmljZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzU2NjAKCjIwMTQtMDgtMjkgMTA6NTc6MjAgKzAyMDAgIEhhbnMgZGUgR29lZGUgPGhkZWdvZWRlQHJlZGhhdC5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDI6IGdldF9uZWFyZXN0X3NpemU6IEFsd2F5cyByZWluaXQgYWxsIHN0cnVjdCBmaWVsZHMgb24gcmV0cnkKCSAgVGhleSBtYXkgaGF2ZSBiZWVuIG1vZGlmaWVkIGJ5IHRoZSBpb2N0bCBldmVuIGlmIGl0IGZhaWxlZC4gVGhpcyBhbHNvIG1ha2VzCgkgIHRoZSBTX0ZNVCBmYWxsYmFjayBwYXRoIHRyeSBwcm9ncmVzc2l2ZSBmaXJzdCwgbWFraW5nIGl0IGNvbnNpc3RlbnQgd2l0aCB0aGUKCSAgcHJlZmVycmVkIFRSWV9GTVQgcGF0aC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNTY2MAoKMjAxNC0wOC0yOSAxMTo1NToyNiArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICB3YXZwYXJzZTogU3RvcmUgc2l6ZSBvZiBkYXRhIHRhZyBpbiBhIDY0IGJpdCBpbnRlZ2VyIGxvY2FsbHkgdG9vCgkgIE90aGVyd2lzZSB3ZSB3aWxsIGNsaXAgdGhlIERTNjQgdmFsdWUgb2YgUkY2NCBmaWxlcyB0byAzMiBiaXRzIGFnYWluLgoKMjAxNC0wOC0yOSAxMTo1MzoyMyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICB3YXZwYXJzZTogVXNlIDY0IGJpdCBzY2FsaW5nIGZ1bmN0aW9ucyBub3cgdGhhdCBmYWN0IGlzIGEgNjQgYml0IGludGVnZXIKCjIwMTQtMDgtMjcgMTg6NTU6MTggKzAyMDAgIFBldGVyIEcuIEJhdW0gPHBldGVyQGRyLWJhdW0ubmV0PgoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5oOgoJICB3YXZwYXJzZTogc3VwcG9ydCByZjY0IGZvcm1hdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM1NjI3CgoyMDE0LTA4LTI4IDEzOjQ4OjUwIC0wNjAwICBKYXNvbiBMaXR6aW5nZXIgPGpsaXR6aW5nZXJAY29udHJvbDQuY29tPgoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOgoJICBtdWx0aXBhcnRkZW11eDogRW5zdXJlIGNhcHMgYmVmb3JlIHBhZCBhZGRlZC4KCSAgVGhpcyBzdG9yZXMgdGhlIHN0cmVhbS1zdGFydCwgc2V0cyBjYXBzLCBhbmQgdGhlbiBhZGRzIHRoZSBwYWQsCgkgIHdoaWNoIGVuc3VyZXMgdGhhdCB0aGUgY2FwcyBhcmUgc2V0IGZvciB0aGUgInBhZC1hZGRlZCIgY2FsbGJhY2suCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzU2MjYKCjIwMTQtMDgtMjggMTU6MDM6NTAgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSAgZmx2bXV4OiBGYWxsYmFjayB0byBQVFMgaWYgRFRTIGlzIG1pc3NpbmcKCSAgRml4aW5nIGEgcmVncmVzc2lvbiBpbnRyb2R1Y2Ugd2hlbiBmaXhpbmc6CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzEzNTIKCjIwMTQtMDgtMjggMTY6MTM6MjkgKzA1MzAgIFZpbmVldGggVCBNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZ3N0L2ltYWdlZnJlZXplL2dzdGltYWdlZnJlZXplLmM6CgkgIGltYWdlZnJlZXplOiBSZW1vdmUgaW1wb3NzaWJsZSBlcnJvciBjb25kaXRpb24KCSAgV2UgcmV0dXJuIEVPUyBhZnRlciB0aGUgZmlyc3QgYnVmZmVyLCBhbmQgR3N0UGFkIHdpbGwgbWFrZSBzdXJlIG5vdyB0aGF0IHdlCgkgIHdvbid0IGdldCBhbnkgb3RoZXIgYnVmZmVyIGFmdGVyd2FyZHMgdW50aWwgYSBmbHVzaCBoYXBwZW5zLiBObyBuZWVkIHRvIGNoZWNrCgkgIGZvciBpdCBvdXJzZWx2ZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzU1ODEKCjIwMTQtMDgtMjggMTM6NTM6MjMgKzA1MzAgIFZpbmVldGggVCBNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmZGVjLmM6CgkgIGdka3BpeGJ1ZmRlYzogRU9TIGFuZCBOT1RfTElOS0VEIGFyZSBubyBlcnJvcnMgaW4gZ2VuZXJhbAoJICBEb24ndCBwb3N0IGFuIGVycm9yIG1lc3NhZ2UgZm9yIHRoZW0gYnV0IGxldCB1cHN0cmVhbSBoYW5kbGUKCSAgYW55dGhpbmcgYWNjb3JkaW5nbHkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzU1NjQKCjIwMTQtMDgtMjcgMjE6MDc6MjYgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2bXV4Lmg6CgkgIGZsdm11eDogQ29ycmVjdGx5IG9mZnNldCB0aW1lc3RhbXAKCSAgVGhlIHByZXZpb3VzIG1ldGhvZCB3b3VsZCBicmVhayBBViBzeW5jIGluIHRoZSBjYXNlIGF1ZGlvIG9yIHZpZGVvCgkgIGRpZG4ndCBzdGFydCBhdCB0aGUgc2FtZSBwb2ludCBpbiBydW5uaW5nIHRpbWUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzEzNTIKCjIwMTQtMDgtMjcgMjA6NTY6MTIgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkgIGZsdm11eDogU2F2ZSBkdHMgZnJvbSBidWZmZXIKCSAgV2Ugbm8gbG9uZ2VyIHNldCBkdHMgaW4gbXV4ZWQgYnVmZmVyLiBUaGlzIHdvdWxkIGxlYWQgdG8gZW5jb2RpbmcgdGFncwoJICB3aXRoIHRpbWVzdGFtcCAwIGluc3RlYWQgb2YgdGhlIHRpbWVzdGFtcCBvZiBwcmV2aW91cyBidWZmZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzEzNTIKCjIwMTQtMDctMjggMjA6NTg6NTkgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguaDoKCSAgZmx2bXV4OiBFbnN1cmUgVGltZXN0YW1wIHN0YXJ0cyBhdCAwCgkgIEZMViBkb2N1bWVudGF0aW9uIHN0aXB1bGF0ZXMgdGhhdCB0aW1lc3RhbXAgbXVzdCBzdGFydCBhdCB6ZXJvLgoJICBJbiBvcmRlciB0byByZXNwZWN0IHRoaXMgcnVsZSwga2VlcCB0aGUgZmlyc3QgdGltZXN0YW1wIGFyb3VuZAoJICBhbmQgb2Zmc2V0IHRoZSB0aW1lc3RhbXAgZnJvbSB0aGlzIHZhbHVlLiBUaGlzIGFsbG93IGZvciBsb25nZXIKCSAgcmVjb3JkaW5nIHRpbWUgaW4gcHJlc2VuY2Ugb2YgdGltZXN0YW1wIHRoYXQgZG9lcyBub3Qgc3RhcnQKCSAgYXQgMCBhbHJlYWR5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMxMzUyCgoyMDE0LTA2LTA2IDIzOjE3OjUyIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5oOgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJICBmbHY6IFRhZyB0aW1lc3RhbXAgYXJlIERUUyBub3QgUFRTCgkgIFRoZSB0YWdzIGluIEZMViBhcmUgRFRTLiBJbiBhdWRpbyBjYXNlcywgYW5kIGZvciBtYW55IHZpZGVvIGZvcm1hdCB0aGlzIG1ha2VzCgkgIG5vIGRpZmZlcmVuY2UsIGJ1dCBmb3IgQVZDIHdpdGggQi1GcmFtZXMsIFBUUyBuZWVkIHRvIGJlIGNvbXB1dGVkIGZyb20KCSAgY29tcG9zaXRpb24gdGltZXN0YW1wIENUUywgd2l0aCBQVFMgPSBEVFMgKyBDVFMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzEzNTIKCjIwMTQtMDgtMDcgMjE6NTg6MTQgLTA0MDAgIFlvdW5lc3MgQWxhb3VpIDxrYWthcm90b0BrYWthcm90by5ob21lbGludXgubmV0PgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogQWxsb3cgcnRwIGNhcHMgd2l0aG91dCBjbG9jay1yYXRlCgkgIFRoZSBqaXR0ZXJidWZmZXIgc2hvdWxkbid0IGZvcmNlIGNsb2NrLXJhdGUgb24gaXRzIHNpbmsgcGFkLCB0aGlzIHdpbGwgY2F1c2UgYSBuZWdvdGlhdGlvbiBpc3N1ZSBzaW5jZSBydHBzc3JjZGVtdXggZG9lc24ndCBoYXZlIHRoZSBjbG9jay1yYXRlIGFuZCBkb2Vzbid0IGFkZCBpdCB0byB0aGUgY2Fwcy4gVGhlIGRvY3VtZW50YXRpb24gc3RhdGVzIHRoYXQgdGhlIGNsb2NrLXJhdGUgY2FuIGVpdGhlciBiZSBzcGVjaWZpZWQgdGhyb3VnaCB0aGUgY2FwcyBvciB0aHJvdWdoIHRoZSByZXF1ZXN0LXB0LW1hcCBzaWduYWwsIHNvIHdlIG11c3QgcmVtb3ZlIGNsb2NrLXJhdGUgZnJvbSB0aGUgcGFkIHRlbXBsYXRlcyBhbmQgd2UgbXVzdCBhY2NlcHQgdGhlIEdTVF9FVkVOVF9DQVBTIGlmIHRoZSBjYXBzIGRvbid0IGhhdmUgdGhlIGNsb2NrLXJhdGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzQzMjIKCjIwMTQtMDgtMTggMTQ6MDU6NTIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBhdm9pZCBjcmFzaGluZyBvbiBkYXNoIHN0cmVhbXMKCSAgREFTSC9mcmFnbWVudGVkIG1vb3YgbWlnaHQgaGF2ZSBubyBzYW1wbGVzIGFzIHRob3NlIGFyZSBjYXJyaWVkCgkgIGluIG1vb2YgZnJhZ21lbnRzLiBBdm9pZCBjcmFzaGluZyBvciBmYWlsaW5nIHRoZSBzdHJlYW0gYmVjYXVzZQoJICBvZiB0aGF0LgoKMjAxNC0wOC0xOCAxMDozMzo0OCArMDUzMCAgUmF2aSBLaXJhbiBLIE4gPHJhdmkua2lyYW5Ac2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9lcXVhbGl6ZXIvZGVtby5jOgoJKiB0ZXN0cy9leGFtcGxlcy9zcGVjdHJ1bS9kZW1vLWF1ZGlvdGVzdC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9zcGVjdHJ1bS9kZW1vLW9zc3NyYy5jOgoJICBleGFtcGxlczogdXNlICdwb3N0LW1lc3NhZ2VzJyBwcm9wZXJ0eSBpbnN0ZWFkIG9mIGRlcHJlY2F0ZWQgJ21lc3NhZ2UnIHByb3BlcnR5CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzQ5NzkKCjIwMTQtMDgtMTggMTE6NDU6NTQgKzAyMDAgIFbDrWN0b3IgTWFudWVsIErDoXF1ZXogTGVhbCA8dmphcXVlekBpZ2FsaWEuY29tPgoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgdWRwOiBmaXggdWRwc3JjIGRvY3VtZW50YXRpb24KCSAgdWRwc3JjIGd0ay1kb2MgZG9jdW1lbnRhdGlvbiByZWZlcnMgdG8gc29ja2ZkIGFuZCBjbG9zZWZkIHByb3BlcnRpZXMgd2hpY2ggaGFzCgkgIGJlZW4gcmVtb3ZlZC4gVGhpcyBwYXRjaCByZXBsYWNlcyB0aG9zZSByZWZlcmVuY2VzIHRvIHNvY2tldCBhbmQgY2xvc2Utc29ja2V0CgkgIHJlc3BlY3RpdmVseS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNDk4NwoKMjAxNC0wOC0xNSAxMDowOTo1NiArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBNYWtlIHRoZSBkZWZhdWx0IHRpbWVzY2FsZSAxLzE4MDAgc2Vjb25kCgkgIFRoZSBvbGQgZGVmYXVsdCB0aW1lc2NhbGUgb2YgMSBtaWxsaXNlY29uZCBwcm9kdWNlcyBpcnJhdGlvbmFsCgkgIG51bWJlcnMgZm9yIGEgbG90IG9mIGZyYW1lcmF0ZS9hdWRpby1wYWNrZXQtZHVyYXRpb24gbXVsdGlwbGVzLgoJICAxLzE4MDAgaXMgYSBuaWNlciBudW1iZXIsIGFzIGl0IHRlbmRzIHRvIHByb2R1Y2UgYmV0dGVyIGZyYWN0aW9ucwoJICBhbmQgdGhlcmVmb3JlIHNsaWdodGx5IGhpZ2hlciBhY2N1cmFjeSBvdmVyYWxsCgoyMDE0LTA4LTE1IDAxOjE3OjI3ICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYTogVXNlIGdzdF92aWRlb19ndWVzc19mcmFtZXJhdGUoKSBmdW5jdGlvbgoJICBSZW1vdmUgbG9jYWwgZnJhbWVyYXRlIGd1ZXNzaW5nIGZ1bmN0aW9uIGluIGZhdm91ciBvZgoJICB0aGUgbmV3IGdzdF92aWRlb19ndWVzc19mcmFtZXJhdGUoKSBmdW5jdGlvbi4KCjIwMTQtMDgtMTUgMDE6MTI6MjAgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9NYWtlZmlsZS5hbToKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEltcHJvdmUgZnJhbWVyYXRlIGNhbGN1bGF0aW9uL2d1ZXNzaW5nCgkgIENoYW5nZSB0aGUgd2F5IHRoZSBvdXRwdXQgZnJhbWVyYXRlIGlzIGNhbGN1bGF0ZWQKCSAgdG8gaWdub3JlIHRoZSBmaXJzdCBzYW1wbGUgKHdoaWNoIGlzIHNvbWV0aW1lcyB0cnVuY2F0ZWQKCSAgaW4gbXkgdGVzdGluZykgYW5kIHVzZSB0aGUgbmV3IGdzdF92aWRlb19ndWVzc19mcmFtZXJhdGUoKQoJICBmdW5jdGlvbiB0byByZWNvZ25pc2UgY29tbW9uIHN0YW5kYXJkIGZyYW1lcmF0ZXMgYmV0dGVyLgoJICBSZW1vdmUgdGhlIGNvZGUgdGhhdCB3YXMgc29ydGluZyB0aGUgZmlyc3QgMjAgc2FtcGxlCgkgIGR1cmF0aW9ucyBhbmQgdGhlbiBpZ25vcmluZyB0aGUgcmVzdWx0LgoKMjAxNC0wOC0xNCAxNjozNjo0NCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIHZpZGVvbWl4ZXI6IFVzZSB0aGUgYmVzdCB3aWR0aC9oZWlnaHQvZXRjIGlmIGRvd25zdHJlYW0gY2FuIGhhbmRsZSB0aGF0CgkgIEJlZm9yZSBpdCB3YXMgYWx3YXlzIHVzaW5nIHdoYXRldmVyIGRvd25zdHJlYW0gcHJlZmVycmVkLCB3aGlsZQoJICB0aGUgY29kZSBhbmQgZG9jdW1lbnRhdGlvbiBjbGFpbWVkIHNvbWV0aGluZyBkaWZmZXJlbnQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjcxODAKCjIwMTQtMDgtMTQgMTE6Mjk6MDAgKzA1MzAgIFJhdmkgS2lyYW4gSyBOIDxyYXZpLmtpcmFuQHNhbXN1bmcuY29tPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgdmlkZW9taXhlcjogQXZvaWQgZG91YmxlIGZyZWUgb2YgVmlkZW9Db252ZXJ0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzQ3NjQKCjIwMTQtMDgtMTMgMTE6NTg6MzUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdmRlbXV4OiBmaXggaW5kZW50YXRpb24KCjIwMTQtMDgtMTMgMTE6NTQ6MjYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdmRlbXV4OiB1bi1icmVhayBkdXJhdGlvbiBxdWVyeWluZwoJICBDb21taXQgMmI5NDkzYjUgYnJva2UgdGhpcyBpbiB0d28gd2F5czogYSkgd2Ugc2hvdWxkIG9ubHkKCSAgcGFzcyBkdXJhdGlvbiBxdWVyaWVzIGluIFRJTUUgZm9ybWF0IHVwc3RyZWFtIChvciBhdCBsZWFzdAoJICBub3QgdGhvc2UgaW4gREVGQVVMVCBvciBCWVRFIGZvcm1hdCksIGFuZCBiKSB3ZSBtdXN0bid0CgkgIG92ZXJ3cml0ZSB0aGUgZGVmYXVsdCB2YWx1ZSBvZiAncmVzJyBmcm9tIFRSVUUgdG8gRkFMU0UKCSAgYW5kIG5vdCBzZXQgaXQgYWdhaW4gbGF0ZXIuIFRoaXMgbGVkIHRvIGJvZ3VzIGR1cmF0aW9ucwoJICBiZWluZyByZXBvcnRlZCBmb3IgRkxWIHBsYXliYWNrIGZyb20gZmlsZSwgYmVjYXVzZSBUSU1FCgkgIHF1ZXJpZXMgd291bGQgZmFpbCAoYXMgJ3JlcycgaGFkIGJlZW4gc2V0IHRvIEZBTFNFKSBhbmQKCSAgcGFyc2VycyB0aGVuIGRvIGEgQllURSBxdWVyeSBhcyBmYWxsYmFjayBhbmQgdHJ5IHRvCgkgIGd1ZXNzdGltYXRlIHNvbWV0aGluZyBpbiByZXR1cm4sIHdoaWNoIG9mIGNvdXJzZSBnb2VzCgkgIGhvcnJpYmx5IHdyb25nIHNpbmNlIHRoZSBCWVRFIHNpemUgcmV0dXJuZWQgaXMgZm9yIHRoZQoJICBtdXhlZCBmaWxlLgoKMjAxNC0wOC0xMyAxMzoyMzoxMCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2JhbGFuY2UuYzoKCSAgdmlkZW9iYWxhbmNlOiBBbGxvdyBhbnkgcmF3IGNhcHMgaW4gcGFzc3Rocm91Z2ggbW9kZSwgbm90IGp1c3QgdGhlIG9uZXMgd2UgaGFuZGxlCgoyMDE0LTA4LTEzIDEzOjA0OjIxICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvYmFsYW5jZS5jOgoJICB2aWRlb2JhbGFuY2U6IEFsbG93IEFOWSBjYXBzZmVhdHVyZXMsIGJ1dCBvbmx5IGluIHBhc3N0aHJvdWdoIG1vZGUKCSAgV2hlbiBjaGFuZ2luZyB0aGUgcHJvcGVydGllcyB0byBub3QgYmUgaW4gcGFzc3Rocm91Z2ggbW9kZSBhbnltb3JlLAoJICB3ZSB3aWxsIG9ubHkgYWNjZXB0IGNhcHMgd2UgY2FuIHByb2Nlc3Mgb3Vyc2VsdmVzLCBwb3RlbnRpYWxseSBjYXVzaW5nCgkgIGEgbm90LW5lZ290aWF0ZWQgZXJyb3IuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjAzNDUKCjIwMTQtMDgtMTIgMTE6MzQ6MzAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXNvbXA0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdnB4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJICBkb2NzOiB1cGRhdGUgZm9yIGdpdAoKMjAxNC0wOC0xMiAxMTozMzo1NiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBidWlsZCB4aW1hZ2VzcmMgYWdhaW4gd2hlbiBjaGVja3Mgc3VjY2VlZAoJICBUaGlyZCB0aW1lIGx1Y2t5LCBob3BlZnVsbHkuCgoyMDE0LTA4LTExIDA5OjI2OjE3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGZpeCB4MTEgY2hlY2tzIHRvIGJlIG5vbi1mYXRhbCBhZ2FpbgoJICBNdXN0IHBhc3MgYW4gYWN0aW9uLWlmLW5vdC1mb3VuZCBhcmd1bWVudCB0bwoJICBQS0dfQ0hFQ0tfTU9EVUxFUyBvciBpdCB3aWxsIGVycm9yIG91dCB3aGVuCgkgIGl0IGNhbid0IGZpbmQgdGhlIG1vZHVsZSByZXF1ZXN0ZWQuIEFsc28gZml4CgkgIEFDX0NIRUNLX0xJQiB1c2FnZSwgZXh0cmEgbGlicyBhcmd1bWVudCB3YXMKCSAgaW4gdGhlIHdyb25nIHBsYWNlLgoKMjAxNC0wOC0wNyAxNzoxMjozOCArMDMwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBmb3J3YXJkIERJU0NPTlQgZnJvbSB1cHN0cmVhbSB0byB0aGUgb3V0cHV0IHN0cmVhbXMKCSAgVGhpcyBtYWtlcyBzZW5zZSBpbiBEQVNIIHJldmVyc2UgcGxheWJhY2ssIHdoZXJlIHRoZSB1cHN0cmVhbSBkYXNoZGVtdXgKCSAgd2lsbCBkb3dubG9hZCBEQVNIIHNlZ21lbnRzIGluIHJldmVyc2Ugb3JkZXIsIGJ1dCBwdXNoIHRoZWlyIGJ1ZmZlcnMKCSAgZm9yd2FyZCB0byBxdGRlbXV4IGFuZCBtYXJrIGVhY2ggc2VnbWVudCBzdGFydCBhcyBESVNDT05ULiBUaGlzIG5lZWRzCgkgIHRvIGJlIGZvcndhcmRlZCBkb3duc3RyZWFtIHRvIHRoZSBwYXJzZXIvZGVjb2Rlciwgb3RoZXJ3aXNlIGl0IHdvbid0IHdvcmsuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzQ0NDMKCjIwMTQtMDgtMTAgMTg6NTU6MDcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogdXNlIHBrZy1jb25maWcgdG8gZGV0ZWN0IHgxMSBhbmQgc2ltcGxpZnkgY2hlY2tzCgkgIEFDX1BBVEhfWFRSQSBtYWNybyB1bm5lY2Vzc2FyaWx5IHB1bGxzIGluIGxpYlNNIGFuZCBsaWJJQ0UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzEwNDcKCjIwMTQtMDgtMTAgMTI6MzA6MDcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1uYXV3QHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cC1wYXlsb2FkaW5nLmM6CgkgIHRlc3RzOiBydHAtcGF5bG9hZGluZzogYWRqdXN0IHRlc3QgZGF0YSB0byBhdm9pZCBOQUwgY2hvcHBpbmcKCSAgLi4uIGFuZCBjb3JyZXNwb25kaW5nbHkgdW5leHBlY3RlZCBidWZmZXIgc2l6ZXMuCgoyMDE0LTA4LTA5IDE0OjIyOjQyICswMjAwICBTZWJhc3RpYW4gUmFzbXVzc2VuIDxzZWJyYXNAaG90bWFpbC5jb20+CgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzoKCSAgc3BlZXhlbmM6IEltcHJvdmUgYW5ub3RhdGlvbiBvZiBpbnRlcm5hbCBmdW5jdGlvbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM0NTQyCgoyMDE0LTA4LTA4IDEyOjU0OjMwICswMjAwICBTZWJhc3RpYW4gUmFzbXVzc2VuIDxzZWJyYXNAaG90bWFpbC5jb20+CgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9zaGFwZXdpcGUvc2hhcGV3aXBlLWV4YW1wbGUuYzoKCSAgc2hhcGV3aXBlOiBVbnJlZiBjYXBzIGFuZCBlbGVtZW50IGFmdGVyIHVzYWdlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzQ0NzgKCjIwMTQtMDgtMDkgMjA6NDc6MzAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogaW1wcm92ZSBkZWJ1ZyBsb2dnaW5nIG9mIGZvdXJjY3MKCSAgSWYgd2UgY2FuJ3Qgc2hvdyBBU0NJSSwgYXQgbGVhc3Qgc2hvdyB0aGVtCgkgIGluIGJpZyBlbmRpYW4gb3JkZXIuCgoyMDE0LTA4LTA5IDIwOjQ2OjA0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGFkZCBzdXBwb3J0IGZvciAnd21hICcgbWFwcGluZyBhcyBmb3VuZCBpbiBzb21lIGlzbXYgZmlsZXMKCSAgZS5nLiBUb19UaGVfTGltaXRfNzIwXzI5NjIuaXNtdgoKMjAxNC0wOC0wOSAxODozMToyMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBhZGQgc3VwcG9ydCBmb3IgJ3ZjLTEnIG1hcHBpbmcgYXMgZm91bmQgaW4gc29tZSBpc212IGZpbGVzCgkgIGUuZy4gVG9fVGhlX0xpbWl0XzcyMF8yOTYyLmlzbXYKCjIwMTQtMDgtMDcgMTY6MzQ6MzYgKzAyMDAgIFNlYmFzdGlhbiBSYXNtdXNzZW4gPHNlYnJhc0Bob3RtYWlsLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuYzoKCSAgcnRwaDI2M3BwYXk6IFVucmVmIHBhZCB0ZW1wbGF0ZSBjYXBzIGFmdGVyIHVzZQoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM0NDM1CgoyMDE0LTA4LTA4IDEyOjM2OjAxICswMjAwICBTZWJhc3RpYW4gUmFzbXVzc2VuIDxzZWJyYXNAaG90bWFpbC5jb20+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICB2aWRlb21peGVyOiBVbnJlZiBhbGxvd2VkIGNhcHMgYWZ0ZXIgdXNhZ2UKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNDQ3NAoKMjAxNC0wOC0wOCAxMjo0MDo0OSArMDIwMCAgU2ViYXN0aWFuIFJhc211c3NlbiA8c2VicmFzQGhvdG1haWwuY29tPgoKCSogZ3N0L2ltYWdlZnJlZXplL2dzdGltYWdlZnJlZXplLmM6CgkgIGltYWdlZnJlZXplOiBVbnJlZiBwYWQgdGVtcGxhdGUgY2FwcyBhZnRlciB1c2FnZQoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM0NDc1CgoyMDE0LTA4LTA4IDEyOjQ0OjA5ICswMjAwICBTZWJhc3RpYW4gUmFzbXVzc2VuIDxzZWJyYXNAaG90bWFpbC5jb20+CgoJKiBnc3QvZGVidWd1dGlscy9nc3RuYXZzZWVrLmM6CgkgIG5hdnNlZWs6IFVucmVmIHBlZXIgcGFkIGFmdGVyIHVzYWdlCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzQ0NzYKCjIwMTQtMDgtMDggMTI6Mjk6NTIgKzAyMDAgIFNlYmFzdGlhbiBSYXNtdXNzZW4gPHNlYnJhc0Bob3RtYWlsLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IFVucmVmIHBhZCB0ZW1wbGF0ZSBjYXBzIGFmdGVyIHVzYWdlCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzQ0NzMKCjIwMTQtMDgtMDUgMTE6NDc6MzkgKzAyMDAgIFNyaW1hbnRhIFBhbmRhIDxzcmltYW50YUBheGlzLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJICBydHBoMjY0cGF5OiBhcHBlbmQgcGFja2V0aXphdGlvbiBtb2RlIHBhcmFtZXRlciB0byBTRFAKCSAgQXBwZW5kIHBhY2tldGl6YXRpb24tbW9kZSBwYXJhbWV0ZXIgdG8gU0RQIGRlc2NyaXB0aW9uLgoJICBQYWNrZXRpemF0aW9uIG1vZGUgc2lnbmFscyB0aGUgcHJvcGVydGllcyBvZiBhbiBSVFAgcGF5bG9hZCB0eXBlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMzNTU2CgoyMDE0LTA4LTA4IDAzOjU4OjE0ICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIGlzb21wNC9xdG11eDogV3JpdGUgY29ycmVjdCBmaWxlIGR1cmF0aW9uIHdoZW4gZ2FwcyBleGlzdC4KCSAgV2hlbiB3cml0aW5nIG91dCBhIHRyYWsgd2l0aCBhbiBlZGl0IGxpc3QsIG1ha2Ugc3VyZSB0aGUKCSAgb3ZlcmFsbCBmaWxlIGR1cmF0aW9uIGlzIGFsc28gdXBkYXRlZCB0byByZWZsZWN0IHRoZQoJICBsZW5ndGhlbmluZyBvZiB0aGUgc3RyZWFtLgoJICBBZGQgc29tZSBtb3JlIGRlYnVnIHRvIHF0ZGVtdXggdG8gd2FybiBhYm91dCBzdHJlYW1zIHRoYXQKCSAgYXJlIGxvbmdlciB0aGFuIHRoZSBmaWxlIGFuZCBnZXQgdHJ1bmNhdGVkLgoKMjAxNC0wOC0wNCAxNTozOToxNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogUHVzaCB0aGUgY29ycmVjdCBzZWdtZW50IGluIFRDUCBtb2RlIHdoZW4gc2Vla2luZwoKMjAxNC0wOC0wMyAxMjozMzozMiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bW5hdXdAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkgIHJ0cGgyNjRwYXk6IHVuYnJlYWsgYXUgYWxpZ25lZCBieXRlLXN0cmVhbSBwYXlsb2FkaW5nCgoyMDE0LTA3LTIyIDEzOjI0OjA5ICswMjAwICBTcmltYW50YSBQYW5kYSA8c3JpbWFudGFAYXhpcy5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSAgcnRwaDI2NHBheTogYXBwZW5kIHByb2ZpbGUtbGV2ZWwtaWQgdG8gU0RQCgkgIEFwcGVuZCBwcm9maWxlLWxldmVsLWlkIHRvIFNEUCBpZiBhdmFpbGFibGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzM1MzkKCjIwMTQtMDctMzEgMTg6NDc6NDkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogTWFrZWZpbGUuYW06CgkqIGNvbW1vbjoKCSAgTWFrZWZpbGU6IEFkZCB1c2FnZSBvZiBidWlsZC1jaGVja3Mgc3RlcAoJICBBbGxvd3MgYnVpbGRpbmcgY2hlY2tzIHdpdGhvdXQgcnVubmluZyB0aGVtCgoyMDE0LTA3LTMxIDA5OjUzOjUzIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy94aW1hZ2UveGltYWdldXRpbC5jOgoJICB4aW1hZ2VzcmM6IEZpeCB3YXJuaW5nIGFib3V0IG1pc3NpbmcgcmV0dXJuIHZhbHVlCgoyMDE0LTA3LTI0IDE1OjI4OjA5IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOgoJKiBzeXMveGltYWdlL3hpbWFnZXV0aWwuYzoKCSogc3lzL3hpbWFnZS94aW1hZ2V1dGlsLmg6CgkgIHhpbWFnZXNyYzogQWRkIG1pc3NpbmcgcmV0dXJuIHZhbHVlIHRvIEJ1ZmZlciBkaXNwb3NlIGZ1bmN0aW9uCgkgIERlcGVuZGluZyBvbnQgaGUgYnVpbGQsIHRoZSBtZXRob2QgY291bGQgcmV0dXJuIEZBTFNFLCBoZW5jZSBuZXZlcgoJICBmcmVlIHRoZSBidWZmZXJzLCBvciBhbHJlYWR5IFRSVUUgYW5kIGxlYWQgdG8gYSBjcmFzaDoKCSAgRml4ZXM6IGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzM2OTUKCjIwMTQtMDctMjggMTY6NDk6MTYgKzAyMDAgIFBoaWxpcHBlIE5vcm1hbmQgPHBoaWxuQGlnYWxpYS5jb20+CgoJKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ludGVybGVhdmUuYzoKCSAgaW50ZXJsZWF2ZTogc2V0IG91dHB1dCBjYXBzIGxheW91dCB0byBpbnRlcmxlYXZlZAoJICBTZXQgb3V0cHV0IGNhcHMgbGF5b3V0IGluZGVwZW5kZW50bHkgZnJvbSBpbnB1dCBjYXBzIGxheW91dCB3aGljaCBjYW4KCSAgYmUgZWl0aGVyIG5vbi1pbnRlcmxlYXZlZCBvciBpbnRlcmxlYXZlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMzg2NgoKMjAxNC0wNy0yNiAxMjowNjozOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQG9zZy5zaXNhLnNhbXN1bmcuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMmJ1ZmZlcnBvb2w6IGNsZWFyIGdjb25kCgoyMDE0LTA3LTI1IDE0OjMwOjMzIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIFJldmVydCAidjRsMmJ1ZmZlcnBvb2w6IFdvcmthcm91bmQgZWxlbWVudHMgbm90IHJlcXVlc3RpbmcgYW55IGJ1ZmZlcnMiCgkgIFRoaXMgd2FzIGEgdGVtcG9yeSB3b3JrYXJvdW5kLCB3ZSBzaG91bGQgZml4IHRoZSBlbmNvZGVycyB0aGF0IGRvIG5vdAoJICBuZWdvdGF0aWF0ZSB0aGUgYW1vdW50IG9mIGJ1ZmZlcnMgdGhleSBuZWVkLgoJICBUaGlzIHJldmVydHMgY29tbWl0IGQwM2JjYmEzZGIxNWQwNmRiZGVhNmI3NzZhNmYyOGVkMmYwMzI3MmEuCgoyMDE0LTA3LTA4IDE0OjMxOjU5IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IERvbid0IHNoYXJlIG93biBwb29sIGlmIG1pbiBleGNlZWQgVjRMMiBjYXBhY2l0eQoJICBJZiB0aGUgbWluaW11bSByZXF1aXJlZCBidWZmZXIgZXhjZWVkIFY0TDIgY2FwYWNpdHksIGRvbid0IHNoYXJlIGRvd24KCSAgcG9vbC4gVGhpcyBhbGxvdyBzdXBwb3J0IHZlcnkgaGlnaCBsYXRlbmN5LCBsaWtlIHdpdGggeDI2NGVuYyBkZWZhdWx0CgkgIGVuY29kaW5nIHNldHRpbmdzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMyMjg4CgoyMDE0LTA3LTI1IDE3OjQyOjIwICswMjAwICBBdXLDqWxpZW4gWmFuZWxsaSA8YXVyZWxpZW4uemFuZWxsaUBwYXJyb3QuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBxdWVyeSBtaW5pbXVtIHJlcXVpcmVkIGJ1ZmZlcnMgZm9yIG91dHB1dAoJICBTb21lIHY0bDIgZGV2aWNlcyBjb3VsZCByZXF1aXJlIGEgbWluaW11bSBidWZmZXJzIGRpZmZlcmVudCBmcm9tIGRlZmF1bHQKCSAgdmFsdWVzLiBSYXRoZXIgdGhhbiBibGluZGx5IHByb3Bvc2UgYSBwb29sIHdpdGggbWluLWJ1ZmZlcnMgc2V0IHRvIHRoZQoJICBkZWZhdWx0IHZhbHVlLCBpdCBhc2sgdGhlIGRldmljZSB1c2luZyBjb250cm9sIGlvY3RsLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMzNzUwCgoyMDE0LTA3LTIzIDE4OjQwOjEwICswMjAwICBBdXLDqWxpZW4gWmFuZWxsaSA8YXVyZWxpZW4uemFuZWxsaUBwYXJyb3QuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSAgdjRsMnNpbms6IHVzZSBkaXJlY3RseSAnb2JqJyBpbnN0ZWFkIG9mICd2NGwyc2luay0+djRsMm9iamVjdCcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMzYxNgoKMjAxNC0wNy0yMyAxODozOTo1MCArMDIwMCAgQXVyw6lsaWVuIFphbmVsbGkgPGF1cmVsaWVuLnphbmVsbGlAcGFycm90LmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSAgdjRsMjogc2V0IGRlYnVnIG1lc3NhZ2VzIGFjY29yZGluZyB0byBkZXZpY2UgdHlwZSBhbmQgSU8gbW9kZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMzNjE2CgoyMDE0LTA1LTI0IDE5OjAyOjU5IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogUmVtb3ZlIGlzX2FjdGl2ZSBjaGVja3MKCSAgVGhlc2UgY2hlY2tzIGFyZSBubyBsb25nZXIgcmVxdWlyZWQgd2l0aCByZWNlbnQgY2hhbmdlIHRvIHRoZSBidWZmZXJwb29sLiBUaGlzCgkgIHNob3VsZCBhbGxvdyBjaGFuZ2luZyB0aGUgY29uZmlndWFydGlvbiwgaGVuY2UgdGhlIHdheSBmb3J3YXJkIHJlbmVnb3RpYXRpb24KCSAgc3VwcG9ydC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyODI2OAoKMjAxNC0wNy0yMSAxODoxMToxNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXhfbGFuZy5jOgoJICBxdGRlbXV4OiBmaXggbGFuZ3VhZ2UgY29kZSBwYXJzaW5nIGZvciAzLWxldHRlciBjb2RlcyBzdGFydGluZyB3aXRoICdhJwoJICBBbmQgaGFuZGxlIHNwZWNpYWwgdmFsdWUgZm9yICd1bnNwZWNpZmllZCcgZXhwbGljaXRseS4KCSAgaHR0cHM6Ly9kZXZlbG9wZXIuYXBwbGUuY29tL2xpYnJhcnkvbWFjL2RvY3VtZW50YXRpb24vUXVpY2tUaW1lL1FURkYvUVRGRkNoYXA0L3F0ZmY0Lmh0bWwKCjIwMTQtMDctMDggMDI6MTg6MjcgKzAyMDAgIE5pY29sYSBNdXJpbm8gPG5pY29sYS5tdXJpbm9AZ21haWwuY29tPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJICBqcGVnZW5jOiBBZGQgc3VwcG9ydCBmb3IgZW5jb2RpbmcgZnJvbSBOVjIxIGFuZCBOVjEyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzI4NzAKCjIwMTQtMDctMTkgMTg6MDQ6MzggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQKCj09PSByZWxlYXNlIDEuNC4wID09PQoKMjAxNC0wNy0xOSAxNzoyMDozNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXNvbXA0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdnB4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiBnc3QtcGx1Z2lucy1nb29kLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAxLjQuMAoKMjAxNC0wNy0xOSAxNjozNTo0MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VvLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2hyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9yby5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHBvL3poX0hLLnBvOgoJKiBwby96aF9UVy5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAxNC0wNy0xOSAxMjozMjoyMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VvLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2hyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9yby5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHBvL3poX0hLLnBvOgoJKiBwby96aF9UVy5wbzoKCSAgcG86IFVwZGF0ZSB0cmFuc2xhdGlvbnMKCjIwMTQtMDctMTkgMTE6MzA6MzAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzoKCSAgdmlkZW9ib3g6IERvbid0IG92ZXJ3cml0ZSB0aGUgZmlyc3QgY29tcG9uZW50IHdpdGggdGhlIGFscGhhIHZhbHVlIGZvciBCR1J4CgkgIEluc3RlYWQgbGVhdmUgdGhlIHggY29tcG9uZW50IHVuc2V0IHdoZW4gZmlsbGluZyB0aGUgYm9yZGVycy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMzM4MAoKMjAxNC0wNy0xNiAxNzoxODo1OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSAgYWFjcGFyc2U6IFByb3Blcmx5IHJlcG9ydCBpbiB0aGUgQ0FQUyBxdWVyeSB0aGF0IHdlIGNhbiBjb252ZXJ0IEFEVFM8LT5SQVcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMzE5MAoKMjAxNC0wNy0xMyAxNjowNTo1NiArMDIwMCAgU2ViYXN0aWFuIFJhc211c3NlbiA8c2VicmFzQGhvdG1haWwuY29tPgoKCSogZ3N0L3JlcGxheWdhaW4vZ3N0cmd2b2x1bWUuYzoKCSAgcmd2b2x1bWU6IEF2b2lkIHRha2luZyB1bm5lY2Vzc2FyeSByZWZzCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzMxMjIKCjIwMTQtMDctMTMgMTY6MDQ6MjMgKzAyMDAgIFNlYmFzdGlhbiBSYXNtdXNzZW4gPHNlYnJhc0Bob3RtYWlsLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGR0bWZtdXguYzoKCSAgcnRwZHRtZm11eDogQXZvaWQgdGFraW5nIGFuIHVubmVjZXNzYXJ5IHJlZgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMzMTIyCgoyMDE0LTA3LTE1IDE2OjU5OjA2ICswMjAwICBQaW90ciBEcsSFZyA8cGlvdHJkcmFnQGdtYWlsLmNvbT4KCgkqIHBvL1BPVEZJTEVTLmluOgoJICBwbzogdXBkYXRlIFBPVEZJTEVTCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzMyMDgKCjIwMTQtMDctMTEgMTM6MzU6MTAgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMmJ1ZmZlcnBvb2w6IEZpeCBjb3B5IHRocmVzaG9sZCBpbXBsZW1lbnRhdGlvbgoJICBXZSBjYW5ub3QgYWxsb2NhdGUgbmV3IGJ1ZmZlciBpbiBhY3F1aXJlLCBvdGhlcndpc2UgdGhlIGJhc2UgY2xhc3MKCSAgaXMgbm90IGF3YXJlIGFuZCBnZXQgY29uZnVzZWQuIEluc3RlYWQsIGNvcHkgaW4gX3Byb2Nlc3MoKS4gVGhpcyBsZWFkcwoJICB0byBjcmFzaCBvbiBmaW5hbGl6ZS4KCSAgRml4ZXMgcmVncmVzc2lvbiwgc2VlIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzI5MTIKCj09PSByZWxlYXNlIDEuMy45MSA9PT0KCjIwMTQtMDctMTEgMTE6Mzg6NTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlzb21wNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZweC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogZ3N0LXBsdWdpbnMtZ29vZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMS4zLjkxCgoyMDE0LTA3LTExIDEwOjU4OjA4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZW8ucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vaHIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDE0LTA3LTEwIDE4OjExOjIwIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYWxsb2NhdG9yLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJhbGxvY2F0b3IuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMmFsbG9jYXRvcjogVXNlIHFkYXRhIGluc3RlYWQgb2YgcGFyZW50aW5nIHRvIERtYWJ1Zk1lbW9yeQoJICBQYXJlbnRpbmcgVjRsMk1lbW9yeSB0byBEbWFidWZNZW1vcnkgd2FzIGluIGNvbmZsaWN0IHdpdGggcmVjZW50CgkgIG9wdGltaXphdGlvbiBpbiBEbWFidWZNZW1vcnkgdG8gYXZvaWQgZHVwKCksIGFuZCBkaWRuJ3Qgd29yayB3aXRoCgkgIG1lbW9yeSBzaGFyaW5nLiBJbnN0ZWFkLCB1c2UgYSBxZGF0YSBhbmQgaXQncyBkZXN0cm95IG5vdGlmeS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDQ0MQoKMjAxNC0wNy0xMSAwODo1MjozOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcnUucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSAgcG86IFVwZGF0ZSB0cmFuc2xhdGlvbnMKCjIwMTQtMDctMDggMTc6NTA6NDcgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDJidWZmZXJwb29sOiBXb3JrYXJvdW5kIGVsZW1lbnRzIG5vdCByZXF1ZXN0aW5nIGFueSBidWZmZXJzCgkgIFRoaXMgaXMgYSB3b3JrYXJvdW5kIGZvciBlbGVtZW50IHRoYXQgZG9uJ3QgcmVxdWVzdCBidWZmZXJzIHdoZW4KCSAgdGhleSBzaG91bGQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzIyODgKCjIwMTQtMDctMDYgMTE6Mjc6MzYgKzAyMDAgIFNlYmFzdGlhbiBSYXNtdXNzZW4gPHNlYnJhc0Bob3RtYWlsLmNvbT4KCgkqIHRlc3RzL2ljbGVzL3ZpZGVvY3JvcC10ZXN0LmM6CgkgIHRlc3RzOiBmaXggcGlwZWxpbmUgbGVhayBpbiB2aWRlb2Nyb3AgdGVzdAoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMyOTc2CgoyMDE0LTA3LTA2IDExOjI2OjQ2ICswMjAwICBTZWJhc3RpYW4gUmFzbXVzc2VuIDxzZWJyYXNAaG90bWFpbC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvY2xpZW50LXJ0cGF1eC5jOgoJICBleGFtcGxlczogY2xpZW50LXJ0cGF1eDogUmVsZWFzZSByZWZlcmVuY2UgdG8gcGFyZW50IHdoZW4gZG9uZQoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMyOTc2CgoyMDE0LTA3LTEwIDE3OjE5OjQyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBmaXggcXVlcnkgbGVhawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMzMDAzCgoyMDE0LTA3LTEwIDEyOjEwOjQ1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuYzoKCSAgd2F2ZW5jOiBSZXR1cm4gbm90LW5lZ290aWF0ZWQgaWYgd2UgZ290IG5vIGNhcHMgb3IgY2FwcyBuZWdvdGlhdGlvbiBmYWlsZWQKCSAgQW5kIGRvIGl0IGFsd2F5cywgbm90IGluc2lkZSBhIGdfcmV0dXJuX3ZhbF9pZl9mYWlsKCkuCgkgIFNlZSBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMyOTM5CgoyMDE0LTA3LTA4IDEzOjM0OjI4IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIHY0bDJzcmM6IEVuc3VyZSBpbnRlcm5hbCBwb29sIGFjdGl2YXRpb24KCSAgQmVmb3JlIHdlIHdvdWxkIGhpdCBhbiBhc3NlcnRpb24gIidnc3RfYnVmZmVyX3Bvb2xfaXNfYWN0aXZlIChicG9vbCknIGZhaWxlZCIKCSAgaWYgdGhlIGludGVybmFsIHBvb2wgd2FzIG5vdCB1c2VkIHRvIHB1c2ggYnVmZmVyIGRvd25zdHJlYSwgaGVuY2Ugbm90CgkgIGdpdmVuIHRvIHRoZSBiYXNlY2xhc3MuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzI5MTIKCjIwMTQtMDctMDQgMjA6MjI6MTAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICB2aWRlb21peGVyOiBmaXggZG91YmxlIHVubG9jayBpbiBzZWdtZW50IHNlZWsgc2VnbWVudCBjb2RlIHBhdGgKCSAgV2Ugb25seSB3YW50IHRvIHVubG9jayBpZiB3ZSBwdXNoIGFuIGV2ZW50IGRvd25zdHJlYW0gYW5kCgkgIGp1bXAgdG8gZG9uZV91bmxvY2sgbGFiZWwgYWZ0ZXJ3YXJkcy4gV2Ugd291bGQgYWxzbyB1bmxvY2sKCSAgaW4gY2FzZSBvZiBhIHNlZ21lbnQgc2VlayBhbmQgdGhlbiB1bmxvY2sgYWdhaW4gbGF0ZXIsIGFuZAoJICBub3RoaW5nIGdvb2QgY2FuIGNvbWUgb2YgdGhhdC4KCSAgKFRoaXMgY29kZSBsb29rcyBhIGJpdCBkb2RneSBhbnl3YXkgdGhvdWdoLCBzaG91bGRuJ3QgaXQKCSAgYWxzbyBiYWlsIG91dCB3aXRoIEZMT1dfRU9TIGhlcmUgaW4gY2FzZSBvZiBhIHNlZ21lbnQgc2VlawoJICBzY2VuYXJpbywganVzdCB3aXRob3V0IHRoZSBldmVudD8pCgoyMDE0LTA3LTA0IDE5OjQ1OjU1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcXRtdXguYzoKCSAgdGVzdHM6IHF0bXV4OiBzdXBwcmVzcyBnbGliIGNyaXRpY2FscyBjYXVzZWQgYnkgdGVzdGluZyBkZXByZWNhdGVkIGR0cyBtZXRob2RzCgoyMDE0LTA3LTA0IDAzOjIxOjMwICswMjAwICBTZWJhc3RpYW4gUmFzbXVzc2VuIDxzZWJyYXNAaG90bWFpbC5jb20+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICBhdmlkZW11eCwgd2F2cGFyc2U6IFByaW50IGludmFsaWQgZm91cmNjIGluIGhleAoJICBQcmV2aW91c2x5IHRoaXMgd2FzIHByaW50ZWQgYXMgY2hhcmFjdGVycyB3aGljaCBjYXVzZWQgbGF0ZXIgcHJvY2Vzc2luZwoJICBvZiB0aGUgZXJyb3IgbWVzc2FnZSB0byBzb21ldGltZXMgd2FybiBhYm91dCBub24tVVRGLTggY2hhcmFjdGVycy4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMjcxNAoKMjAxNC0wNy0wMyAxNToyMToxOCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBQb29sIG1pZ2h0IGJlIE5VTEwgaW4gZGVjaWRlIGFsbG9jYXRpb24KCSAgSWYgc3BlY2lhbCBzdHJpZGUgaXMgbmVlZGVkIGFuZCBkb3duc3RyZWFtIGRvbid0IHN1cHBvcnQgVmlkZW9NZXRhLAoJICBwb29sIG1pZ2h0IGJlIE5VTEwgaW4gb3JkZXIgdG8gbGV0IHRoZSBiYXNlY2xhc3MgY3JlYXRlIGEgZ2VuZXJpYwoJICBwb29swq0uIFRoaXMgd291bGQgbGVhZCB0byBhc3NlcnRpb24gd2l0aCBvbiBFeHlub3Mgd2l0aDoKCSAgZ3N0LWxhdW5jaC0xLjAgLXYgZmlsZXNyYyBsb2NhdGlvbj1tb3YgISBxdGRlbXV4ICEgaDI2NHBhcnNlICEgXAoJICB2NGwydmlkZW84ZGVjICEgZmFrZXNpbmsKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMjcwNwoKMjAxNC0wNy0wMyAxNToyOTo1NCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuaDoKCSAgdjRsMmJ1ZmZlcnBvb2w6IEhhbmRsZSBGRCBlcnJvciBkdXJpbmcgcG9sbAoJICBUaGlzIHdpbGwgZW5zdXJlIHdlIGZhaWwgZWFybGllciBpZiBzb21ldGhpbmcgdW5yZWNvdmVyYWJsZQoJICBoYXBwZW5zLgoKMjAxNC0wNy0wMyAxNToyODo0NSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuaDoKCSAgdjRsMmJ1ZmZlcnBvb2w6IFdhaXQgYmVmb3JlIHBvbGxpbmcgaWYgcXVldWUgaXMgZW1wdHkKCSAgSW4ga2VybmVsIGJlZm9yZSAzLjE3LCBwb2xsaW5nIGR1cmluZyBxdWV1ZSB1bmRlcnJ1biB3b3VsZCB1bmJsb2NrIHJpZ2h0CgkgIGF3YXkgYW5kIHRyaWdnZXIgUE9MTEVSUi4gQXMgd2UgYXJlIG5vdCBoYW5kbGluZyBQT0xMRVJSLCB3ZSB3b3VsZCBlbmR1cAoJICBibG9ja2luZyBpbiBEUUJVRiBjYWxsLCB3aGljaCB3b24ndCBiZSB1bmJsb2NrZWQgY29ycmVjdGx5IHdoZW4gZ29pbmcKCSAgdG8gTlVMTCBzdGF0ZS4gQSBkZWFkbG9jayBhdCBzdGFydCBjYXVzZWQgYnkgbG9ja2luZyBlcnJvciBpbiBsaWJ2NGwyIHdhcwoJICBhbHNvIHNlZW4gYmVmb3JlIHRoaXMgcGF0Y2guIEluc3RlYWQsIHdlIHdhaXQgdW50aWwgdGhlIHF1ZXVlIGlzIG5vIGxvbmdlcgoJICBlbXB0eSBiZWZvcmUgcG9sbGluZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMTAxNQoKMjAxNC0wNy0wMiAxNjowMTo0NyArMDIwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGZpeCBmb3IgbWlrZXkgYXBpIGNoYW5nZQoKMjAxNC0wNi0zMCAxMDoyOTo1NCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMjogZml4IHByb2JpbmcgYW5kIGVudW1lcmF0aW9uIG9mIHN0ZXB3aXNlIGZyYW1lIHNpemVzCgkgIFRoZSBjb2RlIGVudW1lcmF0aW5nIFNURVBXSVNFIGZyYW1lc2l6ZXMgd291bGQgc3RhcnQgZnJvbQoJICAobWluX3csIG1pbl9oKSBhbmQgdGhlbiBhZGQgKHN0ZXBfdywgc3RlcF9oKSB0byBnZXQgdGhlCgkgIG5leHQgZnJhbWVzaXplLiBIb3dldmVyLCBpdCBzaG91bGQgcmVhbGx5IGFsbG93IGFueSB3aWR0aAoJICBmcm9tIG1pbl93IHRvIG1heF93IHdpdGggc3RlcF93IGFuZCBzYW1lIGZvciBoZWlnaHRzLgoJICBTZWNvbmRseSwgd2Ugd291bGQgYWRkIGFuZCBwcm9iZSBlYWNoIGluZGl2aWR1YWwgc3RlcHBlZAoJICBmcmFtZSBzaXplIHRvIHRoZSBjYXBzIGFzIHNlcGFyYXRlIHN0cnVjdHVyZSwgd2hpY2ggd291bGQKCSAgbGVhZCB0byBodW5kcmVkcyBpZiBub3QgdGhvdXNhbmRzIG9mIHN0cnVjdHMgZW5kaW5nIHVwIGluCgkgIHRoZSBwcm9iZWQgY2Fwcy4gVXNlIGludGVnZXIgcmFuZ2VzIHdpdGggc3RlcHMgaW5zdGVhZC4KCSAgVGhpcyB3YXMgcGFydGljdWxhcmx5IG5vdGljYWJsZSB3aXRoIHRoZSBSYXNwYmVycnkgUGkgQ2FtLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI0NTIxCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzI0NTgKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNjUyMQoKMjAxNC0wNi0yNyAxMTozMzowNiArMDEwMCAgRGFuaWVsIERyYWtlIDxkcmFrZUBlbmRsZXNzbS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IGRyb3Agd29ya2Fyb3VuZCBmb3IgbWlzYmVoYXZpbmcgVFJZX0ZNVAoJICBUaGlzIHdvcmthcm91bmQgZnJvbSAyMDExIHdhcyBjYXVzaW5nIDI1IFNfRk1UIGlvY3RscyB0byBiZSBzZW50CgkgIHRvIG15IFVWQyB3ZWJjYW0gZnJvbSB1bmRlciBnc3RfdjRsMl9vYmplY3RfZ2V0X2NhcHMgYXMgaXQgcHJvYmVzCgkgIGFsbCB0aGUgZm9ybWF0cy4gSW4gdG90YWwsIHRoaXMgYWRkcyB1cCB0byBhYm91dCA1IHNlY29uZHMgb2YKCSAgZXhlY3V0aW9uIHRpbWUsIG9yIGEgMTAgc2Vjb25kIGRlbGF5IHdoaWxlIHN0YXJ0aW5nIHVwIGNoZWVzZS4KCSAgVGhlc2UgaW9jdGxzIGNvbWUgZnJvbSBhIHdvcmthcm91bmQgZnJvbSAyMDExIHdoZXJlIFRSWV9GTVQgbWlnaHQKCSAgbWFrZSBjaGFuZ2VzIHRvIGhhcmR3YXJlIHNldHRpbmdzLCBzbyBTX0ZNVCB3YXMgdXNlZCB0byByZXN0b3JlCgkgIHRoZSBvcmlnaW5hbCBjb25maWc6CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDkwNjcKCSAgVGhlIGRyaXZlciBidWcgaXMgbm93IGFzc3VtZWQgZml4ZWQuIFJlbW92ZSB0aGUgd29ya2Fyb3VuZCB0byBmaXggdGhlCgkgIGxvbmcgc3RhcnR1cCBkZWxheS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMjMyNgoKMjAxNC0wNy0wMSAxMjo1MDozMSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICB2aWRlb21peGVyOiByZXNldCBRb1Mgb24gc2VnbWVudCBldmVudAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMyNTQwCgoyMDE0LTA3LTAxIDE1OjE0OjM0ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBzZW5kIGdhcCBldmVudHMgaW5zdGVhZCBvZiBzZWdtZW50IHRyaWNrcwoJICBUaGlzIGZpeGVzIG1pc3NpbmcgZnJhbWVzIGZyb20gYmVpbmcgdGltZSBza2lwcGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMyMzcyCgoyMDE0LTA2LTMwIDAwOjAwOjMyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBGaXggbWVtb3J5IGxlYWtzIGluIHVuaXQgdGVzdAoKMjAxNC0wNi0yOSAyMzo1NToxOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IERvbid0IGxlYWsgY2FwcwoKMjAxNC0wNi0yOSAyMDowMjoxNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJICBwdWxzZXNyYzogRml4IGNvbXBpbGVyIHdhcm5pbmcgd2hlbiBjb21waWxpbmcgd2l0aCBHX0RJU0FCTEVfQVNTRVJUCgoyMDE0LTA2LTI5IDE5OjU5OjUzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkgIHJ0cHNzcmNkZW11eDogRml4IGNvbXBpbGVyIHdhcm5pbmcgd2hlbiBjb21waWxpbmcgd2l0aCBHX0RJU0FCTEVfQVNTRVJUCgoyMDE0LTA2LTI5IDE5OjU3OjU3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogRml4IGNvbXBpbGVyIHdhcm5pbmdzIHdoZW4gY29tcGlsaW5nIHdpdGggR19ESVNBQkxFX0FTU0VSVAoKMjAxNC0wNi0yOSAxOTo1NDo0NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZW1ldGhvZC5jOgoJICBkZWludGVybGFjZTogRml4IGNvbXBpbGVyIHdhcm5pbmdzIHdoZW4gY29tcGlsaW5nIHdpdGggR19ESVNBQkxFX0FTU0VSVAoKMjAxNC0wNi0yOSAxNzowNToxMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9wdWxzZS9wdWxzZWRldmljZXByb3ZpZGVyLmM6CgkgIHB1bHNlOiBmaXggY29tcGlsZXIgd2FybmluZ3Mgd2hlbiBjb21waWxpbmcgd2l0aCAtREdfRElTQUJMRV9BU1NFUlQKCSAgQ29tcGlsZXIgY29tcGxhaW5zIGFib3V0IHVuaW5pdGlhbGlzZWQgdmFyaWFibGVzIGluIHRoZSBpbXBvc3NpYmxlCgkgICdkZWZhdWx0JyBjb2RlIHBhdGggaW4gZGV2aWNlIHByb3ZpZGVyIHNvdXJjZS9zaW5rIHN3aXRjaC1jYXNlLgoKMjAxNC0wNi0yOSAxNzowMzoxNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJkZXZpY2Vwcm92aWRlci5jOgoJICB2NGwyOiBmaXggY29tcGlsZXIgd2FybmluZ3Mgd2hlbiBjb21waWxpbmcgd2l0aCAtREdfRElTQUJMRV9BU1NFUlQKCSAgQ29tcGlsZXIgY29tcGxhaW5zIGFib3V0IHVuaW5pdGlhbGlzZWQgdmFyaWFibGVzIGluIHRoZSBpbXBvc3NpYmxlCgkgICdkZWZhdWx0JyBjb2RlIHBhdGggaW4gZGV2aWNlIHByb3ZpZGVyIHNvdXJjZS9zaW5rIHN3aXRjaC1jYXNlLgoKMjAxNC0wNi0yOCAxNzo0MDo0NSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21hdHJvc2thcGFyc2UuYzoKCSAgdGVzdHM6IG1hdHJvc2thcGFyc2U6IGZhaWwgb24gZXJyb3JzIGFuZCBkaXNhYmxlIHB1bGwgbW9kZSB0ZXN0CgkgIEFjdHVhbGx5IGxvb2sgZm9yIGVycm9yIG1lc3NhZ2VzIG9uIHRoZSBidXMgYW5kIGZhaWwgaWYgdGhlcmUKCSAgaXMgb25lIGJlZm9yZSB0aGUgRU9TIG1lc3NhZ2UuIERpc2FibGUgcHVsbCBtb2RlIHRlc3Qgd2hpY2ggaXMKCSAgcG9pbnRsZXNzIGFzIGxvbmcgYXMgbWF0cm9za2FwYXJzZSBvbmx5IHN1cHBvcnRzIHB1c2ggbW9kZQoJICAocHVsbCBtb2RlIHN1cHBvcnQgaGFzIG5vdCBiZWVuIHBvcnRlZCBvdmVyIHRvIDEuMCkuCgoyMDE0LTA2LTI4IDE3OjM3OjIzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmM6CgkgIG1hdHJvc2thcGFyc2U6IGRvbid0IGVycm9yIG91dCBpZiB0aGVyZSdzIG5vdCBlbm91Z2ggZGF0YSBpbiB0aGUgYWRhcHRlcgoJICBnc3RfbWF0cm9za2FfcGFyc2VfdGFrZSgpIHdvdWxkIHJldHVybiBGTE9XX0VSUk9SIGluc3RlYWQgb2YKCSAgRkxPV19FT1MgaW4gY2FzZSB0aGVyZSdzIGxlc3MgZGF0YSBpbiB0aGUgYWRhcHRlciB0aGFuIHJlcXVlc3RlZCwKCSAgYmVjYXVzZSBidWZmZXIgaXMgTlVMTCBpbiB0aGF0IGNhc2Ugd2hpY2ggdHJpZ2dlcnMgdGhlIGVycm9yCgkgIGNvZGUgcGF0aC4gVGhpcyBtYWRlIHRoZSB1bml0IHRlc3QgZmFpbCAob2NjYXNpb25hbGx5IGF0IGxlYXN0LAoJICBiZWNhdXNlIG9mIGEgYnVnIGluIHRoZSB1bml0IHRlc3QgdGhlcmUncyBhIHJhY2UgYW5kIGl0IHdvdWxkCgkgIGhhcHBlbiBvbmx5IHNwb3JhZGljYWxseSkuCgoyMDE0LTA2LTI4IDE2OjUzOjU4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcm9yYy1kaXN0LmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXJvcmMtZGlzdC5oOgoJICB2aWRlb21peGVyOiBVcGRhdGUgZGlzdCBnZW5lcmF0ZWQgT1JDIGZpbGVzCgoyMDE0LTA2LTI4IDE2OjQ4OjEzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvZ3N0Y21zLmM6CgkqIGdzdC92aWRlb21peGVyL2dzdGNtcy5oOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb2NvbnZlcnQuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9jb252ZXJ0Lmg6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXJvcmMub3JjOgoJICB2aWRlb21peGVyOiBVcGRhdGUgdmlkZW9jb252ZXJ0IGNvZGUgZnJvbSAtYmFzZQoJICBBbmQgYWxzbyByZW5hbWUgdGhlIHJlbWFpbmluZyBzeW1ib2xzIHRvIHByZXZlbnQgY29uZmxpY3RzCgkgIGR1cmluZyBzdGF0aWMgbGlua2luZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyODQ0MwoKMjAxNC0wNi0yOCAxMzowMTo0NiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NyYy5jOgoJICBhdXRvdmlkZW9zcmM6IHVzZSB2aWRlb3Rlc3RzcmMgYXMgZmFsbGJhY2sgZWxlbWVudCBpbnN0ZWFkIG9mIGZha2VzcmMKCSAgZmFrZXNyYyBkb2Vzbid0IGFubm91bmNlIHZpZGVvIGNhcHMsIHNvIG1vc3QgdmlkZW8gcGlwZWxpbmVzIHdpbGwKCSAganVzdCBlcnJvciBvdXQgd2l0aCBub3QtbmVnb3RpYXRlZCBpZiBhIGZhbGxiYWNrIGVsZW1lbnQgaXMgY3JlYXRlZC4KCjIwMTQtMDYtMjggMTI6NDQ6MzEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zcmMuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2RldGVjdC5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvZGV0ZWN0Lmg6CgkgIGF1dG9hdWRpb3NyYzogdXNlIGF1ZGlvdGVzdHNyYyBhcyBmYWxsYmFjayBlbGVtZW50IGluc3RlYWQgb2YgZmFrZXNyYwoJICBmYWtlc3JjIGRvZXNuJ3QgYW5ub3VuY2UgYXVkaW8gY2Fwcywgc28gbW9zdCBhdWRpbyBwaXBlbGluZXMgd2lsbAoJICBqdXN0IGVycm9yIG91dCB3aXRoIG5vdC1uZWdvdGlhdGVkIGlmIGEgZmFsbGJhY2sgZWxlbWVudCBpcyBjcmVhdGVkLgoKPT09IHJlbGVhc2UgMS4zLjkwID09PQoKMjAxNC0wNi0yOCAxMToyMToxNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlzb21wNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZweC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogZ3N0LXBsdWdpbnMtZ29vZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMS4zLjkwCgoyMDE0LTA2LTI4IDExOjA4OjMzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZW8ucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vaHIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDE0LTA2LTI2IDE0OjUyOjU3IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3B1bHNlL01ha2VmaWxlLmFtOgoJKiBleHQvcHVsc2UvcGx1Z2luLmM6CgkqIGV4dC9wdWxzZS9wdWxzZWRldmljZXByb3ZpZGVyLmM6CgkqIGV4dC9wdWxzZS9wdWxzZWRldmljZXByb3ZpZGVyLmg6CgkqIHN5cy92NGwyL01ha2VmaWxlLmFtOgoJKiBzeXMvdjRsMi9nc3R2NGwyLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJkZXZpY2Vwcm92aWRlci5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyZGV2aWNlcHJvdmlkZXIuaDoKCSAgUmVuYW1lIEdzdERldmljZU1vbml0b3IgdG8gR3N0RGV2aWNlUHJvdmlkZXIKCjIwMTQtMDYtMjQgMDk6MTQ6NDAgKzA1MzAgIFJhdmkgS2lyYW4gSyBOIDxyYXZpLmtpcmFuQHNhbXN1bmcuY29tPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvYm94LmM6CgkgIHZpZGVvYm94OiBBZGQgdW5pdCB0ZXN0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzIxNDQKCjIwMTQtMDYtMTYgMTE6MzU6MzkgKzAyMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGdub21lLm9yZz4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIHZpZGVvbWl4ZXI6IERlY2xhcmUgYXMgQ29tcG9zaXRvciBpbiAna2xhc3MnCgoyMDE0LTA2LTI2IDEzOjUwOjE5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHZkZW11eDogZml4IHNwZWV4IGNhcHMKCSAgRGVjb2RlciBjb21wbGFpbnMgYWJvdXQgIm5vdGlmaWNhdGlvbjogSW52YWxpZCBtb2RlIGVuY291bnRlcmVkLgoJICBUaGUgc3RyZWFtIGlzIGNvcnJ1cHRlZCIgdGhvdWdoLCBldmVuIGlmIGl0IHdvcmtzLCBzbyB0aGVyZSdzCgkgIHByb2JhYmx5IHNvbWV0aGluZyB3cm9uZyB3aXRoIHRoZSBnZW5lcmF0ZWQgY29kZWMgaGVhZGVycy4KCjIwMTQtMDYtMjYgMTM6NDM6MzMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJICBmbHZtdXg6IGZpeCBzcGVleCBpbiBGTFYKCSAgU3BlZXggaW4gRkxWIGlzIGFsd2F5cyBtb25vIEAgMTZrSHosIHNlZQoJICBodHRwOi8vZG93bmxvYWQubWFjcm9tZWRpYS5jb20vZjR2L3ZpZGVvX2ZpbGVfZm9ybWF0X3NwZWNfdjEwXzEucGRmCgkgIHNlY3Rpb24gRS40LjIuMTogIklmIHRoZSBTb3VuZEZvcm1hdCBpbmRpY2F0ZXMgU3BlZXgsIHRoZSBhdWRpbyBpcwoJICBjb21wcmVzc2VkIG1vbm8gc2FtcGxlZCBhdCAxNiBrSHosIHRoZSBTb3VuZFJhdGUgc2hhbGwgYmUgMCwgdGhlCgkgIFNvdW5kU2l6ZSBzaGFsbCBiZSAxLCBhbmQgdGhlIFNvdW5kVHlwZSBzaGFsbCBiZSAwIgoJICBBbHNvIHNlZSBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgzNjIyCgoyMDE0LTA2LTI2IDA1OjE5OjU3ICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBpc29tcDQ6IEFkZCBvYmplY3QgdHlwZSBpZCBhbmQgZm91cmNjIGZvciBEVFMvRFRTLUhECgkgIEVuYWJsZXMgcGxheWJhY2sgZm9yIGZpbGVzIHdpdGggRFRTIGF1ZGlvIHRyYWNrcy4KCSAgQWxzbyBhZGQgYW4gZXh0cmEgQUMtMyB2YXJpYW50IGZvdXJjYyBmcm9tIE5lcm8KCjIwMTQtMDMtMTMgMTA6MzU6MzAgKzAxMDAgIERhdmlkIEZlcm5hbmRleiA8ZC5mZXJuYW5kZXpsb3BAZ21haWwuY29tPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgdmlkZW9taXhlcjI6IFNvbHZlIHNlZ21lbnRhdGlvbiBmYXVsdCB3aGVuIHNyYyBjYXBzIGFyZSBjb25maWd1cmVkCgkgIENoYW5nZSBmdW5jdGlvbiBwb2ludGVycyB0byBOVUxMIHdoaWxlIGhvbGRpbmcgdGhlIGxvY2sgdG8gYXZvaWQKCSAgcmFjZSBjb25kaXRpb25zCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDExMTAKCjIwMTQtMDYtMjUgMTQ6MzQ6MjEgKzAyMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogaW1wcm92ZSBTUiBwYWNrZXQgaGFuZGxpbmcKCSAgSW1wbGVtZW50IDMgZGlmZmVyZW50IGNhc2VzIGZvciBoYW5kbGluZyB0aGUgU1I6CgkgIDEpIHdlIGRvbid0IGhhdmUgZW5vdWdoIHRpbWluZyBpbmZvcm1hdGlvbiB0byBoYW5kbGUgdGhlIFNSIHBhY2tldCBhbmQKCSAgd2UgbmVlZCB0byB3YWl0IGEgbGl0dGxlIGZvciBtb3JlIFJUUCBwYWNrZXRzLiBJbiB0aGF0IGNhc2Ugd2Uga2VlcAoJICB0aGUgU1IgcGFja2V0IGFyb3VuZCBhbmQgcmV0cnkgd2hlbiB3ZSBnZXQgYW4gUlRQIHBhY2tldCBpbiB0aGUKCSAgY2hhaW4gZnVuY3Rpb24uCgkgIDIpIHRoZSBTUiBwYWNrZXQgaGFzIGEgdG9vIG9sZCB0aW1lc3RhbXAgYW5kIHNob3VsZCBiZSBkaXNjYXJkZWQuIEl0IGlzCgkgIGxhYmVsZWQgaW52YWxpZCBhbmQgdGhlIGxhc3Rfc3IgaXMgY2xlYXJlZC4KCSAgMykgdGhlIFNSIHBhY2tldCBpcyBvayBhbmQgdGhlcmUgaXMgZW5vdWdoIHRpbWluZyBpbmZvcm1hdGlvbiwgcHJvY2VlZAoJICB3aXRoIHByb2Nlc3NpbmcgdGhlIFNSIHBhY2tldC4KCSAgQmVmb3JlIHRoaXMgcGF0Y2gsIGNhc2UgMikgYW5kIDEpIHdlcmUgaGFuZGxlZCBpbiB0aGUgc2FtZSB3YXksCgkgIHJlc3VsdGluZyB0aGF0IFNSIHBhY2tldHMgd2l0aCB0b28gb2xkIHRpbWVzdGFtcHMgd2VyZSBjaGVja2VkIG92ZXIgYW5kCgkgIG92ZXIgYWdhaW4gZm9yIGVhY2ggUlRQIHBhY2tldC4KCjIwMTQtMDYtMjQgMTA6NDc6MzMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy91ZHBzaW5rLmM6CgkgIHRlc3RzOiBhZGQgdWRwc2luayB0ZXN0IHRvIGNoZWNrIGNsaWVudCBhZGQvcmVtb3ZlCgoyMDE0LTA2LTIzIDE2OjEzOjI3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdWRwc2luay5jOgoJICB0ZXN0czogcG9ydCB1ZHBzaW5rIHRlc3RzIHRvIDEuMAoJICBUaGV5IGFsbCBzZWVtIGEgYml0IHBvaW50bGVzcyB0aG91Z2guCgoyMDE0LTA2LTIzIDE5OjU1OjI5IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSAgYXZpbXV4OiBBZGQgVVlWWSBmb3JtYXQKCjIwMTQtMDYtMDYgMTE6MjA6MjEgKzAyMDAgIE1pZ3VlbCBQYXLDrXMgRMOtYXogPG1wYXJpc2RpYXpAZ21haWwuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkgIGdzdHJ0cHNzcmNkZW11eDogbWFuYWdlIHNzcmMgb2YgUlRDUCBSUiBwYWNrZXRzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzEzMjQKCjIwMTQtMDYtMjMgMjA6NTM6NTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgd2F2cGFyc2U6IFVwZGF0ZSBvZmZzZXQgYWZ0ZXIgcGFyc2luZyBhZHRsIGNodW5rCgkgIE90aGVyd2lzZSB3ZSB3aWxsIHBhcnNlIGl0IG92ZXIgYW5kIG92ZXIgYWdhaW4gd2l0aG91dCBldmVyCgkgIGdldHRpbmcgcGFzdCBpdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMTUzMwoKMjAxMy0wNy0wNyAyMDoxODoyNyArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsuaDoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBvc3h2aWRlb3Npbms6IHJlbW92ZSBsZWdhY3kgY29kZSBmb3IgcGFzc2luZyBhIHdpbmRvdyBoYW5kbGUKCSAgImhhdmUtbnMtdmlldyIgYW5kIHRoZSAiZW1iZWQiIHByb3BlcnR5IHdhcyBrZXB0IGluIDAuMTAgZm9yCgkgIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5IGJ1dCBpdCdzIG5vIGxvbmdlciB1c2VkIGluIGZhdm9yIG9mCgkgIHRoZSBHc3RWaWRlb092ZXJsYXkgaW50ZXJmYWNlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDM3NTMKCjIwMTQtMDYtMjIgMTk6MzY6MTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQKCjIwMTQtMDYtMjIgMTk6MjY6MDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSAgbWF0cm9za2FkZW11eDogRG9uJ3QgY2FsbCBHU1RfREVCVUdfT0JKRUNUKCkgYW5kIG90aGVyIG1hY3JvcyB3aXRoIG5vbi1HT2JqZWN0IG9iamVjdHMKCSAgSXQgd2lsbCBjcmFzaCB3aXRoIGxhdGVzdCBHTGliIEdJVCBhbmQgd2FzIG5ldmVyIHN1cHBvc2VkIHRvIHdvcmsgYmVmb3JlCgkgIGVpdGhlci4KCj09PSByZWxlYXNlIDEuMy4zID09PQoKMjAxNC0wNi0yMiAxODowODowMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuc2lnbmFsczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlzb21wNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZweC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogZ3N0LXBsdWdpbnMtZ29vZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMS4zLjMKCjIwMTQtMDYtMjIgMTc6MzY6MjggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lby5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2dsLnBvOgoJKiBwby9oci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMTQtMDYtMjIgMTQ6MjQ6MjQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lby5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2dsLnBvOgoJKiBwby9oci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkgIHBvOiBVcGRhdGUgdHJhbnNsYXRpb25zCgoyMDE0LTA2LTIxIDAxOjMyOjAzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3B1bHNlL3B1bHNlZGV2aWNlbW9uaXRvci5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyZGV2aWNlbW9uaXRvci5jOgoJICBwdWxzZSwgdjRsMjogdXBkYXRlIGZvciBkZXZpY2UgImtsYXNzIiAtPiAiZGV2aWNlLWNsYXNzIiByZW5hbWUKCjIwMTQtMDYtMjAgMTI6MjE6MDUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJICBtdWx0aXVkcHNpbms6IG9wdGltaXNhdGlvbjogYXZvaWQgdW5uZWNlc3NhcnkgbWVtb3J5IHJlZi91bnJlZnMKCSAgV2Uga25vdyB0aGUgYnVmZmVyIHdpbGwgc3RheSB2YWxpZCBhbmQgd2Ugd2lsbCBhbHNvIG5vdAoJICBtb2RpZnkgdGhlIGJ1ZmZlciwgd2UganVzdCB3YW50IHRvIHNlbmQgb3V0IHRoZSBkYXRhLgoKMjAxNC0wNi0xOSAxNDo1OTo0OCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmg6CgkgIG11bHRpdWRwc2luazogYXZvaWQgc29tZSB1bm5lY2Vzc2FyeSBydW4tdGltZSB0eXBlIGNoZWNrcwoKMjAxNC0wNi0xOSAxNjoxNzoyMyArMDIwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IHBhc3MgdGhlIHN0cmVhbSBpZCB3aGVuIGFza2luZyBmb3IgY3J5cHRvIHBhcmFtcwoJICBUaGlzIHdheSB0aGUgYXBwIGNhbiBjaG9vc2UgZGlmZmVyZW50IHBhcmFtZXRlcnMgZm9yIGVhY2ggc3RyZWFtLgoKMjAxNC0wNS0yMCAxNDo1ODowNyAtMDcwMCAgQWxlaXggQ29uY2hpbGxvIEZsYXF1w6kgPGFsZWl4QG9ibG9uZy5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgcnRzcHNyYzogYWRkIHN1cHBvcnQgZm9yIGtleSBsZW5ndGggcGFyYW1ldGVycwoJICBUaGlzIHBhdGNoIGFkZHMgc3VwcG9ydHMgZm9yIHRoZSBpbmNvbWluZyBrZXkgbWFuYWdlbWVudCBwYXJhbWV0ZXJzIGZvcgoJICBlbmNyeXB0aW9uIGFuZCBhdXRoZW50aWNhdGlvbiBrZXkgbGVuZ3Rocy4KCSAgSXQgYWxzbyBhZGRzIGEgbmV3IHNpZ25hbCByZXF1ZXN0LXJ0Y3Ata2V5IHRoYXQgYWxsb3dzIHRoZSB1c2VyIHRvCgkgIHByb3ZpZGUgdGhlIGNyeXB0byBwYXJhbWV0ZXJzIGFuZCBrZXkgZm9yIHRoZSBSVENQIHN0cmVhbS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDQ3MwoKMjAxNC0wNi0xOSAxNToyNTowMSArMDIwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHZwOGRlcGF5LmM6CgkgIHZwOGRlcGF5OiBmaXggaGVhZGVyIHNpemUgY2hlY2tpbmcKCSAgVXNlIGEgZGlmZmVyZW50IHZhcmlhYmxlIG5hbWUgdG8gbWFrZSBpdCBjbGVhciB0aGF0IHdlIGFyZSBjYWxjdWxhdGluZwoJICB0aGUgaGVhZGVyIHNpemUuCgkgIENvcnJlY3RseSBjaGVjayB0aGF0IHdlIGhhdmUgZW5vdWdoIGJ5dGVzIHRvIHJlYWQgdGhlIGhlYWRlciBiaXRzLiBXZQoJICB3ZXJlIGNoZWNraW5nIGlmIHRoZXJlIHdlcmUgNSBieXRlcyBhdmFpbGFibGUgaW4gdGhlIGhlYWRlciB3aGlsZSB3ZQoJICBvbmx5IG5lZWRlZCAzLCBjYXVzaW5nIHRoZSBwYWNrZXQgdG8gYmUgZGlzY2FyZGVkIGFzIHRvbyBzbWFsbC4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMzU5NQoKMjAxNC0wNS0yMCAxMjozOTozMSArMDIwMCAgR3VpbGxhdW1lIERlc21vdHRlcyA8Z3VpbGxhdW1lLmRlc21vdHRlc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5Lmg6CgkgIHJ0cGgyNjRwYXk6IHByb3BhZ2F0ZSB0aGUgR1NUX0JVRkZFUl9GTEFHX0RJU0NPTlQgZmxhZwoJICBTaW1pbGFybHkgdG8gd2hhdCB3ZSBkaWQgd2l0aCB0aGUgREVMVEFfVU5JVCBmbGFnLCB0aGlzIHBhdGNoCgkgIHByb3BhZ2F0ZXMgdGhlIERJU0NPTlQgZmxhZyB0byB0aGUgZmlyc3QgUlRQIHBhY2tldCBiZWluZyB1c2VkIHRvIHRyYW5zZmVyIGEKCSAgRElTQ09OVCBidWZmZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzA1NjMKCjIwMTQtMDUtMDYgMTc6NDI6MTQgKzAyMDAgIEd1aWxsYXVtZSBEZXNtb3R0ZXMgPGd1aWxsYXVtZS5kZXNtb3R0ZXNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5oOgoJICBydHBoMjY0cGF5OiBwcm9wYWdhdGUgdGhlIEdTVF9CVUZGRVJfRkxBR19ERUxUQV9VTklUIGZsYWcKCSAgRG93bnN0cmVhbSBlbGVtZW50cyBtYXkgYmUgaW50ZXJlc3RlZCBrbm93aW5nIGlmIGEgUlRQIHBhY2tldCBpcyB0aGUgc3RhcnQKCSAgb2YgYSBrZXkgZnJhbWUgKHRvIGltcGxlbWVudCBhIFJUUCBleHRlbnNpb24gYXMgZGVmaW5lZCBpbiB0aGUKCSAgT05WSUYgU3RyZWFtaW5nIFNwZWMgZm9yIGV4YW1wbGUpLgoJICBXZSBkbyB0aGlzIGJ5IGNoZWNraW5nIHRoZSBHU1RfQlVGRkVSX0ZMQUdfREVMVEFfVU5JVCBmbGFnIHdlIHJlY2VpdmUgZnJvbQoJICB1cHN0cmVhbSBhbmQgcHJvcGFnYXRlIGl0IHRvIHRoZSAqZmlyc3QqIFJUUCBwYWNrZXQgb3V0cHV0dGVkIHRvIHRyYW5zZmVyIHRoaXMKCSAgYnVmZmVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwNTYzCgoyMDE0LTA1LTIwIDEzOjU4OjIwICswMjAwICBHdWlsbGF1bWUgRGVzbW90dGVzIDxndWlsbGF1bWUuZGVzbW90dGVzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdwYXkuaDoKCSAgZ3N0cnRwbXA0Z3BheTogcHJvcGFnYXRlIHRoZSBHU1RfQlVGRkVSX0ZMQUdfRElTQ09OVCBmbGFnCgkgIFByb3BhZ2F0ZSB0aGUgRElTQ09OVCBmbGFnIHRvIHRoZSBmaXJzdCBSVFAgcGFja2V0IGJlaW5nIHVzZWQgdG8gdHJhbnNmZXIKCSAgYSBESVNDT05UIGJ1ZmZlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDU2MwoKMjAxNC0wNS0yMCAxMzo1ODoyMCArMDIwMCAgR3VpbGxhdW1lIERlc21vdHRlcyA8Z3VpbGxhdW1lLmRlc21vdHRlc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdwYXkuYzoKCSAgcnRwanBlZ3BheTogcHJvcGFnYXRlIHRoZSBHU1RfQlVGRkVSX0ZMQUdfRElTQ09OVCBmbGFnCgkgIFByb3BhZ2F0ZSB0aGUgRElTQ09OVCBmbGFnIHRvIHRoZSBmaXJzdCBSVFAgcGFja2V0IGJlaW5nIHVzZWQgdG8gdHJhbnNmZXIKCSAgYSBESVNDT05UIGJ1ZmZlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDU2MwoKMjAxNC0wNi0xOCAxNTowMzoyNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IGRvbid0IGxlYWsgZmxvdyBjb21iaW5lcgoKMjAxNC0wNi0xOCAxNDozODo1NSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwajJrcGF5LmM6CgkgIHJ0cGpwMmtwYXk6IHByZS1hbGxvY2F0ZSBidWZmZXItbGlzdCBvZiB0aGUgcmlnaHQgc2l6ZQoKMjAxNC0wNi0xOCAxNDozNDowOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwanBlZ3BheS5jOgoJICBydHBqcGVncGF5OiBwcmUtYWxsb2NhdGUgYnVmZmVyIGxpc3Qgb2YgdGhlIHJpZ2h0IHNpemUKCjIwMTQtMDYtMTggMTQ6MTk6MjggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuYzoKCSAgcnRwbXA0dnBheTogcHJlLWFsbG9jYXRlIGJ1ZmZlciBsaXN0IG9mIHRoZSByaWdodCBzaXplCgoyMDE0LTA2LTE4IDEzOjQ0OjMxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHB2cDhwYXkuYzoKCSAgcnRwdnA4cGF5OiBhbGxvY2F0ZSBiaXRyZWFkZXIgb24gdGhlIHN0YWNrCgoyMDE0LTA2LTE4IDEzOjI5OjQ3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHB2cDhwYXkuYzoKCSAgcnRwdnA4cGF5OiBwb3N0IGVycm9yIG1lc3NhZ2Ugb24gYnVzIG9uIGVycm9yIGFuZCBkb24ndCB1c2UgZ19tZXNzYWdlKCkKCjIwMTQtMDYtMTggMTM6MjA6NDQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHZwOHBheS5jOgoJICBydHB2cDhwYXk6IGNvdXBsZSBvZiBtaW5vciBvcHRpbWlzYXRpb25zCgkgIFByZS1hbGxvY2F0ZSBidWZmZXIgbGlzdCBvZiB0aGUgcmlnaHQgc2l6ZSB0byBhdm9pZCByZS1hbGxvY3MuCgkgIEF2b2lkIHBsZW50eSBvZiBkb3VibGUgcnVudGltZSBjYXN0IGNoZWNrcyBhbmQgcmUtZG9pbmcgdGhlCgkgIHNhbWUgY2FsY3VsYXRpb24gb3ZlciBhbmQgb3ZlciBhZ2FpbiBpbiBydHBfdnA4X2NhbGNfcGF5bG9hZF9sZW4oKS4KCSAgT25seSBjYWxsIGdzdF9idWZmZXJfZ2V0X3NpemUoKSBvbmNlLgoKMjAxNC0wNi0xOCAwODoxMDowMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwZ3N0cGF5LmM6CgkgIHJ0cGdzdHBheTogcHJlLWFsbG9jYXRlIGJ1ZmZlciBsaXN0IG9mIHRoZSByaWdodCBzaXplCgkgIFRvIGF2b2lkIHJlLWFsbG9jcy4KCjIwMTQtMDYtMTggMDc6NTI6MDUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSAgcnRwaDI2NHBheTogcHJlLWFsbG9jYXRlIGJ1ZmZlcmxpc3Qgb2YgdGhlIHJpZ2h0IHNpemUKCSAgVG8gYXZvaWQgdW5uZWNlc3NhcnkgcmUtYWxsb2NzLgoKMjAxNC0wNi0xNiAyMDoxNTo0MyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHAtcGF5bG9hZGluZy5jOgoJICBydHBoMjY0cGF5OiBwdXNoIHNpbmdsZSBidWZmZXIgZGlyZWN0bHksIG5vIG5lZWQgdG8gd3JhcCBpdCBpbiBhIGJ1ZmZlcmxpc3QKCSAgTm8gcG9pbnQgaW4gYSBidWZmZXIgbGlzdCBpZiB3ZSBqdXN0IGhhdmUgb25lIHNpbmdsZQoJICBidWZmZXIgdG8gcHVzaC4gRml4IHVwIHVuaXQgdGVzdCB0byBoYW5kbGUgdGhhdCBjYXNlCgkgIGFzIHdlbGwuCgoyMDE0LTA2LTE2IDE1OjM1OjEyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHB2cmF3cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnJhd3BheS5oOgoJICBydHB2cmF3cGF5OiBtYWtlIGNodW5rcyBwZXIgZnJhbWUgY29uZmlndXJhYmxlCgkgIEJpdCBvZiBhIG1pc25vbWVyIGJlY2F1c2UgaXQncyByZWFsbHkgY2h1bmtzIHBlciBmaWVsZAoJICBhbmQgbm90IHBlciBmcmFtZSwgYnV0IHdlJ3JlIGdvaW5nIHRvIGlnbm9yZSB0aGF0IGZvcgoJICB0aGUgdGltZSBiZWluZy4KCjIwMTQtMDYtMTYgMTQ6NTI6MTYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2cmF3cGF5Lmg6CgkgIHJ0cHZyYXdwYXk6IHJlbW92ZSB1bnVzZWQgdmFyaWFibGVzCgoyMDE0LTA2LTE2IDE0OjQ0OjI3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHB2cmF3cGF5LmM6CgkgIHJ0cHZyYXdwYXk6IHByZS1hbGxvY2F0ZSBidWZmZXIgbGlzdHMgb2Ygc3VmZmljaWVudCBzaXplCgkgIEF2b2lkcyB1bm5lY2Vzc2FyeSByZWFsbG9jcyB3aGVuIGFwcGVuZGluZyBidWZmZXJzCgkgIHRvIHRoZSBidWZmZXJsaXN0LgoKMjAxNC0wNi0xNiAxMzo1MTowMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwdnJhd3BheS5jOgoJICBydHB2cmF3cGF5OiBtaWNyby1vcHRpbWlzZSB2YXJpYWJsZSBhY2Nlc3MgaW4gaW5uZXIgbG9vcAoJICBTdG9yZSBzb21lIHZhbHVlcyB0aGF0IGRvbid0IGNoYW5nZSBkdXJpbmcgdGhlIGV4ZWN1dGlvbgoJICBvZiB0aGUgaW5uZXIgbG9vcHMgbG9jYWxseSwgc28gdGhlIGNvbXBpbGVyIGtub3dzIHRoYXQgdG9vLgoKMjAxNC0wNi0xNiAxMzozODo0NyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwdnJhd3BheS5jOgoJICBydHB2cmF3cGF5OiB1c2UgYnVmZmVyIGxpc3RzCgkgIENvbGxlY3QgYnVmZmVycyB0byBzZW5kIG91dCBpbiBidWZmZXIgbGlzdHMgaW5zdGVhZCBvZgoJICBwdXNoaW5nIG91dCBzaW5nbGUgYnVmZmVycyBvbmUgYXQgYSB0aW1lLiBGb3IgSEQgdmlkZW8KCSAgZWFjaCBmcmFtZSBtaWdodCBlYXNpbHkgYWRkIHVwIHRvIGEgY291cGxlIG9mIHRob3VzYW5kCgkgIHBhY2tldHMsIG11bHRpcGx5IHRoYXQgYnkgdGhlIGZyYW1lIHJhdGUgYW5kIHRoYXQncyBhCgkgIGxvdCBvZiBwdXNoKCkgYW5kIHNlbmRtc2coKSBjYWxscyBwZXIgc2Vjb25kLgoJICBBIGdvb2QgcmVhc29uIHRvIHB1c2ggb3V0IGJ1ZmZlcnMgYXMgZWFybHkgYXMgcG9zc2libGUgaXMKCSAgbGF0ZW5jeSwgc28gd2UgZG9uJ3QgYWNjdW11bGF0ZSB0aGUgd2hvbGUgZnJhbWUgaW4gYSBzaW5nbGUKCSAgYnVmZmVyIGxpc3QsIGJ1dCBpbnN0ZWFkIHB1c2ggaXQgb3V0IGluIGEgZmV3IGNodW5rcywgd2hpY2gKCSAgaXMgaG9wZWZ1bGx5IGEgcmVhc29uYWJsZSBjb21wcm9taXNlLgoKMjAxNC0wNi0xNiAxNjo0MDowNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC91ZHAvZ3N0ZHludWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJICB1ZHA6IGltcHJvdmUgZWxlbWVudCBkZXNjcmlwdGlvbnMgZm9yIGR5bnVkcHNpbmsgYW5kIG11bHRpdWRwc2luawoKMjAxNC0wNi0xNiAxNjoxNzoxNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC91ZHAvZ3N0ZHludWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJICB1ZHA6IHJlbW92ZSBzdXBwcmVzc2lvbiBvZiBjb21waWxlciB3YXJuaW5ncyBmb3IgZGVwcmVjYXRlZCBHTGliIEFQSQoJICBOb3QgbmVlZGVkIGFueSBtb3JlLgoKMjAxNC0wNi0xNyAxMzoxNjoyNyArMDUzMCAgUmF2aSBLaXJhbiBLIE4gPHJhdmkua2lyYW5Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzoKCSAgdmlkZW9ib3g6IEZpeCBjYXBzIG5lZ290aWF0aW9uIGlzc3VlCgkgIE1ha2Ugc3VyZSB0aGF0IGlmIEFZVVYgaXMgcmVjZWl2ZWQgaXQgd2lsbCBkZXRlY3QgdGhhdCBpdCBjYW4gcHJvZHVjZQoJICBib3RoIFJHQiBhbmQgWVVWIGZvcm1hdHMKCSAgU2lnbmVkLW9mZi1ieTogUmF2aSBLaXJhbiBLIE4gPHJhdmkua2lyYW5Ac2Ftc3VuZy5jb20+CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjUyNDgKCjIwMTQtMDYtMTYgMTI6MDI6NDEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYWRlcGF5LmM6CgkgIHJ0cHRoZW9yYWRlcGF5OiBmaXggZG91YmxlIGZyZWVzCgkgIEZpeCBkb3VibGUtZnJlZXMgaW50cm9kdWNlZCB0byBmaXggYW5vdGhlciBjb3Zlcml0eSByZXBvcnQuCgkgIENJRCAxMjIzMDUzCgoyMDE0LTA2LTEzIDEwOjEyOjA3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3VkcC9nc3RkeW51ZHBzaW5rLmM6CgkgIGR5bnVkcHNpbms6IHJldHVybiBGTFVTSElORyB3aGVuIHNlbmR0byBnb3QgY2FuY2VsZWQsIG5vdCBhbiBlcnJvcgoKMjAxNC0wNi0xMyAwOTo1MjowMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9vc3MvZ3N0b3NzaGVscGVyLmM6CgkgIG9zczogc2ltcGxpZnkgcHJvYmVkIGNhcHMgYmVmb3JlIHJldHVybmluZyB0aGVtCgkgIEV4cG9zZXMgYWxsIGZvcm1hdHMgaW4gdGhlIGZpcnN0IHN0cnVjdHVyZSBpZiB0aGUKCSAgcmVzdCBpcyB0aGUgc2FtZSBmb3IgYWxsIG9mIHRoZW0uCgoyMDE0LTA2LTEzIDA5OjQ1OjI4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL29zcy9nc3Rvc3NoZWxwZXIuYzoKCSAgb3NzOiBtYWtlIHN1cmUgMTYtYml0IGZvcm1hdHMgYXJlIGJlZm9yZSA4LWJpdCBmb3JtYXRzIGluIHByb2JlZCBjYXBzCgkgIFByb2JlIHN1cHBvcnRlZCBmb3JtYXRzIGluIG9yZGVyIG9mIGRlc2lyYWJpbGl0eSByYXRoZXIgdGhhbiBpbgoJICB3aGF0IG9yZGVyIHRoZXkgbWF5IGhhcHBlbiB0byBiZSBpbiB0aGUgZm9ybWF0cyBiaXRtYXNrLiBGaXhlcwoJICBhY2NpZGVudGFsbHkgZXhwb3N1cmUgb2YgOC1iaXQgZm9ybWF0cyBpbiBjYXBzIGJlZm9yZSAxNi1iaXQgZm9ybWF0cwoJICAoaW4gY2FzZSB3aGVyZSBVMTYgd2FzIG5vdCBzdXBwb3J0ZWQgUzggbWlnaHQgYmUgbGlzdGVkIGJlZm9yZSBTMTYpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA2ODg0CgoyMDE0LTA2LTEyIDE2OjM2OjI0IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyYnVmZmVycG9vbDogQ2xlYW5seSBoYW5kbGUgdjRsMl9hbGxvY2F0b3JfbmV3IGZhaWx1cmUKCjIwMTQtMDYtMTIgMTE6MjQ6MTUgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFkZXBheS5jOgoJICBydHB0aGVvcmRlcGF5OiBmaXggbGVha3MKCSAgQ292ZXJpdHkgMTIxMjE2MwoKMjAxNC0wNi0xMiAxMToxNjowOCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjlwYXkuYzoKCSAgcnRwZzcyOXBheTogbGVhayBmaXhlcwoJICBDb3Zlcml0eSAxMjEyMTU5CgoyMDE0LTA2LTEyIDExOjExOjM4ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5jOgoJICBydHBoMjYzcGF5OiBmaXggbGVhawoJICBDb3Zlcml0eSAxMjEyMTU3CgoyMDE0LTA2LTEyIDEwOjQzOjUzICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5jOgoJICBydHBoMjYzcGF5OiBmaXggbGVha3MKCSAgQ292ZXJpdHkgMTIxMjE0OQoKMjAxNC0wNi0xMiAxMDozMTo0NyArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGR2cGF5LmM6CgkgIHJ0cGR2cGF5OiBjYXRjaCBmYWlsdXJlcyB0byBtYXAgYnVmZmVyCgkgIENvdmVyaXR5IDExMzk3NDEKCjIwMTQtMDYtMTEgMTc6NDM6NDIgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOgoJICBtdWx0aXBhcnRkZW11eDogZ3VhcmQgYWdhaW5zdCBoYXZpbmcgbm8gTUlNRSB0eXBlCgkgIFRoZSBjb2RlIHdvdWxkIHByZXZpb3VzbHkgY3Jhc2ggdHJ5aW5nIHRvIGluc2VydCBhIE5VTEwgc3RyaW5nCgkgIGludG8gYSBoYXNoIHRhYmxlLgoJICBJdCBkb2VzIHNlZW0gYSBsaXR0bGUgYnJva2VuIHRoYXQgaW5kZXhpbmcgaXMgZG9uZSBieSBNSU1FIHR5cGUKCSAgYW5kIG5vdCBieSBpbmRleCB0aG91Z2gsIHVubGVzcyB0aGUgc3BlYyBzYXlzIHRoZXJlIGNhbm5vdCBiZQoJICB0d28gcGFydHMgd2l0aCB0aGUgc2FtZSBNSU1FIHR5cGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTk1NzMKCjIwMTQtMDYtMTAgMTU6NDI6MTQgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4Lmg6CgkgIG11bHRpcGFydGRlbXV4OiBTZW5kIHN0cmVhbS1zdGFydCBldmVudAoJICBUaGlzIGV2ZW50IHdhcyBub3Qgc2VudC4gU2VuZCBpdCBiZWZvcmUgY2FwcywgdGhpcyByZXF1aXJlcyB0aGUgcGFkIHRvCgkgIGJlIHBhcmVudGVkLiBUaGlzIHJlbW92ZXMgd2FybmluZyBsaWtlOiAiR290IGRhdGEgZmxvdyBiZWZvcmUKCSAgc3RyZWFtLXN0YXJ0IGV2ZW50Ii4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMTQ3NQoKMjAxNC0wNi0xMCAxNTozMzozMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogYXZvaWQgbG9vcGluZyBpbmRlZmluaXRlbHkgaW4gYnJva2VuIHN2cTMgZmlsZXMKCSAgQWJvcnQgaWYgYW4gYXRvbSB3aXRoIHNpemUgMCBpcyByZWFkIGZyb20gd2l0aGluIHRoZSBzdnEzIHN0c2QKCSAgYXRvbXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNjUxMgoKMjAxNC0wNi0xMCAxMDo1MjoyMyArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkgIGZsYWNkZWM6IGFkZCBjb25zdCB3aGVyZSBhcHByb3ByaWF0ZQoKMjAxNC0wNi0wOSAxMDozOToyMCArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOgoJICBzcGVleGVuYzogYWRkIG1pc3NpbmcgdmFfZW5kIGluIHZhcmlhZGljIGZ1bmN0aW9uCgkgIENvdmVyaXR5IDExMzk5NDQKCjIwMTQtMDYtMDkgMTA6MDQ6MzggKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdmRlbXV4OiBBdHRlbXB0IHVwc3RyZWFtIHNlZWsgZmlyc3QKCSAgSWYgd2UgaGF2ZSBhbiB1cHN0cmVhbSBlbGVtZW50IHRoYXQgY2FuIGhhbmRsZSB0aGUgc2VlayAoc3VjaCBhcwoJICBydG1wc3JjKSwgdHJ5IHRvIGRvIHRoYXQgZmlyc3QgYmVmb3JlIGF0dGVtcHRpbmcgaXQgb3Vyc2VsZi4KCjIwMTQtMDYtMDQgMTE6MzQ6MjcgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIHdhdnBhcnNlOiBkbyBub3QgaW5jbHVkZSBjb2RlY19kYXRhIG9uIHJhdyBhdWRpbyBjYXBzCgkgIElmIHRoZSB3YXYgaGVhZGVyIGNvbnRhaW5zIGFuIGV4dGVuZGVkIGNodW5rLCB3ZSB3YW50IHRvIGtlZXAKCSAgdGhlIGNvZGVjX2RhdGEgZmllbGQsIGJ1dCBub3QgZm9yIHJhdyBhdWRpby4KCSAgVGhpcyBmaXhlcyBzb21lIGVsZW1lbnRzIChzdWNoIGFzIGFkZGVyKSBmcm9tIGZhaWxpbmcgdG8gaW50ZXJzZWN0CgkgIHJhdyBhdWRpbyBjYXBzIHdoaWNoIHdvdWxkIG90aGVyd2lzZSBiZSBpbnRlcnNlY3RhYmxlLgoKMjAxNC0wNi0wNSAwOTozODoyOSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx2ZGVtdXg6IFF1ZXJ5IGR1cmF0aW9uIHVwc3RyZWFtIGZpcnN0CgkgIFVwc3RyZWFtIGVsZW1lbnRzIChsaWtlIHJ0bXBzcmMpIG1pZ2h0IGJlIGFibGUgdG8gcHJvdmlkZSB0aGUgZHVyYXRpb24KCSAgbW9yZSBhY2N1cmF0ZWx5IHRoYW4gZmx2ZGVtdXguIEVzcGVjaWFsbHkgd2l0aCBpbmRleC1sZXNzIHZvZCBmaWxlcwoKMjAxNC0wNS0zMCAxOTozNzo1NyAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMmJ1ZmZlcnBvb2w6IENsZWFudXAgcG9sbCBtZXRob2QgYW5kIHJldHJ5IG9uIEVJTlRSL0VBR0FJTgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMxMDE1CgoyMDE0LTAzLTA2IDE2OjM3OjUxICswMTAwICBKYW4gQWxleGFuZGVyIFN0ZWZmZW5zIChoZWZ0aWcpIDxqYW4uc3RlZmZlbnNAZ21haWwuY29tPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHZkZW11eDogc2V0IFJFU1lOQyBidWZmZXIgZmxhZyB3aGVuIGJyaWRnaW5nIGxhcmdlIFBUUyBnYXBzCgkgIFNvIGRvd25zdHJlYW0gZ2V0cyBub3RpZmllZCB3aGVuIHRoaXMgaGFwcGVucy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNTkwMwoKMjAxNC0wNi0wMyAxNzo1OTozMiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cHJ0eC5jOgoJICBydHBydHg6IFJlc2V0IHN0YXRlIG9uIGVhY2ggaXRlcmF0aW9uCgkgIE90aGVyd2lzZSBpdCBkaWRuJ3Qgd2FpdCBmb3IgdGhlIHRlc3QgdG8gZmluaXNoIGJlZm9yZSBjaGVja2luZyB0aGUgcmVzdWx0cy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyODUwMQoKMjAxNC0wNS0wOSAxNDoyMjo0MiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJICBtYXRyb3NrYWRlbXV4OiBkb24ndCBsZWFrIGRvY3R5cGUgc3RyaW5nIGluIGVycm9yIGNvZGUgcGF0aAoJICBDSUQgMTIxMjE0NS4KCjIwMTQtMDUtMjAgMDg6MjA6NDIgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3ZweC9nc3R2cDllbmMuYzoKCSAgdnA5ZW5jOiBEb24ndCBkZXJlZmVyZW5jZSBOVUxMIGNoZWNrcwoJICBDSUQgIzExOTc3MDMKCjIwMTQtMDUtMjAgMDg6MjM6MDYgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3ZweC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiBEb24ndCBkZXJlZmVyZW5jZSBOVUxMIHZhcmlhYmxlCgkgIENJRCAjMTEzOTgzOAoKMjAxNC0wNS0zMCAxNDozMjo0MiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogdXBzdHJlYW0gaGFuZGxlcyBzZWVrIGlmIGZyYWdtZW50ZWQgYW5kIG9uIHRpbWUgc2VnbWVudAoJICBPdGhlcndpc2Ugd2UgY2FuIHJlamVjdCBzZWVrcyBvbiBsb2NhbCBmaWxlcyB0aGF0IGNvbnRhaW4gZnJhZ21lbnRlZC1saWtlCgkgIGF0b21zIGxpa2UgJ212ZXgnLiBBbHNvIGltcHJvdmUgYSBtZXNzYWdlIGxvZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwNzIyCgoyMDE0LTA1LTMwIDE2OjQzOjQ0ICswMjAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkgIGgyNjRkZXBheTogbWFrZSBzdXJlIHdlIGNhbGwgaGFuZGxlX25hbCBmb3IgZWFjaCBOQUwKCSAgQ2FsbCBoYW5kbGVfbmFsIGZvciBlYWNoIE5BTCBpbiB0aGUgU1RBUC1BIFJUUCBwYWNrZXQuIFRoaXMgbWFrZXMKCSAgc3VyZSB3ZSBjb3JyZWN0bHkgZXh0cmFjdCB0aGUgU1BTIGFuZCBQUFMuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzA5OTkKCjIwMTQtMDUtMDcgMTQ6MDk6MDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5oOgoJICBzb3VwaHR0cHNyYzogQWRkIGN1c3RvbSBzdGlja3kgZXZlbnQgdG8gY29udGFpbiB0aGUgSFRUUCByZXF1ZXN0IGFuZCByZXNwb25zZSBoZWFkZXJzCgkgIFRoaXMgY2FuIGJlIHVzZWZ1bCB0byBlLmcuIGdldCBjb29raWUgaW5mb3JtYXRpb24gZG93bnN0cmVhbS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyOTcwNwoKMjAxNC0wNS0yNiAxOTo0NzozOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguaDoKCSAgYXZpZGVtdXg6IHJlbW92ZSBzdHJlYW0gbGFzdCBmbG93IHJldHVybgoJICBHc3RQYWQgYWxyZWFkeSBzdG9yZXMgdGhhdCBpbmZvcm1hdGlvbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA5MjI0CgoyMDE0LTA1LTI2IDE5OjM3OjQ2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiByZW1vdmUgbGFzdCBmbG93IHJldHVybiBmcm9tIHN0cmVhbSBzdHJ1Y3QKCSAgSXQgaXMgYWxyZWFkeSBzdG9yZWQgb24gR3N0UGFkIG9uIGNvcmUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwOTIyNAoKMjAxNC0wNS0yNiAxOToxOTo0NSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguaDoKCSAgZmx2ZGVtdXg6IFVzZSBHc3RGbG93Q29tYmluZXIKCSAgVXNlIHRoZSBmbG93IGNvbWJpbmVyIHRvIGhhdmUgdGhlIHN0YW5kYXJkIGNvbWJpbmF0aW9uIHJlc3VsdHMgYW5kIGF2b2lkCgkgIHJlcGVhdGluZyB0aGUgc2FtZSBjb2RlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDkyMjQKCjIwMTQtMDUtMjYgMTM6MjE6MjUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5oOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmg6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSAgbWF0cm9za2FkZW11eDogdXNlIEdzdEZsb3dDb21iaW5lcgoJICBVc2UgdGhlIGZsb3cgY29tYmluZXIgdG8gaGF2ZSB0aGUgc3RhbmRhcmQgY29tYmluYXRpb24gcmVzdWx0cyBhbmQgYXZvaWQKCSAgcmVwZWF0aW5nIHRoZSBzYW1lIGNvZGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwOTIyNAoKMjAxNC0wNS0yNiAxMzowNDoxMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguaDoKCSAgYXZpZGVtdXg6IHVzZSBHc3RGbG93Q29tYmluZXIKCSAgUmVtb3ZlcyBmbG93IHJldHVybiBjb21iaW5hdGlvbiBjb2RlIHRvIHVzZSB0aGUgbmV3bHkgYWRkZWQgR3N0Rmxvd0NvbWJpbmVyCgoyMDE0LTA1LTIzIDE3OjUzOjAwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguaDoKCSAgcXRkZW11eDogdXNlIEdzdEZsb3dDb21iaW5lcgoJICBSZW1vdmVzIHRoZSBjb21tb24gY29kZSB0byBjb21iaW5pbmcgZmxvdyByZXR1cm5zIHRvIGxldCBpdCBiZQoJICBoYW5kbGVkIGJ5IGNvcmUgZ3N0dXRpbHMnIEdzdEZsb3dDb21iaW5lcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA5MjI0CgoyMDE0LTA1LTI2IDEwOjU5OjU1IC0wNDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkgIHY0bDJzaW5rOiBpbXBsZW1lbnQgZ3N0dmlkZW9zaW5rLnNob3dfZnJhbWUgaW5zdGVhZCBvZiBnc3RiYXNlc2luay5yZW5kZXIKCSAgSXQgYWxsb3dzIHRvIHNob3cgcHJlcm9sbCBmcmFtZS4gRXNwZWNpYWxseSBpdCBhbGxvd3MgdG8gdXBkYXRlIHRoZQoJICBmcmFtZSB3aGVuIHNlZWtpbmcgaW4gUEFVU0VEIHN0YXRlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIyMzAzCgoyMDE0LTA1LTI2IDEwOjU5OjA2IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJICB2NGwyc2luazogQ2xlYW51cCBvbGQgcGFkIGFsbG9jIGRlY2xhcmF0aW9uCgoyMDE0LTA1LTI2IDEyOjM0OjQyIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJICB2NGwyYnVmZmVycG9vbDogQ29weSBhbHJlYWR5IHF1ZXVlZCBidWZmZXIKCSAgVGhpcyBpcyByZXF1aXJlZCBhcyBkdXJpbmcgcHJlcm9sbCB3ZSBwYXNzIHRoZSBmaXJzdCBidWZmZXIgdHdpY2UsIGhlbmNlIGFscmVhZHkKCSAgcXVldWVkLiBJdCBpcyBhbHNvIHVzZWZ1bCwgdG8gYWxsb3cgZmlsdGVycyByZXBsYXlpbmcgYSBwcmV2aW91cyByZW5kZXJlZCBidWZmZXJzLgoJICBUaGlzIHdpbGwgcmVxdWlyZSAxIG1vcmUgYnVmZmVyIGluIHNpbmsgaWYgbGFzdC1zYW1wbGUgaXMgZW5hYmxlZCwgc2luY2UgdGhlIGxhc3QKCSAgc2FtcGxlIHdpbGwgbm90IGJlIHRoZSBzYW1lIGFzIHRoZSBjdXJyZW50bHkgcXVldWVkIGJ1ZmZlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMjMwMwoKMjAxNC0wNS0yNCAyMDoyMDowNyAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYWxsb2NhdG9yLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwydHJhbnNmb3JtLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb2RlYy5jOgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkgIHY0bDJidWZmZXJwb29sOiBQb3J0IHRvIGJ1ZmZlcnBvb2wgZmx1c2hfc3RhcnQvc3RvcCBtZXRob2QKCSAgUG9ydCB0aGUgYnVmZmVyIHBvb2wgdG8gdXNlIHRoZSBuZXcgZmx1c2hfc3RhcnQvZmx1c2hfc3RvcCB2aXJ0dWFsCgkgIG1ldGhvZHMgYWRkZWQgdG8gR3N0QnVmZmVyUG9vbC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNzYxMQoKMjAxNC0wNS0yNSAxNzo0MDo1OCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VvLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2hyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9yby5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHBvL3poX0hLLnBvOgoJKiBwby96aF9UVy5wbzoKCSAgcG86IHVwZGF0ZQoKMjAxNC0wNS0yNSAxNjo1NDoxOCArMDIwMCAgUGlvdHIgRHLEhWcgPHBpb3RyZHJhZ0BnbWFpbC5jb20+CgoJKiBwby9QT1RGSUxFUy5pbjoKCSAgcG86IHVwZGF0ZSBQT1RGSUxFUwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI2NTU2CgoyMDE0LTA1LTI0IDIzOjUxOjU4IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDJidWZmZXJwb29sOiBEb24ndCBxdWV1ZSBhbGwgdGhlIGJ1ZmZlcnMgYmVmb3JlIGRlcXVldWVpbmcgZmlyc3QKCSAgRm9yIG91dHB1dCBkZXZpY2UsIHdlIHdoZXJlIHF1ZXVpbmcgYWxsIHRoZSBidWZmZXJzLCBhbmQgdGhlbiB3ZSB3b3VsZAoJICBkZXF1ZXVlIG9uZS4gVGhpcyBtZWFucyB3ZSBvbmx5IGhhdmUgMSBidWZmZXIgZm9yIHRoZSBwaXBlbGluZSwgbm8gbWF0dGVyCgkgIHRoZSBzaXplIG9mIHRoZSBxdWV1ZS4gSW5zdGVhZCwgc3RhcnQgZGVxdWV1ZWQgd2hlbiBtaW5fbGF0ZW5jeSBpcyByZWFjaGVkLgoJICBFdmVudHVhbGx5LCB0aGlzIHRoZSBtaW5fbGF0ZW5jeSBzaG91bGQgYWxzbyBiZSBhZmZlY3RlZCBieSBjb250cm9sCgkgIE1JTl9CVUZGRVJTX0ZPUl9PVVRQVVQgKHVzZSBieSBlbmNvZGVycykuCgoyMDE0LTA1LTI0IDIzOjQ5OjE5IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogU2ltcGx5IHJlYWQgYmFjayB0aGUgY29uZmlnIHRvIHVwZGF0ZSB0aGUgcXVlcnkKCSAgSXQncyBlYXN5IHRvIGdldCB0aGUgbWluL21heCBvdXRkYXRlIHdoZW4gaGFja2luZyBkZWNpZGUgYWxsb2NhdGlvbi4gSW4KCSAgb3JkZXIgdG8gYXZvaWQgdGhpcywgc2ltcGx5IHJlYWQgYmFjayB0aGUgY2hvb3NlbiB2YWx1ZSBmcm9tIHRoZSBjb25maWcuCgoyMDE0LTA1LTI0IDIzOjMxOjI0IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgdjRsMjogQ2xlYW51cCBhbmQgZml4IGNhbGN1bGF0aW9uIG9mIGxhdGVuY3kKCSAgQ2FsY3VsYXRpb24gb2YgbnVtX2J1ZmZlcnMgKHRoZSBtYXggbGF0ZW5jeSBpbiBidWZmZXJzKSB3YXMKCSAgdXAtc2lkZS1kb3duLiAgSWYgd2UgY2FuIGFsbGNvYXRlLCB0aGVuIG91ciBtYXhpbXVtIGxhdGVuY3kgbWF0Y2gKCSAgcG9vbCBtYXhpbXVtIG51bWJlciBvZiBidWZmZXJzLiBBbHNvIHJlbmFtZWQgaXQgdG8gbWF4IGxhdGVuY3kuIEZpbmFsbHkKCSAgaW50cm9kdWNlZCBhIG1pbl9sYXRlbmN5IGZvciBjbGFyaXR5LgoKMjAxNC0wNS0yNCAyMDowMDoxNCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYWxsb2NhdG9yLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwydHJhbnNmb3JtLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb2RlYy5jOgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkgIFJldmVydCAidjRsMmJ1ZmZlcnBvb2w6IFBvcnQgdG8gYnVmZmVycG9vbCBmbHVzaF9zdGFydC9zdG9wIG1ldGhvZCIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCAyZTBmYjQyZTg2OGZjOWY2ZDk4YjAyOGRlZjgwYTNlOTUzNTI3MzA3LgoJICBDb25mbGljdHM6CgkgIHN5cy92NGwyL2dzdHY0bDJhbGxvY2F0b3IuYwoJICBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jCgkgIHN5cy92NGwyL2dzdHY0bDJ2aWRlb2RlYy5jCgoyMDE0LTA1LTI0IDE4OjU2OjMyIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogRml4IGNvbmZpZ3VyYXRpb24gb2Ygb3RoZXJfcG9vbCBhbmQgaW1wb3J0YXRpb24gY2FzZQoJICBGaXggdGhlIGNob2ljZSBvZiBtaW4vbWF4LCBkb24ndCBvdmVycmlkZSB0aGUgbWluL21heCB3aXRoIG93biBwb29sIHNlbGVjdGVkCgkgIHNpemUsIGNvcnJlY3Qgb3RoZXJfcG9vbCBpc19hY3RpdmUgY2hlY2ssIHN0YXJ0IGZyb20gb3RoZXJfcG9vbCBjb25maWcgd2hlbgoJICBjb25maWd1cmluZyB0aGUgb3RoZXIgcG9vbCBhbmQgZmluYWxseSB2YWxpZGF0ZSB0aGUgY29uZmlndXJhdGlvbi4KCjIwMTQtMDUtMjQgMTg6NDU6MzAgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBVc2UgcHJvcG9zZWQgYWxsb2NhdG9yIGFzIGRlZmF1bHQKCjIwMTQtMDUtMjQgMTg6NDM6MjggLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMmJ1ZmZlcnBvb2w6IEZpeCBVU0VSUFRSIG1hcCBmbGFncwoJICBXZSBuZWVkIHRvIG1hcCBSRUFEIG9ubHkgZm9yIG91dHB1dCBhbmQgd3JpdGUgb25seSBmb3IgY2FwdHVyZSwgd2Ugd2hlcmUKCSAgZG9pbmcgdGhlIG9wcG9zaXRlLiBUaGlzIGZpeGluZyBVU0VSUFRSIHdpdGggZ2xpbWFnZXNpbmsKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDY5OAoKMjAxNC0wNS0yNCAxMToxNjozNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogcGFyc2UgdGtoZCB0cmFuc2Zvcm1hdGlvbiBtYXRyaXggYW5kIGFkZCB0YWdzIGlmIGFwcHJvcHJpYXRlCgkgIEhhbmRsZSB0aGUgdHJhbnNmb3JtYXRpb24gbWF0cml4IGNhc2VzIHdoZXJlIHRoZXJlIGFyZSBvbmx5IHNpbXBsZSByb3RhdGlvbnMKCSAgKDkwLCAxODAgb3IgMjcwIGRlZ3JlZXMpIGFuZCB1c2UgYSB0YWcgZm9yIHRob3NlIGNhc2VzLiBUaGlzIGlzIGEgY29tbW9uIHNjZW5hcmlvCgkgIHdoZW4gcmVjb3JkaW5nIHdpdGggbW9iaWxlIGRldmljZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3OTUyMgoKMjAxNC0wNS0yMyAxOToxMDoyMSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMmJ1ZmZlcnBvb2w6IFByZXZlbnQgbnVtX3F1ZXVlZCBmcm9tIGdvaW5nIG5lZ2F0aXZlCgoyMDE0LTA1LTIzIDE4OjI1OjQ5IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9kZWMuYzoKCSAgdjRsMnZpZGVvZGVjOiBkb24ndCBzdG9wIGlmIGxvb3AgcmV0dXJuZWQgRkxVU0hJTkcKCSAgVGhlIGRlY29kZWluZyB0aHJlYWQgcmV0dXJuaW5nIGZsdXNoaW5nIGlzbid0IGFuIGVycm9yLCB3ZSBzaG91bGQgc2ltcGx5CgkgIHRyeSBzdGFydGluZyB0aGUgdGFzayBhZ2Fpbi4gSWYgaXQncyBhY3R1YWxseSBmbHVzaGluZywgaXQgd2lsbCBzdG9wIGFnYWluIGJ5IGl0c2VsZi4KCjIwMTQtMDUtMjMgMTc6NTQ6MjAgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb2RlYy5jOgoJICB2NGwydmlkZW9kZWM6IEhhbmRsZSBlYXJseSB0YXNrIHN0b3AKCjIwMTQtMDUtMjMgMTc6Mjg6MTMgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb2RlYy5jOgoJICB2NGwydmlkZW9kZWM6IEhhbmRsZSBnc3RfcGFkX3N0YXJ0X3Rhc2soKSBmYWlsdXJlCgoyMDE0LTA1LTIzIDE3OjE5OjA3IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9kZWMuYzoKCSAgdjRsMnZpZGVvZGVjOiBBZGQgdHJhY2UgZm9yIEZMVVNIX1NUQVJUL1NUT1AgaGFuZGxpbmcKCjIwMTQtMDUtMjMgMTc6MTg6MTYgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb2RlYy5jOgoJICB2NGwydmlkZW9kZWM6IEZpeCB1c2Ugb2YgYXRvbWljIHZhbHVlCgoyMDE0LTA1LTIzIDE3OjAxOjUzIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyYnVmZmVycG9vbDogSW1wcm92ZSBkZWJ1Z2dpbmcKCSAgTm8gbmVlZCB0byB1c2Ugb2JqLT5lbGVtZW50LCB0aGUgcG9vbCBub3cgaGF2ZSBhIHNpZ25pZmljYW50IG5hbWUuIEFsc28gZG9uJ3QKCSAgd2FybiBpZiBmbHVzaGluZy4KCjIwMTQtMDUtMjMgMTc6MDE6MDIgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb2RlYy5jOgoJICB2NGwydmlkZW9kZWM6IEZpeCBoYW5kbGVfZnJhbWUgZXJyb3IgaGFuZGxpbmcKCjIwMTQtMDUtMjMgMTU6NTY6MjQgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDJidWZmZXJwb29sOiBBZGQgYSB0cmFjZSB3aGVuIF9zdGFydCgpIGlzIGNhbGxlZAoKMjAxNC0wNS0yMyAxNTo1NjowMiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmFsbG9jYXRvci5jOgoJICB2NGwyYWxsb2NhdG9yOiBBZGQgZGVidWcgYXNzZXJ0IHRvIGRldGVjdCBjYWxscyBpbiB0aGUgd3Jvbmcgc3RhdGUKCjIwMTQtMDUtMjMgMTU6NTU6MjYgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJhbGxvY2F0b3IuYzoKCSAgdjRsMmFsbG9jYXRvcjogUmVzZXQgY291bnQgd2hlbiBzdG9wcGVkCgoyMDE0LTA1LTIzIDE1OjU1OjA4IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyYWxsb2NhdG9yOiBSZXR1cm4gYSBHc3RGbG93UmV0dXJuIGluc3RlYWQgb2YgYm9vbGVhbiBpbiBhbGxvYwoKMjAxNC0wNS0yMyAxNToxNzoyNyAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBEb24ndCBsZWFrIGNvbmZpZyBzdHJ1Y3R1cmUKCjIwMTQtMDUtMjMgMTQ6MTI6MTAgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJhbGxvY2F0b3IuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkqIHN5cy92NGwyL2dzdHY0bDJ0cmFuc2Zvcm0uYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvZGVjLmM6CgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSAgdjRsMmJ1ZmZlcnBvb2w6IFBvcnQgdG8gYnVmZmVycG9vbCBmbHVzaF9zdGFydC9zdG9wIG1ldGhvZAoKMjAxNC0wNS0yMyAwMzowMDo1MCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L2ZvdXJjYy5oOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogYWRkIHRhZyBtYXBwaW5ncyBmb3IgX3N3ciwgX21hayBhbmQgX21vZCB0YWdzCgkgIHN3ciAtPiBBcHBsaWNhdGlvbiBuYW1lCgkgIG1hayAtPiBkZXZpY2UgbWFudWZhY3R1cmVyCgkgIG1vZCAtPiBkZXZpY2UgbW9kZWwKCjIwMTQtMDUtMjAgMTc6Mzc6NDkgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6CgkgIHhpbWFnZXNyYzogRml4IHhpbWFnZSBsZWFrcyB3aGVuIGJ1ZmZlciBoYXMgbW9yZSB0aGVuIG9uZSB4aW1hZ2UKCSAgRnJvbSB0aW1lIHRvIHRpbWUsIHdoZW4gdGhlIGltYWdlX3Bvb2wgbGlzdCBoYXMgbW9yZSB0aGVuIDEgZWxlbWVudAoJICBhbmQgSSBzdXBwb3NlIGF0IHN0YXJ0LCBhbGwgYnV0IDEgcG9vbGVkIHhpbWFnZSBhcmUgbGVha2VkLiBUaGlzIGlzCgkgIGR1ZSB0byBicm9rZW4gYWxnb3JpdGhtIGluIGdzdF94aW1hZ2VzaW5rX3NyY194aW1hZ2VfZ2V0KCkuIFRoZXJlIHdhcwoJICBhbHNvIGEgcmlzayBvZiB1c2UgYWZ0ZXIgZnJlZSBmb3IgdGhlIGNhc2Ugd2hlcmUgdGhlIHhpbWFnZSBzaXplIGhhcwoJICBjaGFuZ2VkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI4NTAyCgoyMDE0LTA1LTIxIDEzOjIzOjI3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBCYWNrIHRvIGRldmVsb3BtZW50Cgo9PT0gcmVsZWFzZSAxLjMuMiA9PT0KCjIwMTQtMDUtMjEgMTM6MDY6MzUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbW1vbjoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QtYnVpbGQuc3RhbXA6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0LnN0YW1wOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXNvbXA0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdnB4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiBnc3QtcGx1Z2lucy1nb29kLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAxLjMuMgoKMjAxNC0wNS0yMSAxMjoxOTozOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VvLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2hyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9yby5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHBvL3poX0hLLnBvOgoJKiBwby96aF9UVy5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAxNC0wNS0yMSAxMDo1MToxMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gMjExZmE1ZiB0byAxZjVkM2MzCgoyMDE0LTA1LTIwIDA4OjIzOjA2ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGV4dC92cHgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogRG9uJ3QgZGVyZWZlcmVuY2UgTlVMTCB2YXJpYWJsZQoJICBDSUQgIzExMzk4MzgKCjIwMTQtMDUtMjAgMDg6MjA6NDIgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3ZweC9nc3R2cDllbmMuYzoKCSAgdnA5ZW5jOiBEb24ndCBkZXJlZmVyZW5jZSBOVUxMIGNoZWNrcwoJICBDSUQgIzExOTc3MDMKCjIwMTQtMDUtMTkgMTE6MjY6NDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyYnVmZmVycG9vbDogRXhwbGljaXRseSBjYXN0IGVudW0gInN1YnR5cGUiIHRvIGl0cyAic3VwZXJ0eXBlIgoJICBnc3R2NGwyYnVmZmVycG9vbC5jOjYwODoxODogZXJyb3I6IGltcGxpY2l0IGNvbnZlcnNpb24gZnJvbSBlbnVtZXJhdGlvbiB0eXBlCgkgICdlbnVtIF9Hc3RWNGwyQnVmZmVyUG9vbEFjcXVpcmVGbGFncycgdG8gZGlmZmVyZW50IGVudW1lcmF0aW9uIHR5cGUKCSAgJ0dzdEJ1ZmZlclBvb2xBY3F1aXJlRmxhZ3MnIFstV2Vycm9yLC1XZW51bS1jb252ZXJzaW9uXQoJICBwYXJhbXMuZmxhZ3MgPSBHU1RfVjRMMl9QT09MX0FDUVVJUkVfRkxBR19SRVNVUkVDVDsKCSAgfiBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgoKMjAxNC0wNS0xOSAxMToyNDowNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9nb29tL3RlbnRhY2xlM2QuYzoKCSAgZ29vbTogVXNlIGZhYnMoKSBpbnN0ZWFkIG9mIGFicygpIHRvIGNhbGN1bGF0ZSB0aGUgZmxvYXRpbmcgcG9pbnQgYWJzb2x1dGUgdmFsdWUKCSAgdGVudGFjbGUzZC5jOjI2ODo3OiBlcnJvcjogdXNpbmcgaW50ZWdlciBhYnNvbHV0ZSB2YWx1ZSBmdW5jdGlvbiAnYWJzJyB3aGVuCgkgIGFyZ3VtZW50IGlzIG9mIGZsb2F0aW5nIHBvaW50IHR5cGUgWy1XZXJyb3IsLVdhYnNvbHV0ZS12YWx1ZV0KCSAgaWYgKGFicyAodG1wIC0gZnhfZGF0YS0+cm90KSA+IGFicyAodG1wIC0gKGZ4X2RhdGEtPnJvdCArIDIuMCAqIEdfUEkpKSkgewoJICBeCgoyMDE0LTA1LTE5IDExOjIxOjM2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2RlYnVndXRpbHMvdGVzdHMuYzoKCSAgZGVidWd1dGlsczogUHJvcGVybHkgY2FsY3VsYXRlIHRoZSBkaWZmZXJlbmNlIHdpdGggdW5zaWduZWQgdHlwZXMKCSAgdGVzdHMuYzoxNjE6MTY6IGVycm9yOiB0YWtpbmcgdGhlIGFic29sdXRlIHZhbHVlIG9mIHVuc2lnbmVkIHR5cGUKCSAgJ3Vuc2lnbmVkIGxvbmcnIGhhcyBubyBlZmZlY3QgWy1XZXJyb3IsLVdhYnNvbHV0ZS12YWx1ZV0KCSAgdC0+ZGlmZiArPSBsYWJzIChHU1RfQlVGRkVSX1RJTUVTVEFNUCAoYnVmZmVyKSAtIHQtPmV4cGVjdGVkKTsKCjIwMTQtMDUtMTYgMTc6NDY6MzAgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb2RlYy5jOgoJICB2NGwydmlkZW9kZWM6IEhhbmRsZSBmbHVzaCB3aGlsZSBpbiBzdGFydF9zdHJlYW1pbmcKCSAgV2UgbmVlZCB0byBoYW5kbGUgdGhlIGNhc2Ugd2hlcmUgYSBmbHVzaCBvY2N1cmUgd2hpbGUgdGhlIHN0cmVhbWluZwoJICB0aHJlYWQgaXMgYmVpbmcgYnJvdWdodCB1cC4gSW4gdGhpcyBjYXNlLCB0aGUgZmx1c2hpbmcgc3RhdGUgb2YgdGhlIHBvbGwKCSAgb2JqZWN0IGlzIGNsZWFyZWQuIFRvIHNvbHZlIHRoaXMsIHdlIHNpbXBseSBzZXQgdGhlIGNhcHR1cmUgcG9sbCB0byBmbHVzaGluZwoJICBhZ2FpbiwgdGhpcyB3YXkgd2Uga25vdyB0aGUgdGhyZWFkIHdpbGwgZXhpdC4gVGhlIGRlY29kZXIgc3RyZWFtbG9jawoJICBpcyB1c2VkIHRvIHN5bmNocm9uaXplIHdpdGggaGFuZGxlIGZyYW1lLgoKMjAxNC0wNS0xNiAxNjo0NDozNyAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmFsbG9jYXRvci5jOgoJICB2NGwyYWxsb2NhdG9yOiBEb24ndCB0cmFjZSB0d2ljZSB0aGUgc2FtZSBtZXNzYWdlCgoyMDE0LTA1LTE1IDExOjI1OjUwIC0wNzAwICBBbGVpeCBDb25jaGlsbG8gRmxhcXXDqSA8YWxlaXhAb2Jsb25nLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogYWx3YXlzIHVzZSBhIHJhbmRvbSBzc3JjIGZvciB0aGUgaW50ZXJuYWwgc2Vzc2lvbgoJICBVc2UgYSByYW5kb20gU1NSQyBkaWZmZXJlbnQgdGhhbiAwIGZvciB0aGUgaW50ZXJuYWwgc2Vzc2lvbiBTU1JDLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwMjEyCgoyMDE0LTA1LTE2IDE2OjUyOjI1ICswMjAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogdXBkYXRlIGxhc3RfYWN0aXZpdHkgd2hlbiBzZW5kaW5nIFJUUAoJICBBbHNvIHVwZGF0ZSBsYXN0X2FjdGl2aXR5IHdoZW4gZG9pbmcgc29tZXRoaW5nIHdpdGggdGhlIGludGVybmFsCgkgIHNvdXJjZSB0byBtYWtlIHN1cmUgZG9uJ3QgdGltZW91dCBlYXJseS4KCSAgU2VlIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzAyMTcKCjIwMTQtMDUtMTUgMTg6MDg6NTMgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwydHJhbnNmb3JtLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb2RlYy5jOgoJICB2NGwyOiBDbGVhbnVwIE0yTSBwcm9wZXJ0aWVzCgkgIE0yTSBkZXZpY2VzIHdlcmUgc2hhcmluZyB0aGUgc2FtZSBwcm9wZXJ0aWVzIGFzIHNyYyBhbmQgc2luay4gTW9zdCBvZgoJICB0aGVzZSBtYWRlIG5vIHNlbnNlLiBUaGlzIHBhdGNoIHJlZHVjZXMgdGhlIG51bWJlciBvZiBwcm9wZXRpZXMgYW5kCgkgIG1ha2VzIGlvLW1vZGUgY2xlYXJlciBieSBoYXZpbmcgY2FwdHVyZS1pby1tb2RlIGFuZCBvdXRwdXQtaW8tbW9kZS4gVGhpcwoJICBhbHNvIGFjY2lkZW50bHkgZml4ZWQgYSBidWcgaW4gZ3N0djRsMnRyYW5zZm9ybSBpby1tb2RlIGNvZGUsIHdoZXJlIHRoZQoJICBjYXB0dXJlIGlvLW1vZGUgY291bGQgbm90IGJlIHNldC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyOTU5MQoKMjAxNC0wNS0xNSAxNzozOTozOSArMDIwMCAgQmVuamFtaW4gR2FpZ25hcmQgPGJlbmphbWluLmdhaWduYXJkQGxpbmFyby5vcmc+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyYnVmZmVycG9vbDogVXBkYXRlIHBvb2wgbGltaXQgd2l0aCBoYXJkd2FyZSByZXF1aXJlbWVuc3QKCSAgSWYgdGhlIGRyaXZlciBuZWVkIG1vcmUgYnVmZmVycyB0aGFuIHJlcXVlc3RlZCBieSB0aGUgY29uZmlnLAoJICB1cGRhdGUgdGhlIHBvb2wgbWluL21heCB2YWx1ZXMuIFRoZSBtaW5pbXVtIHZhbHVlIGZvciB0aGUgcG9vbAoJICBjb3VsZCBiZSBwcm92aWRlZCBlaXRoZXIgYnkgdGhlIGRyaXZlciBvciBieSB0aGUgcG9vbC4gVGhpcyBpcwoJICBiZXN0IGVmZm9ydCBmb3IgZHJpdmVycyB0aGF0IGRvbid0IHN1cHBvcnQKCSAgQ0lEIFY0TDJfQ0lEX01JTl9CVUZGRVJTX0ZPUl9DQVBUVVJFLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwMjAwCgoyMDE0LTA1LTE1IDEwOjQ0OjI5IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9kZWMuYzoKCSAgdjRsMnZpZGVvZGVjOiBIYW5kbGUgc3RhcnRfc3RyZWFtaW5nIGVycm9yCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzAyMDcKCjIwMTQtMDUtMTUgMTA6Mzk6NDAgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb2RlYy5jOgoJICB2NGwydmlkZW9kZWM6IFByaW50IHRoZSBmbG93IHJldHVybiBjYXVzaW5nIHRoZSBsb29wIHRvIGxlYXZlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzAyMDcKCjIwMTQtMDUtMTUgMTA6MzE6NDAgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb2RlYy5jOgoJICB2NGwydmlkZW9kZWM6IERvbid0IGxvY2sgdGhlIGRlY29kZXIgd2hlbiBzdG9wcGluZyB0YXNrCgkgIFRoYXQgc3JjIHBhZCB0YXNrIG1heSBuZWVkIHRvIHRha2UgdGhlIGxvY2sgd2hlbiBiZWluZyBwdWxsZWQKCSAgZG93bi4gdGFrZWluZyB0aGF0IGxvY2sgY2FuIGxlYWQgdG8gYSBkZWFkbG9jay4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDIwNwoKMjAxNC0wNS0xNCAxNzoxODo1MiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnRyYW5zZm9ybS5jOgoJICB2NGwydHJhbnNmb3JtOiBEb24ndCBsZWFrIHBvb2wgaWYgYWN0aXZhdGlvbiBmYWlsZWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDIwNwoKMjAxNC0wNS0xNCAxNzoxODozNSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnRyYW5zZm9ybS5jOgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9kZWMuYzoKCSAgdjRsMjogU3BsaXQgZmx1c2ggaW4gc3RhcnQvc3RvcF9zdHJlYW1pbmcKCSAgVGhpcyBhbGxvdyBjYWxsaW5nIHN0YXJ0IHN0cmVhbWluZyBsYXRlciBmb3IgY2FwdHVyZSBkZXZpY2UuIEN1cnJlbnRseSBpdCBicmVha3MKCSAgaW4gZG1hYnVmLWltcG9ydCBiZWNhdXNlIGRvd25zdHJlYW0gaXMgaG9sZGluZyBhIGJ1ZmZlciB0aGF0IHdpbGwgb25seSBiZQoJICByZWxlYXNlZCBhZnRlciBzdHJlYW0tc3RhcnQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzAyMDcKCjIwMTQtMDUtMTQgMTU6MTI6MjYgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJ0cmFuc2Zvcm0uYzoKCSAgdjRsMnRyYW5zZm9ybTogRmx1c2ggYnVmZmVyIHBvb2xzIG9uIGZsdXNoIHN0b3AKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDIwNwoKMjAxNC0wNS0xNCAxMzoyODozMSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmFsbG9jYXRvci5jOgoJICB2NGwyYWxsb2NhdG9yOiBGaXggdXNlIG9mIGF0b21pYyBhY3RpdmUgbWFya2VyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzAyMDcKCjIwMTQtMDUtMTQgMTM6MDU6NDIgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDJidWZmZXJwb29sOiBEb24ndCBkZWFjdGl2YXRlIG90aGVycG9vbAoJICBXZSBzaG91bGQgbm90IHN0b3AgdGhlIG90aGVycG9vbCB1bmxlc3Mgd2UgYWxzbyBzdG9wIG91ciBvd24KCSAgcG9vbCwgb3RoZXJ3aXNlIGl0IHdpbGwgbmV2ZXIgZ2V0IHJlc3RhcnRlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDIwNwoKMjAxNC0wNS0xNCAxMjozMzo1OCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMmJ1ZmZlcnBvb2w6IEFsc28gdXBkYXRlIG51bV9idWZmZXJzIGZvciBpbXBvcnQgY2FzZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDIwNwoKMjAxNC0wNS0xNCAxMzo0MjoyNSAtMDcwMCAgQWxlaXggQ29uY2hpbGxvIEZsYXF1w6kgPGFsZWl4QG9ibG9uZy5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiB1cGRhdGUgcnRwIGVuY29kZXIvZGVjb2RlciBkb2NzCgkgIFVzZSAldSBpbiBSVFAgZW5jb2Rlci9kZWNvZGVyIHBhZHMgdG8gbWF0Y2ggb3RoZXIgcnRwYmluIHBhZHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzAxNDYKCjIwMTMtMTItMjcgMTE6NTU6MTggKzAyMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBzZXNzaW9uLmM6CgkgIHRlc3RzL2NoZWNrOiBydHBzZXNzaW9uOiB0ZXN0IGludGVybmFsIHNvdXJjZXMgdGltaW5nIG91dAoKMjAxMy0xMi0yNiAxNzozMDo0MiArMDIwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogcmVtb3ZlIHVudXNlZCBpZiBicmFuY2gKCSAgMSkgc291cmNlcyB0aGF0IGhhdmUgc2VudCBCWUUgaW4gdGhlIHBhc3QgY2Fubm90IGJlIHNlbmRlcnMsIHNpbmNlCgkgIHRoZXkgd291bGQgaGF2ZSB0aW1lZCBvdXQgdG8gYmVpbmcgcmVjZWl2ZXJzIGluIHRoZSBtZWFudGltZS4uLgoJICAyKSBzb3VyY2VzIHRoYXQgaGF2ZSBzZW50IEJZRSBhcmUgbm93IGJlaW5nIHJlbW92ZWQgZWFybGllciBpbnNpZGUKCSAgdGhpcyBmdW5jdGlvbgoKMjAxMy0xMi0yNiAxNzoyOTo0MiArMDIwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogY2xlYW51cCBzb3VyY2VzIHRoYXQgaGF2ZSBzZW50IEJZRQoKMjAxMy0xMi0yNiAxNzoyNDo1MSArMDIwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogdW5pZnkgbmVzdGVkIGlmIGNsYXVzZXMKCjIwMTMtMTItMjYgMTc6MjE6NDQgKzAyMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IHRpbWVvdXQgaW50ZXJuYWwgc291cmNlcyB0aGF0IGFyZSBpbmFjdGl2ZSBmb3IgYSBsb25nIHRpbWUgYW5kIHNlbmQgQllFCgoyMDE0LTA1LTEzIDEyOjI1OjA0IC0wNzAwICBBbGVpeCBDb25jaGlsbG8gRmxhcXXDqSA8YWxlaXhAb2Jsb25nLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IGRvbid0IHN0b3AgbG9vcGluZyBpZiBldmVudCBmb3VuZCBpbiB0aGUgcXVldWUKCSAgSWYgd2UgYXJlIGluc2VydGluZyBhIHBhY2tldCBpbnRvIHRoZSBqaXR0ZXIgcXVldWUgd2UgbmVlZCB0byBrZWVwCgkgIGxvb3BpbmcgdGhyb3VnaCB0aGUgaXRlbXMgdW50aWwgdGhlIHJpZ2h0IHBvc2l0aW9uIGlzIGZvdW5kLiBDdXJyZW50bHksCgkgIHRoZSBjb2RlIHN0b3BzIGFzIHNvb24gYXMgYW4gZXZlbnQgaXMgZm91bmQgaW4gdGhlIHF1ZXVlLgoJICBSZWdhcmRpbmcgZXZlbnRzLCB3ZSBzaG91bGQgb25seSBtb3ZlIHBhY2tldHMgYmVmb3JlIGFuIGV2ZW50IGlmIHRoZXJlCgkgIGlzIGFub3RoZXIgcGFja2V0IGJlZm9yZSB0aGUgZXZlbnQgdGhhdCBoYXMgYSBsYXJnZXIgc2VxbnVtLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwMDc4CgoyMDE0LTA0LTE3IDEzOjA0OjAwICswMDAwICBBZHJpZW4gU0NIIDxhZHJpZW4uc2Nod2FydHplbnRydWJlckBnbWFpbC5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBmaXggdGhlIG1lbW9yeSBsZWFrIG9mIGxhbmd1YWdlIGF0dHJpYnV0ZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI4NDE4CgoyMDE0LTA1LTEzIDEzOjQ0OjIwIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IEZpeCByZWdyZXNzaW9uIGluIG9mZnNldCBleHRyYXBvbGF0aW9uCgkgIFdoZW4gZXh0cmFwb2xhdGluZyB0aGUgb2Zmc2V0LCB3ZSBuZWVkIHRvIHVzZSB0aGUgZXh0cmFwb2xhdGUKCSAgc3RyaWRlIHJhdGhlciB0aGVuIHRoZSBiYXNlIHN0cmlkZS4gVGhpcyBzaG91bGQgZml4IHN1cHBvcnQgZm9yIGZvcm1hdAoJICB3aXRoIG1vcmUgdGhlbiB0d28gcGxhbmVzIChJNDIwLCBZNDJCLCBldGMpLgoKMjAxNC0wNS0xMiAxODowMzoxOCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuaDoKCSAgdjRsMmJ1ZmZlcnBvb2w6IFVzZSBkZWZhdWx0IFZpZGVvSW5mbyBmb3IgZnJhbWUgb3BlcmF0aW9uCgkgIFdoZW4gZG9pbmcgZnJhbWUgb3BlcmF0aW9uLCB3ZSBuZWVkIHRvIHVzZSB0aGUgZGVmYXVsdCBWaWRlb0luZm8KCSAgYW5kIGxldCB0aGUgZnJhbWUgQVBJIHJlYWQgdGhlIHZpZGVvIG1ldGEgaW4gb3JkZXIgdG8gZ2V0IHRoZSBzdHJpZGUKCSAgYW5kIG9mZnNldCByaWdodC4gQ3VycmVudGx5IHdlIHdoZXJlIHVzaW5nIHRoZSBzcGVjaWFsaXplZCBWaWRlb0luZm8KCSAgd2hpY2ggcmVmbGVjdHMgd2hhdCB0aGUgSFcgaXMgc2V0dXAgdG8uCgoyMDE0LTA1LTEyIDE3OjIzOjE5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyc3JjOiBtaW5vciBHVmFsdWUgaGFuZGxpbmcgb3B0aW1pc2F0aW9uIGluIHByb2JpbmcgY29kZQoKMjAxNC0wNS0xMiAxNzoyMDoxNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMnNyYzogYXZvaWQgbGlzdHMgd2l0aCBvbmUgc2luZ2xlIGZyYW1lcmF0ZSBpbiBwcm9iZWQgY2FwcwoJICBTaW1wbGlmeSBmcmFtZXJhdGUgZmllbGQgaWYgcG9zc2libGUsIHNvIHdlIGRvbid0IGVuZCB1cCB3aXRoCgkgIGUuZy4gZnJhbWVyYXRlID0gKGZyYWN0aW9uKSB7IDMwLzEgfS4gTWF5YmUgdGhlIGhlbHBlciBmdW5jdGlvbgoJICBzaG91bGQgYmUgbW92ZWQgdG8gY29yZSwgYnV0IHdlIGNhbiBkbyB0aGlzIGxhdGVyLgoKMjAxNC0wNS0xMiAxNjo1NjozNSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBGaXggbGVhayBvZiBwYWxldHRlX2RhdGEgaW4gZXJyb3IgY2FzZXMKCSAgQ0lEICMxMjEyMTUxCgoyMDE0LTA1LTEyIDE2OjUzOjMyICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogRnJlZSBub2RlX2hlYWRlciBpbiBlcnJvciBjYXNlcwoJICBDSUQgIzEyMTIxMzQKCjIwMTQtMDUtMTIgMTM6NDY6MDEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHZkZW11eDogRG9uJ3QgdXNlIFdBUk5JTkcgZm9yIG5vdC1saW5rZWQgZmxvdyByZXR1cm4KCSAgUG9sbHV0ZXMgZGVidWcgbG9ncyBmb3Igbm8gcmVhc29uLiBJdCdzIG9ubHkgYW4gZXJyb3IgaWYgYWxsIHBhZHMKCSAgcmV0dXJuIG5vdC1saW5rZWQKCjIwMTQtMDUtMTIgMTM6NDU6MDYgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4Lmg6CgkgIGZsdmRlbXV4OiBTa2lwIHVua25vd24gdGFncyBpbiBwdXNoLW1vZGUKCSAgV2UgYWRkIGEgbmV3IG1vZGUgKFNLSVApIGluIHB1c2gtbW9kZSB0byBza2lwIHRhZ3MgdGhhdCB3ZSBkb24ndCBrbm93biBhYm91dAoJICBQYXJ0aWFsbHkgZml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3MDcxMgoKMjAxNC0wNS0xMCAwOToxNDozMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSAgZmxhY2RlYzogQWRkIHN1cHBvcnQgZm9yIHZhcmlhYmxlIGJsb2NrIHNpemUgZmlsZXMgYW5kIHJlbW92ZSBkZWFkIGNvZGUKCSAgVGhpcyBkZWFkIGNvZGUgd2Fzbid0IHVzZWQgc2luY2UgdGhlIDEuMCBwb3J0IGFuZCB3b3VsZCBuZWVkIHRvCgkgIGJlIG1vZGlmaWVkIGhlYXZpbHkgZm9yIHZhcmlhYmxlIGJsb2NrIHNpemUgc3VwcG9ydC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyOTg5NAoKMjAxNC0wNS0wOSAxMjoxNDoyMyAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwydHJhbnNmb3JtLmM6CgkgIHY0bDJ0cmFuc2Zvcm06IEZpeCBOVUxMIGNoZWNrIGNvcHkgcGFzdGUgZXJyb3IKCSAgQ0lEIDEyMTIxMjkKCjIwMTQtMDUtMDkgMTI6MTE6NTQgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnRyYW5zZm9ybS5jOgoJICB2NGwydHJhbnNmb3JtOiBGaXggcG90ZW50aWFsIGRlYWRsb2NrIGR1ZSB0byBtaXNzaW5nIGJyZWFrCgkgIENJRCAxMjEyMTMxCgoyMDE0LTA1LTA5IDE4OjAxOjI4ICswMjAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBpbmNyZW1lbnQgYWNjZXB0ZWQgcGFja2V0cyBhZnRlciBsb3NzCgkgIFdoZW4gd2UgZGV0ZWN0IGEgbG9zdCBwYWNrZXQsIGV4cGVjdCBwYWNrZXRzIHdpdGggaGlnaGVyCgkgIHNlcW51bSBvbiB0aGUgaW5wdXQuCgkgIEFsc28gdXBkYXRlIHRoZSB1bml0IHRlc3QuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjk1MjQKCjIwMTQtMDUtMDQgMTE6MTI6NTQgLTA2MDAgIEphc29uIExpdHppbmdlciA8amxpdHppbmdlcmRldkBnbWFpbC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwaml0dGVyYnVmZmVyLmM6CgkgIEFkZCBuZXcgdGVzdCBjYXNlLgoKMjAxNC0wNS0wOSAxNjoxNDoyMSArMDIwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zaGFwZXdpcGUuYzoKCSAgc2hhcGV3aXBlOiBubyBuZWVkIHRvIGFjdGl2YXRlIHBhZHMKCSAgQWN0aXZhdGlvbiB3aWxsIGhhcHBlbiBpbiB0aGUgc3RhdGUgY2hhbmdlCgoyMDE0LTA1LTA5IDEyOjEwOjA0IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogRG9uJ3QgbGVhayBjb25maWcgc3RydWN0dXJlCgkgIHRoaXMgZml4ZXMgYSBsZWFrIG9mIHRoZSBjb25maWcgc3RydWN0dXJlIGFuZCB0YWtlIGNhcmUgb2YgbWFraW5nIHN1cmUKCSAgY2FwcyBjYW4ndCByZWFjaCByZWYgMCBiZWZvcmUgd2UgYXJlIGRvbmUgZG9pbmcgb3VyIGNoZWNrLgoJICBDSUQgMTIxMjE0NAoKMjAxNC0wNS0wOSAxMjowODoxMSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IFJlbW92ZSB1bmVlZGVkIGNhc3QgZm9yIGNvZGUgY2xhcml0eQoKMjAxNC0wNS0wOSAxMTo1Njo1MiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwycG9vbDogRml4IGxlYWsgb2YgY29uZmlnIHN0cnVjdHVyZSBpbiBlcnJvciBjYXNlCgkgIENJRHMgMTIxMjE2NyBhbmQgIDEyMTIxNjcKCjIwMTQtMDUtMDkgMTE6NTE6MjYgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBGaXggdXNlIG9mIHVuaXRpbGl6ZWQgcG9vbCBwb2ludGVyCgkgIENJRCAjMTIxMjE3MwoKMjAxNC0wNS0wOSAxNjo0ODo1OCArMDIwMCAgRXJpYyBUcm91c3NldCA8ZXRyb3Vzc2V0QGF3b3guY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGRvbid0IHJlc3BvbmQgdG8gYSBwb3NpdGlvbiBxdWVyeSBpbiBCWVRFIGZvcm1hdCB3aXRoIGEgVElNRSBwb3NpdGlvbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI5NTUzCgoyMDE0LTA1LTA5IDE0OjIyOjQyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkgIG1hdHJvc2thZGVtdXg6IGRvbid0IGxlYWsgZG9jdHlwZSBzdHJpbmcgaW4gZXJyb3IgY29kZSBwYXRoCgkgIENJRCAxMjEyMTQ1LgoKMjAxNC0wNS0wNiAxMzozNzo0NyAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IFJlYWRiYWNrIHBvb2wgY29uZmlnIGlmIHVzZWQgd2l0aGluIHRoZSBiYXNlY2xhc3MKCjIwMTQtMDUtMDYgMTI6NTg6NTkgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnRyYW5zZm9ybS5jOgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9kZWMuYzoKCSAgdjRsMjogUmVwbGFjZSBtaXNzLXVzZSBvZiBjcm9wIG1ldGEgaW4gZmF2b3VyIG9mIHByb3BlciBvZmZzZXQKCSAgVGhpcyBtb3ZlcyBhd2F5IGZyb20gY29weWluZyBpbmZvcm1hdGlvbiBhbmQgc3RvcmUgZXZlcnl0aGluZyBpbnNpZGUKCSAgdGhlIEdzdFZpZGVvSW5mbyBzdHJ1Y3R1cmUuIFRoZSBhbGlnbmVtZW50IGV4cG9zZWQgYnkgdjRsMiBhcGkKCSAgaXMgbm93IGhhbmRsZWQgdXNpbmcgcHJvcGVyIG9mZnNldC4KCjIwMTQtMDUtMDYgMTI6NTU6MzAgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJICB2NGwyb2JqZWN0OiBTdHlsZSBmaXgKCjIwMTQtMDUtMDUgMTI6Mzg6MzMgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmFsbG9jYXRvci5jOgoJICB2NGwyYWxsb2NhdG9yOiBSZXNldCBpbXBvcnRlZCBidWZmZXIgc2l6ZSB3aXRoIGV4cGVjdGVkIHNpemUKCSAgVGhpcyBlbnN1cmUgdGhhdCB0aGUgYnVmZmVyIHBvb2wgd29uJ3QgYWx3YXlzIGRpc2NhcmQgYnVmZmVyIHdpdGggdGhlc2UKCSAgbWVtb3J5IHdoZW4gdGhleSBhcmUgcmVsZWFzZWQuCgoyMDE0LTA1LTA1IDEyOjM3OjQzIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJhbGxvY2F0b3IuYzoKCSAgdjRsMmFsbG9jYXRvcjogUmVzZXQgZmx1c2hlZCBncm91cAoJICBUaGlzIGVuc3VyZSB0aGF0IGEgZmx1c2hlZCBncm91cCBtZW1vcnkgYXJlIHRoZSBzYW1lIHNpemUgYXMgd2hlbiB0aGV5CgkgIHdoZXJlIG9yaWdpbmFsbHkgYWxsb2NhdGVkIC8gaW1wb3J0ZWQuCgoyMDE0LTA1LTA1IDEyOjA3OjMxIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmg6CgkgIHY0bDJidWZmZXJwb29sOiBHZXQgbnVtYmVyIG9mIGFsbG9jYXRlZCBidWZmZXJzIGZyb20gYWxsb2NhdG9yCgkgIFRoZSB2YWx1ZSBvZiBudW1fYWxsb2NhdGVkIGJ1ZmZlciB3b3VsZCBnZXQgY29uZnVzZWQgd2hlbgoJICBidWZmZXIgYXJlIGJlaW5nIGRpc2NhcmRlZC4KCjIwMTQtMDUtMDUgMTI6MDY6NDQgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmFsbG9jYXRvci5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYWxsb2NhdG9yLmg6CgkgIHY0bDJhbGxvY2F0b3I6IEFkZCBhIG1ldGhvZCB0byByZWFkIG51bWJlciBvZiBhbGxvY2F0ZWQgZ3JvdXAKCjIwMTQtMDUtMDQgMjA6MjM6NDIgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMmJ1ZmZlcnBvb2w6IEltcHJvdmUgZGVidWdnaW5nCgoyMDE0LTA1LTA0IDE5OjUxOjQ4IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmg6CgkgIHY0bDJidWZmZXJwb29sOiBFbnN1cmUgd2UgZG9uJ3QgcmUtZW5xdWV1ZSBidWZmZXIgZHVyaW5nIGZsdXNoCgoyMDE0LTA1LTA0IDE5OjEzOjM3IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJ0cmFuc2Zvcm0uYzoKCSAgdjRsMnRyYW5zZm9ybTogSW5pdGlsaWFsaXplIGRlYnVnIGNhdGVnb3J5CgoyMDE0LTA1LTA0IDE2OjExOjA5IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJhbGxvY2F0b3IuYzoKCSAgdjRsMmFsbG9jYXRvcjogRml4IGxpYnY0bDIgc3VwcG9ydAoJICBOZWVkIHRvIGluY2x1ZGUgY29uZmlnLmgsIG90aGVyd2lzZSB3ZSBlbmR1cCBkaXJlY3RseSB1c2luZyB0aGUKCSAgaW9jdC9tbWFwL211bm1hcCBjYWxscyBhbmQgbmVlZCB0byB2YWxsIHY0bDJfbXVubWFwLgoKMjAxNC0wNS0wMSAxMzowNDowOCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmFsbG9jYXRvci5jOgoJICB2NGwyYWxsb2NhdG9yOiBTZXQgdGhlIGZsYWdzIG9uIHRoZSBvYmplY3QKCSAgV2Ugd2hlcmUgbm90IHNldHRpbmcgdGhlIHByb2JlZCBmbGFncyBvbiB0aGUgYWxsb2NhdG9yLCB3aGljaCBtZWFuIGV2ZW4gaWYKCSAgQ1JFQVRFX0JVRlMgd2FzIHN1cHBvcnRlZCBvbiBzb21lIGRyaXZlciwgaXQgd291bGQgZW5kdXAgYmVpbmcgaWdub3JlZC4KCjIwMTQtMDQtMjkgMTY6NDk6NTIgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDJidWZmZXJwb29sOiBSZS1lbnF1ZXVlIGJ1ZmZlciBhdCBzdHJlYW0gc3RhcnQKCjIwMTQtMDQtMjkgMTY6MDY6MDAgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJhbGxvY2F0b3IuYzoKCSAgdjRsMmFsbG9jYXRvcjogVGhlcmUgaXMgbm90IGdyb3VwIG9uIGVycm9yCgoyMDE0LTA0LTI5IDE0OjU2OjMxIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwydHJhbnNmb3JtLmM6CgkgIHY0bDJ0cmFuc2Zvcm06IEhhbmRsZSBGTFVTSF9TVE9QIGV2ZW50CgoyMDE0LTA0LTI5IDEzOjA1OjQxIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb2RlYy5jOgoJICB2NGwyYnVmZmVycG9vbDogQWNxdWlyZSBjYW5ub3QgcmV0dXJuIGEgYnVmZmVyIGZyb20gYW5vdGhlciBwb29sCgkgIFJldHVybiBhIGJ1ZmZlciBmcm9tIGFuIG90aGVycG9vbCBoYXMgdW53YW50ZWQgc2lkZSBlZmZlY3RzIHRoYXQgbGVhZCB0byBsZWFrcyBhbmQKCSAgcHJldmVudHMgZGVhY3RpdmF0aW5nIHRoZSBwb29sLiBJbnN0ZWFkLCB3ZSBjaGFuZ2UgdGhlIF9wcm9jZXNzKCkgQVBJIHNvIGl0IGNhbgoJICByZXBsYWNlIHRoZSBpbnRlcm5hbCBidWZmZXIgd2l0aCB0aGUgYnVmZmVyIGZyb20gdGhlIGRvd25zdHJlYW0gcG9vbC4gVGhpcyBpbXBsaWVkCgkgIG1vdmluZyBmcm9tIF9maWxsKCkgdG8gX2NyZWF0ZSgpIG1ldGhvZCBpbiB0aGUgc3JjLgoKMjAxNC0wNC0yOSAxMzowMDozMiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMmJ1ZmZlcnBvb2w6IFJlbW92ZSB1bnJlYWNoZWQgYWNxdWlyZSBjb2RlCgkgIFRoZSBhY3F1aXJlIGlzIGRvbmUgaW4gX3ByZXBhcmUgbm93LgoKMjAxNC0wNC0yOSAxMjo1NzowOCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMmJ1ZmZlcnBvb2w6IFNhbmV0aXplIGJ1ZmZlciByZWZvdW50IGhhbmRsaW5nCgkgIEJ1ZmZlciByZWZjb3VudGluZyBpcyBhIGJpdCBoYXJkLCBiZWNhdXNlIG9mIHRoZSBkdWFsaXR5IGJldHdlZW4gQ0FQVFVSRSBhbmQKCSAgT1VUUFVUIG1vZGUuIEluIHRoZSBsb25nIHRlcm0sIHdlIHNob3VsZCBjb25zaWRlciBoYXZpbmcgdHdvIHNlcGVyYXRlIHBvb2wKCSAgaW5zdGVhZCBvZiB0aGlzIG1lc3MuIEF0IGxlYXN0IHN0YXRlIHNob3VsZCBiZSBiZXR0ZXIga2VwdCB0aGlzIHdheS4KCjIwMTQtMDQtMjkgMTI6NDg6MDQgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJ0cmFuc2Zvcm0uYzoKCSAgdjRsMnRyYW5zZm9ybTogQWRkIG1vcmUgdHJhY2VzCgoyMDE0LTA0LTI4IDA4OjQ4OjI2IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYWxsb2NhdG9yLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJhbGxvY2F0b3IuaDoKCSAgdjRsMi1hbGxvY2F0b3I6IEFkZCBTIHRvIFJFUUJVRlMvQ1JFQVRFX0JVRlMgZW51bQoJICBBbGwgZW51bSB0aGF0IGhhcyBSRVFCVUZTIGFuZCBDUkVBVEVfQlVGUyB3aGVyZSBtaXNzaW5nIFMsIHdoaWNoIHdhcwoJICBjb25mdXNpbmcgc2luY2UgdGhleSBhcmUgc3VwcG9zZWQgdG8gbWF0Y2ggd2l0aCBhc3NvY2ljYXRlZCBpb2N0bCBuYW1lLiBUaGlzCgkgIGFsc28gZml4ZXMgdGhlIHlldCB1bnVzZWQgQ0FOX1JFUVVFU1QgZmxhZyBjaGVjay4KCjIwMTQtMDQtMTggMTc6NTE6MDcgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJ0cmFuc2Zvcm0uYzoKCSAgdjRsMnRyYW5zZm9ybTogRW5hYmxlZCBRb1MKCjIwMTQtMDQtMTggMTc6MDI6NTAgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJhbGxvY2F0b3IuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmFsbG9jYXRvci5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyOiBGaXh1cCBVU0VSUFRSL0RNQUJVRiBjYXB0dXJlIHN1cHBvcnQKCjIwMTQtMDQtMTggMTQ6NDU6MDAgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogSW1wcm92ZSBzZWxlY3RvbiBvZiBtaW4vbWF4IGluIGRlY2lkZSBhbGxvY2F0aW9uCgoyMDE0LTA0LTE4IDEzOjA5OjAwIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyYnVmZmVycG9vbDogVXBkYXRlIGNvbmZpZyBpZiBtZXRhIGlzIG1pc3NpbmcKCSAgUmF0aGVyIHRoZW4gaGFyZCBmYWlsdXJlLCB3ZSBzaG91bGQgdXBkYXRlIHRoZSBjb25maWcgd2l0aCB0aGUgbWV0YSBvcHRpb24gd2UKCSAgbmVlZCBhbmQgcmV0dXJuIGZhbHNlLgoKMjAxNC0wNC0xMSAxNzoxMDoxMSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmFsbG9jYXRvci5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYWxsb2NhdG9yLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJICB2NGwyOiBBZGQgRE1BQlVGIGFuZCBVU0VSUFRSIGltcG9ydGF0aW9uCgoyMDE0LTA0LTE3IDIxOjQ1OjU4IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYWxsb2NhdG9yLmM6CgkgIHY0bDJhbGxvY2F0b3I6IFZhbGlkIEZEIGFyZSBiaWdnZXIgb3IgZXF1YWwgdG8gemVybwoKMjAxNC0wNC0xNiAxNzowNDo0MiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBEb24ndCBsZWFrIGRvd25zdHJlYW0gcG9vbCBpbiBwcm9wb3NlX2FsbG9jYXRpb24KCSAgcGFyc2VfbnRoX2FsbG9jYXRpb25fcG9vbCgpIGdpdmUgYSByZWYgb24gdGhlIHBvb2wsIHdlIG5lZWQgdG8gdW5yZWYgaXQKCSAgd2hlbiBkb25lLgoKMjAxNC0wNC0xNCAxMjoxOTozOSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkgIHY0bDI6IEludHJvZHVjZSBETUFCVUZfSU1QT1JUIElPIG1vZGUKCjIwMTQtMDQtMTAgMTY6MjY6MzQgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJhbGxvY2F0b3IuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmFsbG9jYXRvci5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyOiBBZGQgZG1hYnVmIGV4cG9ydCBzdXBwb3J0CgkgIFRoaXMgY2FuIGJlIGVuYWJsZWQgc2luZyBpby1tb2RlPWRtYWJ1Zi4gVGhpcyB3aWxsIGVuYWJsZWQgbW1hcCBiYXNlCgkgIGRyaXZlcnMgdG8gZXhwb3J0IHRoZSBidWZmZXJzIGFzIGRtYWJ1Zi4KCjIwMTQtMDQtMTYgMTU6NTE6MDMgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJhbGxvY2F0b3IuYzoKCSAgdjRsMmFsbG9jYXRvcjogR3VhcmFudHkgcXVldWVkIHN0YXRlIGludGVncmV0eQoJICBCZWNhdXNlIG9mIHRoZSBidWYgaW4gdmlkZW9idWYyLCBkcWJ1ZiBtYXkgbGVhdmUgdGhlIERPTkUgZmxhZyBiZWluZywKCSAgd2hpY2ggd291bGQgaW1wbGllZCB0aGF0IHRoZSBidWZmZXIgaXMgcXVldWVkLiBBcyB0aGlzIGhhcyBiZWVuIGJyb2tlbgoJICBmb3IgNCB5ZWFycywgc2ltcGx5IGd1YXJhbnR5IHRoZSBzdGF0ZSBmbGFncyBpbnRlZ3JpdHkgd2hlbiBkb2luZwoJICBxYnVmL2RxYnVmLgoJICBTZWUgaHR0cHM6Ly9wYXRjaHdvcmsubGludXh0di5vcmcvcGF0Y2gvMjM2NDEvCgoyMDE0LTA0LTE1IDE3OjMxOjQyIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwydHJhbnNmb3JtLmM6CgkgIHY0bDJ0cmFuc2Zvcm06IEltcGxlbWVudCBvcGVuL2Nsb3NlCgoyMDE0LTA0LTE1IDE2OjQzOjQxIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwydHJhbnNmb3JtLmM6CgkgIHY0bDJ0cmFuc2Zvcm06IEVuc3VyZSBvdXRwdXQgcG9vbCBpcyBjb25maWd1cmVkCgoyMDE0LTA0LTE1IDE2OjQzOjE1IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwydHJhbnNmb3JtLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ0cmFuc2Zvcm0uaDoKCSAgdjRsMnRyYW5zZm9ybTogQ2hlY2sgaWYgY2FwcyBoYXZlIGNoYW5nZXMgYmVmb3JlIGFzc2VydGluZwoJICBJbiBzZXRfY2Fwcywgbm93IGNoZWNrcyBpZiBjYXBzIGFjdHVhbGx5IGNoYW5nZWQgYW5kIHN1Y2NlZWQgaWYgdGhleSBkaWRuJ3QKCSAgY2hhbmdlLgoKMjAxNC0wNC0xNSAxNjo0MTo0NiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvZGVjLmM6CgkgIHY0bDJ2aWRlb2RlYzogRW5zdXJlIHBvb2wgaXMgY29uZmlndXJlZAoKMjAxNC0wNC0wOCAxODo1NDowOSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBBbHdheXMgc2V0IGEgc2l6ZSB3aGVuIGRlY2lkaW5nIGFsbG9jYXRpb24KCjIwMTQtMDQtMDggMTg6MjA6MjUgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogSW1wcm92ZWQgZGVjaWRlIGFsbG9jYXRpb24KCSAgSW1wcm92ZSBkZWNpZGUgYWxsb2NhdGlvbiBzbyBpdCBwcm9wZXJseSBjb25maWd1cmUgYm90aCBsb2NhbCBhbmQgZG93bnN0cmVhbQoJICBidWZmZXIgcG9vbHMuIEFsc28gcmVhZCBiYWNrIHRoZSBwb29sIGNvbmZpZyBpZiBpdCB3YXMgY2hhbmdlZCB0byB0byBkcml2ZXIKCSAgbGltaXRhdGlvbnMuCgoyMDE0LTA0LTE1IDEzOjMwOjAyIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyYnVmZmVycG9vbDogRG8gbm90IHByZS1jb25maWd1cmUgdGhlIHBvb2wKCSAgUHJlLWNvbmZpZ3VyaW5nIHRoZSBwb29sIGlzIGVycm9yIHByb25lLCBzaW5jZSBpdCBtYXkgaGlkZSBhIGNvbmZpZ3VyYXRpb24gZmFpbHVyZSBhbmQKCSAgZW5kdXAgd2l0aCBhIHBvb2wgdGhhdCBpcyBub3QgY29uZmlndXJlZCB0aGUgd2F5IGl0IHNob3VsZCAoZS5nLiBubyB2aWRlbyBtZXRhLCB3cm9uZwoJICBxdWV1ZSBzaXplLCBldGMuKQoKMjAxNC0wNC0xNSAxMzoyMzozMyAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMmJ1ZmZlcnBvb2w6IFByZXNlcnZlIGRvd25zdHJlYW0gbWluaW11bSBldmVuIGluIFJXCgoyMDE0LTA0LTE1IDEzOjIwOjEyIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5oOgoJICB2NGwyYnVmZmVycG9vbDogVHVybiBjcm9wbWV0YSBpbnRvIGEgY3VzdG9tIG9wdGlvbgoJICBUdXJuIGNyb3AgbWV0YSBpbnRvIGEgY3VzdG9tIG9wdGlvbiBhbmQgbWFrZSBzdXJlIGl0J3MgdGhlcmUgaXMgbmVlZGVkLgoKMjAxNC0wNC0wOSAxMjo1MzoxOSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyYnVmZmVycG9vbDogRWFybHkgY2F0Y2ggc2hvcnQgYWxsb2NhdGlvbgoJICBDYXRjaCBzaG9ydCBhbGxvY2F0aW9uIGFmdGVyIHNhdmluZyB0aGUgZm9ybWF0LiBUaGlzIGlzIG5vdCBhIGNhdGNoIGFsbCwgYnV0IHNob3VsZCBjYXRjaAoJICBtb3N0IG9mIHRoZSBtaXNzLWJlaGF2aW5nIGRyaXZlcnMgd2hlbiBkb2luZyBTX0ZNVC9HX0ZNVCBhbmQgYXZvaWQgcG90ZW50aWFsIGNyYXNoLgoKMjAxNC0wNC0wNCAyMjo0Njo0MCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuaDoKCSAgdjRsMmJ1ZmZlcnBvb2w6IFBvcnQgdG8gdXNlIEdzdFY0bDJBbGxvY2F0b3IKCjIwMTQtMDQtMDQgMjI6MzU6NDggLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL01ha2VmaWxlLmFtOgoJKiBzeXMvdjRsMi9nc3R2NGwyYWxsb2NhdG9yLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJhbGxvY2F0b3IuaDoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5oOgoJICBJbXBsZW1lbnQgVjRsMiBBbGxvY2F0b3IKCSAgVGhpcyBnb2FsIG9mIHRoaXMgYWxsb2NhdG9yIGlzIG1haW5seSB0byBhbGxvdyB0cmFja2luZyB0aGUgbWVtb3J5LgoJICBDdXJyZW50bHksIHdoZW4gYSBidWZmZXIgbWVtb3J5IGhhcyBiZWVuIG1vZGlmaWVkLCB0aGUgYnVmZmVyIGFuZCBpdCdzCgkgIG1lbW9yeSBpcyBkaXNwb3NlZCBhbmQgbG9zdCB1bnRpbCB0aGUgc3RyZWFtIGlzIHJlc3RhcnRlZC4KCjIwMTQtMDQtMTYgMTY6MzU6NDkgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogRG9uJ3QgYWR2ZXJ0aXNlIGNyb3AgbWV0YQoJICBDdXJyZW50bHkgd2UgYWR2ZXJ0aXNlIGNyb3AgbWV0YSwgYnV0IG5vdCBlbGVtZW50IGhhbmRsZSBzdXBwb3J0IHRoaXMgbWV0YS4KCjIwMTQtMDQtMDggMTg6MTg6NTcgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogU2V0dXAgcG9vbCBhbHJlYWR5IHNlbmQgZWxlbWVudCBlcnJvcgoKMjAxNC0wNC0wOCAxODoxNzozMSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBXb3JrYXJvdW5kIGRlY29kZXIgdGhhdCBzZXQgbnVtX3BsYW5lcyB0byAwIGluIHRoZSBmb3JtYXQKCSAgU29tZSB3ZWxsIGtub3duIGRlY29kZXIgd3JvbmdseSBzZXQgbnVtX3BsYW5lcyB0byAwIGluIHRoZWlyIGZvcm1hdCBpbnN0ZWFkIG9mCgkgIG9uZS4gSW4gdGhpcyBjYXNlIHdlIHdvdWxkIGVuZHVwIHdpdGggbm8gc2l6ZSB3aGVuIGRlY2lkaW5nIGJ1ZmZlciBhbGxvY2F0aW9uLgoKMjAxNC0wNC0wOCAxNzozNDoxOSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBFbnN1cmUgc2l6ZSBiZWZvcmUgY29uZmlndXJpbmcgdGhlIHBvb2wKCjIwMTQtMDQtMDQgMjI6Mzg6MDUgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSAgdjRsMm9iamVjdDogU2V0IG1pbmltdW0gYnVmZmVycyB0byAyCgkgIEFsbCB0aGUgZWxlbWVudCByZXF1aXJlcyBhdCBsZWFzdCB0d28gYnVmZmVycy4gVGhpcyBpcyBub3QgdXNlZCBmb3IgUlcgbW9kZS4KCjIwMTQtMDQtMDQgMjI6Mzc6MTQgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSAgdjRsMm9iamVjdDogUmVtb3ZlIHVudXNlZCBNQVhfQlVGRkVSUyBkZWZpbmUKCjIwMTQtMDQtMDQgMjI6MzY6MzcgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogRG9uJ3QgaGFyZGNvZGUgbWluL21heCB1c2UgZGVmYXVsdCBpbnN0ZWFkCgoyMDE0LTA0LTEwIDE3OjQ5OjQxIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwydHJhbnNmb3JtLmM6CgkgIHY0bDJ0cmFuc2Zvcm06IEluc3RhbGwgUFJPUF9DQVBUVVJFX0lPX01PREUgd2l0aCByaWdodCBJRAoKMjAxNC0wNC0wOCAxODo1NDo1MCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnRyYW5zZm9ybS5jOgoJICB2NGwydHJhbnNmb3JtOiBkZWNpZGVfYWxsb2NhdGlvbiByZXR1cm5zIGEgYm9vbGVhbgoKMjAxNC0wNC0xMCAxNzo0OToyOSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvZGVjLmM6CgkgIHY0bDJ2aWRlb2RlYzogSW5zdGFsbCBQUk9QX0NBUFRVUkVfSU9fTU9ERSB3aXRoIHJpZ2h0IElECgoyMDE0LTAzLTI3IDEzOjIxOjI1IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwydHJhbnNmb3JtLmM6CgkgIHY0bDJ0cmFuc2Zvcm06IEFkZCBwcm9wb3NlX2FsbG9jYXRpb24KCSAgVGhpcyBzaG91bGQgcmVtb3ZlIDEgY29weSBiZXR3ZWVuIHRoZSBkZWNvZGVyIGFuZCB0aGUgdHJhbnNmb3JtLgoKMjAxNC0wMy0yNyAxMzoyMDo1MyAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkgIHY0bDI6IE1vdmUgcHJvcG9zZSBhbGxvY2F0aW9uIHRvIHY0bDJvYmplY3QKCjIwMTQtMDMtMjAgMTc6MjY6MDUgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJ0cmFuc2Zvcm0uYzoKCSAgdjRsMnRyYW5zZm9ybTogRml4dXAgY2FwcyBxdWVyeQoKMjAxNC0wMy0yMCAxNTozMToyMiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkqIHN5cy92NGwyL2dzdHY0bDJ0cmFuc2Zvcm0uYzoKCSAgdjRsMnRyYW5zZm9ybTogU2V0dXAgY3JvcHBpbmcgaWYgbmVlZGVkCgoyMDE0LTAzLTE5IDE3OjI1OjE2IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyLmM6CgkgIHY0bDJ0cmFuc2Zvcm06IEV4cG9zZSBCR1JBIGFuZCBBUkdCIGZvcm1hdHMKCjIwMTQtMDMtMTggMTc6MzM6MzggLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJ0cmFuc2Zvcm0uYzoKCSAgdjRsMnRyYW5zZm9ybTogRW5zdXJlIG91dHB1dCBwb29sIGlzIGFjdGl2YXRlZAoJICBUaGF0IHBvb2wgbWF5IGJlIGRpZmZlcmVudCB0aGVuIHRoZSBpbnRlcm5hbCBwb29sLgoKMjAxNC0wMy0xNiAxOToxMToxNiArMDEwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnRyYW5zZm9ybS5jOgoJICB2NGwydHJhbnNmb3JtOiBFbnN1cmUgaW50ZXJuYWwgYnVmZmVyIHBvb2xzIGFjdGljYXRpb24KCjIwMTQtMDMtMTYgMTE6MzY6MTkgKzAxMDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJ0cmFuc2Zvcm0uYzoKCSAgdjRsMnRyYW5zZm9ybTogTW92ZSBzdWJpbnN0YW5jZSBzdWJjbGFzcyBpbml0IG5lYXIgb3RoZXIgaW5pdAoKMjAxNC0wMy0xNSAxODo1Njo1MSArMDEwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnRyYW5zZm9ybS5jOgoJICB2NGwydHJhbnNmb3JtOiBTdG9wIHN0cmVhbSBiZWZvcmUgY2xvc2luZyB0aGUgZGV2aWNlcy4KCjIwMTQtMDMtMTUgMTY6NTM6NTQgKzAwMDAgIFbDrWN0b3IgTWFudWVsIErDoXF1ZXogTGVhbCA8dmphcXVlekBpZ2FsaWEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnRyYW5zZm9ybS5jOgoJICB2NGwydHJhbnNmb3JtOiBjb3B5IG1ldGRhdGEKCjIwMTQtMDMtMDQgMTg6MzE6MjcgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL01ha2VmaWxlLmFtOgoJKiBzeXMvdjRsMi9nc3R2NGwyLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnRyYW5zZm9ybS5jOgoJKiBzeXMvdjRsMi9nc3R2NGwydHJhbnNmb3JtLmg6CgkgIEltcGxlbWVudCBHc3RWNGwyVHJhbnNmb3JtCgkgIEltcGxlbWVudCBhIHY0bDIgZWxlbWVudCB0aGF0IHdyYXBzIEhXIHZpZGVvIGNvbnZlcnRlcnMuCgoyMDE0LTAzLTI3IDE4OjQxOjA3IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSAgdjRsMjogUHJvYmUgZm9yIENSRUFURV9CVUZTIGluIG9yZGVyIHRvIGNvcnJlY3RseSBzZXQgcG9vbCBtaW4vbWF4CgkgIEluIG9yZGVyIHRvIGNvcnJlY3RseSBzZXQgdGhlIHBvb2wgbWluL21heCwgd2UgbmVlZCB0byBwcm9iZSBmb3IgQ1JFQVRFX0JVRlMKCSAgaW9jdGwuIFRoaXMgY2FuIGJlIGRvbmUgYXMgc29vbiBhcyB0aGUgZm9ybWF0IGhhcyBiZWVuIG5lZ290aWF0ZWQgdXNpbmcgYQoJICBjb3VudCBvZiAwLgoKMjAxNC0wMy0yNSAxNToyMTowMyAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvZGVjLmM6CgkgIHY0bDI6IE1vdmUgY2FwdHVyZSBlb3MgaGFuZGxpbmcgaW4gX3Byb2Nlc3MoKQoJICBOb3cgdGhhdCB3ZSBtaWdodCBiZSBjb3B5aW5nIG91dCBidWZmZXIgKGUuZy4gZG93bnN0cmVhbSBkb24ndCBzdXBwb3J0IHZpZGVvCgkgIG1ldGEgYnVnIHdlIG5lZWQgaXQpIHdlIG5lZWQgdG8gbW92ZSB0aGUgRU9TIGhhbmRsaW5nIGluc2lkZSB0aGUgcHJvY2VzcwoJICBtZXRob2QuCgoyMDE0LTAzLTI1IDEwOjQ5OjM5IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IEZpeCBzdXBwb3J0IGZvciBwbGFuYXIgZm9ybWF0IGluIDEgdjRsMiBtcGxhbmUKCSAgU28gZmFyIHdlIHdoZXJlIG9ubHkgc2V0dGluZyBzYXZpbmcgdGhlIGZpcnN0IHBsYW5lIHN0cmlkZSBpbiB0aGUgbWV0YS4gVGhpcyB3YXMKCSAgbGVhZGluZyB0byB3cm9uZyB2YWx1ZXMgaW4gR3N0VmlkZW9NZXRhLgoKMjAxNC0wMy0xOSAxNzo1MjowOCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvZGVjLmM6CgkgIHY0bDJ2aWRlb2RlYzogQ2xlYW5seSBmYWlsIGlmIHNldF9mb3JtYXQgaXMgbmV2ZXIgY2FsbGVkCgoyMDE0LTAzLTE5IDE3OjAwOjU2IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJICB2NGwyOiBFeHBvc2UgUkdCMzIgZm9ybWF0cyB3aXRoIGFuZCB3aXRob3V0IGFscGhhCgkgIEFzIHNvb24gYSB0aGUgYWxwaGEgY29tcG9uZW50IGNhbiBiZSBzZXQsIHdlIGNhbiBleHBvc2UgdGhlIFJHQjMyIGFuZCBCR1IzMgoJICBmb3JtYXQgYXMgQVJHQiBhbmQgQkdSQSBhcyBsb25nIHdlIGNhbiBkZXRlcm1pbmlzdGljYWxseSBzZXQgdGhlIGFscGhhIHBhZGRpbmcKCSAgdmFsdWUuCgoyMDE0LTAzLTE4IDE1OjQ5OjQ5IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDI6IENvcnJlY3RseSBjaGVjayBpZiB2aWRlbyBtZXRhIGlzIG5lZWRlZAoJICBDb3JyZWN0bHkgY2hlY2sgaWYgdmlkZW8gbWV0YSBpcyBuZWVkZWQuIEluIGJ1ZmZlciBwb29sLCB0cnVzdCBuZWVkX3ZpZGVvX21ldGEKCSAgZmxhZyBpbiBvcmRlciB0byBkZWNpZGUgaWYgY29uZmlndXJhdGlvbiBzaG91bGQgc3VjY2VlZC4KCjIwMTQtMDMtMTggMTU6NDU6MTggLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogRml4IHRpbGVkIHN0cmlkZSByZXF1ZXN0CgkgIEZpeCBzdHJpZGUgcmVxdWVzdCBmb3IgdGlsZWQgZm9ybWF0IGFuZCBpbXByb3ZlIGxvZ2dpbmcuCgoyMDE0LTAzLTE4IDExOjUzOjU3IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IEVuc3VyZSB2aWRlbyBhbmQgY3JvcCBtZXRhIGFyZSBlbmFibGVkIGlmIG5lZWRlZAoJICBJbiBjZXJ0YWluIGNhc2VzIHdlIGNhbm5vdCBsaXZlIHdpdGhvdXQgdmlkZW8gbWV0YSBhbmQvb3IgY3JvcCBtZXRhCgkgIGJlaW5nIGVuYWJsZWQgaW4gb3VyIGludGVybmFsIGJ1ZmZlciBwb29sLiBFbnN1cmUgdGhpcyBpcyBhbHdheXMgdGhlIGNhc2UsCgkgIHJlZ2FyZGxlc3Mgb2YgaGF2aW5nIHN1cHBvcnQgZm9yIGFsbG9jYXRpb24gcXVlcnkuCgoyMDE0LTAzLTE2IDE4OjM5OjMyICswMTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9kZWMuYzoKCSAgdjRsMnZpZGVvZGVjOiBFbnN1cmUgaW50ZXJuYWwgcG9vbCBhcmUgYWN0aXZhdGVkCgoyMDE0LTAzLTE2IDE3OjAxOjEwICswMTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9kZWMuYzoKCSAgdjRsMnZpZGVvZGVjOiBDaGVjayB0aGF0IHBvb2wgd2hlcmUgYWxsb2NhdGVkIGJlZm9yZSBmbHVzaGluZyB0aGVtCgkgIFVwb24gZXJyb3IsIHRoZSBwb29scyBtaWdodCBub3QgaGF2ZSBiZWVuIGFsbG9jYXRlZCB5ZXQsIGhlbmNlIHdlIHNob3VsZCBub3QKCSAgdHJ5IGFuZCBmbHVzaCB0aGVtIChldmVuIHRob3VnaCB3ZSBzdGlsbCB3YW50IHRvIG1ha2Ugc3VyZSB0aGUgcHJvY2Vzc2luZyB0aHJlYWQKCSAgaXMgZnVsbHkgc3RvcHBlZCkuCgoyMDE0LTAzLTE2IDE2OjU1OjQzICswMTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJICB2NGwyYnVmZmVycG9vbDogRW5mb3JjZSBhY3RpdmF0aW9uIG91dHNpZGUgb2YgcHJvY2VzcwoJICBFbmZvcmNlIHBvb2wgYmVpbmcgYWN0aXZhdGUgZnJvbSBiZWZvcmUgY2FsbGluZyBwb29sIHByb2Nlc3MuIFRoaXMgc2hvdWxkCgkgIGhlbHAgY2F0Y2hpbmcgYmFzaWMgZXJyb3JzIGluIHRoZSB1c2FnZSBvZiBidWZmZXIgcG9vbC4KCjIwMTQtMDMtMTYgMTI6NDQ6MTQgKzAxMDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogZG9uJ3QgdXNlIG93biBwb29sIGlmIGRvd25zdHJlYW0gZG9uJ3Qgc3VwcG9ydCB2aWRlbyBtZXRhCgoyMDE0LTAzLTE0IDAwOjMxOjMyICswMTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyYnVmZmVycG9vbDogVXNlIG9iai0+bl92NGwyX3BsYW5lcyBmb3IgY29ycmVjdCBudW1iZXIgb2YgcGxhbmVzCgkgIEJ1ZmZlciBwb29sIHdhcyBndWVzc2luZyB3cm9uZ2x5IHRoZSBudW1iZXIgb2YgcGxhbmVzIHJhdGhlcgoJICB0aGVuIHJlYWRpbmcgdGhlIHZhbHVlIGZyb20gb2JqLT5uX3Y0bDJfcGxhbmVzLiBUaGlzIHdhcyBjYXVzaW5nCgkgIGZvcm1hdCBZVTEyIChJNDIwKSB0byBmYWlsIHVwb24gY2hlY2suCgoyMDE0LTAzLTA3IDE2OjM5OjI5IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IEZpeCBoYW5kbGluZyBvZiBjb250aXVvdXMgdnMgbm9uLWNvbnRpZ3VvdXMgc3VwcG9ydAoJICBUaGUgY29tcGxleCBtZWNoYW5pYyB0byB0cnkgYW5kIGNob29zZSB0aGUgcmlnaHQgdGhpbmcgZGlkIG5vdCB3b3JrLiBJbnN0ZWFkLAoJICBzaW1wbHkgcHJvYmUgdGhlIG5vbi1jb250aWd1b3VzIGZvcm1hdCBmaXJzdCBhbmQgdGhlbiB0aGUgY29udGlndW91cyBvbmUuCgkgIFRoaXMgaXMgaW4gZmFjdCB2ZXJ5IGxvdyBvdmVyaGVhZCwgYXMgdGhlcmUgaXMgYSByZWxhdGl2ZWx5IHNtYWxsIG51bWJlciBvZgoJICBwaXhlbCBmb3JtYXQgc3VwcG9ydGVkIGJ5IGVhY2ggZGV2aWNlcy4KCjIwMTQtMDQtMTUgMTU6MDc6MjMgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9kZWMuaDoKCSAgdjRsMjogQWRkIGluaXRpYWwgc3VwcG9ydCBmb3IgYWxpZ25tZW50IGFuZCBjcm9wcGluZwoKMjAxNC0wMy0xMyAxOToyNDo1MSArMDEwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb2RlYy5jOgoJICB2NGwyb2JqZWN0OiBSZW5hbWUgc2V0dXBfZm9ybWF0KCkgbWV0aG9kIGludG8gYWNxdWlyZV9mb3JtYXQoKQoJICBUaGUgc2V0dXBfZm9ybWF0KCkgd2FzIGNvbmZ1c2luZyBzaW5jZSBpdCBkb2VzIG5vdCBzZXQgYW55dGhpbmcsIGluIGZhY3QKCSAgaXQgcmVhZHMgdGhlIHNldHVwIGZyb20gdGhlIGRyaXZlciBhbmQgc2F2ZSBpdC4KCjIwMTQtMDMtMTMgMTg6MjE6NDEgKzAxMDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogTW92ZSB0eXBlIGRlY2xhcmF0aW9uIHRvIHRoZSB0b3AKCjIwMTQtMDMtMTIgMTg6MDc6MzggKzAxMDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb2RlYy5jOgoJICB2NGwydmlkZW9kZWM6IFByb3RlY3QgTlVMTCBwb29sIHdoaWxlIGdvaW5nIHRvIFJFQURZCgkgIFdoZW4gdGhlIHBpcGVsaW5lIGZhaWxzIGVhcmx5LCB0aGUgcG9vbCBtaWdodCBiZSB1bnNldCBiZWZvcmUgdGhlIHByb2Nlc3NpbmcKCSAgdGhyZWFkIGhhcyBydW4gb25jZS4gQWRkIHByb3RlY3Rpb24gYWdhaW5zdCB0aGF0LgoKMjAxNC0wMy0xMiAxODowMTowOSArMDEwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBGYWlsIGNsZWFubHkgaWYgcGl4ZWwgZm9ybWF0IGlzIHVua293biBvciBub3QgcmF3IHZpZGVvCgkgIENlcnRhaW4gZGVjb2RlciBoYXMgYmVlbiBmb3VuZCB0byBub3QgY2hvb3NlIGEgZm9ybWF0IGF1dG9tYXRpY2FsbHkuIFJ1bm5pbmcKCSAgdjRsMnZpZGVvZGVjIG9uIHRoZXNlIHdvdWxkIGFzc2VydC4gVGhpcyBwYXRjaCB3aWxsIG1ha2UgaXQgZmFpbCBjbGVhbmx5CgkgIGluc3RlYWQuCgoyMDE0LTAzLTEyIDE3OjU2OjE4ICswMTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9kZWMuYzoKCSAgdjRsMnZpZGVvZGVjOiBDbGVhciB0aGUgaW5wdXQgc3RhdGUgcG9pbnRlciBhZnRlciB1bnJlZgoJICBJZiBjYXBzIGFyZSBzZXQgYWdhaW4sIHdlIGhhdmUgYSByaXNrIG9kIHJldHVybmluZyBmcm9tIHNldF9mb3JtYXQgd2l0aCBhCgkgIGlucHV0X3N0YXRlIHBvaW50aW5nIHRvIGRlYWQgbWVtb3J5LiBDbGVhcmluZyB0aGUgcG9pbnRlciBhZnRlciB1bnJlZiBmaXgKCSAgdGhpcyBpc3N1ZS4KCjIwMTQtMDMtMTIgMTc6MTE6MTYgKzAxMDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb2RlYy5jOgoJICB2NGwydmlkZW9kZWM6IGhhbmRsZSBzdG9wIGJlaW5nIGNhbGxlZCB3aXRob3V0IGZsdXNoCgkgIFVwcG9uIGNlcnRhaW4gZG93bnN0cmVhbSBlcnJvciwgc3RvcCgpIGlzIGNhbGxlZCB3aXRob3V0IGEgZmx1c2goKS4gVGhpcyBtZWFuIHRoYXQKCSAgdGhlIHN0cmVhbWluZyB0aHJlYWQgbWF5IHN0aWxsIGJlIHJ1bm5pbmcgZXZlbiB0aG91Z2ggdW5sb2NrIGhhcyBiZWVuIGNhbGxlZC4KCSAgTm93IGNhbGxpbmcgZmx1c2ggdG8gcmVzZXQgdGhlIGRlY29kZXIgc3RhdGUgaWYgd2UgYXJlIHByb2Nlc3NpbmcuCgoyMDE0LTAzLTA2IDE4OjEzOjE0IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9kZWMuYzoKCSAgdjRsMnZpZGVvZGVjOiBEZWZhdWx0IHRvIHRlbXBsYXRlIGluIGNhcHMgcXVlcnkKCjIwMTQtMDMtMTEgMTQ6MjM6MzIgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb2RlYy5jOgoJICB2NGwydmlkZW9kZWM6IEVuc3VyZSBwcm9jZXNzaW5nIHRocmVhZCBoYXMgc3RvcHBlZCB3aGVuIGRyYWluaW5nCgoyMDE0LTAzLTExIDE0OjAxOjI3IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9kZWMuYzoKCSAgdjRsMnZpZGVvZGVjOiBEb24ndCBkcmFpbiBpZiBwcm9jZXNzaW5nIHRocmVhZCBpcyBpbmFjdGl2ZQoKMjAxNC0wNS0wOCAwOTo0OToyNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXBodHRwc3JjOiBDbGVhbiB1cCBhbGwgcGVuZGluZyBvcGVyYXRpb25zIGZyb20gbGlic291cCBiZWZvcmUgdW5yZWZmaW5nIG91ciBjb250ZXh0CgkgIFdoZW4gd2UgY2FuY2VsIGNvbm5lY3Rpb24gYXR0ZW1wdHMgYW5kIHNpbWlsYXIgdGhpbmdzLCB0aGVyZSBhcmUgc3RpbGwKCSAgc29tZSBvcGVyYXRpb25zIHBlbmRpbmcgb24gb3VyIG1haW4gY29udGV4dCBmcm9tIHRoZSBHQ2FuY2VsbGFibGVzLiBXZQoJICBzaG91bGQgbGV0IHRoZW0gYWxsIHJ1biBiZWZvcmUgdW5yZWZmaW5nIG91ciBjb250ZXh0LCBvdGhlcndpc2Ugd2UgbGVhawoJICBmaWxlIGRlc2NyaXB0b3JzLgoJICBVbmZvcnR1bmF0ZWx5IHRoaXMgcmVxdWlyZXMgbGlic291cCAyLjQ3LjAgb3IgbmV3ZXIgYXMgZWFybGllciB2ZXJzaW9ucwoJICBzdGVhbCBvdXIgbWFpbiBjb250ZXh0IGZyb20gdXMgYW5kIHdlIGNhbid0IHVzZSBpdCBmb3IgY2xlYW51cCBsYXRlcgoJICB3aXRob3V0IGFzc2VydGlvbnMgYW5kIGZ1bm55IGNyYXNoZXMuCgkgIEJhc2VkIG9uIGEgcGF0Y2ggYnkgRG1pdHJ5IFNoYXRyb3YgPHNoYXRyb3ZAZ21haWwuY29tPi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2Mzk0NAoKMjAxNC0wNS0wNyAxNTo0OTozOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NvdXBodHRwc3JjLmM6CgkgIHRlc3RzOiBmaXggY29tcGlsYXRpb24gb2Ygc291cGh0dHBzcmMgdGVzdCBmb3IgbGlic291cCAyLjQwIGZvciByZWFsCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjczMjkKCjIwMTQtMDUtMDcgMTM6MjM6NTAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zb3VwaHR0cHNyYy5jOgoJICB0ZXN0czogZml4IGNvbXBpbGF0aW9uIG9mIHNvdXBodHRwc3JjIHRlc3QgZm9yIGxpYnNvdXAgMi40MAoJICBTT1VQX0NIRUNLX1ZFUlNJT04gd2FzIG9ubHkgYWRkZWQgaW4gMi40MSwgYnV0IHdlIG9ubHkKCSAgZGVwZW5kIG9uIDIuNDAuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjczMjkKCjIwMTQtMDUtMDcgMDA6NTg6MTUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IHNraXAgUElDVFVSRSBoZWFkZXJzIHdpdGhvdXQgYW55IGltYWdlIGRhdGEKCSAgRml4ZXMgd2FybmluZyBpZiB0aGUgaW1hZ2UgbGVuZ3RoIGlzIDAuCgoyMDE0LTA1LTA2IDA5OjIyOjE4ICswMDAwICDQoNGD0YHQu9Cw0L0g0JjQttCx0YPQu9Cw0YLQvtCyIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiB1c2UgWDExIGRldGVjdGlvbiBtYWNybyBmcm9tIGNvbW1vbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI5NjIxCgoyMDE0LTA0LTMwIDExOjEzOjEyICswMjAwICBHdWlsbGF1bWUgRGVzbW90dGVzIDxndWlsbGF1bWUuZGVzbW90dGVzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvUkVBRE1FOgoJICBydHAvUkVBRE1FOiB1cGRhdGUgcGlwZWxpbmVzIHRvIHdvcmsgd2l0aCAxLjAKCSAgLSBVc2UgZ3N0LWxpYmF2IGVuY29kZXJzL2RlY29kZXJzIGluc3RlYWQgb2YgZ3N0LWZmbXBlZwoJICAtIGdzdHJ0cGppdHRlcmJ1ZmZlciAtPiBydHBqaXR0ZXJidWZmZXIKCSAgLSBnc3QtbGF1bmNoLTAuMTAgLT4gZ3N0LWxhdW5jaC0xLjAKCSAgLSBBZGQgJ3ZpZGVvY29udmVydCcgZWxlbWVudAoJICAtIHh2aW1hZ2VzaW5rIC0+IGF1dG92aWRlb3NpbmsKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyOTI0NwoKMjAxNC0wNS0wNSAxNDo0MTowNSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS5jOgoJICBtYXRyb3NrYTogcmVqaWcgdGVzdCB0byBhdm9pZCB1bmRlZmluZWQgc2hpZnQgYmVoYXZpb3IKCSAgQ292ZXJpdHkgMTE5NTEyMSwgMTE5NTEyMAoKMjAxNC0wNS0wNSAxNDozMzozOCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnB4L2dzdHZwOWVuYy5jOgoJICB2cDllbmM6IGRvIG5vdCBkZXJlZmVyZW5jZSBOVUxMIHBvaW50ZXIKCSAgQ292ZXJpdHkgMTE5NzcwMwoKMjAxNC0wNS0wNSAxNDozMjowNiArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBlbnN1cmUgd2UgZG9uJ3QgZGVyZWZlcmVuY2UgYSBOVUxMIHBvaW50ZXIKCSAgd2hpbGUgd29ya2luZyBvdXQgdGhlIGNvZGVjIElELgoJICBDb3Zlcml0eSAxMTk1MTQ4CgoyMDE0LTA1LTA1IDEyOjA3OjI1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMi5jOgoJICB2NGwyOiBtaW5vciBmaXggZm9yIGNsb3NpbmcgdGhlIGZkCgkgIFRoZSBmZCByZXR1cm5lZCBieSBvcGVuKCkgY291bGQgdGhlb3JldGljYWxseSBiZSAwIGFzIHdlbGwuCgkgIENvdmVyaXR5IENJRCAxMjExODIzLgoKMjAxNC0wNS0wNCAyMDoyMzoyOSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAb2NyZXRlLmNhPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwYXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cHJ0eC5jOgoJICBydHBhdXgvcnRwcnR4OiBNYWtlIHRlc3RzIG5vbi1yYWN5CgkgIEZpeCB0aGUgcmFjaW5lc3MgYnkgaXRlcmF0aW5nIG9uIGEgY29uZGl0aW9uIGluc3RlYWQgb2YgdXNpbmcgdGhlIGdtYWlubG9vcC4KCSAgRG9uJ3QgdXNlIHRoZSBFT1MgYXMgdGhlIHRhcmdldCwgb3RoZXJ3aXNlIHRoZSByZXRyYW5zbWlzc2lvbiBvZiB0aGUgbGFzdAoJICBwYWNrZXRzIGFyZSBsb3N0LiBBbHNvIGNvdW50IHRoZSByZXRyYW5taXNzaW9ucyByZXF1ZXN0cyB0aGF0IGFyZSBkcm9wcGVkLgoJICBDaGVjayB0aGUgY29uZGl0aW9uIGJlZm9yZSBibG9ja2luZyBvbiB0aGUgR0NvbmQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyODUwMQoKMjAxNC0wNS0wNCAyMjozMjo1NCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAb2NyZXRlLmNhPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcnR4cmVjZWl2ZS5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhyZWNlaXZlLmg6CgkgIHJ0cHJ0eHJlY2VpdmU6IFdhaXQgdW50aWwgdGltZW91dCB0byBjbGVhciBhc3NvY2lhdGlvbiByZXF1ZXN0cwoJICBJZiB0d28gc3RyZWFtcyByZXF1ZXN0IGEgcmV0cmFubWlzc2lvbiBmb3IgdGhlIHNhbWUgU1NSQywgaWdub3JlIHRoZSBzZWNvbmQKCSAgb25lIGlmIHRoZSBmaXJzdCBvZW4gaXMgbGVzcyB0aGFuIG9uZSBzZWNvbmQgb2xkLCBvdGhlcndpc2UgdGltZSBvdXQgdGhlIGZpcnN0CgkgIG9uZSBhbmQgaWdub3JlIHRoZSBzZWNvbmQuCgoyMDE0LTA1LTA0IDE4OjU5OjMzIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBvY3JldGUuY2E+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwbXV4LmM6CgkgIHJ0cG11eDogQWx3YXlzIGxldCB1cHN0cmVhbSBjaG9zZSB0aGUgc3NyYyBpZiBpdCB3aXNoZXMKCjIwMTQtMDUtMDQgMTM6Mzc6NDYgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1uYXV3QHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IGF2b2lkIHN0YWxsIGJ5IGNvcnJ1cHRlZCBzZXFudW0gYWNjb3VudGluZwoKMjAxNC0wNS0wNCAwMToxNDozMyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAb2NyZXRlLmNhPgoKCSogZXh0L3B1bHNlL3B1bHNlZGV2aWNlbW9uaXRvci5jOgoJKiBleHQvcHVsc2UvcHVsc2VkZXZpY2Vtb25pdG9yLmg6CgkgIHB1bHNlZGV2aWNlbW9uaXRvcjogSW5kZXggYXJlIHBlciBmYWNpbGl0eSwgbm90IGdsb2JhbAoJICBTbyBuZWVkIHRvIGtlZXAgdGhlIHR5cGUgb2YgZGV2aWNlIGluIHRoZSBkZXZpY2Ugb2JqZWN0CgoyMDE0LTA1LTA0IDAxOjEzOjI0IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBvY3JldGUuY2E+CgoJKiBleHQvcHVsc2UvcHVsc2VkZXZpY2Vtb25pdG9yLmM6CgkgIHB1bHNlZGV2aWNlbW9uaXRvcjogcGFfc3Vic2NyaXB0aW9uX2V2ZW50X3QgYXJlIGVudW1zLCBub3QgZmxhZ3MKCSAgQ292ZXJpdHkgMTE5NTEzMgoKMjAxNC0wNS0wMiAyMjo0Mjo1NCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyZGV2aWNlbW9uaXRvci5jOgoJICB2NGwyZGV2aWNlbW9uaXRvcjogUG9ydCB0byB1c2UgR3N0VjRsMkl0ZXJhdG9yCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjc5MjUKCjIwMTQtMDUtMDIgMjE6Mzg6MzAgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMi5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb2RlYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9kZWMuaDoKCSAgdjRsMjogVXNlIHNpbmdsZSBwYXNzIGl0ZXJhdG9yIGZvciBNMk0gcHJvYmUKCSAgSW5zdGVhZCBvZiBoYXZpbmcgZWFjaCBNMk0gY2xhc3MgZG8gdGhlaXIgb3duIHByb2JpbmcsIHVzZSB0aGUKCSAgR3N0VjRsMkl0ZXJhdG9yIGFuZCBwcm9iZSBhbGwgZGV2aWNlcyBpbiBhIHNpbmdsZSBwYXNzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI3OTI1CgoyMDE0LTA1LTAyIDE2OjU1OjA1IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9NYWtlZmlsZS5hbToKCSogc3lzL3Y0bDIvdjRsMi11dGlscy5jOgoJKiBzeXMvdjRsMi92NGwyLXV0aWxzLmg6CgkgIHY0bDI6IEFkZCBhIGNvbW1vbiBkZXZpY2UgZW51bWVyYXRvcgoJICBUaGlzIHdpbGwgYWxsb3cgcmVtb3ZpbmcgY29kZSBkdXBsaWNhdGlvbiAoaGVuY2UgYnVncyBkdXBsaWNhdGlvbikuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjc5MjUKCjIwMTQtMDMtMTYgMTE6Mzg6MDcgKzAxMDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb2RlYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9kZWMuaDoKCSAgdjRsMnZpZGVvZGVjOiBTaW1wbGlmeSBzdWItaW5zdGFuY2lhdGlvbiBtZWNoYW5pc20KCSAgU2ltcGxpZnkgc3ViLWluc3RhbmNpYXRpb24gYnkgZGVmaW5pbmcgYW4gYWJzcmFjdCB0eXBlIGFuZCB1c2luZyBzdWJ0eXBlCgkgIGNsYXNzIGFuZCBpbnN0YW5jZSBpbml0IGNhbGxiYWNrLiBUaGlzIGFsc28gZml4ZXMgYSBidWcgd2hlcmUgdGhlIHRlbXBsYXRlCgkgIHBhZHMgZ2V0IGluaXRpYWxpemVkIHRvbyBsYXRlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI3OTI1CgoyMDE0LTA1LTAyIDE4OjE4OjI2IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDIuYzoKCSAgdjRsMjogQ2xlYW51cCBwbHVnaW4gcmVnaXN0cmF0aW9uCgkgIFRoZXJlIGlzIG5vIHBsYW4gdG8gaW50cm9kdWNlIHNwZWNpYWwgc291cmNlcyBmb3IganBlZywgdGUgdjRsMnNyYyB3b3JrcyBmaW5lCgkgIGZvciB0aGlzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI3OTI1CgoyMDE0LTA1LTAzIDE4OjMwOjIwIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBvY3JldGUuY2E+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBjb2xsaXNpb24uYzoKCSAgcnRwc2Vzc2lvbjogS2VlcCBsb2NhbCBjb25mbGljdGluZyBhZGRyZXNzZXMgaW4gdGhlIHNlc3Npb24KCSAgQXMgd2Ugbm93IHJlcGxhY2UgdGhlIGxvY2FsIFJUUFNvdXJjZSBvbiBhIGNvbmZsaWN0LCBpdCdzIG5vIGxvbmdlciBwb3NzaWJsZQoJICB0byBrZWVwIGxvY2FsIGNvbmZsaWN0cyBpbiB0aGUgUlRQU291cmNlLCBzbyB0aGV5IGluc3RlYWQgbmVlZCB0byBiZSBrZXB0CgkgIGluIHRoZSBSVFBTZXNzaW9uLgoJICBBbHNvIGZpeCB0aGUgcnRwY29sbGlzaW9uIHRlc3QgdG8gZ2VuZXJhdGUgbXVsdGlwbGUgY29sbGlzaW9ucyBpbnN0ZWFkIG9mCgkgIG9uZSBieSBjaGFuZ2UgdGhlIGFkZHJlc3MsIGFzIG90aGVyd2lzZSB3ZSBkZXRlY3RlZCB0aGF0IGl0IHdhcyBhIHNpbmdsZSBvbmUuCgoyMDE0LTA1LTAzIDIwOjQ4OjMwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBCYWNrIHRvIGRldmVsb3BtZW50Cgo9PT0gcmVsZWFzZSAxLjMuMSA9PT0KCjIwMTQtMDUtMDMgMTg6MDI6MjMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuc2lnbmFsczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlzb21wNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZweC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogZ3N0LXBsdWdpbnMtZ29vZC5kb2FwOgoJKiBnc3QvYXVkaW9meC9hdWRpb3Bhbm9yYW1hb3JjLWRpc3QuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS1kaXN0LmM6CgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveG9yYy1kaXN0LmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXJvcmMtZGlzdC5jOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMS4zLjEKCjIwMTQtMDUtMDMgMTg6MDI6MDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lby5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2dsLnBvOgoJKiBwby9oci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMTQtMDUtMDMgMTc6MjI6NDUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NyLnBvOgoJKiBwby96aF9DTi5wbzoKCSAgcG86IFVwZGF0ZSB0cmFuc2xhdGlvbnMKCjIwMTQtMDUtMDMgMTE6NDM6MjEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zaGFwZXdpcGUuYzoKCSAgc2hhcGV3aXBlOiBTZW5kIGluaXRpYWwgZXZlbnRzIGFmdGVyIHNldHRpbmcgdGhlIGVsZW1lbnRzIHRvIFBMQVlJTkcKCSAgT3RoZXJ3aXNlIHdlIHNlbmQgdGhlbSB0b28gZWFybHksIGFuZCBzZXR0aW5nIHRoZSBlbGVtZW50cyB0byBQTEFZSU5HCgkgIGFmdGVyd2FyZHMgd2lsbCBkcm9wIGFsbCB0aGUgZXZlbnRzIGFnYWluLgoKMjAxNC0wNS0wMyAxMDoxNTowMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gYmNiMTUxOCB0byAyMTFmYTVmCgoyMDE0LTA1LTAyIDE3OjEyOjI5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2ltYWdlZnJlZXplL2dzdGltYWdlZnJlZXplLmM6CgkgIGltYWdlZnJlZXplOiBTZXQgc2VnbWVudCBwb3NpdGlvbiB0byB0aGUgc3RvcCBwb3NpdGlvbiBvZiB0aGUgYnVmZmVyCgoyMDE0LTA1LTAyIDE3OjEwOjE4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2ltYWdlZnJlZXplL2dzdGltYWdlZnJlZXplLmM6CgkgIGltYWdlZnJlZXplOiBQcm9wZXJseSByZXBvcnQgZXJyb3JzIGJlZm9yZSBzdG9wcGluZyB0aGUgc3JjcGFkIHRhc2sKCjIwMTQtMDUtMDIgMTc6MDI6MDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaW1hZ2VmcmVlemUvZ3N0aW1hZ2VmcmVlemUuYzoKCSAgaW1hZ2VmcmVlemU6IEVycm9yIG91dCBpZiB3ZSBoYXZlIG5vIGNhcHMgeWV0CgoyMDE0LTA1LTAyIDE0OjQ5OjI3ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICB3YXZwYXJzZTogYXZvaWQgZGl2aWRpbmcgYnkgYSAwIGJsb2NrYWxpZ24KCSAgVGhpcyBjYW4gYmUgMC4gSW4gdGhhdCBjYXNlLCBkbyBub3QgdHJ5IHRvIGN1dCBvZmYgdGhlIGxhc3QgZmV3CgkgIGJ5dGVzIGZyb20gdGhlIGxhc3QgYnVmZmVyLgoJICBDb3Zlcml0eSAxMTQ2OTcxCgoyMDE0LTA1LTAyIDE0OjI1OjAxICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IGRvIG5vdCB1c2UgdWluaXRpYWxpemVkIGNsdXQgb24gZXJyb3IKCSAgSWYgd2UncmUgbWlzc2luZyBwYXJ0IG9mIHRoZSBjbHV0LCBkbyBub3QgdHJ5IHRvIHVzZSBpdC4gSXQgc2VlbXMKCSAgdmVyeSBsaWtlbHkgdGhlIGJyZWFrIHdhcyBtZWFudCB0byBicmVhayBvdXQgb2YgdGhlIHN3aXRjaCByYXRoZXIKCSAgdGhhbiBmcm9tIHRoZSBsb29wLgoJICBDb3Zlcml0eSAxMTM5ODc4CgoyMDE0LTA1LTAyIDE0OjE4OjA4ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHgvZ3N0Zmx4ZGVjLmM6CgkgIGZseGRlYzogZml4IGludGVnZXIgb3ZlcmZsb3cKCSAgQ292ZXJpdHkgMTEzOTg1OQoKMjAxNC0wNS0wMiAxNDowOTowMiArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cHFkbWRlcGF5LmM6CgkgIHJ0cHFkbWRlcGF5OiByZW1vdmUgcG9pbnRsZXNzIGNoZWNrCgkgIEJlc2lkZXMsIHRoZSBwb2ludGVyIHdhcyBkZXJlZmVyZW5jZWQgZWFybGllciBhbnl3YXkuCgkgIENvdmVyaXR5IDExMzk4NTMKCjIwMTQtMDUtMDIgMTQ6MDY6MjUgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiByZW1vdmUgZHVwbGljYXRlIHRlc3QKCSAgaXRlbSB3YXMgZGVyZWZlcmVuY2UgcHJldmlvdXNseS4KCSAgV2hpbGUgdGhlcmUsIHJlb3JkZXIgc29tZSB0ZXN0IGZvciBmYXN0ZXIgZWFybHkgb3V0LgoJICBDb3Zlcml0eSAxMTM5ODQ0CgoyMDE0LTA1LTAyIDE0OjAyOjUyICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cHgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogZ3VhcmQgYWdhaW5zdCBOVUxMIHBvaW50ZXIgZGVyZWZlcmVuY2UKCSAgQ292ZXJpdHkgMTEzOTgzOAoKMjAxNC0wNS0wMiAxMzo1OTowNyArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkgIGZsYWNkZWM6IGZpeCB0aGVvcmV0aWNhbCBpbnRlZ2VyIG92ZXJmbG93CgkgIFRoaXMgY29kZSBpc24ndCBhY3R1YWxseSB1c2VkIGF0IHRoZSBtb21lbnQsIHVuc3VyZSBpZiBJIHNob3VsZAoJICBqdXN0IHJlbW92ZSBpdCBvciBub3QuLi4KCSAgQ292ZXJpdHkgMTEzOTgxMQoKMjAxNC0wNS0wMiAxMzozMzowMiArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS5jOgoJICBtYXRyb3NrYTogYmxpbmRseSBmaXggd3JpdGluZyB2YXJpYWJsZSBsZW5ndGggbmVnYXRpdmUgdmFsdWVzCgkgIFNwb3R0ZWQgd2hpbGUgZml4aW5nIHNvbWV0aGluZyBlbHNlIGluIHRoZSBhcmVhLgoJICBOb3RoaW5nIGNhbGxzIHRoaXMgd2l0aCBhIG5lZ2F0aXZlIHZhbHVlLgoKMjAxNC0wNS0wMiAxMzoyOTozMyArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS5jOgoJICBtYXRyb3NrYTogZG8gbm90IGxvc2UgdGhlIHRvcCBiaXRzIHdoZW4gd3JpdGluZyBhID4gMzIgYml0IHZhbHVlCgkgIENvdmVyaXR5IDExMzk4MDYKCjIwMTQtMDUtMDIgMTI6MTA6MjYgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmxpcC5jOgoJICB2aWRlb2ZsaXA6IGFkZCBtaXNzaW5nIGJyZWFrIGluIHN3aXRjaAoJICBDb3Zlcml0eSAxMTM5NzU1CgoyMDE0LTA1LTAyIDExOjM5OjM5ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5jOgoJICBtYXRyb3NrYTogZG8gbm90IHRyeSB0byBjYWxsIGdzdF9wYWRfcXVlcnlfZGVmYXVsdCBvbiBhIE5VTEwgcGFkCgkgIGdzdF9tYXRyb3NrYV9wYXJzZV9xdWVyeSBjYW4gYmUgY2FsbGVkIGV4cGxpY2l0ZWx5IHdpdGggYSBOVUxMIHBhZC4KCSAgSWYgd2UgcmVhY2ggdGhpcyBwb2ludCB3aXRoIGEgTlVMTCBwYWQsIGZhaWwgdGhlIHF1ZXJ5LgoJICBDb3Zlcml0eSAxMTM5NzE1CgoyMDE0LTA1LTAyIDExOjI4OjAxICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5jOgoJICBtYXRyb3NrYTogZG8gbm90IHJldHVybiBHU1RfRkxPV19PSyBpZiB3ZSBkaWQgbm90IGdldCBhIGJ1ZmZlcgoJICBDb3Zlcml0eSAxMTM5NzE0ICh3aGljaCB3aWxsIGxpa2VseSBjb21lIGJhY2sgaW4gYW5vdGhlciBndWlzZSwKCSAgYXMgdGhlIF9yZWFkX2luaXQgY2FsbCBjYW4gaGF2ZSBhIGZhaWxpbmcgX21hcCkKCjIwMTQtMDUtMDIgMTE6MjA6MzMgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuYzoKCSAgbWF0cm9za2E6IGNhdGNoIGZhaWx1cmUgdG8gbWFwIGJ1ZmZlcgoJICBBdm9pZHMgZGVyZWZlcmVuY2luZyBOVUxMLgoJICBDb3Zlcml0eSAxMTM5NzEyCgoyMDE0LTA1LTAyIDEwOjUyOjQ0ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkgIGF2aW11eDogcmVmdXNlIGNhcHMgd2l0aCBpbnZhbGlkIGZyYW1lcmF0ZQoJICBDb3Zlcml0eSAxMTM5NzAxCgoyMDE0LTA1LTAyIDEwOjIxOjA5ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGhhbmRsZSAwIHNpemUgcGFja2V0cyB3aXRob3V0IGRpdmlkaW5nIGJ5IDAKCSAgQ292ZXJpdHkgMTEzOTY5MQoKMjAxNC0wNS0wMiAwOTo0OTozMiArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZ3VhcmQgYWdhaW5zdCBpbnZhbGlkIGZyYW1lIHNpemUgdG8gYXZvaWQgZGl2aXNpb24gYnkgMAoJICBDb3Zlcml0eSAxMTM5NjkwCgoyMDE0LTA1LTAyIDA5OjQ5OjE3ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiB0cml2aWFsIHR5cG8gZml4CgoyMDE0LTA1LTAyIDA5OjQzOjU0ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOgoJICBzcGVleGRlYzogcmVtb3ZlIGRlYWQgY29kZQoJICBmcHAgY2FuIG5ldmVyIGVxdWFsIDAgaGVyZSwgb3IgdGhlIGxvb3Agd291bGQgbm90IGV4ZWN1dGUgYXQgYWxsLgoJICBaZXJvIGZwcCB3YXMgcG9zc2libGUgYmVmb3JlIGFzIHRoZSBsb29wIGNvbmRpdGlvbiB3YXMgYWxsb3dpbmcKCSAgaXQgc3BlY2lmaWNhbGx5LCBidXQgbm8gbW9yZS4KCSAgQ292ZXJpdHkgMTEzOTY4MQoKMjAxNC0wNS0wMiAwOTo0MToxOSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvb3NzNC9vc3M0LXByb3BlcnR5LXByb2JlLmM6CgkgIG9zczQ6IHJlbW92ZSBkZWFkIG1peGVyIGNvZGUKCSAgVGhpcyB3YXMgcGFydGx5IHJlbW92ZWQgaW4gdGhlIHBvcnQgdG8gMC4xMS4gSWYgc3RpbGwgbmVlZGVkLAoJICBpdCdzIHN0aWxsIHRoZXJlIGluIHRoZSBoaXN0b3J5LgoJICBDb3Zlcml0eSAxMTM5Njg3CgoyMDE0LTA1LTAyIDA5OjMzOjUxICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9vc3M0L29zczQtcHJvcGVydHktcHJvYmUuYzoKCSAgb3NzNDogZml4IGEgbWlzc2luZyB1bmxvY2sgYW5kIGEgcmV0dXJuLW9ubHktd2hlbi1hc3NlcnRpb25zLWVuYWJsZWQKCSAgU3BvdHRlZCBvbiB0aGUgc2lkZSB3aGlsZSBsb29raW5nIGF0IGFub3RoZXIgaXNzdWUuCgoyMDE0LTAzLTA3IDE3OjMxOjI5IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDI6IENvcnJlY3RseSBtYXAgUkdCMzIgZm9ybWF0CgkgIEluIHY0bDIgc3BlY2lmaWNhdGlvbiwgUkdCMzIgaGFzIHRoZSBhbHBoYSwgb3IgcGFkaW5nLCBmaXJzdCwgbm90IGxhc3QuCgkgIFNlZSBodHRwOi8vbGludXh0di5vcmcvZG93bmxvYWRzL3Y0bC1kdmItYXBpcy9wYWNrZWQtcmdiLmh0bWwgLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTQwOTQxCgoyMDE0LTA0LTMwIDE4OjA2OjQwICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSAgZmxhY2RlYzogcmVtb3ZlIGRlYWQgY29kZQoJICBGb3IgOCBiaXQgd2lkdGgsIHdlIGFsd2F5cyBoYXZlIGRlcHRoPT1nZGVwdGg9PXdpZHRoPT04LgoJICBDb3Zlcml0eSAxMTM5Njc4CgoyMDE0LTA0LTMwIDE3OjQ4OjUzICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSAgbXBlZ2F1ZGlvcGFyc2U6IHJlbW92ZSBkZWFkIGNvZGUKCSAgQSBzdHJpY2VyIGNoZWNrIGlzIGFscmVhZHkgZG9uZSBlYXJsaWVyLCBhbmQgaW50ZWdlciBvdmVyZmxvd3MKCSAgZG8gbm90IHNlZW0gcG9zc2libGUgaGVyZS4KCSAgQ292ZXJpdHkgMTEzOTY3NQoKMjAxNC0wNC0zMCAxNDo1MDo0NCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdwYXkuYzoKCSAgcnRwdnJhd3BheTogZ3VhcmQgYWdhaW5zdCBwYXRob2xvZ2ljYWwgIm5vIHNwYWNlIiBjb25kaXRpb24KCSAgRXZlbiBpZiBvbmUgd291bCBob3BlIG9uZSBwaXhlbCBjYW4gZml0IGluIGEgTVRVLCBlbnN1cmUgd2UgZG8gbm90CgkgIG92ZXJ3cml0ZSBhIGJ1ZmZlciBpZiB0aGlzIGlzIG5vdCB0aGUgY2FzZS4KCSAgU3BvdHRlZCB3aGlsZSBsb29raW5nIGF0IENvdmVyaXR5IDEyMDg3ODYKCjIwMTQtMDQtMzAgMTE6NTI6MTAgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBqcGVnZGVwYXkuYzoKCSAgcnRwanBlZ2RlcGF5OiBzYW5pdHkgY2hlY2sgZm9yIE5VTEwgcXRhYmxlCgkgIENhbiBoYXBwZW4gKGF0IGxlYXN0IGluIGNyYWZ0ZWQgc3RyZWFtKQoJICBDb3Zlcml0eSAxMjA4Nzc4CgoyMDE0LTA0LTMwIDAxOjA4OjQxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIHdhdnBhcnNlOiBwYXNzIG9uIHRhZ3MgZnJvbSB1cHN0cmVhbSBpZiB0aGVyZSBhcmUgYW55CgkgIERvbid0IGp1c3QgaWdub3JlIHVwc3RyZWFtIHRhZ3MgZnJvbSBlLmcuIGFuIElEMyB0YWcgYmVmb3JlCgkgIHRoZSAud2F2IGRhdGEsIHBhc3MgdGhlbSBvbiBkb3duc3RyZWFtLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI5MjIzCgoyMDE0LTA0LTI5IDE2OjI2OjUzICswMjAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IG9wdGltaXplIHRpbWVyIHVwZGF0ZQoJICBXaGVuIHdlIGFyZSBub3QgZG9pbmcgcmV0cmFuc21pc3Npb24sIHdlIGp1c3QgbmVlZCB0byBmaW5kIHRoZSBjdXJyZW50CgkgIHNlcW51bSBzbyB3ZSBjYW4gc3RvcCB3aGVuIHdlIGZvdW5kIGl0LgoKMjAxNC0wNC0yOSAxNjoyMTo0NCArMDIwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmg6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogc21hbGwgb3B0aW1pemF0aW9ucwoJICBTbWFsbCBvcHRpbWl6YXRpb25zIHdoZXJlIHdlIGNhbi4KCSAgQWRkIHNvbWUgbW9yZSBkZWJ1Zy4KCjIwMTQtMDQtMjkgMTY6MTY6MTcgKzAyMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogc2lnbmFsIHdoZW4gbmV4dF9zZXFudW0gY2hhbmdlZAoJICBTaWduYWwgdGhlIHB1c2hpbmcgdGhyZWFkIHdoZW4gdGhlIG5leHRfc2VxbnVtIGNoYW5nZWQgYW5kIHdlIG1pZ2h0IGJlCgkgIGFibGUgdG8gcHVzaCBhIGJ1ZmZlciBub3cuCgoyMDE0LTA0LTI5IDE2OjEyOjI5ICswMjAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IG9ubHkgc2lnbmFsIGV2ZW50IHdoZW4gaGVhZCBjaGFuZ2VkCgkgIEFmdGVyIGFkZGluZyBhIGJ1ZmZlciwgb25seSBzaWduYWwgdGhlIHB1c2hpbmcgdGhyZWFkIHdoZW4gdGhlIGhlYWQKCSAgYnVmZmVyIGNoYW5nZWQgb3IgZWxzZSB3ZSBjYXVzZSBhIHVzZWxlc3Mgd2FrZXVwLgoKMjAxNC0wNC0yOSAxNToyOTozMSArMDIwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmg6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogcmV3b3JrIHBhY2tldCBpbnNlcnQKCSAgUmV3b3JrIHRoZSBwYWNrZXQgcXVldWUgc28gdGhhdCB0aGUgbW9zdCBjb21tb24gYWN0aW9uIChpbnNlcnQgYSBwYWNrZXQKCSAgYXQgdGhlIHRhaWwgb2YgdGhlIHF1ZXVlKSBnb2VzIHZlcnkgZmFzdC4KCSAgUmVwb3J0IGlmIGEgcGFja2V0IHdhcyBpbnNlcnRlZCBhdCB0aGUgaGVhZCBpbnN0ZWFkIG9mIHRoZSB0YWlsIHNvIHRoYXQKCSAgd2UgY2FuIGtub3cgd2hlbiB0byByZXRyeSBfcG9wIG9yIF9wZWVrLgoKMjAxNC0wNC0yOCAxNDo0MToxMCArMDIwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdwYXkuYzoKCSAgcnRwdnJhdzogdXNlIHBsYW5lIHBvaW50ZXJzIHdoZW4gbmVlZGVkCgkgIFBhY2svdW5wYWNrIHBsYW5hciBmb3JtYXRzIHRvL2Zyb20gdGhlIGZpcnN0IHBsYW5lLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI5MDU4CgoyMDE0LTA0LTI4IDA5OjQ3OjEwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuaDoKCSAgc291cGh0dHBzcmM6IFJlbWVtYmVyIGlmIGEgcmVkaXJlY3QgaXMgcGVybWFuZW50IG9yIG5vdCBhbmQgc3RvcmUgaXQgaW4gdGhlIHF1ZXJ5CgoyMDE0LTA0LTI3IDIxOjU3OjMxIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nb29tL2NvbmZpZ19wYXJhbS5jOgoJICBnb29tOiBSZW1vdmUgZnJlbmNoIGNvbW1lbnQgc2F5aW5nIHRvIHByZWZpeCBmdW5jdGlvbnMKCSAgQWxsIG5vbi1zdGF0aWMgZnVuY3Rpb24gaW4gdGhpcyBmaWxlIGFyZSBhbHJlYWR5IHByZWZpeGVkIHdpdGggZ29vbV8uCgoyMDE0LTA0LTI4IDAwOjIwOjQ3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2dvb20vZmlsdGVycy5jOgoJICBnb29tOiBmaXggY29tcGlsYXRpb24gb24gaW9zLWFybTctMTAuOSBhbmQgb3N4LXg4Nl82NAoJICB1aW50IGlzIG5vdCBhIHN0YW5kYXJkIHR5cGUsIGFuZCB0aGUgcmVzdCBvZiB0aGUgY29kZSB1c2VzCgkgIFVpbnQgd2hpY2ggaXMgbG9jYWxseSB0eXBlZGVmZWQgdG8gdW5zaWduZWQgaW50LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI5MDY3CgoyMDE0LTA0LTI3IDE4OjI5OjExIC0wNDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZ3N0L2dvb20vZmlsdGVycy5jOgoJICBnb29tOiBmaXggdW5kZWZpbmVkIGJlaGF2aW91ciBvZiBsZWZ0LXNoaWZ0CgkgIERvbid0IGxlZnQtc2hpZnQgaW50byB0aGUgc2lnbiBiaXQsIHRoZSByZXN1bHQgaXMgdW5kZWZpbmVkIGFuZCBwb3RlbnRpYWxseQoJICBhbiBvdmVyZmxvdyBjb3VsZCBmbGlwIHRoZSBzaWduLgoKMjAxNC0wNC0yNiAyMDo1MTozNiAtMDQwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBjaGVjayByZXR1cm4gZnJvbSBxdF9kZW11eF92aWRlb19jYXBzCgkgIE5vdyBxdGRlbXV4X3ZpZGVvX2NhcHMoKSBjYW4gcmV0dXJuIE5VTEwuIFdlIG5lZWQgdG8gY2hlY2sgdGhpcyByZXR1cm4gYmVmb3JlCgkgIHVzaW5nIGl0J3MgdmFsdWUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjg5ODcKCjIwMTQtMDQtMjYgMjM6MzU6MTcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZHYvZ3N0ZHZkZWMuYzoKCSogZXh0L2R2L2dzdGR2ZGVtdXguYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6CgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2F2aS9nc3RhdmlzdWJ0aXRsZS5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bW9vdnJlY292ZXIuYzoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC1kb2MuYzoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmM6CgkqIGdzdC9ydHAvZ3N0cnRwTDE2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBMMTZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhYzNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFjM3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYW1ycGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYnZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGJ2cGF5LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcnR4cmVjZWl2ZS5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJKiBnc3QvcnRzcC9nc3RydHBkZWMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdGdhbW1hLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2JhbGFuY2UuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmxpcC5jOgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5jOgoJICBkb2NzOiByZW1vdmUgb3V0ZGF0ZWQgYW5kIHBvaW50bGVzcyAnTGFzdCByZXZpZXdlZCcgbGluZXMgZnJvbSBkb2NzCgkgIFRoZXkgYXJlIHZlcnkgY29uZnVzaW5nIGZvciBwZW9wbGUsIGFuZCBtb3JlIG9mdGVuIHRoYW4gbm90CgkgIGFsc28ganVzdCBub3QgdmVyeSBhY2N1cmF0ZS4gU2VlaW5nICdsYXN0IHJldmlld2VkOiAyMDA1JyBpbgoJICB5b3VyIGRvY3MgaXMgbm90IHZlcnkgY29uZmlkZW5jZS1pbnNwaXJpbmcuIExldCdzIGp1c3QgcmVtb3ZlCgkgIHRob3NlIGNvbW1lbnRzLgoKMjAxNC0wNC0yNSAxNzo1ODo0MiAtMDQwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBpbml0aWFsaXplIGNhcHMgcG9pbnRlciB0byBudWxsCgkgIE1ha2Ugc3VyZSB0aGUgY2FwcyBwb2ludGVyIHJldHVybnMgaW5pdGlhbGl6ZWQgd2hlbiB1c2luZyBpdCBpbgoJICBxdGRlbXV4X3BhcnNlX3RyZWUgKCkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjg5ODcKCjIwMTQtMDQtMjIgMTc6MDc6MzggKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogQ2xlYXIgbGFzdF9wdCBvbiBmbHVzaC1zdG9wLgoJICBPdGhlcndpc2UsIHdlIGRvbid0IHJlY2hlY2sgdGhlIGJ1ZmZlciBjYXBzIGZvciBjbG9jay1yYXRlCgkgIHByb3Blcmx5IG9uIHRoZSBuZXh0IGNoYWluLgoKMjAxNC0wNC0yMiAxNzoyOTowMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogRml4IGNvbXBpbGVyIHdhcm5pbmcKCSAgZ3N0ZGVpbnRlcmxhY2UuYzogSW4gZnVuY3Rpb24gJ2dzdF9kZWludGVybGFjZV9vdXRwdXRfZnJhbWUnOgoJICBnc3RkZWludGVybGFjZS5jOjE1Mzc6NTc6IGVycm9yOiAncGF0dGVybi5sZW5ndGgnIG1heSBiZSB1c2VkIHVuaW5pdGlhbGl6ZWQgaW4gdGhpcyBmdW5jdGlvbiBbLVdlcnJvcj1tYXliZS11bmluaXRpYWxpemVkXQoJICBUaGlzIGFjdHVhbGx5IGlzIGFsd2F5cyBpbml0aWFsaXplZCBiZWZvcmUgaXQgaXMgdXNlZCB0aGVyZSwgYnV0CgkgIGxldCdzIGp1c3Qgc2lsZW5jZSBnY2MgaGVyZS4KCjIwMTQtMDQtMjEgMTU6NTg6NDUgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogZml4IGJ1ZmZlciBsaXN0IGRyb3AgY2hlY2sKCSAgV2hpbGUgcG9ydGluZyB0byAwLjExLCB0aGUgY2hlY2sgd2FzIG1pc3Rha2VubHkgbWFkZSBjb25zdGFudCwKCSAgaW5zdGVhZCBvZiB0ZXN0aW5nIGZvciB0aGUgcmV0dXJuIHZhbHVlIG9mIHByb2Nlc3NfYnVmZmVyX2xvY2tlZC4KCSAgQ292ZXJpdHkgMTEzOTY2MwoKMjAxNC0wNC0yMSAxMzo0NDoxNSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSAgbWF0cm9za2E6IGZpeCBjb250ZW50IGVuY29kaW5nIHNjb3BlIHZhbGlkaXR5IGNoZWNrCgkgIEl0J3MgMyBiaXRzLCBhbmQgaHR0cDovL21hdHJvc2thLm9yZy90ZWNobmljYWwvc3BlY3MvaW5kZXguaHRtbAoJICBzYXlzIGl0IGNhbid0IGJlIDAuCgkgIENvdmVyaXR5IDExMzk2NjAKCjIwMTQtMDQtMjEgMTM6MzQ6MzcgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogZml4IFBBUiBmcmFjdGlvbiBzYW5pdHkgY2hlY2sKCSAgSXQgd2FzIGNoZWNraW5nIHBhcl9udW0gdHdpY2UsIGFuZCBuZXZlciBwYXJfZGVudW0uCgkgIENvdmVyaXR5IDExMzk2MzQKCjIwMTQtMDQtMjEgMTM6MzI6NDAgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSAgbXVsdGlpZHBzaW5rOiB3YXJuIHdoZW4gc2V0c29ja29wdCBmYWlscwoJICBUaGlzIGRvZXNuJ3Qgc2VlbSB0byBiZSBmYXRhbCwgYnV0IGl0J3MgZ29vZCB0byBsZXQgdGhlIHVzZXIga25vdwoJICBpbiB0aGUgbG9ncy4KCSAgQ292ZXJpdHkgMTEzOTYzMAoKMjAxNC0wNC0yMSAxMzoyNzoyNCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYzoKCSAgaW50ZXJsYWNlOiBjYXRjaCBmYWlsdXJlIHRvIGNyZWF0ZSBhdWRpbyBpbmZvIGZyb20gY2FwcwoJICBDb3Zlcml0eSAxMTM5NjI3LCAxMTM5NjI4CgoyMDE0LTAzLTEzIDA5OjM3OjQ4ICswMTAwICBHw7ZyYW4gSsO2bnNzb24gPGdvcmFuam5AYXhpcy5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSAgZ3N0cnRwaDI2NHBheTogUmVzZXQgc3BzIHBwcyB2YXJpYWJsZSB3aGVuIHN0YXRlIGNoYW5nZS4KCSAgUmVzZXQgbGFzdF9zcHNwcHMgYW5kIHNwcy9wcHMgYXJyYXlzICB3aGVuIHN0YXRlIHRyYW5zaXRpb24KCSAgR1NUX1NUQVRFX0NIQU5HRV9QQVVTRURfVE9fUkVBRFkuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjYwMTUKCjIwMTQtMDQtMTggMTE6MTE6MTQgKzAyMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuaDoKCSAgaml0dGVyYnVmZmVyOiBpbXByb3ZlIEVPUyBoYW5kbGluZwoJICBNYWtlIGEgbmV3IG1ldGhvZCB0byBkaXNhYmxlIHRoZSBqaXR0ZXJidWZmZXIgYnVmZmVyaW5nLgoJICBSZXdvcmsgdGhlIHVwZGF0ZV9lc3RpbWF0ZWRfZW9zKCkgbWV0aG9kLiBDYWxjdWxhdGUgaG93IG11Y2ggdGltZQoJICB0aGVyZSBpcyBsZWZ0IHRvIHBsYXkuIElmIHdlIGhhdmUgbGVzcyB0aGFuIHRoZSBkZWxheSBvZiB0aGUKCSAgaml0dGVyYnVmZmVyLCB3ZSBkaXNhYmxlZCBidWZmZXJpbmcgYmVjYXVzZSB3ZSBtaWdodCBuZXZlciBiZSBhYmxlIHRvCgkgIGZpbGwgdGhlIGNvbXBsZXRlIGppdHRlcmJ1ZmZlciBhZ2Fpbi4KCSAgSWYgd2UgcmVjZWl2ZSBhbiBFT1MgZXZlbnQsIGRpc2FibGUgYnVmZmVyaW5nLiBXZSB3aWxsIGRyYWluIHRoZQoJICBidWZmZXIgYW5kIGV2ZW50dWFsbHkgcHVzaCB0aGUgRU9TIGV2ZW50IG91dC4KCSAgV2hlbiB3ZSByZWFjaCB0aGUgZXN0aW1hdGVkIE5QVCB0aW1lb3V0IGFuZCB3ZSBkaWRuJ3QgcmVjZWl2ZSBhbiBFT1MKCSAgZXZlbnQsIG1ha2Ugb25lIGFuZCBxdWV1ZSBpdCBzbyB0aGF0IGl0IGNhbiBiZSBwdXNoZWQuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjgwMTcKCjIwMTQtMDQtMTggMTA6MjE6MjcgKzAyMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgcnRwc2Vzc2lvbjogc2VuZCByZWNvbmZpZ3VyZSB3aGVuIGludGVybmFsLXNzcmMgY2hhbmdlcwoJICBXaGVuIHRoZSBpbnRlcm5hbC1zc3JjIHByb3BlcnR5IGNoYW5nZXMsIHdlIHdhbnQgdG8gc2VuZCBhIHJlY29uZmlndXJlCgkgIHVwc3RyZWFtIHRvIG1ha2UgcGF5bG9hZGVycyB1c2UgdGhlIG5ldyBzdWdnZXN0ZWQgc3NyYy4KCSAgVXNpbmcgdGhlIGludGVybmFsLXNzcmMgcHJvcGVydHkgdG8gY2hhbmdlIHRoZSBTU1JDIG9mIGEgc3RyZWFtIGlzIG5vdCBhCgkgIGdvb2QgaWRlYSBhbmQgZG9lc24ndCB3b3JrIHdoZW4gdGhlcmUgYXJlIG11bHRpcGxlIHNlbmRlcnMsIHdlIHdhbnQgdG8KCSAgc2V0IHRoZSBTU1JDIGRpcmVjdGx5IG9uIHRoZSBwYXlsb2FkZXJzLiBUaGVyZWZvcmUsIGRlcHJlY2F0ZSB0aGlzCgkgIHByb3BlcnR5LgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI1MzYxCgoyMDE0LTA0LTE4IDA0OjIzOjI2ICswMjAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IGFzc3VtZSBhIGZ1bGwgYnVmZmVyIHdoZW4gZW9zCgkgIFJld29yayB0aGUgbG9naWMgdG8gbWFrZSBidWZmZXJpbmcgbWVzc2FnZXMgYSBsaXR0bGUsIG1ha2Ugc3VyZSB3ZQoJICBkb24ndCBtYWtlIHRoZSBzYW1lIG1lc3NhZ2UgbXVsdGlwbGUgdGltZXMuCgkgIENvbnNpZGVyIHRoZSBidWZmZXIgZnVsbCB3aGVuIEVPUyB3YXMgcmVjZWl2ZWQuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjgwMTcKCjIwMTQtMDQtMTcgMTg6MDc6MDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBydHguYzoKCSAgcnRwcnR4OiBEb24ndCBmb3JnZXQgdG8gdW5tYXAgcnRwIGJ1ZmZlciBpbiB0aGUgdGVzdAoKMjAxNC0wNC0xNyAxNzo1ODo1OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHNlbmQuYzoKCSAgcnRwcnR4c2VuZDogUmVxdWlyZSBjbG9jay1yYXRlIGluIHRoZSBjYXBzIGFuZCBoYW5kbGUgbm8gc3NyYyBpbiB0aGUgY2FwcyBwcm9wZXJseQoKMjAxNC0wNC0xNyAxNzo0MzoxMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cHJ0eC5jOgoJICBydHBydHg6IFByb3ZpZGUgYW4gc3NyYyBpbiB0aGUgdGVzdAoJICBBbmQgaW5jcmVhc2UgdGltZW91dCB0byBhbGxvdyBhbGwgdGVzdHMgdG8gcnVuIGluIHZhbGdyaW5kLgoKMjAxNC0wNC0xNyAxNzozMzo0NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogRml4IG1lbW9yeSBsZWFrcyBpbiB0ZXN0CgoyMDE0LTA0LTE3IDE3OjI2OjM2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogRml4IGh1bmRyZWRzIG9mIG1lbW9yeSBsZWFrcyBpbiB0aGUgdGVzdAoKMjAxNC0wNC0xNyAxNzowMDozNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IFVucmVmIGNsb2NrIGlkIHdoZW4gd2FpdGluZyBmb3IgdGhlIGNsb2NrIGlzIGludGVycnVwdGVkCgoyMDE0LTA0LTE3IDE2OjM5OjU5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwY29sbGlzaW9uLmM6CgkgIHJ0cGNvbGxpc2lvbjogRml4IG1lbW9yeSBsZWFrcyBpbiB1bml0IHRlc3QKCjIwMTQtMDQtMTYgMjE6NDA6NDUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICB2aWRlb21peGVyOiBuYW1lIGNvbGxlY3RwYWRzIG9iamVjdCBiYXNlZCBvbiB2aWRlb21peGVyIG5hbWUKCSAgTWFrZXMgaXQgZWFzaWVyIHRvIHRyYWNrIHRoaW5ncyBpbiBkZWJ1ZyBsb2dzIHdoZW4gdGhlcmUKCSAgYXJlIG11bHRpcGxlIG1peGVycyBhbmQgbXV4ZXJzLgoKMjAxNC0wNC0xNiAyMTozNzoxMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIHZpZGVvbWl4ZXI6IGJldHRlciBsb2dnaW5nIG9mIGluY29taW5nIGV2ZW50cwoJICBUaGUgcGFkIGFuZCBwYXJlbnQgbmFtZXMgYXJlIGFscmVhZHkgbG9nZ2VkIGFzIHBhcnQgb2YgbG9nZ2luZwoJICB0aGUgb2JqZWN0LiBJbnN0ZWFkIGxvZyB0aGUgZnVsbCBldmVudCBkZXRhaWxzLgoKMjAxNC0wNC0xNiAxOTowMzo0NyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvbWl4ZXIuYzoKCSAgdmlkZW9taXhlcjogRml4IG1lbW9yeSBsZWFrIGluIHVuaXQgdGVzdAoKMjAxNC0wNC0xNiAxODo0OTo0MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOgoJICBsZXZlbDogVXNlIHRoZSBjb3JyZWN0IG51bWJlciBvZiBzYW1wbGVzIHRvIGl0ZXJhdGUgb3ZlciB0aGUgaW5wdXQgYXJyYXkKCSAgRml4ZXMgaW52YWxpZCBtZW1vcnkgYWNjZXNzZXMgYW5kIGFjY2Vzc2VzIHRvIHVuaW5pdGlhbGlzZWQgZGF0YS4KCjIwMTQtMDQtMTYgMTg6MDA6NDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaWN5ZGVtdXgvZ3N0aWN5ZGVtdXguYzoKCSAgaWN5ZGVtdXg6IFVucmVmIGRyb3BwZWQgZXZlbnRzCgoyMDE0LTA0LTE2IDE3OjI5OjMwICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9lYm1sLXJlYWQuYzoKCSAgbWF0cm9za2E6IGZpeCBjaGVjayBmb3IgYW1vdW50IG9mIGRhdGEgdG8gcmVhZAoJICBIaXN0b3J5IHNob3dzIGxlbmd0aD09MCBzaG91bGQgc2V0IGRhdGEgdG8gTlVMTCBhbmQgcmV0dXJuLAoJICBzbyB3ZSBkbyB0aGF0IHRvbyBpbnN0ZWFkIG9mIHRyeWluZyB0byByZWFkIG5vdGhpbmcuCgkgIENvdmVyaXR5IDIwNjIwNQoKMjAxNC0wNC0xNiAxNzoyNTo0NCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IGZpeCBzaWduIGNvbXBhcmlzb24KCSAgaGlzdG9yeV9jb3VudCBpcyB1bnNpZ25lZCwgc28gdGhlIHdob2xlIGNvbXBhcmlzb24gd2lsbCBiZSBtYWRlCgkgIGFzIHVuc2lnbmVkLCBhbmQgZmFpbCB0byByZWplY3Qgd2hhdCBpdCB3YXMgbWVhbnQgdG8uCgkgIENvdmVyaXR5IDIwNjIwNAoKMjAxNC0wNC0xNiAxNzowNDo1MCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiByZW1vdmUgZGVhZCBjb2RlCgkgIHN1YiBtYXkgbm90IGJlIE5VTEwgaW4gdGhpcyBzd2l0Y2gsIHRoZXJlIGlzIGEgYmFpbCBvdXQganVzdAoJICBiZWZvcmUgaXQgaWYgc28uCgkgIENvdmVyaXR5IDIwNjA5OAoKMjAxNC0wNC0xNiAxNjo1OTo0MyArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IHJlbW92ZSBkZWFkIGNvZGUKCSAgVGhlIGJsb2NrX3NpemUgPT0gMCB3YXMgc2hvcnRjdXQgZWFybGllciwgYW5kIHRoZSB2YXJpYWJsZSBpcyBub3QKCSAgbW9kaWZpZWQgaW4gdGhlIG1lYW50aW1lLgoJICBDb3Zlcml0eSAyMDYwOTcKCjIwMTQtMDQtMTYgMTY6NTY6NTQgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9jb252ZXJ0LmM6CgkgIHZpZGVvbWl4ZXI6IHJlbW92ZSBkZWFkIGNvZGUKCSAgV2hpbGUgaXQgc2VlbXMgdG8ga2VlcCBhIGNvbXBpbGUgdGltZSBzZWxlY3Rpb24sIEkgdHJhY2VkIGl0CgkgIHRvIHNvbWUgY29kZSBjb3BpZWQgZnJvbSB2aWRlb2NvbnZlcnQsIHdoZXJlIGl0IHdhcyByZW1vdmVkLAoJICB3aXRoIHRoZSBmb2xsb3dpbmcgY29tbWVudDoKCSAgQWxzbyByZW1vdmUgdGhlIGhpZ2gtcXVhbGl0eSBJNDIwIHRvIEJHUkEgZmFzdC1wYXRoIGFzIGl0IG5lZWRzCgkgIHRoZSBzYW1lIGZpeCwgd2hpY2ggY2F1c2VzIGFuIGFkZGl0aW9uYWwgaW5zdHJ1Y3Rpb24sIHdoaWNoIGNhdXNlcwoJICBvcmMgdG8gZW1pdCBtb3JlIHRoYW4gOTYgdmFyaWFibGVzLCB3aGljaCB0aGVuIGp1c3QgY3Jhc2hlcy4KCSAgVGhpcyBjYW4gb25seSBiZSBmaXhlZCBpbiBvcmMgYnkgYnJlYWtpbmcgQUJJIGFuZCBhbGxvd2luZyBtb3JlCgkgIHZhcmlhYmxlcy4KCSAgVGh1cywgSSByZW1vdmUgaXQgaGVyZSBhcyB3ZWxsLgoJICBDb3Zlcml0eSAyMDYwNjQKCjIwMTQtMDQtMTYgMTY6NTA6MzAgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIGlzb21wNDogZml4IGluY29ycmVjdCBtYXNraW5nIGZvciBtdWx0aXBsZSB0YWdzCgkgIENvdmVyaXR5IDIwNjA1OAoKMjAxNC0wNC0xNiAxNjo0NTowOCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L2F0b21zLmM6CgkgIGlzb21wNDogZml4IHdyb25nIGF0b20gZmxhZ3Mgc2V0IHdoZW4gYWRkaW5nIHNhbXBsZXMKCSAgQ292ZXJpdHkgMjA2MDU3CgoyMDE0LTA0LTE2IDE2OjQwOjAyICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZnhiYXNlZmlyZmlsdGVyLmM6CgkgIGF1ZGlvZng6IGZpeCBjb21wYXJpc29uIG9mIGRlbHRhIHRpbWUgdG8gYSB0aHJlc2hvbGQKCSAgQ292ZXJpdHkgMjA2MDU1CgoyMDE0LTA0LTE2IDE2OjMyOjI2ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICB3YXZwYXJzZTogZG8gbm90IHJlbHkgb24gY2FsbCBmYWlsdXJlIGtlZXBpbmcgcmV0dXJuIGRhdGEgdW5tb2RpZmllZAoJICBUaGlzIGlzIGNsZWFyZXIgdGhpcyB3YXkgdG9vLgoJICBDb3Zlcml0eSAyMDYwMjkKCjIwMTQtMDQtMTYgMTY6Mjg6NDkgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9hdG9tc3JlY292ZXJ5LmM6CgkgIGlzb21wNDogY2F0Y2ggZnNlZWsgZXJyb3IKCSAgQ292ZXJpdHkgMjA2MDI4CgoyMDE0LTA0LTE2IDE2OjI1OjQ0ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvYXRvbXMuYzoKCSAgaXNvbXA0OiByZXBvcnQgZmFpbHVyZXMgdG8gY2FsbGVyCgkgIENvdmVyaXR5IDIwNjAyNwoKMjAxNC0wNC0xNiAxODowNTo0NiArMDIwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiByZWZ1c2Ugc2VyaWFsaWVkIHF1ZXJ5IHdoZW4gYnVmZmVyaW5nCgkgIFdoZW4gd2UgYXJlIGJ1ZmZlcmluZywgd2UgY2FuJ3QgYmxvY2sgYW5kIHdhaXQgZm9yIHRoZSBzZXJpYWxpemVkIHF1ZXJ5CgkgIHRvIGNvbXBsZXRlIGJlY2F1c2UgdGhlIGppdHRlcmJ1ZmZlciB3aWxsIG5vdCB0cnkgdG8gZm9yd2FyZCB0aGUgcXVlcnkKCSAgd2hpbGUgYnVmZmVyaW5nLiBJbnN0ZWFkLCBqdXN0IHJlZnVzZSB0aGUgcXVlcnkuCgoyMDE0LTA0LTE2IDE2OjUxOjE1ICswMjAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IGRvbid0IGZyZWUgdGhlIHNlcmlhbGl6ZWQgcXVlcnkKCSAgV2Ugc2hvdWxkIG5ldmVyIGZyZWUgYSBzZXJpYWxpemVkIHF1ZXJ5IGluIHRoZSBxdWV1ZSwgaXQgaXMgdGhlIHVwc3RyZWFtCgkgIGNhbGxlciB0aGF0IHdpbGwgZnJlZSBpdC4KCjIwMTQtMDQtMTYgMTc6MzU6NDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogRml4IG1lbW9yeSBsZWFrIGluIHRoZSB0ZXN0CgoyMDE0LTA0LTE2IDE3OjMzOjQ2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgdmlkZW9taXhlcjogQ3JlYXRlIGhhc2h0YWJsZSBvbmx5IHdoZW4gd2UgYWN0dWFsbHkgdXNlIGl0CgkgIEluIGVycm9yIGNhc2VzIHdlIHByZXZpb3VzbHkgcmV0dXJuZWQgd2l0aG91dCBmcmVlaW5nIGl0LgoKMjAxNC0wNC0xNiAxNzozMDo1OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIHZpZGVvbWl4ZXI6IENoYWluIHVwIHRvIHRoZSBwYXJlbnQgY2xhc3MnIGRpc3Bvc2UgZnVuY3Rpb24KCjIwMTQtMDQtMTYgMTc6MjM6MjcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9kZWMuYzoKCSAgdjRsMnZpZGVvZGVjOiBJbml0aWFsaXNlIGlvY3RsIHN0cnVjdCB3aXRoIHplcm9lcyBiZWZvcmUgcGFzc2luZyBpdCB0byBpb2N0bCgpCgoyMDE0LTA0LTE2IDEzOjQ3OjQzICswMjAwICBNYXJjIExlZW1hbiA8bWFyYy5sZWVtYW5AZ21haWwuY29tPgoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgdWRwc3JjOiBjb3JyZWN0IExPRyBtc2cgZm9yIC0xCgkgIFNpZ25lZC1vZmYtYnk6IE1hcmMgTGVlbWFuIDxtYXJjLmxlZW1hbkBnbWFpbC5jb20+CgoyMDE0LTA0LTE1IDIxOjM2OjMwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOgoJICBpbnRlcmxlYXZlOiBGaXggbmVnb3RpYXRpb24gdG8gd29yayBhdCBhbGwgYWdhaW4KCSAgVGhlIGNhcHMgcXVlcnkgaGFuZGxpbmcgZnVuY3Rpb24gZm9yIHRoZSBzaW5rcGFkcyB3YXMgY2FsbGVkIGZvcgoJICB0aGUgc3JjcGFkLCBhbmQgdGhlIHNpbmtwYWRzIGhhZCBub25lLiBUaGlzIGNvbW1pdCBtb3ZlcyBpdCB0byB0aGUKCSAgcmlnaHQgcGFkLCBidXQgbm9uZXRoZWxlc3MgdGhlIG5lZ290aWF0aW9uIHN0aWxsIGxvb2tzIHdyb25nLgoJICBUaGlzIG1ha2VzIHRoZSB0ZXN0IHBhc3MgYWdhaW4gYWZ0ZXIgdGhlIHJlY2VudCBjb3Zlcml0eSBmaXgKCSAgYW5kIGFsc28gYWxsb3dzIGludGVybGVhdmUgdG8gd29yayBhZ2FpbiwgYnV0IHNvbWVvbmUgc2hvdWxkCgkgIHJlYWxseSByZXZpZXcgdGhlIG5lZ290aWF0aW9uIGNvZGUgYW5kIGZpeCBpdC4KCjIwMTQtMDQtMTMgMDk6MDM6NDEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogc3lzL29zczQvb3NzNC1hdWRpby5jOgoJICBvc3M0OiBNYXhpbXVtIG51bWJlciBvZiBjaGFubmVscyBzdXBwb3J0IGlzIDgKCSAgQXZvaWRzIGRvaW5nIHBvdGVudGlhbCBvdmVyd3JpdGVzIGluIGNoX2xheW91dCAod2hpY2ggb25seSBoYXMgOAoJICBmaWVsZHMpLgoJICBDSUQgIzExMzk4MjYKCjIwMTQtMDQtMTIgMjI6MTY6MzcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIG9zeHZpZGVvc2luazogU2V0IHJhbmsgdG8gTUFSR0lOQUwKCSAgSWYgYXZhaWxhYmxlIHdlIHByZWZlciB1c2luZyBnbGltYWdlc2luayBvdmVyIG9zeHZpZGVvc2luay4gSXQgc3VwcG9ydHMKCSAgbW9yZSBmb3JtYXRzIGFuZCBpbiBnZW5lcmFsIGhhcyBtb3JlIGZlYXR1cmVzIHRoYW4gb3N4dmlkZW9zaW5rLgoKMjAxNC0wNC0xMSAxODoxOTo0OSArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSAgcnRwaDI2NGRlcGF5OiBvbmx5IGd1ZXNzIEFVIGJvdW5kYXJpZXMgd2hlbiBhcmVuJ3QgaW5kaWNhdGVkIGJ5IG1hcmtlcgoJICBUaGUgbWFya2VyIGJpdCBpc24ndCBtYW5kYXRvcnkgYW5kIHdlIGhhZCBpbiBwbGFjZSBjb2RlIHRvIGd1ZXNzIEFVCgkgIGJvdW5kYXJpZXMgYnkgZGV0ZWN0aW5nIGEgbmV3IHBpY3R1cmUgc3RhcnQuIFRoaXMgZ3Vlc3NpbmcgY29kZQoJICBkaWRuJ3Qgd29yayB3aXRoIGludGVybGFjZWQgY29udGVudCB0aGF0IGhhcyBwcm9wZXIgbWFya2VyIGJpdHMKCSAgdG8gaW5kaWNhdGUgdGhlIEFVIGJvdW5kYXJpZXMuIEl0IHdhcyBsZWFraW5nIHRoZSBmaXJzdCBmaWVsZCBidWZmZXIKCSAgYW5kIHByb2R1Y2luZyBhIGNvcnJ1cHRlZCBvdXRwdXQuCgkgIGZpeGVzOiBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI4MDQxCgoyMDE0LTA0LTEwIDEwOjM4OjE5IC0wMzAwICBSYWZhxYIgTXXFvHnFgm8gPGdhbHRnZW5kb0BvMi5wbD4KCgkqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6CgkgIHBuZ2RlYzogZW5hYmxlIGxpYnBuZyBpbnRlcmxhY2VkIHBpY3R1cmUgaGFuZGxpbmcKCSAgTWFrZXMgbGlicG5nIGRlaW50ZXJsYWNlIEFkYW03IGludGVybGFjZWQgcGljdHVyZXMKCSAgYnkgZGVmYXVsdC4gSXQgaXMgdGhlIG9ubHkgaW50ZXJsYWNlZCBmb3JtYXQgYXZhaWxhYmxlCgkgIGFuZCBpZiB0aGUgcGljdHVyZSBpc24ndCBpbnRlcmxhY2VkIHRoZSBjb2RlIHNob3VsZCBiZWhhdmUKCSAgYXMgYmVmb3JlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI2MTYxCgoyMDE0LTA0LTExIDEzOjI3OjQyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cGh0dHBzcmM6IE9ubHkga2VlcC1hbGl2ZSB0aGUgY29ubmVjdGlvbiBpbiBzdG9wKCkgaWYgd2UgaGF2ZSBmaW5pc2hlZCBhbGwgcHJldmlvdXMgbWVzc2FnZXMKCSAgQWZ0ZXIgY2FuY2VsbGluZyBhIHJlcXVlc3Qgd2UgbmVlZCB0byBjcmVhdGUgYSBuZXcgY29ubmVjdGlvbi4KCjIwMTQtMDQtMTEgMTE6NTQ6MTIgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBleHQvZHYvZ3N0ZHZkZWMuYzoKCSAgZHZkZWM6IERvbid0IHNldCBib2d1cyB0aW1lc3RhbXAvZHVyYXRpb24KCSAgVGhpcyB3aWxsIGhhcHBlbiBpZiB3ZSBoYXZlIGFuIGluY29taW5nIHN0cmVhbSB3aXRoIGEgbm9uLVRJTUUgc2VnbWVudAoJICBDb3VsZCBiZSBpbXByb3ZlZCBsYXRlciB0byBmaWd1cmUgb3V0IHByb3BlciBwdHMvZHVyYXRpb24uCgkgIENJRCAjMTE5OTcwMgoJICBDSUQgIzExOTk3MDMKCjIwMTQtMDQtMTEgMTE6NTM6NDIgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBleHQvZHYvZ3N0ZHZkZWMuYzoKCSAgZHZkZWM6IFByb3Blcmx5IHJlZnVzZSBpbmNvbWluZyBzdHJlYW0gd2l0aG91dCBmcmFtZXJhdGUKCSAgVGhlIHJldHVybiB2YWx1ZSB3YXNuJ3QgcHJvcGVybHkgcHJvcGFnYXRlZCBiYWNrIGlmIHRoZSBjYXBzCgkgIGRpZG4ndCBjb250YWluIGEgZnJhbWVyYXRlCgoyMDE0LTA0LTEwIDE2OjM1OjI4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cGh0dHBzcmM6IEFsc28gcmV0cnkgb24gdW5leHBlY3RlZCBuZXR3b3JrIGZhaWx1cmVzCgoyMDE0LTA0LTEwIDE1OjQ1OjQxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuaDoKCSAgc291cGh0dHBzcmM6IE5ldyBwcm9wZXJ0eSB0byBzcGVjaWZ5IHRoZSBtYXhpbXVtIG51bWJlciBvZiByZXRyaWVzIGJlZm9yZSB3ZSBnaXZlIHVwCgoyMDE0LTAzLTEzIDEwOjU2OjExICswMTAwICBBbGV4YW5kZXIgWmFsbGVzb3YgPHphbGxlc292QGdtYWlsLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXBodHRwc3JjOiBDaGFuZ2UgZGVmYXVsdCB0aW1lb3V0IHRvIDE1IHNlY29uZHMKCSAgSWYgbm90aGluZyBoYXBwZW5zIGFmdGVyIDE1IHNlY29uZHMsIGNoYW5jZXMgYXJlIGdvb2QgdGhhdAoJICBvdXIgY29ubmVjdGlvbiB3aWxsIG5ldmVyIHdpbGwgd29yay4gU3RvcCBhZnRlciAxNSBzZWNvbmRzCgkgIGluc3RlYWQgb2Ygd2FpdGluZyB1bnRpbCB0aGUgc3lzdGVtJ3MgZGVmYXVsdCB0aW1lb3V0LCB3aGljaAoJICBjYW4gYmUgPiAxIG1pbnV0ZS4KCjIwMTQtMDQtMDkgMTc6MzA6NTQgKzA5MDAgIEppbW15IE9obiA8eW9uZ2ppbi5vaG5AbGdlLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiByZXBsYWNlIGR1cGxpY2F0ZWQgdmFyaWFibGUgd2hlbiBwYXJzaW5nIHRyZXggYXRvbQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI3ODc4CgoyMDE0LTA0LTA5IDEwOjU2OjI5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cGh0dHBzcmM6IFVzZSBHU1RfRkxPV19GTFVTSElORyB3aGVuIGZsdXNoaW5nLCBub3QgR1NUX0ZMT1dfRU9TCgkgIC4uLiBhbmQgcmVzZXQgaXQgcHJvcGVybHkgYWZ0ZXIgZmx1c2hpbmcgaXMgZG9uZS4gRml4ZXMgcGxheWJhY2sKCSAgaW4gbWFueSBjYXNlcyB3aGVuIGJ1ZmZlcmluZyBpcyB1c2VkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI3ODIxCgoyMDE0LTA0LTA5IDA4OjU4OjA0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IFByb3Blcmx5IHJldHVybiBzdHJlYW0gZmxhZ3Mgd2hlbiBwYXJzaW5nIHRyZXggYXRvbQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI3ODY3CgoyMDE0LTAzLTE5IDE5OjE4OjExICswMDAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBjb2xsYWJvcmEuY29tPgoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5oOgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIG9zeHZpZGVvc2luazogdXNlIHRoZSB2aWRlbyBmcmFtZSBBUEkgaW5zdGVhZCBvZiB0aGUgdmlkZW8gbWV0YSBBUEkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNjczOAoKMjAxNC0wMy0xOSAxODo0NzozOSArMDAwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AY29sbGFib3JhLmNvbT4KCgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgb3N4dmlkZW9zaW5rOiBhZHZlcnRpemUgdmlkZW8gbWV0YSBBUEkgc3VwcG9ydAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI2NzM3CgoyMDE0LTA0LTA4IDExOjMxOjA2ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzoKCSAgaW50ZXJsZWF2ZTogQWRkIG1pc3NpbmcgYnJlYWsgaW4gc3dpdGNoIHN0YXRlbWVudAoJICBUaGUgY2FwcyBxdWVyeSBpcyBoYW5kbGVkIGVudGlyZWx5IGFscmVhZHkgYmVmb3JlLgoJICBDSUQgIzExMzk3NTcKCjIwMTQtMDQtMDYgMTg6MDM6MTEgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHIudmVyZGVqb0BzaXNhLnNhbXN1bmcuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc291cGh0dHBzcmMuYzoKCSAgdGVzdHM6IHNvdXBodHRwc3JjOiB1c2UgU291cEtub3duU3RhdHVzQ29kZSBpZiBuZWVkZWQKCSAgRnJvbSBsaWJzb3VwIGRvY3M6CgkgIFByaW9yIHRvIDIuNDQgU291cFN0YXR1cyB3YXMgY2FsbGVkIFNvdXBLbm93blN0YXR1c0NvZGUsCgkgIGJ1dCB0aGUgaW5kaXZpZHVhbCB2YWx1ZXMgaGF2ZSBhbHdheXMgaGFkIHRoZSBuYW1lcyB0aGV5CgkgIGhhdmUgbm93LgoJICBGaXhlczoKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNzMyOQoKMjAxNC0wNC0wNyAxMjo1ODoyMyArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiB1c2UgZnJhbWVzLCBub3QgYnl0ZXMsIGZvciBwb3NpdGlvbiBxdWVyeSBpbiBWQlIgc3RyZWFtcwoJICBDb3Zlcml0eSAxMTM5NjQ4CgoyMDE0LTA0LTA3IDEyOjQyOjE0ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zbXB0ZS9nc3RzbXB0ZS5jOgoJICBzbXB0ZTogZml4IGNvcHkvcGFzdGUgZXJyb3IgY2F1c2luZyB1bm1hcCBvbiB3cm9uZyBidWZmZXIKCSAgQ292ZXJpdHkgMTEzOTY0NwoKMjAxNC0wNC0wNyAxMjoxNjoxNyArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IGd1YXJkIGFnYWluc3QgZmluZGluZyBubyBzdWl0YWJsZSBwYXR0ZXJuCgkgIFRoZSBjb2RlIGhhbmRsZXMgYSAtMSBwYXR0ZXJuIGluZGV4LCBhbmQgaXQgc2VlbXMgcGxhdXNpYmxlCgkgIHRoYXQgYSBwYXR0ZXJuIG1pZ2h0IGJlIGZvdW5kIGxhdGVyLCBzbyBpdCBzZWVtcyBiZXN0IHRvIG5vdAoJICBzZW5kIGFuIGVsZW1lbnQgZXJyb3IgaGVyZS4KCSAgQ292ZXJpdHkgMTEzOTc2NgoKMjAxNC0wNC0wNCAxNzozODoxNCArMDIwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IHVwZGF0ZSBmb3IgbmV3IE1JS0VZIEFQSQoKMjAxNC0wNC0wMyAxNzo0MDowMSArMDIwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgcnRzcHNyYzogc2VuZCBzZW5kZXIgU1NSQyBpbiB0aGUgTUlLRVkgbWVzc2FnZQoJICBBbGxvY2F0ZSBhIG5ldyBTU1JDIGZvciBvdXIgUlRDUCBtZXNzYWdlcyBiYWNrIHRvIHRoZSBzZXJ2ZXIgYW5kIHNldAoJICB0aGlzIGluIHRoZSBNSUtFWSBtZXNzYWdlLgoKMjAxNC0wNC0wMyAxNzozOTozMCArMDIwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IG1ha2UgcmFuZG9tIG51bWJlciBmb3IgdGhlIENTQgoJICBBcyByZWNvbW1lbmRlZCBpbiB0aGUgUkZDCgoyMDE0LTAzLTI2IDEyOjEwOjQ0ICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogZG9uJ3QgcHV0IHNwYWNlcyBpbiBrZXltZ210IGhlYWRlcgoKMjAxNC0wMy0yNSAxNzo0Nzo0OSArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgcnRzcHNyYzogY3JlYXRlIGFuZCBzZW5kIHRoZSBSVENQIGVuY3J5cHRpb24ga2V5CgkgIENyZWF0ZSBhbmQgbWFrZSBhIGtleSBmb3IgZW5jcnlwdGluZyB0aGUgUlRDUCBwYWNrZXRzIGJhY2sgdG8gdGhlIHNlcnZlcgoJICBhbmQgd3JhcCB0aGlzIGluIGEgTUlLRVkgbWVzc2FnZSB0aGF0IHdlIHNlbmQgYXMgYSBoZWFkZXIgaW4gdGhlIFNFVFVQCgkgIHJlcXVlc3QuCgoyMDE0LTA0LTAzIDEyOjE4OjM5ICswMjAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogZnJlZSB0aGUgc3J0cGRlYyBlbGVtZW50CgoyMDE0LTA0LTAzIDEyOjE2OjI1ICswMjAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogY2xlYW51cCBzdHJlYW1fZnJlZSBmdW5jdGlvbgoJICBUaGVyZSBpcyBubyByZWFzb24gdG8gTlVMTCBhbGwgZmllbGRzLCB3ZSB3aWxsIGZyZWUgdGhlIHN0cmVhbSBhbnl3YXkuCgoyMDE0LTA0LTAzIDEyOjA3OjMxICswMjAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IGRlbW90ZSB3YXJuaW5nIHRvIGRlYnVnCgkgIEZvciBUQ1AsIGl0IGlzIG5vcm1hbCB0aGF0IHdlIGRvbid0IGhhdmUgdGltZXN0YW1wcyBzbyBkb24ndCBXQVJOIG9uCgkgIGl0LgoKMjAxNC0wMy0yOSAxOToxMzowNiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIHY0bDI6IEZpeCBzdXBwb3J0IGZvciBjYXBzIHdpdGhvdXQgd2lkdGgsIGhlaWdodCwgZnJhbWVyYXRlIG9yIGZvcm1hdAoJICBGb3IgZm9ybWF0IGxpa2UgbXBlZ3RzLCB3aWR0aCBhbmQgaGVpZ2h0IGlzIHJhcmVseSBpbiB0aGUgbmVnb3RpYXRlZCBjYXBzLiBUaGlzCgkgIHBhdGNoIGZpeGVzIGZhaWx1cmUgd2hlbiBzZXR0aW5nIGZvcm1hdCwgYW5kIHByZXZlbnQgaW50cm9kdWNpbmcgd2lkdGgsIGhlaWdodCwKCSAgZnJhbWVyYXRlIGFuZCBmb3JtYXQgdG8gdGhlIGNhcHMgd2hlbiBmaXhhdGluZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNTg2MAoKMjAxNC0wMy0zMSAxODozNDoxMyArMDIwMCAgVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAZ25vbWUub3JnPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4Lmg6CgkgIGF2aWRlbXV4OiBBbHdheXMgc2V0IFBUUz1EVFMgb24gcmF3IHZpZGVvIHN0cmVhbXMKCjIwMTQtMDMtMzEgMTg6MzE6MjIgKzAyMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGdub21lLm9yZz4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IEFsd2F5cyBzZXQgcGl4ZWwtYXNwZWN0LXJhdGlvIG9uIHJhdyB2aWRlbyBzdHJlYW1zCgkgIFRoYXQgZmllbGQgaXMgbWFuZGF0b3J5IGluIGNhcHMgYW5kIGlmIGl0IGlzIG5vdCBwcmVzZW50IGluIHRoZQoJICBBVkkgY29udGFpbmVyLCBpdCBtZWFucyBzcXVhcmUgcGl4ZWxzIHRodXMgMS8xLgoKMjAxNC0wMy0zMCAwMDozNTowNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2EtbXV4OiBhZGQgbWFwcGluZyBmb3IgT3B1cyBhdWRpbwoJICBNaWdodCB3YW50IHRvIGNvbnNpZGVyIGFkZGluZyBjaGFubmVscy9yYXRlCgkgIHJlcXVpcmVtZW50IHRvIHRlbXBsYXRlIGNhcHMsIGJ1dCByZXF1aXJlcwoJICBmaXhpbmcgdXAgb2YgZW5jb2RlciBhbmQgcGFyc2VyIGZpcnN0LgoKMjAxNC0wMy0zMCAwMDozMToxMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmg6CgkgIG1hdHJvc2thLWRlbXV4OiBhZGQgbWFwcGluZyBmb3IgT3B1cyBhdWRpbyBjb2RlYwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI3MzA1CgoyMDE0LTAzLTI5IDE3OjIxOjE3IC0wNDAwICBXaWxsaWFtIE1hbmxleSA8d2lsbEB3aWxsaWFtbWFubGV5Lm5ldD4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMnNyYzogRml4IHN1cHBvcnQgZm9yIG1wZWd0cyBzdHJlYW1zCgkgIEl0IHNlZW1zIHRoYXQgR1N0cmVhbWVyJ3MgbXBlZ3RzIGVsZW1lbnRzICh0c2RlbXV4LCB0c3BhcnNlKSByZXF1aXJlIGNhcHMKCSAgYHZpZGVvL21wZWd0cyxzeXN0ZW1zdHJlYW09dHJ1ZWAuICBBcyBmYXIgYXMgSSBjYW4gc2VlIHRoZSBzaWduaWZpY2FuY2UKCSAgb2Ygc3lzdGVtc3RyZWFtIGlzIHRvIGluZGljYXRlIHRoYXQgdGhpcyBpcyBhIGNvbnRhaW5lciBmb3JtYXQgcmF0aGVyIHRoYW4KCSAgYW4gZWxlbWVudGFyeSBzdHJlYW0uICBBcyB0aGlzIGlzIHRoZSBjYXNlIChhbmQgSSBjYW4ndCB1bmRlcnN0YW5kIGhvdyBpdAoJICBjb3VsZCBub3QgYmUgdGhlIGNhc2Ugd2l0aCBtcGVndHMpIEkgYWRkIHN5c3RlbXN0cmVhbT10cnVlIHRvIHY0bDJzcmMncwoJICBjYXBzLgoJICBUaGlzIGFsbG93cyB2NGwyc3JjIHRvIGJlIGxpbmtlZCB3aXRoIHRzZGVtdXggZm9yIHBsYXliYWNrIGZyb20gbXkKCSAgSGF1cHBhdWdlIEhELVBWUiB3aXRoIHRoZSBwaXBlbGluZToKCSAgdjRsMnNyYyAhIHF1ZXVlICEgdHNkZW11eCAhIHZpZGVvL3gtaDI2NCAhIGRlY29kZWJpbiAhIHh2aW1hZ2VzaW5rCgkgIEluIGNvbWJpbmF0aW9uIHdpdGggdGhlIG5leHQgY29tbWl0IHRoaXMgZml4ZXMgdXNpbmcgSGF1cHBhdWdlIEhELVBWUiB3aXRoCgkgIEdTdHJlYW1lciAxLjArLgoKMjAxNC0wMS0xNCAxNDo0ODo0MiArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkgIHY0bDI6IGF0dGVtcHQgdG8gZml4IGluZmluaXRlIChmb3Igc21hbGwgdmVyc2lvbiBvZiBpbmZpbml0ZSkgbG9vcAoKMjAxNC0wMy0yOSAxMzoyMDozMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBtYW5hZ2VyOiBjb3B5IHN0aWNreSBldmVudHMgd2hlbiBleHBvc2luZyBwYWRzIGluIG1vcmUgcGxhY2VzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjQ3MTIKCjIwMTQtMDMtMjggMjA6MTE6MzYgKzAxMDAgIFJpY28gVHpzY2hpY2hob2x6IDxyaWNvdHpAdWJ1bnR1LmNvbT4KCgkqIHN5cy92NGwyL01ha2VmaWxlLmFtOgoJICB2NGwyOiBmaXggZGlzdGNoZWNrCgkgIE1ha2Ugc3VyZSBleHQvKi5oIGFyZSBkaXN0J2VkCgoyMDE0LTAzLTI3IDE5OjUxOjUwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzoKCSAgeGltYWdlc3JjOiBvbmx5IGV4dHJhcG9sYXRlIGFscGhhIG1hc2sgZm9yIDMyLWJpdCBkZXB0aAoJICBJbnN0ZWFkIG9mIHBhc3NpbmcgYm9ndXMgYWxwaGEgbWFzayB2YWx1ZXMgd2hlbiB0aGVyZSdzIG5vIGFscGhhLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI2ODMzCgoyMDE0LTAzLTIxIDEzOjAzOjE3IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOgoJICB4aW1hZ2VzcmM6IEFkZCBBUkdCL0JHUkEgc3VwcG9ydAoKMjAxNC0wMy0yMCAxNToyODoyNiArMDEwMCAgT2dueWFuIFRvbmNoZXYgPG9nbnlhbkBheGlzLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwanBlZ3BheS5jOgoJICBqcGVncGF5OiBjb25zaWRlciBoZWFkZXIgbGVuIHdoZW4gY2FsY3VsYXRpbmcgcGF5bG9hZCBsZW4KCSAgRml4ZWQgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNjc3NwoKMjAxNC0wMy0yNiAwODowMzoyMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogQWxsIGZyYW1lcyBhcmUgc3luYyBwb2ludHMKCjIwMTQtMDMtMjYgMDg6MDI6NDMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOgoJICBwbmdkZWM6IEFsbCBmcmFtZXMgYXJlIHN5bmMgcG9pbnRzCgoyMDE0LTAzLTIyIDE3OjA3OjQ2ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtbmF1d0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogc2VnbWVudCBjbG9zaW5nIG5vdCBuZWVkZWQgaW4gMS54CgkgIC4uLiBhcyBzZW5kZXIgc2hvdWxkIGtlZXAgdHJhY2sgb2Ygc2VnbWVudCBiYXNlIGFjY3VtdWxhdGlvbi4KCSAgUmF0aGVyLCBpdCBtYXkgaGF2ZSBzb21lIGFkdmVyc2UgZWZmZWN0cyBhcyBhIHNwdXJpb3VzIHNlZ21lbnQgZXZlbnQsCgkgIGUuZy4gaW4gY29sbGVjdHBhZHMuCgoyMDE0LTAzLTIyIDE3OjA1OjE3ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtbmF1d0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogZWFybHkgc2VuZGluZyBwZW5kaW5nIGNvZGVjLWRhdGEgZm9yIGFsbCBzdHJlYW1zCgkgIC4uLiBhdCBsZWFzdCBiZWZvcmUgc3luY2luZyBhY3Jvc3MgYWxsIHN0cmVhbXMgbWlnaHQgY2F1c2Ugc29tZSBnYXAKCSAgYWN0aXZpdHkgb24gYW55IG9mIHRob3NlIHN0cmVhbXMsIG5vdGFibHkgc3BhcnNlIHN0cmVhbXMuCgkgIFNlZSBhbHNvICM3MTIxMzQKCjIwMTQtMDMtMjIgMTc6MDE6MjcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1uYXV3QHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IGhhbmRsZSBib3RoIHN0aWNreSBhbmQgbm9uLXN0aWNreSBjdXN0b20gZXZlbnQKCjIwMTQtMDMtMjUgMTE6NDQ6MjcgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBvbmx5IGV4cG9zZSBzdHJlYW1zIG9uIGRhdGFmbG93CgkgIE9ubHkgcHJvYmUgb24gYnVmZmVycywgd2UgZG9uJ3Qgd2FudCB0byBleHBvc2UgdGhlIHN0cmVhbXMgb24gZXZlbnRzLgoKMjAxNC0wMy0yNSAxMTozNjo0MCArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBjb3B5IHN0aWNreSBldmVudHMgdG8gZ2hvc3RwYWQKCSAgV2hlbiB3ZSBleHBvc2UgaW50ZXJuYWwgcGFkcyBhcyBnaG9zdHBhZHMsIGZpcnN0IGNvcHkgdGhlIHN0aWNreSBldmVudHMKCSAgc28gdGhhdCB3ZSBoYXZlIHRoZSBjYXBzIGFuZCBzZWdtZW50IGV0Yy4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNDcxMgoKMjAxNC0wMy0yNCAxNDoyNTo0MyArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgcnRzcHNyYzogc3J0cCBoYW5kbGluZwoKMjAxNC0wMy0yNSAxMDoyMzowMCArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IHNldCBTU1JDIG9uIGNhcHMgaWYga25vd24KCjIwMTQtMDMtMjQgMTY6NTg6MjUgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBwdXQgY2FwcyBvbiB1ZHBzcmMgaW5zdGVhZCBvZiB1c2luZyB0aGUgc2lnbmFscwoJICBUcnkgdG8gYXZvaWQgdXNpbmcgdGhlIHJlcXVlc3QtcHQtbWFwIHRvIGdldCBjYXBzIGJ1dCBzZXQgdGhlbSBkaXJlY3RseQoJICBvbiB0aGUgdWRwc3JjIGVsZW1lbnQuIFRoYXQgd2F5LCB0aGUgY2FwcyBnZXQgbmljZWx5IHRyYW5zZm9ybWVkIGFzIHRoZXkKCSAgcGFzcyB0aHJvdWdoIHRoZSBkaWZmZXJlbnQgZWxlbWVudHMgaW4gdGhlIHJ0cGJpbiwgaW5jbHVkaW5nIHRoZSBBVVggYW5kCgkgIGRlY29kZXIvZW5jb2RlciBlbGVtZW50cy4KCjIwMTQtMDMtMjQgMTU6MzU6MDkgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiB1c2UgcHJvZmlsZSB0byBzZXQgcnRjcCBjYXBzCgkgIFVzZSB0aGUgbmVnb3RpYXRlZCBwcm9maWxlIHRvIHNldCB4LXJ0Y3Agb3IgeC1zcnRjcCBjYXBzCgoyMDE0LTAzLTI0IDE1OjM0OjI2ICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogc2V0IHVkcHNyYyB0byBSRUFEWQoJICBSRUFEWSBpcyBlbm91Z2ggdG8gYWxsb2NhdGUgcG9ydHMgbm93CgoyMDE0LTAzLTI0IDE0OjI1OjI4ICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIHVkcHNyYzogaW1wcm92ZSBjYXBzIGhhbmRsaW5nCgkgIFByb3RlY3QgY2FwcyB3aXRoIHRoZSBsb2NrLgoJICBEb24ndCBwdXNoIHRoZSBjYXBzIGV2ZW50IGZyb20gdGhlIHNldF9wcm9wZXJ0eSBmdW5jdGlvbiBidXQgbWFyayB0aGUKCSAgcGFkIGZvciByZWNvbmZpZ3VyYXRpb24gc28gdGhhdCBpdCB3aWxsIHJlbmVnb3RpYXRlIGFuZCBwdXNoIHRoZSBuZXcKCSAgY2FwcyBldmVudCBpbiB0aGUgc3RyZWFtaW5nIHRocmVhZC4KCjIwMTQtMDMtMjQgMTU6MTU6MzQgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgdWRwc3JjOiBvcGVuL2Nsb3NlIHNvY2tldCBpbiBOVUxMPC0+UkVBRFkgc3RhdGUKCSAgV2Ugc2hvdWxkIG9wZW4gdGhlIHNvY2tldCB3aGVuIGdvaW5nIHRvIE5VTEw8LT5SRUFEWSBhbmQgbm90IGluIHRoZQoJICBzdGFydC9zdG9wIHZlbXRob2QsIHdoaWNoIGlzIGNhbGxlZCBpbiBSRUFEWTwtPlBBVVNFRC4gVGhpcyBtYWtlcyBpdAoJICBwb3NzaWJsZSB0byBhbGxvY2F0ZSBhIHNvY2tldCB3aXRob3V0IGdvaW5nIHRvIFBBVVNFRCAoYW5kIHN0YXJ0aW5nIHRoZQoJICBuZWdvdGlhdGlvbikuCgoyMDE0LTAzLTI0IDE0OjM1OjAxICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogZnJlZSBjYXBzIGluIHB0bWFwIGFycmF5CgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjY2OTYKCjIwMTQtMDMtMjAgMTE6MTI6NTEgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBoYW5kbGUgTlVMTCBydHBtYXAgYW5kIHBhcnNlIGVycm9yIGJldHRlcgoKMjAxNC0wMy0xNiAyMzo0NjoyMiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPHRlc3RlckB0ZXN0ZXIuY2E+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogRG9uJ3QgY2hlY2sgZm9yIGd1ZGV2IGlmIHZpZGVvNGxpbnV4MiBpcyBub3QgcHJlc2VudAoKMjAxNC0wMy0xNiAyMzoxOTo1NSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPHRlc3RlckB0ZXN0ZXIuY2E+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogRG9uJ3QgZmFpbCBpZiBndWRldiBpcyBub3QgcHJlc2VudAoJICBQS0dfQ0hFQ0tfTU9EVUxFUyBoYXMgdGhlIGJhZCBoYWJpdCBvZiBmYWlsaW5nIHRoZSBidWlsZCBpZiBpdCBkb2Vzbid0CgkgIGdldCB3aGF0IGl0IHdhbnRzLCBwcmV2ZW50IHRoYXQuCgoyMDEyLTExLTAyIDEzOjMzOjEzICswMTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvdjRsMi9NYWtlZmlsZS5hbToKCSogc3lzL3Y0bDIvZ3N0djRsMi5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyZGV2aWNlbW9uaXRvci5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyZGV2aWNlbW9uaXRvci5oOgoJICB2NGwyOiBJbXBsZW1lbnQgR3N0RGV2aWNlTW9uaXRvciBzdWJjbGFzcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc4NDAyCgoyMDEzLTA4LTEyIDExOjQ5OjIxIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3B1bHNlL01ha2VmaWxlLmFtOgoJKiBleHQvcHVsc2UvcGx1Z2luLmM6CgkqIGV4dC9wdWxzZS9wdWxzZWRldmljZW1vbml0b3IuYzoKCSogZXh0L3B1bHNlL3B1bHNlZGV2aWNlbW9uaXRvci5oOgoJICBwdWxzZTogQWRkIGRldmljZSBtb25pdG9ycwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc4NDAyCgoyMDE0LTAzLTE2IDE5OjI0OjI2IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8dGVzdGVyQHRlc3Rlci5jYT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMjogUmVtb3ZlIEdzdFByb3BlcnR5UHJvYmUgbGVmdG92ZXJzCgoyMDE0LTAyLTE5IDAzOjA0OjAzICswMTAwICBNYXRoaWV1IER1cG9uY2hlbGxlIDxtZHVwb25jaGVsbGUxQGdtYWlsLmNvbT4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmg6CgkgIHZpZGVvbWl4ZXI6IFBvcnQgdG8gbmV3IGNvbGxlY3RwYWRzIEFQSQoJICBTZWU6IGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjQ3MDUKCjIwMTQtMDMtMTYgMTU6MjY6MDQgKzAxMDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2V4dC90eXBlcy1jb21wYXQuaDoKCSogc3lzL3Y0bDIvZXh0L3ZpZGVvZGV2Mi5oOgoJICB2NGwyOiBBZGQgdHlwZXMgY29tcGF0aWJsaXR5IGZvciBvdGhlciBPUwoJICBBZGRzIHR5cGUgY29tcGF0aWJsaXR5IHdpdGggb3RoZXIgT1MgbGlrZSBCU0QuIFRoaXMgdXNlcyB0eXBlcyBtYXBwaW5nIG1hY3JvIHRvCgkgIGF2b2lkIGNvbmZsaWN0IHdpdGggZXhpc3RpbmcgZGVmaW5lZCB0eXBlcy4gV2UgcmVzdXNlIGdsaWIgdHlwZXMgYXMgdGhlc2UgYXJlCgkgIGFscmVhZHkgYXZhaWxhYmxlIG9uIHN1cHBvcnRlZCBwbGF0Zm9ybXMuIFRoaXMgaXMgR0NDIG9ubHkgYmVjYXVzZSBvZiB0aGUKCSAgbGUzMiB0eXBlIHRoYXQgdXNlcyBiaXR3aXNlIGF0dHJpYnV0ZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNjQ1MwoKMjAxNC0wMy0xNiAxNTo1NTowMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9wdWxzZS9wdWxzZXV0aWwuYzoKCSAgcHVsc2U6IGZpeCBmb3JtYXQgaW5mbyB0byBjYXBzIGNvbnZlcnNpb24gZm9yIG11bGF3CgoyMDEzLTA4LTEzIDEyOjEwOjQyIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJKiBleHQvcHVsc2UvcHVsc2V1dGlsLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXV0aWwuaDoKCSAgcHVsc2U6IE1ha2UgZ3N0X3B1bHNlX2Zvcm1hdF9pbmZvX3RvX2NhcHMoKSBzaGFyZWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3ODQwMgoKMjAxNC0wMy0xNSAxODo0MToxNiArMDEwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL01ha2VmaWxlLmFtOgoJICB2NGwyOiBGaXggdHlwbyBWNExfRElSIGludGVhZCBvZiBWNEwyX0RJUgoKMjAxNC0wMy0xNSAxODowNTozMiArMDEwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICB2NGwyLWJ1aWxkOiBTZXQgSEFWRV9HU1RfVjRMMiBpZiBoZWFkZXJzIGFyZSBwcmVzZW50CgkgIFRoZSBuYW1lIG9mIEhBVkVfIG5lZWQgdG8gbWF0Y2ggdGhlIFVTRV8uIE5vdyBzZXQgSEFWRV9HU1RfVjRMMiBpZgoJICB2aWRlb2RldjIuaCBpcyBmb3VuZC4KCjIwMTQtMDMtMTUgMTY6NDc6NTEgKzAxMDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL01ha2VmaWxlLmFtOgoJICB2NGwyOiBBY3R1YWxseSBidWlsZCB0aGUgcGx1Z2luCgkgIFRoZSBjaGVja3Mgd2VyZSByZW1vdmVkIGluYWR2ZXJ0ZWRseSBpbiBwcmV2aW91cyBwYXRjaCBhbmQgbm90IHJlcGxhY2VkLgoJICBSZS1pbnRyb2R1Y2UgdGhlIGNvbmZpZ3VyZSBjaGVja3MgYW5kIHNvbWUgb2YgdGhlIGNoZWNrcyBpbiBvcmRlciB0byBlbmFibGUKCSAgdGhpcyBwbHVnaW4gYWdhaW4uIFdlIG9ubHkgY2hlY2sgaWYgdmlkZW9kZXYyLmggZXhpc3Qgb24gdGhlIHBsYXRmb3JtIHRvCgkgIGF2b2lkIGJ1aWxkaW5nIG9uIFdpbmRvd3Mgb3IgT1NYLCB0aG91Z2ggd2UgYnVpbGQgYWdhaW5zdCBvdXIgb3duIGNvcHkuIFRoaXMKCSAgd2FzIGJyZWFraW5nIHRoZSBidWlsZCBvbiBidWlsdC1ib3QuCgoyMDE0LTAzLTE1IDEzOjQ3OjQyICswMTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lby5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2dsLnBvOgoJKiBwby9oci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkgIHRyYW5zbGF0aW9uOiBQTyBmaWxlIGNoYW5nZXMgY2F1c2VkIGJ5IFBPVEZJTEUuaW4gdXBkYXRlCgoyMDE0LTAzLTE1IDEzOjE3OjIxICswMTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIHBvL1BPVEZJTEVTLmluOgoJKiBwby9QT1RGSUxFUy5za2lwOgoJKiBzeXMvdjRsMi9NYWtlZmlsZS5hbToKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb292ZXJsYXkuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvb3ZlcmxheS5oOgoJICB2NGwyOiBSZW1vdmUgWFYgc3VwcG9ydAoJICBYViBzdXBwb3J0IGZvciB2NGwyIG5ldmVyIGJlY2FtZSB1cHN0cmVhbSBhbmQgZW5kZWQgdXAgYmVpbmcKCSAgY29tbWVudGVkIG91dCB3aXRoIGFuIHVuZGVmIGZvciBhIGxvbmcgdGltZSBub3cuCgoyMDE0LTAzLTE1IDExOjEzOjA1ICswMTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC1wbHVnaW5zLWdvb2Quc3BlYy5pbjoKCSogc3lzL01ha2VmaWxlLmFtOgoJKiBzeXMvdjRsMi9leHQvdjRsMi1jb21tb24uaDoKCSogc3lzL3Y0bDIvZXh0L3Y0bDItY29udHJvbHMuaDoKCSogc3lzL3Y0bDIvZXh0L3ZpZGVvZGV2Mi5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZG9yaWVudC5jOgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkqIHRlc3RzL2ljbGVzL01ha2VmaWxlLmFtOgoJICB2NGwyOiBVc2UgYSBjb3B5IG9mIHZpZGVvZGV2Mi5oIGhlYWRlcgoJICBXaXRoIHllYXJzIHRoZSBhbW91bnQgb2YgaWZkZWYgaGF2ZSBncm93biB1cCBhbmQgd2UgYXJlIG5vdCBldmVuIHN1cmUgaWYgdGhlCgkgIG9sZCBjb2RlIHBhdGggY29tcGlsZXMuIEVhY2ggdGltZSB3ZSBuZWVkIHRvIHVwZGF0ZSB0aGUgdjRsMiBmcmFtZXdvcmsgdG8gYWRkCgkgIHRoZSBuZXcgZmVhdHVyZSwgd2UgYnJlYWsgY29tcGlsYXRpb24gb24gb2xkZXIga2VybmVsLiBXaXRoIGV4Y2VwdGlvbiBvZiB0d28KCSAgY29udHJvbHMgaW4gdGhlIHZpZGVvIG9yaWVudGF0aW9uIGNvbnRyb2wsIHRoaXMgcGF0Y2ggZ2V0IHJpZCBvZiBhbGwgaWZkZWYgYnkKCSAgaW5jbHVkaW5nIHRoZSBsYXRlc3QgdmVyc2lvbiBvZiB2aWRlb2RldjIuaCBpbnNpZGUgR1N0cmVhbWVyLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIzNDQ2CgoyMDE0LTAzLTEyIDE1OjMyOjU1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuaDoKCSAgc291cGh0dHBzcmM6IEFkZCBwcm9wZXJ0aWVzIGZvciBzZWxlY3RpbmcgU1NML1RMUyBjZXJ0aWZpY2F0ZSBjaGVja2luZwoJICBBbmQgYnkgZGVmYXVsdCBwcm9wZXJseSBjaGVjayBjZXJ0aWZpY2F0ZXMgYWdhaW5zdCB0aGUgc3lzdGVtJ3MgQ0EKCSAgY2VydGlmaWNhdGVzLiBFdmVyeXRoaW5nIGVsc2UgaXMgbm90IGEgZ29vZCBkZWZhdWx0IGF0IGFsbC4KCjIwMTQtMDMtMTEgMTQ6NTY6MzAgKzAxMDAgIFBlciB4IEpvaGFuc3NvbiA8cGVyeGpvaEBheGlzLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBmaXggYXNzZXJ0IG9uIGZwcyBsb3dlciB0aGFuIDEKCSAgRml4ZXMgYXNzZXJ0IGNhdXNlZCBieSBnc3RfZHVyYXRpb25fdG9fZnJhY3Rpb24gY2FsbGluZwoJICBnc3RfdXRpbF91aW50NjRfc2NhbGVfaW50IHdpdGggYSBkZW5vbWluYXRvciBvZiAwIHdoZW4gZnBzIGlzIGxlc3MKCSAgdGhhbiAxLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI2MTA2CgoyMDE0LTAzLTExIDAwOjQ2OjA2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIHZpZGVvbWl4ZXIyOiBzdG9yZSB2aWRlbyBpbmZvIHdpdGggYnVmZmVycyB0byBrZWVwIGl0IGluIHN5bmMKCSAgSW5zdGVhZCB0aGUgcXVldWVkIGJ1ZmZlciBtaWdodCBoYXZlIGFuIG9sZCBjYXBzIHdoaWxlIHRoZSBwYWQKCSAgaXMgYWxyZWFkeSBzdG9yaW5nIHRoZSBpbmZvcm1hdGlvbiBmb3IgYSBuZXcgY2Fwcy4gTWl4aW5nIHRob3NlCgkgIHdoaWxlIGhhbmRsaW5nIGJ1ZmZlcnMgd2lsbCBvZnRlbiBsZWFkIHRvIGlzc3VlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI1OTQ4CgoyMDE0LTAzLTA4IDE5OjI5OjU4IC0wNTAwICBXaWxsaWFtIE1hbmxleSA8d2lsbEB3aWxsaWFtbWFubGV5Lm5ldD4KCgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSAgdjRsMjogRml4IHR5cG8gY29udG9sIC0+IGNvbnRyb2wKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNTYzMgoKMjAxNC0wMy0wNCAwMToxNTo0OSArMDAwMCAgV2lsbGlhbSBNYW5sZXkgPHdpbGxAd2lsbGlhbW1hbmxleS5uZXQ+CgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkgIHY0bDI6IE5vcm1hbGlzZSBjb250cm9sIG5hbWVzIGluIHRoZSBzYW1lIHdheSBhcyB2NGwyLWN0bAoJICBWNEwyIGtlcm5lbCBkcml2ZXJzIGFsbG93IGNvbmZpZ3VyYXRpb24gb2YgdGhlIGhhcmR3YXJlIHNldHRpbmdzIHZpYSBhCgkgIG1lY2hhbmlzbSBjYWxsZWQgY29udHJvbHMuICBUaGVzZSBjYW4gYmUgcmVmZXJyZWQgdG8gYnkgbmFtZSBzdWNoIGFzCgkgICJCcmlnaHRuZXNzIiBhbmQgIldoaXRlIEJhbGFuY2UgVGVtcGVyYXR1cmUiLiAgVGhlIHVzZXItc3BhY2UgY29tbWFuZCBsaW5lCgkgIGNsaWVudCBmb3Igc2V0dGluZyB0aGVzZSBjb250cm9scyAodjRsMi1jdGwpIG5vcm1hbGlzZXMgdGhlc2UgbmFtZXMgc3VjaAoJICB0aGF0IHRoZXkgb25seSBjb250YWluIGxvd2VyIGNhc2UgYWxwaGFudW1lcmljIGNoYXJhY3RlcnMgYW5kIHRoZQoJICB1bmRlcnNjb3JlICdfJy4gIGUuZzoKCSAgS2VybmVsICAgICAgICAgICAgICAgICAgICAgdjRsMi1jdGwKCSAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoJICBCcmlnaHRuZXNzICAgICAgICAgICAgICAgICBicmlnaHRuZXNzCgkgIFdoaXRlIEJhbGFuY2UgVGVtcGVyYXR1cmUgIHdoaXRlX2JhbGFuY2VfdGVtcGVyYXR1cmUKCSAgRm9jdXMgKGFic29sdXRlKSAgICAgICAgICAgZm9jdXNfYWJzb2x1dGUKCSAgR1N0cmVhbWVyIHNlZW1zIHRvIHdhbnQgdG8gZm9sbG93IHRoaXMgcGF0dGVybiBidXQgZmFpbGVkIGZvciBjb250cm9scyB3aXRoCgkgIG1vcmUgdGhhbiBvbmUgY29uc2VjdXRpdmUgbm9uLWFscGhhbnVtIGNoYXJhY3Rlci4gIGUuZy4gR1N0cmVhbWVyIHdvdWxkCgkgIHByb2R1Y2UgImZvY3VzX19hYnNvbHV0ZV8iIHJhdGhlciB0aGFuICJmb2N1c19hYnNvbHV0ZSIuCgkgIFRoaXMgY29tbWl0IGZpeGVzIHRoYXQgaXNzdWUuICBCYWNrd2FyZHMgY29tcGF0aWJpbGl0eSBpcyBwcmVzZXJ2ZWQgYnkKCSAgbm9ybWFsaXNpbmcgYWxsIGNvbnRyb2wgbmFtZXMgYmVmb3JlIGNvbXBhcmlzb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjU2MzIKCjIwMTQtMDMtMDcgMTY6MTc6MjkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwaHR0cHNyYzogTWFrZSBzdXJlIHRvIG5vdCByZXR1cm4gRU9TIGltbWVkaWF0ZWx5IGlmIHdlIGZpbmlzaGVkIGEgcmFuZ2UgcmVxdWVzdAoJICBPbmx5IHJldHVybiBFT1MgdGhlIG5leHQgdGltZSBjcmVhdGUoKSBpcyBjYWxsZWQsIGlmIGF0IGFsbC4gYmFzZXNyYwoJICBzaG91bGQgYWxyZWFkeSB0YWtlIGNhcmUgb2Ygbm90IGNhbGxpbmcgaXQgYWdhaW4uCgkgIEFsc28gYWx3YXlzIHJldHVybiBpbW1lZGlhdGVseSBpZiB0aGUgcHJldmlvdXMgZmxvdyByZXR1cm4gd2FzCgkgIG5vdCBPSy4gVGhpcyBpbmRpY2F0ZXMgYW4gZXJyb3Igc29tZXdoZXJlLgoKMjAxNC0wMy0wNiAxMjowNjo0MyAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBpbGJjZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzaXJlbmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhkZXBheS5jOgoJICBydHA6IFJlbW92ZSBjYXBzIHJlc3RyaWN0aW9ucyBmcm9tIFJUUCBkZXBheWxvYWRlciBzaW5rIGNhcHMKCSAgUmVtb3ZlIGNhcHMgcmVzdHJpY3Rpb25zIHRoYXQgY29ycmVzcG9uZCB0byB0aGUgZGVmYXVsdCBhbmQgYXJlIG5vdAoJICByZXF1aXJlZCBpbiBTRFAuIFdpdGggdGhlIG5ldyB1c2FnZSBvZiBoYXZpbmcgcGFkcyByZXF1aXJlIGEgc3Vic2V0CgkgIG9mIHRoZSBjYXBzLCB0aGV5IHdpbGwgbWFrZSB0aGUgbmVnb3RpYXRpb24gZmFpbC4KCjIwMTQtMDMtMDYgMTE6MDI6MDkgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4ZGVwYXkuYzoKCSAgcnRwc3BlZXhkZXBheTogUmVtb3ZlIGNhcHMgcmVzdHJpY3Rpb25zIGZvciBkZXBheWxvYWRlcgoJICBUaGUgImVuY29kaW5nLXBhcmFtcyIgaXMgb3B0aW9uYWwgaW4gdGhlIFNEUCwgYmVjYXVzZSB3ZSBub3cgcmVxdWlyZQoJICBhIHN1YnNldCBvZiB0aGUgY2FwcywgaXQgd291bGQgZmFpbCBjYXBzIG5lZ290aWF0aW9pbiBpZiBpdCB3YXNuJ3QgcHJlc2VudC4KCSAgU28gcmVtb3ZlZCBpdCBmcm9tIHRoZSB0ZW1wbGF0ZSBjYXBzLgoKMjAxNC0wMy0wNiAxMzozODowOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXBodHRwc3JjOiBEb24ndCBmb3JnZXQgdG8gcXVpdCBtYWlubG9vcCBhZnRlciB3ZSBjYW5jZWxsZWQgd2hlbiB3ZSBnb3QgZGF0YSBhZnRlciB0aGUgc3RvcCBwb3NpdGlvbgoKMjAxNC0wMy0wNiAxMzozNTo0NyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXBodHRwc3JjOiBJZiB3ZSBoYWQgYSBzdG9wIHBvc2l0aW9uLCBhbGxvdyBmb3IgdGhlIHNlcnZlciB0byBmaW5pc2ggb3VyIGNvbm5lY3Rpb24gaW5zdGVhZCBvZiBqdXN0IGNhbmNlbGxpbmcKCSAgT3RoZXJ3aXNlIGtlZXAtYWxpdmUgZG9lcyBub3QgbWFrZSBtdWNoIHNlbnNlIGFuZCBhbHNvIHRoZSBzZXJ2ZXIgd2lsbCBoYXZlCgkgIGNvbmZ1c2luZyB0aGluZ3MgaW4gdGhlIGxvZ3MuCgoyMDE0LTAzLTA2IDEyOjI0OjAxICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBydHNwc3JjOiBza2lwIHN0cmVhbXMgd2l0aCBzYW1lIGNvbnRyb2wgdXJsCgkgIEtlZXAgdHJhY2sgb2Ygd2hhdCBzdHJlYW1zIHdlIGRpZCB0aGUgU0VUVVAgZm9yLiBXZSBvbmx5IG5lZWQgdG8KCSAgY29uZmlndXJlIGNhcHMsIHdhaXQgZm9yIHBhZHMgYW5kIHB1c2ggZXZlbnRzIG9uIHNldHVwIHN0cmVhbXMuIFdlIGNhbgoJICByZW1vdmUgdGhlIGRpc2FibGVkIHN0YXRlIG9mIHRoZSBzdHJlYW0gYW5kIHNpbXBsaWZ5IHNvbWUgY2hlY2tzLgoJICBBZnRlciB3ZSBzZXR1cCBhIHN0cmVhbSwgc2tpcCB0aGUgb3RoZXIgc3RyZWFtcyB0aGF0IGhhdmUgdGhlIHNhbWUKCSAgY29udHJvbCB1cmwuIFVzZSBhIHNraXBwZWQgZmxhZyB0byBtYXJrIHN0cmVhbXMgdGhhdCBzaG91bGQgYmUgc2tpcHBlZC4KCjIwMTQtMDMtMDYgMTI6MjI6NDcgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiByZW1vdmUgb2Jzb2xldGUgY29kZQoKMjAxNC0wMy0wNSAxNjoxOToxOSArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgcnRzcHNyYzoganVzdCB1c2UgdGhlIFNEUCBpbmRleCBhcyB0aGUgc3RyZWFtIGlkCgkgIFVzZSB0aGUgaW5kZXggb2YgdGhlIG1lZGlhIHN0cmVhbSBpbiB0aGUgU0RQIGFzIHRoZSBzdHJlYW0gaWQgaW5zdGVhZCBvZgoJICBrZWVwaW5nIGEgc2VwYXJhdGUgY291bnRlci4KCjIwMTQtMDMtMDUgMTM6MzU6MTkgKzAxMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJKiBzeXMvb3N4dmlkZW8vY29jb2F3aW5kb3cubToKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBvc3h2aWRlbzogZml4IGJ1aWxkIG9uIE1hYyBPU1ggTWF2ZXJpY2tzIGFuZCBwdXQgbmV3IHdpbmRvdyBpbiBmcm9udAoJICBHZXRDdXJyZW50UHJvY2Vzcy9TZXRGcm9udFByb2Nlc3MvVHJhbnNmb3JtUHJvY2Vzc1R5cGUgd2FzIGRlcHJlY2F0ZWQKCSAgYW5kIG5vdyByZW1vdmVkIGluIE1hYyBPU1ggMTAuOS4gb3JkZXJGcm9udFJlZ2FyZGxlc3MgaXMgdXNlZCB0byBtYWtlCgkgIHRoZSB2aWRlbyB3aW5kb3cgdGhlIG1vc3QgZnJvbnQgd2luZG93LgoKMjAxNC0wMy0wNSAxNzozMzo1NiArMDEwMCAgQ2hyaXN0aWFuIEZyZWRyaWsgS2FsYWdlciBTY2hhbGxlciA8dXJhZXVzQGxpbnV4cmlzaW5nLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWdvb2Quc3BlYy5pbjoKCSAgQWRkIGRvY3MgZGlyZWN0b3J5IHRvIHNwZWMgZmlsZQoKMjAxNC0wMy0wNSAxNTo0NDoyNSArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGhhbmRsZSBOVUxMIGNvbnRyb2wgdXJscyBiZXR0ZXIKCjIwMTQtMDMtMDUgMTQ6Mjg6MjYgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBzZXNzaW9uOiBzbWFsbCBjbGVhbnVwcwoJICBJdCdzIG5pY2VyIHRvIGV4cGxpY2l0bHkgY2hlY2sgZm9yIE5VTEwgb24gcG9pbnRlciB0eXBlcyB0byBtYWtlIGl0CgkgIGNsZWFyIHRoYXQgaXQncyBhIHBvaW50ZXIgYW5kIG5vdCBhIGJvb2xlYW4uCgoyMDE0LTAzLTA1IDE0OjI2OjAyICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgc2Vzc2lvbjogaGFuZGxlIHVua25vd24gU1NSQyBpbiBGSVIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNTcxMgoKMjAxNC0wMy0wNSAxMTozOTowOSArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGZpeCBzZWVraW5nCgkgIENhbGwgZ3N0X3J0c3BzcmNfY29ubmVjdGlvbl9mbHVzaCAoc3JjLCBGQUxTRSkgdG8gcmVzZXQgY29ubmVjdGlvbnMgYXMKCSAgbm9uLWZsdXNoaW5nIGJlZm9yZSBzZW5kaW5nIFBBVVNFIGFuZCBQTEFZIHdpdGggdGhlIG5ldyBucHQgcmFuZ2UuIFdpdGhvdXQgdGhpcwoJICBwYXRjaCwgdGhvc2UgY29tbWFuZHMgd291bGQgZmFpbCB3aXRoIEVJTlRSIGFzIHRoZSBjb25uZWN0aW9ucyB3ZXJlIHN0aWxsCgkgIGZsdXNoaW5nLgoKMjAxNC0wMy0wMyAxNjozOToyNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguaDoKCSAgYXZpZGVtdXg6IGV4cG9zZSB4c3ViIGFzIGEgc3VidGl0bGUgaW5zdGVhZCBvZiBhcyBhIHZpZGVvCgkgIEl0IGlzIHBsYWNlZCBpbnNpZGUgYSAndmlkcycgc3RydWN0LCBzbyBpdCB3YXMgYmVpbmcgZXhwb3NlZCBvbgoJICBhIHBhZCBuYW1lZCB2aWRlb18lZC4gWFNVQiBhcmUgc3VidGl0bGVzIGFuZCB0aGlzIHBhdGNoIGFkZHMKCSAgYW4gc3BlY2lhbCBjYXNlIGZvciBpdCB0byBiZSBleHBvc2VkIGluIGEgc3VicGljdHVyZV8lZCBwYWQKCjIwMTQtMDMtMDMgMTY6Mzg6NDUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogZG8gbm90IHRyeSB0byBhZGQgYSB0YWcgd2l0aCB0YWdfbmFtZSBzZXQgdG8gTlVMTAoJICBUaGlzIGNhbiBoYXBwZW4gaWYgdGhlcmUgYXJlIHN1YnRpdGxlcyBpbiB0aGUgc3RyZWFtLCBsZWFkaW5nIHRvCgkgIGFuIGFzc2VydGlvbgoKMjAxNC0wMy0wNCAxNjo0MDozNCArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgcnRzcHNyYzogQWRkIHN1cHBvcnQgZm9yIG11bHRpcGxlIHBheWxvYWQgdHlwZXMKCSAgQSBtZWRpYSBzdHJlYW0gY2FuIGhhdmUgbXVsdGlwbGUgcGF5bG9hZCB0eXBlcy4gUGFyc2UgYWxsIHRoZSBwYXlsb2FkCgkgIHR5cGVzIGFuZCBjb2xsZWN0IHRoZSBjYXBzIGluZm9ybWF0aW9uLiBXZSB0aGVuIGhhdmUgdG8gc3RvcmUgdGhlCgkgIHB0PC0+Y2FwcyBtYXBwaW5nIGluc3RlYWQgb2YgMSBwdCBhbmQgMSBjYXBzLgoJICBQYXJzZSB0aGUgcHJvZmlsZSBmcm9tIHRoZSBTRFAgYW5kIHVzZSB0aGF0IHRvIG5lZ290aWF0ZSB0aGUgdHJhbnNwb3J0CgkgIGluc3RlYWQgb2YgYWx3YXlzIHVzaW5nIEFWUC4KCSAgUmV3b3JrIGhvdyB3ZSBkbyBzb21lIHR3ZWFrcyBmb3IgQVNGIGFuZCBSZWFsbWVkaWEuCgoyMDE0LTAzLTA0IDExOjM0OjM5ICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogcmVmYWN0b3IgcGF5bG9hZCBoYW5kbGluZwoKMjAxNC0wMy0wMyAxMTozNDowMCArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBmaXggYnVmZmVyIGxldmVsIHdpdGggaW52YWxpZCBEVFMKCSAgSXQgaXMgcG9zc2libGUgdGhhdCB0aGUgRFRTIGlzIGludmFsaWQgKHdoZW4gd2UgcmVjZWl2ZSBSVFAgcGFja2V0cyBmcm9tCgkgIFRDUCwgZm9yIGV4YW1wbGUpLiBBcyBhIGZhbGxiYWNrLCB1c2UgdGhlIHJlY29uc3RydWN0ZWQgUFRTIHZhbHVlIHRvCgkgIGNhbGN1bGF0ZSB0aGUgYnVmZmVyIGxldmVsLgoKMjAxNC0wMy0wMiAwNToxMDoxMyArMDEwMCAgU2ViYXN0aWFuIFJhc211c3NlbiA8c2VicmFzQGhvdG1haWwuY29tPgoKCSogLmdpdGlnbm9yZToKCSAgLmdpdGlnbm9yZTogSWdub3JlIGdjb3YgaW50ZXJtZWRpYXRlIGZpbGVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjU0ODAKCjIwMTQtMDItMjggMDk6MzQ6NDYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGZlMTY3MmUgdG8gYmNiMTUxOAoKMjAxNC0wMi0yNyAyMzoxNTowNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkgIFJldmVydCAiYWFjcGFyc2U6IHB1dCBjb2RlYyBkYXRhIG9uIGNhcHMgZm9yIGxvYXMgZm9ybWF0IgoJICBUaGlzIHJldmVydHMgY29tbWl0IGU0NTljZjNlMDFhMDhmMWEzZWYxZmI5NTRhNDFjZmEzNmIzZTUxMGMuCgkgIFRoaXMgd2FzIHB1c2hlZCBieSBhY2NpZGVudCwgdGhlIGJ1ZyBzaG91bGQgbGlrZWx5IGJlIGZpeGVkIGluCgkgIGxpYmF2IGh0dHBzOi8vYnVnemlsbGEubGliYXYub3JnL3Nob3dfYnVnLmNnaT9pZD02NDQKCjIwMTQtMDItMjcgMTg6NTU6MDQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnZGVjOiBtYXJrIGFsbCBwYXJzZWQgZnJhbWVzIGFzIHN5bmMgcG9pbnRzCgkgIGFsbCBqcGVnIGZyYW1lcyBhcmUgc3luYyBwb2ludHMsIHNvIG1hcmsgdGhlbSBhcyBzdWNoIHNvCgkgIHJldmVyc2UgcGxheWJhY2sgY2FuIHByb3Blcmx5IHdvcmsgd2l0aCB0aGUgdmlkZW8gZGVjb2RlcgoJICBiYXNlIGNsYXNzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjUxMDQKCjIwMTQtMDItMjUgMDE6MTI6MDUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogcHV0IGNvZGVjIGRhdGEgb24gY2FwcyBmb3IgbG9hcyBmb3JtYXQKCSAgZ3N0LWxpYmF2IGF1ZGlvIGRlY29kZXIgYWxzbyBuZWVkcyBjb2RlYyBkYXRhIGZvciBMT0FTIGZvcm1hdCwgb3RoZXJ3aXNlCgkgIGl0IHdpbGwgY29tcGxhaW4gYWJvdXQgbm90IGhhdmluZyBhIGRlY29kZXIgY29uZmlnIGFuZCBza2lwIGFsbCBwYWNrZXRzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD01OTY3NzIKCjIwMTQtMDItMjcgMDA6NDM6NDggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogYWxpZ24gcmF3IGF1ZGlvIG1lbW9yeSB0byBwb3dlcnMgb2YgdHdvCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjUwMDgKCjIwMTQtMDItMjcgMDA6Mzc6MjAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogY2FsY3VsYXRlIGFsaWdubWVudCBwcm9wZXJseSBmb3IgYXVkaW8gZGVwdGhzIG5vdCBhIG11bHRpcGxlIG9mIDgKCjIwMTQtMDItMjMgMTk6MDk6MjQgKzAxMDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogZml4IGNyYXNoIHdpdGggMjQtYml0IHJhdyBhdWRpbwoJICBEbyBub3QgdHJ5IHRvIGFsaWduIGF1ZGlvIGJ1ZmZlcnMgdG8gb2RkIG51bWJlcnMsCgkgIHdoaWNoIHdpbGwgZ2V0IHVzIGEgTlVMTCBidWZmZXIgd2hpY2ggd2UgdGhlbgoJICBjcmFzaCBvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNTAwOAoKMjAxNC0wMi0yNyAwMDoxMTo0MiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL01ha2VmaWxlLmFtOgoJICBydHBtYW5hZ2VyOiByZS1lbmFibGUgLVdlcnJvcgoKMjAxNC0wMi0yNyAwMDoxMToxMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IGZpeCBjb21waWxlciB3YXJuaW5nCgkgIGdzdHJ0cGppdHRlcmJ1ZmZlci5jOiBJbiBmdW5jdGlvbiAnZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2xvb3AnOgoJICBnc3RydHBqaXR0ZXJidWZmZXIuYzoyOTc4OjM6IGVycm9yOiAncmVzdWx0JyBtYXkgYmUgdXNlZCB1bmluaXRpYWxpemVkIGluIHRoaXMgZnVuY3Rpb24KCSAgd2hpbGUgKHJlc3VsdCA9PSBHU1RfRkxPV19PSyk7CgkgIF4KCjIwMTQtMDItMjYgMjI6MTE6NDEgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDFhMDdkYTkgdG8gZmUxNjcyZQoKMjAxNC0wMi0yNiAyMToxMToyMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IEZpeCB1bmluaXRpYWxpemVkIHZhcmlhYmxlIGNvbXBpbGVyIHdhcm5pbmcKCjIwMTQtMDItMjYgMDc6MzI6MzIgLTA1MDAgIEpha2UgRm95dGlrIDxqYWtlLmZveXRpa0BpcGNvbmZpZ3VyZS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBSZW1vdmUgcmF3IGNvbXBhcmlzb25zIG9mIFJUUCBzZXF1ZW5jZSBudW1iZXJzCgkgIFNldmVyYWwgY29uZGl0aW9uYWwgc3RhdGVtZW50cyBwZXJmb3JtIGNvbXBhcmlzb24gb24gUlRQIHNlcXVlbmNlCgkgIG51bWJlcnMgd2l0aG91dCB0YWtpbmcgdGhlIHNlcXVlbmNlIG51bWJlciByb2xsb3ZlciBpbnRvIGFjY291bnQuCgkgIEluc3RlYWQsIHVzZSB0aGUgZ3N0X3J0cF9idWZmZXJfY29tcGFyZV9zZXFudW0gZnVuY3Rpb24gdG8gcGVyZm9ybSB0aGUKCSAgY29tcGFyaXNvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNTE1OQoKMjAxNC0wMi0wMyAwMTo0NDoyMSArMDEwMCAgU2ViYXN0aWFuIFJhc211c3NlbiA8c2VicmFzQGhvdG1haWwuY29tPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHRlc3RzOiBEb24ndCBidWlsZCBkaXNhYmxlZCBwbHVnaW5zJyBjaGVjayB0ZXN0cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIzNTAyCgoyMDE0LTAyLTI2IDExOjI5OjQ1ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZG9jcy9NYWtlZmlsZS5hbToKCSAgZG9jczogaW5zdGFsbCBwcmVidWlsdCBwbHVnaW4gZG9jcyBpZiBndGstZG9jIGlzIGRpc2FibGVkCgkgIFN5bmMgdG8gdGhlIE1ha2VmaWxlLmFtIGZyb20gZ3N0LXBsdWdpbi1iYXNlIHdoZXJlIGl0IGlzIGRvbmUgcmlnaHQuCgkgIEZpeGVzICM3MjUwMzQKCjIwMTQtMDItMjUgMTY6MTA6NTQgLTA1MDAgIEh1Z3VlcyBGcnVjaGV0IDxodWd1ZXMuZnJ1Y2hldEBzdC5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IGRvIG5vdCBlbWl0ICJwYXJzZWQiIGNhcHMgZm9yIHZwOAoJICBWUDggZG9lc24ndCByZXF1aXJlIHBhcnNpbmcgKHZwOHBhcnNlIGRvZXNuJ3QgZXhpc3QsIHNvIG5lZ290aWF0aW9uIHdpdGggZGVtdXggZmFpbHMKCSAgaWYgInBhcnNlZCIgaXMgc2V0IGluIGNhcHMpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI0NjM2CgoyMDE0LTAyLTExIDE2OjI3OjA4IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDI6IERvbid0IHJlcXVpcmUgcGFyc2VyIGZvciBWUDgKCSAgVW50aWwgR1N0cmVhbWVyIGhhcyBvbmUgKHNlZSBidWc3MjI3NjApLCB3ZSBzaG91bGQgbm90IHJlcXVpcmUgYSBwYXJzZXIgZm9yIFZQOC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMjEyOAoKMjAxNC0wMi0xMCAxNzowODoyNSAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJICB2NGwyOiBDQVBUVVJFX01QTEFORSBpcyB3ZWxsIHRlc3RlZCBub3cKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMjEyOAoKMjAxMy0xMi0xOCAwOTo1NjozNSArMDEwMCAgQmVuamFtaW4gR2FpZ25hcmQgPGJlbmphbWluLmdhaWduYXJkQGxpbmFyby5vcmc+CgoJKiBzeXMvdjRsMi9nc3R2NGwyLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9kZWMuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvZGVjLmg6CgkgIHY0bDJ2aWRlb2RlYzogQ3JlYXRlIG9uZSBlbGVtZW50IHBlciBkZXZpY2UKCSAgRm9yIGVhY2ggdmlkZW9DZGV2aWNlIHByb2JlIGl0IGlucHV0L291dHB1dCBjYXBhYmlsaXRpZXMKCSAgaWYgaXQgbWF0Y2ggd2l0aCB2aWRlbyBkZWNvZGVyIHJlcXVpcmVtZW50IHJlZ2lzdGVyIGEgbmV3IGVsZW1lbnQuCgkgIFNpZ25lZC1vZmYtYnk6IEJlbmphbWluIEdhaWduYXJkIDxiZW5qYW1pbi5nYWlnbmFyZEBsaW5hcm8ub3JnPgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIyMTI4CgoyMDEzLTEyLTE5IDE1OjI2OjUyIC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvZGVjLmM6CgkgIHY0bDJ2aWRlb2RlYzogQ2FsY3VsYXRlIGxhdGVuY3kgZnJvbSBkZXZpY2UgaW5mb3JtYXRpb24KCSAgRGVjb2RlcnMgb3Igb3RoZXIgZGV2aWNlcyB0aGF0IGV4cG9zZSBhIG1pbmltdW0gYnVmZmVycyByZXF1aXJlZCBwcm9kdWNlCgkgIGFuIGZpcnN0IG91dHB1dC4gV2UgdXNlIHRoaXMgaW5mb3JtYXRpb24gdG8gY2FsY3VsYXRlIGxhdGVuY3kuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjIxMjgKCjIwMTMtMTEtMjggMTc6MTQ6MTggLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL01ha2VmaWxlLmFtOgoJKiBzeXMvdjRsMi9nc3R2NGwyLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb2RlYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9kZWMuaDoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJICB2NGwydmlkZW9kZWM6IEltcGxlbWVudCB2NGwydmlkZW9kZWMKCSAgSW1wbGVtZW50IGFuIGVsZW1lbnQgdGhhdCBjYW4gZHJpdmVyIFY0TDIgTTJNIGRlY29kZXIgZGV2aWNlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIyMTI4CgoyMDE0LTAyLTExIDEyOjQxOjI5ICswMTAwICBHw7ZyYW4gSsO2bnNzb24gPGdvcmFuam5AYXhpcy5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSAgcnRwaDI2NHBheTogb25seSB1cGRhdGUgbGFzdF9zcHNwcHMgdGltZSBpZiBhbGwgc3BzL3BwcyBnb3Qgc2VudCBzdWNjZXNzZnVsbHkKCSAgVGhpcyBmaXhlcyBhbiBpc3N1ZSB3aXRoIGdzdC1ydHNwLXNlcnZlciB3aGVyZSBubyBzcHMgYW5kIHBwcyBhcmUKCSAgc2VudCBmb3IgdGhlIGZpcnN0IGludHJhIGZyYW1lLCBiZWNhdXNlIHRoZSBwYXlsb2FkZXIgc3RhcnRzIHdvcmtpbmcKCSAgYWxyZWFkeSB3aGVuIHJlY2VpdmluZyBERVNDUklCRSBidXQgdGhlcmUgaXMgbm8gdHJhbnNwb3J0cyBzbyBpdCB0cmllcwoJICB0byBzZW5kIHNwcyBhbmQgcHBzLCBidXQgdGhhdCBmYWlscyB3aXRoIGEgRkxVU0hJTkcgZmxvdy4gQnV0IHRoZSB0aW1lCgkgIGZvciBsYXN0IHNlbnQgc3BzIGFuZCBwcHMgd291bGQgc3RpbGwgYmUgc2V0LCBzbyB3aGVuIFBMQVkgYXJyaXZlcyBhbmQKCSAgdGhlIGZpcnN0IGludHJhIGZyYW1lIGlzIHRvIGJlIHNlbnQgdGhlcmUgaXMgbm8gc3BzIGFuZCBwcHMgc2VudCBkdWUgdG8KCSAgdGhhdCB0aW1lIHNpbmNlIGxhc3Qgc3BzIHBwcyBpcyBsZXNzIHRoYW4gc3BzcHBzX2ludGVydmFsLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI0MjEzCgoyMDE0LTAyLTI1IDA5OjAwOjQ1ICswMTAwICBTYW50aWFnbyBDYXJvdC1OZW1lc2lvIDxzYW5jYW5lQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogRml4IGRlYWRsb2NrIHdoZW4gdGFzayBjcmVhdGlvbiBpcyBubyBzdWNjZXNzZnVsCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjUxMjQKCjIwMTQtMDItMjIgMjA6MTk6NDkgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvZGV0ZWN0LmM6CgkgIGF1dG9kZXRlY3Q6IGRlbW90ZSBjYW5kaWRhdGUgZXJyb3IgdG8gd2FybmluZyBhbmQgcGx1ZyBmYWtle3Npbmssc3JjfQoJICBJbiB0aGUgY2FzZSB3aGVyZSB3ZSBoYXZlIG5vIHN1aXRhYmxlIGNhbmRpZGF0ZSB3ZSBwb3N0IGEgd2FybmluZyBhbmQgcGx1ZyBhCgkgIGZha2UtZWxlbWVudC4gRG8gdGhlIHNhbWUgd2hlbiBub24gb2YgdGhlIGNhbmRpZGF0ZSB3b3JrLgoJICBUaGlzIGlzIG1vcmUgY29uc2lzdGVudCBhbmQgcGx1Z2luIHRoZSBmYWtlc2luayBhcyBhIGZhbGxiYWNrIGlzIHByb2JhYmx5CgkgIGhlbHBmdWwgZm9yIHJ1bm5pbmcgdW5pdCB0ZXN0cyB3aXRob3V0IHJlcXVpcmluZyBoYXJkd2FyZSBzcmMvc2luayBlbGVtZW50cy4KCSAgRml4ZXMgIzcyMjk4MQoKMjAxNC0wMi0yMyAxMjozNDo0OCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkgIHY0bDI6IG1ha2Ugc29tZSBtb3JlIGNvbnRyb2xzIGNvbmZpZ3VyYWJsZQoJICAuLi4gYXQgbGVhc3QgaWYgb25lIHRyaWVzIGhhcmQgZW5vdWdoIHVzaW5nIGV4dHJhLWNvbnRyb2xzIHByb3BlcnR5LgoKMjAxNC0wMi0yMyAxMDozOToyMCArMDEwMCAgRGFuIEtlZ2VsIDxkYW5rQGtlZ2VsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgdjRsMjogUmVxdWlyZSBtcGxhbmFyIHN1cHBvcnQgZm9yIG5vdyBpbiBjb25maWd1cmUKCSAgVGhlIGNvZGUgZmFpbHMgdG8gY29tcGlsZSB3aXRob3V0IGN1cnJlbnRseSwgc2VlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjM0NDYKCSAgSXQncyBiZXR0ZXIgdG8gZGlzYWJsZSBpdCBpbnN0ZWFkIG9mIGZhaWxpbmcgY29tcGlsYXRpb24KCSAgdW50aWwgdGhpcyBpcyBmaXhlZCBwcm9wZXJseS4KCjIwMTQtMDItMjMgMDA6MTQ6MDQgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9jbGllbnQuYzoKCSAgamFjazogYWRkIHNvbWUgc2ltcGxlIGxvZyBoYW5kbGVycyBmb3IgamFjawoJICBBZGQgbG9nIGhhbmRsZXJzIGZvciBqYWNrIHRoYXQgd3JpdGUgdG8gdGhlIGdzdCBkZWJ1ZyBsb2cuIFRoaXMgYXZvaWRzIHNwYW1taW5nCgkgIHRoZSBjb25zb2xlIHdoZW4gZS5nLiB1c2luZyBhdXRvYXVkaW9zaW5rLCBoYXZpbmcgdGhlIGphY2sgZWxlbWVudHMgaW5zdGFsbGVkLAoJICBidXQgbm90IHJ1bm5pbmcgamFjay4KCjIwMTQtMDItMjIgMjE6MzE6MjEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1uYXV3QHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSAgdjRsMnNyYzogaGFuZGxlIG9sZCBhbmQgb2RkIGRyaXZlciBiZWhhdmlvdXIgd2hlbiBsaXN0aW5nIGNvbnRyb2xzCgoyMDEzLTExLTI4IDE2OjU0OjU4IC0wODAwICBEYXJyeWwgR2Ftcm90aCA8ZGdhbXJvdGhAdXZpYy5jYT4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZnhiYXNlaWlyZmlsdGVyLmM6CgkgIGF1ZGlvZnhiYXNlaWlyZmlsdGVyOiBjaGVjayBpZiBjb2VmZmljaWVudHMgYXJlIHByb3ZpZGVkIGluc2lkZSBmaWx0ZXIgbG9jawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzE5NTI0CgoyMDE0LTAyLTIxIDE5OjQ2OjQ0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMnNyYzogYWxzbyB1bnNldCBJTlRFUkxBQ0VEIGZsYWcgb24gYnVmZmVycyBpZiBmcmFtZSBpcyBub3QgaW50ZXJsYWNlZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI0ODk5CgoyMDE0LTAyLTIxIDE0OjMxOjU5ICswMDAwICBTaW1vbiBGYXJuc3dvcnRoIDxzaW1vbi5mYXJuc3dvcnRoQG9uZWxhbi5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDJzcmM6IEZsYWcgaW50ZXJsYWNlZCBidWZmZXJzIGFzIGludGVybGFjZWQuCgkgIFdlIGNvcnJlY3RseSBpbmRpY2F0ZSB0aGUgZmllbGQgb3JkZXJpbmcgb24gaW50ZXJsYWNlZCBidWZmZXJzLCBidXQgZmFpbCB0bwoJICBmbGFnIHRoZW0gYXMgY29udGFpbmluZyBpbnRlcmxhY2VkIHZpZGVvLCB3aGljaCB3ZSBuZWVkIHRvIGRvIGhlcmUgYmVjYXVzZQoJICB3ZSBzaWduYWwgaW50ZXJsYWNlLW1vZGU9bWl4ZWQgaW4gb3VyIGNhcHMuIFRoaXMgbWVhbnMgdGhhdCBkb3duc3RyZWFtCgkgIGVsZW1lbnRzIChsaWtlIHZhYXBpcG9zdHByb2MgZnJvbSBnc3RyZWFtZXItdmFhcGkpIGRvbid0IHJlY29nbmlzZSB0aGVzZQoJICBidWZmZXJzIGFzIGluIG5lZWQgb2YgZGVpbnRlcmxhY2luZy4KCSAgRml4IHRoaXMgYnkgc2V0dGluZyB0aGUgaW50ZXJsYWNlZCBmbGFnIG9uIGFsbCBpbnRlcmxhY2VkIGJ1ZmZlcnMuCgkgIFNpZ25lZC1vZmYtYnk6IFNpbW9uIEZhcm5zd29ydGggPHNpbW9uLmZhcm5zd29ydGhAb25lbGFuLmNvLnVrPgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI0ODk5CgoyMDE0LTAyLTE5IDEzOjU2OjM3IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyLnZlcmRlam9Ac2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSAgYWFjcGFyc2U6IGJlIG1vcmUgc3RyaWN0IGF0IEFEVFMgaGVhZGVyIHBhcnNpbmcKCSAgQWRkcyB0d28gZXh0cmEgY2hlY2tzOgoJICAtIFNhbXBsaW5nIGZyZXF1ZW5jeSBvbiBoZWFkZXIgY2FuJ3QgYmUgMTUuCgkgIC0gRnJhbWUgc2l6ZSBzaG91bGQgYmUgYXQgbGVhc3QgOSBvciA3LCBkZXBlbmRpbmcKCSAgb24gd2hldGhlciBDUkMgcHJvdGVjdGlvbiBpcyBwcmVzZW50LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI0NjM4CgoyMDE0LTAyLTE5IDEzOjM1OjU5IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyLnZlcmRlam9Ac2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSAgYWFjcGFyc2U6IG1ha2Ugc3VyZSB3ZSBoYXZlIGVub3VnaCBBRFRTIGRhdGEKCSAgV2UgbmVlZCBhdCBsZWFzdCA2IGJ5dGVzIHRvIHBhc3Mgb3ZlciB0byBfZ2V0X2ZyYW1lX2xlbigpCgkgIGJ1dCB3ZSB3ZXJlIGp1c3QgY2hlY2tpbmcgZm9yIGEgbWluaW11bSBvZiAyIGJ5dGVzIGZvciB0aGUKCSAgc3luY3dvcmQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjQ2MzgKCjIwMTQtMDItMjAgMjI6NTI6NTcgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvZGV0ZWN0LmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9kZXRlY3QuaDoKCSAgYXV0b2RldGVjdDogY2hlY2sgaWYgdGhlIGtpZCBoYXMgYSBzeW5jIHByb3BlcnR5CgkgIHByZXZpb3VzbHkgYXV0b3ZpZGVvc3JjIGRpZCBub3QgaGF2ZSBhIHN5bmMgcHJvcGVydHkgYW5kIHY0bDJzcmMgaGFzIG5vbmUgZWl0aGVyLgoKMjAxNC0wMi0xOSAyMTo1NTo1MiArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NpbmsuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc2luay5oOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zcmMuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc3JjLmg6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9kZXRlY3QuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2RldGVjdC5oOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zaW5rLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NpbmsuaDoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc3JjLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NyYy5oOgoJICBhdXRvZGV0ZWN0OiB1c2UgYSBjb21tb24gYmFzZWNsYXNzCgkgIFRoaXMgbWFrZXMgdGhlIGFjdHVhbCBlbGVtZW50cyBzdXBlciBzaW1wbGUuIFdlJ3JlIHVzaW5nIHRoZSBFTEVNRU5UX0ZMQUcgdG8KCSAgY29uZmlndXJlIHNvdXJjZS9zaW5rIGFuZCBhIHN0cmluZyBmb3IgdGhlIEF1ZGlvL1ZpZGVvIHR5cGUuCgoyMDE0LTAyLTE0IDE3OjE0OjQyIC0wODAwICBBbGVpeCBDb25jaGlsbG8gRmxhcXXDqSA8YWxlaXhAb2Jsb25nLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBydHNwc3JjOiBhZGQgdGxzLWRhdGFiYXNlIHByb3BlcnR5CgkgIEFkZCBzdXBwb3J0IGZvciBhIG5ldyBwcm9wZXJ0eTogdGxzLWRhdGFiYXNlLiBJZiB0aGUgcHJvcGVydHkgaXMgc2V0LAoJICB0aGUgY2VydGlmaWNhdGUgZGF0YWJhc2Ugd2lsbCBiZSBnaXZlbiB0byB0aGUgcnRzcCBjb25uZWN0aW9uIGlmIFRMUwoJICBwcm90b2NvbCBpcyBiZWluZyB1c2VkLiBJZiB0aGUgc2VydmVyIGNlcnRpZmljYXRlIGNhbid0IGJlIHZlcmlmaWVkIHdpdGgKCSAgdGhlIGRlZmF1bHQgZGF0YWJhc2UsIHRoaXMgYWRkaXRpb25hbCBkYXRhYmFzZSB3aWxsIGJlIHVzZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjQzOTYKCjIwMTQtMDItMTkgMjI6MjE6NTQgKzAxMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9yaW5nYnVmZmVyLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NpbmsuYzoKCSAgb3N4YXVkaW86IHJlbW92ZSB1bnVzZWQgdmFyaWFibGVzCgoyMDE0LTAyLTE5IDIxOjI2OjAzICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc2luay5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zcmMuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2RldGVjdC5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvZGV0ZWN0Lmg6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NpbmsuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc3JjLmM6CgkgIGF1dG9kZXRlY3Q6IGV4dHJhY3QgY29tbW9uIGhlbHBlciBjb2RlCgkgIFRoZSBmdW5jdGlvbiB0byBnZW5lcmF0ZSB0aGUgcHJldHR5IG5hbWVzIGlzIGJhc2ljYWxseSB0aGUgc2FtZS4gVXNlIG9uZSBhbmQgYWRkCgkgIGEgcGFyYW1ldGVyLgoKMjAxNC0wMi0xOSAyMTowMTozOSArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdXRvZGV0ZWN0LmM6CgkgIGF1dG9kZXRlY3Q6IGltcHJvdmUgdGhlIHRlc3RzCgkgIEFkZCBmYWtlIGF1ZGlvL3ZpZGVvIHNpbmtzLiBQcmV2aW91c2x5IHJ1bm5pbmcgdGhlIHRlc3QgbWlnaHQgYmUgZmxha3kgZHVlIHRvCgkgIHRoZSB1c2Ugb2YgcmVhbCBlbGVtZW50cyAoaGFyZHdhcmUgaW4gdXNlKSwgd2hpY2ggd2UgZG9uJ3Qgd2FudCB0byB0ZXN0IGhlcmUuCgkgIEFkZCB0d28gbW9yZSB0ZXN0cyB0aGF0IGNoZWNrIHRoYXQgdGhlIGZha2VzIGFyZSBjaG9zZW4uCgoyMDE0LTAyLTE5IDE1OjE5OjMwICswMTAwICBCcmFuaXNsYXYgS2F0cmVuaWFrIDxia2F0cmVuaWFrQG51dm90ZWNobm9sb2dpZXMuY29tPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cGh0dHBzcmM6IGRvIG5vdCBlbWl0IGVycm9yIHdoZW4gY29ubmVjdGlvbiB3aXRoIHVua25vd24gc2l6ZSBlbmRzCgkgIENvbW1pdCA0NmZkMTJhZTVlYzUzMjAwYjE2ZGZkN2YxNzA0OGQ2YmM2MGZiZmJjIGludHJvZHVjZWQgY29ubmVjdGlvbgoJICByZWNvdmVyeS4gQnV0IHdoZW4gc2VydmVyIGRvZXMgbm90IHNwZWNpZnkgY29udGVudC1zaXplLAoJICBzb3VwaHR0cHNyYyB0cmllcyB0byByZWNvbm5lY3QgZXZlbiBhZnRlciByZWd1bGFyIGVuZCBvZiBzdHJlYW0uCgkgIEh0dHAgc2VydmVyIHJlcGxpZXMgIHdpdGggU09VUF9TVEFUVVNfUkVRVUVTVEVEX1JBTkdFX05PVF9TQVRJU0ZJQUJMRQoJICBidXQgc291cGh0dHBzcmMgc3RpbGwgZW1pdHMgZXJyb3IgaW5zdGVhZCBvZiBFT1MuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjQ3MTcKCSAgU2lnbmVkLW9mZi1ieTogQnJhbmlzbGF2IEthdHJlbmlhayA8YmthdHJlbmlha0BudXZvdGVjaG5vbG9naWVzLmNvbT4KCjIwMTQtMDItMTkgMTE6MjY6MjIgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdXRvZGV0ZWN0LmM6CgkgIGF1dG9kZXRlY3Q6IGZpeCB0aGUgZGlzYWJsZWQgdGVzdAoJICBVc2UgYSBzaGFyZWQgaGVscGVyIGZvciBib3RoIHRlc3RzLiBJdCB0dXJucyBvdXQgdGhhdCB0aGUgdmFsZ3JpbmQgdmFyaWFudCBpcwoJICBmaW5lIChtYXliZSBkdWUgdG8gcGlja2luZyB1cCBwdWxzZXNpbmsgdGhvdWdoKS4KCjIwMTQtMDItMTkgMTE6MDU6MzUgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdXRvZGV0ZWN0LmM6CgkgIGF1dG9kZXRlY3Q6IHJlbW92ZSBjcnVmdCBmcm9tIHRoZSB0ZXN0CgkgIFJlbW92ZSB0aGUgb2Jzb2xldGUgdmVyc2lvbiBjaGVjayBhbmQgdXNlIHRoZSBpZ25vcmUgbWFjcm8gZm9yIHRoZSBkaXNhYmxlZCB0ZXN0LgoKMjAxNC0wMi0xOCAyMjo1NDo0NSArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZmlyZmlsdGVyLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvaWlyZmlsdGVyLmM6CgkqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOgoJKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSAgZG9jczogdXNlIGRvY2Jvb2sgbWFya3VwIGZvciB4aTppbmNsdWRlCgkgIEl0IHR1cm5zIG91dCB0aGF0IHRoZSBjaGFuZ2UgaW4gZ3RrLWRvYy0xLjIwIHdoaWNoIHdyYXBzIHRoZSB8W118IGNvbnRlbnQgaW4KCSAgQ0RBVEEgYnJlYWsgeGk6aW5sY3VkZSBleGFtcGxlcy4gQXMgaW4gYSB3aG9sZSBqaGJ1aWxkIGNoZWNrb3V0IHRoZXNlIHdoZXJlCgkgIHRoZSBvbmx5IDQsIHdlJ3JlIGZpeGluZyB0aGVtIGluc3RlYWQuCgoyMDE0LTAyLTE4IDIyOjM1OjQ1ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC1kb2MuaDoKCSAgaXNvbXA0bXV4OiBmaXggY29weSBhbmQgcGFzdGUKCSAgVGhpcyBmaXhlcyBkb2Mgd2FybmluZ3MuCgoyMDE0LTAyLTE4IDIxOjQ0OjI0ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y2Fwc3NldHRlci5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LWRvYy5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOgoJKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ2FuYWx5c2lzLmM6CgkqIGdzdC9yZXBsYXlnYWluL2dzdHJndm9sdW1lLmM6CgkgIGRvY3M6IHVzZSB0aGUgZ3RrLWRvYyBzeW50YXggdG8gbGluayB0byBwcm9wZXJ0aWVzCgkgIERvbid0IHVzZSBkb2Nib29rIHVubGVzcyBuZWVkZWQuIEFsc28gc3RpcCBvdGhlciBkb2Nib29rIHRhZ3MgaW4gdGhlIHRoZSBmaWxlcyB3ZSBmaXguCgoyMDE0LTAyLTE4IDExOjI4OjE4ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IGZpeCBjcmFzaCB3aGVuIGdldHRpbmcgdGhlIGN1cnJlbnQtZGV2aWNlIGluIE5VTEwtPlJFQURZCgkgIFRoZSAiZ290byB1bmxvY2siIGlzIHdyb25nIGFzIGluIHRoaXMgY29kZSBwYXRoIHdlIGhhdmVuJ3QgdGFrZSB0aGUgbG9jayB5ZXQuCgkgIEZpeGVzICM3MjQ2MTkKCjIwMTQtMDItMTQgMjI6NTA6NDkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIHNvdXA6IFdlIG5lZWQgbGlic291cCA+PSAyLjQwIGZvciBwcm9wZXIgdXNhZ2Ugb2YgdGhlIGNvbnRlbnQgZGVjb2RlcgoJICBQcmV2aW91cyB2ZXJzaW9ucyBkaWQgbm90IGNvbnNpZGVyIG91ciBjaHVuayBhbGxvY2F0b3IgYW5kIGFsbG9jYXRlZAoJICBtZW1vcnkgYnkgdGhlbXNlbHZlcywgd2hpY2ggY2F1c2VkIGNyYXNoZXMgYW5kIGJyb2tlbiBiZWhhdmlvdXIuCgoyMDE0LTAyLTE0IDE1OjI3OjIwIC0wNTAwICBXaWxsaWFtIEpvbiBNY0Nhbm4gPHdpbGxpYW0uam9uLm1jY2FubkBnbWFpbC5jb20+CgoJKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJsaW1pdC5jOgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICBkb2NzOiBmaXggbWlzbWF0Y2hlZCBwYXJhIHRhZ3MKCSAgbmV3ZXIgZ3RrZG9jIGlzIG1vcmUgc2Vuc2l0aXZlIHRvIG1pc21hdGNoZWQgZG9jYm9vayB0YWdzLgoJICBUaGlzIGZpeGVzIHRoZSBidWlsZCBpbiBtYXN0ZXIuCgoyMDE0LTAyLTE0IDE1OjU5OjQ2ICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IGFkZCBzdXBwb3J0IGZvciBzZXJpYWxpemVkIHF1ZXJpZXMKCSAgU2VlIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjM4NTAKCjIwMTQtMDItMTQgMTU6NTM6NTUgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc291cGh0dHBzcmMuYzoKCSAgdGVzdHM6IGZpeCB0eXBlY2FzdCB0byBmaXggY29tcGlsYXRpb24KCjIwMTQtMDItMTQgMTI6MDE6MDAgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBwcm94eSBjYXBzIGFuZCBhbGxvY2F0aW9uIG9uIFJUUCBwYWRzCgkgIHJlY3ZfcnRwX3Npbms6IGFsbG93IHByb3h5aW5nIG9mIHRoZSBhbGxvY2F0aW9uIHF1ZXJ5LgoJICBzZW5kX3J0cF9zaW5rOiBhbGxvdyBwcm94eWluZyBvZiBjYXBzIGFuZCBhbGxvY2F0aW9uLiBUaGlzIGFsbG93cyB1cyB0bwoJICBxdWVyeSBjYXBzIGRvd25zdHJlYW0gYXMgd2VsbCBhcyBnZXQgYW4gYWxsb2NhdG9yIGZyb20gZG93bnN0cmVhbS4KCSAgc2VuZF9ydHBfc3JjOiBhbGxvdyBwcm94eSBvZiBjYXBzLCB0aGlzIG1ha2VzIHRoZSBjYXBzIHF1ZXJ5IGRvCgkgIHVwc3RyZWFtLgoJICBTZWUgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMzg1MAoKMjAxNC0wMi0xMyAxMjoyOToxMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogaGFuZGxlIHRhZ3MgaW4gbWFjIGVuY29kaW5nCgkgIENoZWNrIHRoZSBjaGFyc2V0IGZyb20gKEMpKioqIHRhZ3MgYW5kIHNldCB0aGUgY2hhcnNldAoJICB0byBjb252ZXJ0IGZyb20gTUFDIGVuY29kaW5nIGlmIHN1aXRhYmxlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIzMTY2CgoyMDE0LTAyLTEzIDEyOjA5OjEzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cGh0dHBzcmM6IFVzZSBuZXcgYXV0b21hdGljX2VvcyBBUEkgZnJvbSBiYXNlc3JjCgkgIFdlIHdhbnQgdG8gbm90aWNlIG91cnNlbHZlcyB0aGF0IHdlJ3JlIEVPUy4gT3RoZXJ3aXNlIHdlIHdpbGwKCSAgYWx3YXlzIGNhbmNlbCByZXF1ZXN0cyBpbiB0aGUgdmVyeSBlbmQgYW5kIGNvbmZ1c2UgdGhlIHNlcnZlci4uLgoJICBhbmQgYWxzbyBtYWtlIGl0IGltcG9zc2libGUgdG8gdXNlIHBlcnNpc3RlbnQgY29ubmVjdGlvbnMuCgoyMDE0LTAyLTEzIDExOjExOjEzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cGh0dHBzcmM6IENvbnNpc3RlbnRseSB1c2UgaGF2ZV9zaXplIGluc3RlYWQgb2YgY29udGVudF9zaXplIT0wCgoyMDE0LTAyLTEzIDEwOjMwOjA5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cGh0dHBzcmM6IEZyZWUgZXh0cmEgaGVhZGVycyB3aGVuIGZpbmFsaXppbmcgdGhlIGVsZW1lbnQKCSAgSXQncyBzZXQgYXMgcHJvcGVydHkgYnkgdGhlIGFwcGxpY2F0aW9uLCB3ZSBzaG91bGQgbm90IGp1c3QgcmVzZXQKCSAgcHJvcGVydGllcyB3aGVuIGdvaW5nIGJhY2sgdG8gUkVBRFkuCgoyMDE0LTAyLTEzIDEwOjI4OjEzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cGh0dHBzcmM6IFByb3Blcmx5IGNsb3NlIHRoZSBzZXNzaW9uIHdoZW4gZ29pbmcgYmFjayB0byBOVUxMCgkgIERvbid0IHdhaXQgZm9yIHRoYXQgdW50aWwgdGhlIGVsZW1lbnQgaXMgZGlzcG9zZWQuCgoyMDEzLTAyLTI4IDEyOjIwOjUyICswMTAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuaDoKCSAgc291cGh0dHBzcmM6IGFkZCBzdXBwb3J0IGZvciBrZWVwLWFsaXZlIHNlc3Npb25zCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTk5MjYKCjIwMTQtMDItMTIgMTM6MDA6MTMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5oOgoJICBzb3VwaHR0cHNyYzogQWRkICJjb21wcmVzcyIgcHJvcGVydHkgdG8gZW5hYmxlL2Rpc2FibGUgYXV0b21hdGljIGd6aXAvZGVmbGF0ZSBjb250ZW50IGVuY29kaW5nIGhhbmRsaW5nCgoyMDE0LTAyLTEyIDEyOjM5OjEwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cGh0dHBzcmM6IFJldHJ5IGNvbm5lY3Rpb24gaWYgd2UncmUgZmluaXNoZWQgYmVmb3JlIHRoZSBjb250ZW50IHNpemUgb25seSBpZiB3ZSBhY3R1YWxseSBoYXZlIGEgY29udGVudCBzaXplCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjIxODUKCjIwMTQtMDItMTIgMTA6MDg6NTAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwdXRpbHMuYzoKCSAgc291cHV0aWxzOiBGaXggY29tcGlsZXIgd2FybmluZwoJICBnc3Rzb3VwdXRpbHMuYzozNToyNTogZXJyb3I6IGNvbXBhcmlzb24gb2YgY29uc3RhbnQgOSB3aXRoIGV4cHJlc3Npb24gb2YgdHlwZQoJICAnU291cExvZ2dlckxvZ0xldmVsJyBpcyBhbHdheXMgZmFsc2UKCSAgWy1XZXJyb3IsLVd0YXV0b2xvZ2ljYWwtY29uc3RhbnQtb3V0LW9mLXJhbmdlLWNvbXBhcmVdCgoyMDE0LTAxLTA3IDIzOjAwOjU2IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyLnZlcmRlam9Ac2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9zb3VwL01ha2VmaWxlLmFtOgoJKiBleHQvc291cC9nc3Rzb3VwLmM6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwY2xpZW50c2luay5jOgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cGNsaWVudHNpbmsuaDoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuaDoKCSogZXh0L3NvdXAvZ3N0c291cHV0aWxzLmM6CgkqIGV4dC9zb3VwL2dzdHNvdXB1dGlscy5oOgoJICBzb3VwaHR0cCo6IGFkZCBhYmlsaXR5IHRvIGRvIEhUVFAgc2Vzc2lvbiBsb2dnaW5nCgkgIFRoaXMgY2hhbmdlc2V0IGFkZHMgdGhlIGxvZ2dpbiBpbmZyYXN0cnVjdHVyZSBhbmQKCSAgbW9kcyBib3RoIHNvdXBodHRwc3JjIGFuZCBzb3VwaHR0Y2xpZW50c2luayB0byB1c2UgaXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjE3NjQKCjIwMTQtMDItMDcgMTQ6MDA6MTUgKzAxMDAgIGRpdmhhZXJlIDxkaXJrLnZhbmhhZXJlbmJvcmdoQHVnZW50LmJlPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2E6IGFkZCBzdXBwb3J0IGZvciBHUkFZOCwgQkdSIGFuZCBSR0IgdmlkZW8gY29sb3Vyc3BhY2VzIGluIFZfVU5DT01QUkVTU0VEIGNvZGVjCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjM4NDkKCjIwMTQtMDItMTEgMTM6MjU6NDYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwaHR0cHNyYzogQWRkIG1hcHBpbmcgZm9yIE5PVF9GT1VORCBhbmQgTk9UX0FVVEhPUklaRUQgZXJyb3JzCgoyMDE0LTAyLTExIDEzOjI1OjIyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cGh0dHBzcmM6IERvbid0IGR1cGxpY2F0ZSBzdGF0dXNfY29kZSB0byBHU3RyZWFtZXIgZXJyb3IgbWFwcGluZwoKMjAxNC0wMi0wOSAyMzozODo0NCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9nb29tL2ZpbHRlcnMuYzoKCSogZ3N0L2dvb20yazEvZmlsdGVycy5jOgoJICBnb29tOiBSZW1vdmUgdW51c2VkIGZ1bmN0aW9ucwoKMjAxNC0wMi0wOSAyMzoyMToyMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5jOgoJICBtYXRyb3NrYXBhcnNlOiBDb21tZW50IG91dCBzb21lIHVudXNlZCBmdW5jdGlvbnMgdXNlZCBvbmx5IGZyb20gdGhlIGNvbW1lbnRlZCBvdXQgcHVsbC1tb2RlIGNvZGUKCjIwMTQtMDItMDggMjE6MDE6MzIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvdGFnbGliL2dzdGlkM3YybXV4LmNjOgoJICBpZDN2Mm11eDogRml4IGFub3RoZXIgY29tcGlsZXIgd2FybmluZwoKMjAxNC0wMi0wOCAxNzo0MzozMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NvdXBodHRwc3JjLmM6CgkgIHNvdXBodHRwc3JjOiBGaXggaW1wbGljaXQgZW51bSBjb252ZXJzaW9uIGNvbXBpbGVyIHdhcm5pbmcKCSAgZXJyb3I6IGltcGxpY2l0IGNvbnZlcnNpb24gZnJvbSBlbnVtZXJhdGlvbiB0eXBlCgkgICdTb3VwU3RhdHVzJyB0byBkaWZmZXJlbnQgZW51bWVyYXRpb24gdHlwZSAnU291cEtub3duU3RhdHVzQ29kZScKCjIwMTQtMDItMDggMTc6NDE6MjEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pbnRlcmxlYXZlLmM6CgkgIGludGVybGVhdmU6IEZpeCB1bml0aWFsaXplZCB2YXJpYWJsZSBjb21waWxlciB3YXJuaW5nIGluIHRlc3QKCSAgZXJyb3I6IHZhcmlhYmxlICdtYXNrJyBpcyB1c2VkIHVuaW5pdGlhbGl6ZWQKCSAgd2hlbmV2ZXIgJ2lmJyBjb25kaXRpb24gaXMgZmFsc2UgWy1XZXJyb3IsLVdzb21ldGltZXMtdW5pbml0aWFsaXplZF0KCjIwMTQtMDItMDggMTc6Mjc6NTEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvdGFnbGliL2dzdGlkM3YybXV4LmNjOgoJICBpZDN2Mm11eDogRml4IHVuaXRpYWxpemVkIHZhcmlhYmxlIGNvbXBpbGVyIHdhcm5pbmcKCSAgZXJyb3I6IHZhcmlhYmxlICdpbWFnZV90eXBlJyBpcyB1c2VkIHVuaW5pdGlhbGl6ZWQKCSAgd2hlbmV2ZXIgJ2lmJyBjb25kaXRpb24gaXMgZmFsc2UgWy1XZXJyb3IsLVdzb21ldGltZXMtdW5pbml0aWFsaXplZF0KCjIwMTQtMDItMDggMTc6MjU6MjcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvb3NzNC9vc3M0LWF1ZGlvLmg6CgkgIG9zczQ6IEZpeCB0eXBvIGluIGhlYWRlciBpbmNsdWRlIGd1YXJkCgkgIGVycm9yOiAnR1NUX09TUzRfQVVESU9fSCcgaXMgdXNlZCBhcyBhIGhlYWRlciBndWFyZCBoZXJlLAoJICBmb2xsb3dlZCBieSAjZGVmaW5lIG9mIGEgZGlmZmVyZW50IG1hY3JvIFstV2Vycm9yLC1XaGVhZGVyLWd1YXJkXQoKMjAxNC0wMi0wOCAxNzoyNDowNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHNlbmQuYzoKCSAgcnRwcnR4c2VuZDogRml4IHVuaXRpYWxpemVkIHZhcmlhYmxlIGNvbXBpbGVyIHdhcm5pbmcKCSAgdmFyaWFibGUgJ3J0eF9zc3JjJyBpcyB1c2VkIHVuaW5pdGlhbGl6ZWQgd2hlbmV2ZXIKCSAgJ2lmJyBjb25kaXRpb24gaXMgZmFsc2UgWy1XZXJyb3IsLVdzb21ldGltZXMtdW5pbml0aWFsaXplZF0KCjIwMTQtMDItMDggMTc6MjE6MTkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGFjM2RlcGF5LmM6CgkgIHJ0cGFjM2RlcGF5OiBSZW1vdmUgdW51c2VkIHZhcmlhYmxlCgoyMDE0LTAyLTA4IDE3OjE5OjE5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2ZseC9mbHhfZm10Lmg6CgkgIGZseDogRml4IHR5cG8gaW4gaGVhZGVyIGluY2x1ZGUgZ3VhcmQKCSAgZXJyb3I6ICdfX0dTVF9GTFhfRk1UX19IX18nIGlzIHVzZWQgYXMgYSBoZWFkZXIgZ3VhcmQgaGVyZSwKCSAgZm9sbG93ZWQgYnkgI2RlZmluZSBvZiBhIGRpZmZlcmVudCBtYWNybyBbLVdlcnJvciwtV2hlYWRlci1ndWFyZF0KCjIwMTQtMDItMDcgMTA6MDc6NDEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4Lmg6CgkgIHF0bXV4OiByZW1vdmUgaGF2ZV9kdHMgZmxhZyBmcm9tIHBhZHMKCSAgSXQgd2FzIHVzZWQgaW4gdGhlIHBhc3QgaW4gMC4xMCB3aGVuIHRoZXJlIHdhcyBubyBleHBsaWNpdCBEVFMKCSAgZmllbGQgaW4gYnVmZmVycywgbm93IHdlIGhhdmUgaXQgaW4gMS54IHNlcmllcyBhbmQgd2UgY2FuCgkgIGNoZWNrIGl0IGRpcmVjdGx5IHdpdGggR1NUX0JVRkZFUl9EVFNfSVNfVkFMSUQKCjIwMTQtMDItMDcgMDE6NDk6MjYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4Lmg6CgkgIHF0bXV4OiBpbXByb3ZlIHN1cHBvcnQgZm9yIHNwYXJzZSBzdHJlYW1zCgkgIERvIG5vdCB0cnkgdG8gdXNlIHN1YnNlcXVlbnQgYnVmZmVyIHRpbWVzdGFtcHMgdG8gY2FsY3VsYXRlCgkgIHNwYXJzZSBzdHJlYW1zIGR1cmF0aW9ucyBiZWNhdXNlIHRoZSBzdHJlYW0gaXMgc3BhcnNlIGFuZAoJICB0aGUgYnVmZmVycyBtaWdodCBub3QgYmUgJ3RpbWUgYWRqYWNlbnQnLiBTbyByZWx5IG9uIHRoZQoJICBkdXJhdGlvbiBhbmQgZ2l2ZSB0aGUgb3B0aW9uIHRvIHRoZSBwYWQgdG8gcHJvdmlkZQoJICBjdXN0b20gJ2VtcHR5JyBidWZmZXJzIHRvIHJlcHJlc2VudCB0aGUgZ2FwcyBpbiB0aGUKCSAgc3RyZWFtLCB0aGlzIGNhbiB2YXJ5IG9uIGhvdyB0aGUgZGF0YSBpcyByZXByZXNlbnRlZC4KCSAgUmlnaHQgbm93LCB0aGUgb25seSBzcGFyc2Ugc3RyZWFtIHN1cHBvcnRlZCBpcyB0eDNnIHN1YnRpdGxlcy4KCjIwMTQtMDItMDYgMTI6MTU6MjIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4bWFwLmM6CgkgIHF0bXV4OiBhZGQgc3VwcG9ydCBmb3IgdGV4dC94LXJhdyBzdWJ0aXRsZXMKCSAgQWRkcyBpdCB0byBtcDRtdXgsIHF0bXV4IGFuZCBncHBtdXguCgkgIEJ1ZmZlcnMgbmVlZCB0byBiZSBwcmVmaXhlZCB3aXRoIDIgYnl0ZXMgZm9yIHRoZSB0ZXh0IGxlbmd0aCBiZWZvcmUKCSAgYmVpbmcgbXV4ZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD01ODEyOTUKCjIwMTQtMDItMDYgMTI6MDk6MDEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9hdG9tcy5jOgoJKiBnc3QvaXNvbXA0L2F0b21zLmg6CgkqIGdzdC9pc29tcDQvZm91cmNjLmg6CgkgIHF0bXV4OiBhZGQgc3VwcG9ydCBmb3IgdGhlIFRYM0cgYXRvbXMKCSAgQWRkcyBmdW5jdGlvbnMgZm9yIGNyZWF0aW5nIGFuZCBzZXR0aW5nIHZhbHVlcyByZWxhdGVkIHRvIHRoZQoJICB0eDNnIGF0b20gZm9yIHJhdyB0ZXh0IHN1YnRpdGxlIHN1cHBvcnQuCgkgIFFURkYgc3BlYyBoYXMgaW5mb3JtYXRpb24gb24gdGhvc2UgYXRvbXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTU4MTI5NQoKMjAxNC0wMi0wNSAxMDoyNzo1NCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguaDoKCSogZ3N0L2lzb21wNC9nc3RxdG11eG1hcC5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4bWFwLmg6CgkgIHF0bXV4OiBhZGQgc3VidGl0bGUgc3VwcG9ydCB0byBxdG11eG1hcCBzdHJ1Y3R1cmVzCgkgIGFkZHMgYmFzaWMgc3R1YnMgZm9yIHN1YnRpdGxlIHN1cHBvcnQgYXJvdW5kIHRoZSBxdG11eCBhbmQKCSAgcXRtdXhtYXAgc3RydWN0dXJlcy4gU3RpbGwgbm8gcmVhbCBzdWJ0aXRsZSBpbXBsZW1lbnRlZCwgYnV0CgkgIGJhc2ljIGZ1bmN0aW9ucyBpbiBwbGFjZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTgxMjk1CgoyMDE0LTAxLTIwIDE3OjMxOjE0IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyLnZlcmRlam9Ac2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuaDoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uaDoKCSAgbWF0cm9za2E6IGZhY3RvciBvdXQgcmVhZCBjb250ZXh0IGluaXQvcmVzZXQKCSAgV2hpbGUgYXQgdGhpcywgbW92ZSBfdHJhY2tfcmVzZXQoKSB0byB0cmFjay1pZHMKCSAgc28gaXQgY2FuIGJlIGNhbGxlZCBmcm9tIHRoZSBjb21tb24gcmVhZCBjb250ZXh0CgkgIHJlc2V0IHJvdXRpbmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjI3MDUKCjIwMTQtMDItMDYgMTI6MjE6MDcgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L2VmZmVjdHYvZ3N0cmV2LmM6CgkgIGVmZmVjdHY6IGZpeCBkb2Mgc2VjdGlvbiBvZiByZXZ0diBlbGVtZW50CgoyMDE0LTAyLTA1IDEyOjQ2OjU0ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogc3lzL29zeHZpZGVvL01ha2VmaWxlLmFtOgoJICBvc3h2aWRlbzogRml4IGxpYnRvb2wgdXNhZ2UKCSAgLS10YWc9Q0MgaXMgbmVlZGVkIGZvciBzdGF0aWMgYnVpbGQKCjIwMTQtMDEtMTYgMTE6MjY6NDEgKzAwMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IGRvIG5vdCB0cnkgc2V0IGRlaW50ZXJsYWNlIG1ldGhvZCBpZiBwYXNzdGhyb3VnaCBpcyBlbmFibGVkCgkgIEZpeGVzIGFuIGlzc3VlIHdpdGggcHJvZ3Jlc3NpdmUgY29udGVudCBhbmQgdW5zdXBwb3J0ZWQgdmlkZW8gZm9ybWF0cwoJICBmb3IgdGhlIGRlaW50ZXJsYWNlIG1ldGhvZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxOTYzNgoKMjAxNC0wMi0wNCAyMToyNjo1NiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSAgZmxhY2VuYzogb3JkZXIgZm9ybWF0IGluIHRlbXBsYXRlIGNhcHMgYnkgcHJlZmVyZW5jZQoJICBUbyBtaW5pbWlzZSByaXNrIG9mIGJhZCBmaXhhdGlvbiwgdGhvdWdoIGF1ZGlvY29udmVydAoJICBhdCBsZWFzdCBzaG91bGQgYmUgc21hcnQgZW5vdWdoIHRvIGF2b2lkIGl0LgoKMjAxNC0wMi0wMiAwOTo1NzowMyAtMDgwMCAgRGFuIEtlZ2VsIDxkYW5rQGtlZ2VsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgdjRsMjogUmVtb3ZlIG9ic29sZXRlIGRlZmluaXRpb24gR1NUX1Y0TDJfTUlTU0lOR19CVUZERUNMCgkgIFRoZSBvbmx5IHVzZSB3YXMgcmVtb3ZlZCBieSA5ZWRjMGMwMzY1Zjc5YWIwN2ZmMmU2NTQ2MWM2Njk2ZTM5MzFhM2YwCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjM0NDYKCjIwMTQtMDItMDQgMTM6NDM6NTYgKzAxMDAgIFJhZmHFgiBNdcW8ecWCbyA8Z2FsdGdlbmRvQG8yLnBsPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkqIGdzdC9jdXR0ZXIvZ3N0Y3V0dGVyLmM6CgkgIGdzdDogRG9uJ3QgdXNlIGVuZGlhbm5lc3Mtc3BlY2lmaWMgUzggYXVkaW8gZm9ybWF0CgkgIEl0IGRvZXMgbm90IGV4aXN0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIzMzMxCgoyMDE0LTAxLTMxIDE0OjE3OjU0ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jYWlyby9nc3RjYWlyb292ZXJsYXkuYzoKCSAgY2Fpcm9vdmVybGF5OiBhZGQgc3VwcG9ydCBmb3IgUkdCMTYKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMzI4OQoKMjAxNC0wMS0zMCAwOTo0Mzo1MCArMDEwMCAgUGVyIHggSm9oYW5zc29uIDxwZXJ4am9oQGF4aXMuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4Lmg6CgkgIG1hdHJvc2thbXV4OiBGaXggY29uc3RhbnRseSBncm93aW5nIHVzZWQgdWlkIGxpc3QKCSAgTW92ZXMgdGhlIHVzZWQgdWlkIGxpc3QgdG8gdGhlIGNsYXNzIHRvIGF2b2lkIGhhdmluZyBpdCBncm93IGZvcmV2ZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjMyNjkKCjIwMTQtMDEtMzAgMTA6NDQ6MDUgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGQ0OGJlZDMgdG8gMWEwN2RhOQoKMjAxNC0wMS0yNCAwMTo1MjowOCArMDAwMCAgTWlrZSBTaGVsZG9uIDxlbGxlb0BnbnUub3JnPgoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIHdhdnBhcnNlOiBJZ25vcmUgQnJvYWRjYXN0IFdhdmUgRm9ybWF0IChCV0YpIHRhZ3Mgd2hlbiBzZWFyY2hpbmcgZm9yICdmbXQnIGNodW5rCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjMxMjUKCjIwMTQtMDEtMjkgMTA6Mzc6NTMgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBhdXguYzoKCSAgY2hlY2s6IFVzZSBmYWtlc2luayBzeW5jPVRydWUgaW5zdGVhZCBvZiBhbiBhdWRpbyBzaW5rCgkgIEVuc3VyZXMgdGhlIHRlc3QgY2FuIHJ1biBvbiBzeXN0ZW1zIHdpdGhvdXQgYWxzYSAob3IgYW55IGF1ZGlvIG91dHB1dCBmb3IKCSAgdGhhdCBtYXR0ZXIpLCBhbmQgd2lsbCBhdm9pZCBwZW9wbGUgcnVubmluZyBidWlsZCBzbGF2ZXMgd29uZGVyaW5nIHdoYXQKCSAgdGhlIGhlbGwgd2FzIGJlZXBpbmcgZHVyaW5nIHRoZSBuaWdodCA6KQoKMjAxNC0wMS0yNyAyMDowNTo0MiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bW5hdXdAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJICBhYzNwYXJzZTogY3VzdG9tIGdldF9zaW5rX2NhcHMgaGFuZGxpbmcgZm9yIHByaXZhdGUgc3RyZWFtIGNhcHMKCSAgLi4uIG5vdyB0aGF0IHRob3NlIGFyZSB0cmFuc2Zvcm1lZCByYXRoZXIgdGhhbiBwYXJzZWQsIHNvbWUgdHJhbnNmb3JtaW5nCgkgIG9mIGNhcHMgaXMgcmVxdWlyZWQgYXMgd2VsbCB0byBtYWtlIGF1dG8tcGx1Z2dpbmcgc3VjY2VlZC4KCjIwMTQtMDEtMjUgMDI6MDY6MDAgLTA1MDAgIFJ5YW4gTG9ydGllIDxkZXNydEBkZXNydC5jYT4KCgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSAgdjRsMjogZ3VhcmQgdXNlIG9mIEVOT0RBVEEgd2l0aCAjaWZkZWYKCSAgTm90IGFsbCBzeXN0ZW1zIHdpdGggdjRsIGhhdmUgRU5PREFUQSBkZWZpbmVkLCBzbyBjaGVjayB0aGF0IHdlIGhhdmUgaXQKCSAgYmVmb3JlIGF0dGVtcHRpbmcgdG8gdXNlIGl0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIyOTUzCgoyMDE0LTAxLTI0IDEyOjM3OjM5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIFJldmVydCAicnRzcHNyYzogUHJveHkgcnRwaml0dGVyYnVmZmVyIGRvLXJldHJhbnNtaXNzaW9uIHByb3BlcnR5IgoJICBUaGlzIHJldmVydHMgY29tbWl0IDlmN2IxMTI4YjFmMDBhMmI4N2EyMzJmZjg5MDg2NzU0OWFiOTViYTUuCgkgIFRoaXMgc2hvdWxkIGJlIGhhbmRsZWQgYXV0b21hdGljYWxseSBiZSBydHNwc3JjIGlmIHRoZSBBVlBGIHByb2ZpbGUKCSAgaXMgdXNlZCwgYW5kIG1hbnVhbCBlbmFibGluZyBvZiBpdCBjYW4gYmUgZG9uZSB3aXRoIHRoZSBuZXctbWFuYWdlcgoJICBzaWduYWwuCgoyMDE0LTAxLTI0IDEwOjIxOjExICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogYWRkIHNpZ25hbCB0byBub3RpZnkgb2YgbmV3IG1hbmFnZXIKCSAgU28gdGhhdCB5b3UgY2FuIGNvbmZpZ3VyZSBhbmQgY29ubmVjdCB0byBzaWduYWxzIG9uIHRoZSBydHBiaW4uCgkgIFNlZSBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIyODY2CgoyMDE0LTAxLTIzIDE1OjE3OjU4IC0wODAwICBBbGVpeCBDb25jaGlsbG8gRmxhcXXDqSA8YWxlaXhAb2Jsb25nLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBydHNwc3JjOiBQcm94eSBydHBqaXR0ZXJidWZmZXIgZG8tcmV0cmFuc21pc3Npb24gcHJvcGVydHkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMjg2NgoKMjAxNC0wMS0yMSAxNzo1Mjo0NCArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBoYW5kbGUgZXhwZWN0ZWQgcGFja2V0IGJlaW5nIGFuIFJUWCBwYWNrZXQKCSAgSWYgdGhlIGV4cGVjdGVkIHBhY2tldCAoZG9fbmV4dF9zZXFudW0gaXMgVFJVRSkgaXMgdGhlIG9uZSB3ZSByZXF1ZXN0ZWQKCSAgZm9yIHJldHJhbm1pc3Npb24gZWFybGllciwgZG8gdGhlIGxvZ2ljIHRvIHVwZGF0ZSB0aGUgcmV0cmFuc21pc3Npb24KCSAgc3RhdGlzdGljcyBhcyB3ZWxsIGJlZm9yZSBzZXR0aW5nIHVwIHRoZSB0aW1lcnMgZm9yIHRoZSBuZXh0IGV4cGVjdGVkCgkgIHBhY2tldC4KCSAgQWxzbyByZXNldCB0aGUgcmV0cmFuc21pc3Npb24gY291bnRlciBpZiB0aGUgdGltZXIgaXMgcmV1c2VkIGZvciBhbm90aGVyCgkgIHNlcW51bS4KCjIwMTQtMDEtMjEgMTU6NDg6MjAgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogYWRkIGEgY2FwcyBhY2N1bXVsYXRvciBmb3IgdGhlIHJlcXVlc3QtcHQtbWFwIHNpZ25hbAoJICBBZGQgYW4gYWNjdW11bGF0b3IgdGhhdCBzdG9wcyB0aGUgc2lnbmFsIGVtaXNzaW9uIGFzIHNvb24gYXMgYSBjYXBzIGhhcwoJICBiZWVuIHJldHJpZXZlZC4gT3RoZXJ3aXNlIHRoZSBkZWZhdWx0IGhhbmRsZXIgd291bGQgY29udGludWUgZW1pdHRpbmcKCSAgdGhlIHNpZ25hbCBhbmQgcG9zc2libHkgb3ZlcndyaXRlIHRoZSByZXN1bHQgd2l0aCBOVUxMIGFnYWluLgoKMjAxNC0wMS0yMSAxNToyNTo1NCArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhyZWNlaXZlLmM6CgkgIHJ0eHJlY2VpdmU6IGNvcHkgZmxhZ3MgYW5kIHRpbWVzdGFtcHMgZnJvbSBvcmlnaW5hbCBidWZmZXIKCjIwMTQtMDEtMjEgMTU6MjQ6NTIgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogaWdub3JlIGludmFsaWQgdGltZXN0YW1wcyBpbiBydHQgY2FsY3VsYXRpb24KCSAgV2hlbiB0aGUgaW5wdXQgYnVmZmVyIGRvZXMgbm90IGhhdmUgYSB2YWxpZCB0aW1lc3RhbXAsIGRvbid0IHRyeSB0bwoJICBjYWxjdWxhdGUgdGhlIHJvdW5kLXRyaXAtdGltZS4KCjIwMTQtMDEtMTYgMTQ6MjM6MTMgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHIudmVyZGVqb0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmg6CgkgIG1hdHJvc2thcGFyc2U6IGJldHRlciBkZWZhdWx0IGNhcHMgd2hlbiBub25lIHNldAoJICBVc2VzIGluZm9ybWF0aW9uIGdhdGhlcmVkIGR1cmluZyBFQk1MIHBhcnNpbmcgdG8KCSAgZm9yZ2UgYSBtb3JlIHN1aXRhYmxlIHNldCBvZiBjYXBzIGluc3RlYWQgb2YgYmxpbmRseQoJICBhc3N1bWluZyBldmVyeXRoaW5nIGlzIHZpZGVvL3gtbWF0cm9za2EuCgkgIEZvciBjb25zaXN0ZW5jeSwgc3RyZWFtIHR5cGUgcmVzZXQgd2FzIGFkZGVkIHRvCgkgIG1hdHJvc2thLWRlbXV4IHRvby4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMjMxMQoKMjAxNC0wMS0xNSAxNzoyOTozNSArMDEwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cHJ0eC5jOgoJICB0ZXN0czogcnRwcnR4Ojp0ZXN0X3J0eHJlY2VpdmVfZGF0YV9yZWNvbnN0cnVjdGlvbjogcmVtb3ZlIHVzZWxlc3MgY29kZSBmb3IgdHJpZ2dlcmluZyByZXRyYW5zbWlzc2lvbgoJICBUaGVyZSBpcyBubyBuZWVkIGFueW1vcmUgdG8gcHVzaCB5ZXQgYW5vdGhlciBidWZmZXIgaW4gcnR4c2VuZAoJICBpbiBvcmRlciB0byB0cmlnZ2VyIHRoZSBwcmV2aW91c2x5IHJlcXVlc3RlZCByZXRyYW5zbWlzc2lvbnMKCSAgdG8gYWN0dWFsbHkgaGFwcGVuLgoKMjAxNC0wMS0xNSAxNzoyNzoxOSArMDEwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cHJ0eC5jOgoJICB0ZXN0czogcnRwcnR4Ojp0ZXN0X3J0eHJlY2VpdmVfZGF0YV9yZWNvbnN0cnVjdGlvbjogZml4IHJhY2UgY29uZGl0aW9uCgkgIE5vdyB3aXRoIHJ0cHJ0eHNlbmQgcHVzaGluZyBydHggYnVmZmVycyBmcm9tIGEgZGlmZmVyZW50IHRocmVhZCwKCSAgdGhpcyBpcyBuZWNlc3NhcnkgdG8gZW5zdXJlIHRoYXQgdGhlIHJlc3VsdCBvZiB0aGUgdGVzdCBpcyBkZXRlcm1pbmlzdGljLgoJICBUaGlzIGNvZGUgbWFrZXMgdXNlIG9mIEdzdENoZWNrJ3MgZ2xvYmFsIEdNdXRleCBhbmQgR0NvbmQgdGhhdCBhcmUKCSAgYmVpbmcgdXNlZCBpbnNpZGUgR3N0Q2hlY2sncyBzaW5rIHBhZCBjaGFpbigpIGZ1bmN0aW9uIGluIG9yZGVyCgkgIHRvIHN5bmNocm9uaXplIHdpdGggaXQuCgoyMDE0LTAxLTE1IDE3OjE3OjU3ICswMTAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwcnR4LmM6CgkgIHRlc3RzOiBydHBydHg6OnRlc3RfcnR4c2VuZGVyX3BhY2tldF9yZXRlbnRpb246IGZpeCByYWNlIGNvbmRpdGlvbgoJICBOb3cgd2l0aCBydHBydHhzZW5kIHB1c2hpbmcgcnR4IGJ1ZmZlcnMgZnJvbSBhIGRpZmZlcmVudCB0aHJlYWQsCgkgIHRoaXMgaXMgbmVjZXNzYXJ5IHRvIGVuc3VyZSB0aGF0IHRoZSByZXN1bHQgb2YgdGhlIHRlc3QgaXMgZGV0ZXJtaW5pc3RpYy4KCSAgVGhpcyBjb2RlIG1ha2VzIHVzZSBvZiBHc3RDaGVjaydzIGdsb2JhbCBHTXV0ZXggYW5kIEdDb25kIHRoYXQgYXJlCgkgIGJlaW5nIHVzZWQgaW5zaWRlIEdzdENoZWNrJ3Mgc2luayBwYWQgY2hhaW4oKSBmdW5jdGlvbiBpbiBvcmRlcgoJICB0byBzeW5jaHJvbml6ZSB3aXRoIGl0LgoKMjAxNC0wMS0xNSAxMToyNjozMyArMDEwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cHJ0eC5jOgoJICB0ZXN0czogcnRwcnR4Ojp0ZXN0X3B1c2hfZm9yd2FyZF9zZXE6IGZpeCByYWNlIGNvbmRpdGlvbgoJICBOb3cgd2l0aCBydHBydHhzZW5kIHB1c2hpbmcgcnR4IGJ1ZmZlcnMgZnJvbSBhIGRpZmZlcmVudCB0aHJlYWQsCgkgIHRoaXMgaXMgbmVjZXNzYXJ5IHRvIGVuc3VyZSB0aGF0IHRoZSByZXN1bHQgb2YgdGhlIHRlc3QgaXMgZGV0ZXJtaW5pc3RpYy4KCSAgVGhpcyBjb2RlIG1ha2VzIHVzZSBvZiBHc3RDaGVjaydzIGdsb2JhbCBHTXV0ZXggYW5kIEdDb25kIHRoYXQgYXJlCgkgIGJlaW5nIHVzZWQgaW5zaWRlIEdzdENoZWNrJ3Mgc2luayBwYWQgY2hhaW4oKSBmdW5jdGlvbiBpbiBvcmRlcgoJICB0byBzeW5jaHJvbml6ZSB3aXRoIGl0LgoKMjAxNC0wMS0xNSAwOTo0NzowMyArMDEwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cHJ0eC5jOgoJICB0ZXN0czogcnRwcnR4Ojp0ZXN0X3B1c2hfZm9yd2FyZF9zZXE6IGZpeCBidWZmZXIgcmVmY291bnRpbmcKCjIwMTQtMDEtMjEgMTM6NDI6MzggKzAxMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhzZW5kLmM6CgkgIHJ0cHJ0eHNlbmQ6IGVuc3VyZSB0aGF0IG5vIHJ0eCBidWZmZXJzIGFyZSBzZW50IGFmdGVyIEVPUwoJICBUbyBkbyB0aGF0LCBlbnF1ZXVlIHRoZSBFT1MgZXZlbnQgdG8gYmUgc2VudCBmcm9tIHRoZSBzcmNwYWQgdGFzawoJICB0aHJlYWQgYW5kIGZsdXNoIHRoZSBxdWV1ZSByaWdodCBhZnRlcndhcmRzLCBzbyB0aGF0IG5vIG1vcmUgcnR4CgkgIGJ1ZmZlcnMgY2FuIGJlIHNlbnQsIGV2ZW4gaWYgdGhlcmUgYXJlIG1vcmUgcmVxdWVzdHMgY29taW5nIGluLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIyMzcwCgoyMDE0LTAxLTE1IDA5OjQ2OjE0ICswMTAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcnR4c2VuZC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhzZW5kLmg6CgkgIHJ0cHJ0eHNlbmQ6IHJ1biBhIG5ldyBHc3RUYXNrIG9uIHRoZSBzcmMgcGFkCgkgIFRoZSByZWFzb24gYmVoaW5kIHRoaXMgaXMgdG8gbWluaW1pemUgdGhlIHJldHJhbnNtaXNzaW9uIGRlbGF5LgoJICBQcmV2aW91c2x5LCB3aGVuIGEgTkFDSyB3YXMgcmVjZWl2ZWQsIHJ0cHJ0eHNlbmQgd291bGQgcHV0IGEKCSAgcmV0cmFuc21pc3Npb24gcGFja2V0IGluIGEgcXVldWUgYW5kIGl0IHdvdWxkIHNlbmQgaXQgZnJvbSBjaGFpbigpLAoJICBpLmUuIG9ubHkgYWZ0ZXIgYSBuZXcgYnVmZmVyIHdvdWxkIGFycml2ZS4KCSAgVGhpcyB1bmZvcnR1bmF0ZWx5IHdhcyBjYXVzaW5nIGJpZyBkZWxheXMsIGluIHRoZSBvcmRlciBvZiA2MC0xMDAgbXMsCgkgIHdoaWNoIGNhbiBiZSBjcml0aWNhbCBmb3IgdGhlIHJlY2VpdmVyIHNpZGUuCgkgIEJ5IGhhdmluZyBhIHNlcGFyYXRlIEdzdFRhc2sgZm9yIHB1c2hpbmcgYnVmZmVycyBvdXQgb2YgcnR4c2VuZCwKCSAgd2UgY2FuIHB1c2ggYnVmZmVycyBvdXQgcmlnaHQgYWZ0ZXIgcmVjZWl2aW5nIHRoZSBldmVudCwgd2l0aG91dAoJICB3YWl0aW5nIGZvciBjaGFpbigpIHRvIGdldCBjYWxsZWQuCgoyMDE0LTAxLTAzIDE3OjQ3OjU1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3Nob3V0Mi9nc3RzaG91dDIuYzoKCSogZXh0L3Nob3V0Mi9nc3RzaG91dDIuaDoKCSAgc2hvdXQyc2VuZDogZXJyb3Igb3V0IGlmIG5vIGNhcHMgd2VyZSByZWNlaXZlZAoJICBJbnN0ZWFkIG9mIGFzc3VtaW5nIHRoYXQgaW5wdXQgaXMgb2dnLgoKMjAxNC0wMS0wMyAxNzozMDoxMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9zaG91dDIvZ3N0c2hvdXQyLmM6CgkgIHNob3V0MnNlbmQ6IGFjY2VwdCBhdWRpby93ZWJtLCBhdWRpby9vZ2cgYW5kIHZpZGVvL29nZyBhcyB3ZWxsCgkgIFRob3NlIGFyZSBhZHZlcnRpc2VkIGluIHRoZSB0ZW1wbGF0ZSBjYXBzLCBidXQgdGhlCgkgIHNldGNhcHMgaGFuZGxlciBkaWRuJ3QgaGFuZGxlIHRoZW0uIEJ1dCB0aGVuIG9nZ211eAoJICBhbmQgb2dncGFyc2UgYXQgbGVhc3QgZm9yIG5vdyBzdGlsbCBhbHdheXMgb3V0cHV0CgkgIGFwcGxpY2F0aW9uL29nZyBhbnl3YXksIHNvIHRoYXQgd2Fzbid0IGEgcmVhbCBwcm9ibGVtLgoKMjAxNC0wMS0yMCAxMDoxMjo0NSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwdnA4cGF5LmM6CgkgIHJ0cHZwOHBheTogRG9uJ3QgbGVhayBpbnB1dCBidWZmZXJzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjI0MTQKCjIwMTQtMDEtMTkgMTc6NDA6NTYgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1uYXV3QHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkgIGF2aW11eDogcmVzZXQgc29tZSBtb3JlIGF1ZGlvIHBhZCBkYXRhIHdoZW4gbmVlZGVkCgoyMDE0LTAxLTE5IDE3OjM4OjU5ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtbmF1d0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aW11eC5oOgoJICBhdmltdXg6IHdyaXRlIGNvcnJlY3QgYmxvY2thbGlnbiBmb3IgdmJyIGF1ZGlvCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjA2NTkKCjIwMTQtMDEtMTYgMTc6MzY6MTIgLTA4MDAgIEFsZWl4IENvbmNoaWxsbyBGbGFxdcOpIDxhbGVpeEBvYmxvbmcuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogZG8gbm90IGRyb3Agc2VyaWFsaXplZCBldmVudHMgd2hlbiBsYXRlbmN5IGlzIHNldAoJICBTZXJpYWxpemVkIGV2ZW50cyBhcmUgbm93IHF1ZXVlZCBpbiB0aGUgaml0dGVyIGJ1ZmZlciwgc28gd2UgZG9uJ3QKCSAgd2FudCB0byBkcm9wIHRoZW0gZXZlbiBsYXRlbmN5IGlzIHNldC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMjM3MgoKMjAxMy0xMi0xMSAwOTozNjoyMiArMDEwMCAgTWljaGFlbCBPbGJyaWNoIDxtLm9sYnJpY2hAcGVuZ3V0cm9uaXguZGU+CgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJICBhdmltdXg6IGRvbid0IG1ha2UgdGhlIGJ1ZmZlciB3cml0YWJsZSB1bmxlc3MgYWJzb2x1dGVseSBuZWNlc3NhcnkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMjM5NgoKMjAxMy0wOS0xMiAxNjo1Njo1NiArMDIwMCAgTWljaGFlbCBPbGJyaWNoIDxtLm9sYnJpY2hAcGVuZ3V0cm9uaXguZGU+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyOiBzZXQgR1NUX0JVRkZFUl9GTEFHX0RFTFRBX1VOSVQgd2hlbiBhcHByb3ByaWF0ZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIyMzk0CgoyMDE0LTAxLTE3IDA3OjQ2OjA5ICswMTAwICBNaWNoYWVsIE9sYnJpY2ggPG0ub2xicmljaEBwZW5ndXRyb25peC5kZT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDJidWZmZXJwb29sOiBkb24ndCByZWYgdGhlIG5ld2x5IGNyZWF0ZWQgYWxsb2NhdG9yCgkgIE90aGVyd2lzZSB0aGUgYWxsb2NhdG9yIHdpbGwgbmV2ZXIgYmUgZGVsZXRlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMjYxMgoKMjAxNC0wMS0xNSAyMjo0NzoxMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBEb24ndCBza2lwIGFsbCB2aWRlbyBmcmFtZXMgdW50aWwgdGhlIGZpcnN0IGtleWZyYW1lCgkgIEluc3RlYWQgZG8gaXQgbGlrZSBhbGwgb3RoZXIgZGVtdXhlcnMgYW5kIGxldCBwYXJzZXJzIGFuZCBkZWNvZGVycwoJICBoYW5kbGUgdGhhdC4gVGhlIGtleWZyYW1lIGluZm9ybWF0aW9uIGluc2lkZSB0aGUgY29udGFpbmVyIG1pZ2h0CgkgIGJlIGNvbXBsZXRlbHkgd3JvbmcgbGlrZSBpbiB0aGUgc2FtcGxlIGZpbGUgb2YgdGhlIGJ1ZyByZXBvcnQsCgkgIGFuZCBpZiBpdCBpcyBjb3JyZWN0IGFuZCB3ZSBwdXNoIG5vIGtleWZyYW1lcywgdGhlbiB0aGUgcGFyc2VycwoJICBhbmQgZGVjb2RlcnMgd2lsbCBoYW5kbGUgdGhhdCBwcm9wZXJseSBhbnl3YXkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODIyNzYKCjIwMTQtMDEtMTMgMTA6MDg6MDkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5oOgoJICBxdGRlbXV4OiByZW1vdmUgZWxzdF9vZmZzZXQgdmFyaWFibGVzCgkgIFRoZXkgYXJlIG5vdCB1c2VkIGFueW1vcmUKCjIwMTQtMDEtMDYgMjE6MzY6MTcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHJlbWVtYmVyIHJldmVyc2UgcGxheWJhY2sgd2hlbiB2ZXJpZnlpbmcgdGhlIHNlZ21lbnQgZW5kCgkgIENoZWNrIGlmIHRoZSByYXRlIGlzIHBvc2l0aXZlIG9yIG5lZ2F0aXZlIHRvIGNvcnJlY3RseSBjb21wYXJlIHRoZSBjdXJyZW50CgkgIHBvc2l0aW9uIHdpdGggdGhlIHNlZ21lbnQgdG8gbWFrZSByZXZlcnNlIHBsYXliYWNrIHdvcmsKCjIwMTQtMDEtMDMgMTA6NTk6MzUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5oOgoJICBxdGRlbXV4OiBkbyBub3QgaWdub3JlIGVtcHR5IHNlZ21lbnRzCgkgIE1ha2Ugc3VyZSBlbXB0eSBzZWdtZW50cyBhcmUgdXNlZCBhbmQgcHVzaGVkIHdpdGggYSBnYXAgZXZlbnQKCSAgdG8gcmVwcmVzZW50IGl0cyBkYXRhIChvciBsYWNrIG9mIGl0KQoJICBFYWNoIFF0U2VnbWVudCBpcyBtYXBwZWQgaW50byBhIEdzdFNlZ21lbnQgd2l0aCB0aGUgY29ycmVzcG9uZGluZwoJICBtZWRpYSByYW5nZS4gRm9yIGVtcHR5IFF0U2VnbWVudHMgYSBnYXAgZXZlbnQgaXMgcHVzaGVkIGluc3RlYWQKCSAgb2YgR3N0QnVmZmVycyBhbmQgaXQgYWR2YW5jZXMgdG8gdGhlIG5leHQgUXRTZWdtZW50LgoJICBUbyBtYWtlIHRoaXMgd29yayB3aXRoIHNlZWtzLCBuZWVkIHRvIGtlZXAgdHJhY2sgb2YgdGhlIHN0YXJ0aW5nCgkgICdiYXNlJyB0byBtYWtlIHN1cmUgaXQgcmVtYWlucyBjb25zaXN0ZW50bHkgaW5jcmVhc2luZyB3aGVuCgkgIHB1c2hpbmcgbmV3IHNlZ21lbnQgZXZlbnRzLgoJICBGb3IgZXhhbXBsZTogaWYgYSBzZWVrIG1ha2VzIHF0ZGVtdXggc3RhcnQgZnJvbSA1cywgdGhlIGZpcnN0CgkgIHNlZ21lbnQgd2lsbCBoYXZlIGEgYmFzZT0wLiBXaGVuIHRoZSBuZXh0IHNlZ21lbnQgaXMgYWN0aXZhdGVkLAoJICBpdHMgYmFzZSB0aW1lIHdpbGwgYmUgUXRTZWdtZW50LnRpbWUgLSBxdGRlbXV4LnNlZ21lbnRfYmFzZSBzbwoJICB0aGF0IGl0IGRvZXNuJ3QgaW5jbHVkZSB0aGUgZmlyc3QgNXMgdGhhdCB3ZXJlbid0IHBsYXllZCBhbmQKCSAgc2hvdWxkbid0IGJlIGFjY291bnRlZCBvbiB0aGUgcnVubmluZyB0aW1lCgkgIFRoaXMgcHVycG9zZWRseSB3aWxsIHJlbW92ZSB0aGUgZml4IG1hZGUgZm9yCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDAyNjQsIGF0IHRoaXMKCSAgcG9pbnQgaXQgd2FzIGRlY2lkZWQgdG8gcmVzcGVjdCB0aGUgZ2FwcywgZXZlbiBpZiB0aGV5IGNhdXNlCgkgIGEgZGVsYXkgb24gcGxheWJhY2ssIGJlY2F1c2UgdGhhdCdzIHRoZSB3YXkgdGhlIGZpbGUgd2FzIGNyYWZ0ZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD0zNDU4MzAKCjIwMTMtMTItMTIgMjM6MDU6NDMgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBydHguYzoKCSAgdGVzdHM6IFJlbW92ZSB1c2FnZSBvZiB0aGUgc3lzdGVtIGNsb2NrIGZyb20gdGhlIHJ0cHJ0eCB0ZXN0CgoyMDEzLTEyLTEyIDIzOjIyOjQxIC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwY29sbGlzaW9uLmM6CgkgIHRlc3RzOiBJbml0aWFsIHNlZ21lbnQgaW4gcnRwY29sbGlzaW9uIHRlc3QKCjIwMTQtMDEtMTQgMTU6NTY6NDIgKzAxMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvY2xpZW50LXJ0cGF1eC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvc2VydmVyLXJ0cGF1eC5jOgoJICBleGFtcGxlcy8qLXJ0cGF1eDogc3BlY2lmeSBwYXlsb2FkIHR5cGUgYXNzb2NpYXRpb24gZm9yIHRoZSBhdWRpbyBzdHJlYW0sIHNvIHRoYXQgcnR4IHdvcmtzIGFsc28gZm9yIGF1ZGlvCgoyMDE0LTAxLTE0IDEzOjA4OjE4ICswMTAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcnR4c2VuZC5jOgoJICBydHBydHhzZW5kOiByZW1vdmUgd3JvbmcgY2hlY2sgZm9yIHBheWxvYWQgdHlwZSBub3QgaGF2aW5nIGJlZW4gc2V0CgkgIDEpIHB0IGNhbiBiZSBsb3dlciB0aGFuIDk2CgkgIDIpIHRoZXJlIGlzIG5vIHBvaW50IGluIGNoZWNraW5nIHRoYXQgYmVjYXVzZSBydHBydHhzZW5kIHdpbGwgbm90CgkgIGV2ZW4gc3RvcmUgYnVmZmVycyBmb3IgcGF5bG9hZCB0eXBlcyB0aGF0IGl0IGRvZXNuJ3Qga25vdyBhYm91dCwKCSAgc28gdGhpcyBjYXNlIHdpbGwgbmV2ZXIgYmUgcmVhY2hlZAoKMjAxNC0wMS0xNCAxMzowMTo0MSArMDEwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHNlbmQuYzoKCSAgcnRwcnR4c2VuZDogZml4IGRhdGEgbG9ja2luZyB3aGVuIGNyZWF0aW5nIHJ0eCBwYWNrZXRzCgkgIFRoaXMgcGF0Y2ggbW92ZXMgdGhlIGNyZWF0aW9uIG9mIHJ0eCBwYWNrZXRzIHRvIGJlIGRvbmUgZWFybHksCgkgIGluIHRoZSBzcmNfZXZlbnQoKSBmdW5jdGlvbiwgd2hlbiB0aGV5IGFyZSByZXF1ZXN0ZWQuIFRoZSBwdXJwb3NlCgkgIGlzIHRvIHJ1biBnc3RfcnRwX3J0eF9idWZmZXJfbmV3KCkgd2l0aCB0aGUgb2JqZWN0IGxvY2tlZCB0bwoJICBwcm90ZWN0IGludGVybmFsIGRhdGEsIGJlY2F1c2UgaWYgaXQgaXMgZG9uZSBhdCB0aGUgcHVzaGluZyBzdGFnZSwKCSAgd2Ugd291bGQgaGF2ZSB0byBsb2NrIGFuZCB1bmxvY2sgbXVsdGlwbGUgdGltZXMgaW4gYSByb3cgd2hpbGUgd2UKCSAgYXJlIHB1c2hpbmcgdGhlIHJ0eCBidWZmZXJzLgoJICBQcmV2aW91c2x5IHRoZXJlIHdhcyBubyBsb2NraW5nIGF0IGFsbCwgd2hpY2ggd2FzIHRlcnJpYmx5IHdyb25nLgoKMjAxNC0wMS0xNCAxMjo1MDoyMyArMDEwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHNlbmQuYzoKCSAgcnRwcnR4c2VuZDogbG9jayBhY2Nlc3MgdG8gaW50ZXJuYWwgZGF0YSBpbiBzaW5rX2V2ZW50KCkgZnVuY3Rpb24KCjIwMTQtMDEtMTQgMTI6NDQ6MDYgKzAxMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhzZW5kLmM6CgkgIHJ0cHJ0eHNlbmQ6IHJlbW92ZSB1bm5lY2Vzc2FyeSBjYWxsIHRvIHJlc2V0KCkgZnJvbSBmaW5hbGl6ZSgpCgkgIC4uLmFuZCB1c2UgX2ZyZWVfZnVsbCgpIG9uIHRoZSBwZW5kaW5nIGJ1ZmZlcnMgcXVldWUgbm93IHRoYXQKCSAgcmVzZXQoKSBpcyBub3QgYmVpbmcgY2FsbGVkCgoyMDE0LTAxLTE0IDEyOjM4OjUxICswMTAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcnR4c2VuZC5jOgoJICBydHBydHhzZW5kOiByZW1vdmUgdW51c2VkIHBhcmFtZXRlciBmcm9tIHRoZSBpbnRlcm5hbCByZXNldCgpIG1ldGhvZAoKMjAxNC0wMS0xNCAxMjozMjozOCArMDEwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHNlbmQuYzoKCSAgcnRwcnR4c2VuZDogVXNlIGdfc2xpY2VfKiBmb3IgYWxsb2NhdGluZyBpbnRlcm5hbCBzdHJ1Y3R1cmVzCgoyMDE0LTAxLTE0IDEyOjI4OjAxICswMTAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcnR4cmVjZWl2ZS5jOgoJICBydHBydHhyZWNlaXZlOiByZW1vdmUgc3R1cGlkIG11dGV4IHVubG9jayBpbiB0aGUgbWlkZGxlIG9mIGNoYWluKCkKCjIwMTQtMDEtMTQgMTI6MjU6MzYgKzAxMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhyZWNlaXZlLmM6CgkgIHJ0cHJ0eHJlY2VpdmU6IHVzZSBHU1RfREVCVUdfT0JKRUNUIC8gR1NUX1dBUk5JTkdfT0JKRUNUIGluc3RlYWQgb2YgR1NUX0RFQlVHIC8gZ193YXJuaW5nCgoyMDE0LTAxLTE0IDEyOjE5OjU4ICswMTAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcnR4cmVjZWl2ZS5jOgoJICBydHBydHhyZWNlaXZlOiBmaXggaW50ZWdlciBmb3JtYXQgc3BlY2lmaWVycyBpbiBHU1RfREVCVUcKCSAgc2VxbnVtIGluIHRoaXMgZnVuY3Rpb24gaXMgMzItYml0LCBzbyBHX0dVSU5UMTZfRk9STUFUIHdvdWxkCgkgIHByb2R1Y2UgdW5kZWZpbmVkIG91dHB1dCBvbiBiaWcgZW5kaWFuIHN5c3RlbXMKCjIwMTQtMDEtMTQgMTI6MTM6NDkgKzAxMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhzZW5kLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHNlbmQuaDoKCSAgcnRwcnR4c2VuZDogY2hhbmdlIHRoZSBydHhfcHRfbWFwIGRpcmVjdGx5IGluIHNldF9wcm9wZXJ0eSgpIGluc3RlYWQgb2YgZGVsYXlpbmcgaXQgZm9yIGNoYWluKCkKCSAgVGhlIHNhbWUgbG9jayBpcyBoZWxkLCBzbyB0aGVyZSBpcyBubyBwb2ludCBpbiBjb21wbGljYXRpbmcgaXQuLi4KCjIwMTQtMDEtMTQgMTI6MDc6NTggKzAxMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhyZWNlaXZlLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHJlY2VpdmUuaDoKCSAgcnRwcnR4cmVjZWl2ZTogY2hhbmdlIHRoZSBydHhfcHRfbWFwIGRpcmVjdGx5IGluIHNldF9wcm9wZXJ0eSgpIGluc3RlYWQgb2YgZGVsYXlpbmcgaXQgZm9yIGNoYWluKCkKCSAgVGhlIHNhbWUgbG9jayBpcyBoZWxkLCBzbyB0aGVyZSBpcyBubyBwb2ludCBpbiBjb21wbGljYXRpbmcgaXQuLi4KCjIwMTQtMDEtMTQgMTE6NTU6MDAgKzAxMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhyZWNlaXZlLmM6CgkgIHJ0cHJ0eHJlY2VpdmU6IHNpbXBsaWZ5IHRoZSBjb2RlIG9mIGZpbmFsaXplKCkKCjIwMTQtMDEtMTQgMTE6NTI6MjEgKzAxMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhyZWNlaXZlLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHJlY2VpdmUuaDoKCSAgcnRwcnR4cmVjZWl2ZTogdXNlIHRoZSBHc3RPYmplY3QgbG9jayBpbnN0ZWFkIG9mIGEgbmV3IG9uZQoKMjAxNC0wMS0xNCAxMTo0NTo1MiArMDEwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHNlbmQuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcnR4c2VuZC5oOgoJICBydHBydHhzZW5kOiB1c2UgdGhlIEdzdE9iamVjdCBsb2NrIGluc3RlYWQgb2YgYSBuZXcgb25lCgoyMDEzLTEyLTEwIDE0OjI5OjU1IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDI6IEFkZCBOVjEyXzY0WjMyIHN1cHBvcnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMjEyNwoKMjAxNC0wMS0xNCAxOTowODo0OSArMDkwMCAgSnVzdGluIEpveSA8anVzdGluLmpveS45dG81QGdtYWlsLmNvbT4KCgkqIHN5cy9vc3MvZ3N0b3NzaGVscGVyLmM6CgkgIG9zc2hlbHBlcjogRG9uJ3QgbGVhayBmZCB3aGVuIGdldHRpbmcgY2FyZCBuYW1lCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjIxNjMKCjIwMTQtMDEtMTQgMDk6NDM6MzMgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJICBSZXZlcnQgImFhY3BhcnNlOiByZWxheCB0aGUgZGV0ZWN0aW9uIG9mIEFEVFMiCgkgIFRoaXMgd2FzIHB1c2hlZCBieSBtaXN0YWtlIGFsb25nIHdpdGggdGhlIFY0TDIgZml4LgoJICBUaGlzIHJldmVydHMgY29tbWl0IDhlYjRiMDMyYmVmNDQ0Mzk3YzRkMjExZjIwOTVjMTczYmExMTQxODcuCgoyMDE0LTAxLTE0IDE1OjQyOjAxICswOTAwICBKdXN0aW4gSm95IDxqdXN0aW4uam95Ljl0bzVAZ21haWwuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBnNzI2cGF5LmM6CgkgIHJ0cGc3MjZwYXk6IGRvbid0IGxlYWsgZW5jb2RpbmdfbmFtZSBzdHJpbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMjE1OQoKMjAxNC0wMS0xMyAwOToxNDowMCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkgIHY0bDI6IGZpeCBidWlsZCBicmVhayB1c2luZyBWNEwyX0NBUF9WSURFT19NMk1fTVBMQU5FCgkgIFRoaXMgbWF5IG5vdCBiZSBkZWZpbmVkLiBTaW5jZSB0aGUgcHJldmlvdXMgdmVyc2lvbiB1c2VkCgkgIG9ubHkgdGhlIG90aGVyIGRlZmluZSAoVjRMMl9DQVBfVklERU9fT1VUUFVUX01QTEFORSksIGZhbGwKCSAgYmFjayBvbiB0aGlzIG9ubHkgd2hlbiBub3QgYXZhaWxhYmxlLgoKMjAxMy0wMi0yNyAwMTo0NTo1MiArMDkwMCAgQWtpaGlybyBUc3VrYWRhIDxhdHN1a2FkYUB1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiByZWxheCB0aGUgZGV0ZWN0aW9uIG9mIEFEVFMKCSAgQWNjb3JkaW5nIHRvIElTTy9JRUMgMTM4MTgtNywgImNoYW5uZWxfY29uZmlnIiBmaWVsZCBpbiBBRFRTIGhlYWRlcgoJICBtYXkgaGF2ZSB2YWx1ZSBvZiAwLCBhcyBpbiB0aGUgY2FzZSBvZiBmcmFtZSB3aXRoIFBDRS4KCSAgZ3N0X2FhY19wYXJzZV9kZXRlY3Rfc3RyZWFtcygpIHJldHVybmVkIEZBTFNFIGZvciB0aG9zZSBmcmFtZXMKCSAgYW5kIGRpc2NhcmRlZCB0aGVtLgoKMjAxNC0wMS0wNyAxMTo1ODoyMyArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyYnVmZmVycG9vbDogY2hlY2sgc2V0X2NvbmZpZyByZXR1cm4gdmFsdWUgaW4gZ3N0X3Y0bDJfYnVmZmVyX3Bvb2xfbmV3CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjA1NjgKCjIwMTQtMDEtMTAgMTI6NDA6MzEgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogQWRkIHBhcnNlZD0xIGZpZWxkIGZvciBlbmNvZGVkIG91dHB1dAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIwNTY4CgoyMDE0LTAxLTEwIDEyOjM5OjE2IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IERvbid0IGxlYWsgZW1wdHkgY2FwcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIwNTY4CgoyMDE0LTAxLTA4IDE2OjUxOjIxICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDJidWZmZXJwb29sOiBkbyBub3Qgc3RvcCBhIHN0cmVhbSBub3QgcHJldmlvdXNseSBzdGFydGVkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjA1NjgKCjIwMTMtMTItMTIgMTY6Mjc6MjEgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogRG9uJ3QgZW5mb3JjZSBkaW1lbnNpb24gZmllbGQgb24gZW5jb2RlZCBmb3JtYXRzCgkgIERvbid0IGVuZm9yY2UgaGF2aW5nIHdpZHRoLCBoZWlnaHQgYW5kIGZyYW1lcmF0ZSBpbiB0ZW1wbGF0ZSBjYXBzIGZvciBlbmNvZGVkCgkgIGZvcm1hdHMuIFRoZXNlIGRvbid0IGFsd2F5cyBuZWVkIHRvIGJlIGV4cG9zZWQgYW5kIG1heSBicmVhayBuZWdvdGlhdGlvbiBmb3IKCSAgZGVjb2RlciBhbmQgZGVjb2Rpbmcgc2luay4gSWYgbmVlZGVkLCB0aGVzZSBmaWVsZCB3aWxsIGJlIGF1dG9tYXRpY2FsbHkgYWRkZWQKCSAgd2hlbiBwcm9iZWQgY2FwcyBhcmUga25vd24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjA1NjgKCjIwMTMtMTItMTIgMTc6MDk6NTkgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiB1bnJlZiBkb3duc3RyZWFtIHBvb2wKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMDU2OAoKMjAxMy0xMi0xOCAxMzozNzoyMyAtMDUwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5oOgoJICB2NGwyYnVmZmVycG9vbDogYWRkIGdzdF92NGwyX2J1ZmZlcl9wb29sX2ZsdXNoCgkgIFNUUkVBTU9GRiBzZXQgYWxsIHY0bDJidWZmZXJzIHRvIERFUVVFVUUgc3RhdGUuCgkgIFRoZW4gZm9yIENBUFRVUkUgd2UgY2FsbCBRQlVGIG9uIGVhY2ggYnVmZmVyLgoJICBGb3IgT1VUUFVUIHRoZSBidWZmZXJzIGFyZSBqdXN0IHB1c2ggYmFjayBpbiB0aGUgR3N0QnVmZmVyUG9vbAoJICBiYXNlIGNsYXNzICdzIHF1ZXVlLgoJICBCdXQgdGhlIGxvb3AgYWN0dWFsbHkgbG9va3MgbGlrZSB0aGUgc2FtZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMDU2OAoKMjAxMy0xMi0xNiAxNzoyOTozMCAtMDUwMCAgQmVuamFtaW4gR2FpZ25hcmQgPGJlbmphbWluLmdhaWduYXJkQGxpbmFyby5vcmc+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IEFkZCB2cDggc3VwcG9ydAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIwNTY4CgoyMDEzLTEyLTEyIDE2OjQ2OjA5IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IERvbid0IGZvcmNlIGZyYW1lcmF0ZSBmaWVsZCBmb3IgT1VUUFVUCgkgIElmIHRoZXJlIGlzIG5vdGhpbmcgdGhhdCBzZWVtcyB0byBmb3JjZSBhIGNlcnRhaW4gZnJhbWVyYXRlIG9uIG91dHB1dCBkZXZpY2UsIGl0IGlzCgkgIHByZWZlcmFibGUgdG8gc2ltcGx5IG5vdCBzZXQgdGhhdCBmZWlsZC4gVGhpcyBhbGxvdyBuZWdvdGlhdGlvbiB3aXRoIHRzZGVtdXggaW4gYQoJICBkZWNvZGVyIGZvciBleGFtcGxlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIwNTY4CgoyMDEzLTEyLTEyIDE0OjA3OjAzIC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSAgdjRsMm9iamVjdDogX3Y0bDJmb3VyY2NfdG9fc3RydWN0dXJlKCkgY2FuIGJlIHN0YXRpYwoJICBUaGlzIGZ1bmN0aW9uIGlzIG5vdCB1c2VkIGFueW1vcmUgb3V0c2lkZSB2NGwyb2JqZWN0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIwNTY4CgoyMDEzLTEyLTEyIDE0OjIyOjI2IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IEFkZCBNUEVHMS8yIHN1cHBvcnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMDU2OAoKMjAxMy0xMi0xMiAxMjoxODo0NSAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBBc2sgZm9yIGEgZGVjZW50IGJ1ZmZlciBzaXplIHdoZW4gZGVhbGluZyB3aXRoIGVuY29kZWQgZm9ybWF0cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIwNTY4CgoyMDEzLTEyLTA3IDE0OjAzOjUzIC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyYnVmZmVycG9vbDogT24gd2FybiBvbiBzaXplIGNoYW5nZSBpZiBuX3BsYW5lcyA+IDEKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMDU2OAoKMjAxMy0xMi0zMSAxNjozODowOSArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IGNoZWNrIGlmIHRyYW5zbGF0ZWQgZm9ybWF0IGlzIHZhbGlkCgkgIEFsc28gYWRkIGEgRklYTUUgaW4gZ3N0X3Y0bDJfb2JqZWN0X3NldHVwX2Zvcm1hdAoJICB0byBub3RlIHRoYXQgdGhlIHdob2xlIGZ1bmN0aW9uIGhhcyB0byBiZSBpbXByb3ZlZAoJICBpbiBvcmRlciB0byBzdXBwb3J0IEVOQ09ERUQgZm9ybWF0cy4KCSAgSXQgcmVxdWlyZXMgdG8gaGF2ZSBhbiBlbmNvZGVyIGRldmljZSB3aGljaCB3ZSBkbyBub3QKCSAgaGF2ZSByaWdodCBub3cuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjA1NjgKCjIwMTMtMTItMDcgMTA6MzE6MTUgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogVmFsaWRhdGUgcmV0dXJuZWQgZGltZW5zaW9ucwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIwNTY4CgoyMDEzLTEyLTA1IDE5OjM2OjI1IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IEVuc3VyZSBtYXggaXMgbm90IHNtYWxsZXIgdGhlbiBtaW4gaW4gZGVjaWRlX2FsbG9jYXRpb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMDU2OAoKMjAxMy0xMi0wNSAxOTozNjowNiAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBEb24ndCBrZWVwIHRoZSBtYXggcGFyYW10ZXIgd2hlbiB1c2luZyBvdXIgb3duIHBvb2wKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMDU2OAoKMjAxMy0xMi0wNSAxOTozNDo0NCAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMmJ1ZmZlcnBvb2w6IFJlc3BlY3QgdGhlIHN1Z2dlc3RlZCBtaW4gYnVmZmVyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjA1NjgKCjIwMTMtMTItMDUgMTg6NDg6NDQgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogQWxsb2NhdGUgcG9vbCBpZiBuZWVkZWQgaW4gZGVjaWRlX2FsbG9jYXRpb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMDU2OAoKMjAxMy0xMi0wNSAxODo0OToxOSAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBBZGQgVjRMMl9DSURfTUlOX0JVRkZFUlNfRk9SX0NBUFRVUkUgc3VwcG9ydAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIwNTY4CgoyMDEzLTEyLTA1IDE4OjQ4OjE1IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICB2NGwyOiBNb3ZlIGRlY2lkZSBhbGxvY2F0aW9uIGludG8gdjRsMm9iamVjdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIwNTY4CgoyMDEzLTEyLTA1IDEzOjUxOjEzIC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSAgdjRsMm9iamVjdDogSW1wbGVtZW50IF9zZXR1cF9mb3JtYXQoKQoJICBUaGlzIG1ldGhvZCBhbGxvdyBzZXR0aW5nIHVwIHRoZSBvYmplY3QgZnJvbSB0aGUgY3VycmVudGx5IGNvbmZpZ3VyZWQgZm9ybWF0IG9uIHRoZQoJICBkZXZpY2UuIFRoaXMgaXMgdXNlZnVsIGZvciBNMk0gZWxlbWVudCB3aGVyZSBpbnB1dCBkYXRhIGRlY2lkZXMgdGhlIGZvcm1hdCB0aGF0IHdpbGwKCSAgYmUgc2V0IG9uIGNhcHR1cmUgc2lkZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMDU2OAoKMjAxMy0xMi0xMCAxNDozNDoxNyAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBTcGxpdCBvdXQgc2F2aW5nIGZvcm1hdCBmcm9tIHNldF9mb3JtYXQoKQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIwNTY4CgoyMDEzLTEyLTMxIDE1OjM3OjI2ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogc2V0IG9ubHkgb25lIHBsYW5lIGZvciBlbmNvZGVkIGZvcm1hdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIwNTY4CgoyMDEzLTEyLTA0IDE2OjQ5OjEzIC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IE1vdmUgY29kZSBibG9jayB3aGVyZSBpdCBiZWxvbmdzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjA1NjgKCjIwMTMtMTItMDQgMTY6MjY6MTIgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogRG9uJ3QgY2hlY2sgZm9ybWF0IHNwZWNpZmljIGluZm9ybWF0aW9uCgkgIFRoZSBudW1iZXIgb2YgcGxhbmUsIGFuZCB0aGUgc3RyaWRlIGRvZXMgbm90IHJlcHJlc2VudCBhIGNhcGFiaWxpdHkgY2hhbmdlLiBTYW1lIGNhcHMKCSAgY2FuIGhhdmUgZGlmZmVyZW50IHN0cmlkZSBmcm9tIHRoZSBkZWZhdWx0IEdzdFZpZGVvSW5mbyBhbmQgdGhlIG51bWJlciBvZiBwbGFuZXMgd2lsbAoJICBuZXZlciBjaGFuZ2UgZm9yIDEgZm9ybWF0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIwNTY4CgoyMDEzLTEyLTA0IDE2OjIzOjE4IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IE1vdmUgdGhlIGV4dHJhcG9sYXRpb24gb2Ygc3RyaWRlIGF0IHRoZSByaWdodCBwbGFjZQoJICBOb3cgdGhhdCB3ZSBoYXZlIGEgc3RyaWRlIGFycmF5LCB3ZSBzaG91bGQgZXh0cmFwb2xhdGUgb25seSB3aGVuCgkgIGVlZGVkIChub24gbXVsdGktcGxhbmFyIGJ1ZmZlcikuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjA1NjgKCjIwMTMtMTItMDQgMTU6MDk6NDQgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogTW92ZSBiYWNrIGFzc2VydGlvbnMgd2hlcmUgdGhleSBzaG91bGQgYmUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMDU2OAoKMjAxMy0xMi0wNCAxNTowOToxMCAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBNb3ZlIG1wbGFuZSBsb2dpYyBpbnRvIGdzdF92NGwyX29iamVjdF9nZXRfY2Fwc19pbmZvKCkKCSAgSXQgbWFrZXMgdGhlIGdzdF92NGwyX29iamVjdF9zZXRfZm9ybWF0KCkgc2xpZ2h0bHkgc2ltcGxpZXIgYW5kIHdpbGwgbWFrZSB0aGF0CgkgIGxvZ2ljIHJldXNhYmxlLiBOb3RlIHRoYXQgZ3N0X3Y0bDJfb2JqZWN0X2hhc19tcGxhbmUoKSB3aWxsIGFsd2F5cyByZXR1cm4gdGhlCgkgIHNhbWUgdmFsdWUgZm9yIG9uZSBkZXZpY2UuIFRoZXJlIGlzIG5vIG5lZWQgdG8gY2hlY2sgYWdhaW5zdCB0aGUgY2FwcyBhcyB0aGlzCgkgIGhhcyBhbHJlYWR5IGJlZW4gZG9uZSBieSBfb3Blbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMDU2OAoKMjAxMy0xMi0wMyAxODoyNzo0NyAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkgIHY0bDJvYmplY3Q6IFNwbGl0IF92NGwyZm91cmNjX3RvX3ZpZGVvX2Zvcm1hdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIwNTY4CgoyMDEzLTEyLTAyIDE4OjA1OjExIC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyYnVmZmVycG9vbDogUmVxdWVzdCBidWZmZXJzIG9ubHkgb25jZQoJICBWSURJT0NfUkVRQlVGUyBhbGxvY2F0ZXMgYnVmZmVyLCBpdCBoYXMgbm8gcGxhY2UgaW5zaWRlIHNldF9jb25maWcuIEFsc28sIHNvbWUgZHJpdmVyIGRvCgkgIG5vIGFsbG93IG11bHRpcGxlIGNhbGxzIHRvIHRoaXMgaW9jdGwuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjA1NjgKCjIwMTMtMTItMDIgMTU6MjY6NTAgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogRG9uJ3QgdmFsaWRhdGUgZGltZW5zaW9uIGZvciBlbmNvZGVkIGZvcm1hdAoJICBXZSBzZXQgdGhlIGRpbWVuc2lvbnMganVzdCBpbiBjYXNlIGJ1dCBkb24ndCB2YWxpZGF0ZSB0aGVtCgkgIGFmdGVyd2FyZHMuIEZvciBzb21lIGNvZGVjcyB0aGUgZGltZW5zaW9ucyBhcmUgKm5vdCogaW4gdGhlCgkgIGJpdHN0cmVhbSwgSUlSQyBWQzEgaW4gQVNGIG1vZGUgZm9yIGV4YW1wbGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjA1NjgKCjIwMTMtMTEtMjggMTc6MTA6MjkgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJICB2NGwyb2JqZWN0OiBRdWlya3MgZm9yIGRldiB3aXRob3V0IGluaXRpYWwgZm9ybWF0CgkgIE1vc3QgTTJNIGhhdmUgdW5kZWZpbmVkIGJlaGF2aW91ciBpbml0aWFsbHkgd2hlbiBWSURJT0NfR19GTVQgaXMgY2FsbGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIwNTY4CgoyMDEzLTExLTI4IDE3OjA5OjI2IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSAgdjRsMm9iamVjdDogQWRkIGdzdF92NGwyX29iamVjdF9vcGVuX3NoYXJlZCgpCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjA1NjgKCjIwMTMtMTEtMjggMTc6MDc6MDUgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5oOgoJICB2NGwyb2JqZWN0OiBJbXBsZW1lbnQgZ3N0X3Y0bDJfZHVwKCkKCSAgVGhpcyB3aWxsIGR1cGxpY2F0ZWQgdGhlIEZEIGZyb20gYW5vdGhlciBvYmplY3QgYW5kIGNvcHkgb3ZlciB0aGUgcHJvYmVkIHJlc3VsdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMDU2OAoKMjAxMy0xMS0yOCAxNjo1OTo1OSAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkgIHY0bDJvYmplY3Q6IG1ha2UgSU9fTU9ERSBlbnVtIHB1YmxpYwoJICBUaGlzIGlzIHRvIGFsbG93IGFkZGluZyBhIHNlY29uZCBpby1tb2RlIHByb3BlcnR5IG9uIE0yTSBkZXZpY2UgbGlrZSBkZWNvZGVyIHNvCgkgIGlucHV0IGFuZCBvdXRwdXQgY2FuIGJlIGNvbnRyb2xsZWQgc2VwYXJhdGx5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIwNTY4CgoyMDEzLTA2LTA0IDIzOjQyOjI0IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkgIHY0bDI6IGJldHRlciBoYW5kbGUgcXVpcmtzIGFjdGl2YXRpb24KCSAgVGhpcyB3YXkgd2UgY2FuIGFjdGl2YXRlIGRlYWN0aXZhdGUgdGhvc2UgcXVpcmtzIGFsbCBhdCBvbmNlIGF0IG9uZQoJICBwbGFjZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMDU2OAoKMjAxMy0wNi0wNCAyMzozNDowNCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDI6IEZpeCBoMjY0IGNhcHMKCSAgVjRMMl9QSVhfRk1UX0gyNjQgaXMgZG9jdW1lbnRhdGVkIGFzIGJ5dGUtc3RyZWFtICh3aXRoIHN0YXJ0IGNvZGUpLiBUaGUgZW5zdXJlIHByb3BlcgoJICBuZWdvdGlhdGlvbiB3aXRoIGVsZW1lbnQgbGlrZSBoMjY0cGFyc2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjA1NjgKCjIwMTMtMTItMDYgMTQ6NDQ6NTEgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJICB2NGwyb2JqZWN0OiBTcGxpdCBjYXBzIGluIGRpZmZlcmVudCBjYXRlZ29yaWVzCgkgIFRoaXMgaXMgbmVlZCB0byBjb3JyZWN0bHkgZXhwb3NlIGNhcGFiaWxpdGllcyBvbiBzcGVjaWFsaXplZCBkZXZpY2VzCgkgIGxpa2UgZGVjb2RlcnMgYW5kIGVuY29kZXJzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIwNTY4CgoyMDE0LTAxLTEwIDE0OjE2OjAwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkgIG1hdHJvc2thZGVtdXg6IGRvbid0IGxlYWsgVE9DIGNoYXB0ZXIgbGlzdAoKMjAxNC0wMS0xMCAwODo1MjoxNiArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiByZW1vdmUgb2Jzb2xldGUgd3JpdGUtZHVtbXktYW5kLW92ZXJ3cml0ZS1vbi1lb3MgY29kZQoJICBUaGUgbmVlZCBmb3IgcmV3cml0aW5nIGFwcGFyZW50bHkgaXMgb2Jzb2xldGUgMC4xMCBsZWZ0b3Zlci4KCSAgV2Ugbm93IGhhdmUgY2FwcyBmb3Igc3VidGl0bGVzIHdoZW4gd2UgY3JlYXRlIHRoZSBoZWFkZXJzLAoJICBzbyB3ZSBhbHdheXMgd3JpdGUgdGhlIGNvcnJlY3QgZGF0YSBpbiB0aGUgZmlyc3QgcGxhY2UuCgoyMDE0LTAxLTA5IDIzOjU1OjE2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcnR4c2VuZC5jOgoJICBydHBydHhzZW5kOiByZW1vdmUgZHVwbGljYXRlIGFzc2lnbm1lbnQKCSAgQ292ZXJpdHkgQ0lEIDExNTE2ODAKCjIwMTQtMDEtMDkgMTg6MjU6MDQgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogd3JpdGUgc3VidGl0bGUgY29kZWMgSUQgYW5kIGRhdGEgYXQgc3RhcnQgd2hlbiBrbm93bgoJICBUaGlzIGF2b2lkcyBpc3N1ZXMgd2l0aCB3cml0aW5nIGR1bW15IGRhdGEgZmlyc3QsIHRoZW4gaGF2aW5nCgkgIHRvIGNvbWUgYmFjayBhbmQgd3JpdGUgY29ycmVjdCBkYXRhIGxhdGVyLiBEb2luZyBzbyBwcmV2ZW50cwoJICB0aGUgbXV4ZWQgc3RyZWFtIGZyb20gYmVpbmcgYWN0dWFsbHkgc3RyZWFtYWJsZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMjEzNAoKMjAxNC0wMS0wOSAxNzozMjoxNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBJbmNsdWRlIEF2YWlsYWJpbGl0eU1hY3Jvcy5oIGZvciBvc3h2aWRlbyBjaGVjawoJICBPdGhlcndpc2UgTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgbWlnaHQgbm90IGJlIGRlZmluZWQKCjIwMTQtMDEtMDkgMTE6NTY6MzEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9hdG9tcy5jOgoJKiBnc3QvaXNvbXA0L2F0b21zLmg6CgkgIHF0bXV4OiByZXNwZWN0IHRoZSBIRExSIGJveCBzdHJpbmcgZm9ybWF0IGZvciBtb3YgYW5kIGlzb21lZGlhCgkgIE1vdiBzcGVjIHNheXMgaXQgdXNlcyBhIHBhc2NhbCBzdHlsZSBzdHJpbmcsIHdoaWxlIGlzb21lZGlhIHVzZXMKCSAgYSBudWxsIHRlcm1pbmF0ZWQgb25lLiBTdG9yZSB0aGUgY3VycmVudCBhdG9tcyBmbGF2b3IgaW50byB0aGUgSERMUgoJICB0byBiZSBhYmxlIHRvIGdlbmVyYXRlIHRoZSBjb3JyZWN0IG91dHB1dC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNTk4MgoKMjAxNC0wMS0wOCAxMToyODowNCArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIFJldmVydCAibWF0cm9za2FtdXg6IFVzZSB0aGUgcnVubmluZyB0aW1lIGZvciBjb250YWluZXIgdGltZXN0YW1wcywgbm90IGJ1ZmZlciB0aW1lc3RhbXBzIgoJICBUaGlzIHJldmVydHMgY29tbWl0IGIzYWE4NzU1ZmUwNzYzOWYyMmU0MTA0ZjQ5MzJkNzY5ZDZjOTA3NWEuCgkgIFdlIGFyZSBhbHJlYWR5IHVzaW5nIHRoZSBydW5uaW5nLXRpbWUgYmVjYXVzZSB0aGV5IHdlcmUgcGxhY2VkIG9uIHRoZQoJICBidWZmZXJzIHdpdGggZ3N0X2NvbGxlY3RfcGFkc19jbGlwX3J1bm5pbmdfdGltZSgpLiBBcmd1YWJseSBpdCB3b3VsZCBiZQoJICBiZXR0ZXIgdG8gbm90IG1vZGlmeSB0aGUgaW5jb21taW5nIGJ1ZmZlcnMgYnV0IGNvbGxlY3RwYWRzIHNlZW1zIHRvIHdhbnQKCSAgdG8gdXNlIGFic29sdXRlIHRpbWVzdGFtcHMgZnJvbSB0aGUgYnVmZmVycyBmb3IgZmluZGluZyB0aGUgYmVzdCBidWZmZXIKCSAgKHRoaXMgY2FuIGJlIGNoYW5nZWQgd2l0aCBhIGN1c3RvbSBjb21wYXJlIGZ1bmN0aW9uLi4pLgoKMjAxNC0wMS0wOCAxMDo0MToyNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBGaXggQUNfQ09NUElMRV9JRkVMU0UgdXNhZ2UKCjIwMTQtMDEtMDggMTA6MzE6MTggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIG9zeHZpZGVvc2luazogSW1wcm92ZSBjb25maWd1cmUgY2hlY2sgZm9yIE9TWCA+PSAxMC42CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjEyNDUKCjIwMTQtMDEtMDcgMTI6MTM6NTEgLTA4MDAgIEFsZWl4IENvbmNoaWxsbyBGbGFxdcOpIDxhbGVpeEBvYmxvbmcuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogcmVtb3ZlIHVudXNlZCBsaXN0IG9mIGRlY29kZXJzCgkgIHJlbW92ZSBsaXN0IG9mIGRlY29kZXJzLCB3aGljaCBhcmUgYWxyZWFkeSBoYW5kbGVkIGJ5IHRoZSBsaXN0IG9mIGVsZW1lbnRzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzE5OTM4CgoyMDE0LTAxLTA4IDA5OjQ2OjU1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogRXJyb3Igb3V0IGlmIEFEUENNIGNhcHMgZG9uJ3QgY29udGFpbiB0aGUgbGF5b3V0IGZpZWxkCgoyMDE0LTAxLTAzIDE1OjI1OjIzICswMTAwICBOaWNvbGEgTXVyaW5vIDxuaWNvbGEubXVyaW5vQGdtYWlsLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IEFkZCBzdXBwb3J0IGZvciBnNzI2IEFEUENNCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjA5OTUKCjIwMTQtMDEtMDcgMTU6MDQ6MDIgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiB1c2UgbmV3IG1ldGhvZCB0byBnZXQgbWVkaWEtdHlwZQoJICBVc2UgdGhlIG5ldyBtZXRob2QgdG8gZ2V0IHRoZSBtZWRpYSB0eXBlIG9mIGEgdHJhbnNwb3J0LgoKMjAxNC0wMS0wNiAyMToxMjoxNyArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3dhdnBhcnNlLmM6CgkgIHdhdnBhcnNlOiBzcGxpdCB0aGUgdGVzdAoJICBUaGlzIHdheSBvbmUgZmFpbHVyZSB3b24ndCBzaGFkb3cgdGhlIG90aGVyIHRlc3QgYW5kIGFsc28gaWYgb25lIGZhaWxzIHdlIGdldAoJICBiZXR0ZXIgZGlzZ25vc3RpY3MgdGhyb3VnaCB0aGUgdGVzdC1uYW1lLgoKMjAxNC0wMS0wNiAxNDo1NDo0NiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IEFkZCBIRVZDIC8gaDI2NSBzdXBwb3J0CgoyMDE0LTAxLTA2IDE0OjU0OjM4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuaDoKCSAgbWF0cm9za2FkZW11eDogQWRkIEhFVkMgLyBoMjY1IHN1cHBvcnQKCjIwMTQtMDEtMDYgMTM6MzY6MzggKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgd2F2cGFyc2U6IHJlbW92ZSBpZmRlZidlZCBjb2RlCgkgIFdlIGRvIGhhdmUgYWR0bCBhbmQgY3VlIHBhcnNlIGFzIHBhcnQgb2YgdG9jIGhhbmRsaW5nIGFscmVkYXkuIFRoZSBmbXQgY29kZSBpcyBhIGxlZnQgb3ZlciBmcm9tIDwwLjEwIHRpbWVzLgoKMjAxNC0wMS0wNiAxMzozMjo1OCArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIGF2aWRlbXV4LCB3YXZlcGFyc2U6IG1vcmUgbG9nZ2luZyBmb3IgdW5oYW5kbGVkIGNodW5rcwoJICBBbHdheXMgcHJpbnQgYSB3YXJuaW5nIHdpdGggdGhlIHRhZyBhbmQgaWYgcG9zc2libGUgZG8gYSBtZW1kdW1wLgoKMjAxNC0wMS0wNSAyMjo0Nzo0MiArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IGV4cG9zZSAnc3RybicgLSBzdHJlYW0gbmFtZSAtIGFzIHRpdGxlIHRhZwoKMjAxNC0wMS0wNSAyMjo0MToyNCArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IHBhcnNlIGZ1amkgc3RyZAoJICBXZSBjYW4gZ2V0IG1ha2VyLCBtb2RlbCBhbmQgY2FwdHVyZSBkYXRlIGZyb20gdGhpcyBjaHVuay4KCSAgRml4ZXMgIzYzNjE0MwoKMjAxNC0wMS0wNSAyMTo0NjozMyArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IC4uLiBhbmQgdXNlIHRoZSBsb2NhbCBhcGkgYm90aCB0aW1lcwoKMjAxNC0wMS0wNSAyMTozODoxNCArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IGNvcHkgdGhlIHJpZmYgYXBpIGZvciBuY2R0IGludG8gdGhlIGVsZW1lbnQKCSAgVGhpcyBjaHVuayBpcyBhdmkgc3BlY2lmaWMsIG5vIG5lZWQgdG8gZXhwb3NlIHRoaXMgYXMgcHVibGljIGFwaS4KCjIwMTQtMDEtMDUgMTA6Mjg6MjEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBBZGQgbWlzc2luZyBzZW1pY29sb24gZnJvbSBsYXN0IGNvbW1pdAoKMjAxNC0wMS0wNSAxMDoyMjozNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IFVzZSB0aGUgcnVubmluZyB0aW1lIGZvciBjb250YWluZXIgdGltZXN0YW1wcywgbm90IGJ1ZmZlciB0aW1lc3RhbXBzCgkgIEJ1ZmZlciB0aW1lc3RhbXBzIGhhdmUgbm8gcmVhbCBtZWFuaW5nIGhlcmUsIGFuZCBmb3Igc2VsZWN0aW5nIHRoZSBuZXh0CgkgIGJ1ZmZlciB3ZSBhbHJlYWR5IHVzZSB0aGUgcnVubmluZyB0aW1lIGFueXdheS4KCjIwMTQtMDEtMDQgMjE6MzQ6MzggKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aTogdXNlIG5ldyByaWZmIGFwaSB0byBleHRyYWN0IG5pa29uIG1ldGFkYXRhCgkgIEZpeGVzICM2MzYxNDMKCjIwMTMtMTEtMDEgMTY6NDE6NDMgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtYW5hZ2VyLnhtbDoKCSAgcnRwcnR4c2VuZC9ydHBydHhyZWNlaXZlOiBnZW5lcmF0ZSBndGsgZG9jCgoyMDEzLTEyLTAyIDExOjI2OjA5ICswMTAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwcnR4LmM6CgkgIHRlc3QvY2hlY2s6IFZlcmlmeSBydHBydHhzZW5kOjpzc3JjLW1hcCBwcm9wZXJ0eSB3b3JrcyBhcyBleHBlY3RlZAoKMjAxMy0xMS0yOSAxOTozNTo0NCArMDEwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHJlY2VpdmUuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcnR4cmVjZWl2ZS5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBhdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwcnR4LmM6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9jbGllbnQtcnRwYXV4LmM6CgkgIHJ0cHJ0eHJlY2VpdmU6IG1vZGlmeSB0byB1c2UgYSBwYXlsb2FkLXR5cGUgbWFwIGxpa2UgcnRwcnR4c2VuZAoKMjAxMy0xMS0yOSAxOTo1ODoyNiArMDEwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHNlbmQuYzoKCSAgcnRwcnR4c2VuZDogZG8gbm90IGtlZXAgaGlzdG9yeSBvZiBwYWNrZXRzIHdpdGggYW4gdW5rbm93biBwYXlsb2FkIHR5cGUKCSAgVGhpcyBhbGxvd3MgdG8gZGlzYWJsZSByZXRyYW5zbWlzc2lvbiBwZXIgcGF5bG9hZCB0eXBlIGJ5IG5vdCBwdXR0aW5nCgkgIGEgY2VydGFpbiBwYXlsb2FkIHR5cGUgaW4gdGhlIG1hcC4KCjIwMTQtMDEtMDIgMTU6MTg6NTIgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcnR4c2VuZC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhzZW5kLmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGF1eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBjb2xsaXNpb24uYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwcnR4LmM6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9zZXJ2ZXItcnRwYXV4LmM6CgkgIHJ0cHJ0eHNlbmQ6IEFsbG93IFNTUkMtbXVsdGlwbGV4aW5nIGFuZCBtdWx0aXBsZSBwYXlsb2FkIHR5cGVzIGluIHRoZSBvcmlnaW5hbCBzdHJlYW0KCSAgQ29uZmxpY3RzOgoJICB0ZXN0cy9leGFtcGxlcy9ydHAvc2VydmVyLXJ0cGF1eC5jCgoyMDEzLTExLTI1IDE1OjAwOjQ1ICswMTAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcnR4c2VuZC5jOgoJICBydHBydHhzZW5kOiBBZGQgYW4gcnR4LXNzcmMgcHJvcGVydHkgdG8gYWxsb3cgZXh0ZXJuYWwgY29udHJvbCBvZiB0aGUgc3NyYwoJICBUaGlzIGlzIHVzZWZ1bCB3aGVuIG9uZSBuZWVkcyB0byBrbm93IHRoZSBTU1JDIGJlZm9yZWhhbmRzLCBzbyB0aGF0IGl0IGNhbgoJICBiZSB1c2VkIGZvciBTUlRQIGZvciBleGFtcGxlLgoKMjAxMy0xMS0xMyAxNToxMTozNSAtMDUwMCAgVG9ycmllIEZpc2NoZXIgPHRvcnJpZS5maXNjaGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL3J0cC8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9jbGllbnQtcnRwYXV4LmM6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9zZXJ2ZXItcnRwYXV4LmM6CgkgIGV4YW1wbGVzOiBydHA6IEFkZCBlbmQtdG8tZW5kIHJ0cGJpbiBleGFtcGxlIHdpdGggUlRYIGVsZW1lbnRzCgkgIFRoaXMgZXhhbXBsZSBkZW1vbnN0cmF0ZXMgaG93IHRvIHVzZSBydHBiaW4gd2l0aCByZXRyYW5zbWlzc2lvbiAocnR4KQoJICBlbGVtZW50cyBzZXQgaW4gdGhlIHBsYWNlIG9mIHJ0cGJpbidzICJhdXgiIGVsZW1lbnRzIGluIG9yZGVyIHRvCgkgIGVuYWJsZSBSVFAgcmV0cmFuc21pc3Npb24gYWNjb3JkaW5nIHRvIHRoZSBydWxlcyBvZiBSRkM0NTg4LgoKMjAxMy0xMS0wNSAxNzozNTowMSArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL2Rlc2lnbi9NYWtlZmlsZS5hbToKCSogZG9jcy9kZXNpZ24vZGVzaWduLXJ0cGF1eGlsaWFyeS50eHQ6CgkgIGRvYzogYWRkIGRlc2lnbi1ydHBhdXhpbGlhcnkudHh0IHRvIGRlc2NyaWJlIGhvdyBydHBiaW4gZGVhbHMgd2l0aCBhdXhpbGlhcnkgZWxlbWVudHMKCjIwMTQtMDEtMDIgMTQ6NDg6NDkgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICBzZXNzaW9uOiBhbHNvIHB1c2ggRU9TIGV2ZW50IHRvIFJUQ1Agc3JjcGFkCgoyMDE0LTAxLTAyIDE0OjQ2OjExICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIHNlc3Npb246IHBsYWNlIFNTUkMgaW4gUmV0cmFuc21pc3Npb24gZXZlbnQKCjIwMTMtMTEtMDEgMTY6NTc6MTUgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGF1eC5jOgoJICB0ZXN0cy9jaGVjazogYWRkIHJ0cGF1eDo6dGVzdF9zaW1wbGVfcnRwYmluX2F1eAoJICBJdCBzaG93cyBob3cgdG8gdXNlICJzZXQtYXV4LXJlY2VpdmUiIGFuZCAic2V0LWF1eC1zZW5kIgoJICBwcm9wZXJ0aWVzIG9mIHJ0cGJpbiB0byBzZXQgcnRwcnR4c2VuZCBhbmQgcnRwcnR4cmVjZWl2ZQoJICBCdWlsZCAyIHBpcGVsaW5lcywgb25lIGZvciBydHBiaW4gYXMgYSBzZW5kZXIgYW5kIG9uZSBmb3IKCSAgcnRvYmluIGFzIGEgcmVjZWl2ZS4gVGhlbiB0cmFuc21pdCBhbiBhdWRpbyBzdHJlYW0uCgkgIEl0IGFsc28gZHJvcHMgc29tZSBwYWNrZXRzIHRvIGFjdGl2YXRlIHJlc3RyYW5zbWlzc2lvbiBhbmQKCSAgY2hlY2sgdGhleSBhcmUgYWN0dWFsbHkgcmV0cmFuc21pdGVkLgoKMjAxMy0xMS0wMSAxNzowOTo0MiArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBjb2xsaXNpb24uYzoKCSAgdGVzdHMvY2hlY2s6IGFkZCBydHBjb2xsaXNpb246OnRlc3RfcnR4X3NzcmNfY29sbGlzaW9uIHVuaXQgdGVzdAoJICBjaGVjayB0aGF0IHJ0eHJ0cHNlbmQgY2hhbmdlcyBpdHMgcmV0cmFuc21pc3Npb24gc3NyYyB3aGVuCgkgIGNvbGxpc2lvbiBoYXBwZW5zCgoyMDEzLTExLTA2IDEyOjM0OjEzICswMjAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwcnR4LmM6CgkgIHRlc3RzL2NoZWNrOiBhZGQgcnRwcnR4Ojp0ZXN0X3J0eHJlY2VpdmVfZGF0YV9yZWNvbnN0cnVjdGlvbgoJICBUaGlzIHVuaXQgdGVzdCB2ZXJpZmllcyB0aGF0IHJldHJhbnNtaXR0ZWQgcnRwIHBhY2tldHMgY29taW5nIG91dAoJICBvZiBydHBydHhyZWNlaXZlIGFyZSB0aGUgc2FtZSBhcyB0aGUgb3JpZ2luYWwgb25lcy4KCjIwMTMtMTEtMDUgMDk6MzM6NTEgKzAyMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhzZW5kLmM6CgkgIHJ0cHJ0eHNlbmQ6IHVzZSBhIHJlYWxpc3RpYyBsaW1pdCBmb3IgdGhlIHZhbHVlIG9mIG1heC1zaXplLXBhY2tldHMKCSAgR19NQVhJTlQxNiBpcyBjaG9zZW4gYmVjYXVzZSBpZiB0aGUgcXVldWUgY29udGFpbnMgbW9yZSB0aGFuCgkgIEdfTUFYSU5UMTYgcGFja2V0cywgc2VxbnVtIGNvbXBhcmlzb24gd2lsbCBub3Qgd29yayBwcm9wZXJseS4KCjIwMTMtMTEtMDQgMjA6MDU6MDMgKzAyMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhzZW5kLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHNlbmQuaDoKCSAgcnRwcnR4c2VuZDogdXNlIGEgR1NlcXVlbmNlIHRvIGltcGxlbWVudCB0aGUgYnVmZmVyIHF1ZXVlCgkgIFRoaXMgaGFzIHRoZSBhZHZhbnRhZ2UgdGhhdCBzZWFyY2hpbmcgdGhlIHF1ZXVlIHRvIGZpbmQgdGhlCgkgIGJ1ZmZlciB3aXRoIHRoZSByZXF1ZXN0ZWQgc2VxbnVtIGlzIGRvbmUgd2l0aCBiaW5hcnkgc2VhcmNoLgoKMjAxMy0xMS0wNCAxODozODoyNCArMDIwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHNlbmQuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcnR4c2VuZC5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBydHguYzoKCSAgcnRwcnR4c2VuZDogcmV0cmFuc21pdCBwYWNrZXRzIGluIHRoZSBzYW1lIG9yZGVyIGFzIHRoZSBydHggcmVxdWVzdHMKCjIwMTMtMTEtMDIgMTk6NTY6NDQgKzAyMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBydHguYzoKCSAgdGVzdHMvY2hlY2s6IEFkZCB1bml0IHRlc3QgZm9yIHJ0eHNlbmQncyBtYXhfc2l6ZV90aW1lIHByb3BlcnR5CgoyMDEzLTEwLTI5IDE4OjI3OjAwICswMTAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcnR4c2VuZC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhzZW5kLmg6CgkgIHJ0cHJ0eHNlbmQ6IEhhbmRsZSB0aGUgbWF4X3NpemVfdGltZSBwcm9wZXJ0eQoJICBUaGlzIHByb3BlcnR5IGFsbG93cyB5b3UgdG8gc3BlY2lmeSB0aGUgYW1vdW50IG9mIGJ1ZmZlcnMKCSAgdG8ga2VlcCBpbiB0aGUgcmV0cmFuc21pc3Npb24gcXVldWUgZXhwcmVzc2VkIGFzIHRpbWUgKG1zKQoJICBpbnN0ZWFkIG9mIGJ1ZmZlciBjb3VudCAod2hpY2ggaXMgdGhlIG1heF9zaXplX2J1ZmZlcnMgcHJvcGVydHkpLgoKMjAxMy0xMS0wMiAxNToyMTowOCArMDIwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHNlbmQuYzoKCSAgcnRwcnR4c2VuZDoga2VlcCBpbXBvcnRhbnQgYnVmZmVyIGluZm9ybWF0aW9uIGluIGEgcHJpdmF0ZSBzdHJ1Y3R1cmUKCSAgVGhpcyBpcyB0byBhdm9pZCBtYXBwaW5nIGEgYnVmZmVyIGV2ZXJ5IHRpbWUgd2UgbmVlZCB0byByZWFkIGEgc2VxbnVtCgkgIG9yIGEgdGltZXN0YW1wLgoKMjAxMy0xMS0wMSAxMTo1ODo0NyArMDEwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cHJ0eC5jOgoJICB0ZXN0cy9jaGVjazogQWRkIHJ0cHJ0eDo6dGVzdF9ydHhzZW5kZXJfcGFja2V0X3JldGVudGlvbgoJICBUaGlzIHVuaXQgdGVzdCB2ZXJpZmllcyB0aGF0IHRoZSBydHhzZW5kIGVsZW1lbnQgY29ycmVjdGx5IG1haW50YWlucwoJICBhIGJ1ZmZlciBvZiBhbHJlYWR5IHRyYW5zbWl0dGVkIHJ0cCBwYWNrZXRzIGFuZCB0aGF0IGl0IGNhbgoJICByZS10cmFuc21pdCBhbGwgb2YgdGhlbSBjb3JyZWN0bHkgb24gZGVtYW5kLiBJdCBhbHNvIHZlcmlmaWVzCgkgIHRoYXQgdGhlIGxpbWl0IG9mIHRoaXMgYnVmZmVyIChtYXgtc2l6ZS1wYWNrZXRzIHByb3BlcnR5KSBpcyByZXNwZWN0ZWQuCgoyMDEzLTExLTAxIDE2OjIyOjEzICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cHJ0eC5jOgoJICB0ZXN0cy9jaGVjazogYWRkIHJ0cHJ0eDo6dGVzdF9kcm9wX211bHRpcGxlX3NlbmRlciB1bml0IHRlc3QKCSAgU2V2ZXJhbCBzZW5kZXJzIC8gb25lIHJlY2VpdmVyCgkgIFNpbWlsYXIgdGhhbiB0ZXN0X2Ryb3Bfb25lX3NlbmRlciBidXQgd2l0aCBtdWx0aXBsZSBzZW5kZXJzCgkgIG1peGVkIHRocm91Z2ggdGhlIGZ1bm5lbCBlbGVtZW50LgoJICBJdCBkcm9wcyBzb21lIHBhY2tldHMgYW5kIGNoZWNrcyB0aGF0IHRoZXkgYXJlIHJldHJhbnNtaXRlZAoJICBjb3JyZWN0bHkuCgoyMDEzLTExLTAxIDE2OjIxOjAwICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cHJ0eC5jOgoJICB0ZXN0cy9jaGVjazogYWRkIHJ0cHJ0eDo6dGVzdF9kcm9wX29uZV9zZW5kZXIgdW5pdCB0ZXN0CgkgIFRlc3QgZm9yIG9uZSBzZW5kZXIgLyBvbmUgcmVjZWl2ZXIKCSAgQnVpbGQgdGhlIHBpcGVsaW5lCgkgIHZpZGVvdGVzdHNyYyAhIHJ0cHZyYXdwYXkgISBydHBydHhzZW5kICEgcnRwcnR4cmVjZWl2ZSAhIGZha2VzaW5rCgkgIGFuZCBkcm9wIHNvbWUgYnVmZmVycyBiZXR3ZWVuIHJ0cHJ0eHNlbmQgYW5kIHJ0cHJ0eHJlY2VpdmUKCSAgVGhlbiBpdCBjaGVja3MgdGhhdCBldmVyeSBkcm9wcGVkIHBhY2tldCBoYXMgYmVlbiByZS1zZW50LgoJICBJdCBhbHNvIGNoZWNrcyB0aGF0IG5vdCB0b28gbXVjaCByZXF1ZXN0cyBoYXMgYmVlbiBzZW50LgoKMjAxMy0xMS0wMSAxNjoxNzo1MSArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwcnR4LmM6CgkgIHRlc3RzL2NoZWNrOiBhZGQgcnRwcnR4Ojp0ZXN0X3B1c2hfZm9yd2FyZF9zZXEKCSAgYWRkIHNpbXBsZSB1bml0IHRlc3QgdGhhdCBtYW51YWxseSBwdXNoIGJ1ZmZlcnMKCSAgaW4gcnRwcnR4c2VuZCBjb25uZWN0ZWQgdG8gcnRwcnR4cmVjZWl2ZS4KCSAgRHJvcHMgc29tZSBidWZmZXJzIGFuZCBtYWtlIHN1cmUgdGhleSBhcmUgcmV0cmFuc21pc3RlZC4KCjIwMTMtMTEtMDEgMTU6NTI6MDMgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG1hbmFnZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcnR4cmVjZWl2ZS5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhyZWNlaXZlLmg6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHNlbmQuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcnR4c2VuZC5oOgoJICBydHBtYW5hZ2VyOiBhZGQgbmV3IHJ0cHJ0eHNlbmQgLyBydHBydHhyZWNlaXZlIGVsZW1lbnRzCgkgIFRoZSBwdXJwb3NlIG9mIHRoZSBzZW5kZXIgUlRYIG9iamVjdCBpcyB0byBrZWVwIGEgaGlzdG9yeQoJICBvZiBSVFAgcGFja2V0cyB1cCB0byBhIGNvbmZpZ3VyYWJsZSBsaW1pdCAoaW4gdGltZSkuIEl0IHdpbGwKCSAgbGlzdGVuIGZvciBjdXN0b20gcmV0cmFuc21pc3Npb24gZXZlbnRzIGZyb20gZG93bnN0cmVhbS4gV2hlbgoJICBpdCByZWNlaXZlcyBhIHJlcXVlc3QgZm9yIHJldHJhbnNtaXNzaW9uLCBpdCB3aWxsIGxvb2sgdXAgdGhlCgkgIHJlcXVlc3RlZCBzZXFudW0gaW4gaXRzIGxpc3Qgb2Ygc3RvcmVkIHBhY2tldHMuIElmIHRoZSBwYWNrZXQKCSAgaXMgYXZhaWxhYmxlLCBpdCB3aWxsIGNyZWF0ZSBhIFJUWCBwYWNrZXQgYWNjb3JkaW5nIHRvIFJGQyA0NTg4CgkgIGFuZCBzZW5kIHRoaXMgYXMgYW4gYXV4aWxpYXJ5IHN0cmVhbS4KCSAgVGhlIHJlY2VpdmVyIHdpbGwgbGlzdGVuIHRvIHRoZSBjdXN0b20gcmV0cmFuc21pc3Npb24gZXZlbnRzCgkgIGZyb20gdGhlIGRvd25zdHJlYW0gaml0dGVyYnVmZmVyIGFuZCB3aWxsIHJlbWVtYmVyIHRoZSBTU1JDMQoJICBvZiB0aGUgc3RyZWFtIGFuZCBzZXFudW0gdGhhdCB3YXMgcmVxdWVzdGVkLiBXaGVuIGl0IHNlZXMgYQoJICBwYWNrZXQgd2l0aCBvbmUgb2YgdGhlIHN0b3JlZCBzZXFudW0sIGl0IGFzc29jaWF0ZXMgdGhlIFNTUkMyCgkgIG9mIHRoZSBzdHJlYW0gd2l0aCB0aGUgU1NSQzEgb2YgdGhlIG1hc3RlciBzdHJlYW0uIEZyb20gdGhlbgoJICBvbiBpdCBrbm93cyB0aGF0IFNTUkMyIGlzIHRoZSByZXRyYW5zbWlzc2lvbiBzdHJlYW0gb2YgU1NSQzEuCgkgIFRoaXMgYWxnb3JpdGhtIGlzIHN0YXRlZCBpbiBSRkMgNDU4OC4gRm9yIHRoaXMgYWxnb3JpdGhtIHRvCgkgIHdvcmssIFJGQzQ1ODggYWxzbyBzdGF0ZXMgdGhhdCBubyB0d28gcGVuZGluZyByZXRyYW5zbWlzc2lvbgoJICByZXF1ZXN0cyBjYW4gZXhpc3QgZm9yIHRoZSBzYW1lIHNlcW51bSBhbmQgZGlmZmVyZW50IFNTUkNzIG9yCgkgIGVsc2UgaXQgd291bGQgYmUgaW1wb3NzaWJsZSB0byBhc3NvY2lhdGUgdGhlIHJldHJhbnNtaXNzaW9uIHdpdGgKCSAgdGhlIG9yaWdpbmFsIHJlcXVlc3RlciBTU1JDLgoJICBXaGVuIHRoZSBSVFggcmVjZWl2ZXIgaGFzIGFzc29jaWF0ZWQgdGhlIHJldHJhbnNtaXNzaW9uIHBhY2tldHMsCgkgIGl0IGNhbiBkZXBheWxvYWQgYW5kIGZvcndhcmQgdGhlbSB0byB0aGUgc291cmNlIHBhZCBvZiB0aGUgZWxlbWVudC4KCSAgUlRYIGlzIFNTUkMtbXVsdGlwbGV4ZWQKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMTA4NAoKMjAxMy0xMS0wNSAxNjozNjo0NiArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL2Rlc2lnbi9NYWtlZmlsZS5hbToKCSogZG9jcy9kZXNpZ24vZGVzaWduLXJ0cHJldHJhbnNtaXNzaW9uLnR4dDoKCSAgZG9jOiBhZGQgZGVzaWduIGZvciBydHAgcmV0cmFuc21pc3Npb24KCSAgRGVzY3JpYmUgaG93IHJ0cHJ0eHNlbmQgYW5kIHJ0cHJ0eHJlY2VpdmUgZ2VuZXJhbGx5IHdvcmsKCSAgYnV0IGFsc28gaG93IHRoZSBhc3NvY2lhdGlvbiBhbGdvcml0aG0gaXMgaW1wbGVtZW50ZWQuCgoyMDE0LTAxLTAyIDIwOjIzOjA1IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyLnZlcmRlam9Ac2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXBodHRwc3JjOiB1c2Ugc3RhdHVzIGNvZGUgbWFjcm8gaW5zdGVhZCBvZiA0MDcKCSAgUmVzdCBvZiB0aGUgY29kZSBpcyB1c2luZyB0aGUgX1BST1hZX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVECgkgIG1hY3JvIHRvby4gRWFzaWVyIHRvIHVuZGVyc3RhbmQgaWYgeW91IGRvbid0IHJlY2FsbCBIVFRQCgkgIGVycm9yIGNvZGVzIGJ5IGhlYXJ0LgoKMjAxMy0xMi0zMSAyMTozMTo0MyAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8ci52ZXJkZWpvQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvc2hvdXQyL2dzdHNob3V0Mi5jOgoJKiBleHQvc2hvdXQyL2dzdHNob3V0Mi5oOgoJICBzaG91dDJzZW5kOiBjaGFuZ2UgYXVkaW9fZm9ybWF0IGZpZWxkIHRvIGZvcm1hdAoJICBUaGlzIGVsZW1lbnQgYW5kIHRoZSB1bmRlcmx5aW5nIGxpYnNob3V0MiBsaWJyYXJ5CgkgIGNhbiBoYW5kbGUgdmlkZW8gbWVkaWEgZmlsZXMgdG9vLiBUaGUgY29kZSBhbHJlYWR5CgkgIGhhbmRsZXMgdmlkZW8vd2VibSBzbyB0aGUgbmFtZSBnZXRzIGNvbmZ1c2luZy4gQWxzbwoJICBhZGQgYW5kIHVzZSBERUZBVUxUX0ZPUk1BVCBtYWNybyBJbnN0ZWFkIG9mIGhhcmR3aXJpbmcKCSAgU0hPVVRfRk9STUFUX1ZPUkJJUyBhdCBpbml0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjEzNDIKCjIwMTMtMTItMzEgMjA6MDk6MjkgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHIudmVyZGVqb0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L3Nob3V0Mi9nc3RzaG91dDIuYzoKCSAgc2hvdXQyc2VuZDogY2xhcmlmeSBtZWFuaW5nIG9mIHRoZSBVUkwgcHJvcAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIxMzQyCgoyMDEzLTEyLTI3IDEyOjI3OjMyIC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyLnZlcmRlam9Ac2lzYS5zYW1zdW5nLmNvbT4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBleHQvc2hvdXQyL2dzdHNob3V0Mi5jOgoJICBzaG91dDJzZW5kOiBkb2NzLCBhZGQgYSBzYW1wbGUgcGlwZWxpbmUKCSAgQW5kIGZpbmlzaCBhZGRpbmcgc2hvdXQyc2VuZCB0byB0aGUgZG9jcyB3aGlsZSBhdCBpdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIxMzQyCgoyMDEzLTEyLTMxIDE1OjAwOjIyIC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyLnZlcmRlam9Ac2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zm92ZXJsYXkuYzoKCSAgZ2RrcGl4YnVmb3ZlcmxheTogcmVtb3ZlIHNwdXJpb3VzIEBzZWVfYWxzbwoKMjAxMy0xMi0wNiAxNzowODo1NCArMDAwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AY29sbGFib3JhLmNvbT4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogc3VwcG9ydCBhbnkgdmlkZW8gZm9ybWF0cyBhbmQgYW55IGNhcHMgZmVhdHVyZXMgaWYgZGVpbnRlcmxhY2UgbW9kZSBhbGxvd3MgaXQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxOTYzNgoKMjAxMy0xMi0zMSAxMzozMTo1MiArMDEwMCAgU2ViYXN0aWFuIFJhc211c3NlbiA8c2VicmFzQGhvdG1haWwuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyOiBIYW5kbGUgdjRsMl9pb2N0bCgpIGVycm9ycyBldmVuIGluIGVycm9yIGhhbmRsaW5nCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjEyNjgKCjIwMTQtMDEtMDEgMTI6MTE6NDMgLTA4MDAgIEplcmVteSBIdWRkbGVzdG9uIFNlcXVvaWEgPGplcmVteWh1QGFwcGxlLmNvbT4KCgkqIHN5cy9vc3h2aWRlby9NYWtlZmlsZS5hbToKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5oOgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIG9zeHZpZGVvOiB1bmlmZGVmIC1EUlVOX05TX0FQUF9USFJFQUQKCjIwMTQtMDEtMDEgMTI6MTA6MDEgLTA4MDAgIEplcmVteSBIdWRkbGVzdG9uIFNlcXVvaWEgPGplcmVteWh1QGFwcGxlLmNvbT4KCgkqIHN5cy9vc3h2aWRlby9jb2NvYXdpbmRvdy5tOgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLmg6CgkgIG9zeHZpZGVvOiBBc3N1bWUgU0RLIGFuZCBkZXBsb3ltZW50IHRhcmdldCBhcmUgYXQgbGVhc3QgU25vdyBMZW9wYXJkCgoyMDE0LTAxLTAxIDEyOjIzOjUwIC0wODAwICBKZXJlbXkgSHVkZGxlc3RvbiBTZXF1b2lhIDxqZXJlbXlodUBhcHBsZS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogRGlzYWJsZSBvc3h2aWRlbyBvbiBMZW9wYXJkIGFuZCBlYXJsaWVyCgkgIFRoaXMgYWxzbyBtb3ZlcyB0aGUgIm90aGVyIHBsYXRmb3JtcyIgY2hlY2sgaW4gT1MgWCB2aWRlbyB0byBiZWZvcmUgdGhlCgkgIHZhcmlhYmxlIGlzIHJlYWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMTI0NQoKMjAxMy0xMi0zMSAxNDo1NzoyNyArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBiaW4uYzoKCSAgdGVzdHM6IGFkZCBBVVggcmVjZWl2ZXIgdW5pdCB0ZXN0CgoyMDEzLTEyLTMxIDEzOjIwOjAxICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGJpbi5jOgoJICB0ZXN0czogaW1wcm92ZSBydHBiaW4gdGVzdAoKMjAxMy0xMi0zMSAxMzoxNjo0NiArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiBhZGQgc29tZSBkb2NzIGFib3V0IEFVWCBlbGVtZW50cwoKMjAxMy0xMi0zMSAxMzowMToyMiArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBiaW4uYzoKCSAgdGVzdHM6IGFkZCBBVVggc2VuZGVyIHVuaXQgdGVzdAoKMjAxMy0xMi0zMSAxMjozMToyNSArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkgIHJ0cGJpbjogYWRkIHN1cHBvcnQgZm9yIEFVWCBzZW5kZXIgYW5kIHJlY2VpdmVyCgkgIEFVWCBlbGVtZW50cyBhcmUgZWxlbWVudHMgdGhhdCBjYW4gYmUgaW5zZXJ0ZWQgaW50byB0aGUgcnRwYmluCgkgIHBpcGVsaW5lIHJpZ2h0IGJlZm9yZSBvciBhZnRlciAxIG9yIG1vcmUgc2Vzc2lvbiBlbGVtZW50cy4KCSAgVGhlIEFVWCBlbGVtZW50cyBhcmUgZXNzZW50aWFsIGZvciBpbXBsZW1lbnRpbmcgZnVuY3Rpb25hbGl0eSBzdWNoCgkgIGFzIGVycm9yIGNvcnJlY3Rpb24gKEZFQykgYW5kIHJldHJhbnNtaXNzaW9uIChSVFgpLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzExMDg3CgoyMDEzLTEyLTMxIDEyOjIyOjM5ICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGJpbi5jOgoJICB0ZXN0czogYWRkIGRlY29kZXIgdGVzdAoKMjAxMy0xMi0zMCAxNzozNjo0MiArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiBtYWtlIHJlcXVlc3RfZWxlbWVudCBtZXRob2QgaW50ZXJuYWxseQoJICBXZSBjYW4gdXNlIHRoZSBzYW1lIG1ldGhvZCB0byBjcmVhdGUgZW5jb2RlciBhbmQgZGVjb2RlciBlbGVtZW50cywgdGhleQoJICBhcmUganVzdCBpbnRlcm5hbCBlbGVtZW50cyB0aGF0IHdlIGNyZWF0ZS4KCjIwMTMtMTItMzEgMTA6MjU6MjggKzAxMDAgIFN0w6lwaGFuZSBDZXJ2ZWF1IDxzY2VydmVhdUBnbWFpbC5jb20+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgd2F2cGFyc2U6IFNraXAgaWQzIHRhZwoJICBTa2lwIGlkMyB0YWcgZHVyaW5nIHdhdiBwYXJzZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMTI0MQoKMjAxMy0xMi0zMSAxMDoxMDowNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hjb3JlYXVkaW8uaDoKCSogc3lzL29zeHZpZGVvL2NvY29hd2luZG93Lm06CgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsuaDoKCSAgb3N4OiBNYWtlIE9TWCB2ZXJzaW9uIGNoZWNrcyBtb3JlIGNvbnNpc3RlbnQKCSAgQW5kIGVzcGVjaWFsbHkgYWxzbyBjb25zaWRlciB1cGRhdGUgdmVyc2lvbnMsIGUuZy4gMTAuNSB3aXRoIHVwZGF0ZXMKCSAgd2lsbCBiZSAxMDUxIG9yIHNpbWlsYXIgYW5kIHRodXMgYmlnZ2VyIHRoYW4gTUFDX09TX1hfVkVSU0lPTl8xMF81IGJ1dAoJICBzdGlsbCB3b24ndCBoYXZlIHRoZSBBUEkgd2Ugd2FudCB0byB1c2UuCgoyMDEzLTEyLTMxIDEwOjA3OjIyICswMTAwICBKZXJlbXkgSHVkZGxlc3RvbiA8amVyZW15aHVAZnJlZWRlc2t0b3Aub3JnPgoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5oOgoJICBvc3h2aWRlb3Npbms6IEZpeCBidWlsZCBvbiB1cGRhdGVkIE9TIFggTGVvcGFyZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIxMjQ1CgoyMDEzLTEyLTMwIDE3OjIzOjIyICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSAgYXZpbXV4OiBBZGQgbWlzc2luZyBicmVhawoJICBJIGd1ZXNzIG5vLW9uZSBub3RpY2VkIHdlIG5vIGxvbmdlciBjb3VsZCBtdXggV01WMyAuLi4KCSAgQ09WRVJJVFkgQ0lEIDExMzk3NTkKCjIwMTMtMTItMzAgMTc6MjA6MzcgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdwYXkuYzoKCSAgcnRwdnJhd3BheTogQWRkIG1pc3NpbmcgYnJlYWsKCSAgQ09WRVJJVFkgQ0lEIDExMzk3NjIKCjIwMTMtMTItMzAgMTc6MDA6NDUgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBpbnRlcm5hbC1zc3JjIGlzIG5vIGxvbmdlciBkZXByZWNhdGVkCgoyMDEzLTEyLTMwIDE2OjU5OjIwICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IGFkZCBTaW5jZSB0YWdzCgoyMDEzLTEyLTMwIDE2OjUyOjI4ICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaDoKCSAgcnRwYmluOiBhZGQgc2lnbmFsIGZvciBuZXcgaml0dGVyYnVmZmVyCgkgIEVtaXQgYSBzaWduYWwgd2hlbiBhIG5ldyBqaXR0ZXJidWZmZXIgaXMgY3JlYXRlZCBzbyB0aGF0IHRoZSBhcHAgY2FuCgkgIGhhdmUgYSBjaGFuY2UgdG8gY29uZmlndXJlIGl0LgoKMjAxMy0xMi0zMCAxNjoyODo1NyArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwYmluLmM6CgkgIHJ0cGJpbjogaGFuZGxlIG11bHRpcGxlIGVuY29kZXIgaW5zdGFuY2VzCgkgIEtlZXAgdHJhY2sgb2YgZWxlbWVudHMgdGhhdCBhcmUgYWRkZWQgdG8gbXVsdGlwbGUgc2Vzc2lvbnMgYW5kIG1ha2Ugc3VyZQoJICB3ZSBvbmx5IGFkZCB0aGVtIHRvIHRoZSBydHBiaW4gb25jZSBhbmQgdGhhdCB3ZSBjbGVhbiB0aGVtIHdoZW4gbm8KCSAgc2Vzc2lvbiByZWZlcnMgdG8gdGhlbSBhbnltb3JlLgoKMjAxMy0xMi0zMCAxNToxNjowOSArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBiaW4uYzoKCSAgdGVzdHM6IGFkZCB1bml0IHRlc3QgZm9yIGVuY29kZXIgZWxlbWVudAoKMjAxMy0xMi0zMCAxNToxNTo0MyArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiBmaXggbWVtb3J5IGxlYWtzCgoyMDEzLTEyLTMwIDE1OjAzOjM0ICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGJpbi5jOgoJICB0ZXN0czogZml4IGxlYWsKCjIwMTMtMTItMzAgMTU6MDA6NTAgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogZXhwZWN0IHRoZSBwYWRzIG9uIHRoZSBlbmNvZGVycwoJICBEb24ndCB1c2UgcmVxdWVzdCBwYWRzIGZvciB0aGUgZW5jb2RlciBlbGVtZW50cywgdGhlIHNpZ25hbCBoYW5kbGVyCgkgIHNob3VsZCByZXF1ZXN0IHRoZSBwYWRzIGFuZCBtYWtlIHN1cmUgdGhleSBhcmUgYXZhaWxhYmxlIHdpdGggdGhlIHJpZ2h0CgkgIG5hbWUuCgoyMDEzLTEyLTMwIDE0OjU2OjA3ICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaDoKCSAgcnRwYmluOiByZXF1ZXN0LXJ0cC1lbmNvZGVyIGFyZSBubyBhY3Rpb24gc2lnbmFscwoJICBUaGUgcmVxdWVzdC1ydHAtZW5jb2RlciBzaWduYWxzIGFyZSBub3QgYWN0aW9uIHNpZ25hbHMgc28gbWFyayB0aGVtCgkgIGNvcnJlY3RseSBhbmQgdXNlIGFuIGFjY3VtdWxhdG9yIHRvIGNvbGxlY3QgdGhlIHJlc3VsdCB2YWx1ZS4KCjIwMTMtMTItMzAgMTQ6MzY6NDUgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgd2F2cGFyc2U6IGVtaXQgbWlkaS1iYXNlLW5vdGUgdGFnIGZyb20gZGF0YSBpbiAnc21wbCcgY2h1bmsKCSAgQWRkIHBhcnNpbmcgb2YgdGhlICdzbXBsJyBjaHVuay4gUmlnaHQgbm93IHdlIG9ubHkgZ3JhYiB0aGUgbWlkaS1iYXNlLW5vdGUgYW5kCgkgIGVtaXQgaXQgYXMgYSB0YWcuCgoyMDEzLTEyLTI2IDEyOjA1OjE5ICswMjAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICBnc3RydHBzZXNzaW9uOiBzdWdnZXN0IHVwc3RyZWFtIHRvIHVzZSB0aGUgbmV3ICJpbnRlcm5hbC1zc3JjIiBhZnRlciBhIGNvbGxpc2lvbgoJICBXaGVuIGEgY29sbGlzaW9uIGlzIGZvdW5kIG9uIHRoZSBpbnRlcm5hbCBzc3JjLCB3ZSBoYXZlIHRvIGNoYW5nZSBpdC4KCSAgSWRlYWxseSwgd2Ugd2FudCBhbHNvIHRoZSBwYXlsb2FkZXIgdXBzdHJlYW0gdG8gZm9sbG93IHRoaXMgY2hhbmdlIGFuZCB1c2UKCSAgdGhlIG5ldyBpbnRlcm5hbCBzc3JjLiBJZGVhbGx5IHdlIHdhbnQgdGhpcyBjb25kaXRpb24gdG8gYmUgYWx3YXlzIG1ldDoKCSAgaWYgdGhlcmUgaXMgb25lIHBheWxvYWRlciBzZW5kaW5nIG9uIHRoaXMgc2Vzc2lvbiwgaXRzIHNzcmMgc2hvdWxkIG1hdGNoIHRoZQoJICBpbnRlcm5hbCBzc3JjLgoKMjAxMy0xMi0yNiAxMTowNDoyOSArMDIwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogYWxsb3cgc2V0dGluZyBpbnRlcm5hbC1zc3JjIGFnYWluCgoyMDEzLTEyLTMwIDEzOjMxOjQ1ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzoKCSAgeTRtZW5jb2RlOiBSZW1vdmUgZGVhZCBjb2RlCgkgIHNldC9nZXQgcHJvcGVydHkgaXNuJ3QgdXNlZAoKMjAxMy0xMi0zMCAxMzozMDoyNCArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwcWNlbHBkZXBheS5jOgoJICBydHBxY2VscGRlcGF5OiBSZW1vdmUgdW5lZWRlZCB2YXJpYWJsZQoKMjAxMy0xMi0wNSAxNTo1Mzo1MiAtMDgwMCAgQWxlaXggQ29uY2hpbGxvIEZsYXF1w6kgPGFsZWl4QG9ibG9uZy5jb20+CgoJICBydHBiaW46IGFsbG93IGR5bmFtaWMgUlRQL1JUQ1AgZW5jb2RlcnMvZGVjb2RlcnMKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uW2NoXTogZm91ciBuZXcgYWN0aW9uIHNpZ25hbHMgaGF2ZSBiZWVuCgkgIGFkZGVkIChyZXF1ZXN0LXJ0cC1lbmNvZGVyLCByZXF1ZXN0LXJ0cC1kZWNvZGVyLCByZXF1ZXN0LXJ0Y3AtZW5jb2RlcgoJICBhbmQgcmVxdWVzdC1ydGNwLWRlY29kZXIpLiBUaGUgdXNlciB3aWxsIGJlIGFibGUgdG8gcHJvdmlkZSBlbmNvZGVycwoJICBvciBkZWNvZGVycyBkeW5hbWljYWxseS4gVGhlIGVuY29kZXJzIG11c3QgZm9sbG93IHRoZSBzcnRwZW5jIEFQSSBhbmQKCSAgdGhlIGRlY29kZXJzIHRoZSBzcnRwZGVjIEFQSS4gSGF2aW5nIHNlcGFyYXRlIHNpZ25hbHMgZm9yIFJUUCBhbmQgUlRDUAoJICBhbGxvd3MgdGhlIHVzZXIgdG8gdXNlIGRpZmZlcmVudCBlbmNvZGVycy9kZWNvZGVycyBvciBwcm92aWRlIHRoZSBzYW1lCgkgIG9uZSAoZS5nLiB0aGF0IHdvdWxkIGJlIHRoZSBjYXNlIGZvciBzcnRwZW5jKS4KCSAgQWxzbywgcnRwYmluIG5vdyBhbGxvd3MgYXBwbGljYXRpb24veC1zcnRwIGluIGl0cyBwYWRzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzE5OTM4CgoyMDEzLTEyLTI3IDE2OjUxOjMyICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IGR5bmFtaWNhbGx5IHJlY2FsY3VsYXRlIFJUWCBwYXJhbWV0ZXJzCgkgIFVzZSB0aGUgcm91bmQtdHJpcC10aW1lIGFuZCBhdmVyYWdlIGppdHRlciB0byBkeW5hbWljYWxseSBjYWxjdWxhdGUgdGhlCgkgIHJldHJhbnNtaXNzaW9uIGludGVydmFsIGFuZCBleHBlY3RlZCBwYWNrZXQgYXJyaXZhbCB0aW1lLgoJICBCYXNlZCBvbiBwYXRjaGVzIGZyb20gVG9ycmllIEZpc2NoZXIgPHRvcnJpZS5maXNjaGVyQGNvbGxhYm9yYS5jby51az4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMTQxMgoKMjAxMy0xMi0yNyAxNjo1MDo1MiArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBjYWxjdWxhdGUgYXZlcmFnZSBqaXR0ZXIKCjIwMTMtMTItMjcgMTY6NDg6NDggKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogdXNlIFJUVCBmcm9tIHRoZSBSZXRyYW5zbWlzc2lvbiBldmVudAoJICBQbGFjZSB0aGUgZXN0aW1hdGVkIFJUVCBpbiB0aGUgUmV0cmFuc21pc3Npb24gZXZlbnQgYW5kIGxldCB0aGUgc2Vzc2lvbgoJICBtYW5hZ2VyIHVzZSB0aGF0IGluc3RlYWQgb2YgdGhlIGhhcmRjb2RlZCB2YWx1ZS4KCjIwMTMtMTItMjcgMTU6NTc6MzkgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogdGFrZSBtb3JlIGFjY3VyYXRlIHJ1bm5pbmctdGltZSBmb3IgTkFDSwoJICBEb24ndCB1c2UgdGhlIGN1cnJlbnQgdGltZSBjYWxjdWxhdGVkIGZyb20gdGhlIHRtaWVvdXQgbG9vcCBmb3Igd2hlbiB3ZQoJICBsYXN0IHNjaGVkdWxlZCB0aGUgTkFDSyBiZWNhdXNlIGl0IG1pZ2h0IGJlIHVuc2NoZWR1bGVkIGJlY2F1c2Ugb2YgYSBtYXgKCSAgcGFja2V0IG1pc29yZGVyIGFuZCB0aGVuIHdlIGRvbid0IGFjY3VyYXRlbHkgY2FsY3VsYXRlIHRoZSBjdXJyZW50IHRpbWUuCgkgIEluc3RlYWQsIHRha2UgdGhlIGN1cnJlbnQgZWxlbWVudCBydW5uaW5nIHRpbWUgdXNpbmcgdGhlIGNsb2NrLgoKMjAxMy0xMi0zMCAxMTowNjozOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3dhdnBhY2tkZWMuYzoKCSAgd2F2cGFja2RlYzogU2VuZCBhIENBUFMgZXZlbnQgaW4gdGhlIHVuaXQgdGVzdAoKMjAxMy0xMi0yNyAwMjoxNDowMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4Lmg6CgkgIHF0ZGVtdXg6IGltcHJvdmUgbXNzX21vZGUvZnJhZ21lbnRlZCBzcGVjaWFsIGhhbmRsaW5nCgkgIE1ha2UgaXQgY2xlYXIgd2hhdCBzaG91bGQgYmUgaGFuZGxlZCBwdXJlbHkgYnkgbXNzIG1vZGU6CgkgIDEpIEV4cG9zZSB0aGUgc3RyZWFtcyBvbiB0aGUgZmlyc3QgbW9vZiBhcyB0aGVyZSBhcmUgbm8gbW9vdiBhdG9tcwoJICAyKSBQcm9wZXJseSBjbGVhbnVwIHN0cmVhbXMgb24gZmx1c2hlcwoJICBBZGQgYSBub3RlIGFib3V0IHRoZSBtZWFuaW5nIG9mIHVwc3RyZWFtX25ld3NlZ21lbnQgYW5kIG1zc19tb2RlCgkgIGZvciBmdXR1cmUgcmVmZXJlbmNlLgoJICBNYWtlIGFsbCBvdGhlciBzcGVjaWFsIGZyYWdtZW50IGhhbmRsaW5nIHNoYXJlZCBmb3IgYm90aCBkYXNoCgkgIGFuZCBtc3Mgc3RyZWFtcy4KCjIwMTMtMTItMTIgMTA6NTA6MjcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGRyYWluIHRoZSBhZGFwdGVyIGJlZm9yZSBwdXNoaW5nIEVPUwoJICBJbiBhIGZyYWdtZW50ZWQgc2NlbmFyaW8sIHF0ZGVtdXggaXMgb3BlcmF0aW5nIGluIHB1c2ggbW9kZQoJICBhbmQgaXQgZ2V0cyBhIGZyYWdtZW50ZWQgYnVmZmVyLiBXaGlsZSBwcm9jZXNzaW5nIGl0cyBkYXRhCgkgIGRvd25zdHJlYW0gZ2V0cyB1bmxpbmtlZCAob3IgYSBpbnB1dC1zZWxlY3RvciBjaGFuZ2VzIGl0cwoJICBhY3RpdmUgcGFkIGFuZCByZXR1cm5zIG5vdC1saW5rZWQpLiBRdGRlbXV4IHN0b3BzIHByb2Nlc3NpbmcKCSAgdGhpcyBmcmFnbWVudCBhbmQgcmV0dXJucyBub3QtbGlua2VkIHVwc3RyZWFtLCBsZWF2aW5nIHRoZQoJICByZW1haW5pbmcgZGF0YSBpbiBpdHMgYWRhcHRlci4KCSAgV2hlbiBpdCBnZXRzIGFuIEVPUyBpdCBzaG91bGQgbWFrZSBzdXJlIHRoYXQgYWxsIHRoZSBkYXRhIGl0CgkgIGhhZCByZWNlaXZlZCBpcyBwdXNoZWQgYmVmb3JlIHB1c2hpbmcgRU9TLgoKMjAxMy0xMi0yNiAyMzoyMTo0NyAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8ci52ZXJkZWpvQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvc2hvdXQyL2dzdHNob3V0Mi5jOgoJICBzaG91dDJzZW5kOiBkcm9wIElQIG9ubHkgcmVxdWlyZW1lbnQgZm9yIF9zZXRfaG9zdCgpCgkgIGxpYnNob3V0MiAod2UgcmVxdWlyZSA+IDIuMCBhdCBjb25maWcgdGltZSkgc3VwcG9ydHMKCSAgYm90aCBJUCBhbmQgaG9zdG5hbWUgZm9yIF9zZXRfaG9zdCgpLiBEcm9wcGVkIGFuCgkgIG91dGRhdGVkIEZJWE1FIHJlZ2FyZGluZyB0aGlzIGxpbWl0YXRpb24sIGFkanVzdGVkCgkgIHNvbWUgY29tbWVudHMgYW5kIGNoYW5nZWQgdGhlIHBhcmFtIGJsdXJiIHRvIHJlZmxlY3QKCSAgdGhpcyB0b28uCgoyMDEzLTEyLTI2IDIxOjQzOjM0IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyLnZlcmRlam9Ac2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9zaG91dDIvZ3N0c2hvdXQyLmM6CgkgIHNob3V0MnNlbmQ6IFJldGFyZ2V0IEZJWE1FIHRvIDIuMAoKMjAxMy0xMi0yNiAxMToyMTozNiArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IHVzZSBhZ2dyZWdhdGUgY29udHJvbCBmb3IgUExBWS9QQVVTRS9URUFSRE9XTgoJICBVc2UgdGhlIGFnZ3JlZ2F0ZSBjb250cm9sIGluc3RlYWQgb2YgdGhlIG9yaWdpbmFsIHJlcXVlc3QgdXJsIHRvIHBlcmZvcm0KCSAgUEFVU0UvUExBWSBhbmQgVEVBUkRPV04uCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjEwMDMKCjIwMTMtMTItMjQgMTQ6NDA6MjUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZGVidWd1dGlscy9ybmRidWZmZXJzaXplLmM6CgkgIHJuZGJ1ZmZlcnNpemU6IFByb3h5IENBUFMsIEFMTE9DQVRJT04sIFNDSEVEVUxJTkcgYW5kIHNyY3BhZCBldmVudHMgcHJvcGVybHkKCjIwMTMtMTItMjQgMDA6NDM6MzkgKzAxMDAgIE5pY29sYSBNdXJpbm8gPG5pY29sYS5tdXJpbm9AZ21haWwuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogYWRwY20gbWF4IGJsb2NrIGFsaWduIGlzIDgxOTIKCjIwMTMtMTItMjMgMTI6MjM6MjcgLTA2MDAgIEJyZW5kYW4gTG9uZyA8Yi5sb25nQGNhYmxlbGFicy5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIHZwOWRlYzogUmVxdWlyZSB2cHggPj0gMS4zLjAgZm9yIGJ1aWxkaW5nIHZwOWRlYyBhbmQgdnA5ZW5jCgkgIFByZXZpb3VzIHZlcnNpb25zIGRpZCBub3QgaGF2ZSBhIHN0YWJsZSBiaXRzdHJlYW0gZm9yIFZQOS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMDk4NgoKMjAxMy0xMi0yMyAxNTo0Njo0OCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IFVzZSBjb3JyZWN0IGNvZGVjIGlkIGZvciBBRFBDTS9EVkkKCjIwMTMtMTItMjMgMTU6NDQ6MzAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogQ2hlY2sgZm9yIHRoZSBjb3JyZWN0IHNpemUgb2YgY29kZWNfZGF0YSBpbiB0aGUgQUNNIGNhc2UKCjIwMTItMDEtMTQgMTk6NTg6MTcgKzAxMDAgIE5pY29sYSBNdXJpbm8gPG5pY29sYS5tdXJpbm9AZ21haWwuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogYmFzaWMgYWRwY20gc3VwcG9ydAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY0MzM5CgoyMDEzLTEyLTIwIDExOjQ1OjM4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9kZXNjcmlwdG9ycy5jOgoJICBxdGRlbXV4OiBGaXggY2FsY3VhdGlvbiBvZiBkZXNjcmlwdG9yIGxlbmd0aAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIwODEzCgoyMDEzLTEyLTIyIDIyOjMzOjM5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogYXV0b2dlbi5zaDoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBkYmVkYWEwIHRvIGQ0OGJlZDMKCjIwMTMtMTItMjIgMjE6NTY6MDMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBwby9NYWtldmFyczoKCSAgcG86IHNldCBnZXR0ZXh0IGRvbWFpbiBpbiBNYWtldmFycyBzbyB3ZSBkb24ndCBoYXZlIHRvIHBhdGNoIHRoZSBnZW5lcmF0ZWQgTWFrZWZpbGUuaW4uaW4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNTQ1NQoKMjAxMy0xMi0xOSAxNjo1MDoxMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIHVkcHNyYzogb24gcmVjZWl2ZSBlcnJvciBvbmx5IHVubWFwIGFuZCB1bnJlZiBidWZmZXIgaWYgb25lIHdhcyBhbGxvY2VkIGFuZCBtYXBwZWQKCSAgY292ZXJpdHkgQ0lEIDExMzk4NjYuCgoyMDEzLTEyLTE5IDEyOjQ3OjIyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSAgbXVsdGl1ZHBzaW5rOiBmaXggbWlzbGVhZGluZyBjb21tZW50CgkgIFRob3NlIGFyZSBub3QgYWxsb2NhdGVkIG9uIHRoZSBzdGFjay4KCjIwMTMtMTItMTcgMTg6Mjg6MjUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIHZweDogTWFyayBWUDkgc3VwcG9ydCBhcyBub24tZXhwZXJpbWVudGFsCgkgIFRoZXJlIHdhcyBhIGxpYnZweCByZWxlYXNlIHdpdGggVlA5IHN1cHBvcnQgbm93IGFuZCB0aGUgYml0c3RyZWFtCgkgIGlzIGZyb3plbiB0b28uCgoyMDEzLTEyLTE1IDIxOjA0OjExIC0wODAwICBUb2RkIEFndWxuaWNrIDx0b2RkQGFndWxuaWNrLmNvbT4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBTb21lIGNvbXBpbGVyIHdhcm5pbmcgZml4ZXMgdG8gc2F0aXNmeSBYQ29kZSBjb21waWxlcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIwNTEzCgoyMDEzLTEyLTE2IDE2OjE3OjA3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3RhZ2xpYi9nc3RpZDN2Mm11eC5jYzoKCSAgaWQzdjJtdXg6IFNldCBwaWN0dXJlIHR5cGUgaW4gdGhlIEFQSUMgZnJhbWVzCgoyMDEzLTEyLTE2IDE2OjE0OjUyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3RhZ2xpYi9nc3RpZDN2Mm11eC5jYzoKCSAgaWQzdjJtdXg6IFNldCBpbWFnZS1kZXNjcmlwdGlvbiBmcm9tIHRoZSBpbmZvIHN0cnVjdCwgbm90IHRoZSBjYXBzCgoyMDEzLTEyLTE2IDEwOjAyOjM3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3R3YXZwYWNrcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3R3YXZwYWNrcGFyc2UuaDoKCSAgd2F2cGFja3BhcnNlOiBQb3N0IEFVRElPX0NPREVDIHRhZwoKMjAxMy0xMi0xNiAxMDowMDozNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0c2JjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RzYmNwYXJzZS5oOgoJICBzYmNwYXJzZTogUG9zdCBBVURJT19DT0RFQyB0YWcKCjIwMTMtMTItMTYgMDk6NTg6MzEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5oOgoJICBmbGFjcGFyc2U6IFBvc3QgQVVESU9fQ09ERUMgdGFnCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjA1MTIKCjIwMTMtMTItMTYgMDk6NTY6MjkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZGNhcGFyc2UuaDoKCSAgZGNhcGFyc2U6IFBvc3QgQVVESU9fQ09ERUMgdGFnCgoyMDEzLTEyLTE2IDA5OjU0OjM4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhbXJwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFtcnBhcnNlLmg6CgkgIGFtcnBhcnNlOiBQb3N0IEFVRElPX0NPREVDIHRhZwoKMjAxMy0xMi0xNiAwOTo0OTo0OCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5oOgoJICBhYzNwYXJzZTogUG9zdCBBVURJT19DT0RFQyB0YWcKCjIwMTMtMTItMTYgMDk6NDY6MTYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuaDoKCSAgYWFjcGFyc2U6IFBvc3QgQVVESU9fQ09ERUMgdGFnCgoyMDEzLTEyLTE2IDA5OjQxOjE0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJICBtcGVnYXVkaW9wYXJzZTogVXNlIHBidXRpbHMgZnVuY3Rpb25hbGl0eSB0byBjcmVhdGUgdGhlIEFVRElPX0NPREVDIHRhZwoKMjAxMy0xMi0xMyAxNzozNjozNiAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogQWRkIGVycm9yIG1lc3NhZ2UgaWYgdGhlIGFwcCB0cmllcyB0byBzZXQgdGhlIGludGVybmFsLXNzcmMKCjIwMTMtMTItMTMgMTY6MDg6MzUgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IE9ubHkgY291bnQgbmFja3Mgd2hlbiBhIG5hY2sgcGFja2V0IGlzIHJlY2VpdmVkCgkgIE5vdCB3aGVuIGFueSBSVENQIGZlZWRiYWNrIHBhY2tldCBpcy4KCjIwMTMtMTItMTIgMjM6MjI6NDEgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBjb2xsaXNpb24uYzoKCSAgdGVzdHM6IEluaXRpYWxpemUgc2VnbWVudCBpbiBydHBjb2xsaXNpb24gdGVzdAoKMjAxMy0xMi0xMyAxNTo1NzozNiAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogUHJvY2VzcyBQU0ZCIEZJUiByZXF1ZXN0cyB3aGljaCBsYWNrIHRoZSBtZWRpYSBzc3JjCgkgIEFjY29yZGluZyB0byBSRkMgNTEwNCBzZWN0aW9uIDQuMy4xLjIsIFJUQ1AgUFNGQiBGSVIgbWVzc2FnZSBTSEFMTAoJICBoYXZlIGEgbWVkaWFfc3NyYyBmaWVsZCBzZXQgdG8gMC4gVGhlIGFjdHVhbCBtZWRpYSBzc3JjIGlzIGluIHRoZSBGQ0kuCgkgIFNvIGluIHRoYXQgY2FzZSwgd2UgaWdub3JlIHRoZSByZXRhaW5lZCBmZWVkYmFjayBhbmQganVzdCBsZXQgaXQgdGhyb3VnaAoJICB0byB0aGUgcnRwX3Nlc3Npb25fcHJvY2Vzc19maXIoKSBmdW5jdGlvbiB3aGljaCB3aWxsIGNoZWNrIGZvciB0aGUgYWN0dWFsCgkgIFNTUkMgaW5zaWRlIHRoZSBGQ0kuCgkgIEZpeGVzIGEgcmVncmVzc2lvbiBpbnRyb2R1Y2VkIGJ5IGNvbW1pdCA1N2MyN2VjMwoKMjAxMy0xMS0xNCAxNjoxOToyOSArMDIwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5oOgoJICBydHBzZXNzaW9uOiBmaXggcmIgYmxvY2tzIGRpc2FwcGVhcmluZyBhZnRlciB0aGUgZmlyc3QgcnRjcCBjeWNsZSB3aXRoIG11bHRpcGxlIHNlbmRlcnMKCSAgUHJldmlvdXNseSwgd2hlbiB0aGUgc2Vzc2lvbiBoYWQgbXVsdGlwbGUgaW50ZXJuYWwgc2VuZGVyIFNTUkNzLCBpdCB3b3VsZAoJICBpc3N1ZSBTUiByZXBvcnRzIHdpdGggUkIgYmxvY2tzIG9ubHkgb24gdGhlIGZpcnN0IFJUQ1AgdGltZW91dCBhbmQgYWZ0ZXJ3YXJkcwoJICBTUiByZXBvcnRzIHdvdWxkIGJlIHNlbnQgZW1wdHkuIFRoaXMgd2FzIGJlY2F1c2UgdGhlICJnZW5lcmF0aW9uIiBudW1iZXIKCSAgaW4gUlRQU291cmNlIHdvdWxkIGluY3JlYXNlIG1vcmUgdGhhbiBvbmNlIGR1cmluZyB0aGUgc2FtZSBjeWNsZSBhbmQgYWZ0ZXJ3YXJkcwoJICBpdCB3b3VsZCBhbHdheXMgYmUgZ3JlYXRlciB0aGFuIHRoZSBzZXNzaW9uJ3MgZ2VuZXJhdGlvbiwgd2hpY2ggd291bGQgY2F1c2UKCSAgaXQgdG8gYmUgc2tpcHBlZCBmcm9tIGJlaW5nIGluY2x1ZGVkIGluIFJCcy4KCSAgVGhpcyBjb21taXQgZml4ZXMgdGhpcyBwcm9ibGVtIGJ5OgoJICAxKSBJbmNyZWFzaW5nIHRoZSBSVFBTb3VyY2UgZ2VuZXJhdGlvbiBvbmx5IGF0IHRoZSBlbmQgb2YgZWFjaCBjeWNsZSwKCSAgd2hpY2ggZXNzZW50aWFsbHkgZml4ZXMgdGhlIHByb2JsZW0gYnV0IG9ubHkgd2hlbiB0aGUgaW50ZXJuYWwgc2VuZGVycwoJICBhcmUgbGVzcyB0aGFuIEdTVF9SVENQX01BWF9SQl9DT1VOVC4KCSAgMikgS2VlcGluZyBmb3IgZWFjaCBSVFBTb3VyY2UgYSBzZXQgb2YgU1NSQ3Mgd2hpY2ggc3RvcmVzIHdoaWNoIFNTUkMncwoJICBTUiB0aGUgZ2l2ZW4gUlRQU291cmNlIGhhcyBiZWVuIHJlcG9ydGVkIGluLCB3aGljaCBhbHNvIGZpeGVzIHRoZSBwcm9ibGVtCgkgIHdoZW4gdGhlIGludGVybmFsIHNlbmRlcnMgYXJlIG1vcmUgdGhhbiBHU1RfUlRDUF9NQVhfUkJfQ09VTlQuIFRoaXMgaXMKCSAgbmVjZXNzYXJ5IGJlY2F1c2Ugb2YgdGhlIGZhY3QgdGhhdCBhbnkgUlRQU291cmNlIGlzIG1hcmtlZCBhcyByZXBvcnRlZAoJICBpbiBpdHNlbGYncyBTUiBhbmQgbWFrZXMgaXQgaW1wb3NzaWJsZSB0byBrbm93IGlmIGl0IGhhcyBiZWVuIHJlcG9ydGVkCgkgIGluIG90aGVyIFNScyB0b28gb3Igbm90LCBhbmQgd2hpY2guCgoyMDEzLTExLTE0IDE2OjIzOjM1ICswMjAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwc2Vzc2lvbi5jOgoJICB0ZXN0cy9jaGVjazogYWRkIGFuIHJ0cHNlc3Npb24gdW5pdCB0ZXN0IHRvIHZlcmlmeSBhbGwgUkJzIGFyZSBpbmNsdWRlZCBpbiBhbGwgU1JzLCByb3VuZHJvYmluCgkgIFRoaXMgdGVzdCBjaGVja3MgdGhhdCB3aGVuIHdlIGhhdmUgbXVsdGlwbGUgaW50ZXJuYWwgc2VuZGVyIHNvdXJjZXMKCSAgaW4gcnRwc2Vzc2lvbiwgU1JzIGNvbnRhaW4gUkJzIGZvciBldmVyeSBvdGhlciBzZW5kZXIgc291cmNlLCBhbmQgdGhhdAoJICB0aGV5IGFyZSBpbmNsdWRlZCByb3VuZHJvYmluIHdoZW4gdGhleSBleGNlZWQgU1RfUlRDUF9NQVhfUkJfQ09VTlQsCgkgIHdoaWNoIGlzIHRoZSBtYXggbnVtYmVyIG9mIFJCcyB0aGF0IGNhbiBmaXQgaW4gYSBTUi4KCjIwMTMtMTItMTIgMTY6MDE6MTAgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZG9jcy9kZXNpZ24vZGVzaWduLXJ0cGNvbGxpc2lvbi50eHQ6CgkgIGRvY3M6IGltcHJvdmUgZG9jcwoKMjAxMy0xMS0wNSAxODowMzo0OCArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL2Rlc2lnbi9NYWtlZmlsZS5hbToKCSogZG9jcy9kZXNpZ24vZGVzaWduLXJ0cGNvbGxpc2lvbi50eHQ6CgkgIGRvYzogYWRkIGRlc2lnbi1ydHBjb2xsaXNpb24udHh0IHRoYXQgZXhwbGFpbnMgd2hlbiBHc3RSVFBDb2xsaXNpb24gaXMgY3JlYXRlZAoJICBJdCBhbHNvIHRhbGtzIGFib3V0ICJCWUUgb25seSB0aGUgY29ycmVzcG9uZGluZyBzb3VyY2UsIG5vdCB0aGUgd2hvbGUgc2Vzc2lvbi4iCgoyMDEzLTExLTA1IDEyOjMxOjU0ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGNvbGxpc2lvbi5jOgoJICB0ZXN0cy9jaGVjazogaW1wcm92ZSBydHBjb2xsaXNpb246OnRlc3RfbWFzdGVyX3NzcmNfY29sbGlzaW9uIHRvIGVuc3VyZSB0aGF0IGEgY29sbGlzaW9uIGRvZXMgbm90IEJZRSB0aGUgd2hvbGUgc2Vzc2lvbgoJICBDb25mbGljdHM6CgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGNvbGxpc2lvbi5jCgoyMDEzLTExLTAxIDE3OjA3OjU3ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBjb2xsaXNpb24uYzoKCSAgdGVzdHMvY2hlY2s6IGFkZCBydHBjb2xsaXNpb246OnRlc3RfbWFzdGVyX3NzcmNfY29sbGlzaW9uIHVuaXQgdGVzdAoJICBJdCBjaGVja3MgdGhlIHBheWxvYWRlciBjaGFuZ2VzIGl0cyBzc3JjIHdoZW4gY29sbGlzaW9uIGhhcHBlbnMKCjIwMTMtMTItMTIgMTA6Mzg6NDMgKzAxMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgcnRwc2Vzc2lvbjoga2VlcCBleHRyYSBzdGF0cyBmb3Igc2NoZWR1bGluZyBCWUUKCSAgS2VlcCBhbiBleHRyYSBzdGF0cyBzdHJ1Y3R1cmUgZm9yIHNjaGVkdWxpbmcgdGhlIEJZRSBwYWNrZXRzLiBXaGVuIHdlCgkgIGRlY2lkZSB0byBzY2hlZHVsZSBCWUUsIG1ha2UgYSBjb3B5IG9mIHRoZSBjdXJyZW50IHN0YXRzIGludG8gdGhlCgkgIGJ5ZV9zdGF0cy4gVGhlbiB3aGlsZSB3ZSBzY2hlZHVsZSB0aGUgQllFLCB1cGRhdGUgYW5kIHVzZSBvbmx5IHRoZQoJICBieWVfc3RhdHMuIFdoZW4gd2UgZmluaXNoZWQgc2NoZWR1bGluZyB0aGUgQllFIHBhY2tldCwgd2UgdXNlIHRoZQoJICByZWd1bGFyIHN0YXRzIGFnYWluLgoKMjAxMy0xMi0xMiAxMDozNDozOCArMDEwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogd2hlbiB3ZSBzY2hlZHVsZSBCWUUsIG9ubHkgZGVhbCB3aXRoIEJZRSBzb3VyY2VzCgkgIFdoZW4gd2UgYXJlIGRvaW5nIHRoZSBSVENQIHRpbWVvdXQgdG8gc2NoZWR1bGUgQllFIHBhY2tldHMsIGRvbid0CgkgIGdlbmVyYXRlIFJUQ1AgZm9yIGFsbCBzb3VyY2VzIGJ1dCBvbmx5IGZvciB0aGUgc291cmNlcyBtYXJrZWQgYXMgQllFLgoKMjAxMy0xMi0xMiAxMDozMjo0OCArMDEwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogcmVzZXQgc3RhdGUgYWZ0ZXIgc2NoZWR1bGluZyBCWUUKCSAgQWZ0ZXIgd2UgZG8gUlRDUCwgd2UgYXJlIG5vdCBzY2hlZHVsaW5nIGJ5ZSBhbnltb3JlLgoKMjAxMy0xMi0xMiAxMDozMTozOCArMDEwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogYWxzbyBjb3VudCBOQUNLUyB3aGVuIG5vIHNpZ25hbCB3YXMgcGVuZGluZwoKMjAxMy0xMi0xMiAxMDowOToyNSArMDEwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgc2Vzc2lvbjogaWdub3JlIFJUQ1AgcGFja2V0cyBmb3IgdGhlIEJZRSBzb3VyY2VzCgkgIFdoZW4gd2UgYXJlIHNjaGVkdWxpbmcgQllFIHBhY2tldHMsIGlnbm9yZSBhbGwgUlRDUCBmb3IgdGhlIHNvdXJjZXMgdGhhdAoJICBhcmUgc2NoZWR1bGluZyBhIEJZRSBwYWNrZXQuIE90aGVyIHNvdXJjZXMgdGhhdCBhcmUgbm90IHNjaGVkdWxpbmcgQllFCgkgIHNob3VsZCBjb250aW51ZSByZWNlaXZpbmcgUlRDUCBwYWNrZXRzIGFzIHVzdWFsLgoKMjAxMy0xMS0wNCAxMTo0ODoyMSArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgcnRwc2Vzc2lvbjogZGV0ZXJtaW5lIGlmIHRoZSBzZXNzaW9uIGlzIGRvaW5nIHBvaW50LXRvLXBvaW50CgkgIEluIHRoaXMgY2FzZSBUX2RpdGhlcl9tYXggaXMgc2V0IHRvIDAgYWNjb3JkaW5nIHRvIFJGQyA0NTg1CgoyMDEzLTEyLTEwIDExOjU3OjM3ICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBzZXJpYWxpemUgZXZlbnRzIGluIHRoZSBidWZmZXIKCSAgU2VyaWFsaXplIGV2ZW50cyBpbnRvIHRoZSBqaXR0ZXJidWZmZXIgYnkgaW5zZXJ0aW5nIHRoZW0gd2l0aCBhIC0xCgkgIHNlcW51bS4KCSAgVXBkYXRlIHVuaXQgdGVzdCB0byBleHBlY3QgZXZlbnRzIGZyb20gdGhlIHN0cmVhbWluZyB0aHJlYWQuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTI5ODYKCjIwMTMtMTItMTAgMTE6MDQ6MDYgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogZGV0ZWN0IC0xIHNlcW51bQoJICBLZWVwIHRoZSBzZXFudW0gYXMgYSBmdWxsIGd1aW50IHNvIHRoYXQgd2UgY2FuIGNoZWNrIGZvciAtMSBlbnRyaWVzIGFuZAoJICBkZWFsIHdpdGggdGhlbSBjb3JyZWN0bHkuCgkgIEltbWVkaWF0ZWx5IHRyeSB0byBwdXNoIC0xIHNlcW51bS4KCjIwMTMtMTItMTAgMTE6MDE6MDMgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogcmVvcmdhbml6ZSBqaXR0ZXJidWZmZXIgaXRlbXMKCSAgS2VlcCB0aGUgb2xkZXN0IGl0ZW0gYXQgdGhlIGhlYWQgYW5kIHRoZSBuZXdlc3QgaXRlbXMgb24gdGhlIHRhaWwuIFRoaXMKCSAgbWFrZXMgaXQgZWFzaWVyIHRvIGRlYWwgd2l0aCAtMSBzZXFudW1zLgoKMjAxMy0xMi0wOSAyMzozNDoxMCArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmg6CgkgIGppdHRlcmJ1ZmZlcjogY29ycmVjdGx5IGNoZWNrIGZvciBpbnZhbGlkIHZhbHVlcwoJICBDaGVjayBmb3IgLTEgb24gdGhlIGd1aW50IGZyb20gdGhlIGJ1ZmZlciBpdGVtIGluc3RlYWQgb2Ygb24gdGhlIGd1aW50MTYKCSAgb3IgZ3VpbnQzMi4KCSAgQWxzbyBpbnNlcnQgLTEgc2VxbnVtIGF0IHRoZSBoZWFkIG9mIHRoZSBqaXR0ZXJidWZmZXIuCgoyMDEzLTEyLTA4IDE2OjQ5OjU1ICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9vc3h2aWRlby9jb2NvYXdpbmRvdy5tOgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIG9zeHZpZGVvc2luazogZml4IHNlZ2ZhdWx0IHdoZW4gZGVhbGluZyB3aXRoIHBhZGRlZCBmcmFtZXMKCSAgRml4ZXMgY3Jhc2hlcyB3aXRoIHZ0ZGVjICEgb3N4dmlkZW9zaW5rIHdoZXJlIFZpZGVvVG9vbGJveCBvdXRwdXRzIHBhZGRlZCBVWVZZCgoyMDEzLTEyLTA1IDEyOjE1OjI5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2xhdy9tdWxhdy1kZWNvZGUuYzoKCSAgbXVsYXdkZWM6IFJlcXVpcmUgY2FwcyB0byBiZSBzZXQgYmVmb3JlIGFjY2VwdGluZyBhbnkgZGF0YQoKMjAxMy0xMi0wNSAxMjoxNToxOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzoKCSAgd2F2cGFja2RlYzogUmVxdWlyZSBjYXBzIHRvIGJlIHNldCBiZWZvcmUgYWNjZXB0aW5nIGFueSBkYXRhCgoyMDEzLTEyLTA1IDEyOjEzOjMzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6CgkgIHNwZWV4ZGVjOiBSZXF1aXJlIGNhcHMgdG8gYmUgc2V0IGJlZm9yZSBhY2NlcHRpbmcgYW55IGRhdGEKCjIwMTMtMTItMDUgMTI6MTM6MTAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkgIGZsYWNkZWM6IFJlcXVpcmUgY2FwcyB0byBiZSBzZXQgYmVmb3JlIGFjY2VwdGluZyBhbnkgZGF0YQoKMjAxMy0xMi0wNSAxMTo0MjoxNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC92cHgvZ3N0dnA4ZGVjLmM6CgkqIGV4dC92cHgvZ3N0dnA5ZGVjLmM6CgkgIHZweDogVXNlIG5ldyBnc3RfdmlkZW9fZGVjb2Rlcl9zZXRfbmVlZHNfZm9ybWF0KCkgQVBJCgoyMDEzLTEyLTA0IDE2OjIzOjQzIC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IEZyZWUgZGV2aWNlX2luZm8gaW4gYWNjZXB0cyBjYXBzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTk4MTEKCjIwMTMtMTItMDQgMjE6NTc6NDggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYXBheS5jOgoJICBydHB0aGVvcmFwYXk6IERvbid0IHNlbmQgaGVhZGVycyB0d2ljZSBpZiB3ZSBnb3QgdGhlbSBmcm9tIHRoZSBjYXBzIGFscmVhZHkKCjIwMTMtMTItMDQgMjE6NTc6MDQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYXBheS5jOgoJICBydHB0aGVvcmFwYXk6IERvbid0IGxlYWsgY29uZmlnIGRhdGEgd2hlbiByZWNlaXZpbmcgYSBzZWNvbmQgQ0FQUyBldmVudAoKMjAxMy0xMi0wNCAyMTo1NTo1MyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzcGF5LmM6CgkgIHJ0cHZvcmJpc3BheTogRG9uJ3Qgc2VuZCBoZWFkZXJzIHR3aWNlIGlmIHdlIGdvdCB0aGVtIGZyb20gdGhlIGNhcHMgYWxyZWFkeQoKMjAxMy0xMi0wNCAyMTo1NDoxNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzcGF5LmM6CgkgIHJ0cHZvcmJpc3BheTogRG9uJ3QgbGVhayBjb25maWcgZGF0YSB3aGVuIHJlY2VpdmluZyBhIHNlY29uZCBDQVBTIGV2ZW50CgoyMDEzLTEyLTA0IDIxOjE3OjAzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cC9nc3RydHAuYzoKCSogZ3N0L3J0cC9nc3RydHBzdHJlYW1kZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHN0cmVhbWRlcGF5Lmg6CgkgIHJ0cHN0cmVhbWRlcGF5OiBBZGQgUkZDNDU3MSBSVFAgc3RyZWFtIGRlcGF5bG9hZGluZyBlbGVtZW50CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTk4MjkKCjIwMTMtMTItMDQgMTA6MTI6NDYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwL2dzdHJ0cC5jOgoJKiBnc3QvcnRwL2dzdHJ0cHN0cmVhbXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHN0cmVhbXBheS5oOgoJICBydHBzdHJlYW1wYXk6IEFkZCBSRkM0NTcxIFJUUCBzdHJlYW0gcGF5bG9hZGluZyBlbGVtZW50CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTk4MjkKCjIwMTMtMTItMDMgMTU6MDg6MjUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5oOgoJICBxdGRlbXV4OiBpbXByb3ZlIGZyYWdtZW50LXN0YXJ0IHRyYWNraW5nCgkgIFNvbWUgYnVmZmVycyBjYW4gaGF2ZSBtdWx0aXBsZSBtb292IGF0b21zIGluc2lkZSBhbmQgdGhlIHN0cmF0ZWd5CgkgIG9mIHVzaW5nIHRoZSBnc3RfYWRhcHRlcl9wcmV2X3B0cyB0aW1lc3RhbXAgdG8gZ2V0IHRoZSBiYXNlIHRpbWVzdGFtcAoJICBmb3IgdGhlIG1lZGlhIG9mIHRoZSBmcmFnbWVudCB3b3VsZCBmYWlsIGFzIGl0IHdvdWxkIHJldXNlIHRoZSBzYW1lCgkgIGJhc2UgdGltZXN0YW1wIGZvciBhbGwgbW9vZnMgaW4gdGhlIGJ1ZmZlciBpbnN0ZWFkIG9mIGFjY3VtdWxhdGluZwoJICB0aGUgZHVyYXRpb25zIGZvciBhbGwgb2YgdGhlbS4KCSAgSGVyZXMgYSBiZXR0ZXIgZXhwbGFuYXRpb24gb2YgdGhlIGlzc3VlOgoJICBxdGRlbXV4IHJlY2VpdmVzIGEgYnVmZmVyIHdoZXJlIFBUUyhidWYpID0gWAoJICBidWYgLT4gbW9vZkEgfCBtb29mQiB8IG1vb2ZDCgkgIFRoZSBwcm9ibGVtIHdhcyB0aGF0IFBUUyhidWYpIHdhcyB1c2VkIGFzIHRoZSBiYXNlIHRpbWVzdGFtcCBmb3IKCSAgYWxsIDMgbW9vZnMsIGNhdXNpbmcgYWxsIGJ1ZmZlcnMgdG8gYmUgWCBiYXNlZC4gSW4gdGhpcyBjYXNlIHdlIHdhbnQKCSAgb25seSBtb29mQSB0byBiZSBYIGJhc2VkIGFzIGl0IGlzIHdoYXQgdGhlIFBUUyBvbiBidWYgbWVhbnMsIGFuZCB0aGUKCSAgb3RoZXIgbW9vZkIgYW5kIG1vb2ZDIGp1c3QgdXNlIHRoZSBhY2N1bXVsYXRlZCB0aW1lc3RhbXAgZnJvbSB0aGUKCSAgcHJldmlvdXMgbW9vZnMgZHVyYXRpb25zLgoJICBUbyBzb2x2ZSB0aGlzLCB0aGlzIHBhdGNoIHVzZXMgZ3N0X2FkYXB0ZXJfcHJldl9wdHMgZGlzdGFuY2UKCSAgcmVzdWx0LCB0aGlzIGFsbG93cyBxdGRlbXV4IHRvIGNhbGN1bGF0ZSBpZiBpdCBzaG91bGQgdXNlIHRoZQoJICByZXN1bHRpbmcgcHRzIG9yIGp1c3QgYWNjdW11bGF0ZSB0aGUgc2FtcGxlcyBhcyBpdCBjYW4gaWRlbnRpZnkKCSAgaWYgdGhlIG1vb2ZzIGJlbG9uZyB0byB0aGUgc2FtZSB1cHN0cmVhbSBidWZmZXIgb3Igbm90LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzE5NzgzCgoyMDEzLTExLTIxIDEyOjI5OjI4ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDJidWZmZXJwb29sOiBhZGQgc3VwcG9ydCBmb3IgbXVsdGktcGxhbmFyIFY0bDIgQVBJIGluIERNQUJVRiBtb2RlCgkgIEZpeGVzIGJ1ZyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzEyNzU0CgoyMDEzLTExLTE5IDE3OjE2OjI3ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmg6CgkgIHY0bDI6IHJlZmFjdG9yIGJ5IGVtdWxhdGluZyBvbmUgdjRsMl9wbGFuZSBpbiBub24tTVBMQU5FIG1vZGUKCSAgc28gdGhhdCB0aGUgYnVmZmVyIGluZm9ybWF0aW9ucyBjYW4gYmUgcmV0cmlldmVkIHRoZSBzYW1lIHdheQoJICBpbiBib3RoIE1QTEFORSBhbmQgbm9uLU1QTEFORSBtb2RlLgoJICBIZXJlICJlbXVsYXRpbmciIG1lYW5zICJtYW51YWxseSBmaWxsIGluIHRoZSBwbGFuZSIuCgkgIEZpeGVzIGJ1ZyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzEyNzU0CgoyMDEzLTExLTEzIDEyOjA1OjQwICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkgIHY0bDI6IGFkZCBzdXBwb3J0IGZvciBtdWx0aS1wbGFuYXIgVjRMMiBBUEkKCSAgVGhpcyBhcGkgaXMgaW4gbGludXgga2VybmVsIHNpbmNlIHZlcnNpb24gMi42LjM5LAoJICBhbmQgcHJlc2VudCBpbiBhbGwgdmVyc2lvbiAzLgoJICBUaGUgY29tbWl0IHRoYXQgYWRkcyB0aGUgQVBJIGluIG1hc3RlciBicmFuY2ggb2YgdGhlCgkgIGxpbnV4IGtlcm5lbCBzb3VyY2UgaXM6CgkgIGh0dHBzOi8vZ2l0aHViLmNvbS90b3J2YWxkcy9saW51eC9jb21taXQvZjhmMzkxNGNmOTIyZjVmOWUxZDYwZTllMTBmNmZiOTI3NDI5MDdhZAoJICB2NGwyIGRvYzogIlNvbWUgZGV2aWNlcyByZXF1aXJlIGRhdGEgZm9yIGVhY2ggaW5wdXQKCSAgb3Igb3V0cHV0IHZpZGVvIGZyYW1lIHRvIGJlIHBsYWNlZCBpbiBkaXNjb250aWd1b3VzCgkgIG1lbW9yeSBidWZmZXJzIgoJICBUaGVyZSBhcmUgbmV3ZXIgc3RydWN0dXJlcyAnc3RydWN0IHY0bDJfcGl4X2Zvcm1hdF9tcGxhbmUnCgkgIGFuZCAnc3RydWN0IHY0bDJfcGxhbmUnLgoJICBTbyB0aGUgcGl4ZWwgZm9ybWF0IGlzIG5vdCBzZXR1cCB3aXRoIHRoZSBzYW1lIEFQSSB3aGVuIHVzaW5nCgkgIG11bHRpLXBsYW5hci4KCSAgQWxzbyBmb3IgZ3N0LXY0bDIsIG9uZSBvZiB0aGUgZGlmZmVyZW5jZSBpcyB0aGF0IGluIEdzdFY0bDJNZXRhCgkgIHRoZXJlIGFyZSBub3cgb25lIG1lbSBwb2ludGVyIGZvciBlYWNoIG1hcGVkIHBsYW5lLgoJICBXaGVuIG5vdCB1c2luZyBtdWx0aS1wbGFuYXIsIHRoaXMgY29tbWl0IHRha2VzIGNhcmUgb2Yga2VlcGluZwoJICB0aGUgc2FtZSBjb2RlIHBhdGggdGhhbiBwcmV2aW91c2x5LiBTbyB0aGF0IHRoZSAyIGNhc2VzIGFyZQoJICBpbiB0d28gZGlmZmVyZW50IGJsb2NrcyB0cmlnZ2VyZWQgZnJvbSBWNEwyX1RZUEVfSVNfTVVMVElQTEFOQVIuCgkgIEZpeGVzIGJ1ZyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzEyNzU0CgoyMDEzLTEyLTA0IDA5OjEyOjA3ICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RzYmNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdHdhdnBhY2twYXJzZS5jOgoJICBhdWRpb3BhcnNlcnM6IGRvbid0IGxlYWsgdGVtcGxhdGUgY2FwcwoKMjAxMy0xMi0wMyAyMTo0MToyOCArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhbXJwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RzYmNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdHdhdnBhY2twYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hYWNwYXJzZS5jOgoJICBhdWRpb3BhcnNlcnM6IHVzZSBBQ0NFUFRfSU5URVJTRUNUIGZsYWcKCSAgVGhlIHBhcnNlciBjYW4gYWNjZXB0IGlucHV0IHRoYXQgaXMgbm90IGNvbXBsZXRlbHkgc3BlY2lmaWVkLiBVc2UgdGhlCgkgIEFDQ0VQVF9JTlRFUlNFQ1QgZmxhZyBvbiB0aGUgc2lua3BhZCB0byB0d2VhayB0aGUgYWNjZXB0Y2FwcyBmdW5jdGlvbiB0bwoJICBjaGVjayBmb3IgaW50ZXJzZWN0aW9uIG9ubHkuIFRoaXMgYWxsb3dzIHVzIHRvIHByb3h5IGRvd25zdHJlYW0KCSAgY29uc3RyYWludHMgd2hpbGUgc3RpbGwgYWxsb3dpbmcgbm9uLXN1YnNldCBjYXBzIGFzIGlucHV0LgoJICBXZSBjYW4gdGhlbiBhbHNvIHJlbW92ZSB0aGUgYXBwZW5kZWQgdGVtcGxhdGUgY2FwcyB3b3JrYXJvdW5kLgoJICBNYWtlIGEgdW5pdC10ZXN0IHRvIGNoZWNrIHRoZSBuZXcgZmVhdHVyZS4KCSAgVGhpcyByZXZlcnRzIGNvbW1pdCAyNjA0MGVlMzhjYjllN2M0MmYzZDlhMDI4MmIzZTVjYWNlN2NhNDJkCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDUwMjQKCjIwMTMtMTItMDMgMjE6MzY6NTQgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZGNhcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdHNiY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0d2F2cGFja3BhcnNlLmM6CgkgIGF1ZGlvcGFyc2VyczogcmVtb3ZlIGZpZWxkcyBmcm9tIGZpbHRlcgoJICBXZSBuZWVkIHRvIHJlbW92ZSB0aGUgZmllbGRzIGZyb20gdGhlIGZpbHRlciB3aGVuIHdlIGNhbiBjb252ZXJ0CgkgIGJldHdlZW4gdGhlbS4KCjIwMTMtMTItMDMgMjE6Mjk6MTMgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZGNhcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdHNiY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0d2F2cGFja3BhcnNlLmM6CgkgIGF1ZGlvcGFyc2VyczogcmVmYWN0b3IgY29kZSB0byByZW1vdmUgY2FwcyBmaWVsZHMKCjIwMTMtMTItMDIgMDA6MTA6NDMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IG1pY3Jvb3B0aW1pc2F0aW9uOiBhdm9pZCBzb21lIHVubmVjZXNzYXJ5IEdWYWx1ZSBjb3BpZXMKCjIwMTMtMTItMDEgMjM6MzI6MjAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IGZpeCBvZmYtYnktb25lIGNyYXNoIHdoZW4gZG93bnN0cmVhbSBjYXBzIGNvbnRhaW4gYSBsaXN0IG9mIGZyYW1lcmF0ZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxOTU0NAoKMjAxMy0xMS0yOSAxMToyNjowNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogVXNlIHRoZSB0aW1lc3RhbXAgb2YgdGhlIG1vb2YgYXMgdGhlIGJhc2UgZnJhZ21lbnQgc3RhcnQKCSAgSW4gU21vb3RoU3RyZWFtaW5nIGZyYWdtZW50ZWQgc2NlbmFyaW8sIHRoZSB0aW1lc3RhbXBzIGFyZSBjYWxjdWxhdGVkCgkgIHN0YXJ0aW5nIGZyb20gdGhlIGZyYWdtZW50IGJ1ZmZlciB0aW1lc3RhbXAuIFdoZW4gdGhlcmUgaXMgYSBub3QtbGlua2VkCgkgIHJldHVybiBmcm9tIGRvd25zdHJlYW0sIHF0ZGVtdXggd2lsbCByZXR1cm4gdXBzdHJlYW0gYW5kIHdpbGwga2VlcCB0aGUKCSAgbm9uLXB1c2hlZCBkYXRhIGludG8gaXRzIGFkYXB0ZXIuCgkgIE9uIGEgbmV3IGZyYWdtZW50IGJ1ZmZlciBwdXNoZWQgdG8gcXRkZW11eCwgdGhlIG5ldyBidWZmZXIgdGltZXN0YW1wCgkgIHdvdWxkIG92ZXJ3cml0ZSB0aGUgcHJldmlvdXMgb25lIHRoYXQgc2hvdWxkIGJlIHVzZWQgb24gdGhlIHN0aWxsCgkgIHRvIGJlIHB1c2hlZCBidWZmZXJzLiBCZWNhdXNlIG9mIHRoaXMsIHRoaXMgcGF0Y2ggd2lsbCBhbHNvCgkgIHVwZGF0ZSB0aGUgZnJhZ21lbnRfc3RhcnQgdGltZXN0YW1wIGZyb20gdGhlIGFkYXB0ZXIgbGFzdCBwdHMKCSAgdG8gbWFrZSBzdXJlIHRoZSBtb29mIGFuZCB0aW1lc3RhbXBzIGFyZSBpbiBzeW5jIGFuZCB3aWxsIHJlc3VsdAoJICBpbiBjb3JyZWN0IHRpbWVzdGFtcHMgZm9yIGFsbCBmcmFnbWVudHMuCgoyMDEzLTExLTE1IDA4OjU0OjA3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguaDoKCSAgcXRkZW11eDogYXZvaWQgcmUtcmVhZGluZyB0aGUgc2FtZSBtb292IGFuZCBlbnRlcmluZyBpbnRvIGxvb3AKCSAgSW4gdGhlIHNjZW5hcmlvIG9mICJtZGF0IHwgbW9vdiAod2l0aCBmcmFnbWVudGVkIGFydGlmYWN0cykiIHF0ZGVtdXgKCSAgY291bGQgcmVhZCB0aGUgbW9vdiBhZ2FpbiBhZnRlciB0aGUgbWRhdCBiZWNhdXNlIGl0IHdhcyBjb25zaWRlcmluZyB0aGUKCSAgbWVkaWEgYXMgYSBmcmFnbWVudGVkIG9uZS4KCSAgVG8gYXZvaWQgdGhpcyBsb29wIHRoaXMgcGF0Y2ggbWFrZXMgaXQgc3RvcmUKCSAgdGhlIGxhc3QgcHJvY2Vzc2VkIG1vb3Zfb2Zmc2V0IHRvIGF2b2lkIHBhcnNpbmcgaXQgYWdhaW4uCgkgIEFuZCBpdCBhbHNvIGNoZWNrcyBpZiB0aGVyZSBhcmUgYW55IHNhbXBsZXMgdG8gcGxheSBiZWZvcmUKCSAgcmVzdHVybmluZyB0byB0aGUgbWRhdCwgc28gdGhhdCBpdCBrbm93cyB0aGVyZSBpcyBuZXcgZGF0YSB0byBiZSBwbGF5ZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTE1NzAKCjIwMTMtMTEtMTUgMDA6NTI6NTMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGRvIG5vdCBmcmVlIHN0cmVhbXMgaWYgdGhleSB3ZXJlIG5vdCBjcmVhdGVkIGxvY2FsbHkKCSAgV2hlbiBwYXJzaW5nIGEgdHJhayBvbmx5IGZyZWUgc3RyZWFtcyBvbiBmYWlsdXJlcyBpZiB0aG9zZSBzdHJlYW1zCgkgIHdlcmUgY3JlYXRlZCBsb2NhbGx5LiBUaGV5IGNvdWxkIGhhdmUgYmVlbiBjcmVhdGVkIGZyb20gYSBwcmV2aW91cwoJICBmcmFnbWVudCwgaW4gdGhpcyBjYXNlIHdlIHRoZXkgaGF2ZSB2YWxpZCBpbmZvIGZyb20gdGhlIG90aGVyIGZyYWdtZW50LgoJICBJbmNsdWRpbmcgcGFkcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MTU3MAoKMjAxMy0xMS0yOSAxOTo1Nzo0NiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC92aWRlb21peGVyL2JsZW5kLmM6CgkgIHZpZGVvbWl4ZXI6IFNpbXBsaWZ5IE5WMTIvMjEgYmxlbmRpbmcgY29kZSBtYWNyb3MKCjIwMTMtMTEtMjkgMTk6NTA6MjQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZC5jOgoJICB2aWRlb21peGVyOiBGaXggc2VnZmF1bHQgd2hlbiBmaWxsaW5nIHRoZSBiYWNrZ3JvdW5kIG9mIGEgVVlWWSBmcmFtZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzEyNDAxCgoyMDEzLTExLTI5IDA5OjIxOjUyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGZpeCBjb21waWxhdGlvbiB3aXRoIGdzdCBkZWJ1Z2luZyBkaXNhYmxlZAoJICBxdGRlbXV4LmM6OTQ1MjoxOiBlcnJvcjogbGFiZWwgYXQgZW5kIG9mIGNvbXBvdW5kIHN0YXRlbWVudAoKMjAxMy0xMS0yNyAxNzowMjowMCArMDEwMCAgSm9uYXMgSG9sbWJlcmcgPGpvbmFzaGdAYXhpcy5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSAgcnRwaDI2NHBheTogTWFwIGluYnVmZmVyIG9uY2Ugb25seQoJICBEbyBub3QgY2FsbCBnc3RfYnVmZmVyX2V4dHJhY3QoKSB0d2ljZSBzaW5jZSBlYWNoIGNhbGwgd2lsbCBtYXAgYW5kCgkgIHVubWFwIHRoZSBiaWZmZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTk0MzQKCjIwMTMtMTEtMjggMTE6NTg6NDIgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvZmlsdGVyLmM6CgkgIHZpZGVvZmxpcDogQWRkIHVuaXQgdGVzdCBmb3IgdGhlICdhdXRvbWF0aWMnIG1ldGhvZAoJICBUaGVzZSBuZXcgdGVzdHMgc2VuZCBhIHRhZyBldmVudCBiZWZvcmUgc2VkaW5nIHRoZSBidWZmZXIuIFRlc3RlZCBjYXNlIGFyZSBhbgoJICBlbXB0eSB0YWcgbGlzdCwgYSB0YWcgbGlzdCB3aXRoIG9yaWVudGF0aW9uLTE4MCBzZXQgYW5kIGFuIGludmFsaWQgb3JpZW50YXRpb24gdmFsdWUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTk0OTcKCjIwMTMtMTEtMjggMTY6MDk6MDQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9mbGlwLmM6CgkgIHZpZGVvZmxpcDogZG9uJ3QgY3Jhc2ggb24gdGFnIGV2ZW50cyB3aXRob3V0IG9yaWVudGF0aW9uIHRhZwoJICBXb3VsZCBjcmFzaCBpbiBnX2ZyZWUoKSB0cnlpbmcgdG8gZnJlZSBhbiB1bmluaXRpYWxpc2VkIHBvaW50ZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTk0OTcKCjIwMTMtMTEtMjggMTY6NTA6NDIgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBkb24ndCB1bnJlZiBidWZmZXIgdHdpY2UKCSAgQ2xlYW5pbmcgdGhlIHBhY2tldCBpbmZvIHdpbGwgYWxyZWFkeSB1bnJlZiB0aGUgYnVmZmVyLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzE1MDc4CgoyMDEzLTExLTI4IDIyOjM1OjAyICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBBZGQgSHlkcm9nZW5BdWRpbyBSZXBsYXlHYWluIHRhZ3MKCSAgSWRlbnRpY2FsIHRvIHRoZSBpdHVuZXMgKHRtKSB2ZXJzaW9uLCBidXQgbGFiZWxsZWQgd2l0aAoJICBvcmcuaHlkcm9nZW5hdWRpby5yZXBsYXlnYWluIGFzIHRoZSBwcm9kdWNlci4KCjIwMTMtMTEtMjcgMTY6MTU6MTIgKzAxMDAgIE1hdGhpZXUgRHVwb25jaGVsbGUgPG1kdXBvbmNoZWxsZTFAZ21haWwuY29tPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgdmlkZW9taXhlcjogZXhwbGljaXRseSBmYWlsIHdoZW4gYWxwaGEgaW5mb3JtYXRpb24gd291bGQgaGF2ZSBiZWVuIGxvc3QuCgoyMDEzLTA1LTI5IDE2OjA2OjA1IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIC5naXRpZ25vcmU6CgkgIGdpdGlnbm9yZTogVXBkYXRlZCB0byBpZ25vcmUgKi5zd3AgYW5kIC5kaXJzdGFtcAoKMjAxMy0xMS0yNiAxMToxNzo0MiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYS1kZW11eDogQWxsb3cgYSBiaXQgbW9yZSB2YXJpYXRpb24gd2hlbiBkZXRlY3RpbmcgY29tbW9uIGZyYW1lcmF0ZXMKCSAgSW5zdGVhZCBvZiArLy0gMW5zIHdlIGFsbG93IDJucyBub3cuIER1ZSB0byByb3VuZGluZyBlcnJvcnMgdGhlcmUgYXJlCgkgIHNvbWUgTWF0cm9za2EgZmlsZXMgb3V0IHRoZXJlIHdpdGggMzMuMzMzMzMxbXMgcGVyIGZyYW1lIGZvciAzMGZwcy4KCjIwMTMtMTEtMjYgMTA6MjA6MzEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2EtZGVtdXg6IFVzZSBnc3RfdXRpbF9kb3VibGVfdG9fZnJhY3Rpb24oKSBpbnN0ZWFkIG9mIEdWYWx1ZSBtYWdpYwoKMjAxMy0xMS0yNSAxNDowMzoyMSAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmxpcC5jOgoJICB2aWRlb2ZsaXA6IFNldCBkZWZhdWx0IG1ldGhvZCBhdCBjb250cnVjdGlvbgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzEyMzMzCgoyMDEzLTA1LTI5IDE1OjU3OjA5IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogVXNlIHNwYWNlIGluc3RlYWQgb2YgdGFicwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzEyNzU0CgoyMDEzLTA1LTI5IDE1OjQ0OjMxIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSAgdjRsMm9iamVjdDogRml4IGhlYWRlciBpbmRlbnRhdGlvbiBzbyBpdCdzIHJlYWRhYmxlIGFnYWluCgkgIEl0J3MgdW5mb3J0dW5hdGUgdG8gaGF2ZSB0byBkbyB0aGlzLCBidXQgd2l0aCB0aGUgbWl4IG9mIHRhYnMgYW5kIHNwYWNlLCBwbHVzIGFsbCB0aGUgcmFuZG9tCgkgIGluZGVudGF0aW9uIHRoaXMgaGVhZGVyIGhhcyBiZWNvbWUgdmVyeSBoYXJkIHRvIHJlYWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTI3NTQKCjIwMTMtMTEtMjUgMTc6Mzg6MDYgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwaml0dGVyYnVmZmVyLmM6CgkgIGNoZWNrOiBmaXggaml0dGVyYnVmZmVyIGNoZWNrCgkgIERvbid0IGFkdmFuY2UgdGhlIGNsb2NrIHRvIDI0MG1zIHRvbyBlYXJseS4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMDAxMwoKMjAxMy0xMS0yNSAxMTo0NTozMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgIGpwZWdkZWM6IGRlcHJlY2F0ZSBtYXgtZXJyb3JzCgkgIFRoZSBwcm9wZXJ0eSB3YXNuJ3QgdXNlIGludGVybmFsbHksIGxldCB0aGUgYmFzZSBjbGFzcyBoYW5kbGUgdGhlCgkgIG51bWJlciBvZiBlcnJvcnMgdG8gdG9sZXJhdGUuCgoyMDEzLTExLTI1IDE1OjQ5OjA3ICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBpbXByb3ZlIGNsZWFyLXB0LW1hcCBoYW5kbGluZwoJICBEb24ndCByZXNldCB0aGUgZXhwZWN0ZWQgb3V0cHV0IHNlcW51bSB3aGVuIGNsZWFyaW5nIHRoZSBwdCBtYXAgYmVjYXVzZSB0aGlzCgkgIGNvdWxkIHN0YWxsIHRoZSBqaXR0ZXJidWZmZXIgZm9yZXZlci4KCSAgQWRkIGEgdW5pdCB0ZXN0IGZvciB0aGlzLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA5ODAwCgoyMDEzLTEwLTI4IDIxOjMzOjIyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogbGV0IHRoZSBiYXNlIGNsYXNzIGRlY2lkZSB3aGVuIHRvIHJldHVybiBhbiBlcnJvcgoJICBUaGUgYmFzZSB2aWRlb2RlY29kZXIgY2xhc3MgaGFzIGFuIGVycm9yIGNvdW50aW5nIGZlYXR1cmUgdG8gdG9sZXJhdGUKCSAgYSBmZXcgZXJyb3JzIGJlZm9yZSBwb3N0aW5nIGFuIGVycm9yIG1lc3NhZ2UuIFNvIGRvbid0IGZvcmNlIHRoZQoJICBlcnJvciBhbmQgbGV0IHRoZSBiYXNlIGNsYXNzIGRlY2lkZSB3aGVuIGl0IHNob3VsZCBoYXBwZW4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMDc2MgoKMjAxMy0xMC0yOCAyMToyODozMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgIGpwZWdkZWM6IEFkZCBkYXRhIHNraXBwaW5nIG9uIGlucHV0CgkgIEFkZCBtaXNzaW5nIGJ5dGVzIHNraXBwaW5nIHdoZW4gYmFkIGlucHV0IGlzIHJlY2VpdmVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzEwNzYyCgoyMDEzLTExLTI1IDEyOjEzOjQzICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBEaXNjYXJkIDIgYnl0ZSBzdWJwaWN0dXJlIHBhY2tldHMKCSAgQXMgZm9yIHRleHQgc3VidGl0bGVzIGFuZCBhcyBzdWdnZXN0ZWQgaW4gIzcxMjY0MywgdGhyb3cKCSAgYXdheSB0aGUgMiBieXRlIHRlcm1pbmF0b3IgcGFja2V0cyB0aGF0IHNvbWUgZW5jb2RlcnMgaW5zZXJ0LgoJICBUaGlzIHdpbGwgbWFrZSB0aGluZ3MgYmV0dGVyIHdoZW4gcmVtdXhpbmcgYW5kIGNhdXNlcyBnZW5lcmF0aW9uCgkgIG9mIGdhcCBldmVudHMuCgoyMDEzLTExLTI1IDAwOjM0OjIxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogZml4IHdha2UtdXAgd2hlbiBuZXcgYnVmZmVycyBjb21lIGluIGFmdGVyIHJ1bm5pbmcgZW1wdHkKCSAgU3BvdHRlZCBieSAnZ3JhdGlhcycgb24gSVJDLiBQcm9iYWJseSBpbnRyb2R1Y2VkIGluIHJlY2VudCByZWZhY3RvcmluZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxNTAzOQoKMjAxMy0xMS0yMyAxMjoxNTo0MCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bW5hdXdAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogY29ycmVjdGx5IGhhbmRsZSBuZWdhdGl2ZSByZWxhdGl2ZSB0aW1lc3RhbXBzCgkgIC4uLiByYXRoZXIgdGhhbiBzY2FsaW5nIHRoZXNlIGFzIHVuc2lnbmVkLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzEyNzQ0CgkgIEJhc2VkIG9uIHBhdGNoIGJ5IEtyenlzenRvZiBLb3RsZW5nYSA8cG9jZWtAdXNlcnMuc2YubmV0PgoKMjAxMy0wOS0xNCAwMzoyNzowOSArMDIwMCAgTWF0aGlldUR1cG9uY2hlbGxlIDxtYXRoaWV1LmR1cG9uY2hlbGxlQGVwaXRlY2guZXU+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5oOgoJICB2aWRlb21peGVyMjogTWVyZ2UgdGFnIGV2ZW50cyB0byBzZW5kIHRoZW0gaW4gY29sbGVjdGVkLgoJICBPdGhlcndpc2UgdGhlcmUgd2VyZSByYWNlIGNvbmRpdGlvbnMgd2hlcmUgd2Ugd291bGQgc2VuZCB0YWdzCgkgIG9uIGEgZmx1c2hpbmcgc3JjcGFkLgoJICBXZSBoYXZlIGEgdGVzdCBmb3IgdGhhdCBpbiBHRVMsIGJ1dCB0aGlzIHNob3VsZCBiZSB0ZXN0ZWQKCSAgc3lzdGVtYXRpY2FsbHkgd2l0aCBoYXJuZXNzIGluIHRoZSBmdXR1cmUgYXMgSSBiZWxpZXZlIGl0CgkgIGlzIHVzZWZ1bCBmb3IgZXhhY3RseSB0aGF0IGtpbmQgb2YgY2FzZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDgxNjUKCjIwMTMtMTEtMTQgMTc6Mjk6NTAgLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBVc2UgR3N0VmlkZW9JbmZvIGhlbHBlciB0byBjcmVhdGUgY2FwcyBmb3IgcmF3IHZpZGVvCgkgIFRoaXMgd2F5IHdlIGRvIG5vdCBtaXNzIG1hbmRhdG9yeSBmaWVsZHMgaW4gY2Fwcy4KCSAgQXQgdGhlIHNhbWUgdGltZSB1c2UgdGhlIGdzdF9wYl91dGlsc19nZXRfY29kZWNfZGVzY3JpcHRpb24KCSAgaGVscGVyIHRvIGdldCBjb2RlYyBkZXNjcmlwdGlvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMjMzNQoKMjAxMy0xMS0xNCAxNjoxMTozOCAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21hdHJvc2thL01ha2VmaWxlLmFtOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogVXNlIEdzdFZpZGVvSW5mbyBoZWxwZXIgdG8gY3JlYXRlIGNhcHMgZm9yIHJhdyB2aWRlbwoJICBUaGlzIHdheSB3ZSBkbyBub3QgbWlzcyBtYW5kYXRvcnkgZmllbGRzIGluIGNhcHMuCgkgIEF0IHRoZSBzYW1lIHRpbWUgdXNlIHRoZSBnc3RfcGJfdXRpbHNfZ2V0X2NvZGVjX2Rlc2NyaXB0aW9uIGhlbHBlciB0bwoJICBnZXQgY29kZWMgZGVzY3JpcHRpb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTIzMjgKCjIwMTMtMTEtMTMgMjA6MTg6MTcgLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc3JjLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc3JjLmg6CgkgIG11bHRpZmlsZXNyYzogSW1wbGVtZW50IHNlZWtpbmcgaW4gY2FzZSBvZiBtdWx0aXBsZSBpbWFnZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMjI1NAoKMjAxMy0xMS0yMiAxMjoyNjoyMSArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBwYXNzIGRvd25zdHJlYW0gZmxvd3JldHVybiB0byB1cHN0cmVhbQoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzEyNzIyCgoyMDEzLTExLTE4IDE0OjI3OjQ4ICswMTAwICBNaWNoYWVsIE9sYnJpY2ggPG0ub2xicmljaEBwZW5ndXRyb25peC5kZT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMjogY2xlYXIgY2FjaGVkIGNhcHMgb24gY2xvc2UKCSAgQSBkaWZmZXJlbnQgZGV2aWNlIHdpdGggZGlmZmVyZW50IGNhcHMgbWF5IGJlIHVzZWQgZm9yIHRoZSBuZXh0IG9wZW4uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTI2MTEKCjIwMTMtMTEtMjEgMTU6MzA6MzQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrY29tbW9uLmM6CgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tzdHJlYW1yZWFkZXIuYzoKCSogZ3N0L2FwZXRhZy9nc3RhcGVkZW11eC5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zaW5rLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NyYy5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zaW5rLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkqIGdzdC9pc29tcDQvYXRvbXMuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIGdfbWVtbW92ZSgpIGlzIGRlcHJlY2F0ZWQKCSAgSnVzdCB1c2UgcGxhaW4gbWVtbW92ZSgpLCBnX21lbW1vdmUoKSBpcyBkZXByZWNhdGVkIGluCgkgIHJlY2VudCBHTGliIHZlcnNpb25zLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzEyODExCgoyMDEzLTExLTIxIDExOjMyOjE1ICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNwYXkuYzoKCSAgcnRwdm9yYmlzZGVwYXk6IGhhbmRsZSBwYWNrZXRzID4gMHhmZmZmCgkgIEhhbmRsZSBpbnB1dCBwYWNrZXQgc2l6ZXMgbGFyZ2VyIHRoYW4gMTYgYml0cyBpbiB0aGUgZGVwYXlsb2FkZXIuCgkgIFJlbW92ZSBzaXplIHJlc3RyaWN0aW9ucyBvbiB0aGUgcGF5bG9hZGVyLgoKMjAxMy0xMS0yMSAxMTozMDoyOCArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhcGF5LmM6CgkgIHJ0cHRoZW9yYWRlcGF5OiBoYW5kbGUgcGFja2V0cyA+IDB4ZmZmZgoJICBSZW9yZ2FuaXplIHNvbWUgdGhpbmdzIGluIHRoZSBkZXBheWxvYWRlciBzbyB0aGF0IGl0IGNhbiBoYW5kbGUgcGFja2V0cyBsYXJnZXIKCSAgdGhhbiAxNiBiaXRzLgoJICBSZW1vdmUgdGhlIHNpemUgcmVzdHJpY3Rpb24gb24gdGhlIHBheWxvYWRlci4KCjIwMTMtMTEtMjEgMDI6Mjg6MjcgKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eF9kdW1wLmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eF90eXBlcy5jOgoJICBpc29tcDQ6IEhhbmRsZSBtcDRzIHN1YnBpY3R1cmUgc3RyZWFtcyBiZXR0ZXIuCgkgIENsZWFuIHVwIHRoZSBoYW5kbGluZyBvZiBtcDRzIHN0cmVhbXMuIFVzZSB0aGUgZ2VuZXJpYyBlc2RzCgkgIGRlc2NyaXB0b3IgZnVuY3Rpb24gdG8gZXh0cmFjdCB0aGUgcGFsZXR0ZSwgaW5zdGVhZCBvZiBoYXJkIGNvZGluZwoJICBhIHdyb25nIG1hZ2ljIG9mZnNldC4KCSAgQWRkIHNvbWUgbW9yZSBzaXplIHNhZmV0eSBjaGVja3Mgd2hlbiBwYXJzaW5nIEVTIGRlc2NyaXB0b3JzLCBhbmQKCSAgcmVwbGFjZSBtYWdpYyBudW1iZXJzIHdpdGggdGhlIGRlc2NyaXB0aXZlIGNvbnN0YW50cyB0aGF0IGFyZSBhbHJlYWR5CgkgIGRlZmluZWQuCgkgIEVuaGFuY2UgZHVtcCBvdXRwdXQgZm9yIHN0c2QgYXRvbXMuCgkgIFN0cmVhbXMgZnJvbSBib3RoIGJ1ZyA3MTI2NDMgYW5kIGhpc3RvcmljIGJ1ZyA1NjgyNzggbm93IGJvdGggd29yawoJICBjb3JyZWN0bHkuCgkgIEZpeGVzOiAjNzEyNjQzCgoyMDEzLTExLTIwIDIyOjA4OjI1ICsxMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvaXNvbXA0L2ZvdXJjYy5oOgoJICBxdGRlbXV4OiBTb3J0IGZvdXJjYyBkZWNsYXJhdGlvbnMgYW5kIHJlbW92ZSBkdXBsaWNhdGVzCgoyMDEzLTExLTIwIDIxOjQxOjQ3ICsxMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvaXNvbXA0L01ha2VmaWxlLmFtOgoJKiBnc3QvaXNvbXA0L2F0b21zLmg6CgkqIGdzdC9pc29tcDQvZm91cmNjLmg6CgkqIGdzdC9pc29tcDQvZnR5cGNjLmg6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXhtYXAuYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eF9kdW1wLmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eF9mb3VyY2MuaDoKCSogZ3N0L2lzb21wNC9xdGRlbXV4X3R5cGVzLmM6CgkgIHF0ZGVtdXg6IE1lcmdlIGFsbCB0aGUgZm91cmNjIGhlYWRlcnMgaW50byBvbmUKCSAgUmVtb3ZlIHF0ZGVtdXhfZm91cmNjLmggYW5kIGZ0eXBjYy5oIGFuZCBwdXQgaXQgYWxsIGluIGZvdXJjYy5oCgoyMDEzLTExLTE5IDEwOjEwOjUxICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogYXZvaWQgbWFwcGluZyB0aGUgYnVmZmVyCgkgIFJldXNlIHRoZSBwYXJzZWQgc3RydWN0dXJlIHRvIGdldCB0aGUgdGltZXN0YW1wcy4KCjIwMTMtMTEtMTggMTc6MTM6NDkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGZpeCAnbWFrZSBjaGVjaycKCSAgRml4IGdlbmVyaWMvc3RhdGVzIGNoZWNrLiBBbHNvLCBnX3JldHVybl9pZl9mYWlsKCkgaXMKCSAgbm90IGZvciBpbnRlcm5hbCBzdGF0ZSBjaGVja2luZy4KCjIwMTMtMTEtMTggMTQ6NDQ6MzYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWZvdmVybGF5LmM6CgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1ZnNpbmsuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJKiBleHQvcmF3MTM5NC9nc3RkdjEzOTRzcmMuYzoKCSogZXh0L3JhdzEzOTQvZ3N0aGR2MTM5NHNyYy5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2VjaG8uYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9meGJhc2VmaXJmaWx0ZXIuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9wYW5vcmFtYS5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zaW5rLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NyYy5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zaW5rLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NyYy5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5oOgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0ZmlsZXNyYy5jOgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3Qvc21wdGUvZ3N0c21wdGVhbHBoYS5jOgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkqIHN5cy9vc3M0L29zczQtc2luay5jOgoJKiBzeXMvb3NzNC9vc3M0LXNvdXJjZS5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6CgkgIGRvY3M6IGdldCByaWQgb2YgJ1NpbmNlOiAwLjEwLngnIG1hcmtlcnMKCSAgQW5kIHNvbWUgZ3RrLWRvYyBtYXJrdXAgZml4ZXMuCgoyMDEzLTExLTE2IDEyOjE1OjE0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBtYW5hZ2VyOiBmaXggU2luY2UgbWFya2VycwoJICBTaG91bGQgYmUgbmV4dCBzdGFibGUgcmVsZWFzZSBzZXJpZXMgdmVyc2lvbgoKMjAxMy0xMS0xNSAxMzo0ODowNyArMDIwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBGaXggc3RhdHMgcHJvcGVydHkgZmllbGQgbmFtZXMgYW5kIGRvY3VtZW50YXRpb24KCjIwMTMtMTEtMTUgMTU6MjA6MTQgKzAxMDAgIFRvcnJpZSBGaXNjaGVyIDx0b3JyaWUuZmlzY2hlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc3RhdHMuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc3RhdHMuaDoKCSAgZ3N0cnRwc2Vzc2lvbjogSW1wbGVtZW50IGEgbnVtYmVyIG9mIGZlZWRiYWNrIHBhY2tldCBzdGF0aXN0aWNzCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTE2OTMKCjIwMTMtMTEtMTMgMTc6MTE6MDggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BwYXJ0bmVyLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHJlbW92ZSBtYXRoIG9wZXJhdGlvbiBmcm9tIGxvb3AKCSAgVGhlIGVsc3Rfb2Zmc2V0IGRvZXNuJ3QgY2hhbmdlIGluc2lkZSB0aGUgbG9vcCwgc28gY29tcHV0ZSBpdAoJICBvdXRzaWRlCgoyMDEzLTExLTE0IDIwOjU0OjMyICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0bXV4OiBmaXggcGxheWJhY2sgcmVncmVzc2lvbgoJICBJbiBhZTExNTBlODVjZjk5ZDc0ODI5MzNhYTZmN2U0ZjAxMmZlNDVhM2VjIGZsaXBwaW5nIGEgY29uZGl0aW9uIG1pc2FsaWduZWQgdGhlCgkgIGVsc2UgYnJhbmNoLCB3aGVyZSBmb3IgdGhlcmUgY29uZGl0aW9uIHRoYXQgd2FzIGNoYW5nZSB0aGVyZSBpcyBub25lLgoJICBGaXhlcyAjNzEyMzAzCgoyMDEzLTExLTE0IDA5OjIwOjA2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogcmVuYW1lIHByb3BlcnR5IHRvICdzdGF0cycKCSAgVGhpcyBtYWtlcyB0aGUgdW5pdCB0ZXN0IHdvcmsuCgkgIFdlIGNhbiBsYXRlciBhbHNvIGFkZCBtb3JlIHN0YXRzLCBub3Qgc3BlY2lmaWMgdG8gcmV0cmFuc21pc3Npb24uCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTE0MTEKCjIwMTMtMTEtMTIgMTE6MTk6MjUgLTA1MDAgIFRvcnJpZSBGaXNjaGVyIDx0b3JyaWUuZmlzY2hlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogaW1wbGVtZW50IHJ0eCBzdGF0aXN0aWNzCgoyMDEzLTExLTEzIDEwOjQyOjIxICswMDAwICBNYXJjIExlZW1hbiA8bWFyYy5sZWVtYW5AZ21haWwuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBwcmludCBGT1VSQ0NfRk9STUFUIHdoZW4gZW51bWVyYXRpbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMjIwNgoKMjAxMy0xMS0wNiAxMjo0MDowNiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IGFkdmFuY2UgZXhwZWN0ZWQgc2VxbnVtIGFmdGVyIGRyb3BwaW5nCgkgIEFmdGVyIGRyb3BwaW5nIGEgYnVmZmVyLCBtb3ZlIG91ciBleHBlY3RlZCBzZXFudW0KCSAgQ29uZmxpY3RzOgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYwoKMjAxMy0xMS0wNCAxNTo0NjoyMiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwZ3N0cGF5LmM6CgkgIGdzdHBheTogb25seSBzZW5kIG9uZSBjYXBzCgkgIE9ubHkgc2VuZCBvbmUgY2FwcyBpbiBhIHBhY2tldC4gVHdvIGNhcHMgY2FuIGhhcHBlbiB3aGVuIHNldGNhcHMgaXMgY2FsbGVkIGFuZAoJICB0aGUgY29uZmlnLWludGVydmFsIGV4cGlyZXMgYXQgdGhlIHNhbWUgdGltZS4KCjIwMTMtMTEtMTMgMTA6MjM6MTkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgcnRzcHNyYzogVXNlIHRoZSBzeW5jZWQgYnVmZmVyIG1vZGUgaW4gYXV0byBtb2RlIGlmIGEgY2xvY2sgcHJvdmlkZXIgaXMgaW4gdGhlIFNEUAoKMjAxMy0xMS0wOCAxMTowOToyMSArMDAwMCAgTWFyYyBMZWVtYW4gPG1hcmMubGVlbWFuQGdtYWlsLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDI6IGluaXQgdjRsMl9idWZmZXIgdG8gMHgwIGJlZm9yZSBpb2N0bAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzEyMTM3CgoyMDEzLTExLTExIDE1OjI3OjE4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiByZW1vdmUgY29sbGlzaW9uIHJlY29uZmlndXJlIGV2ZW50CgkgIFJlbW92ZSBib2d1cyByZWNvbmZpZ3VyZSBldmVudCBvbiBjb2xsaXNpb24sIHdlIGRvbid0IHdhbnQgdG8gc2VuZCB0aGUgZXZlbnQgb24KCSAgdGhlIHJlY2VpdmluZyBSVFAgcGFkIGFuZCB0aGUgY29sbGlzaW9uIGV2ZW50IGlzIG5vdyBoYW5kbGluZyB0aGlzCgkgIGNhc2UuCgkgIFNlZSBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzExNTYwCgoyMDEzLTExLTAxIDE3OjA0OjI4ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgZ3N0cnRwc2Vzc2lvbjogc2VuZCBjdXN0b20gdXBzdHJlYW0gZXZlbnQgIkdzdFJUUENvbGxpc2lvbiIgb24gc2VuZF9ydHBfc2luayBwYWQKCSAgU2VlIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTE1NjAKCjIwMTMtMTEtMTEgMTQ6MjU6NTEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwc2Vzc2lvbi5jOgoJICBjaGVjazogYWRkIHJ0cHNlc3Npb24gdGVzdAoJICBBZGQgYSBiYXNpYyBydHBzZXNzaW9uIHRlc3QgdG8gZW5zdXJlIHRoYXQgUlIgYmxvY2tzIGFyZSBnZW5lcmF0ZWQgd2hlbgoJICBtdWx0aXBsZSBTU1JDIHNlbmRlcnMgYXJlIGFjdGl2ZS4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMTI3MAoKMjAxMy0xMS0xMSAxMzoxNzoyNSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bW5hdXdAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJICBhYzNwYXJzZTogY29ycmVjdGx5IGhhbmRsZSB0aW1lc3RhbXBzIHdoZW4gcGFyc2luZyB4LXByaXZhdGUxLWFjMwoJICAuLi4gdGhlIHdheSBpdCBoYXMgYWx3YXlzIHdvcmtlZCBmaW5lIGluIGE1MmRlYy4KCjIwMTMtMTEtMDUgMTA6NDg6MzMgKzAyMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBmaXggY3Jhc2ggd2hlbiBkby1yZXRyYW5zbWlzc2lvbj10cnVlIGFuZCBhIGxvdCBvZiBidWZmZXJzIGFyZSBsb3N0CgkgIFRoZSBwcm9ibGVtIGhlcmUgd2FzIHRoYXQgdGhlIGppdHRlcmJ1ZmZlciBsb2NrIHdhcyB1bmxvY2tlZCB0byBwdXNoCgkgIHRoZSBldmVudCwgYnV0IHRoYXQgY2F1c2VkIGFub3RoZXIgdGhyZWFkIHRvIHJlbW92ZSB0aGUgdGltZXIgY3VycmVudGx5CgkgIGJlaW5nIHByb2Nlc3NlZCwgcHJvYmFibHkgYmVjYXVzZSB0aGUgYW1vdW50IG9mIHJ0eCBldmVudHMKCSAgKGFuZCB0aGVyZWZvcmUgdGltZXJzKSB3YXMgZ2V0dGluZyB0b28gaGlnaC4gVGhlIHNvbHV0aW9uIGlzIHRvCgkgIHVubG9jayBhbmQgcHVzaCB0aGUgZXZlbnQgb25seSBhZnRlciB0aW1lciBwcm9jZXNzaW5nIGhhcyBmaW5pc2hlZC4KCSAgZml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMTEzMQoKMjAxMy0xMC0yNCAxMzoxNjo0MiArMDIwMCAgUGVyIHggSm9oYW5zc29uIDxwZXJ4am9oQGF4aXMuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IEF2b2lkIGRpdmlzaW9uIGJ5IHplcm8gYXNzZXJ0IGluIGdzdF9tYXRyb3NrYV9kZW11eF9zZWFyY2hfcG9zCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTE4MjkKCjIwMTMtMTEtMDggMTc6NTk6MjQgKzAxMDAgIFBoaWxpcHBlIE5vcm1hbmQgPHBoaWxuQGlnYWxpYS5jb20+CgoJKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5jOgoJICB3YXZlbmM6IGdlbmVyYXRlIGEgbm9uLWVtcHR5IGRhdGEgaGVhZGVyCgkgIFJlc3RvcmUgdGhlIGJlaGF2aW9yIG9mIHRoZSBlbGVtZW50IHRvIHRoZSBzdGF0ZSBiZWZvcmUgY29tbWl0CgkgIGRiMjk1MjJhNDMwZTQ0NDUwNDE1Y2EzNjc2YWJkMWI3N2VlOTIzZDkuIEEgbm9uLWVtcHR5IGhlYWRlciBpcwoJICBnZW5lcmF0ZWQgYW5kIHdoZW4gdGhlIEVPUyBldmVudCBpcyByZWNlaXZlZCB0aGUgaGVhZGVyIGlzIGdlbmVyYXRlZAoJICBhZ2FpbiwgdGhpcyB0aW1lIHdpdGggdGhlIGNvcnJlY3Qgc2l6ZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMTY5OQoKMjAxMy0xMS0wNyAxNjoxNzoxNiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkgIHJ0cHNvdXJjZTogdXBkYXRlIHJlY2VpdmVyIHN0YXRzIGZvciBzZW5kZXIKCSAgQW4gaW50ZXJuYWwgc2VuZGVyIGluIGEgc2Vzc2lvbiBpcyBhbHNvIGEgcmVjZWl2ZXIgb2YgaXRzIG93biBwYWNrZXRzIHNvIHVwZGF0ZQoJICB0aGUgcmVjZWl2ZXIgc3RhdHMuIE90aGVyIHNlbmRlcnMgaW4gdGhlIHNlc3Npb24gd2lsbCB1c2UgdGhpcyBpbmZvIHRvIGdlbmVyYXRlCgkgIGNvcnJlY3QgUkIgYmxvY2tzIGluIHRoZWlyIFNSIHJlcG9ydHMuCgoyMDEzLTExLTA3IDE2OjEzOjE2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkgIHJ0cHNvdXJjZTogcmVmYWN0b3IgcmVjZWl2ZXIgc3RhdHMgdXBkYXRlCgoyMDEzLTEwLTI1IDE4OjIyOjAwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAcGFydG5lci5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBoYW5kbGUgZnJhZ21lbnRlZCBmaWxlcyB3aXRoIG1kYXQgYmVmb3JlIG1vb2ZzCgkgIEFzc3VtZSBhIGZpbGUgd2l0aCBhdG9tcyBpbiB0aGUgZm9sbG93aW5nIG9yZGVyOiBtb292LCBtZGF0LCBtb29mLAoJICBtZGF0LCBtb29mIC4uLgoJICBUaGUgZmlyc3QgbW9vdiB1c3VhbGx5IGRvZXNuJ3QgY29udGFpbiBhbnkgc2FtcGxlIGVudHJpZXMgYXRvbXMgKG9yCgkgIHRoZXkgYXJlIGFsbCBzZXQgdG8gMCBsZW5ndGgpLCBiZWNhdXNlIHRoZSByZWFsIHNhbXBsZXMgYXJlIHNpZ25hbGVkCgkgIGF0IHRoZSBtb29mcy4gSW4gcHVzaCBtb2RlLCBxdGRlbXV4IHBhcnNlcyB0aGUgbW9vdiBhbmQgdGhlbiBmaW5kcyB0aGUgbWRhdCwKCSAgYnV0IHRoZW4gaXQgaGFzIDAgZW50cmllcyBhbmQgYXNzdW1lcyBpdCBpcyBFT1MuCgkgIFRoaXMgcGF0Y2ggbWFrZXMgaXQgY29udGludWUgcGFyc2luZyBpbiBjYXNlIGl0IGlzIGEgZnJhZ21lbnRlZCBmaWxlIHNvIHRoYXQKCSAgaXQgbWlnaHQgZmluZCB0aGUgbW9vZnMgYW5kIHBsYXkgdGhlIG1lZGlhLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzEwNjIzCgoyMDEzLTEwLTI1IDExOjQyOjM3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAcGFydG5lci5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguaDoKCSAgcXRkZW11eDogV2hlbiB1c2luZyBhIGJ1ZmZlcmVkIG1kYXQsIHN0b3JlIGFsbCByZWNlaXZlZCBkYXRhIGZvciBsYXRlciB1c2UKCSAgSW4gcHVzaCBtb2RlLCB3aGVuIHF0ZGVtdXggY2FuJ3QgdXNlIGEgc2VlayB0byBza2lwIHRoZSBtZGF0IGJ1ZmZlciBpdCBoYXMKCSAgdG8gYnVmZmVyIGl0IGZvciBsYXRlciB1c2UuCgkgIFRoZSBpc3N1ZSBpcyB0aGF0IGFmdGVyIHBhcnNpbmcgdGhlIG5leHQgbW9vdi9tb29mLCB0aGVyZSBtaWdodCBiZSBzb21lCgkgIHRyYWlsaW5nIGJ5dGVzIGZyb20gdGhlIG5leHQgYXRvbSBpbiB0aGUgZmlsZS4gVGhpcyBkYXRhIHdhcyBiZWluZyBkaXNjYXJkZWQKCSAgYWxvbmcgd2l0aCB0aGUgYWxyZWFkeSBwYXJzZWQgbW9vdi9tb29mIGFuZCBwbGF5YmFjayB3b3VsZCBmYWlsIHRvIGNvbnRpbnVlCgkgIGFmdGVyIHRoZSBjb250ZW50cyBvZiB0aGlzIG1vb3YvbW9vZiBhcmUgcGxheWVkLgoJICBUaGlzIGlzIHBhcnRpY3VsYXJseSBiYWQgb24gZnJhZ21lbnRlZCBmaWxlcyB0aGF0IGhhdmUgdGhlIG1kYXQgYmVmb3JlIHRoZQoJICBjb3JyZXNwb25kaW5nIG1vb2YuIFNvIHlvdSdkIGdldDoKCSAgbWRhdHxtb29mfG1kYXR8bW9vZiAuLi4KCSAgV2hlbiBhIG1vb2Ygd2FzIHJlY2VpdmVkLCBpdCB1c3VhbGx5IGNhbWUgd2l0aCBzb21lIGV4dHJhIGJ5dGVzIHRoYXQgd291bGQKCSAgYmVsb25nIHRvIHRoZSBuZXh0IG1kYXQgKGJlY2F1c2UgdXBzdHJlYW0gZG9lc24ndCBjYXJlIGFib3V0IGF0b21zIGFsaWdubWVudCkuCgkgIFNvIHRob3NlIGJ5dGVzIHdlcmUgYmVpbmcgZGlzY2FyZGVkIGFuZCBwbGF5YmFjayB3b3VsZCBmYWlsLgoJICBUaGlzIHBhdGNoIG1ha2VzIHF0ZGVtdXggc3RvcmUgdGhvc2UgZXh0cmEgYnl0ZXMgdG8gcmV1c2UgdGhlbSBsYXRlciBhZnRlciB0aGUKCSAgbWRhdCBpcyBlbXB0aWVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzEwNjIzCgoyMDEzLTExLTA3IDA5OjQ5OjU1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSAgbXVsdGl1ZHBzaW5rOiBBbHNvIHVzZSB0aGUgYmluZC1wb3J0IHByb3BlcnR5IGlmIG5vIGJpbmQtYWRkcmVzcyB3YXMgZ2l2ZW4KCjIwMTMtMTEtMDcgMDA6NTE6MTIgKzAxMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4Y29yZWF1ZGlvaGFsLmM6CgkgIG9zeGF1ZGlvc2luazogZml4IHNlZ2ZhdWx0IHdoZW4gd2UgY2FuJ3QgZ2V0IHRoZSBjaGFubmVscyBsYXlvdXQKCjIwMTMtMTEtMDUgMTc6MjY6NDkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHZwOHBheS5jOgoJICBydHB2cDhwYXk6IE1ha2UgUGljdHVyZSBJRCBtb2RlIGNvbmZpZ3VyYWJsZSBhbmQgZGVmYXVsdCB0byBubyBwaWN0dXJlIElECgkgIFNvbWUgaW1wbGVtZW50YXRpb25zIChsaW5waG9uZSkgb25seSBzdXBwb3J0IG5vIHBpY3R1cmUgYXQgYWxsIGluIHRoZQoJICBzdHJlYW0gYW5kIHdpbGwgZmFpbCBpZiBvbmUgaXMgcHJvdmlkZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTE0OTcKCjIwMTMtMTEtMDUgMTE6MTg6MzQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDg2NWFhMjAgdG8gZGJlZGFhMAoKMjAxMy0wMS0yOSAxMDo1MTowNyArMDEwMCAgUGF1bCBIRU5SWVMgPHZpc2VjaGVsbGVAZ21haWwuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkgIEFkZCBjYWxsIHRvIGdzdF9ydHBfaDI2NF9wYXlfY2xlYXJfc3BzX3BwcygpIHdoZW4gcmVjZWl2aW5nIGEgU1RSRUFNX1NUQVJUIGV2ZW50CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTI3ODcKCjIwMTMtMTEtMDIgMjI6NTA6NDcgKzAxMDAgIFJpY28gVHpzY2hpY2hob2x6IDxyaWNvdHpAdWJ1bnR1LmNvbT4KCgkqIGdzdC9ydHNwL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIHJ0c3A6IEFkZCBtaXNzaW5nIGdpby0yLjAgZGVwcyBhbmQgaW5jbHVkZXMKCjIwMTMtMTEtMDEgMTg6MzE6MzYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXVkaW9meC9hdWRpb2lpcmZpbHRlci5jOgoJICBhdWRpb2lpcmZpbHRlcjogRml4IGluaXRpYWxpemF0aW9uIGNvZWZmaWNpZW50IGhhbmRsaW5nCgkgIEJyb2tlIHVuaXQgdGVzdC4KCjIwMTMtMTAtMzEgMTQ6MDU6NDMgLTA3MDAgIEFsZWl4IENvbmNoaWxsbyBGbGFxdWUgPGFsZWl4QG9ibG9uZy5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgcnRzcHNyYzogYWxsb3cgc2V0dGluZyB0bHMgY2VydGlmaWNhdGUgdmFsaWRhdGlvbiBmbGFncwoJICBBZGRlZCBhIG5ldyBwcm9wZXJ0eSAidGxzLXZhbGlkYXRpb24tZmxhZ3MiLiBJZiB0aGUgdXJsIHRyYW5zcG9ydCBpcwoJICBUTFMsIHRoZSB2YWxpZGF0aW9uIGZsYWdzIHdpbGwgYmUgc2V0IHRvIHRoZSBydHNwIGNvbm5lY3Rpb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTEyMzAKCjIwMTMtMTAtMzEgMjI6NDM6NDkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWlpcmZpbHRlci5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2lpcmZpbHRlci5jOgoJICBhdWRpb2lpcmZpbHRlcjogRG9uJ3QgY3Jhc2ggaWYgbm8gZmlsdGVyIGNvZWZmaWNpZW50cyBhcmUgcHJvdmlkZWQKCSAgLi4uYW5kIGJ5IGRlZmF1bHQgdXNlIGEgaWRlbnRpdHkgZmlsdGVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzEwMjE1CgoyMDEzLTEwLTMxIDE5OjE1OjEyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOgoJICB3YXZwYWNrZW5jOiBGaXggd3JpdGluZyBvZiBNRDUgc3VtcyBhbmQgb3RoZXIgbWV0YWRhdGEgYmxvY2tzCgkgIFRoZXNlIGRvbid0IGhhdmUgdGhlIEZJTkFMX0JMT0NLIGZsYWcgc2V0LgoKMjAxMy0xMC0zMSAxMzowMjoxMSAtMDIwMCAgRGphbG1hIEzDumNpbyBTb2FyZXMgZGEgU2lsdmEgPGRsdWNpb0BpbXBhLmJyPgoKCSogZXh0L3JhdzEzOTQvZ3N0aGR2MTM5NHNyYy5jOgoJICBoZHYxMzk0c3JjOiBNYWtlIGl0IHBvc3NpYmxlIHRvIHNlbGVjdCBhIGNhbWVyYSBieSBpdHMgR1VJRAoJICBUaGUgc291cmNlIGhkdjEzOTRzcmMgaGFzIHRoZSBndWlkIHByb3BlcnR5IHRoYXQgcGVybWl0cyBzZWxlY3QgYSBjYW1lcmEKCSAgY29ubmVjdGVkIGZyb20gaXRzIEdVSUQgbnVtYmVyLgoJICBIb3dldmVyIHdoZW4gdGhpcyBwcm9wZXJ0eSBpcyBzZXR0ZWQgdGhlIHNlbGVjdGVkIGNhbWVyYSBpcyBub3QgY2hhbmdlZC4KCSAgVGhlIHNvdXJjZSBjb250aW51ZXMgdXNpbmcgdGhlIGRlZmF1bHQgY2FtZXJhLgoJICBUaGlzIHByb2JsZW0gd2FzIHNvbHZlZCB1c2luZyB0aGUgZnVuY3Rpb24gaWVjNjE4ODNfY21wX2Nvbm5lY3QuCgkgIFRoZSByZWZlcmVuY2UgZm9yIHRoZSBmdW5jdGlvbiBjb3VsZCBiZSBmb3VuZCBoZXJlOgoJICBodHRwOi8vd3d3LmRlbm5lZHkub3JnL2xpYmllYzYxODgzL0FQSS1pZWM2MTg4My1jbXAtY29ubmVjdC5odG1sCgkgIFRoZSBzb2x1dGlvbiBjYW1lIGZyb20gZHZncmFiIHNvdXJjZSBjb2RlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzEwNDE1CgoyMDEzLTEwLTMxIDEzOjIwOjQxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAcGFydG5lci5zYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NvdXBodHRwc3JjLmM6CgkgIHRlc3RzOiBzb3VwaHR0cHNyYzogYWRkIGV4cGxpY2l0IGNhc3QgdG8gc2lsZW5jZSB3YXJuaW5nCgkgIFNpbGVuY2luZyB0aGlzIHdhcm5pbmc6CgkgIGVsZW1lbnRzL3NvdXBodHRwc3JjLmM6NTMzOjE0OiBlcnJvcjogY29tcGFyaXNvbiBiZXR3ZWVuIOKAmFNvdXBLbm93blN0YXR1c0NvZGXigJkgYW5kIOKAmGVudW0gPGFub255bW91cz7igJkgWy1XZXJyb3I9ZW51bS1jb21wYXJlXQoJICBpZiAoc3RhdHVzICE9IFNPVVBfU1RBVFVTX09LICYmICFzZW5kX2Vycm9yX2RvYykKCSAgV2l0aCBnY2MgNC44LjIgKGRlYmlhbikKCjIwMTMtMTAtMzEgMTA6Mzg6MzUgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuaDoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBwcm94eSBuZXcgYnVmZmVyIG1vZGUKCjIwMTMtMTAtMzAgMTY6NDk6MzYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmg6CgkgIGppdHRlcmJ1ZmZlcjogYWRkIG5ldyB0aW1lc3RhbXAgbW9kZQoJICBBZGQgYSBuZXcgdGltZXN0YW1wIG1vZGUgdGhhdCBhc3N1bWVzIHRoZSBsb2NhbCBhbmQgcmVtb3RlIGNsb2NrIGFyZQoJICBzeW5jaHJvbml6ZWQuIEl0IHRha2VzIHRoZSBmaXJzdCB0aW1lc3RhbXAgYXMgYSBiYXNlIHRpbWUgYW5kIHRoZW4gdXNlcyB0aGUgUlRQCgkgIHRpbWVzdGFtcHMgZm9yIHRoZSBvdXRwdXQgUFRTLgoKMjAxMy0xMC0zMCAyMjoxMjo0NSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYS1kZW11eDogRml4IGNvbXBpbGVyIHdhcm5pbmcKCSAgbWF0cm9za2EtZGVtdXguYzogSW4gZnVuY3Rpb24gJ2dzdF9tYXRyb3NrYV9kZW11eF9hZGRfc3RyZWFtJzoKCSAgbWF0cm9za2EtZGVtdXguYzoxMzc5Ojc6IGVycm9yOiBmb3JtYXQgJyV1JyBleHBlY3RzIGFyZ3VtZW50IG9mIHR5cGUgJ3Vuc2lnbmVkIGludCcsIGJ1dCBhcmd1bWVudCA0IGhhcyB0eXBlICdndWludDY0JyBbLVdlcnJvcj1mb3JtYXQ9XQoJICAiJTAzdSIsIGNvbnRleHQtPnVpZCk7CgkgIF4KCjIwMTMtMTAtMjggMTM6MjE6MTUgKzAwMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb2NvbnZlcnQuYzoKCSAgdmlkZW9taXhlcjogcmVtb3ZlIHVubmVlZGVkIGd1aW50IGNvbXBhcmFpc29uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTEwMTAKCjIwMTMtMTAtMjggMTQ6MTM6MTIgKzAwMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvb3N4dmlkZW8vY29jb2F3aW5kb3cuaDoKCSogc3lzL29zeHZpZGVvL2NvY29hd2luZG93Lm06CgkgIG9zeHZpZGVvc2luazogZml4IG1pc3Npbmcgc2VsZWN0b3IgbmFtZSB3YXJuaW5ncwoJICBUaGUgc3BhY2VzIG1hdHRlciBpbiBPYmpDCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTEwMTMKCjIwMTMtMTAtMjggMTM6MzE6MzQgKzAwMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOgoJICB5NG1lbmM6IGZpeCB1bmluaXRpYWxpemVkIHZhcmlhYmxlIHdhcm5pbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMTAxMQoKMjAxMy0xMC0yNSAxMTozMDozNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHBhcnRuZXIuc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogY2hlY2sgaWYgdGhlIGVuZF90aW1lIGlzIGRlZmluZWQgYmVmb3JlIHVzaW5nIGl0CgkgIEF2b2lkcyBzZW5kaW5nIEVPUyB0b28gc29vbiBiZWNhdXNlIG9mIG92ZXJmbG93LiBDYW4gaGFwcGVuIG9uCgkgIGZyYWdtZW50ZWQgbXA0IHBsYXliYWNrLgoKMjAxMy0xMC0yMyAxMzozODoyMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHBhcnRuZXIuc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogdXNlIGNvcnJlY3QgdW5yZWYgZnVuY3Rpb24KCSAgRXZlbnRzIGFyZW4ndCBHc3RPYmplY3RzLCBidXQgR3N0TWluaU9iamVjdHMKCjIwMTMtMTAtMTUgMDg6MTY6MjAgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogcmVuYW1lIGNodW5rc19hcmVfY2h1bmtzIHRvIGNodW5rc19hcmVfc2FtcGxlcyBhbmQgZmxpcCB0aGUgbG9naWMKCSAgQXMgdGhlIHZhcmlhYmxlIG5hbWUgc3VnZ2VzdHMsIHNvbWV0aW1lcyBjaHVua3MgYXJlIGNodW5rcy4gUmVuYW1lIHRoZSB2YXJpYWJsZQoJICB0byB0ZWxsIHdoYXQgdGhleSBhcmUgd2hlbiB0aGV5IGFyZSBub3QgY2h1bmtzLgoKMjAxMy0xMC0wOSAwODowNDoyMCArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBmaXggdHlwb3MgYW5kIGFkZCBtb3JlIGxvZ2dpbmcgZm9yIHVuaGFuZGxlZCBwYXJ0cwoKMjAxMy0xMC0xNCAxNjoyMzoyNSArMDIwMCAgT2dueWFuIFRvbmNoZXYgPG9nbnlhbkBheGlzLmNvbT4KCgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkgIG11bHRpdWRwc2luazogRml4IG1lbW9yeSBsZWFrCgkgIFVubWFwIGFsbCBHc3RNZW1vcnkgb2YgdGhlIGN1cnJlbnQgYnVmZmVyIHdoZW4gZmx1c2hpbmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTAxMTAKCjIwMTMtMTAtMTIgMjA6NDQ6MzEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJICBmbHZtdXg6IGZpeCBicm9rZW4gc2FtcGxlIHBpcGVsaW5lCgkgIHdoaWNoIHdhcyBtdXhpbmcgcmF3IGF1ZGlvIGFuZCB2aWRlbyBpbnRvIGZsdm11eCwgd2hpY2ggd29uJ3Qgd29yaywKCSAgZXZlbiBpZiB0aGVyZSB3ZXJlIGNvbnZlcnRlcnMuCgoyMDEzLTEwLTEyIDIwOjM3OjQxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSAgZmx2bXV4OiByZXF1aXJlIHN0cmVhbS1mb3JtYXQ9cmF3IGZvciBtcGVnLTIgdG9vLCBidXQgZG9uJ3QgcmVxdWlyZSBmcmFtZWQgZmllbGQKCSAgcmF3IGltcGxpZXMgdGhhdCBpdCdzIGZyYW1lZCBhbHJlYWR5LiBGaXhlcyAuLiAhIGZhYWMgISBmbHZtdXgKCjIwMTMtMTAtMDcgMTQ6Mjc6MjEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BwYXJ0bmVyLnNhbXN1bmcuY29tPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuaDoKCSAgc291cGh0dHBzcmM6IGRvIG5vdCBlbWl0IEVPUyB3aGVuIGNvbm5lY3Rpb24gZHJvcHMKCSAgSWYgdGhlIHBpcGVsaW5lIGlzIHN0YWxsZWQgZm9yIHRvbyBsb25nLCBzb3VwaHR0cHNyYyB3aWxsIGJsb2NrIGFuZAoJICBzdG9wIGZldGNoaW5nIGRhdGEgZnJvbSB0aGUgbmV0d29yay4gVGhpcyBjYW4gY2F1c2UgdGhlIGNvbm5lY3Rpb24gdG8KCSAgZHJvcCBhbmQgc291cGh0dHBzcmMgd291bGQgaGFuZGxlIGl0IGFzIGFuIEVPUy4gVGhpcyBwYXRjaCBtYWtlcyBpdAoJICBwZXJzaXN0IGFuZCB0cnkgdG8gZmV0Y2ggbW9yZSBkYXRhIHVudGlsIHRoZSBlbmQgb2YgdGhlIGNvbnRlbnQgbGVuZ3RoCgkgIG9yIHVudGlsIHJlY2VpdmluZyBhbiBlcnJvciB0aGF0IGl0IGlzIGJleW9uZyBsaW1pdHMgaW4gY2FzZSB0aGUgY29udGVudAoJICBpcyB1bmtub3duLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgzNTM2CgoyMDEzLTEwLTEwIDEzOjUyOjM1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBleHQvZHYvZ3N0ZHZkZWMuYzoKCSogZXh0L2R2L2dzdGR2ZGVjLmg6CgkgIGR2ZGVjOiBEb24ndCBzZW5kIHNlZ21lbnQgZXZlbnQgYmVmb3JlIGNhcHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwOTcyOAoKMjAxMy0xMC0wOSAxNzo0NjozMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZXh0L2R2L2dzdGR2ZGVtdXguYzoKCSAgZHZkZW11eDogU2VuZCBzdHJlYW0tc3RhcnQsIGNhcHMgYW5kIHNlZ21lbnQgZXZlbnRzIGluIHRoZSByaWdodCBvcmRlcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA5NzI4CgoyMDEzLTEwLTA4IDExOjI4OjA0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5jOgoJICB3YXZlbmM6IEEtTGF3IGFuZCBNdS1MYXcgZG9uJ3QgaGF2ZSB3aWR0aC9kZXB0aC9zaWduZWQgY2FwcyBmaWVsZHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwOTYxNAoKMjAxMy0xMC0wNyAxMjo1NDoxMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9ncmVlZHloLmM6CgkgIGRlaW50ZXJsYWNlOiBGaXggaGFuZGxpbmcgb2YgcGxhbmFyIHZpZGVvIGZvcm1hdHMgaW4gZ3JlZWR5aCBtZXRob2QKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwOTUwNwoKMjAxMy0xMC0wNiAxMDowMToyNiAtMDcwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8ci52ZXJkZWpvQHBhcnRuZXIuc2Ftc3VuZy5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thOiBUcml2aWFsIGdyYW1tYXIgZml4IG9uIGRlYnVnIG1zZwoKMjAxMy0xMC0wNiAwOToxNzowMCAtMDcwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8ci52ZXJkZWpvQHBhcnRuZXIuc2Ftc3VuZy5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguaDoKCSogZ3N0L21hdHJvc2thL3dlYm0tbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBBZGQgY29udGV4dCBmbGFnIGZvciBXZWJNCgkgIFdlYk0gaGFzIGEgY291cGxlIG9mIHNwZWNpZmljIHJlcXVpcmVtZW50cyB3ZSBuZWVkIHRvIGhhbmRsZS4KCSAgSWRlYSBpcyB0byBzZXQgdGhpcyBmbGFnIG9uY2UgYW5kIGp1c3QgcmVseSBvbiBtdXgtPmlzX3dlYm0KCSAgYXQgcnVuIHRpbWUgaW5zdGVhZCBvZiByZXBlYXRlZGx5IGZpZ3VyaW5nIHRoaXMgb3V0IGZyb20KCSAgR1NUX01BVFJPU0tBX0RPQ1RZUEVfV0VCTSAod2hpY2ggcmVxdWlyZXMgYSBzdHJjbXAoKSkuCgoyMDEzLTEwLTA0IDE0OjQyOjU5IC0wNzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyLnZlcmRlam9AcGFydG5lci5zYW1zdW5nLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2E6IERvIG5vdCB3cml0ZSBTZWdtZW50VUlEIGZvciBXZWJNIG11eAoJICBXZWJNIHNwZWMgc3RhdGVzIFNlZ21lbnRVSUQgaXMgVW5zdXBwb3J0ZWQuIEZpbGVzIHByb2R1Y2VkCgkgIHdpdGggZ3N0cmVhbWVyIHdpdGhvdXQgdGhpcyBjaGFuZ2Ugd2lsbCBzcGl0IGFuIGVycm9yIGxpa2UKCSAgdGhpcyB3aGVuIHBhc3NlZCB0byBta3ZhbGlkYXRvcjoKCSAgRVJSMjAxOiBJbnZhbGlkICdTZWdtZW50VUlEJyBmb3IgcHJvZmlsZSAnd2VibScgaW4gSW5mbyBhdCAxOTIKCjIwMTMtMTAtMDUgMDA6MDA6MDMgKzAyMDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogbWFrZSBkdmQgcGFsZXR0ZSBjaGFuZ2UgZXZlbnQgc3RpY2t5CgkgIFNvIHRoZXkgZG9uJ3QgZ2V0IGxvc3QuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDk0NTQKCjIwMTMtMTAtMDMgMTY6Mzk6MjYgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZsaXAuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmxpcC5oOgoJICB2aWRlb2ZsaXA6IEFkZCBhdXRvbWF0aWMgZmxpcCBtb2RlIGRyaXZlbiBieSBpbWFnZS1vcmllbnRhdGlvbiB0YWcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwOTMxMgoKMjAxMy0xMC0wNCAxMzozNDowOSArMDIwMCAgUGV0ZXIgS29yc2dhYXJkIDxwZXRlckBrb3JzZ2FhcmQuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMmJ1ZmZlcnBvb2w6IE9fQ0xPRVhFQyBuZWVkcyBfR05VX1NPVVJDRQoJICBPbiBzb21lIHN5c3RlbXMgKEUuRy4gdUNsaWJjIGFuZCBvbGRlciBHbGliYyB2ZXJzaW9ucyksIE9fQ0xPRVhFQyBpcyBvbmx5CgkgIGRlZmluZWQgd2hlbiBfR05VX1NPVVJDRSBpcyBzcGVjaWZpZWQsIHNvIGRvIHNvLgoJICBfR05VX1NPVVJDRSBuZWVkcyB0byBiZSBkZWZpbmVkIGJlZm9yZSBhbnkgc3lzdGVtIGhlYWRlcnMgYXJlIGluY2x1ZGVkLAoJICBzbyBtb3ZlIHRoZSBmY250bC5oIHNlY3Rpb24gdXAuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDk0MjMKCjIwMTMtMTAtMDQgMTI6MTE6NTYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBmaXggcmFjZSBpbiBmbHVzaC1zdGFydC9mbHVzaC1zdG9wCgkgIFdoZW4gZmx1c2gtc3RvcCBhcnJpdmVzIGJlZm9yZSB3ZSBwcm9jZXNzIHRoZSByZXN1bHQgb2YgdGhlIF9wdXNoKCkgaW4gdGhlCgkgIGxvb3AgZnVuY3Rpb24sIHdlIG1pZ2h0IHBhdXNlIGV2ZW4gdGhvdWdoIHdlIGFyZSBub3QgZmx1c2hpbmcgYW55bW9yZS4gRml4IHRoaXMKCSAgcmFjZSBieSB3YWl0aW5nIGZvciB0aGUgc3JjcGFkIGxvb3AgZnVuY3Rpb24gdG8gY29tcGxldGVseSBwYXVzZSBhZnRlciBkb2luZyB0aGUKCSAgZmx1c2gtc3RhcnQuCgoyMDEzLTEwLTAzIDIyOjM4OjQzICswMjAwICBNYXRoaWV1IER1cG9uY2hlbGxlIDxtZHVwb25jaGVsbGUxQGdtYWlsLmNvbT4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvY29udmVydC5jOgoJICB2aWRlb21peGVyOiBVcGRhdGUgdmlkZW9jb252ZXJ0IGNvcHkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwOTM5MAoKMjAxMy0xMC0wMyAyMTozNjozNCArMDIwMCAgTWF0aGlldSBEdXBvbmNoZWxsZSA8bWR1cG9uY2hlbGxlMUBnbWFpbC5jb20+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICB2aWRlb21peGVyOiBDaGVjayBpZiB0aGUgcGFkIG5lZWRzIHJlY29uZmlndXJhdGlvbiBpbiBjb2xsZWN0ZWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwOTM4NAoKMjAxMy0xMC0wMyAxNDozOTozNSArMDEwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogUmVsYXggc2luayBjYXBzCgkgIFNpbmNlIGpwZWdkZWMgYWxyZWFkeSBwYXJzZSB0aGUganBlZyBzdHJlYW0sIHRoZSBzaW5rIGNhcHMgY291bGQgYmUKCSAgcmVsYXhlZC4gVGhpcyB3aWxsIGFsbG93IGpwZWdkZWMgdG8gYmUgc2VsZWN0ZWQgaW4gbW9yZSBjYXNlIGFuZCBpbgoJICBwYXJ0aWN1bGFyIHdoZW4gdGhlIGpwZWcgdHlwZWZpbmRlciBkb2VzIG5vdCBmaW5kIHRoZSB3aWR0aCBhbmQgaGVpZ2h0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA5MzUyCgoyMDEzLTEwLTAzIDE4OjMzOjAxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyc3JjOiBwcmludCBwcm9iZWQgY2FwcyBhcyBjYXBzIGFnYWluIGluIGRlYnVnIGxvZwoJICBUaGlzIGdvdCBsb3N0IGR1cmluZyByZWZhY3RvcmluZy4KCjIwMTMtMTAtMDMgMTE6NTk6MjUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBBZGQgc3VwcG9ydCBmb3IgdGhlIG1wMnYgZm91cmNjIGZvciBNUEVHLTIgdmlkZW8KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwOTI3MAoKMjAxMy0xMC0wMiAxNTo1Njo1MyArMDIwMCAgT2dueWFuIFRvbmNoZXYgPG9nbnlhbkBheGlzLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBGaXggbWVtb3J5IGxlYWsKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwOTI2NgoKMjAxMy0wOS0zMCAxMjozMTo0MiArMDMwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eF9mb3VyY2MuaDoKCSogZ3N0L2lzb21wNC9xdGRlbXV4X3R5cGVzLmM6CgkgIHF0ZGVtdXg6IEFkZCBIRVZDIHN1cHBvcnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwOTA5MwoKMjAxMy0wOS0zMCAxMjoyNDozMiArMDIwMCAgT2dueWFuIFRvbmNoZXYgPG9nbnlhbkBheGlzLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwZ3N0cGF5LmM6CgkgIHJ0cGdzdHBheTogRml4IG1lbW9yeSBsZWFrCgkgIFdlIHdlcmUgbGVha2luZyB0aGUgR0xpc3Qgbm9kZXMgb2YgdGhlIHBlbmRpbmcgYnVmZmVycy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwOTA3OQoKMjAxMy0wOS0zMCAxMjozMTowMCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuaDoKCSAgcnRwaml0dGVyYnVmZmVyOiBmaXggcmFjZSB3aGVuIHVwZGF0aW5nIHRoZSBuZXh0X3NlcW51bQoJICBJZiB3ZSB3ZXJlIG5vdCB3YWl0aW5nIGZvciB0aGUgbWlzc2luZyBzZXFudW0gd2hlbiB3ZSBpbnNlcnQgdGhlIGxvc3QgcGFja2V0CgkgIGV2ZW50IGluIHRoZSBqaXR0ZXJidWZmZXIsIHdlIGVuZCB1cCBub3QgdXBkYXRpbmcgdGhlIG5leHRfc2VxbnVtIGFuZCB3YWl0CgkgIGZvcmV2ZXIgZm9yIHRoZSBsb3N0IHBhY2tldHMgdG8gYXJyaXZlLiBJbnN0ZWFkLCBrZWVwIHRyYWNrIG9mIHRoZSBhbW91bnQgb2YKCSAgcGFja2V0cyBjb250YWluZWQgYnkgdGhlIGppdHRlcmJ1ZmZlciBpdGVtIGFuZCB1cGRhdGUgdGhlIG5leHQgZXhwZWN0ZWQKCSAgc2VxbnVtIG9ubHkgYWZ0ZXIgcHVzaGluZyB0aGUgYnVmZmVyL2V2ZW50LiBUaGlzIG1ha2VzIHN1cmUgd2UgY29ycmVjdGx5IGhhbmRsZQoJICBHQVBTIGluIHRoZSBzZXF1ZW5jZSBudW1iZXJzLgoKMjAxMy0wOS0zMCAxMjozMDoyMyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IHNtYWxsIGRlYnVnIGltcHJvdmVtZW50CgoyMDEzLTA5LTMwIDExOjUzOjA4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogcmVzZXQgc2tldyBkb2VzIG5vdCByZXNldCBjbG9jay1yYXRlCgkgIERvbid0IHJlc2V0IHRoZSBjbG9jay1yYXRlIHdoZW4gd2UgcmVzZXQgdGhlIHNrZXcgY29ycmVjdGlvbiBhbGdvcml0aG0uCgkgIFJlc2V0IHRoZSBza2V3IGNvcnJlY3Rpb24gYWxnb3JpdGhtIHdoZW4gd2UgY2hhbmdlIHRoZSBjbG9jay1yYXRlLgoKMjAxMy0wOS0zMCAxMToxNjozMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IHBhdXNlIHRpbWVyIHdoZW4gUEFVU0VECgkgIEFsc28gcGF1c2UgdGhlIHRpbWVyIHdoZW4gd2UgZ28gdG8gdGhlIFBBVVNFRCBzdGF0ZS4gSXQgaXMgcG9zc2libGUgdGhhdCB3ZQoJICBkb24ndCBoYXZlIGEgY2xvY2sgb3IgYmFzZS10aW1lIGluIFBBVVNFRCB0byBwZXJmb3JtIHRoZSB0aW1lb3V0cy4KCjIwMTMtMDktMzAgMTE6MTU6MjUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBpbXByb3ZlIGRlYnVnCgoyMDEzLTA5LTI2IDIwOjQxOjI2ICswMjAwICBIYW5zIE3DpW5zc29uIDxoYW5zbUBheGlzLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXhtYXAuYzoKCSAgbXA0bXV4OiBEbyBub3QgcmVxdWlyZSBmcmFtZXJhdGUgaW4gcGVlciB2aWRlbyBjYXBzCgkgIFJlbW92ZSB0aGUgZnJhbWVyYXRlIHJlc3RyaWN0aW9uIG9uIHRoZSBjYXBzLgoJICBSZWZlcmVuY2U6IGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDg4NjQKCjIwMTMtMDktMjcgMTU6MDU6MDQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGFsc28gZ28gaW50byB0aGUgbG9vcCBmdW5jdGlvbiBhZnRlciBjb25uZWN0CgkgIFdoZW4gd2UgaGF2ZSBvcGVuZWQgdGhlIHN0cmVhbSwgZ28gaW50byB0aGUgbG9vcCBmdW5jdGlvbiBzbyB0aGF0IHdlIGNhbgoJICByZWNlaXZlIG1lc3NhZ2VzIGZyb20gdGhlIHNlcnZlci4KCjIwMTMtMDktMjcgMTI6NTM6MDYgKzAyMDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogbW92ZSB0aGUgY2hlY2sgZm9yIHN1YnRpdGxlIGJ1ZmZlciBiZWluZyBudWxsIHRlcm1pbmF0ZWQgYmVmb3JlIHZhbGlkYXRpbmcgVVRGLTgKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNzkzMwoKMjAxMy0wOS0yNiAxNjoyMDowNCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IGRvbid0IGNhbGN1bGF0ZSBza2V3IHdpdGhvdXQgcnRwdGltZQoJICBTa2lwIHRyeWluZyB0byBjYWxjdWxhdGUgdGhlIHNrZXcgd2hlbiB3ZSBkb24ndCBoYXZlIGFuIHJ0cHRpbWUuCgkgIEl0IGNhdXNlcyBwcm9ibGVtcyB3aGVuIGxvc3QgcGFja2V0IGV2ZW50cyBhcmUgcGxhY2VkIGluIHRoZSBqaXR0ZXJidWZmZXIuCgoyMDEzLTA5LTI1IDIzOjQ2OjE0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGdldCByaWQgb2YgQVNfU0NSVUJfSU5DTFVERQoJICBTaG91bGQgbm90IGJlIG5lZWRlZCBhbnkgbW9yZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNzY1OAoKMjAxMy0wOS0yNSAxNzo0MjowMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogZGlzYWJsZSBjaGVja3Mgd2hlbiBsaW5raW5nIHBhZHMKCSAgV2Uga25vdyB0aGUgcGFkIGxpbmtzIHdpbGwgd29yayAoYW5kIHdlIGRvbid0IGNoZWNrIHRoZSByZXR1cm4gdmFsdWUKCSAgYW55d2F5KS4KCjIwMTMtMDktMjUgMTc6MzY6MTUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiBhdm9pZCBzb21lIHBhZCBsaW5rIGNoZWNrcwoJICBMaW5rIHBhZHMgd2l0aG91dCBjaGVja3MsIHdlIGtub3cgaXQgd2lsbCB3b3JrLgoKMjAxMy0wOS0yNSAxMjo1NToyMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogRG9uJ3QgZXJyb3Igb3V0IGlmIGRvd25zdHJlYW0gaXMgbm90IHNlZWthYmxlIGZvciBub24tZnJhZ21lbnRlZCB2YXJpYW50cwoJICBEb2luZyBzbyB3b3VsZCBiZSBhIHJlZ3Jlc3Npb24gb3ZlciAxLjAgYW5kIGJyZWFrcyB0aGUgdW5pdCB0ZXN0LgoJICBIb3dldmVyIHRoZSByZXN1bHQgd2lsbCBiZSBtb3N0IGxpa2VseSB1bnVzYWJsZSwgc28gbGV0J3MgcG9zdAoJICBhIHdhcm5pbmcgbWVzc2FnZSBvbiB0aGUgYnVzLgoKMjAxMy0wOS0yNCAwNDowMjowOSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IGNhbGN1bGF0ZSBzb21lIHN0YXRzCgoyMDEzLTA5LTIzIDE3OjA1OjQ0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogbW92ZSBzZW5kX2xvc3RfZXZlbnQgZnVuY3Rpb24KCSAgTW92ZSB0aGUgc2VuZF9sb3N0X2V2ZW50IGZ1bmN0aW9uIHRvIHRoZSBkb19sb3N0X2V2ZW50IGhhbmRsaW5nLCB0aGVyZSBpcyBubwoJICBuZWVkIHRvIGhhdmUgYSBzZXBhcmF0ZSBmdW5jdGlvbi4KCjIwMTMtMDktMTYgMTE6MjA6NTEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBhZGQgY29kZSB0byBwYXJzZSBjcmVhdGlvbiB0aW1lIGVhcmxpZXIgdGhhbiAxOTcwCgkgIFVzZSBnX2RhdGVfdGltZSBzZWNvbmRzIG1hbmlwdWxhdGlvbiB0byBhbGxvdyB0byBjb3ZlciB0aGUgcXVpY2t0aW1lCgkgIHNwZWMgZm9yIGNyZWF0aW9uX3RpbWUuIEl0IHVzZXMgc2Vjb25kcyBzaW5jZSAxOTA0LgoJICBCb3RoIHBhdGhzIGNvdWxkIGJlIGRvbmUgdXNpbmcgdGhlIGdlbmVyaWMgYXBwcm9hY2ggb2Ygc2Vjb25kcyBzaW5jZQoJICAxOTA0IHdpdGggR0RhdGVUaW1lIGhhbmRsaW5nLCBidXQgdGhlIGZpcnN0IHBhdGggdXNpbmcgc2Vjb25kcyBmcm9tCgkgIDE5NzAgc2hvdWxkIGJlIG1vcmUgY29tbW9ubHkgZm91bmQgYW5kIGF2b2lkcyBhIGZldyBvYmplY3RzIGNyZWF0aW9uIGFuZAoJICByZWYvdW5yZWYsIHNvIGtlZXAgaXQgdGhlcmUgZm9yIHBlcmZvcm1hbmNlLgoJICBBZGRpdGlvbmFsbHksIHRoZSBjb2RlIGZvciBoYW5kbGluZyBzZWNvbmRzIHNpbmNlIDE5NzAgY2hhbmdlZCBmcm9tID4KCSAgdG8gPj0gYmVjYXVzZSBoYXZpbmcgMCBzZWNvbmRzIHNpbmNlIDE5NzAgaXMgYWxzbyBhIHZhbGlkIGNhc2UgZm9yIHRoYXQKCSAgcGF0aCB0byBoYW5kbGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDc5NzUKCjIwMTMtMDktMjEgMDA6NTU6MjYgKzAyMDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogdXBkYXRlIHN0cmVhbS0+cG9zIHdoZW4gc2VuZGluZyBidWZmZXJzIHNvIHRoYXQgZ2FwIGV2ZW50cyBhcmUgbm90IHNlbnQgdW5uZWNlc3NhcmlseQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA4NTA1CgoyMDEzLTA5LTI0IDE4OjMwOjA0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogUkVBRE1FOgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDZiMDNiYTcgdG8gODY1YWEyMAoKMjAxMy0wOS0yNCAxNTowNToyNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IEFjdHVhbGx5IHVzZSAxLjMuMC4xIGFzIHZlcnNpb24gdG8gbWFrZSBjb25maWd1cmUgaGFwcHkKCjIwMTMtMDktMjQgMTU6MDA6MjQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgQmFjayB0byBkZXZlbG9wbWVudAoKPT09IHJlbGVhc2UgMS4yLjAgPT09CgoyMDEzLTA5LTI0IDE0OjIxOjA4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlzb21wNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZweC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogZ3N0LXBsdWdpbnMtZ29vZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMS4yLjAKCjIwMTMtMDktMjQgMTQ6MjA6NTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VvLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2hyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9yby5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHBvL3poX0hLLnBvOgoJKiBwby96aF9UVy5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAxMy0wOS0yMCAxOTo0MzoyMSArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgb3N4dmlkZW9zaW5rOiBmaXggc2VnZmF1bHQgcmVsZWFzaW5nIHRoZSBzaW5rCgkgIHNob3dfZnJhbWUgaXMgZGVmZXJyZWQgdG8gdGhlIG1haW4gdGhyZWFkIGFuZCBjYW4gYmUgY2FsbGVkCgkgIHdoZW4gdGhlIHNpbmsgaGFzIGJlZW4gcmVsZWFzZWQsIHNvIHdlIG5lZWQgdG8ga2VlcCBhbiBleHRyYSByZWYKCSAgb24gT2JqZWN0aXZlQyBvYmplY3QgaGVscGVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA4NTAxCgoyMDEzLTA5LTE5IDE3OjExOjM0IC0wNDAwICBSb2JlcnQgS3Jha29yYSA8cm9iLmtyYWtvcmFAbWVzc2FnZW5ldHN5c3RlbXMuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMmJ1ZmZlcnBvb2w6IFJlc3RvcmUgb3JpZ2luYWwgR3N0TWVtb3J5IGluIGJ1ZmZlciBpZiBpdCBoYXMgYmVlbiBjaGFuZ2VkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDYwODMKCjIwMTMtMDktMjMgMTY6MzQ6MTUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICBydHBtYW5hZ2VyOiB1cGRhdGUgZG9jcwoKMjAxMy0wOS0yMyAxNTozNjozMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJICBkb2NzOiB1cGRhdGUgZG9jcyB3aXRoIDEuMCBlbGVtZW50IG5hbWVzCgoyMDEzLTA5LTIzIDE0OjEzOjMwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwaml0dGVyYnVmZmVyLmM6CgkgIHRlc3RzOiBhZGQgdGVzdCBmb3IgcmV0cmFuc21pc3Npb24gYmVjYXVzZSBvZiByZW9yZGVyaW5nCgoyMDEzLTA5LTIzIDE0OjEyOjAzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogYWx3YXlzIHN0b3JlIGxvc3QgZXZlbnQgaW4gaml0dGVyYnVmZmVyCgkgIEFsd2F5cyBwcmVwYXJlIGEgbG9zdCBldmVudCBpbiB0aGUgaml0dGVyYnVmZmVyLCBpdCBpcyB0byB3YWtlIHVwIGFuZCBtYWtlIHRoZQoJICBwdXNoaW5nIHRocmVhZCBjb250aW51ZS4gV2UgZHJvcCB0aGUgZXZlbnQgd2hlbiB3ZSBhcmUgbm90IHN1cHBvc2VkIHRvIHB1c2ggbG9zdAoJICBldmVudHMgZG93bnN0cmVhbS4KCjIwMTMtMDktMjMgMTE6MTg6NDYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBzY2hlZHVsZSBsb3N0IGV2ZW50IGRpZmZlcmVudGx5CgkgIFNjaGVkdWxlIHRoZSBsb3N0IGV2ZW50IGJ5IHBsYWNpbmcgaXQgaW5zaWRlIHRoZSBqaXR0ZXJidWZmZXIgd2l0aCB0aGUgc2VxbnVtCgkgIHRoYXQgd2FzIGxvc3Qgc28gdGhhdCB0aGUgcHVzaGluZyB0aHJlYWQgY2FuIGludGVybGVhdmUgYW5kIHB1c2ggaXQgcHJvcGVybHkuCgoyMDEzLTA5LTIzIDExOjE3OjM0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwaml0dGVyYnVmZmVyLmM6CgkgIHRlc3RzOiByZW1vdmUgdGltZW91dHMgZnJvbSBjaGVjawoJICBUaW1lb3V0cyBtYWtlIHRoZSB0ZXN0IHVucmVsaWFibGUgYW5kIGFyZSBub3QgbmVlZGVkLgoKMjAxMy0wOS0yMyAxMToxNTozMCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IHJlbW92ZSBsaXN0IGRlYnVnCgoyMDEzLTA5LTIzIDExOjE0OjAxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5oOgoJICBydHBqaXR0ZXJidWZmZXI6IGFkZCB0eXBlIHRvIHRoZSBpdGVtCgkgIFNvIHRoYXQgdGhlIHVwcGVyIGxheWVyIGNhbiBrbm93IHdoYXQgZGF0YSBpcyBjb250YWluZWQgaW4gdGhlIGl0ZW0uCgoyMDEzLTA5LTIzIDA5OjU4OjMyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuaDoKCSAgcnRwaml0dGVyYnVmZmVyOiBmaXggZmx1c2gKCSAgUGFzcyBmdW5jdGlvbiB0byBmbHVzaCB0byBwcm9wZXJseSBmcmVlIHRoZSBxdWV1ZSBpdGVtcy4KCjIwMTMtMDktMjEgMDA6MDg6MjAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBhcHBlbmQgc2VxbnVtIC0xIHBhY2tldHMKCjIwMTMtMDktMjAgMjM6NDg6MjAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5oOgoJICBydHBqaXR0ZXJidWZmZXI6IHVzZSBzdHJ1Y3R1cmUgdG8gaG9sZCBwYWNrZXQgaW5mb3JtYXRpb24KCSAgTWFrZSB0aGUgaml0dGVyYnVmZmVyIG9wZXJhdGUgb24gYSBzdHJ1Y3R1cmUgY29udGFpbmluZyBhbGwgdGhlIHBhY2tldAoJICBpbmZvcm1hdGlvbi4gVGhpcyBhdm9pZHMgbWFwcGluZyB0aGUgYnVmZmVyIG11bHRpcGxlIHRpbWVzIGp1c3QgdG8gZ2V0IHRoZSBSVFAKCSAgaW5mb3JtYXRpb24uIEl0IHdpbGwgYWxzbyBtYWtlIGl0IHBvc3NpYmxlIHRvIHN0b3JlIG90aGVyIG1pbmlvYmplY3RzIHN1Y2ggYXMKCSAgZXZlbnRzIGxhdGVyLgoKMjAxMy0wOS0yMCAxNzo0ODo1MiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IHVwZGF0ZSBleHBlY3RlZCB0aW1lciB3aGVuIHBvc3NpYmxlCgkgIFdoZW4gd2UgcmVjZWl2ZSBhIHBhY2tldCBhbmQgd2UgaGF2ZSBzb21lIG1pc3NpbmcgcGFja2V0cywgd2UgY2FuIHVwZGF0ZSB0aGVpcgoJICBlc3RpbWF0ZWQgYXJyaXZhbCB0aW1lcyBiYXNlZCBvbiB0aGUgdGltZXN0YW1wIGRpZmZlcmVuY2UuCgoyMDEzLTA5LTIwIDE3OjE4OjI3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogZml4IG9yZGVyIG9mIHRpbWVvdXQgZXZlbnRzCgkgIEltcHJvdmUgdGhlIG9yZGVyIG9mIHRoZSB0aW1lb3V0IGV2ZW50cywgaWYgdGhlcmUgYXJlIHRpbWVycyB3aXRoIHRoZSBzYW1lCgkgIHRpbWVvdXQsIHdlIHdhbnQgdG8gdHJpZ2dlciB0aGUgbG93ZXN0IHNlcW51bSBmaXJzdC4gRm9yIHRoaXMgd2UgbmVlZCB0byBsb29wCgkgIG92ZXIgdGhlIGNvbXBsZXRlIGFycmF5IG9mIHRpbWVycyB0byBmaW5kIHRoZSBiZXN0IG9uZSBiZWZvcmUgdHJpZ2dlcmluZyB0aGUKCSAgdGltZW91dC4KCjIwMTMtMDktMjAgMTY6NTg6MzggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBzZW5kIGxvc3QgZXZlbnQgYmVmb3JlIHNpZ25hbGluZyBuZXh0IGJ1ZmZlcgoJICBGaXJzdCBzZW5kIHRoZSBsb3N0IGV2ZW50LCB0aGVuIHVwZGF0ZSB0aGUgbmV4dF9zZXFudW0gY291bnRlciBhbmQgdGhlbgoJICBzZW5kIHRoZSBzaWduYWwgdG8gdGhlIHB1c2hpbmcgdGhyZWFkIHRoYXQgaXQgY2FuIHJldHJ5IHRvIHB1c2ggYSBidWZmZXIuIFRoaXMKCSAgYXZvaWRzIHB1c2hpbmcgb3V0IGJ1ZmZlcnMgYmVmb3JlIHRoZSBsb3N0IGV2ZW50IGlzIHB1c2hlZC4KCjIwMTMtMDktMjAgMTU6MzU6MjUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5oOgoJICBqaXR0ZXJidWZmZXI6IGNvbmZpZ3VyZSBjbG9jay1yYXRlIG9uIGppdHRlcmJ1ZmZlcgoJICBBZGQgYSBnZXQgYW5kIHNldHRlciB0byBjb25maWd1cmUgdGhlIGNsb2NrLXJhdGUgaW4gdGhlIGppdHRlcmJ1ZmZlciBpbnN0ZWFkIG9mCgkgIHBhc3NpbmcgaXQgYXMgYW4gYXJndW1lbnQgdG8gdGhlIGluc2VydCBtZXRob2QuCgoyMDEzLTA5LTIwIDEyOjI5OjM5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwaml0dGVyYnVmZmVyLmM6CgkgIHRlc3RzOiBhZGQgdGVzdCBmb3IgcGFja2V0IGRlbGF5IGFuZCByZXRyYW5zbWlzc2lvbgoKMjAxMy0wOS0yMCAxMjoyNzoyNiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IGFkZCBvcHRpb24gdG8gcmVzZXQgcmV0cmFuc21pc3Npb24gdGltZXJzCgoyMDEzLTA5LTIwIDEyOjI1OjQzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogc3RvcCB0aGUgdGltZXIgdGhyZWFkCgkgIFRoZSB0aW1lb3V0IGNvZGUgY291bGQgcmVsZWFzZSB0aGUgbG9jayBzbyB3ZSBuZWVkIHRvIGNoZWNrIGlmIHdlIGFyZSBhbGxvd2VkIHRvCgkgIHdhaXQgZm9yIHRoZSBjbG9jayBzb21lIG1vcmUuCgoyMDEzLTA5LTIwIDEyOjI1OjEyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogdW5sb2NrIG9ubHkgb25jZQoKMjAxMy0wOS0yMCAxMTozMDowNCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGppdHRlcmJ1ZmZlci5jOgoJICB0ZXN0czogY2hlY2sgYm90aCBQVFMgYW5kIERUUwoKMjAxMy0wOS0yMCAxMDo1NTowMyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGppdHRlcmJ1ZmZlci5jOgoJICB0ZXN0czogYWRkIHVuaXQtdGVzdCBmb3IgbXVsdGlwbGUgbWlzc2luZyBwYWNrZXRzCgkgIENoZWNrIGlmIG11bHRpcGxlIG1pc3NpbmcgcGFja2V0cyBnZW5lcmF0ZSByZXRyYW5zbWlzc2lvbiBldmVudHMgYW5kIHRoYXQgdGhlCgkgIHJldHJhbm1pc3Npb24gcmVxdWVzdHMgYXJlIGNhbmNlbGVkIHdoZW4gdGhlIG1pc3NpbmcgcGFja2V0IGFycml2ZXMuCgoyMDEzLTA5LTIwIDEwOjUzOjI5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogaW1wcm92ZSBmbHVzaCBhbmQgc2h1dGRvd24KCSAgVGhlcmUgaXMgbm8gbmVlZCB0byB1bnNjaGVkdWxlIHRoZSB0aW1lciBpbiBmbHVzaC1zdGFydCwgZmx1c2gtc3RvcCB3aWxsIHJlbW92ZQoJICB0aGUgdGltZXJzIGFuZCB1bnNjaGVkdWxlLgoJICBVbnNjaGVkdWxlIHRoZSBjdXJyZW50IHRpbWVyIGJlZm9yZSBhdHRlbXB0aW5nIHRvIGpvaW4gdGhlIHRpbWVyIHRocmVhZC4KCjIwMTMtMDktMjAgMTA6NDM6NTMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgdGVzdHM6IGltcHJvdmUgZGVidWcKCjIwMTMtMDktMjAgMTA6NDI6MjcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBzZXQgY29ycmVjdCBleHBlY3RlZCB0aW1lCgkgIFdoZW4gd2UgYWxyZWFkeSBoYXZlIGEgdGltZXIgZm9yIGEgcGFja2V0LCBza2lwIGl0IGJ1dCBkb24ndCBmb3JnZXQgdG8gYWRqdXN0CgkgIHRoZSBkdHMgdG8gdGhlIGV4cGVjdGVkIGR0cyBvZiB0aGUgbmV4dCBwYWNrZXQuCgoyMDEzLTA5LTIwIDEwOjQxOjU5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogaW1wcm92ZSBkZWJ1ZwoKMjAxMy0wOS0xOSAxNjo1NToyNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOgoJICBhbHBoYTogdXNlIFBPRkZTRVQgaW5zdGVhZCBvZiBPRkZTRVQKCSAgVXNlIHRoZSBtb3JlIGNvcnJlY3QgUE9GRlNFVCBtYWNybyB0byBnZXQgdGhlIG9mZnNldCBvZiBhIGNvbXBvbmVudCBpbiBpdHMKCSAgcGxhbmUuIFRoZSBvZmZzZXQgbWFjcm8gZ2l2ZXMgdGhlIG9mZnNldCBvZiB0aGUgY29tcG9uZW50IHJlbGF0aXZlIHRvIHRoZSBzdGFydAoJICBvZiB0aGUgZnJhbWUuCgoyMDEzLTA5LTIxIDE4OjQ2OjI5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QvZ29vbS9tbXguaDoKCSAgZ29vbTogRml4IE1NWCBhc3NlbWJseSBjb21waWxhdGlvbiB3aXRoIGNsYW5nCgkgIGNsYW5nIGRvZXMgbm90IHdhbnQgb3IgbmVlZCBhIGNsb2JiZXIgbGlzdCBmb3IgZW1tczoKCSAgZXJyb3I6IGNsb2JiZXJzIG11c3QgYmUgbGFzdCBvbiB0aGUgeDg3IHN0YWNrCgkgIFBhdGNoIHRha2VuIGZyb20gdGhlIEZyZWVCU0QgcG9ydHMsIHByb3ZpZGVkIGJ5CgkgIERhbiBNY0dyZWdvciA8ZGFuLm1jZ3JlZ29yQHVzYXNrLmNhPgoKMjAxMy0wOS0yMCAxNjoxNjo1NyArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGI2MTM2NjEgdG8gNmIwM2JhNwoKMjAxMy0wOS0yMCAxMDoxOToyMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thLWRlbXV4OiBNYWtlIHN1cmUgdGhhdCBzdWJ0aXRsZSBidWZmZXJzIGFyZSBcMC10ZXJtaW5hdGVkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDc5MzMKCjIwMTMtMDktMTcgMTI6MTc6NTQgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBoYW5kbGUgaXNzdWVzIGNvcnJlY3RseSB3aGVuIGRvd25zdHJlYW0gaXMgbm90IHNlZWthYmxlCgkgIFRoZSBzdHJlYW1hYmxlIHByb3BlcnR5IG9ubHkgbWFrZSBzZW5zZSBmb3IgZnJhZ21lbnRlZCBmb3JtYXRzLgoJICBGb3IgcmVndWxhciBNUDQsIHdoZW4gZG93bnN0cmVhbSBpcyBub3Qgc2Vla2FibGUgd2UgY2FuJ3QgcmV3cml0ZQoJICB0aGUgaGVhZGVycywgc28gcXRtdXggY2FuIG9ubHkgd29yayB3aXRoIGZhc3Qtc3RhcnQ9VFJVRSwgd2hlcmUKCSAgdGhlIGhlYWRlcnMgYXJlIHdyaXR0ZW4gZmluaXNoaW5nIHRoZSBmaWxlLgoJICBGb3IgZnJhZ21lbnRlZCBNUDQsIHdoZW4gc3RyZWFtYWJsZSBpcyBub3Qgc2Vla2FibGUgYW5kIHRoZSBzdHJlYW1hYmxlCgkgIHByb3BlcnR5IGlzIEZBTFNFLCB3ZSBtdXN0IGVuZm9yY2Ugc3RyZWFtYWJsZT1UUlVFIHdhcm5pbmcgdGhlIHVzZXIKCSAgYWJvdXQgdGhpcyBjaGFuZ2UKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNzI0MgoKMjAxMy0wOS0xNyAxMjowNjowNiArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IG1ha2UgInN0cmVhbWFibGUiIFRSVUUgYXMgZGVmYXVsdAoJICBUaGUgbW9zdCBjb21tb24gdXNlIGNhc2UgZm9yIGZyYWdtZW50ZWQgTVA0IChEYXNoIGFuZCBTbW9vdGggU3RyZWFtaW5nKQoJICBpcyBwcm9kdWNpbmcgc3RyZWFtYWJsZSBjb250ZW50IChldmVuIGZvciBWT0QpLiBzdHJlYW1hYmxlPUZBTFNFIHdvdWxkIG9ubHkKCSAgYmUgdXNlZCB0byBnZW5lcmF0ZSBmcmFnbWVudGVkIE1QNCB3aXRoIGFuZCBpbmRleCBvZiBNT09GJ3MgdGhhdCBjb3VsZAoJICBiZSByZXByb2R1Y2VkIHdpdGhvdXQgYSBwbGF5bGlzdC9tYW5pZmVzdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA3MjQyCgoyMDEzLTA5LTE3IDEyOjAxOjMwICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogZGVwcmVjYXRlIHRoZSBzdHJlYW1hYmxlIHByb3BlcnR5IGZvciBub24tZnJhZ21lbnRlZCBNUDQKCSAgVGhlIHN0cmVhbWFibGUgcHJvcGVydHkgb25seSBtYWtlcyBzZW5zZSBmb3IgZnJhZ21lbnRlZCBNUDQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDcyNDIKCjIwMTMtMDktMTkgMTc6MDg6MTkgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5oOgoJICB2NGwyOiBSZW1vdmUgY29tbWVudGVkIG91dCBsaW5lCgoyMDEzLTA5LTE5IDE4OjQzOjA4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA3NGE2ODU3IHRvIGI2MTM2NjEKCjIwMTMtMDktMTkgMTc6MzU6MjcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBhdXRvZ2VuLnNoOgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDA5OGMwZDcgdG8gNzRhNjg1NwoKMjAxMy0wOS0xOSAxNjo1MDo0NCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOgoJICBhbHBoYTogZG9uJ3QgYXNzdW1lIHBsYW5hciBmb3JtYXRzIGhhdmUganVzdCAxIGJsb2NrCgkgIERvbid0IGFzc3VtZSBwbGFuYXIgZm9ybWF0cyBoYXZlIGp1c3Qgb25lIG1lbW9yeSBibG9jayB3aXRoIHRoZSBkYXRhIGJ1dCB1c2UgdGhlCgkgIG1hY3JvcyB0byBhY2Nlc3MgdGhlIHJpZ2h0IG1lbW9yeSBibG9jayB3aGVyZSBhIGNvbXBvbmVudCBjYW4gYmUgZm91bmQuCgoyMDEzLTA5LTE5IDE0OjE0OjUyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwaml0dGVyYnVmZmVyLmM6CgkgIHRlc3RzOiBhZGQgcmV0cmFuc21pc3Npb24gaml0dGVyYnVmZmVyIHRlc3QKCSAgU3RvcmUgYm90aCBEVFMgYW5kIFBUUyBvbiBidWZmZXJzLgoJICBNYWtlIGEgcXVldWUgZm9yIHNyY3BhZCBldmVudHMuCgkgIEFjdGl2YXRlIHBhZHMgYWZ0ZXIgbGlua2luZyBzbyB0aGF0IHdlIGRvbid0IGdldCBSRUNPTkZJR1VSRSBldmVudHMuCgkgIEFkZCB0ZXN0IGZvciByZXRyYW5zbWlzc2lvbi4KCjIwMTMtMDktMTkgMTQ6MTI6MTggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBrZWVwIGRlbGF5IGFzIGEgc2VwYXJhdGUgdmFyaWFibGUgaW4gdGltZXIKCSAgS2VlcCBhIHNlcGFyYXRlIGRlbGF5IGluIHRoZSB0aW1lciBzbyB0aGF0IHdlIHN0aWxsIGtub3cgdGhlIG9yaWdpbmFsIHRpbWVzdGFtcAoJICBvZiB0aGUgcGFja2V0IHRoYXQgdGhpcyB0aW1lciByZWZlcnMgdG8uIFdlIGNhbiB0aGVuIHBsYWNlIHRoZSBjb3JyZWN0CgkgIHJ1bm5pbmctdGltZSBpbiB0aGUgUmV0cmFuc21pc3Npb24gZXZlbnQuCgoyMDEzLTA5LTE5IDE0OjA4OjU2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogZml4IHdyaXRhYmlsaXR5IG9mIHByb3BlcnRpZXMKCjIwMTMtMDktMTkgMTE6MzQ6NTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgQmFjayB0byBkZXZlbG9wbWVudAoKPT09IHJlbGVhc2UgMS4xLjkwID09PQoKMjAxMy0wOS0xOSAxMDo1MDoyMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pc29tcDQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12cHgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDEuMS45MAoKMjAxMy0wOS0xOSAxMDoyMTo0MiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZW8ucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vaHIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDEzLTA5LTE5IDA5OjQ1OjE4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBwby9jcy5wbzoKCSogcG8vbmwucG86CgkqIHBvL3BsLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkgIHBvOiBVcGRhdGUgdHJhbnNsYXRpb25zCgoyMDEzLTA5LTExIDE0OjI3OjAyIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMmJ1ZmZlcnBvb2w6IGRtYWJ1ZiBpcyBub3QgYSBzaW5nbGV0b24gYW55bW9yZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA3NzkzCgoyMDEzLTA5LTE2IDEzOjUzOjQ1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwaHR0cHNyYzogZG8gbm90IGRvIGh0dHAgcmVxdWVzdHMgaW4gUkVBRFkKCSAgSEVBRCByZXF1ZXN0cyB0byBkaXNjb3ZlciBpZiB0aGUgc2VydmVyIGlzIHNlZWthYmxlIHNob3VsZG4ndCBiZSBkb25lIGluCgkgIFJFQURZIGFzIGl0IG1pZ2h0IGxvY2sgdGhlIG1haW4gdGhyZWFkIHRoYXQgaXMgZG9pbmcgdGhlIHN0YXRlIGNoYW5nZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNTM3MQoKMjAxMy0wOS0xOCAxNjozMjoyOCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IHJlZXZhbHVhdGUgdGhlIGN1cnJlbnQgdGltZXIgYWZ0ZXIgdGltZW91dAoJICBXaGVuIHdlIHRyaWdnZXIgdGhlIHRpbWVvdXQgbG9naWMgb2YgYSB0aW1lciwgcmVldmFsdWF0ZSBpdCBiZWNhdXNlIGl0IGlzCgkgIHBvc3NpYmxlIHRoYXQgaXQgc3RpbGwgaGFzIHRoZSBsb3dlc3QgdGltZW91dC4KCjIwMTMtMDktMTggMTY6MzE6MjYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBkb24ndCB1cGRhdGUgdGltZSB3aGVuIHVuc2NoZWR1bGVkCgkgIERvbid0IHRyeSB0byBlc3RpbWF0ZSB0aGUgY3VycmVudCB0aW1lIHdoZW4gd2UgZ290IHVuc2NoZWR1bGVkLgoKMjAxMy0wOS0xOCAxNjoyOTozNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IGluaXQgcGFja2V0IHNwYWNpbmcgb24gZmlyc3QgYnVmZmVyCgkgIEFscmVhZHkgaW5pdCB0aGUgcGFja2V0IHNwYWNpbmcgdmFyaWFibGVzIG9uIHRoZSBmaXJzdCBidWZmZXIgc28gdGhhdCB3ZSBjYW4KCSAgY2FsY3VsYXRlIHRoZSBzcGFjaW5nIG9uIHRoZSBzZWNvbmQgYnVmZmVyIGFscmVhZHkuCgoyMDEzLTA5LTE4IDE1OjA4OjQ1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwaml0dGVyYnVmZmVyLmM6CgkgIHRlc3RzOiBmaXggY29tbWVudHMKCjIwMTMtMDktMTggMTQ6NTc6MDkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBwdXNoIHRoZSBsb3N0IGV2ZW50IGZyb20gdGhlIHRpbWVyIHRocmVhZAoJICBJbnN0ZWFkIG9mIHB1c2hpbmcgdGhlIGxvc3QgZXZlbnQgZnJvbSB0aGUgY2hhaW4gZnVuY3Rpb24sIHNjaGVkdWxlIGEgdGltZW91dAoJICB0aGF0IHdpbGwgcHVzaCB0aGUgbG9zdCBldmVudCBmcm9tIHRoZSB0aW1lciB0aHJlYWQuIFRoaXMgYXZvaWQgYmxvY2tpbmcgdGhlCgkgIHVwc3RyZWFtIHRocmVhZCB3aGlsZSB3ZSBwdXNoIGFuZCBzeW5jIHRoZSBldmVudC4KCjIwMTMtMDktMTggMTQ6MjM6NTUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBhZGQgYW5vdGhlciB0ZXN0CgkgIFRoZSB0ZXN0IGlzIG1vZGlmaWVkIHNsaWdodGx5IGJlY2F1c2UgdGhlIGxhdGUgbG9zdCBwYWNrZXRzIGFyZSBvbmx5CgkgIGdlbmVyYXRlZCBub3cgd2hlbiBhIGxhcmdlIGdhcCBpcyByZWNlaXZlZC4KCjIwMTMtMDktMTggMTQ6MTI6NDcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogcm91bmQgZ2FwIGR1cmF0aW9uIHRvIG11bHRpcGxlIG9mIGR1cmF0aW9uCgkgIE1ha2Ugc3VyZSB0aGUgZ2FwIGR1cmF0aW9uIGluIHRoZSBsb3N0IGV2ZW50IGlzIGEgbXVsdGlwbGUgb2YgdGhlIHBhY2tldAoJICBkdXJhdGlvbi4KCSAgRW5hYmxlIGFub3RoZXIgdGVzdC4KCjIwMTMtMDktMTggMTI6Mjk6MzggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IGtlZXAgdHJhY2sgb2YgZHVyYXRpb24KCSAgS2VlcCB0cmFjayBvZiB0aGUgZXN0aW1hdGVkIGR1cmF0aW9uIG9mIG1pc3NpbmcgcGFja2V0cyBhbmQgdXNlIGl0IGluIHRoZSBsb3N0CgkgIGV2ZW50LgoJICBFbmFibGUgYW5vdGhlciB1bml0IHRlc3QKCjIwMTMtMDktMTggMTE6NTk6MjggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogaGFuZGxlIGxhcmdlIGdhcHMgd2l0aCBvbmUgbG9zdCBldmVudAoJICBXaGVuIHdlIGhhdmUgYSBsYXJnZSBudW1iZXIgb2YgbWlzc2luZyBwYWNrZXRzLCBnZW5lcmF0ZSBvbmUgbG9zdCBldmVudCBmb3IgYWxsCgkgIHRoZSBwYWNrZXRzIHRoYXQgaGF2ZSBubyBjaGFuY2Ugb2YgYmVpbmcgcHVzaGVkIG91dCBpbiB0aW1lLgoJICBGaXggYW5kIGFjdGl2YXRlIHVuaXQgdGVzdCBmb3IgbGFyZ2UgZ2Fwcy4KCjIwMTMtMDktMTggMTE6NTY6MzggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiByZWZhY3RvciBsb3N0IGV2ZW50IHNlbmRpbmcKCSAgQWxzbyBtYWtlIHN1cmUgd2Ugb25seSBpbmNyZW1lbnQgdGhlIGV4cGVjdGVkIHNlcW51bSBhbmQgbGFzdAoJICBvdXRwdXQgdGltZXN0YW1wLgoKMjAxMy0wOS0xNyAyMzoyMTowOSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IHJlZmFjdG9yIHRpbWVvdXQgdHJpZ2dlcnMKCjIwMTMtMDktMTcgMjM6MDM6NDUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBzaW1wbGlmeSB0aGUgdGltZW91dCBjb2RlCgkgIEtlZXAgdHJhY2sgb2YgdGhlIGN1cnJlbnQgdGltZSBpbiB0aGUgdGltZW91dCBsb29wLgoJICBMb29wIG92ZXIgYWxsIHRpbWVycyBhbmQgdHJpZ2dlciBhbGwgdGhlIGV4cGlyZWQgb25lcywgd2UgY2FuIGRvIHRoaXMgaW4gdGhlCgkgIHNhbWUgbG9vcCB0aGF0IHNlbGVjdHMgdGhlIG5ldyBiZXN0IHRpbWVyLgoKMjAxMy0wOS0xNyAyMzowMToxNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IHJlYXJyYW5nZSB0aW1lciB1cGRhdGUgY29kZQoJICBBbHNvIHVwZGF0ZSB0aGUgdGltZXJzIHdoZW4gcmV0cmFuc21pc3Npb24gaXMgZGlzYWJsZWQuIFdlIG5lZWQgdG8KCSAgZG8gdGhpcyBiZWNhdXNlIHdoZW4gd2UgYWRkZWQgTE9TVCB0aW1lcnMgd2hlbiB3ZSBkZXRlY3RlZCBtaXNzaW5nIHBhY2tldHMgYW5kCgkgIHdlIG5lZWQgdG8gcmVtb3ZlIHRob3NlIHRpbWVycyB3aGVuIHRoZSBwYWNrZXQgZmluYWxseSBhcnJpdmVzLgoKMjAxMy0wOS0xNyAyMjowMjowNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC92aWRlb21peGVyL01ha2VmaWxlLmFtOgoJICB2aWRlb21peGVyOiBsaW5rIHRvIGxpYm0gZm9yIG1hdGhzIHN0dWZmCgkgIEZpeGVzIHVuZGVmaW5lZCByZWZlcmVuY2VzIHRvIHJpbnQgYW5kIHBvdyBvbiB1YnVudHUKCSAgYnVpbGQgYm90LgoKMjAxMy0wOS0xNyAxNToxOTo0MiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IHJlbGVhc2UgbG9jayBvbiBzaHV0ZG93bgoKMjAxMy0wOS0xNyAxNToxMTo0MSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBjaGVjazogY2hhbmdlIGZvciB2aWRlb21peGVyIHJlbmFtZWQgb3JjIGZpbGUKCjIwMTMtMDktMTQgMTY6MDM6MjAgKzAyMDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiByZW1vdmUgTUFYX1RPTEVSQVRFRF9MQVRFTkVTUwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA3NDExCgoyMDEzLTA5LTE2IDE1OjU0OjM3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL2NsaWVudC1IMjY0LXJ0eC5zaDoKCSAgZXhhbXBsZXM6IHdlIGRvbid0IG5lZWQgdGhlIHF1ZXVlIGFueW1vcmUKCjIwMTMtMDktMTYgMTU6NTM6NDcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiB1c2Ugc2VwYXJhdGUgdGhyZWFkIGZvciB0aW1lb3V0cwoJICBVc2UgYSBzZXBhcmF0ZSB0aHJlYWQgZm9yIHNjaGVkdWxpbmcgdGhlIHRpbWVvdXRzIGluc3RlYWQgb2YgdXNpbmcgdGhlCgkgIGRvd25zdHJlYW0gc3RyZWFtaW5nIHRocmVhZCB0aGF0IG1pZ2h0IGJsb2NrIGF0IGFueSB0aW1lLgoKMjAxMy0wOS0xNCAxNTo1NjowNCArMDIwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IHNldCBmaXJzdF90cyB0byBEVFMgZm9yIHN0cmVhbXMgdGhhdCBoYXZlIERUUwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA3MzQwCgoyMDEzLTA5LTE0IDE1OjU1OjIyICswMjAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogbWFrZSBzdXJlIGR1cmF0aW9uIGlzIGEgdmFsaWQgbnVtYmVyIGZvciBsYXN0IGJ1ZmZlcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA3MzQwCgoyMDEzLTA5LTE0IDE1OjU0OjI5ICswMjAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogdXNlIHNlZ21lbnQuc3RhcnQgb3IgbGFzdCBidWZmZXIgZW5kIHRpbWUgaW4gY2FzZSBvZiBtaXNzaW5nIERUUwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA3MzQwCgoyMDEzLTA5LTAzIDE4OjE0OjA0ICswMjAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBSZXZlcnQgcXRtdXg6IFVzZSBidWZmZXIgUFRTIGlmIERUUyBpcyBub3Qgc2V0IgoJICBUaGlzIHJldmVydHMgY29tbWl0IGY3MmMzY2Y3MWZkZTYyMjA2N2Y0MWYzMWE1Mzk3OGJhNGM5NDQ2OWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDczNDAKCjIwMTMtMDktMTYgMTE6MDM6MDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXJvcmMtZGlzdC5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyb3JjLWRpc3QuaDoKCSAgdmlkZW9taXhlcjogVXBkYXRlIG9yYyBnZW5lcmF0ZWQgZmlsZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwODEzMQoKMjAxMy0wOS0xMyAxNjoyNTo0OSArMDIwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIHJ0cHNlc3Npb246IERlbXV4IFJUQ1AgYnVmZmVycyBmcm9tIHRoZSBSVFAgc3RyZWFtCgkgIElmIHRoZXJlIGFyZSBSVENQIGJ1ZmZlcnMgaW4gdGhlIFJUUCBzdHJlYW0sIHByb2Nlc3MgdGhlbSBhcwoJICBSVENQLiBUaGlzIHdheSwgd2Ugd2FudCByZWNlaXZlIHN0cmVhbXMgZm9sbG93aW5nIFJGQyA1NzYxCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODc2NTcKCjIwMTMtMDktMTMgMjM6MjY6MjEgKzEwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9ydHAvZ3N0cnRwTDI0ZGVwYXkuYzoKCSAgcnRwOiBSZW1vdmUgYm9ndXMgZXh0cmEgY2FwcyBmcm9tIEwyNCB0ZW1wbGF0ZS4KCSAgVGhlIGV4dHJhIGNhcHMgZW50cnkgaW4gdGhlIHRlbXBsYXRlIHdhcyBtYWtpbmcgaXQgc29tZXRpbWVzCgkgIGdldCBwbHVnZ2VkIGZvciBhbnkgZHluYW1pY2FsbHkgYWxsb2NhdGVkIHBheWxvYWQgdHlwZS4KCjIwMTMtMDktMTMgMTI6NDA6NDEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuaDoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc3RhdHMuaDoKCSAgcnRwYmluOiB1c2UgUGFja2V0SW5mbyBmb3IgdGhlIHNlbmRlcgoJICBBdm9pZCBtYXBwaW5nIHRoZSBwYWNrZXQgbXVsdGlwbGUgdGltZXMgd2hlbiBzZW5kaW5nIFJUUC4KCjIwMTMtMDktMTMgMTI6MjI6MzYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuaDoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc3RhdHMuaDoKCSAgcnRwYmluOiBzdG9yZSBtb3JlIGluIHRoZSBQYWNrZXRJbmZvCgkgIFN0b3JlIGFsbCBpbmZvIGluIHRoZSBQYWNrZXRJbmZvIHNvIHRoYXQgd2UgY2FuIGF2b2lkIG1hcHBpbmcgdGhlIHBhY2tldAoJICBtdWx0aXBsZSB0aW1lcy4KCjIwMTMtMDktMTMgMTE6MzI6NTIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmg6CgkgIHNlc3Npb246IHN0b3JlIG1vcmUgaW4gdGhlIFBhY2tldEluZm8gc3RydWN0dXJlCgoyMDEzLTA5LTEzIDExOjA4OjU1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmg6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmg6CgkgIHJ0cGJpbjogUlRQQXJyaXZhbFN0YXRzIC0+IFJUUFBhY2tldEluZm8KCSAgUmVuYW1lIGEgc3RydWN0dXJlIGJlY2F1c2Ugd2UgYXJlIGFsc28gZ29pbmcgdG8gdXNlIHRoaXMgZm9yIHRoZSBzZW5kZXIKCSAgYml0cy4KCjIwMTMtMDktMTMgMTA6NTU6MzEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmg6CgkgIHNvdXJjZTogc21hbGwgY2xlYW51cHMKCjIwMTMtMDktMTIgMTM6MzE6MDEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBvbmx5IHVwZGF0ZSBzdG9wIHBvc2l0aW9uIGlmIHNlZWsgcmVxdWVzdHMgaXQKCSAgQ2hlY2sgZm9yIEdTVF9TRUVLX1RZUEVfTk9ORSBmb3Igc3RvcCBwb2lzdGlvbiBhbmQgb25seSB1cGRhdGUKCSAgdGhlIHN0b3AgdGltZSBpZiBpdCBpcyByZXF1ZXN0ZWQuIE90aGVyd2lzZSBqdXN0IG1haW50YWluIHdoYXRldmVyCgkgIHdhcyBzdG9yZWQgYXQgdGhlIHNlZ21lbnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNzUzMAoKMjAxMy0wOS0xMyAwODo1MzoyNSArMDIwMCAgUmljbyBUenNjaGljaGhvbHogPHJpY290ekB1YnVudHUuY29tPgoKCSogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSAgcnRwOiBBZGQgbWlzc2luZyBoZWFkZXJzIHRwIGZpeCBtYWtlIGRpc3QKCSAgSW4gYWRkaXRpb24gdG8gYTk1NmE2Y2ViMmRlYjg3Y2MxMzYxYWVlMWQ2NjI2NDQ5ZjQ2ZGFiMgoKMjAxMy0wOS0xMiAxNTowNzo0OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBNYWtlIHN1cmUgd2UgaGF2ZSBlbm91Z2ggZGF0YSB0byByZWFkIGltYWdlIHRhZ3MKCSAgVGhhbmtzIHRvIGlwdXRpbmVpIGZvciByZXBvcnRpbmcgdGhpcyBvbiBJUkMuCgoyMDEzLTA5LTEyIDE1OjAxOjM2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogaGFuZGxlIHNlZ21lbnRzIHdpdGggbm9uLTAgc3RhcnQKCSAgV2Uga2VlcCB0aGUgRFRTIGFuZCBQVFMgaW4gcnVubmluZy10aW1lIGluc2lkZSB0aGUgaml0dGVyYnVmZmVyLiBNYWtlIHN1cmUgdG8KCSAgdHJhbnNmb3JtIGl0IGJhY2sgdG8gYSBidWZmZXIgdGltZXN0YW1wIGJlZm9yZSBwdXNoaW5nIG91dCB0aGUgYnVmZmVyLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA3OTMxCgoyMDEzLTA5LTExIDEzOjExOjU4IC0wNjAwICBTZcOhbiBkZSBCw7pyY2EgPGxlZnRtb3N0Y2F0QGdtYWlsLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBGaXggb2ZmLWJ5LW9uZSBpbiB2YWxpZGF0aW9uIG9mIFVURi04CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDc5MzMKCjIwMTMtMDktMTEgMTQ6MzI6MTcgLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIHZpZGVvbWl4ZXI6IERvIG5vdCBjaGVjayBpZiBjYXBzIGFyZSBlbXB0eSB3aGVuIHRoZXkgYXJlIE5VTEwKCSAgSW4gdGhlIGNhc2UgdGhlIGNhcHMgYXJlIGFjdHVhbGx5IE5VTEwsIHdlIHNob3VsZCBqdXN0IGNvbmNpZGVyIGl0IHRoZQoJICBzYW1lIHdheSBhcyBlbXB0eSBjYXBzIGluIHRoYXQgY2FzZS4KCjIwMTMtMDktMTAgMTY6NDQ6NTMgLTA2MDAgIFNlw6FuIGRlIELDunJjYSA8bGVmdG1vc3RjYXRAZ21haWwuY29tPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcm9yYy1kaXN0LmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXJvcmMtZGlzdC5oOgoJICB2aWRlb21peGVyOiBmaXggYnVpbGQgaWYgb3JjIGlzIG5vdCBpbnN0YWxsZWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNzg4NgoKMjAxMy0wOS0xMCAxNzo1Nzo0OSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IFByZXNlcnZlIHNlcW51bSB3aGVuIHB1c2hpbmcgc2VlayB1cHN0cmVhbQoJICBBZnRlciBjb252ZXJ0aW5nIGEgc2VlayBmcm9tIHRpbWUgdG8gYnl0ZXMsIHVzZSB0aGUgc2FtZSBzZXFudW0KCSAgb24gdGhlIGV2ZW50IHRoYXQgZ29lcyB1cHN0cmVhbQoKMjAxMy0wOS0wNSAwMDoxNzoxNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHRyYWNrIHN0cmVhbXMgdGhhdCBhcmUgRU9TIG9uIHB1c2ggbW9kZSB0byBmaW5pc2ggZWFybGllcgoJICBXaGVuIHRoZSBzZWdtZW50IGhhcyBhIGRlZmluZWQgc3RvcCBwb3NpdGlvbiwgcXRkZW11eCBzaG91bGQgY2hlY2sKCSAgd2hlbiBzdHJlYW1zIHJlYWNoIHRoaXMgcG9zaXRpb24gYW5kIG1hcmsgdGhvc2UgYXMgRU9TLiBXaGVuIGFsbAoJICBzdHJlYW1zIGFyZSBFT1MgaXQgd2lsbCByZXR1cm4gR1NUX0ZMT1dfRU9TIHRvIHVwc3RyZWFtIHRvIGFsbG93CgkgIHRoZSBwaXBlbGluZSB0byBmaW5pc2ggaW5zdGVhZCBvZiBjb250aW51b3VzbHkgY29uc3VtZSBidWZmZXJzCgkgIGZyb20gdXBzdHJlYW0gdGhhdCBhcmUgbm90IHVzZWZ1bCBmb3IgdGhlIHNlZ21lbnQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDc1MzAKCjIwMTMtMDktMDQgMTU6MzQ6MzUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguaDoKCSAgcXRkZW11eDogcHJlc2VydmUgc3RvcCBvZiBzZWdtZW50IHdoZW4gZG9pbmcgc2Vla3MgaW4gcHVzaCBtb2RlCgkgIFdoZW4gaGFuZGxpbmcgc2Vla3MgaW4gcHVzaCBtb2RlLCBxdGRlbXV4IGNvbnZlcnRzIHRoZSBzZWVrIHRvIGJ5dGVzCgkgIGFuZCBwdXNoZXMgdXBzdHJlYW0uIEl0IG5lZWRzIHRvIGtlZXAgdHJhY2sgb2YgdGhlIHNlZWsgYW5kIHRoZQoJICBzdWJzZXF1ZW50IHNlZ21lbnQgdG8gYmUgYWJsZSB0byBtYXAgdGhlbSBiYWNrIHRvIHRoZSByZXF1ZXN0ZWQKCSAgc2VlayB0aW1lIGFuZCBwcm9wZXJseSBwcmVzZXJ2ZSB0aGUgc2VnbWVudCBzdG9wIG9mIHRoZSBzZWVrLgoJICBUaGlzIGlzIGRvbmUgYnkgdXNpbmcgdGhlIHN0YXJ0IG9mZnNldCBpbiBieXRlcyBvZiB0aGUgc2VlaywKCSAgdGhhdCBzaG91bGQgYmUgdGhlIHNhbWUgb2YgdGhlIHNlZ21lbnQgZnJvbSB1cHN0cmVhbS4gQW5kIHRoaXMKCSAgaXMgYWxzbyBiYWNrd2FyZHMgY29tcGF0aWJsZSB3aXRoIHdoYXQgcXRkZW11eCBhbHJlYWR5IHdhcyB1c2luZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNzUzMAoKMjAxMy0wNy0yNiAxOTo0MDo1MyArMDIwMCAgTWF0aGlldSBEdXBvbmNoZWxsZSA8bWF0aGlldS5kdXBvbmNoZWxsZUBlcGl0ZWNoLmV1PgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjJwYWQuaDoKCSAgdmlkZW9taXhlcjogQWRkIGNvbG9yc3BhY2UgY29udmVyc2lvbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA0OTUwCgoyMDEzLTA4LTA2IDE1OjM4OjM5ICswMjAwICBNYXRoaWV1IER1cG9uY2hlbGxlIDxtYXRoaWV1LmR1cG9uY2hlbGxlQGVwaXRlY2guZXU+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICB2aWRlb21peGVyOiBEb24ndCBzZW5kIHJlY29uZmlndXJlIGV2ZW50IHdoZW4gZm9ybWF0cyBvciBQQVIgYXJlIGRpZmZlcmVudAoJICBJdCBpcyByYWN5IHdpdGggbXVsdGlwbGUgcGFkcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNDk1MAoKMjAxMy0wNy0yNSAxMzo0OTo1NyArMDIwMCAgTWF0aGlldSBEdXBvbmNoZWxsZSA8bWF0aGlldS5kdXBvbmNoZWxsZUBlcGl0ZWNoLmV1PgoKCSogZ3N0L3ZpZGVvbWl4ZXIvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb21peGVyL2JsZW5kLmM6CgkqIGdzdC92aWRlb21peGVyL2JsZW5kb3JjLm9yYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvZ3N0Y21zLmM6CgkqIGdzdC92aWRlb21peGVyL2dzdGNtcy5oOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb2NvbnZlcnQuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9jb252ZXJ0Lmg6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXJvcmMub3JjOgoJICB2aWRlb21peGVyOiBCdW5kbGUgcHJpdmF0ZSBjb3BpZXMgb2YgdmlkZW9jb252ZXJ0IGNvZGUKCSAgSWRlYWxseSwgdGhpcyB3b3VsZCBiZSBwYXJ0IG9mIGxpYmdzdHZpZGVvLgoJICBQcmVmaXhlcyB2aWRlb2NvbnZlcnQgc3ltYm9scyB3aXRoIHZpZGVvbWl4ZXJfLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA0OTUwCgoyMDEzLTA4LTIyIDAwOjAzOjQ4ICswMjAwICBNYXRoaWV1IER1cG9uY2hlbGxlIDxtYXRoaWV1LmR1cG9uY2hlbGxlQGVwaXRlY2guZXU+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyOiBVc2UgbmV3bHkgI2RlZmluZWQgbWV0YWRhdGEgbmFtZXMuCgoyMDEzLTA5LTA5IDE1OjExOjUxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBvbmx5IHdhaXQgaWYgd2UgZmx1c2hlZAoJICBPbmx5IHdhaXQgZm9yIHRoZSBTVFJFQU1fTE9DSyB3aGVuIHdlIGZsdXNoZWQgc29tZXRoaW5nIHdoZW4gc2VuZGluZwoJICBhIGNvbW1hbmQgZm9yIFBBVVNFRCBvciBQTEFZSU5HLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA3NjExCgoyMDEzLTA5LTA5IDE1OjA5OjQxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiByZXR1cm4gd2hlbiBhIGZsdXNoIHdhcyBpc3N1ZWQKCSAgTWFrZSBnc3RfcnRzcHNyY19sb29wX3NlbmRfY21kKCkgcmV0dXJuIFRSVUUgd2hlbiB0aGUgY3VycmVudAoJICBhY3Rpb24gaGFzIGJlZW4gZmx1c2hlZAoKMjAxMy0wOS0wOSAxMToxNjo0MCArMDIwMCAgRGF2aWQgSG9scm95ZCA8ZGF2ZUBiYWRnZXJzLWluLWZvaWwuY28udWs+CgoJKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwL2dzdHJ0cC5jOgoJKiBnc3QvcnRwL2dzdHJ0cEwyNGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwTDI0ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBMMjRwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBMMjRwYXkuaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwLXBheWxvYWRpbmcuYzoKCSAgcnRwOiBhZGQgTDI0IHBheSBhbmQgZGVwYXlsb2FkZXIKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNzczNAoKMjAxMy0wOS0wOSAxNDo0Njo0MiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMmJ1ZmZlcnBvb2w6IEZpeCBtaXNzaW5nIGNvbmRpdGlvbiBpbiBwcmV2aW91cyBjb21taXQKCjIwMTMtMDktMDkgMTQ6NDQ6NTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDJidWZmZXJwb29sOiBBbHNvIGZpeCBzdHJpZGVzIGZvciBvdGhlciBzZW1pLXBsYW5hciB2aWRlbyBmb3JtYXRzCgoyMDEzLTA5LTA5IDE0OjQxOjQyICswMjAwICBBbmRyZWVhIEZ1bGdlciA8YW5kcmVlYS5mdWxnZXJAcGFycm90LmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDJidWZmZXJwb29sOiBGaXggc3RyaWRlIGZvciBOVjEyL05WMjEKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNzc1OAoKMjAxMy0wOS0wNyAxNjozNzowMyArMDIwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJICBtYXRyb3NrYWRlbXV4OiBmaXggbGVha2luZyBidWZmZXIgYW5kIGNhcHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNzY4OAoKMjAxMy0wOS0wNSAxOTo0NjozNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIHVkcHNyYzogZml4IGJ1aWxkIG9uIHdpbjMyCgkgIGdzdHVkcHNyYy5jOjg1NToxNTogZXJyb3I6ICNpZiB3aXRoIG5vIGV4cHJlc3Npb24KCjIwMTMtMDktMDQgMTU6NTA6NDIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBoYW5kbGUgdW5zZWVrYWJsZSBzdHJlYW1zCgkgIEhhbmRsZSBzdHJlYW1zIHRoYXQgd2UgY2FuJ3Qgc2VlayBpbiBhbmQgaWdub3JlIHRoZW0gaW4gdGhlCgkgIHNlZWsgbG9naWMuCgoyMDEzLTA5LTA0IDE1OjI1OjM5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogb25seSBjaGVjayB2aWRlbyBjb21wcmVzc2lvbiBmb3IgdmlkZW8gc3RyZWFtcwoJICBPciBlbHNlIHdlIG1pZ2h0IGRlcmVmIGEgc3RyZWFtIHdpdGggYSBOVUxMIHN0cmYudmlkcyBhbmQgc2VnZmF1bHQKCjIwMTMtMDYtMTggMTM6Mjc6MjAgKzAxMDAgIEFsZXggQXNobGV5IDxidWd6aWxsYUBhc2hsZXktZmFtaWx5Lm5ldD4KCgkqIGdzdC9pc29tcDQvYXRvbXMuYzoKCSogZ3N0L2lzb21wNC9mb3VyY2MuaDoKCSogZ3N0L2lzb21wNC9mdHlwY2MuaDoKCSogZ3N0L2lzb21wNC9nc3RydHB4cXRkZXBheS5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4X2ZvdXJjYy5oOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXhfdHlwZXMuYzoKCSAgcXRkZW11eDogQWRkIHN1cHBvcnQgZm9yIHRoZSBhdmMzIHNhbXBsZSBlbnRyeSBmb3JtYXQgb2YgdGhlIEFWQyBmaWxlIGZvcm1hdAoJICBBbWVuZG1lbnQgMiBvZiBJU08vSUVDIDE0NDk2LTE1IChBVkMgZmlsZSBmb3JtYXQpIGlzIGRlZmluaW5nIGEgbmV3CgkgIHN0cnVjdHVyZSBmb3IgZnJhZ21lbnRlZCBNUDQgY2FsbGVkICJhdmMzIi4gVGhlIHByaW5jaXBhbCBkaWZmZXJlbmNlCgkgIGJldHdlZW4gQVZDMSBhbmQgQVZDMyBpcyB0aGUgbG9jYXRpb24gb2YgdGhlIGNvZGVjIGluaXRpYWxpc2F0aW9uCgkgIGRhdGEgKGUuZy4gU1BTLCBQUFMpLiBJbiBBVkMxIHRoaXMgZGF0YSBpcyBwbGFjZWQgaW4gdGhlIGluaXRpYWwKCSAgTU9PViBib3ggKG1vb3YudHJhay5tZGlhLm1pbmYuc3RibC5zdHNkLmF2YzEpIGJ1dCBpbiBBVkMzIHRoaXMgZGF0YQoJICBnb2VzIGluIHRoZSBmaXJzdCBzYW1wbGUgb2YgZXZlcnkgZnJhZ21lbnQgKGkuZS4gdGhlIGZpcnN0IHNhbXBsZSBpbgoJICBlYWNoIG1kYXQgYm94KS4gIFRoZSBwcmluY2lwYWwgcmVhc29uIGZvciBhdmMzIGlzIHRvIG1ha2UgaXQgZWFzaWVyCgkgIGZvciBjbGllbnQgaW1wbGVtZW50YXRpb25zLCBiZWNhdXNlIGl0IHJlbW92ZXMgdGhlIHJlcXVpcmVtZW50IHRvCgkgIGluc2VydCB0aGUgU1BTK1BQUyBpbiB0byB0aGUgZGVjb2RlciBwaXBlbGluZSBldmVyeSB0aW1lIHRoZXJlIGlzIGEKCSAgcmVwcmVzZW50YXRpb24gY2hhbmdlLgoJICBUaGlzIGNvbW1pdCBhZGRzIHN1cHBvcnQgZm9yIHRoZSAiYXZjMyIgYXRvbSwgd2hpY2ggaXMgYWxtb3N0IGlkZW50aWNhbAoJICB0byB0aGUgImF2YzEiIGF0b20sIGV4Y2VwdCBpdCBkb2VzIG5vdCBjb250YWluIGFueSBTUFMgb3IgUFBTIGRhdGEuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDIwMDQKCjIwMTMtMDktMDQgMDA6Mjc6NTAgKzAyMDAgIE1hdGhpZXUgRHVwb25jaGVsbGUgPG1hdGhpZXUuZHVwb25jaGVsbGVAZXBpdGVjaC5ldT4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIHZpZGVvbWl4ZXI6IERvbid0IHNldCBFT1MgdG8gRkFMU0Ugd2hlbiB0aGUgY29sbGVjdHBhZCAqaXMqIEVPUwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA3MjM4CgoyMDEzLTA5LTAzIDE3OjMyOjQxICswMjAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBjbGVhbnVwIG9uIGVycm9yIGFmdGVyIHN0YXRlIGNoYW5nZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA3MjI5CgoyMDEzLTA5LTAzIDExOjIzOjI0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5oOgoJICB1ZHBzcmM6IEJpbmQgdG8gbXVsdGljYXN0IGFkZHJlc3NlcyBvbiBub24tV2luZG93cyBzeXN0ZW1zCgkgIE9uIFdpbmRvd3MgaXQncyBub3QgcG9zc2libGUgdG8gYmluZCB0byBhIG11bHRpY2FzdCBhZGRyZXNzCgkgIGJ1dCB0aGUgT1Mgd2lsbCBtYWtlIHN1cmUgdG8gZmlsdGVyIG91dCBhbGwgcGFja2V0cyB0aGF0CgkgIGFycml2ZSBub3QgZm9yIHRoZSBtdWx0aWNhc3QgYWRkcmVzcyB0aGUgc29ja2V0IGpvaW5lZC4KCSAgT24gTGludXggYW5kIG90aGVycyBpdCBpcyBuZWNlc3NhcnkgdG8gYmluZCB0byBhIG11bHRpY2FzdAoJICBhZGRyZXNzIHRvIGxldCB0aGUgT1MgZmlsdGVyIG91dCBhbGwgcGFja2V0cyB0aGF0IGFyZSByZWNlaXZlZAoJICBvbiB0aGUgc2FtZSBwb3J0IGJ1dCBmb3IgZGlmZmVyZW50IGFkZHJlc3NlcyB0aGFuIHRoZSBtdWx0aWNhc3QKCSAgYWRkcmVzcwoJICBBbmQgZGVwcmVjYXRlIHRoZSBtdWx0aWNhc3QtZ3JvdXAgcHJvcGVydHkgYW5kIHJlcGxhY2UgaXQgd2l0aCB0aGUKCSAgYWRkcmVzcyBwcm9wZXJ0eS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNzA0MgoKMjAxMy0wOS0wMyAxMDoxMDowMSArMDIwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogRnJlZSBHc3RCYXNlUGFyc2VGcmFtZSBpZiBwdXNoaW5nIGEgaGVhZGVyIGZhaWxlZAoKMjAxMy0wOS0wMiAxNjowMjozNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgdWRwc3JjOiBSZWZhY3RvciBhZGRyZXNzIHJlc29sdmFsIGludG8gaXRzIG93biBmdW5jdGlvbgoKMjAxMy0wOS0wMiAyMzowMDoyOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9yZXBsYXlnYWluL2dzdHJnYW5hbHlzaXMuYzoKCSAgcmVwbGF5Z2FpbjogZml4IHRhZ2xpc3QgbGVhayBpbiByZ2FuYWx5c2lzCgkgIEFuZCBhZGQgc29tZSBGSVhNRXMuCgoyMDEzLTA5LTAyIDIyOjUwOjU4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcmdhbmFseXNpcy5jOgoJICB0ZXN0czogcmdhbmFseXNpczogcmVuYW1lIGZ1bmN0aW9uIGZvciBjbGFyaXR5CgoyMDEzLTAzLTE4IDE0OjMyOjA3ICswMTAwICBDaHJpc3RvcGggUmVpdGVyIDxyZWl0ZXIuY2hyaXN0b3BoQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnYW5hbHlzaXMuYzoKCSAgdGVzdHM6IGZpeCBza2lwcGVkIHJnYW5hbHlzaXMgdGVzdHMKCSAgSW4gMC4xMCBlbGVtZW50cyB3b3VsZCBwb3N0IHRhZyBtZXNzYWdlcyBvbiB0aGUgYnVzCgkgIGRpcmVjdGx5LCBhbmQgcmdhbmFseXNpcyB3b3VsZCBvbmx5IHBvc3QgYSB0YWcgbWVzc2FnZQoJICB3aGVuIGl0IGNoYW5nZWQgdGFncy4gSW4gMS4wLCBvbmx5IHNpbmtzIHBvc3QgdGFnCgkgIG1lc3NhZ2VzIHdoZW4gdGhleSByZWNlaXZlIHRoZSBzZXJpYWxpc2VkIHRhZyBldmVudC4KCSAgVGhpcyBtZWFucyB0aGF0IHdlIGdldCBhbiBhZGRpdGlvbmFsIHRhZyBtZXNzYWdlIG9uCgkgIHRoZSBidXMgbm93IHdoZXJlIHdlIGRpZG4ndCBleHBlY3Qgb25lIGJlZm9yZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NTA5MAoKMjAxMy0wOS0wMiAxMTo0Njo1MiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBQcm9wZXJseSBwcm9wYWdhdGUgZG93bnN0cmVhbSBmbG93IHJldHVybnMgdXBzdHJlYW0KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNzIyOQoKMjAxMy0wOS0wMSAyMToxODozOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC9zaG91dDIvZ3N0c2hvdXQyLmM6CgkqIGdzdC9hdmkvZ3N0YXZpLmM6CgkqIGdzdC9pc29tcDQvaXNvbXA0LXBsdWdpbi5jOgoJKiBnc3QvcnRzcC9nc3RydHNwLmM6CgkqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpby5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyLmM6CgkgIERvbid0IHVzZSBzZXRsb2NhbGUgaW4gcGx1Z2lucygpCgkgIE9ubHkgYXBwcyBzaG91bGQgY2FsbCBzZXRsb2NhbGUoKSwgbm90IGxpYnJhcmllcy4KCjIwMTMtMDgtMjkgMTM6MTU6MTUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wdnBheS5jOgoJICBydHBtcHZwYXk6IEZpeCBSVFAgYnVmZmVyIGFsbG9jYXRpb24gaW4gcnRwbXB2cGF5CgkgIFJUUCBidWZmZXIgYWxsb2NhdGlvbiBzaG91bGQgbm90IGJlIGRvbmUgd2l0aCBwYWRkaW5nIGZvciB0aGUgc3BlY2lmaWMgTVBFRzIKCSAgaGVhZGVyIGFzIHRoZSBwYWRkaW5nIGlzIGRvbmUgYXQgdGhlIGVuZCBvZiB0aGUgYnVmZmVyIGFuZCB0aGUgbGFzdCBieXRlIGlzCgkgIHRoZSBzaXplIG9mIHRoZSBwYWRkaW5nLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA2OTcwCgoyMDEzLTA4LTI4IDEwOjUxOjMyICswMjAwICBCZXJuaGFyZCBNaWxsZXIgPGJlcm5oYXJkLm1pbGxlckBzdHJlYW11bmxpbWl0ZWQuY29tPgoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc2luay5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zaW5rLmg6CgkgIGF1dG92aWRlb3Npbms6IGFkZCBzeW5jIHByb3BlcnR5CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDY5NTUKCjIwMTMtMDgtMjggMDc6MTU6MDAgKzAyMDAgIEJlcm5oYXJkIE1pbGxlciA8YmVybmhhcmQubWlsbGVyQHN0cmVhbXVubGltaXRlZC5jb20+CgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zaW5rLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NpbmsuaDoKCSAgYXV0b2F1ZGlvc2luazogaW50cm9kdWNlIHN5bmMgcHJvcGVydHkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNjk1NQoKMjAxMy0wOC0yNyAxNzozMzo0MCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHB1c2ggYnVmZmVycyBhZnRlciBzZWdtZW50IHN0b3AgdW50aWwgcmVhY2hpbmcgYSBrZXlmcmFtZQoJICBUaGlzIHNob3VsZCBtYWtlIGRlY29kZXJzIGFibGUgdG8gcHJlY2lzZWx5IHB1c2ggYnVmZmVycyB1bnRpbCB0aGUgc3RvcAoJICB0aW1lIGluIGNhc2UgdGhleSBuZWVkIHRoZSBuZXh0IGtleWZyYW1lIHRvIGRvIGl0LgoJICBBbHNvLCBhY2NvcmRpbmcgdG8gZ3N0X3NlZ21lbnRfY2xpcCwgaXQgc2hvdWxkIG9ubHkgcHVzaCBhIGJ1ZmZlciB0aGF0CgkgIHRoZSBzdGFydGluZyB0cyBpcyBzdHJpY3RseSBzbWFsbGVyIHRoYW4gdGhlIHNlZ21lbnQgc3RvcCwgc28gd2UgY2hhbmdlCgkgIHRoZSBtaW4gPCBjb21wYXJpc29uIGZvciA8PQoKMjAxMy0wOC0yOCAxMzoyNjo0NyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogY29uZmlndXJlLmFjOgoJICBCYWNrIHRvIGRldmVsb3BtZW50Cgo9PT0gcmVsZWFzZSAxLjEuNCA9PT0KCjIwMTMtMDgtMjggMTI6NTI6MjUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXNvbXA0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdnB4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiBnc3QtcGx1Z2lucy1nb29kLmRvYXA6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvcGFub3JhbWFvcmMtZGlzdC5jOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMS4xLjQKCjIwMTMtMDgtMjggMTI6NTI6MTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VvLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2hyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9yby5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHBvL3poX0hLLnBvOgoJKiBwby96aF9UVy5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAxMy0wOC0yOCAxMjozMjoxMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogcG8vcHRfQlIucG86CgkgIHBvOiB1cGRhdGUgdHJhbnNsYXRpb25zCgoyMDEzLTA4LTI3IDE1OjI1OjE2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYS1tdXg6IHJlbW92ZSBmcmFtZXJhdGUgcmVzdHJpY3Rpb24KCSAgUmVtb3ZlIHRoZSBmcmFtZXJhdGUgcmVzdHJpY3Rpb24gb24gdGhlIGNhcHMuCgoyMDEzLTA4LTI3IDA5OjM4OjE2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBzZXNzaW9uOiBvbmx5IHVwZGF0ZSBuZXh0IGNoZWNrIHRpbWUgd2hlbiByZWNvbnNpZGVyaW5nCgkgIERvbid0IHVwZGF0ZSB0aGUgbmV4dCBSVENQIGNoZWNrIHRpbWUgaW4gYWxsIGNhc2VzIGJ1dCBvbmx5IHdoZW4gd2UKCSAgcmVjb25zaWRlcmVkLiBUaGlzIGF2b2lkcyBkZWxheWluZyBzZW5kaW5nIGEgZnVsbCBSVENQIHBhY2tldCB3aGVuIHdlCgkgIGFyZSBkb2luZyBlYXJseSBmZWVkYmFjay4KCjIwMTMtMDgtMjcgMDk6Mzc6MzMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHNlc3Npb246IGFkZCBtb3JlIGRlYnVnCgoyMDEzLTA4LTI3IDA5OjM0OjQ2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgaml0dGVyYnVmZmVyOiBmaXggdHlwZXMgb2YgdGhlIHJldHJhbnNtaXNzaW9uIGV2ZW50CgoyMDEzLTA4LTI3IDA5OjMzOjAzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogb25seSB0aW1lb3V0IEVYUEVDVEVEIHRpbWVycyBvbiBnYXAKCSAgT25seSB0aW1lb3V0IHRoZSBFWFBFQ1RFRCB0aW1lcnMgd2hlbiB3ZSBkZXRlY3QgYSBsYXJnZSBzZXFudW0gZ2FwLgoKMjAxMy0wOC0yNiAxMzo0Nzo1MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmUuYWM6IERvbid0IHNldCBCWjJfTElCUyBpZiBiejIgaXMgbm90IGZvdW5kCgoyMDEzLTA4LTI2IDExOjUwOjI3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHNlc3Npb246IGZpeCBsb2NraW5nCgkgIFdlIG5lZWQgdG8gdGFrZSB0aGUgc2Vzc2lvbiBsb2NrIHdoZW4gZ2V0dGluZyBhbmQgbWFuaXB1bGF0aW5nIHRoZQoJICBzb3VyY2UuCgoyMDEzLTA4LTI2IDExOjUwOjEzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBhZGQgc29tZSBtb3JlIGRlYnVnCgoyMDEzLTA4LTIwIDIyOjEyOjAzICswMjAwICBNYXRoaWV1IER1cG9uY2hlbGxlIDxtYXRoaWV1LmR1cG9uY2hlbGxlQGVwaXRlY2guZXU+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICB2aWRlb21peGVyOiBkb24ndCBzZW5kIGZsdXNoX3N0b3AgdHdpY2UuCgkgIElmIHdlIGdldCBmbHVzaCBzdGFydCBhbmQgYSBzZWVrIHdlIG5lZWQgdG8gb25seSBzZW5kIGZsdXNoX3N0b3Agb25jZS4KCSAgTW9yZSBpbmZvIGF0ICM3MDY0NDEKCjIwMTMtMDgtMjMgMTU6NTY6NDMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4LmM6CgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguaDoKCSAgbXVsdGlwYXJ0ZGVtdXg6IHByb3BhZ2F0ZSBkaXNjb250CgoyMDEzLTA4LTIzIDE1OjQ5OjQ3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOgoJICBtdWx0aXBhcnRkZW11eDogcmVtb3ZlIGR5bmFtaWMgc291cmNwYWRzIHdoZW4gZ29pbmcgZnJvbSBQQVVTRUQgdG8gUkVBRFkKCjIwMTMtMDgtMjMgMTU6Mjk6MjggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4LmM6CgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguaDoKCSAgbXVsdGlwYXJ0ZGVtdXg6IHRpbWVzdGFtcCBvdXRwdXQgYnVmZmVycyBiYXNlZCBvbiBmaXJzdCBpbnB1dCBidWZmZXIgdGhhdCBwcm92aWRlZCBieXRlcyBub3QgbGFzdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjM3NzU0CgoyMDEzLTA4LTIzIDE1OjQ3OjI1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcnR4cXVldWUuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcnR4cXVldWUuaDoKCSAgcnR4cXVldWU6IGFkZCBwcm9wZXJ0eSB0byBjb25maWd1cmUgcXVldWUgc2l6ZQoKMjAxMy0wOC0yMyAxMjowNzo1NSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9jbGllbnQtSDI2NC1ydHguc2g6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9zZXJ2ZXItVlRTLUgyNjQtcnR4LnNoOgoJICB0ZXN0czogYWRkIHJldHJhbnNtaXNzaW9uIGV4YW1wbGUKCjIwMTMtMDgtMjMgMTE6NTU6MDIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkgIHJ0cGJpbjogcHJveHkgaml0dGVyYnVmZmVyIGRvLXJldHJhbnNtaXNzaW9uIHByb3BlcnR5CgoyMDEzLTA4LTIzIDExOjE3OjQ1ICswMjAwICBNaWNoYWVsIE9sYnJpY2ggPG0ub2xicmljaEBwZW5ndXRyb25peC5kZT4KCgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkgIGF2aW11eDogdW5tYXAgdGhlIGNvcnJlY3QgYnVmZmVyCgkgIFRoZSBhdWRpbyBidWZmZXIgd2FzIG1hcHBlZCBzbyB1bm1hcCBpdCBhbmQgbm90IHRoZSB2aWRlbyBidWZmZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNjY0MgoKMjAxMy0wOC0xOCAyMzozMjoyMiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5oOgoJICBwdWxzZXNpbms6IEFkZCBwcm9wZXJ0eSB0byBmaW5kIG91dCB0aGUgZGV2aWNlIGN1cnJlbnRseSBpbiB1c2UKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTU5MDc2OAoKMjAxMy0wOC0xOCAyMzozMToxNSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBEZS1kdXBsaWNhdGUgY29kZSB0byBnZXQgdGhlIGN1cnJlbnQgc2luayBpbnB1dCBpbmZvCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD01OTA3NjgKCjIwMTMtMDgtMTggMjI6Mjc6MzcgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogSW1wbGVtZW50IGNoYW5naW5nIHRoZSBkZXZpY2Ugd2hpbGUgcGxheWluZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTkwNzY4CgoyMDEzLTA4LTE4IDIzOjMyOjIyIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5oOgoJICBwdWxzZXNyYzogQWRkIHByb3BlcnR5IHRvIGZpbmQgb3V0IHRoZSBkZXZpY2UgY3VycmVudGx5IGluIHVzZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTkwNzY4CgoyMDEzLTA4LTE4IDIzOjMxOjE1IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkgIHB1bHNlc3JjOiBEZS1kdXBsaWNhdGUgY29kZSB0byBnZXQgdGhlIGN1cnJlbnQgc291cmNlIG91dHB1dCBpbmZvCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD01OTA3NjgKCjIwMTMtMDgtMTggMjI6Mjc6MzcgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSAgcHVsc2VzcmM6IEltcGxlbWVudCBjaGFuZ2luZyB0aGUgZGV2aWNlIHdoaWxlIHBsYXlpbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTU5MDc2OAoKMjAxMy0wOC0yMiAxNDo1NToxNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IEZpeCBiejIgY29uZmlndXJlIGNoZWNrIGZvciBXaW5kb3dzCgkgIER1ZSB0byBmdW5jdGlvbiBkZWNvcmF0aW9ucyBvbiBXaW5kb3dzIEFDX0NIRUNLX0xJQiBjYW4ndCBiZSB1c2VkIHRvIGNoZWNrIGZvciBiejIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD00NjU5MjQKCjIwMTMtMDItMjIgMjA6NTc6MDAgKzA5MDAgIEFraWhpcm8gVHN1a2FkYSA8YXRzdWthZGFAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmg6CgkqIGV4dC9wdWxzZS9wdWxzZXV0aWwuYzoKCSogZXh0L3B1bHNlL3B1bHNldXRpbC5oOgoJICBwdWxzZXNpbms6IEFkZCBzdXBwb3J0IGZvciBBQUMgcGFzcy10aHJvdWdoCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTQ0NDUKCjIwMTMtMDYtMjQgMTc6Mjk6MzcgKzAyMDAgIEtpc2hvcmUgQXJlcGFsbGkgPGtpc2hvcmUuYXJlcGFsbGlAZ21haWwuY29tPgoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmb3ZlcmxheS5jOgoJICBnZGtwaXhidWZvdmVybGF5OiBjcmFzaGVzIGlmIGFueSBwcm9wZXJ0eSBjaGFuZ2VzIGR1cmluZyBwbGF5YmFjayB3aGVuIGxvY2F0aW9uIHByb3BlcnR5IGlzIG5vdCBzZXQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMjk4OAoKMjAxMy0wOC0yMSAxNDo1NDoyNiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5oOgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSogZXh0L3B1bHNlL3B1bHNldXRpbC5oOgoJICBwdWxzZTogU2hhcmUgc3RhdGljIGNhcHMgZGVmaW5pdGlvbiBiZXR3ZWVuIHNyYyBhbmQgc2luawoJICBUaGUgc3JjIHdhcyBhbHNvIG1pc3NpbmcgMjQtYml0IHNhbXBsZSBmb3JtYXRzCgoyMDEzLTA4LTIxIDE2OjUzOjU5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcnR4cXVldWUuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcnR4cXVldWUuaDoKCSAgcnR4OiB2YXJpb3VzIGltcHJvdmVtZW50cwoJICBVc2UgbG9ja2luZwoJICBEb24ndCBwdXNoIGZyb20gdGhlIGV2ZW50IGhhbmRsZXIsIGNvbGxlY3RlZCBwYWNrZXRzIGluIGEgcXVldWUgYW5kIHB1c2ggZnJvbQoJICB0aGUgY2hhaW4gZnVuY3Rpb24uCgkgIENsZWFyIHF1ZXVlcyBvbiBzaHV0ZG93bi4KCjIwMTMtMDgtMjEgMTY6NTA6NTkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIHNlc3Npb246IGdlbmVyYXRlIGV2ZW50cyBjb3JyZWN0bHkKCSAgRG8gY29ycmVjdCBzaGlmdGluZyBvZiB0aGUgYml0bWFzayBmb3IgbG9zdCBwYWNrZXRzLgoKMjAxMy0wOC0yMSAxNjo0Nzo0MCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG1hbmFnZXIuYzoKCSAgcnRwOiByZWdpc3RlciBydHggZWxlbWVudCBiZXR0ZXIKCjIwMTMtMDgtMjEgMTY6MzI6NTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSAgZGlyZWN0c291bmRzaW5rOiBXQVZFRk9STUFURVggaXMgdW5zaWduZWQgZm9yIDggYml0IGludGVnZXJzLCBhbmQgc2lnbmVkIGZvciBvdGhlcnMKCSAgUHJvYmFibHkgZml4ZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNTQ3NwoKMjAxMy0wOC0yMSAxMzowMzozNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSAganBlZ2VuYzogZG9uJ3QgaWdub3JlIHJldHVybiB2YWx1ZSBmcm9tIF9maW5pc2hfZnJhbWUoKQoJICBnc3RfdmlkZW9fZW5jb2Rlcl9maW5pc2hfZnJhbWUoKSB3aWxsIHJldHVybiBGTE9XX09LIGhlcmUgaWYKCSAgdGhlcmUncyBubyBvdXRwdXQgYnVmZmVyLgoKMjAxMy0wOC0yMSAxMjo1NjozNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwanBlZ2RlcGF5LmM6CgkgIGpwZWdkZXBheTogYWRkIHNvbWUgbW9yZSBkZWJ1ZwoKMjAxMy0wOC0yMSAxMjoxMDowMCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwZ3N0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc3RkZXBheS5oOgoJICBydHBnc3RkZXBheTogb25seSBwdXNoIGV2ZW50cyB3aGVuIHRoZXkgY2hhbmdlZAoJICBLZWVwIHRyYWNrIG9mIHRoZSBTVFJFQU1fU1RBUlQgYW5kIFRBRyBldmVudHMgYW5kIG9ubHkgcHVzaCB0aGVtCgkgIHdoZW4gdGhleSBjaGFuZ2VkLgoKMjAxMy0wOC0yMSAxMDo1Mjo1OSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwZ3N0cGF5LmM6CgkgIHJ0cGdzdHBheTogdGFnbGlzdHMgc2hvdWxkIG5vdCBiZSBtZXJnZWQgaW4gMS4wCgoyMDEzLTA4LTIxIDEwOjI4OjUwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBnc3RkZXBheS5jOgoJICBydHBnc3RkZXBheTogZmx1c2ggb24gRkxVU0hfU1RPUCBldmVudAoKMjAxMy0wOC0yMSAxMDowMzo1MiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwZ3N0cGF5LmM6CgkgIHJ0cGdzdHBheTogcmVzZXQgb24gc3RhdGUgY2hhbmdlCgkgIERvIGZ1bGwgcmVzZXQgb24gc3RhdGUgY2hhbmdlIHRvIFJFQURZCgoyMDEzLTA4LTIxIDA5OjU1OjIwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBnc3RwYXkuYzoKCSAgcnRwZ3N0cGF5OiByZXNldCBvbiBGTFVTSF9TVE9QCgkgIENsZWFyIHRoZSBhZGFwdGVyIGFuZCBwZW5kaW5nIGJ1ZmZlciBsaXN0IG9uIEZMVVNIX1NUT1AuCgoyMDEzLTA4LTIxIDA5OjM5OjMwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBnc3RwYXkuYzoKCSAgcnRwZ3N0cGF5OiBkb24ndCB1c2UgY2xvY2sgZm9yIGNvbmZpZyBpbnRlcnZhbAoJICBXZSBjYW4ndCB1c2UgdGhlIGNsb2NrIHRvIHRpbWUgb3VyIGNvbmZpZy1pbnRlcnZhbCBiZWNhdXNlIHdlIGFyZSBub3QKCSAgbGl2ZSAob3IgdGhlcmUgbWlnaHQgbm90IGJlIGEgY2xvY2sgb3IgdGhlIGNsb2NrIG1pZ2h0IG5vdCBiZSBydW5uaW5nKS4KCSAgSW5zdGVhZCBqdXN0IHNpbXBseSB0YWtlIHRoZSB0aW1lc3RhbXAgZGlmZi4KCjIwMTMtMDgtMjEgMDk6MzM6MDQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGdzdHBheS5oOgoJICBydHBnc3RheTogZG9uJ3QgdXNlIC8vIGNvbW1lbnRzCgoyMDEzLTA4LTA4IDExOjU1OjIyIC0wNDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBGaXggcmVzcG9uc2UgYXJndW1lbnQgaW4gaGFuZGxlLXJlcXVlc3Qgc2lnbmFsCgoyMDEzLTA4LTA4IDExOjU0OjQxIC0wNDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIHJ0c3BzcmM6IEFkZCBzZGVzIHByb3BlcnR5IGFuZCBwcm94eSBpdCB0byBydHBiaW4KCjIwMTMtMDgtMDcgMDk6NDc6MzUgLTA0MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGdzdHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzdHBheS5oOgoJICBTZW5kIGEgc3RyZWFtLXN0YXJ0IHdoZW5ldmVyIHdlIHNlbmQgdGFncyBUaGlzIGlzIHRvIG1ha2Ugc3VyZSB0YWdzIGFyZSBjbGVhcmVkIG9uIHRoZSBjbGllbnQgaWYgdGhlIHN0cmVhbS1zdGFydCB3YXMgcHJldmlvdXNseSBsb3N0LCBvdGhlcndpc2UsIHRoZSBjbGllbnQgbWF5IGVuZCB1cCB3aXRoIGEgbWVyZ2VkIHRhZ2xpc3Qgb2YgbXVsdGlwbGUgc29uZ3MKCjIwMTMtMDctMjUgMjE6MTI6MDUgLTA0MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGdzdHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzdHBheS5oOgoJICBydHBnc3RwYXk6IEFkZCBhIGNvbmZpZy1pbnRlcnZhbCBwcm9wZXJ0eSB0byByZXNlbmQgdGhlIGNhcHMvdGFncyBhdCBhIHJlZ3VsYXIgaW50ZXJ2YWwgVGhpcyBpcyB1c2VmdWwgaW4gY2FzZSB0aGUgcGFja2V0IGNvbnRhaW5pbmcgdGhlIGlubGluZWQgY2FwcyB3YXMgbG9zdCBvciBpZiBuZXcgY2xpZW50IGpvaW5zIGFuIGFscmVhZHkgcnVubmluZyBSVFAgc3RyZWFtIGFuZCB0aGV5IG1pc3NlZCB0aGUgcHJldmlvdXMgdGFnIGV2ZW50cy4gVGhpcyBhbHNvIG1ha2VzIHRoZSBwYXlsb2FkZXIga2VlcCBhIGxpc3Qgb2YgbWVyZ2VkIHRhZ3Mgc28gdGhlIHJldHJhbnNtaXR0ZWQgdGFnIGV2ZW50IGNvbnRhaW5zIGFsbCBwcmV2aW91c2x5IHJlY2VpdmVkLiBBIFNUUkVBTV9TVEFSVCBldmVudCB3aWxsIGZsdXNoIHRoZSBsaXN0IG9mIHRhZ3MuCgoyMDEzLTA3LTI1IDIxOjEwOjEwIC0wNDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBnc3RwYXkuYzoKCSAgcnRwZ3N0cGF5OiBSZWZhY3RvciB0aGUgc2V0Y2FwcyBhbmQgdXNlIG5ldyBtZXRob2QgdG8gc2VuZCBhcmJpdHJhcnkgY2FwcyBhdCBhbnkgdGltZQoKMjAxMy0wNy0yNSAyMTowMzozNCAtMDQwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwZ3N0cGF5LmM6CgkgIHJ0cGdzdHBheTogRG8gbm90IGZsdXNoIGV2ZW50cyBmb3Igc3RyZWFtLXN0YXJ0IGFuZCBhdm9pZCBjb25mbGljdCBiZXR3ZWVuIGV2ZW50IGFuZCBwZW5kaW5nIGlubGluZSBjYXBzCgoyMDEzLTA3LTI1IDIwOjU0OjUwIC0wNDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBnc3RwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc3RwYXkuaDoKCSAgcnRwZ3N0cGF5OiBBZGQgYSBjcmVhdGVfZnJvbV9hZGFwdGVyIEFQSSBhbmQgdXNlIGEgbGlzdCBvZiBHc3RCdWZmZXJMaXN0IFRoaXMgaXMgbmVjZXNzYXJ5IHRvIGZpeCBldmVudC9jYXBzIHNlbmRpbmcuIElmIHdlIHNlbmQgYSBTVFJFQU1fU1RBUlQgcGFja2V0LCBpdCB3aWxsIGNhdXNlIGFuIGVycm9yIGJlY2F1c2UgdGhlIHN0cmVhbSBkaWRuJ3QgcmVjZWl2ZSBpdHMgY2FwcyBhbmQgbmV3LXNlZ21lbnQgZXZlbnRzLCBzbyB3ZSBtdXN0IHdhaXQgZm9yIHRoZSBmaXJzdCBidWZmZXIgYmVmb3JlIHNlbmRpbmcgdGhlIHN0cmVhbS1zdGFydCBldmVudCBidWZmZXIuIEhvd2V2ZXIsIHRoZSBjYXBzIHdpbGwgYmUgc2VudCBhdCB0aGUgc2FtZSB0aW1lIGFuZCBzbyB0aGUgJ2lubGluZSBjYXBzJyB3aWxsIGJlIHNldCBmb3IgdGhlIGV2ZW50LiBXZSBuZWVkIHRvIGJlIGFibGUgdG8gcGF5bG9hZCBpbmRpdmlkdWFsIHBhY2tldHMgKGRhdGEsIGNhcHMgb3IgZXZlbnRzKSBhbmQgb25seSBzZW5kIHRoZW0gd2hlbiB3ZSBjYWxsIGZsdXNoLgoKMjAxMy0wNy0yNSAxNzo1NjozOCAtMDQwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwZ3N0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc3RwYXkuYzoKCSAgcnRwZ3N0cGF5OiBBZGQgZXR5cGU9NCBmb3IgcGF5bG9hZGluZyBHU1RfRVZFTlRfU1RSRUFNX1NUQVJUCgoyMDEzLTA3LTI1IDE3OjUyOjE2IC0wNDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBnc3RwYXkuYzoKCSAgcnRwZ3N0cGF5OiBGaXggdHlwbywgR1NUX0VWRU5UX0NVU1RPTV9CT1RIIGhhcyBldHlwZSBvZiAzCgoyMDEzLTA4LTIwIDE0OjM2OjU5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogaGFuZGxlIEVPUwoJICBXaGVuIHRoZSBxdWV1ZSBpcyBlbXB0eSwgYW5kIHdlIHJlY2VpdmVkIEVPUywgcGF1c2UgYW5kIHB1c2ggYW4gRU9TCgkgIGV2ZW50IGRvd25zdHJlYW0uCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDYzODcKCjIwMTMtMDgtMjAgMTA6MjY6MTUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiB1cGRhdGUgZG9jcwoKMjAxMy0wOC0yMCAxMDoyNToxNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IHVwZGF0ZSBhbGwgdGltZXJzCgkgIEtlZXAgbG9vcGluZyBvdmVyIGFsbCByZWdpc3RlcmVkIHRpbWVycyBzbyB0aGF0IHdlIGNhbiBtYXJrIHRoZW0gbG9zdCBpbnN0ZWFkIG9mCgkgIHN0b3BwaW5nIGFzIHNvb24gYXMgd2UgZmluZCB0aGUgdGltZXIgZm9yIHRoZSBjdXJyZW50IHNlcW51bS4KCjIwMTMtMDgtMjAgMDg6NTU6NTAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiByZW1vdmUgdW51c2VkIHZhcmlhYmxlcwoKMjAxMy0wOC0xOSAyMToxMDowMCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IHJlb3JnYW5pemUgdGltZXIgaGFuZGxpbmcKCSAgUmVzdHJ1Y3R1cmUgaGFuZGxpbmcgb2YgaW5jb21taW5nIHBhY2tldCBhbmQgdGhlIGdhcCB3aXRoIHRoZSBleHBlY3RlZCBzZXFudW0KCSAgYW5kIHJlZ2lzdGVyIGFsbCB0aW1lcnMgZnJvbSB0aGUgX2NoYWluIGZ1bmN0aW9uLgoJICBDb252ZXJ0IGEgdGltZXIgdG8gYSBMT1NUIHBhY2tldCB0aW1lciB3aGVuIHRoZSBtYXggYW1vdW50IG9mIHJldHJhbnNtaXNzaW9uCgkgIHJlcXVlc3RzIGhhcyBiZWVuIHJlYWNoZWQuCgoyMDEzLTA4LTE5IDIxOjM3OjQ0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogcmVmYWN0b3IgcGFja2V0IHNwYWNpbmcgY2FsY3VsYXRpb24KCjIwMTMtMDgtMTkgMjE6MzQ6MzggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBrZWVwIHRyYWNrIG9mIGxhc3Qgc2VxbnVtIGFuZCBkdHMKCjIwMTMtMDgtMTkgMjE6Mjk6NDkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBzbWFsbCBjbGVhbnVwcwoKMjAxMy0wOC0xOSAyMToyMTowOCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IHJlc2V0IHJldHJhbnNtaXNzaW9uIHRpbWVycyBpbiBhZGQvcmVzY2hlZHVsZQoJICBSZXNldCB0aGUgcmV0cmFuc21pc3Npb24gdGltZXJzIHdoZW4gYWRkaW5nIGFuZCByZXNjaGVkdWxpbmcgYSB0aW1lci4KCjIwMTMtMDgtMTkgMjE6MTI6MTMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiByZW5hbWUgdmFyaWFibGVzIGZvciBwYWNrZXQgc3BhY2luZwoKMjAxMy0wOC0xOSAxNDo1ODowMSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IHJlbW92ZSBsb3N0IHRpbWVyIHdoZW4gd2UgZ2V0IHRoZSBwYWNrZXQKCSAgV2hlbiB3ZSByZWNlaXZlIGEgcGFja2V0LCBhbHNvIHJlbW92ZSB0aGUgTE9TVCB0aW1lciBmb3IgaXQuCgoyMDEzLTA4LTE5IDE0OjU2OjQ5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogZXhwZWN0ZWQgc2VxbnVtIG11c3QgaW5jcmVhc2UKCSAgT25seSB1cGRhdGUgdGhlIGV4cGVjdGVkIHNlcW51bSB3aGVuIGl0IGlzIGJpZ2dlciB0aGFuIHRoZSBwcmV2aW91cyBleHBlY3RlZAoJICBzZXFudW0uCgoyMDEzLTA4LTE5IDE0OjU1OjQ5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogYWRkIG1vcmUgZGVidWcKCjIwMTMtMDgtMTIgMTY6MTU6NTQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbWFuYWdlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhxdWV1ZS5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhxdWV1ZS5oOgoJICBydHhxdWV1ZTogYWRkIHJldHJhbnNtaXNzaW9uIHF1ZXVlIGVsZW1lbnQKCjIwMTMtMDgtMTIgMTQ6NTM6MzMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHNlc3Npb246IGFkZCBzb21lIGRvY3MKCjIwMTMtMDgtMDYgMTY6Mjk6NTQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBzZXNzaW9uOiBoYW5kbGUgTkFDSyBmZWVkYmFjayBhbmQgZ2VuZXJhdGUgZXZlbnRzCgkgIEhhbmRsZSBhbmQgcGFyc2UgdGhlIGZlZWRiYWNrIE5BQ0sgcGFja2V0cyBhbmQgZ2VuZXJhdGUgYSBSZXRyYW5zbWlzc2lvbgoJICBldmVudCBmb3IgZWFjaCBOQUNLZWQgcGFja2V0CgoyMDEzLTA4LTE5IDEzOjE5OjQyIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyOiBBZGQgZm9yd2FyZCBkZWNsYXJhdGlvbiBmb3IgZ3N0X3Y0bDJfb2JqZWN0X2dldF9mb3JtYXRfbGlzdAoKMjAxMi0xMC0yMiAxNzo1ODowNyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuaDoKCSAgdjRsMjogRGUtZHVwbGljYXRlIGNhcHMgcHJvYmluZyBiZXR3ZWVuIHNyYyBhbmQgc2luawoKMjAxMy0wOC0xMyAxNzozMjoxNyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9wdWxzZS9NYWtlZmlsZS5hbToKCSogZXh0L3B1bHNlL3B1bHNlcHJvYmUuYzoKCSogZXh0L3B1bHNlL3B1bHNlcHJvYmUuaDoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmg6CgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuaDoKCSAgcHVsc2U6IFJlbW92ZSB1bnVzZWQgR3N0UHVsc2VQcm9iZQoKMjAxMy0wOC0xOSAxMjo0Njo0NSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJ0dW5lci5jOgoJKiBzeXMvdjRsMi90dW5lci5jOgoJKiBzeXMvdjRsMi90dW5lcmNoYW5uZWwuYzoKCSogc3lzL3Y0bDIvdHVuZXJub3JtLmM6CgkgIHY0bDI6IFVzZSBHX0RFRklORV8gbWFjcm9zIGZvciBhZGRlZCB0aHJlYWQgc2FmZXR5CgoyMDEzLTA4LTE3IDExOjI4OjEzICswMjAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5oOgoJICB2aWRlb21peGVyOiBEbyBub3Qgc2VuZCBmbHVzaF9zdG9wIG91cnNlbGYgYWZ0ZXIgYSBmbHVzaF9zdGFydAoJICBXaGVuIHdlIHJlY2VpdmUgYSBmbHVzaF9zdGFydCwgd2Ugc2hvdWxkIHdhaXQgZm9yIHRoZSBuZXh0IGZsdXNoX3N0b3AKCSAgYW5kIGZvd2FyZCBpdCwgbm90IGNyZWF0ZSBhIGZsdXNoX3N0b3Agb3Vyc2VsZi4KCjIwMTMtMDgtMTYgMTc6MTA6MzEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOgoJICBoMjY0ZGVwYXk6IGluaXQgZGVidWcgY2F0ZWdvcnkgZWFybHkKCSAgSW5pdCB0aGUgZGVidWcgdmFyaWFibGUgd2hlbiB3ZSByZWdpc3RlciB0aGUgZWxlbWVudCBiZWNhdXNlIGl0IGlzIGFsc28gdXNlZCBieQoJICB0aGUgcGF5bG9hZGVyIGVsZW1lbnQgd2hlbiBpdCBjYWxscyB0aGUgYWRkX3Nwc19wcHMgbWV0aG9kLgoKMjAxMy0wOC0xNiAxMzoyNjoyOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJICBmbGFjZW5jOiBQcm9wZXJseSBzZXQgaGVhZGVycyB2aWEgdGhlIGJhc2UgY2xhc3MgaW5zdGVhZCBvZiBqdXN0IHB1c2hpbmcgdGhlbSBkb3duc3RyZWFtCgkgIFByZXZlbnRzIGJ1ZmZlcnMgZnJvbSBiZWluZyBzZW5kIGJlZm9yZSB0aGUgY2FwcyBhbmQgc2VnbWVudCBldmVudHMuCgoyMDEzLTA4LTE1IDEwOjU5OjEwICswMTAwICBDaHJpcyBCYXNzIDxmbG9vYmxlZmxhbUBnbWFpbC5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogY2hlY2sgZGVub21pbmF0b3IgaXNuJ3QgemVybyBiZWZvcmUgc2NhbGluZyBkdXJhdGlvbi4KCSAgV2hlbiBnc3RfcXRkZW11eF9jb25maWd1cmVfc3RyZWFtIHNldHMgZnBzX2QsIGNoZWNrIHRoYXQgbl9zYW1wbGVzIGlzCgkgIG5vbi16ZXJvIGJlZm9yZSB1c2luZyBpdCBhcyBhIGRlbm9taW5hdG9yIHRvIHNjYWxlIHRoZSBzdHJlYW0gZHVyYXRpb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDYwNzYKCjIwMTMtMDgtMTUgMTU6MDg6MDUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOgoJKiBleHQvdnB4L2dzdHZwOGRlYy5jOgoJKiBleHQvdnB4L2dzdHZwOWRlYy5jOgoJICBleHQ6IFVzZSBuZXcgZmx1c2ggdmZ1bmMgb2YgdmlkZW8gY29kZWMgYmFzZSBjbGFzc2VzIGFuZCByZW1vdmUgcmVzZXQgaW1wbGVtZW50YXRpb25zCgoyMDEzLTA4LTE0IDE2OjE5OjMyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogZm9yd2FyZCBmbHVzaCBiZWZvcmUgc3RvcHBpbmcgZGF0YWZsb3cKCSAgRmlyc3QgZm9yd2FyZCB0aGUgZmx1c2ggZXZlbnQgYW5kIHRoZW4gc3RvcCBvdXIgbG9vcCBmdW5jdGlvbi4KCjIwMTMtMDgtMTQgMTM6MTA6MzIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogcmVxdWlyZSBsaWJzb3VwID49IDIuMzgKCSAgQnVtcCBsaWJzb3VwIHJlcXVpcmVtZW50IGZvciBuZXdlciBBUEkgdXNlZCwgbGlrZSBoZWFkZXJzX2dldF9vbmUoKS4KCSAgMi4zOCBpcyBmcm9tIGVhcmx5IDIwMTIgYW5kIGlzIGluIGxpbmVuIHdpdGggb3VyIEdMaWIgcmVxdWlyZW1lbnQuCgoyMDEzLTA4LTE0IDExOjU0OjE5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cDogZG9uJ3QgdXNlIGRlcHJlY2F0ZWQgc291cF9tZXNzYWdlX2hlYWRlcnNfZ2V0KCkgQVBJCgoyMDEzLTA4LTEzIDE3OjQ0OjUwICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIC5naXRpZ25vcmU6CgkgIC5naXRpZ25vcmU6IElnbm9yZSBmaWxlcyBmcm9tIGF1dG9tYWtlIHRlc3QtZHJpdmVyCgoyMDEzLTA4LTEyIDE1OjI4OjM0IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5oOgoJICBydHBoMjY0cGF5OiBVc2UgdGhlIFNQUy9QUFMgaGFuZGxpbmcgZnVuY3Rpb24gZnJvbSB0aGUgZGVwYXlsb2FkZXIKCSAgUmVtb3ZlIGR1cGxpY2F0ZWQgY29waWVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDU1NTMKCjIwMTMtMDgtMTIgMTU6MjY6MDggLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5oOgoJICBydHBoMjY0ZGVwYXk6IE1ha2UgdGhlIFNQUy9QUFMgZGVkdXBsaWNhdGlvbiBmdW5jdGlvbiBnZW5lcmljCgkgIE1ha2UgaXQgbm90IHRvdWNoIGFueSBpbnRlcm5hbHMgb2YgdGhlIGRlcGF5bG9hZGVyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDU1NTMKCjIwMTMtMDgtMTMgMTQ6MDk6MjAgKzAxMDAgIENocmlzIEJhc3MgPGZsb29ibGVmbGFtQGdtYWlsLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSAgYWFjcGFyc2U6IGFsbG93IGNvbnZlcnNpb24gZnJvbSByYXcgQUFDIHRvIEFEVFMKCSAgVGhpcyBwYXRjaCB3aWxsIHByZXBlbmQgQURUUyBoZWFkZXJzIHRvIHJhdyBBQUMgYXVkaW8gZnJhbWVzLCBhbGxvd2luZwoJICB1cHN0cmVhbSBlbGVtZW50cyB0byBsaW5rIHRvIGRlY29kZXJzIHRoYXQgb25seSBzdXBwb3J0IEFBQyBpbiBBRFRTIGZvcm1hdC4KCSAgTm90ZSB0aGF0IG5vIGVycm9yIGNvcnJlY3Rpb24gYml0cyBhcmUgYWRkZWQgdG8gQURUUyBmcmFtZXMgaW4gdGhpcyBjb2RlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjE1NzQwCgoyMDEzLTA4LTEzIDEyOjQ0OjExICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IE9ubHkgZnJlZSBHQ2hlY2tTdW0gYWZ0ZXIgaXRzIGxhc3QgdXNhZ2UKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNTc2MAoKMjAxMy0wOC0xMyAxMjowMjoyOSArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXBodHRwc3JjOiBmaXggY3JpdGljYWwgc2V0dGluZyBhIE5VTEwgdXJpIHJlZGlyZWN0aW9uCgoyMDEzLTA3LTEzIDAxOjUwOjU2ICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuaDoKCSAgc291cGh0dHBzcmM6IGFkZCByZWRpcmVjdGlvbiB0byB0aGUgVVJJIHF1ZXJ5CgoyMDEzLTA3LTMxIDEwOjQyOjA3ICswMjAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGVsc3Qgc2hvdWxkIG9mZnNldCBzYW1wbGVzIGluc3RlYWQgb2YgYnVmZmVycwoJICBUaGUgY3VycmVudCBhcHByb2FjaCB3aGVyZSBidWZmZXJzIGFyZSBvZmZzZXQgaXMgbm90IGlkZWFsLCBhcyBkdXJpbmcgc2VlawoJICBhbmQgbG9vcCBjdXJyZW50IHRpbWUgaXMgY29tcGFyZWQgdG8gc2FtcGxlIHRpbWVzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAwMjY0CgoyMDEzLTA4LTA3IDE5OjMyOjA3ICswMjAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb21peGVyLmM6CgkgIHZpZGVvbWl4ZXI6IFNlbmQgRU9TIGlmIGJ1Zl9lbmQgPj0gc2VnbWVudC5zdG9wCgkgIFRoYXQgbWVhbnMgdGhlIHdob2xlIHNlZ21lbnQgaXMgYWxyZWFkeSBwbGF5ZWQsIGFuZCB3ZSBhcmUgc3VyZSB3ZQoJICBhcmUgRU9TIGF0IHRoYXQgcG9pbnQuCgkgIEFsc28gaGFuZGxlIHNlZ21lbnQgc2Vla3MsIGFuZCBkbyBub3Qgc2VuZCBFT1MgaW4gdGhhdCBjYXNlLgoKMjAxMy0wOC0wNCAxNDo0MDozOCArMDIwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IHNlbmQgcHJvcGVyIHN0cmVhbV9zdGFydCBldmVudAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy8vc2hvd19idWcuY2dpP2lkPTcwNTQ0OQoKMjAxMy0wOC0wOCAxMTo1MToxNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L21hdHJvc2thL2VibWwtcmVhZC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogRG9uJ3QgcHJpbnQgd2FybmluZ3MgZHVyaW5nIGZsdXNoaW5nIGFuZCBzdG9wIGFzIHNvb24gYXMgcG9zc2libGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvL3Nob3dfYnVnLmNnaT9pZD03MDU0NDIKCjIwMTMtMDgtMDcgMTE6MTQ6MzggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvcnRwL2dzdHJ0cHZwOGRlcGF5LmM6CgkgIHJ0cHZwOGRlcGF5OiBtYXJrIGtleSBmcmFtZXMgYW5kIGRlbHRhIGZyYW1lcyBwcm9wZXJseQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA1NTUwCgoyMDEzLTA4LTA1IDIzOjIzOjU3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBzZXNzaW9uOiBhZGQgTkFDSyBmZWVkYmFjayBpbiBSVENQCgoyMDEzLTA4LTA1IDIzOjIyOjE2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5oOgoJICBzb3VyY2U6IGFkZCBtZXRob2RzIHRvIHJlZ2lzdGVyIE5BQ0sKCSAgQWRkIGEgbWV0aG9kIHRvIHJlZ2lzdGVyIGEgbWlzc2luZyBwYWNrZXQgZm9yIGFuIHNzcmMgYWxvbmcgd2l0aAoJICBtZXRob2RzIHRvIGdldCB0aGUgbWlzc2luZyBwYWNrZXRzIGFuZCBjbGVhciB0aGVtLgoKMjAxMy0wOC0wNCAyMzowNTozNiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIHNlc3Npb246IGhhbmRsZSBSZXRyYW5zbWlzc2lvbiBldmVudCBhbmQgc2NoZWR1bGUgTkFDSwoJICBIYW5kbGUgdGhlIHJldHJhbnNtaXNzaW9uIGV2ZW50IGZyb20gZG93bnN0cmVhbSBhbmQgdXNlIGl0IHRvIHNjaGVkdWxlIGEgTkFDSwoJICByZXF1ZXN0LgoKMjAxMy0wOC0wNSAyMzoyMDoyOSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgc2Vzc2lvbjogcGFzcyBkYXRhIHRvIHJlbW92ZSBmdW5jCgkgIFBhc3MgdGhlIGRhdGEgdG8gdGhlIHJlbW92ZSBmdW5jdGlvbiBiZWNhdXNlIHdlIGFyZSBnb2luZyB0byBkZXJlZiBpdCB3aGVuIHRoZXJlCgkgIGlzIHBsaSBvciBmaXIuCgoyMDEzLTA4LTA2IDE1OjI4OjUwICswMjAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogRml4IGNvbXBpbGF0aW9uCgoyMDEzLTA4LTA2IDE1OjE3OjQ0ICswMjAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogUmF3IGJ1ZmZlciBEVFMgc2hvdWxkIGFsd2F5cyBiZSBDTE9DS19USU1FX05PTkUKCjIwMTMtMDgtMDYgMTE6NTg6MzggKzAyMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIHZpZGVvbWl4ZXI6IE1ha2Ugc3VyZSB0byBzZW5kIEVPUyBpZiB0aGUgYnVmZmVyIGVuZCB0aW1lIGVxdWFscyB0aGUgc2VnbWVudCBlbmQgdGltZQoJICBPdGhlcndpemUgRU9TIG5ldmVyIGdldHMgc2VudCBpbiB0aGF0IHBhcnRpY3VsYXIgY2FzZS4KCjIwMTMtMDgtMDUgMDg6NDk6NTAgKzAyMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZC5zaW1vbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dvb20vZ3N0Z29vbS5jOgoJICBnb29tOiBFbnN1cmUgc3JjIGNhcHMgYXJlIHdyaXRhYmxlCgkgIEluIHNvbWUgY2FzZXMgdGhlIHNyYyBjYXBzIGRldGVybWluZWQgYnkgZ29vbSB3ZXJlbid0IHdyaXRhYmxlLCBjYXVzaW5nCgkgIGEgYnVuY2ggb2YgYXNzZXJ0aW9uIGZhaWx1cmVzIGFuZCBmYWlsZWQgY2Fwcy4gRml4ZWQgYnkgYWx3YXlzCgkgIGV4cGxpY2l0ZWx5IG1ha2luZyB0aGUgY2FwcyB3cml0YWJsZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA1NDc1CgoyMDEzLTA4LTA0IDIzOjE4OjI5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgc2Vzc2lvbjogdXNlIGNvbW1vbiBzZW5kX3J0Y3AgbWV0aG9kCgkgIFJldXNlIHRoZSBzZW5kX3J0Y3AgbWV0aG9kIHRoYXQgYWxyZWFkeSBhc2tzIGZvciB0aGUgY3VycmVudCB0aW1lIHdoZW4KCSAgcmVxdWVzdGluZyBhIGtleWZyYW1lLgoKMjAxMy0wOC0wNCAyMzoxMjo1MCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBzZXNzaW9uOiBEb24ndCB1c2UgQ2xvY2tUaW1lRGlmZiBmb3IgdW5zaWduZWQgZGVsYXlzCgoyMDEzLTA4LTA0IDE2OjUyOjE1ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IFVzZSBidWZmZXIgUFRTIGlmIERUUyBpcyBub3Qgc2V0CgkgIEF2b2lkcyBlbmRpbmcgdXAgd2l0aCBjb21wbGV0ZWx5IGJvZ3VzIHNjYWxlZCBkdXJhdGlvbi9wdHMgd2hlbiBuZXcKCSAgYnVmZmVycyBoYXZlIGludmFsaWQgRFRTLgoKMjAxMy0wOC0wNCAxNDozMjo0NyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NvdXBodHRwc3JjLmM6CgkgIHRlc3RzOiBza2lwIGh0dHBzIHRlc3QgaWYgdGhlcmUncyBubyBUTFMgc3VwcG9ydCBpbiBzb3VwL2dsaWIKCjIwMTMtMDgtMDQgMTE6MjA6NDEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvcnRzcC9nc3RydHBkZWMuYzoKCSAgcnRwZGVjOiB1c2UgZ2VuZXJpYyBtYXJzaGFsbGVyCgoyMDEzLTA4LTA0IDEwOjUyOjMzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogTWFrZWZpbGUuYW06CgkqIHN5cy92NGwyLy5naXRpZ25vcmU6CgkqIHN5cy92NGwyL01ha2VmaWxlLmFtOgoJKiBzeXMvdjRsMi9nc3R2NGwyLW1hcnNoYWwubGlzdDoKCSogc3lzL3Y0bDIvdHVuZXItbWFyc2hhbC5saXN0OgoJKiBzeXMvdjRsMi90dW5lci5jOgoJKiBzeXMvdjRsMi90dW5lci5oOgoJKiB3aW4zMi9NQU5JRkVTVDoKCSogd2luMzIvY29tbW9uL3R1bmVyLWVudW10eXBlcy5jOgoJKiB3aW4zMi9jb21tb24vdHVuZXItZW51bXR5cGVzLmg6CgkqIHdpbjMyL2NvbW1vbi90dW5lci1tYXJzaGFsLmM6CgkqIHdpbjMyL2NvbW1vbi90dW5lci1tYXJzaGFsLmg6CgkgIHY0bDI6IHJlbW92ZSB1bnVzZWQgZW51bXR5cGVzIGFuZCB1c2UgZ2VuZXJpYyBtYXJzaGFsbGVyCgoyMDEzLTA4LTA0IDEwOjQ3OjM4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogTWFrZWZpbGUuYW06CgkqIGdzdC91ZHAvLmdpdGlnbm9yZToKCSogd2luMzIvY29tbW9uL2dzdHVkcC1lbnVtdHlwZXMuYzoKCSogd2luMzIvY29tbW9uL2dzdHVkcC1lbnVtdHlwZXMuaDoKCSogd2luMzIvY29tbW9uL2dzdHVkcC1tYXJzaGFsLmM6CgkqIHdpbjMyL2NvbW1vbi9nc3R1ZHAtbWFyc2hhbC5oOgoJICB1ZHA6IHJlbW92ZSB1bnVzZWQgbWFyc2hhbCBhbmQgZW51bXR5cGVzIGZpbGVzCgoyMDEzLTA4LTA0IDA5OjM4OjE5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogTWFrZWZpbGUuYW06CgkqIGdzdC9ydHBtYW5hZ2VyLy5naXRpZ25vcmU6CgkqIGdzdC9ydHBtYW5hZ2VyL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4tbWFyc2hhbC5saXN0OgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiB3aW4zMi9NQU5JRkVTVDoKCSogd2luMzIvY29tbW9uL2dzdHJ0cGJpbi1tYXJzaGFsLmM6CgkqIHdpbjMyL2NvbW1vbi9nc3RydHBiaW4tbWFyc2hhbC5oOgoJICBydHBtYW5hZ2VyOiB1c2UgZ2VuZXJpYyBtYXJzaGFsbGVyCgoyMDEzLTA4LTA0IDAwOjEzOjA3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogc2VuZCBldmVudCBpbiByaWdodCBkaXJlY3Rpb24KCjIwMTMtMDgtMDIgMTc6Mzg6MzQgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgdGVzdHM6IGNyZWF0ZS9yZW1vdmUgb3JjIGRpcmVjdG9yeSBhdCBwcm9wZXIgdGltZQoJICBCZWZvcmUgYXV0b21ha2UgY3JlYXRlcyAuZGVwcyBkaXJlY3RvcmllcywgYW5kIGR1cmluZyBkaXN0Y2xlYW4uCgoyMDEzLTA4LTAzIDAwOjI1OjQ0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBzZXNzaW9uOiBhZGQgRklSIGFuZCBQTEkgbGlrZSBvdGhlciBSVENQIHBhY2tldHMKCSAgQWRkIHRoZSBGSVIgYW5kIFBMSSBwYWNrZXRzIGxpa2UgdGhlIG90aGVyIFJUQ1AgcGFja2V0IGluc3RlYWQgb2YgZnJvbSB0aGUKCSAgb24tc2VuZGluZy1ydGNwIGRlZmF1bHQgc2lnbmFsIGhhbmRsZXIuCgoyMDEzLTA4LTAyIDE3OjIyOjU1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogZml4IHByb3BlcnR5IHJhbmdlcwoKMjAxMy0wOC0wMiAxNjo0Mjo1MiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IHB1c2ggcmV0cmFuc21pc3Npb24gZXZlbnRzCgoyMDEzLTA4LTAyIDE0OjEyOjE2ICswMjAwICBMdWJvc3ogU2FybmVja2kgPGx1Ym9zekBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGJ1aWxkOiBhZGQgc3ViZGlyLW9iamVjdHMgdG8gQU1fSU5JVF9BVVRPTUFLRQoJICBGaXhlcyB3YXJuaW5ncyB3aXRoIGF1dG9tYWtlIDEuMTQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNTM1MAoKMjAxMy0wOC0wMiAxNDo1NDo1NiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IGFkZCBzdXBwb3J0IGZvciByZXRyYW5zbWlzc2lvbiByZXRyeQoJICBXaGVuIHdlIGRpZG4ndCByZWNlaXZlIGEgcGFja2V0IGFmdGVyIHJlcXVlc3RpbmcgcmV0cmFuc21pc3Npb24sIHJldHJ5CgkgIGFza2luZyBmb3IgcmV0cmFuc21pc3Npb24gZm9yIGEgY2VydGFpbiBwZXJpb2QuCgoyMDEzLTA4LTAyIDE0OjE5OjU0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogYWRkIHByb3BlcnRpZXMKCSAgQWRkIHByb3BlcnRpZXMgdG8gY29udHJvbCByZXRyYW5zbWlzc2lvbiBwYXJhbWV0ZXJzCgoyMDEzLTA4LTAyIDEyOjQ0OjU4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogdXNlIGNvcnJlY3RlZCB0aW1lb3V0IHdoZW4gcmVzY2hlZHVsaW5nCgkgIFdoZW4gd2UgcmVjYWxjdWxhdGUgdGhlIHRpbWVvdXQsIHVzZSB0aGUgY29ycmVjdGVkIHRpbWVvdXQgdmFsdWUgZGVwZW5kaW5nIG9uCgkgIHRoZSB0aW1lciB0eXBlLgoKMjAxMy0wOC0wMiAxMjo0MzowMCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IHVwZGF0ZSB0aW1lcnMgYWZ0ZXIgcXVldWVpbmcKCSAgRWxzZSB3ZSBtaWdodCB1cGRhdGUgdGhlIHRpbWVyIG5lZWRsZXNzbHkgZm9yIGR1cGxpY2F0ZXMuCgoyMDEzLTA4LTAyIDEyOjQyOjA4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogbW92ZSBtZXRob2QgdXAKCjIwMTMtMDgtMDIgMDY6Mjg6MzIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBzbWFsbCBjbGVhbnVwCgoyMDEzLTA4LTAxIDIzOjI2OjA2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogdW5zY2hlZHVsZSBvbGQgZXhwZWN0ZWQgcGFja2V0cwoJICBXaGVuIHdlIHJlY2VpdmUgYSBuZXcgcGFja2V0LCB1bnNjaGVkdWxlIG9sZCBvdXRzdGFuZGluZyBwYWNrZXRzIHdoZW4gdGhlaXIKCSAgc2VxbnVtIGlzIHRvbyBmYXIgYXdheS4KCjIwMTMtMDgtMDEgMjM6Mjk6MjMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiByZWZhY3RvciB0aW1lciB1cGRhdGUKCjIwMTMtMDgtMDEgMjM6MjQ6MjkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiB1cGRhdGUgdGltZXJzIHdoZW4gcmVtb3ZpbmcKCSAgVXBkYXRlIHRoZSB0aW1lcnMgd2hlbiB3ZSByZW1vdmUgYSB0aW1lci4KCSAgSGFuZGxlIGNhbmNlbGVkIHRpbWVycywgbWFrZSB0aGVtIHVuc2NoZWR1bGUgdGhlIGN1cnJlbnQgdGltZXIgYW5kCgkgIHRyaWdnZXIgdGhlIHRpbWVvdXQgY29kZS4KCjIwMTMtMDgtMDEgMjM6MjI6MDIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBmaXggdHlwbwoKMjAxMy0wOC0wMSAxNTo0MDo1MiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IGltcHJvdmUgdGltZW91dCBtYW5hZ2VtZW50CgkgIElmIHdlIGNoYW5nZSB0aGUgc2VxbnVtIG9mIGFuIGV4aXN0aW5nIHRpbWVyIGFuZCB3ZSB3ZXJlIHdhaXRpbmcgZm9yCgkgIHRoYXQgdGltZXIsIHVuc2NoZWR1bGUgaXQuIElmIHdlIGNoYW5nZSB0aGUgdGltZW91dCBvZiBhbiBleGlzdGluZyB0aW1lciBhbmQgd2UKCSAgd2VyZSB3YWl0aW5nIG9uIGl0LCBvbmx5IHVuc2NoZWR1bGUgd2hlbiB0aGUgbmV3IHRpbWUgaXMgc21hbGxlci4KCjIwMTMtMDgtMDEgMTU6MDU6MzUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBpbnN0YWxsIHRpbWVyIGZvciBleHBlY3RlZCBhcnJpdmFsCgkgIEluc3RhbGwgYSB0aW1lciB0aGF0IGlzIHRyaWdnZXJlZCB3aGVuIHRoZSBleHBlY3RlZCBhcnJpdmFsIHRpbWUgb2YgYSBwYWNrZXQKCSAgZXhwaXJlZC4KCjIwMTMtMDgtMDEgMTQ6NTY6MDAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBpbXByb3ZlIHVuc2NoZWR1bGUgb2YgdGltZXJzCgkgIENvbmZsaWN0czoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmMKCjIwMTMtMDgtMDEgMTI6MjE6NTMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBtb3ZlIGNvZGUgYXJvdW5kCgoyMDEzLTA4LTAxIDEyOjA3OjExICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogZXN0aW1hdGUgaW50ZXIgcGFja2V0IHNwYWNpbmcKCSAgV2hlbiB3ZSBzZWUgdHdvIHBhY2tldHMgd2l0aCBjb25zZWN1dGl2ZSBzZXFudW1zIGFuZCBhIGRpZmZlcmVudCBSVFAgdGltZSwgdXNlCgkgIHRoZSBEVFMgZGlmZmVyZW5jZSBhcyB0aGUgaW50ZXIgcGFja2V0IHNwYWNpbmcgZXN0aW1hdGUuCgoyMDEzLTA4LTAxIDEyOjAxOjE1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjoga2VlcCB0cmFjayBvZiBjdXJyZW50IHRpbWVvdXQKCjIwMTMtMDgtMDEgMTE6NDk6MTAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBjbGVhbnVwIHRpbWVyIGhhbmRsaW5nCgoyMDEzLTA4LTAxIDExOjQwOjQxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogcmVzZXQgaXMgb25seSBwb3NzaWJsZSB3aXRoIGEgR0FQCgoyMDEzLTA4LTAxIDExOjI5OjMyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IG9wZXJhdGUgb24gRFRTCgkgIE1ha2UgdGhlIGppdHRlcmJ1ZmZlciBzY2hlZHVsZSB0aGUgdGltZW91dHMgYmFzZWQgb24gdGhlIERUUyBpbnN0ZWFkCgkgIG9mIHRoZSBQVFMuIFRoaXMgbWFrZXMgaXQgYWxsIHNtb290aGVyIHdpdGggcmVvcmRlcmVkIGZyYW1lcyBhbmQgZ2l2ZXMKCSAgdGhlIGRlY29kZXIgdGltZSB0byByZW9yZGVyIHRoZSBmcmFtZXMgaW4gdGltZS4KCjIwMTMtMDgtMDEgMTE6MTQ6MTIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiByZW5hbWUgdGltb3V0IHZhcmlhYmxlCgoyMDEzLTA3LTMxIDE3OjA4OjU4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogc21hbGwgY2xlYW51cAoKMjAxMy0wNy0zMSAxNjo1OTo1OCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IGJsb2NrIG91dHB1dCBpbiBwYXVzZWQgb3IgYnVmZmVyaW5nCgoyMDEzLTA3LTMxIDE2OjU5OjA5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogc3RvcmUgcHRzIGluIHRpbWVyCgkgIE9ubHkgc3RvcmUgdGhlIHB0cyBpbiB0aGUgdGltZXIgc28gdGhhdCB3ZSBjYW4gYm90aCBkbyB0aW1lb3V0cyB3aXRoIHRpbWluZ3Mgb24KCSAgdGhlIGlucHV0IGFuZCBvdXRwdXQgb2YgdGhlIGppdHRlcmJ1ZmZlci4KCjIwMTMtMDctMzAgMjM6MTQ6MjQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiByZWZhY3RvciBqaXR0ZXJidWZmZXIKCSAgUmVmYWN0b3IgdGhlIGppdHRlcmJ1ZmZlciBjb2RlLiBNYWtlIHNlcGFyYXRlIGZ1bmN0aW9uIGZvciBwZWVraW5nIGEgYnVmZmVyLAoJICBwdXNoaW5nIHRoZSBuZXh0IGJ1ZmZlciwgd2FpdGluZyBmb3IgdGltZW91dHMgYW5kIGhhbmRsaW5nIHRoZSB0aW1lb3V0cy4KCSAgVGhlIG1haW4gbG9vcCBub3cgdHJpZXMgdG8gcHVzaCBhcyBtYW55IGJ1ZmZlcnMgYXMgaXQgY2FuIHVudGlsIGl0IHJ1bnMgb3V0IG9mCgkgIGJ1ZmZlcnMgb3Igd2hlbiBpdCBkZXRlY3RzIGEgc2VxbnVtIGRpc2NvbnQuIFRoZW4gaXQgd2lsbCB3YWl0IGZvciBzb21lIGV2ZW50IHRvCgkgIGhhcHBlbiBiZWZvcmUgYXR0ZW1wdGluZyB0byBwdXNoIG1vcmUgYnVmZmVycy4KCSAgTWFrZSBtZXRob2RzIHRvIHJlZ2lzdGVyIHRpbWVvdXRzIGluIGFuIGFycmF5LiBUaGVzZSB0aW1lb3V0cyBhcmUgcmVnaXN0ZXJlZAoJICB3aGVuIHdlIGRldGVjdCBhIG1pc3NpbmcgcGFja2V0LCBzeW5jIGZvciB0aGUgZmlyc3QgcGFja2V0IG9yIHdoZW4gd2UgZmluZCBhbgoJICBlc3RpbWF0aW9uIGZvciB0aGUgZW5kLW9mLXN0cmVhbS4KCSAgVGhpcyBncmVhdGx5IHNpbXBsaWZpZXMgYW5kIGNsYXJpZmllcyB0aGUgY29kZSBhbmQgYWxzbyBtYWtlcyBpdCBwb3NzaWJsZSB0bwoJICByZWdpc3RlciBtb3JlIGNvbXBsaWNhdGVkIHRpbWVvdXQgc2NoZW1lcyBsYXRlci4KCjIwMTMtMDctMzAgMTg6NTI6NTggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiB1c2UgTlVMTCB0byBpZ25vcmUgcGVyY2VudAoJICBJZiB3ZSBwYXNzIE5VTEwgdG8gcG9wIGFuZCBwdXNoIHdlIGlnbm9yZSB0aGUgcGVyY2VudCByZXN1bHQuCgoyMDEzLTA3LTMwIDA3OjAwOjE5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogcmVmYWN0b3IKCSAgTW92ZSBlb3MgZXN0aW1hdGlvbiBpbnRvIHNlcGFyYXRlIGZ1bmN0aW9uCgoyMDEzLTA3LTMwIDE0OjI4OjE5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHZkZW11eDogZG9uJ3QgbGVhayBzdHJlYW1faWQgc3RyaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDUxNDIKCjIwMTMtMDctMjkgMTk6NTM6NTIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBwby9MSU5HVUFTOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vaHIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NsLnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSAgcG86IHVwZGF0ZSB0cmFuc2xhdGlvbnMKCjIwMTMtMDctMjkgMTk6NDg6NTQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJICB0ZXN0czogaWdub3JlIG5ldyB0ZXN0IGJpbmFyaWVzCgoyMDEzLTA3LTI5IDE0OjQ3OjQ5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQKCj09PSByZWxlYXNlIDEuMS4zID09PQoKMjAxMy0wNy0yOSAxMzo0MjoxOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlzb21wNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9ub3Njb3BlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12cHgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDEuMS4zCgoyMDEzLTA3LTI5IDEzOjQyOjA1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lby5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2dsLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9yby5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHBvL3poX0hLLnBvOgoJKiBwby96aF9UVy5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAxMy0wNy0yOSAxMjoxMjo0MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgZ3N0OiBEb24ndCBzd2FwIHN0YXJ0L3N0b3AgZm9yIG5lZ2F0aXZlIHJhdGVzIGluIHRoZSBTRUdNRU5UIHF1ZXJ5CgoyMDEzLTA3LTI5IDExOjE4OjQwICswMjAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IENoZWNrIGZvciBkYXRhIHNpemUgd2hlbiBwYXJzaW5nIGgyNjQgY29kZWMgZGF0YSBmcm9tIHN0cmYgYXRvbQoKMjAxMy0wNy0yOSAxMDo1Mzo1NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IEltcGxlbWVudCBTRUdNRU5UIHF1ZXJ5CgoyMDEzLTA3LTI5IDEwOjUzOjQ3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdmRlbXV4OiBJbXBsZW1lbnQgU0VHTUVOVCBxdWVyeQoKMjAxMy0wNy0yOSAxMDo1MDo1OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogSW1wbGVtZW50IFNFR01FTlQgcXVlcnkKCjIwMTMtMDctMjcgMTg6MTA6MjIgKzAyMDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4X2ZvdXJjYy5oOgoJICBxdGRlbXV4OiBTdXBwb3J0IEgyNjQgZm91cmNjCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDQ5OTYKCjIwMTMtMDctMjggMTg6MDk6MzMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSAgZmxhY2VuYzogRml4IGhhbmRsaW5nIG9mIGltYWdlIHRhZ3MKCSAgVGhlIGNhcHMgc2hvdWxkIGJlIHVzZWQgdG8gZ2V0IHRoZSBtaW1ldHlwZSBhbmQgdGhlcmUgaXMKCSAgb25seSBhbiBpbmZvIHN0cnVjdHVyZSBmb3IgdGhlIEdzdFNhbXBsZSBpZiB0aGUgaW1hZ2UtdHlwZQoJICBpcyBub3QgTk9ORS4KCjIwMTMtMDctMjggMTg6MDQ6MzIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSAgZmxhY2VuYzogRG9uJ3QgY3Jhc2ggaWYgdGhlcmUgaXMgbm8gaW1hZ2UgdGFnIGluZm9ybWF0aW9uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDUwMTgKCjIwMTMtMDctMjggMTc6Mzg6NTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IEZpeCBkdXJhdGlvbiByZXBvcnRpbmcgaW4gcHVzaCBtb2RlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDA5MzMKCjIwMTMtMDctMjggMTc6MzI6MjcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IERvbid0IGZvcmdldCB1bm1hcHBpbmcgYW5kIHVucmVmZmluZyBidWZmZXIKCjIwMTMtMDctMjYgMjE6MDY6MTcgKzAyMDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiB1bm1hcCBidWZmZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNDk1MQoKMjAxMy0wNy0yNiAyMjozMTo0MSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgc2Vzc2lvbjogZG9uJ3QgbWFrZSBidWZmZXIgd3JpdGFibGUgcHJlbWF0dXJlbHkKCSAgVGhlcmUgaXMgbm8gcmVhc29uIHRvIG1ha2UgdGhlIFNSIGJ1ZmZlciB3cml0YWJsZSBhdCB0aGlzIHBvaW50LiBUaGlzIGlzIGJldHRlcgoJICBkZWxheWVkIHVudGlsIG5lZWRlZC4KCjIwMTMtMDctMjYgMjI6MjU6NTAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHNlc3Npb246IGlnbm9yZSBSVENQIGZvciBpbmFjdGl2ZSBzb3VyY2VzCgoyMDEzLTA3LTI2IDIyOjI1OjE3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBzZXNzaW9uOiBzbWFsbCBjbGVhbnVwCgoyMDEzLTA3LTI2IDE3OjE3OjMxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5oOgoJICBzZXNzaW9uOiBoYW5kbGUgcGFydGlhbCBSVENQIHJlcG9ydCBibG9ja3MKCSAgV2hlbiB3ZSBoYXZlIG1vcmUgU1NSQ3MgdG8gcmVwb3J0IHRoYW4gd2hhdCBmaXQgaW4gYW4gUlRDUCBwYWNrZXQsIHVzZSBhCgkgIGdlbmVyYXRpb24gY291bnRlciB0byBtYWtlIHN1cmUgYWxsIG9mIHRoZW0gZW5kIHVwIGluIGEgcGFja2V0IGV2ZW50dWFsbHkuCgoyMDEzLTA3LTI2IDE3OjIzOjEwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBzZXNzaW9uOiBjcmVhdGUgU1NSQyBiZWZvcmUgZG9pbmcgc2Vzc2lvbiBjbGVhbnVwCgkgIE1ha2UgdGhlIGludGVybmFsIHNvdXJjZSBiZWZvcmUgd2UgZG8gc2Vzc2lvbiBjbGVhbnVwCgoyMDEzLTA3LTI2IDE3OjIxOjA4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBzZXNzaW9uOiByZW9yZ2FuaXplIHRoZSByZXBvcnQgYmxvY2sgY29kZQoKMjAxMy0wNy0yNiAxNjowMjowMSArMDIwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBmaXggbWVtb3J5IGxlYWsgaW4gY2hlY2tfc3VidGl0bGVfYnVmZmVyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDQ5MjEKCjIwMTMtMDctMjYgMTQ6MjE6NDAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHNlc3Npb246IHJlZmFjdG9yIGFjdGl2ZSBhbmQgc2VuZGVyIGNoZWNrcwoKMjAxMy0wNy0yNiAxMjowNjozNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgc2Vzc2lvbjogcmVtb3ZlIGludGVybmFsIHNvdXJjZXMgb24gdGltZW91dAoJICBXaGVuIGFuIGludGVybmFsIHNvdXJjZSB0aW1lcyBvdXQgYW5kIGJlY29tZXMgYSByZWNlaXZlciwgcmVtb3ZlIGl0LgoKMjAxMy0wNy0yNiAxMTo0Nzo1NiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgc2Vzc2lvbjogY3JlYXRlIGFuIGludGVybmFsIHNvdXJjZSBmb3IgUlRDUAoJICBXaGVuIHdlIG5lZWQgdG8gZG8gUlRDUCBhbmQgd2UgZG9uJ3QgaGF2ZSBhbiBpbnRlcm5hbCBzb3VyY2UgeWV0LAoJICBtYWtlIG9uZS4KCjIwMTMtMDctMjYgMTA6NDc6MjggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkgIHNlc3Npb246IHJlbW92ZSBvbGQgY29kZSB0byBjaGFuZ2UgU1NSQwoJICBSZW1vdmUgY29kZSB1c2VkIHRvIGNoYW5nZSB0aGUgU1NSQyBhZnRlciBhIGNvbGxpc2lvbi4gV2Ugbm93IHNlbmQKCSAgYSBSRUNPTkZJR1VSRSBldmVudCB1cHN0cmVhbSB0byBtYWtlIHRoZSB1cHN0cmVhbSBlbGVtZW50IGNoYW5nZSB0aGUgU1NSQy4KCjIwMTMtMDctMjYgMTA6NDI6NDQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSAgc291cmNlOiBkb24ndCB1cGRhdGUgcGFja2V0IFNTUkMKCSAgUmVtb3ZlIHRoZSBjb2RlIHRvIHVwZGF0ZSB0aGUgU1NSQyBpbiBwYWNrZXRzLCBpdCBjYW4gbmV2ZXIgYmUgY2FsbGVkIG5vdyB0aGF0CgkgIHdlIGFsd2F5cyB1c2UgYSBzb3VyY2Ugd2l0aCBtYXRjaGluZyBwYWNrZXQgU1NSQy4KCjIwMTMtMDctMjYgMTA6MjQ6MjIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgc2Vzc2lvbjogZGVsYXkgYWxsb2NhdGlvbiBvZiBpbnRlcm5hbCBzb3VyY2UKCSAgQWxsb2NhdGUgdGhlIGludGVybmFsIHNvdXJjZSB3aGVuIHdlIHJlY2VpdmUgYSBjYXBzIHdpdGggdGhlIFNTUkMgb3Igd2hlbiB3ZSBzZWUKCSAgYSBidWZmZXIgd2l0aCB0aGUgU1NSQy4KCjIwMTMtMDctMjYgMTA6MDA6NTggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgc2Vzc2lvbjogZ2VuZXJhdGUgcmVjb25maWd1cmUgb24gY29sbGlzaW9uCgkgIFdoZW4gd2UgZGV0ZWN0IGEgY29sbGlzaW9uLCBjaGFuZ2UgdGhlIFNTUkMgdGhhdCB3ZSBzdWdnZXN0IHVwc3RyZWFtCgkgIGFuZCB0cmlnZ2VyIFJFQ09ORklHVVJFLiBUaGlzIHNob3VsZCBtYWtlIHVwc3RyZWFtIHNlbGVjdCBhIG5ldyBTU1JDLgoKMjAxMy0wNy0yNiAwOTozNzoyNCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBzZXNzaW9uOiBwcm9kdWNlIFJUQ1AgZm9yIGFsbCBpbnRlcm5hbCBzb3VyY2VzCgkgIExvb3Agb3ZlciBhbGwgdGhlIGludGVybmFsIHNvdXJjZXMgYW5kIHByb2R1Y2UgUlRDUC4gV2UgYWxzbyBuZWVkCgkgIHRvIHF1ZXVlIHRoZSBSVENQIHBhY2tldHMgYW5kIHNlbmQgdGhlbSB3aGVuIHdlIGFyZSBmaW5pc2hlZC4KCjIwMTMtMDctMjYgMDE6NDA6MjAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgc2Vzc2lvbjogZGVwcmVjYXRlIGludGVybmFsIHNvdXJjZSBhbmQgc3NyYyBwcm9wZXJ0aWVzCgkgIERlcHJlY2F0ZSB0aGUgaW50ZXJuYWwgc291cmNlIGFuZCBpbnRlcm5hbCBzc3JjIHByb3BlcnRpZXMuIFRoZXJlIG1pZ2h0CgkgIGJlIG1vcmUgdGhhbiBvbmUgaW50ZXJuYWwgc291cmNlLgoKMjAxMy0wNy0yNiAwMToyOTowOCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgc2Vzc2lvbjogaW50ZXJuYWwgc291cmNlcyBkb24ndCB1c2UgcHJvYmF0aW9uCgoyMDEzLTA3LTI2IDAxOjI0OjA3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHNlc3Npb246IGdpdmUgY2FwcyB0byBzZXNzaW9uCgkgIExldCB0aGUgc2Vzc2lvbiBwYXJzZSB0aGUgY2FwcyBhbmQgdXBkYXRlIGl0cyBTU1JDIHdoZW4gbmVlZGVkLgoKMjAxMy0wNy0yNiAwMToxNDowNCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIHNlc3Npb246IG1ha2UgbWV0aG9kIHRvIHN1Z2dlc3QgYXZhaWxhYmxlIFNTUkMKCSAgTWFrZSBhIG1ldGhvZCB0byBzdWdnZXN0IHRoZSBiZXN0IGF2YWlsYWJsZSBTU1JDLiBUaGlzIGlzIHRoZSBTU1JDIG9mIHRoZSBsYXN0CgkgIGNyZWF0ZWQgaW50ZXJuYWwgc291cmNlIGFuZCBpcyB1c2VkIHRvIGluc3RydWN0IHVwc3RyZWFtIHRvIHByb2R1Y2UgdGhpcwoJICBTU1JDLgoKMjAxMy0wNy0yNiAwMTowMTo0OSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBzZXNzaW9uOiBrZWVwIFNERVMgYW5kIHNldCBvbiBuZXcgaW50ZXJuYWwgc291cmNlcwoJICBLZWVwIHRyYWNrIG9mIHRoZSBTREVTIG91cnNlbHZlcyBhbmQgc2V0IGl0IG9uIGFsbCBuZXdseSBjcmVhdGVkCgkgIGludGVybmFsIHNvdXJjZXMuCgoyMDEzLTA3LTI2IDAwOjQ4OjI1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBzZXNzaW9uOiBtYWtlIG1ldGhvZCB0byBtYWtlIGludGVybmFsIHNvdXJjZXMKCSAgQWRkIGEgbWV0aG9kIHRvIG9idGFpbiBhbiBpbnRlcm5hbCBzb3VyY2UgYW5kIHVzZSBpdCB0byBjcmVhdGUKCSAgb3VyIGludGVybmFsIHNvdXJjZQoKMjAxMy0wNy0yNiAwMDoyOTo0MSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc3RhdHMuaDoKCSAgc2Vzc2lvbjogY291bnQgaW50ZXJuYWwgc291cmNlcyBhbmQgaG93IG1hbnkgYXJlIHNlbmRlcnMKCjIwMTMtMDctMjYgMDA6MTQ6MjkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBydHBzZXNzaW9uOiBzZXBhcmF0ZSBCWUUgbWFya2luZyBhbmQgc2NoZWR1bGluZwoJICBGaXJzdCBtYXJrIHNvdXJjZXMgd2l0aCBCWUUgYW5kIHRoZW4gc2NoZWR1bGUgdGhlIEJZRSBSVENQIG1lc3NhZ2UuCgoyMDEzLTA3LTI1IDIzOjU2OjQ2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBzZXNzaW9uOiBnZXQgU1NSQyBmcm9tIFJUQ1AgcGFja2V0IGl0c2VsZgoJICBHZXQgdGhlIFNTUkMgZnJvbSB0aGUgUlRDUCBwYWNrZXQgaW5zdGVhZC4KCjIwMTMtMDctMjUgMjM6NTE6MzQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHNlc3Npb246IGZpeCBiYW5kd2lkdGggY2FsY3VsYXRpb24KCSAgV2UgaXRlcmF0ZSBvdmVyIGFsbCBzb3VyY2VzIGFuZCB0aGUgaW50ZXJuYWwgb25lIGlzIGFsc28gaW4gdGhlCgkgIGhhc2h0YWJsZSBzbyBhdm9pZCBhZGRpbmcgaXQgdHdpY2UuCgoyMDEzLTA3LTI1IDIzOjM4OjA4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBzZXNzaW9uOiBhZGQgc29tZSBkb2NzCgoyMDEzLTA3LTI1IDIzOjExOjA1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBzZXNzaW9uOiBSZWFycmFuZ2UgUlRDUCByZXBvcnRpbmcgYSBsaXR0bGUKCSAgTWFrZSBhIGZ1bmN0aW9uIHRvIGdlbmVyYXRlIGFuIFJUQ1AgcGFja2V0IGZvciBhIHNvdXJjZSwgcGFzcyB0aGUgc291cmNlIGFzIGEKCSAgcGFyYW1ldGVyLgoJICBNb3ZlIHRpbWVvdXQgb2YgY29sbGlzaW9ucyB0byBzZXNzaW9uIGNsZWFudXAgcGhhc2UuCgoyMDEzLTA3LTI1IDIyOjM5OjA0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBzZXNzaW9uOiBtb3ZlIGNoZWNrIGZvciBpc19lYXJseSBhcm91bmQKCSAgTW92ZSB0aGUgY2hlY2sgZm9yIHRoZSBlYXJseSBSVENQIHRvIHdoZXJlIGl0IGlzIG5lZWRlZCBhbmQgdXNlZC4KCjIwMTMtMDctMjUgMTc6MzU6MDIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHNlc3Npb246IHBhcnNlIHBhY2tldCBvdXRzaWRlIG9mIHRoZSBzZXNzaW9uIGxvY2sKCjIwMTMtMDctMjUgMTc6MzQ6MDYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHNlc3Npb246IGRvIG5pY2VyIGNoZWNrcyBmb3IgaW50ZXJuYWwgc291cmNlcwoKMjAxMy0wNy0yNSAxNzoxNTozNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmg6CgkgIHNlc3Npb246IGxldCBzb3VyY2Uga2VlcCB0cmFjayBpZiBpdCBzZW50IEJZRQoKMjAxMy0wNy0yNSAxNzowNjoyMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJICBzb3VyY2U6IHJlc2V0IG1vcmUKCjIwMTMtMDctMjUgMTY6NDk6NDEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5oOgoJICBzb3VyY2U6IGFsc28gdXNlIHRoZSBzb3VyY2UgZm9yIGJ5ZV9yZWFzb24KCSAgU3RvcmUgdGhlIEJZRSByZWFzb24gaW4gb3VyIGludGVybmFsIHNvdXJjZSBvYmplY3QuIFJlbmFtZSB0aGUgbWV0aG9kcyBvbiB0aGUKCSAgc291cmNlIG9iamVjdCBhIGxpdHRsZSBiZWNhdXNlIG5vdyB0aGUgQllFIGNhbiBiZSByZWNlaXZlZCBpbiBSVENQIG9yCgkgIHNldCB3aGVuIHRoZSBzZXNzaW9uIHdhbnRzIHRvIHNlbmQgQllFLgoKMjAxMy0wNy0yNSAxNjoyNDowNCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmg6CgkgIHNlc3Npb246IGNvbmZpZ3VyZSBzZGVzIHdpdGggc3RydWN0dXJlIG9ubHkKCSAgUmVtb3ZlIGNvZGUgdG8gY29uZmlndXJlIHRoZSBTREVTIHdpdGggbWV0aG9kcyBhbmQgdHlwZXMsIG9ubHkKCSAgYWxsb3cgY29uZmlndXJhdGlvbiB3aXRoIEdzdFN0cnVjdHVyZQoKMjAxMy0wNy0yNSAxNTo1NjozOSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgc2Vzc2lvbjogcmVmYWN0b3IgYWRkIGFuZCBmaW5kIHNvdXJjZQoJICBNYWtlIGZ1bmN0aW9ucyB0byBmaW5kIGFuZCBhZGQgYSBzb3VyY2UgdG8gdGhlIGhhc2h0YWJsZS4KCjIwMTMtMDctMjUgMTU6NDM6MTEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBzZXNzaW9uOiByZW1vdmUgc291cmNlIGZyb20gc3luY19ydGNwCgkgIFdlIGRvbid0IG5lZWQgdG8ga25vdyB0aGUgc2VuZGVyIHNvdXJjZSBvZiB0aGUgc2Vzc2lvbiBpbiB0aGUKCSAgY2FsbGJhY2ssIHRoZSBTUiBwYWNrZXQgaXMgZm9yIGFsbCBwYXJ0aWNpcGFudHMgaW4gdGhlIHNlc3Npb24uCgoyMDEzLTA3LTI0IDE0OjE4OjE0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogYWRkIHNvbWUgbW9yZSBkZWJ1ZwoKMjAxMy0wNy0xNSAxNzoxMTo0NSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuaDoKCSAgYWFjcGFyc2U6IGFsbG93IGNvbnZlcnNpb24gZnJvbSBBRFRTIHRvIHJhdyBBQUMKCSAgU29tZSBtdXhlcnMgKGVnLCBxdG11eCkgb25seSBzdXBwb3J0IHJhdyBBQUMsIHNvIHRoaXMgYWxsb3dzIGxpbmtpbmcKCSAgYW4gZW5jb2RlciB0aGF0IG91dHB1dHMgQURUUyBvbmx5IHRvIHRob3NlIG11eGVycy4KCSAgVGhlIGNvbnZlcnNpb24gaXMgc2ltcGxlIChvbWl0IHRoZSBmaXJzdCA3IG9yIDkgYnl0ZXMgb2YgdGhlIGZyYW1lKSwKCSAgYnV0IGhhcyB0byBiZSBkb25lIGluIHByZV9wdXNoIGluc3RlYWQgb2YgaGFuZGxlX2ZyYW1lIGFzIDEuMCBkb2VzCgkgIG5vdCBzZWVtIHRvIGFsbG93IHNraXBwaW5nIGJ5dGVzIHRoZXJlIGFzIDAuMTAgdXNlZCB0by4KCSAgT3RoZXIgY29udmVyc2lvbnMgYXJlIG5vdCBzdXBwb3J0ZWQgKHlldCkuCgoyMDEzLTA3LTE1IDE3OjE1OjQ0ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSAgYWFjcGFyc2U6IGZpeCBvYmplY3RfdHlwZSBwYXJzaW5nIG9mZi1ieS1vbmUgaW4gQURUUyBmcmFtZQoJICBBY2NvcmRpbmcgdG8gaHR0cDovL3dpa2kubXVsdGltZWRpYS5jeC9pbmRleC5waHA/dGl0bGU9QURUUywKCSAgdGhlIHZhbHVlIHN0b3JlZCBpbiBBRFRTIGhlYWRlcnMgaXMgb25lIGxlc3MgdGhhbiB0aGUgb2JqZWN0CgkgIHR5cGUgb2YgdGhlIEFBQyBzdHJlYW0uCgkgIEEgbG9vayBhdCBmZm1wZWcgc2hvd3MgaXQgYWxzbyBhZGRzIDEgdG8gdGhlIHZhbHVlIHJlYWQgb2ZmCgkgIHRoZSBBRFRTIGhlYWRlci4KCSAgTm90ZSB0aGF0IHRoaXMgbWlnaHQgYnJlYWsgb3RoZXIgdGhpbmdzIHRoYXQgaGFwcGVuIHRvIGhhdmUKCSAgYW4gaW52ZXJzZSBvZmYgYnkgb25lIHRvIG1hdGNoIHRoZSBleGlzdGluZyBjb2RlLgoKMjAxMy0wNy0yNSAxMToxMzowMSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogZml4IHNlcW51bSBoYW5kbGluZyBmb3Igc2Vla3MKCSAgVXNlIHRoZSBzYW1lIHNlcW51bSBhcyB0aGUgc2VlayBmb3IgZmx1c2hlcy9zZWdtZW50cyB0aGF0IGFyZQoJICBjYXVzZWQgYnkgdGhlIHNlZWsuIEFsc28gZG8gdGhlIHNhbWUgZm9yIHNlZ21lbnQgZXZlbnRzCgkgIEZpeGVzICM2NzYyNDIKCjIwMTMtMDctMjUgMDE6Mzk6NTggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguaDoKCSAgbWF0cm9za2FkZW11eDogZml4IHNlcW51bSBoYW5kbGluZyBmb3Igc2Vla3MKCSAgVXNlIHRoZSBzYW1lIHNlcW51bSBhcyB0aGUgc2VlayBmb3IgZmx1c2hlcy9zZWdtZW50cyB0aGF0IGFyZQoJICBjYXVzZWQgYnkgdGhlIHNlZWsuIEFsc28gZG8gdGhlIHNhbWUgZm9yIHNlZ21lbnQgZXZlbnRzCgkgIEZpeGVzICM2NzYyNDIKCjIwMTMtMDctMjUgMDE6MTE6MzEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBjb3JyZWN0bHkgaGFuZGxlIHNlcW51bSBmb3Igc2Vla3MgYW5kIHNlZ21lbnRzCgkgIFVzZSB0aGUgc2FtZSBzZXFudW0gb24gbWVzc2FnZXMgYW5kIGV2ZW50cyBmb3IgZGVyaXZlZCBldmVudHMuCgkgIEZpeGVkIGZvciBmbHVzaGVzIC8gc3RyZWFtLXN0YXJ0IC8gc2VnbWVudCBhZnRlciBhIHNlZWssIGFuZCBzZWdtZW50CgkgIGFmdGVyIGEgc2VnbWVudC4KCSAgRml4ZXMgIzY3NjI0MgoKMjAxMy0wNy0xMiAyMDowMTo0MiArMDIwMCAgQXJuYXVkIFZyYWMgPGF2cmFjQGZyZWVib3guZnI+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwaHR0cHNyYzogYWx3YXlzIGlnbm9yZSBIRUFEIGVycm9ycwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA0MjQxCgoyMDEzLTA3LTI1IDE0OjI2OjA3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkgIGpwZWdlbmM6IENsZWFuIHVwIHJlc2V0L3N0YXJ0L3N0b3AgaGFuZGxpbmcKCjIwMTMtMDctMjUgMTQ6MTM6MTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5oOgoJICBqcGVnZGVjOiBVc2UgYmFzZSBjbGFzcyBlcnJvciBoYW5kbGluZyBmdW5jdGlvbiBpbnN0ZWFkIG9mIHJlcGxpY2F0aW5nIGl0IGhlcmUKCjIwMTMtMDctMjUgMTQ6MTI6NTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogQ2xlYW4gdXAgaGFuZGxpbmcgb2YgcmVzZXQvc3RhcnQvc3RvcAoKMjAxMy0wNy0yNSAxMDo0MToyMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9maWxlcy9pZDMtNDA3MzQ5LTEudGFnOgoJKiB0ZXN0cy9maWxlcy9pZDMtNDA3MzQ5LTIudGFnOgoJKiB0ZXN0cy9maWxlcy9pZDMtNDQ3MDAwLXdjb3AudGFnOgoJICB0ZXN0czogZml4IHRlc3QgSUQzIHRhZ3MgdXAgbm90IHRvIHJlbHkgb24gZG9kZ3kgdHlwZWZpbmRpbmcgY29kZQoJICBDaGFuZ2UgMHhmZiAweGZiICdtcDMnIG1hcmtlciB0byAnZkxhQycgbWFya2VyLCBzbyB3ZSBjYW4gZml4CgkgIHRoZSB0eXBlZmluZGVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgxMzY4CgoyMDEzLTA3LTI1IDA4OjIyOjQ1ICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NpbmsuYzoKCSAgb3N4YXVkaW9zaW5rOiBpbnRlcnNlY3QgdGhlIHByb2JlZCBjYXBzIHdpdGggdGhlIGZpbHRlciBwYXNzZWQgdG8gZ2V0X2NhcHMoKQoKMjAxMy0wNy0yNCAxNDoxNzo0NSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBiaW46IGZpeCBjb21waWxhdGlvbgoKMjAxMy0wNy0yNCAxMjo0MjozMSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwdnJhd2RlcGF5LmM6CgkgIHZyYXdkZXBheTogZml4IFVZVlAgZm9ybWF0CgoyMDEzLTA3LTI0IDEyOjQxOjU4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHB2cmF3cGF5LmM6CgkgIHZyYXdwYXk6IGZpeCBVWVZQIGZvcm1hdAoKMjAxMy0wNy0yNCAxMjo0MTo0NCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwdnJhd3BheS5jOgoJICB2cmF3cGF5OiBmaXggY2FwcwoKMjAxMy0wNy0yNCAxMDo0OTowMyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IGZpeCBsb2NraW5nCgkgIFRha2UgdGhlIGxvY2sgZWFybGllciBzbyB0aGF0IHdlIGRvIHRoaW5ncyB0aGF0IGZvbGxvdyB3aXRoIHRoZSByaWdodAoJICBsb2NraW5nLgoKMjAxMy0wNy0yMyAxNzo0MDowMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogZG9uJ3QgdXNlIGludmFsaWQgdGltZXMgaW4gUlRDUCB0aW1lb3V0cwoJICBBbiBpbnZhbGlkIHRpbWVvdXQgY2FuIGJlIGNhbGN1bGF0ZWQgd2hlbiB3ZSBkaXNhYmxlZCBSVENQIGJ5IHNldHRpbmcgdGhlCgkgIGJhbmR3aWR0aCB0byAwLiBNYWtlIHN1cmUgYWxsIGNvZGUgY2FuIGhhbmRsZSB0aGlzIGNhc2UuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzQ2MjYKCjIwMTMtMDctMjMgMTc6Mzg6MjAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IGxvY2sgc2Vzc2lvbiB3aGVuIGNoYW5naW5nIGJhbmR3aWR0aAoJICBUYWtlIHRoZSBzZXNzaW9uIGxvY2sgd2hlbiBjaGFuZ2luZyB0aGUgYmFuZHdpZHRoIHByb3BlcnRpZXMgc28gdGhhdCB3ZSBkb24ndAoJICBlbmQgdXAgd2l0aCBpbmNvbnNpc3RlbnQgYmVoYXZpb3VyLgoKMjAxMy0wNy0yMyAxNzozNzowNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgc2Vzc2lvbjogcmVzZXQgc29tZSBSVENQIHZhcmlhYmxlcwoJICBUaGUgZWFybHlfc2VuZCB0aW1lIHdhcyBzZXQgdG8gMCBhbmQgYWx3YXlzIHRyaWdnZXJpbmcgYW4gZWFybHkgUlRDUCBwYWNrZXQuCgoyMDEzLTA3LTIzIDE1OjAzOjMxICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBBZGQgYWxsIHRoZSBtcGVnIFhEQ0FNIHZhcmlhbnRzCgkgIFRoaXMgc2hvdWxkIGNvdmVyIGFsbCBrbm93biBYRENBTSB2YXJpYW50cyAod2hpY2ggYXJlIGFsbCBtcGVnMiB2aWRlbykKCSAgRml4ZXMgIzY3MjIyNwoKMjAxMy0wNy0wMyAxODo0MTo0MiArMDIwMCAgQ2FybG9zIFJhZmFlbCBHaWFuaSA8ZHZAcHNldWRvdGVybWluYWwub3JnPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJICBydHBiaW46IGFkZGVkIGN1c3RvbSBkb3duc3RyZWFtIHN5bmMgZXZlbnQKCSAgcnRwYmluIGNhbiBub3cgc2VuZCBhIGN1c3RvbSBpbi1iYW5kIGRvd25zdHJlYW0gZXZlbnQgd2hpY2ggaW5mb3JtcwoJICBkb3duc3RyZWFtIHRoYXQgdGhlIGJpbiBoYXMgcmVjZWl2ZWQgYW4gUlRDUCBTUiBwYWNrZXQuIFRoaXMgaXMgdXNlZnVsCgkgIGZvciBhcHBsaWNhdGlvbnMgd2hpY2ggd2FudCB0byBkcm9wIHRoZSBpbml0aWFsIHVuc3luY2hyb25pemVkIHJlY2VpdmVkCgkgIFJUUCBwYWNrZXRzLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAzNTYwCgkgIFNpZ25lZC1vZmYtYnk6IENhcmxvcyBSYWZhZWwgR2lhbmkgPGR2QHBzZXVkb3Rlcm1pbmFsLm9yZz4KCjIwMTMtMDctMjIgMTg6MDA6MTYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBmaXggb24tdGhlLWZseSBjaGFuZ2luZyBvZiAibW9kZSIgYW5kICJmaWVsZHMiIHByb3BlcnRpZXMKCSAgV2UgY2FsbCBzZXRjYXBzKCkgdG8gcmVjb25maWd1cmUgb3Vyc2VsdmVzLCBidXQgd2UgbmVlZCB0byBwYXNzCgkgIHRoZSBjdXJyZW50ICpzaW5rKiBjYXBzLCBub3QgdGhlIHNvdXJjZSBjYXBzIHRoZW4uIEFsc28gZml4IGEKCSAgY2FwcyBsZWFrLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQxNTk5CgoyMDEzLTA3LTIyIDE1OjIzOjM5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgd2F2cGFyc2U6IEFkZCBzdXBwb3J0IGZvciBncm91cC1pZCBpbiB0aGUgc3RyZWFtLXN0YXJ0IGV2ZW50CgoyMDEzLTA3LTIyIDE1OjIzOjIwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IEFkZCBzdXBwb3J0IGZvciBncm91cC1pZCBpbiB0aGUgc3RyZWFtLXN0YXJ0IGV2ZW50CgoyMDEzLTA3LTIyIDE1OjIzOjExICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IEFkZCBzdXBwb3J0IGZvciBncm91cC1pZCBpbiB0aGUgc3RyZWFtLXN0YXJ0IGV2ZW50CgoyMDEzLTA3LTIyIDE1OjIyOjU1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4Lmg6CgkgIG1hdHJvc2thZGVtdXg6IEFkZCBzdXBwb3J0IGZvciBncm91cC1pZCBpbiB0aGUgc3RyZWFtLXN0YXJ0IGV2ZW50CgoyMDEzLTA3LTIyIDE1OjIyOjQ3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4Lmg6CgkgIHF0ZGVtdXg6IEFkZCBzdXBwb3J0IGZvciBncm91cC1pZCBpbiB0aGUgc3RyZWFtLXN0YXJ0IGV2ZW50CgoyMDEzLTA3LTIyIDE1OjIyOjM2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguaDoKCSAgZmx2ZGVtdXg6IEFkZCBzdXBwb3J0IGZvciBncm91cC1pZCBpbiB0aGUgc3RyZWFtLXN0YXJ0IGV2ZW50CgoyMDEzLTA3LTIyIDE1OjIyOjE2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguaDoKCSAgYXZpZGVtdXg6IEFkZCBzdXBwb3J0IGZvciBncm91cC1pZCBpbiB0aGUgc3RyZWFtLXN0YXJ0IGV2ZW50CgoyMDEzLTA3LTIyIDE1OjIxOjQ5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBleHQvZHYvZ3N0ZHZkZW11eC5jOgoJKiBleHQvZHYvZ3N0ZHZkZW11eC5oOgoJICBkdmRlbXV4OiBBZGQgc3VwcG9ydCBmb3IgZ3JvdXAtaWQgaW4gdGhlIHN0cmVhbS1zdGFydCBldmVudAoKMjAxMy0wNy0xOSAyMjo1OToxNSArMDIwMCAgTWF0aGlldSBEdXBvbmNoZWxsZSA8bWF0aGlldS5kdXBvbmNoZWxsZUBlcGl0ZWNoLmV1PgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgdmlkZW9taXhlcjogdXNlIGdzdF91dGlsX3VpbnQ2NF9zY2FsZSpfcm91bmQuCgkgIFRoZXJlIGNvdWxkIGJlIGEgY2FzZSB3aGVyZToKCSAgMSkgeW91IGRvIGEgbmV3IHNldF9jYXBzIGFmdGVyIGJ1ZmZlcnMgaGF2ZSBiZWVuIHByb2Nlc3NlZC4KCSAgMikgdHNfb2Zmc2V0IGdldHMgc2V0IHRvIGEgZGlmZmVyZW50IHZhbHVlLCBlZyAwLjAzMzMzMzMzMwoJICAzKSB5b3VyIHBhZHMgZ2V0IEVPUywgYnV0IHRoZSBjaGVjayBkb3IgdGhhdCBkb2Vzbid0IHdvcmsKCSAgYmVjYXVzZSB5b3UgdXNlIHRzX29mZnNldCArIGEgdHJ1bmNhdGVkIHZhbHVlIDwgc2VnbWVudC5zdG9wCgkgIDQpIHNvIGluIHRoZSBuZXh0IGNvbGxlY3RlZCwgeW91IGVuZCB1cCBjb21wYXJpbmcgZm9yIGV4YW1wbGU6CgkgIDAuOTk5OTk5OTk5OSA+IDEuLCB3aGljaCBpcyBmYWxzZSBhbmQgbWVhbnMgeW91IGRvbid0IHNlbmQgRU9TLgoJICBBbHNvIGFkZHMgc2NhbGVfcm91bmQgaW4gdHdvIG90aGVyIHBsYWNlcyB3aGVyZSBpdCBwb3RlbnRpYWxseSBjb3VsZAoJICBoYXZlIGNhdXNlZCBwcm9ibGVtcy4KCjIwMTMtMDctMTUgMTc6NTU6MTkgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4X2ZvdXJjYy5oOgoJICBxdGRlbXV4OiBBZGQgV1JMRSBzdXBwb3J0CgoyMDEzLTA3LTE5IDE5OjM1OjI2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXhfZm91cmNjLmg6CgkgIHF0ZGVtdXg6IG1ha2UgZmlsZXMgZnJvbSBWaXZvdGVrIGNhbWVyYSBwbGF5CgkgIFNraXAgdHJhY2tzIG9mICd2aXZvJyBzdWJ0eXBlIHdpdGggZW1wdHkgc3RzZCBpbnN0ZWFkIG9mCgkgIGVycm9yaW5nIG91dCBzYXlpbmcgdGhhdCB0aGUgZmlsZSBpcyBicm9rZW4uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTk3OTEKCjIwMTMtMDctMTkgMTc6MTQ6MDYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogd2hlbiBzdHJlYW1pbmcgZG9uJ3QgdHJ5IHRvIHNlZWsgd2hlbiBzdG9wcGluZwoJICBJdCBtaWdodCBjYXVzZSBlcnJvcnMgaW4gc2lua3MgdGhhdCBhcmUgbm90IHNlZWthYmxlIGFuZAoJICBoYXZlIHJlcG9ydGVkIHRoaXMgKGxpa2UgZS5nLiBmZHNpbmspCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTYyMjgKCjIwMTMtMDctMTkgMTc6MjY6NTQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogc2ltcGxpZnkgc29tZSBoZWxwZXJzCgkgIFNvbWUgaGVscGVyIGZ1bmN0aW9ucyBhcmUgbm90IG5lZWRlZCBhbnltb3JlIG9yIGNhbiBiZSBzaW1wbGlmaWVkLgoKMjAxMy0wNy0xOSAxNzoxMjozNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBmb3Igbm9uLXJhdyB2aWRlbywgbW92ZSBwYWxldHRlIGluIGNhcHMKCSAgV2Ugb25seSBuZWVkIHRvIGFwcGVuZCB0aGUgcGFsZXR0ZSB0byByYXcgdmlkZW8gYnVmZmVycywgbm9uLXJhdyB2aWRlbyBoYXMgdGhlCgkgIHBhbGV0dGUgaW4gdGhlIGNhcHMgc3RpbGwuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDQyOTIKCjIwMTMtMDctMTkgMDE6NDk6MjAgKzAyMDAgIEFybmF1ZCBWcmFjIDxhdnJhY0BmcmVlYm94LmZyPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IG5pdHBpY2tpbmcgaW4gZXNkcyBwYXJzaW5nCgoyMDEzLTA3LTE5IDAxOjQ5OjA3ICswMjAwICBBcm5hdWQgVnJhYyA8YXZyYWNAZnJlZWJveC5mcj4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBzZXQgcHJvcGVyIGNhcHMgZm9yIG1wZWctMSBhdWRpbwoJICBSZW1vdmUgQUFDIHNwZWNpZmljIGZpZWxkcyBmcm9tIG1wZWctMSBhdWRpbyBjYXBzLCByZW1vdmUgYXNzdW1wdGlvbgoJICB0aGF0IHRoZSBtcGVnMSBhdWRpbyBsYXllciBpcyAzLCBhbmQgc2V0IGBwYXJzZWQnIGZpZWxkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA0NTQ4CgoyMDEzLTA2LTE3IDIxOjI3OjM3ICswMjAwICBBcm5hdWQgVnJhYyA8YXZyYWNAZnJlZWJveC5mcj4KCgkqIGV4dC92cHgvZ3N0dnA4ZGVjLmg6CgkqIGV4dC92cHgvZ3N0dnA4ZW5jLmg6CgkqIGV4dC92cHgvZ3N0dnA5ZGVjLmg6CgkqIGV4dC92cHgvZ3N0dnA5ZW5jLmg6CgkgIHZweDogZml4IGNvbXBpbGF0aW9uIHdoZW4gZW5jb2RlciBvciBkZWNvZGVyIGhlYWRlcnMgYXJlIG5vdCBpbnN0YWxsZWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNDU0NwoKMjAxMy0wNy0xNiAyMDo0MToxNSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9jcm9wLmM6CgkgIHZpZGVvY3JvcDogRml4IHVuaXQgZm9yIEdSQVkxNiBmb3JtYXRzCgoyMDEzLTA3LTE2IDIyOjE3OjE3ICswMjAwICBBcm5hdWQgVnJhYyA8YXZyYWNAZnJlZWJveC5mcj4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiByZW1vdmUgY2hhcHRlciBzdHJlYW0KCSAgUmVtb3ZlIGFsbCBzdHJlYW1zIHRoYXQgYXJlIGFjdHVhbGx5IHRhYmxlIG9mIGNvbnRlbnRzLCBzaW5jZSB3ZSB3aWxsCgkgIG5ldmVyIG5lZWQgdGhlIGRhdGEgYWZ0ZXIgcGFyc2luZyB0aGVtLgoKMjAxMy0wNy0xNiAyMTo1OTozNyArMDIwMCAgQXJuYXVkIFZyYWMgPGF2cmFjQGZyZWVib3guZnI+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogc2VuZCBnYXAgZXZlbnQgZm9yIHNwYXJzZSBzdHJlYW1zIGluIHB1c2ggbW9kZQoJICBUaGlzIGFsbG93cyB0byBwcmUtcm9sbCBhdCBsZWFzdCBpZiB0aGUgbmV4dCBzdWJ0aXRsZSBidWZmZXIKCSAgaXMgZmFyIGF3YXkuCgoyMDEzLTA3LTE2IDIxOjU2OjA3ICswMjAwICBBcm5hdWQgVnJhYyA8YXZyYWNAZnJlZWJveC5mcj4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBkbyBub3QgdXNlIGluZGV4ZXMgZnJvbSBzcGFyc2Ugc3RyZWFtIHdoZW4gc2Vla2luZyBpbiBwdXNoIG1vZGUKCSAgVGhpcyBtYWtlcyBzZWVraW5nIG1vcmUgYWNjdXJhdGUgaW4gcHVzaCBtb2RlLCBzaW5jZSB0aGUgcHJldmlvdXMKCSAga2V5ZnJhbWUgb24gYSBzcGFyc2Ugc3RyZWFtIG1pZ2h0IGJlIGZhciBhd2F5LgoKMjAxMy0wNy0xNiAyMTowNDowNyArMDIwMCAgQXJuYXVkIFZyYWMgPGF2cmFjQGZyZWVib3guZnI+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogYWR2ZXJ0aXNlIHN1YnRpdGxlIHN0cmVhbXMgYXMgc3BhcnNlCgoyMDEzLTA3LTE3IDE3OjExOjQ0ICswMjAwICBBcm5hdWQgVnJhYyA8YXZyYWNAZnJlZWJveC5mcj4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXN0cm9rYWRlbXV4OiBkbyBub3QgcHVzaCBkaXNjb250IGJ1ZmZlcnMgaWYgdGhleSBhcmVuJ3QgZGlzY29udAoJICBVbnNldCB0aGUgZGlzY29udCBmbGFnIGluc3RlYWQgb2YgcG9zc3NpYmx5IHB1c2hpbmcgYSBidWZmZXIgd2l0aAoJICBhIGZsYWcgdGhhdCdzIHN0aWxsIHNldC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MjExMAoKMjAxMy0wNy0xNyAxNToxMDowMCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBleHRyYWN0IHRoZSBwYWxldHRlIGZyb20gc3RzZAoJICBTb21ldGltZXMgYSBwYWxldHRlIGlzIGluc2lkZSB0aGUgc3RzZCwgZXh0cmFjdCBpdCBpbnN0ZWFkIG9mIGFsd2F5cyB1c2luZwoJICB0aGUgZGVmYXVsdCBvbmUKCjIwMTMtMDctMTcgMTQ6MzA6MTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC9nb29tMmsxL2dzdGdvb20uYzoKCSAgZ29vbTJrMTogRml4IGV2ZW50IGhhbmRsaW5nIGFuZCBuZWdvdGlhdGUgYXMgc29vbiBhcyBwb3NzaWJsZQoKMjAxMy0wNy0xNyAxNDoyNzo1NyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L2dvb20vZ3N0Z29vbS5jOgoJICBnb29tOiBGaXggZXZlbnQgaGFuZGxpbmcgYW5kIG5lZ290aWF0ZSBhcyBzb29uIGFzIHBvc3NpYmxlCgoyMDEzLTA3LTExIDE5OjQ1OjE3ICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBvc3h2aWRlb3Npbms6IHdhcm4gYWJvdXQgdGhlIGZ1dHVyZSBkZXByZWNhdGlvbiBvZiB0aGUgImVtYmVkIiBwcm9wZXJ0eQoKMjAxMy0wNy0xNyAwOTo1NjowMSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBhZGQgc3VwcG9ydCBmb3IgV1JBVwoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA0MjkyCgoyMDEzLTA3LTE3IDA5OjU0OjU4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHBhbGV0dGUgaXMgYXBwZW5kZWQgdG8gYnVmZmVycywgbm90IGluIGNhcHMKCSAgRml4IHRoZSBwYWxldHRlIGhhbmRsaW5nLCBpbiAxLjAgd2UgYXBwZW5kIHRoZSBwYWxldHRlIHRvIHRoZSBidWZmZXIgaW5zdGVhZCBvZgoJICBwbGFjaW5nIGl0IG9uIHRoZSBjYXBzLgoJICBTZWUgYWxzbyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA0MjkyCgoyMDEzLTA3LTE2IDE1OjM3OjQ5IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBnc3RwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDJ0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcGFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcHZwYXkuYzoKCSAgcnRwOiBVc2UgZ3N0X2FkYXB0ZXJfdGFrZV9idWZmZXJfZmFzdCgpIHdoZXJlIHBvc3NpYmxlIGluIFJUUCBwYXlsb2FkZXJzCgoyMDEzLTA3LTE1IDE2OjI0OjA3ICswMjAwICBBcm5hdWQgVnJhYyA8YXZyYWNAZnJlZWJveC5mcj4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiByZXNldCBzZWdtZW50IG9uIGZsdXNoIHN0b3AKCSAgY2NhMmY1NTVkMTQgaW50cm9kdWNlcyBhIHJlZ3Jlc3Npb24sIHdoZXJlIHRoZSBkZW11eCBzZWdtZW50IGlzIG5vdAoJICByZXNldCBvbiBmbHVzaCBzdG9wLCBzbyB0aGUgbmV4dCB1cHN0cmVhbSBzZWdtZW50IGV2ZW50IHdpbGwgY2FsY3VsYXRlCgkgIGFuIGludmFsaWQgYmFzZSB0aW1lIG9uIHRoZSBuZXcgc2VnbWVudCB0byBiZSBzZW50IGRvd25zdHJlYW0uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDQyNTUKCjIwMTMtMDctMDYgMTc6MjA6NDkgKzAyMDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4Lmg6CgkgIHF0ZGVtdXg6IG9mZnNldCBzYW1wbGVzIGFjY29yZGluZyB0byBlZGl0IGxpc3QKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMDI2NAoKMjAxMy0wNy0xNCAxMjo1MDoxMyArMTIwMCAgRG91Z2xhcyBCYWduYWxsIDxkb3VnbGFzQGhhbG8uZ2VuLm56PgoKCSogdGVzdHMvZXhhbXBsZXMvc3BlY3RydW0vc3BlY3RydW0tZXhhbXBsZS5jOgoJICBsZXZlbDogRml4IHRoZSBzcGVjdHJ1bSBleGFtcGxlIGZvciAxLjAKCSAgVGhlICJtZXNzYWdlIiBwcm9wZXJ0eSBoYXMgYmVlbiByZXBsYWNlZCBieSAicG9zdC1tZXNzYWdlcyIuCgkgIFByZS1wYXRjaCBvdXRwdXQ6CgkgICh0ZXN0X3NwZWN0cnVtOjIzMTAxKTogR0xpYi1HT2JqZWN0LVdBUk5JTkcgKio6IGdfb2JqZWN0X3NldF92YWxpc3Q6CgkgIG9iamVjdCBjbGFzcyBgR3N0U3BlY3RydW0nIGhhcyBubyBwcm9wZXJ0eSBuYW1lZCBgbWVzc2FnZScKCSAgTmV3IHNwZWN0cnVtIG1lc3NhZ2UsIGVuZHRpbWUgMDowMDowMC4xMDAwMDAwMDAKCSAgKHRlc3Rfc3BlY3RydW06MjMxMDEpOiBHU3RyZWFtZXItQ1JJVElDQUwgKio6CgkgIGdzdF92YWx1ZV9saXN0X2dldF92YWx1ZTogYXNzZXJ0aW9uIGBHU1RfVkFMVUVfSE9MRFNfTElTVCAodmFsdWUpJyBmYWlsZWQKCSAgWy4uLl0KCSAgUG9zdC1wYXRjaDoKCSAgTmV3IHNwZWN0cnVtIG1lc3NhZ2UsIGVuZHRpbWUgMDowMDowMC4xMDAwMDAwMDAKCSAgYmFuZCAwIChmcmVxIDQwMCk6IG1hZ25pdHVkZSAtNjUuOTg4Nzc3IGRCIHBoYXNlIDEuNTMzMzk3CgkgIGJhbmQgMSAoZnJlcSAxMjAwKTogbWFnbml0dWRlIC02NS41NDU1NjMgZEIgcGhhc2UgLTAuNzgwOTAwCgkgIGJhbmQgMiAoZnJlcSAyMDAwKTogbWFnbml0dWRlIC02NC43OTE5NDYgZEIgcGhhc2UgLTAuNzk5NjExCgkgIGJhbmQgMyAoZnJlcSAyODAwKTogbWFnbml0dWRlIC02NC41NTYxNzUgZEIgcGhhc2UgLTAuMDYzNjE1CgkgIFsuLi5dCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDQxNzkKCjIwMTMtMDctMTMgMjA6NTY6MjYgKzAyMDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiBiZSBsZXNzIHZlcmJvc2Ugd2hlbiBwYXJzaW5nIExPQVMgc3RyZWFtcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA0MTYyCgoyMDEzLTA3LTEyIDEyOjMxOjM5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5oOgoJICBzaW5rOiBhbGF3L211bGF3IGNhcHMgZG9uJ3QgaGF2ZSBhIGxheW91dCBwcm9wZXJ0eQoKMjAxMy0wNy0xMiAxMjoyNzo1MyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXV0aWwuYzoKCSAgcHVsc2U6IHJlbGF4IG11bGF3IGFuZCBhbGF3IGZvcm1hdCBjaGVja3MKCSAgVGhlIGF1ZGlvIGxpYnJhcnkgY29uc2lkZXJzIHRoZW0gYXMgZW5jb2RlZCBmb3JtYXRzIGFuZCBkb2VzIG5vdCBmaWxsIGluIHRoZQoJICBzYW1wbGUgd2lkdGguIFRoZSBhdWRpbyByaW5nYnVmZmVycyBpZGVudGlmaWVzIHRoZSBmb3JtYXQgYXMgYWxhdy9tdWxhdyBhbmQgdGhhdAoJICBpcyBhbHdheXMgOCBiaXRzLgoKMjAxMy0wNy0xMSAxNjoxMzowNSArMDIwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguaDoKCSogZ3N0L2lzb21wNC9xdGRlbXV4X2ZvdXJjYy5oOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXhfdHlwZXMuYzoKCSAgcXRkZW11eDogdW5zZWxlY3QgaW5zdGVhZCBvZiBpZ25vcmluZyBkaXNhYmxlZCB0cmFjaywgZGV0ZWN0IGNoYXB0ZXIgdHJhY2sKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNDAwNwoKMjAxMy0wNy0xMSAyMDo0MToyMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cGh0dHBzcmM6IGlnbm9yZSBlcnJvcnMgZnJvbSBIRUFEIHJlcXVlc3QKCSAgSEVBRCByZXF1ZXN0cyBhcmUgdXNlZCB0byBjaGVjayB0aGUgc2VydmVyIGhlYWRlcnMgdG8gc2VlIGlmIGl0CgkgIHNlZWthYmxlLiBJZ25vcmUgZXJyb3JzIGZyb20gdGhvc2UgcmVxdWVzdHMgYXMgdGhleSBzaG91bGRuJ3QgYmUKCSAgY3JpdGljYWwuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDQwNTMKCjIwMTMtMDctMTIgMDM6MjQ6MDggKzA4MDAgIEt5b3N1a2UgTmVrb211cmEgPHN1cGVyY2F0ZXhwZXJ0QGdtYWlsLmNvbT4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZWNoby5jOgoJICBhdWRpb2VjaG86IEZpeCBoYW5kbGluZyBvZiBkZWxheSBwcm9wZXJ0eSBpbiBQTEFZSU5HL1BBVVNFRCBzdGF0ZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAzOTAxCgoyMDEzLTA3LTA5IDE3OjU2OjU3IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogRW5hYmxlIHByb3h5IGNhcHMgb24gdGhlIHNyYyBwYWRzCgoyMDEzLTA3LTExIDE2OjU3OjE1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQKCj09PSByZWxlYXNlIDEuMS4yID09PQoKMjAxMy0wNy0xMSAxNTo1ODo1MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuc2lnbmFsczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlzb21wNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9ub3Njb3BlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12cHgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDEuMS4yCgoyMDEzLTA3LTExIDE1OjU4OjI5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lby5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2dsLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9yby5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHBvL3poX0hLLnBvOgoJKiBwby96aF9UVy5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAxMy0wNy0wOSAxNTozNDowNCArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsuaDoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBvc3h2aWRlb3Npbms6IGRlZmVyIHRoZSB3aW5kb3cgaGFuZGxlIHNldHVwIHRvIHRoZSBtYWluIHRocmVhZAoKMjAxMy0wNy0wOSAxNTozMzoxOCArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgb3N4dmlkZW9zaW5rOiBkZWZhdWx0IHRvIHRoZSBtYWluIGluIGNhc2Ugd2UgYXJlIG5vdCBzZXR1cCB5ZXQKCjIwMTMtMDctMDcgMjI6MTY6MDUgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIG9zeHZpZGVvc2luazogY2xvc2UgdGhlIGludGVybmFsIHdpbmRvdyBjb3JyZWN0bHkKCjIwMTMtMDctMDcgMjE6MTQ6MjIgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLmg6CgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgb3N4dmlkZW9zaW5rOiBvbmx5IGNyZWF0ZSB0aGUgTlMgYXBwIHRocmVhZCBmb3IgQ29jb2Egb25jZQoJICBUaGUgaGVscGVyIHRocmVhZCBmb3IgQ29jb2EsIGluIGNhc2Ugbm8gTlMgcnVuIGxvb3AgaXMgcnVubmluZywKCSAgc2hvdWxkIGJlIHN0YXJ0ZWQgb25seSBvbmNlIGFuZCBzaGFyZWQgYWNyb3NzIGFsbCB0aGUgaW5zdGFuY2VzCgkgIHJ1bm5pbmcKCjIwMTMtMDctMDkgMTk6MTA6MTcgKzAyMDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogY29ycmVjdCBhcmd1bWVudCBvcmRlciBpbiBnc3RfdXRpbF91aW50NjRfc2NhbGVfaW50X3JvdW5kCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDMzNTAKCjIwMTMtMDctMDkgMTc6NDI6NTkgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBLZWVwIGNhcHMgb3JkZXIgZnJvbSB0aGUgcGVlciBvciB0aGUgZmlsdGVyCgoyMDEzLTA3LTA5IDEyOjQyOjE3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICB2aWRlb21peGVyOiBGaXggaGFuZGxpbmcgb2YgYnVmZmVycyB3aXRob3V0IGEgZHVyYXRpb24KCSAgV2UnbGwgaGF2ZSB0byBwb3AgYnVmZmVyIGZyb20gY29sbGVjdHBhZHMgYW5kIHN0b3JlIGl0CgkgIGludGVybmFsbHkgb25seSB0byBnZXQgdGhlIHRpbWVzdGFtcCBvZiB0aGUgbmV4dCBidWZmZXIuCgkgIElmIHdlIGNvbnRpbnVlIHRvIGtlZXAgaXQgaW4gY29sbGVjdHBhZHMsIG5vIG5ldyBidWZmZXIKCSAgdG8gY2FsY3VsYXRlIHRoZSBlbmQgdGltZSB3aWxsIGV2ZXIgYXJyaXZlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAzNzQzCgoyMDEzLTA3LTA5IDExOjUzOjA3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICB2aWRlb21peGVyOiBGaXggbmVnb3RpYXRpb24gd2l0aCAwLzEgZnJhbWVyYXRlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAzNzQzCgoyMDEzLTA3LTA5IDExOjE3OjU5ICswMjAwICBKb25hcyBIb2xtYmVyZyA8am9uYXNoZ0BheGlzLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBVbmxvY2sgc3RyZWFtIGxvY2sgYWZ0ZXIgdXNlCgkgIFN0cmVhbSBsb2NrIG9mIHNpbmsgcGFkIHdhcyBub3QgdW5sb2NrZWQgYWZ0ZXIgbm9uLXVwZGF0aW5nIHNlZWsuCgoyMDEzLTA2LTI3IDEzOjI2OjMxICswMjAwICBPZ255YW4gVG9uY2hldiA8b2dueWFuQGF4aXMuY29tPgoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRtdXguYzoKCSAgbXVsdGlwYXJ0bXV4OiBSZS1zZXQgbmVlZF9zZWdtZW50IGZsYWcgYWZ0ZXIgRkxVU0hfU1RPUAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAzMTgyCgoyMDEzLTA3LTA1IDExOjUxOjA0ICswMjAwICBNaWNoYWVsIE9sYnJpY2ggPG0ub2xicmljaEBwZW5ndXRyb25peC5kZT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDI6IGJ1ZmZlcnBvb2w6IGRvbid0IGZvcmdldCB0byByZWxlYXNlIGJ1ZmZlciBvbiBlcnJvcgoJICBJZiB0aGUgcG9vbCBpcyBzdG9wcGVkIHdoaWxlIGdzdF92NGwyX2J1ZmZlcl9wb29sX2RxYnVmKCkgd2FpdHMgZm9yIGEKCSAgYnVmZmVyIHRoZW4gdGhlIHJldHVybiB2YWx1ZSBpcyBHU1RfRkxPV19GTFVTSElORy4gSW4gdGhpcyBjYXNlIHRoZSBidWZmZXIKCSAgdG8gcXVldWUgbXVzdCBhbHNvIGJlIHJlbGVhc2VkLiBPdGhlcndpc2UgaXMgd2lsbCBuZXZlciBiZSBkZWxldGVkIG9yCgkgIHJldHVybmVkIHRvIGl0cyBwb29sLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAzNzY0CgoyMDEzLTA3LTA4IDE0OjE1OjEwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHAtcGF5bG9hZGluZy5jOgoJICBydHA6IEZhaWwgcGF5bG9hZGluZyB1bml0IHRlc3QgaWYgYW4gZXJyb3IgbWVzc2FnZSBpcyByZWNlaXZlZAoKMjAxMy0wNy0wOCAxNDowOTozNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcHBheS5jOgoJICBydHBoMjYzcHBheTogRG9uJ3QgcGFzcyB1cHN0cmVhbSBmaWx0ZXIgY2FwcyB0byBkb3duc3RyZWFtCgkgIERvd25zdHJlYW0gdXN1YWxseSBjYW4ndCBhY2NlcHQgdmlkZW8veC1oMjYzIGJ1dCBvbmx5IGFwcGxpY2F0aW9uL3gtcnRwLAoJICBzbyB3ZSB3b3VsZCBhbHdheXMgZ2V0IGFuIGVtcHR5IGludGVyc2VjdGlvbiBoZXJlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAyNjMyCgoyMDEzLTA3LTA1IDIyOjAwOjM3ICswMjAwICBQaW90ciBEcsSFZyA8cGlvdHJkcmFnQGdtYWlsLmNvbT4KCgkqIHBvL1BPVEZJTEVTLmluOgoJICBwbzogdXBkYXRlIFBPVEZJTEVTLmluCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDM2ODUKCjIwMTMtMDctMDIgMTE6MTM6MjUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGF2b2lkIHNvbWUgc3RyZHVwCgoyMDEzLTA3LTAyIDEwOjM3OjUwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBhZGQgc2VsZWN0LXN0cmVhbSBzaWduYWwKCSAgQWRkIGEgc2lnbmFsIHRvIGxldCB0aGUgYXBwIHNlbGVjdCB3aGF0IHN0cmVhbXMgd2lsbCBiZSBzZWxlY3RlZC4KCSAgU2VlIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MzQ0MTkKCjIwMTMtMDctMDIgMTA6Mzc6MzUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGF2b2lkIHN0cmR1cAoKMjAxMy0wNy0wMiAxMDoxMjoxNyArMDIwMCAgSi4gUmljayBSYW1zdGV0dGVyIDxyaWNrLnJhbXN0ZXR0ZXJAZ21haWwuY29tPgoKCSogZ3N0L3J0cC9SRUFETUU6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHA6IEZpeCBkb2N1bWVudGF0aW9uIGFuZCBjb21tZW50cyB0byB1c2UgcnRwYmluIGluc3RlYWQgb2Ygb2xkIGdzdHJ0cGJpbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAzNDI2CgoyMDEzLTA3LTAxIDE2OjU1OjAxICswMjAwICBNaWNoYWVsIE9sYnJpY2ggPG0ub2xicmljaEBwZW5ndXRyb25peC5kZT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMjogZG9uJ3QgZXh0cmFjdCBkYXRhIGZyb20gY2FwcyB0d2ljZQoJICBnc3RfdmlkZW9faW5mb19mcm9tX2NhcHMoKSBhbHdheXMgZXh0cmFjdCB3aWR0aCwgaGVpZ2h0LCBpbnRlcmxhY2UgbW9kZSBhbmQKCSAgZnJhbWVyYXRlIG5vdy4gSXQgaXMgbm8gbG9uZ2VyIG5lY2Vzc2FyeSB0byBkbyBpdCBhZ2FpbiBmb3IgZW5jb2RlZAoJICBmb3JtYXRzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAzMzk5CgoyMDEzLTA2LTIwIDA5OjQxOjQ4IC0wMzAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuaDoKCSAgc291cGh0dHBzcmM6IGFsc28gY29uc2lkZXIgc3RvcCBwb3NpdGlvbnMgaW4gc2Vla3MKCSAgVXNlIHNlZWsgc3RvcCBwb3NpdGlvbiBhcyByYW5nZSBlbmQgZm9yIHJlcXVlc3RzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDIyMDYKCjIwMTMtMDYtMTkgMTQ6MDY6NDAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmg6CgkgIHNvdXBodHRwc3JjOiBhbGxvdyBzZWVrcyBpbiByZWFkeQoJICBPbiBpc19zZWVrYWJsZSwgY2hlY2sgaWYgdGhlIHNlcnZlcidzIGhlYWRlcnMgaGF2ZSBhbHJlYWR5IGJlZW4KCSAgcmVjZWl2ZWQuIElmIG5vdCwgZG8gYSBIRUFEIHJlcXVlc3QgdG8gZ2V0IHRoZW0gYmVmb3JlIHJlc3BvbmRpbmcKCSAgdG8gYmFzZXNyYy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMjIwNgoKMjAxMy0wNy0wMSAxNzoyODo1NSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogYWRkIHNpZ25hbCB0byBub3RpZnkgb2YgdGhlIFNEUAoJICBUaGlzIHdheSwgdGhlIGFwcCBjYW4gbG9vayBhbmQgbW9kaWZ5IHRoZSBTRFAuCgoyMDEzLTA2LTIxIDE4OjEwOjI4ICswMjAwICBLaXNob3JlIEFyZXBhbGxpIDxraXNob3JlLmFyZXBhbGxpQGdtYWlsLmNvbT4KCgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zm92ZXJsYXkuYzoKCSAgZ2RrcGl4YnVmb3ZlcmxheTogQWxsb3cgbmVnYXRpdmUgb2Zmc2V0cyB0byBzcGVjaWZ5IG9mZnNldCBmcm9tIGJvdHRvbS9yaWdodAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAyODI2CgoyMDEzLTA2LTMwIDIxOjAxOjIwICswMjAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L2lzb21wNC9NYWtlZmlsZS5hbToKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGNvbXB1dGUgZnJhbWVyYXRlIGZyb20gYXZlcmFnZSBzYW1wbGUgZHVyYXRpb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMzM1MAoKMjAxMy0wNi0yNSAyMToxNjozOCArMDIwMCAgQWxiYW4gQnJvd2FleXMgPHByYWhhbEB5YWhvby5jb20+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdmRlbXV4OiBBZGQgZmx2dmVyc2lvbiAxIHRvIHRoZSBmbGFzaC12aWRlbyBjYXBzCgkgIFRoaXMgYWxsb3dzIHVzaW5nIGF2ZGVjX2ZsdiB3aGljaCByZXF1aXJlcyB0aGlzIGZpZWxkIHRvIGJlCgkgIHByZXNlbnQgaW4gdGhlIGNhcHMuIEZMViBvbmx5IHN1cHBvcnRzIGZsYXNoLXZpZGVvIHZlcnNpb24gMQoJICByaWdodCBub3cuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDMwNzYKCjIwMTMtMDctMDEgMTE6Mzc6MDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOgoJICBkZWludGVybGVhdmU6IERvbid0IGhvbGQgb2JqZWN0IGxvY2sgd2hpbGUgc2VuZGluZyBldmVudHMgZG93bnN0cmVhbQoJICBCYXNlZCBvbiBhIHBhdGNoIGJ5IEtpc2hvcmUgQXJlcGFsbGkgPGtpc2hvcmUuYXJlcGFsbGlAZ21haWwuY29tPgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAzMTE0CgoyMDEzLTA3LTAxIDEwOjU5OjA3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogQWRkIE1QRUc0IHZpZGVvIHByb2ZpbGUvbGV2ZWwgdG8gdGhlIGNhcHMKCjIwMTMtMDctMDEgMTA6NTY6MjggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBBZGQgQUFDIHByb2ZpbGUvbGV2ZWwgdG8gdGhlIGNhcHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMzMxMgoKMjAxMy0wNi0yOCAxNToyMTo1NiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzcGF5Lmg6CgkgIHZvcmJpc3BheTogYWRkIHN1cHBvcnQgZm9yIGNvbmZpZy1pbnRlcnZhbAoJICBBbGlnbiBjb2RlIHdpdGggdGhlIHRoZW9yYSBwYXlsb2FkZXIgYW5kIGFkZCBzdXBwb3J0IGZvciB0aGUgY29uZmlnLWludGVydmFsIHRvCgkgIHBlcmlvZGljYWxseSBzZW5kIG91dCB0aGUgY29uZmlnIGhlYWRlcnMuCgoyMDEzLTA2LTI4IDE1OjIxOjEyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFwYXkuYzoKCSAgdGhlb3JhcGF5OiBzbWFsbCBjbGVhbnVwcwoKMjAxMy0wNi0yOCAxMjowODoxOSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhcGF5LmM6CgkgIHRoZW9yYXBheTogaGFuZGxlIHN0cmVhbWhlYWRlcnMgYXMgd2VsbAoKMjAxMy0wNi0yOCAxMjowNjoyMSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzcGF5LmM6CgkgIHZvcmJpc3BheTogYWx3YXlzIGNvbGxlY3QgaGVhZGVycyBvbiBkYXRhCgkgIFdoZW4gd2Ugc2VlIGEgZGF0YSBwYWNrZXQsIGFsd2F5cyBjaGVjayBpZiB3ZSBuZWVkIHRvIGNvbGxlY3QgYW55IHByZXZpb3VzCgkgIGhlYWRlcnMuCgoyMDEzLTA2LTI4IDExOjQzOjE3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNwYXkuYzoKCSAgdm9yYmlzcGF5OiBoYW5kbGUgc3RyZWFtaGVhZGVyIGFzIHdlbGwKCSAgVGFrZSBjb25maWcgc3RyaW5ncyBmcm9tIHRoZSBzdHJlYW1oZWFkZXIgd2hlbiB3ZSBjYW4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NDMxMgoKMjAxMy0wNi0yNyAwNzo0MDoyOSArMDIwMCAgRGF2aWQgU3ZlbnNzb24gRm9ycyA8ZGF2aWRzZkBheGlzLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJICBydHBoMjY0cGF5OiBhdm9pZCBkb3VibGUgYnVmZmVyIHVubWFwIG9uIGVycm9yCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDMxNzEKCjIwMTMtMDYtMjcgMTc6MDI6MTQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IHJlc2V0LXN5bmMgYmVmb3JlIHBsYXkKCSAgQ2FsbCByZXNldC1zeW5jIG9uIHRoZSBydHBiaW4gYmVmb3JlIHdlIGdvIHRvIHBsYXlpbmcuIFRoaXMgbWFrZXMgdXMgcmVxdWlyZSBTUgoJICBwYWNrZXRzIGZvciBhbGwgc3RyZWFtcyBhZ2FpbiBiZWZvcmUgd2UgYXR0ZW1wdCB0byBzeW5jIHRoZW0uIElmIHdlIGRvbid0IHJlc2V0LAoJICBpdCBtaWdodCBiZSB0aGF0IHdlIGNvbWJpbmUgU1IgcGFja2V0cyBmcm9tIGJlZm9yZSBhbmQgYWZ0ZXIgdGhlIFBBVVNFL1BMQVlJTkcKCSAgc3RhdGUgY2hhbmdlIGFuZCBlbmQgdXAgd2l0aCBodWdlIGJvZ3VzIG9mZnNldHMuCgoyMDEzLTA2LTI3IDE2OjIzOjIwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogaW1wcm92ZSBzeW5jIG9uIGZpcnN0IHBhY2tldHMKCSAgRG9uJ3QgdGhyb3cgYXdheSB0aGUgZmlyc3QgUlRDUCBwYWNrZXQgaWYgaXQgYXJyaXZlcyBiZWZvcmUgdGhlIGZpcnN0CgkgIFJUUCBwYWNrZXQgYnV0IHJlbWVtYmVyIGFuZCB1c2UgaXQgdG8gc2lnbmFsIHN5bmMgb25jZSB3ZSBnZXQgdGhlCgkgIFJUUCBwYWNrZXQuCgkgIFNlZSBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkxNDAwCgoyMDEzLTA2LTI3IDE2OjE1OjQ1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogb25seSBzaWduYWwgbG9vcCB3aGVuIGFjdGl2ZQoJICBPbmx5IHNpZ25hbCB0aGUgbG9vcCBmdW5jdGlvbiB3aGVuIGl0IGlzIGFjdGl2ZS4KCjIwMTMtMDYtMjcgMTY6MTM6MzcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBzaWduYWwgdGltZXN0YW1wIGRpc2NvbnQKCSAgV2UgY2FuIG5vdyB1c2UgdGhlIFJFU1lOQyBidWZmZXIgZmxhZyB0byBtYXJrIGEgdGltZXN0YW1wIGRpc2NvbnQgd2hlbiB3ZSB1cGRhdGUKCSAgdGhlIHRzLW9mZnNldCBwcm9wZXJ0eS4KCjIwMTMtMDYtMjYgMjA6NDk6NDEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdwYXkuYzoKCSAganBlZ3BheTogdHVybiBzb21lIGVycm9ycyBpbnRvIHdhcm5pbmdzCgkgIFR1cm4gc29tZSBlcnJvcnMgaW50byB3YXJuaW5ncywgd2UgY2FuIGNvbnRpbnVlIHByb2Nlc3Npbmcgc28gdGhpcyBzaG91bGQKCSAgbm90IGJlIGZhdGFsLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU3MDc5CgoyMDEzLTA2LTI2IDE0OjU4OjUzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIHJ0c3BzcmM6IGF2b2lkIHNvbWUgZmx1c2hlcwoKMjAxMy0wNi0yNiAxNDo0MTowMCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogaGFuZGxlIGRhdGEgbWVzc2FnZSB3aGVuIHdhaXRpbmcgZm9yIHJlcGx5CgkgIFdoZW4gd2UgYXJlIHdhaXRpbmcgZm9yIGEgc2VydmVyIHJlcGx5LCBoYW5kbGUgZGF0YSBtZXNzYWdlcyBpbnN0ZWFkIG9mCgkgIGlnbm9yaW5nIHRoZW0uCgoyMDEzLTA2LTI2IDE0OjI3OjM0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBoYW5kbGUgZGF0YSBtZXNzYWdlcyBpbiBzZXBhcmF0ZSBtZXRob2QKCSAgUmVmYWN0b3IgYW5kIG1ha2UgYSBtZXRob2QgdG8gaGFuZGxlIGEgZGF0YSBtZXNzYWdlLgoKMjAxMy0wNi0yNSAyMDozNjoxOCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogYWRkIHNvbWUgbW9yZSBkb2NzIHRvIGhhbmRsZS1yZXF1ZXN0IHNpZ25hbAoJICBTZWUgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMjcwNQoKMjAxMy0wNi0xMCAxNzoyMDozMCAtMDQwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgU2VuZCBhIGNsb2NrX3Byb3ZpZGUgbWVzc2FnZSBvbiB0aGUgYnVzIHdoZW4gd2UgZ2V0IGEgbmV0Y2xvY2sKCjIwMTMtMDYtMTAgMTc6MjA6MTQgLTA0MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgcnRzcHNyYzogRXhwb3NlIHVzZS1waXBlbGluZS1jbG9jayBwcm9wZXJ0eQoKMjAxMy0wNi0yNCAxNzoxMTozNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkgIHVkcHNpbms6IGJpbmQgdG8gdGhlIGdpdmVuIGludGVyZmFjZQoJICBBY3R1YWxseSBjYWxsIEJJTkRUT0RFVklDRSB0byBiaW5kIHRvIHRoZSBpbnRlcmZhY2UgYXMgZ2l2ZW4gYnkgdGhlCgkgIHByb3BlcnR5LgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAyODE5CgoyMDEzLTA2LTIyIDEwOjU5OjE3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBleHQvdnB4L2dzdHZwOGRlYy5jOgoJICB2cDhkZWM6IEVycm9yIG91dCBncmFjZWZ1bGx5IGlmIHdlIGdldCBhbiB1bnN1cHBvcnRlZCBjb2xvciBmb3JtYXQKCSAgSW4gdGhlb3J5IHdlIGNhbiBvbmx5IGdldCBJNDIwIHRob3VnaCwganVzdCB0byBiZSBvbiB0aGUgc2FmZSBzaWRlLgoKMjAxMy0wNi0yMiAxMDo1Nzo0MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZXh0L3ZweC9nc3R2cDlkZWMuYzoKCSogZXh0L3ZweC9nc3R2cDllbmMuYzoKCSAgdnA5OiBBZGQgc3VwcG9ydCBmb3IgWVYxMiwgWTQyQiBhbmQgWTQ0NCBjb2xvciBmb3JtYXRzCgkgIFRoZSBlbmNvZGVyIGRvZXMgbm90IHdvcmsgd2l0aCBZNDJCIGFuZCBZNDQ0IHlldCBpdCBzZWVtcy4KCjIwMTMtMDYtMjIgMTA6MjY6MTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGV4dC92cHgvZ3N0dnA5ZGVjLmM6CgkgIHZwOWRlYzogVXBkYXRlIGRlZmF1bHQgcG9zdHByb2Mgc2V0dGluZ3MgZnJvbSB2cDlfZHhfaWZhY2UuYwoKMjAxMy0wNi0yMSAxMzoxMTozMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuaDoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJKiBnc3QvbWF0cm9za2Evd2VibS1tdXguYzoKCSAgbWF0cm9za2E6IEFkZCBpbml0aWFsIFZQOSBzdXBwb3J0CgoyMDEzLTA2LTIxIDEzOjA3OjMwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC92cHgvTWFrZWZpbGUuYW06CgkqIGV4dC92cHgvZ3N0dnA5ZGVjLmM6CgkqIGV4dC92cHgvZ3N0dnA5ZGVjLmg6CgkqIGV4dC92cHgvZ3N0dnA5ZW5jLmM6CgkqIGV4dC92cHgvZ3N0dnA5ZW5jLmg6CgkqIGV4dC92cHgvcGx1Z2luLmM6CgkgIHZweDogQWRkIGluaXRpYWwsIGV4cGVyaW1lbnRhbCBWUDkgc3VwcG9ydAoKMjAxMy0wNi0yMSAxMDozMjozMCArMDIwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpIGF0IGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcDogZ28gYmFjayBpbnRvIHRoZSBsb29wIGFmdGVyIGRvaW5nIHBhdXNlCgkgIEFmdGVyIHdlIGRvIGEgcGF1c2UgcmVxdWVzdCwgZ28gYmFjayB0byBsb29wIG1vZGUgc28gdGhhdCB3ZSBjYW4gbGlzdGVuCgkgIGZvciBzZXJ2ZXIgbWVzc2FnZXMgYWdhaW4uCgkgIFNlZSBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAyNzA1CgoyMDEzLTA2LTIwIDIzOjE2OjE3IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOgoJICBydHBwdGRlbXV4OiBXYWl0IGFmdGVyIHRoZSBjYXBzIHRvIGZvcndhcmQgdGhlIG90aGVyIGV2ZW50cwoJICBGaXJzdCBmb3J3YXJkIHRoZSBzdHJlYW0tc3RhcnQsIHRoZW4gdGhlIGNhcHMsIHRoZW4gdGhlIHJlc3QKCjIwMTMtMDYtMjEgMDA6NDI6MDIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOgoJICB4aW1hZ2VzcmM6IGNsZWFyIGR0cyBvbiBidWZmZXIgYWNxdWlyZWQgZnJvbSBwb29sCgkgIFdoZW4gc2V0dGluZyB0aW1lc3RhbXBzIG9uIG91dGdvaW5nIGJ1ZmZlcnMsIGNsZWFyIHRoZQoJICBkdHMgZXhwbGljaXRseSwgb3RoZXJ3aXNlIGl0IG1heSBlbmQgdXAgYmVpbmcgc2V0IHRvIGEKCSAgYm9ndXMgdmFsdWUgZnJvbSBsYXN0IHRpbWUgaXQgd2FzIHVzZWQuIEF2b2lkcyBldmVyeQoJICBzZWNvbmQgb3Igc28gYnVmZmVyJ3MgZHRzIGJlaW5nIHNldCB0byAwLiBOb3QgdGhhdCBpdAoJICBzaG91bGQgbWF0dGVyIGZvciByYXcgdmlkZW8uCgoyMDEzLTA2LTIwIDE1OjM1OjExICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMi5jOgoJICB2NGwyOiBkb24ndCByZWRlZmluZSB0aGUgUEVSRk9STUFOQ0UgZGVidWcgdmFyaWFibGUKCSAgSXQgaXMgYWxyZWFkeSBkZWZpbmVkIGluIGNvcmUuCgkgIGZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDI3MzIKCjIwMTMtMDYtMjAgMTQ6NDM6NDcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGZpeCByYWNlIGluIHN0YXRlIGNoYW5nZSB0byBwYXVzZWQKCSAgV2hlbiB3ZSBnbyB0byBwYXVzZWQsIHdlIGZpcnN0IGZsdXNoIHRoZSBjb25uZWN0aW9uIGFuZCB0aGVuIHNlbmQgdGhlIHBhdXNlCgkgIGNvbW1hbmQuIEFzIGEgcmVzdWx0IG9mIHRoZSBmbHVzaGluZywgdGhlIHNjaGVkdWxlZCBwYXVzZWQgY29tbWFuZCBjYW4gZ2V0CgkgIGxvc3QuIFdhaXQgdW50aWwgdGhlIGNvbm5lY3Rpb24gaXMgY29tcGxldGVseSBmbHVzaGVkIGFuZCB0aGUgcnRzcCB0YXNrIGlzCgkgIHdhaXRpbmcgYmVmb3JlIGlzc3VpbmcgdGhlIHBhdXNlZCBvciBwbGF5aW5nIHJlcXVlc3QuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDI3MDUKCjIwMTMtMDYtMjAgMTE6MzE6MjIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogaGFuZGxlIFNFR01FTlQgcXVlcnkKCjIwMTMtMDYtMTkgMTI6Mzc6MzEgKzAyMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZC5zaW1vbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICB2NGwyOiBPcHRpbWl6ZSBuZWdvdGlhdGlvbiBieSByZW1vdmluZyB0aGUgcXVlcnkgZmlsdGVyCgkgIEFzIGNhbWVyYXMgdGVuZCB0byBoYXZlIGEgcXVpdGUgc3BlY2lmaWMgc2V0IG9mIGNhcGFiaWxpdGllcyAoc3BlY2lmaWMKCSAgZnJhbWVyYXRlcyBmb3IgZWFjaCByZXNvbHV0aW9uKSwgZ2V0dGluZyB0aGUgcGVlciBjYXBzIGZpbHRlcmVkIGJ5IG91cgoJICBwcm9iZWQgY2FwcyBjYW4gY2F1c2UgYSBiaWcgaW5jcmVhc2UgaW4gdGhlIGNhcHMgc2l6ZSB3aGljaCBzbG93cyBkb3duCgkgIHRoaW5ncyBxdWlyZSBhIGJpdC4KCSAgQXMgZm9yIG5lZ290aWF0aW9uIHY0bDIgaXRlcmF0ZXMgdGhyb3VnaCB0aGUgY2FwcyBvZiB0aGUgcGVlciB0byBmaW5kIHRoZQoJICBmaXJzdCBpbnRlcnNlY3Rpb24gd2l0aCB0aGUgcHJvYmVkIGNhcHMsIGdldHRpbmcgdGhlIGZ1bGx5IGV4cGFuZGVkCgkgIGludGVyc2VjdGlvbiBvZiBjYXBhYmlsaXRpZXMgaXMgbm90IHVzZWZ1bC4KCSAgVXNpbmcgdGhlIHNhbWUgdGVzdGNhc2UgYXMgZm9yIGJ1ZyAjNzAyNjMyLCBhZGRpbmcgdGhpcyBwYXRjaCBvbiB0b3Agb2YKCSAgdGhlIHBhdGNoZXMgc3VnZ2VzdGVkIHRoZXJlIHNwZWVkcyB1cCBnZXR0aW5nIHRoZSBpbml0YWwgZnJhbWUgZnJvbQoJICBhcm91bmQgfjE0LTE1IHNlY29uZHMgdG8gYXJvdW5kIH4zLTQgc2Vjb25kcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMjYzOAoKMjAxMy0wNi0xOSAxMDozMDo1NiArMDIwMCAgS2lzaG9yZSBBcmVwYWxsaSA8a2lzaG9yZS5hcmVwYWxsaUBnbWFpbC5jb20+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBkdXJhdGlvbiBxdWVyeSByZXR1cm5zIHplcm8gZm9yIERWIHZpZGVvIGluIGF2aQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAyNjI1CgoyMDEzLTA2LTE5IDExOjA2OjM3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogRGlzYWJsZSB1c2FnZSBvZiBhbGxvY2F0aW9uIHF1ZXJpZXMKCSAgVGhpcyBjYW4gb25seSByZWxpYWJseSB3b3JrIGlmIGRlbXV4ZXJzIGhhdmUgYQoJICBzZXBhcmF0ZSBzdHJlYW1pbmcgdGhyZWFkIHBlciBzcmNwYWQuIFRoaXMgc2hvdWxkIGJlCgkgIGRvbmUgaW4gYSBkZW11eGVyIGJhc2UgY2xhc3MsIHdoaWNoIGludGVncmF0ZXMgcGFydHMKCSAgb2YgbXVsdGlxdWV1ZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAxODU2CgoyMDEzLTA2LTExIDE1OjAyOjIxICswMTAwICBBbGV4IEFzaGxleSA8YnVnemlsbGFAYXNobGV5LWZhbWlseS5uZXQ+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgQXZvaWQgc2tpcHBpbmcgbW9vdiBhdG9tcyBmb3IgZnJhZ21lbnRlZCBNUDQgZmlsZXMuCgkgIGJ1ZyAjNzAwNTA1CgkgIEZvbGxvd2luZyBhIHJlcHJlc2VudGF0aW9uIGNoYW5nZSB0aGF0IGNhdXNlcyBhIHJlc29sdXRpb24gY2hhbmdlLAoJICB0aGUgdmlkZW8gZGVjb2RlciBmYWlscyB0byBkZWNvZGUgY29ycmVjdGx5LiBEYXNoZGVtdXggZGV0ZWN0cyB0aGUKCSAgcmVwcmVzZW50YXRpb24gY2hhbmdlIGFuZCBwdXNoZXMgYSBuZXcgY2FwcyBldmVudCBhbmQgYW4KCSAgaW5pdGlhbGl6YXRpb24gc2VnbWVudCAoYSBuZXcgbW9vdiBhdG9tKSB0byB0aGUgZG93bnN0cmVhbSBxdGRlbXV4LAoJICBidXQgaXQgZG9lc24ndCBoYW5kbGUgdGhpcyBuZXcgbW9vdiB5ZXQsIGl0IHdpbGwgb25seSBwYXJzZSB0aGUKCSAgZmlyc3Qgb25lIGl0IHJlY2VpdmVzLgoJICBUaGlzIGNvbW1pdCBjaGFuZ2VzIHF0ZGVtdXggdG8gYWNjZXB0IGEgbmV3IG1vb3YgaW4gYSBkYXNoIGJpdHN0cmVhbQoJICBzd2l0Y2hpbmcgc2NlbmFyaW8uCgoyMDEzLTA2LTE5IDAwOjQyOjU0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogc2VuZCBzdHJlYW0tc3RhcnQgb25seSBvbmNlIGZvciBlYWNoIHN0cmVhbQoJICBEbyBub3Qgc2VuZCBzdHJlYW0gc3RhcnQgYWdhaW4gd2hlbiByZWNvbmZpZ3VyaW5nIGEgcGFkIGZvciBuZXcgY2Fwcy4KCSAgVGhhdCBpcyBjb21tb24gZm9yIGFkYXB0aXZlIHN0cmVhbXMKCjIwMTMtMDYtMDUgMTc6MDI6NDkgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvb3N4dmlkZW8vY29jb2F3aW5kb3cubToKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBvc3h2aWRlb3Npbms6IGZpeCBzdXBwb3J0IGluIFZNJ3Mgd2l0aG91dCBoYXJkd2FyZSBhY2NlbGVyYXRpb24KCjIwMTMtMDYtMTUgMTI6Mjk6MzEgKzAyMDAgIEplbnMgR2VvcmcgPG1haWxAamVuc2dlLm9yZz4KCgkqIGdzdC9ydHAvZ3N0cnRwbXAydGRlcGF5LmM6CgkgIHJ0cG1wMnRkZXBheTogYWNjZXB0IG1pc2xhYmVsbGVkIHN0cmVhbXMgZnJvbSBHU3RyZWFtZXIgMC4xMCBhcyB3ZWxsCgkgIFRoZSBtcDJ0IHBheWxvYWRlciBpbiAwLjEwIG1pc2xhYmVsbGVkIHRoZSBzdHJlYW1zIGFzIE1QMlQtRVMKCSAgaW5zdGVhZCBvZiBNUDJULCBzbyBhY2NlcHQgdGhhdCBhcyB3ZWxsIGZvciBjb21wYXRpYmlsaXR5IHJlYXNvbnMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDI0NTcKCjIwMTMtMDYtMTYgMDU6NDA6MTMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IG1hbmFnZSBlbGVtZW50IHN0YXRlIG91cnNlbHZlcwoJICBMb2NrIHRoZSBzdGF0ZSBvZiB0aGUgYWxsIG91ciBlbGVtZW50cyBhbmQgbWFuYWdlIHRoZWlyIHN0YXRlcwoJICBvdXRzZWx2ZXMuIEJlY2F1c2Ugd2UgYXJlIHdvcmtpbmcgYXN5bmMsIHdlIGNhbid0IHJlbHkgb24gdGhlIHN0YXRlCgkgIGNoYW5nZSBmdW5jdGlvbiB0byBzZXQgdGhlIHN0YXRlIGF0IHRoZSByaWdodCB0aW1lIG9yIHRvIHJldHVybiB0aGUKCSAgcmlnaHQgcmV0dXJuIHZhbHVlIGZyb20gdGhlIHN0YXRlIGNoYW5nZSBmdW5jdGlvbi4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMjA0NgoKMjAxMy0wNi0xNCAxNDowOTo1MCArMDIwMCAgQnJ1bm8gR29uemFsZXogPHN0ZW55YWtAZ21haWwuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IERvbid0IHVubG9jayBzdHJlYW0gbG9jayB3aXRob3V0IGxvY2tpbmcgaXQgZmlyc3QKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMjE2NwoKMjAxMy0wNi0xMyAxNjowMDozMyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBydHBzZXNzaW9uOiBVc2UgdGhlIHJpZ2h0IGhhc2h0YWJsZSB0byBjYWxjdWxhdGUgYmFuZHdpZHRoCgkgIERvbid0IHVzZSBhbiB1bnVzZWQgaGFzaHRhYmxlIHRvIGl0ZXJhdGUgc291cmNlIHRvIGNhbGN1bGF0ZSBiYW5kd2lkdGguCgkgIFJlbW92ZSB1bnVzZWQgY29kZS4KCjIwMTMtMDYtMTIgMTY6Mjc6MjQgLTA2MDAgIEJyZW5kYW4gTG9uZyA8Yi5sb25nQGNhYmxlbGFicy5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIHB1bHNlc2luazogUmVxdWlyZSBQdWxzZUF1ZGlvID49IDIuMAoJICBUaGlzIGlzIG5lZWRlZCBmb3IgcGFfZm9ybWF0X2luZm9fZ2V0X3Byb3BfKiBmdW5jdGlvbnMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODY0NTkKCjIwMTMtMDYtMTMgMTQ6MjM6MDggKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXV0aWwuYzoKCSAgUmV2ZXJ0ICJwdWxzZXNpbms6IE1ha2UgMi4wIGRlcGVuZGVuY3kgb3B0aW9uYWwiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgMDE0NTcwMjdlMGQzODRhY2EzZTU1MWFlNjg0ZTBhYTA3NGVlNTQ5OC4KCSAgV2UnbGwganVzdCBkZXBlbmQgb24gUHVsc2VBdWRpbyAyLjAgb3IgYWJvdmUgaW5zdGVhZCBvZiBoYXZpbmcgdGhlIGJ1ZwoJICBwYXJ0aWFsbHkgZml4ZWQgYmFzZWQgb24gdGhlIGluc3RhbGxlZCBsaWJwdWxzZSB2ZXJzaW9uLgoKMjAxMy0wNi0xMyAxMjo0MDoxNSArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNldXRpbC5jOgoJICBwdWxzZXNpbms6IE1ha2UgMi4wIGRlcGVuZGVuY3kgb3B0aW9uYWwKCSAgVGhlIGdldGNhcHMgZnVuY3Rpb24gd2UgYWRkZWQgdXNlcyBzb21lIHBhX2Zvcm1hdF9pbmZvX2dldF9wcm9wLi4uCgkgIGFjY2Vzc29yIGZ1bmN0aW9ucyB0aGF0IHdlcmUgb25seSBhZGRlZCBpbiAyLjAsIHNvIHdlIG9ubHkgaGF2ZSBvdXIKCSAgZ2V0Y2FwcyBpbXBsZW1lbnRhdGlvbiBleGlzdCBpZiB3ZSdyZSBjb21waWxpbmcgYWdhaW5zdCBsaWJwdWxzZSAyLjAgb3IKCSAgYWJvdmUuCgkgIEV2ZW50dWFsbHksIHdlIGNvdWxkIGJ1bXAgdGhlIG1pbmltdW0gcmVxdWlyZW1lbnQgdG8gMi4wIG9yIGFib3ZlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg2NDU5CgoyMDEzLTA2LTEyIDE4OjIzOjQ2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICBSZXZlcnQgInZpZGVvbWl4ZXI6IFdoZW4gYWxsIHNpbmtwYWRzIGFyZSBlb3MsIHVwZGF0ZSBvdXRwdXQgc2VnbWVudCBzdG9wIGFuZCBmb3J3YXJkIGl0IgoJICBUaGlzIHJldmVydHMgY29tbWl0IDJkMzkxMGZjNzkwMWI1ZjI5ZTE2YzBmZGQ0ZTkwNjdhNmQ3ZjY2ZmUuCgkgIEl0J3Mgbm90IHNvbHZpbmcgYW55IHByb2JsZW0gYW5kIGluc3RlYWQgY2F1c2VzIGNvZGUgdG8gZmFsbCBhcGFydC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMTUxOQoKMjAxMy0wMS0wOSAwOTozOTozMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBtYXJrIHN1YnRpdGxlIHN0cmVhbXMgYXMgc3BhcnNlIGluIHN0cmVhbS1zdGFydCBldmVudAoJICBBbmQgYWxzbyBtYXJrIHRoZSBzdHJlYW1zIHRoYXQgc2hvdWxkIGJlIHNlbGVjdGVkIGJ5IGRlZmF1bHQgaWYKCSAgbWFya2VkIHNvIGluIHRoZSBoZWFkZXJzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjAwNjQ4CgoyMDEzLTA2LTExIDIyOjEyOjU4ICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9wYW5vcmFtYW9yYy1kaXN0LmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvcGFub3JhbWFvcmMtZGlzdC5oOgoJICBhdWRpb3Bhbm9yYW1hOiBhZGQgcHJlYnVpbHQgZmlsZXMKCjIwMTMtMDYtMTEgMjA6Mjc6NTEgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3Bhbm9yYW1hLmM6CgkgIGF1ZGlvcGFub3JhbWE6IGNsZWFudXAgYW5kIGV4cGFuZCB0aGUgdGVzdHMKCSAgU3BsaXQgb3V0IHR3byBtb3JlIHRlc3RzLiBFeHRyYWN0IG1vcmUgY29tbW9uIGNvZGUgaW50byBoZWxwZXJzLiBBZGQgY292ZXJhZ2UgZm9yIGZsb2F0LgoKMjAxMy0wNi0xMCAyMToxNToyMCArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvcGFub3JhbWEuYzoKCSAgYXVkaW9wYW5vcmFtYTogY2xlYW51cCBvZiB0cmFuc2Zvcm0oKQoJICBPbmx5IG1hcCBpbnB1dCBpZiB3ZSBhcmUgcmVhZGluZyBpdC4gQ2xlYW51cCB0aGUgbG9nZ2luZyBhbmQgdGhlIGNvbW1lbnRzIGEgYml0LgoKMjAxMy0wNi0wOSAyMDozNToxOCArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdWRpb2Z4L01ha2VmaWxlLmFtOgoJKiBnc3QvYXVkaW9meC9hdWRpb3Bhbm9yYW1hLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvcGFub3JhbWEuaDoKCSogZ3N0L2F1ZGlvZngvYXVkaW9wYW5vcmFtYW9yYy5vcmM6CgkgIGF1ZGlvcGFub3JhbWE6IHVzZSBvcmMgdG8gc3BlZWR1cCBwcm9jZXNzaW5nCgkgIFVzZSBzcGVjaWFsIHZhcmlhbnRzIGZvciB0aGUgY2FzZSB3aGVuIHdlIGRvbid0IGNoYW5nZSB0aGUgcGFub3JhbWEgKHBhbj0wLjApLgoJICBTaW1wbGlmeSB0aGUgcHJvY2Vzc2luZyBmdW5jdGlvbnMgYnkgcGFzc2luZyB0aGUgcGFub3JhbWEgdmFsdWUgZGlyZWN0eSBpbnN0ZWFkCgkgIG9mIHRoZSBpbnN0YW5jZS4gVXNlIG9yYyBmb3IgY2xlYXJpbmcgYnVmZmVycyB0b28uCgoyMDEzLTA2LTExIDE5OjI0OjQ5ICswMjAwICBNYXRoaWV1IER1cG9uY2hlbGxlIDxtYXRoaWV1LmR1cG9uY2hlbGxlQGVwaXRlY2guZXU+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICB2aWRlb21peGVyOiBjaGVjayBsYXN0IGVuZF90aW1lIGFmdGVyIGNvbnZlcnNpb24gdG8gcnVubmluZyBzZWdtZW50CgkgIFRoZSBsYXN0IGVuZF90aW1lIHdhcyBzYXZlZCBhZnRlciBjb252ZXJzaW9uLCBzbyB0aGUgY29tcGFyaXNvbgoJICBoYWQgdG8gYmUgbWFkZSBhZnRlciBjb252ZXJzaW9uIGZvciBpdCB0byBtYWtlIHNlbnNlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAxMzg1CgoyMDEzLTA2LTExIDE5OjIyOjIwICswMjAwICBNYXRoaWV1IER1cG9uY2hlbGxlIDxtYXRoaWV1LmR1cG9uY2hlbGxlQGVwaXRlY2guZXU+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICB2aWRlb21peGVyOiBhZGQgbWl4LT5zZWdtZW50LnN0YXJ0IHRvIG91dHB1dF9lbmRfdGltZQoJICBXaGVuIHRoZSBzZWdtZW50IHN0YXJ0IGlzIG5vdCAwLCB0aGlzIGNyZWF0ZWQgYSBzaXR1YXRpb24gd2hlcmUKCSAgdGhlIG91dHB1dF9lbmRfdGltZSBpcyBpbmZlcmlvciB0byBvdXRwdXRfc3RhcnRfdGltZSwgYW5kIHRoZSBkdXJhdGlvbgoJICBvZiB0aGUgbmV4dCBidWZmZXIgZW5kZWQgdXAgdW5kZXJmbG93aW5nLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAxMzg1CgoyMDEzLTA2LTExIDEzOjU0OjUzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogU2VuZCBzdHJlYW0gaGVhZGVycyBhZnRlciB0aGUgc2VnbWVudCBldmVudAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAwNzk5CgoyMDEzLTA2LTExIDEyOjI2OjI0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogRG8gYWxsb2NhdGlvbiBxdWVyeSBhZnRlciBleHBvc2luZyBhbGwgcGFkcyBhbmQgbm8tbW9yZS1wYWRzCgkgIEFsc28gY29uZmlndXJlIHZpZGVvIHN0cmVhbXMgYXMgZWFybHkgYXMgcG9zc2libGUuCgkgIFJlbGF0ZWQgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMTg1NgoJICBidXQgbm90IGZpeGluZyB0aGF0LgoKMjAxMy0wNi0xMSAxMjoyNTo0NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHZkZW11eDogRG9uJ3QgZm9yd2FyZCBDQVBTIGV2ZW50cyBmcm9tIHVwc3RyZWFtCgkgIEp1c3QgdXNlIHRoZSBkZWZhdWx0IHBhZCBldmVudCBoYW5kbGVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAxOTc2CgoyMDEzLTA1LTI2IDA4OjE4OjA0ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBDYWNoZSB0aGUgZ2V0Y2Fwcy9hY2NlcHRjYXBzIHByb2JlIHN0cmVhbQoJICBnZXRjYXBzIGlzIGNhbGxlZCBmcmVxdWVudGx5IGR1cmluZyBzdHJlYW0gc2V0dXAsIGFuZCBjcmVhdGluZyBhIG5ldwoJICBzdHJlYW0gZWFjaCB0aW1lIGlzIHZlcnkgaW5lZmZpY2llbnQuIFRoZXJlJ3Mgc29tZSBtb3JlIHJvb20gZm9yCgkgIG9wdGltaXNhdGlvbiBieSBjYWNoaW5nIHRoZSBxdWVyaWVkIHNpbmsgZm9ybWF0cyBhcyB3ZWxsLCBidXQgdGhpcyBuZWVkcwoJICBzb21lIG1vcmUgY2hhbmdlcyB0byBsaXN0ZW4gZm9yIGZvcm1hdCBjaGFuZ2VzIG9uIHRoZSBzaW5rIChmb3Igd2hlbgoJICBzdXBwb3J0ZWQgZm9ybWF0cyBjaGFuZ2UgYmV0d2VlbiBwcm9iZSBzdHJlYW0gY3JlYXRpb24gYW5kIHNpbmsKCSAgcXVlcnlpbmcpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg2NDU5CgoyMDEzLTA1LTIzIDIxOjM5OjA4ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5oOgoJKiBleHQvcHVsc2UvcHVsc2V1dGlsLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXV0aWwuaDoKCSAgcHVsc2VzaW5rOiBBZGQgYSBnZXRjYXBzIGZ1bmN0aW9uCgkgIFRoaXMgYWxsb3dzIHVzIHRvIGhhdmUgbW9yZSBmaW5lLXR1bmVkIGNhcHMgaW4gUkVBRFkgb3IgYWJvdmUuIEhvd2V2ZXIsCgkgIHRoaXMgaXMgX3JlYWxseV8gaW5lZmZpY2llbnQgc2luY2Ugd2UgY3JlYXRlIGEgbmV3IHN0cmVhbSBhbmQgcXVlcnkgc2luawoJICBmb3IgZXZlcnkgZ2V0Y2FwcyBpbiBSRUFEWSwgd2hpY2ggb24gYSBzaW1wbGUgZ3N0LWxhdW5jaCBsaW5lIGhhcHBlbnMKCSAgYWJvdXQgMzUgdGltZXMuIFRoZSBuZXh0IHN0ZXAgaXMgdG8gY2FjaGUgZ2V0Y2FwcyByZXN1bHRzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg2NDU5CgoyMDEzLTA1LTEwIDExOjMyOjQ0ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBUYWtlIGEgbG9jayBvbiB0aGUgcmluZ2J1ZmZlciBpbiBhY2NlcHRjYXBzCgkgIFRoaXMgaXMgbmVlZGVkIGFzIGEgY29uY3VycmVudCBzdGF0ZSBjaGFuZ2UgY291bGQgcHVsbCB0aGUgY29udGV4dCBvcgoJICBzdHJlYW0gb3V0IGZyb20gdW5kZXIgb3VyIGZlZXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODY0NTkKCjIwMTMtMDYtMDkgMjA6Mjk6MDkgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXVkaW9meC9hdWRpb3Bhbm9yYW1hLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvcGFub3JhbWEuaDoKCSAgYXVkaW9wYW5vcmFtYTogbW92ZSB0aGUgZW51bSB0byB0aGUgaGVhZGVyIGFuZCB1c2UgaW5zdGVhZCBvZiBnaW50CgkgIE1vdmUgdGhlIGVudW0gZm9yIHRoZSBwcm9jZXNzaW5nIG1ldGhvZCB0byB0aGUgaGVhZGVyIHNvIHRoYXQgd2UgY2FuIHVzZSB0aGUKCSAgdHlwZSBmb3IgdGhlIGluc3RhbmNlIHN0cnVjdC4KCjIwMTMtMDYtMDkgMjA6MzI6MjIgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9sZXZlbC5jOgoJICBsZXZlbDogcmV3b3JrIHRoZSB0ZXN0cyB0byBjb3ZlciBvdGhlciBmb3JtYXRzIHRvbwoKMjAxMy0wNi0wNSAxNjozMjozMCArMDIwMCAgTWljaGFlbCBPbGJyaWNoIDxtLm9sYnJpY2hAcGVuZ3V0cm9uaXguZGU+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyOiBtYWtlIHN1cmUgdGhlIGVsZW1lbnQgaXMgbm90IGRlbGV0ZWQgYmVmb3JlIHRoZSBwb29sCgkgIFRoZSBwb29sIGFjY2Vzc2VzIGRhdGEgZnJvbSB0aGUgdjRsMm9iamVjdCBzbyBpdCBtdXN0IGV4aXN0IGF0IGxlYXN0CgkgIGFzIGxvbmcgYXMgdGhlIHBvb2wuIFJlZmNvdW50IHRoZSBlbGVtZW50IHdoaWNoIGNvbnRyb2xzIHRoZSBvYmplY3QKCSAgbGl2ZS10aW1lLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAxNjUwCgoyMDEzLTA2LTA3IDE1OjM4OjI1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9saWJwbmcvTWFrZWZpbGUuYW06CgkgIHBuZzogTGluayB3aXRoIGxpYmdzdGJhc2UgZm9yIEdzdEJ5dGVSZWFkZXIgYW5kIEdzdEFkYXB0ZXIKCjIwMTMtMDYtMDcgMTU6MTU6MTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3dhdmVuYy9NYWtlZmlsZS5hbToKCSAgd2F2ZW5jOiBMaW5rIHdpdGggbGliZ3N0YmFzZSBmb3IgR3N0Qnl0ZVdyaXRlcgoKMjAxMy0wNi0wNyAxMzoyNjozNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgd2F2cGFyc2U6IFB1c2ggc3RyZWFtLXN0YXJ0IGV2ZW50IGluIHB1bGwgbW9kZSBiZWZvcmUgYW55dGhpbmcgZWxzZQoKMjAxMy0wNS0xMCAxMjowOToxOSArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuaDoKCSAgcHVsc2VzaW5rOiBHZXQgcmlkIG9mIGFjY2VwdGNhcHMgc2lkZS1lZmZlY3RzCgkgIFRoZSBzaW5rIGluZm8gY2FsbGJhY2sgc2hvdWxkIG5vdCBoYXZlIHNpZGUtZWZmZWN0cyBvbiB0aGUgR3N0UHVsc2VTaW5rCgkgIG9iamVjdCBzaW5jZSB3ZSBhcmUgc29tZXRpbWVzIHVzaW5nIHdpdGggYSBkdW1teSBzdHJlYW0gaW4gYWNjZXB0Y2Fwcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NjQ1OQoKMjAxMy0wNi0wNSAxODozNjo0MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQKCj09PSByZWxlYXNlIDEuMS4xID09PQoKMjAxMy0wNi0wNSAxNzo1ODo1MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbW1vbjoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuc2lnbmFsczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlzb21wNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZweC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogZ3N0LXBsdWdpbnMtZ29vZC5kb2FwOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lLWRpc3QuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS1kaXN0Lmg6CgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveG9yYy1kaXN0LmM6CgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveG9yYy1kaXN0Lmg6CgkqIGdzdC92aWRlb21peGVyL2JsZW5kb3JjLWRpc3QuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRvcmMtZGlzdC5oOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMS4xLjEKCjIwMTMtMDYtMDUgMTY6MzU6MTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZW8ucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMTMtMDYtMDUgMTU6NTA6MDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuYzoKCSAgd2F2ZW5jOiBGaXggdGFnbGlzdCByZWYgaGFuZGxpbmcgdGhhdCBtYWRlIHRoZSB1bml0IHRlc3QgZmFpbAoKMjAxMy0wNi0wNSAxNToxNDo1NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSAwOThjMGQ3IHRvIDAxYTdhNDYKCjIwMTMtMDYtMDMgMDk6MTc6NDMgKzAyMDAgIE1pY2hhZWwgT2xicmljaCA8bS5vbGJyaWNoQHBlbmd1dHJvbml4LmRlPgoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJICB2NGwyOiBpdGVyYXRlIGNvbnRyb2xzIHdpdGggVjRMMl9DVFJMX0ZMQUdfTkVYVF9DVFJMIGlmIHBvc3NpYmxlCgkgIEluIHYyLjYuMTggY29udHJvbCBjbGFzc2VzIHdoZXJlIGFkZGVkIHRvIHRoZSB2NGwyIEFQSS4KCSAgSXRlcmF0aW5nIG92ZXIgQ0lEcyBzdGFydGluZyB3aXRoIFY0TDJfQ0lEX0JBU0Ugd2lsbCBvbmx5IGZpbmQgY29udHJvbHMgZm9yCgkgIHRoZSBmaXJzdCBjb250cm9sIGNsYXNzLgoJICBCeSBpdGVyYXRpbmcgd2l0aCBWNEwyX0NUUkxfRkxBR19ORVhUX0NUUkwgYWxsIGNvbnRyb2xzIGFyZSBmb3VuZC4KCSAgVGhpcyBpcyBuZWNlc3NhcnkgdG8gbWFrZSBjb250cm9scyBmcm9tIG90aGVyIGNvbnRyb2wgY2xhc3NlcyBhdmFpbGFibGUgaW4KCSAgdGhlIGV4dHJhLWNvbnRyb2xzIHByb3BlcnR5LgoJICBJZiBWNEwyX0NUUkxfRkxBR19ORVhUX0NUUkwgaXMgbm90IGRlZmluZWQgYXQgY29tcGlsZSB0aW1lIG9yIG5vdCBzdXBwb3J0ZWQKCSAgYXQgcnVudGltZSB0aGVuIHRoZSBvbGQgbWVjaGFuaXNtIGZvciBpdGVyYXRpbmcgaXMgdXNlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMTU0MAoKMjAxMy0wNi0wNSAxMjoxMjo1MyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC91ZHAvZ3N0dWRwc2luay5jOgoJICB1ZHBzaW5rOiBhdm9pZCBsZWFraW5nIHRoZSBob3N0CgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDE1ODYKCjIwMTMtMDYtMDQgMDg6MjY6MzMgKzAyMDAgIE1pY2hhZWwgT2xicmljaCA8bS5vbGJyaWNoQHBlbmd1dHJvbml4LmRlPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkgIHY0bDI6IGltcHJvdmUgcGl4ZWwgYXNwZWN0IHJhdGlvIGhhbmRsaW5nCgkgIEluc3RlYWQgb2YganVzdCBhc3N1bWluZyBhIGFzcGVjdCByYXRpbyBvZiAxLzEgdXNlIFZJRElPQ19DUk9QQ0FQIHRvIGFzawoJICB0aGUgZGV2aWNlLgoJICBUaGlzIGFsc28gYWRkIGEgcGl4ZWwtYXNwZWN0LXJhdGlvIHByb3BlcnR5IHRvIG92ZXJ3cml0ZSB0aGUgdmFsdWUgZnJvbSB0aGUKCSAgZHJpdmVyIGFuZCBhIGZvcmNlLWFzcGVjdC1yYXRpbyBwcm9wZXJ0eSB0byBpZ25vcmUgaXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDAyODUKCjIwMTMtMDYtMDQgMTc6MDQ6MTEgKzAyMDAgIFN0aXJsaW5nIFdlc3RydXAgPHN3ZXN0cnVwQGdtYWlsLmNvbT4KCgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSAgdjRsMjogRml4IGNvbXBpbGF0aW9uIHdpdGggb2xkZXIga2VybmVscwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAxNTk1CgoyMDEzLTA2LTAzIDE3OjA3OjEwICswMjAwICBNaWNoYWVsIE9sYnJpY2ggPG0ub2xicmljaEBwZW5ndXRyb25peC5kZT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDI6IGNhbGwgVklESU9DX1JFUUJVRlMgd2l0aCBjb3VudCA9IDAgaW4gcG9vbF9maW5hbGl6ZQoJICBXaXRob3V0IHRoaXMgdGhlIGZvbGxvd2luZyBzZXF1ZW5jZSBmYWlsczoKCSAgLSBzZXRfY2FwcygpCgkgIC0gb2JqZWN0X3N0b3AoKSAoZG9lcyBub3RoaW5nKQoJICAtIHNldF9mb3JtYXQoKSAtPiBWSURJT0NfU19GTVQKCSAgLSBzZXRfY29uZmlnKCkgLT4gVklESU9DX1JFUUJVRlMgd2l0aCBjb3VudCA9IE4KCSAgLSBzZXRfY2FwcygpCgkgIC0gb2JqZWN0X3N0b3AoKQoJICAtIHBvb2xfZmluYWxpemUoKQoJICAtIHNldF9mb3JtYXQoKSAtPiBWSURJT0NfU19GTVQgPT4gRUJVU1kKCSAgVXN1YWxseSB0aGUgcG9vbCBpcyBzdGFydGVkIGFmdGVyIHNldF9jb25maWcoKSwgaW4gd2hpY2ggY2FzZSBvYmplY3Rfc3RvcCgpCgkgIHdpbGwgcmVzdWx0IGluIGEgcG9vbF9zdG9wIGFuZCB0aGVyZWZvcmUgVklESU9DX1JFUUJVRlMgd2l0aCBjb3VudCA9IDAgYnV0CgkgIHRoYXQgaXMgbm90IGd1YXJhbnRlZWQuCgkgIEFsc28gY2FsbGluZyBWSURJT0NfUkVRQlVGUyB3aXRoIGNvdW50ID0gMCBpbiBwb29sX2ZpbmFsaXplKCkgaWYgbmVjZXNzYXJ5CgkgIGZpeGVzIHRoaXMgcHJvYmxlbS4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMTU0MwoKMjAxMy0wNS0yOCAxOToxNDoxNSArMDIwMCAgTWljaGFlbCBPbGJyaWNoIDxtLm9sYnJpY2hAcGVuZ3V0cm9uaXguZGU+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyOiByZXdvcmsgc2luayBidWZmZXIgcmVmY291bnRpbmcKCSAgVGhpcyBpcyBhIGZvbGxvd3VwIHBhdGNoIGZvciAjNzAwNzgxLCB3aGljaCBpcyBub3QgcXVpdGUgY29ycmVjdC4KCSAgVGhlIGJ1ZmZlciBoYW5kbGluZyBpcyBxdWl0ZSBjb21wbGljYXRlZCBoZXJlLgoJICBUaGUgb3JpZ2luYWwgY29kZSBpbnRlbmRlZCB0byB0aGUgdGhlIGZvbGxvd2luZzoKCSAgLSBnc3RfdjRsMl9idWZmZXJfcG9vbF9wcm9jZXNzKCkgY2FsbHMgUUJVRiBhbmQgYWRkcyB0aGUgYnVmZmVyIHRvIHRoZQoJICBsb2NhbCBsaXN0LgoJICAtIFRoZSBzaW5rIGNhbGxzIGdzdF9idWZmZXJfdW5yZWYoKSB3aGljaCByZXR1cm5zIHRoZSBidWZmZXIgdG8gdGhlIHBvb2wKCSAgYnV0IG5vdCB0aGUgJ2ZyZWUgbGlzdCcuCgkgIC0gU29tZSB0aW1lIGxhdGVyIERRQlVGIHJldHVybnMgdGhlIGJ1ZmZlciBhbmQKCSAgZ3N0X3Y0bDJfYnVmZmVyX3Bvb2xfcmVsZWFzZV9idWZmZXIoKSBwdXRzIGluIG9uIHRoZSAnZnJlZSBsaXN0Jy4KCSAgSWYgdGhlIGJ1ZmZlciBtdXN0IGJlIGNvcGllZCB0aGVuIChwYXJlbnRfY2xhc3MpLT5hY3F1aXJlX2J1ZmZlcigpIGlzCgkgIGNhbGxlZCBkaXJlY3RseSB0byBrZWVwIHRoZSBidWZmZXIgaW4gdGhlIHBvb2wuCgkgIFRoaXMgaGFzIHR3byBwcm9ibGVtczoKCSAgMS4gSWYgZ3N0X3Y0bDJfYnVmZmVyX3Bvb2xfcmVsZWFzZV9idWZmZXIoKSBpcyBjYWxsZWQgYmVmb3JlIHRoZSBidWZmZXIgaXMKCSAgcmV0dXJuZWQgdG8gdGhlIHBvb2wsIHRoZW4gdGhlIGJ1ZmZlciBpcyBwdXQgb24gdGhlICdmcmVlIGxpc3QnIHR3aWNlLgoJICBUaGlzIGNhbiBoYXBwZW4gaWYgYSByZWZlcmVuY2UgdG8gdGhlIGJ1ZmZlciBpcyBrZXB0IG91dHNpZGUgdGhlIHNpbmssCgkgIG9mIGlmIERRQlVGIHJldHVybnMgdGhlIGJ1ZmZlciwgdGhhdCB3YXMganVzdCBxdWV1ZWQgd2l0aCBRQlVGLgoJICAyLiBJZiBidWZmZXJzIGFyZSBjb3BpZWQsIHRoZW4gYWxsIGJ1ZmZlcnMgYXJlIGluIHRoZSBwb29sIGF0IGFsbCB0aW1lcy4gQXMKCSAgYSByZXN1bHQgZ3N0X3Y0bDJfYnVmZmVyX3Bvb2xfc3RvcCgpIGFuZCBnc3RfdjRsMl9idWZmZXJfcG9vbF9kcWJ1ZigpCgkgIGNhbiBhY2Nlc3MgcG9vbC0+YnVmZmVycyBhdCB0aGUgc2FtZSB0aW1lLCB3aGljaCBjYW4gbGVhZCB0byBtZW1vcnkKCSAgY29ycnVwdGlvbi4KCSAgVGhlIHBhdGNoIGZvciAjNzAwNzgxIGZpeGVzIHRob3NlIHByb2JsZW1zLCBidXQgd2l0aCB0aGUgc2lkZSBlZmZlY3QgdGhhdAoJICB0aGVyZSBhcmUgYWx3YXlzIGJ1ZmZlcnMgb3V0c2lkZSB0aGUgcG9vbCAoYmVjYXVzZSB0aGV5IGFyZSBxdWV1ZWQpIGFuZAoJICB0aGUgcG9vbCBpcyBuZXZlciBzdG9wcGVkLgoJICBUaGlzIHBhdGNoIGZpeGVzIHRoaXMgYnkgcmVsZWFzaW5nIHRoZSByZWZlcmVuY2UgdG8gdGhlIGJ1ZmZlciBhZnRlcgoJICBoYW5kbGluZyBpdCAodG8gYXZvaWQgcHJvYmxlbSAyLikgc28gaXQgY2FuIGJlIHJldHVybmVkIHRvIHRoZSBwb29sLgoJICBnc3RfdjRsMl9idWZmZXJfcG9vbF9yZWxlYXNlX2J1ZmZlcigpIGlzIG9ubHkgY2FsbGVkIGlmIHRoZSBidWZmZXIgaXMKCSAgYWxyZWFkeSBpbiB0aGUgcG9vbCAodG8gYXZvaWQgcHJvYmxlbSAxLikuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDEzNzUKCjIwMTMtMDYtMDIgMTU6MjQ6MzggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBtYWtlIHN1cmUgdGFnbGlzdCBpcyB3cml0YWJsZSBiZWZvcmUgYWRkaW5nIHRhZ3MKCSAgQXZvaWRzIGFzc2VydGlvbnMKCjIwMTMtMDUtMzAgMTk6MjQ6MTMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBlZmZlY3RpdmVseSBza2lwIHRyYWNrcyB0aGF0IHdlcmVuJ3QgbGlzdGVkIG9uIHRoZSAxc3QgbW9vdgoJICBXaXRob3V0IHRoaXMsIHN0cmVhbSBpcyBOVUxMIGFuZCB0aGUgY29kZSB3aWxsIHRyeSB0byBhY2Nlc3MgaXQsIGxlYWRpbmcKCSAgdG8gc2VnZmF1bHRzLgoKMjAxMy0wNS0zMCAxOToyMzo1MCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHNraXAgcmVkdW5kYW50IGNoZWNrCgkgICFnb3RfbW9vdiBpcyBhbHJlYWR5IGNoZWNrZWQgdGhlIGxpbmUgYWJvdmUKCjIwMTMtMDYtMDIgMTM6MDM6NDAgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9sZXZlbC5jOgoJICB0ZXN0czogY2xlYW51cCBsZXZlbCB0ZXN0cwoJICBTcGxpdCBvdXQgYSBmZXcgbW9yZSB0ZXN0cyB0byBhdm9pZCBjaGVja2luZyB0aGUgc2FtZSBzdHVmZiBvdmVyIGFuZCBvdmVyIGFnYWluLgoKMjAxMy0wNi0wMSAyMTozMzo0NiArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9sZXZlbC9nc3RsZXZlbC5oOgoJICBsZXZlbDogcmVtb3ZlIHVudXNlZCB2YXJpYWJsZXMgaW4gaW5zdGFuY2Ugc3RydWN0CgoyMDEzLTA1LTMxIDE4OjEzOjAyICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbGV2ZWwuYzoKCSAgbGV2ZWw6IGFkZCBhIHRlc3QgZm9yIGNvbnRpbm91cyB0aW1lc3RhbXBzCgkgIEEgdGVzdCB0aGF0IGNoZWNrcyB0aGF0IG1zZ1tuXS50cyArIG1zZ1tuXS5kdXIgPT0gbXNnW24rMV0udHMuCgoyMDEzLTA0LTEyIDE2OjAyOjQ0ICswMzAwICBBbnRvbiBCZWxrYSA8YW50b25iZWxrYUBnbWFpbC5jb20+CgoJKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5jOgoJKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5oOgoJICB3YXZlbmM6IGFkZCB0YWdzICYgdG9jIHN1cHBvcnQKCSAgV3JpdGUgdGFncyBhcyBMSVNUIElORk8gY2h1bmsuIEZvcm1hdCB0aGUgdG9jIGFzIGN1ZSArIExJU1QgYWR0bCBjaHVuay4gUmVtb3ZlCgkgIG9sZCAjaWZkZWYnZWQgY29kZS4KCjIwMTMtMDUtMzEgMTU6MTI6MDggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSAgUmV2ZXJ0ICJydHBoMjY0cGF5OiBSZXN0cnVjdHVyaW5nIHRvIGFsbG93IGZvciBhZGRpbmcgb3B0aW9uYWwgY2FwcyIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCA2MTY2Njg5OGNmZTg5YTFiMjFkM2U2ODUwYWI0NGY1YjE2MzNlZDc5LgoJICBUaGlzIGNvbW1pdCBjaGFuZ2VzIHdoYXQgdGhlIHNldF9zcHNfcHBzKCkgZnVuY3Rpb24gZG9lcywgbm90IGl0IGRvZXNuJ3QKCSAgc2V0IGNhcHMgYW55bW9yZSAoYW5kIHNob3VsZCBoYXZlIGJlZW4gcmVuYW1lZCkuIFRoZSBtYWluIHByb2JsZW0gaXMgdGhhdAoJICBub3QgYWxsIGNhbGwgc2l0ZXMgYXJlIHVwZGF0ZWQgYW5kIHRodXMgbGVhayB0aGUgc3RyaW5nLgoKMjAxMy0wNS0zMSAxNToxMToxMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHAtcGF5bG9hZGluZy5jOgoJICBSZXZlcnQgInJ0cGgyNjRwYXkvZGVwYXk6IEFkZCBmcmFtZSBkaW1lbnNpb25zIGEgcGF5bG9hZGVkIGNhcHMiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgM2RjYTc1NmE1ZGJhNTUyNjYyNTZmMjM5ZTNlMTJhM2QwNThlMTg1YS4KCSAgVGhlIEgyNjQgUlRQIHNwZWMgaGFzIG5vIGF0dHJpYnV0ZXMgZm9yIHdpZHRoIGFuZCBoZWlnaHQuCgoyMDEzLTA1LTMxIDE1OjA5OjUxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkgIFJldmVydCAicnRwaDI2NHBheS9kZXBheTogQWRkIG9wdGlvbmFsIGZyYW1lcmF0ZSBjYXBzIGZvciB1c2UgaW4gU0RQIgoJICBUaGlzIHJldmVydHMgY29tbWl0IGQ4ODI1ZTJhNWMwYmZiODgzZmY4OGUyYzlkYTQ5OWM4MDBlYmNhMGEuCgkgIFRoZXJlIGlzIG5vIGZyYW1lcmF0ZSBhdHRyaWJ1dGUgaW4gdGhlIGgyNjQgUlRQIHNwZWMuCgoyMDEzLTA1LTMxIDE1OjA4OjE2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBqcGVnZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqcGVncGF5LmM6CgkgIFJldmVydCAicnRwanBlZ3BheS9kZXBheTogUmVwbGFjZSBmcmFtZXNpemUgY2FwcyB3aXRoIHdpZHRoL2hlaWdodCIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCAwMDc1ZDExMWI0NzVjYTI3ODk1ZWU5NDc2MTU0MjYwYjY5MDI5NDBiLgoJICBFeHRyYSBhcHBsaWNhdGlvbi94LXJ0cCBhcmUgU0RQIGZpZWxkcywgd2hpY2ggYXJlIHN0cmluZ3MuCgoyMDEzLTA1LTMxIDE1OjA1OjUxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBqcGVnZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqcGVncGF5LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cC1wYXlsb2FkaW5nLmM6CgkgIFJldmVydCAicnRwanBlZ3BheS9kZXBheTogUmVwbGFjZSBmcmFtZXJhdGUgY2FwcyBmaWVsZCB3aXRoIGZyYWN0aW9uIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDlmZDI1YTgxMGI4NTllMGVjMjA1MTc2NTc4NzM1MTAwZDgzZGU0YWYuCgkgIFdlIGRlYWwgd2l0aCBzZHAgYXR0cmlidXRlcyBpbiBhcHBsaWNhdGlvbi9zZHAsIHdoaWNoIGFyZSBhbHdheXMgc3RyaW5ncy4KCjIwMTMtMDUtMzEgMTI6MzM6MjEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGFkZCBleHRyYSBUTFMgdXJsIHByb3RvY29scwoJICBXZSBhbHNvIHN1cHBvcnQgVExTIHByb3RvY29scyBub3cuCgoyMDEzLTA1LTMwIDE0OjQ4OjQyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICB2aWRlb21peGVyOiBBZGQgRklYTUUgY29tbWVudCBhYm91dCB0aGUgRFVSQVRJT04gcXVlcnkgZnJvbSBhZGRlcgoJICBDdXJyZW50bHkgdGhlIGNvZGUganVzdCB0YWtlcyB3aXRoIG1heGltdW0gdXBzdHJlYW0gZHVyYXRpb24sIHdoaWNoCgkgIGlzIHdyb25nLiBJdCBzaG91bGQgYmUgdGhlIG1heGltdW0gdXBzdHJlYW0gZHVyYXRpb24gaW4gcnVubmluZyB0aW1lLgoKMjAxMy0wNS0zMCAyMToyMDo1OSArMDIwMCAgTWF0aGlldSBEdXBvbmNoZWxsZSA8bWF0aGlldS5kdXBvbmNoZWxsZUBlcGl0ZWNoLmV1PgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgdmlkZW9taXhlcjogU2V0IGEgcmVmZXJlbmNlIHRvIG1peC0+Y3VycmVudF9jYXBzIGFzIHRoZSBRVUVSWV9DQVBTIHJlc3VsdC4KCjIwMTMtMDUtMzAgMTc6Mzc6MTMgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzoKCSAgbGV2ZWw6IG1pc2MgY2xlYW51cHMKCSAgRml4IHNvbWUgb3VkYXRlZCBjb21tZW50cy4gU29ydCBvdXQgc29tZSBjb25mdXNpb24gb2YgaW50ZXJ2YWxfZnJhbWVzIGFuZCBudW1fZnJhbWVzLgoKMjAxMy0wNS0yOSAyMDozNTo0MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkgIHY0bDI6IE9ubHkgY29uZGl0aW9uYWxseSB1c2UgVjRMMl9DVFJMX1RZUEVfSU5URUdFUl9NRU5VLCBpdCdzIG5vdCBhdmFpbGFibGUgaW4gb2xkZXIgdmVyc2lvbnMKCjIwMTMtMDUtMjAgMTY6NDU6MzcgKzAyMDAgIE1pY2hhZWwgT2xicmljaCA8bS5vbGJyaWNoQHBlbmd1dHJvbml4LmRlPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5oOgoJICB2NGwyOiBhZGQgYSBwcm9wZXJ0eSBmb3IgYXJiaXRyYXJ5IHY0bDIgY29udHJvbHMKCSAgVGhpcyBtYWtlcyBpdCBwb3NzaWJsZSB0byBzZXQgYW55IGNvbnRyb2xzIHRoYXQgY2FuIGJlIHNldCB3aXRoCgkgIFZJRElPQ19TX0NUUkwuCgkgIFRoZSBjb250cm9scyBhcmUgc2V0IHdoZW4gdGhlIHByb3BlcnR5IGlzIHNldCAoaWYgdGhlIGRldmljZSBpcyBvcGVuKQoJICBhbmQgd2hlbiB0aGUgZGV2aWNlIGlzIG9wZW5lZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5ODgzNwoKMjAxMy0wNS0yOCAxODozMTowNyArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOgoJICBsZXZlbDogZml4IGRpc2NvbnRpbnVpdGllcyBpbiB0aW1lc3RhbXBzCgoyMDEzLTA1LTI4IDE1OjQ2OjQzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka2FuaW1hdGlvbi5jOgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWZkZWMuYzoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmZGVjLmg6CgkgIGdka3BpeGJ1ZmRlYzogS2VlcCBzZXJpYWxpemVkIGV2ZW50cyBpbiBvcmRlciwgYW5kIGRvbid0IHNlbmQgU0VHTUVOVCBiZWZvcmUgQ0FQUwoKMjAxMy0wNS0yOCAxNTo0NTo0OSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogY3JlYXRlIGFuZCBwdXNoIHN0cmVhbS1zdGFydCBpbiBUQ1AgbW9kZQoKMjAxMy0wNS0yOCAxNToxMDowNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogcmVtb3ZlIHNvbWUgb2Jzb2xldGUgY29kZQoJICBJdCBpcyBub3QgbmVlZGVkIHRvIGRvIGEgc3RhdGUgY2hhbmdlIGZyb20gdGhlIF9wbGF5KCkgZnVuY3Rpb24gb24KCSAgb3Vyc2VsdmVzLiBUaGUgc3RhdGUgY2hhbmdlIGZ1bmN0aW9uIGFscmVhZHkgZGlkIHRoYXQgYW5kIHdlIGRvbid0IHdhbnQgdG8KCSAgaW50ZXJmZXJlIHdpdGggdGhhdCAob3IgdXNlIGhhY2tzIHRvIGF2b2lkIGludGVyZmVyZW5jZSkuCgoyMDEzLTA1LTI4IDEyOjI0OjM3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBzZXQgUlRDUCBjYXBzIG9uIHRoZSBSVENQIHBhZHMKCjIwMTMtMDUtMjggMTI6MjM6MzcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IHNlbmQgc3RyZWFtLXN0YXJ0IGFuZCBzZWdtZW50IGV2ZW50cwoJICBBbHNvIHNlbmQgc3RyZWFtLXN0YXJ0IGFuZCBzZWdtZW50IGV2ZW50IG9uIHRoZSBSVENQIHBhZC4KCSAgV2UgZG9uJ3QgbmVlZCB0byBzZW5kIGFueXRoaW5nIG9uIHRoZSBzeW5jX3NyYyBwYWQgYmVjYXVzZSB3ZQoJICBhbHJlYWR5IGZvcndhcmRlZCBhbGwgaW5jb21taW5nIGV2ZW50cy4KCjIwMTMtMDQtMjUgMTU6MjU6MDYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGFkZCBzaWduYWwgdG8gaGFuZGxlIHNlcnZlciByZXF1ZXN0cwoJICBBZGQgYSBzaWduYWwgdG8gYmUgbm90aWZpZWQgb2YgYSBzZXJ2ZXIgcmVxdWVzdC4gVGhlIHNpZ25hbCBoYW5kbGVyIGNhbiB0aGVuCgkgIGNvbnN0cnVjdCB0aGUgcmVzcG9uc2UgbWVzc2FnZSBmb3IgdGhlIHNlcnZlci4KCSAgU2VlIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MzIyMDcKCjIwMTMtMDUtMjcgMjI6NDM6MjUgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgdmlkZW9taXhlcjogTWFpbnRhaW4gei1vcmRlciB3aGVuIG5ldyBwYWQgYXJlIGFkZGVkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDExMDkKCjIwMTMtMDMtMDYgMTM6MTc6NTQgKzAwMDAgIFRvbSBHcmVlbndvb2QgPHRjZGdyZWVud29vZEBob3RtYWlsLmNvbT4KCgkqIGV4dC92cHgvZ3N0dnA4ZW5jLmM6CgkqIGV4dC92cHgvZ3N0dnA4ZW5jLmg6CgkgIHZwOGVuYzogQWRkIHByb3BlcnR5IHRvIG1hbnVhbGx5IHNwZWNpZnkgdGhlIHRpbWViYXNlIG9mIHRoZSBlbmNvZGVyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTU3MDkKCjIwMTMtMDUtMjUgMTI6MTc6NDAgLTA0MDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIHZpZGVvbWl4ZXI6IEFsd2F5cyBoYW5kbGUgZmx1c2hfc3RvcF9wZW5kaW5nIGF0b21pY2FsbHkKCSAgSXQgaXMgbm90IHByb3RlY3RlZCB3aXRoIHRoZSBDT0xMRUNUX1BBRFNfU1RSRUFNX0xPQ0sgYW55bW9yZQoKMjAxMy0wNS0yMyAxODoxNDoxNyAtMDQwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvbWl4ZXIuYzoKCSAgdGVzdHM6IHZpZGVvbWl4ZXI6IEFkZCBhIHRlc3RzdWl0ZSBmb3IgdmlkZW9taXhlcgoJICBUaGlzIGlzIG1vc3RseSBjb3B5IHBhc3RlZCBmcm9tIC1iYXNlL3Rlc3RzL2NoZWNrL2VsZW1lbnRzL2FkZGVyLmMKCjIwMTMtMDUtMjUgMTA6NTc6MDIgLTA0MDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIHZpZGVvbWl4ZXI6IERvIG5vdCB0YWtlIENPTExFQ1RfUEFEU19TVFJFQU1fTE9DSyB3aGVuIHVubmVjZXNzYXJ5CgkgIENvbGxlY3RwYWQgdGFrZXMgdGhlIGxvY2sgaXRzZWxmIHdoZW4gcmVjZWl2aW5nIHNlcmlhbGl6ZWQgZXZlbnRzCgkgIGFuZCB3ZSBzaG91bGQgbm90IHRha2UgaXQgZm9yIG5vdCBzZXJpYWxpemVkIG9uZXMKCjIwMTMtMDUtMjQgMTk6MzQ6MDUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC9mbHgvZ3N0Zmx4ZGVjLmM6CgkgIGZseGRlYzogUHJvcGVybHkgc2tpcCBub24tZnJhbWUgY2h1bmtzCgoyMDEzLTA1LTI0IDE5OjMxOjE0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QvZmx4L2dzdGZseGRlYy5jOgoJICBmbHhkZWM6IEZsdXNoIGRhdGEgZnJvbSBhZGFwdGVyIGFmdGVyIHJlYWRpbmcgaXQKCSAgT3RoZXJ3aXNlIHdlJ3JlIGdvaW5nIGluIGFuIGluZmluaXRlIGxvb3AsIHJlYWRpbmcgdGhlIHNhbWUgZGF0YQoJICBvdmVyIGFuZCBvdmVyIGFnYWluLgoKMjAxMy0wNC0yNCAxNTozOTo1NCArMDAwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIGdzdC9nb29tMmsxL01ha2VmaWxlLmFtOgoJICBnb29tMmsxOiBmaXggbW9yZSBkdXBsaWNhdGVkIHN5bWJvbHMKCjIwMTMtMDUtMjIgMDI6NDA6NTIgKzAyMDAgIFNlYmFzdGlhbiBSYXNtdXNzZW4gPHNlYnJuQGF4aXMuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBqcGVnZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqcGVncGF5LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cC1wYXlsb2FkaW5nLmM6CgkgIHJ0cGpwZWdwYXkvZGVwYXk6IFJlcGxhY2UgZnJhbWVyYXRlIGNhcHMgZmllbGQgd2l0aCBmcmFjdGlvbgoJICBUaGUgcHJldmlvdXMgaW1wbGVtZW50YXRpb24gaGFkIHRoZSBmb3JtYXR0aW5nIG9mIFNEUCBhdHRyaWJ1dGVzIGhhcHBlbgoJICBpbiBlYWNoIFJUUCBwYXlsb2FkZXIsIG5vdyBpbnN0ZWFkIHRoZSBjb25zdGl0dWVudCB2YWx1ZXMgYXJlIHByb3BhZ2F0ZWQKCSAgYXMgY2FwcyBmaWVsZHMuIFRoaXMgYWxsb3dzIGZvciBhcHBsaWNhdGlvbnMgdG8gZG8gU0RQIG9mZmVyL2Fuc3dlcgoJICBiYXNlZCBvbiBjYXBzIG5lZ290aWF0aW9uLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAwNzQ4CgoyMDEzLTA1LTIyIDAxOjU4OjU3ICswMjAwICBTZWJhc3RpYW4gUmFzbXVzc2VuIDxzZWJybkBheGlzLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwanBlZ2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwanBlZ3BheS5jOgoJICBydHBqcGVncGF5L2RlcGF5OiBSZXBsYWNlIGZyYW1lc2l6ZSBjYXBzIHdpdGggd2lkdGgvaGVpZ2h0CgkgIFRoZSBwcmV2aW91cyBpbXBsZW1lbnRhdGlvbiBoYWQgdGhlIGZvcm1hdHRpbmcgb2YgU0RQIGF0dHJpYnV0ZXMgaGFwcGVuCgkgIGluIGVhY2ggUlRQIHBheWxvYWRlciwgbm93IGluc3RlYWQgdGhlIGNvbnN0aXR1ZW50IHZhbHVlcyBhcmUgcHJvcGFnYXRlZAoJICBhcyBjYXBzIGZpZWxkcy4gVGhpcyBhbGxvd3MgZm9yIGFwcGxpY2F0aW9ucyB0byBkbyBTRFAgb2ZmZXIvYW5zd2VyCgkgIGJhc2VkIG9uIGNhcHMgbmVnb3RpYXRpb24uCgkgIEtlZXAgcGFyc2luZyBhLWZyYW1lcmF0ZSwgeC1mcmFtZXJhdGUgYW5kIHgtZGltZW5zaW9ucyBpbiBydHBqcGVnZGVwYXkKCSAgdG8gYmUgYmFja3dhcmRzIGNvbXBhdGlibGUgd2l0aCBwcmV2aW91cyBwYXlsb2FkZXJzLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAwNzQ4CgoyMDEzLTA1LTIyIDAzOjE4OjA3ICswMjAwICBTZWJhc3RpYW4gUmFzbXVzc2VuIDxzZWJybkBheGlzLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJICBydHBoMjY0cGF5L2RlcGF5OiBBZGQgb3B0aW9uYWwgZnJhbWVyYXRlIGNhcHMgZm9yIHVzZSBpbiBTRFAKCSAgVGhpcyBhbGxvd3MgZm9yIGFwcGxpY2F0aW9ucyB0byBmb3JtYXQgU0RQIGF0dHJpYnV0ZXMgYW5kIHN0aWxsIGRvIFNEUAoJICBvZmZlci9hbnN3ZXIgYmFzZWQgb24gY2FwcyBuZWdvdGlhdGlvbi4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMDc0OQoKMjAxMy0wNS0yMiAwMzowOTo0NCArMDIwMCAgU2ViYXN0aWFuIFJhc211c3NlbiA8c2Vicm5AYXhpcy5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwLXBheWxvYWRpbmcuYzoKCSAgcnRwaDI2NHBheS9kZXBheTogQWRkIGZyYW1lIGRpbWVuc2lvbnMgYSBwYXlsb2FkZWQgY2FwcwoJICBUaGlzIGFsbG93cyBmb3IgYXBwbGljYXRpb25zIHRvIGZvcm1hdCBTRFAgYXR0cmlidXRlcyBhbmQgc3RpbGwgZG8gU0RQCgkgIG9mZmVyL2Fuc3dlciBiYXNlZCBvbiBjYXBzIG5lZ290aWF0aW9uLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAwNzQ5CgoyMDEzLTA1LTIwIDIyOjE0OjQ0ICswMjAwICBTZWJhc3RpYW4gUmFzbXVzc2VuIDxzZWJybkBheGlzLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJICBydHBoMjY0cGF5OiBSZXN0cnVjdHVyaW5nIHRvIGFsbG93IGZvciBhZGRpbmcgb3B0aW9uYWwgY2FwcwoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAwNzQ5CgoyMDEzLTA1LTIzIDE4OjQyOjA5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QvdWRwL2dzdGR5bnVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3RkeW51ZHBzaW5rLmg6CgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmg6CgkgIChkeW58bXVsdGkpdWRwc2luazogQWRkIHByb3BlcnRpZXMgdG8gc3BlY2lmeSB0aGUgYmluZCBhZGRyZXNzIGFuZCBwb3J0CgkgIEJ5IGRlZmF1bHQgd2UgdXNlIHRoZSBhbnkgYWRkcmVzc2VzIGFuZCBhIHJhbmRvbSBwb3J0IGZvciBiaW5kaW5nIHRoZSBzb2NrZXQuCgoyMDEzLTA1LTIzIDE4OjA1OjA3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QvdWRwL2dzdGR5bnVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSAgKGR5bnxtdWx0aSl1ZHBzaW5rOiBCaW5kIHNvY2tldCBiZWZvcmUgdXNpbmcgaXQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMDg3OAoKMjAxMy0wNS0yMyAxNzoyNToyOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSAgKG11bHRpKXVkcHNpbms6IEFkZCBtaXNzaW5nIGdldHRlcnMgZm9yIHNvY2tldC12NiBhbmQgdXNlZC1zb2NrZXQtdjYgcHJvcGVydGllcwoKMjAxMy0wNS0yMiAyMTowMTo0OCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICB2aWRlb21peGVyOiBEb24ndCBob2xkIHN0cmVhbS1sb2NrIHdoaWxlIHB1c2hpbmcgbm9uLXNlcmlhbGl6ZWQgZXZlbnRzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDA4NjgKCjIwMTMtMDUtMjIgMjE6MDA6NDUgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgdmlkZW9taXhlcjogRG9uJ3QgaG9sZCBvYmplY3QgbG9jayB3aGlsZSBzZW5kaW5nIGV2ZW50cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAwODY4CgoyMDEzLTA1LTIyIDE3OjMyOjMzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IFRoZSByZXR1cm4gdmFsdWUgb2YgZ3N0X3BhZF9zZXRfY2FwcygpIGlzIG5vdCByZWxldmFudCBhbnltb3JlCgkgIENhcHMgY2FuIGZhaWwgdG8gYmUgc2V0IGJlY2F1c2UgdGhlIHBhZCBpcyBub3QgbGlua2VkIHlldCBmb3IgZXhhbXBsZS4KCjIwMTMtMDUtMTUgMTY6Mzk6MzYgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEFkZCBlcnJvciBpZiBmaWxlIGhhcyBwbGF5cmVhZHkgZHJtCgoyMDEzLTA1LTE4IDE1OjA2OjQ5IC0wNDAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICB2aWRlb21peGVyOiBTZW5kIGEgcmVjb25maWd1cmUgZXZlbnQgdXBzdHJlYW0gaWYgc2lua3BhZCBjYXBzIGFyZSBub3QgdXNhYmxlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODQyMzcKCjIwMTMtMDUtMjEgMTI6MDI6NTEgKzAyMDAgIE1pY2hhZWwgT2xicmljaCA8bS5vbGJyaWNoQHBlbmd1dHJvbml4LmRlPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMjoga2VlcCBhIHJlZmVyZW5jZSB0byBhbGwgcXVldWVkIGJ1ZmZlcnMKCSAgV2l0aG91dCB0aGlzLCBhIHF1ZXVlZCBidWZmZXIgbWF5IGJlIHJlcXVpcmVkLCBmaWxsZWQgYW5kIHF1ZXVlZCBiZWZvcmUgaXQKCSAgaXMgZGVxdWV1ZWQuCgkgIENhbGxpbmcgZ3N0X2J1ZmZlcl9wb29sX2FjcXVpcmVfYnVmZmVyKCkgZW5zdXJlcyB0aGF0IHRoZSBidWZmZXIgaXMgc2V0IHVwCgkgIGNvcnJlY3RseSBhbmQgZ3N0X2J1ZmZlcl91bnJlZigpIGNhbGxzIGJ1ZmZlcl9yZWxlYXNlKCkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDA3ODEKCjIwMTMtMDUtMjEgMTM6MzM6NTkgKzAyMDAgIEFsZXhhbmRlciBTY2hyYWIgPGFsZXhhc0BheGlzLmNvbT4KCgkqIGdzdC9sYXcvbXVsYXctZGVjb2RlLmM6CgkgIG11bGF3ZGVjOiBIYW5kbGUgTlVMTCBidWZmZXJzIGluIGhhbmRsZV9mcmFtZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk4ODk0CgoyMDEzLTA1LTIwIDIxOjQ0OjEzICswMjAwICBTZWJhc3RpYW4gUmFzbXVzc2VuIDxzZWJybkBheGlzLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwanBlZ2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwanBlZ3BheS5jOgoJICBydHBqcGVncGF5L2RlcGF5OiBBZGQgZnJhbWVzaXplIGNhcHMgZm9yIHVzZSBpbiBTRFAKCSAgVGhlIGZvcm1hdCBvZiB0aGUgdmFsdWUgYWRoZXJlcyB0byBSRkM2MDY0IGFuZCBpdCBpcyBtZWFudCB0byBiZSBwYXJzZWQKCSAgYW5kIGluY2x1ZGVkIGluIHRoZSBTRFAgc2VudCBieSBnc3QtcnRzcC1zZXJ2ZXIgdG8gaXRzIGNsaWVudHMuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDA3NDgKCjIwMTMtMDUtMjAgMjE6MzQ6MTMgKzAyMDAgIFNlYmFzdGlhbiBSYXNtdXNzZW4gPHNlYnJuQGF4aXMuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBqcGVncGF5LmM6CgkgIHJ0cGpwZWdwYXk6IEFkZCBvcHRpb25hbCBmcmFtZXJhdGUgY2FwcyBmb3IgdXNlIGluIFNEUAoJICBUaGUgZm9ybWF0IG9mIHRoZSB2YWx1ZSBhZGhlcmVzIHRvIFJGQzQ1NjYgYW5kIGl0IGlzIG1lYW50IHRvIGJlIHBhcnNlZAoJICBhbmQgaW5jbHVkZWQgaW4gdGhlIFNEUCBzZW50IGJ5IGdzdC1ydHNwLXNlcnZlciB0byBpdHMgY2xpZW50cy4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMDc0OAoKMjAxMy0wNS0yMCAxOTo1OToxMyArMDIwMCAgTWF0aGlldSBEdXBvbmNoZWxsZSA8bWF0aGlldS5kdXBvbmNoZWxsZUBlcGl0ZWNoLmV1PgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgdmlkZW9taXhlcjogV2hlbiBhbGwgc2lua3BhZHMgYXJlIGVvcywgdXBkYXRlIG91dHB1dCBzZWdtZW50IHN0b3AgYW5kIGZvcndhcmQgaXQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5OTc5MwoKMjAxMy0wNS0yMCAxOTo1MTowNyArMDIwMCAgTWF0aGlldSBEdXBvbmNoZWxsZSA8bWF0aGlldS5kdXBvbmNoZWxsZUBlcGl0ZWNoLmV1PgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgdmlkZW9taXhlcjogRG9uJ3QgcmVzZXQgdGhlIG91dHB1dCBzZWdtZW50IG9uIGZsdXNoIHN0b3AKCSAgT25seSBpbml0IGl0IHdoZW4gZ2V0dGluZyBmcm9tIFJFQURZIHRvIFBBVVNFRCwgYW5kIGNoYW5nZSBpdCBvbiBzZWVrIGV2ZW50cy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5OTc5MwoKMjAxMy0wNS0xNyAxMDoxNjo0OCArMDIwMCAgTWljaGFlbCBPbGJyaWNoIDxtLm9sYnJpY2hAcGVuZ3V0cm9uaXguZGU+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICB2NGwyOiBEb24ndCBzdG9wIHN0cmVhbWluZyB3aGVuIHNldF9jYXBzIGlzIGNhbGxlZCB3aXRoIHVuY2hhbmdlZCBjYXBzCgkgIFRoaXMgY2FuIGhhcHBlbiBpZiBvdGhlciBwYXJ0cyBvZiB0aGUgcGlwZWxpbmUgYXJlIHJlY29uZmlndXJlZC4KCSAgU3RvcCBzdHJlYW1pbmcgZXZlbiBmb3IgYSBzaG9ydCBhbW91bnQgb2YgdGltZSBjYW4gYmUgcXVpdGUgdmlzaWJsZSwgc28gaXQKCSAgc2hvdWxkIGJlIGF2b2lkZWQgaWYgcG9zc2libGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDA1MDMKCjIwMTMtMDUtMTggMTU6Mzk6MzYgLTA0MDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9zaW1wbGUtbGF1bmNoLWxpbmVzLmM6CgkgIHRlc3RzOiBSZS1lbmFibGUgdmlkZW9taXhlciB0ZXN0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODQyMzcKCjIwMTMtMDUtMTggMTQ6MzY6MzkgLTA0MDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmg6CgkgIHZpZGVvbWl4ZXI6IFNlbmQgY2FwcyBldmVudCBmcm9tIHRoZSBzdHJlYW1pbmcgdGhyZWFkCgkgIFRoaXMgd2F5IHdlIGF2b2lkIHJhY2VzIGluIGNhcHMgbmVnb3RpYXRpb24gYW5kIHdlIG1ha2Ugc3VyZQoJICB0aGF0IHRoZSBjYXBzIGFyZSBzZW50IGFmdGVyIHN0cmVhbS1zdGFydC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NDIzNwoKMjAxMy0wNS0wNSAyMDoyNToyMCArMDEwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgdmlkZW9taXhlcjogRG8gbm90IHNlbmQgZmx1c2hfc3RvcCB3aGVuIHJlY2VpdmluZyBhIHNlZWsKCSAgVGhlcmUgaXMgbm8gcmVhc29uIHRvIHNlbmQgYSBmbHVzaC1zdG9wIHdoZW4gcmVjZWl2aW5nIGEgc2VlayBldmVudC4KCSAgSW4gdGhlIGNhc2Ugb2YgYSBmbHVzaGluZyBzZWVrLCB3ZSBjb3VsZCBldmVudHVhbGx5IHdhbnQgdG8sIGJ1dCBpbgoJICB0aGUgY29kZSBwYXRoIHdlcmUgd2UgY2hlY2sgaWYgdGhlIHNlZWsgaXMgImZsdXNoaW5nIiwgd2UgaGF2ZSB0aGUKCSAgZm9sbG93aW5nIGNvbW1lbnQgdGhhdCBtYWtlcyBzZW5zZToKCSAgIndlIGNhbid0IHNlbmQgRkxVU0hfU1RPUCBoZXJlIHNpbmNlIHVwc3RyZWFtIGNvdWxkIHN0YXJ0IHB1c2hpbmcgZGF0YQoJICBhZnRlciB3ZSB1bmxvY2sgbWl4LT5jb2xsZWN0LgoJICBXZSBzZXQgZmx1c2hfc3RvcF9wZW5kaW5nIHRvIFRSVUUgaW5zdGVhZCBhbmQgc2VuZCBGTFVTSF9TVE9QIGFmdGVyCgkgIGZvcndhcmRpbmcgdGhlIHNlZWsgdXBzdHJlYW0gb3IgZnJvbSBnc3RfdmlkZW9taXhlcl9jb2xsZWN0ZWQsCgkgIHdoaWNoZXZlciBoYXBwZW5zIGZpcnN0LiIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NDIzNwoKMjAxMy0wNS0wNSAyMDoyNDo0OSArMDEwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgdmlkZW9taXhlcjI6IFByb3RlY3QgZmx1c2hfc3RvcF9wZW5kaW5nIHdpdGggdGhlIGNvbGxlY3RwYWQgc3RyZWFtIGxvY2sKCSAgQW5kIG1ha2Ugc3VyZSB0byBleHBlY3QgYSBmbHVzaC1zdG9wIGFmdGVyIGEgZmx1c2gtc3RhcnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NDIzNwoKMjAxMy0wNS0xNyAxMjozNzo1OSArMDIwMCAgTWljaGFlbCBPbGJyaWNoIDxtLm9sYnJpY2hAcGVuZ3V0cm9uaXguZGU+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGFwYXkuYzoKCSAgcnRwbXA0YXBheTogY2xlYXIgY29uZmlnIGJ1ZmZlciBiZWZvcmUgdXNpbmcgaXQKCSAgVGhpcyBpcyBuZWNlc3NhcnkgYmVjYXVzZSBwYXJ0cyBvZiB0aGUgbWVtb3J5IGFyZSBvbmx5IG1vZGlmaWVkIHdpdGggInw9IgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAwNTE0CgoyMDEzLTA1LTE0IDE3OjMwOjA3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogRG8gbm90IGV4cGVjdCBFT1MgYWZ0ZXIgYSBzZWdtZW50IGV2ZW50IGlmIHVwc3RyZWFtIGlzIG1zcwoJICBJbiBjYXNlIHF0ZGVtdXggaXMgaGFuZGxpbmcgYSBtc3Mgc3RyZWFtLCBkbyBub3QgbWFyayB0aGUgc3RyZWFtIHRvIHdhaXQKCSAgZm9yIEVPUyBhZnRlciBhIHNlZ21lbnQuIEV2ZW4gaWYgaXQgc2VlbXMgdG8gYmUgdGhlIGxhc3Qgb25lIGFjY29yZGluZyB0bwoJICB0aGUgY3VycmVudCBzdHJlYW1zIGluZm9ybWF0aW9uLgoJICBNU1MgaGFuZGxpbmcgaXMgZGlmZmVyZW50IGhlcmUgYmVjYXVzZSB0aGVyZSBpcyBhbm90aGVyIGRlbXV4ZXIgZHJpdmluZwoJICB0aGUgcGlwZWxpbmUKCjIwMTMtMDUtMTQgMTY6MzI6NTEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBvbmx5IHNldCBjaGFubmVscyBhbmQgcmF0ZSBpZiBxdGRlbXV4IGtub3dzIGl0CgkgIFNldHRpbmcgYm90aCBvZiB0aG9zZSB0byAwIGlzIHBvaW50bGVzcyBhbmQgbWVhbnMgdGhhdCBxdGRlbXV4CgkgIGRvZXNuJ3Qga25vdyB0aGUgcmVhbCB2YWx1ZS4gQXZvaWQgc2V0dGluZyBpdCBpbiB0aGlzIGNhc2UuCgoyMDEzLTA1LTE0IDE1OjIzOjA4ICswMjAwICBBcm5hdWQgVnJhYyA8YXZyYWNAZnJlZWJveC5mcj4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBzZXQgYWxhYyBjYXBzIHVzaW5nIGluZm8gZnJvbSBjb2RlYyBidWZmZXIKCSAgVGhlIHNhbXBsZXJhdGUgZmllbGQgaW4gdGhlIFNUU0QgYXRvbSBpcyBub3QgcmlnaHQgZm9yIHNvbWUgQUxBQyBmaWxlcwoJICAodXN1YWxseSB3aGVuIGF1ZGlvIGlzIDk2a0h6LzI0Yml0cyksIHNvIHRoZSBhdWRpbyBjYXBzIG11c3QgYmUKCSAgZXh0cmFjdGVkIGZyb20gdGhlIGNvZGVjIGRhdGEuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDAzODIKCjIwMTMtMDUtMTUgMTE6MTM6MTIgKzAyMDAgIEFybmF1ZCBWcmFjIDxhdnJhY0BmcmVlYm94LmZyPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogZG8gbm90IHB1c2ggZGlzY29udCBidWZmZXJzIGlmIHRoZXkgYXJlbid0IGRpc2NvbnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MjExMAoKMjAxMy0wNS0xNSAxMDo1MTozOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDVlZGNkODUgdG8gMDk4YzBkNwoKMjAxMy0wNS0xNCAxMDoyODoxMCAtMDQwMCAgSm9zaHVhIE0uIERvZSA8b3NzQG52bC5hcm15Lm1pbD4KCgkqIGdzdC92aWRlb2Nyb3AvZ3N0YXNwZWN0cmF0aW9jcm9wLmM6CgkqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmM6CgkgIHZpZGVvY3JvcDogQWRkIHN1cHBvcnQgZm9yIEdSQVkxNl9MRS9HUkFZMTZfQkUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMDMzMQoKMjAxMy0wNS0xNCAxNzoyOTo1OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ3ZvbHVtZS5jOgoJICByZ3ZvbHVtZTogU2VuZCBhbGwgZXZlbnRzIHRocm91Z2ggdGhlIHByb3h5cGFkcyBpbnN0ZWFkIG9mIGp1c3Qgc2VuZGluZyB0byB0aGUgdGFyZ2V0CgkgIE90aGVyd2lzZSB0aGUgc3RpY2t5IGV2ZW50cyBhcmUgbWlzc2luZyBvbiB0aGUgcHJveHlwYWRzLgoKMjAxMy0wNS0xNCAxNzoyOToxOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ3ZvbHVtZS5jOgoJICByZ3ZvbHVtZTogRml4IGV2ZW50IGhhbmRsaW5nIGluIHRoZSB1bml0IHRlc3QKCjIwMTMtMDUtMTQgMTY6MzQ6NTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcmdsaW1pdGVyLmM6CgkgIHJnbGltaXRlcjogRml4IGV2ZW50IGhhbmRsaW5nIGluIHVuaXQgdGVzdHMKCjIwMTMtMDUtMTQgMTY6MzE6NTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcmdhbmFseXNpcy5jOgoJICByZ2FuYWx5c2lzOiBGaXggZXZlbnQgaGFuZGxpbmcgaW4gdW5pdCB0ZXN0CgoyMDEzLTA1LTE0IDE2OjA4OjU0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3F0bXV4LmM6CgkgIHF0bXV4OiBGaXggZXZlbnQgaGFuZGxpbmcgaW4gdW5pdCB0ZXN0CgoyMDEzLTA1LTE0IDE2OjAwOjU4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL211bHRpZmlsZS5jOgoJICBtdWx0aWZpbGU6IEZpeCBldmVudCBoYW5kbGluZyBpbiB1bml0IHRlc3QKCjIwMTMtMDUtMTQgMTM6NTg6MDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXVsYXdkZWMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXVsYXdlbmMuYzoKCSAgbXVsYXc6IEZpeCBldmVudCBoYW5kbGluZyBpbiB1bml0IHRlc3QKCjIwMTMtMDUtMTQgMTM6NTI6MTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmM6CgkgIG1hdHJvc2thcGFyc2U6IE1ha2Ugc3VyZSB0byBzZW5kIGEgc2VnbWVudCBldmVudCBiZWZvcmUgZGF0YWZsb3cKCjIwMTMtMDUtMTQgMTA6NTI6MTkgKzAyMDAgIE1pY2hhZWwgT2xicmljaCA8bS5vbGJyaWNoQHBlbmd1dHJvbml4LmRlPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyOiBvbmx5IGFkZCBpbnRlcmxhY2UtbW9kZSB0byB0aGUgY2FwcyBmb3IgcmF3IGZvcm1hdHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMDI4MAoKMjAxMy0wNS0xNCAxMjowMzowMyArMDIwMCAgTWljaGFlbCBPbGJyaWNoIDxtLm9sYnJpY2hAcGVuZ3V0cm9uaXguZGU+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDI6IGNvcHkgYW5kIHNldCB0aGUgYWN0dWFsIHNpemUgb2YgdGhlIGNvbnRlbnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMDI4MgoKMjAxMy0wNS0xNCAxMDoyNTo1NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pbnRlcmxlYXZlLmM6CgkgIGludGVybGVhdmU6IEZpeCBldmVudCBoYW5kbGluZyBpbiB1bml0IHRlc3QKCjIwMTMtMDUtMTQgMDk6NDU6MTIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBJbXByb3ZlIGhhbmRsaW5nIG9mIG1pbi9tYXggYnVmZmVyIG51bWJlcnMgb2YgdGhlIGJ1ZmZlciBwb29sCgoyMDEzLTA1LTE0IDAzOjQyOjU5ICswMjAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBzZXQgY2FwcyBmb3IgYnVmZmVyIHBvb2wgY29uZmlnCgoyMDEzLTA1LTEzIDEzOjMwOjM4IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmM6CgkgIG11bHRpZmlsZXNpbms6IExldCB0aGUgYmFzZSBjbGFzcyBkbyBnZXRfdGltZXMKCSAgVGhpcyB3aWxsIG1ha2Ugc3luYz1UUlVFIHdvcmssIHRoZSBkZWZhdWx0IGlzIHN0aWxsIHN5bmM9RkFMU0UKCjIwMTMtMDUtMTEgMjM6MDg6MjMgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOgoJICBpbnRlcmxlYXZlOiBTZW5kIHN0cmVhbS1zdGFydCBiZWZvcmUgY2FwcyBldmVudAoKMjAxMy0wNS0xMSAyMzoyNDozNiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4Lmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cG11eC5jOgoJICBydHBtdXg6IFNlbmQgc3RyZWFtLXN0YXJ0IGJlZm9yZSBjYXBzCgoyMDEzLTA1LTExIDIzOjI4OjEyIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXItdGVzdDogU2VuZCBzdHJlYW0tc3RhcnQgYmVmb3JlIGNhcHMgZm9sbG93ZWQgYnkgc2VnbWVudAoKMjAxMy0wNS0xMSAyMzozNDozNiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBiaW4uYzoKCSAgcnRwYmluLXRlc3Q6IFNlbmQgbWlzc2luZyBzdHJlYW0tc3RhcnQgYW5kIHNlZ21lbnQgZXZlbnRzCgoyMDEzLTA1LTEzIDE1OjM2OjE5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2xldmVsLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21hdHJvc2thbXV4LmM6CgkgIHRlc3RzOiBGaXggc29tZSBtb3JlIGV2ZW50IGhhbmRsaW5nIGluIHRlc3RzCgoyMDEzLTA1LTEzIDE1OjE5OjM2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ljeWRlbXV4LmM6CgkgIGljeWRlbXV4OiBGaXggZXZlbnQgaGFuZGxpbmcgaW4gdW5pdCB0ZXN0CgoyMDEzLTA1LTEzIDE1OjE5OjI1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pY3lkZW11eC9nc3RpY3lkZW11eC5jOgoJICBpY3lkZW11eDogRml4IHN0aWNreSBldmVudCBoYW5kbGluZwoKMjAxMy0wNS0xMyAxNTowNjowMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJICBmbHZtdXg6IFB1c2ggc3RpY2t5IGV2ZW50cyBpbiB0aGUgcmlnaHQgb3JkZXIKCjIwMTMtMDUtMTMgMTQ6NTU6MTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGVpbnRlcmxlYXZlLmM6CgkgIGRlaW50ZXJsZWF2ZTogRml4IGV2ZW50IGhhbmRsaW5nIGluIHRlc3QKCjIwMTMtMDUtMTMgMTQ6MDc6MTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmM6CgkgIGRlaW50ZXJsZWF2ZTogRml4IHN0aWNreSBldmVudCBoYW5kbGluZwoKMjAxMy0wNS0xMyAxMzo1NTo0NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYzoKCSAgZGVpbnRlcmxlYXZlOiBDb2RlIHN0eWxlIGZpeGVzCgoyMDEzLTA1LTEzIDEwOjQzOjMyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwZ3N0cGF5LmM6CgkgIHJ0cGdzdHBheTogRmlyc3QgbGV0IGJhc2VjbGFzcyBoYW5kbGUgZXZlbnRzLCB0aGVuIHB1dCB0aGVtIGludG8gdGhlIHN0cmVhbQoJICBGaXhlcyBoYW5kbGluZyBvZiBzdGlja3kgZXZlbnRzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAwMjEzCgoyMDEzLTA1LTA5IDIyOjA1OjI0IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NoYXBld2lwZS5jOgoJICBzaGFwZXdpcGUtdGVzdDogU2VuZCBpbml0YWwgZXZlbnRzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDAwMzMKCjIwMTMtMDUtMDkgMTg6MzI6MjMgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NwZWN0cnVtLmM6CgkgIHNwZWN0cnVtLXRlc3Q6IFNlbmQgaW5pdGFsIGV2ZW50cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAwMDMzCgoyMDEzLTA1LTA5IDE4OjI1OjE3IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb2ZpbHRlci5jOgoJICB2aWRlb2ZpbHRlci10ZXN0OiBTZW5kIGluaXRhbCBldmVudHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMDAzMwoKMjAxMy0wNS0wOSAxODoyMzozMCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvd2F2cGFja3BhcnNlLmM6CgkgIHdhdnBhY2twYXJzZS10ZXN0OiBTZW5kIGluaXRhbCBldmVudHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMDAzMwoKMjAxMy0wNS0wOSAxODoyMTo1NCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMveTRtZW5jLmM6CgkgIHk0bWVuYy10ZXN0OiBTZW5kIGluaXRhbCBldmVudHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMDAzMwoKMjAxMy0wNS0xMCAxNDowMDozMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4LmM6CgkgIG11bHRpcGFydGRlbXV4OiBmaXggZXhhbXBsZSBwaXBlbGluZQoJICBOZWVkIGpwZWdwYXJzZS4KCjIwMTMtMDUtMTAgMTM6MzQ6MTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYWxwaGFjb2xvci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hc3BlY3RyYXRpb2Nyb3AuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9hbXBsaWZ5LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvY2hlYmJhbmQuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9jaGVibGltaXQuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9keW5hbWljLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvZWNoby5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2ludmVydC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3Bhbm9yYW1hLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvd3NpbmNiYW5kLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvd3NpbmNsaW1pdC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdmltdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXZpc3VidGl0bGUuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2Fwc3NldHRlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kZWludGVybGFjZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kdG1mLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2VxdWFsaXplci5jOgoJICB0ZXN0czogRml4IHNvbWUgbW9yZSB1bml0IHRlc3RzCgoyMDEzLTA1LTEwIDEzOjEwOjI5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3BhcnNlci5jOgoJICB0ZXN0czogRml4IHBhcnNlciB0ZXN0cwoKMjAxMy0wNS0wOSAyMjoyMDoyOCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJICBzaGFwZXdpcGU6IENhbid0IG1hcCB0d2ljZSB0aGUgc2FtZSBidWZmZXIgZm9yIHdyaXRpbmcKCSAgSSB0b29rIHRoZSBvcHBvcnR1bml0eSB0byBzaW1wbGlmeSB0aGF0IGNvZGUgYSBiaXQuIFdlIG5vdyB1c2UKCSAgZ3N0X2J1ZmZlcl9tYWtlX3dyaXRhYmxlKCkgdG8gbWFrZSB0aGUgYnVmZmVyIHdyaXRhYmxlIGFuZCBtYXAgdHdpY2UgdGhlCgkgIHNhbWUgYnVmZmVyLCB3aXRoIGZpcnN0IG1hcCBiZWluZyByZWFkL3dyaXRlLCBhbmQgc2Vjb25kIHJlYWQgb25seS4gVGhpcwoJICBnZXQgcmlkIG9mIHRoZSBjcml0aWNhbDoKCSAgR1N0cmVhbWVyLUNSSVRJQ0FMICoqOiBnc3Rfc3RydWN0dXJlX3NldF9uYW1lOiBhc3NlcnRpb24gYElTX01VVEFCTEUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMDA0NAoKMjAxMy0wNS0wOSAyMjoxNTo1NCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJICBzaGFwZXdpcGU6IEVuc3VyZSBjYXBzIGFyZSB3cml0YWJsZQoJICBUaGUgZXhpc3Qgb25lIGNhc2Ugd2hlcmUgdGhhdCB3ZSBlbmR1cCB3aXRoIG9yaWdpbmFsIGNhcHMgaW4gcmV0LCBpbiB3aGljaAoJICBjYXNlIHdlIGFyZSBub3QgZ3VhcmF0aWVkIHRvIGhhdmUgd3JpdGFibGUgY2Fwcy4gU2ltcGx5IGVuc3VyZSB0aGlzIGlzIHRoZQoJICBjYXBzIGFyZSB3cml0YWJsZSBiZWZvcmUgZW50ZXJpbmcgdGhlIGxvb3AuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDAwNDQKCjIwMTMtMDUtMDkgMjI6MTM6NTEgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSAgc2hhcGV3aXBlOiBGaXggc2FtcGxlIHBpcGVsaW5lIGluIGRvY3VtZW50YXRpb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMDA0NAoKMjAxMy0wNS0wOSAxODowNTowMiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvanBlZ2VuYy5jOgoJICBqcGVnZW5jLXRlc3Q6IFNlbmQgaW5pdGFsIGV2ZW50cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAwMDMzCgoyMDEzLTA1LTA5IDE3OjQ5OjAzIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92cDhlbmMuYzoKCSAgdnA4ZW5jLXRlc3Q6IFNlbmQgaW5pdGFsIGV2ZW50cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAwMDMzCgoyMDEzLTA1LTA5IDE3OjIwOjE4IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92cDhkZWMuYzoKCSAgdnA4ZGVjLXRlc3Q6IFNlbmQgaW5pdGFsIGV2ZW50cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAwMDMzCgoyMDEzLTA1LTA5IDE3OjE5OjUzIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy93YXZwYWNrZGVjLmM6CgkgIHdhdnBhY2tkZWMtdGVzdDogU2VuZCBpbml0aWFsIGV2ZW50cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAwMDMzCgoyMDEzLTA1LTA5IDE2OjI2OjE5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIFJldmVydCAidmlkZW9taXhlcjI6IFRha2UgaW50byBhY2NvdW50IG5ldyBzZWdtZW50cyIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCA4NGFlNjcwYWI0MGIyNThhMTBlMWUyMTQ3MWU2ZGM5ZDc4NmJmMDg2LgoJICBBY3R1YWxseSB0aGlzIGlzIG5vdCBob3cgaXQgaXMgc3VwcG9zZWQgdG8gd29yay4gdmlkZW9taXhlcgoJICBjcmVhdGVzIGEgWzAsLTFdIHNlZ21lbnQgYW5kIHRoZW4gcHV0cyBmcmFtZXMgb2YgdGhlIGRpZmZlcmVudAoJICBzdHJlYW1zIHRoZXJlIGJhc2VkIG9uIHRoZWlyIHJ1bm5pbmcgdGltZXMgaW4gdGhlaXIgb3duIHNlZ21lbnRzLgoKMjAxMy0wNS0wNiAyMzo0MzowMyArMDIwMCAgTWF0aGlldSBEdXBvbmNoZWxsZSA8bWF0aGlldS5kdXBvbmNoZWxsZUBlcGl0ZWNoLmV1PgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgdmlkZW9taXhlcjI6IFRha2UgaW50byBhY2NvdW50IG5ldyBzZWdtZW50cwoJICBBbHNvIGZvcndhcmQgdGhlIGV2ZW50IGRvd25zdHJlYW0gb24gdGhlIG5leHQgb3Bwb3J0dW5pdHkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTk3OTMKCjIwMTMtMDUtMDkgMDk6MDc6MzggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIFJldmVydCAiZ3N0cnRzcHNyYzogc2V0IGJ1ZmZlci1zaXplIGZvciBtdWx0aWNhc3QgYnVmZmVycyIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCAyNDgxZTk1ZDAzOGI0MjI5N2EwMTZmMWQyZGMxYWYyNmQyMTc1YjQyLgoJICBUaGlzIGlzIGFscmVhZHkgZG9uZSBmaXZlIGxpbmVzIGFib3ZlLCBpdCB3YXMgYWRkZWQgYSB5ZWFyCgkgIGFnbyBpbiBjb21taXQgNTYxYjEzMWUuCgoyMDEzLTA1LTA4IDE5OjU0OjE5IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvZmlsdGVyLmM6CgkgIHZpZGVvZmlsdGVyOiBVbml0IHRlc3Qgc2VuZCBTRUdNRU5UIGJlZm9yZSBDQVBTCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTk5NjYKCjIwMTMtMDUtMDggMTk6MjI6MzEgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXZpbXV4LmM6CgkgIGF2aW11eDogVW5pdCB0ZXN0IHNlbmRzIFNFR01FTlQgYmVmb3JlIGNhcHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5OTk2NgoKMjAxMy0wNS0wOCAxOTowODoyNCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3dzaW5jYmFuZC5jOgoJICBhdWRpb3dzaW5jYmFuZDogVGVzdCBzaG91bGQgc2VuZCBzZWdtZW50IGFmdGVyIENBUFMKCSAgVGhpcyBtYWtlcyB0aGUgdW5pdCB0ZXN0IHBhc3MgYWdhaW4uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTk5NjYKCjIwMTMtMDUtMDggMTk6MDA6MjggLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW93c2luY2xpbWl0LmM6CgkgIGF1ZGlvd3NpbmNsaW1pdDogVGVzdCBzaG91bGQgc2VuZCBzZWdtZW50IGFmdGVyIENBUFMKCSAgVGhpcyBtYWtlcyB0aGUgdW5pdCB0ZXN0IHBhc3MgYWdhaW4uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTk5NjYKCjIwMTMtMDUtMDggMTg6NDQ6MzIgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW93c2luY2xpbWl0LmM6CgkgIGF1ZGlvd3NpbmNsaW1pdDogRnJlcXVlbmNlIHByb3BlcnR5IHJlbmFtZWQgY3V0b2ZmCgkgIFVwZGF0aW5nIHRoZSBkb2N1bWVudGF0aW9uIHRvIHJlZmxlY3QgdGhpcyBjaGFuZ2UuCgkgIFNlZTogaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5OTk2NAoKMjAxMy0wNS0wOCAxNToyNTo1OCAtMDMwMCAgQWhhIFVuc3dvcnRoIDxhaGEudW5zd29ydGhAZ21haWwuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBnc3RydHNwc3JjOiBzZXQgYnVmZmVyLXNpemUgZm9yIG11bHRpY2FzdCBidWZmZXJzCgkgIEZvciByZWNlaXZpbmcgdmlkZW8gZGF0YSB2aWEgUlRTUCB3aGVuIHRoZSB2aWRlbyBpcyBzZW50IHZpYQoJICBtdWx0aWNhc3QgdGhlcmUgaXMgbm8gd2F5IHRvIHNwZWNpZnkgdGhlIHVkcHNyYyBidWZmZXItc2l6ZS4KCSAgT24gd2luZG93cyB0aGUgbmF0aXZlIG5ldHdvcmsgYnVmZmVyIGlzIG5vdCBsYXJnZSBhbmQgd2l0aCB2aWRlbwoJICBpLWZyYW1lcyBiZWluZyBodWdlIHRoZSBidWZmZXIgaXMgdG8gc21hbGwgYW5kIHlvdSBnZXQgaS1mcmFtZSBjb3JydXB0aW9uLAoJICBpdCBsb29rcyB0ZXJyaWJsZSwgYW5kIHRoZXJlIGlzIG5vIChlYXN5KSB3YXkgdG8gc2V0IHRoZSB1ZHBzcmMgYnVmZmVyLXNpemUuCgkgIGh0dHBzOi8vYnVncy5mcmVlZGVza3RvcC5vcmcvc2hvd19idWcuY2dpP2lkPTUyMjY0CgoyMDEzLTA1LTA4IDE2OjAyOjA1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIHZpZGVvbWl4ZXIyOiBTZW5kIHN0cmVhbS1zdGFydCBiZWZvcmUgY2FwcyBldmVudAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk5ODk1CgoyMDEzLTA1LTA3IDE5OjE1OjQ5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgIGpwZWdkZWM6IGZpeCBjb21waWxlciB3YXJuaW5nIG9uIHR5cGUgY2hlY2sKCjIwMTMtMDQtMTggMDc6NDk6NTQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBwdXNoIG5ldyBjYXBzIGV2ZW50cyB3aGVuIGNhcHMgY2hhbmdlCgkgIFdoZW5ldmVyIHRoZSBkZW11eGVyIGhhcyBhIG5ldyBjYXBzIG9uIGEgc3RyZWFtLCBpdCBzaG91bGQgc2V0IHRoZQoJICBuZXdfY2FwcyB2YXJpYWJsZSB0byB0cnVlIGFuZCBhIG5ldyBjYXBzIGV2ZW50IHdpbGwgYmUgcHVzaGVkIGJlZm9yZQoJICB0aGUgbmV4dCBidWZmZXIKCjIwMTMtMDQtMTcgMTY6NTQ6MjIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBkbyBub3QgcHVzaCBkaXNjb250IGJ1ZmZlcnMgaWYgdGhleSBhcmVuJ3QgZGlzY29udAoJICBxdGRlbXV4IHRha2VzIGl0cyBidWZmZXJzIGZyb20gYSBHc3RBZGFwdGVyLiBUaG9zZSBidWZmZXJzIGFyZSBjcmVhdGVkCgkgIGZyb20gdGhlIGxhcmdlciBidWZmZXIgdGhhdCBpdCBvYnRhaW5lZCBmcm9tIHVwc3RyZWFtIGFuZCB0aGV5IGNhcnJ5CgkgIHRoZSBzYW1lIGZsYWdzLCBpbmNsdWRpbmcgRElTQ09OVCBpZiBpdCBpcyBzZXQuIEluIHRoZXNlIGNhc2VzLCBhbGwKCSAgYnVmZmVycyB0aGF0IHF0ZGVtdXggaXMgZ29pbmcgdG8gcHVzaCB3b3VsZCBiZSBtYXJrZWQgYXMgRElTQ09OVC4KCSAgVGhpcyBzY2VuYXJpbyBjYW4gbWFrZSBwYXJzZXJzL2RlY29kZXJzIGZsdXNoIG9uIGV2ZXJ5IGJ1ZmZlciBsZWFkaW5nCgkgIHRvIG5vIGRlY29kaW5nIGF0IGFsbCBoYXBlbm5pbmcuIFRoaXMgcGF0Y2ggcHJldmVudHMgdGhpcyBieSB1bnNldHRpbmcKCSAgdGhlIGZsYWcgaWYgaXQgc2hvdWxkbid0IGJlIHNldC4KCjIwMTMtMDQtMTIgMDk6MDg6MTYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguaDoKCSAgcXRkZW11eDogc29tZSBjb2RlIGNsZWFudXAgZm9yIG1zcyBoYW5kbGluZyBjb2RlCgkgICogRXhwbGljaXRseSBpbml0IHZhcmlhYmxlcyBmb3IgZnJhZ21lbnRlZCBmb3JtYXRzIGF0IGluaXQKCSAgKiBEbyBub3QgdXNlIEdzdENsb2NrVGltZSB0eXBlIGlmIHRoZSB2YXJpYWJsZSBpc24ndCBhIHRpbWVzdGFtcAoJICAqIEZpeCBhIHN0eWxlL3JlYWRhYmlsaXR5IGlzc3VlIGF0IGFuIGlmIGJsb2NrCgkgICogR3JvdXAgMiBtc3MgbW9kZSBjb25kaXRpb25hbCBibG9ja3MgdG9nZXRoZXIgdG8gaW1wcm92ZSByZWFkYWJpbGl0eQoJICBDb25mbGljdHM6CgkgIGdzdC9pc29tcDQvcXRkZW11eC5jCgoyMDEzLTA0LTEyIDEwOjIxOjExIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogYXZvaWQgc3RvcmluZyBub24tdGltZSBuZXdzZWdtZW50cyB0byBwdXNoIGxhdGVyCgkgIFRoaXMgY2FuIGNvbmZ1c2UgZG93bnN0cmVhbSB3aGVuIHRoZXkgZ2V0IGEgYnl0ZSBzZWdtZW50IGFmdGVyIHJlY2VpdmluZwoJICB0aGUgbmF0dXJhbCB0aW1lIHNlZ21lbnQgZnJvbSBxdGRlbXV4IHRoYXQgaXQgc2VuZHMgd2hlbiBzdGFydGluZyB0bwoJICBwdXNoIGJ1ZmZlcnMuIFRoaXMgaXMgc3BlY2lhbGx5IHRoZSBjYXNlIHdpdGggcGFyc2VycyB0aGF0IHRyeSB0bwoJICBjb252ZXJ0IHRoZSBwb3NpdGlvbiBmcm9tIGJ5dGUgdG8gdGltZSBmb3JtYXQgYW5kIG1pZ2h0IG1pc3MgdGhlCgkgIGNvcnJlY3QgcG9zaXRpb24gZm9yIHBsYXliYWNrIHRvIHN0YXJ0LgoKMjAxMy0wNC0xMCAxODowMjoyOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGF2b2lkIHNldHRpbmcgZmllbGRzIHRvIG5vbi13cml0YWJsZSBjYXBzCgoyMDEzLTAzLTEwIDA0OjE1OjA2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGRvbid0IHNlbmQgc28gbWFueSBzZWdtZW50IGV2ZW50cwoJICBPbmx5IHNlbmQgb25lIHNlZ21lbnQgZXZlbnQgaW4gdGhlIGJlZ2lubmluZyBvZiB0aGUgc3RyZWFtLCBub3QKCSAgYWZ0ZXIgZWFjaCBtb292IGFuZCBtb29mIGF0b20uCgkgIENvbmZsaWN0czoKCSAgZ3N0L2lzb21wNC9xdGRlbXV4LmMKCjIwMTMtMDMtMDggMTY6MDI6MjYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogcGxhY2UgaW5jb21taW5nIHRpbWVzdGFtcHMgb24gb3V0cHV0CgkgIFBsYWNlIHRoZSBpbmNvbW1pbmcgdGltZXN0YW1wIChpZiBhbnkpIGRpcmVjdGx5IG9udG8gdGhlIG91dGdvaW5nIGJ1ZmZlcnMKCSAgYW5kIGludGVycG9sbGF0ZSBvdGhlciB0aW1lc3RhbXBzLgoJICBDb25mbGljdHM6CgkgIGdzdC9pc29tcDQvcXRkZW11eC5jCgoyMDEzLTA1LTA3IDEwOjE2OjE4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogaW1wcm92ZSByZXNldCBvZiBpbnRlcm5hbCBzdGF0dXMKCSAgUmVzZXQgZGlmZmVyZW50IHZhcmlhYmxlcyBvbiBzdGF0ZSBjaGFuZ2VzIHRvIHJlYWR5IGFuZCB3aGVuCgkgIGhhbmRsaW5nIGEgZmx1c2gtc3RvcC4gRm9yIGhhbmRsaW5nIGZsdXNoIHN0b3BzIHdlIHNob3VsZCBjaGVjawoJICBpZiB0aGVyZSBpcyBhbiB1cHN0cmVhbSBhZGFwdGl2ZSBkZW11eGVyIGRyaXZpbmcgdGhlIHBpcGVsaW5lIGFzIHRoaXMKCSAgbWVhbnMgdGhhdCBxdGRlbXV4IHdpbGwgZ2V0IGEgbmV3IG1vb3YgYXRvbS4gRm9yICdzdGFuZGFyZCcgaXNvbWVkaWEKCSAgc3RyZWFtcyB0aGlzIGlzbid0IHRydWUgYW5kIHF0ZGVtdXggc2hvdWxkIGtlZXAgdGhlIHByZXZpb3VzIG1vb3YKCSAgaW5mb3JtYXRpb24gYXJvdW5kLgoJICBDb25mbGljdHM6CgkgIGdzdC9pc29tcDQvcXRkZW11eC5jCgoyMDEzLTAyLTA4IDAwOjI5OjIwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogcHJlcGFyZSBxdGRlbXV4IHRvIGFjY2VwdCBtdWx0aXBsZSBkYXNoIG1vb3ZzIGluIGEgcm93CgkgIFdoZW5ldmVyIGRhc2hkZW11eCBzd2l0Y2hlcyBiaXRyYXRlcyBpdCBzZW5kcyBhIG5ldyBtb292IHdpdGggdGhlCgkgIG5ldyBzdHJlYW0gY29uZmlndXJhdGlvbi4gcXRkZW11eCBzaG91bGQgbm93IGhhbmRsZSB0aGlzIGJ5IHNwbGl0dGluZwoJICB0aGUgZXhwb3NpbmcgYW5kIGNvbmZpZ3VyYXRpb24gb2Ygc3RyZWFtcyBpbnRvIHNlcGFyYXRlIGZ1bmN0aW9ucy4gV2hlbgoJICB0aGUgc3RyZWFtIGlzIG5ldyBpdCBpcyBjb25maWd1cmVkIGFuZCBleHBvc2VkLCB3aGVuIGl0IGlzIGEgbmV3IGJpdHJhdGUKCSAgb2YgYW4gZXhpc3Rpbmcgc3RyZWFtIGl0IGlzIG9ubHkgcmVjb25maWd1cmVkLgoJICBDb25mbGljdHM6CgkgIGdzdC9pc29tcDQvcXRkZW11eC5jCgoyMDEzLTAyLTA3IDE0OjEyOjUzIC0wMjAwICBBbmRyZSBNb3JlaXJhIE1hZ2FsaGFlcyAoYW5kcnVua28pIDxhbmRyZS5tYWdhbGhhZXNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IE1vdmUgRkxVU0hfU1RPUC9QQVVTRURfVE9fUkVBRFkgaGFuZGxpbmcgdG8gYSByZXNldCBtZXRob2QuCgkgIENvbmZsaWN0czoKCSAgZ3N0L2lzb21wNC9xdGRlbXV4LmMKCjIwMTMtMDEtMjMgMTA6NTU6MzMgLTA1MDAgIExvdWlzLUZyYW5jaXMgUmF0dMOpLUJvdWxpYW5uZSA8bG91aXMtZnJhbmNpcy5yYXR0ZS1ib3VsaWFubmVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5oOgoJICBxdGRlbXV4OiBSZW1vdmUgb2xkIHBhZHMgd2hlbiBleHBvc2luZyBzdHJlYW1zIGFuZCBvdGhlciBnZW5lcmFsIGZpeGVzLgoJICBDb25mbGljdHM6CgkgIGdzdC9pc29tcDQvcXRkZW11eC5jCgoyMDEzLTA0LTE2IDEwOjQxOjQzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4Lmg6CgkgIHF0ZGVtdXg6IGhhbmRsZSBtc3Mgc3RyZWFtcwoJICBzbW9vdGhzdHJlYW1pbmcgc3RyZWFtcyBzaG91bGQgYmUgaGFuZGxlZCBhcyBhIHNwZWNpYWwga2luZCBvZgoJICBmcmFnbWVudGVkIGlzb21lZGlhLiBJbiBNU1MgdGhlIGZyYWdtZW50cyB3aWxsIG5vdCBjb250YWluIGEKCSAgJ21vb3YnIGF0b20gd2l0aCB0aGUgbWVkaWEgZGVzY3JpcHRpb25zLCB0aGlzIGhhcyB0byBiZSBleHRyYWN0ZWQKCSAgZnJvbSB0aGUgY2Fwcy4KCSAgQWRkaXRpb25hbGx5LCB0aGVyZSBzaG91bGQgYmUgYW5vdGhlciBkZW11eGVyIHVwc3RyZWFtIHRoYXQgaXMgbGlrZWx5CgkgIGdvaW5nIHRvIGJlIHRoZSBvbmUgdG8gYW5zd2VyL2FjdCBvbiBxdWVyaWVzIGFuZCBldmVudHMsIHNvIHF0ZGVtdXggaGFzCgkgIHRvIGZvcndhcmQgdGhvc2UgdXBzdHJlYW0uCgoyMDEzLTA1LTA2IDE2OjU0OjAyICswMjAwICBNaWNoYWVsIE9sYnJpY2ggPG0ub2xicmljaEBwZW5ndXRyb25peC5kZT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDI6IHJlcXVlc3QgMCBidWZmZXJzIHdoZW4gc3RvcHBpbmcKCSAgV2l0aG91dCB0aGlzIHN0b3BwaW5nIHRoZSBwb29sIGluICpfc2V0X2NhcHMoKSBpcyB1c2VsZXNzLgoJICBTX0ZNVCB3aWxsIHN0aWxsIGZhaWwgd2l0aCBFQlVTWS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5OTgzNQoKMjAxMy0wNS0wNyAxNjozMjowMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgIGpwZWdkZWM6IEJ5IGRlZmF1bHQgYXNzdW1lIHRoYXQgd2UncmUgd29ya2luZyBvbiBub24tcGFja2V0aXplZCBpbnB1dAoJICBPbmx5IGRldGVjdGluZyB0aGlzIGluIHNldF9mb3JtYXQoKSBkb2VzIG5vdCB3b3JrIGJlY2F1c2Ugd2UgbWlnaHQKCSAgbm90IGdldCBhbnkgY2FwcyBhdCBhbGwsIGUuZy4gZnJvbSBmaWxlc3JjLgoKMjAxMy0wNS0wNyAxNjozMDo1OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOgoJICBwbmdkZWM6IEltcGxlbWVudCBwYXJzaW5nIGZ1bmN0aW9uYWxpdHkKCSAgVGhpcyBhbGxvd3MgdG8gcGx1ZyBwbmdkZWMgZGlyZWN0bHkgd2l0aG91dCBhIHBhcnNlciBpZiB0aGF0CgkgIGlzIGRlc2lyZWQuCgkgIFBhcnNpbmcgY29kZSBpcyBiYXNlZCBvbiBwbmdwYXJzZS4KCjIwMTMtMDUtMDcgMTU6NTQ6MjQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2xpYmNhY2EvZ3N0Y2FjYXNpbmsuYzoKCSAgY2FjYXNpbms6IEZpeCBzdXBwb3J0IGZvciBSR0IgZm9ybWF0cyBhbmQgYWRkIHN1cHBvcnQgZm9yIG1vcmUgb2YgdGhlbQoKMjAxMy0wNS0wNCAxMzoxOTo1MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwaHR0cHNyYzogRG9uJ3QgY29uc2lkZXIgdGhlIGNvbnRlbnQgc2l6ZSBmcm9tIHRoZSBIVFRQIGhlYWRlcnMgYXMgYWJzb2x1dGVseSBjb3JyZWN0CgkgIFRoZSBIVFRQIHNlcnZlciBjb3VsZCBnaXZlIHdyb25nIGluZm9ybWF0aW9uLCBlLmcuIGlmIHRoZSBIVFRQIHN0cmVhbSBpcwoJICBjaHVuay1lbmNvZGVkIG9yIGNvbXByZXNzZWQsIG9yIGlmIHRoZSBzZXJ2ZXIgZG9lcyBub3Qga25vdyB0aGUgY29tcGxldGUgc2l6ZQoJICBhdCB0aGUgdGltZSB3aGVuIHRoZSBmaWxlIGlzIHJlcXVlc3RlZCBieSB0aGUgY2xpZW50LgoJICBBbHNvIHNlZQoJICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE1MzU0CgoyMDEyLTA4LTIwIDA5OjUyOjMyICswMjAwICBQaGlsaXBwIFphYmVsIDxwLnphYmVsQHBlbmd1dHJvbml4LmRlPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMjogZmlsbCBvdXQgdjRsMl9idWZmZXIuYnl0ZXN1c2VkIGZpZWxkIGZvciB2NGwyc2luawoJICBXaGVuIHF1ZXVpbmcgYSBidWZmZXIgZm9yIGEgc2luaywgYnl0ZXN1c2VkIG11c3QgY29udGFpbiB0aGUgYWN0dWFsCgkgIGFtb3VudCBvZiBkYXRhLgoJICBGb3IgYSBzb3VyY2UsIHRoZSBkcml2ZXIgbXVzdCBvdmVyd3JpdGUgdGhpcywgc28gaXQgZG9lc24ndCBtYXR0ZXIKCSAgd2hhdCBpcyBzZXQgaGVyZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5OTU5OAoKMjAxMy0wNS0wMyAyMzo0MzoyNiArMDIwMCAgU2ViYXN0aWFuIFJhc211c3NlbiA8c2VicmFzQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwZ3N0cGF5LmM6CgkgIHJ0cGdzdHBheTogZml4IGludmFsaWQgbWVtb3J5IGFjY2VzcyBpbiBldmVudCBoYW5kbGVyCgkgIEZpcnN0IHByb2Nlc3MgZXZlbnQgaW4gcGF5bG9hZGVyLCB0aGVuIGhhbmQgaXQgdG8gdGhlCgkgIGJhc2UgY2xhc3Mgd2hpY2ggdGFrZXMgb3duZXJzaGlwIG9mIHRoZSBldmVudC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5OTYzNwoKMjAxMy0wNS0wNCAwOTo0ODowMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RkY2FwYXJzZS5jOgoJICBhYzNwYXJzZSwgZGNhcGFyc2U6IGNoZWNrIGJ1ZmZlciBzaXplIGJlZm9yZSB0cmltbWluZwoJICBhbmQgdW5yZWYgb2xkIGJ1ZmZlciBhcyBzb29uIGFzIHBvc3NpYmxlLgoKMjAxMy0wNS0wMiAxNTowMDoyMiArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZGNhcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RkY2FwYXJzZS5oOgoJICBkY2FwYXJzZTogYWRkIHN1cHBvcnQgZm9yICJhdWRpby94LXByaXZhdGUxLWR0cyIKCjIwMTMtMDUtMDIgMTQ6NTY6MDIgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuaDoKCSAgYWMzcGFyc2U6IGFkZCBzdXBwb3J0IGZvciAiYXVkaW8veC1wcml2YXRlMS1hYzMiCgoyMDEzLTA1LTAzIDEyOjQ2OjM3ICswMjAwICBNaWNoYWVsIE9sYnJpY2ggPG0ub2xicmljaEBwZW5ndXRyb25peC5kZT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMjogYWx3YXlzIGdlbmVyYXRlIHZpZGVvIGluZm8gZnJvbSBjYXBzCgkgIEluIHRoZSBwYXN0IGdzdF92aWRlb19pbmZvX2Zyb21fY2FwcygpIG9ubHkgdmlkZW8veC1yYXcuIE5vdyBpdCBhbHNvCgkgIHN1cHBvcnRzIG90aGVyIHZpZGVvLyogYW5kIGltYWdlLyogZm9ybWF0cy4KCSAgV2l0aCB0aGlzIHBhdGNoIHRoZSBmb3JtYXQgd29uJ3QgYmUgR1NUX1ZJREVPX0ZPUk1BVF9VTktPV04gYW5kCgkgIGdzdF92NGwyX2J1ZmZlcl9wb29sX3NldF9jb25maWcoKSBoYW5kbGVzIHN0cmlkZXMgY29ycmVjdGx5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk5NTcwCgoyMDEzLTA1LTAyIDA5OjQxOjAxICswMjAwICBNaWNoYWVsIE9sYnJpY2ggPG0ub2xicmljaEBwZW5ndXRyb25peC5kZT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmg6CgkgIHY0bDI6IHRyeSB0byBhbGxvY2F0ZSBuZXcgYnVmZmVycyB3aXRoIFZJRElPQ19DUkVBVEVfQlVGUyBpZiBuZWVkZWQKCSAgSWYgbWF4X2J1ZmZlcnMgaXMgMCB0aGVuIGFuIGFyYml0cmFyeSBudW1iZXIgb2YgYnVmZmVycyAoY3VycmVudGx5IDQpIGlzCgkgIGFsbG9jYXRlZC4gSWYgdGhpcyBpcyBub3QgZW5vdWdoIHY0bDJzcmMgc3RhcnRzIGNvcHlpbmcgYnVmZmVycy4KCSAgV2l0aCB0aGlzIHBhdGNoIFZJRElPQ19DUkVBVEVfQlVGUyBpcyB1c2VkIHRvIGFsbG9jYXRlIGEgbmV3IGJ1ZmZlci4gSWYKCSAgdGhpcyBmYWlscyB2NGwyc3JjIGZhbGxzIGJhY2sgdG8gY29weWluZyBidWZmZXJzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk5NDQ3CgoyMDEzLTA0LTE1IDE3OjM3OjAxICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5oOgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIG9zeHZpZGVvc2luazogZml4IHNldHRpbmcgd2luZG93IGhhbmRsZSBhZnRlciB0cmFuc2l0aW9uCgkgIFRoZSBkZXN0cm95ZWQgZmxhZyB3YXMgbm90IHJlc2V0IHByb3Blcmx5IGFuZCBpdCdzIGFsc28gbm90IG5lZWRlZAoJICBhcyB3ZSBjYW4gY2hlY2sgb3N4d2luZG93ICE9IE5VTEwKCjIwMTMtMDUtMDIgMTM6NDU6NTUgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJICBydHA6IGZpeCBkdXBsaWNhdGVkIHN5bWJvbHMgd2l0aCBsaWJ2cHgKCjIwMTMtMDQtMjkgMTA6NTg6MDggKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBnc3QvZ29vbTJrMS9NYWtlZmlsZS5hbToKCSAgZ29vbTJrMTogZml4IGR1cGxpY2F0ZWQgc3ltYm9scyB3aXRoIGdvb20KCjIwMTMtMDUtMDEgMTU6NDk6NDUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkgIHJ0cGgyNjRwYXk6IElmIHRoZSBhZGFwdGVyIGlzIGVtcHR5IG9uIEVPUyBkb24ndCB0cnkgdG8gbWFwIGl0cyBjb250ZW50CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTkzMTQKCjIwMTMtMDQtMzAgMTQ6MzY6MzggKzAyMDAgIE9nbnlhbiBUb25jaGV2IDxvZ255YW5AYXhpcy5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogYWRkIHN0cmVhbS1mb3JtYXQ9cmF3IHRvIGFhYyBjYXBzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTkzMDMKCjIwMTMtMDQtMzAgMTM6MDc6MzcgKzAyMDAgIE1pY2hhZWwgT2xicmljaCA8bS5vbGJyaWNoQHBlbmd1dHJvbml4LmRlPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMjogZml4IGFuZCBjbGVhbnVwIFZJRElPQ19FWFBCVUYgaGFuZGxpbmcKCSAgY2xlYXIgdGhlIHN0cnVjdCwgYW5kIHByb3ZpZGUgYSBjb3JyZWN0IGVycm9yIG1lc3NhZ2UKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5OTMzNwoKMjAxMi0wNy0wNSAxODowMjoyNyArMDIwMCAgUGhpbGlwcCBaYWJlbCA8cC56YWJlbEBwZW5ndXRyb25peC5kZT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMjogaGFuZGxlIHJldHVybiB2YWx1ZSAtRU5PVFRZIGZvciB1bmltcGxlbWVudGVkIFZJRElPQ19HX1BBUk0KCSAgTmV3ZXIga2VybmVscyByZXR1cm4gLUVOT1RUWSwgb2xkZXIga2VybmVscyByZXR1cm4gLUVJTlZBTCBpZiB0aGUgaW9jdGwKCSAgaXMgbm90IGltcGxlbWVudGVkLiBXaXRoIHRoaXMgcGF0Y2gsIEdTdHJlYW1lciBoYW5kbGVzIGJvdGggY2FzZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTg4MjUKCjIwMTMtMDQtMzAgMDk6MTY6MDcgKzAyMDAgIE1pY2hhZWwgT2xicmljaCA8bS5vbGJyaWNoQHBlbmd1dHJvbml4LmRlPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyOiBmaXggYnJva2VuIGJvb2xlYW4gZXhwcmVzc2lvbiB0byBkZXRlY3Qgbm9uLWZyYW1lIGJ1ZmZlcnMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5OTI5NAoKMjAxMy0wNC0yOSAxMTowNzo1NiArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogQmV0dGVyIGVycm9yIG1lc3NhZ2Ugd2hlbiBzZXJ2ZXIgdmVyc2lvbiBpcyB0b28gb2xkCgkgIFdlIGNoZWNrIGZvciB0aGUgbGlicmFyeSB2ZXJzaW9uIGF0IGNvbmZpZ3VyZSB0aW1lLCBidXQgdGhlIHNlcnZlcgoJICB2ZXJzaW9uIGNhbiBvbmx5IHJlYWxseSBiZSBjaGVja2VkIGF0IHJ1bi10aW1lLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk4NzY4CgoyMDEzLTA0LTI3IDExOjI0OjM4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L3VkcC9nc3R1ZHAuYzoKCSAgdWRwOiBsb2cgV0FSTklORyBkZWJ1ZyBtZXNzYWdlIGlmIFVEUCBtdWx0aWNhc3QgaXMgbGlrZWx5IHRvIGJlIGJyb2tlbgoKMjAxMy0wNC0yNyAxMToxNjo1NCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIHVkcHNyYzogYWRkIGluY2x1ZGVzIHRvIGdldCBzb2NrbGVuX3QgZGVmaW5lZCBvbiBXaW5kb3dzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTI0MDAKCjIwMTMtMDQtMjcgMDk6Mzk6NDUgKzAxMDAgIFl1cnkgRGVsZW5kaWsgPGFzeW5jLnByb2Nlc3Npbmdqc0B5YWhvby5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogYWRkIHN1cHBvcnQgZm9yIFZQNkYgVlA2IGZsYXNoIGNvZGVjCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTkwMTAKCjIwMTItMDktMDUgMTY6Mzk6MzEgKzAyMDAgIE1pY2hhZWwgT2xicmljaCA8bS5vbGJyaWNoQHBlbmd1dHJvbml4LmRlPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJICB2NGwyOiBhbHNvIHBvbGwgZm9yIG91dHB1dCBkZXZpY2VzCgkgIE5vdGUgdGhhdCB0aGUgVjRMMiBBUEkgZGVmaW5lcyB0aGF0IGZvciBvdXRwdXQgZGV2aWNlcyBQT0xMT1VUCgkgIGluZGljYXRlcyB0aGF0IGEgYnVmZmVyIGlzIHJlYWR5IHRvIGJlIGRlcXVldWVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk4OTkyCgoyMDEyLTA4LTIwIDA5OjUyOjM0ICswMjAwICBQaGlsaXBwIFphYmVsIDxwLnphYmVsQHBlbmd1dHJvbml4LmRlPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyOiBmaXggY29weWluZyBvZiBlbmNvZGVkIGJ1ZmZlcnMKCSAgVGhlIGV4aXN0ZW5jZSBvZiBhIEdzdFZpZGVvRm9ybWF0SW5mbyBkb2VzIG5vdCBndWFyYW50ZWUsIHRoYXQKCSAgdGhlIGJ1ZmZlciBjb250YWlucyB2aWRlbyBmcmFtZXMsIHNvIHRoZSBmb3JtYXQgbXVzdCBiZSBjaGVja2VkLgoJICBBbHNvLCBmb3IgZW5jb2RlZCBidWZmZXJzIHRoZSBsZW5ndGggaXMgdmFyaWFibGUgYW5kIG11c3QgYmUgc2V0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk4OTQ5CgoyMDEyLTA3LTEwIDE1OjI5OjQwICswMjAwICBNaWNoYWVsIE9sYnJpY2ggPG0ub2xicmljaEBwZW5ndXRyb25peC5kZT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMjogYWRkIHN1cHBvcnQgZm9yIG1wZWc0IGFuZCBILjI2MwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk4ODI2CgoyMDEzLTA0LTI2IDEyOjE2OjQ5ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tb25vc2NvcGUvZ3N0bW9ub3Njb3BlLmM6CgkgIG1vbm9zY29wZTogRml4IGRlYnVnIHN0YXRlbWVudAoKMjAxMy0wNC0yNSAyMTo1MDozMyArMDIwMCAgQWxleGFuZGVyIFNjaHJhYiA8bWVyb3NAbWVyb3MtZGVza3RvcC4obm9uZSk+CgoJKiBnc3QvbGF3L211bGF3LWRlY29kZS5jOgoJKiBnc3QvbGF3L211bGF3LWRlY29kZS5oOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXVsYXdkZWMuYzoKCSAgbXVsYXdkZWM6IGNoYW5nZSBiYXNlIGNsYXNzIHRvIEdzdEF1ZGlvRGVjb2RlcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk4ODk0CgoyMDEzLTA0LTI1IDIwOjU5OjUyICswMjAwICBNYXRoaWV1IER1cG9uY2hlbGxlIDxtYXRoaWV1LmR1cG9uY2hlbGxlQGVwaXRlY2guZXU+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5oOgoJICB2aWRlb21peGVyOiBzZW5kIHN0cmVhbS1zdGFydCBldmVudC4KCjIwMTItMTAtMTggMTA6Mzc6MzUgKzAyMDAgIFBoaWxpcHAgWmFiZWwgPHAuemFiZWxAcGVuZ3V0cm9uaXguZGU+CgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkgIHY0bDI6IGhhbmRsZSBFTk9EQVRBIHJldHVybiB2YWx1ZSBmb3IgVklESU9DX0VOVU1TVEQKCSAgSW4ga2VybmVsIHYzLjctcmMxLCBWSURJT0NfRU5VTVNURCByZXR1cm5zIEVOT0RBVEEgaWYgdGhlIGN1cnJlbnQgaW5wdXQKCSAgZG9lcyBub3Qgc3VwcG9ydCB0aGUgU1REIEFQSS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5ODgyNwoKMjAxMy0wNC0yNSAxMzoxOTozNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZ3N0L3J0cC9nc3RydHBMMTZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cEwxNnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFjM2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYWMzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhbXJwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBidmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYnZwYXkuYzoKCSAgZG9jczogYWRkIHNvbWUgcGF5L2RlcGF5bG9hZGVycwoJICBTZWUgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTU1MTYzMQoKMjAxMy0wNC0yNSAxMjo0NDoxNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGF3L211bGF3LWVuY29kZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tdWxhd2VuYy5jOgoJICBtdWxhdzogU29tZSBtaW5vciBtZW1sZWFrIGZpeGVzIGFuZCBjbGVhbnVwCgoyMDEzLTA0LTI0IDEzOjU2OjU2ICswMjAwICBBbGV4YW5kZXIgU2NocmFiIDxhbGV4YXNAYXhpcy5jb20+CgoJKiBnc3QvbGF3L211bGF3LWVuY29kZS5jOgoJKiBnc3QvbGF3L211bGF3LWVuY29kZS5oOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXVsYXdlbmMuYzoKCSAgbXVsYXdlbmM6IGNoYW5nZSB0byBnc3RhdWRpb2VuY29kZXIgYmFzZSwgYWRkZWQgYml0cmF0ZSB0YWdzCgoyMDEyLTA1LTAzIDE2OjA3OjI3ICswMjAwICBNaWNoYWVsIE9sYnJpY2ggPG0ub2xicmljaEBwZW5ndXRyb25peC5kZT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDI6IGJ1ZmZlcnBvb2w6IHJlc2V0IGJ1ZmZlciBzaXplIGluIHJlbGVhc2VfYnVmZmVyCgkgIFRoZSBidWZmZXIgbWlnaHQgc3RpbGwgYmUgaW4gdXNlIGVsc2V3aGVyZSB3aGVuIGRlcXVldWluZyBidWZmZXJzIGZvcgoJICBvdXRwdXRzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk4ODIyCgoyMDEyLTA0LTIwIDA5OjUzOjM1ICswMjAwICBNaWNoYWVsIE9sYnJpY2ggPG0ub2xicmljaEBwZW5ndXRyb25peC5kZT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDI6IGJ1ZmZlcnBvb2w6IHJlbW92ZSB1bnVzZWQgaW5jbHVkZXMKCSAgVGhlIGhhY2tzIHRoYXQgbmVlZGVkIHRoZXNlIGFyZSBsb25nIGdvbmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTg4MjEKCjIwMTMtMDQtMjUgMTI6MTI6MjMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuaDoKCSAgKG11bHRpKXVkcHNpbms6IFVzZSBzZXBhcmF0ZSBzb2NrZXRzIGZvciBJUHY0IGFuZCBJUHY2CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD01MzQyNDMKCjIwMTMtMDQtMjUgMTA6NDQ6NDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9nc3RkeW51ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0ZHludWRwc2luay5oOgoJICBkeW51ZHBzaW5rOiBVc2Ugc2VwYXJhdGUgc29ja2V0cyBmb3IgSVB2NCBhbmQgSVB2NgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTM0MjQzCgoyMDEzLTA0LTI1IDEwOjQzOjU2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC91ZHAvTWFrZWZpbGUuYW06CgkgIHVkcDogRG9uJ3QgaW5jbHVkZSByZW1vdmVkIGdzdHVkcC5oIGluIG5vaW5zdF9IRUFERVJTCgoyMDEzLTA0LTE3IDE2OjQ3OjMxIC0wNzAwICBUb2RkIEFndWxuaWNrIDx0b2RkQGFndWxuaWNrLmNvbT4KCgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NpbmsuYzoKCSAgb3N4YXVkaW86IFVzZSBnc3RfYXVkaW9fY2hhbm5lbF9wb3NpdGlvbnNfdG9fbWFzaygpIHRvIGNyZWF0ZSBtYXNrCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTg4MDcKCjIwMTMtMDQtMTcgMTY6MTI6MjYgLTA3MDAgIFRvZGQgQWd1bG5pY2sgPHRvZGRAYWd1bG5pY2suY29tPgoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5jOgoJICBvc3hhdWRpbzogUmVtb3ZlIHVudXNlZCBjb2RlCgoyMDEzLTA0LTI1IDA5OjE2OjE0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC91ZHAvTWFrZWZpbGUuYW06CgkqIGdzdC91ZHAvZ3N0ZHludWRwc2luay5oOgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5oOgoJKiBnc3QvdWRwL2dzdHVkcC5oOgoJKiBnc3QvdWRwL2dzdHVkcHNpbmsuaDoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuaDoKCSAgdWRwOiBSZW1vdmUgdW51c2VkIGVudW0gdHlwZQoKMjAxMy0wNC0yNSAwOToxMzo1MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdWRwL01ha2VmaWxlLmFtOgoJKiBnc3QvdWRwL2dzdGR5bnVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3R1ZHAtbWFyc2hhbC5saXN0OgoJICB1ZHA6IFVzZSB0aGUgZ2VuZXJpYyBtYXJzaGFsbGVyIGluc3RlYWQgb2YgZ2VuZXJhdGluZyBtYXJzaGFsbGVycwoKMjAxMy0wNC0yNSAwOTowNzo0MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5oOgoJICB1ZHBzcmM6IFJlbmFtZSBpbnN0YW5jZSB2YXJpYWJsZSBmcm9tIGhvc3QgdG8gbXVsdGlfZ3JvdXAKCSAgVGhpcyBpcyBtb3JlIGNvbnNpc3RlbnQgYXMgaXQncyB1c2VkIGZvciB0aGUgbXVsdGljYXN0LWdyb3VwIHByb3BlcnR5LgoKMjAxMy0wNC0yNSAwOTowMzo1NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICB1ZHBzcmM6IEFkZCBiaW5kLWFkZHJlc3MgcHJvcGVydHkKCSAgVGhpcyBpcyBlcXVpdmFsZW50IHRvIG11bHRpY2FzdC1ncm91cCBjdXJyZW50bHkgZm9yIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5LgoJICBJbiAyLjAgdGhpcyBzaG91bGQgYmUgaGFuZGxlZCBzZXBhcmF0ZWx5LCB0aGUgZm9ybWVyIG9ubHkgYmVpbmcgdGhlIG11bHRpY2FzdAoJICBncm91cCBhbmQgdGhlIGxhdHRlciBhbHdheXMgYmVpbmcgdGhlIGFkZHJlc3MgdGhlIHNvY2tldCBpcyBib3VuZCB0bywgZXZlbiBpZgoJICBhIG11bHRpY2FzdCBncm91cCBpcyBnaXZlbi4KCjIwMTMtMDQtMjQgMTY6MjQ6MjUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdkZXBheS5jOgoJICB2cmF3ZGVwYXk6IHJldHVybiBvdXRwdXQgYnVmZmVyIGZyb20gcHJvY2VzcwoJICBSZXR1cm4gdGhlIG91dHB1dCBidWZmZXIgZnJvbSB0aGUgcHJvY2VzcyBmdW5jdGlvbiBpbnN0ZWFkIG9mIHB1c2hpbmcKCSAgaXQgb3Vyc2VsdmVzLiBUaGlzIHdheSwgdGhlIHN1YmNsYXNzIGNhbiBhY3R1YWxseSBkZWFsIHdpdGggdGhlIHJldHVybgoJICB2YWx1ZSBvZiB0aGUgcHVzaC4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MzcyNwoKMjAxMi0xMC0wMSAwOToyOToyMSAtMDMwMCAgRGlvZ28gQ2FyYm9uZXJhIEx1dml6b24gPGRpb2dvLmx1dml6b25AZW5zaXRlYy5jb20uYnI+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDI6IHNhdmUgdGhlIGZvcm1hdCBjb3JyZWN0bHkKCSAgSWYgVFJZX0ZNVCBpcyBub3QgaW1wbGVtZW50ZWQsICBnc3RfdjRsMl9vYmplY3RfZ2V0X25lYXJlc3Rfc2l6ZSB3aWxsCgkgIHVzZSBTX0ZNVCBhbmQgd2lsbCBjaGFuZ2UgdGhlIGRldmljZSdzIG9wZXJhdGlvbiBtb2RlLiBUbyBzYXZlIHRoZQoJICBvbGQgZGV2aWNlIG1vZGUgd2UgbmVlZCB0byBzZXQgdGhlIHR5cGUgZmllbGQgb3IgZWxzZSBpdCB3aWxsIGZhaWwKCSAgdG8gc2F2ZSB0aGUgcHJldmlvdXMgZm9ybWF0LgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg1MjA5CgoyMDEzLTA0LTI0IDE1OjM4OjUwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBMMTZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYnZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjJkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjlkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaWxiY2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY21hZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY211ZGVwYXkuYzoKCSAgcnRwOiBhIG1hcmtlciBiaXQgc2hvdWxkIHRyYW5zbGF0ZSB0byBSRVNZTkMKCSAgQSBtYXJrZXIgYml0IG9uIGFuIGF1ZGlvIHBhY2tldCBkb2VzIG5vdCBtZWFuIGEgRElTQ09OVCAoaW4gdGhlIEdTdHJlYW1lciBzZW5zZQoJICBvZiBtaXNzaW5nIGRhdGEpIGJ1dCBpdCBtZWFucyB0aGF0IHRoZSBwYWNrZXQgaXMgdGhlIGVuZCBvZiBhIHRhbGtzcHVydCBhbmQgdGh1cwoJICBhIGdvb2Qgb3Bwb3J0dW5pdHkgdG8gcmVzeW5jIHRvIHRoZSBjbG9jay4gVXNlIHRoZSBSRVNZTkMgYnVmZmVyIGZsYWcgdG8gbm90ZQoJICB0aGlzLgoJICBSZWFsIGRpc2NvbnRpbnVpdGllcyBhcmUgbWFya2VkIHdpdGggRElTQ09OVCBzdGlsbCB3aGVuIHRoZSBzZXFudW0gaGFzIGEgR0FQIG9yCgkgIHdoZW4gdGhlIGlucHV0IGJ1ZmZlciBoYXMgdGhlIERJU0NPTlQgZmxhZyBzZXQuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjcyMDQKCjIwMTMtMDQtMjIgMjM6NTE6MzggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBNQUlOVEFJTkVSUzoKCSogUkVBRE1FOgoJKiBSRUFETUUuc3RhdGljLWxpbmtpbmc6CgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gM2NiM2QzYyB0byA1ZWRjZDg1CgoyMDEzLTA0LTIyIDEwOjE5OjI5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwanBlZ2RlcGF5LmM6CgkgIHJ0cGpwZWdkZXBheTogRHJvcCBmcmFtZSBpZiBpdCdzIGxlc3MgdGhhbiAyIGJ5dGVzIGxhcmdlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Nzc1NjAKCjIwMTMtMDQtMTggMTI6MjA6MDggKzAzMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NpbmsuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc3JjLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NpbmsuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc3JjLmM6CgkgIGF1dG9kZXRlY3Q6IHVzZSBfcGx1Z2luX2ZlYXR1cmVfcmFua19jb21wYXJlIEFQSSBpbnN0ZWFkIG9mIGR1cGxpY2F0aW5nIHRoZSBjb2RlLgoKMjAxMy0wNC0xOCAwOTozNzozMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9yaW5nYnVmZmVyLmg6CgkgIG9zeGF1ZGlvOiBJbmNsdWRlIGdzdGF1ZGlvcmluZ2J1ZmZlci5oIHRvIGZpeCBjb21waWxhdGlvbiBpbiAxLjAKCjIwMTMtMDQtMTcgMjE6MDU6MTQgKzAyMDAgIFBoaWxpcHBlIE5vcm1hbmQgPHBoaWxuQGlnYWxpYS5jb20+CgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zaW5rLmM6CgkgIG9zeGF1ZGlvc2luazogY2hhbm5lbC1tYXNrIGNvbmZpZ3VyYXRpb24gZml4ZXMKCSAgU2V0IGNoYW5uZWwtbWFzayBhY2NvcmRpbmcgdG8gc2luaydzIGxheW91dCBpbiBjYXNlIG9mIHN0ZXJlbyBsYXlvdXQuCgkgIEFsc28gaW5pdGlhbGl6ZSBhbmQgcmVzZXQgdGhlIG1hc2sgd2hlbiBhbiB1bnJlY29nbml6ZWQgY2hhbm5lbCBpcyBkZXRlY3RlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5ODIyNAoKMjAxMy0wNC0xNSAxOTo1MzoyOCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgdjRsMnNyYzogRGlzYWJsZSByZW5lZ290aWF0aW9uIGluIHRoZSBuZWdvdGlhdGUgbWV0aG9kCgkgIFRoaXMgd2F5LCB3ZSBkb24ndCBibG9jayB0aGUgaW5pdGlhbCBuZWdvdGlhdGlvbi4KCSAgVGhhbmtzIHRvIEplcmVteSBXaGl0aW5nIGZvciBkb2luZyBhbGwgdGhlIHRlc3RpbmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTU5ODEKCjIwMTMtMDQtMTUgMTk6NDY6MTIgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIFJldmVydCAidjRsMjogZGlzYWJsZSByZW5lZ290aWF0aW9uIgoJICBUaGlzIHJldmVydHMgY29tbWl0IGQxYjI2ZTFkNTk0YWIyYjYzMzI0ZTQzYTM2MzMwNDc1ZTk4Y2RmMTguCgkgIFRoaXMgY2F1c2VzIHRoZSBpbml0aWFsIG5lZ290aWF0aW9uIHRvIG5ldmVyIGhhcHBlbiBpZiBhIHJlY29uZmlndXJlCgkgIGV2ZW50IGlzIHJlY2VpdmVkIGFmdGVyIGdzdF9iYXNlX3NyY19zdGFydF9jb21wbGV0ZSgpIGJ1dCBiZWZvcmUgdGhlIGxvb3AKCSAgc3RhcnRzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk1OTgxCgoyMDEzLTA0LTE3IDIxOjEyOjU1ICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY3RhZy5jOgoJICBmbGFjdGFnOiBmb3J3YXJkIGNhcHMgZXZlbnQKCSAgVGhpcyBlbnN1cmVzIHRoYXQgdGhlIGRvd25zdHJlYW0gZWxlbWVudCB3aWxsIGdldCB0aGUgZXZlbnQgYW5kIG5lZ290aWF0ZXMuIEFkZAoJICBhIEZJWE1FIGZvciB1cGRhdGluZyB0aGUgc3RyZWFtaGVhZGVyIGZpZWxkIG9uIHRoIGNhcHMuCgoyMDEzLTA0LTE3IDA3OjUwOjI3ICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJKiBleHQvZmxhYy9nc3RmbGFjdGFnLmM6CgkgIGZsYWM6IGFkZCBtb3JlIGxvZ2dpbmcKCjIwMTMtMDQtMTcgMjA6MjQ6NDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGNvcmVhdWRpb2NvbW1vbi5oOgoJICBvc3hhdWRpbzogRml4IG1lcmdlIGNvbmZsaWN0cwoKMjAxMy0wNC0xNyAxMDoxMDo0NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIG9zeGF1ZGlvOiBGaXggY29uZmlndXJlIGNoZWNrIGZvciBvc3hhdWRpbyBwbHVnaW4KCjIwMTMtMDQtMTcgMDk6NTA6NDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvcmluZ2J1ZmZlci5jOgoJICBvc3hhdWRpb3JpbmdidWZmZXI6IEZpcnN0IGNoZWNrIHRoZSB0eXBlLCB0aGVuIGNhc3QKCjIwMTMtMDQtMTYgMjI6NDY6MDAgKzA5MDAgIFRha2FzaGkgTmFrYWppbWEgPHRlZC5uYWthamltYUBnbWFpbC5jb20+CgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9yaW5nYnVmZmVyLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NpbmsuaDoKCSAgb3N4YXVkaW86IHVzZSBHU1RfSVNfT1NYX0FVRElPX1NJTksgaW4gcmluZyBidWZmZXIuCgoyMDEzLTA0LTEwIDIxOjA2OjE2ICswOTAwICBUYWthc2hpIE5ha2FqaW1hIDx0ZWQubmFrYWppbWFAZ21haWwuY29tPgoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvcmluZ2J1ZmZlci5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zaW5rLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NpbmsuaDoKCSAgb3N4YXVkaW86IGNhbGwgc2V0X2NoYW5uZWxfcG9zaXRpb25zKCkgaW4gb3N4YXVkaW9yaW5nYnVmZmVyIGFjcXVpcmUoKQoKMjAxMy0wNC0xMiAxMjoxODowNCAtMDcwMCAgVG9kZCBBZ3VsbmljayA8dG9kZEBhZ3Vsbmljay5jb20+CgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9yaW5nYnVmZmVyLmM6CgkgIG9zeGF1ZGlvOiB1c2UgR1NUX0FVRElPX0lORk9fKiBhY2Nlc3NvcnMKCSAgQ2hhbmdlcyBpbmNsdWRlIHRoZSBmb2xsb3dpbmc6CgkgICogVXBkYXRlIGNsYXNzbmFtZSByZWZlcmVuY2VzCgkgICogUmVwbGFjZSBHU1RfQk9JTEVSUExBVEVfRlVMTCB3aXRoIEdfREVGSU5FX1RZUEUKCSAgKiBVc2UgbmV3IEdzdEF1ZGlvSW5mbyBzdHJ1Y3QgYW5kIG1ldGhvZHMKCSAgKiBVc2UgbmV3IGJ1ZmZlciBtZW1vcnkgYWxsb2NhdGlvbiBzY2hlbWUKCSAgQ29uZmxpY3RzOgoJICBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9yaW5nYnVmZmVyLmMKCjIwMTMtMDQtMTIgMTE6NTE6NDYgLTA3MDAgIFRvZGQgQWd1bG5pY2sgPHRvZGRAYWd1bG5pY2suY29tPgoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGNvcmVhdWRpb2NvbW1vbi5oOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4Y29yZWF1ZGlvaGFsLmM6CgkgIG9zeGF1ZGlvOiBhZGp1c3QgZm9yIGNoYW5nZXMgdG8gZ2xpYiBtdXRleCBhcGkuCgoyMDEzLTA0LTEwIDAxOjIxOjQ5ICswOTAwICBUYWthc2hpIE5ha2FqaW1hIDx0ZWQubmFrYWppbWFAZ21haWwuY29tPgoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zcmMuYzoKCSAgb3N4YXVkaW86IHRyeSB0byBmaXggdXAgYWNjb3JkaW5nIHRvIFNlYmFzdGlhbidzIGNvbW1lbnRzCgoyMDEzLTA0LTA1IDEwOjAyOjM4ICswMjAwICBQaGlsaXBwZSBOb3JtYW5kIDxwaGlsbkBpZ2FsaWEuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9yaW5nYnVmZmVyLmg6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NpbmsuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5oOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zcmMuaDoKCSAgb3N4YXVkaW86IGJ1aWxkIGZpeGVzCgkgIEVuYWJsZSB0aGUgb3N4YXVkaW8gcGx1Z2luIGJ1aWxkIGluIGNvbmZpZ3VyZS5hYyBhbmQgZml4IHNvbWUKCSAgaW5jbHVkZSBkaXJlY3RpdmUgb3JkZXIgaXNzdWVzLgoKMjAxMy0wNC0wMiAyMjoyODowOSArMDkwMCAgdGVkLW4gPHRlZC5uYWthamltYUBnbWFpbC5jb20+CgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zcmMuYzoKCSAgb3N4YXVkaW86IGZpeCBsYXlvdXQgZm9yIG9zeGF1ZGlvc3JjCgoyMDEzLTAzLTMwIDIyOjQ5OjM0ICswOTAwICB0ZWQtbiA8dGVkLm5ha2FqaW1hQGdtYWlsLmNvbT4KCgkqIHN5cy9vc3hhdWRpby9NYWtlZmlsZS5hbToKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvZWxlbWVudC5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9yaW5nYnVmZmVyLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3JpbmdidWZmZXIuaDoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zaW5rLmg6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NyYy5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zcmMuaDoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGNvcmVhdWRpb2NvbW1vbi5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4Y29yZWF1ZGlvY29tbW9uLmg6CgkgIG9zeGF1ZGlvOiBwb3J0IHRvIHYuMS4wCgoyMDEzLTA0LTE2IDE5OjI5OjQ4IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgdmlkZW9taXhlcjogRG9uJ3QgdW5yZWYgcXVlcnksIHdlIGRvbid0IG93biBpdAoJICBGaXhlcyBkb3VibGUtdW5yZWYgYnVnLiBCdWcgZm91bmQgYnkgWW91bmVzcyBBbGFvdWkKCjIwMTMtMDQtMTYgMjA6NDE6MTAgKzAyMDAgIFBoaWxpcHBlIE5vcm1hbmQgPHBoaWxuQGlnYWxpYS5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwaHR0cHNyYzogZml4IFNDSEVEVUxJTkcgcXVlcnkgc3VwcG9ydAoJICBDaGFpbiB0aGUgcXVlcnkgdXAgdG8gcGFyZW50IGJlZm9yZSBhZGRpbmcgX0JBTkRXSURUSF9MSU1JVEVEIGZsYWcsCgkgIHNvIHRoYXQgYWxsIHRoZSBvdGhlciBmbGFncyBnZXQgc2V0LCBhbmQgcHVzaCBtb2RlIGdldHMgYWRkZWQgYXMKCSAgc3VwcG9ydGVkIGFjdGl2YXRpb24gbW9kZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MzQ4NAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk4MTU2CgoyMDEzLTAzLTMxIDEyOjA1OjQ5ICswMjAwICBQaGlsaXBwZSBOb3JtYW5kIDxwaGlsbkBpZ2FsaWEuY29tPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cGh0dHBzcmM6IGJhc2ljIHNjaGVkdWxpbmcgcXVlcnkgc3VwcG9ydAoJICBBbnN3ZXIgdG8gc2NoZWR1bGluZyBxdWVyaWVzIHdpdGggZGVmYXVsdCBwYXJhbWV0ZXJzIGFuZCB0aGUgbmV3CgkgIF9CQU5EV0lEVEhfTElNSVRFRF9GTEFHIHNvIHRoYXQgZG93bnN0cmVhbSBpcyBhZHZpc2VkIHRvIG1pbmltaXplIHNlZWsKCSAgb3BlcmF0aW9ucyBhbmQgcGVyZm9ybSBvbi1kaXNrIGJ1ZmZlcmluZyBpZiBwb3NzaWJsZS4KCSAgQnVnIDY5MzQ4NAoKMjAxMy0wNC0xNSAxNDozMjo0NiArMDAwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgb3N4dmlkZW9zaW5rOiBmaXggc2VnZmF1bHQgYWNjZXNzaW5nIG9zeHdpbmRvdyB3aGVuIG5vdCBzZXQgeWV0CgoyMDEyLTEwLTI0IDEyOjE0OjUwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2FhbGliL01ha2VmaWxlLmFtOgoJKiBleHQvY2Fpcm8vTWFrZWZpbGUuYW06CgkqIGV4dC9kdi9NYWtlZmlsZS5hbToKCSogZXh0L2ZsYWMvTWFrZWZpbGUuYW06CgkqIGV4dC9nZGtfcGl4YnVmL01ha2VmaWxlLmFtOgoJKiBleHQvamFjay9NYWtlZmlsZS5hbToKCSogZXh0L2pwZWcvTWFrZWZpbGUuYW06CgkqIGV4dC9saWJjYWNhL01ha2VmaWxlLmFtOgoJKiBleHQvbGlicG5nL01ha2VmaWxlLmFtOgoJKiBleHQvbWlrbW9kL01ha2VmaWxlLmFtOgoJKiBleHQvcHVsc2UvTWFrZWZpbGUuYW06CgkqIGV4dC9yYXcxMzk0L01ha2VmaWxlLmFtOgoJKiBleHQvc2hvdXQyL01ha2VmaWxlLmFtOgoJKiBleHQvc291cC9NYWtlZmlsZS5hbToKCSogZXh0L3NwZWV4L01ha2VmaWxlLmFtOgoJKiBleHQvdGFnbGliL01ha2VmaWxlLmFtOgoJKiBleHQvdnB4L01ha2VmaWxlLmFtOgoJKiBleHQvd2F2cGFjay9NYWtlZmlsZS5hbToKCSogZ3N0L2FscGhhL01ha2VmaWxlLmFtOgoJKiBnc3QvYXBldGFnL01ha2VmaWxlLmFtOgoJKiBnc3QvYXVkaW9meC9NYWtlZmlsZS5hbToKCSogZ3N0L2F1ZGlvcGFyc2Vycy9NYWtlZmlsZS5hbToKCSogZ3N0L2F1cGFyc2UvTWFrZWZpbGUuYW06CgkqIGdzdC9hdXRvZGV0ZWN0L01ha2VmaWxlLmFtOgoJKiBnc3QvYXZpL01ha2VmaWxlLmFtOgoJKiBnc3QvY3V0dGVyL01ha2VmaWxlLmFtOgoJKiBnc3QvZGVidWd1dGlscy9NYWtlZmlsZS5hbToKCSogZ3N0L2RlaW50ZXJsYWNlL01ha2VmaWxlLmFtOgoJKiBnc3QvZHRtZi9NYWtlZmlsZS5hbToKCSogZ3N0L2VmZmVjdHYvTWFrZWZpbGUuYW06CgkqIGdzdC9lcXVhbGl6ZXIvTWFrZWZpbGUuYW06CgkqIGdzdC9mbHYvTWFrZWZpbGUuYW06CgkqIGdzdC9mbHgvTWFrZWZpbGUuYW06CgkqIGdzdC9nb29tL01ha2VmaWxlLmFtOgoJKiBnc3QvZ29vbTJrMS9NYWtlZmlsZS5hbToKCSogZ3N0L2ljeWRlbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvaWQzZGVtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9pbWFnZWZyZWV6ZS9NYWtlZmlsZS5hbToKCSogZ3N0L2ludGVybGVhdmUvTWFrZWZpbGUuYW06CgkqIGdzdC9pc29tcDQvTWFrZWZpbGUuYW06CgkqIGdzdC9sYXcvTWFrZWZpbGUuYW06CgkqIGdzdC9sZXZlbC9NYWtlZmlsZS5hbToKCSogZ3N0L21hdHJvc2thL01ha2VmaWxlLmFtOgoJKiBnc3QvbW9ub3Njb3BlL01ha2VmaWxlLmFtOgoJKiBnc3QvbXVsdGlmaWxlL01ha2VmaWxlLmFtOgoJKiBnc3QvbXVsdGlwYXJ0L01ha2VmaWxlLmFtOgoJKiBnc3QvcmVwbGF5Z2Fpbi9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cG1hbmFnZXIvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHNwL01ha2VmaWxlLmFtOgoJKiBnc3Qvc2hhcGV3aXBlL01ha2VmaWxlLmFtOgoJKiBnc3Qvc21wdGUvTWFrZWZpbGUuYW06CgkqIGdzdC9zcGVjdHJ1bS9NYWtlZmlsZS5hbToKCSogZ3N0L3VkcC9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvYm94L01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9jcm9wL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9maWx0ZXIvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb21peGVyL01ha2VmaWxlLmFtOgoJKiBnc3Qvd2F2ZW5jL01ha2VmaWxlLmFtOgoJKiBnc3Qvd2F2cGFyc2UvTWFrZWZpbGUuYW06CgkqIGdzdC95NG0vTWFrZWZpbGUuYW06CgkqIHN5cy9kaXJlY3Rzb3VuZC9NYWtlZmlsZS5hbToKCSogc3lzL29zcy9NYWtlZmlsZS5hbToKCSogc3lzL29zczQvTWFrZWZpbGUuYW06CgkqIHN5cy9vc3hhdWRpby9NYWtlZmlsZS5hbToKCSogc3lzL29zeHZpZGVvL01ha2VmaWxlLmFtOgoJKiBzeXMvc3VuYXVkaW8vTWFrZWZpbGUuYW06CgkqIHN5cy92NGwyL01ha2VmaWxlLmFtOgoJKiBzeXMvd2F2ZWZvcm0vTWFrZWZpbGUuYW06CgkqIHN5cy94aW1hZ2UvTWFrZWZpbGUuYW06CgkgIGdzdDogQWRkIGJldHRlciBzdXBwb3J0IGZvciBzdGF0aWMgcGx1Z2lucwoKMjAxMy0wNC0xMiAxOToyNjoxMSArMDAwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIGdzdC9nb29tMmsxL01ha2VmaWxlLmFtOgoJICBnb29tMmsxOiBmaXggZHVwbGljYXRlZCBzeW1ib2wgd2l0aCBnb29tCgoyMDEzLTAzLTEwIDE3OjE3OjE3ICswMDAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9lbGVtZW50LmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hjb3JlYXVkaW9jb21tb24uaDoKCSAgb3N4YXVkaW86IEZpeGVzIGVycm9yOiAiR1NUX0xFVkVMX0RFRkFVTFQiIHJlZGVmaW5lZAoKMjAxMy0wMy0xMCAxNzoyNzozMCArMDAwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGNvcmVhdWRpb2hhbC5jOgoJICBvc3hhdWRpbzogZml4ZXMgaW1wbGljaXQgZGVjbGFyYXRpb24gb2YgZnVuY3Rpb24gJ2dldHBpZCcKCjIwMTMtMDQtMTQgMTc6NTU6MDIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBhdXRvZ2VuLnNoOgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGFlZDg3YWUgdG8gM2NiM2QzYwoKMjAxMy0wNC0xNCAxMjozMjowNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmg6CgkgIHNvdXBodHRwc3JjOiBhZGQgYmFjayAiaXJhZGlvLW1vZGUiIHByb3BlcnR5IHRvIGRpc2FibGUgc2VuZGluZyBvZiBpY2VjYXN0IHJlcXVlc3QgaGVhZGVycwoJICBJbiAxLjAgd2Ugbm93IGFsd2F5cyBzZW5kIHRoZSBpY2VjYXN0IHJlcXVlc3QgaGVhZGVycyBieSBkZWZhdWx0LCB3aGljaAoJICBtYWtlcyB0aGUgc2VydmVyIHNlbmQgaWNlY2FzdHMgbWV0YWRhdGEgaW5zZXJ0ZWQgaW50byB0aGUgc3RyZWFtIGlmIGl0CgkgIHN1cHBvcnRzIHRoYXQuIEhvd2V2ZXIsIHRoZXJlIGFyZSBzb21lIHVzZSBjYXNlcyB3aGVyZSB0aGlzIGlzIG5vdAoJICBkZXNpcmFibGUsIGxpa2Ugd2hlbiBqdXN0IHNhdmluZyBhIHJhZGlvIHN0cmVhbSB0byBkaXNrLCBzbyBhZGQgYmFjawoJICB0aGUgImlyYWRpby1tb2RlIiBwcm9wZXJ0eSB0byBhbGxvdyBwZW9wbGUgdG8gZGlzYWJsZSB0aGlzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk3OTg0CgoyMDEzLTA0LTEyIDE2OjE2OjQxICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHAuYzoKCSAgcnRwOiByZWdpc3RlciB0YWcgaW1hZ2UgdHlwZXMKCSAgVGhlIHJ0cGdzdGRlcGF5IG5lZWRzIHRoZSB0eXBlIHRvIGJlIGF2YWlsYWJsZSBpbiBvcmRlciB0byBkZXNlcmlhbGl6ZSB0aGUKCSAgZXZlbnQuCgoyMDEzLTA0LTEyIDE2OjA4OjU4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBnc3RkZXBheS5jOgoJICBydHBnc3RkZXBheTogaGFuZGxlIGV2ZW50IHBhcnNlIGZhaWx1cmVzIGJldHRlcgoKMjAxMy0wNC0xMSAyMjoyNTowNSArMDMwMCAgQW50b24gQmVsa2EgPGFudG9uYmVsa2FAZ21haWwuY29tPgoKCSogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuYzoKCSAgd2F2ZW5jOiBhZGQgVE9DIHNldHRlciBzdXBwb3J0CgoyMDEzLTA0LTEyIDEyOjMxOjMwICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuYzoKCSAgd2F2ZW5jOiBzbWFsbCBjbGVhbnVwcyBmb3IgdG9jIGhhbmRsaW5nCgkgIERvbid0IGFkZCBlbXB0eSBsYWJsL25vdGUgY2h1bmtzLiBBbHdheXMgcGFzcyBpbnN0YW5jZSBhcyB0aGUgZmlyc3QgcGFyYW0uIEFkZCBtb3JlIGxvZ2dpbmcuCgoyMDEzLTA0LTEyIDEyOjU4OjUwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBydHNwc3JjOiBQcm94eSB0aGUgbnRwLXN5bmMgcHJvcGVydHkgb2YgcnRwYmluCgoyMDEzLTA0LTEyIDEyOjUxOjA1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogR2l2ZSB0aGUgbWFuYWdlciBhbHdheXMgdGhlIG5hbWUgIm1hbmFnZXIiCgkgIFRoaXMgYWxsb3dzIHRvIHVzZSB0aGUgR3N0Q2hpbGRQcm94eSBpbnRlcmZhY2UgdG8gYWRqdXN0CgkgIHByb3BlcnRpZXMgb24gaXQuCgoyMDEzLTA0LTExIDIyOjUzOjI4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYWxwaGFjb2xvci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hcGV2Mm11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pZDN2Mm11eC5jOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvZmxhY2RlYy5jOgoJICB0ZXN0czogZml4IHNvbWUgcHJpbnRmIGZvcm1hdCBpc3N1ZXMgaW4gZGVidWcgbWVzc2FnZXMKCjIwMTMtMDQtMTEgMTk6Mjc6MTUgKzAzMDAgIEFudG9uIEJlbGthIDxhbnRvbmJlbGthQGdtYWlsLmNvbT4KCgkqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmM6CgkqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmg6CgkgIHdhdmVuYzogYWRkICdub3RlJyBjaHVuayBzdXBwb3J0CgoyMDEzLTA0LTExIDIwOjQ2OjI2ICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IGFkZCBhIGxpdHRsZSBtb3JlIGRvY3MgdG8gdGhlIGF1ZGlvY2xvY2sKCjIwMTMtMDQtMTEgMTU6MDA6MDUgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9NYWtlZmlsZS5hbToKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIHJ0c3BzcmM6IGFkZCBzdXBwb3J0IGZvciBOZXRDbGllbnRDbG9jawoJICBXaGVuIHRoZSBzZXJ2ZXIgc3VnZ2VzdHMgYSBHc3ROZXRUaW1lUHJvdmlkZXIgaW4gdGhlIFNEUCwgc2V0IHVwIGEKCSAgR3N0TmV0Q2xpZW50Q2xvY2sgdGhhdCBzbGF2ZXMgdG8gdGhlIHJlbW90ZSBjbG9jayBhbmQgc3VnZ2VzdCB0aGlzIGNsb2NrIGluCgkgIHByb3ZpZGVfY2xvY2suCgoyMDEzLTA0LTExIDE0OjU3OjExICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuaDoKCSAgdWRwc2luazogYXZvaWQgYWxsb2MgYW5kIGZyZWUgaW4gcmVuZGVyIGZ1bmN0aW9uCgkgIEF2b2lkIGRvaW5nIGFsbG9jIGFuZCBmcmVlIGluIHRoZSByZW5kZXIgZnVuY3Rpb24gZm9yIGVhY2ggYnVmZmVyLiBJbnN0ZWFkLAoJICBhbGxvY2F0ZSB0aGUgbmVlZGVkIGFycmF5cyBpbiBfaW5pdCBhbmQgdXNlIHRob3NlLgoKMjAxMy0wNC0xMCAwODozNjowMCArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICB3YXZlcGFyc2U6IHJlbW92ZSBzdXBlcmZsdW91cyBnX2xpc3RfZmlyc3QoKSBjYWxscwoJICBUaGUgdmFyaWFibGVzIGFscmVhZHkgcG9pbnQgdG8gdGhlIHN0YXJ0IG9mIHRoZSBsaXN0LgoKMjAxMy0wNC0wOSAyMzoxMzoxOCArMDEwMCAgQW5kcmVhcyBGZW5rYXJ0IDxhbmRyZWFzLmZlbmthcnRAc3RyZWFtdW5saW1pdGVkLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwc2JjZGVwYXkuYzoKCSAgcnRwc2JjZGVwYXk6IGZpeCBzYmMgZnJhbWUgbGVuZ3RoIGNhbGN1bGF0aW9uIGZvciBtb25vIGFuZCBzdGVyZW8gbW9kZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NzQ2MwoKMjAxMy0wMy0yNSAxNDozNTowMiArMDMwMCAgQW50b24gQmVsa2EgPGFudG9uYmVsa2FAZ21haWwuY29tPgoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5oOgoJICB3YXZwYXJzZTogYWRkICdub3RlJyBjaHVuayBzdXBwb3J0CgkgIEFkZCAnbm90ZScgY2h1bmsgc3VwcG9ydCBpbiBUT0MgYXMgR1NUX1RBR19DT01NRU5UCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTY1NDkKCjIwMTMtMDQtMDggMTc6NTM6MDkgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGNoZWNrIHZhbHVlIGluc2lkZSBlbmRhIHRvIHNldCBlbmRpYW5uZXNzCgoyMDEzLTA0LTA5IDIxOjAwOjEyICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSAwNGM3YTFlIHRvIGFlZDg3YWUKCjIwMTMtMDQtMDkgMTc6MzQ6MTIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaWN5ZGVtdXgvZ3N0aWN5ZGVtdXguYzoKCSAgaWN5ZGVtdXg6IGF2b2lkIGNvcHkgd2hlbiB3ZSBjYW4KCjIwMTMtMDQtMDkgMTY6NTI6MjEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGdzdHBheS5jOgoJICBnc3RwYXk6IHVzZSBidWZmZXJsaXN0IHRvIGF2b2lkIG1lbWNweQoKMjAxMy0wNC0wOSAxNjo1MDo1NiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkgIHVkcHNpbms6IGltcHJvdmUgZGVidWcKCjIwMTMtMDQtMDkgMDA6Mjg6NTQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy93YXZwYXJzZS5jOgoJICB0ZXN0czogcmVmYWN0b3IgbmV3IHdhdnBhcnNlIHRlc3QgYSBsaXR0bGUKCSAgVXNlIGZha2VzcmMgaW5zdGVhZCBvZiBmaWxlc3JjIHdpdGggL2Rldi9udWxsLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk2Njg0CgoyMDEzLTA0LTA4IDExOjM4OjMzICswMjAwICBBbGV4YW5kZXIgU2NocmFiIDxhbGV4YXNAYXhpcy5jb20+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3dhdnBhcnNlLmM6CgkgIHdhdnBhcnNlOiBlcnJvciBvdXQgaWYgd2UgcmVjZWl2ZSBlb3MgYmVmb3JlIGFueSB2YWxpZCBkYXRhCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTY2ODQKCjIwMTMtMDQtMDcgMDE6NDc6NTYgKzAyMDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IGZvcmNlIGRlaW50ZXJsYWNpbmcgaW4gImludGVybGFjZWQiIG1vZGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NzQ2NwoKMjAxMy0wNC0wNiAxMjo0NToyOCAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmc2luay5jOgoJICBnZGtwaXhidWZzaW5rOiBBZGQgdGltZXN0YW1wL3J1bm5pbmctdGltZS9zdHJlYW0tdGltZSB0byB0aGUgZW1pdGVkIG1lc3NhZ2UKCjIwMTMtMDQtMDUgMTQ6Mzg6NDMgKzAyMDAgIE5pY29sYSBNdXJpbm8gPG5pY29sYS5tdXJpbm9AZ21haWwuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBzYmNkZXBheS5jOgoJICBydHBzYmNkZXBheTogZml4IHByaW50ZiBmb3JtYXQgY29tcGlsZXIgd2FybmluZ3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NzM0MwoKMjAxMy0wNC0wNSAwOTozNDoyMyArMDEwMCAgVG9kZCBBZ3VsbmljayA8dG9kZEBhZ3Vsbmljay5jb20+CgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIG9zeHZpZGVvOiBpbmNsdWRlIHB0aHJlYWQuaCB0byBmaXggY29tcGlsZXIgd2FybmluZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk3MzAzCgoyMDEzLTA0LTA0IDIyOjQ4OjQ1ICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2xldmVsL2dzdGxldmVsLmM6CgkqIGdzdC9sZXZlbC9nc3RsZXZlbC5oOgoJICBsZXZlbDogcmVzeW5jIG9uIGRpc2NvbnQKCSAgRHJvcCBwZW5kaW5nIGRhdGEgb24gZGlzY29udCBhbmQgc3RhcnQgYSBuZXcgY3ljbGUgd2l0aCBhIG5ldyBiYXNlIHRpbWVzdGFtcC4KCSAgQ2xlYW51cCBzb21lIHZhcmlhYmxlcy4KCjIwMTMtMDQtMDMgMjM6NTI6NDcgKzAxMDAgIFRvbSBHcmVlbndvb2QgPHRncmVlbndvb2RAVG9tcy1NYWNCb29rLVByby5sb2NhbD4KCgkqIGV4dC92cHgvZ3N0dnA4ZGVjLmM6CgkgIHZwOGRlYzogSW1wcm92ZSBsb2dnaW5nIHdoZW4gdnB4X2NvZGVjX3BlZWtfc3RyZWFtX2luZm8gZmFpbHMKCSAgRGVjb2RlIGZhaWx1cmVzIGFuZCBtaXNzaW5nIGtleWZyYW1lcyBzaG91bGQgZ2V0IGRpZmZlcmVudCBkZWJ1ZwoJICBvdXRwdXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTcyMzIKCjIwMTMtMDQtMDMgMTg6MjQ6MjkgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHNiY2RlcGF5LmM6CgkgIHJ0cHNiY2RlcGF5OiBSYW5rIGFzIHNlY29uZGFyeQoJICBUaGlzIHdheSwgaXQgd2lsbCBiZSBzZWxlY3RlZCBieSBkZWNvZGViaW4KCSAgQnVnIHJlcG9ydGVkIGJ5IGFuZHJlYXMuZmVua2FydEBzdHJlYW11bmxpbWl0ZWQuY29tCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTcyMjcKCjIwMTMtMDQtMDMgMTk6MDU6MzggKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbGV2ZWwuYzoKCSAgbGV2ZWw6IHN1YmRpdmlkZSBidWZmZXJzIGZvciBzYW1wbGUgYWNjdXJhdGUgaW50ZXJ2YWwgaGFuZGxpbmcKCSAgUHJldmlvdXNseSB3ZSB3b3VsZCBza2lwIGxldmVsIG1lc3NhZ2Ugd2hlbiBwcm9jZXNzaW5nIGJ1ZmZlcnMgPiB0aGUgcmVxdWVzdGVkCgkgIGludGVydmFsLiBBbHNvIHRoZSBtZXNzYWdlIGZyZXF1ZW5jeSB3b3VsZCBjb250YWluIHF1aXRlIHNvbWUgaml0dGVyIGR1ZSB0byBvbmx5CgkgIGNvbnNpZGVyaW5nIHRoZW0gYXQgdGhlIGVuZCBvZiBidWZmZXJzLgoJICBDbGVhbnVwIHRoZSB0ZXN0cyB3aGlsZSB3ZSdyZSBhdCBpdC4KCjIwMTMtMDMtMTkgMDg6MjM6MjUgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkgIGZsYWNlbmM6IHJlbW92ZSBvbGQgc2luY2UgY29tbWVudHMgYW5kIHVwZGF0ZSBsb2dnaW5nCgkgIERvbid0IHByZXRlbmQgdGhhdCB3ZSBoYXZlIGEgdGltZXN0YW1wIG9uIGEgYnVmZmVyIHdoZW4gd2UgbmV2ZXIgc2V0IG9uZS4KCjIwMTMtMDMtMTggMjA6NTk6MjMgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSAgc3BlY3RydW06IHJlbW92ZSBvbGQgc2luY2UgY29tbWVudAoKMjAxMy0wNC0wMyAxNzo1MzoxMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgcnRzcHNyYzogUHJveHkgdGhlIG11bHRpY2FzdC1pZmFjZSBwcm9wZXJ0eSBvZiB1ZHBzcmMKCjIwMTMtMDQtMDMgMTE6MDk6NTAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyOiBmcmVlIGFsbCBxdWV1ZWQgYnVmZmVycwoJICBEb24ndCBqdXN0IGxvb3Agb3ZlciB0aGUgZmlyc3QgbnVtX3F1ZXVlZCBidWZmZXJzIGJ1dCBsb29wIG92ZXIKCSAgYWxsIHRoZSBidWZmZXJzIGFuZCBjaGVjayBpZiB0aGV5IG5lZWQgdG8gYmUgZnJlZWQuIEl0IGlzIHBvc3NpYmxlIHRoYXQKCSAgbm90IGFsbCBidWZmZXJzIGFyZSBxdWV1ZWQgYW5kIHRoZW4gdGhlIGVudHJ5IGluIG91ciBhcnJheSB3aWxsIGJlIE5VTEwuCgkgIFRob3NlIGJ1ZmZlcnMgdGhhdCBhcmUgbm90IHF1ZXVlZCB3ZXJlIGZyZWVkIGluIHN0b3AoKS4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NjY1MQoKMjAxMy0wNC0wMyAxMTowOTozNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDI6IGltcHJvdmUgZGVidWcKCjIwMTMtMDQtMDIgMjM6NDI6MjMgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSAgcnRwc3NyY2RlbXV4OiBPbmx5IGZvcndhcmQgc3RpY2sgZXZlbnRzIHdoaWxlIGhvbGRpbmcgdGhlIHNpbmtwYWQgc3RyZWFtIGxvY2sKCSAgT3RoZXJ3aXNlIHdlIGdldCBhIHJhY2Ugd2hlcmUgaWYgdGhlIFJUQ1AgcGFja2V0IGNvbWVzIGluIGZpcnN0IGFuZCB3aGlsZQoJICBpdCBpcyBhZGRlZCB0aGUgcGFkcywgdGhlIHNlZ21lbnQgZXZlbnQgYXJyaXZlcyBvbiB0aGUgUlRQIHN0cmVhbSwgdGhlIGV2ZW50CgkgIG1heSBiZSBsb3N0IGNvbXBsZXRlbHkgYW5kIG5ldmVyIGZvcndhcmRlZC4KCjIwMTMtMDQtMDIgMjM6MzU6MDYgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSAgcnRwc3NyY2RlbXV4OiBObyBuZWVkIHRvIGV4cGxpY2l0ZWx5IGZvcndhcmQgdGhlIGNhcHMKCSAgVGhleSBhcmUgZm9yd2FyZGVkIHdpdGggdGhlIG90aGVyIGV2ZW50cwoKMjAxMy0wNC0wMiAyMjoyOTozOCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguaDoKCSAgcnRwc3NyY2RlbXV4OiBSZW1vdmUgdW51c2VkIEdzdFNlZ21lbnQKCjIwMTMtMDQtMDIgMjI6MjY6MDIgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSAgcnRwc3NyY2RlbXV4OiBTaW1wbGlmeSBldmVudCBmb3J3YXJkaW5nCgkgIFVzZSB0aGUgZ3N0X3BhZF9mb3J3YXJkKCkgbWVjaGFuaWMsIHRoaXMgd2F5IHdlIHdvbid0IG1pc3MgcGFkcyB0aGF0IGFyZQoJICBhZGRlZCB3aGlsZSB3ZSBhcmUgcHVzaGluZwoKMjAxMy0wNC0wMiAyMTo1MzoxMCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJICBydHBzc3JjZGVtdXg6IERvbid0IGNyb3NzIHRoZSBpbnRlcm5hbCBsaW5rcwoJICBXZSBoYWQgdGhlIHdyb25nIGNvbmRpdGlvbiB0byBjaGVjayBmb3IgdGhlIGludGVybmFsIGxpbmtzLCBzbyBSVFAgYW5kIFJUQ1AKCSAgcGFkcyBnb3QgY3Jvc3NlZCEKCjIwMTMtMDMtMzEgMTc6NTQ6MTYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogZml4IHNvbWUgZGVidWcgbWVzc2FnZXMKCjIwMTMtMDQtMDIgMjM6MzY6MjIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkgIHY0bDI6IGZpeCBwcmludGYgZm9ybWF0IGNvbXBpbGVyIHdhcm5pbmcgaW4gZGVidWcgbWVzc2FnZQoKMjAxMi0wOC0yOSAxNzoyNDowMCArMDIwMCAgQXJuYXVkIFZyYWMgPGF2cmFjQGZyZWVib3guZnI+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5oOgoJICBtYXRyb3NrYWRlbXV4OiBoYW5kbGUgVHJ1ZUhEIGF1ZGlvIGNvZGVjIGlkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTcxMTMKCjIwMTMtMDMtMzEgMTk6MTQ6MDQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYWRlcGF5LmM6CgkgIHRoZW9yYXBheTogYWRkIGRlbHRhLXVuaXQgdG8gb3V0cHV0IGZyYW1lcwoKMjAxMy0wMy0yMyAwNToyMjoyMyArMDEwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IHVzZSB0aW1lc3RhbXAgZGVsdGEgYXMgZHVyYXRpb24gaWYgcG9zc2libGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NjQzNwoKMjAxMy0wMy0zMCAwOTo0NDo0MSArMDEwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBzYmNkZXBheS5jOgoJICBydHA6IGZpeGVzIGRlYnVnIG1lc3NhZ2UgcHJpbnRmIHJlbGF0ZWQgY29tcGlsZXIgd2FybmluZ3MgaW4gU0JDIGRlcGF5bG9hZGVyCgoyMDEzLTAzLTI4IDE2OjQ2OjM2ICswMDAwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHAvZ3N0cnRwLmM6CgkqIGdzdC9ydHAvZ3N0cnRwc2JjZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzYmNkZXBheS5oOgoJICBydHA6IEFkZCBhbiBydHBzYmNkZXBheSBlbGVtZW50CgkgIFByZXR0eSBzdHJhaWdodGZvcndhcmQgLSB0YWtlcyBTQkMgZW5jYXBzdWxhdGVkIGluIFJUUCwgZGVwYXlsb2FkcywgYW5kCgkgIHB1c2hlcyBvdXQgU0JDIGJ1ZmZlcnMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTA1ODIKCjIwMTMtMDMtMjcgMjI6MTg6MzQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvcnRwL2dzdHJ0cHNiY3BheS5jOgoJICBydHA6IGZpeCBTQkMgcGF5bG9hZGVyCgkgIEluaXQgUlRQIGJ1ZmZlciBvbiBzdGFjayBjb3JyZWN0bHksIHNvIG1hcHBpbmcgaXQgd29ya3MKCSAgd2l0aG91dCBjcml0aWNhbHMgYW5kIHRoZSBwYXlsb2FkZXIgYWN0dWFsbHkgd29ya3MuCgoyMDEzLTAzLTI2IDE0OjQ0OjM2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSAgZGlyZWN0c291bmRzaW5rOiBDaGVjayBmb3IgYSBzdWJzZXQgaW5zdGVhZCBvZiBub24tZW1wdHkgaW50ZXJzZWN0aW9uIGluIGFjY2VwdC1jYXBzCgoyMDEzLTAzLTI2IDE0OjM5OjUzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSAgZGlyZWN0c291bmRzaW5rOiBQcm9wZXJseSBoYW5kbGUgdGhlIGZpbHRlciBjYXBzIGluIGdldF9jYXBzKCkKCjIwMTMtMDMtMjYgMTQ6MzU6MzggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJICBkaXJlY3Rzb3VuZHNpbms6IERvbid0IHVubmVjZXNzYXJpbHkgZ2V0IHRoZSBwYXJlbnQgY2xhc3MgaW4gY2xhc3NfaW5pdAoJICBUaGUgdHJhbXBvbGluZSBnZW5lcmF0ZWQgYnkgR19ERUZJTkVfVFlQRSBkb2VzIHRoYXQgYWxyZWFkeS4KCjIwMTMtMDMtMjUgMTg6MDI6MTAgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIFVzZSAlMDN1IGZvciBmb3JtYXQgaW4gZ3N0X3BhZF9jcmVhdGVfc3RyZWFtX2lkX3ByaW50ZigpCgoyMDEzLTAzLTI1IDEwOjEyOjAzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNhcHNzZXR0ZXIuYzoKCSAgY2Fwc3NldHRlcjogUHJldmVudCB1bm5lZWRlZCBjYXBzIGNvcHlpbmcgYW5kIGFsbG9jYXRpb24KCjIwMTMtMDItMDEgMTQ6MzM6NDEgKzAxMDAgIERpcmsgVmFuIEhhZXJlbmJvcmdoIDx2aGRpcmtAZ21haWwuY29tPgoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y2Fwc3NldHRlci5jOgoJICBjYXBzc2V0dGVyOiBQYXNzIGFueSBvciBmaWx0ZXIgY2FwcyB1cHN0cmVhbQoJICBjYXBzZXR0ZXIgYWNjZXB0cyBhbnl0aGluZyBhbmQganVzdCBmb3J3YXJkcyBkaWZmZXJlbnQgY2FwcywKCSAgYXMgc3VjaCBpdCBzaG91bGQgcmV0dXJuIEFOWSBjYXBzIG9uIHRoZSBzaW5rcGFkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkzMDA1CgoyMDEzLTAzLTA2IDEzOjE3OjU0ICswMDAwICBUb20gR3JlZW53b29kIDx0Z3JlZW53b29kQFRvbXMtTWFjQm9vay1Qcm8ubG9jYWw+CgoJKiBleHQvdnB4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IEZpeCBmb3IgZGl2aWRlIGJ5IHplcm8gd2hlbiB1c2luZyAwLzEgZnJhbWVyYXRlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTU3MDkKCjIwMTMtMDMtMjQgMTc6NTU6NTUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgd2F2cGFyc2U6IGV4cG9zZSBDVUUgc2hlZXQgaXRlbXMgYXMgdHJhY2tzIG5vdCBjaGFwdGVyIGVudHJpZXMgaW4gVE9DCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzczMDYKCjIwMTMtMDMtMjMgMTM6MTE6MDIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkgIGZsYWNlbmM6IGFkZCBtb3JlIGV4YW1wbGUgcGlwZWxpbmVzCgoyMDEzLTAzLTIzIDEyOjU5OjI2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuYzoKCSAgd2F2ZW5jOiBhZGQgc29tZSBleGFtcGxlIHBpcGVsaW5lcwoKMjAxMy0wMy0yMCAyMTozODo0MCArMDMwMCAgQW50b24gQmVsa2EgPGFudG9uYmVsa2FAZ21haWwuY29tPgoKCSogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuYzoKCSogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuaDoKCSAgd2F2ZW5jOiBhZGQgVE9DIHN1cHBvcnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MDk5OAoKMjAxMy0wMy0yMyAwNDo1NjozNiArMDEwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBtYWtlIGVtcHR5IHN1YnRpdGxlIGJ1ZmZlciByZWNvZ25pdGlvbiBtb3JlIHJvYnVzdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk2MjQ0CgoyMDEzLTAzLTA0IDE1OjQ5OjA2IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9saWJwbmcvZ3N0cG5nZW5jLmM6CgkgIHBuZ2VuYzogdW5tYXAgc291cmNlIGZyYW1lIHdoZW4gZG9uZQoKMjAxMy0wMy0yMiAxNToxNDoxNSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBGaXggdGVzdCByZWdyZXNzaW9uIHdpdGggb25lIGJ1ZmZlciBzdHJlYW1zCgoyMDEzLTAzLTA1IDE3OjAwOjE3IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBzcGxpdCBsYXJnZSByYXcgYXVkaW8gc2FtcGxlcwoJICBJbiBvcmRlciB0byBkZWFsIHdpdGggYSBmaWxlIHRoYXQgaGFzIHNhbXBsZXMgdGhhdCBhcmUgMjQgc2Vjb25kcwoJICBsb25nLiAgU2Vla2luZyBzdGlsbCBkb2Vzbid0IHdvcmsgd2l0aCBzdWNoIGZpbGVzLgoKMjAxMy0wMy0yMiAxMTo1NDowOCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBSZW1vdmUgZG9jdW1lbnRhdGlvbiBmb3IgZHRzLW1ldGhvZAoKMjAxMy0wMy0yMiAxMzoyNDozMyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguaDoKCSAgcXRtdXg6IGRlcHJlY2F0ZSBkdHMtbWV0aG9kIHByb3BlcnR5CgoyMDEzLTAzLTEzIDE3OjA4OjAzIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IEZpeCBwcm9ibGVtcyBjYXVzaW5nIGJhZCBkdXJhdGlvbnMgaW4gZmlsZQoJICAtIEZpeCB1cCBvdXQtb2Ytb3JkZXIgaW5jb21pbmcgRFRTIHZhbHVlcy4KCSAgLSBGaXggZHVyYXRpb24gb2YgaW5pdGlhbCBzYW1wbGUuCgoyMDEzLTAzLTEyIDE5OjA4OjI2IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGZpeCBhbGwgdGltZXN0YW1wcyBvbmNlIGZpcnN0X3RzIGlzIGRldGVybWluZWQKCjIwMTMtMDItMTQgMTY6MzQ6MzQgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4Lmg6CgkgIHF0bXV4OiBVc2UgUFRTL0RUUyBmcm9tIGluY29taW5nIGJ1ZmZlcnMKCSAgUmVtb3ZlIG9sZCBEVFMgZ3Vlc3NpbmcgY29kZS4KCjIwMTMtMDMtMTggMTI6MzA6NTAgKzAxMDAgIE5pY29sYSBNdXJpbm8gPG5pY29sYS5tdXJpbm9AZ21haWwuY29tPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eG1hcC5jOgoJICBxdG11eDogZXhwb3NlIG11bGF3IGNhcHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NjA1MgoKMjAxMy0wMy0yMiAxMDo1MDozNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIFJlcXVpcmUgT3JjID49IDAuNC4xNwoJICBPcmMgMC40LjE3IGZpeGVzIGEgYnVuY2ggY3Jhc2hlcyBvbiBpMzg2IGFuZCBSUGkgd2hlbiBvcmMKCSAgZnVuY3Rpb25zIGNhbid0IGJlIGNvbXBpbGVkIGFuZCB0aGUgZmFsbGJhY2sgZnVuY3Rpb24gaXMKCSAgc3VwcG9zZWQgdG8gYmUgdXNlZC4gQWxzbyBmaXhlcyBzb21lIGlzc3VlcyBvbiBQb3dlclBDLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg0Mzk5CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTM4NjIKCjIwMTMtMDMtMjIgMDg6NDc6MTcgKzAwMDAgIFJvZG9sZm8gU2NodWx6IGRlIExpbWEgPHJvZG9sZm9Acm9kc29mdC5vcmc+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZml4IHNhbXBsZSBsZWFrIHdoZW4gcHJvY2Vzc2luZyBwcml2YXRlIHF0IHRhZ3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NjM1NQoKMjAxMy0wMy0yMiAwMjoyNDowMSArMDEwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IHNldCBzdHJlYW0gbGFuZ3VhZ2UgY29kZSBmcm9tIHRhZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk2MzU4CgoyMDEzLTAzLTIxIDAyOjU1OjA2ICswMTAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHNlbmQgR0FQIGV2ZW50cyBmb3Igc3VidGl0bGUgc3RyZWFtcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk2MjQ0CgoyMDEzLTAzLTIxIDAyOjUzOjI0ICswMTAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGlnbm9yZSBlbXB0eSBzdWJ0aXRsZSBidWZmZXJzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTYyNDQKCjIwMTMtMDMtMjEgMDI6NTI6MDcgKzAxMDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4X2ZvdXJjYy5oOgoJICBxdGRlbXV4OiByZWNvZ25pemUgU0JUTCBzdWJ0eXBlIGZvciBzdWJ0aXRsZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NjI0NAoKMjAxMy0wMy0xNyAxNjoyNzowMyArMDMwMCAgQW50b24gQmVsa2EgPGFudG9uYmVsa2FAZ21haWwuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBhZGQgc3VwcG9ydCBmb3IgdGhlIHRvYy1zZWxlY3QgZXZlbnQKCSAgU2VsZWN0IHRyYWNrcyBmcm9tIHRoZSBDVUUgc2hlZXQgYnkgc2VuZGluZyBhIHRvYy1zZWxlY3QKCSAgZXZlbnQgYmFzZWQgb24gdGhlIHVpZCBpbiB0aGUgVE9DLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTQwODkxCgoyMDEzLTAzLTE5IDE4OjA5OjMxIC0wNzAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAcmRpby5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIG1wNG11eDogaW4gZmFzdHN0YXJ0IG1vZGUsIGRvbid0IG91dHB1dCB1cCB0byA0IGtCIG9mIGdhcmJhZ2UgYXQgdGhlIGVuZC4KCjIwMTMtMDMtMjAgMDA6MzU6MTcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdHNiY3BhcnNlLmM6CgkgIHNiY3BhcnNlOiBwYWNrIG11bHRpcGxlIGZyYW1lcyBpbnRvIG9uZSBvdXRwdXQgYnVmZmVyCgkgIERvbid0IG91dHB1dCBhIHNpbmdsZSBidWZmZXIgZm9yIGV2ZXJ5IHRpbnkgU0JDIGZyYW1lCgoyMDEzLTAzLTE4IDE0OjU5OjM1ICswMDAwICBCYXN0aWVuIE5vY2VyYSA8aGFkZXNzQGhhZGVzcy5uZXQ+CgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkgIHY0bDI6IGZpeCBjb21waWxhdGlvbiBhZ2FpbnN0IG5ld2VyIGtlcm5lbCBoZWFkZXJzIGFzIG9uIEZDMTkKCjIwMTMtMDMtMTQgMTQ6MTI6MDUgKzAxMDAgIEtpc2hvcmUgQXJlcGFsbGkgPGtpc2hvcmUuYXJlcGFsbGlAZ21haWwuY29tPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBmaXggaW5maW5pdGUgbG9vcCBvbiBFT1Mgd2l0aCBub24tZGVmYXVsdCBtZXRob2RzIG9yIGZpZWxkcwoJICBGaXhlcyBwcm9ibGVtIG9mIGluZmluaXRlIGxvb3AgaW4gZ3N0X2RlaW50ZXJsYWNlX3Jlc2V0X2hpc3RvcnkuCgkgIExhc3QgZmllbGQgaW4gdGhlIGhpc3Rvcnkgd2FzIG5ldmVyIGRlaW50ZXJsYWNlZCBiZWNhdXNlIGlkeCBiZWNvbWVzIG5lZ2F0aXZlLgoJICBIYXBwZW5zIGUuZy4gd2l0aCBtZXRob2Q9c2NhbGVyYm9iIGZpZWxkcz1ib3R0b20gb3IKCSAgbWV0aG9kPWdyZWVkeWwgZmllbGRzPXRvcAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk1NjQ0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTMxNzMKCjIwMTMtMDMtMTIgMDk6NDg6MzEgKzAwMDAgIEtpc2hvcmUgQXJlcGFsbGkgPGtpc2hvcmUuYXJlcGFsbGlAZ21haWwuY29tPgoKCSogZXh0L2R2L2dzdGR2ZGVtdXguYzoKCSAgZHZkZW11eDogZG9uJ3QgcmV0dXJuIEZBTFNFIHdoZW4gZHJvcHBpbmcgc2luayBldmVudHMKCSAgRml4ZXMgcHJvYmxlbSBpbiBjb25qdW5jdGlvbiB3aXRoIGF2aWRlbXV4LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk1NjQzCgoyMDEzLTAzLTEyIDAwOjE2OjE4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSAgYXZpbXV4OiBjaGFuZ2UgcmF3IHZpZGVvIGNhcHMgb3JkZXIgc28gdGhhdCBHUkFZOCBpcyBsYXN0CgkgIFBlb3BsZSBsaWtlIGNvbG91cnMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTU1NDMKCjIwMTMtMDMtMTEgMTQ6NTA6NDEgKzAxMDAgIE9nbnlhbiBUb25jaGV2IDxvZ255YW5AYXhpcy5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSAgcnRwaDI2NHBheTogRG9uJ3QgdXNlIHVwc3RyZWFtIGNhcHMgd2l0aCBwZWVyX3F1ZXJ5X2NhcHMgKCkKCSAgQ2FsbGluZyBnc3RfcGFkX3BlZXJfcXVlcnlfY2FwcyAoKSBvbiB0aGUgc3JjIHBhZCB3aXRoIHRoZSBjYXBzCgkgIHVwc3RyZWFtIGNhbiBwcm9kdWNlIGFzIGEgZmlsdGVyIGZyb20gZ3N0X3J0cF9oMjY0X3BheV9nZXRjYXBzICgpCgkgIGlzIHdyb25nIGFuZCBtYWtlcyBjYXBzIG5lZ290aWF0aW9uIGZhaWwgaWYgdXBzdHJlYW0gY2FwcyBhcmUgbm90CgkgIE5VTEwuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTU2MjkKCjIwMTMtMDMtMTAgMDk6MTA6MTggKzAxMDAgIERpcmsgVmFuIEhhZXJlbmJvcmdoIDx2aGRpcmtAZ21haWwuY29tPgoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSAgYXZpbXV4OiBzdXBwb3J0IHJhdyBCR1IKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NTU0MwoKMjAxMy0wMy0xMCAwOToyNTozNCArMDEwMCAgRGlyayBWYW4gSGFlcmVuYm9yZ2ggPHZoZGlya0BnbWFpbC5jb20+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBzdXBwb3J0IHJhdyB2aWRlbyB3aXRoIG5lZ2F0aXZlIGhlaWdodAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk1NTQxCgoyMDEzLTAzLTA1IDE0OjQwOjU2ICswMTAwICBKb25hcyBIb2xtYmVyZyA8am9uYXNoZ0BheGlzLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1dG9kZXRlY3QuYzoKCSAgYXV0b2RldGVjdCBjaGVja3Rlc3Q6IERvIG5vdCBmYWlsIHdpdGhvdXQgdmlkZW9zaW5rCgkgIElmIHRoZXJlIGlzIG5vIHZpZGVvc2luayBhdmFpbGFibGUgYXV0b3ZpZGVvc2luayB3aWxsIGNvbnRhaW4gYQoJICBmYWtlc2luayBpbnN0ZWFkIHdoaWNoIG5lZWRzIHNwZWNpYWwgdHJlYXRtZW50IGluIHRoZSB1bml0IHRlc3QuCgoyMDEzLTAzLTA5IDAxOjE4OjMwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogQW5kcm9pZC5tazoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5zaWduYWxzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZ3N0LXBsdWdpbnMtZ29vZC5zcGVjLmluOgoJKiBnc3QvZHRtZi9nc3RkdG1mLmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZjb21tb24uaDoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkgIGR0bWY6IG1vdmUgZHRtZiBwbHVnaW4gZnJvbSAtYmFkIHRvIC1nb29kCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODc0MTYKCjIwMTMtMDMtMDkgMDA6MzA6MzggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBNZXJnZSBicmFuY2ggJ2R0bWYtbW92ZWQtZnJvbS1iYWQnCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODc0MTYKCjIwMTMtMDMtMDUgMjE6MjI6MTggKzAxMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy9vc3hhdWRpby9NYWtlZmlsZS5hbToKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvZWxlbWVudC5oOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zaW5rLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hjb3JlYXVkaW8uYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGNvcmVhdWRpb3JlbW90ZWlvLmM6CgkgIG9zeGF1ZGlvOiBhZGQgc3VwcG9ydCBmb3IgaU9TIHVzaW5nIHRoZSBSZW1vdGVJTyBBdWRpb1VuaXQKCjIwMTMtMDMtMDUgMjE6MTc6NTIgKzAxMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvb3N4YXVkaW8vTWFrZWZpbGUuYW06CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NpbmsuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc3JjLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hjb3JlYXVkaW8uYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGNvcmVhdWRpby5oOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4Y29yZWF1ZGlvY29tbW9uLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hjb3JlYXVkaW9jb21tb24uaDoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGNvcmVhdWRpb2hhbC5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4cmluZ2J1ZmZlci5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4cmluZ2J1ZmZlci5oOgoJICBvc3hhdWRpbzogYWRkIGEgZmHDp2FkZSBmb3IgdGhlIENvcmVBdWRpbyBBUEkKCjIwMTMtMDMtMDcgMDA6MDA6NDEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDJkZTIyMWMgdG8gMDRjN2ExZQoKMjAxMy0wMy0wMyAxMTo1OTozMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbHpvLmM6CgkgIG1hdHJvc2thOiBJbmNsdWRlIGNvbmZpZy5oLCBpdCdzIG5lZWRlZCBmb3IgX3N0ZGludC5oCgoyMDEzLTAzLTAzIDExOjUzOjA0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogRml4ICh3cm9uZykgdXNlIG9mIHVuaW5pdGlhbGl6ZWQgdmFyaWFibGUgY29tcGlsZXIgd2FybmluZwoKMjAxMy0wMy0wMiAxMzo1OTo1MiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBhZGQgdmFyaWFudCBmaWVsZCB0byBILjI2MyBjYXBzCgkgIGF2ZGVjX2gyNjMgd29uJ3QgZ2V0IHBsdWdnZWQgb3RoZXJ3aXNlLgoKMjAxMy0wMi0yMiAxOTowNjo1MiArMDEwMCAgQXJuYXVkIFZyYWMgPGF2cmFjQGZyZWVib3guZnI+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogc2tpcCBkaXNhYmxlZCB0cmFja3MKCSAgSVNPL0lFQyAxNDQ5Ni0xMiBzcGVjaWZpZXMgZGlzYWJsZWQgdHJhY2tzIHNob3VsZCBiZSBjb21wbGV0ZWx5CgkgIGlnbm9yZWQsIHNvIGp1c3QgZG8gaXQuCgkgIEF2b2lkcyBkZWFkbG9jayBkdXJpbmcgcHJlcm9sbGluZyBmb3Igc29tZSBmaWxlcy4KCSAgQWxzbyBwcmV2ZW50cyAnY2hhcHRlcicgc3VidGl0bGUgdHJhY2tzIGZyb20gc2hvd2luZyB1cC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5Mzk5MwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjI4NzkwCgoyMDEzLTAyLTI1IDA5OjU4OjEzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbGV2ZWwuYzoKCSAgdGVzdHM6IHJlLWFkZCBzdXBwcmVzc2lvbiBmb3IgR1ZhbHVlQXJyYXkgd2FybmluZ3MgdG8gdW5pdCB0ZXN0IGFzIHdlbGwKCjIwMTMtMDItMjggMTM6MjU6MDYgKzAxMDAgIEpvbmFzIEhvbG1iZXJnIDxqb25hc2hnQGF4aXMuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZHRtZi5jOgoJICB0ZXN0czogdXNlIHJlbGF0aXZlIGluY2x1ZGUgZm9yIG91dC1vZi10cmVlIGJ1aWxkcyBpbiBkdG1mIHRlc3QKCjIwMTMtMDItMjggMDg6NDY6NTkgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSAgc3BlY3RydW06IHJlbW92ZSB0aGUgc2luY2UgZG9jLWNvbW1lbnQgZnJvbSAwLjEwCgoyMDEzLTAyLTI4IDA4OjQ0OjE4ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2xldmVsL2dzdGxldmVsLmM6CgkqIGdzdC9sZXZlbC9nc3RsZXZlbC5oOgoJKiB0ZXN0cy9leGFtcGxlcy9sZXZlbC9sZXZlbC1leGFtcGxlLmM6CgkgIGxldmVsOiBhZGQgYSAicG9zdC1tZXNzYWdlcyIgcHJvcGVydHkgYW5kIGRlcHJlY2F0ZSAibWVzc2FnZSIKCSAgSW4gc3BlY3RydW0gdGhpcyB3YXMgY2hhbmdlZCBmcm9tIDAuMTAgdG8gMS4wLCBsZXRzIGRvIHRoaXMgaGVyZSB0b28uCgoyMDEzLTAyLTI3IDE4OjU2OjUwIC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZHRtZi5jOgoJICB0ZXN0czogQWRkIHRlc3RzIGZvciBkdG1mc3JjCgoyMDEzLTAyLTI3IDE2OjE1OjI3IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZHRtZi5jOgoJICB0ZXN0czogRml4IHJlZiBsZWFrIGluIGR0bWYgdGVzdAoKMjAxMy0wMi0yNiAxNDoxODoyMCAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z2RlcGF5LmM6CgkgIHJ0cG1wNGdkZXBheTogc3RyZWFtdHlwZSBpcyBub3QgcHV0IGJ5IGFsbCBSVFNQIHNlcnZlciwgbm90IG1ha2UgaXQgb3B0aW9uYWwKCSAgU3BlY2lmaWMgY2FzZSBoZXJlIGlzIFdvd3phIDMuNS4wCgoyMDEzLTAyLTI1IDAwOjM1OjU4ICswMTAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXMgKGF0KSBhcGVzdGFhcnQgKGRvdCkgb3JnPgoKCSogZ3N0L2xldmVsL2dzdGxldmVsLmM6CgkgIGxldmVsOiBwdXQgYmFjayBkZXByZWNhdGlvbiB3YXJuaW5ncwoKMjAxMy0wMi0yNCAxNzowMDoxNCArMDEwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzIChhdCkgYXBlc3RhYXJ0IChkb3QpIG9yZz4KCgkqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9sZXZlbC5jOgoJICBsZXZlbDogc2VuZCBsYXN0IG1lc3NhZ2Ugb24gRU9TCgoyMDEzLTAyLTIzIDE0OjM0OjM1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtbmF1d0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBwdXNoIG1vZGU6IGhhbmRsZSBzb21lIG1vcmUgMC1zaXplIGJ1ZmZlciBjYXNlcwoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg0OTQ0CgoyMDEzLTAyLTIzIDE4OjUwOjUyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogZml4IHVwIGV4YW1wbGUgcGlwZWxpbmUgaW4gZG9jcwoKMjAxMi0xMS0yMCAxMjoxNDowNyArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogVXBkYXRlIHNlZ2RvbmUgcGVyaW9kaWNhbGx5CgkgIFRoaXMgbWFrZXMgc3VyZSB0aGF0IHdlIHVwZGF0ZSBzZWdkb25lIGJhc2VkIG9uIHRoZSByZWFkIGluZGV4IHJlY2VpdmVkCgkgIGR1cmluZyBsYXRlbmN5IHVwZGF0ZXMuIEFzIHRoZSBjb21tZW50IG5vdGVzLCB3ZSBtYWtlIHNvbWUgY29tcHJvbWlzZXMKCSAgdG8gZGVhbCB3aXRoIHRoZSBmYWN0IHRoYXQgc2VnZG9uZSBpcyBhIHNlZ21lbnQgbXVsdGlwbGUsIHdoaWxlIHRoZSByZWFkCgkgIGluZGV4IG9mZmVycyBmaW5lciBncmFudWxhcml0eS4gVGhlIHVwZGF0ZXMgYXJlIGFsc28gbm90IHZlcnkgb2Z0ZW4KCSAgKDEwMG1zIHNpbmNlIHRoYXQgaXMgaG93IG9mdGVuIGF1dG9tYXRpYyB0aW1pbmcgdXBkYXRlcyBhcmUgcHJvdmlkZWQpLgoJICBBbGwgdGhpcyBpcyByZXF1aXJlZCBmb3IgdGhlIGJhc2VhdWRpb3Npbmsgc2FtcGxlIGFsaWdubWVudCBjb2RlIHRvIHdvcmsKCSAgYXQgYWxsLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk0MjU3CgoyMDEzLTAyLTEzIDEwOjQ2OjU0ICswMTAwICBQYXVsIEhFTlJZUyA8dmlzZWNoZWxsZUBnbWFpbC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IEZpeCB3cm9uZyBjb2RlIG9yZ2FuaXNhdGlvbiBpbiBjYXNlIG9mIGNvbGxpc2lvbgoJICBjaGFuZ2Vfc3NyYyBmaWVsZCBvZiBSVFBTZXNzaW9uIHNob3VsZCBiZSBzZXQgYmVmb3JlIGNhbGxpbmcKCSAgcnRwX3Nlc3Npb25fc2NoZWR1bGVfYnllX2xvY2tlZCAoKSBhcyB0aGlzIGZ1bmN0aW9uIHdpbGwgY2FsbCByZWNvbnNpZGVyIGZ1bmN0aW9uCgkgIHRoYXQgd2lsbCB3YWtlIHVwIHJ0Y3BfdGhyZWFkIHdoaWNoIHdpbGwgY2FsbCBydHBfc2Vzc2lvbl9vbl90aW1lb3V0ICgpIHRoYXQgd2lsbAoJICBjaGVjayBjaGFuZ2Vfc3NyYyB0byBjaGFuZ2UgdGhlIHNzcmMuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTQxODQKCjIwMTMtMDItMjEgMTE6MTU6MjMgLTA1MDAgIEplYW4tRnJhbsOnb2lzIEZvcnRpbiBUYW0gPG5la29oYXlvQGdtYWlsLmNvbT4KCgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOgoJICBhbHBoYTogaW1wcm92ZSBkZXNjcmlwdGlvbnMgb2YgY2hyb21hIGtleWluZy1yZWxhdGVkIHByb3BlcnRpZXMgYW5kIGVudW1zCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTQzNzQKCjIwMTMtMDItMjEgMTU6MDE6MTUgLTA1MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzoKCSAgYWxwaGE6IERvIG5vdCBvdmVycmlkZSB0aGUgbWV0aG9kIHdpdGggY3VzdG9tIHIvZy9iIHZhbHVlcwoJICBEZXBlbmRpbmcgb24gdGhlIG9yZGVyIGdfb2JqZWN0X3NldCgpIGNhbGxzIGFhcmUgbWFkZSwgdGhlCgkgIHRhcmdldCByL2cvYiBzZXR0aW5ncyB3aWxsIG92ZXJyaWRlIHRoZSBtZXRob2QgaWYgc2V0IHRvCgkgIGdyZWVuL2JsdWUuIENoYW5nZSB0aGF0IHNvIHdlIGRvIG5vdCB1c2UgdGhlIHRhcmdldC1yL2cvYiB2YWx1ZXMKCSAgdW5sZXNzIHRoZSBtZXRob2QgaXMgc2V0IHRvIGN1c3RvbS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NDM3NAoKMjAxMy0wMi0yMCAxNTo0Njo0MyArMDEwMCAgT2dueWFuIFRvbmNoZXYgPG9nbnlhbkBheGlzLmNvbT4KCgkqIGdzdC9hdXBhcnNlL2dzdGF1cGFyc2UuYzoKCSAgYXVwYXJzZTogZG8gbm90IGxlYWsgc3JjX2NhcHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NDI3NQoKMjAxMy0wMi0yMCAyMTowMzoyNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogb25seSBkZWxheSBSVENQIHdoZW4gd2UgYXJlIGEgc2VuZGVyCgkgIE9ubHkgZGVsYXkgdGhlIFJUQ1AgdGhyZWFkIHdoZW4gd2UgYXJlIGEgc2VuZGVyLCB3aGljaCB3ZSBjYW4ga25vdyBiZWNhdXNlIHdlCgkgIGhhdmUgYSBzZW5kX3J0cF9zcmMgcGFkLiBPdGhlcndpc2Ugd2UgbWlnaHQgZGVsYXkgdGhlIFJUQ1AgdGhyZWFkIGlmIHdlCgkgIGFyZSBvbmx5IGEgcmVjZWl2ZXIgYW5kIHRoZW4gdGhlcmUgaXMgbm8gY29kZSBwYXRoIHRoYXQgd2FrZXMgdXAgdGhlCgkgIFJUQ1AgdGhyZWFkIGFuZCB3ZSBlbmQgdXAgd2l0aG91dCBSVENQIHBhY2tldHMuCgoyMDEzLTAyLTE5IDExOjQ3OjIwICswMTAwICBCZW5qYW1pbiBHYWlnbmFyZCA8YmVuamFtaW4uZ2FpZ25hcmRAbGluYXJvLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL3Y0bDIvTWFrZWZpbGUuYW06CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIHY0bDI6IEFkZCBzdXBwb3J0IG9mIGRtYWJ1ZgoJICB2NGwgaGFzIGFkZCBhIG5ldyBJT0NUTCB0byBleHBvcnQgYSBidWZmZXIgYnkgdXNpbmcgZG1hYnVmLgoJICBUaGlzIHBhdGNoIGFsbG93IHRvIHVzZSB0aGlzIG5ldyBJT1RDTCBpZiBpdCBoYXMgYmVlbiBkZWZpbmVkIGluIHZpZGVvZGV2Mi5oCgkgIEkgaW50cm9kdWNlIGEgbmV3IElPIG1vZGUgKEdTVF9WNEwyX0lPX0RNQUJVRikgdG8gZW5hYmxlIHRoaXMgd2F5IG9mIHdvcmtpbmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTM4MjYKCjIwMTMtMDItMTggMjA6MDQ6MDUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGZpeCB1cCBkb2RneSBjb2RlIHRoYXQgdHJpZXMgdG8gZml4IHVwIGEgYnJva2VuIG1vb3YgYXRvbQoJICBBZnRlciBnc3RfYnVmZmVyX25ld19hbmRfYWxsb2MoKSBnc3RfYnVmZmVyX2NvcHlfaW50bygpIHdpbGwgbGlrZWx5CgkgIGFwcGVuZCB0byB0aGUgYWxyZWFkeS1leGlzdGluZyBtZW1vcnkgaW5zdGVhZCBvZiBmaWxsaW5nIGl0LgoKMjAxMy0wMi0xOCAxNjozMjoxMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZml4IHBvdGVudGlhbCBjcmFzaCBvbiBzaG9ydCBNT09WIGF0b20KCSAgRG9uJ3QgdW5tYXAgc2hvcnQgTU9PViBhdG9tIGJ1ZmZlciB0d2ljZSwgd2hpY2ggaGFwcGVuZWQKCSAgaW4gdGhlIGNhc2Ugd2hlcmUgd2UgZG9uJ3QgZml4IHVwIHRoZSBNT09WIGF0b20uCgkgIEZpeGVzIGNyYXNoZXMgd2hlbiB0aHVtYm5haWxpbmcgcGFydGlhbCBtcDQgZmlsZSB3aGVyZQoJICB0aGUgTU9PViBhdG9tIGlzIHN0aWxsIGluY29tcGxldGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTQwMTAKCjIwMTMtMDItMTYgMTY6NDk6MjIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBleHQvc291cC9NYWtlZmlsZS5hbToKCSAgc291cGh0dHBzcmM6IHNldCBTT1VQX1ZFUlNJT05fe01JTl9SRVFVSVJFRCxNQVhfQUxMT1dFRH0gdG8gc3VwcHJlc3MgZGVwcmVjYXRpb25zIHdpdGggbmV3ZXIgdmVyc2lvbnMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MzkxMQoKMjAxMy0wMi0xNiAxNTo0NzowMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cDogdXNlIGRlZmF1bHQgcHJveHkgcmVzb2x2ZXIgaW5zdGVhZCBvZiBkZXByZWNhdGVkIEdOT01FIHByb3h5IHJlc29sdmVyCgkgIEFwcGFyZW50bHkgdGhlcmUncyBubyByZWFzb24gdG8gdXNlIGl0IGFueSBsb25nZXIuIERyb3AgbGlic291cC1nbm9tZQoJICBkZXBlbmRlbmN5IHdoaWxlIGF0IGl0LCBub3cgdGhhdCB3ZSBkb24ndCBuZWVkIGFueXRoaW5nIGZyb20gaXQgYW55CgkgIG1vcmUgKGl0IG9ubHkgY29uc2lzdHMgZW50aXJlbHkgb2YgZGVwcmVjYXRlZCBBUEkgbm93IGFueXdheXMpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkzOTExCgoyMDEzLTAyLTE1IDE1OjQzOjQzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy90YWdzY2hlY2tpbmcuYzoKCSAgdGVzdHM6IGZpeCBzb21lIGgyNjQgY2FwcwoJICBEb2Vzbid0IGZpeCBhbnl0aGluZyBpbiBwYXJ0aWN1bGFyLCBidXQgaXMKCSAgc3RpbGwgbmVlZGVkIGhlcmUgZm9yIGNvcnJlY3RuZXNzLgoKMjAxMy0wMi0xNSAwODoxOToyNCArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvcGFub3JhbWEuYzoKCSAgYXVkaW9wYW5vcmFtYTogcmVtb3ZlIGNoYW5uZWwtbWFzayBmcm9tIGNhcHMKCSAgVGhlIGNoYW5uZWwtbWFzayBpcyBvbmx5IG5lZWRlZCBmb3IgY2hhbm5lbHM+MiB3aGljaCB3ZSBkb24ndCBkby4KCjIwMTMtMDItMTUgMTY6MjE6MjEgKzAxMDAgIEJlbmphbWluIEdhaWduYXJkIDxiZW5qYW1pbi5nYWlnbmFyZEBzdGVyaWNzc29uLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDI6IGRvbid0IGNoZWNrIHN0cmlkZSBmb3IgZW5jb2RlZCBmb3JtYXRzCgkgIERvbid0IHRyeSB0byBjaGVjayB0aGUgc3RyaWRlIGZvciBlbmNvZGVkIGZvcm1hdHMuIFNvbWUgZHJpdmVycyBvdXRwdXQKCSAgc29tZXRoaW5nICE9IDAgYW5kIHRoZW4gd2UgZG9uJ3Qgd2FudCB0byBmYWlsIG9uIHRoYXQuCgoyMDEzLTAyLTE1IDE0OjExOjM2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIHVkcHNyYzogdXNlIGdfc29ja2V0X3NldF9vcHRpb24oKSB0byBzZXQgYnVmZmVyIHNpemUgd2l0aCBuZXdlciBHTGliIHZlcnNpb25zCgkgIFNvIHdlIGhhdmUgdG8gd29ycnkgbGVzcyBhYm91dCBwb3J0YWJpbGl0eS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MjQwMAoKMjAxMy0wMi0xNCAxNDoxMzoyNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgIGpwZWdkZWM6IHJlbW92ZSBzb2YtbWFya2VyIGZyb20gdGVtcGxhdGUgY2FwcyBmb3Igbm93CgkgIE5vdyB0aGF0IHRoZSBzdWJzZXQgY2hlY2sgYWN0dWFsbHkgd29ya3MsIHRoaXMgYnJlYWtzCgkgIHRoaW5ncyB3aXRoIGRlbXV4ZXJzIHRoYXQgZG9uJ3QgcHV0IGEgInNvZi1tYXJrZXIiCgkgIGluIHRoZWlyIGpwZWcgY2FwcywgYW5kIHdlIGRvbid0IGhhdmUgYSBnb29kIHBhcnNlcgoJICB0byBwbHVnIGVpdGhlciB5ZXQuCgoyMDEzLTAyLTEzIDEyOjMyOjEwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5oOgoJICBqcGVnZW5jOiBQdXQgdGhlIFNPRiBtYXJrZXIgaW50byB0aGUgY2FwcwoKMjAxMy0wMi0xMyAxMjowMjo0NiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cC1wYXlsb2FkaW5nLmM6CgkgIHJ0cC1wYXlsb2FkaW5nOiBGaXggdW5pdCB0ZXN0IGNhcHMgYW5kIEFNUiBkZXBheWxvYWRlciBzaW5rIHRlbXBsYXRlIGNhcHMKCSAgRmllbGRzIHdlcmUgbWlzc2luZyBmcm9tIHRoZSBhY3R1YWwgY2Fwcywgb3IgdG9vIG1hbnkgZmllbGRzCgkgIGV4aXN0ZWQgaW4gdGhlIHRlbXBsYXRlIGNhcHMuCgoyMDEzLTAyLTEzIDExOjUzOjAxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiBGaXggY2FwcyB1c2VkIGluIHRoZSB1bml0IHRlc3QKCSAgVGhlIEFBQyBjYXBzIHBhc3NlZCB3ZXJlIGluY29tcGxldGUuCgoyMDEzLTAyLTEzIDExOjQ5OjQwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3dhdnBhY2tlbmMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvd2F2cGFja3BhcnNlLmM6CgkgIHdhdnBhY2s6IEZpeCB1bml0IHRlc3RzLCB3aWR0aCBpcyBub3cgY2FsbGVkIGRlcHRoIGluIHRoZSBjYXBzIGluIDEuMAoKMjAxMy0wMi0xMiAyMzozMToyMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NvdXBodHRwc3JjLmM6CgkgIHRlc3RzOiBtYWtlIHNvdXBodHRwc3JjIHVuaXQgdGVzdCB3b3JrIGV2ZW4gaWYgaHR0cF9wcm94eSBpcyBzZXQKCSAgV2UncmUgdGVzdGluZyB3aXRoIGFuIGh0dHAgc2VydmVyIG9uIGxvY2FsaG9zdCwgYnV0IGRvbid0IHN1cHBvcnQKCSAgYW4gZXhjZXB0aW9uIGxpc3QgZm9yIHRoZSBodHRwX3Byb3h5LCBzbyBqdXN0IHVuc2V0IHRoZSBlbnZpcm9ubWVudAoJICB2YXJpYWJsZSB0byBtYWtlIHN1cmUgd2UgY2FuIHJ1biB0aGlzIHRlc3QgcHJvcGVybHkgZXZlbiBpZiB0aGUKCSAgZW52aXJvbm1lbnQgaGFzIGh0dHBfcHJveHkgc2V0LgoJICBBbHNvLCBkb24ndCBza2lwIGFsbCB0ZXN0cyBpZiB0aGVyZSBpcyBhbiBpc3N1ZSB3aXRoIHRoZSBTU0wgc2VydmVyLAoJICBqdXN0IHJ1biB0aGUgbm9uLVNTTCB0ZXN0cyB0aGVuLgoJICBodHRwczovL2plbmtpbnMucWEudWJ1bnR1LmNvbS92aWV3L1JhcmluZy92aWV3L0pIQnVpbGQlMjBHbm9tZS9qb2IvamhidWlsZC1hbWQ2NC1nc3QtcGx1Z2lucy1nb29kLwoKMjAxMy0wMi0xMiAxMjo1Mzo1MiAtMDgwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHJkaW8uY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGV4dHJhY3QgY29kZWNfZGF0YSBmb3IgUHJvUmVzCgoyMDEzLTAyLTA4IDAxOjAyOjEwICsxMTAwICBUaW0gJ21pdGhybycgQW5zZWxsIDxtaXRocm9AbWl0aGlzLmNvbT4KCgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkgIGF2aW11eDogRml4aW5nIGJ1ZmZlciBsZWFrIGluIGdzdF9hdmlfbXV4X2RvX2J1ZmZlcgoJICBnc3RfYXZpX211eF9kb19idWZmZXIgd2FzIGxlYWtpbmcgZGF0YSBmcm9tIGdzdF9jb2xsZWN0X3BhZHNfcG9wLgoKMjAxMy0wMi0xMCAxNToxMDozMiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bW5hdXdAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogY29ycmVjdCBkdXJhdGlvbiBmb3IgYXVkaW8gVkJSIGJ1ZmZlcnMgaW4gcHVsbCBtb2RlCgoyMDEzLTAyLTA4IDIxOjI4OjAyICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtbmF1d0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBwcm9wZXIgcG9zaXRpb24gcmVwb3J0aW5nIGFuZCBwdXNoIG1vZGUgdGltZXN0YW1waW5nCgkgIC4uLiBhbmQgYWxpZ24gY3VycmVudF90b3RhbCBzZW1hbnRpY3MgaW4gcHVzaCBhbmQgcHVsbCBtb2RlLAoJICB3aGljaCB0cmFja3MgYnl0ZXMgZm9yIENCUiBhbmQgYmxvY2tzIGZvciBWQlIuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTE0ODEKCjIwMTMtMDItMDggMTc6MDU6MjcgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IGRlbGF5IFJUQ1AgdW50aWwgZmlyc3QgUlRQIHBhY2tldAoJICBEZWxheSBzZW5kaW5nIHRoZSBmaXJzdCBSVENQIHBhY2tldCB1bnRpbCB3ZSBoYXZlIHNlbnQgdGhlIGZpcnN0IFJUUCBwYWNrZXQuCgkgIE90aGVyd2lzZSB3ZSB3aWxsIHNlbmQgb3V0IGEgUmVjZWl2ZXIgUmVwb3J0IGluc3RlYWQgb2YgYSBzZW5kZXIgcmVwb3J0LgoJICBTZWUgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MTQwMAoKMjAxMy0wMi0wNyAxNTowNjo0MCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogcmVtb3ZlIGRlYWQgY29kZQoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY4MzU1CgoyMDEzLTAxLTI5IDEwOjQ4OjE3ICswMTAwICBQYXVsIEhFTlJZUyA8dmlzZWNoZWxsZUBnbWFpbC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6CgkgIHJ0cHB0ZGVtdXg6IGZvcndhcmQgc3RpY2t5IGV2ZW50cyBhbmQgdGhlbiBzZXQgY2FwcwoJICBXaGVuIGEgbmV3IHNyYyBwYWQgaXMgYWRkZWQsIGZpcnN0IGZvcndhcmQgdGhlIHN0aWNreSBldmVudHMgYW5kIHRoZW4KCSAgc2V0IHRoZSBjYXBzIG9uIHRoZSBzcmMgcGFkCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTI3ODYKCjIwMTMtMDItMDcgMTQ6MzI6MjYgKzAxMDAgIE1hcmtvdnRzZXYgVmFkaW0gPHYubWFya292dHNldiBhdCBzYW1zdW5nLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IGltcHJvdmUgZGVidWcgb3V0cHV0CgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODg5MzUKCjIwMTEtMDktMjYgMTQ6NDI6NTEgLTA3MDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiByZXdvcmsgY2xlYW51cCBvZiBzdHJlYW1zCgkgIE1vdmUgdGhlIHdvcmsgb2YgY2xlYW5pbmcgdXAgdGhlIGNsaWVudCBzdHJlYW1zIGluIHRoZSBmcmVlX3N0cmVhbQoJICBmdW5jdGlvbi4gVGhpcyBhbGxvd3MgdXMgdG8gcHJvcGVybHkgY2xlYW4gdXAgdGhlIGNsaWVudCBzdHJlYW1zIHdoZW4gd2UKCSAgcmVtb3ZlIGFuIFJUUCBzdHJlYW0gYXMgd2VsbC4KCSAgQmFzZWQgb24gcGF0Y2ggYnkgU3VqYXkgPHNkYXRhckBjaXNjby5jb20+CgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjAxNTYKCjIwMTMtMDItMDcgMTE6NDA6MzUgKzAxMDAgIFRpbSAnbWl0aHJvJyBBbnNlbGwgPGdub21lIGF0IG1pdGhpcy5jb20+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICB2aWRlb21peGVyMjogYXZvaWQgY2FwcyBsZWFrCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTMzMDcKCjIwMTMtMDItMDYgMTc6MTU6MTEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBkbyBza2V3IGVzdGltYXRpb24gb25seSBmb3IgbmV3IHRpbWVzdGFtcHMKCSAgT25seSBydW4gdGhlIHNrZXcgZXN0aW1hdGlvbiBjb2RlIHdoZW4gd2UgaGF2ZSBhIG5ldyBSVFAgdGltZXN0YW1wLiBJZiB3ZSBoYXZlCgkgIHRoZSBzYW1lIFJUUCB0aW1lc3RhbXAsIHdlIHNpbXBseSB1c2UgdGhlIHByZXZpb3VzIGVzdGltYXRpb24uIFRoaXMgd29ya3MKCSAgYmVjYXVzZSB0aGUgbmV3IG9ic2VydmF0aW9uIHdpdGggdGhlIHNhbWUgUlRQIHRpbWVzdGFtcCBoYXMgdG8gaGF2ZSBhIGJpZ2dlcgoJICByZWNlaXZlciB0aW1lIGFuZCBpcyB0aHVzIG5vdCBnb2luZyB0byBpbmZsdWVuY2UgdGhlIGVzdGltYXRpb24gZXhjZXB0IGZvcgoJICBjYXVzaW5nIG1vcmUgaml0dGVyLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQwMDIzCgoyMDEzLTAyLTA2IDEzOjUyOjI2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBvbmx5IEVPUyB3aGVuIG91ciBzb3VyY2Ugc2VuZHMgQllFCgkgIE9ubHkgRU9TIHdoZW4gd2UgcmVjZWl2ZSBhIEJZRSBldmVudCBmcm9tIHRoZSBTU1JDIG9mIG91ciBzdHJlYW0uCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzU0NTMKCjIwMTMtMDItMDYgMTM6NDc6NTEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IHNhdmUgdGhlIHN0cmVhbSBTU1JDCgkgIENvbmZsaWN0czoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jCgoyMDEzLTAyLTA2IDEzOjE4OjE4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBmbHVzaCBjb25uZWN0aW9uIHdoZW4gc3RvcHBpbmcKCSAgV2hlbiB3ZSBzdG9wLCB3ZSBjYW4gZmx1c2ggYWxsIHBlbmRpbmcgY29tbWFuZHMgc28gdGhhdCB3ZSBjYW4gc3RvcCBhbmQKCSAgam9pbiB0aGUgdGFzay4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NDkyNAoKMjAxMy0wMi0wNSAyMjowMjoxMyArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9zcGVjdHJ1bS9SRUFETUU6CgkgIHNwZWN0cnVtOiByZW1vdmUgb3V0ZGF0ZXMgcmVhZG1lCgkgIExldHMgcmVtb3ZlIHRoZSByZWFkbWUgZnJvbSBwcmUtMC4xLjAgdGhhdCBpcyBjb21wbGV0ZWx5IGlycmVsZXZhbnQgbm93LgoKMjAxMy0wMi0wNSAwNzozMjoyOSArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvcGFub3JhbWEuYzoKCSAgYXVkaW9wYW5vcmFtYTogYWRkIG1vcmUgZGVidWcgbG9nZ2luZwoKMjAxMy0wMi0wNSAwODoyNjoxNCArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2V4YW1wbGVzL2xldmVsL2xldmVsLWV4YW1wbGUuYzoKCSAgbGV2ZWwtZXhhbXBsZS4gYXZvaWQgdGFraW5nIHRoZSBhcnJheXMgYWdhaW4gZm9yIGVhY2ggY2hhbm5lbCBmb3IgY2xhcml0eQoJICBBbHNvIGludHJvZHVjZSBzb21lIGJsYW5rIGxpbmVzIGZvciBiZXR0ZXIgcmVhZGFiaWxpdHkgYW5kIHVwZGF0ZSB0aGUgY29tbWVudHMuCgoyMDEzLTAyLTA0IDE4OjM4OjQxICswMDAwICBSaWNvIFR6c2NoaWNoaG9seiA8cmljb3R6QHVidW50dS5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL01ha2VmaWxlLmFtOgoJICBhdWRpb3BhcnNlcnM6IGZpeCB0eXBvIGluIG5vaW5zdF9oZWFkZXJzCgoyMDEzLTAyLTA0IDExOjA4OjIzICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9wYW5vcmFtYS5jOgoJICBhdWRpb3Bhbm9yYW1hOiBmdXJ0aGVyIHBvcnQgdG8gMS4wCgkgIFRyYW5zZm9ybWNhcHMgaXMgbm90IGNhbGxlZCB3aXRoIGNhcHMgY29udGFpbmluZyBzaW5nbGUgc3RydWN0dXJlcyBhbnltb3JlLiBBbHNvIGFkZCBtaXNzaW5nIGZpbHRlciBoYW5kbGluZy4gU3RpbGwgZG9lcyBub3QgbmVnb3RpYXRlIHRob3VnaC4KCjIwMTMtMDItMDMgMjI6NDU6NTIgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXVkaW9meC9hdWRpb3Bhbm9yYW1hLmM6CgkgIGF1ZGlvcGFub3JhbWE6IGZpeCBjYXBzCgkgIFdlIGRvbid0IHR1cm4gZmxvYXQgaW50byAzMmJpdCBwY20uIExvb2tzIGxpa2UgYSB0eXBvIGZyb20gdXBkYXRpbmcgdGhlIGNhcHMuCgoyMDEzLTAyLTAzIDEzOjE0OjUwICswMTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2xldmVsL2dzdGxldmVsLmM6CgkgIGxldmVsOiBBZGQgbWlzc2luZyBjb21hIGJldHdlZW4gZm9ybWF0cwoKMjAxMy0wMS0zMSAyMjo1NToxOCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICB2aWRlb21peGVyOiBmaXggZW9zIHRpbWVzdGFtcCBjaGVjawoJICBmaXhlcyBoYW5nIGluIHZpZGVvdGVzdHNyYyBudW0tYnVmZmVycz0yMCAhIHZpZGVvbWl4ZXIgISBmYWtlc2luawoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkyOTM1CgoyMDEzLTAxLTMxIDExOjM1OjA5ICswMTAwICBEaXJrIFZhbiBIYWVyZW5ib3JnaCA8dmhkaXJrQGdtYWlsLmNvbT4KCgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkgIGF2aW11eDogYWRkIHN1cHBvcnQgZm9yIHJhdyBtb25vY2hyb21lIDgtYml0IHZpZGVvCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTI5MzIKCjIwMTMtMDEtMTggMjE6MDg6MTIgKzA0MDAgIEFsZXhleSBDaGVybm92IDxhY2hlcm5vdkBuZW9zcGhlcmUuY29tPgoKCSogc3lzL29zeHZpZGVvL2NvY29hd2luZG93Lmg6CgkqIHN5cy9vc3h2aWRlby9jb2NvYXdpbmRvdy5tOgoJICBvc3h2aWRlb3Npbms6IE1ha2UgR3N0TmF2aWdhdGlvbiBrZXkgaW5wdXQgZXZlbnRzIGluIG9zeHZpZGVvc2luayBjb21wYXRpYmxlIHdpdGggeCh2KWltYWdlc2luayBvbmVzCgoyMDEzLTAxLTI5IDEwOjMwOjMyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBhdm9pZCAnLi4uaXMgdXNlZCB1bmluaXRpYWxpemVkJwoKMjAxMy0wMS0wOSAxMzoyNDo0OSAtMDUwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBzZXQgaW50ZXJsZWF2ZWQgbGF5b3V0IGNvcnJlY3RseSBmb3IgTFBDTSBhdWRpbwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYzNDU4CgoyMDEzLTAxLTA4IDIwOjQ1OjIxIC0wNTAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGFkZCBzdXBwb3J0IGZvciBMUENNIGZvdXJjYyAodW5jb21wcmVzc2VkIGF1ZGlvIGluIFF1aWNrdGltZTcpCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjM0NTgKCjIwMTMtMDEtMDggMjA6NDI6MzUgLTA1MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogcHJpbnQgYWxsIGRlYnVnIGZvciBzb3VuZCBzYW1wbGUgZGVzY3JpcHRpb24gdjIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2MzQ1OAoKMjAxMy0wMS0wOCAyMDoxNDoxNyAtMDUwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBzb3VuZCBzYW1wbGUgZGVzY3JpcHRpb24gdjIgZG9lc24ndCBvdmVycmlkZSBzYW1wbGVzX3Blcl9wYWNrZXQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2MzQ1OAoKMjAxMy0wMS0wOCAxOTo1Nzo1MCAtMDUwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBwYXNzIHN0c2QgZGF0YSB0byBxdGRlbXV4X2F1ZGlvX2NhcHMoKQoJICBXZSB3aWxsIG5lZWQgdGhhdCBsYXRlciBmb3IgTFBDTSBmb3JtYXQgc3VwcG9ydC4gRGlzYWJsZQoJICBRRE0yIHBhcnNpbmcgb2Ygc3RzZCBkYXRhIHdoaWNoIGRlYWQgY29kZSBiZWZvcmUgYXMgd2VsbAoJICBiZWNhdXNlIGRhdGEgd2FzIGFsd2F5cyBOVUxMLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYzNDU4CgoyMDEzLTAxLTA4IDE5OjU2OjQ2IC0wNTAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGFkZCBsZW4gY2hlY2sgZm9yIHNvdW5kIHNhbXBsZSBkZXNjcmlwdGlvbnMgdjEgYW5kIHYyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjM0NTgKCjIwMTMtMDEtMjggMjI6NDI6MjUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSAgcnRwbWFuYWdlcjogdXNlIEM4OS1zdHlsZSBjb21tZW50cwoKMjAxMy0wMS0yOCAxODowNjoxNSAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgZ3N0cnRwc2Vzc2lvbjogRml4IGRvdWJsZS1kZWNsYXJlZCB2YXJpYWJsZQoKMjAxMy0wMS0yOCAxNzo1ODoyMCAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkgIHJ0cDogRml4IGNvbXBpbGF0aW9uIGVycm9ycyBpbiBwcmV2aW91cyBwYXRjaGVzCgoyMDExLTA0LTI4IDIyOjU5OjI4ICswMjAwICBIYWFrb24gU3BvcnNoZWltIDxoYWFrb24uc3BvcnNoZWltQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogRW5zdXJlIE1UIHNhZmUgZXZlbnQgaGFuZGxpbmcgYW5kIHBsdWcgZXZlbnQgbGVhay4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NzgyNgoKMjAxMS0xMC0xNyAyMzo0NTozNyArMDIwMCAgSWRhciBUb2xsZWZzZW4gPGl0b2xsZWZzQGNpc2NvLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogbXQtc2FmZSBldmVudC1wdXNoCgkgIEJ5IHRha2luZyBhIHJlZiBvZiB0aGUgc2luay1wYWQgdW5kZXIgbG9jaywgaXQgd29uJ3QgZGlzc2FwcGVhcgoJICB3aGlsZSB0aGUgcHVzaCBpcyB0YWtpbmcgcGxhY2UKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NzgxNgoKMjAxMi0wMS0wNCAxMDoyOTo0NSArMDEwMCAgUGFzY2FsIEJ1aGxlciA8cGFidWhsZXJAY2lzY28uY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkgIHJ0cHNzcmNkZW11eDogU2FmZWx5IHB1c2ggb24gcGFkcyB0aGF0IG1pZ2h0IGJlIHJlbW92ZWQgZHVlIHRvIGEgUlRDUCBCWUUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NzgxNQoKMjAxMy0wMS0yOCAyMDo0MjoyNiArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gYTk0MjI5MyB0byAyZGUyMjFjCgoyMDEzLTAxLTI4IDExOjU0OjU0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0c2JjcGFyc2UuYzoKCSAgc2JjcGFyc2U6IGluaXQgc29tZSB2YXJpYWJsZXMgdG8gYXZvaWQgYm9ndXMgY29tcGlsZXIgd2FybmluZ3MKCjIwMTMtMDEtMjggMTI6NDE6MDQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cEwxNmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYWMzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGJ2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBjZWx0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBkdmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyMmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyM2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyNmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyOWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc3RkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGlsYmNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGoya2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwanBlZ2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXAxc2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXAydGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0YWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcGFyb2J1c3RkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wdmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtdWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcWNlbHBkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHFkbWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc2lyZW5kZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzdjN2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnA4ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2cmF3ZGVwYXkuYzoKCSAgcnRwZGVwYXk6IHJlbW92ZSBwYXlsb2FkIHR5cGUgcmVzdHJpY3Rpb25zCgkgIFJlbW92ZSB0aGUgcHQgcmVzdHJpY3Rpb25zIGZvciBhbGwgdGhlIGRlcGF5bG9hZGVycyB0aGF0IGhhdmUgYW4KCSAgZW5jb2RpbmctbmFtZS4gV2UgY2FuIHVzZSB0aGlzIHRvIGF1dG9wbHVnIGRlY29kZXJzLgoJICBSZW1vdmUgdGhlIGVuY29kaW5nLW5hbWUgZm9yIGFsbCB0aGUgcGF5bG9hZGVycyB3aXRoIGEgZml4ZWQgcGF5bG9hZAoJICB0eXBlLgoJICBXZSBub3cgZWl0aGVyIGhhdmUgYW4gZW5jb2RpbmctbmFtZSBvciBhIHB0IGluIHRoZSBzaW5rcGFkIGNhcHMgb2YKCSAgYSBkZXBheWxvYWRlci4KCSAgU2VlIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MzkyOTIKCjIwMTMtMDEtMjggMTI6MjM6NDEgKzAxMDAgIE1hcmMgTGVlbWFuIDxtYXJjLmxlZW1hbkBnbWFpbC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDR2ZGVwYXkuYzoKCSAgcnRwOiByZW1vdmUgcGF5bG9hZCByZXF1aXJlbWVudHMgZnJvbSBzZWxlY3RlZCBkZXBheWxvYWRlcnMKCSAgZW5jb2RpbmcgbmFtZSBpcyByZXF1aXJlZCBpbiB0aGUgY2FwcyBhbmQgaXMgYSBiZXR0ZXIgZml0IGZvciBhdXRvcGx1Z2dpbmcgdGhhbgoJICB0aGUgcHQgdmFsdWUuIEhhcmR3YXJlIG1hbnVmYWN0dXJlcnMgaGF2ZSBhIGJhZCBoYWJpdCBvZiBza2ltbWluZyB0aHJvdWdoIFJGQ3MKCSAgYW5kIGluIHRoaXMgY2FzZTsgdXNlIHVuYXNzaWduZWQgbnVtYmVycyBmb3IgZW5jb2RlcnMgaW5zdGVhZCBvZiBkeW5hbWljCgkgIG51bWJlcnMuCgkgIEluIGVzc2VuY2UsIHRoaXMgcGF0Y2ggd2lsbCBhZGQgc3VwcG9ydCBmb3IgYSBsb3Qgb2YgQm9zY2ggaGFyZHdhcmUgZW5jb2RlcnMKCSAgd2l0aG91dCBicmVha2luZyBhdXRvcGx1Z2dpbmcuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MzkyOTIKCjIwMTMtMDEtMjcgMTA6MTc6NTkgKzA1MzAgIEIuUHJhdGhpYmhhIDxib3NzbGludXhAY2RhYy5pbj4KCgkqIHRlc3RzL2V4YW1wbGVzL2phY2svamFja19jbGllbnQuYzoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL3NlcnZlci1hbHNhc3JjLVBDTUEuYzoKCSogdGVzdHMvaWNsZXMveGltYWdlc3JjLXRlc3QuYzoKCSAgdGVzdHM6IHVzZSBnX3RpbWVvdXRfYWRkX3NlY29uZHMgaW5zdGVhZCBvZiBnX3RpbWVvdXRfYWRkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTI2MTUKCjIwMTMtMDEtMjcgMTI6NTQ6MTUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1uYXV3QHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBwdXNoIG1vZGU6IG9ubHkgcGFyc2UgbW9vdiAxIG9uY2UKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MTU3MAoKMjAxMy0wMS0yNiAyMjo1ODoyOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgcnRwZHRtZnNyYzogZml4IGNvbXBpbGVyIHdhcm5pbmcKCSAgZ3N0cnRwZHRtZnNyYy5jOiBJbiBmdW5jdGlvbiAnZ3N0X2R0bWZfc3JjX3ByZXBhcmVfbWVzc2FnZS5pc3JhLjEnOgoJICBnc3RydHBkdG1mc3JjLmM6NjY5OjM6IGVycm9yOiAncycgbWF5IGJlIHVzZWQgdW5pbml0aWFsaXplZCBpbiB0aGlzIGZ1bmN0aW9uCgoyMDEzLTAxLTI1IDIxOjA2OjA1IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5LmM6CgkgIHJ0cGR0bWZkZXBheTogRml4IG1pc3Npbmcgd29yayBpbiBkb2MKCjIwMTMtMDEtMjQgMjE6MDA6MDggLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kdG1mLmM6CgkgIHRlc3RzOiBBZGQgdGVzdCBmb3IgcnRwZHRtZmRlcGF5IGFuZCBydHBkdG1mc3JjCgoyMDEzLTAxLTI1IDIwOjM5OjMzIC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBydHBkdG1mc3JjOiBQb3N0IHRoZSBtZXNzYWdlcyBhZnRlciB0aGUgY2xvY2sgd2FpdAoJICBUaGlzIHdheSwgdGhlIG1lc3NhZ2VzIHdpbGwgYmUgY2xvc2VyIGluIHRpbWUgdG8gd2hlbiB0aGUgcGFja2V0cyBhcmUgc2VudCBvdXQKCjIwMTMtMDEtMjUgMjA6Mzc6NTMgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIHJ0cGR0bWZzcmM6IE9ubHkgc2V0IHRoZSBkdXJhdGlvbiB3aGVuIHN0YXJ0aW5nIHRvIHNlbmQKCSAgVGhlIGR1cmF0aW9uIGRlcGVuZHMgb24gdGhlIGNsb2NrIHJhdGUsIHdoaWNoIGNvdWxkIGNoYW5nZSBkdWUgdG8gcmVuZWdvdGlhdGlvbgoKMjAxMy0wMS0yNSAyMDozNzowOSAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgcnRwZHRtZnNyYzogcmVtb3ZlICJzc3JjIiBmcm9tIGNhcHMKCSAgc3NyYyBpcyB1aW50IGFuZCB3ZSBkb24ndCBoYXZlIGEgdWludCByYW5nZSB0eXBlCgoyMDEzLTAxLTI0IDIxOjA4OjUxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L2lzb21wNC9hdG9tcy5oOgoJICBxdG11eDogc2V0IGxhbmd1YWdlIHRvICd1bmRlZmluZWQnIGluc3RlYWQgb2YgRW5nbGlzaCBieSBkZWZhdWx0CgoyMDEzLTAxLTIzIDIxOjM1OjI1IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzoKCSogc3lzL3hpbWFnZS94aW1hZ2V1dGlsLmM6CgkqIHN5cy94aW1hZ2UveGltYWdldXRpbC5oOgoJICB4aW1hZ2VzcmM6IFNldCB0aGUgcGl4ZWwgYXNwZWN0IHJhdGlvIGNvcnJlY3RseSBpbiB0aGUgY2FwcwoKMjAxMy0wMS0wOCAwODo1Njo0NSArMDEwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkQGx1b24ubmV0PgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICB2NGwyOiBSZS1lbmFibGUgcHJlcGFyZS1mb3JtYXQgZW1pc3Npb24KCSAgV2l0aCB0aGUgcG9ydCB0byBnc3RyZWFtZXIgMS4wIHRoZSBwcmVwYXJlLWZvcm1hdCBzaWduYWwgc3RvcHBlZCBiZWluZwoJICBlbWl0dGVkLiBTdGFydCBlbWl0dGluZyB0aGlzIGFnYWluIGZvciB1c2UgaW4gdXZjaDI2NHNyYy4gIFdoaWxlIHRoZXJlCgkgIGNoYW5nZSB0aGUgZW1pc3Npb24gdG8gaW5jbHVkZSB0aGUgY2FwcyBmb3IgZXh0cmEgZmxleGliaWxpdHkgaW5zdGVhZCBvZgoJICBmb3VyY2UsIHdpZHRoLCBoZWlnaHQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTIwNDIKCjIwMTMtMDEtMjIgMTg6MTI6MTAgKzAxMDAgIEJlbmphbWluIEdhaWduYXJkIDxiZW5qYW1pbi5nYWlnbmFyZEBzdC5jb20+CgoJKiBhdXRvZ2VuLnNoOgoJICBhdXRvZ2VuLnNoOiBhbGxvdyBjYWxsaW5nIGZyb20gb3V0LW9mLXRyZWUKCSAgU2lnbmVkLW9mZi1ieTogQmVuamFtaW4gR2FpZ25hcmQgPGJlbmphbWluLmdhaWduYXJkQHN0LmNvbT4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MjMwOQoKMjAxMy0wMS0yMiAxOToyNjowOSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bW5hdXdAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RzYmNwYXJzZS5jOgoJICBhdWRpb3BhcnNlcnM6IHNiYzogZml4IGJvZ3VzIGNvbXBpbGVyIHdhcm5pbmcKCSAgZ3N0LXBsdWdpbnMtZ29vZC9nc3QvYXVkaW9wYXJzZXJzL2dzdHNiY3BhcnNlLmM6IEluIGZ1bmN0aW9uICdnc3Rfc2JjX3BhcnNlX2hhbmRsZV9mcmFtZSc6CgkgIGdzdC1wbHVnaW5zLWdvb2QvZ3N0L2F1ZGlvcGFyc2Vycy9nc3RzYmNwYXJzZS5jOjIxMDozMjogZXJyb3I6ICdjaF9tb2RlJyBtYXkgYmUgdXNlZCB1bmluaXRpYWxpemVkIGkKCjIwMTMtMDEtMTkgMTM6Mjc6NDggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogZG9uJ3QgZXJyb3Igb3V0IGlmIHBhX3N0cmVhbV9wcm9wbGlzdF91cGRhdGUoKSB3aXRoIG5ldyB0YWdzIGZhaWxzCgkgIFNob3VsZG4ndCByZWFsbHkgaGFwcGVuIHRoZXNlIGRheXMsIGJ1dCBpZiBpdCBkb2VzLCBpdCdzIG5vdCByZWFsbHkKCSAgYSBwcm9ibGVtIGVpdGhlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1NjA2OAoKMjAxMy0wMS0xNiAxODowMToyMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zb3VwaHR0cHNyYy5jOgoJICB0ZXN0czogc2tpcCBzb3VwaHR0cHNyYyB0ZXN0cyBpZiB0aGVyZSBpcyBubyBsb2NhbCBodHRwIHNlcnZlciB0byB1c2UKCSAgU2tpcCB0ZXN0cyBpZiB0aGUgc2VydmVyIGNvdWxkbid0IGJlIHN0YXJ0ZWQgb3Igd2UgY2FuJ3QgY29ubmVjdAoJICB0byBpdCBmb3Igc29tZSByZWFzb24gKGUuZy4gZHJhY29uaWMgYnVpbGQgYm90IGVudmlyb25tZW50cykuCgoyMDEzLTAxLTE2IDE0OjMyOjU2ICswMTAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RzYmNwYXJzZS5jOgoJICBhdXRvcGFyc2VyczogdXNlIGFwcHJvcHJpYXRlIHByaW50ZiBmb3JtYXQgZm9yIGdzaXplCgoyMDEzLTAxLTE1IDE1OjA1OjQzICswMTAwICBNYXJ0aW4gUGl0dCA8bWFydGlucGl0dEBnbm9tZS5vcmc+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgdGVzdHM6IHVzZSBfMV8wIHZhcmlhbnRzIGZvciB0aGUgdmFyaW91cyByZWdpc3RyeSB2YXJpYWJsZXMKCSAgVGhlc2Ugb3ZlcnJpZGUgdGhlIHZhcmlhbnRzIHdpdGhvdXQgdmVyc2lvbiBzdWZmaXguIE1ha2VzICdtYWtlIGNoZWNrJyB3b3JrCgkgIHByb3Blcmx5IGluIGVudmlyb25tZW50cyB0aGF0IHNldCB0aGUgc3VmZml4ZWQgdmFyaWFudCBmb3IgMS4wLCBzdWNoIGFzCgkgIGpoYnVpbGQuCgoyMDEzLTAxLTExIDE5OjI0OjQzICswNDAwICBBbGV4ZXkgQ2hlcm5vdiA8YWNoZXJub3ZAbmVvc3BoZXJlLmNvbT4KCgkqIHN5cy9vc3h2aWRlby9jb2NvYXdpbmRvdy5tOgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIG9zeHZpZGVvc2luazogRml4IGNyYXNoIGluIG9zeHZpZGVvc2luayB3aXRoIGV4dGVybmFsIHdpbmRvdyBvdXRwdXQKCjIwMTMtMDEtMTYgMTI6MDQ6NTkgKzA0MDAgIEFsZXhleSBDaGVybm92IDxhY2hlcm5vdkBuZW9zcGhlcmUuY29tPgoKCSogc3lzL29zeHZpZGVvL2NvY29hd2luZG93Lm06CgkgIG9zeHZpZGVvc2luazogTWFrZSBHc3RHTFZpZXcgcHJvcGFnYXRlIGlucHV0IGV2ZW50cyB0byBpdHMgcGFyZW50IHZpZXcKCSAgRml4ZXMgYnVnICM2OTE4MzIKCjIwMTMtMDEtMTYgMTA6MTk6MzYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBzYmNwYXkuYzoKCSAgcnRwc2JjcGF5OiB1cGRhdGUgc29tZSBmaWVsZHMgaW4gdGhlIGNhcHMgdG8gdGhlaXIgbmV3IG5hbWUKCSAgYW5kIHRvIG1hdGNoIHRoZSBwYXJzZXIuICJtb2RlIiBnb3QgcmVuYW1lZCB0byAiY2hhbm5lbC1tb2RlIgoJICBhbmQgImFsbG9jYXRpb24iIHRvICJhbGxvY2F0aW9uLW1ldGhvZCIuCgoyMDEzLTAxLTE1IDE3OjQ0OjMzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJICBkb2NzOiBhZGQgc2JjcGFyc2UgYW5kIHJ0cHNiY3BheSB0byBwbHVnaW4gZG9jcwoKMjAxMy0wMS0xNSAxNzozODoyNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdHNiY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0c2JjcGFyc2UuaDoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9wbHVnaW4uYzoKCSAgYXVkaW9wYXJzZXJzOiBhZGQgU0JDIGF1ZGlvIHBhcnNlcgoJICBGcm9tLXNjcmF0Y2ggcmV3cml0ZSwgdGhlIGJsdWV6IG9uZSB3YXMgdXNlbGVzcyBhbmQgYnJva2VuLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkwNTgyCgoyMDEzLTAxLTE1IDE1OjA1OjA0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gYTcyZmFlYSB0byBhOTQyMjkzCgoyMDEzLTAxLTEwIDEyOjM4OjEzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHAvZ3N0cnRwLmM6CgkqIGdzdC9ydHAvZ3N0cnRwc2JjcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc2JjcGF5Lmg6CgkgIHJ0cDogaW1wb3J0IHJ0cHNiY3BheSBmcm9tIGJsdWV6IGFuZCBwb3J0IHRvIDEuMAoJICBDb21waWxlcywgYnV0IG5vdCB0ZXN0ZWQgeWV0IChzYmMgZWxlbWVudHMgc3RpbGwgbmVlZCB0byBiZSBwb3J0ZWQpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkwNTgyCgoyMDEzLTAxLTA5IDE5OjU5OjE2IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2R0bWYvTWFrZWZpbGUuYW06CgkqIGdzdC9kdG1mL2dzdGR0bWYuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZmRldGVjdC5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mZGV0ZWN0Lmg6CgkqIGdzdC9kdG1mL3RvbmVfZGV0ZWN0LmM6CgkqIGdzdC9kdG1mL3RvbmVfZGV0ZWN0Lmg6CgkgIGR0bWYvc3BhbmRzcDogTW92ZSBkdG1mZGV0ZWN0IHRvIHVzZSBsaWJzcGFuZHNwCgkgIFJlbW92ZSBvdXIgY29weSBvZiB0aGUgdG9uZV9kZXRlY3QuYyBmaWxlIGFuZCB1c2UgdGhlIG9yaWdpbmFsCgkgIGZyb20gbGlic3BhbmRzcC4gQWxzbyBtb3ZlIHRoZSBlbGVtZW50IHRvIHRoZSBzcGFuZHNwIHBsdWdpbi4KCjIwMTEtMDItMTMgMTc6NTE6NDUgLTA4MDAgIE1hcmNlbCBIb2x0bWFubiA8bWFyY2VsQGhvbHRtYW5uLm9yZz4KCgkqIGdzdC9ydHAvZ3N0cnRwc2JjcGF5Lmg6CgkgIHJ0cHNiY3BheTogUmVtb3ZlIHdvcmthcm91bmQgZm9yIGNvbXBpbGVyIHdhcm5pbmdzCgoyMDEwLTA1LTE5IDE2OjU5OjMwICswMjAwICBNYXJjZWwgSG9sdG1hbm4gPG1hcmNlbEBob2x0bWFubi5vcmc+CgoJKiBnc3QvcnRwL2dzdHJ0cHNiY3BheS5jOgoJICBydHBzYmNwYXk6IEFkZCBwcmFnbWEgYmFzZWQgd29ya2Fyb3VuZCBmb3IgR1N0cmVhbWVyIHdhcm5pbmdzCgoyMDEwLTAxLTAxIDE3OjA4OjE3IC0wODAwICBNYXJjZWwgSG9sdG1hbm4gPG1hcmNlbEBob2x0bWFubi5vcmc+CgoJKiBnc3QvcnRwL2dzdHJ0cHNiY3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNiY3BheS5oOgoJICBydHBzYmNwYXk6IFVwZGF0ZSBjb3B5cmlnaHQgaW5mb3JtYXRpb24KCjIwMDktMDEtMzAgMDA6MzE6MTUgKzAxMDAgIE1hcmNlbCBIb2x0bWFubiA8bWFyY2VsQGhvbHRtYW5uLm9yZz4KCgkqIGdzdC9ydHAvZ3N0cnRwc2JjcGF5LmM6CgkgIHJ0cHNiY3BheTogRml4IHNpZ25lZC91bnNpZ25lZCBjb21wYXJpc29uIGlzc3VlIHdpdGhpbiBHU3RyZWFtZXIgcGx1Z2luCgoyMDA5LTAxLTAxIDE5OjMzOjIwICswMTAwICBNYXJjZWwgSG9sdG1hbm4gPG1hcmNlbEBob2x0bWFubi5vcmc+CgoJKiBnc3QvcnRwL2dzdHJ0cHNiY3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNiY3BheS5oOgoJICBydHBzYmNwYXk6IFVwZGF0ZSBjb3B5cmlnaHQgaW5mb3JtYXRpb24KCjIwMDgtMTItMjMgMDU6MjU6NTAgKzAxMDAgIE1hcmNlbCBIb2x0bWFubiA8bWFyY2VsQGhvbHRtYW5uLm9yZz4KCgkqIGdzdC9ydHAvZ3N0cnRwc2JjcGF5Lmg6CgkgIHJ0cHNiY3BheTogRmlyc3QgYXR0ZW1wdCBpbiBmaXhpbmcgY29tcGlsZXIgd2FybmluZ3MgKHN0aWxsIG5lZWRzIGNsZWFudXApCgoyMDA4LTEyLTIwIDIxOjQyOjQ5ICswMjAwICBKb2hhbiBIZWRiZXJnIDxqb2hhbi5oZWRiZXJnQG5va2lhLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwc2JjcGF5LmM6CgkgIHJ0cHNiY3BheTogTW9yZSBjb2Rpbmcgc3R5bGUgZml4ZXMKCjIwMDgtMDItMjkgMTk6Mzc6MTUgKzAwMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHpAb3BlbmJvc3NhLm9yZz4KCgkqIGdzdC9ydHAvZ3N0cnRwc2JjcGF5LmM6CgkgIHJ0cHNiY3BheTogUmVtb3ZlIHBvc3NpYmxlIGV4dHJhIG1lbWNweSBmb3IgZ3N0cmVhbWVyIHBsdWdpbi4KCjIwMDgtMDItMjggMTk6Mzg6NTMgKzAwMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHpAb3BlbmJvc3NhLm9yZz4KCgkqIGdzdC9ydHAvZ3N0cnRwc2JjcGF5LmM6CgkgIHJ0cHNiY3BheTogRml4IGJ1ZyBzZW5kaW5nIGVtcHR5IHBhY2thZ2VzIGFuZCByZW1vdmUgYSBidWZmZXIgY29weS4KCjIwMDgtMDItMjAgMTM6Mzc6MDAgKzAwMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHpAb3BlbmJvc3NhLm9yZz4KCgkqIGdzdC9ydHAvZ3N0cnRwc2JjcGF5LmM6CgkgIHJ0cHNiY3BheTogRml4IHJ1bnRpbWUgd2FybmluZ3Mgb2YgZ3N0cmVhbWVyIHBsdWdpbi4KCjIwMDgtMDItMTkgMTk6NDk6MjQgKzAwMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHpAb3BlbmJvc3NhLm9yZz4KCgkqIGdzdC9ydHAvZ3N0cnRwc2JjcGF5LmM6CgkgIHJ0cHNiY3BheTogVXBkYXRlIGdzdHJlYW1lciBwbHVnaW4gdG8gdXNlIG5ldyBzYmMgQVBJLgoKMjAwOC0wMi0wMiAwMzozNzowNSArMDAwMCAgTWFyY2VsIEhvbHRtYW5uIDxtYXJjZWxAaG9sdG1hbm4ub3JnPgoKCSogZ3N0L3J0cC9nc3RydHBzYmNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzYmNwYXkuaDoKCSAgcnRwc2JjcGF5OiBVcGRhdGUgY29weXJpZ2h0IGluZm9ybWF0aW9uCgoyMDA4LTAxLTMwIDE0OjIxOjQzICswMDAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6QG9wZW5ib3NzYS5vcmc+CgoJKiBnc3QvcnRwL2dzdHJ0cHNiY3BheS5jOgoJICBydHBzYmNwYXk6IEZpeGVzIGdzdHJlYW1lciBjYXBzIGFuZCBjb2RlIGNsZWFudXAuCgoyMDA4LTAxLTI0IDE0OjI1OjI5ICswMDAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6QG9wZW5ib3NzYS5vcmc+CgoJKiBnc3QvcnRwL2dzdHJ0cHNiY3BheS5jOgoJICBydHBzYmNwYXk6IEZpeCBndHJlYW1lciBwYXlsb2FkZXIgc2VuZGluZyBmcmFnbWVudGVkIGZyYW1lcy4KCjIwMDgtMDEtMjMgMTk6MTc6MzMgKzAwMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHpAb3BlbmJvc3NhLm9yZz4KCgkqIGdzdC9ydHAvZ3N0cnRwc2JjcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc2JjcGF5Lmg6CgkgIHJ0cHNiY3BheTogRml4IHVzZSBvZiBnc3RyZWFtZXIgcGx1Z2luIHdpdGggcmh5dGhtYm94IGFuZCBiYW5zaGVlIGFuZCBydHAgdGltZXN0YW1wcy4KCjIwMDgtMDEtMjMgMTM6MTQ6MDIgKzAwMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHpAb3BlbmJvc3NhLm9yZz4KCgkqIGdzdC9ydHAvZ3N0cnRwc2JjcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc2JjcGF5Lmg6CgkgIHJ0cHNiY3BheTogTWFrZSBhMmRwc2luayB0byBhY3QgbGlrZSBhIGJpbiBhbmQgc3BsaXQgdGhlIHBheWxvYWRlci4KCjIwMTMtMDEtMDggMTY6Mjc6NDIgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIHJ0cDogc21hbGwgaW1wcm92ZW1lbnRzCgoyMDEzLTAxLTA3IDE1OjUwOjMzICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogcmVmYWN0b3IgaGFuZGxlIHN5bmMgY29kZQoJICBNb3ZlIHRoZSBjb2RlIHRoYXQgY29tYmluZXMgdGhlIGxhc3QgU1IgcGFja2V0IGFuZCB0aGUgY3VycmVudCBqaXR0ZXJidWZmZXIgc3luYwoJICB2YWx1ZXMgaW50byBhIHN5bmMgc3RydWN0dXJlLCBpbnRvIGl0cyBvd24gZnVuY3Rpb24uIFdlIHdhbnQgdG8gcmV1c2UgdGhpcyBiaXQKCSAgbGF0ZXIuCgoyMDEzLTAxLTA3IDE1OjQ1OjEwICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICBydHA6IGluY2x1ZGUgZG93bnN0cmVhbSBsYXRlbmN5IGluIFNSIGNhbGN1bGF0aW9ucwoJICBXaGVuIHdlIG1ha2UgYSBtYXBwaW5nIGJldHdlZW4gYW4gUlRQIHRpbWVzdGFtcCBhbmQgYW4gTlRQIHRpbWVzdGFtcCwgaW5jbHVkZQoJICB0aGUgZG93bnN0cmVhbSBsYXRlbmN5IGFwcGxpZWQgdG8gdGhlIHNpbmtzLiBUaGlzIG1ha2VzIGl0IHBvc3NpYmxlIHRvIGhhdmUKCSAgYm90aCBzaW5rcyBydW4gd2l0aCBkaWZmZXJlbnQgbGF0ZW5jaWVzIGFuZCBzdGlsbCBoYXZlIGNvcnJlY3Qgc3luYyBvbiB0aGUKCSAgY2xpZW50LiBJdCBhbHNvIGlzIG1vcmUgY29ycmVjdCBiZWNhdXNlIHRoZSBSVFAgdGltZXN0YW1wIGluIHRoZSBTUiByZXBvcnQgd2lsbAoJICBhY3R1YWxseSBjb3JyZXNwb25kIG1vcmUgY2xvc2VseSB0byB0aGUgTlRQIHRpbWUgaXQgd2FzIHNlbnQgb24gdGhlIHNlcnZlci4KCSAgRm9yIHBpcGVsaW5lcyB3aXRoIGhpZ2ggbGF0ZW5jeSBvbiB0aGUgc2VuZGVyIHNpZGUsIHRoaXMgYWN0dWFsbHkgYWxsb3dzIGEKCSAgR1N0cmVhbWVyIHJlY2VpdmVyIHRvIHBlcmZvcm0gc3luY2hyb25pc2F0aW9uIGluc3RlYWQgb2YgZHJvcHBpbmcgdGhlIFJUQ1AKCSAgcGFja2V0cy4KCjIwMTMtMDEtMDcgMTQ6MjU6MTQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IGRvbid0IGNhc3QgZXZlbnQgZnVuY3Rpb25zCgkgIFRoZXJlIGlzIG5vIG5lZWQgdG8gY2FzdCB0aGUgZXZlbnQgZnVuY3Rpb25zIGFuZCBvbmx5IGNhdXNlcyBwcm9ibGVtcyBsYXRlciB3aGVuCgkgIHdlIGNoYW5nZSB0aGUgc2lnbmF0dXJlIGxhdGVyIGFuZCB0aGluZ3Mgc2lsZW50bHkgY29tcGlsZXMgd3JvbmcgY29kZS4KCjIwMTMtMDEtMDcgMTQ6MjM6MzQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIHJ0cDogbW9yZSBkZWJ1ZwoKMjAxMy0wMS0wNyAxNDoyMjo0OCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogaW1wcm92ZSBkZWJ1ZwoKMjAxMy0wMS0wMiAwMDowMzoyNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIHVkcHNyYzogc2FuaXR5IGNoZWNrIHNpemUgb2YgYXZhaWxhYmxlIHBhY2tldCBkYXRhIGZvciByZWFkaW5nIHRvIGF2b2lkIG1lbW9yeSB3YXN0ZQoJICBPbiBXaW5kb3dzIGFuZCBPUy9YLCBfZ2V0X2F2YWlsYWJsZV9ieXRlcygpIG1heSBub3QgcmV0dXJuIHRoZSBzaXplCgkgIG9mIHRoZSBuZXh0IHBlbmRpbmcgcGFja2V0LCBidXQgdGhlIHNpemUgb2YgYWxsIHBlbmRpbmcgcGFja2V0cyBpbgoJICB0aGUga2VybmVsLXNpZGUgYnVmZmVyLCB3aGljaCBtaWdodCBiZSByYXRoZXIgbGFyZ2UgZGVwZW5kaW5nIG9uCgkgIGNvbmZpZ3VyYXRpb24uIFNhbml0eS1jaGVjayB0aGUgc2l6ZSByZXR1cm5lZCBieSBfZ2V0X2F2YWlsYWJsZV9ieXRlcygpCgkgIHRvIG1ha2Ugc3VyZSB3ZSBuZXZlciBhbGxvY2F0ZSBtb3JlIG1lbW9yeSB0aGFuIHRoZSBtYXguIHNpemUgZm9yCgkgIGEgcGFja2V0LCBpZiBpdCdzIGFuIElQdjQgc29ja2V0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjEwMzY0CgoyMDEzLTAxLTA0IDEwOjAzOjMyICswMTAwICBSb2JlcnQgS3Jha29yYSA8cm9iLmtyYWtvcmFAbWVzc2FnZW5ldHN5c3RlbXMuY29tPgoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJICB2NGwyOiBBbHNvIGhhbmRsZSB0aGUgbmV3IEVOT0VOVCByZXR1cm4gdmFsdWUgb2YgVklESU9DX1FVRVJZQ1RSTAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkxMDk4CgoyMDEzLTAxLTAxIDE5OjE0OjM2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc291cGh0dHBzcmMuYzoKCSAgdGVzdHM6IGFkZCB0ZXN0IGZvciBzb3VwaHR0cHNyYyBlcnJvciBoYW5kbGluZyB3aXRoIGRhdGEKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3ODQyOQoKMjAxMi0wNi0yMiAyMTo1Njo1MiArMDAwMCAgTm9yYmVydCBXYXNjaGJ1ZXNjaCA8bndhc2NoYnVAb3BlbnR2LmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXBodHRwc3JjOiBlcnJvciBvdXQgcHJvcGVybHkgd2hlbiByZWNlaXZpbmcgZGF0YSBhbG9uZyB3aXRoIGFuIGVycm9yIHN0YXR1cwoJICBXaGVuIHJlY2VpdmluZyBhbiBlcnJvciBjb2RlIGZyb20gdGhlIGh0dHAgc2VydmVyLCBzdWNoIGFzIDQwNCwKCSAgZGF0YSBtaWdodCBiZSBzZW50IGFsb25nIHdpdGggaXQsIGxpa2UgYSB3ZWIgcGFnZS4gV2UgZG9uJ3Qgd2FudAoJICB0byBvdXRwdXQgdGhhdCBkYXRhIGluIHRoaXMgY2FzZSwgYW5kIHdlIGFsc28gd2FudCB0byBwYXNzIHRoZQoJICBGTE9XX0VSUk9SIHJldHVybiBiYWNrIHRvIHRoZSBiYXNlIGNsYXNzLCBzbyBpdCBjYW4gc3RvcCBwcm9wZXJseS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3ODQyOQoKMjAxMy0wMS0wMSAxMjoyMDoyMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSAgZG9jczogdXBkYXRlIGZvciBuZXcgcnRzcHNyYyBwcm94eS1pZCBhbmQgcHJveHktcHcgcHJvcGVydGllcwoKMjAxMy0wMS0wMSAxMjoxOToyMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSAgZG9jczogZml4IGRvY3MgYnVpbGQgYW5kIHVwZGF0ZSBhZnRlciByZW1vdmFsIG9mIG9sZCBjYWlybyBlbGVtZW50cwoKMjAxMy0wMS0wMSAxMjoxMjowMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC9jYWlyby9NYWtlZmlsZS5hbToKCSogZXh0L2NhaXJvL2dzdGNhaXJvLmM6CgkqIGV4dC9jYWlyby9nc3RjYWlyb3JlbmRlci5jOgoJKiBleHQvY2Fpcm8vZ3N0Y2Fpcm9yZW5kZXIuaDoKCSogZXh0L2NhaXJvL2dzdHRleHRvdmVybGF5LmM6CgkqIGV4dC9jYWlyby9nc3R0ZXh0b3ZlcmxheS5oOgoJKiBleHQvY2Fpcm8vZ3N0dGltZW92ZXJsYXkuYzoKCSogZXh0L2NhaXJvL2dzdHRpbWVvdmVybGF5Lmg6CgkgIGNhaXJvOiByZW1vdmUgb2xkIGNhaXJvLWJhc2VkIHRleHQgcmVuZGVyZXJpbmcgZWxlbWVudAoJICBUaGV5IGhhdmVuJ3Qgd29ya2VkIHdlbGwgb3IgYXQgYWxsIGluIGEgdmVyeSBsb25nIHRpbWUKCSAgYW5kIHdlcmUgcmF0aGVyIGJpdC1yb3R0ZW4sIGFuZCB0aGVyZSdzIG5vIG5lZWQgZm9yIHRoZW0KCSAgYW55IG1vcmUuCgoyMDEzLTAxLTAxIDExOjUyOjA5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvY2Fpcm8vLmdpdGlnbm9yZToKCSogZXh0L2NhaXJvL01ha2VmaWxlLmFtOgoJKiBleHQvY2Fpcm8vZ3N0Y2Fpcm8tbWFyc2hhbC5saXN0OgoJKiBleHQvY2Fpcm8vZ3N0Y2Fpcm8uYzoKCSogZXh0L2NhaXJvL2dzdGNhaXJvb3ZlcmxheS5jOgoJKiBleHQvY2Fpcm8vZ3N0Y2Fpcm9vdmVybGF5Lmg6CgkqIHRlc3RzL2V4YW1wbGVzL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9jYWlyby9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvY2Fpcm8vY2Fpcm9fb3ZlcmxheS5jOgoJICBjYWlybzogcG9ydCBjYWlyb292ZXJsYXkgdG8gMC4xMQoJICBUaGUgb3RoZXIgZWxlbWVudHMgYXJlIG5vdCB0aGF0IGludGVyZXN0aW5nIG5vdyB0aGF0IHdlJ3JlCgkgIHVzaW5nIHBhbmdvY2Fpcm8gaW4gdGhlIHBhbmdvIHBsdWdpbiwgYW5kIHNob3VsZCBwcm9iYWJseQoJICBqdXN0IGJlIHJlbW92ZWQuCgoyMDEyLTEyLTMxIDE4OjU5OjE4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL3NlcnZlci1kZWNvZGViaW4tSDI2M3AtQU1SLnNoOgoJICBleGFtcGxlczogY2hlY2sgZm9yIHVyaSBhcmd1bWVudCBpbiBkZWNvZGViaW4taDI2NHAtYW1yIHNlcnZlciBleGFtcGxlCgkgIE90aGVyd2lzZSBwZW9wbGUgZ2V0IGEgcmF0aGVyIGNvbmZ1c2luZyBlcnJvciBtZXNzYWdlLgoKMjAxMi0xMi0zMSAwMDoyMjoyNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBydHNwc3JjOiBhZGQgInByb3h5LWlkIiBhbmQgInByb3h5LXB3IiBwcm9wZXJ0aWVzCgkgIHRvIG1hdGNoIHNvdXBodHRwc3JjLiB1c2VyL3Bhc3N3b3JkIHBhc3NlZCB2aWEgdGhlIFVSSQoJICB3aWxsIHN0aWxsIHRha2UgcHJlY2VkZW5jZSB0aG91Z2guCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD0zOTU0MjcKCjIwMTItMTItMjUgMTY6NDg6NDMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBzeXMvb3NzNC9vc3M0LXNpbmsuYzoKCSAgb3NzNHNpbms6IG5vdGlmeSAidm9sdW1lIiBwcm9wZXJ0eSBvbiBvcGVuIHRvIG1ha2UgYXBwcyBxdWVyeSBpbml0aWFsIHZvbHVtZQoJICBUaGUgaW5pdGlhbCB2b2x1bWUgbWlnaHQgbm90IGJlIHRoZSBwcm9wZXJ0eSBkZWZhdWx0LCBzbwoJICBlbWl0IGEgbm90aWZ5IG9uIHRoZSB2b2x1bWUgcHJvcGVydHkgdG8gbWFrZSBhcHBzIGdldAoJICBhbiB1cC10by1kYXRlIHJlYWRpbmcgb2YgdGhlIGN1cnJlbnQgdm9sdW1lLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjMxMDUzCgoyMDEyLTEyLTIwIDE3OjEyOjMwICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBmaXggY21kIGNvbXBhcmlzb24KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MDQ3NgoKMjAxMi0xMi0yMCAxNzoxMjoyMCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogYWRkIHNvbWUgbW9yZSBkZWJ1ZwoKMjAxMi0xMi0yMCAxNjo0NDoyNCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9yYXcxMzk0L2dzdDEzOTRjbG9jay5jOgoJICAxMzk0Y2xvY2s6IG1hcmsgb3VyIGNsb2NrIHR5cGUgYXMgT1RIRVIKCjIwMTItMTItMjAgMTY6MTU6MTMgKzAxMDAgIEpvbmFzIEhvbG1iZXJnIDxqb25hc2hnQGF4aXMuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwLXBheWxvYWRpbmcuYzoKCSAgdGVzdHM6IGFkZCBqcGVncGF5IHVuaXQgdGVzdAoJICBTZWUgYWxzbyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg0OTU1CgoyMDEyLTEyLTIwIDE1OjU1OjAyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmg6CgkgIGpwZWdlbmM6IHBhc3MgZmxvd3JldHVybiB1cHN0cmVhbQoKMjAxMi0wOS0yNyAxNTo0Mjo1NiArMDIwMCAgSm9uYXMgSG9sbWJlcmcgPGpvbmFzaGdAYXhpcy5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdwYXkuYzoKCSAgcnRwanBlZ3BheTogaGFuZGxlIHdpZHRoIGFuZCBoZWlnaHQgPiAyMDQwCgkgIElmIHdpZHRoIG9yIGhlaWdodCBpcyBncmVhdGVyIHRoYW4gMjA0MCBzZXQgd2lkdGggYW5kIGhlaWdodCB0byB6ZXJvIGluCgkgIHRoZSBydHAgaGVhZGVyIGFuZCBhZGQgeC1kaW1lbnNpb25zIHRvIG91dGNhcHMuCgkgIFNvbHZlcyAjNjg0OTU1CgoyMDEyLTEyLTIwIDEzOjAzOjQxICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogY2xlYW51cCBpbiBmbGFnIGRlZmluZQoKMjAxMi0xMi0yMCAxMzowMjo1NyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IGltcHJvdmUgZGVidWcKCjIwMTItMTItMTggMTU6NTY6NTkgKzAxMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6CgkgIHdhdnBhY2s6IHVzZSBhcHByb3ByaWF0ZSBwcmludGYgZm9ybWF0IGZvciBnc2l6ZQoKMjAxMi0xMi0xOCAxNTo1NTo0MyArMDEwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkqIGV4dC90YWdsaWIvZ3N0aWQzdjJtdXguY2M6CgkgIHRhZ2xpYjogdXNlIGFwcHJvcHJpYXRlIHByaW50ZiBmb3JtYXQgZm9yIGdzaXplCgoyMDEyLTEyLTE4IDE1OjU0OjA4ICswMTAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmZGVjLmM6CgkgIGdka3BpeGJ1ZjogdXNlIGFwcHJvcHJpYXRlIHByaW50ZiBmb3JtYXQgZm9yIGdzaXplCgoyMDEyLTEyLTE4IDE1OjUxOjQ2ICswMTAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBnc3RkZXBheS5jOgoJICBydHA6IHVzZSBhcHByb3ByaWF0ZSBwcmludGYgZm9ybWF0IGZvciBnc2l6ZQoKMjAxMi0xMi0xOCAxNTo0Njo1NiArMDEwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogdXNlIGFwcHJvcHJpYXRlIHByaW50ZiBmb3JtYXQgZm9yIGdzaXplCgoyMDEyLTEyLTE3IDE2OjM1OjU2ICswMTAwICBQaGlsaXBwZSBOb3JtYW5kIDxwaGlsbkBpZ2FsaWEuY29tPgoKCSogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOgoJKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmg6CgkgIGludGVybGVhdmU6IHNldCBzcmMgcGFkIGNhcHMgdXBvbiBsYXN0IHNpbmsgcGFkIENBUFMgZXZlbnQKCSAgR2F0aGVyIGNhcHMgb24gYWxsIHNpbmsgcGFkcyBiZWZvcmUgc2V0dGluZyB0aGUgc3JjIHBhZCBjYXBzLiBUaGlzIGlzCgkgIHNwZWNpYWxseSBuZWVkZWQgd2hlbiB0aGUgYXVkaW8gY2hhbm5lbCBtYXBwaW5nIGlzIHNldCBvbiB0aGUgc2luawoJICBwYWRzIGFuZCB0aGUgZWxlbWVudCBuZWVkcyB0byBwcmVzZXJ2ZSBpdCBvbiBpdHMgc3JjIHBhZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MDI2NwoKMjAxMi0xMi0xNyAyMjo1NToxMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJICBtYXRyb3NrYWRlbXV4OiBza2lwIGVtcHR5IHRhZ3MKCSAgaW5zdGVhZCBvZiB0cnlpbmcgdG8gYWRkIHRhZ3Mgd2l0aCBlbXB0eSBzdHJpbmdzLCB3aGljaAoJICBjYXVzZXMgY3JpdGljYWxzIGF0IHJ1bnRpbWUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTAzNTgKCjIwMTItMTItMTcgMTU6MTc6MTIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YW1ycGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RkY2FwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0d2F2cGFja3BhcnNlLmM6CgkgIGF1ZGlvcGFyc2VyczogTWFrZSBzdXJlIHRoZSBjYXBzIGFyZSBhY3R1YWxseSB3cml0YWJsZSBiZWZvcmUgY2hhbmdpbmcgdGhlbQoKMjAxMi0xMi0xNyAxNTowMTowMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhbXJwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3R3YXZwYWNrcGFyc2UuYzoKCSAgYXVkaW9wYXJzZXJzOiBVc2UgdGhlIHBlZXIgY2FwcyBmb3IgcmVzdHJpY3Rpb25zIGluc3RlYWQgb2YgdGhlIHNyY3BhZCBhbGxvd2VkIGNhcHMKCSAgT3RoZXJ3aXNlIHdlIHdpbGwgaW50ZXJzZWN0IHdpdGggdGhlIHNyY3BhZCB0ZW1wbGF0ZSBjYXBzIGFuZCBhZGQgYWxsIHRoZSBjYXBzIGZpZWxkcwoJICB0aGF0IHRoZSBwYXJzZXIgd2lsbCBldmVyIHNldCwgbm8gbWF0dGVyIGlmIGRvd25zdHJlYW0gcmVzdHJpY3RzIHRoaXMgZmllbGQgb3Igbm90LgoJICBUaGlzIHJlcXVpcmVzIHVwc3RyZWFtIHRvIHNldCB0aGlzIGZpZWxkIG9uIHRoZSBjYXBzIHRvIHN1Y2Nlc3NmdWxseSBuZWdvdGlhdGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTAxODQKCjIwMTItMTItMTQgMjI6MjU6MDggKzAwMDAgIEtvb3AgTWFzdCA8a3dtQHJhaW5ib3ctcnVubmVyLm5sPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkgIHY0bDI6IFRlYWNoIHdoZXJlIHRoZSB2aWRlb2RldjIuaCBoZWFkZXIgbGl2ZXMgb24gZnJlZWJzZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MDIzMwoKMjAxMi0xMi0xNiAyMzoyNzo0MSArMDAwMCAgQWxleGV5IEZpc2hlciA8YnVnLXRyYWNrQGZpc2hlci1wcml2YXQubmV0PgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogc2V0IGFwcHJvcHJpYXRlIGJsb2NrIGhlYWRlciBmbGFnIGZvciBWUDggaW52aXNpYmxlIGZyYW1lcwoJICBVc2VmdWwgZm9yIGRlYnVnZ2luZyBtb3N0bHkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTQyNTkKCjIwMTItMTItMTYgMTU6MjU6MDMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG1hbmFnZXIueG1sOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBkdG1mbXV4LmM6CgkgIGRvY3M6IGFkZCBydHBtdXggYW5kIHJ0cGR0bWZtdXggdG8gcGx1Z2luIGRvY3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyOTExNwoKMjAxMi0xMi0xNiAxNToxMzozOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9ydHBtYW5hZ2VyL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtYW5hZ2VyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eGVyLmM6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJICBydHBtYW5hZ2VyOiBtb3ZlIHJ0cG11eCBhbmQgcnRwZHRtZm11eCBlbGVtZW50cyBmcm9tIC1iYWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyOTExNwoKMjAxMi0xMS0wMyAyMDozODowMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGR0bWZtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwZHRtZm11eC5oOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4Lmg6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eGVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cG11eC5jOgoJICBydHBtdXg6IEZpeCBGU0YgYWRkcmVzcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg3NTIwCgoyMDEyLTEwLTE3IDE3OjM0OjI2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGR0bWZtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogVXNlIGdzdF9lbGVtZW50X2NsYXNzX3NldF9zdGF0aWNfbWV0YWRhdGEoKQoJICB3aGVyZSBwb3NzaWJsZS4gQXZvaWRzIHNvbWUgc3RyaW5nIGNvcGllcy4gQWxzbyByZS1pbmRlbnQKCSAgc29tZSBzdHVmZi4gQWxzbyBzb21lIGluZGVudCBmaXhlcyBoZXJlIGFuZCB0aGVyZS4KCjIwMTItMDktMTAgMjA6Mzg6MTQgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwbXV4LmM6CgkgIHJ0cG11eDogTWlzYyBmaXggZm9yIDAuMTEKCSAgQ29udmVydCB0aGUgaW5jb21pbmcgY2FwcyBiZWZvcmUgcHJveHlpbmcgdGhlbQoJICBDbGVhciB0aGUgbGFzdF9wYWQgd2hlbiBnb2luZyB0byByZWFkeQoJICB0ZXN0czogSW1wbGVtZW50IGFjY2VwdF9jYXBzLCBkb24ndCBsZWFrIGV2ZW50CgoyMDEyLTA3LTE3IDE2OjM5OjAyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogdXBkYXRlIGZvciBSVFAgYnVmZmVyIGFwaSBjaGFuZ2VzCgoyMDEyLTA0LTA1IDE4OjAyOjU2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eGVyLmM6CgkgIHJ0cG11eDogVXBkYXRlIGZvciBHU1RfUExVR0lOX0RFRklORSgpIEFQSSBjaGFuZ2VzCgoyMDEyLTA0LTAyIDExOjA3OjE4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogZml4IGNvbXBpbGF0aW9uCgoyMDEyLTAzLTExIDE5OjA2OjU5ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogZml4IGZvciBjYXBzIGFwaSBjaGFuZ2VzCgoyMDEyLTAxLTI2IDA2OjU4OjQ2IC0wNTAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogRml4IGNvbXBpbGVyIHdhcm5pbmdzCgoyMDEyLTAxLTI5IDE4OjAxOjA1ICswMDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogVW5yZWYgbm9uLWZvcndhcmRlZCBldmVudHMKCSAgQWxzbywgZG9uJ3QgdW5yZWYgZm9yd2FyZGVkIG9uZXMKCjIwMTItMDEtMjggMTY6NTc6MDMgKzAwMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiByZXN5bmMgaXRlcmF0b3Igb24gcmVzeW5jCgoyMDEyLTAxLTI3IDEyOjA4OjUyICswMTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5oOgoJICBydHBtdXg6IFJlLXB1c2ggc3RpY2t5IGV2ZW50cyBvbiBpbnB1dCBwYWQgY2hhbmdlCgoyMDEyLTAxLTI1IDE1OjQzOjAxICswMTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogRG9uJ3QgbGVhayBndmFsdWUgZnJvbSBpdGVyYXRvcgoKMjAxMi0wMS0yNSAxNjo0Njo0NCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IG1vcmUgcG9ydGluZwoKMjAxMi0wMS0yNCAxNDoyMDo1MiArMDEwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGR0bWZtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBtdXguYzoKCSAgcnRwbXV4OiBwb3J0IHRvIDAuMTEKCjIwMTEtMTEtMDQgMTI6MjI6MzcgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBkdG1mbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IG1ha2UgcmVxdWVzdCBwYWRzIHRha2UgXyV1CgoyMDExLTA0LTE0IDE0OjM0OjI2IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBkdG1mbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguaDoKCSAgcnRwZHRtZm11eDogQWRkIGxhc3Qtc3RvcCB0byBkdG1mLWV2ZW50IHVwc3RyZWFtIGV2ZW50cwoJICBBZGQgdGhlIHJ1bm5pbmcgdGltZSBvZiB0aGUgbGFzdCBvdXRwdXR0ZWQgYnVmZmVyIHRvIHRoZQoJICB1cHN0cmVhbSAiZHRtZi1ldmVudCIgZXZlbnRzIHNvIHRoYXQgdGhlIGR0bWYgc291cmNlIGRvZXMgbm90CgkgIGxlYXZlIGEgZ2FwLgoKMjAxMC0xMS0yNSAxOToyMToxMSArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IFJlbW92ZSBkZWFkIGFzc2lnbm1lbnRzCgoyMDEwLTEwLTE5IDEzOjQzOjE0ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBhZGQgbWlzc2luZyBHX1BBUkFNX1NUQVRJQ19TVFJJTkdTIGZsYWdzCgkgIENhbm9uaWNhbGl6ZSBwcm9wZXJ0eSBuYW1lcyBhcyBuZWVkZWQuCgoyMDEwLTA5LTMwIDE2OjA3OjI5IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBkdG1mbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IEltcHJvdmUgZG9jdW1lbnRhdGlvbgoJICBBZGQgYW4gZXhhbXBsZSBwaXBlbGluZSwgYW5kIHRyeSB0byBleHBsYWluIGEgYml0IG1vcmUgd2hhdCBpdCBkb2VzLgoKMjAxMC0wOS0yNCAxMzoyOTo1NSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwZHRtZm11eC5jOgoJICBydHBkdG1mbXV4OiByZW1vdmUgdW51c2VkIHZhcmlhYmxlCgoyMDEwLTA5LTI0IDEzOjI1OjIyICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBkdG1mbXV4LmM6CgkgIHJ0cGR0bWZtdXg6IHJlbW92ZSB1bnVzZWQgc2lnbmFsIGJvaWxlcnBsYXRlCgoyMDEwLTA5LTI0IDEzOjI0OjQ4ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBubyBuZWVkIHRvIHJlZiBwYWQgaW4gX2NoYWluKCkKCjIwMTAtMDgtMjUgMjI6NTY6MDMgLTA0MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBVbmxvY2sgdGhlIHJpZ2h0IG11dGV4CgkgIFRoZSBtdXRleCBsb2NrZWQgaXMgZm9yIHRoZSAnbXV4JyBvYmplY3QsIGJ1dCB3ZSB1bmxvY2sgdGhlCgkgIHBhZCwgd2hpY2ggbWVhbnMgdGhhdCBpZiB0aGUgcnRwbXV4IGdldHMgYSBmbHVzaCwgdGhlbiB0aGUKCSAgb2JqZWN0IGxvY2sgd2lsbCBzdGF5IGxvY2tlZCBmb3JldmVyLCBjYXVzaW5nIGl0IHRvIGZyZWV6ZQoJICB0aGUgbmV4dCB0aW1lIGl0IHRyaWVzIHRvIHRha2UgaXQuCgkgIEZpeGVzIGJ1ZyAjNjI3OTkxCgoyMDEwLTA3LTAxIDE1OjE5OjEyIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBkdG1mbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguaDoKCSAgcnRwbXV4OiBBZGQgc3VwcG9ydCBmb3IgR3N0QnVmZmVyTGlzdAoJICBGYWN0b3Igb3V0IG1vc3Qgb2YgdGhlIGJ1ZmZlciBoYW5kbGluZyBhbmQgaW1wbGVtZW50IGEgY2hhaW5fbGlzdAoJICBmdW5jdGlvbi4gQWxzbywgdGhlIERUTUYgbXV4ZXIgaGFzIGJlZW4gbW9kaWZpZWQgdG8ganVzdCBoYXZlIGEKCSAgZnVuY3Rpb24gdG8gYWNjZXB0IG9yIHJlamVjdCBhIGJ1ZmZlciBpbnN0ZWFkIG9mIGhhdmluZyB0byBzdWJjbGFzcwoJICBib3RoIGNoYWluIGFuZCBjaGFpbl9saXN0LgoKMjAxMC0wNy0wMSAxNToxNTo0OSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogRG9uJ3QgbGVhayBpbnZhbGlkIGJ1ZmZlcnMKCjIwMTAtMDYtMDMgMTA6NDM6MjAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwZHRtZm11eC5jOgoJICBydHBtdXg6IGZpeCBtaXNzaW5nIGRlYnVnIGxvZyBtZXNzYWdlIGFyZ3VtZW50CgoyMDEwLTA1LTEwIDE4OjM3OjU1IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBkdG1mbXV4LmM6CgkgIHJ0cGR0bWZtdXg6IEFkZCBzb21lIGRlYnVnIG1lc3NhZ2VzCgoyMDEwLTA1LTA3IDE4OjU2OjU3IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBkdG1mbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGR0bWZtdXguaDoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5oOgoJICBydHBkdG1mbXV4OiBSZW1vdmUgc3RyZWFtLWxvY2sgZXZlbnQgaGFuZGxpbmcKCjIwMTAtMDUtMDcgMTg6NTQ6NDkgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGR0bWZtdXguYzoKCSAgcnRwZHRtZm11eDogVXBkYXRlIGRvYyBmb3Igc2ltcGxpZmljYXRpb24KCjIwMTAtMDUtMDcgMTg6NDA6MzAgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cG11eC5jOgoJICB0ZXN0czogQ2hhbmdlIHRlc3RzIHRvIG5vdCB1c2UgdGhlIHByaW9yaXR5IHBhZHMgaW5zdGVhZCBvZiB0aGUgZXZlbnRzCgoyMDEwLTA1LTA2IDE5OjUxOjU5IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBkdG1mbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGR0bWZtdXguaDoKCSAgcnRwZHRtZm11eDogRHJvcCBidWZmZXJzIG9uIG5vbi1wcmlvcml0eSBzaW5rcyB3aGVuIHNvbWV0aGluZyBpcyBpbmNvbWluZyBvbiB0aGUgcHJpb3JpdHkgc2luawoKMjAxMC0wNS0wNiAxODoxMTo0MCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwZHRtZm11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4Lmg6CgkgIHJ0cGR0bWZtdXg6IEFkZCBwcmlvcml0eSBzaW5rIHBhZHMKCjIwMTAtMDUtMDcgMTc6MTU6NDcgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGR0bWZtdXguYzoKCSAgcnRwZHRtZm11eDogQ2xlYW51cCBldmVudCBmdW5jdGlvbgoKMjAxMC0wNS0wNyAxNjo0MjoyMiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBtdXguYzoKCSAgcnRwbXV4OiBBZ2dyZWdhdGUgaW5jb21pbmcgc2VnbWVudHMKCjIwMTAtMDUtMDYgMTk6MDk6NDggLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGR0bWZtdXguYzoKCSAgcnRwZHRtZm11eDogVXBkYXRlIGRvY3VtZW50YXRpb24KCjIwMTAtMDUtMDYgMTg6MTA6NDUgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguaDoKCSAgcnRwbXV4OiBTaW1wbGlmeSByZXF1ZXN0IHBhZCBjcmVhdGlvbgoKMjAxMC0wMy0yMSAyMTozOToxOCArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwbXV4LmM6CgkgIEFkZCAtV21pc3NpbmctZGVjbGFyYXRpb25zIC1XbWlzc2luZy1wcm90b3R5cGVzIHRvIGNvbmZpZ3VyZSBmbGFncwoJICBBbmQgZml4IGFsbCB3YXJuaW5ncwoKMjAxMC0wMy0xOCAxNzozMDoyNiArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwZHRtZm11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBnc3RfZWxlbWVudF9jbGFzc19zZXRfZGV0YWlscyA9PiBnc3RfZWxlbWVudF9jbGFzc19zZXRfZGV0YWlsc19zaW1wbGUKCjIwMDktMTEtMTggMTY6Mzg6MzMgKzAxMDAgIHVua25vd24gPGhhdmFyZC5ncmFmZkAuZXUudGFuZGJlcmcuaW50PgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogdXBkYXRlIHRoZSBjdXJyZW50X3NzcmMgZnJvbSB0aGUgY2FwcwoJICBGaXhlcyAjNjA0MTAxCgoyMDA5LTEyLTA5IDE0OjQyOjIxICswMTAwICBIw6V2YXJkIEdyYWZmIDxoYXZhcmQuZ3JhZmZAdGFuZGJlcmcuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogcmVsZWFzZSBwYWRzIHdoZW4gZGlzcG9zaW5nCgkgIEJlY2F1c2Ugb2YgYW4gYWxsb2NhdGVkIHByaXYgKEdzdFJUUE11eFBhZFByaXZhdGUpLCB0aGUgZWxlbWVudCB3aWxsCgkgIGxlYWsgbWVtb3J5IGlmIG5vdCBnc3RfcnRwX211eF9yZWxlYXNlX3BhZCgpIGlzIGNhbGxlZC4gVGhpcyB3b3VsZAoJICBwcmV2aW91c2x5IG9ubHkgaGFwcGVuIGlmIHJlbGVhc2VfcmVxdWVzdF9wYWQoKSB3YXMgY2FsbGVkIGV4cGxpY2l0bHksCgkgIHNvbXRoaW5nIHRoYXQgc2hvdWxkIG5vdCBiZSBuZWNjZXNhcnkuCgkgIEZpeGVzICM2MDQwOTkKCjIwMDktMTItMDkgMTM6NDA6NDMgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBkdG1mbXV4LmM6CgkgIGR0bWZtdXg6IG1ldGhvZCBuYW1lIGNsZWFudXBzCgoyMDA5LTEwLTA4IDE5OjA2OjI2IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBtdXguYzoKCSAgdGVzdHM6IEFkZCB0ZXN0IGZvciBydHBkdG1mbXV4IGxvY2tpbmcKCjIwMDktMDktMjggMTk6NTQ6NTMgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cG11eC5jOgoJICB0ZXN0czogQWRkIHVuaXQgdGVzdCBmb3IgcnRwbXV4CgoyMDA5LTA5LTI4IDEzOjM2OjQ0IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBEb24ndCBpZ25vcmUgcmVxdWVzdGVkIHBhZCBuYW1lCgoyMDA5LTA3LTI5IDE3OjIzOjMxIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBSZW1vdmUgZW1wdHkgZmluYWxpemUKCjIwMDktMDctMjEgMTU6MzE6MzMgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IEZyZWUgdGhlIHBhZCBwcml2YXRlIGRhdGEgb24gcGFkIHJlbGVhc2UKCSAgRnJlZSB0aGUgcGFkIHByaXZhdGUgZGF0YSBvbiBwYWQgcmVsZWFzZSBpbnN0ZWFkIG9mIHVzaW5nIGEgd2VhayByZWYsCgkgIHdoaWNoIGlzIG5vdCB0aHJlYWQgc2FmZS4gQWxzbywgbG9jayB0aGUgY29udGVudCBvZiB0aGUgcGFkIHByaXZhdGUgdXNpbmcgdGhlIGVsZW1lbnQncwoJICBvYmplY3QgbG9jay4KCjIwMDktMDQtMjggMTY6MTA6MjEgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IFJlamVjdCB3cm9uZyBjYXBzCgoyMDA5LTA0LTI4IDE2OjAzOjE5IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBGaXggbGVhayBGaXhlZCBhIGxlYWsgZGlzY292ZXJlZCBieSBMYXVyZW50IEdsYXlhbCA8c3BlZ2xlQHlhaG9vLmZyPgoKMjAwOS0wNC0yOCAxNTo1ODo0MSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogRml4IGxlYWsKCSAgRml4ZWQgYSBsZWFrIGRpc2NvdmVyZWQgYnkgTGF1cmVudCBHbGF5YWwgPHNwZWdsZUB5YWhvby5mcj4KCjIwMDktMDQtMjIgMTg6MDE6MDcgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IEZpeCB3YXJuaW5nCgoyMDA5LTA0LTIwIDIwOjAwOjE1IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBTZXQgZGlmZmVyZW50IGNhcHMgZGVwZW5kaW5nIG9uIHRoZSBpbnB1dAoKMjAwOS0wNC0yMiAxNjoyNTowNyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogT25seSBmcmVlIHBhZCBwcml2YXRlIHdoZW4gcGFkIGlzIGRpc3Bvc2VkCgoyMDA5LTA0LTIwIDE4OjQxOjM5IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBSZW1vdmUgdXNlbGVzcyBjYXBzIG1hbmdsaW5nCgoyMDA5LTA0LTIwIDE4OjM2OjQyIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBSZW5hbWUgdmFyaWFibGUgZm9yIG1vcmUgY2xhcml0eQoKMjAwOS0wNC0yMCAxNzo0MzozOSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwZHRtZm11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBVc2UgR1NUX0JPSUxFUlBMQVRFCgoyMDA5LTA0LTIwIDE3OjQyOjQwIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBkdG1mbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGR0bWZtdXguaDoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogRG8gdGhlIGluY2x1ZGVzIGxvY2FsbHkKCjIwMDktMDQtMTUgMTM6MjM6MDEgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGR0bWZtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogQWRkIEdTVF9ERUJVR19GVU5DUFRScwoKMjAwOS0wNC0xNSAxMzoxNTo1NSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwZHRtZm11eC5jOgoJICBydHBkdG1mbXV4OiBSZWxlYXNlIGxvY2tlZCBwYWQgb24gcmVsZWFzZV9wYWQKCSAgUmVsZWFzZSB0aGUgc3BlY2lhbCBwYWQgaWYgdGhlIHBhZCBpcyByZW1vdmVkIGZyb20gdGhlIG11eGVyLgoKMjAwOS0wNC0xNSAxMzowOToyNyAtMDQwMCAgTGF1cmVudCBHbGF5YWwgPHNwZ2xlZ2xlQHlhaG9vLmZyPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwZHRtZm11eC5jOgoJICBydHBkdG1mbXV4OiBSZWxlYXNlIHNwZWNpYWwgb24gcGFkIGRpc3Bvc2UKCSAgRml4ZXMgIzU3NzY5MAoKMjAwOS0wMi0yNSAxMTo0NTowNSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwZHRtZm11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgZG9jczogdmFyaW91cyBkb2MgZml4ZXMKCSAgTm8gc2hvcnQtZGVzYyBhcyB3ZSBoYXZlIHRoZW0gaW4gdGhlIGVsZW1lbnQgZGV0YWlscy4KCSAgQWxzbyBrZWVwIHRoaW5ncyAoTWFrZWZpbGUuYW0gYW5kIHNlY3Rpb25zLnR4dCkgc29ydGVkLgoJICBSZXdvcmQgYW1iaWdvdXMgcmV0dXJucy4gTm8gdGV4dCBhZnRlciBzaW5jZSBwbGVhc2UuCgoyMDA5LTAyLTEwIDE3OjAyOjI0ICswMDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBkdG1mbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eGVyLmM6CgkgIHJ0cG11eDogTW92ZSBydHBtdXggZnJvbSBnc3QtcGx1Z2lucy1mYXJzaWdodCB0byAtYmFkCgoyMDA5LTAyLTIwIDE3OjQ1OjUwIC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBkdG1mbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGR0bWZtdXguaDoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5oOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXhlci5jOgoJICBydHBtdXg6IFJlLWluZGVudCB0byBHc3Qgc3R5bGUKCjIwMDktMDItMTAgMTk6MTE6MTUgKzAwMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IERvY3VtZW50IHJ0cCBtdXhlciBhIGJpdAoKMjAwOS0wMi0yMCAxMzozMDo0OSAtMDUwMCAgTGF1cmVudCBHbGF5YWwgPHNwZ2xlZ2xlQHlhaG9vLmZyPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwZHRtZm11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBkdG1mbXV4Lmg6CgkgIHJ0cG11eDogQWRkIHNpZ25hbHMgYmVmb3JlIHN0cmVhbSBsb2NrIGFuZCBhZnRlciB1bmxvY2tpbmcKCjIwMDktMDItMTggMjA6MTg6NDYgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IExldCBzc3JjIHRocm91Z2ggZ2V0Y2FwcwoKMjAwOS0wMi0xOCAxOTo1ODo1OCAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogUmVuYW1lIGhhdmVfYmFzZSB0byBoYXZlX3RzX2Jhc2UKCjIwMDktMDItMTggMTg6MTQ6NTIgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguaDoKCSAgcnRwbXV4OiBQcm90ZWN0IHRoZSBzZXFudW0gd2l0aCBvYmplY3QgbG9jayBpbiBydHBtdXgKCjIwMDktMDItMTggMTg6MDc6NDQgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5oOgoJICBydHBtdXg6IFJlbW92ZSB1bnVzZWQgc2lua190c19iYXNlCgoyMDA5LTAyLTE4IDE1OjIwOjU4IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBIYXZlIGdldGNhcHMgdG8gZm9yY2UgdGhlIHNhbWUgY2xvY2tyYXRlIG9uIGFsbCBwYWRzCgoyMDA5LTAyLTE4IDE3OjA1OjEzIC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBWYWxpZGF0ZSBSVFAgZGF0YSBpbiBSVFAgTXV4CgoyMDA5LTAyLTE4IDE0OjE2OjAwIC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4Lmg6CgkgIHJ0cG11eDogUmVtb3ZlIHVudXNlZCBjbG9jay1yYXRlIHByb3BlcnR5CgoyMDA5LTAyLTE4IDEzOjU2OjM2IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBkdG1mbXV4Lmg6CgkgIHJ0cG11eDogQ2xhcmlmeSBsb2NraW5nIGluIHJ0cGR0bWZtdXgKCjIwMDktMDItMTggMTM6MzI6NTYgLTA1MDAgIExhdXJlbnQgR2xheWFsIDxzcGdsZWdsZUB5YWhvby5mcj4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IE1pc3NpbmcgZm9ybWF0IHBhcmFtZXRlcgoKMjAwOC0xMi0wMSAxNzo1NToyMiAtMDUwMCAgSMOldmFyZCBHcmFmZiA8aGF2YXJkLmdyYWZmQHRhbmRiZXJnLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IFVwZGF0ZSBzZXFudW0gYmFzZSBpbiBydHAgbXV4ZXIKCSAgV2l0aCBoZWxwIGZyb20gV2ltCgoyMDA4LTEyLTAxIDE3OjU0OjU4IC0wNTAwICBIw6V2YXJkIEdyYWZmIDxoYXZhcmQuZ3JhZmZAdGFuZGJlcmcuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwZHRtZm11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBGaXggc29tZSBtb3JlIGxlYWtzCgoyMDA4LTEyLTAxIDE3OjQ4OjI5IC0wNTAwICBIw6V2YXJkIEdyYWZmIDxoYXZhcmQuZ3JhZmZAdGFuZGJlcmcuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwZHRtZm11eC5jOgoJICBydHBtdXg6IEZpeCBsZWFrCgoyMDA4LTA5LTI5IDE1OjAzOjA1IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBEb24ndCB1bnJlZiBjYXBzIHdlIGRvbid0IGtub3cgKHRoYW5rcyBXaW0pCgoyMDA4LTA4LTEyIDEyOjQ4OjAyIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBQdXQgcGVyLWJ1ZmZlciBkZWJ1ZyBhdCBsZXZlbCBMT0cKCjIwMDgtMDgtMTIgMTI6NDc6MTQgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IE1ha2UgZGVidWcgcHJpbnQgYWNjdXJhdGUKCjIwMDgtMDgtMTIgMTI6NDY6MjMgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IFNldCBvdXIgY2FwcyBvbiB0aGUgYnVmZmVycwoKMjAwOC0wOC0xMiAxMjo0NjowNyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogVGFrZSB0aGUgY2xvY2stYmFzZSBzdG9yZWQgZnJvbSB0aGUgbGFzdCBzZXRjYXBzCgoyMDA4LTA4LTEyIDEyOjQxOjU5IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBTdG9yZSB0aGUgY2xvY2stYmFzZSBvbiBzZXRjYXBzCgoyMDA4LTA4LTEyIDEyOjMwOjUyIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBBZGQgcGFkcHJpdmF0ZSB0byB0aGUgcmVxdWVzdCBwYWRzCgoyMDA4LTA4LTExIDIxOjIwOjA2IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBNYWtlIGluZGVudGF0aW9uIG1vcmUgY29ycmVjdAoKMjAwOC0wOC0xMSAyMTowNTozNCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogRml4IHR5cG8KCjIwMDgtMDgtMTEgMjE6MDM6MjIgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IFNldCBzZXFudW0tYmFzZSBhbmQgY2xvY2stYmFzZSBpbiBjYXBzIGZyb20gcnRwbXV4ZXIKCjIwMDctMDgtMTUgMTM6NTA6MzggKzAwMDAgIFplZXNoYW4gQWxpIDxmaXJzdC5sYXN0QG5va2lhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGR0bWZtdXguYzoKCSAgcnRwbXV4OiBtb3JlIGRlYnVnCgkgIDIwMDcwODE1MTM1MDM4LWYzZjFlLTljN2E1NDkwYTUyNWM2ZTg3NTNjYjFiOGMwMzM1NGRmOTkxMzJiNWMuZ3oKCjIwMDctMDgtMjAgMTg6NTA6MzIgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBtaXNzaW5nIGNvbW1lbnQKCSAgMjAwNzA4MjAxODUwMzItNGYwZjYtMGFiNjdiNmFjNDBkZDRlMzVhOGZlNTNmM2NiNmRhZmY2NWNlNDNiOS5negoKMjAwNy0wNy0xMiAxOTo1MzozNiArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBNYWtlIGJ1ZmZlciB3cml0YWJsZSBiZWZvcmUgd3JpdGluZyBpbnRvIGl0CgkgIDIwMDcwNzEyMTk1MzM2LTNlMmRjLTkxYTVmYjc5N2NmYTQ5MTlkNGUyZjlhNzI4YzZkNmZiZDNiODNkOTMuZ3oKCjIwMDctMDctMDYgMjA6MjQ6NTkgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogU2V0IHBhZHMgYWN0aXZlIHdoZW4gYWRkaW5nIHRoZW0gdG8gYSBwb3RlbnRpYWxseSBydW5uaW5nIGVsZW1lbnQKCSAgMjAwNzA3MDYyMDI0NTktM2UyZGMtYTM3MzFmODg1NzI1NTk0ZGVmMGE3YmU5OTdmYzdiM2E3MzllZTk2Ny5negoKMjAwNy0wNi0wNyAxMjowMToyMSArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBGaXggbXVsdGlwbGUgcmVmIGxlYWtzIChwYXRjaGVzIGJ5IFNQIEdMRSkKCSAgMjAwNzA2MDcxMjAxMjEtM2UyZGMtMDYxZTllZjdhNDdiMWI4NGZhOGY4MDkyZjRiOGJjYzBlNmRiOGM4Yy5negoKMjAwNy0wNS0yOCAxNToyNTowNSArMDAwMCAgWmVlc2hhbiBBbGkgPGZpcnN0Lmxhc3RAbm9raWEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogc2VuZCBldmVudCB0byBhbGwgc3JjIHBhZHMKCSAgMjAwNzA1MjgxNTI1MDUtZjNmMWUtMDM5MjE2YzczZGM5M2Y2NGM0OTk2MmM3N2EwMjUzY2I5Y2ZlYzRkMy5negoKMjAwNy0wNS0yOCAxMjozNzo0OSArMDAwMCAgWmVlc2hhbiBBbGkgPGZpcnN0Lmxhc3RAbm9raWEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogcHJpbnQgYSB3YXJuaW5nIGlmIHJlY2VpdmUgYW4gZXJyb3IgaXRlcmF0aW5nIHNpbmtwYWRzCgkgIDIwMDcwNTI4MTIzNzQ5LWYzZjFlLTRjMWViM2Y1MTFiNTYxMDE0MzYxMGE2NWE5NGQxMTdmMmMzZDI1ODAuZ3oKCjIwMDctMDUtMjggMTI6Mjg6MDggKzAwMDAgIFplZXNoYW4gQWxpIDxmaXJzdC5sYXN0QG5va2lhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IGRlYWwgd2l0aCBhbGwgdGhlIGdzdF9pdGVyYXRvcl9uZXh0KCkgcmV0dXJuIHZhbHVlcwoJICAyMDA3MDUyODEyMjgwOC1mM2YxZS1kMzAxNjQ0YzNiZTc2MzNlYzZkYzVlMjg1OTZlOTM0NmQyZGE2YTUwLmd6CgoyMDA3LTA1LTI1IDEyOjMxOjE2ICswMDAwICBaZWVzaGFuIEFsaSA8Zmlyc3QubGFzdEBub2tpYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBSZXR1cm4gY29ycmVjdCB2YWx1ZSBmcm9tIHRoZSBldmVudCBoYW5kbGVyCgkgIDIwMDcwNTI1MTIzMTE2LWYzZjFlLTEzMWIzN2I1ZjQ1MjE2MThmZTJmMTMyMDQwOWE0N2U2NWIzNWFkMmQuZ3oKCjIwMDctMDUtMjUgMTA6Mjc6MDkgKzAwMDAgIFplZXNoYW4gQWxpIDxmaXJzdC5sYXN0QG5va2lhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IFZpbGxlJ3Mgb3JpZ2luYWwgcGF0Y2ggdG8gZml4IHRoZSB0cmF2ZXJzYWwgb2YgZHRtZiBldmVudAoJICAyMDA3MDUyNTEwMjcwOS1mM2YxZS02YzQxZDFlZjkzNDA2OGE0ZjRlODEwZTdlOTgxYjQyMDA3NWIwYzk4Lmd6CgoyMDA3LTAzLTI5IDEzOjUyOjUwICswMDAwICB6ZWVzaGFuLmFsaUBub2tpYS5jb20gPHplZXNoYW4uYWxpQG5va2lhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IFNldCB0aGUgY29ycmVjdCB0cy1vZmZzZXQgb24gdGhlIGdldF9wcm9wIHZhbHVlCgkgIDIwMDcwMzI5MTM1MjUwLTY1MDM1LWE0M2UyMjJkOTFkNTdjMGE2MWNiMzI4NzU4NmFhYTI5YWJmNzg2NzQuZ3oKCjIwMDctMDMtMjkgMTM6NTI6MjMgKzAwMDAgIHplZXNoYW4uYWxpQG5va2lhLmNvbSA8emVlc2hhbi5hbGlAbm9raWEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogUmVmYWN0b3JpemUgc3RhdGVfY2hhbmdlCgkgIDIwMDcwMzI5MTM1MjIzLTY1MDM1LTIzYTAxMDdiMmUzOTc3MTBmMDM1YzZlODhjYzBlNDliNjViYjRkNWQuZ3oKCjIwMDctMDMtMjkgMTM6MzY6MjIgKzAwMDAgIHplZXNoYW4uYWxpQG5va2lhLmNvbSA8emVlc2hhbi5hbGlAbm9raWEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5oOgoJICBydHBtdXg6IHNldCBTU1JDIG9uIHRoZSBwYWNrZXRzCgkgIDIwMDcwMzI5MTMzNjIyLTY1MDM1LTFiZTZlMGFhODVhNzEzODlmN2QyNTdiOWNkM2UxM2E3M2Q2Yjc0NWIuZ3oKCjIwMDctMDMtMjkgMTM6MTk6MzYgKzAwMDAgIHplZXNoYW4uYWxpQG5va2lhLmNvbSA8emVlc2hhbi5hbGlAbm9raWEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogQ29kZSBjbGVhbi11cCBhbmQgbW9yZSBkZWJ1ZyBvdXRwdXQKCSAgMjAwNzAzMjkxMzE5MzYtNjUwMzUtOWQ0OTllMjA5ZTBkN2E0MDljM2FhMGQxMDQwNzc4YmFiZjA3NjE3OS5negoKMjAwNy0wMy0yOCAxMToyMjoxOSArMDAwMCAgemVlc2hhbi5hbGlAbm9raWEuY29tIDx6ZWVzaGFuLmFsaUBub2tpYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4Lmg6CgkgIHJ0cG11eDogVXNlIG93biBjbG9jay1iYXNlCgkgIDIwMDcwMzI4MTEyMjE5LTY1MDM1LTFiYTVmZWZiYzY1MDU5ZTliMGM4NjA1MjhhMzEwNjJjZWI2YTczMzEuZ3oKCjIwMDctMDMtMjMgMTY6MzE6MzkgKzAwMDAgIHplZXNoYW4uYWxpQG5va2lhLmNvbSA8emVlc2hhbi5hbGlAbm9raWEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5oOgoJICBydHBtdXg6IE9ubHkgYWNjZXB0IFJUUCBzdHJlYW1zIHRoYXQgaGF2ZSB0aGUgc2FtZSBjbG9jay1yYXRlCgkgIDIwMDcwMzIzMTYzMTM5LTY1MDM1LWZjMGIxN2IwYjhhN2EwNDFmNDg5OTRjNGYyNmU5NjU2ODE2OGJmOTUuZ3oKCjIwMDctMDMtMjIgMTY6MTU6NTIgKzAwMDAgIHplZXNoYW4uYWxpQG5va2lhLmNvbSA8emVlc2hhbi5hbGlAbm9raWEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwZHRtZm11eC5jOgoJICBydHBtdXg6IFNvbWUgbW9yZSBjb2RlLWNsZWFudXBzCgkgIDIwMDcwMzIyMTYxNTUyLTY1MDM1LWJkYTk2MTY1ZTE0NmI0ZjFkNWZlYTFjYzk1NzZhN2FiM2FiZWJjOWUuZ3oKCjIwMDctMDMtMjIgMTU6NDI6NTEgKzAwMDAgIHplZXNoYW4uYWxpQG5va2lhLmNvbSA8emVlc2hhbi5hbGlAbm9raWEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogcmV0dXJuIG5ld3BhZCBpbnN0ZWFkIG9mIE5VTEwgYW5kIHdhcm4gaWYgZmFpbGVkIHRvIGNyZWF0ZSBhIHBhZAoJICAyMDA3MDMyMjE1NDI1MS02NTAzNS1jZGI2NjUxZTYxYzJlYjAyMDVjYzhjMjQ2OTNiNDNmOThhMmRhNzE4Lmd6CgoyMDA3LTAzLTIyIDEyOjQxOjMyICswMDAwICB6ZWVzaGFuLmFsaUBub2tpYS5jb20gPHplZXNoYW4uYWxpQG5va2lhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IFJlZmFjdG9yaXplIHRoZSBSVFBNdXggY29kZQoJICAyMDA3MDMyMjEyNDEzMi02NTAzNS0wYTMyNzgxNDc1NDZlMzNmNjg3MDk3YTQzYjc3NWIzZjZhYTk5ZjkzLmd6CgoyMDA3LTAzLTIyIDEyOjE0OjUzICswMDAwICB6ZWVzaGFuLmFsaUBub2tpYS5jb20gPHplZXNoYW4uYWxpQG5va2lhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGR0bWZtdXguYzoKCSAgcnRwbXV4OiBTb21lIG1vcmUgZG9jIGZpeGluZwoJICAyMDA3MDMyMjEyMTQ1My02NTAzNS0xMmQ2MDIyNzIyMTdiNTFiZDk3ZGY0ZTU3OTAwMjRjMzk5NjIyZGQzLmd6CgoyMDA3LTAzLTIyIDExOjMyOjI4ICswMDAwICB6ZWVzaGFuLmFsaUBub2tpYS5jb20gPHplZXNoYW4uYWxpQG5va2lhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGR0bWZtdXguYzoKCSAgcnRwbXV4OiBNb3JlIFJlZmFjdG9yaW5nCgkgIDIwMDcwMzIyMTEzMjI4LTY1MDM1LWJhZTM0YTc5NTk5ZTdkZTUyOTNlZDc3YjAyMjM2MWNjZmY4MjJiYjkuZ3oKCjIwMDctMDMtMjIgMTE6MzE6NTQgKzAwMDAgIHplZXNoYW4uYWxpQG5va2lhLmNvbSA8emVlc2hhbi5hbGlAbm9raWEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwZHRtZm11eC5jOgoJICBydHBtdXg6IE1vcmUgZG9jdW1lbnRhdGlvbgoJICAyMDA3MDMyMjExMzE1NC02NTAzNS02MjQ4NTA1NDFhNWI1ZmMzZGYyMzEyMDRiZTVhODNkMDcyMzlkYjI4Lmd6CgoyMDA3LTAzLTIxIDE2OjMzOjExICswMDAwICB6ZWVzaGFuLmFsaUBub2tpYS5jb20gPHplZXNoYW4uYWxpQG5va2lhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGR0bWZtdXguYzoKCSAgcnRwbXV4OiBSZWZhY3RvciB0aGUgZXZlbnQgaGFuZGxlciBmdW5jdGlvbgoJICAyMDA3MDMyMTE2MzMxMS02NTAzNS05ODdlN2YyNWQxYWI1MzM1Yjc5ZjQ0YjI3N2FiZjE1ZTRlMzdkMzE3Lmd6CgoyMDA3LTAzLTIxIDE0OjUyOjQ0ICswMDAwICB6ZWVzaGFuLmFsaUBub2tpYS5jb20gPHplZXNoYW4uYWxpQG5va2lhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGR0bWZtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwZHRtZm11eC5oOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4Lmg6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eGVyLmM6CgkgIHJ0cG11eDogQWRkIFJUUERUTUZNdXggZWxlbWVudAoJICAyMDA3MDMyMTE0NTI0NC02NTAzNS05YTAxMzkwYjBkZWUzMzk4ZTUzMTk5YTFmYTFkOTM1MjAwNGYzMzhlLmd6CgoyMDA3LTAzLTIxIDEyOjMxOjQ5ICswMDAwICB6ZWVzaGFuLmFsaUBub2tpYS5jb20gPHplZXNoYW4uYWxpQG5va2lhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguaDoKCSAgcnRwbXV4OiBSZW1vdmUgRFRNRi1zcGVjaWZpYyBjb2RlIGZyb20gUlRQIG11eGVyIGFuZCBtYWtlIGl0IGV4dGVuZGFibGUKCSAgMjAwNzAzMjExMjMxNDktNjUwMzUtYjhhOGY1NWZmNzhlZWQ4Y2JiMDA0MmU4Mjc4ODVlZGZjNTQzODI0Mi5negoKMjAwNy0wMy0yMCAxMjowNToyNCArMDAwMCAgemVlc2hhbi5hbGlAbm9raWEuY29tIDx6ZWVzaGFuLmFsaUBub2tpYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBQdXQgbW9yZSBoZWxwZnVsIGRlc2NyaXB0aW9uCgkgIDIwMDcwMzIwMTIwNTI0LTY1MDM1LWRiMjdhN2NmNjMwN2I1MTFhZWIzZDk5NmQyNmU3OTBlMzY3YTdiYWQuZ3oKCjIwMDctMDMtMTYgMTU6MTY6NDEgKzAwMDAgIHplZXNoYW4uYWxpQG5va2lhLmNvbSA8emVlc2hhbi5hbGlAbm9raWEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogcmVtb3ZlIHRoZSAoY29tbWVudGVkLW91dCkgY29kZSBmb3IgYmxvY2tpbmcgdGhlIHBhZHMKCSAgMjAwNzAzMTYxNTE2NDEtNjUwMzUtMDEyM2FmMzg3OTUxZjg4NTk0Nzk3YzcyMmU4ODJjZmU3MDI0MGFmZi5negoKMjAwNy0wMy0xNiAxMzoxNDo0NCArMDAwMCAgemVlc2hhbi5hbGlAbm9raWEuY29tIDx6ZWVzaGFuLmFsaUBub2tpYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBEcm9wIGJ1ZmZlcnMgaW5zdGVhZCBvZiBibG9ja2luZyB0aGUgc2lua3BhZHMKCSAgMjAwNzAzMTYxMzE0NDQtNjUwMzUtOWMxMzQ1YWQ5NjEwODg4MWY0NTVkNGI1NWE3ZjYyM2NkMzAyZDBlZC5negoKMjAwNy0wMy0xNCAxNzoxNjoxOCArMDAwMCAgemVlc2hhbi5hbGlAbm9raWEuY29tIDx6ZWVzaGFuLmFsaUBub2tpYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBJbXBsZW1lbnQgc3RyZWFtIGxvY2tpbmcsIG5lZWRlZCBmb3IgRFRNRgoJICAyMDA3MDMxNDE3MTYxOC02NTAzNS1lNGQyNGIxNjA2Y2UwYTNlMmU3MzlmMDE4MzNmNjFlNGQ3NTU1ZWFjLmd6CgoyMDA3LTAzLTE0IDEwOjIwOjU4ICswMDAwICB6ZWVzaGFuLmFsaUBub2tpYS5jb20gPHplZXNoYW4uYWxpQG5va2lhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IHVzZSBHU1RfKl9PQkpFQ1QgaW5zdGVhZCBvZiBnXyoKCSAgMjAwNzAzMTQxMDIwNTgtNjUwMzUtZTI0NDI4ODhmMmUzZTVhM2E3NjU5YWQ3OTU0YTRmYmEzNDc0OWNlMi5negoKMjAwNy0wMy0xNCAxMDoxODo1NCArMDAwMCAgemVlc2hhbi5hbGlAbm9raWEuY29tIDx6ZWVzaGFuLmFsaUBub2tpYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBObyBuZWVkIHRvIG1hbmFnZSBwYWRzLCBwYXJlbnQgZG9lcyB0aGF0IGZvciB1cwoJICAyMDA3MDMxNDEwMTg1NC02NTAzNS1lZjVmNGFiZGUyMjcxMDJhMTEyODgzNWFiMzI1OTA1ZWFlNGMzNzI2Lmd6CgoyMDA3LTAzLTE0IDA5OjAzOjU4ICswMDAwICB6ZWVuaXhAZ21haWwuY29tIDx6ZWVuaXhAZ21haWwuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogRml4IGNvcHlyaWdodCBoZWFkZXIKCSAgMjAwNzAzMTQwOTAzNTgtZDAxNGEtM2E2ZDNlZWVhYWY1Y2I4Y2EzYmNhNmEzM2U5OWE1NTFmNTk4YmQ0OC5negoKMjAwNy0wMy0wNyAwODo1MzowNyArMDAwMCAgemVlc2hhbi5hbGlAbm9raWEuY29tIDx6ZWVzaGFuLmFsaUBub2tpYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBUaGUgZmlyc3QgaW1wbGVtZW50YXRpb24gb2YgUlRQIG11eGVyCgkgIDIwMDcwMzA3MDg1MzA3LTY1MDM1LTgzMzQwMjQxM2Y5OWNiM2Y4YmU0ODgzZTkyYmFkNGM4NzIyNTEwYzkuZ3oKCjIwMTItMTItMTUgMjE6Mjc6MDEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvYXVkaW9meC9nc3RzY2FsZXRlbXBvLmM6CgkqIGdzdC9hdWRpb2Z4L2dzdHNjYWxldGVtcG8uaDoKCSAgc2NhbGV0ZW1wbzogbm8gbmVlZCBmb3IgYSBwcml2YXRlIHN0cnVjdAoKMjAxMi0xMi0xNCAxNToxMzozMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJICBkb2NzOiB1cGRhdGUgcGx1Z2luIGRvY3MKCjIwMTItMTItMTQgMTU6MTM6MTkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJICBkb2NzOiBhZGQgc2NhbGV0ZW1wbyB0byBkb2NzCgoyMDEyLTExLTA2IDEzOjM2OjM5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb2Z4L01ha2VmaWxlLmFtOgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4LmM6CgkgIGF1ZGlvZng6IG1vdmUgc2NhbGV0ZW1wbyBlbGVtZW50IGZyb20gLWJhZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg3MjYyCgoyMDEyLTEwLTIzIDE0OjMzOjIxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb2Z4L2dzdHNjYWxldGVtcG8uYzoKCSAgc2NhbGV0ZW1wbzogRml4IGV2ZW50IGxlYWsKCjIwMTItMTAtMjMgMTQ6MzI6MjQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvZngvZ3N0c2NhbGV0ZW1wby5jOgoJICBzY2FsZXRlbXBvOiBGaXggdGltZXN0YW1wIHRyYWNraW5nCgoyMDEyLTEwLTIzIDE0OjA2OjM3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb2Z4L2dzdHNjYWxldGVtcG8uYzoKCSAgc2NhbGV0ZW1wbzogSW1wbGVtZW50IExBVEVOQ1kgcXVlcnkKCjIwMTItMTAtMjMgMTM6Mzk6MTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvZngvZ3N0c2NhbGV0ZW1wby5jOgoJKiBnc3QvYXVkaW9meC9nc3RzY2FsZXRlbXBvLmg6CgkgIHNjYWxldGVtcG86IFN0b3JlIGluc3RhbmNlIHByaXZhdGUgZGF0YSBpbiB0aGUgaW5zdGFuY2Ugc3RydWN0CgkgIEdldHRpbmcgaXQgb3ZlciBhbmQgb3ZlciBhZ2FpbiB2aWEgR19UWVBFX0lOU1RBTkNFX0dFVF9QUklWQVRFKCkKCSAgaXMgcmVhbGx5IHNsb3cuCgoyMDEyLTEwLTE3IDE3OjM0OjI2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb2Z4L2dzdHNjYWxldGVtcG8uYzoKCSAgc2NhbGV0ZW1wbzogdXNlIGdzdF9lbGVtZW50X2NsYXNzX3NldF9zdGF0aWNfbWV0YWRhdGEoKQoJICB3aGVyZSBwb3NzaWJsZS4gQXZvaWRzIHNvbWUgc3RyaW5nIGNvcGllcy4gQWxzbyByZS1pbmRlbnQKCSAgc29tZSBzdHVmZi4gQWxzbyBzb21lIGluZGVudCBmaXhlcyBoZXJlIGFuZCB0aGVyZS4KCjIwMTItMDktMTQgMTc6MDg6NDkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvZngvZ3N0c2NhbGV0ZW1wby5jOgoJICBzY2FsZXRlbXBvOiByZXBsYWNlIGdzdF9lbGVtZW50X2NsYXNzX3NldF9kZXRhaWxzX3NpbXBsZSB3aXRoIGdzdF9lbGVtZW50X2NsYXNzX3NldF9tZXRhZGF0YQoKMjAxMi0wOS0xNCAxNjo0NTozNCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb2Z4L2dzdHNjYWxldGVtcG8uYzoKCSAgc2NhbGV0ZW1wbzogZmZtcGVnY29sb3JzcGFjZSBpcyBubyBtb3JlCgoyMDEyLTA0LTA1IDE4OjAyOjU2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb2Z4L2dzdHNjYWxldGVtcG9wbHVnaW4uYzoKCSAgc2NhbGV0ZW1wbzogVXBkYXRlIGZvciBHU1RfUExVR0lOX0RFRklORSgpIEFQSSBjaGFuZ2VzCgoyMDEyLTAzLTE4IDE4OjMyOjU1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb2Z4L2dzdHNjYWxldGVtcG8uYzoKCSAgc2NhbGV0ZW1wbzogcG9ydCB0byAwLjExCgoyMDExLTA3LTA3IDEwOjUyOjUwIC0wNzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXVkaW9meC9nc3RzY2FsZXRlbXBvLmM6CgkgIHNjYWxldGVtcG86IGltcHJvdmUgdGhlIGRvY3MKCSAgRml4IHRoZSBzeW50YXgsIGFkZCBtb3JlIGV4cGxhbmF0aW9uIGFuZCB4cmVmIHRoZSBwcm9wZXJ0aWVzLgoKMjAxMS0wMy0yMiAxMzo0Njo0MiArMDEwMCAgQ2hyaXMgRSBKb25lcyA8Y2hyaXNAY2hyaXNlam9uZXMuY29tPgoKCSogZ3N0L2F1ZGlvZngvZ3N0c2NhbGV0ZW1wby5jOgoJICBzY2FsZXRlbXBvOiBDb3JyZWN0bHkgaGFuZGxlIG5ld3NlZ21lbnQgZXZlbnRzIHdpdGggc3RvcD09LTEKCSAgRml4ZXMgYnVnICM2NDU0MjAuCgoyMDEwLTEwLTE5IDEzOjQzOjE0ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXVkaW9meC9nc3RzY2FsZXRlbXBvLmM6CgkgIHNjYWxldGVtcG86IGFkZCBtaXNzaW5nIEdfUEFSQU1fU1RBVElDX1NUUklOR1MgZmxhZ3MKCSAgQ2Fub25pY2FsaXplIHByb3BlcnR5IG5hbWVzIGFzIG5lZWRlZC4KCjIwMTAtMDMtMTggMTc6MzA6MjYgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGdzdC9hdWRpb2Z4L2dzdHNjYWxldGVtcG8uYzoKCSAgc2NhbGV0ZW1wbzogZ3N0X2VsZW1lbnRfY2xhc3Nfc2V0X2RldGFpbHMgPT4gZ3N0X2VsZW1lbnRfY2xhc3Nfc2V0X2RldGFpbHNfc2ltcGxlCgoyMDA5LTExLTA1IDEzOjQwOjM4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb2Z4L2dzdHNjYWxldGVtcG8uYzoKCSAgc2NhbGV0ZW1wbzogcHJvcGVybHkgdXBkYXRlIG5ldyBzZWdtZW50cwoJICBTY2FsZXRlbXBvIHdhcyBtaXNzaW5nIGFuIHVwZGF0ZSBvZiAnc3RvcCcgaW4KCSAgbmV3IHNlZ21lbnQgcGFyYW1ldGVycyB3aGVuIHB1c2hpbmcgaXQgZG93bnN0cmVhbSwKCSAgd2hpY2ggY2F1c2VkIGZpbGVzIHRvIGVuZCBlYXJsaWVyIHdoZW4gcmF0ZSA8IDEuCgkgIEZpeGVzICM1OTk5MDMKCSAgQmFzZWQgb24gcGF0Y2ggYnk6IEJhc3RpYW4gSGVjaHQgPGhlY2h0YkBnbWFpbC5jb20+CgoyMDA5LTA2LTE0IDIwOjAwOjUxICswMjAwICBNYXhpbWlsaWFuIEjDtmduZXIgPHBibWF4aUBob2VnbmVycy5kZT4KCgkqIGdzdC9hdWRpb2Z4L2dzdHNjYWxldGVtcG8uYzoKCSAgc2NhbGV0ZW1wbzogRXhwbGljaXRlbHkgY2FzdCB0byBzaWduZWQgaW50ZWdlcnMgdG8gZml4IGEgc2VnZmF1bHQKCSAgRml4ZXMgYnVnICM1ODU2NjAuCgoyMDA5LTAyLTEzIDEyOjE4OjQ4IC0wODAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIGdzdC9hdWRpb2Z4L2dzdHNjYWxldGVtcG8uYzoKCSAgc2NhbGV0ZW1wbzogRG8gbm90IHVzZSB2b2lkIHBvaW50ZXIgYXJpdGhtZXRpYy4KCjIwMDgtMTAtMzAgMTI6MTM6MTggKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIHNjYWxldGVtcG86IFJldHVybiB0aGUgcmVzdWx0IG9mIHBhcmVudF9jbGFzcy0+ZXZlbnQoKQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXVkaW9meC9nc3RzY2FsZXRlbXBvLmM6CgkgIFJldHVybiB0aGUgcmVzdWx0IG9mIHBhcmVudF9jbGFzcy0+ZXZlbnQoKS4KCjIwMDgtMDgtMzEgMTI6MjA6MzMgKzAwMDAgIFJvdiBKdXZhbm8gPHJvdmp1dmFub0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBBZGQgc2NhbGV0ZW1wbyBwbHVnaW4sIHdoaWNoIGFsbG93cyB0byBzY2FsZSB0aGUgc3BlZWQgb2YgYXVkaW8gd2l0aG91dCBjaGFuZ2luZyB0aGUgcGl0Y2ggYnkgaGFuZGxpbmcgc2Vla3Mgd2l0aCBhIHIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBSb3YgSnV2YW5vIDxyb3ZqdXZhbm8gYXQgdXNlcnMgZG90IHNvdXJjZWZvcmdlIGRvdCBuZXQ+CgkgICogY29uZmlndXJlLmFjOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjYWxldGVtcG8ueG1sOgoJICAqIGV4YW1wbGVzL3NjYWxldGVtcG8vTWFrZWZpbGUuYW06CgkgICogZXhhbXBsZXMvc2NhbGV0ZW1wby9kZW1vLWd1aS5jOiAocG9wX3N0YXR1c19iYXIpLAoJICAoc3RhdHVzX2Jhcl9wcmludGYpLCAoZGVtb19ndWlfc2Vla19iYXJfZm9ybWF0KSwgKHVwZGF0ZV9wb3NpdGlvbiksCgkgIChkZW1vX2d1aV9zZWVrX2Jhcl9jaGFuZ2UpLCAoZGVtb19ndWlfZG9fY2hhbmdlX3JhdGUpLAoJICAoZGVtb19ndWlfZG9fc2V0X3JhdGUpLCAoZGVtb19ndWlfZG9fcmF0ZV9lbnRlcmVkKSwKCSAgKGRlbW9fZ3VpX2RvX3RvZ2dsZV9hZHZhbmNlZCksIChkZW1vX2d1aV9kb190b2dnbGVfZGlzYWJsZWQpLAoJICAoZGVtb19ndWlfZG9fc2VlayksIChkZW1vX2d1aV9kb19wbGF5KSwgKGRlbW9fZ3VpX2RvX3BhdXNlKSwKCSAgKGRlbW9fZ3VpX2RvX3BsYXlfcGF1c2UpLCAoZGVtb19ndWlfZG9fb3Blbl9maWxlKSwKCSAgKGRlbW9fZ3VpX2RvX3BsYXlsaXN0X3ByZXYpLCAoZGVtb19ndWlfZG9fcGxheWxpc3RfbmV4dCksCgkgIChkZW1vX2d1aV9kb19hYm91dF9kaWFsb2cpLCAoZGVtb19ndWlfZG9fcXVpdCksCgkgIChkZW1vX2d1aV9yZXF1ZXN0X3NldF9zdHJpZGUpLCAoZGVtb19ndWlfcmVxdWVzdF9zZXRfb3ZlcmxhcCksCgkgIChkZW1vX2d1aV9yZXF1ZXN0X3NldF9zZWFyY2gpLCAoZGVtb19ndWlfcmF0ZV9jaGFuZ2VkKSwKCSAgKGRlbW9fZ3VpX3BsYXlpbmdfc3RhcnRlZCksIChkZW1vX2d1aV9wbGF5aW5nX3BhdXNlZCksCgkgIChkZW1vX2d1aV9wbGF5aW5nX2VuZGVkKSwgKGRlbW9fZ3VpX3BsYXllcl9lcnJvcmVkKSwKCSAgKGRlbW9fZ3VpX3N0cmlkZV9jaGFuZ2VkKSwgKGRlbW9fZ3VpX292ZXJsYXBfY2hhbmdlZCksCgkgIChkZW1vX2d1aV9zZWFyY2hfY2hhbmdlZCksIChkZW1vX2d1aV9zZXRfcGxheWVyX2Z1bmMpLAoJICAoZGVtb19ndWlfc2V0X3BsYXlsaXN0X2Z1bmMpLCAoYnVpbGRfZ3ZhbHVlX2FycmF5KSwKCSAgKGNyZWF0ZV9hY3Rpb24pLCAoZGVtb19ndWlfc2hvd19mdW5jKSwgKGRlbW9fZ3VpX3NldF9wbGF5ZXIpLAoJICAoZGVtb19ndWlfc2V0X3BsYXlsaXN0KSwgKGRlbW9fZ3VpX3Nob3cpLCAoZGVtb19ndWlfZ2V0X3Byb3BlcnR5KSwKCSAgKGRlbW9fZ3VpX3NldF9wcm9wZXJ0eSksIChkZW1vX2d1aV9pbml0KSwgKGRlbW9fZ3VpX2NsYXNzX2luaXQpLAoJICAoZGVtb19ndWlfZ2V0X3R5cGUpOgoJICAqIGV4YW1wbGVzL3NjYWxldGVtcG8vZGVtby1ndWkuaDoKCSAgKiBleGFtcGxlcy9zY2FsZXRlbXBvL2RlbW8tbWFpbi5jOiAoaGFuZGxlX2Vycm9yX21lc3NhZ2UpLAoJICAoaGFuZGxlX3F1aXQpLCAobWFpbik6CgkgICogZXhhbXBsZXMvc2NhbGV0ZW1wby9kZW1vLXBsYXllci5jOiAobm9fcGlwZWxpbmUpLAoJICAoZGVtb19wbGF5ZXJfZXZlbnRfbGlzdGVuZXIpLCAoZGVtb19wbGF5ZXJfc3RhdGVfY2hhbmdlZF9jYiksCgkgIChkZW1vX3BsYXllcl9lb3NfY2IpLCAoZGVtb19wbGF5ZXJfYnVpbGRfcGlwZWxpbmUpLCAoX3NldF9yYXRlKSwKCSAgKGRlbW9fcGxheWVyX3NjYWxlX3JhdGVfZnVuYyksIChkZW1vX3BsYXllcl9zZXRfcmF0ZV9mdW5jKSwKCSAgKF9zZXRfc3RhdGVfYW5kX3dhaXQpLCAoZGVtb19wbGF5ZXJfbG9hZF91cmlfZnVuYyksCgkgIChkZW1vX3BsYXllcl9wbGF5X2Z1bmMpLCAoZGVtb19wbGF5ZXJfcGF1c2VfZnVuYyksIChfc2Vla190byksCgkgIChkZW1vX3BsYXllcl9zZWVrX2J5X2Z1bmMpLCAoZGVtb19wbGF5ZXJfc2Vla190b19mdW5jKSwKCSAgKGRlbW9fcGxheWVyX2dldF9wb3NpdGlvbl9mdW5jKSwgKGRlbW9fcGxheWVyX2dldF9kdXJhdGlvbl9mdW5jKSwKCSAgKGRlbW9fcGxheWVyX3NjYWxlX3JhdGUpLCAoZGVtb19wbGF5ZXJfc2V0X3JhdGUpLAoJICAoZGVtb19wbGF5ZXJfbG9hZF91cmkpLCAoZGVtb19wbGF5ZXJfcGxheSksIChkZW1vX3BsYXllcl9wYXVzZSksCgkgIChkZW1vX3BsYXllcl9zZWVrX2J5KSwgKGRlbW9fcGxheWVyX3NlZWtfdG8pLAoJICAoZGVtb19wbGF5ZXJfZ2V0X3Bvc2l0aW9uKSwgKGRlbW9fcGxheWVyX2dldF9kdXJhdGlvbiksCgkgIChkZW1vX3BsYXllcl9nZXRfcHJvcGVydHkpLCAoZGVtb19wbGF5ZXJfc2V0X3Byb3BlcnR5KSwKCSAgKGRlbW9fcGxheWVyX2luaXQpLCAoZGVtb19wbGF5ZXJfY2xhc3NfaW5pdCksCgkgIChkZW1vX3BsYXllcl9nZXRfdHlwZSk6CgkgICogZXhhbXBsZXMvc2NhbGV0ZW1wby9kZW1vLXBsYXllci5oOgoJICAqIGdzdC9hdWRpb2Z4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9hdWRpb2Z4L2dzdHNjYWxldGVtcG8uYzogKGJlc3Rfb3ZlcmxhcF9vZmZzZXRfZmxvYXQpLAoJICAoYmVzdF9vdmVybGFwX29mZnNldF9zMTYpLCAob3V0cHV0X292ZXJsYXBfZmxvYXQpLAoJICAob3V0cHV0X292ZXJsYXBfczE2KSwgKGZpbGxfcXVldWUpLCAocmVpbml0X2J1ZmZlcnMpLAoJICAoZ3N0X3NjYWxldGVtcG9fdHJhbnNmb3JtKSwgKGdzdF9zY2FsZXRlbXBvX3RyYW5zZm9ybV9zaXplKSwKCSAgKGdzdF9zY2FsZXRlbXBvX3NpbmtfZXZlbnQpLCAoZ3N0X3NjYWxldGVtcG9fc2V0X2NhcHMpLAoJICAoZ3N0X3NjYWxldGVtcG9fZ2V0X3Byb3BlcnR5KSwgKGdzdF9zY2FsZXRlbXBvX3NldF9wcm9wZXJ0eSksCgkgIChnc3Rfc2NhbGV0ZW1wb19iYXNlX2luaXQpLCAoZ3N0X3NjYWxldGVtcG9fY2xhc3NfaW5pdCksCgkgIChnc3Rfc2NhbGV0ZW1wb19pbml0KToKCSAgKiBnc3QvYXVkaW9meC9nc3RzY2FsZXRlbXBvLmg6CgkgICogZ3N0L2F1ZGlvZngvZ3N0c2NhbGV0ZW1wb3BsdWdpbi5jOiAocGx1Z2luX2luaXQpOgoJICBBZGQgc2NhbGV0ZW1wbyBwbHVnaW4sIHdoaWNoIGFsbG93cyB0byBzY2FsZSB0aGUgc3BlZWQgb2YgYXVkaW8gd2l0aG91dAoJICBjaGFuZ2luZyB0aGUgcGl0Y2ggYnkgaGFuZGxpbmcgc2Vla3Mgd2l0aCBhIHJhdGUhPTEuMC4KCSAgSW50ZWdyYXRlIGl0IGludG8gdGhlIGRvY3MgYW5kIGFkZCB0aGUgZXhhbXBsZSBhcHBsaWNhdGlvbiBmb3IgaXQuCgkgIEZpeGVzIGJ1ZyAjNTM3NzAwLgoKMjAxMi0xMi0xMyAxMjozNjoyMCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBjaGVjazogYWRkIChidXQgZGlzYWJsZSkgbW9yZSBydHAgaml0dGVyYnVmZmVyIHRlc3RzCgkgIFRlc3RzIG5lZWQgdG8gYmUgcG9ydGVkIHRvIDEuMCBiZWZvcmUgdGhleSBjYW4gYmUgZW5hYmxlZCBidXQgYWRkZWQgaGVyZSBzbyB0aGV5CgkgIGRvbid0IGdldCBmb3Jnb3R0ZW4uCgkgIFNlZSBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY3ODM4CgoyMDEyLTAxLTEzIDAxOjExOjMxICswMTAwICBIYXZhcmQgR3JhZmYgPGhhdmFyZC5ncmFmZkB0YW5kYmVyZy5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBidW5kbGUgdG9nZXRoZXIgbGF0ZSBsb3N0LWV2ZW50cwoJICBUaGUgc2NlbmFyaW8gd2hlcmUgeW91IGhhdmUgYSBnYXAgaW4gYSBzdGVhZHkgZmxvdyBvZiBwYWNrZXRzIG9mCgkgIHNheSAxMCBzZWNvbmRzICg1MDAgcGFja2V0cyBvZiB3aXRoIGR1cmF0aW9uIG9mIDIwbXMpLCB0aGUgaml0dGVyYnVmZmVyCgkgIHdpbGwgaWRsZSB1cCB1bnRpbCBpdCByZWNlaXZlcyB0aGUgZmlyc3QgYnVmZmVyIGFmdGVyIHRoZSBnYXAsIGJ1dCB3aWxsCgkgIHRoZW4gZ28gb24gdG8gcHJvZHVjZSA0OTkgbG9zdC1ldmVudHMsIHRvICJjb3ZlciB1cCIgdGhlIGdhcC4KCSAgTm93IHRoaXMgaXMgb2J2aW91c2x5IHdyb25nLCBzaW5jZSB0aGUgbGFzdCBwb3NzaWJsZSB0aW1lIGZvciB0aGUgZWFybGllc3QKCSAgbG9zdC1ldmVudHMgdG8gYmUgcGxheWVkIG91dCBoYXMgb2J2aW91c2x5IGV4cGlyZWQsIGJ1dCB0aGUgZmFjdCB0aGF0CgkgIHRoZSBqaXR0ZXJidWZmZXIgaGFzIGEgImxlbmd0aCIsIHJlcHJlc2VudGVkIHdpdGggaXRzIG93biBsYXRlbmN5IGNvbWJpbmVkCgkgIHdpdGggdGhlIHRvdGFsIGxhdGVuY3kgZG93bnN0cmVhbSwgYWxsb3dzIGZvciBjb3ZlcmluZyB1cCBhdCBsZWFzdCBzb21lCgkgIG9mIHRoaXMgZ2FwLgoJICBTbyBpbiB0aGUgY2FzZSBvZiB0aGUgImxlbmd0aCIgYmVpbmcgMjAwbXMsIHdoaWxlIGhhdmluZyByZWNlaXZlZCBwYWNrZXQKCSAgNTAwLCB0aGUgaml0dGVyYnVmZmVyIHNob3VsZCBzdGlsbCBjcmVhdGUgYSB0aW1lb3V0IGZvciBwYWNrZXQgNDkxLCB3aGljaAoJICB3aWxsIGhhdmUgaXRzIHRpbWUgZXhwaXJlIGF0IDEwLDAyIHNlY29uZHMsIHNwZWNpYWxseSBzaW5jZSBpdCBtaWdodAoJICBhY3R1YWxseSBhcnJpdmUgaW4gdGltZSEgQnV0IG9idmlvdXNseSwgd2FpdGluZyBmb3IgcGFja2V0IDEwMCwgdGhhdCBoYWQKCSAgaXRzIHRpbWUgZXhwaXJlIGF0IDIgc2Vjb25kcywgKHJlbWVtYmVyaW5nIHRoYXQgdGhlIGN1cnJlbnQgdGltZSBpcyAxMCkKCSAgaXMgdXNlbGVzcy4uLgoJICBUaGUgcGF0Y2ggd2lsbCBjcmVhdGUgb25lICJiaWciIGxvc3QtZXZlbnQgZm9yIHRoZSBmaXJzdCA0OTAgcGFja2V0cywKCSAgYW5kIHRoZW4gZ28gb24gdG8gY3JlYXRlIHNpbmdsZSBvbmVzIGlmIHRoZXkgY2FuIHJlYWNoIHRoZWlyCgkgIHBsYXlvdXQgZGVhZGxpbmUuCgkgIFNlZSBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY3ODM4CgoyMDEyLTEyLTEzIDA5OjI3OjE0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBmaXggVENQIHJlY29ubmVjdAoJICBJZ25vcmUgb3RoZXIgY29tbWFuZHMgd2hlbiByZWNvbm5lY3RpbmcsIG90aGVyd2lzZSB0aGUgbG9vcCBmdW5jdGlvbiB3b3VsZCBwYXVzZQoJICBhbmQgdGhlIHJlY29ubmVjdGlvbiB3b3VsZCBub3QgaGFwcGVuLiBDb250aW51ZSBsb29waW5nIGFmdGVyIGRvaW5nIGEgcmVjb25uZWN0CgkgIHNvIHRoYXQgd2UgaGF2ZSBhIGNoYW5jZSB0byBhY3R1YWxseSByZWFkIHRoZSBuZXcgZGF0YS4KCjIwMTItMTItMTMgMDE6MDI6MzQgKzA0MDAgINCg0YPRgdC70LDQvSDQmNC20LHRg9C70LDRgtC+0LIgPGxybjE5ODZAZ21haWwuY29tPgoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmg6CgkqIHN5cy93YXZlZm9ybS9nc3R3YXZlZm9ybXNpbmsuaDoKCSAgZGlyZWN0c291bmQsIHdhdmVmb3JtOiBmaXggY29tcGlsYXRpb24gZXJyb3JzIGNhdXNlZCBieSBjaXJjdWxhciBpbmNsdWRlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkwMTI0CgoyMDEyLTEyLTEyIDE3OjM1OjA0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qYWNrL2dzdGphY2suYzoKCSogZXh0L2phY2svZ3N0amFjay5oOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJKiBleHQvamFjay9nc3RqYWNrdXRpbC5oOgoJKiBleHQvbGlicG5nL2dzdHBuZ2VuYy5jOgoJKiBleHQvcHVsc2UvcHVsc2Vwcm9iZS5jOgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuaDoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXV0aWwuYzoKCSogZXh0L3ZweC9nc3R2cDhlbmMuYzoKCSogc3lzL29zcy9jb21tb24uaDoKCSogc3lzL29zcy9nc3Rvc3NhdWRpby5jOgoJKiBzeXMvb3NzL2dzdG9zc3NyYy5jOgoJKiBzeXMvb3NzNC9vc3M0LWF1ZGlvLmg6CgkgIGV4dC9zeXM6IEZpeCBzb21lIGNvbXBpbGF0aW9uIGVycm9ycyBjYXVzZWQgYnkgY2lyY3VsYXIgaW5jbHVkZXMKCjIwMTItMTItMTIgMTI6MDc6MzQgKzAxMDAgIFBoaWxpcHBlIE5vcm1hbmQgPHBoaWxuQGlnYWxpYS5jb20+CgoJKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYzoKCSAgZGVpbnRlcmxlYXZlOiBwcm9wZXJseSBzZXQgc3JjcGFkIGNoYW5uZWwgcG9zaXRpb24KCSAgVGhlIHNyYyBwYWQgY2FwcyBhbHdheXMgZGVzY3JpYmUgYSBzaW5nbGUgYXVkaW8gY2hhbm5lbCBzbyBvbmx5IHRoZQoJICBmaXJzdCBwb3NpdGlvbiBtYXR0ZXJzIGlmIGRlaW50ZXJsZWF2ZSBpcyBjb25maWd1cmVkIHRvIGtlZXAgY2hhbm5lbAoJICBwb3NpdGlvbnMgaW4gaXRzIHNyYyBwYWRzLgoKMjAxMi0xMi0xMiAxMTowOTo0MiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogdGltZW91dCBvbiB1ZHBzcmMgaXMgaW4gbmFub3NlY29uZHMKCjIwMTItMTItMTIgMTE6MDg6MTMgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICB1ZHBzcmM6IGltcHJvdmUgdGltZW91dHMKCSAgTWFrZSBpdCBwb3NzaWJsZSB0byBzZXQgdGhlIHRpbWVvdXQgYWZ0ZXIgd2Ugd2VudCB0byB0aGUgUkVBRFkgc3RhdGUgYnkgdXNpbmcKCSAgdGhlIHRpbWVvdXQgd2hlbiBjaGVja2luZyB0aGUgY29uZGl0aW9uLiBUaGlzIGFsc28gbWFrZXMgaXQgcG9zc2libGUgdG8gc2V0IHRoZQoJICB0aW1lb3V0IHdpdGggYSBoaWdoZXIgZ3JhbnVsYXJpdHkgdGhhbiBzZWNvbmRzLgoKMjAxMi0xMi0xMSAxMzowMDo0NiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuaDoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlbWV0aG9kLmM6CgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZW1ldGhvZC5oOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2dyZWVkeS5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2dyZWVkeWguYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9saW5lYXIuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9saW5lYXJibGVuZC5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3NjYWxlcmJvYi5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3RvbXNtb2NvbXAvVG9tc01vQ29tcEFsbC5pbmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvdmZpci5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3dlYXZlLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvd2VhdmViZmYuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS93ZWF2ZXRmZi5jOgoJICBkZWludGVybGFjZTogYWRkIHN1cHBvcnQgZm9yIHN0cmlkZXMKCSAgSW1wbGVtZW50IHN0cmlkZSBzdXBwb3J0IGNvcnJlY3RseSBieSB0YWtpbmcgaXQgZnJvbSB0aGUgR3N0VmlkZW9GcmFtZS4KCSAgUHJvcG9zZSBhIGJ1ZmZlcnBvb2wgdXBzdHJlYW0gd2hlbiBub3Qgb3BlcmF0aW5nIGluIHBhc3N0aHJvdWdoLgoKMjAxMi0wOS0yNyAxMjoxNzo1OCAtMDcwMCAgQWxlaXggQ29uY2hpbGxvIEZsYXF1ZSA8YWxlaXhAb2Jsb25nLmNvbT4KCgkgIHJ0c3BzcmM6IGRvIG5vdCBjaGFuZ2Ugc3RhdGUgdG8gUExBWUlORyBpZiBjdXJyZW50bHkgY2hhbmluZyBzdGF0ZQoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYyAoZ3N0X3J0c3BzcmNfcGxheSk6IHN0YXRlIGNoYW5nZSBtaWdodCBiZQoJICBoYXBwZW5pbmcgaW4gdGhlIGFwcGxpY2F0aW9uIHRocmVhZCwgc28gd2UgZG9uJ3QgY2hhbmdlIHRoZSBzdGF0ZSB0bwoJICBQTEFZSU5HIGluIHRoZSBnc3RydHNwc3JjIHRocmVhZCB1bmxlc3MgaXQgaXMgc2FmZS4KCSAgQSBzcGVjaWZpYyBjYXNlIGlzIHdoZW4gY2hhbmluZyB0aGUgc3RhdGUgdG8gTlVMTCBmcm9tIHRoZSBhcHBsaWNhdGlvbgoJICB0aHJlYWQuIFRoaXMgd2lsbCBzeW5jaHJvbm91c2x5IHRyeSB0byBzdG9wIHRoZSB0YXNrICh3aXRoIHRoZSBlbGVtZW50CgkgIHN0YXRlIGxvY2sgYWNxdWlyZWQpLCBidXQgd2Ugd2lsbCB0cnkgYSBnc3RfZWxlbWVudF9zZXRfc3RhdGUgZnJvbQoJICBnc3RydHNwc3JjIHRocmVhZCB3aGljaCB3aWxsIGJsb2NrIG9uIHRoZSBlbGVtZW50IHN0YXRlIGxvY2sgY2F1c2luZyBhCgkgIGRlYWRsb2NrLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg0MzEyCgoyMDEyLTEyLTEwIDExOjQ0OjI2ICswMDAwICBBbGV4ZXkgQ2hlcm5vdiA8NGVybm92QGdtYWlsLmNvbT4KCgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgb3N4dmlkZW9zaW5rOiBGaXggcmVzaXppbmcgdGhlIENvY29hIHdpbmRvdyBvbiByZWNlaXZpbmcgbmV3IGNhcHMKCSAgRml4ZXMgYnVnICM2ODk3MzIuCgoyMDEyLTExLTMwIDIwOjM3OjQ3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL3Y0bDIvTWFrZWZpbGUuYW06CgkgIHY0bDJzcmM6IGxpbmsgYWdhaW5zdCAtbHJ0IGZvciBjbG9ja19nZXR0aW1lKCkKCSAgTmVlZCB0byBleHBsaWNpdGx5IGxpbmsgYWdhaW5zdCAtbHJ0IGZvciBjbG9ja19nZXR0aW1lKCksIHdoaWNoCgkgIHdlIGRvbid0IGdldCBpbiB0aGUgbGlicyBhbnkgbW9yZSwgYmVjYXVzZSBjb3JlIG1vdmVkIHRoZQoJICBnbW9kdWxlLW5vLWV4cG9ydC0yLjAgYml0IGludG8gUmVxdWlyZXMuUHJpdmF0ZS4KCSAgTm90IHJlcXVpcmVkIGZvciBuZXdlciBnbGliYywgYnV0IGZvciBvbGRlciBvbmVzLCBzbyBjaGVjayBmb3IgdGhhdC4KCjIwMTItMTEtMzAgMTc6MjI6NTkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3Nob3V0Mi9nc3RzaG91dDIuYzoKCSAgc2hvdXQyc2VuZDogYWNjZXB0IGF1ZGlvL3dlYm0gYXMgd2VsbCBhcyB2aWRlby93ZWJtCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODkzMzYKCjIwMTItMTEtMzAgMTc6MjA6MTggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tYXRyb3NrYW11eC5jOgoJICB3ZWJtdXg6IGZpeCBsaW5raW5nIHdpdGggc2hvdXQyc2VuZCBlbGVtZW50CgkgIFNob3V0MnNlbmQgb25seSBhY2NlcHRzIHdlYm0gZm9ybWF0LCBub3QgbWF0cm9za2EsIGJ1dCBkdWUKCSAgdG8gYSBidWcgaW4gbWF0cm9za2FtdXgsIHdlYm1tdXgncyBzb3VyY2UgcGFkIGlzIGFsc28gY3JlYXRlZAoJICB3aXRoIHRoZSBtYXRyb3NrYSBzb3VyY2UgcGFkIHRlbXBsYXRlIGFzIHBhZCB0ZW1wbGF0ZSwgd2hpY2gKCSAgbWFrZXMgdGhlIGxpbmsgZnVuY3Rpb24gdGhpbmsgaXQgY2FuJ3QgbGluayB3ZWJtbXV4IHRvIHNob3V0MnNlbmQuCgkgIEFsc28gYWRkIHVuaXQgdGVzdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4OTMzNgoKMjAxMi0xMS0yNyAxMToxMzozNyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogdXNlIG5ldyBvcHRpb24gcGFyc2VyIGZ1bmN0aW9uCgoyMDEyLTExLTI2IDE1OjE3OjEzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L2xhdy9tdWxhdy1jb252ZXJzaW9uLmM6CgkgIGxhdzogZml4IGFjY2lkZW50YWwgZmlsZSBwZXJtaXNzaW9ucyBjaGFuZ2UKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NzQ2OQoKMjAxMi0xMS0yNSAxNjowNToxMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMjogcmVtb3ZlIHVudXNlZCBkZWZpbmUKCjIwMTItMTEtMjUgMTQ6MTY6MDkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogYXZvaWQgY3JpdGljYWxzIGlmIHVua25vd24gZm91cmNjIGhhcyBzcGFjZSBhdCBiZWdpbm5pbmcgb3IgZW5kCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODI5MzYKCjIwMTItMTEtMjQgMTk6MzI6NTEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzoKCSAgdmlkZW9ib3g6IGZpeCBib3JkZXIgZmlsbGluZyBmb3IgcGxhbmFyIFlVViBmb3JtYXRzCgkgIFdlIHdvdWxkIGdldCBhIGdyZWVuIGJvcmRlciBpbnN0ZWFkIG9mIGEgYmxhY2sgb25lLCBmb3IKCSAgZXhhbXBsZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NDk5MQoKMjAxMi0xMS0yNCAxNDoyNzozMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9sYXcvbXVsYXctY29udmVyc2lvbi5jOgoJICBtdWxhdzogY29uc3QtaWZ5IHNvbWUgYXJyYXlzCgoyMDEyLTExLTAyIDEyOjM4OjQ0IC0wNDAwICBSb2xhbmQgS3Jpa2F2YSA8cmtyaWthdmFAZ21haWwuY29tPgoKCSogZ3N0L2xhdy9tdWxhdy1jb252ZXJzaW9uLmM6CgkgIG11bGF3ZGVjOiBmaXggaW50ZWdlciBvdmVycnVuCgkgIFRoZXJlIG1pZ2h0IGJlIG1vcmUgdGhhbiA2NTUzNSBzYW1wbGVzIGluIGEgY2h1bmsgb2YgZGF0YS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NzQ2OQoKMjAxMi0xMS0yMiAxMTozNDozMSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogcGF1c2UgdGhlIHRhc2sgaW5zdGVhZCBvZiBzcGlubmluZwoJICBBY3R1YWxseSBwYXVzZSB0aGUgbG9vcCB0YXNrIGluc3RlYWQgb2Ygc3Bpbm5pbmcgZm9yZXZlci4KCjIwMTItMTEtMTkgMDM6MzE6MzcgLTA1MDAgIEpvc2h1YSBNLiBEb2UgPG9zc0BudmwuYXJteS5taWw+CgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9mbGlwLmM6CgkgIHZpZGVvZmxpcDogQWRkIGdyYXkgOC8xNiBzdXBwb3J0CgoyMDEyLTExLTE5IDExOjI1OjE0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBiNDk3YzRmIHRvIGE3MmZhZWEKCjIwMTItMTEtMTYgMTU6Mzg6MjkgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGhhbmRsZSBzZWdtZW50IGV2ZW50CgkgIE1ha2UgYSBzZWdtZW50IGV2ZW50IHdoZW4gd2Ugc2VuZCBhIG5ldyByYW5nZSBoZWFkZXIgdG8gYSBjbGllbnQgKGZpcnN0IFBMQVkKCSAgcmVxdWVzdCBvciBhZnRlciBhIHNlZWspLiBTZW5kIHRoZSBzZWdtZW50IGV2ZW50IGluIGludGVybGVhdmVkIG1vZGUuCgkgIENsZWFuIHRoZSBzZWdtZW50IGV2ZW50IG9uIGNsZWFudXAKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4ODM4MgoKMjAxMi0xMS0xNiAxNToxODowNyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogZml4IGNoZWNrIGZvciBhY3RpdmUgc3RyZWFtcwoJICBBIHN0cmVhbSBjYW4gYmUgYWN0aXZlIHdpdGhvdXQgYSBzcmNwYWQgeWV0IGFuZCB3ZSB3YW50IHRvIHNlbmQKCSAgZXZlbnRzIG9uIHRob3NlIHN0cmVhbXMgYXMgd2VsbC4KCjIwMTItMTEtMTYgMTM6MzE6MDQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGNyZWF0ZSBhbmQgYWRkIHBhZHMgb3V0c2lkZSBvZiBsb2NrCgkgIENyZWF0ZSBhbmQgYWRkIHRoZSBnaG9zdHBhZCBmb3IgdGhlIG5ldyBzdHJlYW0gb3V0c2lkZSBvZiB0aGUgbG9jayBiZWNhdXNlIGl0CgkgIGlzIG5vdCBuZWVkZWQgYW5kIGNhdXNlcyBkZWFkbG9ja3MuCgoyMDEyLTA5LTEyIDIyOjExOjIwIC0wNzAwICBBbGVpeCBDb25jaGlsbG8gRmxhcXVlIDxhbGVpeEBvYmxvbmcuY29tPgoKCSAgcnRzcHNyYzogYWxsb3cgY2xpZW50IHRvIGRpc2FibGUgcmVjb25uZWN0aW9uCgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5bY2hdOiBhZGRlZCBuZXcgInVkcC1yZWNvbm5lY3QiIHByb3BlcnR5LiBCZWZvcmUsCgkgIHJ0c3BzcmMgYWx3YXlzIHRyaWVkIHRvIHJlY29ubmVjdCB0byB0aGUgc2VydmVyIHdoZW4gdGhlIFJUU1AKCSAgY29ubmVjdGlvbiB3YXMgY2xvc2VkIGJ5IHRoZSBzZXJ2ZXIuIFRoaXMgcHJvcGVydHkgbGV0cyB0aGUgdXNlcgoJICBkZWNpZGUgd2hldGhlciBpdCB3YW50cyBydHNwc3JjIHRvIHJlY29ubmVjdCBvciBub3QuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODM5MTIKCjIwMTItMTEtMTYgMTI6MTY6MDUgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGNsZWFyIHZhcmlhYmxlcyBiZWZvcmUgcmV0cnlpbmcKCSAgRWxzZSB3ZSBtaWdodCB1bnJlZiBhbiBvbGQgdWRwc3JjIHR3aWNlIGluIGNsZWFudXAuCgoyMDEyLTExLTE2IDEyOjAwOjE0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBwcm9wb3NlIHBvcnRzIGluIG11bHRpY2FzdAoJICBXaGVuIHRoZSB1c2VyIGNvbmZpZ3VyZWQgYSBwb3J0LXJhbmdlLCBwcm9wb3NlIHBvcnRzIGZyb20gdGhpcyByYW5nZQoJICBhcyB0aGUgbXVsdGljYXN0IHBvcnRzLiBUaGUgc2VydmVyIGlzIGZyZWUgdG8gaWdub3JlIHRoaXMgcmVxdWVzdCBidXQgaWYgaXQKCSAgaG9ub3VycyBpdCwgaW5jcmVtZW50IG91ciBwb3J0cyBzbyB0aGF0IHdlIHN1Z2dlc3QgdGhlIG5leHQgcG9ydCBwYWlyIGZvciB0aGUKCSAgbmV4dCBzdHJlYW0uCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Mzk0MjAKCjIwMTItMTEtMTYgMTE6NTg6NTMgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGFkZCBtb3JlIGRlYnVnCgoyMDEyLTExLTE2IDA5OjA5OjM4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmM6CgkgIG11bHRpZmlsZXNpbms6IHBvc3QgbWVzc2FnZXMgaW4gbWF4LXNpemUgbW9kZSBhcyB3ZWxsCgkgIE5vIHJlYXNvbiBub3QgdG8gcmVhbGx5LgoKMjAxMi0xMS0xNSAxNDozNzo0NCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIHVkcHNyYzogcG9zdCBlcnJvciBiZWZvcmUgc3RvcHBpbmcKCjIwMTItMTEtMTQgMDA6MTM6MzYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvZ29vbS9nc3Rnb29tLmM6CgkqIGdzdC9nb29tMmsxL2dzdGdvb20uYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcGFyb2J1c3RkZXBheS5jOgoJICBnc3RfYWRhcHRlcl9wcmV2X3RpbWVzdGFtcCAtPiBnc3RfYWRhcHRlcl9wcmV2X3B0cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc1NTk4CgoyMDEyLTExLTEyIDE5OjIzOjQxICswMTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9mbGlwLmM6CgkgIHZpZGVvZmxpcDogQWRkIE5WMTIvTlYyMSBzdXBwb3J0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODgyMjUKCjIwMTItMTEtMTIgMTM6MDE6MjMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZweC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiBEb24ndCBsZWFrIEdzdFZpZGVvQ29kZWNGcmFtZXMgdGhhdCBjYXVzZSB0aGUgY3JlYXRpb24gb2YgaW52aXNpYmxlIGZyYW1lcwoJICBGaXhlcyBidWcgIzY4MjcxNC4KCjIwMTItMTEtMTIgMTE6NDc6MTcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZTogVXNlIG5ldyBHVHlwZSBmb3IgR1RocmVhZCBpbnN0ZWFkIG9mIGp1c3QgR19UWVBFX1BPSU5URVIKCjIwMTItMTEtMTIgMTE6MTQ6MzQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSAgcnRwc291cmNlOiBwcm90ZWN0IGFnYWluc3QgaW52YWxpZCBSVFAgcGFja2V0cwoKMjAxMi0xMS0xMiAxMDo0NDowMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOgoJICBwbmdkZWM6IEFjdHVhbGx5IHVzZSB0aGUgc3RvcCgpIHZmdW5jIGltcGxlbWVudGF0aW9uCgoyMDEyLTExLTEyIDEwOjMxOjU5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cHgvZ3N0dnA4ZGVjLmM6CgkgIHZwOGRlYzogRml4IGxhc3QgY29tbWl0CgoyMDEyLTExLTEyIDEwOjEwOjE1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6CgkgIHBuZ2RlYzogS2VlcCB0aGUgaW5wdXQgc3RhdGUgaW4gcmVzZXQoKQoJICBJdCdzIHN0aWxsIHZhbGlkIGFmdGVyIGEgZmx1c2ggYW5kIHdlIG1pZ2h0IG5vdCBnZXQgYSBuZXcgb25lLgoKMjAxMi0xMS0xMiAxMDowODo1NyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnB4L2dzdHZwOGRlYy5jOgoJICB2cDhkZWM6IEFsc28gZGVzdHJveSBkZWNvZGVyIGluIHNldF9mb3JtYXQoKSBpZiBpdCB3YXMgY3JlYXRlZCBhbHJlYWR5CgkgIEZpeGVzIGEgbWVtb3J5IGxlYWsuCgoyMDEyLTExLTEyIDA5OjQ4OjQ1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cHgvZ3N0dnA4ZGVjLmM6CgkgIHZwOGRlYzogRG9uJ3QgY2xlYXIgaW5wdXQgc3RhdGUgaW4gcmVzZXQoKQoJICBUaGUgaW5wdXQgc3RhdGUgaXMgc3RpbGwgdmFsaWQgYWZ0ZXIgZmx1c2hpbmcgdW50aWwKCSAgbmV3IGNhcHMgYXJyaXZlLgoJICBGaXhlcyBidWcgIzY4ODA5Mi4KCjIwMTItMTEtMTAgMTg6MjE6MjggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5jOgoJICB2aWRlb2Nyb3A6IGFkZCBzdXBwb3J0IGZvciBZVjEyCgkgIFdlIGNhbiBkbyBJNDIwLCBzbyB3ZSBjYW4gZG8gWVYxMiBhcyB3ZWxsLgoKMjAxMi0xMS0xMCAxMjozOTowOCArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSAgbXVsdGlmaWxlc2luazogZG9uJ3Qgd3JpdGUgc3RyZWFtIGhlYWRlcnMgd2l0aCBrZXktdW5pdC1ldmVudAoJICBEb24ndCB3cml0ZSBzdHJlYW0gaGVhZGVycywgbGV0IHVwc3RyZWFtIGVsZW1lbnRzIGluc2VydCB0aGVtIGluIHRoZSBzdHJlYW0gaWYKCSAgYWxsX2hlYWRlcnM9dHJ1ZSBpcyBzZXQgaW4ga2V5IHVuaXQgZXZlbnRzLgoKMjAxMi0xMS0wOSAxMzoyNzoxNiArMDEwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuYzoKCSogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuaDoKCSAgdmlkZW9jcm9wOiBBZGQgTlYxMi9OVjIxIHN1cHBvcnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4Nzk2NAoKMjAxMi0xMS0wOSAxNjozMTowNSArMDEwMCAgRGViYXJzaGkgUmF5IDxyaXNoaUBnbnUub3JnPgoKCSogZXh0L3ZweC9nc3R2cDhkZWMuYzoKCSAgdnA4ZGVjOiBEb24ndCBnaXZlIHVwIHNvIGVhc2lseSBpZiBmYWlsZWQgdG8gZGVjb2RlIGEgZnJhbWUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NzQzNgoKMjAxMi0xMS0wOSAxMToyMjozMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICB1ZHBzcmM6IEFsc28gY2xlYXIgR0Vycm9yCgoyMDEyLTExLTA5IDExOjIwOjI3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIHVkcHNyYzogRG9uJ3QgZXJyb3Igb3V0IGlmIHdlIGdldCBhbiBJQ01QIGRlc3RpbmF0aW9uLXVucmVhY2hhYmxlIG1lc3NhZ2Ugd2hlbiB0cnlpbmcgdG8gcmVhZCBwYWNrZXRzCgkgIFNlZSBidWcgIzUyOTQ1NCBhbmQgIzY4Nzc4MiBhbmQgY29tbWl0CgkgIDc1MWYyYmIzNjQ2ZjJiZWZmMzY5OGM5ZjA5OTAwZGJkMGVhMDhhYmIKCjIwMTItMTEtMDcgMjA6MzU6NTAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZS5hYzogdXBkYXRlIGNvdXJ0ZXN5IG9mIGF1dG91cGRhdGUKCjIwMTItMTEtMDcgMTg6NDg6NDkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogbGV0IEFHX0dTVF9QTFVHSU5fRE9DUyBjaGVjayBmb3IgcHl0aG9uCgkgIEFuZCB1cGRhdGUgY29tbW9uIGZvciBtb3ZlIGZyb20gQVNfUEFUSF9QWVRIT04gdG8gQU1fUEFUSF9QWVRIT04sCgkgIHdoaWNoIGFzIGEgc2lkZS1lZmZlY3Qgc2hvdWxkIHBpY2sgdXAgbmV3ZXIgcHl0aG9uIHZlcnNpb25zIGFzCgkgIHdlbGwuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD01NjM5MDMKCjIwMTItMTEtMDcgMTM6MzY6MzMgKzAxMDAgIENocmlzdGlhbiBGcmVkcmlrIEthbGFnZXIgU2NoYWxsZXIgPHVyYWV1c0BsaW51eHJpc2luLm9yZz4KCgkqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkgIEZpeCB2cDhydHAgaGVhZGVyIG5hbWVzIGluIE1ha2VmaWxlCgoyMDEyLTExLTA2IDE1OjAzOjU1ICswMTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5jOgoJKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb2Nyb3AuYzoKCSAgdmlkZW9jcm9wOiBBZGQgc3VwcG9ydCBmb3IgYXV0b21hdGljIGNyb3BwaW5nCgkgIFRoaXMgY2hhbmdlIGVuYWJsZSBhdXRvbWF0aWMgY3JvcHBpbmcgdXNpbmcgLTEgc2V0IHRvIGxlZnQsIHRvcCwgcmlnaHQgb3IKCSAgYm90dG9tIHByb3BlcnR5LiBJbiB0aGUgY2FzZSBib3RoIHNpZGUgYXJlIHNldCB0byBhdXRvbWF0aWMgY3JvcHBpbmcsIHRoZQoJICBjcm9waW5nIHdpbGwgYmUgZG9uZSBlcXVhbGx5IG9uIGJvdGggc2lkZSAoaW4gdGhlIG9kZCBjYXNlLCByaWdodCBhbmQKCSAgYm90dG9tIGNyb3BwaW5nIHdpbGwgYmUgMSBwaXhlbCBtb3JlKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4Nzc2MQoKMjAxMi0xMS0wMiAxNjozOToyOCArMDEwMCAgRGViYXJzaGkgUmF5IDxyaXNoaUBnbnUub3JnPgoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6CgkgIHNwZWV4ZGVjOiBEb24ndCB1bm1hcCBvciBmaW5pc2hfZnJhbWUgYW4gaW52YWxpZCBHc3RCdWZmZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NzQ2NAoKMjAxMi0xMS0wNiAxMzoyMjo1OCArMDEwMCAgTWFyYyBMZWVtYW4gPG1hcmMubGVlbWFuQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcDogdGhlIFJUQ1AgcG9ydCBudW1iZXIgaXMgaW5jbHVzaXZlCgkgIFRoZSBjb25maWd1cmVkIHBvcnQgbnVtYmVyIHBhaXIgaGFzIGl0cyB1cHBlciBib3VuZCBzZXQgdG8gdGhlIG1heGltdW0KCSAgYWxsb3dlZCBSVENQIHBvcnQsIGluY2x1c2l2ZS4KCSAgU2VlIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Mzk0MjAKCjIwMTItMTEtMDMgMjA6Mzg6MDAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvZHRtZi9nc3RkdG1mZGV0ZWN0LmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZkZXRlY3QuaDoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmg6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuaDoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmg6CgkgIEZpeCBGU0YgYWRkcmVzcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg3NTIwCgoyMDEyLTExLTA0IDAwOjA3OjE4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZXh0L2FhbGliL2dzdGFhc2luay5jOgoJKiBleHQvYWFsaWIvZ3N0YWFzaW5rLmg6CgkqIGV4dC9jYWlyby9nc3RjYWlyby5jOgoJKiBleHQvY2Fpcm8vZ3N0Y2Fpcm9vdmVybGF5LmM6CgkqIGV4dC9jYWlyby9nc3RjYWlyb292ZXJsYXkuaDoKCSogZXh0L2NhaXJvL2dzdGNhaXJvcmVuZGVyLmM6CgkqIGV4dC9jYWlyby9nc3RjYWlyb3JlbmRlci5oOgoJKiBleHQvY2Fpcm8vZ3N0dGV4dG92ZXJsYXkuYzoKCSogZXh0L2NhaXJvL2dzdHRpbWVvdmVybGF5LmM6CgkqIGV4dC9jYWlyby9nc3R0aW1lb3ZlcmxheS5oOgoJKiBleHQvZHYvZ3N0ZHYuYzoKCSogZXh0L2R2L2dzdGR2ZGVjLmM6CgkqIGV4dC9kdi9nc3RkdmRlYy5oOgoJKiBleHQvZHYvZ3N0ZHZkZW11eC5jOgoJKiBleHQvZHYvZ3N0ZHZkZW11eC5oOgoJKiBleHQvZHYvZ3N0c21wdGV0aW1lY29kZS5jOgoJKiBleHQvZHYvZ3N0c21wdGV0aW1lY29kZS5oOgoJKiBleHQvZmxhYy9nc3RmbGFjLmM6CgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5oOgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuaDoKCSogZXh0L2ZsYWMvZ3N0ZmxhY3RhZy5jOgoJKiBleHQvZmxhYy9nc3RmbGFjdGFnLmg6CgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka2FuaW1hdGlvbi5jOgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGthbmltYXRpb24uaDoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmZGVjLmM6CgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1ZmRlYy5oOgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWZvdmVybGF5Lmg6CgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1ZnBsdWdpbi5jOgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWZzaW5rLmM6CgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1ZnNpbmsuaDoKCSogZXh0L2dka19waXhidWYvcGl4YnVmc2NhbGUuYzoKCSogZXh0L2dka19waXhidWYvcGl4YnVmc2NhbGUuaDoKCSogZXh0L2phY2svZ3N0amFjay5jOgoJKiBleHQvamFjay9nc3RqYWNrLmg6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb2NsaWVudC5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9jbGllbnQuaDoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmg6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuaDoKCSogZXh0L2phY2svZ3N0amFja3JpbmdidWZmZXIuaDoKCSogZXh0L2phY2svZ3N0amFja3V0aWwuYzoKCSogZXh0L2phY2svZ3N0amFja3V0aWwuaDoKCSogZXh0L2pwZWcvZ3N0anBlZy5jOgoJKiBleHQvanBlZy9nc3RqcGVnLmg6CgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5oOgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuaDoKCSogZXh0L2pwZWcvZ3N0c21va2VkZWMuYzoKCSogZXh0L2pwZWcvZ3N0c21va2VkZWMuaDoKCSogZXh0L2pwZWcvZ3N0c21va2VlbmMuYzoKCSogZXh0L2pwZWcvZ3N0c21va2VlbmMuaDoKCSogZXh0L2pwZWcvc21va2Vjb2RlYy5jOgoJKiBleHQvanBlZy9zbW9rZWNvZGVjLmg6CgkqIGV4dC9qcGVnL3Ntb2tlZm9ybWF0Lmg6CgkqIGV4dC9saWJjYWNhL2dzdGNhY2FzaW5rLmM6CgkqIGV4dC9saWJjYWNhL2dzdGNhY2FzaW5rLmg6CgkqIGV4dC9saWJwbmcvZ3N0cG5nLmM6CgkqIGV4dC9saWJwbmcvZ3N0cG5nLmg6CgkqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6CgkqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmg6CgkqIGV4dC9saWJwbmcvZ3N0cG5nZW5jLmM6CgkqIGV4dC9saWJwbmcvZ3N0cG5nZW5jLmg6CgkqIGV4dC9taWttb2QvUkVBRE1FOgoJKiBleHQvbWlrbW9kL2dzdG1pa21vZC5jOgoJKiBleHQvbWlrbW9kL2dzdG1pa21vZC5oOgoJKiBleHQvbWlrbW9kL21pa21vZF90eXBlcy5jOgoJKiBleHQvbWlrbW9kL21pa21vZF90eXBlcy5oOgoJKiBleHQvcHVsc2UvcGx1Z2luLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXByb2JlLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXByb2JlLmg6CgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5oOgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmg6CgkqIGV4dC9wdWxzZS9wdWxzZXV0aWwuYzoKCSogZXh0L3B1bHNlL3B1bHNldXRpbC5oOgoJKiBleHQvcmF3MTM5NC9nc3QxMzk0LmM6CgkqIGV4dC9yYXcxMzk0L2dzdDEzOTRjbG9jay5jOgoJKiBleHQvcmF3MTM5NC9nc3QxMzk0Y2xvY2suaDoKCSogZXh0L3JhdzEzOTQvZ3N0MTM5NHByb2JlLmM6CgkqIGV4dC9yYXcxMzk0L2dzdDEzOTRwcm9iZS5oOgoJKiBleHQvcmF3MTM5NC9nc3RkdjEzOTRzcmMuYzoKCSogZXh0L3JhdzEzOTQvZ3N0ZHYxMzk0c3JjLmg6CgkqIGV4dC9yYXcxMzk0L2dzdGhkdjEzOTRzcmMuYzoKCSogZXh0L3JhdzEzOTQvZ3N0aGR2MTM5NHNyYy5oOgoJKiBleHQvc2hvdXQyL2dzdHNob3V0Mi5jOgoJKiBleHQvc2hvdXQyL2dzdHNob3V0Mi5oOgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cGNsaWVudHNpbmsuaDoKCSogZXh0L3NwZWV4L2dzdHNwZWV4LmM6CgkqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuaDoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6CgkqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5oOgoJKiBleHQvdGFnbGliL2dzdGFwZXYybXV4LmNjOgoJKiBleHQvdGFnbGliL2dzdGFwZXYybXV4Lmg6CgkqIGV4dC90YWdsaWIvZ3N0aWQzdjJtdXguY2M6CgkqIGV4dC90YWdsaWIvZ3N0aWQzdjJtdXguaDoKCSogZXh0L3RhZ2xpYi9nc3R0YWdsaWJwbHVnaW4uYzoKCSogZXh0L3ZweC9nc3R2cDhkZWMuYzoKCSogZXh0L3ZweC9nc3R2cDhkZWMuaDoKCSogZXh0L3ZweC9nc3R2cDhlbmMuYzoKCSogZXh0L3ZweC9nc3R2cDhlbmMuaDoKCSogZXh0L3ZweC9nc3R2cDh1dGlscy5jOgoJKiBleHQvdnB4L2dzdHZwOHV0aWxzLmg6CgkqIGV4dC92cHgvcGx1Z2luLmM6CgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2suYzoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2NvbW1vbi5jOgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrY29tbW9uLmg6CgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5oOgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6CgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuaDoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3N0cmVhbXJlYWRlci5jOgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrc3RyZWFtcmVhZGVyLmg6CgkqIGdzdC1saWJzL2dzdC9nZXR0ZXh0Lmg6CgkqIGdzdC1saWJzL2dzdC9nbGliLWNvbXBhdC1wcml2YXRlLmg6CgkqIGdzdC1saWJzL2dzdC9nc3QtaTE4bi1wbHVnaW4uaDoKCSogZ3N0L2FscGhhL2dzdGFscGhhLmM6CgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5oOgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGFjb2xvci5jOgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGFjb2xvci5oOgoJKiBnc3QvYXBldGFnL2dzdGFwZWRlbXV4LmM6CgkqIGdzdC9hcGV0YWcvZ3N0YXBlZGVtdXguaDoKCSogZ3N0L2F1ZGlvZngvYXVkaW9hbXBsaWZ5LmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvYW1wbGlmeS5oOgoJKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJiYW5kLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYmJhbmQuaDoKCSogZ3N0L2F1ZGlvZngvYXVkaW9jaGVibGltaXQuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9jaGVibGltaXQuaDoKCSogZ3N0L2F1ZGlvZngvYXVkaW9keW5hbWljLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZHluYW1pYy5oOgoJKiBnc3QvYXVkaW9meC9hdWRpb2VjaG8uYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9lY2hvLmg6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZmlyZmlsdGVyLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZmlyZmlsdGVyLmg6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZnguYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9meGJhc2VmaXJmaWx0ZXIuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9meGJhc2VmaXJmaWx0ZXIuaDoKCSogZ3N0L2F1ZGlvZngvYXVkaW9meGJhc2VpaXJmaWx0ZXIuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9meGJhc2VpaXJmaWx0ZXIuaDoKCSogZ3N0L2F1ZGlvZngvYXVkaW9paXJmaWx0ZXIuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9paXJmaWx0ZXIuaDoKCSogZ3N0L2F1ZGlvZngvYXVkaW9pbnZlcnQuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9pbnZlcnQuaDoKCSogZ3N0L2F1ZGlvZngvYXVkaW9rYXJhb2tlLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlva2FyYW9rZS5oOgoJKiBnc3QvYXVkaW9meC9hdWRpb3Bhbm9yYW1hLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvcGFub3JhbWEuaDoKCSogZ3N0L2F1ZGlvZngvYXVkaW93c2luY2JhbmQuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW93c2luY2JhbmQuaDoKCSogZ3N0L2F1ZGlvZngvYXVkaW93c2luY2xpbWl0LmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvd3NpbmNsaW1pdC5oOgoJKiBnc3QvYXVkaW9meC9tYXRoX2NvbXBhdC5oOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuaDoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmg6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YW1ycGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhbXJwYXJzZS5oOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZGNhcGFyc2UuaDoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuaDoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmg6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0d2F2cGFja3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0d2F2cGFja3BhcnNlLmg6CgkqIGdzdC9hdWRpb3BhcnNlcnMvcGx1Z2luLmM6CgkqIGdzdC9hdXBhcnNlL2dzdGF1cGFyc2UuYzoKCSogZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS5oOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zaW5rLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NpbmsuaDoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc3JjLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NyYy5oOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvZGV0ZWN0LmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9kZXRlY3QuaDoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc2luay5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zaW5rLmg6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NyYy5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zcmMuaDoKCSogZ3N0L2F2aS9hdmktaWRzLmg6CgkqIGdzdC9hdmkvZ3N0YXZpLmM6CgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5oOgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aW11eC5oOgoJKiBnc3QvYXZpL2dzdGF2aXN1YnRpdGxlLmM6CgkqIGdzdC9jdXR0ZXIvZ3N0Y3V0dGVyLmM6CgkqIGdzdC9jdXR0ZXIvZ3N0Y3V0dGVyLmg6CgkqIGdzdC9kZWJ1Z3V0aWxzL2JyZWFrbXlkYXRhLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2NwdXJlcG9ydC5jOgoJKiBnc3QvZGVidWd1dGlscy9jcHVyZXBvcnQuaDoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y2Fwc2RlYnVnLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNhcHNkZWJ1Zy5oOgoJKiBnc3QvZGVidWd1dGlscy9nc3RkZWJ1Zy5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RuYXZpZ2F0aW9udGVzdC5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RuYXZpZ2F0aW9udGVzdC5oOgoJKiBnc3QvZGVidWd1dGlscy9nc3RuYXZzZWVrLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdG5hdnNlZWsuaDoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0cHVzaGZpbGVzcmMuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0cHVzaGZpbGVzcmMuaDoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0dGFnaW5qZWN0LmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdHRhZ2luamVjdC5oOgoJKiBnc3QvZGVidWd1dGlscy9wcm9ncmVzc3JlcG9ydC5jOgoJKiBnc3QvZGVidWd1dGlscy9wcm9ncmVzc3JlcG9ydC5oOgoJKiBnc3QvZGVidWd1dGlscy9ybmRidWZmZXJzaXplLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL3Rlc3RwbHVnaW4uYzoKCSogZ3N0L2RlYnVndXRpbHMvdGVzdHMuYzoKCSogZ3N0L2RlYnVndXRpbHMvdGVzdHMuaDoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5oOgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2VtZXRob2QuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlbWV0aG9kLmg6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvZ3JlZWR5LmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvZ3JlZWR5aC5hc206CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvZ3JlZWR5aC5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2dyZWVkeWhtYWNyb3MuaDoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9saW5lYXIuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9saW5lYXJibGVuZC5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3BsdWdpbnMuaDoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9zY2FsZXJib2IuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS90b21zbW9jb21wLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvdG9tc21vY29tcC9Ub21zTW9Db21wQWxsLmluYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS92ZmlyLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvd2VhdmUuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS93ZWF2ZWJmZi5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3dlYXZldGZmLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUveDg2LTY0X21hY3Jvcy5pbmM6CgkqIGdzdC9lZmZlY3R2L2dzdGFnaW5nLmM6CgkqIGdzdC9lZmZlY3R2L2dzdGFnaW5nLmg6CgkqIGdzdC9lZmZlY3R2L2dzdGRpY2UuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0ZGljZS5oOgoJKiBnc3QvZWZmZWN0di9nc3RlZGdlLmM6CgkqIGdzdC9lZmZlY3R2L2dzdGVkZ2UuaDoKCSogZ3N0L2VmZmVjdHYvZ3N0ZWZmZWN0di5jOgoJKiBnc3QvZWZmZWN0di9nc3RlZmZlY3R2Lmg6CgkqIGdzdC9lZmZlY3R2L2dzdG9wLmM6CgkqIGdzdC9lZmZlY3R2L2dzdG9wLmg6CgkqIGdzdC9lZmZlY3R2L2dzdHF1YXJrLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHF1YXJrLmg6CgkqIGdzdC9lZmZlY3R2L2dzdHJhZGlvYWMuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0cmFkaW9hYy5oOgoJKiBnc3QvZWZmZWN0di9nc3RyZXYuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0cmV2Lmg6CgkqIGdzdC9lZmZlY3R2L2dzdHJpcHBsZS5jOgoJKiBnc3QvZWZmZWN0di9nc3RyaXBwbGUuaDoKCSogZ3N0L2VmZmVjdHYvZ3N0c2hhZ2FkZWxpYy5jOgoJKiBnc3QvZWZmZWN0di9nc3RzaGFnYWRlbGljLmg6CgkqIGdzdC9lZmZlY3R2L2dzdHN0cmVhay5jOgoJKiBnc3QvZWZmZWN0di9nc3RzdHJlYWsuaDoKCSogZ3N0L2VmZmVjdHYvZ3N0dmVydGlnby5jOgoJKiBnc3QvZWZmZWN0di9nc3R2ZXJ0aWdvLmg6CgkqIGdzdC9lZmZlY3R2L2dzdHdhcnAuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0d2FycC5oOgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5oOgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcjEwYmFuZHMuYzoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIxMGJhbmRzLmg6CgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyM2JhbmRzLmM6CgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyM2JhbmRzLmg6CgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVybmJhbmRzLmM6CgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVybmJhbmRzLmg6CgkqIGdzdC9mbHYvYW1mZGVmcy5oOgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguaDoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguaDoKCSogZ3N0L2Zsdi9nc3RpbmRleC5jOgoJKiBnc3QvZmx2L2dzdGluZGV4Lmg6CgkqIGdzdC9mbHYvZ3N0bWVtaW5kZXguYzoKCSogZ3N0L2ZseC9mbHhfY29sb3IuYzoKCSogZ3N0L2ZseC9mbHhfY29sb3IuaDoKCSogZ3N0L2ZseC9mbHhfZm10Lmg6CgkqIGdzdC9mbHgvZ3N0Zmx4ZGVjLmM6CgkqIGdzdC9mbHgvZ3N0Zmx4ZGVjLmg6CgkqIGdzdC9nb29tL2NvbmZpZ19wYXJhbS5jOgoJKiBnc3QvZ29vbS9jb252b2x2ZV9meC5jOgoJKiBnc3QvZ29vbS9kcmF3bWV0aG9kcy5jOgoJKiBnc3QvZ29vbS9kcmF3bWV0aG9kcy5oOgoJKiBnc3QvZ29vbS9maWx0ZXJzLmM6CgkqIGdzdC9nb29tL2ZpbHRlcnNfbW14LnM6CgkqIGdzdC9nb29tL2ZseWluZ19zdGFyc19meC5jOgoJKiBnc3QvZ29vbS9nb29tLmg6CgkqIGdzdC9nb29tL2dvb21fY29uZmlnLmg6CgkqIGdzdC9nb29tL2dvb21fY29uZmlnX3BhcmFtLmg6CgkqIGdzdC9nb29tL2dvb21fY29yZS5jOgoJKiBnc3QvZ29vbS9nb29tX2ZpbHRlcnMuaDoKCSogZ3N0L2dvb20vZ29vbV9meC5oOgoJKiBnc3QvZ29vbS9nb29tX2dyYXBoaWMuaDoKCSogZ3N0L2dvb20vZ29vbV9wbHVnaW5faW5mby5oOgoJKiBnc3QvZ29vbS9nb29tX3Rvb2xzLmM6CgkqIGdzdC9nb29tL2dvb21fdG9vbHMuaDoKCSogZ3N0L2dvb20vZ29vbV90eXBlZGVmcy5oOgoJKiBnc3QvZ29vbS9nb29tX3Zpc3VhbF9meC5oOgoJKiBnc3QvZ29vbS9ncmFwaGljLmM6CgkqIGdzdC9nb29tL2dzdGdvb20uYzoKCSogZ3N0L2dvb20vZ3N0Z29vbS5oOgoJKiBnc3QvZ29vbS9saW5lcy5jOgoJKiBnc3QvZ29vbS9saW5lcy5oOgoJKiBnc3QvZ29vbS9tYXRodG9vbHMuYzoKCSogZ3N0L2dvb20vbWF0aHRvb2xzLmg6CgkqIGdzdC9nb29tL21vdGlmX2dvb20xLmg6CgkqIGdzdC9nb29tL21vdGlmX2dvb20yLmg6CgkqIGdzdC9nb29tL3BsdWdpbl9pbmZvLmM6CgkqIGdzdC9nb29tL3BwY19kcmF3aW5ncy5oOgoJKiBnc3QvZ29vbS9wcGNfZHJhd2luZ3MuczoKCSogZ3N0L2dvb20vcHBjX3pvb21fdWx0aW1hdGUuaDoKCSogZ3N0L2dvb20vcHBjX3pvb21fdWx0aW1hdGUuczoKCSogZ3N0L2dvb20vc291bmRfdGVzdGVyLmM6CgkqIGdzdC9nb29tL3NvdW5kX3Rlc3Rlci5oOgoJKiBnc3QvZ29vbS9zdXJmM2QuYzoKCSogZ3N0L2dvb20vc3VyZjNkLmg6CgkqIGdzdC9nb29tL3RlbnRhY2xlM2QuYzoKCSogZ3N0L2dvb20vdGVudGFjbGUzZC5oOgoJKiBnc3QvZ29vbS92M2QuYzoKCSogZ3N0L2dvb20vdjNkLmg6CgkqIGdzdC9nb29tMmsxL2dzdGdvb20uYzoKCSogZ3N0L2dvb20yazEvZ3N0Z29vbS5oOgoJKiBnc3QvaWN5ZGVtdXgvZ3N0aWN5ZGVtdXguYzoKCSogZ3N0L2ljeWRlbXV4L2dzdGljeWRlbXV4Lmg6CgkqIGdzdC9pZDNkZW11eC9nc3RpZDNkZW11eC5jOgoJKiBnc3QvaWQzZGVtdXgvZ3N0aWQzZGVtdXguaDoKCSogZ3N0L2ltYWdlZnJlZXplL2dzdGltYWdlZnJlZXplLmM6CgkqIGdzdC9pbWFnZWZyZWV6ZS9nc3RpbWFnZWZyZWV6ZS5oOgoJKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYzoKCSogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmg6CgkqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzoKCSogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5oOgoJKiBnc3QvaW50ZXJsZWF2ZS9wbHVnaW4uYzoKCSogZ3N0L2ludGVybGVhdmUvcGx1Z2luLmg6CgkqIGdzdC9pc29tcDQvYXRvbXMuYzoKCSogZ3N0L2lzb21wNC9hdG9tcy5oOgoJKiBnc3QvaXNvbXA0L2F0b21zcmVjb3ZlcnkuYzoKCSogZ3N0L2lzb21wNC9hdG9tc3JlY292ZXJ5Lmg6CgkqIGdzdC9pc29tcDQvZGVzY3JpcHRvcnMuYzoKCSogZ3N0L2lzb21wNC9kZXNjcmlwdG9ycy5oOgoJKiBnc3QvaXNvbXA0L2ZvdXJjYy5oOgoJKiBnc3QvaXNvbXA0L2Z0eXBjYy5oOgoJKiBnc3QvaXNvbXA0L2dzdHF0bW9vdnJlY292ZXIuYzoKCSogZ3N0L2lzb21wNC9nc3RxdG1vb3ZyZWNvdmVyLmg6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXgtZG9jLmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXgtZG9jLmg6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5oOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4bWFwLmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXhtYXAuaDoKCSogZ3N0L2lzb21wNC9nc3RydHB4cXRkZXBheS5jOgoJKiBnc3QvaXNvbXA0L2dzdHJ0cHhxdGRlcGF5Lmg6CgkqIGdzdC9pc29tcDQvaXNvbXA0LXBsdWdpbi5jOgoJKiBnc3QvaXNvbXA0L3Byb3BlcnRpZXMuYzoKCSogZ3N0L2lzb21wNC9wcm9wZXJ0aWVzLmg6CgkqIGdzdC9pc29tcDQvcXRhdG9tcGFyc2VyLmg6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguaDoKCSogZ3N0L2lzb21wNC9xdGRlbXV4X2R1bXAuYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4X2R1bXAuaDoKCSogZ3N0L2lzb21wNC9xdGRlbXV4X2ZvdXJjYy5oOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXhfbGFuZy5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXhfbGFuZy5oOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXhfdHlwZXMuYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4X3R5cGVzLmg6CgkqIGdzdC9pc29tcDQvcXRwYWxldHRlLmg6CgkqIGdzdC9sYXcvYWxhdy1kZWNvZGUuYzoKCSogZ3N0L2xhdy9hbGF3LWRlY29kZS5oOgoJKiBnc3QvbGF3L2FsYXctZW5jb2RlLmM6CgkqIGdzdC9sYXcvYWxhdy1lbmNvZGUuaDoKCSogZ3N0L2xhdy9hbGF3LmM6CgkqIGdzdC9sYXcvbXVsYXctZGVjb2RlLmM6CgkqIGdzdC9sYXcvbXVsYXctZGVjb2RlLmg6CgkqIGdzdC9sYXcvbXVsYXctZW5jb2RlLmM6CgkqIGdzdC9sYXcvbXVsYXctZW5jb2RlLmg6CgkqIGdzdC9sYXcvbXVsYXcuYzoKCSogZ3N0L2xldmVsL2dzdGxldmVsLmM6CgkqIGdzdC9sZXZlbC9nc3RsZXZlbC5oOgoJKiBnc3QvbWF0cm9za2EvZWJtbC1pZHMuaDoKCSogZ3N0L21hdHJvc2thL2VibWwtcmVhZC5jOgoJKiBnc3QvbWF0cm9za2EvZWJtbC1yZWFkLmg6CgkqIGdzdC9tYXRyb3NrYS9lYm1sLXdyaXRlLmM6CgkqIGdzdC9tYXRyb3NrYS9lYm1sLXdyaXRlLmg6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguaDoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmg6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5oOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmg6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uaDoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLmM6CgkqIGdzdC9tYXRyb3NrYS93ZWJtLW11eC5jOgoJKiBnc3QvbWF0cm9za2Evd2VibS1tdXguaDoKCSogZ3N0L21vbm9zY29wZS9jb252b2x2ZS5jOgoJKiBnc3QvbW9ub3Njb3BlL2NvbnZvbHZlLmg6CgkqIGdzdC9tb25vc2NvcGUvZ3N0bW9ub3Njb3BlLmM6CgkqIGdzdC9tb25vc2NvcGUvZ3N0bW9ub3Njb3BlLmg6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuaDoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzcmMuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzcmMuaDoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdGZpbGVzcmMuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdGZpbGVzcmMuaDoKCSogZ3N0L211bHRpZmlsZS9wYXR0ZXJuc3BlYy5jOgoJKiBnc3QvbXVsdGlmaWxlL3BhdHRlcm5zcGVjLmg6CgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0LmM6CgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5oOgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydG11eC5jOgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydG11eC5oOgoJKiBnc3QvcnRwL2ZudjFoYXNoLmM6CgkqIGdzdC9ydHAvZm52MWhhc2guaDoKCSogZ3N0L3J0cC9nc3Rhc3Rlcmlza2gyNjMuYzoKCSogZ3N0L3J0cC9nc3Rhc3Rlcmlza2gyNjMuaDoKCSogZ3N0L3J0cC9nc3RydHAuYzoKCSogZ3N0L3J0cC9nc3RydHBMMTZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cEwxNmRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwTDE2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwTDE2cGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwYWMzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhYzNkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGFjM3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFjM3BheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBhbXJwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhbXJwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBidmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYnZkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGJ2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYnZwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBjZWx0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBjZWx0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwY2hhbm5lbHMuYzoKCSogZ3N0L3J0cC9nc3RydHBjaGFubmVscy5oOgoJKiBnc3QvcnRwL2dzdHJ0cGR2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBkdmRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwZHZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBkdnBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjJkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjJkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjJwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzIycGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyM2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyM2RlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyM3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjNwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBnNzI2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyOWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyOWRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyOXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjlwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBnc21kZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbWRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwZ3N0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc3RkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGdzdHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzdHBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBpbGJjZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBpbGJjZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBpbGJjcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaWxiY3BheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGoya2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwajJrZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBqMmtwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqMmtwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBqcGVnZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqcGVnZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBqcGVncGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwanBlZ3BheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMXNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMXNkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMnRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMnRkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMnRwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDJ0cGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0YWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0YWRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0YXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGFwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcDRnZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRnZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcDRncGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z3BheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDR2cGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcGFkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYXJvYnVzdGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhcm9idXN0ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcHZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wdmRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXB2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXB2cGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtYXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbXVkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbXVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBxY2VscGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcWNlbHBkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHFkbWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcWRtZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBzaXJlbmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc2lyZW5kZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHNpcmVucGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc2lyZW5wYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBzcGVleGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzdjN2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzdjN2ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYWRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc3BheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2cmF3cGF5Lmg6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaDoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5oOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtYW5hZ2VyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5oOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uaDoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5oOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmg6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmg6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmg6CgkqIGdzdC9ydHNwL2dzdHJ0cGRlYy5jOgoJKiBnc3QvcnRzcC9nc3RydHBkZWMuaDoKCSogZ3N0L3J0c3AvZ3N0cnRzcC5jOgoJKiBnc3QvcnRzcC9nc3RydHNwLmg6CgkqIGdzdC9ydHNwL2dzdHJ0c3BleHQuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcGV4dC5oOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuaDoKCSogZ3N0L3NtcHRlL2JhcmJveHdpcGVzLmM6CgkqIGdzdC9zbXB0ZS9nc3RtYXNrLmM6CgkqIGdzdC9zbXB0ZS9nc3RtYXNrLmg6CgkqIGdzdC9zbXB0ZS9nc3RzbXB0ZS5jOgoJKiBnc3Qvc21wdGUvZ3N0c21wdGUuaDoKCSogZ3N0L3NtcHRlL2dzdHNtcHRlYWxwaGEuYzoKCSogZ3N0L3NtcHRlL2dzdHNtcHRlYWxwaGEuaDoKCSogZ3N0L3NtcHRlL3BhaW50LmM6CgkqIGdzdC9zbXB0ZS9wYWludC5oOgoJKiBnc3Qvc21wdGUvcGx1Z2luLmM6CgkqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uaDoKCSogZ3N0L3VkcC9nc3RkeW51ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0ZHludWRwc2luay5oOgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5oOgoJKiBnc3QvdWRwL2dzdHVkcC5jOgoJKiBnc3QvdWRwL2dzdHVkcC5oOgoJKiBnc3QvdWRwL2dzdHVkcG5ldHV0aWxzLmM6CgkqIGdzdC91ZHAvZ3N0dWRwbmV0dXRpbHMuaDoKCSogZ3N0L3VkcC9nc3R1ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0dWRwc2luay5oOgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5oOgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94Lmg6CgkqIGdzdC92aWRlb2Nyb3AvZ3N0YXNwZWN0cmF0aW9jcm9wLmM6CgkqIGdzdC92aWRlb2Nyb3AvZ3N0YXNwZWN0cmF0aW9jcm9wLmg6CgkqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmM6CgkqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmg6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3RnYW1tYS5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0Z2FtbWEuaDoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvYmFsYW5jZS5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9iYWxhbmNlLmg6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZsaXAuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmxpcC5oOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9tZWRpYW4uYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvbWVkaWFuLmg6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb3RlbXBsYXRlLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9wbHVnaW4uYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmQuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmQuaDoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuaDoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjJwYWQuaDoKCSogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuYzoKCSogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuaDoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5oOgoJKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOgoJKiBnc3QveTRtL2dzdHk0bWVuY29kZS5oOgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRwbHVnaW4uYzoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmg6CgkqIHN5cy9vc3MvY29tbW9uLmg6CgkqIHN5cy9vc3MvZ3N0b3NzYXVkaW8uYzoKCSogc3lzL29zcy9nc3Rvc3NkbWFidWZmZXIuYzoKCSogc3lzL29zcy9nc3Rvc3NkbWFidWZmZXIuaDoKCSogc3lzL29zcy9nc3Rvc3NoZWxwZXIuYzoKCSogc3lzL29zcy9nc3Rvc3NoZWxwZXIuaDoKCSogc3lzL29zcy9nc3Rvc3NzaW5rLmM6CgkqIHN5cy9vc3MvZ3N0b3Nzc2luay5oOgoJKiBzeXMvb3NzL2dzdG9zc3NyYy5jOgoJKiBzeXMvb3NzL2dzdG9zc3NyYy5oOgoJKiBzeXMvb3NzNC9vc3M0LWF1ZGlvLmM6CgkqIHN5cy9vc3M0L29zczQtYXVkaW8uaDoKCSogc3lzL29zczQvb3NzNC1wcm9wZXJ0eS1wcm9iZS5jOgoJKiBzeXMvb3NzNC9vc3M0LXByb3BlcnR5LXByb2JlLmg6CgkqIHN5cy9vc3M0L29zczQtc2luay5jOgoJKiBzeXMvb3NzNC9vc3M0LXNpbmsuaDoKCSogc3lzL29zczQvb3NzNC1zb3VyY2UuYzoKCSogc3lzL29zczQvb3NzNC1zb3VyY2UuaDoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb2VsZW1lbnQuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvZWxlbWVudC5oOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zaW5rLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NpbmsuaDoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc3JjLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NyYy5oOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4Y29yZWF1ZGlvLmg6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hyaW5nYnVmZmVyLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hyaW5nYnVmZmVyLmg6CgkqIHN5cy9vc3h2aWRlby9jb2NvYXdpbmRvdy5oOgoJKiBzeXMvb3N4dmlkZW8vY29jb2F3aW5kb3cubToKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5oOgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpby5jOgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlci5jOgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlci5oOgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlcmN0cmwuYzoKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXJjdHJsLmg6CgkqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVyb3B0aW9ucy5jOgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlcm9wdGlvbnMuaDoKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXJ0cmFjay5jOgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlcnRyYWNrLmg6CgkqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NpbmsuYzoKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvc2luay5oOgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zcmMuYzoKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvc3JjLmg6CgkqIHN5cy92NGwyL2dzdHY0bDIuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMmNvbG9yYmFsYW5jZS5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyY29sb3JiYWxhbmNlLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwycmFkaW8uYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnJhZGlvLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5oOgoJKiBzeXMvdjRsMi9nc3R2NGwydHVuZXIuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnR1bmVyLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb292ZXJsYXkuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvb3ZlcmxheS5oOgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkb3JpZW50LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRvcmllbnQuaDoKCSogc3lzL3Y0bDIvdHVuZXIuYzoKCSogc3lzL3Y0bDIvdHVuZXIuaDoKCSogc3lzL3Y0bDIvdHVuZXJjaGFubmVsLmM6CgkqIHN5cy92NGwyL3R1bmVyY2hhbm5lbC5oOgoJKiBzeXMvdjRsMi90dW5lcm5vcm0uYzoKCSogc3lzL3Y0bDIvdHVuZXJub3JtLmg6CgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5oOgoJKiBzeXMvd2F2ZWZvcm0vZ3N0d2F2ZWZvcm1wbHVnaW4uYzoKCSogc3lzL3dhdmVmb3JtL2dzdHdhdmVmb3Jtc2luay5jOgoJKiBzeXMvd2F2ZWZvcm0vZ3N0d2F2ZWZvcm1zaW5rLmg6CgkqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6CgkqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmg6CgkqIHN5cy94aW1hZ2UveGltYWdldXRpbC5jOgoJKiBzeXMveGltYWdlL3hpbWFnZXV0aWwuaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYWFjcGFyc2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYWMzcGFyc2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYWxwaGFjb2xvci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hbXJwYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hcGV2Mm11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hc3BlY3RyYXRpb2Nyb3AuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9hbXBsaWZ5LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvZHluYW1pYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2VjaG8uYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9pbnZlcnQuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9wYW5vcmFtYS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdXRvZGV0ZWN0LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F2aW11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdmlzdWJ0aXRsZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYXBzc2V0dGVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2RlaW50ZXJsYWNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2RlaW50ZXJsZWF2ZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9mbGFjcGFyc2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZmx2ZGVtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZmx2bXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dka3BpeGJ1ZnNpbmsuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaWN5ZGVtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaWQzZGVtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaWQzdjJtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaW1hZ2VmcmVlemUuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaW50ZXJsZWF2ZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9qcGVnZGVjLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2pwZWdlbmMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbGV2ZWwuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbWF0cm9za2FtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbWF0cm9za2FwYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGVnYXVkaW9wYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tdWx0aWZpbGUuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcGFyc2VyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3BhcnNlci5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9xdG11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHAtcGF5bG9hZGluZy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBiaW4uYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwYmluX2J1ZmZlcl9saXN0LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGppdHRlcmJ1ZmZlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zaGFwZXdpcGUuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc291cGh0dHBzcmMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc3BlY3RydW0uYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc3VuYXVkaW8uYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdWRwc2luay5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy91ZHBzcmMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9jcm9wLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvZmlsdGVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZwOGRlYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92cDhlbmMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvd2F2cGFja2RlYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy93YXZwYWNrZW5jLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3dhdnBhY2twYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy95NG1lbmMuYzoKCSogdGVzdHMvY2hlY2svZ2VuZXJpYy9zdGF0ZXMuYzoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL2VmZmVjdHYuYzoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL2ZsYWNkZWMuYzoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3NpbXBsZS1sYXVuY2gtbGluZXMuYzoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3RhZ3NjaGVja2luZy5jOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvd2F2ZW5jLmM6CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy93YXZwYWNrLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2F1ZGlvZngvZmlyZmlsdGVyLWV4YW1wbGUuYzoKCSogdGVzdHMvZXhhbXBsZXMvYXVkaW9meC9paXJmaWx0ZXItZXhhbXBsZS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jYWlyby9jYWlyb19vdmVybGF5LmM6CgkqIHRlc3RzL2V4YW1wbGVzL2xldmVsL2xldmVsLWV4YW1wbGUuYzoKCSogdGVzdHMvZXhhbXBsZXMvcHVsc2UvcHVsc2UuYzoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL2NsaWVudC1QQ01BLmM6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9zZXJ2ZXItYWxzYXNyYy1QQ01BLmM6CgkqIHRlc3RzL2V4YW1wbGVzL3NoYXBld2lwZS9zaGFwZXdpcGUtZXhhbXBsZS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9zcGVjdHJ1bS9kZW1vLWF1ZGlvdGVzdC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9zcGVjdHJ1bS9kZW1vLW9zc3NyYy5jOgoJKiB0ZXN0cy9leGFtcGxlcy9zcGVjdHJ1bS9zcGVjdHJ1bS1leGFtcGxlLmM6CgkqIHRlc3RzL2V4YW1wbGVzL3Y0bDIvY2FtY3RybC5jOgoJKiB0ZXN0cy9pY2xlcy9lcXVhbGl6ZXItdGVzdC5jOgoJKiB0ZXN0cy9pY2xlcy9nZGtwaXhidWZzaW5rLXRlc3QuYzoKCSogdGVzdHMvaWNsZXMvdGVzdC1vc3M0LmM6CgkqIHRlc3RzL2ljbGVzL3Y0bDJzcmMtdGVzdC5jOgoJKiB0ZXN0cy9pY2xlcy92aWRlb2JveC10ZXN0LmM6CgkqIHRlc3RzL2ljbGVzL3ZpZGVvY3JvcC10ZXN0LmM6CgkqIHRlc3RzL2ljbGVzL3ZpZGVvY3JvcDItdGVzdC5jOgoJKiB0ZXN0cy9pY2xlcy94aW1hZ2VzcmMtdGVzdC5jOgoJICBGaXggRlNGIGFkZHJlc3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NzUyMAoKMjAxMi0xMS0wMiAxODo0NzoyNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwdnJhd2RlcGF5LmM6CgkgIHZyYXdkZXBheTogZG9uJ3QgYWNjZXNzIHJ0cCBidWZmZXIgYWZ0ZXIgdW5tYXAKCSAgUmVhZCB0aGUgbWFya2VyIGJpdCBiZWZvcmUgd2UgdW5tYXAgdGhlIHJ0cCBwYWNrZXQuCgoyMDEyLTExLTAyIDA5OjM0OjI1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cHgvZ3N0dnA4ZGVjLmM6CgkgIHZwOGRlYzogSW1tZWRpYXRlbHkgcmV0dXJuIGlmIG9wZW5pbmcgdGhlIGRlY29kZXIgZmFpbGVkCgkgIEluc3RlYWQgb2YgaWdub3JpbmcgYW55IGVycm9ycy4KCjIwMTItMTEtMDEgMjI6MDI6MzkgKzAxMDAgIERlYmFyc2hpIFJheSA8cmlzaGlAZ251Lm9yZz4KCgkqIGV4dC92cHgvZ3N0dnA4ZGVjLmM6CgkgIHZwOGRlYzogU2hvcnQgY2lyY3VpdCBnc3RfdnA4X2RlY19oYW5kbGVfZnJhbWUgaWYga2V5ZnJhbWUgaXMgbWlzc2luZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg3Mzc2CgoyMDEyLTExLTAyIDEwOjUzOjU3ICsxMzAwICBEb3VnbGFzIEJhZ25hbGwgPGRvdWdsYXNAcGFyYWRpc2UubmV0Lm56PgoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmQuYzoKCSAgdmlkZW9jb252ZXJ0OiBDb21wYXJlIHkgb2Zmc2V0IHdpdGggaGVpZ2h0LCBub3Qgd2lkdGgsIHdoZW4gdGVzdGluZyBmb3Igb3ZlcmxhcAoJICBUaGlzIGNvdWxkIGhhdmUgcHJldmVudGVkIGltYWdlcyBzaG93aW5nIHRoYXQgc2hvdWxkIGhhdmUgd2hlbiB0aGUKCSAgc291cmNlIGhlaWdodCBpcyBncmVhdGVyIHRoYW4gaXRzIHdpZHRoLgoJICBXaGVuIHdpZHRoIGV4Y2VlZHMgaGVpZ2h0LCBhcyBpcyBjb21tb24sIGl0IHByb2JhYmx5IG9ubHkgY2F1c2VkIGEKCSAgbWluaXNjdWxlIGFtb3VudCBvZiB1bm5lY2Vzc2FyeSB3b3JrLiAgSSBoYXZlbid0IHRlc3RlZC4KCjIwMTItMTEtMDEgMjE6MDk6NTYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvcnRwL2dzdHJ0cHZwOGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnA4ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHB2cDhwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2cDhwYXkuaDoKCSAgcnRwdnA4OiBpbmNsdWRlIGNvbmZpZy5oIGFuZCBtaW5vciBzdHlsZSBmaXhlcwoKMjAxMi0xMS0wMSAyMDoxMzo0MyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkgIHJ0cDogZml4IHRhYnMvc3BhY2UgbWVzcyBpbiBNYWtlZmlsZS5hbQoKMjAxMi0xMS0wMSAyMDowNTo0OSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHAvZ3N0cnRwLmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnA4LmM6CgkgIHJ0cDogbW92ZSBWUDggcGF5bG9hZGVyIGFuZCBkZXBheWxvYWRlciBmcm9tIC1iYWQKCSAgU3BlYyBpcyBzdGlsbCBpbiBkcmFmdCBzdGF0ZSwgYnV0IHNob3VsZCBob3BlZnVsbHkgbm90CgkgIGNoYW5nZSBtdWNoIG5vdy4gQmVzaWRlcywgd2UgYW5ub3VuY2UgdGhpbmdzIGFzIFZQOC1EUkFGVC1JRVRGLTAxCgkgIGluIG91ciBjYXBzLCBzbyBldmVuIGlmIHRoaW5ncyBjaGFuZ2UgaW4gaW5jb21wYXRpYmxlIHdheXMgaXQKCSAgc2hvdWxkIG5vdCBicmVhayBhbnl0aGluZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NzI2MwoKMjAxMi0xMC0xNyAxNzozNDoyNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cHZwOGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnA4cGF5LmM6CgkgIHJ0cHZwODogdXNlIGdzdF9lbGVtZW50X2NsYXNzX3NldF9zdGF0aWNfbWV0YWRhdGEoKQoJICB3aGVyZSBwb3NzaWJsZS4gQXZvaWRzIHNvbWUgc3RyaW5nIGNvcGllcy4gQWxzbyByZS1pbmRlbnQKCSAgc29tZSBzdHVmZi4gQWxzbyBzb21lIGluZGVudCBmaXhlcyBoZXJlIGFuZCB0aGVyZS4KCjIwMTItMDktMTQgMTc6MDg6NDkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHB2cDhwYXkuYzoKCSAgcnRwdnA4OiByZXBsYWNlIGdzdF9lbGVtZW50X2NsYXNzX3NldF9kZXRhaWxzX3NpbXBsZSB3aXRoIGdzdF9lbGVtZW50X2NsYXNzX3NldF9tZXRhZGF0YQoKMjAxMi0wNC0wNSAxODowMjo1NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cHZwOC5jOgoJICBydHB2cDg6IHVwZGF0ZSBmb3IgR1NUX1BMVUdJTl9ERUZJTkUoKSBBUEkgY2hhbmdlcwoKMjAxMi0wMy0yOCAxMjo0OTo1NCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwdnA4cGF5LmM6CgkgIHJ0cHZwODogdXBkYXRlIGZvciBidWZmZXIgY2hhbmdlcwoKMjAxMi0wMy0wMSAxNDo1OTo1NSAtMDMwMCAgRGFuaWxvIENlc2FyIExlbWVzIGRlIFBhdWxhIDxkYW5pbG8uY2VzYXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHB2cDhkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZwOHBheS5jOgoJICBydHB2cDg7IGZpeCBjb21wYXRpYmlsaXR5IHdpdGggdGhlIHRoaXJkIGRyYWZ0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzEwNzMKCjIwMTItMDEtMjUgMTY6MjA6NDEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHB2cDhwYXkuYzoKCSAgcnRwdnA4OiBwb3J0IHNvbWUgbW9yZSB0byBuZXcgbWVtb3J5IEFQSQoKMjAxMi0wMS0yNSAxMDo0NTo1MSArMDEwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwdnA4ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2cDhkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHZwOHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZwOHBheS5oOgoJICBydHB2cDg6IHBvcnQgdG8gMC4xMQoKMjAxMS0xMC0wMyAxMjowNjoyNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cHZwOHBheS5jOgoJICBydHB2cDhwYXk6IEZpeCB0eXBvCgoyMDExLTA5LTIzIDIyOjU4OjMwICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHB2cDhkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZwOHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZwOHBheS5oOgoJICBydHB2cDg6IFVwZGF0ZSB0aGUgcGF5L2RlcGF5IHRvIHRoZSBpZXRmLWRyYWZ0LTAxIHNwZWMKCjIwMTEtMDktMTAgMTE6MzE6MjAgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9kYm9vbGh1ZmYuYzoKCSogZ3N0L3J0cC9kYm9vbGh1ZmYuaDoKCSogZ3N0L3J0cC9nc3RydHB2cDhwYXkuYzoKCSAgcnRwdnA4OiBmaXggYml0c3RyZWFtIHBhcnNpbmcgdXNpbmcgdGhlIHdyb25nIGtpbmQgb2YgYml0cmVhZGVyCgkgIFZQOCB1c2VzIGEgcHJvYmFiaWxpc3RpYyBib29sIGNvZGVyLCBub3QgYSBzdHJhaWdodCBiaXQgY29kZXIuCgkgIFRoaXMgZml4ZXMgcGFyc2luZyB3aGVuIGVycm9yLXJlc2lsaWVudCBpcyBzZXQuCgkgIFRoaXMgY29tbWl0IGluY2x1ZGVzIGEgY29weSBvZiBsaWJ2cHgncyBib29sIGNvZGVyLCBCU0QgbGljZW5zZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTI2OTQKCjIwMTEtMDctMTIgMTg6MDM6NTMgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHZwOHBheS5jOgoJICBydHB2cDg6IFJlamVjdCB1bmtub3duIGJpdHN0cmVhbSB2ZXJzaW9ucwoKMjAxMS0wMy0wNCAxMTo1OTo0NCArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cHZwOHBheS5jOgoJICBydHB2cDg6IEZpeCB1bml0aWFsaXplZCB2YXJpYWJsZQoJICBNYWtlcyBtYWNvc3ggY29tcGlsZXIgaGFwcHkuCgoyMDExLTAxLTIzIDE3OjAyOjM4ICswMDAwICBTam9lcmQgU2ltb25zIDxzam9lcmRAbHVvbi5uZXQ+CgoJKiBnc3QvcnRwL2dzdHJ0cHZwOGRlcGF5LmM6CgkgIHJ0cHZwOGRlcGF5OiBBY2NlcHQgcGFja2V0cyB3aXRoIG9ubHkgb25lIGJ5dGUgb2YgZGF0YQoJICBXaGVuIGZyYWdtZW50aW5nIHBhcnRpb25zIGl0IGNhbiBoYXBwZW4gdGhhdCBhbiBSVFAgcGFja2V0IG9ubHkgY2FyaWVzIDEKCSAgYnl0ZSBvZiBSVFAgZGF0YS4KCjIwMTEtMDEtMjMgMTY6NDI6MTcgKzAwMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZEBsdW9uLm5ldD4KCgkqIGdzdC9ydHAvZ3N0cnRwdnA4cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnA4cGF5Lmg6CgkgIHJ0cHZwOHBheTogVHJlYXQgdGhlIGZyYW1lIGhlYWRlciBqdXN0IGxpa2UgYW55IG90aGVyIHBhcnRpdGlvbgoJICBXaGVuIHNldHRpbmcgdXAgdGhlIGluaXRpYWwgbWFwcGluZyBqdXN0IGFjdCBhcyBpZiB0aGUgZ2xvYmFsIGZyYW1lCgkgIGluZm9ybWF0aW9uIGlzIGFub3RoZXIgcGFydGl0aW9uLiBUaGlzIHNhdmVzIHNwZWNpYWwtY2FzaW5nIGl0IGxhdGVyIGluCgkgIHRoZSBhY3R1YWwgcGFja2V0aXppbmcgY29kZS4KCjIwMTAtMDUtMTYgMTc6MjM6MTcgKzAxMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZEBsdW9uLm5ldD4KCgkqIGdzdC9ydHAvZGJvb2xodWZmLkxJQ0VOU0U6CgkqIGdzdC9ydHAvZ3N0cnRwdnA4LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnA4ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2cDhkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHZwOHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZwOHBheS5oOgoJICBydHB2cDg6IEFkZCBzaW1wbGUgcGF5bG9hZGVycyBhbmQgZGVwYXlsb2FkZXJzIGZvciBWUDgKCSAgTWluaW1hbCBpbXBsZW1lbnRhdGlvbiBvZiBodHRwOi8vd3d3LndlYm1wcm9qZWN0Lm9yZy9jb2RlL3NwZWNzL3J0cC8sCgkgIHZlcnNpb24gMC4zLjIKCjIwMTItMTEtMDEgMTg6NDI6MzkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGdzdHBheS5jOgoJICBnc3RwYXk6IGZpeCBmb3IgMS4wIGV2ZW50cwoJICBDYXBzIGV2ZW50cyBhcmUgc29tZXRpbWVzIG5vdCBmb2xsb3dlZCBieSBhIGJ1ZmZlciBidXQgYnkgYW4gZXZlbnQuIEZsdXNoIGFueQoJICBwZW5kaW5nIGNhcHMgYmVmb3JlIHdlIG1ha2UgYSBwYWNrZXQgd2l0aCB0aGUgZXZlbnQuCgkgIENoYWluIHVwIHRvIHRoZSBwYXJlbnQgZXZlbnQgaGFuZGxlciBiZWZvcmUgd2UgYXR0ZW1wdCB0byBwdXNoIFJUUCBwYWNrZXRzLCBpdAoJICBtaWdodCBiZSBhIHNlZ21lbnQgZXZlbnQuCgoyMDEyLTExLTAxIDE4OjQyOjI0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBnc3RkZXBheS5jOgoJICBnc3RkZXBheTogZml4IHNtYWxsIGxlYWsKCjIwMTItMTEtMDEgMTc6NDQ6MTEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGdzdGRlcGF5LmM6CgkgIGdzdGRlcGF5OiBhZGQgc3VwcG9ydCBmb3IgZXZlbnRzCgkgIENvbmZsaWN0czoKCSAgZ3N0L3J0cC9nc3RydHBnc3RkZXBheS5jCgoyMDEyLTExLTAxIDE3OjQwOjMxICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBnc3RwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc3RwYXkuaDoKCSAgcnRwZ3N0cGF5OiBhZGQgc3VwcG9ydCBmb3Igc2VuZGluZyBldmVudHMKCSAgV2UgY3VycmVudGx5IG9ubHkgc2VuZCB0YWdzIGFuZCBjdXN0b20gZXZlbnRzLiBUaGUgb3RoZXIgZXZlbnRzCgkgIG1pZ2h0IGludGVyZmVyZSB3aXRoIHRoZSByZWNlaXZlciB0aW1pbmdzIG9yIGFyZSBvdGhlcndpc2UgaGFuZGxlZAoJICBieSBSVFAuCgkgIENvbmZsaWN0czoKCSAgZ3N0L3J0cC9nc3RydHBnc3RwYXkuYwoKMjAxMi0xMS0wMSAxNTo1NDo1OCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwZ3N0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3N0cGF5Lmg6CgkgIGdzdHBheTogcmV3cml0ZSBwYXlsb2FkZXIKCSAgVXNlIGFkYXB0ZXIgdG8gYXNzZW1ibGUgdGhlIHBheWxvYWQgYW5kIG1ha2UgYSBmbHVzaCBmdW5jdGlvbiB0bwoJICB0dXJuIHRoaXMgcGF5bG9hZCBpbnRvIChmcmFnbWVudGVkKSBwYWNrZXRzLgoJICBDb25mbGljdHM6CgkgIGdzdC9ydHAvZ3N0cnRwZ3N0cGF5LmMKCSAgZ3N0L3J0cC9nc3RydHBnc3RwYXkuaAoKMjAxMi0xMS0wMSAxMzowMzo0NCArMDAwMCAgRG91Z2xhcyBCYWduYWxsIDxkb3VnbGFzQHBhcmFkaXNlLm5ldC5uej4KCgkqIGdzdC92aWRlb21peGVyL2JsZW5kLmM6CgkgIHZpZGVvbWl4ZXI6IGdldCBoZWlnaHQgdmlhIEdTVF9WSURFT19GUkFNRV9IRUlHSFQsIG5vdCBfV0lEVEgKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NzMzMAoKMjAxMi0xMS0wMSAxMzowMjoxNiArMDAwMCAgRG91Z2xhcyBCYWduYWxsIDxkb3VnbGFzQHBhcmFkaXNlLm5ldC5uej4KCgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOgoJICB2aWRlYm94OiBmaXggYm9yZGVyIGZpbGxpbmcgZm9yIGdyYXkgZm9ybWF0cwoJICBHZXQgdGhlIGhlaWdodCB2aWEgR1NUX1ZJREVPX0ZSQU1FX0hFSUdIVCwgbm90IF9XSURUSC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NzMzMAoKMjAxMi0xMS0wMSAxMTo1ODo1NyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwZ3N0ZGVwYXkuYzoKCSAgZ3N0ZGVwYXk6IGNoZWNrIGZvciBjb3JyZWN0IGZyYWdtZW50IG9mZnNldAoJICBNYWtlIHN1cmUgd2Ugb25seSBpbnNlcnQgdGhlIHJ0cCBwYWNrZXQgaW4gdGhlIGFkYXB0ZXIgd2hlbiB0aGUKCSAgZnJhZ19vZmZzZXQgbWF0Y2hlcy4gV2hlbiB0aGUgZmlyc3QgcGFja2V0IG9mIGEgZnJhZ21lbnQgaXMgZHJvcHBlZCwKCSAgaXQgYXZvaWRzIHB1dHRpbmcgdGhlIHJlbWFpbmluZyBwYWNrZXRzIGluIHRoZSBhZGFwdGVyIGFuZCBwcm9jZXNzaW5nCgkgIHRoZSBwYXJ0aWFsIGZyYWdtZW50LgoJICBDb25mbGljdHM6CgkgIGdzdC9ydHAvZ3N0cnRwZ3N0ZGVwYXkuYwoKMjAxMi0xMS0wMSAxMTo1NDo1MCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwZ3N0cGF5LmM6CgkgIGdzdHBheTogc2V0IEMgZmxhZyBvbiBhbGwgYnVmZmVycyBvZiB0aGUgZnJhZ21lbnQKCSAgU2V0IHRoZSBDIGZsYWdzIG9uIGFsbCB0aGUgZnJhZ21lbnRzIGluc3RlYWQgb2Ygb25seSB0aG9zZSB3aXRoCgkgIGNhcHMgaW4gdGhlbS4gVGhpcyBtYWtlcyBpdCBlYXNpZXIgaW4gdGhlIHJlY2VpdmVyIHRvIGNoZWNrIGlmIHRoZXJlCgkgIGlzIGEgY2FwcyBpbiB0aGUgYXNzZW1ibGVkIGZyYWdtZW50cyBqdXN0IGJ5IGxvb2tpbmcgYXQgdGhlIGxhc3QgUlRQCgkgIHBhY2tldCBmbGFncy4KCjIwMTItMTEtMDEgMTA6NTU6MDMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGdzdGRlcGF5LmM6CgkgIGdzdGRlcGF5OiB1c2UgdGhlIGNhcHN2ZXJzaW9uCgkgIFRha2UgdGhlIGNhcHMgZnJvbSB0aGUgaW5wdXQgY2FwcyBhbmQgc3RvcmUgaXQgaW4gdGhlIHNsb3QgZ2l2ZW4KCSAgYnkgY2Fwc3ZlcnNpb24uCgoyMDEyLTExLTAxIDEwOjUyOjI1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBnc3RwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc3RwYXkuaDoKCSAgZ3N0cGF5OiBzZW5kIGNhcHMgaW5saW5lCgkgIFBsYWNlIHRoZSBjYXBzdmVyc2lvbiBvbiB0aGUgb3V0Z29pbmcgY2FwcyBzbyB0aGF0IHRoZXkgZW5kIHVwIGluCgkgIGFuIFNEUCBhcyB3ZWxsLiBSZWNlaXZlcnMgbmVlZCB0byBrbm93IHdoYXQgY2Fwc3ZlcnNpb24gYSBwYXJ0aWN1bGFyCgkgIGNhcHMgaXMgZm9yIHRvIGJlIGFibGUgdG8gbWF0Y2ggdGhlIGNhcHMgdG8gdGhlIENWIGluIHRoZSBSVFAgcGFja2V0cy4KCSAgUGxhY2UgdGhlIGNhcHMgaW5zaWRlIHRoZSBSVFAgcGFja2V0IHdoZW5ldmVyIHRoZSBjYXBzIGNoYW5nZS4KCSAgQmFzZWQgb24gcGF0Y2ggYnkgQW5kcnplaiBCaWVuaWVrIDxhbmRyemVqLmJpZW5pZWtAcHVyZS5jb20+CgkgIENvbmZsaWN0czoKCSAgZ3N0L3J0cC9nc3RydHBnc3RwYXkuYwoJICBnc3QvcnRwL2dzdHJ0cGdzdHBheS5oCgoyMDEyLTEwLTMxIDE2OjE3OjQ4ICswMDAwICBBbmRyemVqIEJpZW5pZWsgPGFuZHJ6ZWouYmllbmlla0BwdXJlLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwZ3N0cGF5LmM6CgkgIGdzdHBheTogYWRkIGRlYnVnCgkgIENvbmZsaWN0czoKCSAgZ3N0L3J0cC9nc3RydHBnc3RwYXkuYwoKMjAxMi0xMC0zMSAxNjowOToyNiArMDAwMCAgQW5kcnplaiBCaWVuaWVrIDxhbmRyemVqLmJpZW5pZWtAcHVyZS5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGdzdGRlcGF5LmM6CgkgIGRlcGF5OiBjb3JyZWN0bHkgc2tpcCBjYXBzIGhlYWRlciBzaXplCgkgIENvbmZsaWN0czoKCSAgZ3N0L3J0cC9nc3RydHBnc3RkZXBheS5jCgoyMDEyLTA5LTI4IDAwOjQzOjM4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5oOgoJICBtYXRyb3NrYWRlbXV4OiBwdXQgc3RyZWFtaGVhZGVycyBvbiB2b3JiaXMvc3BlZXgvZmxhYy90aGVvcmEgY2FwcyB0byBtYWtlIHJlbXV4aW5nIHdvcmsKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0MDU4OQoKMjAxMi0xMC0yOCAwMDowNzo0NiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJICBwdWxzZXNyYzogZG9uJ3QgYXNzZXJ0IGluIGdldF90aW1lKCkgd2hlbiBjYWxsZWQgYWZ0ZXIgc2h1dGRvd24KCSAgV2hpY2ggbWlnaHQgaGFwcGVuIGlmIHRoZSBzb3VyY2UgZ2V0cyBzZXQgdG8gTlVMTCBzdGF0ZSBiZWZvcmUKCSAgdGhlIHJlc3Qgb2YgdGhlIHBpcGVsaW5lLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg2OTg1CgoyMDEyLTEwLTMwIDExOjEwOjQ5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvbGV2ZWwvbGV2ZWwtZXhhbXBsZS5jOgoJICB0ZXN0czogZml4IGxldmVsIGV4YW1wbGUKCSAgVXNlIHRoZSBHVmFsdWVBcnJheSBpbiB0aGUgbWVzc2FnZS4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NzE1NAoKMjAxMi0xMC0yNyAyMzoyMjozNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9hdXBhcnNlL01ha2VmaWxlLmFtOgoJKiBnc3QvbGV2ZWwvTWFrZWZpbGUuYW06CgkqIGdzdC95NG0vTWFrZWZpbGUuYW06CgkgIGdzdDogZml4IHZhcmlhYmxlIG9yZGVyIGluIHNvbWUgTWFrZWZpbGUuYW0KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NzAxMwoKMjAxMi0xMC0yNyAxNzoyNzoxNiAtMDQwMCAgQW50b2luZSBUcmVtYmxheSA8aGV4YTAwQGdtYWlsLmNvbT4KCgkqIGV4dC9saWJjYWNhL01ha2VmaWxlLmFtOgoJKiBnc3QvYXVwYXJzZS9NYWtlZmlsZS5hbToKCSogZ3N0L2xldmVsL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9jcm9wL01ha2VmaWxlLmFtOgoJKiBnc3QveTRtL01ha2VmaWxlLmFtOgoJICBnc3Q6IGFkZCB2YXJpb3VzIG1pc3NpbmcgR1NUX1BMVUdJTlNfQkFTRV9MSUJTIGluIE1ha2VmaWxlLmFtCgkgIFRob3NlIHBsdWdpbnMgZGVwZW5kIG9uIGVpdGhlciBsaWJnc3RhdWRpbyBvciBsaWJnc3R2aWRlbywKCSAgd2hpY2ggYXJlIGluIGdzdC1wbHVnaW5zLWJhc2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODcwMTMKCjIwMTItMTAtMjcgMTM6MjQ6MjQgKzAxMDAgIEFsZXhleSBGaXNoZXIgPGJ1Zy10cmFja0BmaXNoZXItcHJpdmF0Lm5ldD4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBtYXJrIGludmlzaWJsZSBWUDggZnJhbWVzIHdpdGggdGhlIERFQ09ERV9PTkxZIGZsYWcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1NDI1OQoKMjAxMi0xMC0yNiAxMDo1NToyOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL211bHRpZmlsZS5jOgoJICB0ZXN0czogYWRkIG11bHRpZmlsZXNyYyB0ZXN0IGZvciBmaXggaW4gcHJldmlvdXMgY29tbWl0CgkgIE1ha2Ugc3VyZSB0aGUgc3RvcC1pbmRleCBzZXQgaXMgaG9ub3VyZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTQ4NTMKCjIwMTItMTAtMjYgMTA6MzM6MDMgKzAxMDAgIFN0YXMgU2VyZ2VldiA8c3RzcEBha25ldC5ydT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc3JjLmM6CgkgIG11bHRpZmlsZXNyYzogZml4IHN0b3AgaW5kZXggaGFuZGxpbmcKCSAgTWFrZSBzdXJlIHRoZSBzdG9wIGluZGV4IGlzIGFsd2F5cyBob25vdXJlZC4gQXZvaWRzCgkgIGVuZGxlc3MgbG9vcCBpZiBvbmUgd2FudHMgdG8gcmVhZCBhbmQgb3V0cHV0IHRoZSBzYW1lCgkgIGZpbGUgTiB0aW1lcywgZm9yIGV4YW1wbGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTQ4NTMKCjIwMTItMDgtMjUgMDI6MjY6MjkgKzA0MDAgINCg0YPRgdC70LDQvSDQmNC20LHRg9C70LDRgtC+0LIgPGxybjE5ODZAZ21haWwuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkgIG1hdHJvc2thZGVtdXg6IFN1cHBvcnQgcmVjdXJzaXZlIFNpbXBsZVRhZ3MKCSAgRml4ZXMgIzY4MjY0NAoJICBEZXBlbmRzIG9uICM2ODI2MTUKCjIwMTItMDgtMjQgMTM6NTU6NDEgKzA0MDAgINCg0YPRgdC70LDQvSDQmNC20LHRg9C70LDRgtC+0LIgPGxybjE5ODZAZ21haWwuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5oOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSAgbWF0cm9za2FkZW11eDogRXhwYW5kIHRoZSB0YWcgbWFwcGluZy4KCSAgKiBBbHNvIGV4cG9zZSB1bmtub3duIHRhZ3MgYXMga2V5PXZhbHVlIHBhaXJzLgoJICAqIEFycmFuZ2UgdGFnIG1hcCBpbiB0aGUgc2FtZSBvcmRlciB0YWdzIGFyZSBsaXN0ZWQgaW4gTWF0cm9za2Egc3BlYywgbGVhdmluZwoJICB1bm1hcHBlZCB0YWdzIGFzIGNvbW1lbnRzLgoJICAqIE1vcmUgc3BlY2lmaWMgVE9ET3MuCgkgICogUmVtb3ZlIGR1cGxpY2F0ZSBEQVRFIGRlZmluZS4KCSAgRml4ZXMgIzY4MjYxNQoJICBEZXBlbmRzIG9uICM2ODI1MjQKCjIwMTItMTAtMjYgMTA6MDk6MzkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkgIG1hdHJvc2thZGVtdXg6IEZpeCB1bmluaXRpYWxpemVkIHZhcmlhYmxlIGNvbXBpbGVyIHdhcm5pbmcKCjIwMTItMDgtMjMgMTU6MDc6MjIgKzA0MDAgINCg0YPRgdC70LDQvSDQmNC20LHRg9C70LDRgtC+0LIgPGxybjE5ODZAZ21haWwuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5oOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSAgbWF0cm9za2FkZW11eDogTWF0cm9za2EgdGFnIFRhcmdldFR5cGUgc3VwcG9ydAoJICAqIFJlYWRzIFRhcmdldFR5cGUgYW5kIFRhcmdldFR5cGVWYWx1ZSBmcm9tIGEgVGFnLgoJICAqIEFmdGVyIFRhZyBpcyBjb21wbGV0ZWx5IHJlYWQsIHByb2Nlc3NlcyB0YWdsaXN0LCBzdWJzdGl0dXRpbmcgc29tZSBvZiB0aGUKCSAgdGFncyBkZXBlbmRpbmcgb24gdGFyZ2V0IHR5cGUgdmFsdWUgYW5kIHRoZSBwcmVzZW5jZSBvZiB2aWRlby9zdWJ0aXRsZSBzdHJlYW1zLgoJICAqIFN1cHBvcnRzIHJlYWRpbmcgdHdvIG5ldyBzaW1wbGV0YWdzIC0gUEFSVF9OVU1CRVIgYW5kIFRPVEFMX1BBUlRTCgkgIERlcGVuZHMgb24gIzY4MjQ0OAoJICBGaXhlcyAjNjgyNTI0CgoyMDEyLTA4LTIyIDE1OjMyOjQxICswNDAwICDQoNGD0YHQu9Cw0L0g0JjQttCx0YPQu9Cw0YLQvtCyIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmg6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJICBtYXRyb3NrYWRlbXV4OiBQZXItdHJhY2sgdGFncyBmb3IgTWF0cm9za2EKCSAgUmVxdWlyZXMgTWF0cm9za2EgZmlsZSB0byBoYXZlIHNhbmUgbGF5b3V0ICh0cmFjayBpbmZvIGJlZm9yZSB0YWcgaW5mbykuCgkgIFVzZXMgcmVwbGFjZS1tZXJnZS4KCSAgTWFrZXMgdHJhY2sgVUlEcyA2NC1iaXQuCgkgIEZpeGVzICM2ODI0NDgKCjIwMTItMTAtMjUgMjA6MTg6MzYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNyYy5jOgoJICBtdWx0aWZpbGVzcmM6IGZpeCB0eXBvIGluIHByb3BlcnR5IGRlc2NyaXB0aW9uCgoyMDEyLTEwLTI1IDEyOjE4OjAzIC0wNzAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAcmRpby5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4X2ZvdXJjYy5oOgoJICBxdGRlbXV4OiByZWFkIHZpZGVvIGZvcm1hdCBoZWFkZXIgZnVsbHkgKHNvIHdlIGNhbiBmaW5kICdwYXNwJyBhdG9tcykgZm9yIG1vcmUgZm91cmNjcy4gRml4ZXMgYXNwZWN0IHJhdGlvIG9mIHByb3JlcyBmaWxlcy4KCjIwMTItMTAtMjUgMDA6NDQ6MzQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9pbWFnZWZyZWV6ZS9nc3RpbWFnZWZyZWV6ZS5jOgoJICBpbWFnZWZyZWV6ZTogdGhlIG5ldyBnZXRfY2FwcyBhbHJlYWR5IGRvZXMgdGhlIGZpbHRlciBpbnRlcnNlY3Rpb24KCSAgSXQgc2hvdWxkIGJlIGZhc3RlciB0byBwYXNzIHRoZSBjYXBzIHRvIGludGVyc2VjdCBhcyB0aGUgZmlsdGVyIGNhcHMsCgkgIHJhdGhlciB0aGFuIHVzaW5nIE5VTEwgYW5kIGludGVyc2VjdGluZyAnbWFudWFsbHknIGxhdGVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg2ODM3CgoyMDEyLTEwLTI1IDAwOjQzOjUxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvaW1hZ2VmcmVlemUvZ3N0aW1hZ2VmcmVlemUuYzoKCSAgaW1hZ2VmcmVlemU6IGF2b2lkIGFzc2VydGlvbiB3aGVuIHVzaW5nIGFjY2VwdCBjYXBzIHF1ZXJ5CgkgIFRoaXMgcXVlcnkgbXVzdCByZWNlaXZlIGEgZml4ZWQgY2Fwcywgc28gaW1hZ2VmcmVlemUgc2hvdWxkCgkgIGZpeGF0ZSBpdHMgZnJhbWVyYXRlIGJlZm9yZSBzZW5kaW5nIHRoZSBxdWVyeSBkb3duc3RyZWFtLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg2ODM3CgoyMDEyLTEwLTI1IDEyOjMzOjI0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlzb21wNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZweC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBCYWNrIHRvIGZlYXR1cmUgZGV2ZWxvcG1lbnQKCj09PSByZWxlYXNlIDEuMC4yID09PQoKMjAxMi0xMC0yNSAwMTowMTowOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlzb21wNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZweC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogZ3N0LXBsdWdpbnMtZ29vZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMS4wLjIKCjIwMTItMTAtMjQgMTM6NTA6MDAgKzAyMDAgIEFybmF1ZCBWcmFjIDxhdnJhY0BmcmVlYm94LmZyPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHVzZSBjb3JyZWN0IHR5cGUgZm9yIGNoYW5uZWwtbWFzayBiaXRtYXNrCgkgIEZpeGVzIGNyYXNoIG9uIDMyLWJpdCBzeXN0ZW1zLgoKMjAxMi0xMC0yNCAxMToxNzo1NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogRmx1c2ggdGhlIHJpbmdidWZmZXIgb24gR0FQIGV2ZW50cyB3aXRob3V0IGR1cmF0aW9uCgkgIFRoaXMgaXMgcmVxdWlyZWQgdG8gcHJvcGVybHkgc3RhcnQgdGhlIHJpbmdidWZmZXIgYW5kIGNsb2NrLgoKMjAxMi0xMC0wMiAyMDo1MToyOSArMDIwMCAgT2xla3NpaiBSZW1wZWwgPGJ1Zy10cmFja0BmaXNoZXItcHJpdmF0Lm5ldD4KCgkqIGV4dC92cHgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogc2V0IERFQ09ERV9PTkxZIGZsYWcgb24gaW52aXNpYmxlIEFsdFJlZiBmcmFtZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1NDIxNgoKMjAxMi0xMC0yMyAxNjowMjowNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IGZpeCBjb3ZlcmFydCBleHRyYWN0aW9uIGlmIHZvcmJpcyBjb21tZW50cyBjb21lIGFmdGVyIHBpY3R1cmUgaGVhZGVyCgkgIFNlZSBzYW1wbGUgZmlsZSBmb3IgYnVnICM2ODQ3MDEuCgoyMDEyLTEwLTIzIDEzOjQ1OjE3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogaWdub3JlIGJhZCBoZWFkZXJzIGlmIHdlIGhhdmUgYSB2YWxpZCBTVFJFQU1JTkZPIGhlYWRlcgoJICBJZiB3ZSBydW4gaW50byBhbnkgaGVhZGVyIHBhcnNpbmcgaXNzdWVzIGFuZCB3ZSBoYXZlIGEgdmFsaWQKCSAgU1RSRUFNSU5GTyBoZWFkZXIgYWxyZWFkeSwgZG9uJ3QgZXJyb3Igb3V0LCBidXQganVzdCBzdG9wCgkgIGhlYWRlciBwYXJzaW5nIGFuZCB0cnkgdG8gZmluZCBzb21lIGF1ZGlvIGZyYW1lcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NDcwMQoKMjAxMi0xMC0yMyAxMzo0MzoxMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IHBvc3QgcHJvcGVyIGVycm9yIG1lc3NhZ2UgYW5kIGZpeCBidWZmZXIgbGVhayBvbiBoZWFkZXIgcGFyc2luZyBlcnJvcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg0NzAxCgoyMDEyLTEwLTIyIDIyOjMyOjQ5IC0wNzAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAcmRpby5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogd2l0aCByYXcgYXVkaW8sIHNldCBhIGRlZmF1bHQgY2hhbm5lbC1tYXNrIGZvciBtdWx0aWNoYW5uZWwgYXVkaW8uIFRoaXMgZG9lc24ndCBhY3R1YWxseSBwYXJzZSAnY2hhbicgYmVjYXVzZSBpdCdzIGFic3VyZGx5IGNvbXBsZXguCgoyMDEyLTEwLTIyIDE1OjU0OjE3ICswMjAwICBTZWJhc3RpYW4gUmFzbXVzc2VuIDxzZWJybkBheGlzLmNvbT4KCgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIHVwZHNyYzogZml4IHR5cG8gY2F1c2luZyBjb21waWxhdGlvbiBlcnJvcgoJICBnc3R1ZHBzcmMuYzogSW4gZnVuY3Rpb24gJ2dzdF91ZHBzcmNfY3JlYXRlJzoKCSAgZ3N0dWRwc3JjLmM6MzY1OiBlcnJvcjogJ3JldCcgbWF5IGJlIHVzZWQgdW5pbml0aWFsaXplZCBpbiB0aGlzIGZ1bmN0aW9uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODY2NDIKCjIwMTItMTAtMjIgMTE6NTU6NTkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aV8gZml4IGludmVydCBmdW5jdGlvbgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg2NTUwCgoyMDEyLTEwLTIyIDExOjU1OjIyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmk6IGZpeCBkZWJ1ZwoKMjAxMi0xMC0yMiAxMTozOTozNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXhfZm91cmNjLmg6CgkgIHF0ZGVtdXg6IGFkZCBzdXBwb3J0IGZvciAnZ2VuZXJpYycgc2FtcGxlcwoJICBBZGQgc3VwcG9ydCBmb3Igc3R1ZmZpbmcgYSBjb21wbGV0ZSBzdHJlYW0gaW50byAxIHNhbXBsZS4KCSAgU2VlIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODY1NTAKCjIwMTItMTAtMjAgMTM6MDE6NDEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zb3VwaHR0cHNyYy5jOgoJICB0ZXN0czogcmVtb3ZlIHN1cGVyZmx1b3VzIGdfdHlwZV9pbml0KCkgY2FsbAoJICBJdCdzIGRlcHJlY2F0ZWQgaW4gbmV3ZXIgR0xpYiBhbmQgbm90IG5lZWRlZCBoZXJlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg2NDU2CgoyMDEyLTEwLTIwIDExOjMyOjI3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IGZpeCBjYXBzIGxlYWsgaW4gYWNjZXB0Y2FwcyBmdW5jdGlvbgoKMjAxMi0xMC0xOSAxOToyNDoyMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZG9uJ3QgbGVhayBnc3RfcmlmZl9zdHJmX2F1ZHMgaW4gY2FzZSBvZiBNUy9SSUZGIGF1ZGlvCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODExOTIKCjIwMTItMTAtMTggMjI6MjA6MzkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogdW5zaWduZWQgc3VidGl0bGUgdGVtcGxhdGUKCjIwMTItMTAtMTggMTE6MzI6MTAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IGluIGFjY2VwdF9jYXBzKCkgY2hlY2sgaWYgcmluZyBidWZmZXIgaXMgTlVMTCBiZWZvcmUgZGUtcmVmZXJlbmNpbmcKCSAgQW5kIHNwcmlua2xlIHNvbWUgdGhyZWFkLXNhZmV0eSAodGFrZSBvYmplY3QgbG9jayBmb3IKCSAgYWNjZXNzaW5nIHJpbmcgYnVmZmVyLCBhbmQgcGEgbWFpbiBsb29wIGxvY2sgZm9yIHRoZQoJICBjb250ZXh0KS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4Mzc4MgoKMjAxMi0wOS0xMyAwMDoxMDowMCArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmg6CgkgIHZpZGVvbWl4ZXIyOiBGaXggcmFjZSBjb25kaXRpb24gd2hlcmUgYSBzcmMgc2V0Y2FwcyBpcyBpZ25vcmVkCgkgIElmIGJvdGggcGFkcyByZWNlaXZlIGRhdGEgYXQgdGhlIHNhbWUgdGltZSwgdGhleSB3aWxsIGJvdGggZ2V0IHRoZWlyCgkgIHNpbmtfc2V0Y2FwcyBjYWxsZWQgd2hpY2ggd2lsbCBjYWxsIHRoZSBzcmNfc2V0Y2FwcywgYnV0IHRoZXJlIGlzCgkgIGEgcmFjZSBjb25kaXRpb24gd2hlcmUgdGhlIHNlY29uZCBvbmUgbWlnaHQgbm90IGJlIGNhbGxlZC4KCSAgRml4ZXM6IGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODM4NDIKCjIwMTEtMTAtMzEgMTU6NDM6MjUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogZG8gbm90IHVzZSB1bm9mZmljYWwgVl9NSlBFRyBjb2RlYyBpZAoJICBTaW5jZSBpdCdzIG5vdCBzcGVjJ2VkLCBjb25zaWRlciBpdCBhIFZmVyBjb21wYXRpYmlsaXR5CgkgIGNhc2UuIE1hbnkgYXBwbGljYXRpb25zIChlLmcuIGF2aWRlbXV4KSBkb24ndCB1bmRlcnN0YW5kCgkgIHRoZSB1bm9mZmljaWFsIFZfTUpQRUcgaWQuCgkgIEZpeGVzICM2NTk4MzcuCgkgIENvbmZsaWN0czoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jCgoyMDEyLTEwLTE3IDE3OjM0OjI2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZkZXRlY3QuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBVc2UgZ3N0X2VsZW1lbnRfY2xhc3Nfc2V0X3N0YXRpY19tZXRhZGF0YSgpCgkgIHdoZXJlIHBvc3NpYmxlLiBBdm9pZHMgc29tZSBzdHJpbmcgY29waWVzLiBBbHNvIHJlLWluZGVudAoJICBzb21lIHN0dWZmLiBBbHNvIHNvbWUgaW5kZW50IGZpeGVzIGhlcmUgYW5kIHRoZXJlLgoKMjAxMi0xMC0xNyAxNzowMzozOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzoKCSogZXh0L2xpYnBuZy9nc3RwbmdlbmMuYzoKCSogZXh0L3ZweC9nc3R2cDhkZWMuYzoKCSogZXh0L3ZweC9nc3R2cDhlbmMuYzoKCSAganBlZywgcG5nLCB2cHg6IHVzZSBnc3RfZWxlbWVudF9jbGFzc19zZXRfc3RhdGljX21ldGFkYXRhKCkKCSAgQXZvaWRzIHNvbWUgc3RyaW5nIGNvcGllcy4KCjIwMTItMTAtMTcgMTQ6MjM6MDEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdkZXBheS5jOgoJICBqcGVnZGVwYXk6IHN0b3JlIHF1YW50IHRhYmxlcyBpbiB6aWd6YWcgb3JkZXIKCjIwMTItMTAtMTcgMTM6NTU6NDUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0c2Vzc2lvbjogZml4IGNvbXBpbGVyIHdhcm5pbmcKCjIwMTItMTAtMTcgMTM6MzU6MDcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiBjbGFyaWZ5IHRoZSBudHAtc3luYyBvcHRpb24KCjIwMTItMTAtMTcgMTM6MTU6NDggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBydHBzZXNzaW9uOiB1cGRhdGUgY2FwcyBpbiB0aGUgc291cmNlCgkgIEluZm9ybSB0aGUgc291cmNlIHdoZW4gY2FwcyBjaGFuZ2VkLiBUaGlzIHdhcyByZW1vdmVkIGluIHRoZSBwb3J0IHRvIDEuMAoJICBsZWF2aW5nIHRoZSBzb3VyY2UgdW5hd2FyZSBvZiB0aGUgY2xvY2stcmF0ZSBhbmQgdW5hYmxlIHRvIGludGVycG9sbGF0ZQoJICBydHAgdGltZXN0YW1wcyBmb3IgU1IgcGFja2V0cy4KCjIwMTItMTAtMTcgMTI6NDY6MzIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGJpbjogc2V0IFBUUyBhbmQgRFRTIGluIGppdHRlcmJ1ZmZmZXIKCjIwMTItMTAtMTcgMTI6MjQ6MjIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiBkaXNhYmxlIGNoZWNrIGZvciBudHAtc3luYwoJICBEaXNhYmxlIHRoZSBjaGVjayBmb3IgdGhlIG50cC1zeW5jIG1ldGhvZC4gSXQgaXMgZXhwZWN0ZWQgdGhhdAoJICBhIHJhdGhlciBsYXJnZXIgb2Zmc2V0IG5lZWRzIHRvIGJlIGFwcGxpZWQgd2l0aCB0aGlzIG1ldGhvZC4KCjIwMTItMTAtMTcgMTI6MTc6MzIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICBydHBiaW46IHVzZSBydW5uaW5nLXRpbWUgZm9yIE5UUCB0aW1lCgkgIFdoZW4gdXNlLXBpcGVsaW5lLWNsb2NrIGlzIHNldCwgdXNlIHRoZSBydW5uaW5nLXRpbWUgb2YgdGhlCgkgIHBpcGVsaW5lIHRvIGNhbGN1bGF0ZSB0aGUgTlRQIHRpbWVzdGFtcHMuIFRoaXMgbWV0aG9kIHdvdWxkIHByZXZpb3VzbHkKCSAgb25seSB3b3JrIHdoZW4gdGhlIGJhc2UtdGltZSBpcyBzZXQgdG8gMCBidXQgd2l0aCB0aGlzIGNoYW5nZSBpdCBjYW4KCSAgYWxzbyB3b3JrIHdpdGggZGlmZmVyZW50IG9mZnNldHMgYW5kIHdlIGNhbiBhbHNvIGltcGxlbWVudCBwYXVzZS9yZXN1bWUKCSAgb2YgdGhlIHNlbmRlciBhbmQgcmVjZWl2ZXIgbm93LgoKMjAxMi0xMC0xNyAxMDoyMDoxMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmM6CgkqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmg6CgkgIHZpZGVvY3JvcDogcG9ydCB0byB2aWRlb2ZpbHRlcgoKMjAxMi0xMC0xNyAwOTozNjo1MCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOgoJICB2aWRlb2JveDogdXNlIG91dF9pbmZvIGZvciBvdXQgcHJvcGVydGllcwoKMjAxMi0xMC0xNiAxNDo0MDoxOSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb21lZGlhbi5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9tZWRpYW4uaDoKCSAgbWVkaWFuOiBzbWFsbCBjbGVhbnVwcwoKMjAxMi0xMC0xNiAxMzo1NjoxOSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIE1ha2VmaWxlLmFtOgoJKiBnc3QvbWVkaWFuLy5naXRpZ25vcmU6CgkqIGdzdC9tZWRpYW4vTWFrZWZpbGUuYW06CgkqIGdzdC9tZWRpYW4vZ3N0bWVkaWFuLmM6CgkqIGdzdC9tZWRpYW4vZ3N0bWVkaWFuLmg6CgkqIGdzdC9tZWRpYW4vbWVkaWFuLnZjcHJvajoKCSAgbWVkaWFuOiByZW1vdmUgbm93IHRoYXQgaXQgaXMgaW4gdmlkZW9maWx0ZXIKCjIwMTItMTAtMTYgMTM6NDk6MTEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogcmVtb3ZlIG1lZGlhbiBmcm9tIGJ1aWxkCgoyMDEyLTEwLTE2IDEzOjQ3OjI0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvZmlsdGVyL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9tZWRpYW4uYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvbWVkaWFuLmg6CgkqIGdzdC92aWRlb2ZpbHRlci9wbHVnaW4uYzoKCSAgdmlkZW9tZWRpYW46IGNvcHkgbWVkaWEgdG8gdmlkZW9tZWRpYW4KCSAgQ29weSB0aGUgbWVkaWFuIHZpZGVvIGZpbHRlciB0byB2aWRlb2ZpbHRlcnMgYW5kIHJlbmFtZSB0bwoJICB2aWRlb21lZGlhbi4KCjIwMTItMTAtMTYgMTM6MTI6MjEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9tZWRpYW4vTWFrZWZpbGUuYW06CgkqIGdzdC9tZWRpYW4vZ3N0bWVkaWFuLmM6CgkqIGdzdC9tZWRpYW4vZ3N0bWVkaWFuLmg6CgkgIG1lZGlhOiBwb3J0IHRvIDEuMAoKMjAxMi0xMC0xNiAwMTowMjoxMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5oOgoJICBhdmlkZW11eDogYXBwZW5kIHBhbGV0dGUgZGF0YSB0byBwYWxldHRlZCA4LWJpdCBSR0IgZnJhbWVzCgkgIEZpeGVzIHBsYXliYWNrIG9mIDgtYml0IGluZGV4ZWQgUkdCIHZpZGVvcywgd2l0aCBmaXhlcyBpbiAtYmFzZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NjA0NgoKMjAxMi0xMC0xNSAxNTozNjowNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnB4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IEFuZCB0aGlzIHRpbWUgZml4IHRoZSBkZWZhdWx0IHRhcmdldC1iaXRyYXRlIHZhbHVlIGZvciByZWFsCgoyMDEyLTEwLTE1IDE1OjMwOjMzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cHgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogRml4IGRlZmF1bHQgdGFyZ2V0LWJpdHJhdGUgdmFsdWUKCjIwMTItMTAtMTMgMDA6MDM6MjkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZG9uJ3QgYXNzZXJ0IGlmIHVwc3RyZWFtIHNpemUgaXMgbm90IGF2YWlsYWJsZSB3aGVuIGd1ZXNzaW5nIGJpdHJhdGVzCgkgIEZpeGVzIGFib3J0IGluIHB1c2ggbW9kZSB3aGVyZSB0aGUgc291cmNlIGlzIG5vdCBzZWVrYWJsZSBhbmQgdGhlCgkgIHNpemUgb2YgdGhlIGZpbGUgaXMgbm90IGF2YWlsYWJsZSwgYXMgd2l0aAoJICBjYXQgZm9vLm1wNCB8IGdzdC1sYXVuY2gtMS4wIHBsYXliaW4gdXJpPWZkOi8vMAoJICBMZXNzIG5vdGljYWJsZSB3aXRoIHJlbGVhc2VzLCBzaW5jZSB3ZSBkaXNhYmxlIGFsbAoJICBnX2Fzc2VydCgpIHRoZXJlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg2MDA4CgoyMDEyLTEwLTEyIDE0OjM4OjMzIC0wNzAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAcmRpby5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguaDoKCSAgcXRkZW11eDogYWxsb3cgbW9yZSBzdHJlYW1zLiBCdW1wIHRoaXMgY29uc3RhbnQgdG8gMzIsIHdoaWNoIHNob3VsZCBiZSBlbm91Z2ggZm9yIHJlYWwtd29ybGQgZmlsZXMuCgoyMDEyLTEwLTEyIDE0OjM1OjI0IC0wNzAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAcmRpby5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogc3VwcG9ydCBtb3JlIGRpZmZlcmVudCBmb3VyY2MgdmFsdWVzIGZvciBvdGhlciBQcm9SZXMgdmFyaWFudHMuCgoyMDEyLTEwLTExIDIyOjM2OjIxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL2NsaWVudC1IMjYzcC1BTVIuc2g6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9jbGllbnQtSDI2M3AtUENNQS5zaDoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL2NsaWVudC1IMjYzcC5zaDoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL2NsaWVudC1IMjY0LVBDTUEuc2g6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9jbGllbnQtSDI2NC5zaDoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL2NsaWVudC1QQ01BLmM6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9jbGllbnQtUENNQS5zaDoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL3NlcnZlci1WVFMtSDI2M3AtQVRTLVBDTUEuc2g6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9zZXJ2ZXItVlRTLUgyNjNwLnNoOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvc2VydmVyLWFsc2FzcmMtUENNQS5zaDoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL3NlcnZlci1kZWNvZGViaW4tSDI2M3AtQU1SLnNoOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvc2VydmVyLXY0bDItSDI2M3AtYWxzYXNyYy1BTVIuc2g6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9zZXJ2ZXItdjRsMi1IMjY0LWFsc2FzcmMtUENNQS5zaDoKCSAgZXhhbXBsZXM6IHVwZGF0ZSBzb21lIGVsZW1lbnQgbmFtZXMgZm9yIDEuMCBpbiBSVFAgZXhhbXBsZXMKCSAgZ3N0cnRwYmluIC0+IHJ0cGJpbgoJICBmZmRlY18qICAgLT4gYXZkZWNfKgoJICBmZmVuY18qICAgLT4gYXZlbmNfKgoKMjAxMi0xMC0xMCAxMjowNTozNCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogcmVtb3ZlIHVudXNlZCBpbmNsdWRlCgoyMDEyLTEwLTEwIDEwOjU1OjI4ICswMjAwICBSYXNtdXMgUm9oZGUgPHJvaGRlQGR1ZmYuZGs+CgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5oOgoJICBtdWx0aXVkcHNpbms6IGFkZCBtdWx0aWNhc3QtaWZhY2UgcHJvcGVydHkKCSAgdWRwc3JjIGFscmVhZHkgaGFzIHN1cHBvcnQgZm9yIHNldHRpbmcgdGhlIG11bHRpY2FzdCBpbnRlcmZhY2UsIHdoaWNoCgkgIGlzIHVzZWZ1bCBmb3IgbXVsdGktaG9tZWQgbWFjaGluZXMuIFRoaXMgcGF0Y2ggYWRkcyB0aGUgc2FtZSBjb2RlIHRvCgkgIHRoZSBtdWx0aXVkcHNpbmsuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODU4NjQKCjIwMTItMTAtMTAgMTE6MzI6MTcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJICBtdWx0aXVkcHNpbms6IGRvbid0IGVycm9yIG9uIHNlbmQgZXJyb3JzIGJ1dCBvbmx5IHdhcm4KCSAgRG9uJ3QgZXJyb3Igb24gc2VuZCBlcnJvcnMgYnV0IHNpbXBseSBwb3N0IGEgd2FybmluZywgaXQncyBwb3NzaWJsZQoJICB0aGF0IHRoZSBuZXh0IHBhY2tldCB3aWxsIGJlIGZpbmUuCgoyMDEyLTEwLTEwIDEwOjI4OjI0ICswMjAwICBSYXNtdXMgUm9oZGUgPHJvaGRlQGR1ZmYuZGs+CgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5oOgoJICBtdWx0aXVkcHNpbms6IGFkZCBmb3JjZS1pcHY0IG9wdGlvbgoJICBBZGQgYW4gb3B0aW9uIHRvIHRoZSBtdWx0aXVkcHNpbmsgdGhhdCBtYWtlcyBpdCBwb3NzaWJsZSB0byBmb3JjZQoJICB0aGUgdXNlIG9mIGFuIElQdjQgc29ja2V0LgoJICBUaGlzIGNhbiBlLmcuIGJlIHVzZWQgdG8gaGFuZGxlIHRoZSBpc3N1ZSBkZXNjcmliZWQgaW4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MjQ4MQoKMjAxMi0xMC0xMCAxMDoxODo1MiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmg6CgkgIG11bHRpdWRwc2luazogcmVtb3ZlIHVudXNlZCBmaWVsZAoKMjAxMi0xMC0xMCAxMDoxMDoyNiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIHVkcHNyYzogdXNlIG5lZ290aWF0ZWQgYWxsb2NhdG9yIG9yIHBvb2wKCSAgVXNlIHRoZSBiYXNlIGNsYXNzIHRvIGFsbG9jYXRlIGEgYnVmZmVyIGZvciB1cyBiZWNhdXNlIGl0IGtub3dzIGhvdwoJICB0byB1c2UgdGhlIG5lZ290aWF0ZWQgYWxsb2NhdG9yIG9yIGJ1ZmZlcnBvb2wuCgoyMDEyLTEwLTEwIDEwOjA5OjM3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSAgbXVsdGl1ZHBzaW5rOiBwb3N0IGVycm9yIHdoZW4gc29tZXRoaW5nIGdvZXMgd3JvbmcKCjIwMTItMTAtMTAgMTA6MDk6MTAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSAgc3BlY3RydW06IGVsZW1lbnRzIHBvc3QgZWxlbWVudCBtZXNzYWdlcwoKMjAxMi0xMC0wNyAxNjo1NjozOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pc29tcDQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12cHgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgQmFjayB0byBkZXZlbG9wbWVudCAoYnVnIGZpeGluZykKCj09PSByZWxlYXNlIDEuMC4xID09PQoKMjAxMi0xMC0wNyAxNTozMToxMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlzb21wNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZweC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogZ3N0LXBsdWdpbnMtZ29vZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMS4wLjEKCjIwMTItMTAtMDYgMTQ6NTc6MTAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDZjMGI1MmMgdG8gNmJiNjk1MQoKMjAxMi0xMC0wNSAxNToxMjoyNyAtMDcwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHJkaW8uY29tPgoKCSogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmM6CgkgIGRlaW50ZXJsZWF2ZTogb3V0cHV0IGNoYW5uZWxzIHNob3VsZCBiZSBtYXJrZWQgYXMgTU9OTywgbm90IEZST05UX0xFRlQsIGlmIHdlJ3JlIG5vdCBwcmVzZXJ2aW5nIGlucHV0IGNoYW5uZWwgcG9zaXRpb25zLgoKMjAxMi0xMC0wNCAxNToxMzoyMCAtMDcwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHJkaW8uY29tPgoKCSogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOgoJICBpbnRlcmxlYXZlOiB1c2UgZ3N0X2F1ZGlvX2NoYW5uZWxfcG9zaXRpb25zX3RvX21hc2sgaW5zdGVhZCBvZiBhIGxvY2FsIGNvcHkgb2YgaGFsZiBvZiBpdC4gSGFuZGxlcyBzb21lIHZhbHVlcyBtb3JlIGNvcnJlY3RseS4KCjIwMTItMTAtMDQgMjA6MzI6NDUgKzAyMDAgIFJhc211cyBSb2hkZSA8cm9oZGVAZHVmZi5kaz4KCgkqIGdzdC9ydHAvZ3N0cnRwZ3N0ZGVwYXkuYzoKCSAgZ3N0cnRwZGVwYXk6IGRvbid0IGxlYWsgaW5wdXQgYnVmZmVyCgkgIFRoZSBydHAgYnVmZmVyIGlzIG5ldmVyIHVubWFwcGVkIGluIHRoZSBub3JtYWwgY29kZSBleGl0IHBhdGgKCSAgb2YgZ3N0X3J0cF9nc3RfZGVwYXlfcHJvY2VzcyguLikgcmVzdWx0aW5nIGluIGEgbWVtb3J5IGxlYWsuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODU1MTIKCjIwMTItMTAtMDQgMTg6Mzc6MTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvYmFsYW5jZS5jOgoJICB2aWRlb2JhbGFuY2U6IEFkZCBzdXBwb3J0IGZvciBOVjEyIGFuZCBOVjIxCgoyMDEyLTEwLTAxIDE1OjExOjA1ICswMjAwICBQYXRyaWNpYSBNdXNjYWx1IDxwYXRyaWNpYUBheGlzLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHAtcGF5bG9hZGluZy5jOgoJICBydHBoMjY0cGF5OiBkbyBub3QgcHVzaCB1bm1hcHBlZCBkYXRhCgkgIEFsc28gZG8gbm90IHVzZSBhIEdzdEJ1ZmZlciBhZnRlciBpdCBoYXMgYmVlbiBwdXNoZWQgaW50byB0aGUgYWRhcHRlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NTIxMwoKMjAxMi0xMC0wMyAxMDo1MTo0NSAtMDcwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHJkaW8uY29tPgoKCSogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy94aW1hZ2UveGltYWdldXRpbC5jOgoJICBtZXRhIGluZm86IHRocmVhZHNhZmUgcmVnaXN0cmF0aW9uIHVzaW5nIGdfb25jZQoKMjAxMi0xMC0wMSAxNTo0NDowMSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBwdXNoIG1vZGU7IGhhbmRsZSBzb21lIGluaXRpYWwganVuayBiZWZvcmUgaGRybCBsaXN0CgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODUwNTkKCjIwMTItMTAtMDEgMTQ6MDM6MTkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvaWNsZXMvZ2RrcGl4YnVmc2luay10ZXN0LmM6CgkgIHRlc3RzOiBwb3J0IGdka3BpeGJ1ZnNpbmsgdGVzdAoKMjAxMi0wOS0yOSAxMTo1OTozMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb2Nyb3AuYzoKCSAgUHVyZ2UgcmVmZXJlbmNlcyB0byBsaWJvaWwKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3MzI4NQoKMjAxMi0wOS0yOCAxNjo1MTowMSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2F2aS1pZHMuaDoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogcmVjb2duaXplIGFsbCB4c3ViIGZyYW1lcyBhcyBrZXlmcmFtZXMKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NDk3NwoKMjAxMi0wOS0yOCAxNjo1MDoyNSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBwdXNoIG1vZGU6IGZpbmQgdGhlIGNvcnJlY3QgY2h1bmsgZm9yIHNlZ21lbnQgZm9sbG93aW5nIHNlZWsKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NDk3NwoKMjAxMi0wOS0yNyAyMjoxNzo0OSArMDEwMCAgQXJuYXVkIFZyYWMgPHJhd291bEBnbWFpbC5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguaDoKCSAgcXRkZW11eDogZml4IHBhcnNpbmcgaW4gcHVzaCBtb2RlIHdoZW4gbW9vdiBhdG9tIGlzIGF0IHRoZSBlbmQKCSAgV2hlbiBwbGF5aW5nIGFuIG1wNCBmaWxlIHdpdGggdGhlIE1PT1YgYXRvbSBhdCB0aGUgZW5kIG9mIHRoZSBmaWxlLCBwbGF5YmFjawoJICBmYWlscyB3aXRoIHRoZSBlcnJvciBtZXNzYWdlICJubyAnbW9vdicgYXRvbSB3aXRoaW4gdGhlIGZpcnN0IDEwIE1CIi4gVGhpcyBpcwoJICBkdWUgdG8gYSBtaXN0YWtlIGluIHRoZSB1cHN0cmVhbV9zaXplIHR5cGluZywgbWFraW5nIHRoZSBzZWVrIHRvIHRoZSBlbmQgb2YKCSAgZmlsZSBuZXZlciBoYXBwZW5pbmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODQ5NzIKCjIwMTItMDktMjcgMTU6NTA6NDkgLTAzMDAgIEFuZHJlIE1vcmVpcmEgTWFnYWxoYWVzIChhbmRydW5rbykgPGFuZHJlLm1hZ2FsaGFlc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0Z2FtbWEuYzoKCSAgZ2FtbWE6IHJlbW92ZSBkdXBsaWNhdGUgZW50cmllcyBhdCBmb3JtYXQgYXQgY2FwcwoJICBBdm9pZHMgZXh0cmEgY2Fwcy9zdHJ1Y3R1cmVzIHByb2Nlc3NpbmcKCjIwMTItMDktMjcgMTQ6MTM6NDIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdkZXBheS5jOgoJICBydHB2cmF3ZGVwYXk6IG5lZ290aWF0ZSBwb29sIHdpdGggc3JjcGFkIGNhcHMKCjIwMTItMDktMjcgMTE6MDI6NTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2R2L2dzdGR2ZGVtdXguYzoKCSAgZHZkZW11eDogVGhlIGNvbnZlcnQgYW5kIGR1cmF0aW9uIHF1ZXJpZXMgYXJlIG5vdCBzdXBwb3NlZCB0byBjaGFuZ2UgdGhlIGZvcm1hdAoKMjAxMi0wOS0yNiAwOToyODo1OSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIHZpZGVvbWl4ZXI6IGNsZWFyIHZpZGVvIGZyYW1lIG1vcmUgY29ycmVjdGx5CgkgIE1ha2Ugc3VyZSBub3QgdG8gdG91Y2ggbWVtb3J5IHRoYXQgZG9lc24ndCBiZWxvbmcgdG8KCSAgb3VyIGZyYW1lLCB3ZSBtaWdodCBiZSBvbmUgcGFydCBvZiBhIHNpZGUtYnktc2lkZSAzRAoJICBmcmFtZSwgb3IgaW4gYSBwaWN0dXJlLWluLXBpY3R1cmUgc2NlbmFyaW8uCgoyMDEyLTA5LTI2IDAwOjQ0OjU5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHZkZW11eDogbWlub3IgY2xlYW4tdXAKCSAgVXNlIEdzdEJ5dGVXcml0ZXIsIGJlY2F1c2Ugd2UgY2FuLCBhbmQgZ192YWx1ZV90YWtlX2JveGVkLgoKMjAxMi0wOS0xMCAxMDoyNzoyOCArMDQwMCAgRG1pdHJpeSBTYW1vbmVua28gPGRtaXRyaXkuc2Ftb25lbmtvQHRlbGlnZW50LnJ1PgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHZkZW11eDogZml4IHNwZWV4IGF1ZGlvIGRlY29kaW5nIGJ5IGNyZWF0aW5nIGZha2Ugc3RyZWFtIGhlYWRlcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgzNjIyCgoyMDEyLTA5LTI1IDIxOjIxOjE1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3NpbXBsZS1sYXVuY2gtbGluZXMuYzoKCSAgdmlkZW9taXhlcjogZml4IHdhcm5pbmdzIHdoZW4gdXNpbmcgdHJhbnNwYXJlbnQgYmFja2dyb3VuZAoJICBnc3RfdmlkZW9fZnJhbWVfbWFwKCkgaW5jcmVhc2VzIHRoZSByZWZjb3VudCwgd2hpY2ggbWFrZXMKCSAgdGhlIGJ1ZmZlciBub3Qgd3JpdGFibGUgYW55IG1vcmUgdGVjaG5pY2FsbHksIHNvIGNhbGxpbmcKCSAgZ3N0X2J1ZmZlcl9tZW1zZXQoKSBvbiBpdCB3aWxsIGNhdXNlIG5hc3R5IHdhcm5pbmdzLgoJICBVbml0IHRlc3QgZGlzYWJsZWQgYmVjYXVzZSBpdCB2ZXJ5IHJhcmVseSAoZm9yIG1lKQoJICBmYWlscywgcG9zc2libHkgbmVnb3RpYXRpb24tcmVsYXRlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NDM5OAoKMjAxMi0wOS0yNSAxMDo0MzoyOCArMDIwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBBZGQgc29tZSB1c2VmdWwgZGVidWcgbG9nZ2luZwoKMjAxMi0wOS0yNSAxMDo0MTo0NCArMDIwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBGaXggdGVsZWNpbmUKCSAgVGhpcyBvbmx5IGFmZmVjdHMgYmVoYXZpb3VyIGluIHRlbGVjaW5lIGNhc2VzIHdpdGggcGF0dGVybiBsb2NraW5nCgkgIGVuYWJsZWQuIFRoZSBkZWZhdWx0IGNhc2Ugc2hvdWxkIGJlIHVudG91Y2hlZC4KCSAgVGhpcyB3b3JrcyB3aXRoIHRoZSBvdXRwdXQgZnJvbSBmaWVsZGFuYWx5c2lzIGF0IGxlYXN0LCBidXQgdGhlIGZpZWxkCgkgIG9yZGVyIGxvb2tzIHN3YXBwZWQgZm9yIHRlbGVjaW5lIG1peGVkIGJ1ZmZlcnMgd2l0aCB0aGUKCSAgRGF2aWRfc2xpZGVzX1NjaGxlZWYgY2xpcC4KCjIwMTItMDktMjUgMTQ6NDM6MTUgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZweC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiBEaXNhYmxlIEdMSUIgZGVwcmVjYXRpb24gd2FybmluZ3MKCSAgR1ZhbHVlQXJyYXkgaGFzIGJlZW4gZGVwcmVjYXRlZCBzaW5jZSAyLjMyIC4uLiBidXQgdGhlcmUncyBubyB1c2FibGUKCSAgcmVwbGFjZW1lbnQgZm9yIGl0LgoJICBTZWUgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NzIyOAoKMjAxMi0wOS0yNSAxNDoxODozNSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICB2aWRlb21peGVyOiBGaXggbGVhawoKMjAxMi0wOS0yNCAxNjo0NjoxOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXNvbXA0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdnB4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQgKGJ1ZyBmaXhpbmcpCgo9PT0gcmVsZWFzZSAxLjAuMCA9PT0KCjIwMTItMDktMjQgMTQ6MDY6NDIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlzb21wNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZweC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogZ3N0LXBsdWdpbnMtZ29vZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMS4wLjAKCjIwMTItMDktMjQgMTE6NTY6NTYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcmdhbmFseXNpcy5jOgoJICB0ZXN0czogcmVtb3ZlIGdfcHJpbnRlcnIoKSB0aGF0J3Mgbm90IG5lZWRlZCBhbnkgbG9uZ2VyCgkgIG5vdyB0aGF0IHRjYXNlX3NraXBfYnJva2VuX3Rlc3QoKSBwcmludHMgaXQgYXMgd2VsbC4KCjIwMTItMDktMjMgMTk6NTA6NDIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ2FuYWx5c2lzLmM6CgkgIHRlc3RzOiBkaXNhYmxlIGZhaWxpbmcgcmVwbGF5Z2FpbiB0ZXN0cwoKMjAxMi0wOS0yMyAxNjozMTozNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9zbXB0ZS9nc3RzbXB0ZS5jOgoJKiBnc3Qvc21wdGUvZ3N0c21wdGUuaDoKCSAgc21wdGU6IHNlbmQgc3RyZWFtLXN0YXJ0IGV2ZW50CgoyMDEyLTA5LTIzIDE2OjEwOjM2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRtdXguYzoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRtdXguaDoKCSAgbXVsdGlwYXJ0bXV4OiBzZW5kIHN0cmVhbS1zdGFydCBldmVudAoKMjAxMi0wOS0yMyAxNjowMjoxOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IHNlbmQgc3RyZWFtLXN0YXJ0CgoyMDEyLTA5LTIzIDE1OjU3OjM1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogc2VuZCBzdHJlYW0tc3RhcnQgZXZlbnQKCjIwMTItMDktMjMgMTU6NDg6NTQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6CgkqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuaDoKCSAgaW50ZXJsZWF2ZTogYWRkIGEgYnVuY2ggb2YgRklYTUVzCgkgIE5lZWRzIHNvbWUgbW9yZSB3b3JrLCBzbyBzdHJlYW0tc3RhcnQsIGNhcHMgYW5kIHRhZ3MgYXJlCgkgIHNlbnQgaW4gdGhlIHJpZ2h0IG9yZGVyLgoKMjAxMi0wOS0yMyAxNToxODo1NCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkgIGZsdm11eDogc2VuZCBzdHJlYW0tc3RhcnQgZXZlbnQKCjIwMTItMDktMjMgMTU6MTY6MTQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJICBhdmltdXg6IHNlbmQgc3RyZWFtLXN0YXJ0IGV2ZW50CgoyMDEyLTA5LTIyIDE1OjAwOjI3IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5LmM6CgkgIHJ0cGR0bWZkZXBheTogVXNlIDEuMC1zdHlsZSBjYXBzIG5lZ290aWF0aW9uIGFuZCBhdWRpby94LXJhdwoKMjAxMi0wOS0yMiAxNjowODowNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNGY5NjJmNyB0byA2YzBiNTJjCgoyMDEyLTA5LTIxIDIxOjU0OjM2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogYW5zd2VyIFVSSSBxdWVyeQoJICBXaXRob3V0IHRoaXMsIHNvbWV0aGluZyBhbHNvIGFuc3dlcmVkIHRoZSBxdWVyeQoJICB3aXRoIFRSVUUgYnV0IHdpdGhvdXQgc2V0dGluZyBhIHVyaSwgbm90IHN1cmUKCSAgd2hhdCB0aGF0IHdhcy4uCgoyMDEyLTA5LTIwIDE3OjI4OjQ3IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkgIHJ0cGgyNjRwYXk6IE1ha2Ugc3VyZSB0aGUgY2FwcyBkb24ndCBoYXZlIGR1cGxpY2F0ZWQgc3BzL3BwcwoKMjAxMi0wOS0yMCAxOTo1ODoxMiArMDIwMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSAgcHVsc2VzcmM6IE11dGUgc3RyZWFtIHBvc3QtY29ubmVjdGlvbiBpZiByZXF1aXJlZAoJICBBIGJ1ZyBpbiBQdWxzZUF1ZGlvIGNhdXNlcyBQQV9TVFJFQU1fU1RBUlRfTVVURUQgdG8gYmUgcmVqZWN0ZWQgb24KCSAgcmVjb3JkIHN0cmVhbXMuIFVudGlsIHRoaXMgaXMgZml4ZWQgdXBzdHJlYW0sIHdlIG11dGUgdGhlIHN0cmVhbQoJICBtYW51YWxseSBhdCBzdGFydHVwLiBCYXNlZCBvbiBhIHBhdGNoIGJ5IEFsYmFuIEJyb3dhZXlzCgkgIDxwcmFoYWxAeWFob28uY29tPi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NDQ2OQoKMjAxMi0wOS0yMCAxODowMDo1OSAtMDcwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHJkaW8uY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IDI0IGJpdCBhdWRpbyBoZXJlIGlzIFMyNExFLCBub3QgUzI0XzNMRS4KCjIwMTItMDktMjAgMTA6MDc6MjQgKzAyMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZEBsdW9uLm5ldD4KCgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgdjRsMnNyYzogaGFuZGxlIGxhdGVuY3kgcXVlcnkgYmVmb3JlIHNldHRpbmcgdXAgdGhlIGJ1ZmZlcnBvb2wKCSAgRml4ZXMgY3Jhc2ggaWYgbm8gYnVmZmVycG9vbCBpcyBzZXQgdXAgeWV0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg0NDMwCgoyMDEyLTA5LTE5IDA5OjE3OjAzICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NpbmsuYzoKCSAgb3N4YXVkaW9zaW5rOiBTcGVjaWZ5IGVuZGlhbm5lc3MgaW4gSUVDIDYxOTM3IHBheWxvYWRpbmcKCSAgQ29ycmVzcG9uZHMgdG8gYW4gQVBJIGNoYW5nZSBpbiBnc3QtcGx1Z2lucy1iYXNlLiBUaGlzIG5lZWRzIHRvIGJlIGZpeGVkCgkgIHRvIHF1ZXJ5IHRoZSBleHBlY3RlZCBieXRlIG9yZGVyIHVzaW5nIGFwcHJvcHJpYXRlIEFQSS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3ODAyMQoKMjAxMi0wOS0xOSAwOToxNTo1MyArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkgIGRpcmVjdHNvdW5kc2luazogU3BlY2lmeSBlbmRpYW5uZXNzIGluIElFQyA2MTkzNyBwYXlsb2FkaW5nCgkgIERpcmVjdFNvdW5kIGV4cGVjdHMgbmF0aXZlIGVuZGlhbiBieXRlIG9yZGVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc4MDIxCgoyMDEyLTA5LTE5IDA5OjEzOjExICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBTcGVjaWZ5IGVuZGlhbm5lc3MgaW4gSUVDIDYxOTM3IHBheWxvYWRpbmcKCSAgQ29ycmVzcG9uZHMgdG8gYW4gQVBJIGNoYW5nZSBpbiBnc3QtcGx1Z2lucy1iYXNlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc4MDIxCgoyMDEyLTA5LTE5IDAwOjM5OjAxICswMjAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IFJlbW92ZSBpbmNvcnJlY3QgbG9naWMKCSAgSSBkb24ndCB1bmRlcnN0YW5kIHdoeSB0aGVzZSBsaW5lcyB3ZXJlIGFkZGVkLCB0aGV5IGRvbid0IG1ha2Ugc2Vuc2UgdG8KCSAgbWUgbm93IGFuZCBib3RoIERhdmlkIGFuZCBJIGFncmVlIHRoYXQgcmVtb3ZpbmcgdGhlbSBtb3ZlcyBjbG9zZXIgdG8KCSAgcmVsYXRlZCBsb2dpYyBiZWluZyBjb3JyZWN0LCB0aGVyZWZvcmUsIHRoZXkncmUgYmVpbmcgcmVtb3ZlZC4KCSAgSSd2ZSB0ZXN0ZWQgYSBmZXcgcHJvZ3Jlc3NpdmUsIGludGVybGFjZWQgYW5kIHRlbGVjaW5lIGNsaXBzIGFuZCB0aGV5CgkgIGFsbCBiZWhhdmUgcHJvcGVybHkgdGltZXN0YW1wLXdpc2UgYW5kIHZpc3VhbGx5IGFmdGVyIHRoZXNlIGNoYW5nZXMuCgoyMDEyLTA5LTE5IDAwOjE3OjQ5ICswMjAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IEZpeCBmaWVsZCBkdXJhdGlvbgoJICBUaGUgZnJhbWUgcmF0ZSBmcmFjdGlvbiBpcyBjb3JyZWN0bHkgYWRqdXN0ZWQgaW4gdGhlIGNhc2VzIHByZWNlZGluZyB0aGUKCSAgZmllbGQgZHVyYXRpb24gY2FsY3VsYXRpb24gYW5kIHNvIHRoZSBmYWN0b3Igb2YgMiBpcyBpbmNvcnJlY3QuCgoyMDEyLTA5LTE4IDEwOjM0OjAzIC0wNzAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAcmRpby5jb20+CgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzoKCSAgdmlkZW9ib3g6IEZpeCBVL1Ygc3RyaWRlcyBmb3IgYSBudW1iZXIgb2YgY2FzZXMuCgoyMDEyLTA5LTE4IDEyOjEzOjIxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIHZpZGVvbWl4ZXI6IGluaXQgdmlkZW9pbmZvCgkgIC4uLiB0byBwcmV2ZW50IHJhbmRvbSBib2d1cyBjYXBzIGZpZWxkcy4KCjIwMTItMDktMTggMTI6MTI6MzkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgdmlkZW9taXhlcjogY2hhaW4gdXAgdG8gY29sbGVjdHBhZHMgcXVlcnkgZnVuY3Rpb24KCjIwMTItMDktMTcgMTM6MTc6MDAgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgdmlkZW9taXhlcjogRG9uJ3QgbGV0IEdzdENvbGxlY3RQYWQgc2hhZG93IGN1c3RvbSBzaW5rIHBhZCBxdWVyeSBmdW5jCgkgIEluIHRoZSBjdXJyZW50IGltcGxlbWVudGF0aW9uLCB0aGUgY3VzdG9tIHBhZCBxdWVyeSBmdW5jdGlvbiBpcyBub3QgY2FsbGVkLgoJICBUaGlzIHBhdGNoLCBzZXQgdGhhdCBxdWVyeSBmdW5jdGlvbiBvbiB0aGUgR3N0Q29sbGVjdFBhZHMgdG8gYXZvaWQgdGhpcwoJICBzaGFkb3dpbmcuCgkgIFNlZSBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg0MjM3CgoyMDEyLTA5LTE3IDE4OjIzOjExICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2ZpbGVzL01ha2VmaWxlLmFtOgoJICB0ZXN0czogZGlzdCBpbWFnZS5qcGcgZm9yIGpwZWcgdGVzdAoKPT09IHJlbGVhc2UgMC4xMS45OSA9PT0KCjIwMTItMDktMTcgMTc6NTc6NTggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QtcGx1Z2lucy1nb29kLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAwLjExLjk5CgoyMDEyLTA5LTE3IDE2OjUzOjA0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLnR5cGVzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlzb21wNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZweC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSAgZG9jczogdXBkYXRlCgoyMDEyLTA5LTE3IDEzOjMwOjE1ICswMjAwICBDaHJpc3RpYW4gRnJlZHJpayBLYWxhZ2VyIFNjaGFsbGVyIDx1cmFldXNAbGludXhyaXNpbi5vcmc+CgoJKiBnc3QtcGx1Z2lucy1nb29kLnNwZWMuaW46CgkgIEZpeCBzcGVjIGZpbGUgZm9yIHZwOCBtb3ZlCgoyMDEyLTA5LTE3IDEzOjIzOjM2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIE1ha2VmaWxlLmFtOgoJICBhbm5vZGV4OiBBZGQgdG8gdGhlIENSVUZUX0RJUlMKCjIwMTItMDktMTcgMTI6MTQ6MDcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGFsZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9ub3Njb3BlLnhtbDoKCSAgZG9jczogdXBkYXRlCgoyMDEyLTA5LTE3IDA5OjQ4OjU2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cHgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogQ29ycmVjdGx5IGZpbmlzaCBmcmFtZXMKCSAgUHJldmlvdXNseSB3ZSB3b3VsZCBhbHdheXMgZ2V0IHRoZSBzYW1lIGZyYW1lIGlmIG11bHRpcGxlIGZyYW1lcyBhcmUgcGVuZGluZywKCSAgbGVha2luZyBtZW1vcnkgb2YgdGhlIHByZXZpb3VzIGZyYW1lcyBhbmQgYnJlYWtpbmcgdGltZXN0YW1wcy4KCjIwMTItMDktMTcgMDk6NDA6NDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZweC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiBBbGxvdyBjaGFuZ2luZyBiaXRyYXRlIGFuZCBvdGhlciBwYXJhbWV0ZXJzIGR1cmluZyBwbGF5YmFjawoJICBGaXhlcyBidWcgIzY0ODI3Ni4KCjIwMTItMDktMTcgMDk6MTY6MzkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZweC9nc3R2cDhlbmMuYzoKCSogZXh0L3ZweC9nc3R2cDhlbmMuaDoKCSAgdnA4ZW5jOiBTdG9yZSBjb25maWd1cmF0aW9uIGluIHRoZSB2cHhfY29kZWNfZW5jX2NmZ190IHN0cnVjdCBpbnN0ZWFkIG9mIGR1cGxpY2F0aW5nIGFsbCB2YXJpYWJsZXMKCSAgQWxzbyBwcm90ZWN0IGVuY29kZXIgd2l0aCBhIG11dGV4LgoKMjAxMi0wOS0xNiAxNjowMzowNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnB4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IFVwZGF0ZSBkb2N1bWVudGF0aW9uIHRvIHJlZmxlY3QgbmV3IHByb3BlcnR5IG5hbWVzCgkgIC4uLmFuZCBhbHNvIGxpbmsgdG8gdGhlIFdlYk0gZW5jb2RlciBwYXJhbWV0ZXJzIHdlYnNpdGUuCgoyMDEyLTA5LTE2IDE1OjU3OjU4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cHgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogTWFrZSBzb21lIHByb3BlcnR5IG5hbWVzIG1vcmUgcmVhZGFibGUKCjIwMTItMDktMTYgMTU6NDc6MTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSAgdnA4OiBBZGQgdGVzdHMgdG8gLmdpdGlnbm9yZQoKMjAxMi0wOS0xNiAxNTo0NjozMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92cDhlbmMuYzoKCSAgdnA4ZW5jOiBVcGRhdGUgcGF0Y2ggdG8gdGhlIG5ldyBwcm9wZXJ0eSBuYW1lcwoKMjAxMi0wOS0xNiAxNTo0NjoyMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgdnB4OiBJbnRlZ3JhdGUgdGVzdCBpbnRvIHRoZSBidWlsZCBzeXN0ZW0gdG9vCgoyMDEyLTAyLTA3IDE3OjAwOjI2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdnA4ZGVjLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZwOGVuYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgNi82XSB0ZXN0czogZml4IG1vcmUgdW5pdCB0ZXN0cwoKMjAxMS0xMS0yNCAyMTo0MjozOSArMDEwMCAgUmVuw6kgU3RhZGxlciA8cmVuZS5zdGFkbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZwOGRlYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92cDhlbmMuYzoKCSAgW01PVkVEIEZST00gQkFEIDUvNl0gdGVzdHM6IHVwZGF0ZSBmb3IgZ3N0Y2hlY2sgQVBJIGNoYW5nZQoKMjAxMC0wNy0xMCAxNTo0Njo1MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92cDhkZWMuYzoKCSAgW01PVkVEIEZST00gQkFEIDQvNl0gdnA4ZGVjOiBBZGQgc2ltcGxlIHVuaXQgdGVzdCBmb3IgdnA4ZGVjCgoyMDEwLTA3LTEwIDE1OjQ2OjQzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZwOGVuYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMy82XSB2cDhlbmM6IEltcHJvdmUgdW5pdCB0ZXN0IGEgYml0CgoyMDEwLTA3LTEwIDE1OjMyOjI5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZwOGVuYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMi82XSB2cDhlbmM6IEFsc28gY2hlY2sgdGhlIG91dHB1dCBjYXBzIGluIHRoZSB1bml0IHRlc3QKCjIwMTAtMDctMTAgMTU6Mjk6NDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdnA4ZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAxLzZdIHZwOGVuYzogQWRkIHNpbXBsZSB1bml0IHRlc3QKCjIwMTItMDktMTYgMTU6NDM6MzkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlzb21wNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZweC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogZXh0L01ha2VmaWxlLmFtOgoJICB2cHg6IEludGVncmF0ZSBpbnRvIHRoZSBidWlsZCBzeXN0ZW0KCjIwMTItMDktMTYgMTU6MzM6NTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZweC9Hc3RWUDhFbmMucHJzOgoJKiBleHQvdnB4L01ha2VmaWxlLmFtOgoJKiBleHQvdnB4L2dzdHZwOGRlYy5jOgoJKiBleHQvdnB4L2dzdHZwOGRlYy5oOgoJKiBleHQvdnB4L2dzdHZwOGVuYy5jOgoJKiBleHQvdnB4L2dzdHZwOGVuYy5oOgoJKiBleHQvdnB4L2dzdHZwOHV0aWxzLmM6CgkqIGV4dC92cHgvZ3N0dnA4dXRpbHMuaDoKCSogZXh0L3ZweC9wbHVnaW4uYzoKCSAgdnB4OiBSZW5hbWUgdnA4IHBsdWdpbiB0byB2cHgKCSAgVGhpcyBpcyB1c2luZyBsaWJ2cHgsIHdoaWNoIGNhbiBzdXBwb3J0IG1vcmUgY29kZWNzIHRoYW4ganVzdCBWUDgKCSAgYW5kIHdpbGwgbGlrZWx5IHN1cHBvcnQgZnV0dXJlIGNvZGVjcy4KCjIwMTItMDktMTYgMTU6MzI6MjQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgdnA4OiBBcHBseSByZW1haW5pbmcgY2hhbmdlcyB0aGF0IGdvdCBsb3N0IHdoaWxlIG1vdmluZyB0aGUgcGx1Z2luIHZpYSBnaXQgYW0gdGhhbmtzIHRvIG1lcmdlcwoKMjAxMi0wOS0xNiAxNToyNTowOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMTM0LzEzNF0gdnA4ZGVjOiBVbnJlZiBpbnB1dC9vdXRwdXQgc3RhdGVzIHdoZW4gc3RvcHBpbmcgdGhlIGRlY29kZXIKCjIwMTItMDktMTYgMTU6MTg6MjAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9Hc3RWUDhFbmMucHJzOgoJICBbTU9WRUQgRlJPTSBCQUQgMTMzLzEzNF0gdnA4ZW5jOiBVcGRhdGUgcmVhbHRpbWUgcHJvZmlsZSB0byB0aGUgbmV3IHByb3BlcnRpZXMKCjIwMTItMDktMTYgMTA6NTY6MDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSAgW01PVkVEIEZST00gQkFEIDEzMi8xMzRdIHZwODogUmVxdWlyZSBsYXRlc3QgbGlidnB4IHJlbGVhc2UgKDEuMS4wIGZyb20gTWF5IDIwMTIpCgkgIEZpeGVzIGJ1ZyAjNjg0MTE2IGFuZCBzaW1wbGlmaWVzIGNvbmZpZ3VyZSBjaGVja3MuCgoyMDEyLTA5LTE1IDIwOjIzOjEzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAxMzEvMTM0XSB2cDhlbmM6IFVzZSBhIHN0cmluZyBmaWVsZCBmb3IgdGhlIHByb2ZpbGUgaW4gdGhlIGNhcHMKCSAgSnVzdCBmb3IgY29uc2lzdGVuY3kgd2l0aCBhbGwgdGhlIG90aGVyIGNvZGVjcy4KCjIwMTItMDktMTUgMDA6MDQ6MDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgW01PVkVEIEZST00gQkFEIDEzMC8xMzRdIHZwOGVuYzogQ29ycmVjdGx5IHNldCBwcm9maWxlIGluIGNhcHMKCjIwMTItMDktMTQgMjM6NDE6NDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgW01PVkVEIEZST00gQkFEIDEyOS8xMzRdIHZwODogVXBkYXRlIGNvcHlyaWdodCBhbmQgYXV0aG9ycwoKMjAxMi0wOS0wOCAxNTozODo0MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5oOgoJICBbTU9WRUQgRlJPTSBCQUQgMTI4LzEzNF0gdnA4ZW5jOiBSZXdvcmsgZW5jb2RlciBwcm9wZXJ0aWVzIHRvIGJlIG1vcmUgaW4gbGluZSB3aXRoIHRoZSBsaWJ2cHggdG9vbHMgYW5kIEFQSQoJICBBbHNvIGFkZCBhbGwgYXZhaWxhYmxlIHByb3BlcnRpZXMuCgoyMDEyLTA5LTE0IDE3OjA4OjQ5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAxMjcvMTM0XSByZXBsYWNlIGdzdF9lbGVtZW50X2NsYXNzX3NldF9kZXRhaWxzX3NpbXBsZSB3aXRoIGdzdF9lbGVtZW50X2NsYXNzX3NldF9tZXRhZGF0YQoKMjAxMi0wNy0xOSAwOTowNToyOCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMTI2LzEzNF0gdnA4ZGVjOiBDYWxsIGdzdF92aWRlb19kZWNvZGVyX25lZ290aWF0ZSgpCgoyMDEyLTA4LTE0IDExOjE3OjI1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmg6CgkgIFtNT1ZFRCBGUk9NIEJBRCAxMjUvMTM0XSB2cDhkZWM6IEFkZCBzdXBwb3J0IGZvciBtdWx0aXBsZSBkZWNvZGluZyB0aHJlYWRzCgoyMDEyLTA4LTE0IDExOjA5OjQ2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAxMjQvMTM0XSB2cDhkZWM6IEFkZCBzdXBwb3J0IGZvciB0aGUgTUZRRSBwb3N0cHJvY2Vzc2luZyBmbGFnCgkgIFdoaWNoIGlzIGVuYWJsZWQgYnkgZGVmYXVsdCBpZiBwb3N0cHJvY2Vzc2luZyBpcyBlbmFibGVkLgoKMjAxMi0wOC0wOSAxMzozNzoyMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L01ha2VmaWxlLmFtOgoJICBbTU9WRUQgRlJPTSBCQUQgMTIzLzEzNF0gdnA4OiBVc2UgcGtnLWNvbmZpZyBmaWxlIGZvciBnZXR0aW5nIHRoZSBMSUJTIGFuZCBDRkxBR1MKCjIwMTItMDgtMDggMTc6MDY6MjAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgW01PVkVEIEZST00gQkFEIDEyMi8xMzRdIHZwOGVuYzogVXBkYXRlIHRoZSBwZXItY29tcG9uZW50IHN0cmlkZXMgZm9yIGV2ZXJ5IGZyYW1lIHRvbwoJICBUaGlzIGlzIG5lY2Vzc2FyeSBiZWNhdXNlIG9mIEdzdFZpZGVvQWxpZ25tZW50CgoyMDEyLTA3LTI2IDE5OjMxOjE0ICswMjAwICBPbGVrc2lqIFJlbXBlbCA8YnVnLXRyYWNrQGZpc2hlci1wcml2YXQubmV0PgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgW01PVkVEIEZST00gQkFEIDEyMS8xMzRdIHZwOGVuYzogaW5pdGlhdGUgZW5jb2RlciB0byBmaXggYSBjcmFzaC4KCSAgV2l0aG91dCB0aGlzIHBhdGNoIHZwOGVuYyBzZW5kIGhlYWRlciBiZWZvcmUgYW5kIGFmdGVyIGZpcnN0CgkgIGtleSBmcmFtZS4gT24gc2Vjb25kIGtleWZyYW1lIHZwOGRlYyB3aWxsIGNyYXNoIHdpdGhvdXQgZ2V0dGluZwoJICBkZWNvZGVkIGZyYW1lLiBXaXRoIHRoaXMgcGlwZSBpdCBpcyBlYXN5IHRvIHJlcHJvZHVjZSB0aGlzIGlzc3VlOgoJICBnc3QtbGF1bmNoLTEuMCB2aWRlb3Rlc3RzcmMgISB2cDhlbmMgISB2cDhkZWMgISBmYWtlc2luawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgwNjY3CgoyMDEyLTA3LTI4IDAwOjMyOjU4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAxMjAvMTM0XSB0YWc6IFVwZGF0ZSBmb3IgdGFnbGlzdC90YWcgZXZlbnQgQVBJIGNoYW5nZXMKCjIwMTItMDctMjMgMTA6MzU6MDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSAgW01PVkVEIEZST00gQkFEIDExOS8xMzRdIGV4dDogVXBkYXRlIGZvciB2aWRlbyBiYXNlIGNsYXNzZXMgQVBJIGNoYW5nZXMKCjIwMTItMDctMjEgMTk6NTk6MjEgKzAyMDAgIE9sZWtzaWogUmVtcGVsIDxidWctdHJhY2tAZmlzaGVyLXByaXZhdC5uZXQ+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMTE4LzEzNF0gdnA4ZW5jOiBmaXggbWVtb3J5IGxlYWsKCSAgdW5yZWYgZnJhbWUuIGkgaG9wZSBpdCBpcyBjb3JyZWN0IHBsYWNlIHRvIGRvIGl0LgoJICBTaWduZWQtb2ZmLWJ5OiBPbGVrc2lqIFJlbXBlbCA8YnVnLXRyYWNrQGZpc2hlci1wcml2YXQubmV0PgoKMjAxMi0wNy0wNiAxMTo1MDo1MyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAxMTcvMTM0XSB1cGRhdGUgZm9yIHF1ZXJ5IGFwaSBjaGFuZ2VzCgoyMDEyLTA3LTA2IDExOjI2OjU1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSAgW01PVkVEIEZST00gQkFEIDExNi8xMzRdIHVwZGF0ZSBmb3IgcXVlcnkgYXBpIGNoYW5nZXMKCjIwMTItMDctMDYgMTE6MDM6MDQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMTE1LzEzNF0gdXBkYXRlIGZvciBhbGxvY2F0aW9uIHF1ZXJ5IGNoYW5nZXMKCjIwMTItMDYtMDcgMTI6MzM6MzEgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgW01PVkVEIEZST00gQkFEIDExNC8xMzRdIHZwODogZml4IGNvZGVjIHN0YXRlIGxlYWtzCgkgIEkgb25seSB0ZXN0ZWQgdGhhdCB2cDhlbmMgISB2cDhkZWMgZG9lcyBub3QgY3Jhc2gsIGFzIHZhbGdyaW5kIGRvZXMgbm90IGdyb2sKCSAgYXQgbGVhc3Qgb25lIG9mIHRoZSBpbnN0cnVjdGlvbnMgdXNlZCBieSB2cDhlbmMsIHByZXZlbnRpbmcgbWUgZnJvbSBjaGVja2luZwoJICBhIGxlYWssIGFuZCB0aGUgbGFjayBvZiBvbmUgYWZ0ZXIgdGhlIHBhdGNoLgoKMjAxMi0wNi0wNiAxMzowMjo0MCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAxMTMvMTM0XSB1cGRhdGUgZm9yIHRhZyBldmVudCBjaGFuZ2UKCjIwMTItMDUtMjggMTY6MDU6MjEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuaDoKCSAgW01PVkVEIEZST00gQkFEIDExMi8xMzRdIHZwODogUG9ydCB0byAwLjExIGFnYWluCgoyMDEyLTA1LTE4IDEyOjQ2OjU1ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAxMTEvMTM0XSB2cDhlbmM6IGZpeCB0YXJnZXQgYml0cmF0ZSBjb25maWcgd2l0aCBsaWJ2cHggMS4xLjAKCSAgbGlidnB4IDEuMS4wIGRpc2FsbG93cyBhIGJpdHJhdGUgb2YgMCwgd2hpY2ggd2FzIHVzZWQgYnkKCSAgdnA4ZW5jIGFzIGEgZGVmYXVsdCB2YWx1ZS4KCSAgSW5zdGVhZCwgd2UgdXNlIHRoZSBkZWZhdWx0IGxpYnZweCBiaXRyYXRlLCBzY2FsZWQgdG8gb3VyCgkgIHZpZGVvIHNpemUsIGlmIG5vIGJpdHJhdGUgd2FzIHNwZWNpZmllZC4KCSAgVGhpcyBmaXhlcyBlbmNvZGluZyBWUDggdmlkZW8gd2l0aCBsaWJ2cHggMS4xLjAuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzYyNDUKCjIwMTItMDUtMTYgMTQ6MDQ6MjggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgW01PVkVEIEZST00gQkFEIDExMC8xMzRdIHZwOGVuYzogVXBkYXRlIGZvciBHc3RWaWRlb0NvZGVjRnJhbWUgQVBJIGNoYW5nZXMKCjIwMTItMDQtMjcgMTg6MjI6NDIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmg6CgkgIFtNT1ZFRCBGUk9NIEJBRCAxMDkvMTM0XSB2cDhkZWM6IEltcHJvdmUgb3V0cHV0X3N0YXRlIGhhbmRsaW5nCgkgIEF2b2lkIGdldHRpbmcgb3V0cHV0X3N0YXRlIGZvciBldmVyeSBidWZmZXIgYXMgdGhhdCByZXF1aXJlcwoJICBnZXR0aW5nIHRoZSBvYmplY3Rsb2NrIGFuZCBkb2luZyByZWZlcmVuY2UgY291bnRpbmcuIFN0b3JlIGl0IGxvY2FsbHkKCSAgd2hlbiBpdCBpcyBjcmVhdGVkIGFuZCB1c2UgaXQuCgoyMDEyLTA0LTI3IDA5OjA1OjU3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMTA4LzEzNF0gdnA4ZGVjOiBVc2Ugb3V0cHV0c3RhdGUgd2hlbiBjb3B5aW5nIG91dHB1dCBidWZmZXIgZGF0YQoJICBVc2luZyB0aGUgaW5wdXQgc3RhdGUgd2FzIGNhdXNpbmcgYSBjcmFzaCBiZWNhdXNlIHRoZSBzdHJpZGVzL29mZnNldHMKCSAgd291bGQgYmUgd3JvbmcuIEZpeCBpdCBieSB1c2luZyB0aGUgb3V0cHV0IGFzIHdlIGFyZSBkZWFsaW5nIHdpdGgKCSAgdGhlIGRlY29kZWQgZnJhbWUuCgoyMDEyLTA0LTI0IDExOjA4OjQxICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAxMDcvMTM0XSB2cDg6IFBvcnQgdG8gLWJhc2UgdmlkZW8gYmFzZSBjbGFzc2VzCgkgIENvbmZsaWN0czoKCSAgZXh0L3ZwOC9NYWtlZmlsZS5hbQoJICBleHQvdnA4L2dzdHZwOGRlYy5jCgkgIGV4dC92cDgvZ3N0dnA4ZW5jLmMKCSAgQmFjayB0byAwLjEwIHN0YXRlIGZvciBub3csIG5lZWQgdG8gYmUgcG9ydGVkIGFnYWluLgoKMjAxMi0wNS0xOCAxMjo0Njo1NSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMTA2LzEzNF0gdnA4ZW5jOiBmaXggdGFyZ2V0IGJpdHJhdGUgY29uZmlnIHdpdGggbGlidnB4IDEuMS4wCgkgIGxpYnZweCAxLjEuMCBkaXNhbGxvd3MgYSBiaXRyYXRlIG9mIDAsIHdoaWNoIHdhcyB1c2VkIGJ5CgkgIHZwOGVuYyBhcyBhIGRlZmF1bHQgdmFsdWUuCgkgIEluc3RlYWQsIHdlIHVzZSB0aGUgZGVmYXVsdCBsaWJ2cHggYml0cmF0ZSwgc2NhbGVkIHRvIG91cgoJICB2aWRlbyBzaXplLCBpZiBubyBiaXRyYXRlIHdhcyBzcGVjaWZpZWQuCgkgIFRoaXMgZml4ZXMgZW5jb2RpbmcgVlA4IHZpZGVvIHdpdGggbGlidnB4IDEuMS4wLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc2MjQ1CgoyMDEyLTA0LTA1IDE4OjAyOjU2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvcGx1Z2luLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAxMDUvMTM0XSBnc3Q6IFVwZGF0ZSBmb3IgR1NUX1BMVUdJTl9ERUZJTkUoKSBBUEkgY2hhbmdlcwoKMjAxMi0wNC0wNCAxNDo0MToyMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L01ha2VmaWxlLmFtOgoJICBbTU9WRUQgRlJPTSBCQUQgMTA0LzEzNF0gZ3N0OiBVcGRhdGUgdmVyc2lvbmluZwoKMjAxMi0wMy0wNiAxNToyMToxNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMTAzLzEzNF0gdnA4ZW5jOiBGaXggJ2FyZ3VtZW50IHRvICdzaXplb2YnIGluICdtZW1zZXQnIGNhbGwgaXMgdGhlIHNhbWUgZXhwcmVzc2lvbiBhcyB0aGUgZGVzdGluYXRpb24nIGNvbXBpbGVyIHdhcm5pbmcKCjIwMTItMDEtMzAgMTc6MTc6MTYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMTAyLzEzNF0gdXBkYXRlIGZvciBIRUFERVIgZmxhZwoKMjAxMi0wMS0yNSAxODo0OTo1OCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMTAxLzEzNF0gcG9ydCBzb21lIG1vcmUgdG8gbmV3IG1lbW9yeSBBUEkKCSAgRml4ZXMgIzY2ODY3Ny4KCjIwMTItMDEtMjQgMTE6MjI6NDYgKzAxMDAgIE9sZWtzaWogUmVtcGVsIChBbGV4ZXkgRmlzaGVyKSA8YnVnLXRyYWNrQGZpc2hlci1wcml2YXQubmV0PgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgW01PVkVEIEZST00gQkFEIDEwMC8xMzRdIHZwOGVuYzogdHJhY2Ugb3V0Z29pbmcgdGltZXN0YW1wcwoJICBhZGQgaW5mbyBsZXZlbCBwcmludHMgZm9yIG91dGdvaW5nIHRpbWVzdGFtcHMuCgkgIFNpZ25lZC1vZmYtYnk6IE9sZWtzaWogUmVtcGVsIChBbGV4ZXkgRmlzaGVyKSA8YnVnLXRyYWNrQGZpc2hlci1wcml2YXQubmV0PgoKMjAxMi0wMS0wNCAxMTowNTo0OCArMDEwMCAgT2xla3NpaiBSZW1wZWwgKEFsZXhleSBGaXNoZXIpIDxidWctdHJhY2tAZmlzaGVyLXByaXZhdC5uZXQ+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDk5LzEzNF0gdnA4ZGVjOiB1c2UgaXNfYWx0X2RhdGEgb3B0aW9uIHRvIHByZXZlbnQgdGltZXN0YW1wIGNvbGxpc2lvbnMKCSAgYWx0cmVmL2ludmlzaWJsZSBmcmFtZXMgdXN1YWxseSBzdG9yZWQgaW4gY29udGFpbmVyIHdpdGggc2FtZSB0aW1lc3RhbXAgYXMKCSAgZGVwZW5kZXQgZnJhbWUuIFRoaXMgbWFrZSBiYXNldmlkZW9kZWNvZGVyIHRvIHVwZGF0ZSB0aW1lc3RhbXAgZm9yIGRlcGVuZGV0CgkgIGZyYW1lIGFuZCBjb3VzZSBUUyBjb2xpc2lvbiBvbiBuZXh0IGZyYW1lOgoJICBeLSBoZXJlIGlzIGFsdHJlZgoJICB0aW1lICAgICA6IDEgMiAzIDQgNSA2IDcgOCA5CgkgIHdlYm0gdHMgIDogMSAgIDMgNSA1ICAgNyAgIDkKCSAgdnA4ZGVjIHRzOiAxICAgMyAgIDcgICA3ICAgOQoJICBGaXggYnVnOiBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU1MjQ1CgkgIFNpZ25lZC1vZmYtYnk6IE9sZWtzaWogUmVtcGVsIChBbGV4ZXkgRmlzaGVyKSA8YnVnLXRyYWNrQGZpc2hlci1wcml2YXQubmV0PgoKMjAxMi0wMS0wMiAwODoyODoxMyArMDEwMCAgT2xla3NpaiBSZW1wZWwgKEFsZXhleSBGaXNoZXIpIDxidWctdHJhY2tAZmlzaGVyLXByaXZhdC5uZXQ+CgoJKiBleHQvdnA4L0dzdFZQOEVuYy5wcnM6CgkqIGV4dC92cDgvTWFrZWZpbGUuYW06CgkgIFtNT1ZFRCBGUk9NIEJBRCAwOTgvMTM0XSB2cDg6IGFkZCBpbml0aWFsIHByZXNldCBmaWxlCgkgIFRoaXMgaXMgaW5pdGlhbCBwcmVzZXQgZmlsZSwgY3VycmVudGx5IHdpdGggb25seSBvbmUgcHJvZmlsZQoJICBmb3IgcmVhbHRpbWUgZW5jb2RpbmcuCgkgIFNpZ25lZC1vZmYtYnk6IE9sZWtzaWogUmVtcGVsIChBbGV4ZXkgRmlzaGVyKSA8YnVnLXRyYWNrQGZpc2hlci1wcml2YXQubmV0PgoKMjAxMS0xMS0yOCAxMzowODoyNyArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDk3LzEzNF0gdmFyaW91czogZml4IHBhZCB0ZW1wbGF0ZSByZWYgbGVha3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2MjY2NAoKMjAxMS0xMS0yNSAxMTozNjoxNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDk2LzEzNF0gdnA4ZGVjOiB1c2UgbmV3IGJhc2V2aWRlb2RlY29kZXIgQVBJIHRvIGRyb3AgZnJhbWVzIGFuZCBnZXQgUW9TIG1lc3NhZ2VzIHBvc3RlZAoKMjAxMS0xMS0xMCAxNToxMzozNCArMDIwMCAgTWFydCBSYXVkc2VwcCA8bGVpb0BnZW50b28ub3JnPgoKCSogZXh0L3ZwOC9NYWtlZmlsZS5hbToKCSAgW01PVkVEIEZST00gQkFEIDA5NS8xMzRdIG1pbWljLCBvcGVuY3YsIHZwOCwgYWNtbXAzZGVjLCBsaW5zeXM6IERvbid0IGJ1aWxkIHN0YXRpYyBwbHVnaW5zCgkgIFBhc3MgLS10YWc9ZGlzYWJsZS1zdGF0aWMgdG8gbGlidG9vbCBldmVyeXdoZXJlIHdoZXJlIGl0J3MgYmVlbiBmb3Jnb3R0ZW4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2Mzc2OAoKMjAxMS0xMS0wMyAxNDowMTo0MSArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDk0LzEzNF0gdnA4OiBQb3J0IHRvIDAuMTEKCjIwMTEtMDgtMjEgMjA6MTU6MjUgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgW01PVkVEIEZST00gQkFEIDA5My8xMzRdIHZwOGVuYzogZml4IGRyb3AtZnJhbWUgcHJvcGVydHkKCSAgRml4ZXMgIzY1NjkyOS4KCjIwMTEtMDgtMTkgMTk6MTc6MTUgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuaDoKCSAgW01PVkVEIEZST00gQkFEIDA5Mi8xMzRdIHZwODogcHJvYmUgZm9yIHRoZSBuZXcgdHVuaW5nIEFQSSB0byBrZWVwIGJ1aWxkaW5nIHdpdGggb2xkZXIgbGlidnB4CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTY5MjgKCjIwMTEtMDgtMTggMTA6Mzk6MjYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgW01PVkVEIEZST00gQkFEIDA5MS8xMzRdIHZwOGVuYzogUmVtb3ZlIHVudXNlZCBhbmQgdXNlbGVzcyB2YXJpYWJsZSBpbiB0YWdzIGhhbmRsaW5nCgoyMDExLTA4LTEyIDEyOjA4OjA4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwOTAvMTM0XSB2cDhlbmM6IFVwZGF0ZSBmb3IgYmFzZXZpZGVvZW5jb2RlciA6OmdldF9jYXBzKCkgcmVtb3ZhbAoKMjAxMS0wNy0wOSAxODo1MzoyNCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5oOgoJICBbTU9WRUQgRlJPTSBCQUQgMDg5LzEzNF0gdnA4ZW5jOiBBZGQgbW9yZSBwcm9wZXJ0aWVzCgoyMDExLTA2LTE5IDE2OjA2OjQ2ICswMjAwICBBbGV4ZXkgRmlzaGVyIDxidWctdHJhY2tAZmlzaGVyLXByaXZhdC5uZXQ+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5oOgoJICBbTU9WRUQgRlJPTSBCQUQgMDg4LzEzNF0gdnA4ZW5jOiBhZGQgbWluL21heHNlY3Rpb24tcGN0IG9wdGlvbgoJICBUaGlzIG9wdGlvbnMgc2hvdWxkIGJlIGdvb2QgdG8gcmVkZXVjZSBkZWNvZGUgQ1BVIGxvYWQuCgkgIGZvciBsb3dlbmQgaGFyZHdhcmU6CgkgIG1pbnNlY3Rpb24tcGN0PTE1IG1heHNlY3Rpb24tcGN0PTQwMAoJICBmb3IgaGllbmQgaHc6CgkgIG1pbnNlY3Rpb24tcGN0PTUgbWF4c2VjdGlvbi1wY3Q9ODAwCgkgIHNlZSBleGFtcGxlOgoJICBodHRwOi8vd3d3LndlYm1wcm9qZWN0Lm9yZy90b29scy9lbmNvZGVyLXBhcmFtZXRlcnMvIzItcGFzc192YnJfZW5jb2RpbmdfZm9yX3Ntb290aF9wbGF5YmFja19vbl9sb3ctZW5kX2hhcmR3YXJlCgkgIFNpZ25lZC1vZmYtYnk6IEFsZXhleSBGaXNoZXIgPGJ1Zy10cmFja0BmaXNoZXItcHJpdmF0Lm5ldD4KCSAgU2lnbmVkLW9mZi1ieTogRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoyMDExLTA2LTE5IDExOjA1OjM2ICswMjAwICBBbGV4ZXkgRmlzaGVyIDxidWctdHJhY2tAZmlzaGVyLXByaXZhdC5uZXQ+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5oOgoJICBbTU9WRUQgRlJPTSBCQUQgMDg3LzEzNF0gdnA4ZW5jOiBhZGQgbGFnLWluLWZyYW1lcyBvcHRpb24uCgkgIFRoaXMgb3B0aW9uIHNldCBtYXhpbXVtIG9mIGZyYW1lcyBjb2RlYyBzaG91bGQgcmVtZW1iZXIsCgkgIHRvIG1ha2UgYmV0dGVyIHByZWRpa3Rpb24gZm9yIGFsdC1yZWYgZnJhbWVzLgoJICBTZWUgZXhhbXBsZToKCSAgaHR0cDovL3d3dy53ZWJtcHJvamVjdC5vcmcvdG9vbHMvZW5jb2Rlci1wYXJhbWV0ZXJzLyMyLXBhc3NfYmVzdF9xdWFsaXR5X3Zicl9lbmNvZGluZwoJICBTaWduZWQtb2ZmLWJ5OiBBbGV4ZXkgRmlzaGVyIDxidWctdHJhY2tAZmlzaGVyLXByaXZhdC5uZXQ+CgkgIFNpZ25lZC1vZmYtYnk6IERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKMjAxMS0wNi0xOSAwNzoxNjo1NyArMDIwMCAgQWxleGV5IEZpc2hlciA8YnVnLXRyYWNrQGZpc2hlci1wcml2YXQubmV0PgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgW01PVkVEIEZST00gQkFEIDA4Ni8xMzRdIHZwOGVuYzogdXNlIG11bHRpcGFzcy5jYWNoZSBmaWxlIG5hbWUgYXMgZGVmYXVsdCBmb3IgbXVsdGlwYXNzIG1vZGUuCgkgIFNpZ25lZC1vZmYtYnk6IEFsZXhleSBGaXNoZXIgPGJ1Zy10cmFja0BmaXNoZXItcHJpdmF0Lm5ldD4KCSAgU2lnbmVkLW9mZi1ieTogRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoyMDExLTA3LTIxIDA4OjAzOjUxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwODUvMTM0XSB2cDhlbmM6IFVwZGF0ZSBmb3IgR3N0QmFzZVZpZGVvRW5jb2Rlcjo6ZmluaXNoKCkgc2lnbmF0dXJlIGNoYW5nZQoKMjAxMS0wNy0xMiAxODowNToyNSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwODQvMTM0XSB2cDg6IEZpeCBzZXQtYnV0LXVudXNlZCB3YXJuaW5ncwoKMjAxMS0wNy0wOSAxMTozMTowMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDgzLzEzNF0gdnA4ZW5jOiBVc2UgZGVzdHJveSBub3RpZnkgdG8gZnJlZSB0aGUgY29kZXIgaG9vawoKMjAxMS0wNi0xOCAxNTo1Njo0OSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDgyLzEzNF0gdnA4ZW5jOiB1cGRhdGUgZm9yIG5ldyBsaWJ2cHggYXBpCgoyMDExLTA2LTI2IDE1OjE1OjU0ICswMjAwICBBbGV4ZXkgRmlzaGVyIDxidWctdHJhY2tAZmlzaGVyLXByaXZhdC5uZXQ+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDgxLzEzNF0gdnA4ZW5jOiBnZW5lcmF0ZSBhIHRpbWVzdGFtcCBmb3IgYWx0LXJlZiBmcmFtZXMuCgkgIEl0IHdpbGwgZml4IGhhbmRsaW5nIG9mIGFsdHJlZi9pbnZpc2libGUgZnJhbWVzIHNpbmNlIG1hdHJvc2thLW11eAoJICBkcm9wIGFueSBmcmFtIHdpdGggbm8gdGltZXN0YW1wLgoJICBzZWUgYWxzbzoKCSAgaHR0cDovL3d3dy53ZWJtcHJvamVjdC5vcmcvY29kZS9zcGVjcy9jb250YWluZXIvCgkgIFRoZSBlbmNvZGVyIHdpbGwgY3VycmVudGx5IHNldCB0aGUgQVIncyB0aW1lc3RhbXAgYXMgY2xvc2UgYXMgcG9zc2libGUKCSAgdG8gdGhlIHByZXZpb3VzIGZyYW1lIHdoaWxlIGF0dGVtcHRpbmcgdG8gcHJvdmlkZSBhIHRpbWVzdGFtcCB0aGF0IGlzCgkgIHN0cmljdGx5IGluY3JlYXNpbmcuIEluIGNhc2VzIHdoZXJlIHRoZSB0aW1lIGJhc2UgZ2l2ZW4gdG8gdGhlIGVuY29kZXIKCSAgYXQgY29uZmlndXJlIHRpbWUgaXMgbm90IGdyYW51bGFyIGVub3VnaCB0byBhbGxvdyBmb3IgdGhpcyB0aGUgQVIKCSAgd2lsbCBzaGFyZSB0aGUgc2FtZSB0aW1lc3RhbXAgYXMgRCwgYnV0IHNob3VsZCBiZQoJICB0cmVhdGVkIGFzIGhhdmluZyBubyBkdXJhdGlvbi4KCSAgRml4ZXMgYnVnICM2NTI5NTEKCSAgU2lnbmVkLW9mZi1ieTogQWxleGV5IEZpc2hlciA8YnVnLXRyYWNrQGZpc2hlci1wcml2YXQubmV0PgoKMjAxMS0wNi0xOCAxNzo0NzozNiArMDIwMCAgQWxleGV5IEZpc2hlciA8YnVnLXRyYWNrQGZpc2hlci1wcml2YXQubmV0PgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSAgW01PVkVEIEZST00gQkFEIDA4MC8xMzRdIHZwOGRlYzogYWRkIGNoZWNrIGlmIHdlIGhhdmUgbGVnYWwgYXNwZWN0LXJhdGlvIGJlZm9yZSByZXNldCBpdC4KCSAgdGhlIGNvbW1pdCBmOWI1NTJmMDQ5NGUgKHZwOGRlYzogc2V0IHBhciB0byAxLzEpCgkgIHdpbGwgZml4IHNpdHVhdGlvbiB3aGVyZSBubyBhc3BlY3QtcmF0aW8gaXMgc2V0LCBidXQgaXQgYnJha2UKCSAgc3RyZWFtIHdpdGggYXZhaWxhYmxlIGFzcGVjdC1yYXRpby4gVGhpcyBwYXRjaCBmaXggaXQuCgkgIEZpeGVzOiAjNjUyOTAyLgoJICBTaWduZWQtb2ZmLWJ5OiBBbGV4ZXkgRmlzaGVyIDxidWctdHJhY2tAZmlzaGVyLXByaXZhdC5uZXQ+CgoyMDExLTA2LTAzIDE5OjM2OjU5IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwNzkvMTM0XSB2cDhkZWM6IHNldCBwYXIgdG8gMS8xCgoyMDExLTA1LTE4IDEzOjI3OjIwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwNzgvMTM0XSB2cDhlbmM6IE5hbWUgbWF4L21pbiBxdWFudGl6ZXIgcHJvcGVydGllcyB7bWF4LG1pbn0tcXVhbnRpemVyCgkgIEFsc28gaW1wcm92ZSBxdWFsaXR5IHByb3BlcnR5IGRlc2NyaXB0aW9uLgoKMjAxMS0wNS0xOCAxMzoyNjoyMyArMDIwMCAgQWxleGV5IEZpc2hlciA8YnVnLXRyYWNrQGZpc2hlci1wcml2YXQubmV0PgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuaDoKCSAgW01PVkVEIEZST00gQkFEIDA3Ny8xMzRdIHZwOGVuYzogQWRkIHByb3BlcnRpZXMgdG8gc2VsZWN0IGEgbWF4aW11bSBhbmQgbWluaW11bSBxdWFudGl6ZXIKCSAgRml4ZXMgYnVnICM2NDE0MDUuCgoyMDExLTA1LTE4IDEzOjE4OjU4ICswMjAwICBBbGV4ZXkgRmlzaGVyIDxidWctdHJhY2tAZmlzaGVyLXByaXZhdC5uZXQ+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDc2LzEzNF0gdnA4ZW5jOiBGaXggcXVhbGl0eSB0byAoY29uc3RhbnQpIHF1YW50aXplciBtYXBwaW5nCgkgIFRoaXMgbm93IGFsbG93cyB0byBzZWxlY3QgYWxsIHBvc3NpYmxlIHF1YW50aXplcnMgYmV0d2VlbgoJICAwIGFuZCA2My4KCSAgU2VlIGJ1ZyAjNjQxNDA1LgoKMjAxMS0wNC0wMSAyMjoxMzo1NSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDc1LzEzNF0gdnA4ZGVjOiBkZWJ1ZyBjb2RlIHN0eWxlIGZpeGVzCgoyMDExLTA0LTAxIDIyOjEzOjAwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwNzQvMTM0XSB2cDhkZWM6IHByb3BhZ2F0ZSBkb3duc3RyZWFtIGZsb3cgcmV0dXJuIHRvIHVwc3RyZWFtCgoyMDExLTAzLTMwIDEwOjE4OjIzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwNzMvMTM0XSBiYXNldmlkZW9kZWNvZGVyOiByZWFsbHkgYW5kIG9ubHkgc2V0IHNyYyBwYWQgY2FwcyB3aGVuZXZlciByZXF1ZXN0ZWQKCSAgLi4uIHNpbmNlIHN1YmNsYXNzIGlzIGV4cGVjdGVkIHRvIGJlIHdpc2UgZW5vdWdoIHRvIGtub3cgd2hlbiB0byBkbyBzby4KCjIwMTEtMDMtMjkgMTA6NDE6NTQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSAgW01PVkVEIEZST00gQkFEIDA3Mi8xMzRdIGJhc2V2aWRlb2RlY29kZXI6IGludm9rZSBzdWJjbGFzcyBzdGFydCBtZXRob2QgYXQgc3RhdGUgY2hhbmdlIGFuZCB1c2Ugc2V0X2Zvcm1hdAoJICBXaGlsZSB0aGlzIGNoYW5nZXMgQVBJIHNsaWdodGx5IChlLmcuIGFjdHVhbGx5IHVzZXMgc2V0X2Zvcm1hdCBub3cpLCB3aGljaCBpcyBPSwoJICBmb3IgdW5zdGFibGUgQVBJLCBpdCBoYXMgZm9sbG93aW5nIG1lcml0czoKCSAgKiBzeW1tZXRyaWMgdy5yLnQuIHN0b3AgYXQgc3RhdGUgY2hhbmdlCgkgICogaW4gbGluZSB3aXRoIG90aGVyIGJhc2UgY2xhc3MgcHJhY3RpY2UKCSAgKiBvdGhlcndpc2Ugbm8gc3ViY2xhc3MgbWV0aG9kIGF0IHN0YXRlIGNoYW5nZSAoZ2xvYmFsIGFjdGl2YXRpb24gdGltZSkKCSAgTW9yZW92ZXIsIHN1YmNsYXNzZXNlIGFyZSBlaXRoZXIgdW5hZmZlY3RlZCBvciB0cml2aWFsbHkgYWRqdXN0ZWQgYWNjb3JkaW5nbHkuCgoyMDExLTAzLTI4IDA4OjU5OjIwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwNzEvMTM0XSBiYXNldmlkZW9kZWNvZGVyOiBzdWJzdW1lIHNraXBfZnJhbWUgaW50byBmaW5pc2hfZnJhbWUKCjIwMTEtMDMtMjQgMTQ6MTA6MDcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgW01PVkVEIEZST00gQkFEIDA3MC8xMzRdIGJhc2V2aWRlb2VuY29kZXI6IHByb3ZpZGUgcHJvcGVyIHVwc3RyZWFtIGZsb3cgcmV0dXJuIGhhbmRsaW5nCgoyMDExLTAzLTI0IDEzOjU5OjM1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmg6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwNjkvMTM0XSB2cDhlbmM6IG1pbm9yIG9wdGltaXphdGlvbiBpbiBzZXR0aW5nIHVwIGltYWdlIGJ1ZmZlcgoKMjAxMS0wMy0yNCAxMjo1MDoyMyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDY4LzEzNF0gdnA4ZW5jOiByZWZhY3RvciBmcmFtZSBwcm9jZXNzaW5nCgoyMDExLTAzLTI0IDExOjU1OjQxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwNjcvMTM0XSB2cDhlbmM6IGRvIGluaXQgYXQgc2V0X2Zvcm1hdCB0aW1lCgoyMDExLTAzLTI0IDEwOjE1OjU1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmg6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwNjYvMTM0XSB2cDhlbmM6IGZpeCBrZXlmcmFtZSBmb3JjaW5nCgoyMDExLTAzLTIzIDA5OjQ1OjIwICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwNjUvMTM0XSBiYXNldmlkZW9jb2RlYzogcmVtb3ZlIHJlZHVuZGFudCBjYXBzIGZpZWxkCgkgIC4uLiBhcyBpdCBpcyBhbHJlYWR5IGF0IGhhbmQgYXMgdGhlIHNyYyBwYWQncyBuZWdvdGlhdGVkIGNhcHMuCgoyMDExLTAzLTIzIDA4OjUwOjMxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmg6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwNjQvMTM0XSB2cDhlbmM6IHVzZSBiYXNlY2xhc3MgZXZlbnQgdmlydHVhbCBoYW5kbGVyCgoyMDExLTAyLTIwIDE0OjE2OjE4IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmg6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmg6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwNjMvMTM0XSBiYXNldmlkZW86IG1lcmdlIHV0aWxzIGhlYWRlciBpbnRvIGJhc2V2aWRlb2NvZGVjCgoyMDExLTAzLTE3IDE2OjM0OjAyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvTWFrZWZpbGUuYW06CgkgIFtNT1ZFRCBGUk9NIEJBRCAwNjIvMTM0XSB2cDg6IGZpeCBMSUJBREQgb3JkZXIgaW4gTWFrZWZpbGUuYW0KCjIwMTEtMDItMDQgMDk6MDg6MjYgKzAxMDAgIEFsZXhleSBGaXNoZXIgPGJ1Zy10cmFja0BmaXNoZXItcHJpdmF0Lm5ldD4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwNjEvMTM0XSB2cDhlbmM6IEFkZCBkZXNjcmlwdGlvbiBmb3IgYml0cmF0ZSB1bml0cy4KCjIwMTAtMTEtMzAgMTg6NDM6MjQgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgW01PVkVEIEZST00gQkFEIDA2MC8xMzRdIHZwOGVuYzogUmVhZGQgc2V0dGluZyBvZiBncmFudWxlcG9zCgkgIFJldmVydCBwYXJ0cyBvZiBsYXN0IHBhdGNoIHRoYXQgcmVtb3ZlZCBzZXR0aW5nIG9mIGdyYW51bGVwb3MuCgkgIG9nZ211eCBzdGlsbCByZXF1aXJlcyBjb3JyZWN0IGdyYW51bGVwb3MgaW4gaW5jb21pbmcgcGFja2V0LgoKMjAxMC0xMS0yOSAyMDoyMTozMSAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDU5LzEzNF0gdnA4ZW5jOiBEb24ndCBvdmVycmlkZSB0aW1lc3RhbXBzIHNldCBieSBiYXNlIGNsYXNzCgkgIEJlY2F1c2UgdGhlIGJhc2UgY2xhc3MgZG9lcyBpdCBjb3JyZWN0bHkuCgkgIEZpeGVzOiAjNjM1NzIwLCAjNjI1NTU4LgoKMjAxMC0xMS0yNSAxODo1Mjo0NyArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwNTgvMTM0XSB2cDg6IFJlbW92ZSBkZWFkIGFzc2lnbm1lbnRzCgoyMDEwLTEwLTA5IDE3OjM2OjA3IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwNTcvMTM0XSBiYXNldmlkZW86IE1vdmUgY29tbW9uIGZpZWxkcy9mdW5jdGlvbnMgdG8gYmFzZWNvZGVjCgoyMDEwLTA5LTE4IDE3OjI4OjQ4IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwNTYvMTM0XSBiYXNldmlkZW86IE1vdmUgZGVhZGxpbmUgdG8gZnJhbWUgc3RydWN0dXJlCgoyMDEwLTA4LTEzIDE0OjM0OjIxICswMjAwICBQaGlsaXAgSsOkZ2Vuc3RlZHQgPHBoaWxpcGpAb3BlcmEuY29tPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSAgW01PVkVEIEZST00gQkFEIDA1NS8xMzRdIHZwOGRlYzogU2V0IEdzdEJhc2VWaWRlb0RlY29kZXI6OnBhY2tldGl6ZWQgdG8gVFJVRSBhcyBzb29uIGFzIHBvc3NpYmxlCgkgIFRoaXMgZml4ZXMgYW4gaW5maW5pdGUgbG9vcCBpZiBhbiBFT1MgZXZlbnQgaXMgcmVjZWl2ZWQgYmVmb3JlCgkgIEdzdEJhc2VWaWRlb0RlY29kZXI6OnN0YXJ0KCkgaXMgY2FsbGVkLCBlLmcuIGltbWVkaWF0ZWx5IHdoZW4gdGhlCgkgIHBhZHMgYXJlIGFjdGl2YXRlZC4KCSAgRml4ZXMgYnVnICM2MjY4MTUuCgoyMDEwLTA3LTEwIDE2OjUyOjEwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmg6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwNTQvMTM0XSB2cDhlbmM6IEFkZCBzdXBwb3J0IGZvciBlbmFibGluZyBhdXRvbWF0aWMgaW5zZXJ0aW9uIG9mIGFsdC1yZWYgZnJhbWVzIGJ5IHRoZSBlbmNvZGVyCgoyMDEwLTA3LTEwIDE2OjUxOjUzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwNTMvMTM0XSB2cDhlbmM6IEZpeCBoYW5kbGluZyBvZiBpbnZpc2libGUvYWx0IHJlZiBmcmFtZXMKCjIwMTAtMDctMDMgMTc6NDc6MjkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuaDoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuaDoKCSAgW01PVkVEIEZST00gQkFEIDA1Mi8xMzRdIHZwODogQWRkIGluaXRpYWwgZG9jdW1lbnRhdGlvbiwgYmFzZWQgb24gdGhlIHRoZW9yYWRlYy90aGVvcmFlbmMgZG9jdW1lbnRhdGlvbgoKMjAxMC0wNy0wMyAxNzozNDo1OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L01ha2VmaWxlLmFtOgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJKiBleHQvdnA4L2dzdHZwOGRlYy5oOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5oOgoJKiBleHQvdnA4L3BsdWdpbi5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDUxLzEzNF0gdnA4OiBNb3ZlIHN0cnVjdHVyZSBkZWZpbml0aW9ucywgZXRjIHRvIHB1YmxpYyBoZWFkZXIgZmlsZXMgZm9yIGd0ay1kb2MKCjIwMTAtMDYtMTIgMDk6MDI6MjkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgW01PVkVEIEZST00gQkFEIDA1MC8xMzRdIHZwOGVuYzogSW1wbGVtZW50IG11bHRpcGFzcyBlbmNvZGluZwoJICBGaXhlcyBidWcgIzYyMTM0OC4KCjIwMTAtMDYtMTQgMTU6NTY6MjQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgW01PVkVEIEZST00gQkFEIDA0OS8xMzRdIHZwOGVuYzogU2V0IFZQOEVfU0VUX0NQVVVTRUQgdG8gMAoJICBUaGlzIHNldHRpbmcgY29udHJvbHMgaG93IG11Y2ggQ1BVIGNhbiBiZSB1c2VkIGJ5IHRoZSBlbmNvZGVyLCBzcGVjaWZpZWQKCSAgaW4gZnJhY3Rpb25zIG9mIDE2LiBOZWdhdGl2ZSB2YWx1ZXMgbWVhbiBzdHJpY3QgZW5mb3JjZW1lbnQgb2YgdGhpcwoJICB3aGlsZSBwb3NpdGl2ZSB2YWx1ZXMgYXJlIGFkYXB0aXZlLgoJICBUaGUgZGVmYXVsdCB2YWx1ZSBpcyAtNCwgd2hpY2ggbWVhbnMgdGhhdCB3ZSdyZSBub3QgcnVubmluZyBhcyBmYXN0CgkgIGFzIHBvc3NpYmxlIGFuZCBwcm9iYWJseSBhcmUgd2FzdGluZyBzb21lIHF1YWxpdHkuIDAgaXMgdGhlIHJlY29tbWVuZGVkCgkgIGRlZmF1bHQgYnkgbGlidnB4IHVwc3RyZWFtLgoKMjAxMC0wNi0xNCAxNTo1MTozMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDQ4LzEzNF0gdnA4ZW5jOiBVc2UgVlBYIGRlZmluZXMgZm9yIFJFQUxUSU1FLCBHT09EL0JFU1QgcXVhbGl0eSBkZWFkbGluZXMgaW5zdGVhZCBvZiBvdXIgb3duCgkgIFRoZXNlIGFyZSB0aGUgdmFsdWVzIHVzZWQgZm9yIHRoZSBzcGVlZCBwcm9wZXJ0eS4KCjIwMTAtMDYtMDMgMTA6NDk6NDAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgW01PVkVEIEZST00gQkFEIDA0Ny8xMzRdIHZwOGVuYzogZml4IHByaW50ZiBmb3JtYXQgd2FybmluZyBpbiBsb2cgbWVzc2FnZQoJICBnc3R2cDhlbmMuYzo1NjQ6IGVycm9yOiBmb3JtYXQg4oCYJWTigJkgZXhwZWN0cyB0eXBlIOKAmGludOKAmSwgYnV0IGFyZ3VtZW50IDggaGFzIHR5cGUg4oCYc2l6ZV904oCZCgkgIGdzdHZwOGVuYy5jOjc0NDogZXJyb3I6IGZvcm1hdCDigJglZOKAmSBleHBlY3RzIHR5cGUg4oCYaW504oCZLCBidXQgYXJndW1lbnQgOCBoYXMgdHlwZSDigJhzaXplX3TigJkKCjIwMDktMDctMDMgMTY6MDg6MzggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9NYWtlZmlsZS5hbToKCSAgW01PVkVEIEZST00gQkFEIDA0Ni8xMzRdIGJhc2V2aWRlbywgdnA4OiBndWFyZCB1bnN0YWJsZSBBUEkgd2l0aCBHU1RfVVNFX1VOU1RBQkxFX0FQSQoJICBBZGQgc29tZSBndWFyZHMgYW5kIGZhdCB3YXJuaW5ncyB0byB0aGUgaGVhZGVyIGZpbGVzIHdpdGggc3RpbGwgdW5zdGFibGUKCSAgQVBJLCBzbyBwZW9wbGUgd2hvIGp1c3QgbG9vayBhdCB0aGUgaW5zdGFsbGVkIGhlYWRlcnMga25vdyB0aGF0IGl0CgkgIGFjdHVhbGx5IGlzIHVuc3RhYmxlIEFQSS4KCSAgTWVyZ2luZyBwcmV2aW91cyBjb21taXQgaW50byBjdXJyZW50IGNvZGViYXNlLgoKMjAxMC0wNi0wMSAxNTo1NDo1MSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvdnA4L01ha2VmaWxlLmFtOgoJKiBleHQvdnA4L2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5jOgoJKiBleHQvdnA4L2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5oOgoJKiBleHQvdnA4L2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIGV4dC92cDgvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuaDoKCSogZXh0L3ZwOC9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJKiBleHQvdnA4L2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmg6CgkqIGV4dC92cDgvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb3BhcnNlLmM6CgkqIGV4dC92cDgvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb3BhcnNlLmg6CgkqIGV4dC92cDgvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb3V0aWxzLmM6CgkqIGV4dC92cDgvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb3V0aWxzLmg6CgkqIGV4dC92cDgvZ3N0L3ZpZGVvL2dzdHZpZGVvY29tcGF0LmM6CgkqIGV4dC92cDgvZ3N0L3ZpZGVvL2dzdHZpZGVvY29tcGF0Lmg6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwNDUvMTM0XSBiYXNldmlkZW86IE1vdmUgYmFzZSB2aWRlbyBmcm9tIHZwOCB0byBnc3QtbGlicwoKMjAxMC0wNS0yNiAwNjo1MjoxNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJKiBleHQvdnA4L2dzdHZwOHV0aWxzLmg6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwNDQvMTM0XSB2cDg6IFVzZSBWUFhfUExBTkVfKiBpbnN0ZWFkIG9mIFBMQU5FXyoKCjIwMTAtMDUtMjQgMTE6MDQ6MDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDh1dGlscy5oOgoJICBbTU9WRUQgRlJPTSBCQUQgMDQzLzEzNF0gdnA4OiBBZGQgY29tcGF0aWxpYml0eSBkZWZpbmVzIHRvIHdvcmsgd2l0aCBvbGRlciB2ZXJzaW9ucyBvZiBsaWJ2cHggdG9vCgoyMDEwLTA1LTIzIDA5OjI4OjEzICswMjAwICBQaGlsaXAgSsOkZ2Vuc3RlZHQgPHBoaWxpcGpAb3BlcmEuY29tPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgW01PVkVEIEZST00gQkFEIDA0Mi8xMzRdIHZwOGRlYzogcy9JTUdfRk1UX0k0MjAvVlBYX0lNR19GTVRfSTQyMC8KCSAgVGhpcyBjb3JyZXNwb25kcyB0byB1cHN0cmVhbSBsaWJ2cHggY29tbWl0IDZjZDRhMTBlMTY3MjAzZDFkZWI3OWFiZjYwZWU3MjU5OWU5Nzg5MWIKCjIwMTAtMDUtMjIgMTI6NTU6NDUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgW01PVkVEIEZST00gQkFEIDA0MS8xMzRdIHZwOGVuYzogQWxsb3cgYSBtYXhpbXVtIGtleWZyYW1lIGRpc3RhbmNlIG9mIDAsIGkuZS4gYWxsIGZyYW1lcyBhcmUga2V5ZnJhbWVzCgoyMDEwLTA1LTIyIDA4OjQ1OjM1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwNDAvMTM0XSB2cDhkZWM6IFNldCBkZWNvZGVyIGRlYWRsaW5lIGZyb20gdGhlIFFvUyBpbmZvcm1hdGlvbgoKMjAxMC0wNS0yOCAxNjozNToxMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDM5LzEzNF0gdnA4ZW5jOiBNb3ZlIGRlYnVnIG91dHB1dCBvbmUgbGluZSBhYm92ZSB3aGVyZSB0aGUgcGFja2V0IGlzIHN0aWxsIHZhbGlkCgoyMDEwLTA1LTI4IDE1OjUzOjMwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwMzgvMTM0XSB2cDhlbmM6IENvcnJlY3RseSBpZ25vcmUgbm9uLWZyYW1lIHBhY2tldHMgZnJvbSB0aGUgZW5jb2RlcgoJICBGaXhlcyBidWcgIzYxOTkxNi4KCjIwMTAtMDUtMjIgMDc6NDQ6MjcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDM3LzEzNF0gYmFzZXZpZGVvZGVjb2RlcjogVGFrZSB0aGUgZnJhbWUgZHVyYXRpb24gaW50byBhY2NvdW50IHdoZW4gY2FsY3VsYXRpbmcgdGhlIGVhcmxpZXN0IHRpbWUKCSAgVGhpcyBmb3JtdWxhIGlzIHVzZWQgaW4gbWFueSBvdGhlciBlbGVtZW50cyB0b28uCgkgIEZpeGVzIGJ1ZyAjNjE5MzE4LgoKMjAxMC0wNS0yMiAwNzozNTowMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwMzYvMTM0XSBiYXNldmlkZW9kZWNvZGVyOiBSZXNldCBRb1MgdmFsdWVzIHdoZW4gbmVjZXNzYXJ5CgoyMDEwLTA1LTIyIDA5OjM1OjI0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwMzUvMTM0XSB2cDhlbmM6IFVzZSBHU1RfVklERU9fQ0FQU19ZVVYoSTQyMCkgaW5zdGVhZCBvZiBoYW5kd3JpdHRlbiBJNDIwIGNhcHMgZm9yIHRoZSBwYWQgdGVtcGxhdGUKCSAgRml4ZXMgYnVnICM2MTkzNDQuCgoyMDEwLTA1LTIxIDIwOjUzOjM2ICswMjAwICBQaGlsaXAgSsOkZ2Vuc3RlZHQgPHBoaWxpcGpAb3BlcmEuY29tPgoKCSogZXh0L3ZwOC9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBleHQvdnA4L2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmg6CgkqIGV4dC92cDgvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb3V0aWxzLmg6CgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwMzQvMTM0XSB2cDhkZWM6IGRyb3AgbGF0ZSBmcmFtZXMgYWZ0ZXIgZGVjb2RpbmcgdGhlbQoJICBUaGlzIHNhdmVzIGEgbWVtY3B5LCB3aGljaCBpcyBhbHdheXMgc29tZXRoaW5nLgoKMjAxMC0wNS0yMSAyMToyODoyOSArMDIwMCAgUGhpbGlwIErDpGdlbnN0ZWR0IDxwaGlsaXBqQG9wZXJhLmNvbT4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwMzMvMTM0XSB2cDhlbmM6IHRocmVhZHMgcHJvcGVydHkKCSAgSW5jcmVhc2luZyBmcm9tIDEgdG8gMiB0aHJlYWRzIG9uIGFuIFRoaW5rcGFkIFg2MHMgZGVjcmVhc2VkIGVuY29kZSB0aW1lCgkgIGluIGEgdGVzdCBmcm9tIH4yNCBzIHRvIH4xOSBzLCBzbyB0aGlzIGlzIHF1aXRlIHVzZWZ1bC4KCSAgSWRlYWxseSB3ZSBzaG91bGQgbGV0IDAgYmUgdGhlIGRlZmF1bHQgYW5kIGF1dG9tYXRpY2FsbHkgbWF0Y2ggdGhlIG51bWJlcgoJICBvZiBDUFUgY29yZXMgKG9yIHNvbWV0aGluZykuCgoyMDEwLTA1LTIxIDE1OjE3OjQ2ICswMjAwICBQaGlsaXAgSsOkZ2Vuc3RlZHQgPHBoaWxpcGpAb3BlcmEuY29tPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgW01PVkVEIEZST00gQkFEIDAzMi8xMzRdIHZwOGVuYzogYWRkIG1vZGUgcHJvcGVydHkgdG8gc3dpdGNoIGJldHdlZW4gQ0JSL1ZCUgoJICBBbHdheXMgdXNpbmcgQ0JSIHdoZW4gYml0cmF0ZSBpcyB1c2VkIGlzbid0IHRoYXQgZ3JlYXQsIFZCUiBtb2RlCgkgIGNhbiBwcm9kdWNlIG1lYW5pbmdmdWwgcmVzdWx0cyB0b28uCgoyMDEwLTA1LTIxIDEwOjU0OjU3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwMzEvMTM0XSB2cDhkZWM6IE9ubHkgZW5hYmxlIHBvc3Rwcm9jZXNzaW5nIGlmIHRoZSBkZWNvZGVyIHN1cHBvcnRzIGl0CgoyMDEwLTA1LTIxIDA4OjIzOjU4ICswMjAwICBQaGlsaXAgSsOkZ2Vuc3RlZHQgPHBoaWxpcGpAb3BlcmEuY29tPgoKCSogZXh0L3ZwOC9wbHVnaW4uYzoKCSAgW01PVkVEIEZST00gQkFEIDAzMC8xMzRdIHZwODogdHlwbzogcy9IQVZFX1ZQOF9ERUNPREVSL0hBVkVfVlA4X0VOQ09ERVIvCgkgIEZpeHVwIGZvciBidWcgIzYxOTE3Mi4KCjIwMTAtMDUtMjEgMDg6MTM6MDYgKzAyMDAgIFBoaWxpcCBKw6RnZW5zdGVkdCA8cGhpbGlwakBvcGVyYS5jb20+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDI5LzEzNF0gdnA4OiBtb3ZlICNpZmRlZiBIQVZFX1ZQOF9FTkNPREVSL0RFQ09ERVIKCSAgT3RoZXJ3aXNlIHdlJ2xsIHRyeSBpbmNsdWRpbmcgZS5nLiA8dnB4L3ZwOGN4Lmg+IHdoaWNoIGRvZXNuJ3QgZXhpc3QuCgoyMDEwLTA1LTIwIDIwOjA2OjA5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwMjgvMTM0XSB2cDhlbmM6IFdyaXRlIEdTdHJlYW1lciBlbGVtZW50IGFuZCB2ZXJzaW9uIGluIHRoZSB2b3JiaXNjb21tZW50IHZlbmRvciBzdHJpbmcKCjIwMTAtMDUtMjAgMTY6NDk6MDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSogZXh0L3ZwOC9wbHVnaW4uYzoKCSAgW01PVkVEIEZST00gQkFEIDAyNy8xMzRdIHZwODogT25seSBlbmFibGUgdGhlIGVuY29kZXIgb3IgZGVjb2RlciBpZiBpdCdzIGF2YWlsYWJsZSBpbiBsaWJ2cHgKCSAgRml4ZXMgYnVnICM2MTkxNzIuCgoyMDEwLTA1LTIwIDEwOjE5OjU0ICswMjAwICBQaGlsaXAgSsOkZ2Vuc3RlZHQgPHBoaWxpcGpAb3BlcmEuY29tPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSogZXh0L3ZwOC9wbHVnaW4uYzoKCSAgW01PVkVEIEZST00gQkFEIDAyNi8xMzRdIHZwODogZXhsY3VkZSBkZWMvZW5jIGJhc2VkIG9uIENPTkZJR19WUDhfREVDT0RFUi9FTkNPREVSCgkgIFRoaXMgbWF5IG5vdCBiZSB2ZXJ5IGF1dG90b29saXNoLCBidXQgd29ya3Mgd2l0aCBsaWJ2cHggaW4gdGhlIHN0YXRlCgkgIHRoYXQgbGlidnB4IGlzIGFjdHVhbGx5IGluLiBNb3ZlZCB0aGUgZGVidWcgaW5pdCB0byB0aGUgZWxlbWVudHMKCSAgdGhlbXNlbHZlcyB0byBtaW5pbWl6ZSBhbW91bnQgb2YgI2lmZGVmcwoKMjAxMC0wNS0yMCAwOToyNDo1MyArMDIwMCAgUGhpbGlwIErDpGdlbnN0ZWR0IDxwaGlsaXBqQG9wZXJhLmNvbT4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwMjUvMTM0XSB2cDhlbmM6IExpbWl0IG1heC1sYXRlbmN5IHRvIDI1IHRvIG1hdGNoIGxpYnZweAoJICBGcm9tIGxpYnZweC92cDgvZW5jb2Rlci9vbnl4X2ludC5oOgoJICAjZGVmaW5lIE1BWF9MQUdfQlVGRkVSUyAoQ09ORklHX1JFQUxUSU1FX09OTFk/IDEgOiAyNSkKCSAgV2hpbGUgd2UgZG9uJ3QgbmVlZCB0byBiZSB0aWVkIHRvIHdoYXQgbGlidnB4IGRvZXMgaW50ZXJuYWxseSwgaXQKCSAgZG9lc24ndCBtYWtlIHNlbnNlIHRvIHByZXRlbmQgdG8gc3VwcG9ydCBsb25nZXIgZnJhbWUgbGFncyB0aGFuIGFyZQoJICBhY3R1YWxseSBwb3NzaWJsZS4KCjIwMTAtMDUtMjAgMDk6NTY6MjUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSogZXh0L3ZwOC9nc3R2cDh1dGlscy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDI0LzEzNF0gdnA4OiBVbmRlZiBIQVZFX0NPTkZJR19IIGJlZm9yZSBpbmNsdWRpbmcgbGlidnB4IGhlYWRlcnMKCSAgQSBwdWJsaWMgbGlidnB4IGhlYWRlciBpbmNsdWRlcyBwcml2YXRlIGhlYWRlcnMgaWYgdGhpcyBpcwoJICBkZWZpbmVkLCBjYXVzaW5nIGNvbXBpbGF0aW9uIGZhaWx1cmVzIGJlY2F1c2UgdGhlIHByaXZhdGUgaGVhZGVycwoJICBhcmUgbm90IGluc3RhbGxlZCBvZiBjb3Vyc2UuCgoyMDEwLTA1LTIwIDA4OjUzOjEyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwMjMvMTM0XSB2cDhlbmM6IFNvbWUgbW9yZSBtaW5vciBhZGp1c3RtZW50cyBmb3IgdGhlIE9nZyBtYXBwaW5nCgoyMDEwLTA1LTE5IDIzOjAyOjE5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwMjIvMTM0XSB2cDhkZWM6IEZpeCBtZW1vcnkgbGVhawoKMjAxMC0wNS0xOSAyMTozNDo0MiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDIxLzEzNF0gdnA4ZW5jOiBBZGp1c3QgT2dnIG1hcHBpbmcgZm9yIHRoZSBjaGFuZ2VzCgoyMDEwLTA1LTE5IDE4OjEyOjE4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwMjAvMTM0XSB2cDhkZWM6IEFkZCBwcm9wZXJ0aWVzIHRvIGNvbnRyb2wgdGhlIFZQOCBkZWNvZGVyIHBvc3QgcHJvY2Vzc2luZyBmZWF0dXJlCgkgIFRoaXMgaXMgZGlzYWJsZWQgYnkgZGVmYXVsdCBmb3Igbm93LgoKMjAxMC0wNS0xOSAxNzoxNjo1NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDE5LzEzNF0gdnA4ZW5jOiBSZW5hbWUga2V5ZnJhbWUtaW50ZXJ2YWwgdG8gbWF4LWtleWZyYW1lLWRpc3RhbmNlCgkgIEFuZCB1c2UgZGVmYXVsdCBzZXR0aW5ncyBmb3IgYnVmZmVyIHNpemVzIHVudGlsIHdlIGV4cG9zZSB0aGlzCgkgIHNvbWVob3cuCgoyMDEwLTA1LTE5IDE3OjEzOjE3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvTWFrZWZpbGUuYW06CgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkqIGV4dC92cDgvZ3N0dnA4dXRpbHMuYzoKCSogZXh0L3ZwOC9nc3R2cDh1dGlscy5oOgoJICBbTU9WRUQgRlJPTSBCQUQgMDE4LzEzNF0gdnA4OiBJbXByb3ZlIGVycm9yIGhhbmRsaW5nIGFuZCBkZWJ1ZyBvdXRwdXQKCjIwMTAtMDUtMTkgMTQ6NDY6NDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgW01PVkVEIEZST00gQkFEIDAxNy8xMzRdIHZwODogVXNlIGNvcnJlY3Qgc3RyaWRlcyBhbmQgcGxhbmUgb2Zmc2V0cyBmb3IgR1N0cmVhbWVyCgoyMDEwLTA1LTE4IDE0OjQ3OjU0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwMTYvMTM0XSB2cDhlbmM6IEltcGxlbWVudCBHc3RUYWdTZXR0ZXIgaW50ZXJmYWNlCgoyMDEwLTA1LTE4IDE0OjMzOjQ5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwMTUvMTM0XSB2cDhlbmM6IEZpeCBzZXR0aW5nIG9mIHRoZSBrZXlmcmFtZSBmbGFnIG9uIGVuY29kZWQgZnJhbWVzCgoyMDEwLTA1LTE4IDE0OjMwOjE1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwMTQvMTM0XSB2cDhlbmM6IFBvc3QgYW4gZXJyb3IgbWVzc2FnZSBvbiB0aGUgYnVzIGlmIGVuY29kZXIgaW5pdGlhbGl6YXRpb24gZmFpbHMKCjIwMTAtMDUtMTggMTQ6Mjg6NTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSAgW01PVkVEIEZST00gQkFEIDAxMy8xMzRdIHZwOGRlYzogRml4IG1lbW9yeSBsZWFrcyBhbmQgZmFpbCBpZiBpbml0aWFsaXppbmcgdGhlIGRlY29kZXIgZmFpbHMKCjIwMTAtMDUtMTggMDI6NDQ6NTQgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgW01PVkVEIEZST00gQkFEIDAxMi8xMzRdIHZwOGVuYzogU2V0IHRpbWViYXNlCgkgIEFsc28gbWlzYyBjbGVhbnVwLgoKMjAxMC0wNS0xNiAxMDozNjoxMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDExLzEzNF0gdnA4ZGVjOiBGaXggZGVjb2Rpbmcgb2YgaW52aXNpYmxlIGZyYW1lcwoKMjAxMC0wNS0xNCAxNDoyNjozNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDEwLzEzNF0gdnA4ZW5jOiBVcGRhdGUgdGhlIGxhdGVuY3kgd2hlbiBpbml0aWFsaXppbmcgdGhlIGVuY29kZXIKCjIwMTAtMDUtMTQgMTQ6MDI6NTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSAgW01PVkVEIEZST00gQkFEIDAwOS8xMzRdIHZwOGRlYzogQ29ycmVjdGx5IGluaXRpYWxpemUgc3RyZWFtIGluZm8gYmVmb3JlIHBlZWtpbmcgYXQgdGhlIHN0cmVhbQoJICBPdGhlcndpc2UgcGVla2luZyB3aWxsIGZhaWwgYW5kIHdlJ2xsIGdldCBpbnZhbGlkIHZhbHVlcwoKMjAxMC0wNS0xNCAxMTowMToyOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDA4LzEzNF0gdnA4ZGVjOiBNYWtlIHN1cmUgdG8gcGFzcyBhIGtleWZyYW1lIGFzIGZpcnN0IGZyYW1lIHRvIHRoZSBkZWNvZGVyLCBjb3B5IG91dHB1dCBmcmFtZXMgb25seSBvbmNlIGFuZCByZXF1aXJlIHdpZHRoL2hlaWdodC9ldGMgb24gdGhlIGlucHV0IGNhcHMKCjIwMTAtMDUtMTQgMTA6MzA6MTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgW01PVkVEIEZST00gQkFEIDAwNy8xMzRdIHZwOGVuYzogQWRkIHN1cHBvcnQgZm9yIGludmlzaWJsZSBmcmFtZXMgYW5kIHRoZSBPZ2cgbWFwcGluZwoKMjAxMC0wNS0xNCAwMToxNDo0NiAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDA2LzEzNF0gdnA4ZGVjOiBGaXggcmVzZXQgYWZ0ZXIgc2Vla2luZwoJICBBbHNvIHJlbW92ZSBzb21lIHVudXNlZCBjb2RlLgoKMjAxMC0wNS0xMyAyMToxOTozMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDA1LzEzNF0gdnA4ZW5jOiBTZXQgZnJhbWUgbnVtYmVycyBhcyBidWZmZXIgb2Zmc2V0cwoKMjAxMC0wNS0xMyAyMToxODowOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDA0LzEzNF0gdnA4ZW5jOiBBbHdheXMgZ2V0IGFzIG1hbnkgZnJhbWVzIGFzIHBvc3NpYmxlIGZyb20gdGhlIGVuY29kZXIKCjIwMTAtMDUtMTMgMjE6MDg6MDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgW01PVkVEIEZST00gQkFEIDAwMy8xMzRdIHZwOGVuYzogRmlsbCB0aGUgb2xkZXN0IHBlbmRpbmcgZnJhbWUgaW5zdGVhZCBvZiB0aGUgbmV3ZXN0CgoyMDEwLTA1LTEzIDIwOjIwOjMyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwMDIvMTM0XSB2cDhlbmM6IENvcnJlY3RseSBzZXQgZGVsdGEgdW5pdCBmbGFnIGZvciBub24ta2V5ZnJhbWVzCgoyMDEwLTA1LTEzIDAxOjA0OjA0IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC92cDgvTWFrZWZpbGUuYW06CgkqIGV4dC92cDgvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmM6CgkqIGV4dC92cDgvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmg6CgkqIGV4dC92cDgvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogZXh0L3ZwOC9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5oOgoJKiBleHQvdnA4L2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkqIGV4dC92cDgvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuaDoKCSogZXh0L3ZwOC9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvcGFyc2UuYzoKCSogZXh0L3ZwOC9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvcGFyc2UuaDoKCSogZXh0L3ZwOC9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvdXRpbHMuYzoKCSogZXh0L3ZwOC9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvdXRpbHMuaDoKCSogZXh0L3ZwOC9nc3QvdmlkZW8vZ3N0dmlkZW9jb21wYXQuYzoKCSogZXh0L3ZwOC9nc3QvdmlkZW8vZ3N0dmlkZW9jb21wYXQuaDoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSogZXh0L3ZwOC9wbHVnaW4uYzoKCSAgW01PVkVEIEZST00gQkFEIDAwMS8xMzRdIHZwODogQWRkIGVuY29kZXIvZGVjb2RlcgoKMjAxMi0wOS0xNSAyMjoxNjo1MiArMDIwMCAgQ2hyaXN0aWFuIEZyZWRyaWsgS2FsYWdlciBTY2hhbGxlciA8dXJhZXVzQGxpbnV4cmlzaW4ub3JnPgoKCSogZ3N0LXBsdWdpbnMtZ29vZC5zcGVjLmluOgoJICBVcGRhdGUgc3BlYyBmaWxlIHdpdGggRjE4IG5hbWUgY2hhbmdlIGFuZCBhZGQgZGVpbnRlcmxhY2VyCgoyMDEyLTA5LTE1IDE5OjA2OjA2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NpbmsuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc3JjLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NpbmsuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc3JjLmM6CgkgIHVzZSBnc3RfZWxlbWVudF9mYWN0b3J5X2dldF9tZXRhZGF0YSB0byByZXBsYWNlIG9ic29sZXRlIEFQSQoKMjAxMi0wOS0xNCAxNzo1NToxNiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zaW5rLmM6CgkgIHJlcGxhY2UgX2dldF9jYXBzX3JlZmZlZCB3aXRoIF9nZXRfY2FwcwoKMjAxMi0wOS0xNCAxNzowODo0OSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5jOgoJICByZXBsYWNlIGdzdF9lbGVtZW50X2NsYXNzX3NldF9kZXRhaWxzX3NpbXBsZSB3aXRoIGdzdF9lbGVtZW50X2NsYXNzX3NldF9tZXRhZGF0YQoKMjAxMi0wOS0xNCAxNzowNzoyNiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzoKCSogZXh0L2xpYnBuZy9nc3RwbmdlbmMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcXRtdXguYzoKCSAgcmVwbGFjZSBnc3RfZWxlbWVudF9jbGFzc19zZXRfZGV0YWlsc19zaW1wbGUgd2l0aCBnc3RfZWxlbWVudF9jbGFzc19zZXRfbWV0YWRhdGEKCjIwMTItMDktMTQgMTM6MzA6MzcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0bXV4LmM6CgkqIGdzdC9ydHAvUkVBRE1FOgoJKiBnc3QvdmlkZW9jcm9wL2dzdGFzcGVjdHJhdGlvY3JvcC5jOgoJKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9lcXVhbGl6ZXIvZGVtby5jOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvc2VydmVyLVZUUy1IMjYzcC1BVFMtUENNQS5zaDoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL3NlcnZlci1WVFMtSDI2M3Auc2g6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9zZXJ2ZXItZGVjb2RlYmluLUgyNjNwLUFNUi5zaDoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL3NlcnZlci12NGwyLUgyNjNwLWFsc2FzcmMtQU1SLnNoOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvc2VydmVyLXY0bDItSDI2NC1hbHNhc3JjLVBDTUEuc2g6CgkqIHRlc3RzL2V4YW1wbGVzL3NoYXBld2lwZS9zaGFwZXdpcGUtZXhhbXBsZS5jOgoJKiB0ZXN0cy9leGFtcGxlcy92NGwyL2NhbWN0cmwuYzoKCSogdGVzdHMvaWNsZXMvZ2RrcGl4YnVmc2luay10ZXN0LmM6CgkgIGZpeCBtb3JlIGNhcHMKCjIwMTItMDktMTQgMDI6NTc6NDQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQKCj09PSByZWxlYXNlIDAuMTEuOTQgPT09CgoyMDEyLTA5LTE0IDAyOjQ4OjQzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogQ2hhbmdlTG9nOgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDAuMTEuOTQKCjIwMTItMDktMTQgMDE6NTA6NDQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lby5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2dsLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9yby5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHBvL3poX0hLLnBvOgoJKiBwby96aF9UVy5wbzoKCSAgcG86IHVwZGF0ZSB0cmFuc2xhdGlvbnMKCjIwMTItMDktMTQgMDE6NDY6MTQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXNvbXA0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkgIGRvY3M6IHVwZGF0ZSBkb2NzCgoyMDEyLTA5LTE0IDAwOjQ3OjM4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvd2F2cGFja2VuYy5jOgoJICB0ZXN0czogcHVzaCBzdHJlYW0tc3RhcnQgYW5kIHNlZ21lbnQgZXZlbnRzIGluIHdhdnBhY2tlbmMgdGVzdAoKMjAxMi0wOS0xMyAxMDo1NjoyNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmg6CgkgIHY0bDI6IHJlbW92ZSB1bnVzZWQgcHJvcGVydGllcwoKMjAxMi0wOS0xMyAxMDoxNTo1NCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJICBwdWxzZXNyYzogZGlzYWJsZSByZWNvbmZpZ3VyZQoJICBTZWUgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MzkwMgoKMjAxMi0wOS0xMCAyMjowOTo1OSAtMDcwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBEb24ndCB0cmVhdCBldmVyeSBjdXN0b20tZG93bnN0cmVhbSBldmVudCBhcyBFT1MKCSAgRG9uJ3QgZmFsbCB0aHJvdWdoIHRvIHRoZSBFT1MgaGFuZGxpbmcgYWZ0ZXIgcmVjZWl2aW5nIGEKCSAgY3VzdG9tLWRvd25zdHJlYW0gZXZlbnQuCgoyMDEyLTA5LTEyIDIxOjA1OjQ0ICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2NhaXJvL2dzdHRleHRvdmVybGF5LmM6CgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0bXV4LmM6CgkqIGdzdC9zbXB0ZS9nc3RzbXB0ZS5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICBjb2xsZWN0cGFkczogcmVtb3ZlIGdzdF9jb2xsZWN0X3BhZHNfYWRkX3BhZF9mdWxsCgkgIFJlbmFtZSBnc3RfY29sbGVjdF9wYWRzX2FkZF9wYWRfZnVsbCgpIHRvIGdzdF9jb2xsZWN0X3BhZHNfYWRkX3BhZCgpIGFuZCBmaXggYWxsCgkgIGludm9jYXRpb25zLgoKMjAxMi0wOS0xMiAxNzoxNDo0NiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJICB1ZHA6IGFkZCBpbmNsdWRlIGZvciBJUFBST1RPXyoKCjIwMTItMDktMTIgMTY6Mzk6MDggKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSAgdWRwOiBwcm9wZXJseSBtYXRjaCBicmFjZXMgYW5kIGNwcCBkaXJlY3RpdmVzCgkgIEZpeGVzIGNvbXBpbGF0aW9uIHdoZXJlIElQVjZfVENMQVNTIG5vdCBkZWZpbmVkLgoKMjAxMi0wOS0xMiAxNDo0MjowNyArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJICBzaGFwZXdpcGU6IFVzZSBkZWZhdWx0IHF1ZXJ5IGhhbmRsZXIgd2hlcmUgbmVlZGVkCgkgIEFuZCBjbGVhbiB1cCBnZXRfY2FwcyBjb2RlIHdoaWxlIEknbSBhdCBpdAoKMjAxMi0wOS0xMiAxMzoyODowNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogaW1wcm92ZSBmcmFtZXJhdGUgdHJhbnNmb3JtCgkgIEhhbmRsZSBHX01BWElOVCBpbiB0aGUgZnJhbWVyYXRlcyBiZXR0ZXIuIElmIHdlIGNhbm5vdCBkb3VibGUgb3IgZGl2aWRlIHRoZQoJICBmcmFtZXJhdGUsIGNsYW1wIHRvIHRoZSBzbWFsbGVzdC9sYXJnZXN0IHBvc3NpYmxlIHZhbHVlIHdlIGNhbiBleHByZXNzIGluc3RlYWQKCSAgb2YgZmFpbGluZy4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4Mzg2MQoKMjAxMi0wOS0xMiAxMzoxNzo1NCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogc21hbGwgY2xlYW51cAoKMjAxMi0wOS0wNyAxNzoyMDo1NyAtMDQwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL2JsZW5kLmM6CgkqIGdzdC92aWRlb21peGVyL2JsZW5kLmg6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIHZpZGVvbWl4ZXIyOiBBZGRpbmcgbnYxMiBhbmQgbnYyMSBzdXBwb3J0CgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODM4NDEKCjIwMTItMDktMTIgMTA6MTg6NTMgKzAyMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEByZGlvLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXhfZm91cmNjLmg6CgkgIHF0ZGVtdXg6IGFkZCBzdXBwb3J0IGZvciBwcm9yZXMKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MzgzOQoKMjAxMi0wOS0xMiAwMDoxNjozMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnYW5hbHlzaXMuYzoKCSAgdGVzdHM6IGZpeCBtb3N0IG9mIHRoZSByZ2FuYWx5c2lzIHVuaXQgdGVzdHMKCSAgQmVmb3JlIHRoZSBlbGVtZW50IHdvdWxkIHBvc3QgbWVzc2FnZXMgb24gdGhlIGJ1cyBpdHNlbGYsIG5vdwoJICB0aGUgc2lua3MgZG8gdGhhdCBiYXNlZCBvbiB0aGUgdGFnIGV2ZW50cyB0aGV5IHJlY2VpdmUuIEJ1dAoJICBzaW5jZSB3ZSBkb24ndCBoYXZlIHByb3BlciBzaW5rIGVsZW1lbnRzIGluIHRoZXNlIHVuaXQgdGVzdHMsCgkgIGJ1dCBqdXN0IGRhbmdsaW5nIHBhZHMsIHdlIGhhdmUgdG8gcG9zdCB0aGUgdGFnIG1lc3NhZ2VzIHRoZQoJICB0ZXN0IGNoZWNrcyBmb3Igb3Vyc2VsdmVzLgoJICBEb3duIGZyb20gNTIvNTUgZmFpbGluZyB0byA3LzUyIGZhaWxpbmcuCgoyMDEyLTA5LTExIDE3OjM2OjUxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kdi9nc3RkdmRlbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2RlYnVndXRpbHMvcm5kYnVmZmVyc2l6ZS5jOgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIGV4dCwgZ3N0OiBvbmx5IGFjdGl2YXRlIGluIHB1bGwgbW9kZSBpZiB1cHN0cmVhbSBpcyBzZWVrYWJsZQoKMjAxMi0wOS0xMSAxNTozODoyMyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgdjRsMjogZGlzYWJsZSByZW5lZ290aWF0aW9uCgkgIFdlIGNhbid0IHlldCB3YWl0IGZvciB0aGUgYnVmZmVycG9vbCB0byBEUkFJTiBiZWZvcmUgc3RhcnRpbmcgcmVuZWdvdGlhdGlvbiBzbwoJICBkaXNhYmxlIGl0IGZvciBub3cuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODI3NzAKCjIwMTItMDktMTEgMTI6NDg6MzkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwYmluLmM6CgkgIHRlc3RzOiBydHBiaW46IHBvcnQgdG8gdGhlIG5ldyBHTGliIHRocmVhZCBBUEkKCjIwMTItMDktMTEgMTI6MzY6NTYgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmg6CgkgIGRpcmVjdHNvdW5kc2luazogcG9ydCB0byB0aGUgbmV3IEdMaWIgdGhyZWFkIEFQSQoKMjAxMi0wOS0xMSAxMTo1OTo1NCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBkb24ndCByZXNldCBzZWdtZW50CgkgIERvbid0IHJlc2V0IHRoZSBzZWdtZW50IGJlY2F1c2Ugd2UgbmVlZCB0aGUgdmFsdWVzIGZvciBhY2N1bXVsYXRpb24uIHRoZSBzZWdtZW50CgkgIGlzIHJlc2V0IGF0IHN0YXJ0IGFuZCBhZnRlciBhIGZsdXNoaW5nIHNlZWsuIEZpeGVzIHNvbWUgcHJvYmxlbXMgd2l0aCBmaWxlcyB3aXRoCgkgIHF1aWNrdGltZSBzZWdtZW50cy4KCjIwMTItMDktMTAgMTc6MTQ6MzcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pZDNkZW11eC5jOgoJICB0ZXN0czogZml4IGlkM2RlbXV4IHRlc3QKCjIwMTItMDktMTAgMTQ6MzE6MDIgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9hbWZkZWZzLmg6CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSogZ3N0L3J0cC9nc3RydHBxZG1kZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHN2M3ZkZXBheS5jOgoJICBnc3Q6IGFkanVzdCBjb21tZW50IHN0eWxlCgoyMDEyLTA5LTEwIDE0OjMwOjQyICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IHJlbW92ZSBkZWZ1bmN0IGNvbW1lbnRlZCBjb2RlCgoyMDEyLTA5LTEwIDEzOjM1OjE1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkgIHB1bHNlc3JjOiBjb25zaWRlciBzdHJlYW0gYWxpdmUgd2hlbiBub3QgY29ubmVjdGVkIHlldAoJICBXaGVuIHdlIHN0YXJ0IGFuZCByZW5lZ290aWF0ZSwgdGhlcmUgaXMgYSBtb21lbnQgd2hlcmUgdGhlIHN0cmVhbSBpcyBjcmVhdGVkIGJ1dAoJICBub3QgeWV0IGNvbm5lY3RlZC4gTWFrZSBzdXJlIGFsbCBmdW5jdGlvbnMgZGVhbCB3aXRoIHRoaXMgc2l0dWF0aW9uIGNvcnJlY3RseQoJICBpbnN0ZWFkIG9mIGVycm9yaW5nIG91dC4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MTI0NwoKMjAxMi0wOS0xMCAxMjoxNToyNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJICBwdWxzZXNyYzogZG9uJ3QgZmFpbCB3aGVuIG5vdCBuZWdvdGlhdGVkIHlldAoJICBXaGVuIGdldF90aW1lIGlzIGNhbGxlZCBidXQgd2UgYXJlIG5vdCB5ZXQgbmVnb3RpYXRlZCwgcmV0dXJuIDAgaW5zdGVhZCBvZgoJICBwb3N0aW5nIGFuIGVycm9yLiBJdCdzIHBvc3NpYmxlIHRoYXQgdGhlIGJhc2UgY2xhc3MgaXMgc3RpbGwgbmVnb3RpYXRpbmcgd2hlbgoJICBvdXIgZ2V0X3RpbWUgaXMgY2FsbGVkLgoKMjAxMi0wOS0xMCAxMTozMjoyNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJKiBzeXMvb3NzL2dzdG9zc3NyYy5jOgoJKiBzeXMvb3NzNC9vc3M0LXNvdXJjZS5jOgoJICB1cGRhdGUgZm9yIGF1ZGlvIGJhc2Ugc3JjIGFwaSBjaGFuZ2UKCjIwMTItMDktMTAgMDA6NDI6NTIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgdmlkZW8veC0zaXZ4IGFuZCB2aWRlby94LXh2aWQgLT4gdmlkZW8vbXBlZyxtcGVndmVyc2lvbj00CgkgIElmIGl0IGV2ZXIgdHVybnMgb3V0IHRoYXQgd2UgcmVhbGx5IG11c3QgdXNlIHRob2Ugc3BlY2lmaWMKCSAgZm91cmNjcyBhbmQgbm90IHRoZSBnZW5lcmljIG9uZSwgd2UgY2FuIHN0aWxsIGFkZCBhIGZsYXZvcgoJICBmaWVsZCB0byB0aGUgY2FwcyBsYXRlci4KCjIwMTItMDktMDcgMTY6MTU6NDIgKzAyMDAgIERhbmllbGEgPGRhbmllbGEubXV6enVAc2VsZXhlbHNhZy5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGF2b2lkIGxlYWsKCSAgV2hlbiBzZXR1cCBmYWlscywgbWFrZSBzdXJlIHRvIGNsZWFudXAgYWZ0ZXJ3YXJkcy4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3MzUwOQoKMjAxMi0wOS0wNyAxNToyMzo0NCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5LmM6CgkgIHJ0cGFtcmRlcGF5OiB1bm1hcCBydHAgYnVmZmVyCgkgIC4uLiB0aGVyZWJ5IHBsdWdnaW5nIGEgbWVtbGVhay4KCjIwMTItMDktMDcgMTQ6MTM6MTcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwLXBheWxvYWRpbmcuYzoKCSAgdGVzdHM6IHJ0cC1wYXlsb2FkaW5nOiBhZGp1c3QgdG8gbW9kaWZpZWQgYnVmZmVybGlzdCBzZW1hbnRpY3MKCSAgLi4uIG5vdyBpbXBsZW1lbnRlZCBieSBidWZmZXIgbWVtb3J5IGJsb2Nrcy4KCjIwMTItMDktMDcgMTQ6MTE6MzkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkgIHJ0cGgyNjRwYXk6IGF2b2lkIGNyYXNoaW5nIG9uIE5VTEwgYWNjZXNzIGluIGRlYnVnIG1lc3NhZ2UKCjIwMTItMDktMDcgMTQ6MTE6MDIgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcHBheS5jOgoJICBydHBoMjYzcHBheTogcGx1ZyBjYXBzIGxlYWsKCjIwMTItMDktMDYgMTc6MDk6MjAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IHJlbW92ZSByZWR1bmRhbnQgX3NldF9hbGxvY2F0aW9uIGNhbGwKCjIwMTItMDktMDYgMTc6MDU6MDAgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGVpbnRlcmxhY2UuYzoKCSAgdGVzdHM6IGRlaW50ZXJsYWNlOiBkbyBub3QgbGVhayBkZWludGVybGFjZSBwYWRzCgoyMDEyLTA5LTA2IDE3OjA0OjM5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogcGx1ZyBzb21lIGxlYWtzCgoyMDEyLTA5LTA2IDE2OjQ5OjAyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiByZXVzZSBjb3JlIGZ1bmN0aW9uIGZvciBHQ0QKCjIwMTItMDktMDYgMTY6MzE6MDAgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBzdXBwb3J0IGZpbHRlciBpbiBnZXRjYXBzCgoyMDEyLTA5LTA2IDE2OjMwOjQ0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogZG8gbm90IGxlYWsgZ2V0Y2FwcyByZXN1bHQKCjIwMTItMDktMDYgMTY6MjM6MjggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmg6CgkgIGRlaW50ZXJsYWNlOiBhZGQgc3VwcG9ydCBmb3IgYnVmZmVycG9vbAoJICBBZGQgYnVmZmVycG9vbCBzdXBwb3J0IHRvIGF2b2lkIGEgbWVtY3B5IGluIHRoZSB2aWRlb3Npbmsgd2hlbiBhY3RpdmVseQoJICBpbnRlcmxhY2luZy4KCSAgUmVtb3ZlIHNvbWUgY29tbWVudGVkIG9ic29sZXRlIGNvZGUuCgoyMDEyLTA5LTA2IDEzOjM4OjUyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBwcm94eSBhbGxvY2F0aW9uIHF1ZXJ5IGluIHBhc3N0aHJvdWdoCgkgIFdlIGNhbiBsZXQgdGhlIGFsbG9jYXRpb24gcXVlcnkgcGFzcyB3aGVuIHdlIGFyZSBvcGVyYXRpbmcgaW4gcGFzc3Rocm91Z2ggbW9kZS4KCjIwMTItMDktMDYgMTM6MjM6NDYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IHVzZSBkZWZhdWx0IGV2ZW50IGZ1bmN0aW9ucwoJICBpbnN0ZWFkIG9mIGJsaW5kbHkgZm9yd2FyZGluZyB1bmtub3duIGV2ZW50cy4KCjIwMTItMDktMDYgMTM6MjM6MzAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IHNtYWxsIGNsZWFudXBzCgoyMDEyLTA5LTA2IDEyOjU2OjMwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBjYWxsIGRlZmF1bHQgcXVlcnkgaGFuZGxlcnMKCSAgQ2FsbCB0aGUgZGVmYXVsdCBxdWVyeSBoYW5kbGVyIGluc3RlYWQgb2YgZm9yd2FyZGluZyB0aGUgcXVlcnkgYmxpbmRseS4gRml4ZXMKCSAgaXNzdWVzIG9mIHN0cmlkZXMgYmVjYXVzZSBvZiBwcm94eWluZyB0aGUgYWxsb2NhdGlvbiBxdWVyeSB3cm9uZ2x5LgoKMjAxMi0wOS0wNiAxMDo0MjoyMSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMjogcmVtb3ZlIHVudXNlZCBjb2RlLgoKMjAxMi0wOS0wNiAxMDo0MjowNiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2U6IGltcHJvdmUgZGVidWcKCjIwMTItMDktMDUgMTE6NTA6MDUgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2R2L2dzdGR2ZGVtdXguYzoKCSAgZHZkZW11eDogcmVtb3ZlIG9ic29sZXRlIHVwZGF0ZSBuZXdzZWdtZW50IGhhbmRsaW5nIGNvZGUKCjIwMTItMDktMDQgMTI6MzU6NTMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9iYWxhbmNlLmM6CgkgIHZpZGVvYmFsYW5jZTogYXZvaWQgZGVhZGxvY2sKCSAgX3VwZGF0ZV9wcm9wZXJ0aWVzIHRha2VzIHRoZSBvYmplY3QgbG9jayBhbmQgc2hvdWxkIG5vdCBiZSBjYWxsZWQgd2hlbiB0aGUKCSAgb2JqZWN0IGxvY2sgaXMgYWxyZWFkeSB0YWtlbi4KCjIwMTItMDktMDMgMTI6NDY6MDMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBleHRyYWN0IGludGVybGFjZWQtbmVzcyBvZiB2aWRlbyB0cmFjayBmcm9tIGludGVybGFjZS1tb2RlIGZpZWxkCgkgIGluc3RlYWQgb2YgdGhlIG9sZCBib29sZWFuICJpbnRlcmxhY2VkIiBmaWVsZC4KCjIwMTItMDktMDMgMDI6NTE6MjQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXZpbXV4LmM6CgkgIHZpZGVvL3gteHZpZCAtPiB2aWRlby9tcGVnLG1wZWd2ZXJzaW9uPTQKCjIwMTItMDktMDIgMDI6NTA6NTAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgdGV4dC9wbGFpbiArIHRleHQveC1wYW5nby1tYXJrdXAgLT4gdGV4dC94LXJhdwoKMjAxMi0wOS0wMiAwMTozMTo1MyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBnc3RfbWVzc2FnZV9uZXdfZHVyYXRpb24gLT4gZ3N0X21lc3NhZ2VfbmV3X2R1cmF0aW9uX2NoYW5nZWQKCjIwMTItMDgtMzAgMjI6MDc6MjQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHNlc3Npb246IGFsc28gc3RvcCBwcm9iYXRhdGlvbiBvbiBleGlzdGluZyBzb3VyY2VzCgkgIFJlY2VpdmluZyBhbiBSVENQIHBhY2tldCBzaG91bGQgYWxzbyBzdG9wIHByb2JhdGlvbiBvbiBzb3VyY2VzIHdlIGhhdmUgc2VlbgoJICBiZWZvcmUuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODMwNjUKCjIwMTItMDgtMjIgMTY6MzY6MjEgLTA3MDAgIEFsZWl4IENvbmNoaWxsbyBGbGFxdWUgPGFsZWl4QG9ibG9uZy5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmg6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBydHA6IG1ha2UgcnRwIHBhY2tldCBwcm9iYXRpb24gY29uZmlndXJhYmxlIChidWcgIzY4MjUxMikKCjIwMTItMDgtMzAgMTI6MjE6MDEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmb3ZlcmxheS5jOgoJICBnZGtwaXhidWY6IGFkanVzdCB0byBtb2RpZmllZCB2aWRlbyBvdmVybGF5IGNvbXBvc2l0aW9uIEFQSQoKMjAxMi0wOC0zMCAxMTozMDowMSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IGZpeHVwIDAuMTEgcG9ydCBvZiBzdXNwZWN0IGZyYW1lIGNoZWNraW5nCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODI5NTkKCjIwMTItMDgtMjggMTg6NTY6MTkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogYXZvaWQgaW52YWxpZCBIMjY0IGJ5dGVzdHJlYW0gY29kZWNfZGF0YQoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgxMzY5CgoyMDEyLTA4LTI4IDE5OjAwOjQ0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBwb3J0IHNlZ21lbnQgZXZlbnQgY3JlYXRpb24gdG8gMC4xMQoKMjAxMi0wOC0yOCAxNjoyODoxMyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogcmVsZWFzZSBleHRyYSBldmVudCByZWYgd2hlbiByZXBsYWNpbmcgcGVuZGluZyBuZXdzZWdtZW50IGV2ZW50CgoyMDEyLTA3LTAzIDE3OjUwOjI0ICswMjAwICBEYXZpZCBDb3J2b3lzaWVyIDxkYXZpZC5jb3J2b3lzaWVyQG9yYW5nZS5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4X2R1bXAuYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4X2R1bXAuaDoKCSogZ3N0L2lzb21wNC9xdGRlbXV4X2ZvdXJjYy5oOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXhfdHlwZXMuYzoKCSAgaXNvbXA0OiBhZGQgREFTSCB0ZmR0IGJveCBzdXBwb3J0CgkgIE1QRUcgREFTSCBoYXMgZGVmaW5lZCBhIHNldCBvZiBuZXcgYm94ZXMgdG8gc3BlY2lmeSBkdXJhdGlvbiwgaW5kZXhlcyBhbmQKCSAgb2Zmc2V0cyBvZiBJU09CTUZGIGZyYWdtZW50cy4KCSAgVGhlIFRyYWNrIEZyYWdtZW50IEJhc2UgTWVkaWEgRGVjb2RlIFRpbWUgKHRmZHQpIEJveCBjYW4gaW4gcGFydGljdWxhciBiZQoJICBpbmNsdWRlZCBpbnNpZGUgYSB0cmFmIGJveCB0byBzcGVjaWZ5IHRoZSBhYnNvbHV0ZSBkZWNvZGUgdGltZSwgbWVhc3VyZWQgb24gdGhlCgkgIG1lZGlhIHRpbWVsaW5lLCBvZiB0aGUgZmlyc3Qgc2FtcGxlIGluIGRlY29kZSBvcmRlciBpbiB0aGUgdHJhY2sgZnJhZ21lbnQuCgkgIFRoaXMgaW5mb3JtYXRpb24gY2FuIGJlIHVzZWQgYnkgdGhlIGlzb21wNCBkZW11eCB0byBmaW5kIG91dCB0aGUgY3VycmVudCBwb3NpdGlvbiBvZgoJICBhbiBNUDQgZnJhZ21lbnQgaW4gdGhlIHRpbWVsaW5lLgoJICBUaGlzIHBhdGNoIGFkZHMgY29kZSB0byBpc29tcDQgdG86CgkgIC0gcGFyc2UgdGhlIHRmZHQgYm94CgkgIC0gYWRqdXN0IHRoZSB0aW1lL3Bvc2l0aW9uIG1lbWJlciBvZiB0aGUgbmV3IHNlZ21lbnQgc2VudCB3aGVuIHBsYXliYWNrIHN0YXJ0cwoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc3NTM1CgoyMDEyLTA4LTI2IDIyOjM5OjU1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZXh0L2FhbGliL2dzdGFhc2luay5jOgoJKiBleHQvY2Fpcm8vZ3N0Y2Fpcm9yZW5kZXIuYzoKCSogZXh0L2NhaXJvL2dzdHRleHRvdmVybGF5LmM6CgkqIGV4dC9jYWlyby9nc3R0aW1lb3ZlcmxheS5jOgoJKiBleHQvZHYvZ3N0ZHZkZWMuYzoKCSogZXh0L2R2L2dzdGR2ZGVtdXguYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJKiBleHQvZmxhYy9nc3RmbGFjdGFnLmM6CgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zm92ZXJsYXkuYzoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmc2luay5jOgoJKiBleHQvZ2RrX3BpeGJ1Zi9waXhidWZzY2FsZS5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSogZXh0L2xpYmNhY2EvZ3N0Y2FjYXNpbmsuYzoKCSogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSogZXh0L3JhdzEzOTQvZ3N0ZHYxMzk0c3JjLmM6CgkqIGV4dC9yYXcxMzk0L2dzdGhkdjEzOTRzcmMuYzoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBjbGllbnRzaW5rLmM6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzoKCSogZXh0L3RhZ2xpYi9nc3RhcGV2Mm11eC5jYzoKCSogZXh0L3RhZ2xpYi9nc3RpZDN2Mm11eC5jYzoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6CgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGFjb2xvci5jOgoJKiBnc3QvYXBldGFnL2dzdGFwZWRlbXV4LmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvYW1wbGlmeS5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJiYW5kLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYmxpbWl0LmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZHluYW1pYy5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2VjaG8uYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9pbnZlcnQuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9rYXJhb2tlLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvcGFub3JhbWEuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW93c2luY2JhbmQuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW93c2luY2xpbWl0LmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFtcnBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZGNhcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdHdhdnBhY2twYXJzZS5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zaW5rLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NyYy5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zaW5rLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NyYy5jOgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpc3VidGl0bGUuYzoKCSogZ3N0L2N1dHRlci9nc3RjdXR0ZXIuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0cHVzaGZpbGVzcmMuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0dGFnaW5qZWN0LmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL3Byb2dyZXNzcmVwb3J0LmM6CgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJKiBnc3QvZWZmZWN0di9nc3RhZ2luZy5jOgoJKiBnc3QvZWZmZWN0di9nc3RkaWNlLmM6CgkqIGdzdC9lZmZlY3R2L2dzdGVkZ2UuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0b3AuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0cXVhcmsuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0cmFkaW9hYy5jOgoJKiBnc3QvZWZmZWN0di9nc3RyZXYuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0cmlwcGxlLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHNoYWdhZGVsaWMuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0c3RyZWFrLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHZlcnRpZ28uYzoKCSogZ3N0L2VmZmVjdHYvZ3N0d2FycC5jOgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcjEwYmFuZHMuYzoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIzYmFuZHMuYzoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXJuYmFuZHMuYzoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJKiBnc3QvZ29vbS9nc3Rnb29tLmM6CgkqIGdzdC9nb29tMmsxL2dzdGdvb20uYzoKCSogZ3N0L2ljeWRlbXV4L2dzdGljeWRlbXV4LmM6CgkqIGdzdC9pZDNkZW11eC9nc3RpZDNkZW11eC5jOgoJKiBnc3QvaW1hZ2VmcmVlemUvZ3N0aW1hZ2VmcmVlemUuYzoKCSogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmM6CgkqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzoKCSogZ3N0L2lzb21wNC9hdG9tc3JlY292ZXJ5LmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXgtZG9jLmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5jOgoJKiBnc3QvbWF0cm9za2Evd2VibS1tdXguYzoKCSogZ3N0L21vbm9zY29wZS9nc3Rtb25vc2NvcGUuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc3JjLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRmaWxlc3JjLmM6CgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRtdXguYzoKCSogZ3N0L3JlcGxheWdhaW4vZ3N0cmdhbmFseXNpcy5jOgoJKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ2xpbWl0ZXIuYzoKCSogZ3N0L3JlcGxheWdhaW4vZ3N0cmd2b2x1bWUuYzoKCSogZ3N0L3J0cC9SRUFETUU6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkqIGdzdC9zbXB0ZS9nc3RzbXB0ZS5jOgoJKiBnc3Qvc21wdGUvZ3N0c21wdGVhbHBoYS5jOgoJKiBnc3QvdWRwL2dzdHVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6CgkqIGdzdC92aWRlb2Nyb3AvZ3N0YXNwZWN0cmF0aW9jcm9wLmM6CgkqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3RnYW1tYS5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9iYWxhbmNlLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZsaXAuYzoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSogc3lzL29zcy9nc3Rvc3NzaW5rLmM6CgkqIHN5cy9vc3MvZ3N0b3Nzc3JjLmM6CgkqIHN5cy9vc3M0L29zczQtc2luay5jOgoJKiBzeXMvb3NzNC9vc3M0LXNvdXJjZS5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zaW5rLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NyYy5jOgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zaW5rLmM6CgkqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NyYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwycmFkaW8uYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvd2F2ZWZvcm0vZ3N0d2F2ZWZvcm1zaW5rLmM6CgkqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NhaXJvL2NhaXJvX292ZXJsYXkuYzoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL2NsaWVudC1IMjYzcC1BTVIuc2g6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9jbGllbnQtSDI2M3AtUENNQS5zaDoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL2NsaWVudC1IMjYzcC5zaDoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL2NsaWVudC1IMjY0LVBDTUEuc2g6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9jbGllbnQtSDI2NC5zaDoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL2NsaWVudC1QQ01BLnNoOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvc2VydmVyLVZUUy1IMjYzcC1BVFMtUENNQS5zaDoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL3NlcnZlci1WVFMtSDI2M3Auc2g6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9zZXJ2ZXItYWxzYXNyYy1QQ01BLnNoOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvc2VydmVyLWRlY29kZWJpbi1IMjYzcC1BTVIuc2g6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9zZXJ2ZXItdjRsMi1IMjYzcC1hbHNhc3JjLUFNUi5zaDoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL3NlcnZlci12NGwyLUgyNjQtYWxzYXNyYy1QQ01BLnNoOgoJKiB0ZXN0cy9leGFtcGxlcy9zaGFwZXdpcGUvc2hhcGV3aXBlLWV4YW1wbGUuYzoKCSogdGVzdHMvaWNsZXMvZ2RrcGl4YnVmc2luay10ZXN0LmM6CgkqIHRlc3RzL2ljbGVzL3ZpZGVvY3JvcC10ZXN0LmM6CgkgIGRvY3M6IGdzdC1sYXVuY2ggLT4gZ3N0LWxhdW5jaC0xLjAgYW5kIGZmbXBlZ2NvbG9yc3BhY2UgLT4gdmlkZW9jb252ZXJ0CgoyMDEyLTA4LTI2IDIyOjMyOjU0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICBkb2NzOiBnc3QtbGF1bmNoLTAuMTEgLT4gZ3N0LWxhdW5jaC0xLjAKCjIwMTItMDgtMjYgMjI6MDg6NTQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IHRoZSBmaWVsZCBpbiBjYXBzIGlzICJpbnRlcmxhY2UtbW9kZSIgbm90ICJpbnRlcmxhY2UtbWV0aG9kIgoJICBGaXggZGVpbnRlcmxhY2UgdW5pdCB0ZXN0LiBOZWVkIHRvIHNldCByaWdodCBmaWVsZCBvbiBvdXRwdXQgY2Fwcy4KCSAgQWxzbyByZW1vdmUgcmlnaHQgZmllbGQgKG5vdCBvbGQgMC4xMCAiaW50ZXJsYWNlZCIgYm9vbGVhbiBmaWVsZCkKCSAgZnJvbSBjYXBzIGluIHVuaXQgdGVzdCBiZWZvcmUgY29tcGFyaW5nIG9sZCBhbmQgbmV3LgoKMjAxMi0wOC0yNiAyMTo0NTo0NCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ljeWRlbXV4LmM6CgkgIHRlc3RzOiBmaXggaWN5ZGVtdXggdW5pdCB0ZXN0CgkgIFdhcyB3YWl0aW5nIGZvciBhIHRhZyBtZXNzYWdlIG9uIHRoZSBidXMsIHdoaWNoIHdvdWxkIG5ldmVyCgkgIGNvbWUsIGJlY2F1c2UgZWxlbWVudHMgZG9uJ3QgcG9zdCB0aG9zZSB0aGVtc2VsdmVzIGFueSBtb3JlCgkgIGJ1dCBsZXQgc2lua3MgcG9zdCB0aGVtIGZyb20gdGFnIGV2ZW50cy4gT25seSB0aGF0IHRoZXJlIGFyZQoJICBubyBzaW5rcyBpbiB0aGlzIHVuaXQgdGVzdC4KCjIwMTItMDgtMjYgMjE6Mjc6MDAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb2Nyb3AuYzoKCSAgdGVzdHM6IGZpeCB2aWRlb2Nyb3AgY3JvcF90b18xeDEgdW5pdCB0ZXN0IGZvciBHUkFZOCBmb3JtYXQKCSAgVXBkYXRlIHRhYmxlIHdpdGggcGl4ZWwgdmFsdWVzIHdpdGggdGhlIHZhbHVlIGFjdHVhbGx5IHByb2R1Y2VkCgkgIGJ5IHZpZGVvdGVzdHNyYy4KCjIwMTItMDgtMjcgMDk6MDA6NDUgKzAyMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZEBsdW9uLm5ldD4KCgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJICBwdWxzZXNyYzogT25seSBwcmludCBjYXBzIGlmIHRoZXkncmUgcHJvdmlkZWQKCjIwMTItMDgtMjQgMTk6NDM6MDggKzAxMDAgIE1pY2hhZWwgUnViaW5zdGVpbiA8bXJ1Ymluc3RlaW5AcmFpLWRldi5jb20+CgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZC5jOgoJICB2aWRlb21peGVyOiBmaXggZW5kaWFubmVzcyBjaGVjayBvbiBzeXN0ZW1zIHdoZXJlIG5vbi1nbGliIGVuZGlhbm5lc3MgZGVmaW5lcyBhcmUgbm90IHNldAoJICBPbiBXaW5kb3dzIExJVFRMRV9FTkRJQU4gd2l0aG91dCB0aGUgR18gaW4gd2FzIG5vdCBkZWZpbmVkLCAgc28gdGhlCgkgIHRlc3QgY29tZXMgb3V0IHdyb25nLgoKMjAxMi0wOC0yMiAxNzoyMzoyNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkgIHVkcHNpbms6IGRvbid0IGNyYXNoIG9uIE5VTEwgZXJyb3IKCSAgQ2hlY2sgaWYgdGhlcmUgaXMgYW4gZXJyb3IgYmVmb3JlIHJldHJpZXZpbmcgaXRzIG1lc3NhZ2UuCgkgIFNlZSBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgyNDgxCgoyMDEyLTA4LTIyIDEzOjMwOjE5ICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA2NjhhY2VlIHRvIDRmOTYyZjcKCjIwMTItMDgtMjIgMTM6MTg6MDAgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogYnVtcCBndGstZG9jIHJlcSB0byAxLjEyIChtYXItMjAwOSkKCSAgVGhpcyBhbGxvd3MgdXMgdG8gZS5nLiB1bmNvbmRpdGlvbmFsbHkgdXNlIGd0a2RvYy1yZWJhc2UuCgoyMDEyLTA4LTIyIDExOjIxOjM4ICswMjAwICBNYXJ0aW4gRXJ0c2FhcyA8bWVydHNhc0BjaXNjby5jb20+CgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLmg6CgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgb3N4dmlkZW9zaW5rOiBNYWtlIG9zeHZpZGVvc2luayB1c2UgdGhlIG5vbi1kZXByZWNhdGVkIHRocmVhZGluZyBhcGkgZnJvbSBnbGliLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgyNDQ2CgoyMDEyLTA4LTE0IDE1OjQwOjMxICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJICBwdWxzZXNyYzogSGFuZGxlIG5lZ290aWF0aW9uIGV2ZW50cwoJICBUaGlzIG1ha2VzIHN1cmUgdGhhdCB3ZToKCSAgYSkgRGVzdHJveSBhbiBleGlzdGluZyBzdHJlYW0gaWYgYSBuZWdvdGlhdGUoKSByZXF1ZXN0IGNvbWVzIGluOiB0aGlzIGlzCgkgIHJlcXVpcmVkIHdoZW4gcmVjZWl2aW5nIGEgZG93bnN0cmVhbSByZW5lZ290aWF0aW9uIHJlcXVlc3QgYWZ0ZXIgYQoJICBzdHJlYW0gaGFzIGJlZW4gY3JlYXRlZC4KCSAgYikgQ3JlYXRlIGEgbmV3IHN0cmVhbSBvbiBwcmVwYXJlKCk6IHRoaXMgaXMgcmVxdWlyZWQgc2luY2Ugd2UgZG8gYQoJICBzZXRjYXBzKCkgaW4gbmVnb3RpYXRlKCksIHdoaWNoIGNhdXNlcyB0aGUgc3RyZWFtIHRvIGJlIGRyb3BwZWQgYnkgYQoJICByaW5nYnVmZmVyIHJlbGVhc2UoKSBjYWxsICh0aGlzIGRvZXMgbm90IGhhcHBlbiBkdXJpbmcgZmlyc3QgbmVnb3RpYXRpb24KCSAgc2luY2UgdGhlIHJlbGVhc2UgaXMgb25seSBkb25lIG9uIGEgcnVubmluZyByaW5nYnVmZmVyKS4gVGhlIHN1YnNlcXVlbnQKCSAgY2FsbCB0byByaW5nYnVmZmVyIGFjcXVpcmUoKSBmYWlscyBiZWNhdXNlIHRoZSBzdHJlYW0gd2FzIGxvc3Qgb24KCSAgcmVsZWFzZSgpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgxMjQ3CgoyMDEyLTA4LTE0IDE1OjM4OjI3ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXV0aWwuYzoKCSAgcHVsc2U6IENsZWFyIHVucG9zaXRpb25lZCBmbGFnIHdoZW4gc2V0dGluZyBwb3NpdGlvbnMKCSAgSWYgY29udmVydGluZyBhIFBBIGNoYW5uZWwgbWFwIHRvIGdzdCBjaGFubmVsIHBvc2l0aW9ucyByZXN1bHRzIGluIGEKCSAgdmFsaWQgc2V0IG9mIGNoYW5uZWwgcG9zaXRpb25zLCB3ZSBjbGVhciB0aGUgdW5wb3NpdGlvbmVkIGZsYWcgZnJvbSB0aGUKCSAgcmluZ2J1ZmZlciBzcGVjLgoKMjAxMi0wOC0xNCAwOTozNzo0NSArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSAgcHVsc2VzcmM6IFJlbW92ZSByZWR1bmRhbnQgY2hhbm5lbC1tYXNrIHNldHRpbmcgZm9yIHN0ZXJlbyBjYXNlCgkgIFRoZSBnc3RhdWRpbyBoZWxwZXIgbGlicmFyaWVzIGFscmVhZHkgdGFrZSBjYXJlIG9mIHRoaXMgY2FzZSBmb3IgdXMuCgoyMDEyLTA4LTE0IDA5OjM2OjMwICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJICBwdWxzZXNyYzogRG9uJ3QgdXNlIG1lbXNldCB0byBzZXQgaW52YWxpZCBjaGFubmVsIHBvc2l0aW9ucwoJICBUaGlzIGl0ZXJlYXRlcyBvdmVyIHRoZSBHc3RBdWRpb0luZm8gdG8gc2V0IGludmFsaWQgY2hhbm5lbCBwb3NpdGlvbnMKCSAgcmF0aGVyIHRoYW4gdXNlIG1lbXNldCgpIHdoaWNoIHdvcmtzIHJpZ2h0IG5vdyBiZWNhdXNlIGl0IGFzc3VtZXMgdGhhdAoJICBHU1RfQVVESU9fQ0hBTk5FTF9QT1NJVElPTl9JTlZBTElEIGlzIC0xLgoKMjAxMi0wOC0yMiAxMDozMDowNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1ZnNpbmsuYzoKCSAgZ2RrcGl4YnVmc2luazogbWlub3IgZG9jcyBpbXByb3ZlbWVudAoKMjAxMi0wOC0yMiAxMDoyMzoyNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC9nZGtfcGl4YnVmL01ha2VmaWxlLmFtOgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWZwbHVnaW4uYzoKCSAgZ2RrcGl4YnVmOiByZS1lbmFibGUgYWxyZWFkeS1wb3J0ZWQgZ2RrcGl4YnVmc2luawoKMjAxMi0wOC0yMiAxMDowODowOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC9nZGtfcGl4YnVmL01ha2VmaWxlLmFtOgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWZvdmVybGF5LmM6CgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zm92ZXJsYXkuaDoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmcGx1Z2luLmM6CgkgIGdka3BpeGJ1ZjogcG9ydCBnZGtwaXhidWZvdmVybGF5IGVsZW1lbnQgdG8gMC4xMQoKMjAxMi0wOC0yMiAwMDowMDo0NiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2dka19waXhidWYvTWFrZWZpbGUuYW06CgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1ZmRlYy5jOgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWZkZWMuaDoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmcGx1Z2luLmM6CgkgIGdka3BpeGJ1ZjogcmUtZW5hYmxlIGFscmVhZHktcG9ydGVkIGdka3BpeGJ1ZiBlbGVtZW50IGFzIGdka3BpeGJ1ZmRlYwoJICBOb3Qgc3VyZSB3aHkgaXQgYXMgZGlzYWJsZWQgZXhhY3RseSBnaXZlbiB0aGF0IGl0IGhhZCBhbHJlYWR5CgkgIGJlZW4gcG9ydGVkICh0aG91Z2ggd2l0aG91dCBtZXRhcyBvciBiYXNlY2xhc3MpLgoJICBNb3ZlIHBsdWdpbl9pbml0IGJpdHMgaW50byBzZXBhcmF0ZSBzb3VyY2UgZmlsZSwgYW5kIHJlbmFtZQoJICBkZWNvZGVyIGVsZW1lbnQgdG8gZ2RrcGl4YnVmZGVjLgoKMjAxMi0wOC0yMSAyMzoyNTo0NyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC9nZGtfcGl4YnVmL2dzdF9sb2FkZXIuYzoKCSAgZ2RrcGl4YnVmOiByZW1vdmUgb2xkIGFuZCB1bnVzZWQgZ3N0X2xvYWRlciBzb3VyY2UgZmlsZQoJICBPbmNlIHVwb24gYSB0aW1lIHVzZWQgdG8gbG9hZCBHU3RyZWFtZXIgdmlkcyB2aWEgR2RrUGl4YnVmIEFQSS4KCjIwMTItMDgtMTYgMTY6NTE6MTYgLTA3MDAgIEFsZWl4IENvbmNoaWxsbyBGbGFxdWUgPGFsZWl4QG9ibG9uZy5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBydHNwc3JjOiBtYWtlIGppdHRlcmJ1ZmZlciBkcm9wLW9uLWxhdGVuY3kgYXZhaWxhYmxlIChmaXggIzY4MjA1NSkKCSAgQ29uZmxpY3RzOgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLmgKCjIwMTItMDgtMjEgMTk6NDc6NDUgKzA4MDAgIEh1YWNhaSBDaGVuIDxjaGVuaGNAbGVtb3RlLmNvbT4KCgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSAgdjRsMjogbWFrZSBnc3RfdjRsMl9maWxsX2xpc3RzKCkgYWRhcHQgdG8ga2VybmVsIDMuMysKCSAgV2hlbiBkbyB2NGwyX2lvY3RsKCkgd2l0aCBWSURJT0NfRU5VTUlOUFVUIGZhaWxzIG9uIHNvbWUgZGV2aWNlcywKCSAga2VybmVscyBiZWZvcmUgMy4zLjAgcmV0dXJuIEVJTlZBTCwgYnV0IG5ld2VyIGtlcm5lbHMgcmV0dXJuIEVOT1RUWS4KCSAgVGhpcyBwYXRjaCBtYWtlIHRob3NlIGRldmljZXMgd29yayB3ZWxsIG9uIGtlcm5lbCAzLjMrLgoJICBSZWxhdGVkIGtlcm5lbCBjb21taXQ6CgkgIGh0dHA6Ly9naXQua2VybmVsLm9yZy8/cD1saW51eC9rZXJuZWwvZ2l0L3RvcnZhbGRzL2xpbnV4LmdpdDthPWNvbW1pdDtoPTA3ZDEwNmQwYTMzZDYwNjNkMjA2MTMwNTkwM2RlYjAyNDg5ZWJhMjAKCSAgU2lnbmVkLW9mZi1ieTogSHVhY2FpIENoZW4gPGNoZW5oY0BsZW1vdGUuY29tPgoJICBTaWduZWQtb2ZmLWJ5OiBSdWkgV2FuZyA8d2FuZ3JAbGVtb3RlLmNvbT4KCSAgU2lnbmVkLW9mZi1ieTogSmllIENoZW4gPGNoZW5qQGxlbW90ZS5jb20+CgoyMDEyLTA4LTIwIDIzOjMwOjM4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIHZpZGVvL3gtZHZkLXN1YnBpY3R1cmUgLT4gc3VicGljdHVyZS94LWR2ZAoKMjAxMi0wOC0xNyAyMDo1Mjo0MiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc3JjLmM6CgkgIG11bHRpZmlsZXNyYzogZml4IGV4YW1wbGUgcGlwZWxpbmUgaW4gZG9jcwoKMjAxMi0wOC0xNyAxNDo1OTo1NyArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6CgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyMTBiYW5kcy5jOgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcjNiYW5kcy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9lcXVhbGl6ZXIuYzoKCSAgZXF1YWxpemVyOiBlbmFibGUgcHJlc2V0cyBmb3IgdGhlIG4tYmFuZCBlcXVhbGl6ZXIKCSAgQWRkIGEgdGVzdCBmb3Igc2F2aW5nIGFuZCByZXN0b3JpbmcgdGhlIHByZXNldC4KCjIwMTItMDgtMTQgMDE6MjA6MTkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IGZpeCBub3QtbmVnb3RpYXRlZCBlcnJvcnMgb24gdmFyaWFibGUgb3IgbWlzc2luZyBmcmFtZXJhdGUgaW4gaW5wdXQgY2FwcwoJICBSZW1vdmUgc29tZSBib2d1cyBjb2RlIEkgYWRkZWQgZHVyaW5nIHBvcnRpbmcgdGhhdCB3b3VsZCBlcnJvciBvdXQKCSAgb24gbWlzc2luZyBvciB2YXJpYWJsZSBmcmFtZXJhdGVzIGluIGlucHV0IGNhcHMuIEhhbmRsZSB0aGlzIGxpa2UKCSAgd2UgZG8gaW4gMC4xMAoJICBGaXhlcyB0ZXN0X21vZGVfZGlzYWJsZWRfcGFzc3Rocm91Z2ggdW5pdCB0ZXN0IGNoZWNrLgoKMjAxMi0wOC0xMiAxMzoxNjozMiArMDIwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkQGx1b24ubmV0PgoKCSogZ3N0L2xhdy9hbGF3LWRlY29kZS5jOgoJKiBnc3QvbGF3L211bGF3LWRlY29kZS5jOgoJICBsYXc6IEZpbHRlciBsYXlvdXQgY2FwcyBmaWVsZAoJICBUaGUgbGF5b3V0IGNhcHMgZmllbGQgc2hvdWxkbid0IGJlIHBhc3NlZCB0aHJvdWdoIHRvIHRoZSBzaW5rIHBhZAoJICBvZiB7bXUsYX1sYXdkZWMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODE2NzcKCjIwMTItMDgtMDkgMTk6NDE6MzQgKzAzMDAgIEFudG9uIEJlbGthIDxhbnRvbmJlbGthQGdtYWlsLmNvbT4KCgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSAgZmxhY2VuYzogYWxsb3cgYSBUT0Mgd2l0aCBzaW5nbGUgYWx0ZXJuYXRpdmUgdG9wLWxldmVsIGVudHJ5CgkgIEFsbG93IGEgVE9DIHRoYXQgaGFzIGEgc2luZ2xlIGFsdGVybmF0aXZlIHRvcC1sZXZlbCBlbnRyeQoJICB3aXRoIG11bHRpcGxlIHNlcXVlbmNlIHN1Yi1lbnRyaWVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD01NDA4OTEKCjIwMTItMDgtMDkgMTA6MzE6MzkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IEFuZCBmaXggdGhlIEdUSyBjaGVjayB0byB1c2UgdGhlIGNvcnJlY3QgcGtnLWNvbmZpZyBwYWNrYWdlIG5hbWUKCjIwMTItMDgtMDkgMTA6MjU6MzggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IEZpeCBHVEsgcmVxdWlyZWQgdmVyc2lvbiB2YXJpYWJsZSBuYW1lCgoyMDEyLTA4LTA5IDA4OjM1OjIzICswMTAwICBNYXR0aGlhcyBDbGFzZW4gPG1jbGFzZW5AcmVkaGF0LmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDI6IGZpeCBidWlsZCB3aXRoIHJlY2VudCBrZXJuZWxzLCB0aGUgdjRsMl9idWZmZXIgaW5wdXQgZmllbGQgd2FzIHJlbW92ZWQKCSAgVGhpcyB3YXMgdW51c2VkIGFwcGFyZW50bHkgYW5kIHJlbW92ZWQgaW4gdGhlIGtlcm5lbCBpbiBjb21taXQ6CgkgIEZyb20gMmI3MTlkN2JhZjQ5MGUyNGNlN2Q4MTdjNjMzN2I3Yzg3ZmRhODRjMSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKCSAgRnJvbTogU2FrYXJpIEFpbHVzIDxzYWthcmkuYWlsdXNAaWtpLmZpPgoJICBEYXRlOiBXZWQsIDIgTWF5IDIwMTIgMDk6NDA6MDMgLTAzMDAKCSAgU3ViamVjdDogW1BBVENIXSBbbWVkaWFdIHY0bDogZHJvcCB2NGwyX2J1ZmZlci5pbnB1dCBhbmQgVjRMMl9CVUZfRkxBR19JTlBVVAoJICBSZW1vdmUgaW5wdXQgZmllbGQgaW4gc3RydWN0IHY0bDJfYnVmZmVyIGFuZCBmbGFnIFY0TDJfQlVGX0ZMQUdfSU5QVVQgd2hpY2gKCSAgdGVsbHMgdGhlIGZvcm1lciBpcyB2YWxpZC4gVGhlIGZsYWcgaXMgdXNlZCBieSBubyBkcml2ZXIgY3VycmVudGx5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgxNDkxCgkgIENvbmZsaWN0czoKCSAgc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYwoKMjAxMi0wOC0wOCAxNzoyNTozNiAtMDcwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHAtcGF5bG9hZGluZy5jOgoJICBydHBoMjY0cGF5OiBNYWtlIGl0IGFjdHVhbGx5IHdvcmsgYWZ0ZXIgY2xlYW51cHMKCjIwMTItMDgtMDggMTc6NDA6MzQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuYzoKCSAgZ3N0OiBTZXQgYWxpZ25tZW50IGF0IHRoZSBjb3JyZWN0IHBsYWNlIG9mIEdzdEFsbG9jYXRpb25QYXJhbXMKCjIwMTItMDgtMDggMTc6Mzk6MDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRtdXguYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgZ3N0OiBTZXQgYWxpZ25tZW50IGF0IHRoZSBjb3JyZWN0IHBsYWNlIG9mIEdzdEFsbG9jYXRpb25QYXJhbXMKCjIwMTItMDgtMDggMTY6MjU6NTggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQKCj09PSByZWxlYXNlIDAuMTEuOTMgPT09CgoyMDEyLTA4LTA4IDE1OjIyOjA0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0LXBsdWdpbnMtZ29vZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMC4xMS45MwoKMjAxMi0wOC0wOCAxNToxNzoyMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBNYWtlZmlsZS5hbToKCSogd2luMzIvTUFOSUZFU1Q6CgkqIHdpbjMyL2NvbW1vbi90dW5lci1lbnVtdHlwZXMuYzoKCSogd2luMzIvY29tbW9uL3R1bmVyLWVudW10eXBlcy5oOgoJKiB3aW4zMi9jb21tb24vdHVuZXItbWFyc2hhbC5jOgoJKiB3aW4zMi9jb21tb24vdHVuZXItbWFyc2hhbC5oOgoJICB3aW4zMjogYWRkIGdlbmVyYXRlZCB0dW5lci1tYXJzaGFsL2VudW10eXBlcyBmaWxlcyBmb3IgdjRsMnNyYyBhbmQgdXBkYXRlCgkgIEFuZCBnc3QtaW5kZW50IHRoZSByaWdodCBydHAgbWFyc2hhbCBmaWxlczsgYWRkIG1pc3NpbmcgZmlsZXMgdG8gTUFOSUZFU1QuCgoyMDEyLTA4LTA4IDE1OjEwOjM3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUtZGlzdC5jOgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3hvcmMtZGlzdC5jOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZG9yYy1kaXN0LmM6CgkgIGdzdDogdXBkYXRlIGRpc3RlZCBvcmMgZmlsZXMKCjIwMTItMDgtMDggMTE6MzE6NTkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJKiBzeXMvb3NzNC9vc3M0LWF1ZGlvLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgU2lsZW5jZSBzb21lICd2YXJpYWJsZSBtYXkgYmUgdXNlZCB1bmluaXRpYWxpemVkJyBjb21waWxlciB3YXJuaW5ncwoJICBXaGVuIGNvbXBpbGluZyB3aXRoIC1ER19ESVNBQkxFX0FTU0VSVAoKMjAxMi0wOC0wOCAxMDo1Njo1MSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzoKCSogZ3N0L2lzb21wNC9nc3RxdG1vb3ZyZWNvdmVyLmM6CgkqIHRlc3RzL2ljbGVzL3hpbWFnZXNyYy10ZXN0LmM6CgkgIE5vIGNvZGUgd2l0aCBzaWRlLWVmZmVjdHMgaW5zaWRlIGdfYXNzZXJ0KCkgcGxlYXNlCgoyMDEyLTA4LTA3IDExOjE0OjIxIC0wNzAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSAgbXVsdGl1ZHBzaW5rOiBSZXR1cm4gRkxVU0hJTkcgaW5zdGVhZCBvZiBFUlJPUiBvbiB1bmxvY2sKCSAgSWYgdGhlIGJhc2UgY2xhc3MgYXNrcyBtdWx0aXVkcHNpbmsgdG8gdW5sb2NrLCB0aGVuIGl0IHNob3VsZCByZXR1cm4KCSAgRkxVU0hJTkcsIG5vdCBFUlJPUgoKMjAxMi0wNy0yNiAxNjoxOTo1NyArMDMwMCAgQW50b24gQmVsa2EgPGFudG9uYmVsa2FAZ21haWwuY29tPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmg6CgkgIGZsYWNlbmM6IGFkZCBUT0Mgc3VwcG9ydAoJICBBZGQgVE9DIGFzIGVtYmVkZGVkIGN1ZXNoZWV0cyBpbiBmbGFjIGZpbGVzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTQwODkKCjIwMTItMDgtMDcgMTI6MTI6MDkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBnZW5lcmF0ZSBlbXB0eSB2b3JiaXNjb21tZW50IGZvciBjb21wbGV0ZSBzdHJlYW1oZWFkZXJzIGlmIG5lZWRlZAoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgxMzM1CgoyMDEyLTA4LTA2IDE4OjAyOjUwIC0wNzAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkgIHJ0cHNzcmNkZW11eDogQmxvY2sgcGFkIHdoaWxlIGl0IGlzIGFubm91bmNlZC4KCSAgQmxvY2sgdGhlIFJUUCBwYWQgYW5kIGFzc29jaWF0ZWQgUlRDUCBwYWRzIHdoaWxlIHRoZXkgYXJlIGJlaW5nCgkgIGFubm91bmNlZC4gVGhpcyBpdCB0byBwcmV2ZW50IGEgcmFjZSB3aGVyZSBvbmUgaXMgYW5ub3VuY2VkIGFuZAoJICBiZWZvcmUgdGhlIGNhbGxiYWNrIGhhcyBjb25uZWN0ZWQgaXQsIHRoZSBvdGhlciBvbmUgZ2V0cyBhIGJ1ZmZlci4KCSAgV2UgY2FuJ3QgdXNlIHRoZSAicGFkbG9jayIgb2Ygc3NyY2RlbXV4IGJlY2F1c2UgaXQgY2F1c2VzIGRlYWRsb2Nrcy4KCjIwMTItMDgtMDYgMTU6MDA6NTcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBjb21tb246IHVuLWRvIGFjY2lkZW50YWwgY29tbW9uIHVwZGF0ZSByZXZlcnQgaW4gY29tbWl0IDdiNTkyNWI1CgoyMDEyLTA4LTA2IDE0OjUwOjUzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwbXBhcm9idXN0ZGVwYXkuYzoKCSAgcnRwbXBhcm9idXN0ZGVwYXk6IHNldCBjb3JyZWN0IGRhdGFfc2l6ZSBmb3IgZ2VuZXJhdGVkIGR1bW15IGZyYW1lCgkgIC4uLiB3aGljaCBwcmV2ZW50cyBnZXR0aW5nIHN0dWNrIGluIGEgbG9vcCBpZiBzdWNoIG9uZSBpcyBuZWVkZWQuCgoyMDEyLTA4LTA2IDE0OjUwOjAzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwbXBhcm9idXN0ZGVwYXkuYzoKCSAgcnRwbXBhcm9idXN0ZGVwYXk6IGltcHJvdmUgYW5kIGZpeCBkZWJ1ZyBzdGF0ZW1lbnQKCSAgLi4uIHNvIGl0IHJlYWxseSBpbmZvcm1zIGFib3V0IG5leHQgcmF0aGVyIHRoYW4gcGFzdCBmcmFtZS4KCjIwMTItMDgtMDYgMTI6MzQ6NTUgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBtcGFyb2J1c3RkZXBheS5jOgoJICBydHBtcGFyb2J1c3RkZXBheTogdXBkYXRlIGF2YWlsYWJsZSBieXRld3JpdGVyIHNwYWNlIHdoZW4gcmVwb3NpdGlvbmluZwoJICAuLi4gYW5kIGFkZCBzb21lIG1vcmUgYXNzZXJ0IHRvIGNhdGNoIHBvdGVudGlhbCBzdXJwcmlzZXMgZWFybHkgb24uCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODA1NTgKCjIwMTItMDgtMDQgMTI6NDc6NDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJKiBleHQvZHYvZ3N0ZHZkZW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBnc3Q6IEFkZCBzdHJlYW0taWQgdG8gc3RyZWFtLXN0YXJ0IGV2ZW50cwoKMjAxMi0wOC0wNCAxMjo1NDozMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogQ2hhaW4gdXAgdG8gdGhlIHBhcmVudCBjbGFzcycgcXVlcnkgaGFuZGxlciBpZiBubyBwYWQgaXMgcHJvdmlkZWQKCjIwMTItMDgtMDIgMDE6NDg6MjkgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLmg6CgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgb3N4dmlkZW9zaW5rOiBhZGQgYSBiZXR0ZXIgZGV0ZWN0aW9uIGZvciB0aGUgbWFpbiBydW4gbG9vcAoKMjAxMi0wNy0yNyAxNjoxMzo0OSArMDIwMCAgWGF2aSBBcnRpZ2FzIDx4YXJ0aWdhc0BmbHVlbmRvLmNvbT4KCgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSAgZGlyZWN0c291bmRzaW5rOiBEbyBub3Qgb3ZlcndyaXRlIHRoZSBEUyBidWZmZXIgd2hlbiB0ZXN0aW5nIGZvciBBQzMgc3VwcG9ydAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgwNzA2CgkgIENvbmZsaWN0czoKCSAgc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jCgoyMDEyLTA4LTA1IDE2OjM5OjIzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA5NGNjZjRjIHRvIDY2OGFjZWUKCjIwMTItMDgtMDMgMTY6MTM6NTIgKzAxMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSAgcnRwc3NyY2RlbXV4OiBSZWxlYXNlIGxvY2sgYmVmb3JlIHNpZ25hbGxpbmcgbmV3IHBhZAoJICBUaGlzIHByZXZlbnRzIGEgZGVhZGxvY2sgd2hlcmUgc29tZXRoaW5nIHdvdWxkIHRyeSB0byBwdXNoIGFuIGV2ZW50CgkgIHRocm91Z2ggdGhlIFNTUkMgZGVtdXggZnJvbSB0aGUgY2FsbGJhY2ssIGNhdXNpbmcgdGhlIHBhZHMgdG8gYmUgaXRlcmF0ZWQKCSAgYW5kIHRoZSBsb2NrIHRha2VuLgoKMjAxMi0wOC0wNCAxNjoxMDoxNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY3RhZy5jOgoJKiBleHQvc2hvdXQyL2dzdHNob3V0Mi5jOgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0dGFnaW5qZWN0LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSogZ3N0L2ljeWRlbXV4L2dzdGljeWRlbXV4LmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hcGV2Mm11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pY3lkZW11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pZDNkZW11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pZDN2Mm11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9xdG11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ2FuYWx5c2lzLmM6CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy90YWdzY2hlY2tpbmcuYzoKCSAgZ3N0X3RhZ19saXN0X2ZyZWUgLT4gZ3N0X3RhZ19saXN0X3VucmVmCgoyMDEyLTA4LTAzIDE0OjEwOjMyICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogbWFuYWdlIHJhY2UgYmV0d2VlbiBjb25uZWN0aW9uIGNsb3NpbmcgYW5kIGZsdXNoaW5nCgkgIC4uLiB3aGVyZSB0aGUgZm9ybWVyIGNhbiBoYXBwZW4gaW4gdGFzayB0aHJlYWQgYW5kIHRoZSBsYXR0ZXIgaW4gbWFpbmxvb3AKCSAgdXBvbiBkb3dud2FyZCBzdGF0ZSBjaGFuZ2UuCgoyMDEyLTA4LTAzIDE0OjAyOjIzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSAgZmxhY2RlYzogaW1wcm92ZSBhbmQgcmVsYXggYXVkaW8gZnJhbWUgcGFyc2luZwoJICAuLi4gc28gYXMgdG8gcHJvcGVybHkgcmVjb2duaXplIGZpcnN0IGF1ZGlvIGZyYW1lLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgxMDc3CgkgIENvbmZsaWN0czoKCSAgZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jCgoyMDEyLTA4LTAxIDEyOjE2OjQxICswMjAwICBSZW7DqSBTdGFkbGVyIDxyZW5lLnN0YWRsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGZpeCBkb3VibGUgdW5yZWYgb2YgcHJpdmF0ZSB0YWcgYnVmZmVyCgoyMDEyLTA3LTMwIDE3OjU0OjUxICswMzAwICBBbnRvbiBCZWxrYSA8YW50b25iZWxrYUBnbWFpbC5jb20+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgd2F2cGFyc2U6IGNyZWF0ZSBUT0MgYXMgbmVlZGVkCgkgIEF2b2lkIGNyZWF0aW5nIHRoZSB0b2MgaWYgdGhlIHdhdiBoYXMgbm8gb3IgZW1wdHkgY3VlIGNodW5rLgoJICBBbHNvIGEgc21hbGwgY29kZSBjbGVhbnVwLgoKMjAxMi0wNy0yOCAxMToyNjowMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICB3YXZwYXJzZTogdXBkYXRlIGZvciBUT0MgQVBJIGNoYW5nZXMKCjIwMTItMDctMjggMTE6MjI6NDMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSAgbWF0cm9za2E6IHVwZGF0ZSBmb3IgVE9DIEFQSSBjaGFuZ2VzCgoyMDEyLTA3LTI4IDExOjIwOjA4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiB1cGRhdGUgZm9yIFRPQyBBUEkgY2hhbmdlcwoKMjAxMi0wNy0yOCAwMDoxOTo1MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZHYvZ3N0ZHZkZW11eC5jOgoJKiBleHQvZmxhYy9nc3RmbGFjdGFnLmM6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpc3VidGl0bGUuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0dGFnaW5qZWN0LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSogZ3N0L2ljeWRlbXV4L2dzdGljeWRlbXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzoKCSogZ3N0L3JlcGxheWdhaW4vZ3N0cmdhbmFseXNpcy5jOgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcmdhbmFseXNpcy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ3ZvbHVtZS5jOgoJICB0YWc6IFVwZGF0ZSBmb3IgdGFnbGlzdC90YWcgZXZlbnQgQVBJIGNoYW5nZXMKCjIwMTItMDctMjcgMTI6MDU6NDQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJKiBnc3QvaXNvbXA0L2lzb21wNC1wbHVnaW4uYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0KGRlKW11eDogcGFzcyBwcml2YXRlIGJsb2IgdGFncyBpbiBhIHNhbXBsZQoJICAuLi4gcmF0aGVyIHRoYW4gYSBidWZmZXIsIGFuZCB0aGUgZGV0YWlsZWQgaW5mbyBpbiB0aGUgc2FtcGxlIGluZm8KCSAgcmF0aGVyIHRoYW4gY2Fwcy4KCjIwMTItMDctMjcgMTE6MzE6MTMgKzAyMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmM6CgkgIHZpZGVvY3JvcDogRG9uJ3QgcmV0dXJuIE5VTEwgZnJvbSBfdHJhbnNmb3JtX2NhcHMKCSAgSWYgX3RyYW5zZm9ybV9jYXBzICgpIHJldHVybnMgTlVMTCwgdGhlIGJhc2V0cmFuc2Zvcm0gX3RyYW5zZm9ybV9jYXBzCgkgIHRyaWVzIHRvIGNhbGwgZ3N0X2NhcHNfaXNfc3Vic2V0ICgpIHdpdGggYSBOVUxMIHN1YnNldCB3aGljaCBoaXRzIGFuCgkgIGFzc2VydGlvbi4KCjIwMTItMDctMjcgMTE6MjY6MTggKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJICBmbGFjZW5jOiBvYnRhaW4gaW1hZ2UgdHlwZSBmcm9tIHRoZSBzYW1wbGUgaW5mbwoKMjAxMi0wNy0yNyAxMToyNTo0OSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkgIGZsYWNlbmM6IHJlbW92ZSBleHRyYW5lb3VzIF91bnJlZgoJICAuLi4gc2luY2Ugd2UgZGlkIG5vdCBvYnRhaW4gYSBidWZmZXIgcmVmIGZyb20gdGhlIEdzdFNhbXBsZS4KCjIwMTItMDctMjcgMTA6MTQ6MjMgKzAyMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSAgZmxhY2VuYzogVXBkYXRlIHRvIHVzZSBHc3RTYW1wbGUgdGFnIHNldHRpbmcgQVBJCgoyMDEyLTA3LTI2IDE2OjM0OjIxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwbXBhcm9idXN0ZGVwYXkuYzoKCSAgcnRwbXBhcm9idXN0ZGVwYXk6IG1vZGlmeSBidWZmZXIgZGF0YSByYXRoZXIgdGhhbiBidWZmZXIgaXRzZWxmCgoyMDEyLTA3LTI2IDE2OjI4OjMzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwbXBhcm9idXN0ZGVwYXkuYzoKCSAgcnRwbXBhcm9idXN0ZGVwYXk6IGF2b2lkIGxlYWtpbmcgYnl0ZXdyaXRlciBpbnN0YW5jZQoKMjAxMi0wNy0yNiAxNjowNDoyMyArMDIwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBGaXggdGltZXN0YW1wIGFkanVzdG1lbnQgYW5kIGNhcHMKCjIwMTItMDctMjYgMTY6MDM6NTcgKzAyMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogRml4L3NpbXBsaWZ5IHRlbGVjaW5lIHN0YXRlIGNoZWNrcwoKMjAxMi0wNy0yNiAxMjowODo1OCArMDIwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBJbXByb3ZlIGRlYnVnIG91dHB1dAoKMjAxMi0wNy0yNiAxMjowODozNiArMDIwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBGaXggbG93LWxhdGVuY3kgcGF0dGVybiBsb2NraW5nCgoyMDEyLTA3LTI0IDE2OjE5OjUzICswMjAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IFJGRiBzaG91bGQgYmUgaWdub3JlZCBpbiBkZWludGVybGFjZQoJICBSRkYgb25seSBvY2N1cnMgb24gcHJvZ3Jlc3NpdmUgZnJhbWVzIGluIHRlbGVjaW5lIHNlcXVlbmNlcy4gRm9yCgkgIGRlaW50ZXJsYWNlLCB3ZSBkb24ndCB3YW50IHRoZXNlIHJlcGVhdGVkIGZpZWxkcyBhcyB3ZSB3aWxsIHNpbXBseSBiZQoJICBwdXNoaW5nIHRoZSBwcm9ncmVzc2l2ZSBmcmFtZSBhbmQgdGhlbiBtb3Zpbmcgb24uCgkgIEhvd2V2ZXIsIHdlIG5lZWQgdG8gY29uc2lkZXIgUkZGIGluIG9yZGVyIHRvIGNvcnJlY3RseSBpZGVudGlmeSBwYXR0ZXJucwoJICBhbmQgYWRqdXN0IHRoZSB0aW1lc3RhbXBzLgoKMjAxMi0wNy0yNCAxNDo1OTo0NyArMDIwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBJbXByb3ZlIHByb2Nlc3MgbG9naWMKCSAgVGhlIGxvZ2ljIG5vdyB3b3JrcyBiZXR0ZXIgaWYgd2UgZmlsdGVyIG9ycGhhbnMsIHRoZW4gcHJvZ3Jlc3NpdmUsIHRoZW4KCSAgdGVsZWNpbmUgaW50ZXJsYWNlZCBmaWVsZHMgd2hpY2ggbmVlZCB0byBiZSB3b3ZlbiBhbmQgZmFsbCB0aHJvdWdoIHRvCgkgIGludGVybGFjZS4gVGVsZWNpbmUgaW50ZXJsYWNlZCBmaWVsZHMgd2lsbCBiZSByZWd1bGFybHkgZGVpbnRlcmxhY2VkIGlmCgkgIHRoZXJlIGlzIG5vIHBhdHRlcm4gbG9jayBmb3IgdXMgdG8gYmUgc3VyZSB0aGF0IHdlIGhhdmUgYSB0ZWxlY2luZQoJICBwYXR0ZXJuLgoJICBUZWxlY2luZSBzZXF1ZW5jZXMgdGhhdCBhcmVuJ3QgMjRmcHMgcHJvZ3Jlc3NpdmUgd2l0aCBSRkYgZmxhZ3MgY2FuJ3QKCSAgcmVhbGx5IGJlIHRlc3RlZCB1bnRpbCBmaWVsZGFuYWx5c2lzIGlzIHBvcnRlZC4KCjIwMTItMDctMjUgMTY6MDI6MzQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJICBmbGFjZW5jOiBvbmx5IHNldCBjb21wbGV0ZSBvdXRwdXQgY2FwcyBvbmNlCgkgIC4uLiBzbyBhcyB0byBhdm9pZCBkb3duc3RyZWFtIGNvbXBsYWludHMgYWJvdXQgbWlzc2luZyBzdHJlYW1oZWFkZXJzLgoKMjAxMi0wNy0yNSAxNToyOTowNCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkgIGZsYWNkZWM6IGFsc28gc3VwcG9ydCBTMjRfMzIgb3V0cHV0CgoyMDEyLTA3LTI1IDE1OjI4OjE0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSAgZmxhY2VuYzogcGFzcyBjb3JyZWN0IHBhcmFtZXRlcnMgdG8gZW5jb2RlciBsaWIKCjIwMTItMDctMjUgMTQ6NTc6MTMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJICBmbGFjZW5jOiBhZGp1c3QgdG8gbW9kaWZpZWQgYXVkaW9lbmNvZGVyIGdldGNhcHMgaGVscGVyIEFQSQoKMjAxMi0wNy0yNSAxMjo1MDowMSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcDogZ28gYW5kIHN0YXkgaW4gdGhlIGxvb3AgZnVuY3Rpb24gb24gUExBWQoJICBXaGVuIHdlIGhhdmUgYSBQTEFZIHJlcXVlc3QsIGdvIGludG8gdGhlIExPT1AgZnVuY3Rpb24gbmV4dC4gV2hlbiB3ZSBhcmUKCSAgbG9vcGluZywga2VlcCBvbiBsb29waW5nIHVudGlsIHdlIGFyZSB0b2xkIG90aGVyd2lzZS4KCSAgVGhpcyBmaXhlZCBydHNwIGFuZCBUQ1AgY29ubmVjdGlvbnMuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODA1NTEKCjIwMTItMDctMjUgMTI6NDk6MzUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3A6IHNldCBjYXBzIGFmdGVyIGFjdGl2YXRpbmcgdGhlIHBhZAoKMjAxMi0wNy0yNSAxMjo0OTowNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkgIGgyNjRkZXBheTogc21hbGwgY2xlYW51cHMKCjIwMTItMDctMjUgMTA6MDg6NTIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L2dzdHJ0cHhxdGRlcGF5LmM6CgkgIHhxdGRlcGF5OiBmaXggYnVmZmVyIHJlZmNvdW50IGVycm9yCgkgIEFmdGVyIHB1c2hpbmcgdGhlIGJ1ZmZlciBpbnRvIHRoZSBhZGFwdGVyLCB3ZSBzaG91bGQgbm90IGxldCB0aGUgYmFzZWNsYXNzIHB1c2gKCSAgaXQgb3V0IGFueW1vcmUuIFRoaXMgZXJyb3Igd2FzIGludHJvZHVjZWQgd2hpbGUgcG9ydGluZyB0byAwLjExLgoJICBTZWUgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MDU0MAoKMjAxMi0wNy0yNCAyMTo0MTo1MyArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOgoJICBsZXZlbDogcmVtb3ZlIG9ic29sZXRlIGxpYm9pbCBjb21tZW50CgoyMDEyLTA3LTI0IDIxOjExOjE4ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguaDoKCSAgbWF0cm9za2FkZW11eDogcHVzaCBtb2RlOiBpbmNyZWFzZSBzZWdtZW50IGFjY3VyYWN5IGZvbGxvd2luZyBzZWVrCgkgIENvbmZsaWN0czoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmMKCjIwMTItMDctMjQgMTY6NDE6NTEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IHBlcmZvcm0gcHJvcGVyIEtFWV9VTklUIHNlZWsgYWxzbyBpbiBwdXNoIG1vZGUKCSAgQ29uZmxpY3RzOgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYwoKMjAxMi0wNy0yNCAxOTowNDozOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICB1ZHBzcmM6IGRvbid0IGNyYXNoIGRlcmVmZXJlbmNpbmcgTlVMTCBlcnJvciB3aGVuIGxlYXZpbmcgbXVsdGljYXN0IGdyb3VwIG9uIHNodXRkb3duCgkgIFN0cmFuZ2VseSBlbm91Z2gsIGlmIHdlIGRvIHBhc3MgYW4gZXJyb3IgdmFyaWFibGUgdG8gYmUgZmlsbGVkLCB3ZQoJICBubyBsb25nZXIgZ2V0IGFuIGVycm9yIG9uIGxlYXZpbmcuCgoyMDEyLTA3LTI0IDE1OjU1OjEyICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IHJlYXJyYW5nZSBzb21lIGNoZWNrcyB0byBhdm9pZCBOVUxMIHVzZQoKMjAxMi0wNy0yNCAxNTozODoyNCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiB1c2Ugc2FtZSBmb3VyY2MgdG8gZGV0ZXJtaW5lIGNhcHMgaW4gZGV0ZXJtaW5pbmcgdW5jb21wcmVzc2VkLW5lc3MKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3Mzg5OAoJICBDb25mbGljdHM6CgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguYwoKMjAxMi0wNy0yNCAxNTozNjo1NCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIFJldmVydCAiYXZpZGVtdXg6IERvbid0IGNvbnNpZGVyIDAgZmNjX2hhbmRsZXIgYXMgdW5jb21wcmVzc2VkLiIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCBjNmI5ZjViMjVhYjQzNTY2OTgxNmEwNzA0OWIwZTVhOGYwMWUwOWNhLgoJICBmb3VyY2MgR1NUX1JJRkZfcmdiID0gMCBzdGlsbCBsZWFkcyB0byByYXcgdW5jb21wcmVzc2VkIHJnYiBjYXBzLgoJICBTZWUgYWxzbyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjczODk4CgoyMDEyLTA3LTI0IDEyOjEwOjQ2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogZml4IHVwIGV4YW1wbGUgcGlwZWxpbmUgc29tZSBtb3JlCgkgIE5vIG1vcmUgZmZtcGVnY29sb3JzcGFjZQoKMjAxMi0wNy0yMCAxNjozMDowMCArMDMwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnZGVjOiBGaXggdGhlIGV4YW1wbGUgZ3N0LWxhdW5jaCBwaXBlbGluZS4KCjIwMTItMDctMjQgMTI6MzM6MzMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IGF2b2lkIE5VTEwgYWNjZXNzIHdoZW4gY2hlY2tpbmcgc3VidGl0bGUKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MDM4OAoKMjAxMi0wNy0yNCAxMjoyMjowOCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiBSZXNldCBwYXJzZXIgd2hlbiB3ZSBoYXZlIGNhcHMgd2l0aG91dCBjb2RlY19kYXRhCgkgIFRoaXMgZW5zdXJlcyB0aGUgZGV0ZWN0aW9uIChhbmQgcHJvcGVyIGRvd25zdHJlYW0gY2FwcyBzZXR0aW5ncykgd2lsbAoJICBhY3R1YWxseSBoYXBwZW4gd2hlbiB3ZSBoYXZlIG5ldyBpbmNvbWluZyBjYXBzIHdpdGhvdXQgY29kZWNfZGF0YS4KCSAgVGhpcyB3YXMgZWFzaWx5IHRyaWdnZXJlZCBieSBzdHJlYW1zIGZyb20gbWF0cm9za2FkZW11eCB3aGljaCBpbml0aWFsbHkKCSAgcHJvdmlkZWQgY2FwcyB3aXRoIGEgY29uc3RydWN0ZWQgY29kZWNfZGF0YSwgYnV0IHRoZW4gcHVzaGVkIG5ldyBjYXBzCgkgIHdpdGhvdXQgdGhlIGNvZGVjX2RhdGEgb25jZSBpdCBkZXRlY3RlZCB0aGUgc3RyZWFtIHdhcyBhZHRzLgoKMjAxMi0wNy0yNCAwOToxNzowOSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL2JsZW5kLmM6CgkqIGdzdC92aWRlb21peGVyL2JsZW5kb3JjLWRpc3QuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRvcmMtZGlzdC5oOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZG9yYy5vcmM6CgkgIHZpZGVvbWl4ZXI6IHByZWZpeCBvcmMgZnVuY3Rpb25zIHdpdGggdmlkZW9fbWl4ZXJfb3JjXwoKMjAxMi0wNy0yNCAwOToxMzo0OCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3hvcmMtZGlzdC5jOgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3hvcmMtZGlzdC5oOgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3hvcmMub3JjOgoJICB2aWRlb2JveDogcHJlZml4IG9yYyBmdW5jdGlvbnMgd2l0aCB2aWRlb19ib3hfb3JjXwoKMjAxMi0wNy0yMyAxODo1MTowMCArMDIwMCAgQ2hyaXN0aWFuIEZyZWRyaWsgS2FsYWdlciBTY2hhbGxlciA8dXJhZXVzQGxpbnV4cmlzaW4ub3JnPgoKCSogZ3N0LXBsdWdpbnMtZ29vZC5zcGVjLmluOgoJICBVcGRhdGUgc3BlYyBmaWxlIHdpdGggbGF0ZXN0IGNoYW5nZXMKCjIwMTItMDctMjMgMTc6Mzc6NTggKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IGdlbmVyYXRlIGNvcnJlY3Qgc2VnbWVudCBzdHJlYW0gdGltZQoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgwMjc1CgoyMDEyLTA3LTIzIDE2OjQyOjU2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBqMmtkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGoya2RlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwajJrcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwajJrcGF5Lmg6CgkgIHJ0cDogYWx3YXlzIHVzZSBidWZmZXIgbGlzdHMKCjIwMTItMDctMjMgMTU6MjQ6MTcgKzAyMDAgIFBhdHJpY2lhIE11c2NhbHUgPHBhdHJpY2lhQGF4aXMuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBtcDR2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5oOgoJICBydHBtcDR2cGF5OiBhbHdheXMgZW5hYmxlIGJ1ZmZlci1saXN0cwoKMjAxMi0wNy0yMyAxNToyMjoyNCArMDIwMCAgUGF0cmljaWEgTXVzY2FsdSA8cGF0cmljaWFAYXhpcy5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqcGVncGF5Lmg6CgkgIHJ0cGpwZWdwYXk6IGFsd2F5cyBlbmFibGUgYnVmZmVyLWxpc3RzCgoyMDEyLTA3LTIzIDE1OjQ5OjA0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IGdldCBmcmFtZSBmbGFncyBjb3JyZWN0bHkKCSAgQWxzbyBtb3ZlIHRoZSBkZWludGVybGFjZSBwbHVnaW4gdG8gcG9ydGVkIHN0YXR1cwoKMjAxMi0wNy0yMyAxNTozMzo1NCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogcHJvcGVyIHBhcnNlIHJlY292ZXJ5IGFmdGVyIHNlZWsKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MDQyNwoKMjAxMi0wNy0yMyAxMjozOTowNSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdmRlbXV4OiBjbGVhciBvbGQgc2VnbWVudCBldmVudCB3aGVuIHJlcXVlc3RpbmcgbmV3IG9uZQoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgwMjgzCgoyMDEyLTA3LTIzIDEwOjMyOjM2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzoKCSAgZXh0OiBVcGRhdGUgZm9yIHZpZGVvIGJhc2UgY2xhc3NlcyBBUEkgY2hhbmdlcwoKMjAxMi0wNy0yMyAwODo0OTowNyArMDIwMCAgQWxiYW4gQnJvd2FleXMgPHByYWhhbEB5YWhvby5jb20+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgd2F2cGFyc2U6IGNvbnZlcnQgYWxsIG5vbiBHU1RfRk9STUFUX0JZVEVTIHRvIGZvcm1hdCBieXRlcy4KCSAgQ29udmVydCBhbGwgbm9uIEdTVF9GT1JNQVRfQllURVMgdG8gZm9ybWF0IGJ5dGVzOgoJICBmaXhlczoKCSAgR1N0cmVhbWVyLUNSSVRJQ0FMICoqOiBnc3RfcXVlcnlfc2V0X2R1cmF0aW9uOiBhc3NlcnRpb24gYGZvcm1hdCA9PQoJICBnX3ZhbHVlX2dldF9lbnVtIChnc3Rfc3RydWN0dXJlX2lkX2dldF92YWx1ZSAocywgR1NUX1FVQVJLIChGT1JNQVQpKSknCgkgIGZhaWxlZAoJICB3aGVuIHBsYXlpbmcgbW9yZSB0aGFuIG9uZSB3YXYgc3RyZWFtLgoJICBnc3QtcGx1Z2lucy1iYXNlL3Rlc3RzL2ljbGVzL3BsYXliYWNrL3Rlc3Q3IHVyaTEud2F2IHVyaTIud2F2CgoyMDEyLTA3LTIzIDA5OjI1OjIzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICB3YXZwYXJzZTogRG9uJ3QgZmFpbCBpZiBtb3JlIGRhdGEgdGhlbiBuZWVkZWQgaXMgYXZhaWxhYmxlIHdoZW4gcGFyc2luZyBjdWUgY2h1bmtzCgkgIEZpeGVzIGJ1ZyAjNjgwMzI4LgoKMjAxMi0wNy0yMyAwOToyMjoyMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgd2F2cGFyc2U6IFNvbWUgbWlub3IgY2xlYW51cCB0byB0aGUgY3VlL2xhYmwgcGFyc2luZwoKMjAxMi0wNy0yMyAwODo0NToyOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDk4ZTM4NmYgdG8gOTRjY2Y0YwoKMjAxMi0wNy0xOSAxNDo1NTo0NSArMDIwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5oOgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2VtZXRob2QuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlbWV0aG9kLmg6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvZ3JlZWR5aC5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3RvbXNtb2NvbXAvVG9tc01vQ29tcEFsbC5pbmM6CgkgIGRlaW50ZXJsYWNlOiBQb3J0IHRvIDEuMAoJICBUaGlzIHJlcXVpcmVzIHRoZSBhZGRpdGlvbmFsIElOVEVSTEFDRUQgYnVmZmVyIGZsYWcgcmVjZW50bHkgYWRkZWQgdG8KCSAgLWJhc2UKCjIwMTItMDctMjAgMTU6MTg6NDYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6CgkgIGludGVybGVhdmU6IGNvbnZlcnQgdGhlIG91dHB1dCBzZWdtZW50IHRvIHRpbWUKCSAgQ29udmVydCB0aGUgc3RvcmVkIGlucHV0IHNlZ21lbnQgdG8gdGltZSBiZWZvcmUgcHVzaGluZyBpdCBvdXQuCgkgIENvbmZsaWN0czoKCSAgZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jCgoyMDEyLTA3LTIwIDEzOjEyOjQ0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOgoJKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmg6CgkgIGludGVybGVhdmU6IHRyeSB0byBmaXggc2VnbWVudCBoYW5kbGluZwoJICBDb25mbGljdHM6CgkgIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYwoKMjAxMi0wNy0yMCAxNToyODoyMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogTm9uLXVwZGF0ZSBzZWVrcyBzaG91bGQgc3RpbGwgbWFrZSBzdXJlIHRoYXQgcmV2ZXJzZSBwbGF5YmFjayBzdGF0dXMgaXMgcmVzZXQKCSAgQ29uZmxpY3RzOgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYwoKMjAxMi0wNy0yMCAxNToxODoyMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogUHJvcGVybHkgaW5pdGlhbGl6ZSBmcm9tX29mZnNldCBhbmQgZnJvbV90aW1lCgoyMDEyLTA3LTIwIDE0OjI1OjQzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBXZSBuZWVkIGFuIGluZGV4IGFuZCBpbmRleCBlbnRyeSBmb3IgcmV2ZXJzZSBwbGF5YmFjawoJICBSZXZlcnNlIHBsYXliYWNrIGRvZXMgbm90IHdvcmsgd2l0aCBpbmRleC1sZXNzIGZpbGVzIHlldC4KCjIwMTItMDctMjAgMTQ6MTA6NDEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIHdhdnBhcnNlOiBjbGVhbiB1cCBwdXNoIG1vZGUgc2VnbWVudCBoYW5kbGluZwoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgwMjc3CgoyMDEyLTA3LTIwIDEzOjM1OjI5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBwcm9wZXJseSB0cmFuc2Zvcm0gaW5jb21pbmcgc2VnbWVudCBldmVudAoJICAuLi4gd2hpY2ggaXMgcmVhbGx5IHVzZWZ1bCBmb3IgcHJvcGVyIHB1c2ggbW9kZSBzZWVraW5nLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgwMjc4CgoyMDEyLTA3LTIwIDExOjA3OjU4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguaDoKCSAgbWF0cm9za2FkZW11eDogRml4IHJldmVyc2UgcGxheWJhY2sgZm9yIHNlZWtzIHdpdGhvdXQgc3RvcCBwb3NpdGlvbgoJICBDb25mbGljdHM6CgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5oCgoyMDEyLTA3LTIwIDEwOjQ4OjM0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBPbmx5IHRha2UgdGhlIHN0cmVhbV9zdGFydF90aW1lIGludG8gYWNjb3VudCBmb3IgU0VUIHNlZWtzCgkgIEZvciBvdGhlciBzZWVrcyB0aGUgc3RyZWFtX3N0YXJ0X3RpbWUgaXMgYWxyZWFkeSBhZGRlZCB0byB0aGUKCSAgc2VnbWVudCB2YWx1ZXMuCgkgIENvbmZsaWN0czoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmMKCjIwMTItMDctMDggMjA6MzY6MjIgKzAzMDAgIEFudG9uIEJlbGthIDxhbnRvbmJlbGthQGdtYWlsLmNvbT4KCgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuaDoKCSAgd2F2cGFyc2U6IEFkZCBUT0Mgc3VwcG9ydAoJICBBZGQgc3VwcG9ydCBmb3I6CgkgICogQ3VlIENodW5rCgkgICogQXNzb2NpYXRlZCBEYXRhIExpc3QgQ2h1bmsKCSAgKiBMYWJlbCBDaHVuawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc3MzA2CgoyMDEyLTA1LTA5IDE1OjU4OjE2ICswMjAwICBNYXJpYSBHaW92YW5uYSBDaGlvc3NhIDxtYXJpYWdpb3Zhbm5hLmNoaW9zc2EgYXQgc2VsZXhlbHNhZy5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGFsc28gc2V0IFVEUCBidWZmZXIgc2l6ZSBpbiBtdWx0aWNhc3QKCSAgQWxzbyBzZXQgdGhlIFVEUCBidWZmZXIgc2l6ZSBpbiBtdWx0aWNhc3QgbW9kZS4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NTQ0OAoKMjAxMi0wNy0xOCAyMzo0Mzo1OSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IGZpeCBoZWFkZXIgcGFyc2luZyBpbiBwdXNoIG1vZGUKCSAgRml4ICdicmVhaycgdGhhdCBnb3Qgd2FycGVkIHRvIHRoZSB3cm9uZyBwbGFjZSwKCSAgcHJvYmFibHkgYXMgcGFydCBvZiBhIG1lcmdlLiBGaXhlcyBHU1RfSVNfQlVGRkVSCgkgIGNyaXRpY2FscyBpbiBwYXJzZV9pZGl0KCkgd2hlbiBiZWluZyBhY2NpZGVudGFsbHkKCSAgcGFzc2VkIGEgTlVMTCBidWZmZXIgYmVjYXVzZSBvZiB0aGUgbWlzc2luZyBicmVhay4KCSAgZ3N0LWxhdW5jaC0xLjAgcGxheWJpbiB1cmk9aHR0cDovL2RvY3MuZ3N0cmVhbWVyLmNvbS9tZWRpYS9zaW50ZWxfdHJhaWxlci00ODBpLmF2aQoKMjAxMi0wNy0xOCAyMjo0NzoyMiArMDIwMCAgQWxiYW4gQnJvd2FleXMgPHByYWhhbEB5YWhvby5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXA6IGRlcHJlY2F0ZWQgc291cF9tZXNzYWdlX2hlYWRlcnMgX2dldCAtPiBfZ2V0X29uZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgwMjA2CgoyMDEyLTA3LTE4IDE4OjI3OjQwICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzoKCSAganBlZy9wbmc6IENhbGwgdmlkZW9fZGVjb2Rlcl9uZWdvdGlhdGUoKQoKMjAxMi0wNy0xOCAxNzo1Nzo1OSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdHB1c2hmaWxlc3JjLmM6CgkgIHVwZGF0ZSBmb3IgZ2hvc3RwYWQgY2hhbmdlcwoKMjAxMi0wNy0xOCAxMTozNjoyNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogUGFzcyBzZWVrIHJhdGUgdG8gdXBzdHJlYW0gc2VlayBldmVudHMgaW4gcHVzaCBtb2RlCgkgIEZpeGVzIGJ1ZyAjNjc5NDM1LgoJICBDb25mbGljdHM6CgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jCgoyMDEyLTA3LTE3IDE2OjM5OjAyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5LmM6CgkgIHVwZGF0ZSBmb3IgUlRQIGJ1ZmZlciBhcGkgY2hhbmdlcwoKMjAxMi0wNy0xNyAxNjozODoyNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvZ3N0cnRweHF0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3Rhc3Rlcmlza2gyNjMuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0c3AvZ3N0cnRwZGVjLmM6CgkgIHVwZGF0ZSBmb3IgUlRQIGJ1ZmZlciBhcGkgY2hhbmdlcwoKMjAxMi0wNy0xNiAxMTowNzo0NCArMDIwMCAgUGF0cmljaWEgTXVzY2FsdSA8cGF0cmljaWFAYXhpcy5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSAgcnRwaDI2NHBheTogdXNlIGJ1ZmZlciBsaXN0cwoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc5OTk0CgoyMDEyLTA3LTE3IDEwOjAxOjU0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogRml4IHBhcnNpbmcgb2YgSVNSQyBmcm9tIHRoZSBjdWVzaGVldHMKCjIwMTItMDctMDUgMTQ6MTU6MjUgKzAzMDAgIEFudG9uIEJlbGthIDxhbnRvbmJlbGthQGdtYWlsLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmg6CgkgIGZsYWNwYXJzZTogYWRkIFRPQyBzdXBwb3J0CgkgIEFkZCBzdXBwb3J0IGVtYmVkZGVkIGN1ZXNoZWV0cyBpbiBmbGFjIGZpbGVzLgoJICBQYXJzaW5nIE1FVEFEQVRBX0JMT0NLX0NVRVNIRUVUIGFzIFRPQy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTU0MDg5MQoKMjAxMi0wNy0xMyAxNDo0MzozMSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IGF2b2lkIHNvbWUgbW9yZSBmcmFtZSBtaXNwYXJzaW5nIGJ5IGFkZGl0aW9uYWwgaGVhZGVyIHNhbml0eSBjaGVjawoJICAuLi4gdXNpbmcgYSByZXF1aXJlZCBjb25zdGFudCBibG9ja2luZ19zdHJhdGVneSBiaXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Nzk4MDcKCjIwMTItMDctMTMgMTM6NTE6NDggKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2R2L2dzdGR2ZGVtdXguYzoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgZGVtdXg6IFB1c2ggU1RSRUFNX1NUQVJUIGV2ZW50IHdoZW4gbmVlZGVkCgoyMDEyLTA3LTExIDEzOjEwOjA3ICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogYXZvaWQgd2FybmluZyBpZiBib3RoIHRzIGFyZSBlcXVhbAoKMjAxMi0wNy0xMSAxMjoyODoyMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJICBtdWx0aXVkcHNpbms6IGNoZWNrIHRoZSByaWdodCBzaXplIHdoZW4gd2FybmluZyBhYm91dCB0b28gbGFyZ2UgdWRwIHBhY2tldHMKCSAgV2hhdCBtYXR0ZXJzIGlzIHRoZSB0b3RhbCBzaXplLCBub3QgdGhlIHNpemUgb2YgYW55IG9mIHRoZQoJICBpbmRpdmlkdWFsIG1lbW9yeSBjaHVua3MgdGhhdCBtYWtlIHVwIHRoZSBwYWNrZXQuCgoyMDEyLTA3LTEwIDE0OjM4OjIxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc2luay5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zaW5rLmg6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NpbmsuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc2luay5oOgoJICBhdXRvZGV0ZWN0OiBwcm94eSB0cy1vZmZzZXQgcHJvcGVydGllcwoJICBQcm94eSB0aGUgdHMtb2Zmc2V0IHByb3BlcnR5IGluIHRoZSBhdWRpbypzaW5rIGVsZW1lbnRzLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc5MzQzCgoyMDEyLTA3LTA5IDE2OjI3OjEwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIGZpeCBmb3IgYWxsb2NhdG9yIEFQSSBjaGFuZ2VzCgoyMDEyLTA3LTA5IDEyOjIyOjAyICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgdXBkYXRlIGZvciByaWZmIGZpZWxkIHJlbmFtZQoKMjAxMi0wNS0yMSAxMzo1NDo1MSArMDIwMCAgTWF0aGlhcyBIYXNzZWxtYW5uIDxtYXRoaWFzQG9wZW5pc211cy5jb20+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgdGVzdHM6IGRyb3AgcmVkdW5kYW50IGVsZW1lbnRzX2xldmVsX0xEQUREIGxpbmUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NjMwMgoKMjAxMi0wNy0wOCAxMzozMDozNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2pwZWdkZWMuYzoKCSAgdGVzdHM6IG1pbm9yIGpwZWdkZWMgY2xlYW4tdXBzIGFuZCBmaXhlcwoJICBGaXggcmFjZSBjb25kaXRpb24gaW4gZW9zIGNoZWNraW5nIGFuZCBhIGxlYWsuIEFuZAoJICBidWlsZCBwaXBlbGluZSB3aXRob3V0IHBhcnNlX2xhdW5jaC4KCjIwMTItMDUtMjEgMTM6NTM6NTQgKzAyMDAgIE1hdGhpYXMgSGFzc2VsbWFubiA8bWF0aGlhc0BvcGVuaXNtdXMuY29tPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2pwZWdkZWMuYzoKCSogdGVzdHMvZmlsZXMvaW1hZ2UuanBnOgoJICB0ZXN0czogQWRkIHNvbWUgYmFzaWMgdGVzdHMgZm9yIGpwZWdkZWMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NjMwMgoKMjAxMi0wNy0wOCAwMDowODo1NSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSAgZHRtZnNyYzogcGFzcyB1bmhhbmRsZWQgbm9uLWN1c3RvbSBldmVudHMgdG8gdGhlIGJhc2UgY2xhc3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NjYyNgoKMjAxMi0wNy0wNiAxOToxMTowMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSAgcnRwaDI2NHBheTogYXZvaWQgc29tZSByZWxvY2F0aW9ucwoKMjAxMi0wNy0wNiAxNDo0OToxOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuYzoKCSAgcnRwbXA0dnBheTogcmVtb3ZlIGRlcHJlY2F0ZWQgc2VuZC1jb25maWcgcHJvcGVydHkKCSAgVXNlIGNvbmZpZy1pbnRlcnZhbCBpbnN0ZWFkLgoKMjAxMi0wNy0wNiAxNDo0MjoxOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOgoJICBydHBoMjY0ZGVwYXk6IHJlbW92ZSBkZXByZWNhdGVkICJieXRlLXN0cmVhbSIgYW5kICJhY2Nlc3MtdW5pdCIgcHJvcGVydGllcwoJICBUaGVzZSB3aWxsIGJlIHBpY2tlZCBhdXRvbWF0aWNhbGx5IGJhc2VkIG9uIGRvd25zdHJlYW0gY2FwcyBub3csIHNvCgkgIGlmIHlvdSB3YW50IHRoZSBkZXBheWxvYWRlciB0byBvdXRwdXQgYSBzcGVjaWZpYyBmb3JtYXQsIG1ha2Ugc3VyZQoJICB0aGUgZWxlbWVudCBkb3duc3RyZWFtIGFkdmVydGlzZXMgdGhhdCBwcmVmZXJlbmNlIG9yIHVzZSBhIGNhcHNmaWx0ZXIKCSAgYWZ0ZXIgdGhlIGRlcGF5bG9hZGVyIHRvIGZvcmNlIGl0LgoKMjAxMi0wNy0wNiAxNDoxMzo1NCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSAgcnRwaDI2NHBheTogcmVtb3ZlIGRlcHJlY2F0ZWQgYW5kIG5vbi1mdW5jdGlvbmFsICJwcm9maWxlLWxldmVsLWlkIiBwcm9wZXJ0eQoJICBUaGlzIGlzIG5vdyBvcHRpb25hbGx5IHRha2VuIGZyb20gZG93bnN0cmVhbSBjYXBzLCBzbyBjYW4gYmUKCSAgc3BlY2lmaWVkIHZpYSBhIGNhcHNmaWx0ZXIgYWZ0ZXIgdGhlIHBheWxvYWRlci4KCjIwMTItMDctMDYgMTU6MDc6NTEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogcGVyZm9ybSBhZGRpdGlvbmFsIHNhbml0eSBjaGVjayBiZWZvcmUgY29uZmlybWluZyBBRFRTIGZvcm1hdAoJICAuLi4gYW5kIHR3ZWFrIGNvbmZ1c2luZyBkZWJ1ZyBtZXNzYWdlLgoKMjAxMi0wNy0wNiAxNToyOToxNCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiByZW1vdmUgdW5oZWxwZnVsIHN0cmF5IGRlYnVnIG1lc3NhZ2UKCjIwMTItMDctMDYgMTM6MTY6MDAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiByZW1vdmUgZGVwcmVjYXRlZCBhbmQgdW51c2VkICJudHAtbnMtYmFzZSIgcHJvcGVydHkKCjIwMTItMDctMDYgMTI6NTc6MjAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC1kb2MuYzoKCSAgZG9jczogdXBkYXRlIGlzb21wNCBkb2NzIGZvciBncHBtdXggLT4gM2dwcG11eCBjaGFuZ2UgYXMgd2VsbAoKMjAxMi0wNy0wNiAxMjo1NDowMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXhtYXAuYzoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3RhZ3NjaGVja2luZy5jOgoJICBpc29tcDQ6IHJlbW92ZSBncHBtdXgsIHdoaWNoIHdhcyBkZXByZWNhdGVkIGluIGZhdm91ciBvZiAzZ3BwbXV4CgoyMDEyLTA3LTA2IDEyOjQ5OjU0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zbXB0ZS9nc3RzbXB0ZS5jOgoJICBzbXRwOiByZW1vdmUgZGVwcmVjYXRlZCAiZnBzIiBwcm9wZXJ0eQoKMjAxMi0wNy0wNiAxMjo0NjozMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4LmM6CgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguaDoKCSAgbXVsdGlwYXJ0ZGVtdXg6IHJlbW92ZSBkZXByZWNhdGVkIGFuZCB1bnVzZWQgImF1dG9zY2FuIiBwcm9wZXJ0eQoJICBSZXBsYWNlZCBieSBib3VuZGFyeT1OVUxMLgoKMjAxMi0wNy0wNiAwOTowNzo0MSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwLXBheWxvYWRpbmcuYzoKCSAgcnRwaDI2M3BwYXk6IGFjY2VwdCBhbnkgaDI2MyBpbnB1dCB1bmxlc3MgZG93bnN0cmVhbSBmb3JjZXMgc3BlY2lmaWMgcmVxdWlyZW1lbnRzCgkgIHJ0cGgyNjNwcGF5IHNob3VsZCBhY2NlcHQgYW55IGlucHV0IGNvbXBhdGlibGUgd2l0aCBpdHMgc2luayB0ZW1wbGF0ZQoJICBjYXBzIGlmIGl0IGp1c3Qgb3V0cHV0cyB0byBlLmcuIHVkcHNpbmsgb3IgZmFrZXNpbmsuCgkgIHJ0cGgyNjNwcGF5ICEgcnRwaDI2M3BkZXBheSBzaG91bGQgYWxzbyB3b3JrIHdpdGggYW55IGNvbXBhdGlibGUgaW5wdXQuCgkgIFRoaXMgd291bGQgZmFpbCBiZWZvcmUgd2l0aCBub3QtbmVnb3RpYXRlZCBlcnJvcnMgYmVjYXVzZSB0aGUgZ2V0X2NhcHMKCSAgZnVuY3Rpb24gd291bGQgc2VlIHRoZSBlbmNvZGluZy1uYW1lIGluIHRoZSBkZXBheWxvYWRlcidzIHRlbXBsYXRlIGNhcHMKCSAgYW5kIGRlZmF1bHQgdG8gYmFzZWxpbmUgSC4yNjMgYmVjYXVzZSB0aGVyZSdzIG5vIHByb2ZpbGUvbGV2ZWwgaW5mb3JtYXRpb24KCSAgaW4gdGhvc2UgY2Fwcywgd2hpY2ggaXMgdGhlIHJpZ2h0IHRoaW5nIHRvIGRvIGlmIGRvd25zdHJlYW0gaGFzIGZpbHRlcmNhcHMKCSAgZnJvbSBhbiBTRFAsIGJ1dCBub3QgaWYgdGhvc2UgZmllbGRzIGFyZSBhYnNlbnQgYmVjYXVzZSB0aGV5IGNhbiBiZQoJICBhbnl0aGluZyBsaWtlIHdpdGggdGhlIGRlcGF5bG9hZGVyJ3MgdGVtcGxhdGUgY2Fwcy4gTWFrZXMKCSAgdmlkZW90ZXN0c3JjICEgYXZlbmNfaDI2M3AgISBydHBoMjYzcHBheSAhIHJ0cGgyNjNwZGVwYXkgISBmYWtlc2luawoJICB3b3JrLgoKMjAxMi0wNy0wNSAyMjo1NzowNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHAtcGF5bG9hZGluZy5jOgoJICB0ZXN0czogZml4IGgyNjNwIHBheWxvYWQgISBkZXBheWxvYWQgdW5pdCB0ZXN0CgkgIE5lZWQgdG8gYWRkIGgyNjN2ZXJzaW9uIGZpZWxkIHRvIGlucHV0IGNhcHMgc2luY2UgdGhlCgkgIHBheWxvYWRlciBzaW5rIGdldF9jYXBzIGZ1bmN0aW9uIHdpbGwgY29udGFpbiBpdCBpbiB0aGUKCSAgdGhlIGNhcHMsIGFuZCB0aGUgc3RyaWN0ZXIgY2FwcyBzdWJzZXQgY2hlY2sgcmVxdWlyZXMKCSAgdGhpcyB0byBiZSBwcmVzZW50IGluIHRoZSBpbnB1dCBjYXBzIGFzIHdlbGwgdGhlbi4KCjIwMTItMDctMDYgMTE6NTA6NTAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYWFsaWIvZ3N0YWFzaW5rLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSogZXh0L2xpYnBuZy9nc3RwbmdlbmMuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSAgdXBkYXRlIGZvciBxdWVyeSBhcGkgY2hhbmdlcwoKMjAxMi0wNy0wNiAxMToyNjo0NiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kdi9nc3RkdmRlYy5jOgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnJhd2RlcGF5LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgdXBkYXRlIGZvciBxdWVyeSBhcGkgY2hhbmdlcwoKMjAxMi0wNy0wNiAxMTowMjoyNCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hYWxpYi9nc3RhYXNpbmsuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJKiBleHQvbGlicG5nL2dzdHBuZ2VuYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJICB1cGRhdGUgZm9yIGFsbG9jYXRpb24gcXVlcnkgY2hhbmdlcwoKMjAxMi0wNy0wNSAxNToxNDozMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ3ZvbHVtZS5jOgoJICB0ZXN0czogZml4IHJndm9sdW1lIHVuaXQgdGVzdCBldmVudCBoYW5kbGluZwoJICBNdXN0IGZsdXNoIGFmdGVyIEVPUyBiZWZvcmUgc2VuZGluZyBtb3JlIGJ1ZmZlcnMgb3IKCSAgYW5vdGhlciBFT1MgZXZlbnQsIG9yIHRoZSBldmVudCBvciBidWZmZXIgd2lsbCBiZQoJICByZWplY3RlZC4gQWxzbyBzZW5kIGEgU0VHTUVOVCBldmVudCBhdCB0aGUgc3RhcnQKCSAgb2YgZWFjaCBzdHJlYW0gZm9yIGdvb2QgbWVhc3VyZS4KCjIwMTItMDctMDUgMTM6MTM6MDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2R2L2dzdGR2ZGVtdXguYzoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkqIGdzdC9pbWFnZWZyZWV6ZS9nc3RpbWFnZWZyZWV6ZS5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICBnc3Q6IEltcGxlbWVudCBzZWdtZW50LWRvbmUgZXZlbnQKCjIwMTItMDctMDUgMTI6MzU6NDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IFJlbW92ZSB0aGUgVE9DIHF1ZXJ5IGhhbmRsaW5nCgoyMDEyLTA3LTA0IDE5OjUyOjIyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJICBtYXRyb3NrYTogVXBkYXRlIGZvciBuZXcgR3N0VG9jIEFQSQoJICBUT0Mgc3VwcG9ydCBpbiBtYXRyb3NrYW11eCBpcyBkaXNhYmxlZCBmb3Igbm93IGFzIGl0IHdhcyBicm9rZW4gYW55d2F5LgoKMjAxMi0wNy0wNCAyMzo1NzoxOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnYW5hbHlzaXMuYzoKCSAgdGVzdHM6IGZpeCByZ2FuYWx5c2lzIHVuaXQgdGVzdCBldmVudCBoYW5kbGluZwoJICBNdXN0IGZsdXNoIGFmdGVyIEVPUyBiZWZvcmUgc2VuZGluZyBtb3JlIGJ1ZmZlcnMgb3IKCSAgYW5vdGhlciBFT1MgZXZlbnQsIG9yIHRoZSBldmVudCBvciBidWZmZXIgd2lsbCBiZQoJICByZWplY3RlZC4gQWxzbyBzZW5kIGEgU0VHTUVOVCBldmVudCBhdCB0aGUgc3RhcnQKCSAgb2YgZWFjaCBzdHJlYW0gZm9yIGdvb2QgbWVhc3VyZS4KCjIwMTItMDctMDQgMTg6NTg6NDYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ltYWdlZnJlZXplL2dzdGltYWdlZnJlZXplLmM6CgkgIGltYWdlZnJlZXplOiBjbGVhciAwIERUUyBvbiBidWZmZXJzIG91dHB1dCwgYXMgc2lua3Mgd2lsbCBwcmVmZXIgRFRTIG92ZXIgUFRTIGZvciBzeW5jaW5nCgkgIFNpbmNlIHRoZSBpbml0aWFsIGRlY29kZWQgc3RpbGwgaW1hZ2UgYnVmZmVyIHdpbGwgaGF2ZSBkdHM9cHRzPTAsIGFuZAoJICB3ZSBvbmx5IHNldCBQVFMgb24gYnVmZmVycyB3ZSBwdXNoIG91dCwgYWxsIGJ1ZmZlcnMgcHVzaGVkIG91dCB3b3VsZAoJICBoYXZlIGEgRFRTIG9mIDAuIFNpbmtzLCBob3dldmVyLCB3aWxsIHByZWZlciBEVFMgb3ZlciBQVFMgaWYgYm90aCBhcmUKCSAgc2V0LCBhbmQgd2lsbCB0aGVyZWZvcmUgYWx3YXlzIHNlZSBhIHRpbWVzdGFtcCBvZiAwIG5vIG1hdHRlciB3aGF0CgkgIHRoZSBQVFMgaXMgc2V0IHRvLgoJICBGaXhlcyB1bml0IHRlc3QgdG9vLgoKMjAxMi0wNy0wNCAyMDo1OTowMyArMDQwMCAg0KDRg9GB0LvQsNC9INCY0LbQsdGD0LvQsNGC0L7QsiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkgIGRpcmVjdHNvdW5kc2luazogRml4IHF1ZXJ5IGZ1bmN0aW9uIGltcGxlbWVudGF0aW9uOyBtb3JlIGRlYnVnZ2luZwoKMjAxMi0wNy0wNCAxOTo0MTo1MiArMDQwMCAg0KDRg9GB0LvQsNC9INCY0LbQsdGD0LvQsNGC0L7QsiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkgIGRpcmVjdHNvdW5kc2luazogRml4IHNwZWMgc3R1ZmYgaW4gZGlyZWN0c291bmRzaW5rCgoyMDEyLTA1LTMxIDE5OjIyOjQ3ICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJICBkaXJlY3Rzb3VuZHNpbms6IGZpeCBhY2Nlc3MgdG8gaW52YWxpZCBwb2ludGVyIGluIHNldF92b2x1bWUKCjIwMTItMDYtMTMgMTI6MTI6MzkgKzAyMDAgIFNlYmFzdGlhbiBEcj1DMz1CNmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSAgZGlyZWN0c291bmRzaW5rOiBGaXggY2FwcyBsZWFrcwoKMjAxMi0wNS0yOSAxMTozNzo1OSArMDAwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSAgZGlyZWN0c291bmRzaW5rOiBmaXggYWNjZXB0Y2FwcyBjaGVjawoKMjAxMi0wNS0yNSAxMDoxNDo1NyArMDAwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSAgZGlyZWN0c291bmRzaW5rOiB1c2UgaGVscGVyIGZ1bmN0aW9uIHRvIGNoZWNrIGZvciBzcGRpZiBmb3JtYXRzCgoyMDEyLTA1LTI1IDEwOjE5OjA5ICswMDAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJICBkaXJlY3Rzb3VuZHNpbms6IGFkZCBzdXBwb3J0IGZvciBEVFMKCjIwMTItMDUtMDggMTY6MjM6NDIgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkgIGRpcmVjdHNvdW5kc2luazogZm9yY2UgNDgwMDAga0h6IGZvcmNlIEFDLTMgb3ZlciBzcGRpZgoKMjAxMi0wNy0wNCAxNzo0Mjo0OSArMDQwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSAgZGlyZWN0c291bmRzaW5rOiBhZGQgc3VwcG9ydCBmb3IgYWMtMyBvdmVyIHNwZGlmCgoyMDEyLTA3LTA0IDEyOjM3OjQwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2RlaW50ZXJsYWNlLmM6CgkgIHRlc3RzOiBkaXNhYmxlIGRlaW50ZXJsYWNlIHRlc3QgZm9yIG5vdywgZWxlbWVudCBzdGlsbCBuZWVkcyB0byBiZSBwb3J0ZWQKCSAgQnV0IGxlYXZlIGl0IGFjdGl2ZSBhbmQgcHJpbnQgYSBGSVhNRS4gUG9ydGluZyBpcyBpbiBwcm9ncmVzcy4KCjIwMTItMDctMDMgMTk6Mzg6MzkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmM6CgkgIGRlaW50ZXJsZWF2ZTsgZG93bmdyYWRlIGNhcHMgY2hhbmdlIGZhaWx1cmUgZGVidWcgbWVzc2FnZQoJICBBZGQgc29tZSBtb3JlIGluZm8gYW5kIGRvd25ncmFkZSB0byB3YXJuaW5nLCBzbwoJICBpdCBkb2Vzbid0IGxvb2sgbGlrZSB0aGUgdW5pdCB0ZXN0IGZhaWxlZC4KCjIwMTItMDctMDMgMTc6NTI6MTEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9wYW5vcmFtYS5jOgoJICBhdWRpb3Bhbm9yYW1hOiBmaXggbmVnb3RpYXRpb24gYW5kIHVuaXQgdGVzdAoJICBNdXN0IHJlbW92ZSBhIHBvc3NpYmx5LWZpeGVkIGNoYW5uZWwtbWFzayBmaWVsZCBpZgoJICB3ZSdyZSBnb2luZyB0byBzZXQgdW5maXhlZCBjaGFubmVscyBvbiB0aGUgc3RydWN0dXJlLAoJICBvciBhIGRpZmZlcmVudCBjaGFubmVsIGNvdW50LgoKMjAxMi0wNy0wMyAxNzoyNjoyNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogT25seSBwdXNoIHRoZSBUT0MgZXZlbnQsIHRoZSBtZXNzYWdlIGlzIGhhbmRsZWQgYnkgdGhlIHNpbmtzCgoyMDEyLTA3LTAzIDEyOjQ3OjU4ICswOTAwICBKYXZpZXIgSmFyZMOzbiA8amphcmRvbkBnbm9tZS5vcmc+CgoJKiB0ZXN0cy9leGFtcGxlcy9lcXVhbGl6ZXIvZGVtby5jOgoJKiB0ZXN0cy9leGFtcGxlcy9zcGVjdHJ1bS9kZW1vLWF1ZGlvdGVzdC5jOgoJKiB0ZXN0cy9pY2xlcy9nZGtwaXhidWZzaW5rLXRlc3QuYzoKCSAgdGVzdHM6IGRvIG5vdCB1c2UgZGVwcmVjYXRlZCBndGsrIHN5bWJvbHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3OTMwMQoKMjAxMi0wNy0wMyAwOToyNzoxNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiByZXF1aXJlIEd0aysgMy4wIGZvciB0ZXN0cy9leGFtcGxlcwoKMjAxMi0wNy0wMyAxMjo1NzoxOCArMDkwMCAgSmF2aWVyIEphcmTDs24gPGpqYXJkb25AZ25vbWUub3JnPgoKCSogZ3N0L3J0cC9nc3RydHBMMTZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnJhd2RlcGF5LmM6CgkgIHJ0cDogcmVtb3ZlIHNvbWUgb3V0ZGF0ZWQgY29tbWVudHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3OTMwMQoKMjAxMi0wNi0yOSAxMTo1MTozMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIG9zeHZpZGVvc2luazogZGVmYXVsdCB0byBmb3JjZS1hc3BlY3QtcmF0aW89dHJ1ZQoKMjAxMi0wNi0yOCAyMDowMzowNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9kZWJ1Z3V0aWxzL3JuZGJ1ZmZlcnNpemUuYzoKCSAgcm5kYnVmZmVyc2l6ZTogYWRkIHB1c2ggbW9kZSBzdXBwb3J0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTYzMTcKCjIwMTItMDYtMjggMTE6Mjk6NTUgKzAyMDAgIERhdmlkIENvcnZveXNpZXIgPGRhdmlkLmNvcnZveXNpZXJAb3JhbmdlLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBpc29tcDQ6IFRyeSB0byBzZWVrIHVwc3RyZWFtIGJlZm9yZSBwcm9jZXNzaW5nIHNlZWsgcHVzaCBldmVudAoJICBXaGVuIGl0IHJlY2VpdmVzIGEgc2VlayBpbiBwdXNoIG1vZGUsIHRoZSBxdGRlbXV4IHNob3VsZCBmaXJzdCB0cnkgdG8gcHVzaCB0aGUgZXZlbnQgdXBzdHJlYW0sIGFuZCBvbmx5IGlmIHVwc3RyZWFtIGZhaWxzIGZhbGwgYmFjayB0bwoJICBpdHMgb3duIHNlZWsgbG9naWMuCgoyMDEyLTA2LTI4IDExOjQ3OjIwICswMjAwICBEYXZpZCBDb3J2b3lzaWVyIDxkYXZpZC5jb3J2b3lzaWVyQG9yYW5nZS5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgaXNvbXA0OiBBbGxvdyBkdXJhdGlvbiBxdWVyaWVzIHRvIGJlIGZvcndhcmRlZCB1cHN0cmVhbQoJICBXaGVuIHJlY2VpdmluZyBhIGR1cmF0aW9uIHF1ZXJ5IGZvciBUSU1FIGZvcm1hdCwgdHJ5IHRvIHF1ZXJ5IHVwc3RyZWFtLCBhbmQgb25seSBpZiB1cHN0cmVhbSBmYWlscyBmYWxsIGJhY2sgdG8gcXRkZW11eCBkdXJhdGlvbiBoYW5kbGluZy4KCjIwMTItMDYtMjggMTE6NTk6MTEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5Lmg6CgkgIHJ0cGgyNjRwYXk6IGNsZWFudXBzCgkgIFVzZSB0aGUgY2FwcyBwcm9wZXJ0aWVzIGZvciBhbGlnbm1lbnQgYW5kIGZvcm1hdC4KCSAgUmVtb3ZlIHNvbWUgb2xkIHByb3BlcnRpZXMsIHdlIGFsd2F5cyB3YW50IHRvIHVzZSBidWZmZXJsaXN0cyB3aGVuIHdlIGNhbiBub3cuCgoyMDEyLTA2LTI4IDExOjMyOjAzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkgIGgyNjRwYXk6IHByZWZlciBBVkMsIGl0J3MgZWFzaWVyIHRvIHBhcnNlIGV0YwoKMjAxMi0wNi0yNyAwOTowOTozMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSAganBlZ2VuYzogbWFyayBhbGwgb3V0cHV0IGZyYW1lcyBhcyBrZXlmcmFtZXMKCjIwMTItMDYtMjYgMTg6NDg6MTEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkgIG1hdHJvc2thOiB1cGRhdGUgZm9yIEdzdFRvYyBBUEkgYWRkaXRpb25zCgoyMDEyLTA2LTI2IDE3OjA0OjQxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thOiBzZXQgaW50ZXJsYWNlLW1vZGUKCjIwMTItMDYtMjYgMTM6MTk6MDIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyOiBpbXByb3ZlIGRlYnVnCgoyMDEyLTA2LTI2IDEzOjAyOjEzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgUmV2ZXJ0ICJ2NGwyOiBmcmVlIGtlcm5lbCBidWZmZXJzIGJlZm9yZSBhbGxvY2F0aW5nIG5ldyBvbmVzIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDFiMDliYzYwOWE1NzhlNzMxZjBkYmM4ZjZlNjk4ZTI1ZDhmNGM1ZjguCgkgIFNlZW1zIHRvIG1ha2UgbGlidjRsMiBjb21wbGFpbiwgbWF5YmUgYmVjYXVzZSB3ZSBjYWxsIFJFUUJVRlMgd2l0aCAwIGJ1ZmZlcnMKCSAgYmVmb3JlIHdlIGFsbG9jYXRlZCBidWZmZXJzLgoKMjAxMi0wNi0yNiAxMjowNzo0NyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDI6IGZyZWUga2VybmVsIGJ1ZmZlcnMgYmVmb3JlIGFsbG9jYXRpbmcgbmV3IG9uZXMKCSAgU2VlIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzAyNTcKCjIwMTItMDYtMjYgMTI6MDc6MjkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIHY0bDJzcmM6IGltcHJvdmUgZGVidWcKCjIwMTItMDYtMjYgMTE6MTQ6NTkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyOiBzZXR1cCBzdHJpZGVzIGFuZCBvZmZzZXRzIGZvciBhbGwgcGxhbmVzCgoyMDEyLTA2LTI1IDIwOjExOjUzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYS1tdXg6IHVwZGF0ZSBmb3IgR3N0VG9jU2V0dGVyIGNoYW5nZXMKCjIwMTItMDYtMjUgMTM6MzE6MTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IFJldHVybiBGQUxTRSBmcm9tIHF1ZXJpZXMgaWYgd2UgY2FuJ3QgYW5zd2VyIFBPU0lUSU9OL0RVUkFUSU9OIHF1ZXJpZXMKCjIwMTItMDYtMjEgMTc6MTU6MTEgKzAzMDAgIEFudG9uIEJlbGthIDxhbnRvbmJlbGthQGdtYWlsLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBSZXR1cm4gRkFMU0UgZnJvbSBUT0MgcXVlcnkgaWYgbm8gVE9DIGV4aXN0cyBpbnN0ZWFkIG9mIGFuIGVtcHR5IFRPQwoKMjAxMi0wNi0yNCAyMjo1MToxNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJICBtYXRyb3NrYTogdXBkYXRlIGZvciBHc3RUb2MgQVBJIGNoYW5nZXMKCjIwMTItMDYtMjMgMTQ6NTc6MjggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IHVwZGF0ZSBmb3IgZ3N0X2VsZW1lbnRfbWFrZV9mcm9tX3VyaSgpIGNoYW5nZXMKCjIwMTItMDYtMjAgMTI6MzE6MDEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9mbHZkZW11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9mbHZtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaWQzZGVtdXguYzoKCSAgdXBkYXRlIGZvciBidXMgYXBpIGNoYW5nZXMKCjIwMTItMDYtMjAgMTA6MzM6NDIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZHYvZ3N0ZHZkZW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL3JuZGJ1ZmZlcnNpemUuYzoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJKiBnc3QvaW1hZ2VmcmVlemUvZ3N0aW1hZ2VmcmVlemUuYzoKCSogZ3N0L2lzb21wNC9nc3RxdG1vb3ZyZWNvdmVyLmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIHVwZGF0ZSBmb3IgdGFzayBhcGkgY2hhbmdlCgoyMDEyLTA2LTIwIDA5OjU5OjQ5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIHRlc3RzL2V4YW1wbGVzL3NwZWN0cnVtL2RlbW8tYXVkaW90ZXN0LmM6CgkqIHRlc3RzL2V4YW1wbGVzL3NwZWN0cnVtL2RlbW8tb3Nzc3JjLmM6CgkgIHVwZGF0ZSBmb3IgY2xvY2sgYXBpIGNoYW5nZXMKCjIwMTItMDYtMTkgMTI6MTU6MzMgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIHN5cy9vc3hhdWRpby9NYWtlZmlsZS5hbToKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zaW5rLmg6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hjb3JlYXVkaW8uaDoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeHJpbmdidWZmZXIuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeHJpbmdidWZmZXIuaDoKCSAgb3N4YXVkaW9zaW5rOiByZXNwZWN0IHRoZSBwcmVmZXJlZCBjaGFubmVsIGxheW91dAoJICBJbiBPU1ggaXMgYWxsb3dlZCB0byBjb25maWd1cmUgdGhlIGRlZmF1bHQgYXVkaW8gb3V0cHV0IGRldmljZSwKCSAgcHJlZmVyZWQgY2hhbm5lbCBsYXlvdXQgYW5kIHNwZWFrZXIgcG9zaXRpb25zIHRocm91Z2ggdGhlIHRvb2wKCSAgIkF1ZGlvIE1JREkgU2V0dXAiLgoKMjAxMi0wNC0zMCAyMjo1OTo1OCArMDIwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYS1kZW11eDogU2VuZCBnYXAgZXZlbnRzIGZvciBzdWJ0aXRsZSBzdHJlYW1zCgoyMDEyLTA2LTE3IDAxOjAwOjQwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRmaWxlc3JjLmM6CgkgIHNwbGl0ZmlsZXNyYzogZml4IHVwIGRvY3MgZm9yIDAuMTEKCjIwMTItMDYtMTYgMjM6Mjk6NDEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdGZpbGVzcmMuYzoKCSAgc3BsaXRmaWxlc3JjOiBzbWFsbCB1cmkgaGFuZGxlciBmaXh1cCBhbmQgc29tZSBtb3JlIGRvY3MKCSAgR2V0IFVSSSBsb2NhdGlvbiB1c2luZyBnc3RfdXJpX2dldF9sb2NhdGlvbigpLCBzbyBhbnkKCSAgZXNjYXBlZCBiaXRzIGdldCB1bmVzY2FwZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MDkwNDkKCjIwMTItMDYtMTcgMDA6NTk6MjEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdGZpbGVzcmMuYzoKCSAgc3BsaXRmaWxlc3JjOiByZS1wb3J0IHRvIDAuMTEKCjIwMTItMDYtMTYgMTk6MDY6MjUgKzAxMDAgIEJhc3RpZW4gTm9jZXJhIDxoYWRlc3NAaGFkZXNzLm5ldD4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRmaWxlc3JjLmM6CgkgIHNwbGl0ZmlsZXNyYzogSW1wbGVtZW50IHNwbGl0ZmlsZTovLyBVUkkgc2NoZW1lCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MDkwNDkKCSAgQ29uZmxpY3RzOgoJICBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0ZmlsZXNyYy5jCgoyMDEyLTA2LTE0IDEwOjQzOjU2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFkZXBheS5jOgoJICB0aGVvcmFkZXBheTogZml4IGJ1ZmZlciBtZW1vcnkKCSAgVGhlIG1lbW9yeSB3YXMgYWRkZWQgdG8gdGhlIGlucHV0IGJ1ZmZlciBpbnN0ZWFkIG9mIHRoZSBvdXRwdXQgYnVmZmVyLgoKMjAxMi0wNi0xMyAxMzozNjo0NSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogRG9uJ3QgcmVzZXQgdGltZSBpbiBmbHVzaC1zdG9wCgkgIERvbid0IHJlc2V0IHRoZSB0aW1lIGluIGZsdXNoLXN0b3AuIExpdmUgc291cmNlcyBjYW4gZG8gdGhpcyBmbHVzaCBpbiB0aGUKCSAgcGxheWluZyBzdGF0ZSBhbmQgc28gdGhlIHBpcGVsaW5lIHdpbGwgbmV2ZXIgaGF2ZSBhIGNoYW5jZSB0byB1cGRhdGUgdGhlCgkgIGJhc2VfdGltZSBvZiB0aGUgZWxlbWVudHMsIHdoaWNoIG9ubHkgaGFwcGVucyB3aGVuIGdvaW5nIGZyb20gcGF1c2VkIHRvCgkgIHBsYXlpbmcuCgoyMDEyLTA2LTEyIDEyOjQyOjMxICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBzeXMvb3N4YXVkaW8vTWFrZWZpbGUuYW06CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NpbmsuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5oOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4Y29yZWF1ZGlvLmg6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hyaW5nYnVmZmVyLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hyaW5nYnVmZmVyLmg6CgkgIG9zeGF1ZGlvc2luazogQWRkIHN1cHBvcnQgZm9yIFNQRElGIG91dHB1dAoJICBBIGJpZyByZWZhY3RvcmluZyB0byBhbGxvdyBwYXNzdGhyb3VnaCBBQzMvRFRTIG92ZXIgU1BESUYuCgkgIFNldmVyYWwgcmFuZG9tIGNsZWFudXBzIGFuZCBtaW5vciBmaXhlcy4KCjIwMTEtMDktMDEgMTU6NDE6MjYgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5oOgoJICBkZWludGVybGFjZTogc2VuZCBRb1MgbWVzc2FnZXMgd2hlbiBkcm9wcGluZyBhIGZyYW1lCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTc5NDEKCjIwMTItMDYtMTIgMTY6MDU6NDAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgcnRzcHNyYzogUmV3b3JrIHRoZSBhc3luYyBzdGF0ZSBoYW5kbGluZwoJICBBbHdheXMgc2VuZCB0aGUgZmx1c2hpbmcgZXZlbnRzIHRvIHRoZSB1ZHAgZWxlbWVudHMgbm93IHRoYXQgYmFzZXNyYyBzdXBwb3J0cwoJICB0aGlzLiBUaGlzIG1ha2VzIHN1cmUgYSBzZWdtZW50IGV2ZW50IGlzIHNlbnQgY29ycmVjdGx5IGFmdGVyIGEgZmx1c2guCgkgIEtlZXAgdHJhY2sgb2YgdGhlIGN1cnJlbnRseSBleGVjdXRpbmcgY29tbWFuZCBhbmQgbWFrZSBpdCBwb3NzaWJsZSB0byBzcGVjaWZ5CgkgIHdoYXQgY29tbWFuZCB5b3Ugd2FudCB0byBjYW5jZWwgd2hlbiBzdGFydGluZyBhIG5ldyBhc3luYyBjb21tYW5kLgoJICBTZWUgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NzkwNQoKMjAxMi0wNi0xMSAxODoyNDoyMCArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6CgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyMTBiYW5kcy5jOgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcjNiYW5kcy5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICBjaGlsZHByb3h5OiB1cGRhdGUgYXBpIHVzZQoKMjAxMi0wNi0xMSAxMjo1NDoyNyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogYWx3YXlzIHBlcmZvcm0gZnVsbCBzZWVrIGlmIHNlZWsgaXMgZmx1c2hpbmcKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NzgzOAoKMjAxMi0wNi0xMSAxMToyMDoxOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVidWd1dGlscy9ybmRidWZmZXJzaXplLmM6CgkgIHJuZGJ1ZmZlcnNpemU6IHByaW50ZiBmb3JtYXQgZml4IGZvciBsb25nIC0+IGludCBjaGFuZ2UKCjIwMTItMDYtMDggMjA6Mzg6MzQgKzAyMDAgIEhhbnMgZGUgR29lZGUgPGhkZWdvZWRlQHJlZGhhdC5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IERvbid0IHByb2JlIFVWQyBkZXZpY2VzIGZvciBiZWluZyBpbnRlcmxhY2VkCgkgIFVWQyBkZXZpY2VzIGFyZSBuZXZlciBpbnRlcmxhY2VkLCBhbmQgZG9pbmcgVklESU9DX1RSWV9GTVQgb24gdGhlbQoJICBjYXVzZXMgZXhwZW5zaXZlIGFuZCBzbG93IFVTQiBJTywgc28gZG9uJ3QgcHJvYmUgdGhlbSBmb3IgaW50ZXJsYWNlZC4KCSAgVGhpcyBzaGF2ZXMgMiBzZWNvbmRzIG9mIHRoZSBzdGFydHVwIHRpbWUgb2YgY2hlZXNlIHdpdGggYSBMb2dpdGVjaAoJICBXZWJjYW0gUHJvIDkwMDAuCgkgIFNpZ25lZC1vZmYtYnk6IEhhbnMgZGUgR29lZGUgPGhkZWdvZWRlQHJlZGhhdC5jb20+CgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Nzc3MjIKCjIwMTItMDYtMDkgMTY6NTM6NTQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlYnVndXRpbHMvcm5kYnVmZmVyc2l6ZS5jOgoJICBkZWJ1ZzogY2hhbmdlIHJuZGJ1ZmZlcnNpemUgcHJvcGVydGllcyBmcm9tIGxvbmcgdG8gaW50CgkgIFRoZXNlIHNob3VsZCBhbGwgYmUgaW50IGluc3RlYWQgb2YgbG9uZywgdG8gYXZvaWQgYnVncwoJICB3aGVuIHBhc3NpbmcgdGhlc2UgYXMgdmFyYXJncyB3aXRoIGdfb2JqZWN0X3NldCgpLCBhbmQKCSAgdGhlcmUgd2FzIG5vIHJlYXNvbiB0byB1c2UgbG9uZyBpbiB0aGUgZmlyc3QgcGxhY2UgaGVyZS4KCSAgRml4ZXMgRklYTUUuCgoyMDEyLTA2LTA4IDE1OjU0OjQyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2dvb20vZ3N0Z29vbS5jOgoJKiBnc3QvZ29vbTJrMS9nc3Rnb29tLmM6CgkqIGdzdC9tb25vc2NvcGUvZ3N0bW9ub3Njb3BlLmM6CgkqIGdzdC9ydHNwL2dzdHJ0cGRlYy5jOgoJICBlbGVtZW50czogVXNlIGdzdF9wYWRfc2V0X2NhcHMoKSBpbnN0ZWFkIG9mIG1hbnVhbCBldmVudCBmaWRkbGluZwoKMjAxMi0wNi0wOCAxNTowNDo1OSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDAzYTBlNTcgdG8gOThlMzg2ZgoKMjAxMi0wNi0wOCAxMDoxMToxMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdHdhdnBhY2twYXJzZS5jOgoJKiBzeXMvb3NzNC9vc3M0LWF1ZGlvLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ludGVybGVhdmUuYzoKCSAgdXBkYXRlIGZvciBhdWRpbyBhcGkgY2hhbmdlCgoyMDEyLTA2LTA3IDE2OjEyOjM0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgQmFjayB0byBkZXZlbG9wbWVudAoKPT09IHJlbGVhc2UgMC4xMS45MiA9PT0KCjIwMTItMDYtMDcgMTY6MTI6MjIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuc2lnbmFsczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlzb21wNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiBnc3QtcGx1Z2lucy1nb29kLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAwLjExLjkyCgoyMDEyLTA2LTA3IDE2OjExOjE3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VvLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDEyLTA2LTA3IDE1OjAzOjAyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkgIHB1bHNlc3JjOiBpbXByb3ZlIGNsb2NrIGhhbmRsaW5nCgkgIFBvc3QgdGhlIG5vdGlmeSBvdXRzaWRlIG9mIHRoZSBwYV9sb2NrIHRvIGF2b2lkIGEgZGVhZGxvY2sgY2F1c2VkIGJ5IGJhc2VzcmMKCSAgY2FsbGluZyBnZXRfdGltZSB3aXRoIHRoZSBvYmplY3QgbG9jay4KCSAgUmVzZXQgdGhlIGNsb2NrIG9uIGNvbm5lY3QuCgkgIFBvc3QgY2xvY2stbG9zdCBhbmQgY2xvY2stcHJvdmlkZSBtZXNzYWdlcy4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3Mzk3NwoJICBDb25mbGljdHM6CgkgIGV4dC9wdWxzZS9wdWxzZXNyYy5jCgoyMDEyLTA0LTEyIDEzOjIxOjE3ICswMzAwICBNb2hhbW1lZCBTYW1lZXIgPG1zYW1lZXJAZm9vbGFiLm9yZz4KCgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJICBCZXR0ZXIgR3N0Q2xvY2sgZm9yIHB1bHNlc3JjCgkgIFRoaXMgY2xvY2sgdXNlcyB0aGUgYWN0dWFsIHN0cmVhbSB0aW1lIChwYV9zdHJlYW1fZ2V0X3RpbWUpIHRvIGdldCBhIG1vcmUgYWNjdXJhdGUgdGltZXN0YW1wLgoJICBDb25mbGljdHM6CgkgIGV4dC9wdWxzZS9wdWxzZXNyYy5jCgoyMDEyLTA2LTA3IDExOjE2OjUwICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6CgkqIGV4dC9saWJwbmcvZ3N0cG5nZW5jLmM6CgkgIHBuZzogZml4IHZpZGVvIHN0YXRlIGxlYWtzCgoyMDEyLTA2LTA3IDExOjE2OjM3ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogZml4IHZpZGVvIHN0YXRlIGxlYWsKCjIwMTItMDYtMDcgMTI6MTE6MTQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IG9ubHkgcmVzZXQgdGhlIG1hbmFnZXIgb2JqZWN0IHdoZW4gd2UgZGlkIGEgc2VlawoJICBPbmx5IHJlc2V0IHRoZSBtYW5hZ2VyIG9iamVjdCB3aGVuIHdlIHVzZWQgYSBSYW5nZSBoZWFkZXIsIGllLiB3aGVuIHdlIGRpZCBhCgkgIHNlZWsuIE90aGVyd2lzZSB3ZSBqdXN0IHBhdXNlZCBhbmQgd2UgY2FuIHJlc3VtZSBqdXN0IGZpbmUuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Nzc0NzUKCjIwMTItMDYtMDYgMTY6MTM6MjkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBiaW4uYzoKCSAgdGVzdHM6IGFkZCB0ZXN0IGZvciBydHBzZXNzaW9uIGNsZWFudXAKCjIwMTItMDYtMDYgMTg6MTg6NDEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSAxZmFiMzU5IHRvIDAzYTBlNTcKCjIwMTItMDYtMDYgMTQ6MTc6MDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IFVwZGF0ZSBmb3IgVE9DIGV2ZW50IEFQSSBjaGFuZ2UKCjIwMTItMDYtMDYgMTM6MDI6MTIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZHYvZ3N0ZHZkZW11eC5jOgoJKiBleHQvZmxhYy9nc3RmbGFjdGFnLmM6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aXN1YnRpdGxlLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdHRhZ2luamVjdC5jOgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkqIGdzdC9pY3lkZW11eC9nc3RpY3lkZW11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4LmM6CgkqIGdzdC9yZXBsYXlnYWluL2dzdHJnYW5hbHlzaXMuYzoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnYW5hbHlzaXMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcmd2b2x1bWUuYzoKCSAgdXBkYXRlIGZvciB0YWcgZXZlbnQgY2hhbmdlCgoyMDEyLTA2LTA2IDEzOjAwOjU4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvY3JvcC9nc3Rhc3BlY3RyYXRpb2Nyb3AuYzoKCSogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXNwZWN0cmF0aW9jcm9wLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvY3JvcC5jOgoJICBmaXggWTgwMCBmb3JtYXQKCjIwMTItMDYtMDEgMDE6MTk6MzUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL29zeHZpZGVvL2NvY29hd2luZG93Lmg6CgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgb3N4dmlkZW86IHN0cmFpZ2h0Zm9yd2FyZCBwb3J0IHRvIDAuMTEKCjIwMTItMDUtMzEgMTg6Mzk6MjUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXAydHBheS5jOgoJICBTb21lIHByaW50ZiB2YXJpYWJsZSBmb3JtYXQgZml4ZXMKCSAgVGhlIG9zeCBjb21waWxlciBjb21wbGFpbnMgYWJvdXQgdGhvc2UKCjIwMTItMDYtMDUgMDk6MTg6MTIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YW1ycGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RkY2FwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0d2F2cGFja3BhcnNlLmM6CgkgIGF1ZGlvcGFyc2VyczogRml4IEdzdEJhc2VQYXJzZTo6Z2V0X3NpbmtfY2FwcygpIGltcGxlbWVudGF0aW9ucwoJICBUaGV5IHNob3VsZCB0YWtlIHRoZSBmaWx0ZXIgY2FwcyBpbnRvIGFjY291bnQgYW5kIGFsd2F5cyByZXR1cm4KCSAgdGhlIHRlbXBsYXRlIGNhcHMgYXBwZW5kZWQgdG8gdGhlIGFjdHVhbCBjYXBzLiBPdGhlcndpc2UgdGhlCgkgIHBhcnNlcnMgc3RvcCB0byBhY2NlcHQgdW5wYXJzZWQgc3RyZWFtcyB3aGVyZSB1cHN0cmVhbSBkb2VzIG5vdAoJICBrbm93IGFib3V0IGNoYW5uZWxzLCByYXRlLCBldGMuCgkgIEZpeGVzIGJ1ZyAjNjc3NDAxLgoKMjAxMi0wNi0wNCAxNjoxNzo1MSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogc2V0IGNvbG9yaW1ldHJ5IG9uIG91dHB1dCBpbmZvCgoyMDEyLTA2LTA0IDA4OjEwOjE1ICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4cmluZ2J1ZmZlci5jOgoJICBvc3hhdWRpb3Npbms6IEhhbmRsZSBlbmRpYW5uZXNzIGNvcnJlY3RseQoKMjAxMi0wNi0wMSAxNjozNzowMCArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4cmluZ2J1ZmZlci5jOgoJICBvc3hhdWRpb3Npbms6IEFkZCBzdXBwb3J0IGZvciBpbnQgYXVkaW8KCjIwMTItMDYtMDEgMTA6Mjg6NTMgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBmMWI1YTk2IHRvIDFmYWIzNTkKCjIwMTItMDUtMzEgMTM6MzY6MzIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogc2V0IHRoZSBwYWxldHRlIHNpemUgY29ycmVjdGx5CgoyMDEyLTA1LTMxIDEwOjE1OjQzICswMjAwICBNaWNoYWVsIEpvbmVzIDxtaWNoYWVsLmpvbmVzQG1hdHJpeC12aXNpb24uZGU+CgoJKiBzeXMvdjRsMi9nc3R2NGwyY29sb3JiYWxhbmNlLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRvcmllbnQuaDoKCSAgdjRsMjogYWRkIG1pc3NpbmcgR19FTkRfREVDTFMKCSAgR19CRUdJTl9ERUNMUyBkaWRuJ3QgaGF2ZSBtYXRjaGluZyBHX0VORF9ERUNMUwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc3MTY1CgoyMDEyLTA1LTMxIDEzOjA4OjE5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gOTJiNzI2NiB0byBmMWI1YTk2CgoyMDEyLTA1LTMxIDEwOjI2OjI3ICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLmg6CgkgIG9zeHZpZGVvc2luazogUmVhbGx5IGZpeCB0aGUgYnVpbGQgb24gMTAuNQoJICBUaGUgQVBJIHRoYXQgd2UgdXNlIHRvIHJ1biB0aGUgQ29jb2EgbG9vcCBpbiBhbm90aGVyCgkgIHRocmVhZCBkb2VzIG5vdCBleGlzdCBpbiAxMC41IG9yIGVhcmxpZXIuCgoyMDEyLTA1LTI2IDEyOjIxOjE4ICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kZWNpbmFAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5oOgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIG9zeHZpZGVvc2luazogZml4IHJhY2UgaW4gc3RhcnRpbmcgdGhlIHJ1bmxvb3AgdGhyZWFkCgkgIEJsb2NrIGdzdF9vc3hfdmlkZW9fc2lua19ydW5fY29jb2FfbG9vcCB1bnRpbCB0aGUgbG9vcCB0aHJlYWQgaGFzIHN0YXJ0ZWQgYW5kCgkgIGZpbmlzaGVkIGluaXRpYWxpemluZyBOU0FwcC4gRml4ZXMgb2NjYXNpb25hbCB3YXJuaW5ncy9jcmFzaGVzIGR1ZSB0byB0d28KCSAgdGhyZWFkcyBnb2luZyBpbnNpZGUgTlNBcHAgYmVmb3JlIGZpbmlzaExhdW5jaGluZyBoYWQgY29tcGxldGVkLgoKMjAxMi0wNS0zMCAxNjowMzo1NSArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5oOgoJICBvc3h2aWRlb3Npbms6IEZpeCBsYXN0IGNvbW1pdCB0byBhY3R1YWxseSB3b3JrCgkgIE1BQ19PU19YX1ZFUlNJT05fMTBfNiBpcyBvYnZpb3VzbHkgbm90IGRlZmluZWQgb24gMTAuNS4KCjIwMTItMDUtMzAgMTM6NTE6MzUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL29zeHZpZGVvL01ha2VmaWxlLmFtOgoJICBvc3h2aWRlb3Npbms6IFB1dCB0aGUgcmlnaHQgZmxhZ3MgaW4gdGhlIHJpZ2h0IHZhcmlhYmxlCgoyMDEyLTA1LTMwIDEzOjI0OjAzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBGaXggR1NUX09CSkNGTEFHUwoKMjAxMi0wNS0zMCAxMjo0NToyMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGVjMWM0YTggdG8gOTJiNzI2NgoKMjAxMi0wNS0zMCAxMjo0MzozNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLmg6CgkgIG9zeHZpZGVvc2luazogTlNXaW5kb3dEZWxlZ2F0ZSBpcyBhdmFpbGFibGUgaW4gYWxsIE9TWCB2ZXJzaW9ucyBuZXdlciB0aGFuIDEwLjYKCjIwMTItMDUtMzAgMTI6NDA6NTcgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsuaDoKCSAgb3N4dmlkZW9zaW5rOiBGaXggYnVpbGQgd2l0aCBvbGRlciBPU1ggdmVyc2lvbnMKCjIwMTItMDUtMzAgMTE6MDk6MjUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvb3N4dmlkZW8vTWFrZWZpbGUuYW06CgkgIGNvbmZpZ3VyZTogQWRkIE9CSkMgc3BlY2lmaWMgY29tcGlsZXIgZmxhZ3MKCSAgU2VlIGJ1ZyAjNjQzOTM5LgoKMjAxMi0wNS0zMCAxMToyMzozNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDM0MjliYTYgdG8gZWMxYzRhOAoKMjAxMi0wNS0yOSAxNzo1MDoyMSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmM6CgkgIHZpZGVvOiByZW1vdmUgZHVwbGljYXRlIGZvcm1hdAoKMjAxMi0wNS0yOSAxNjo1MjowMiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdmRlbXV4OiBQb3N0IGVycm9yIG1lc3NhZ2UgaWYgRU9TIGJlZm9yZSBwYWRzIHdlcmUgY3JlYXRlZAoJICBIYXBwZW5zIHdpdGggc29tZSBmaWxlcyB3aXRoIG9ubHkgaGVhZGVycwoKMjAxMi0wNS0yOCAxNToyMjoyNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOgoJKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5oOgoJKiBleHQvbGlicG5nL2dzdHBuZ2VuYy5jOgoJKiBleHQvbGlicG5nL2dzdHBuZ2VuYy5oOgoJICBwbmc6IFBvcnQgdG8gMC4xMSBhZ2FpbgoKMjAxMi0wNS0xNCAxMjo0Njo1NyArMDIwMCAgSmVucyBHZW9yZyA8bWFpbEBqZW5zZ2Uub3JnPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cDogRHJvcCB0cmFuc2Zlck1vZGUuZGxuYS5vcmcgaGVhZGVyCgkgIExlYXZlIGl0IHRvIHRoZSBhcHBsaWNhdGlvbiB0byBkZWNpZGUgb24gdGhlIGhlYWRlci4gTm8gaGVhZGVyIGF0IGFsbAoJICBpcyBiZXR0ZXIgdGhhbiBoYXZpbmcgdGhlIHdyb25nIGhlYWRlciBhcyBETE5BIG1hbmRhdGVzIHRoYXQgYSBtaXNzaW5nCgkgIGhlYWRlciBoYXMgdG8gYmUgdG9sZXJhdGVkIHdoaWxlIGEgd3JvbmcgaGVhZGVyIGlzIGFuIGVycm9yLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc2MDIwCgoyMDEyLTA0LTA3IDA5OjUyOjA5ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6CgkqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmg6CgkqIGV4dC9saWJwbmcvZ3N0cG5nZW5jLmM6CgkqIGV4dC9saWJwbmcvZ3N0cG5nZW5jLmg6CgkgIHBuZzogUG9ydCB0byBiYXNlIHZpZGVvIGNsYXNzZXMKCSAgQ29uZmxpY3RzOgoJICBleHQvbGlicG5nL2dzdHBuZ2RlYy5jCgkgIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmgKCSAgZXh0L2xpYnBuZy9nc3RwbmdlbmMuYwoJICBleHQvbGlicG5nL2dzdHBuZ2VuYy5oCgkgIFJldmVydGVkIHRvIDAuMTAsIG5lZWRzIHRvIGJlIHBvcnRlZCBhZ2Fpbi4KCjIwMTItMDUtMjcgMDA6MDI6MDggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkgIGZsdiwgbWF0cm9za2E6IGRvbid0IHVzZSBHc3RTdHJ1Y3R1cmUgQVBJIG9uIHRhZyBsaXN0cwoKMjAxMi0wNS0yNiAxMTo1NzoxNiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wMnRkZXBheS5jOgoJICBydHBtcDJ0ZGVwYXk6IE9ubHkgb3V0cHV0IGludGVncmFsIG1wZWctdHMgcGFja2V0cwoJICBGcm9tIFJGQyAyMjUwCgkgIDIuIEVuY2Fwc3VsYXRpb24gb2YgTVBFRyBTeXN0ZW0gYW5kIFRyYW5zcG9ydCBTdHJlYW1zCgkgIC4uLgoJICBGb3IgTVBFRzIgVHJhbnNwb3J0IFN0cmVhbXMgdGhlIFJUUCBwYXlsb2FkIHdpbGwgY29udGFpbiBhbiBpbnRlZ3JhbAoJICBudW1iZXIgb2YgTVBFRyB0cmFuc3BvcnQgcGFja2V0cy4gIFRvIGF2b2lkIGVuZCBzeXN0ZW0KCSAgaW5lZmZpY2llbmNpZXMsIGRhdGEgZnJvbSBtdWx0aXBsZSBzbWFsbCBNVFMgcGFja2V0cyAobm9ybWFsbHkgZml4ZWQKCSAgaW4gc2l6ZSBhdCAxODggYnl0ZXMpIGFyZSBhZ2dyZWdhdGVkIGludG8gYSBzaW5nbGUgUlRQIHBhY2tldC4gIFRoZQoJICBudW1iZXIgb2YgdHJhbnNwb3J0IHBhY2tldHMgY29udGFpbmVkIGlzIGNvbXB1dGVkIGJ5IGRpdmlkaW5nIFJUUAoJICBwYXlsb2FkIGxlbmd0aCBieSB0aGUgbGVuZ3RoIG9mIGFuIE1UUyBwYWNrZXQgKDE4OCkuCgkgIC4uLi4KCSAgU2luY2UgaXQgbmVlZHMgdG8gY29udGFpbiAiYW4gaW50ZWdyYWwgbnVtYmVyIG9mIE1QRUcgdHJhbnNwb3J0IHBhY2tldHMiLCBhCgkgIHNpbXBsZSBmaXggaXMgdG8gY2hlY2sgdGhhdCdzIHRoZSBjYXNlLCBhbmQgc3RyaXAgb2ZmIGFueSBsZWZ0b3ZlciBkYXRhLgoJICBGaXhlcyAjNjc2Nzk5CgkgIENvbmZsaWN0czoKCSAgZ3N0L3J0cC9nc3RydHBtcDJ0ZGVwYXkuYwoKMjAxMi0wNS0yNCAyMDo0MzoxNiArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9vc3h2aWRlby9jb2NvYXdpbmRvdy5oOgoJKiBzeXMvb3N4dmlkZW8vY29jb2F3aW5kb3cubToKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5oOgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIG9zeHZpZGVvc2luazogbWFrZSBzdXJlIGFsbCBzZWxlY3RvcnMgYXJlIHBlcmZvcm1lZCBvbiB0aGUgc2FtZSB0aHJlYWQKCSAgV2hlbiB3ZSBhcmUgdXNpbmcgYSBkZWRpY2F0ZWQgdGhyZWFkIHRvIHJ1biB0aGUgbWFpbiBydW4gbG9vcCB3ZQoJICBtdXN0IG1ha2Ugc3VyZSB0aGF0IGFsbCBzZWxlY3RvcnMgYXJlIHBlcmZvcm1lZCBvbiB0aGlzIHNhbWUgdGhyZWFkLgoJICBGb3IgaW5zdGFuY2UgaWYgcGVyZm9ybVNlbGVjdG9yT25NYWluVGhyZWFkIGlzIGNhbGxlZCBmcm9tIHRoZSByZWFsCgkgIG1haW4gdGhyZWFkLCBpdCB3aWxsIG5vdCBnbyB0aHJvdWdoIHRoZSBtZXNzYWdlIHF1ZXVlIGFuZCB3aWxsIGJlCgkgIGV4ZWN1dGVkIGZyb20gdGhlIHJlYWwgbWFpbiB0aHJlYWQuIEJ5IGZvcmNpbmcgdGhlIHRhcmdldCB0aHJlYWQsCgkgIHdlIGVuc3VyZSB0aGF0IGFsbCBmdW5jdGlvbnMgd2lsbCBiZSBjYWxsZWQgZWl0aGVyIGZyb20gdGhlIHJlYWwKCSAgbWFpbiB0aHJlYWQgd2hlbiB0aGUgbWFpbiBydW4gbG9vcCBpcyBydW5uaW5nIG9yIGZyb20gb3VyIHRocmVhZAoJICBzcGlubmluZyB0aGUgbWFpbiBsb29wLgoKMjAxMi0wNS0yNCAxNjowOTo1NCArMDIwMCAgTWF0aGlhcyBIYXNzZWxtYW5uIDxtYXRoaWFzLmhhc3NlbG1hbm4gYXQgZ214LmRlPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnZGVjOiByZW1vdmUgZnJhbWVyYXRlCgkgIFRoZSBqcGVnIGRlY29kZXIgZG9lc24ndCBuZWVkL2NhcmUgYWJvdXQgdGhlIGZyYW1lcmF0ZSB0byBzbyBpdCBzaG91bGQKCSAgbm90IGJlIGluIHRoZSBjYXBzLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc2MzAyCgoyMDEyLTA1LTI0IDEzOjA4OjM1ICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kZWNpbmFAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBvc3h2aWRlb3Npbms6IHN0YXJ0IHRoZSBsb29wIGJlZm9yZSBjYWxsaW5nIFtnc3R2aWV3IGhhdmVTdXBlcnZpZXddCgkgIC4uLmFzIGhhdmVTdXBlcnZpZXcgcmVxdWlyZXMgdGhlIG1haW5sb29wIHRvIGJlIHJ1bm5pbmcKCjIwMTItMDUtMjQgMTM6MDg6MTMgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRlY2luYUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIG9zeHZpZGVvc2luazogZml4IGluZGVudGF0aW9uCgoyMDEyLTA1LTIyIDE2OjQ3OjM2ICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kZWNpbmFAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL29zeHZpZGVvL01ha2VmaWxlLmFtOgoJICBvc3h2aWRlb3Npbms6IGVuYWJsZSBydW5uaW5nIHRoZSBjb2NvYSBtYWluIHJ1bmxvb3AgaW4gYSB0aHJlYWQKCjIwMTItMDUtMjIgMTY6NDU6MjggKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRlY2luYUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLmg6CgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgb3N4dmlkZW9zaW5rOiBhZGQgY29kZSB0byBvcHRpb25hbGx5IHJ1biB0aGUgY29jb2EgbWFpbiBydW5sb29wIGluIGEgc2VwYXJhdGUgdGhyZWFkCgkgIEFkZCBhIGxpdHRsZSBoYWNrIHRvIHJ1biB0aGUgY29jb2EgbWFpbiBydW5sb29wIGZyb20gYSBzZXBhcmF0ZSB0aHJlYWQgX3doZW5fCgkgIHRoZSBtYWluIHJ1bmxvb3AgaXMgbm90IGJlaW5nIHJ1biAod2hpY2ggbWVhbnMgdGhhdCB0aGUgYXBwIGRvZXNuJ3QgdXNlIGNvY29hKS4KCSAgUnVubG9vcHMgYXJlIHRocmVhZCBzcGVjaWZpYywgc28gdGhlIGhhY2sgYm9pbHMgZG93biB0byBnZXR0aW5nIHRoZSBydW5sb29wIGZvcgoJICB0aGUgbWFpbiB0aHJlYWQgYW5kIHNldHRpbmcgaXQgYXMgdGhlIHJ1bmxvb3AgZm9yIG91ciBkZWRpY2F0ZWQgdGhyZWFkLgoKMjAxMi0wNS0yMiAxNjozMjo1MyArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZGVjaW5hQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgb3N4dmlkZW9zaW5rOiByZXNldCBhcHBfc3RhcnRlZCB0byBGQUxTRSB3aGVuIHNodXR0aW5nIGRvd24KCjIwMTItMDUtMjIgMTQ6NDk6MTcgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRlY2luYUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIG9zeHZpZGVvc2luazogcmVuYW1lIGNvY29hIHJ1bmxvb3AgaGVscGVyIGZ1bmNzCgoyMDEyLTA1LTIyIDE0OjI2OjEzICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kZWNpbmFAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBvc3h2aWRlb3Npbms6IGRvbid0IGNyZWF0ZSBhcHBsaWNhdGlvbiBtZW51cwoKMjAxMi0wNS0xNiAyMTo1Mjo0NSArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsuaDoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBvc3h2aWRlb3Npbms6IHJlc2V0IHRoZSBlbWJlZCBwcm9wZXJ0eSBmb3IgYmFja3dhcmQgY29tcGF0aWxpYml0eQoKMjAxMi0wNS0xNiAyMToxMjoyMiArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9vc3h2aWRlby9jb2NvYXdpbmRvdy5oOgoJKiBzeXMvb3N4dmlkZW8vY29jb2F3aW5kb3cubToKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBvc3h2aWRlb3Npbms6IGZpeCBuYXZpZ2F0aW9uIHdoZW4gZm9yY2UtYXNwZWN0LXJhdGlvIGlzIGFjdGl2YXRlZAoKMjAxMi0wNS0xNiAxODo1Mjo0NSArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9vc3h2aWRlby9jb2NvYXdpbmRvdy5oOgoJKiBzeXMvb3N4dmlkZW8vY29jb2F3aW5kb3cubToKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5oOgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIG9zeHZpZGVvc2luazogYWRkIGZvcmNlLWFzcGVjdC1yYXRpbyBwcm9wZXJ0eQoKMjAxMi0wNS0xNCAxODowMTowMiArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9vc3h2aWRlby9jb2NvYXdpbmRvdy5oOgoJKiBzeXMvb3N4dmlkZW8vY29jb2F3aW5kb3cubToKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5oOgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIG9zeHZpZGVvc2luazogc3RhcnQgaW50ZXJuYWwgd2luZG93IGlmIG5vIHZpZXcgaXMgcHJvdmlkZWQKCjIwMTItMDUtMTQgMTQ6Mjc6NTggKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvb3N4dmlkZW8vY29jb2F3aW5kb3cuaDoKCSogc3lzL29zeHZpZGVvL2NvY29hd2luZG93Lm06CgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgb3N4dmlkZW9zaW5rOiBpbXBsZW1lbnQgdGhlIG5hdmlnYXRpb24gaW50ZXJmYWNlCgoyMDEyLTA1LTExIDE4OjI0OjA4ICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5oOgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIG9zdmlkZW9zaW5rOiBjcmVhdGUsIGRlc3Ryb3ksIHJlc2l6ZSBhbmQgZHJhdyBmcm9tIHRoZSBtYWluIHRocmVhZAoKMjAxMi0wNC0xOSAwODozNzoyOCArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogaW5jcmVhc2UgTkVXU0VHTUVOVCBhY2N1cmFjeSBhZnRlciBzZWVraW5nCgkgIGRlbXV4LT5jb21tb24uc2VnbWVudCBpcyBwb3B1bGF0ZWQgZHVyaW5nIHNlZWsgaGFuZGxpbmcgd2l0aCB0aGUgdGFyZ2V0CgkgIHN0YXJ0L3N0b3AgcG9zaXRpb25zLiBEb24ndCBvdmVycmlkZSB0aGVtIHdoZW4gc2VuZGluZyBvdXQgYSBORVdTRUdNRU5ULgoJICBDb25mbGljdHM6CgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jCgoyMDEyLTA0LTE5IDA4OjMxOjAwICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBkb24ndCBkaXNjYXJkIHRoZSBpbmNvbWluZyBzZWVrIHNlZ21lbnQgb24gcHVzaCBiYXNlZCBzZWVraW5nCgkgIFRoZSBpbmNvbWluZyBzZWVrIHNlZ21lbnQgd2FzIGJlaW5nIGRpc2NhcmRlZCBsZWFkaW5nIHRvIHB1c2ggYmFzZWQgc2Vla2luZwoJICBiZWluZyBwb3RlbnRpYWxseSBpbmFjY3VyYXRlLgoKMjAxMi0wNS0yMyAxODoxMjoyNCArMDIwMCAgU2ViYXN0aWFuIFJhc211c3NlbiA8c2Vicm5AYXhpcy5jb20+CgoJKiBjb21tb246CgkgIGNvbW1vbjogVXBkYXRlIHNvIHRoZSBwbHVnaW4gc2Nhbm5lciBjaGFuZ2VzIGFyZSBpbmNsdWRlZAoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc2Njc0CgoyMDEyLTA1LTIzIDE4OjA3OjM1ICswMjAwICBTZWJhc3RpYW4gUmFzbXVzc2VuIDxzZWJybkBheGlzLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBzdXBwcmVzcyBzb21lIHdhcm5pbmdzIHdoZW4gZGVidWcgaXMgZGlzYWJsZWQKCSAgV2FybmluZ3MgYWJvdXQgdW51c2VkIHZhcmlhYmxlcyBzaG91bGQgYmUgc3VwcHJlc3NlZCBpZiBjb3JlIGhhcyB0aGUKCSAgZGVidWcgc3lzdGVtIGRpc2FibGVkLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc2NjcxCgoyMDEyLTA1LTI0IDA5OjI5OjI1ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkgIHJ0cDogZml4IGJ1aWxkIGlzc3VlIGluIGdzdHJ0cGgyNjRwYXkuYwoKMjAxMi0wNS0yMSAxMjoxNzozNSArMDIwMCAgSm9uYXMgSG9sbWJlcmcgPGpvbmFzaGdAYXhpcy5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSAgcnRwaDI2NHBheTogQWRkIHVucmVzdHJpY3RlZCBjYXBzCgkgIElmIHRoZXJlIGFyZSBubyBwcm9maWxlIHJlc3RyaWN0aW9ucyBkb3duc3RyZWFtLCByZXR1cm4gY2FwcyB3aXRoCgkgIHByb2ZpbGU9Y29uc3RyYWluZWQtYmFzZWxpbmUgaW4gdGhlIGZpcnN0IHN0cnVjdHVyZSBhbmQgYXBwZW5kCgkgIHVucmVzdHJpY3RlZCBjYXBzIGFzIHRoZSBsYXN0IHN0cnVjdHVyZS4KCSAgRml4ZXMgYnVnICM2NzIwMTkKCjIwMTItMDUtMjQgMDk6NTc6MzEgKzAyMDAgIE1hcmlhIEdpb3Zhbm5hIENoaW9zc2EgPG1hcmlhZ2lvdmFubmEuY2hpb3NzYSBhdCBzZWxleGVsc2FnLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcDogYWRkIHRoZSBTY2FsZSBoZWFkZXIgd2hlbiBuZWVkZWQKCSAgU2V0dGluZyBHU1RfU0VFS19GTEFHX1NLSVAgd2hlbiBzZW5kaW5nIGEgc2VlayBldmVudCBpbiBydHNwc3JjIHNob3VsZAoJICBzZXQgdGhlICJTY2FsZSIgZmllbGQgaW4gdGhlIHJ0c3AgUExBWSBoZWFkZXIuCgkgIEJlY2F1c2UgdGhlIGJvb2xlYW4gInNyYy0+c2tpcCIgaXMgc2V0IGFmdGVyIHRoZSBjYWxsLCAiU3BlZWQiIGluc3RlYWQKCSAgb2YgIlNjYWxlIiBpcyBhbHdheXMgc2V0LiBNb3ZlIHRoZSBhc3NpZ25tZW50IGJlZm9yZSBpc3N1aW5nIHRoZSBfcGxheQoJICByZXF1ZXN0LgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc2NjE4CgoyMDEyLTA1LTE3IDE2OjIzOjU5ICswMzAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzoKCSAgdmlkZW9ib3g6IEZpeCB0aGUgc2FtcGxlIHBpcGVsaW5lLgoKMjAxMi0wNS0yMiAxMjozNTowNCArMDQwMCAgQW50b24gTm92aWtvdiA8cmFuZG9tLnBsYW50QGdtYWlsLmNvbT4KCgkqIGdzdC9pY3lkZW11eC9nc3RpY3lkZW11eC5jOgoJICBpY3lkZW11eDogd2FybmluZyBpZiBzZXR0aW5nIHNyY3BhZCBjYXBzIGZhaWxzCgoyMDEyLTA1LTIyIDEyOjM1OjI5ICswNDAwICBBbnRvbiBOb3Zpa292IDxyYW5kb20ucGxhbnRAZ21haWwuY29tPgoKCSogZ3N0L2ljeWRlbXV4L2dzdGljeWRlbXV4LmM6CgkgIGljeWRlbXV4OiBhY3RpdmF0ZSBzcmNwYWQgYmVmb3JlIHNldHRpbmcgY2FwcwoJICBCZWZvcmUgZ3N0X3BhZF9zZXRfYWN0aXZlKCkgaXMgY2FsbGVkLCB0aGUgcGFkIGhhcwoJICBGTFVTSElORyBmbGFnIHNldCwgc28gc2V0dGluZyB0aGUgY2FwcyBmYWlscwoKMjAxMi0wNS0yMiAxMzo0NjoyNyArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L2xpYm1uZy9NYWtlZmlsZS5hbToKCSogZXh0L2xpYm1uZy9nc3RtbmcuYzoKCSogZXh0L2xpYm1uZy9nc3RtbmcuaDoKCSogZXh0L2xpYm1uZy9nc3RtbmdkZWMuYzoKCSogZXh0L2xpYm1uZy9nc3RtbmdkZWMuaDoKCSogZXh0L2xpYm1uZy9nc3RtbmdlbmMuYzoKCSogZXh0L2xpYm1uZy9nc3RtbmdlbmMuaDoKCSAgbW5nOiByZW1vdmUgZXh0L2xpYm1uZwoJICBQb3J0IHRvIDAuMTAgd2FzIG5ldmVyIGZpbmlzaGVkLgoJICBJbnRlcmVzdCB3YXMgbG9zdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTMyNDM2NAoKMjAxMi0wNS0xOCAxNjozNzowNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSAgYXZpbXV4OiBmaXggYXNzZXJ0aW9uIHdoZW4gaGFuZGxpbmcgYSBkYXRlIHRhZyBhcyBhIHN0cmluZwoJICBEYXRlIHRhZ3MgYXJlIEdEYXRlLCBub3Qgc3RyaW5ncy4gQWRkIGEgc3BlY2lhbCBjYXNlIHRvIGNvbnZlcnQKCSAgaXQgdG8gdGhlIGV4aWYgZGF0ZSBmb3JtYXQgcmVwcmVzZW50YXRpb24gaW4gc3RyaW5nIHRvIGF2b2lkCgkgIHRoZSBhc3NlcnRpb24KCjIwMTItMDUtMjEgMTE6NDc6MDcgKzAyMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZEBsdW9uLm5ldD4KCgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJICBwdWxzZXNyYzogTGlzdGVuIHRvIHNvdXJjZSBvdXRwdXQgZXZlbnRzLCBub3Qgc2luayBpbnB1dAoKMjAxMi0wNS0xOCAxMjo1Mzo0NCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wMnRwYXkuYzoKCSAgcnRwbXAydHBheTogcmVzcGVjdCBtdHUgYW5kIHBhY2tldCBib3VuZGFyaWVzCgkgIFNlZSAjNjU5OTE1LgoKMjAxMi0wNS0xOCAxMToxMDo0NiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgIGpwZWc6IFJlbW92ZSBkZWFkIGNvZGUKCSAgQ29uZmxpY3RzOgoJICBleHQvanBlZy9nc3RqcGVnZGVjLmMKCjIwMTItMDUtMTggMTE6MDU6MzUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnZGVjOiBGaXggY29tcGlsYXRpb24KCjIwMTItMDUtMTggMTE6MDI6NTIgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnZGVjOiBXaGVuIGRyb3BwaW5nIGZyYW1lcyBvbiBFT1MsIGZsdXNoIG91dCBkYXRhCgkgIENsZWFuZXIgd2F5IG9mIGhhbmRsaW5nIHN0cmF5IGRhdGEKCjIwMTItMDUtMTcgMDk6MzQ6MDMgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmg6CgkgIGpwZWdkZWM6IFJlbW92ZSB1bnVzZWQgdmFyaWFibGUKCSAgQ29uZmxpY3RzOgoJICBleHQvanBlZy9nc3RqcGVnZGVjLmMKCjIwMTItMDUtMTcgMDk6MzM6MTggKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnZGVjOiBPbmx5IHBhcnNlIGZvciBTT0kgd2hlbiB3ZSBkaWRuJ3Qgc2VlIGl0IGJlZm9yZQoKMjAxMi0wNS0xNyAwOTozMTo0MSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgIGpwZWdkZWM6IFJlbWVtYmVyIGlmIHdlIHNhdyBTT0kgYW5kIGhhbmRsZSBzdHJheSBkYXRhIG9uIEVPUwoKMjAxMi0wNS0xNSAyMDo1ODoyNSArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwanBlZ3BheS5jOgoJICBydHBqcGVncGF5OiBBbGxvdyBVIGFuZCBWIGNvbXBvbmVudHMgdG8gdXNlIGRpZmZlcmVudCBxdWFudCB0YWJsZXMgaWYgdGhleSBjb250YWluIHRoZSBzYW1lIGRhdGEKCSAgVGhpcyBhbGxvd3Mgc29tZSBjYW1lcmFzIChMb2dpdGVjaCBDOTIwKSB0aGF0IHNwZWNpZnkgZGlmZmVyZW50IHF1YW50CgkgIHRhYmxlcyBidXQgYm90aCB3aXRoIHRoZSBzYW1lIGRhdGEsIHRvIHdvcmsuCgkgIEJ1ZyByZXBvcnRlZCBieSBSb2JlcnQgS3Jha29yYQoKMjAxMi0wNS0xNCAxNTo1MToyOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwaHR0cHNyYzogZml4IHBvc3NpYmxlIGRhdGEgY29ycnVwdGlvbiBhZnRlciBzZWVraW5nCgkgIENvbnNpZGVyIGEgZG93bnN0cmVhbSBlbGVtZW50IHRoYXQgbWF5IGlzc3VlIHNlZWtzIGluIHZlcnkgc2hvcnQKCSAgc3VjY2Vzc2lvbiAoZS5nLiBxdWV1ZTIpLCBkZXBlbmRpbmcgb24gdGhlIGFjY2VzcyBwYXR0ZXJuIG9mCgkgIHRoZSBkb3duc3RyZWFtIGVsZW1lbnQgKGUuZy4gcXRkZW11eCB3aXRoIGF1ZGlvL3ZpZGVvIGNodW5rcwoJICBpbnRlcmxlYXZlZCBzbyB0aGF0IHRoZXJlJ3MgYWx3YXlzIGEgc2l6ZWFibGUgZ2FwIGJldHdlZW4gdGhlCgkgIGN1cnJlbnQgY2h1bmtzIGZvciBlYWNoIHN0cmVhbSkuIEluIHRoaXMgY2FzZSwgcXVldWUyIHdpbGwgbWFpbnRhaW4KCSAgdHdvIHJhbmdlcywgYW5kIGV2ZW4gd2hlbiBpdCBzZXJ2ZXMgYSBjaHVuayBmcm9tIG1lbW9yeSwgaXQgd2lsbAoJICBzd2l0Y2ggcmFuZ2VzIGFuZCBtYWtlIHNvdXBodHRwc3JjIHNlZWsgdG8gdGhlIGVuZCBvZiB0aGUgYXZhaWxhYmxlCgkgIGRhdGEgZm9yIHRoYXQgcmFuZ2UsIGFzc3VtaW5nIHRoYXQgdGhhdCdzIHdoZXJlIHdlJ2xsIHdhbnQgdG8KCSAgY29udGludWUgcmVhZGluZyBmcm9tIG5leHQuCgkgIFRoaXMgbWF5IGxlYWQgdG8gdGhlIGZvbGxvd2luZyBzZWVrIHJlcXVlc3QgcGF0dGVybjoKCSAgLSBzb3VyY2UgcmVhZGluZyBwb3NpdGlvbiBBCgkgIC0gc2VlayB0byBCCgkgIC0gbm93IHJlYWRpbmcgcG9zaXRpb24gc3RpbGwgQSwgcmVxdWVzdGVkX3Bvc3Rpb24gaXMgQgoJICAtIHN0cmVhbWluZyB0aHJlYWQgdG8gYmUgcmVzdGFydGVkIHRvIGNvbnRpbnVlIGZyb20gQgoJICAtIHNlZWsgdG8gQSwgYmVmb3JlIHN0cmVhbWluZyB0aHJlYWQgaGFkIHRpbWUgdG8gZG8gdGhlIHNlZWsKCSAgLSBkb19zZWVrKCkgbm93IHNlZXMgcmVhZGluZyBwb3NpdGlvbiA9PSBzZWVrIHBvc2l0aW9uIGFuZAoJICByZXR1cm5zIGVhcmx5LgoJICAtIGhvd2V2ZXIsIHJlcXVlc3RlZCBwb3NpdGlvbiBpcyBzdGlsbCBCIGZyb20gdGhlIGVhcmxpZXIKCSAgc2VlayByZXF1ZXN0CgkgIC0gc3RyZWFtaW5nIHRocmVhZCBzdGFydHMgdXAsIHNlZXMgdGhhdCBhIHNlZWsgdG8gQiBpcyBwZW5kaW5nCgkgIGFuZCByZXF1ZXN0cyBkYXRhIGZyb20gQiBmcm9tIHRoZSBzZXJ2ZXIsIHdoaWxlIHRoZSBHc3RCYXNlU3JjCgkgIHNlZ21lbnQgaGFzIG9mIGNvdXJzZSBiZWVuIHVwZGF0ZWQvcmVzZXQgdG8gcG9zaXRpb24gQSwgd2hpY2gKCSAgd2FzIHRoZSBsYXN0IHNlZWsgcmVxdWVzdC4KCSAgLSB3ZSB3aWxsIG5vdyBzZW5kIGRhdGEgZm9yIHBvc2l0aW9uIEIgYW5kIHByZXRlbmQgdGhhdCdzIHRoZQoJICBkYXRhIGZyb20gcG9zaXRpb24gQSAodmlhIHRoZSBuZXdzZWdtZW50IGV2ZW50LCBldGMuKQoJICAtIHRoaXMgY2F1c2VzIGRhdGEgY29ycnVwdGlvbgoJICBSZXByb2R1Y2libGUgZG9pbmcgc2Vlay1lbXVsYXRlZCBmYXN0LWZvcndhcmQvYmFja3dhcmQgb24gMDA2NjQ4LgoKMjAxMi0wNS0xNiAwOToxMjo1NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogUmVxdWlyZSBjb3JlL2Jhc2UgMC4xMS45MQoKMjAxMi0wMS0xMyAxODowOTo1MCAtMDUwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIC5naXRpZ25vcmU6CgkgIC5naXRpZ25vcmU6IGFkZCB2aXN1YWwgc3R1ZGlvIElERSBmaWxlcyBhbmQgT1MgWCAuRFNfU3RvcmUgZmlsZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2Nzg5OQoKMjAxMi0wNS0wMyAwOTozMjo1MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuaDoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmg6CgkgIGpwZWc6IFBvcnQgdG8gMC4xMSBhZ2FpbgoKMjAxMi0wNC0wNiAxMjoxMzoyNCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuaDoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmg6CgkgIGpwZWc6IFBvcnQganBlZ2RlYy9qcGVnZW5jIHRvIGJhc2UgdmlkZW8gY2xhc3NlcwoJICBDb25mbGljdHM6CgkgIGV4dC9qcGVnL2dzdGpwZWdkZWMuYwoJICBleHQvanBlZy9nc3RqcGVnZGVjLmgKCSAgZXh0L2pwZWcvZ3N0anBlZ2VuYy5jCgkgIGV4dC9qcGVnL2dzdGpwZWdlbmMuaAoJICBSZXZlcnRlZCB0byAwLjEwIHZlcnNpb25zIGZvciBub3csIG5leHQgcG9ydCBhZ2Fpbi4KCjIwMTItMDUtMTMgMTk6MjE6MTkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFubm9kZXgueG1sOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9hbm5vZGV4L01ha2VmaWxlLmFtOgoJKiBleHQvYW5ub2RleC9nc3Rhbm5vZGV4LmM6CgkqIGV4dC9hbm5vZGV4L2dzdGFubm9kZXguaDoKCSogZXh0L2Fubm9kZXgvZ3N0Y21tbGRlYy5jOgoJKiBleHQvYW5ub2RleC9nc3RjbW1sZGVjLmg6CgkqIGV4dC9hbm5vZGV4L2dzdGNtbWxlbmMuYzoKCSogZXh0L2Fubm9kZXgvZ3N0Y21tbGVuYy5oOgoJKiBleHQvYW5ub2RleC9nc3RjbW1scGFyc2VyLmM6CgkqIGV4dC9hbm5vZGV4L2dzdGNtbWxwYXJzZXIuaDoKCSogZXh0L2Fubm9kZXgvZ3N0Y21tbHRhZy5jOgoJKiBleHQvYW5ub2RleC9nc3RjbW1sdGFnLmg6CgkqIGV4dC9hbm5vZGV4L2dzdGNtbWx1dGlscy5jOgoJKiBleHQvYW5ub2RleC9nc3RjbW1sdXRpbHMuaDoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NtbWxkZWMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY21tbGVuYy5jOgoJICBhbm5vZGV4OiByZW1vdmUgYW5ub2RleCBwbHVnaW4gYW5kIENNTUwgZWxlbWVudHMKCSAgVGhpcyBuZXZlciByZWFsbHkgdG9vayBvZmYgYW5kIGlzIG1vc3QgbGlrZWx5IGNvbXBsZXRlbHkKCSAgdW51c2VkLiBJZiB0aGVyZSBpcyBzdGlsbCBhIG5lZWQgZm9yIHRoaXMsIGl0IHNob3VsZAoJICBwcm9iYWJseSBiZSBkb25lIGRpZmZlcmVudGx5LCBwZXJoYXBzIGluc2lkZSBvZ2dkZW11eC9tdXguCgoyMDEyLTA1LTEzIDE2OjU5OjU4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgQmFjayB0byBkZXZlbG9wbWVudAoKPT09IHJlbGVhc2UgMC4xMS45MSA9PT0KCjIwMTItMDUtMTMgMTY6MzE6MDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb21tb246CgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0LXBsdWdpbnMtZ29vZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMC4xMS45MQoKMjAxMi0wNS0xMyAxNjozMDowMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lby5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2dsLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9yby5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHBvL3poX0hLLnBvOgoJKiBwby96aF9UVy5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAxMi0wNS0xMyAxNTo1NjowNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGRjNzAyMDMgdG8gMzQyOWJhNgoKMjAxMi0wNS0wOSAxNToxNDo1NSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVidWd1dGlscy9ybmRidWZmZXJzaXplLmM6CgkgIHJuZGJ1ZmZlcnNpemU6IG9ubHkgc2VuZCBmbHVzaC1zdG9wIGlmIGl0IHdhcyBhIGZsdXNoaW5nIHNlZWsKCjIwMTItMDUtMDkgMTI6NTQ6MTEgKzAyMDAgIFBldGVyIFNlaWRlcmVyIDxwcy5yZXBvcnRAZ214Lm5ldD4KCgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSAgdjRsMnNyYzogZml4IHY0bDJfc3RkX2lkIGxvZ2dpbmcKCSAgaW5wdXQuc3RkIGlzIG9mIHR5cGUgdjRsMl9zdGRfaWQgd2hpY2ggaXMgZGVmaW5lZCBhcyA2NC1iaXQgdW5zaWduZWQgaW50ZWdlci4KCSAgQ2FzdGluZyB0byB1aW50IG1lYW5zIHRoZSBoaWdoZXIgYml0cywgd2ljaCBhcmUgdXNlZCBmb3IgdGhlIHByaXZhdGUgdmlkZW8KCSAgc3RhbmRhcmRzIG9mIHRoZSBUSSB2aWRlbyBjYXB0dXJlL2Rpc3BsYXkgZHJpdmVyIGZvciBleGFtcGxlLCBhcmUgbG9zdC4KCjIwMTItMDUtMDkgMTI6MjQ6MzcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlYnVndXRpbHMvcm5kYnVmZmVyc2l6ZS5jOgoJICBybmRidWZmZXJzaXplOiBtdXN0IHNlbmQgZmx1c2gtc3RvcCBhZnRlciBhY3F1aXJpbmcgdGhlIHN0cmVhbSBsb2NrCgkgIE90aGVyd2lzZSB0aGUgc3RyZWFtaW5nIHRocmVhZCBtaWdodCBqdXN0IGtlZXAgb24gZ29pbmcgYW5kIHdlCgkgIG1pZ2h0IG5ldmVyIGdldCB0aGUgc3RyZWFtIGxvY2suCgoyMDEyLTA1LTA5IDExOjE1OjIxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWJ1Z3V0aWxzL3JuZGJ1ZmZlcnNpemUuYzoKCSAgcm5kYnVmZmVyc2l6ZTogcG9ydCBzZWVraW5nIGNvZGUgdG8gMC4xMQoKMjAxMi0wNS0wOCAxOTowNzowNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVidWd1dGlscy9ybmRidWZmZXJzaXplLmM6CgkgIHJuZGJ1ZmZlcnNpemU6IGFkZCBzdXBwb3J0IGZvciBzZWVrcwoJICBVc2VmdWwgZm9yIGUuZy4gZmlsZXNyYyAhIHJuZGJ1ZmZlcnNpemUgISBxdWV1ZTIgISAuLi4KCjIwMTItMDUtMDggMTg6NDU6MzQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlYnVndXRpbHMvcm5kYnVmZmVyc2l6ZS5jOgoJICBybmRidWZmZXJzaXplOiBzZW5kIFNFR01FTlQgZXZlbnQgYmVmb3JlIHB1c2hpbmcgYnVmZmVycwoJICBDb25mbGljdHM6CgkgIGdzdC9kZWJ1Z3V0aWxzL3JuZGJ1ZmZlcnNpemUuYwoKMjAxMi0wNS0wOSAxMToxNTo1NyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzoKCSAgaW50ZXJsZWF2ZTogZml4IGNvbXBpbGF0aW9uIGFnYWluCgoyMDEyLTAxLTEzIDEwOjQ5OjQzICswMTAwICBQYXNjYWwgQnVobGVyIDxwYWJ1aGxlckBjaXNjby5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IGNyZWF0aW9uIHNob3VsZCBiZSBzaWduYWxlZCBiZWZvcmUgdmFsaWRhdGlvbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY3ODUwCgoyMDEyLTA1LTA0IDE1OjIwOjQ3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkgIGpwZWdlbmM6IGRvIG5vdCBwcm94eSBvdXIgZmlsdGVyIGNhcHMgZG93bnN0cmVhbSBvbiBjYXBzIHF1ZXJpZXMKCSAgRG93bnN0cmVhbSBsaWtlbHkgd29uJ3QgYWNjZXB0IHZpZGVvL3gtcmF3IGFuZCB0aGUgY2FwcyBxdWVyeQoJICB3aWxsIHJldHVybiBFTVBUWSBjYXBzLiBJbnN0ZWFkLCBjcmVhdGUgYSBjb3B5IG9mIHRoZSBjYXBzIHRoYXQKCSAgaGFzIGFsbCBzdHJ1Y3R1cmUgbmFtZXMgcmVwbGFjZWQgYnkgJ2ltYWdlL2pwZWcnCgkgIFNpbXBsZSBwaXBlbGluZSB0aGF0IHNob3dzIHRoZSBwcm9ibGVtOgoJICBnc3QtbGF1bmNoLTEuMCB2aWRlb3Rlc3RzcmMgbnVtLWJ1ZmZlcnM9MSAhICJ2aWRlby94LXJhdywgXAoJICB3aWR0aD0oaW50KTY0MCwgaGVpZ2h0PShpbnQpNDgwIiAhIHZpZGVvc2NhbGUgISBqcGVnZW5jICEgXAoJICAiaW1hZ2UvanBlZywgd2lkdGg9KGludCk4MDAsIGhlaWdodD0oaW50KTYwMCIgISBmaWxlc2luayBcCgkgIGxvY2F0aW9uPS90bXAvaW1hZ2UuanBnCgoyMDEyLTA1LTAyIDIxOjE3OjQzICswMjAwICBBbGJhbiBCcm93YWV5cyA8cHJhaGFsQHlhaG9vLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBpc29tcDQ6IHNldCBsYXlvdXQ9aW50ZXJsZWF2ZWQgb24gcmF3IGF1ZGlvIGNhcHMKCSAgVGhpcyBmaXhlcyBhIG5vdC1uZWdvdGlhdGVkIGVycm9yIGF0IGxlYXN0IG9uIG1vdiBmaWxlcyB3aXRoCgkgIHR3b3MgYXVkaW8gd2l0aCB0d28gY2hhbm5lbHMgYW5kIHZpZGVvIGR2Y3AuIEFzIHBsYXliaW4gYW5kIGdzdC1sYXVuY2gKCSAgc2FtcGxlIGNvbWluZyBmcm9tIHRoZSBxdGRlbXV4LmMgZmlsZSB1c2VzIGF1ZGlvY29udmVydCBhbmQgdGhlIGxhdHRlcgoJICByZXF1aXJlIGZvcm1hdCBpbnRlcmxlYXZlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NTMyNgoKMjAxMi0wNS0wMiAyMTo0OTo1NiArMDQwMCAg0KDRg9GB0LvQsNC9INCY0LbQsdGD0LvQsNGC0L7QsiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBzeXMvd2F2ZWZvcm0vTWFrZWZpbGUuYW06CgkgIHdhdmVmb3JtOiBObyBtb3JlIGdzdGludGVyZmFjZXMKCSAgRml4ZXMgIzY3NTMxOQoKMjAxMi0wNS0wMiAyMDoxNDoyNCArMDQwMCAg0KDRg9GB0LvQsNC9INCY0LbQsdGD0LvQsNGC0L7QsiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBzeXMvZGlyZWN0c291bmQvTWFrZWZpbGUuYW06CgkgIGRpcmVjdHNvdW5kOiBObyBtb3JlIGdzdGludGVyZmFjZXMKCSAgRml4ZXMgIzY3NTMxOQoKMjAxMi0wNS0wMSAxODo1ODowMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5oOgoJICB2aWRlb21peGVyOiBjaGFuZ2Ugc2luayBwYWQgdGVtcGxhdGUgbmFtZSBmcm9tIHNpbmtfJWQgdG8gc2lua18ldQoKMjAxMi0wNC0zMCAxMTowMDoxOSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzoKCSAgaW50ZXJsZWF2ZTogaGFuZGxlIEVPUyBvbiBhbGwgcGFkcwoJICBXaGVuIGFsbCBwYWRzIGdvIHRvIEVPUyBpbW1lZGlhdGVseSwgd2UgYXJlIG5vdCBuZWdvdGlhdGVkIGFuZCBvdXIgY29sbGVjdGVkCgkgIGZ1bmN0aW9uIGlzIGNhbGxlZCAod2l0aG91dCBhbnkgYXZhaWxhYmxlIGRhdGEpLiBIYW5kbGUgdGhpcyBjYXNlIGdyYWNlZnVsbHkuCgkgIENvbmZsaWN0czoKCSAgZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jCgoyMDEyLTA0LTMwIDEwOjU5OjMxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOgoJICBpbnRlcmxlYXZlOiBpbXByb3ZlIGRlYnVnZ2luZwoKMjAxMi0wNS0wMSAxMzozMTo1MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIHY0bDJzcmM6IFVwZGF0ZSBmb3IgYmFzZXNyYyBBUEkgY2hhbmdlcwoKMjAxMi0wNC0zMCAyMzo1NzoyOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzoKCSAgYWxwaGE6IGRvbid0IHNldCB1cCBzdHVmZiBiZWZvcmUgdGhlIGlucHV0IGFuZCBvdXRwdXQgZm9ybWF0cyBhcmUga25vd24KCSAgRml4ZXMgY3Jhc2ggb24gc3RhcnR1cC4KCjIwMTItMDQtMzAgMTQ6MDk6MjMgKzAyMDAgIFBldGVyIFNlaWRlcmVyIDxwcy5yZXBvcnRAZ214Lm5ldD4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOgoJICBtdWx0aWZpbGVzaW5rOiBkb24ndCB3cml0ZSBzdHJlYW0gaGVhZGVyIHR3aWNlIGZvciBmaXJzdCBmaWxlCgoyMDEyLTA0LTMwIDEzOjMyOjQxICswMjAwICBQZXRlciBTZWlkZXJlciA8cHMucmVwb3J0QGdteC5uZXQ+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSAgbXVsdGlmaWxlc2luazogZml4IGJ1ZmZlciBsaXN0IHNpemUgY2FsY3VsYXRpb24gaW4gcmVuZGVyX2xpc3QKCSAgRml4IHVuaW5pdGlhbGl6ZWQgJ3NpemUnIHZhcmlhYmxlIGluIGNhbGwgdG8gZ3N0X2J1ZmZlcl9saXN0X2ZvcmVhY2goKS4KCjIwMTItMDQtMzAgMjE6NTg6MDAgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNyYy5jOgoJICBtdWx0aWZpbGU6IHVubmVjZXNzYXJ5IHNpemUgY2hlY2sKCjIwMTItMDQtMzAgMjE6MzA6NTYgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aTogZml4IGJ1aWxkIGVycm9ycwoJICBmaXggcmVkdW5kYW50IGRlY2xhcmF0aW9ucwoJICBhbmQgYWxzbyBzdHlsZS9pbmRlbnQgaXNzdWVzCgoyMDEyLTA0LTI2IDEyOjQ3OjI3ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5oOgoJICBtYXRyb3NrYTogaW1wbGVtZW50IGZvcndhcmQgc25hcHBpbmcga2V5ZnJhbWUgc2Vla2luZwoJICBSZXF1aXJlcyBhbiBpbmRleC4KCjIwMTItMDQtMjYgMTI6NDY6MTEgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmk6IGltcGxlbWVudCBmb3J3YXJkIHNuYXBwaW5nIGtleWZyYW1lIHNlZWtpbmcKCSAgSW4gcHVsbCBtb2RlIHdpdGggYW4gaW5kZXguCgoyMDEyLTA0LTI4IDIzOjE0OjI0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21hdHJvc2thbXV4LmM6CgkgIHRlc3RzOiBmaXggbWF0cm9za2FtdXggdW5pdCB0ZXN0IGFmdGVyIG1lZGlhIHR5cGUgY2hhbmdlcwoKMjAxMi0wNC0yOCAxOTo1Nzo1MSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSogZ3N0L21hdHJvc2thL3dlYm0tbXV4LmM6CgkgIG1hdHJvc2thOiB1cGRhdGUgZm9yIG1lZGlhIHR5cGUgY2hhbmdlcwoKMjAxMi0wNC0yNCAxNjowODo0NyArMDIwMCAgaWRjLWRyYWdvbiA8aWRjLWRyYWdvbiBhdCBnbXguZGU+CgoJKiBnc3QvcnRwL2dzdHJ0cGNlbHRkZXBheS5jOgoJICBjZWx0ZGVwYXk6IGNhbGN1bGF0ZSBzaXplIGNvcnJlY3RseQoJICBUaGUgc3VtbWF0aW9uIHdhcyBkb25lIHdyb25nLCBjYXVzaW5nIHRoZSBkZS1wYXlsb2FkZXIgdG8gZXhpdCBpdHMgbG9vcCB0b28KCSAgZWFybHksIGJlZm9yZSBhbGwgZnJhbWVzIGFyZSBwcm9jZXNzZWQuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzQ0NzIKCjIwMTItMDQtMjQgMTU6NTc6MTkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogaW1wcm92ZSBkZWJ1ZwoKMjAxMi0wNC0yNCAxNTozNDo1NyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBzdGFydCB1bm11dGVkIHdoZW4gcmVxdWVzdGVkCgkgIFdoZW4gd2UgZXhwbGljaXRlbHkgc2V0IHRoZSBtdXRlIHByb3BlcnR5IHRvIEZBTFNFLCBjb25uZWN0IHRvIHB1bHNlYXVkaW8gd2l0aAoJICB0aGUgUEFfU1RSRUFNX1NUQVJUX1VOTVVURUQgZmxhZyBzZXQsIG90aGVyd2lzZSBwdWxzZWF1ZGlvIHdpbGwgdXNlIGl0cwoJICBwcmV2aW91c2x5IHVzZWQgdmFsdWUgKHdoaWNoIG1pZ2h0IHN0YXJ0IHRoZSBzdHJlYW0gbXV0ZWQpLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjcyNDAxCgoyMDEyLTA0LTI1IDA5OjQxOjQ2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICB2NGwyOiBpbXByb3ZlIHRpbWVzdGFtcCBjb2RlCgkgIFNhbXBsZSB0aGUgcGlwZWxpbmUgY2xvY2sgYW5kIGRldmljZSBjbG9jayBjbG9zZXIgdG8gZWFjaG90aGVyIHRvIHJlZHVjZSBqaXR0ZXIuCgkgIERvbid0IHN1YnRyYWN0IHRoZSBmcmFtZSBkdXJhdGlvbiBmcm9tIHRoZSB0aW1lc3RhbXAgd2hlbiB3ZSBjYW4gdXNlIHRoZSBkZXZpY2UKCSAgdGltZXN0YW1wcy4KCSAgQXNzdW1lIGEgZGVsYXkgb2YgMSBmcmFtZSBpbiByZWFkLXdyaXRlIG1vZGUuCgoyMDEyLTA0LTI0IDEyOjM3OjMzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICB2NGwyOiB1c2UgZHJpdmVyIHRpbWVzdGFtcHMKCSAgVXNlIHRoZSBkcml2ZSB0aW1lc3RhbXBzIGZvciB0aW1lc3RhbXBpbmcgb3V0Z29pbmcgYnVmZmVycy4KCjIwMTItMDQtMjMgMTg6MDE6MzEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIHY0bDI6IEltcHJvdmUgYnVmZmVyIG1hbmFnZW1lbnQKCSAgUXVlcnkgdGhlIGFtb3VudCBvZiBhdmFpbGFibGUgYnVmZmVycyB3aGVuIGRvaW5nIHNldF9jb25maWcoKS4gVGhpcyBhbGxvd3MgdXMgdG8KCSAgY29uZmlndXJlIHRoZSBwYXJlbnQgYnVmZmVycG9vbCB3aXRoIHRoZSBudW1iZXIgb2YgYnVmZmVycyB0byBwcmVhbGxvY2F0ZS4KCSAgS2VlcCB0cmFjayBvZiB0aGUgcHJvdmlkZWQgYWxsb2NhdG9yIGFuZCB1c2UgaXQgd2hlbiB3ZSBuZWVkIHRvIGFsbG9jYXRlIGEKCSAgYnVmZmVyIGluIFJXIG1vZGUuCgkgIFdoZW4gd2UgYXJlIGNhbiBub3QgYWxsb2NhdGUgdGhlIHJlcXVlc3RlZCBtYXhfYnVmZmVycyBhbW91bnQgb2YgYnVmZmVycywgbWFrZQoJICBzdXJlIHdlIGtlZXAgMiBidWZmZXJzIGFyb3VuZCBpbiB0aGUgcG9vbCBhbmQgY29weSB0aGVtIGludG8gYW4gb3V0cHV0IGJ1ZmZlci4KCSAgVGhpcyBtYWtlcyBzdXJlIHRoYXQgd2UgYWx3YXlzIGhhdmUgYSBidWZmZXIgdG8gY2FwdHVyZSBpbnRvLiBXZSBhbHNvIG5lZWQgdG8KCSAgZGV0ZWN0IHRob3NlIGNvcGllZCBidWZmZXJzIGFuZCB1bnJlZiB0aGVtIHdoZW4gdGhleSByZXR1cm4gdG8gdGhlIHBvb2wuCgoyMDEyLTA0LTIzIDE2OjUxOjI4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMjogZnJlZSB0aGUgcXVldWVkIGJ1ZmZlcnMKCSAgT25seSBmcmVlIHRoZSBxdWV1ZWQgYnVmZmVycyB0aGF0IHdlIGtlZXAgdHJhY2sgb2YgaW4gb3VyIGJ1ZmZlciBhcnJheS4gZm9yIHJ3CgkgIGlvLW1vZGUsIHdlIGRvIGFsbG9jYXRlIGJ1ZmZlcnMgYnV0IHdlIGRvbid0IGtlZXAgdHJhY2sgb2YgdGhlbSBpbiB0aGUgYnVmZmVyCgkgIGFycmF5LgoKMjAxMi0wNC0yMyAxNjoxMDoxNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDI6IG1hcmsgbWVtb3J5IGFzIG5vLXNoYXJlCgkgIFdlIGRvbid0IHN1cHBvcnQgc2hhcmluZyBvdXIgbW1hcHBlZCBtZW1vcnkgc28gbWFyayBpdCBhcyBOT19TSEFSRS4KCjIwMTItMDQtMjMgMTY6MDk6NTUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkgIHY0bDI6IHJlbW92ZSBvbGQgdW51c2VkIGZpbGUKCjIwMTItMDQtMjMgMTM6MzI6NDggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkgIHY0bDI6IHJlbW92ZSB1bnVzZWQgZnVuY3Rpb24KCjIwMTItMDQtMTEgMTI6NDI6MTcgKzAxMDAgIEJhc3RpZW4gTm9jZXJhIDxoYWRlc3NAaGFkZXNzLm5ldD4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXA6IEhhbmRsZSBpY3kgYW5kIGljeXggVVJJIHNjaGVtZXMKCSAgQXMgaGFuZGxlZCBieSBRdWlja1RpbWUgKGZvciBpY3kpLCBhbmQgT3JiYW4vQ29kaW5nIFRlY2hub2xvZ2llcwoJICBBQUMvYWFjUGx1cyBQbGF5ZXIgKGZvciBpY3l4KS4gU2VlIGFsc286CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD0zOTQyMDcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTQwMzI4NQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjczODk5CgoyMDEyLTA0LTIzIDEwOjAzOjE5ICswMzAwICBNYXJ0IFJhdWRzZXBwIDxtYXJ0LnJhdWRzZXBwQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIGRvY3M6IEFkZCBTaW5jZSB0YWcgZm9yIG5ldyBHc3RWNGwyU3JjOjpwcmVwYXJlLWZvcm1hdCBzaWduYWwKCjIwMTItMDQtMjMgMTA6MDc6MTIgKzAyMDAgIENocmlzIFBhbmtvdyA8a2FpbjIzOTZAZ21haWwuY29tPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9meGJhc2VmaXJmaWx0ZXIuYzoKCSAgYXVkaW9meGJhc2VmaXJmaWx0ZXI6IEZpeCB0aW1lLWRvbWFpbiBjb252b2x1dGlvbiBmb3IgbXVsdGljaGFubmVsIGlucHV0CgkgIEZpeGVzIGJ1ZyAjNjc0MDI1LgoKMjAxMi0wNC0yMSAxMTowODo1MSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBwby9QT1RGSUxFUy5pbjoKCSAgcG86IHJlbW92ZSBzb21lIG1vcmUgbm9uLWV4aXN0ZW50IGZpbGVzIGZyb20gdGhlIGxpc3QKCjIwMTItMDQtMjEgMTA6MDU6NDUgKzA0MDAgINCg0YPRgdC70LDQvSDQmNC20LHRg9C70LDRgtC+0LIgPGxybjE5ODZAZ21haWwuY29tPgoKCSogcG8vUE9URklMRVMuaW46CgkgIHBvOiBSZW1vdmUgbm9uLWV4aXN0ZW50IHBvdGZpbGVzIGZyb20gdGhlIGxpc3QKCSAgRml4ZXMgIzY3NDUxOAoKMjAxMi0wNC0yMCAxODoxMzoxNSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9pY2xlcy90ZXN0LW9zczQuYzoKCSAgdGVzdHM6IG9zczQ6IGxpbWl0IHRlc3Qgc2NvcGUKCjIwMTItMDQtMjAgMTg6MTM6MDEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogc3lzL29zczQvTWFrZWZpbGUuYW06CgkqIHN5cy9vc3M0L29zczQtYXVkaW8uYzoKCSogc3lzL29zczQvb3NzNC1hdWRpby5oOgoJKiBzeXMvb3NzNC9vc3M0LW1peGVyLWVudW0uYzoKCSogc3lzL29zczQvb3NzNC1taXhlci1lbnVtLmg6CgkqIHN5cy9vc3M0L29zczQtbWl4ZXItc2xpZGVyLmM6CgkqIHN5cy9vc3M0L29zczQtbWl4ZXItc2xpZGVyLmg6CgkqIHN5cy9vc3M0L29zczQtbWl4ZXItc3dpdGNoLmM6CgkqIHN5cy9vc3M0L29zczQtbWl4ZXItc3dpdGNoLmg6CgkqIHN5cy9vc3M0L29zczQtbWl4ZXIuYzoKCSogc3lzL29zczQvb3NzNC1taXhlci5oOgoJKiBzeXMvb3NzNC9vc3M0LXByb3BlcnR5LXByb2JlLmM6CgkqIHN5cy9vc3M0L29zczQtcHJvcGVydHktcHJvYmUuaDoKCSogc3lzL29zczQvb3NzNC1zaW5rLmM6CgkqIHN5cy9vc3M0L29zczQtc2luay5oOgoJKiBzeXMvb3NzNC9vc3M0LXNvdXJjZS5jOgoJKiBzeXMvb3NzNC9vc3M0LXNvdXJjZS5oOgoJICBvc3M0OiBwb3J0IHRvIDAuMTEKCjIwMTItMDQtMjAgMTg6MTI6NTQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogc3lzL29zcy9NYWtlZmlsZS5hbToKCSogc3lzL29zcy9nc3Rvc3NhdWRpby5jOgoJKiBzeXMvb3NzL2dzdG9zc2hlbHBlci5jOgoJKiBzeXMvb3NzL2dzdG9zc2hlbHBlci5oOgoJKiBzeXMvb3NzL2dzdG9zc21peGVyLmM6CgkqIHN5cy9vc3MvZ3N0b3NzbWl4ZXIuaDoKCSogc3lzL29zcy9nc3Rvc3NtaXhlcmVsZW1lbnQuYzoKCSogc3lzL29zcy9nc3Rvc3NtaXhlcmVsZW1lbnQuaDoKCSogc3lzL29zcy9nc3Rvc3NtaXhlcnRyYWNrLmM6CgkqIHN5cy9vc3MvZ3N0b3NzbWl4ZXJ0cmFjay5oOgoJKiBzeXMvb3NzL2dzdG9zc3NpbmsuYzoKCSogc3lzL29zcy9nc3Rvc3NzcmMuYzoKCSogc3lzL29zcy9nc3Rvc3NzcmMuaDoKCSAgb3NzOiBwb3J0IHRvIDAuMTEKCjIwMTItMDQtMjAgMTY6NDk6NTYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4LmM6CgkgIG11bHRpcGFydGRlbXV4OiBmaXJzdCBhY3RpdmF0ZSBwYWQgdGhlbiBzZXQgY2FwcwoKMjAxMi0wNC0yMCAxMzozNToxNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IHNldCBjYXBzIG9uIHNyY3BhZAoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc0MjE5CgoyMDEyLTA0LTE5IDE0OjE2OjAxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMjogdXBkYXRlIGZvciB2aWRlbyBhcGkgY2hhbmdlCgoyMDEyLTA0LTE5IDEyOjM4OjU4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyOiBmaXggY29tcGlsYXRpb24gb24gb2xkZXIgdjRsMgoJICBGaXggY29tcGlsYXRpb24gb24gc3lzdGVtcyB3aGVyZSB0aGUgSDI2NCBmb3JtYXQgaXMgbm90IGRlZmluZWQuCgoyMDEyLTA0LTE5IDEyOjIwOjU5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kdi9nc3RkdmRlYy5jOgoJKiBleHQvcmF3MTM5NC9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cC9nc3RydHB2cmF3cGF5LmM6CgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdmlkZW86IFVwZGF0ZSBmb3IgbGliZ3N0dmlkZW8gQVBJIGNoYW5nZXMKCjIwMTItMDQtMTkgMDg6Mjc6MDEgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSAgdjRsMnNyYzogQWxsb3cgbXBlZy10cyBjYW1lcmFzIHRvIG5lZ29jaWF0ZSBmb3JtYXQKCSAgVGhpcyByZW1vdmVzIGFuIHVnbHkgaGFjayB1bnRpbCB0aGUgcmVhc29uIGZvciB0aGUgaGFjayBjYW4gYmUgZG9jdW1lbnRlZAoKMjAxMi0wNC0xOSAwOTo1MDoyNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJzcmM6IEZpeCBtZXJnZQoKMjAxMi0wNC0xOSAwOTo0MDo1MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSAgdjRsMnNyYzogUmVuYW1lIHByZS1zZXQtZm9ybWF0IHNpZ25hbCB0byBwcmVwYXJlLWZvcm1hdAoKMjAxMi0wNC0xNiAyMjowODoyMSArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMnNyYzogQWRkIEgyNjQgZW5jb2RlZCBzdHJlYW0gc3VwcG9ydCB0byB0aGUgY2FwcwoJICBUaGlzIGlzIG5vdCBlbm91Z2ggdG8gcHJvcGVybHkgc3VwcG9ydCBIMjY0IGNhbWVyYXMsIGJ1dCBpdCB3aWxsCgkgIGFsbG93IGFuIEgyNjQgc3RyZWFtIHRvIGJlIGdlbmVyYXRlZCBieSB2NGwyc3JjIHVzaW5nIHRoZSBkZWZhdWx0CgkgIHNldHRpbmdzIG9mIHRoZSBjYW1lcmEuIElmIHVzZWQgd2l0aCB0aGUgcHJlLXNldC1mb3JtYXQgc2lnbmFsLCB0aGUKCSAgSDI2NCBlbmNvZGVyIGNhbiBiZSBmdWxseSBjb25maWd1cmVkLgoJICBDb25mbGljdHM6CgkgIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYwoKMjAxMi0wNC0xNiAyMjowNjoyMSArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyLy5naXRpZ25vcmU6CgkqIHN5cy92NGwyL2dzdHY0bDItbWFyc2hhbC5saXN0OgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSAgdjRsMnNyYzogQWRkaW5nIGEgcHJlLXNldC1mb3JtYXQgc2lnbmFsCgkgIEluIG9yZGVyIHRvIHN1cHBvcnQgVVZDIEgyNjQgZW5jb2RpbmcgY2FtZXJhcywgYW4gSDI2NCBQcm9iZSZDb21taXQKCSAgbXVzdCBoYXBwZW4gYmVmb3JlIHRoZSBub3JtYWwgdjRsMiBzZXQtZm9ybWF0LiBUaGlzIG5ldyBzaWduYWwgaXMKCSAgbWVhbnQgdG8gYWxsb3cgYW4gZXh0ZXJuYWwgYXBwbGljYXRpb24gb3IgYmluIHRvIGRvIGl0LgoJICBJdCBhbHNvIHNlcnZlcyB0byBleHBvc2UgdGhlIGZpbGUgZGVzY3JpcHRvciB1c2VkIGJ5IHY0bDJzcmMgaW4gY2FzZQoJICBzb21lIGN1c3RvbSBpb2N0bHMgbmVlZCB0byBiZSBjYWxsZWQuCgkgIENvbmZsaWN0czoKCSAgc3lzL3Y0bDIvTWFrZWZpbGUuYW0KCSAgc3lzL3Y0bDIvZ3N0djRsMnNyYy5jCgkgIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYwoKMjAxMi0wNC0xOCAxNzowOTo0NSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9yYXcxMzk0L2dzdDEzOTRwcm9iZS5jOgoJKiBleHQvcmF3MTM5NC9nc3QxMzk0cHJvYmUuaDoKCSogZXh0L3JhdzEzOTQvZ3N0ZHYxMzk0c3JjLmM6CgkqIGV4dC9yYXcxMzk0L2dzdGhkdjEzOTRzcmMuYzoKCSAgZHYxMzk0OiBwb3J0IHRvIDAuMTEKCjIwMTItMDQtMTcgMTU6MTQ6MjcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NhaXJvL2dzdHRleHRvdmVybGF5LmM6CgkqIGV4dC9jYWlyby9nc3R0ZXh0b3ZlcmxheS5oOgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aW11eC5oOgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdm11eC5oOgoJKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6CgkqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuaDoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4Lmg6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5oOgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydG11eC5jOgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydG11eC5oOgoJKiBnc3Qvc21wdGUvZ3N0c21wdGUuYzoKCSogZ3N0L3NtcHRlL2dzdHNtcHRlLmg6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmg6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIycGFkLmg6CgkgIGNvbGxlY3RwYWRzMjogcmVuYW1lIHRvIGNvbGxlY3RwYWRzCgoyMDEyLTA0LTE2IDE2OjM3OjQ5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkqIGdzdC9zbXB0ZS9nc3RzbXB0ZS5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICBtaXNjOiBjaGFpbiB1cCB0byBjb2xsZWN0cGFkcyBldmVudCBoYW5kbGVyCgoyMDEyLTA0LTE2IDA5OjA5OjExICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNmRiMjViZSB0byBkYzcwMjAzCgoyMDEyLTA0LTE1IDIyOjQ5OjQ3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zaG91dDIvZ3N0c2hvdXQyLmM6CgkgIHNob3V0MjogdXBkYXRlIGZvciBvZ2cgbWVkaWEgdHlwZSBjaGFuZ2VzCgoyMDEyLTA0LTEzIDE2OjU0OjUzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zbXB0ZS9nc3RzbXB0ZS5jOgoJKiBnc3Qvc21wdGUvZ3N0c21wdGUuaDoKCSAgc21wdGU6IHVzZSBzb21lIG1vcmUgYm9pbGVycGxhdGUKCjIwMTItMDQtMTMgMTY6NTQ6NTAgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ZseC9nc3RmbHhkZWMuYzoKCSAgZmx4ZGVjOiBpbXByb3ZlIHNlZ21lbnQgaGFuZGxpbmcKCSAgLi4uIHRvIHNlbmQgYSBwcm9wZXIgVElNRSBzZWdtZW50IGRvd25zdHJlYW0uCgoyMDEyLTA0LTEzIDE2OjU0OjQ2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2ZseC9nc3RmbHhkZWMuYzoKCSogZ3N0L2ZseC9nc3RmbHhkZWMuaDoKCSAgZmx4ZGVjOiBwb3J0IHRvIDAuMTEKCjIwMTItMDQtMTMgMTY6NTQ6NDIgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6CgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5oOgoJICB2aWRlb2JveDogYWRqdXN0IHRvIGRlcHJlY2F0ZWQgR011dGV4IHNldHVwCgoyMDEyLTA0LTEzIDE2OjU0OjM4ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6CgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5oOgoJICB2aWRlb2JveDogcG9ydCB0byAwLjExCgoyMDEyLTA0LTEzIDE2OjU0OjMxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGFjb2xvci5jOgoJKiBnc3Qvc21wdGUvZ3N0c21wdGVhbHBoYS5jOgoJICBhbHBoYSwgc21wdGU6IGFkanVzdCB0byByZW1vdmVkIGNvbG9yLW1hdHJpeCBjYXBzIGZpZWxkCgoyMDEyLTA0LTEzIDE2OjI3OjM0ICswMjAwICBWw61jdG9yIE1hbnVlbCBKw6FxdWV6IExlYWwgPHZqYXF1ZXpAaWdhbGlhLmNvbT4KCgkqIHN5cy92NGwyL01ha2VmaWxlLmFtOgoJICB2NGwyOiBlbnN1cmUgYXV0b2dlbmVyYXRlZCBmaWxlcyBhcmUgY3JlYXRlZAoJICBUaGUgdHVuZXIgbWFyc2hhbCBhbmQgZW51bXR5cGVzIGFyZSBhdXRvZ2VuZXJhdGVkLCBhbmQgdGhleSBuZWVkCgkgIHRvIGJlIGNyZWF0ZWQgYmVmb3JlIHRoZSBjb21waWxhdGlvbiBvZiBnc3R2NGwydHVuZXIuYwoJICBUaGlzIHBhdGNoIGFkZHMgdGhlIGF1dG9tYWtlIGluc3RydWN0aW9uIGZvciBlbnN1cmluZyB0aGUKCSAgYXV0b2dlbmVyYXRpb24gb2YgdGhvc2UgZmlsZXMgcHJldmlvdXMgdGhlIGNvbXBpbGF0aW9uLgoKMjAxMi0wNC0xMyAxMzo0MTo0NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBhdXRvZ2VuLnNoOgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogTW9kZXJuaXplIGF1dG90b29scyBzZXR1cCBhIGJpdAoJICBBbHNvIHdlIG5vdyBvbmx5IGNyZWF0ZSB0YXIuYnoyIGFuZCB0YXIueHogdGFyYmFsbHMuCgoyMDEyLTA0LTEzIDEzOjM3OjEwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNDY0ZmUxNSB0byA2ZGIyNWJlCgoyMDEyLTA0LTEzIDEzOjA0OjEyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZXh0L3B1bHNlL01ha2VmaWxlLmFtOgoJKiBleHQvcHVsc2UvcGx1Z2luLmM6CgkqIGV4dC9wdWxzZS9wdWxzZW1peGVyLmM6CgkqIGV4dC9wdWxzZS9wdWxzZW1peGVyLmg6CgkqIGV4dC9wdWxzZS9wdWxzZW1peGVyY3RybC5jOgoJKiBleHQvcHVsc2UvcHVsc2VtaXhlcmN0cmwuaDoKCSogZXh0L3B1bHNlL3B1bHNlbWl4ZXJ0cmFjay5jOgoJKiBleHQvcHVsc2UvcHVsc2VtaXhlcnRyYWNrLmg6CgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5oOgoJKiBnc3QvcnRzcC9NYWtlZmlsZS5hbToKCSogc3lzL3Y0bDIvTWFrZWZpbGUuYW06CgkqIHN5cy92NGwyL2dzdHY0bDJ0dW5lci5oOgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9vdmVybGF5LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb292ZXJsYXkuaDoKCSogc3lzL3Y0bDIvdHVuZXItbWFyc2hhbC5saXN0OgoJKiBzeXMvdjRsMi90dW5lci5jOgoJKiBzeXMvdjRsMi90dW5lci5oOgoJKiBzeXMvdjRsMi90dW5lcmNoYW5uZWwuYzoKCSogc3lzL3Y0bDIvdHVuZXJjaGFubmVsLmg6CgkqIHN5cy92NGwyL3R1bmVybm9ybS5jOgoJKiBzeXMvdjRsMi90dW5lcm5vcm0uaDoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL3B1bHNlL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9pY2xlcy9NYWtlZmlsZS5hbToKCSogdGVzdHMvaWNsZXMvdjRsMnNyYy10ZXN0LmM6CgkgIFVwZGF0ZSBldmVyeXRoaW5nIGZvciB0aGUgcmVtb3ZhbCBvZiB0aGUgaW50ZXJmYWNlIGxpYnJhcnkgYW5kIG1peGVyL3R1bmVyIGludGVyZmFjZXMKCjIwMTItMDQtMTIgMTU6NTA6MTYgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBtcGFyb2J1c3RkZXBheS5jOgoJICBydHA6IFVzZSB1bmNoZWNrZWQgdmFyaWFudCBvZiBHc3RCeXRlV3JpdGVyIHdoZXJlIGFwcGxpY2FibGUKCSAgVGhlIHNpemUgd2FzIGNoZWNrZWQgYmVmb3JlCgoyMDEyLTA0LTEyIDE1OjQ5OjQ0ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9lYm1sLXJlYWQuYzoKCSogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thOiBDaGVjayByZXR1cm4gdmFsdWUgb2YgR3N0Qnl0ZVJlYWRlci9Xcml0ZXIKCjIwMTItMDQtMTIgMTU6NDg6NTcgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9hdG9tcy5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4X2R1bXAuYzoKCSAgaXNvbXA0OiBDaGVjayByZXR1cm4gdmFsdWUgb2YgR3N0Qnl0ZVdyaXRlcgoJICBBbmQgdXNlIHVuY2hlY2tlZCB2YXJpYW50IG9mIEdzdEJ5dGVSZWFkZXIgd2hlcmUgYXBwbGljYWJsZQoKMjAxMi0wNC0xMiAxNTo0ODowMCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdmRlbXV4OiBVc2UgdW5jaGVja2VkIHZhcmlhbnQgb2YgR3N0Qnl0ZVJlYWRlcgoJICBXZSBrbm93IHRoZXJlJ3MgYXQgbGVhc3QgNyBieXRlcyAoY2hlY2tlZCBhYm92ZSkKCjIwMTItMDQtMTIgMTU6NDc6NDkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSAgYXZpOiBDaGVjayByZXR1cm4gdmFsdWUgb2YgR3N0Qnl0ZVdyaXRlcgoKMjAxMi0wNC0xMiAxNTo0NzoyNCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0d2F2cGFja3BhcnNlLmM6CgkgIGF1ZGlvcGFyc2VyczogQ2hlY2sgcmV0dXJuIHZhbHVlIG9mIEdzdEJpdFJlYWRlci9Hc3RCeXRlUmVhZGVyCgoyMDEyLTA0LTEyIDExOjU3OjU5ICswMTAwICB1cmFldXMgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBnc3QtcGx1Z2lucy1nb29kLnNwZWMuaW46CgkgIEFkZCBpbnRlcmxlYXZlIHBsdWdpbiB0byBzcGVjIGZpbGUKCjIwMTItMDQtMTIgMTE6MTk6MDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBCYWNrIHRvIGRldmVsb3BtZW50Cgo9PT0gcmVsZWFzZSAwLjExLjkwID09PQoKMjAxMi0wNC0xMiAxMDoyNzozMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pc29tcDQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS1kaXN0LmM6CgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveG9yYy1kaXN0LmM6CgkqIGdzdC92aWRlb21peGVyL2JsZW5kb3JjLWRpc3QuYzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDAuMTEuOTAKCjIwMTItMDQtMTIgMTA6MjY6NTIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZW8ucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMTItMDQtMTEgMDA6MTk6MzAgKzA0MDAgINCg0YPRgdC70LDQvSDQmNC20LHRg9C70LDRgtC+0LIgPGxybjE5ODZAZ21haWwuY29tPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJICBGaXggZm9ybWF0IHN0cmluZwoJICBGaXhlcyAjNjczODU5CgoyMDEyLTA0LTExIDAwOjE5OjE2ICswNDAwICDQoNGD0YHQu9Cw0L0g0JjQttCx0YPQu9Cw0YLQvtCyIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIHN5cy93YXZlZm9ybS9nc3R3YXZlZm9ybXNpbmsuYzoKCSAgUmVtb3ZlIHVudXNlZCB2YXJpYWJsZQoJICBGaXhlcyAjNjczODU5CgoyMDEyLTA0LTEwIDExOjU3OjUzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIHJlbW90ZS10cmFja2luZyBicmFuY2ggJ29yaWdpbi8wLjEwJwoJICBDb25mbGljdHM6CgkgIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYwoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYwoKMjAxMi0wNC0xMCAxMTozNzo0OCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogc29tZSBtb3JlIHNlZ21lbnQgaGFuZGxpbmcgdHdlYWtpbmcKCjIwMTItMDQtMTAgMDA6NTE6NDEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2FhbGliL2dzdGFhc2luay5jOgoJKiBleHQvYW5ub2RleC9nc3RjbW1sZGVjLmM6CgkqIGV4dC9hbm5vZGV4L2dzdGNtbWxlbmMuYzoKCSogZXh0L2NhaXJvL2dzdGNhaXJvb3ZlcmxheS5jOgoJKiBleHQvY2Fpcm8vZ3N0Y2Fpcm9yZW5kZXIuYzoKCSogZXh0L2NhaXJvL2dzdHRleHRvdmVybGF5LmM6CgkqIGV4dC9jYWlyby9nc3R0aW1lb3ZlcmxheS5jOgoJKiBleHQvZHYvZ3N0ZHZkZWMuYzoKCSogZXh0L2R2L2dzdGR2ZGVtdXguYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkqIGV4dC9mbGFjL2dzdGZsYWN0YWcuYzoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmLmM6CgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zm92ZXJsYXkuYzoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmc2luay5jOgoJKiBleHQvZ2RrX3BpeGJ1Zi9waXhidWZzY2FsZS5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSogZXh0L2pwZWcvZ3N0c21va2VkZWMuYzoKCSogZXh0L2pwZWcvZ3N0c21va2VlbmMuYzoKCSogZXh0L2xpYmNhY2EvZ3N0Y2FjYXNpbmsuYzoKCSogZXh0L2xpYm1uZy9nc3RtbmdkZWMuYzoKCSogZXh0L2xpYm1uZy9nc3RtbmdlbmMuYzoKCSogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzoKCSogZXh0L2xpYnBuZy9nc3RwbmdlbmMuYzoKCSogZXh0L21pa21vZC9nc3RtaWttb2QuYzoKCSogZXh0L3B1bHNlL3B1bHNlbWl4ZXIuYzoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSogZXh0L3JhdzEzOTQvZ3N0ZHYxMzk0c3JjLmM6CgkqIGV4dC9yYXcxMzk0L2dzdGhkdjEzOTRzcmMuYzoKCSogZXh0L3Nob3V0Mi9nc3RzaG91dDIuYzoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBjbGllbnRzaW5rLmM6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzoKCSogZXh0L3RhZ2xpYi9nc3RhcGV2Mm11eC5jYzoKCSogZXh0L3RhZ2xpYi9nc3RpZDN2Mm11eC5jYzoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6CgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGFjb2xvci5jOgoJKiBnc3QvYXBldGFnL2dzdGFwZWRlbXV4LmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvYW1wbGlmeS5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJiYW5kLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYmxpbWl0LmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZHluYW1pYy5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2VjaG8uYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9maXJmaWx0ZXIuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9paXJmaWx0ZXIuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9pbnZlcnQuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9rYXJhb2tlLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvcGFub3JhbWEuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW93c2luY2JhbmQuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW93c2luY2xpbWl0LmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFtcnBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZGNhcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdHdhdnBhY2twYXJzZS5jOgoJKiBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NpbmsuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc3JjLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NpbmsuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc3JjLmM6CgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSogZ3N0L2F2aS9nc3RhdmlzdWJ0aXRsZS5jOgoJKiBnc3QvY3V0dGVyL2dzdGN1dHRlci5jOgoJKiBnc3QvZGVidWd1dGlscy9icmVha215ZGF0YS5jOgoJKiBnc3QvZGVidWd1dGlscy9jcHVyZXBvcnQuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y2Fwc2RlYnVnLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNhcHNzZXR0ZXIuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0bmF2aWdhdGlvbnRlc3QuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0bmF2c2Vlay5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RwdXNoZmlsZXNyYy5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3R0YWdpbmplY3QuYzoKCSogZ3N0L2RlYnVndXRpbHMvcHJvZ3Jlc3NyZXBvcnQuYzoKCSogZ3N0L2RlYnVndXRpbHMvcm5kYnVmZmVyc2l6ZS5jOgoJKiBnc3QvZGVidWd1dGlscy90ZXN0cGx1Z2luLmM6CgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJKiBnc3QvZWZmZWN0di9nc3RhZ2luZy5jOgoJKiBnc3QvZWZmZWN0di9nc3RkaWNlLmM6CgkqIGdzdC9lZmZlY3R2L2dzdGVkZ2UuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0b3AuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0cXVhcmsuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0cmFkaW9hYy5jOgoJKiBnc3QvZWZmZWN0di9nc3RyZXYuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0cmlwcGxlLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHNoYWdhZGVsaWMuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0c3RyZWFrLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHZlcnRpZ28uYzoKCSogZ3N0L2VmZmVjdHYvZ3N0d2FycC5jOgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcjEwYmFuZHMuYzoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIzYmFuZHMuYzoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXJuYmFuZHMuYzoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJKiBnc3QvZmx4L2dzdGZseGRlYy5jOgoJKiBnc3QvZ29vbS9nc3Rnb29tLmM6CgkqIGdzdC9nb29tMmsxL2dzdGdvb20uYzoKCSogZ3N0L2ljeWRlbXV4L2dzdGljeWRlbXV4LmM6CgkqIGdzdC9pZDNkZW11eC9nc3RpZDNkZW11eC5jOgoJKiBnc3QvaW1hZ2VmcmVlemUvZ3N0aW1hZ2VmcmVlemUuYzoKCSogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmM6CgkqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzoKCSogZ3N0L2lzb21wNC9nc3RxdG1vb3ZyZWNvdmVyLmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSogZ3N0L2lzb21wNC9nc3RydHB4cXRkZXBheS5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L2xhdy9hbGF3LWRlY29kZS5jOgoJKiBnc3QvbGF3L2FsYXctZW5jb2RlLmM6CgkqIGdzdC9sYXcvbXVsYXctZGVjb2RlLmM6CgkqIGdzdC9sYXcvbXVsYXctZW5jb2RlLmM6CgkqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSogZ3N0L21hdHJvc2thL3dlYm0tbXV4LmM6CgkqIGdzdC9tZWRpYW4vZ3N0bWVkaWFuLmM6CgkqIGdzdC9tb25vc2NvcGUvZ3N0bW9ub3Njb3BlLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNyYy5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0ZmlsZXNyYy5jOgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4LmM6CgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0bXV4LmM6CgkqIGdzdC9yZXBsYXlnYWluL2dzdHJnYW5hbHlzaXMuYzoKCSogZ3N0L3JlcGxheWdhaW4vZ3N0cmdsaW1pdGVyLmM6CgkqIGdzdC9yZXBsYXlnYWluL2dzdHJndm9sdW1lLmM6CgkqIGdzdC9ydHAvZ3N0YXN0ZXJpc2toMjYzLmM6CgkqIGdzdC9ydHAvZ3N0cnRwTDE2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBMMTZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhYzNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFjM3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYW1ycGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYnZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGJ2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwY2VsdGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwY2VsdHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGR2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBkdnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjJkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjJwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzIzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzIzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyNmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyNnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjlkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjlwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc21kZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzdGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3N0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBpbGJjZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBpbGJjcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwajJrZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqMmtwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqcGVnZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqcGVncGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXAxc2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXAydGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXAydHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRnZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRncGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhcm9idXN0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcHZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wdnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbWFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbWFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY211ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY211cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcWNlbHBkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHFkbWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc2lyZW5kZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNpcmVucGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3YzdmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdwYXkuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkqIGdzdC9ydHNwL2dzdHJ0cGRlYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkqIGdzdC9zbXB0ZS9nc3RzbXB0ZS5jOgoJKiBnc3Qvc21wdGUvZ3N0c21wdGVhbHBoYS5jOgoJKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSogZ3N0L3VkcC9nc3RkeW51ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0dWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzoKCSogZ3N0L3ZpZGVvY3JvcC9nc3Rhc3BlY3RyYXRpb2Nyb3AuYzoKCSogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdGdhbW1hLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2JhbGFuY2UuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmxpcC5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW90ZW1wbGF0ZS5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5jOgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJKiBzeXMvb3NzL2dzdG9zc21peGVyZWxlbWVudC5jOgoJKiBzeXMvb3NzL2dzdG9zc3NpbmsuYzoKCSogc3lzL29zcy9nc3Rvc3NzcmMuYzoKCSogc3lzL29zczQvb3NzNC1taXhlci5jOgoJKiBzeXMvb3NzNC9vc3M0LXNpbmsuYzoKCSogc3lzL29zczQvb3NzNC1zb3VyY2UuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zcmMuYzoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlci5jOgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zaW5rLmM6CgkqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NyYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwycmFkaW8uYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvd2F2ZWZvcm0vZ3N0d2F2ZWZvcm1zaW5rLmM6CgkqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6CgkgIFVzZSBuZXcgZ3N0X2VsZW1lbnRfY2xhc3Nfc2V0X3N0YXRpY19tZXRhZGF0YSgpCgoyMDEyLTA0LTA5IDEyOjU1OjM0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9zaW1wbGUtbGF1bmNoLWxpbmVzLmM6CgkgIHRlc3RzOiBkaXNhYmxlIHNpbXBsZSBzbW9rZWVuYy9kZWMgbGF1bmNoIGxpbmVzIHRlc3QKCSAgRGlzYWJsZSB0ZXN0IGZvciBzbW9rZSBlbGVtZW50cywgd2hpY2ggYXJlbid0IHBvcnRlZCB5ZXQKCSAgKGFuZCBtYXliZSBzaG91bGRuJ3QgYmUgcG9ydGVkKS4KCjIwMTItMDQtMDkgMDA6MTQ6NDggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOgoJKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ludGVybGVhdmUuYzoKCSAgaW50ZXJsZWF2ZTogbWFrZSBjaGFubmVsLXBvaXNpdGlvbnMgcHJvcGVydHkgYSBHVmFsdWVBcnJheSBhZ2FpbgoJICBPciBwZXJoYXBzIGl0IHNob3VsZCBqdXN0IGJlIGEgZ3VpbnQ2NCBjaGFubmVsIG1hc2ssIHdoaWNoIHdvdWxkCgkgIGJlIG5pY2VyIGluIEMsIGJ1dCBtb3JlIGF3a3dhcmQgZm9yIGJpbmRpbmdzIChldmVuIG1vcmUgc28gc2luY2UKCSAgd2UgY2FuJ3QgYWRkIGEgZmxhZ3MgdHlwZSBmb3IgaXQsIHNpbmNlIHRoYXQgb25seSBzdXBwb3J0cyBndWludAoJICBzaXplIGZsYWdzKS4gRml4ZXMgd2F2ZW5jIHVuaXQgdGVzdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2OTY0MwoKMjAxMi0wNC0wNiAxNjowMzo0NyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogY2xlYW5seSBpbml0aWFsaXplIGFuZCBzZXQgbmVlZGVkIHNlZ21lbnQKCSAgRml4ZXMgIzY3MzE2NS4KCjIwMTItMDQtMDUgMTc6MTc6MjIgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx2ZGVtdXg6IEZpeCB0aHJlYWRpbmcgaXNzdWUgaW4gaW5kZXggaGFuZGxpbmcKCjIwMTItMDQtMDYgMDk6MTM6MzEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHZkZW11eDogRG9uJ3QgdXNlIHN0YXRpYyB2YXJpYWJsZXMgdG8gaG9sZCBpbmRleCBhc3NvY2lhdGlvbnMKCSAgVGhpcyBub3QgcmVhbGx5IHRocmVhZHNhZmUgaW4gYW55IHdheS4KCjIwMTItMDQtMDUgMTk6MTc6NDggKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZmx2bXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ludGVybGVhdmUuYzoKCSAgdGVzdHM6IG1ha2UgZmV3IHRlc3RzIG1vcmUgdmFsZ3JpbmQtZnJpZW5kbHkKCjIwMTItMDQtMDUgMTk6MTc6NDIgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kZWludGVybGVhdmUuYzoKCSAgKGRlKWludGVybGVhdmU6IGZpeCBwb3J0ZWQgdW5pdCB0ZXN0IGFuZCBlbmFibGUgYXMgcG9ydGVkCgoyMDEyLTA0LTA1IDE5OjE3OjM4ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NtbWxkZWMuYzoKCSAgdGVzdHM6IGNtbWxkZWM6IGFkanVzdCB0byB0YWcgZXZlbnRzIG5vIGxvbmdlciBwb3N0ZWQgb24gYnVzIGJ5IGVsZW1lbnQKCjIwMTItMDQtMDUgMTk6MTc6MjkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgdXBkc3JjOiBjbGVhciBlcnJvcgoKMjAxMi0wNC0wNSAxODo0Mjo1MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDdmZGE1MjQgdG8gNDY0ZmUxNQoKMjAxMi0wNC0wNSAxODowMjo1NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mLmM6CgkgIGdzdDogVXBkYXRlIGZvciBHU1RfUExVR0lOX0RFRklORSgpIEFQSSBjaGFuZ2VzCgoyMDEyLTA0LTA1IDE3OjM2OjM4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hYWxpYi9nc3RhYXNpbmsuYzoKCSogZXh0L2Fubm9kZXgvZ3N0YW5ub2RleC5jOgoJKiBleHQvY2Fpcm8vZ3N0Y2Fpcm8uYzoKCSogZXh0L2R2L2dzdGR2LmM6CgkqIGV4dC9mbGFjL2dzdGZsYWMuYzoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmLmM6CgkqIGV4dC9qYWNrL2dzdGphY2suYzoKCSogZXh0L2pwZWcvZ3N0anBlZy5jOgoJKiBleHQvbGliY2FjYS9nc3RjYWNhc2luay5jOgoJKiBleHQvbGlibW5nL2dzdG1uZy5jOgoJKiBleHQvbGlicG5nL2dzdHBuZy5jOgoJKiBleHQvbWlrbW9kL2dzdG1pa21vZC5jOgoJKiBleHQvcHVsc2UvcGx1Z2luLmM6CgkqIGV4dC9yYXcxMzk0L2dzdDEzOTQuYzoKCSogZXh0L3Nob3V0Mi9nc3RzaG91dDIuYzoKCSogZXh0L3NvdXAvZ3N0c291cC5jOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXguYzoKCSogZXh0L3RhZ2xpYi9nc3R0YWdsaWJwbHVnaW4uYzoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFjay5jOgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzoKCSogZ3N0L2FscGhhL2dzdGFscGhhY29sb3IuYzoKCSogZ3N0L2FwZXRhZy9nc3RhcGVkZW11eC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4LmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvcGx1Z2luLmM6CgkqIGdzdC9hdXBhcnNlL2dzdGF1cGFyc2UuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2RldGVjdC5jOgoJKiBnc3QvYXZpL2dzdGF2aS5jOgoJKiBnc3QvY3V0dGVyL2dzdGN1dHRlci5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RkZWJ1Zy5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RuYXZpZ2F0aW9udGVzdC5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0ZWZmZWN0di5jOgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkqIGdzdC9mbHgvZ3N0Zmx4ZGVjLmM6CgkqIGdzdC9nb29tL2dzdGdvb20uYzoKCSogZ3N0L2dvb20yazEvZ3N0Z29vbS5jOgoJKiBnc3QvaWN5ZGVtdXgvZ3N0aWN5ZGVtdXguYzoKCSogZ3N0L2lkM2RlbXV4L2dzdGlkM2RlbXV4LmM6CgkqIGdzdC9pbWFnZWZyZWV6ZS9nc3RpbWFnZWZyZWV6ZS5jOgoJKiBnc3QvaW50ZXJsZWF2ZS9wbHVnaW4uYzoKCSogZ3N0L2lzb21wNC9pc29tcDQtcGx1Z2luLmM6CgkqIGdzdC9sYXcvYWxhdy5jOgoJKiBnc3QvbGF3L211bGF3LmM6CgkqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EuYzoKCSogZ3N0L21lZGlhbi9nc3RtZWRpYW4uYzoKCSogZ3N0L21vbm9zY29wZS9nc3Rtb25vc2NvcGUuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGUuYzoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnQuYzoKCSogZ3N0L3JlcGxheWdhaW4vcmVwbGF5Z2Fpbi5jOgoJKiBnc3QvcnRwL2dzdHJ0cC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtYW5hZ2VyLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3AuYzoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSogZ3N0L3NtcHRlL3BsdWdpbi5jOgoJKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSogZ3N0L3VkcC9nc3R1ZHAuYzoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6CgkqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb3RlbXBsYXRlLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9wbHVnaW4uYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuYzoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6CgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHBsdWdpbi5jOgoJKiBzeXMvb3NzL2dzdG9zc2F1ZGlvLmM6CgkqIHN5cy9vc3M0L29zczQtYXVkaW8uYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvLmM6CgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvLmM6CgkqIHN5cy92NGwyL2dzdHY0bDIuYzoKCSogc3lzL3dhdmVmb3JtL2dzdHdhdmVmb3JtcGx1Z2luLmM6CgkqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6CgkgIGdzdDogVXBkYXRlIGZvciBHU1RfUExVR0lOX0RFRklORSgpIEFQSSBjaGFuZ2VzCgoyMDEyLTA0LTA1IDEzOjI2OjE5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBVcGRhdGUgdmVyc2lvbiB0byAwLjExLjg5LjEKCjIwMTItMDQtMDQgMjA6MDY6NTggKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcXRtdXguYzoKCSAgdGVzdHM6IHF0bXV4OiBlbnN1cmUgaW5pdGlhbGl6ZWQgdGVzdCBidWZmZXIgbWVtb3J5CgoyMDEyLTA0LTA0IDE0OjQxOjIyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL01ha2VmaWxlLmFtOgoJICBnc3Q6IFVwZGF0ZSB2ZXJzaW9uaW5nCgoyMDEyLTA0LTA0IDE0OjMzOjIzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy92ZXJzaW9uLmVudGl0aWVzLmluOgoJKiBleHQvYWFsaWIvTWFrZWZpbGUuYW06CgkqIGV4dC9jYWlyby9NYWtlZmlsZS5hbToKCSogZXh0L2R2L01ha2VmaWxlLmFtOgoJKiBleHQvZmxhYy9NYWtlZmlsZS5hbToKCSogZXh0L2dka19waXhidWYvTWFrZWZpbGUuYW06CgkqIGV4dC9qYWNrL01ha2VmaWxlLmFtOgoJKiBleHQvanBlZy9NYWtlZmlsZS5hbToKCSogZXh0L2xpYmNhY2EvTWFrZWZpbGUuYW06CgkqIGV4dC9saWJwbmcvTWFrZWZpbGUuYW06CgkqIGV4dC9wdWxzZS9NYWtlZmlsZS5hbToKCSogZXh0L3JhdzEzOTQvTWFrZWZpbGUuYW06CgkqIGV4dC9zb3VwL01ha2VmaWxlLmFtOgoJKiBleHQvc3BlZXgvTWFrZWZpbGUuYW06CgkqIGV4dC90YWdsaWIvTWFrZWZpbGUuYW06CgkqIGV4dC93YXZwYWNrL01ha2VmaWxlLmFtOgoJKiBnc3QtcGx1Z2lucy1nb29kLnNwZWMuaW46CgkqIGdzdC9hbHBoYS9NYWtlZmlsZS5hbToKCSogZ3N0L2FwZXRhZy9NYWtlZmlsZS5hbToKCSogZ3N0L2F1ZGlvZngvTWFrZWZpbGUuYW06CgkqIGdzdC9hdWRpb3BhcnNlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC9hdXBhcnNlL01ha2VmaWxlLmFtOgoJKiBnc3QvYXZpL01ha2VmaWxlLmFtOgoJKiBnc3QvY3V0dGVyL01ha2VmaWxlLmFtOgoJKiBnc3QvZGVidWd1dGlscy9NYWtlZmlsZS5hbToKCSogZ3N0L2RlaW50ZXJsYWNlL01ha2VmaWxlLmFtOgoJKiBnc3QvZWZmZWN0di9NYWtlZmlsZS5hbToKCSogZ3N0L2VxdWFsaXplci9NYWtlZmlsZS5hbToKCSogZ3N0L2Zsdi9NYWtlZmlsZS5hbToKCSogZ3N0L2ljeWRlbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvaWQzZGVtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9pbnRlcmxlYXZlL01ha2VmaWxlLmFtOgoJKiBnc3QvaXNvbXA0L01ha2VmaWxlLmFtOgoJKiBnc3QvbGF3L01ha2VmaWxlLmFtOgoJKiBnc3QvbGV2ZWwvTWFrZWZpbGUuYW06CgkqIGdzdC9tYXRyb3NrYS9NYWtlZmlsZS5hbToKCSogZ3N0L211bHRpZmlsZS9NYWtlZmlsZS5hbToKCSogZ3N0L3JlcGxheWdhaW4vTWFrZWZpbGUuYW06CgkqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHBtYW5hZ2VyL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRzcC9NYWtlZmlsZS5hbToKCSogZ3N0L3NoYXBld2lwZS9NYWtlZmlsZS5hbToKCSogZ3N0L3NtcHRlL01ha2VmaWxlLmFtOgoJKiBnc3Qvc3BlY3RydW0vTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb2JveC9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvY3JvcC9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvZmlsdGVyL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9taXhlci9NYWtlZmlsZS5hbToKCSogZ3N0L3dhdmVuYy9NYWtlZmlsZS5hbToKCSogZ3N0L3dhdnBhcnNlL01ha2VmaWxlLmFtOgoJKiBnc3QveTRtL01ha2VmaWxlLmFtOgoJKiBwa2djb25maWcvTWFrZWZpbGUuYW06CgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItcGx1Z2lucy1nb29kLXVuaW5zdGFsbGVkLnBjLmluOgoJKiBzeXMvZGlyZWN0c291bmQvTWFrZWZpbGUuYW06CgkqIHN5cy9vc3MvTWFrZWZpbGUuYW06CgkqIHN5cy9vc3M0L01ha2VmaWxlLmFtOgoJKiBzeXMvb3N4YXVkaW8vTWFrZWZpbGUuYW06CgkqIHN5cy9vc3h2aWRlby9NYWtlZmlsZS5hbToKCSogc3lzL3N1bmF1ZGlvL01ha2VmaWxlLmFtOgoJKiBzeXMvdjRsMi9NYWtlZmlsZS5hbToKCSogc3lzL3dhdmVmb3JtL01ha2VmaWxlLmFtOgoJKiBzeXMveGltYWdlL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvYXVkaW9meC9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvY2Fpcm8vTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL3B1bHNlL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9zcGVjdHJ1bS9NYWtlZmlsZS5hbToKCSogdGVzdHMvaWNsZXMvTWFrZWZpbGUuYW06CgkgIGdzdDogVXBkYXRlIHZlcnNpb25pbmcKCjIwMTItMDQtMDQgMTI6MTA6NDUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgcmVtb3RlLXRyYWNraW5nIGJyYW5jaCAnb3JpZ2luLzAuMTAnCgkgIENvbmZsaWN0czoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmMKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5oCgoyMDEyLTA0LTAzIDE4OjM2OjUwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSAganBlZ2VuYzogcGx1ZyB0ZW1wbGF0ZSBjYXBzIGxlYWsKCjIwMTItMDQtMDMgMTE6NTA6MDAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBhdmkgb25seSBrbm93cyBhYm91dCBEVFMKCSAgT25seSBzZXQgRFRTIG9uIG91dGdvaW5nIGJ1ZmZlcnMgdW5sZXNzIHdlIGhhdmUgYSBrZXlmcmFtZSBhbmQgdGhlbiB3ZSBjYW4gc2V0CgkgIHRoZSBQVFMgdG8gRFRTIGFzIHdlbGwuCgoyMDEyLTA0LTAyIDIzOjM1OjQzICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkgIG1rdjogcG9ydCB0b2MgY2hhbmdlcyB0byAwLjExCgoyMDEyLTA0LTAyIDIzOjE4OjAwICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSAgTWVyZ2UgYnJhbmNoICcwLjEwJwoJICBDb25mbGljdHM6CgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYwoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYwoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uaAoKMjAxMi0wMy0yOSAyMzoyMjoyOCArMDQwMCAgQWxleGFuZGVyIFNhcHJ5a2luIDx4ZWxmaXVtQGdtYWlsLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5oOgoJICBtYXRyb3NrYTogYWRkIEdzdFRvYyBzdXBwb3J0IGZvciBtdXhlcgoKMjAxMi0wMy0yOSAyMzoxMjoxMyArMDQwMCAgQWxleGFuZGVyIFNhcHJ5a2luIDx4ZWxmaXVtQGdtYWlsLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYTogYWRkIHN1cHBvcnQgZm9yIEdzdFRvYyBpbiBkZW11eGVyCgoyMDEyLTAzLTI5IDIzOjA1OjE0ICswNDAwICBBbGV4YW5kZXIgU2FwcnlraW4gPHhlbGZpdW1AZ21haWwuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5oOgoJICBtYXRyb3NrYTogYWRkIGNoYXB0ZXIgc3VwcG9ydCBpbiBHc3RNYXRyb3NrYVJlYWRDb21tb24KCjIwMTItMDQtMDIgMTM6MDA6MTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dvb20yazEvbGluZXMuYzoKCSAgZ29vbTJrMTogRml4ICdtYXkgYmUgdXNlZCB1bmluaXRpYWxpemVkIGluIHRoaXMgZnVuY3Rpb24nIGNvbXBpbGVyIHdhcm5pbmcKCjIwMTItMDQtMDIgMTE6MTM6MDkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGFjb2xvci5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2FtcGxpZnkuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9keW5hbWljLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZnhiYXNlaWlyZmlsdGVyLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvaW52ZXJ0LmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlva2FyYW9rZS5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0Z2FtbWEuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvYmFsYW5jZS5jOgoJICB1c2UgdHJhbnNmb3JtX2lwX29uX3Bhc3N0aHJvdWdoCgoyMDEyLTAzLTMxIDE1OjQzOjQ5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIxMGJhbmRzLmM6CgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyM2JhbmRzLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2VxdWFsaXplci5jOgoJKiB0ZXN0cy9leGFtcGxlcy9lcXVhbGl6ZXIvZGVtby5jOgoJKiB0ZXN0cy9pY2xlcy9lcXVhbGl6ZXItdGVzdC5jOgoJICB1cGRhdGUgZm9yIGNoaWxkIHByb3h5IGFwaSBjaGFuZ2UKCjIwMTItMDMtMzAgMTg6MTM6MDggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpc3VidGl0bGUuYzoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSogZ3N0L2lzb21wNC9hdG9tcy5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzcmMuYzoKCSogZ3N0L3J0cC9nc3RydHBxZG1kZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzZGVwYXkuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMveGltYWdlL3hpbWFnZXV0aWwuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGVpbnRlcmxlYXZlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ludGVybGVhdmUuYzoKCSAgdXBkYXRlIGZvciBidWZmZXIgYXBpIGNoYW5nZQoKMjAxMi0wMy0zMCAxMjo1Mzo0NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmg6CgkgIHNwZWV4ZW5jOiBVc2UgbmV3IGdzdF9hdWRpb19lbmNvZGVyX3NldF9oZWFkZXJzKCkgQVBJCgoyMDEyLTAzLTMwIDEyOjE4OjQ1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6CgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzoKCSAgZXh0OiBVcGRhdGUgZm9yIEdzdEF1ZGlvRW5jb2RlciBBUEkgY2hhbmdlcwoKMjAxMi0wMy0yOSAyMzoyMjoyOCArMDQwMCAgQWxleGFuZGVyIFNhcHJ5a2luIDx4ZWxmaXVtQGdtYWlsLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5oOgoJICBtYXRyb3NrYTogYWRkIEdzdFRvYyBzdXBwb3J0IGZvciBtdXhlcgoKMjAxMi0wMy0yOSAyMzoxMjoxMyArMDQwMCAgQWxleGFuZGVyIFNhcHJ5a2luIDx4ZWxmaXVtQGdtYWlsLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYTogYWRkIHN1cHBvcnQgZm9yIEdzdFRvYyBpbiBkZW11eGVyCgoyMDEyLTAzLTI5IDIzOjA1OjE0ICswNDAwICBBbGV4YW5kZXIgU2FwcnlraW4gPHhlbGZpdW1AZ21haWwuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5oOgoJICBtYXRyb3NrYTogYWRkIGNoYXB0ZXIgc3VwcG9ydCBpbiBHc3RNYXRyb3NrYVJlYWRDb21tb24KCjIwMTItMDMtMjkgMTc6MjI6MjMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3dhdnBhY2suYzoKCSAgdGVzdHM6IHdhdnBhY2s6IGZld2VyIGJ1ZmZlcnMgYXJlIGFsc28gYWRlcXVhdGUgYW5kIG1vcmUgY29udmVuaWVudAoKMjAxMi0wMy0yOSAxNzoyMjoxOSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb2Nyb3AuYzoKCSAgdGVzdHM6IHZpZGVvY3JvcDogdW5tYXAgdmlkZW8gZnJhbWUgYW5kIHVucmVmIGNhcHMKCjIwMTItMDMtMjkgMTc6MjI6MDQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW93c2luY2JhbmQuYzoKCSAgdGVzdHM6IGF1ZGlvd3NpbmNiYW5kOiB1bm1hcCBleGFtaW5lZCBvdXRwdXQgYnVmZmVycwoKMjAxMi0wMy0yOSAxNzoyMTo1MyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkgIGZsYWNlbmM6IHBsdWcgcmVmIGxlYWsKCjIwMTItMDMtMjkgMTc6MjE6NTAgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9wYW5vcmFtYS5jOgoJICBhdWRpb3Bhbm9yYW1hOiBmaXggc3VwcG9ydGVkIHRlbXBsYXRlIGNhcHMgYW5kIHNhbXBsZSBwcm9jZXNzaW5nCgoyMDEyLTAzLTI5IDE3OjIxOjQzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hbHBoYS9nc3RhbHBoYWNvbG9yLmM6CgkgIGFscGhhY29sb3I6IHBsdWcgc3RydWN0dXJlIGxlYWsKCjIwMTItMDMtMjkgMTY6MDQ6MjYgKzAxMDAgIHVyYWV1cyA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWdvb2Quc3BlYy5pbjoKCSAgVXBkYXRlIHNwZWMgZmlsZSB3aXRoIGxhdGVzdCBwb3J0ZWQgcGx1Z2lucwoKMjAxMi0wMy0yOSAxNTowMzowOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSByZW1vdGUtdHJhY2tpbmcgYnJhbmNoICdvcmlnaW4vMC4xMCcKCSAgQ29uZmxpY3RzOgoJICBjb25maWd1cmUuYWMKCjIwMTItMDMtMjggMTY6MjY6NTYgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3RhZ3NjaGVja2luZy5jOgoJICB0ZXN0czogdGFnc2NoZWNraW5nOiBtdXhlcnMgbmVlZCBUSU1FIGZvcm1hdAoKMjAxMi0wMy0yOCAxNjoyNjoxNSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvZmxhY2RlYy5jOgoJICB0ZXN0czogZmxhY2RlYzogbmVlZHMgZmxhY3BhcnNlIG5vd2FkYXlzCgoyMDEyLTAzLTI4IDE0OjQ5OjAzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzoKCSAgd2F2cGFja2VuYzogcXVlcnkgZG93bnN0cmVhbSBmb3IgQllURSBzZWVraW5nIHN1cHBvcnQKCjIwMTItMDMtMjggMTQ6NDg6NDYgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJICBmbGFjZW5jOiBxdWVyeSBkb3duc3RyZWFtIGZvciBCWVRFIHNlZWtpbmcgc3VwcG9ydAoKMjAxMi0wMy0yOCAxNDo0NjowMyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkgIGZsYWNkZWM6IGNsZWFuIHVwIG9ic29sZXRlIGxvZyBzdGF0ZW1lbnQKCjIwMTItMDMtMjggMTI6NDk6MTkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWlrbW9kL2dzdG1pa21vZC5jOgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6CgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkqIGdzdC9pY3lkZW11eC9nc3RpY3lkZW11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqcGVncGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5jOgoJKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9wYXJzZXIuYzoKCSAgdXBkYXRlIGZvciBidWZmZXIgY2hhbmdlcwoKMjAxMi0wMy0yOCAxMjoxNjo0NSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2R5bmFtaWMuYzoKCSAgdGVzdHM6IGF1ZGlvZHluYW1pYzogY29ycmVjdGx5IHBvcnQgb3JpZ2luYWwgdGVzdCB0byBtaW5kIGluIHBsYWNlIHRyYW5zZm9ybQoKMjAxMi0wMy0yOCAxMTowNTo0MyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJiYW5kLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYmxpbWl0LmM6CgkgIGF1ZGlvZng6IG1vcmUgYWRqdXN0bWVudCB0byBjaGFuZ2VkIHNlbWFudGljcyBvZiBhdWRpb2ZpbHRlciBfc2V0dXAgbWV0aG9kCgoyMDEyLTAzLTI4IDExOjEwOjI0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvZmlyZmlsdGVyLmM6CgkgIHRlc3RzOiBhdWRpb2ZpcmZpbHRlcjogbmVnb3RpYXRlIHRoZSBpbnRlbmRlZCByYXcgYXVkaW8gZm9ybWF0CgoyMDEyLTAzLTI3IDE4OjQxOjQ1ICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3R3YXZwYWNrcGFyc2UuYzoKCSAgd2F2cGFja3BhcnNlOiBpbml0IGRhdGFzdHJ1Y3R1cmUKCjIwMTItMDMtMjcgMTc6MTg6NDAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZWZmZWN0di9nc3RhZ2luZy5jOgoJKiBnc3QvZWZmZWN0di9nc3RkaWNlLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHJldi5jOgoJKiBnc3QvZWZmZWN0di9nc3R3YXJwLmM6CgkgIGVmZmVjdHY6IGZpeCBzdHJpZGVzCgoyMDEyLTAzLTI3IDE2OjQxOjA2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSogZ3N0L2ltYWdlZnJlZXplL2dzdGltYWdlZnJlZXplLmM6CgkqIGdzdC9sYXcvYWxhdy1lbmNvZGUuYzoKCSogZ3N0L2xhdy9tdWxhdy1lbmNvZGUuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9ydHAvZ3N0YXN0ZXJpc2toMjYzLmM6CgkqIGdzdC9ydHAvZ3N0cnRwTDE2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYnZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBjZWx0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyMnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaWxiY3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4cGF5LmM6CgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkqIGdzdC9zbXB0ZS9nc3RzbXB0ZS5jOgoJKiBzeXMvb3NzL2dzdG9zc3NpbmsuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9xdG11eC5jOgoJICBjYXBzOiBpbXByb3ZlIGNhcHMgaGFuZGxpbmcKCSAgQXZvaWQgY2FwcyBjb3B5IGFuZCBsZWFrcwoKMjAxMi0wMy0yNyAxNDowNDo0OCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pY3lkZW11eC5jOgoJICB0ZXN0czogaWN5ZGVtdXg6IGFjdGl2YXRlIGludGVybmFsIHRlc3QgaGVscGVyIHNyYyBwYWQKCjIwMTItMDMtMjcgMTI6NDQ6NDYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIHY0bDI6IHVwZGF0ZSBmb3IgZ2V0X3BhcmFtCgkgIFJlbW92ZSBjb25zdCBmcm9tIHRoZSBHc3RDYXBzLgoJICBQbHVnIHNvbWUgR3N0U3RydWN0dXJlIGxlYWtzCgoyMDEyLTAzLTI3IDAwOjAyOjA4ICswMzAwICBSYWltbyBKw6RydmkgPHJhaW1vLmphcnZpQGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgdWRwOiBGaXggY29tcGlsaW5nIHdpdGggbWluZ3cuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzI4ODAKCjIwMTItMDMtMjYgMTg6MzE6NDEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcmdhbmFseXNpcy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ3ZvbHVtZS5jOgoJICB0ZXN0czogcmVwbGF5Z2FpbjogbWlzYyBjb21wYXRpYmlsaXR5IGZpeGVzCgkgIERpc2NhcmQgY2FwcyBldmVudCB3aGVuIGNoZWNraW5nIGZvciBhbmQgY291bnRpbmcgdmFyaW91cyB0YWcgZXZlbnRzLAoJICBhbmQgcmVtb3ZlIGFsbCB0ZXN0aW5nIG9mIDggYml0cyBkZXB0aCBpbiAxNiBiaXRzIHdpZHRoIGZvcm1hdCBzaW5jZQoJICBpdCBubyBsb25nZXIgZXhpc3RzLgoKMjAxMi0wMy0yNiAxODoyODoyNiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHAtcGF5bG9hZGluZy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBiaW4uYzoKCSAgdGVzdHM6IHJ0cDogbWlzYyBjb21wYXRpYmlsaXkgZml4ZXMKCSAgLi4uIHN1Y2ggYXMgYWx3YXlzIHNldHRpbmcgcGFkIGNhcHMgYW5kIHByb3ZpZGluZyBuZWVkZWQgY2FwcyBmaWVsZHMuCgoyMDEyLTAzLTI2IDE4OjI2OjQwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvZmlsdGVyLmM6CgkgIHRlc3RzOiB2aWRlb2ZpbHRlcjogZW5zdXJlIGluaXRpYWwgc2VnbWVudCBldmVudAoKMjAxMi0wMy0yNiAxODoyNToyOCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5oOgoJICBzaGFwZXdpcGU6IHByb3BlciB2aWRlbyBpbmZvIGFuZCBmcmFtZSBtYW5hZ2VtZW50CgkgIC4uLiBwYXJ0aWN1bGFybHkgc2luY2UgZWFjaCBpbmNvbWluZyBwYWQgaGFzIGEgZGlzdGluY3QgZm9ybWF0LgoKMjAxMi0wMy0yNiAxODoyNDowOCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSAgcnRwaDI2NHBheTogZW5zdXJlIG91dHB1dCBjYXBzIGFyZSBzZXQgd2hlbiBwdXNoaW5nIG91dHB1dCBkYXRhCgkgIC4uLiBldmVuIGlmIHNvbWUgU1BTL1BQUyBoYXMgbm90IHBhc3NlZCBieSB5ZXQuCgoyMDEyLTAzLTI2IDE4OjIyOjUzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2ZpbHRlci9nc3RnYW1tYS5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9iYWxhbmNlLmM6CgkgIHZpZGVvZmlsdGVyOiBhdm9pZCBob2xkaW5nIG9iamVjdCBsb2NrIHdoZW4gY2FsbGluZyBiYXNldHJhbnNmb3JtIGZ1bmN0aW9uCgoyMDEyLTAzLTI2IDE4OjIyOjAzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IGZpeCBzb21lIGxvY2sgbWFuYWdlbWVudAoJICAuLi4gdG8gYXZvaWQgdHJ5aW5nIHRvIHRha2UgYSBub24tcmVjdXJzaXZlIGxvY2sgdHdpY2UuCgoyMDEyLTAzLTI2IDE4OjIxOjExICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwTDE2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBMMTZwYXkuYzoKCSAgcnRwTDE2KGRlKXBheTogZml4IHJhdyBhdWRpbyBmb3JtYXQgaW4gdGVtcGxhdGUgY2FwcwoKMjAxMi0wMy0yNiAxODoyMDo0MCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ2FuYWx5c2lzLmM6CgkgIHJlcGxheWdhaW46IGFsc28gc3RpbGwgcG9zdCB0aGUgcmVzdWx0cyBvZiB0aGUgYW5hbHlzaXMKCjIwMTItMDMtMjYgMTU6NTk6MDEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIHY0bDJzcmM6IGRvbid0IGVycm9yIGluIHNodXRkb3duCgkgIERvbid0IGxvZyB3aXRoIHRoZSBFUlJPUiBjYXRlZ29yeSB3aGVuIHdlIGFyZSBzdG9wcGluZyBiZWNhdXNlIHdlIGFyZSBzaHV0dGluZwoJICBkb3duLgoJICBGaXhlczogaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3MjgyNAoKMjAxMi0wMy0yNiAxNTo1MToyOCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgdjRsMjogZml4IGxhdGVuY3kKCjIwMTItMDMtMjYgMTU6MzA6MDAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5oOgoJICB2NGwyOiBjYWxsZWQgYmFzZSBjbGFzcyBzdGFydAoJICBDaGFpbiB1cCB0byB0aGUgYmFzZSBjbGFzcyBzdGFydCBtZXRob2Qgc28gdGhhdCBtZXRhZGF0YSBpcyBwcm9wZXJseSB0YWdnZWQuCgkgIFJlbW92ZSBhbiB1bnVzZWQgdmFyaWFibGUuCgkgIGZpeGVzOiBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjcyODEzCgoyMDEyLTAzLTI2IDEyOjEyOjQ1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgUmVwbGFjZSBtYXN0ZXIgd2l0aCAwLjExCgoyMDEyLTAzLTI1IDAwOjAwOjU5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmb3ZlcmxheS5jOgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWZvdmVybGF5Lmg6CgkgIGdka3BpeGJ1Zm92ZXJsYXk6IGFkZCAiYWxwaGEiIHByb3BlcnR5IHRvIHNldCBhbHBoYSBvZiBvdmVybGF5IGltYWdlCgkgIC4uIG9yIHR1cm4gdGhlIG92ZXJsYXkgb2ZmIGJ5IHNldHRpbmcgYWxwaGEgdG8gMC4wCgoyMDEyLTAzLTI0IDA5OjUxOjA2ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pbWFnZWZyZWV6ZS9nc3RpbWFnZWZyZWV6ZS5jOgoJICBpbWFnZWZyZWV6ZTogcGx1ZyBjYXBzIGxlYWsKCjIwMTItMDMtMjMgMTg6NDc6NDUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaW1hZ2VmcmVlemUuYzoKCSAgdGVzdHM6IGltYWdlZnJlZXplOiByZW1vdmUgZXh0cmFuZW91cyBfdW5yZWYKCjIwMTItMDMtMjMgMTg6NDc6MDMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXZpbXV4LmM6CgkgIHRlc3RzOiBhdmltdXg6IGFkanVzdCB0byBtb2RpZmllZCBzaW5rIHBhZCB0ZW1wbGF0ZSBuYW1lCgoyMDEyLTAzLTIzIDE4OjQ2OjM2ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3F0bXV4LmM6CgkgIHRlc3RzOiBxdG11eDogY2xlYW51cCBlbGVtZW50IHNvb25lcgoJICAuLi4gdG8gYXZvaWQgc3RyYXkgcmVmcyBpbiBzdGlja3kgY2FwcyBldmVudHMuCgoyMDEyLTAzLTIzIDE4OjQ1OjU2ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvd3NpbmNiYW5kLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvd3NpbmNsaW1pdC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdmltdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcXRtdXguYzoKCSAgdGVzdHM6IGFycmFuZ2UgZm9yIHNlbmRpbmcgYW4gaW5pdGlhbCBzZWdtZW50IGV2ZW50CgkgIC4uLiB3aGljaCBpcyBuZWVkZWQgbm93YWRheXMgc2luY2UgdmFyaW91cyBnc3Rfc2VnbWVudF90b18uLi4KCSAgbm8gbG9uZ2VyIGF1dG9tYXRpY2FsbHkgc2V0IHRoZSBmb3JtYXQgdG8gdGhlIHNwZWNpZmllZCBvbmUKCSAgKGZyb20gX1VOREVGSU5FRCkuCgoyMDEyLTAzLTIzIDE4OjQ0OjE1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pbWFnZWZyZWV6ZS9nc3RpbWFnZWZyZWV6ZS5jOgoJICBpbWFnZWZyZWV6ZTogaW1tZWRpYXRlbHkgcmV0dXJuIEdTVF9GTE9XX0VPUwoJICAuLi4gcmF0aGVyIHRoYW4gX09LIHNpbmNlIHdlIHdpbGwgbm90IGJlIGNhcmluZyBhYm91dCBzdWJzZXF1ZW50IGJ1ZmZlcgoJICBhbnl3YXkuCgoyMDEyLTAzLTIzIDE4OjQzOjM2ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pbWFnZWZyZWV6ZS9nc3RpbWFnZWZyZWV6ZS5jOgoJICBpbWFnZWZyZWV6ZTogZml4IHF1ZXJ5IGFuZCBfZ2V0Y2FwcyBoYW5kbGluZwoKMjAxMi0wMy0yMyAxODo0Mjo0OCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJiYW5kLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYmxpbWl0LmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZmlyZmlsdGVyLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZnhiYXNlZmlyZmlsdGVyLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZnhiYXNlZmlyZmlsdGVyLmg6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlva2FyYW9rZS5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb3dzaW5jYmFuZC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb3dzaW5jbGltaXQuYzoKCSAgYXVkaW9meDogYWRqdXN0IHRvIGNoYW5nZWQgc2VtYW50aWNzIG9mIGF1ZGlvZmlsdGVyIF9zZXR1cCBtZXRob2QKCSAgLi4uIGluIHRoYXQgaXQgd2lsbCBub3cgY2FsbCBzdWJjbGFzcyB3aXRoIGluZm8gb24gcHJvcG9zZWQgYXVkaW8gZm9ybWF0CgkgIHdpdGhvdXQgaGF2aW5nIHNldCB0aGF0IGluZm8gYWxyZWFkeSBpbiBiYXNlIGNsYXNzLiAgQXMgc3VjaCwKCSAgc3ViY2xhc3MgY2FuIG5vdCByZWx5IG9uIGF1ZGlvIGZvcm1hdCBpbmZvIGJlaW5nIGF2YWlsYWJsZSB0aGVyZS4KCjIwMTEtMDctMTQgMTY6MjM6NDkgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5oOgoJICBydHBoMjY0ZGVwYXk6IE1ha2Ugb3V0cHV0IGluIEFWQyBzdHJlYW0gZm9ybWF0IHdvcmsgZXZlbiB3aXRob3V0IGNvbXBsZXRlIHNwcm9wLXBhcmFtZXRlci1zZXQKCSAgVGhpcyBhbGxvd3Mgb3V0cHV0dGluZyBzdHJlYW1zIGluIEFWQyBmb3JtYXQgZXZlbiBpZiB0aGUgU1BTL1BQUyBhcmUgc2VudCBpbnNpZGUKCSAgdGhlIFJUUCBzdHJlYW0uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTQ4NTAKCSAgUG9ydGVkIGZyb20gbWFzdGVyCgoyMDEyLTAxLTI5IDE4OjM5OjU0ICswMDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSAgdWRwc2luazogVW5sb2NrIG9uIGVycm9yCgoyMDEyLTAzLTIyIDE4OjI3OjMwICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFtcnBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZGNhcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdHdhdnBhY2twYXJzZS5jOgoJICBhdWRpb3BhcnNlcnM6IHVzZSBzaW5rIHBhZCB0ZW1wbGF0ZSBjYXBzIHJhdGhlciB0aGFuIHNyYwoKMjAxMi0wMy0yMiAxODoyMzoyMiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgoyMDEyLTAzLTIyIDE4OjIxOjUyICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L3NtcHRlL2dzdHNtcHRlLmM6CgkqIGdzdC9zbXB0ZS9nc3RzbXB0ZS5oOgoJKiBnc3Qvc21wdGUvZ3N0c21wdGVhbHBoYS5jOgoJKiBnc3Qvc21wdGUvZ3N0c21wdGVhbHBoYS5oOgoJICBzbXB0ZTogcG9ydCB0byAwLjExCgoyMDEyLTAzLTIyIDE2OjEwOjMzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFtcnBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZGNhcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdHdhdnBhY2twYXJzZS5jOgoJICBhdWRpb3BhcnNlcnM6IGludGVyc2VjdCBkb3duc3RyZWFtIGFsbG93ZWQgcGVlciBjYXBzIHdpdGggc2luayBwYWQgdGVtcGxhdGUKCjIwMTItMDMtMjIgMTU6NTU6MjggKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGJhY2sgdG8gZGV2ZWxvcG1lbnQKCj09PSByZWxlYXNlIDAuMTEuMiA9PT0KCjIwMTItMDMtMjIgMTU6NTE6MTMgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlzb21wNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogZ3N0LXBsdWdpbnMtZ29vZC5kb2FwOgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lby5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2dsLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9yby5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHBvL3poX0hLLnBvOgoJKiBwby96aF9UVy5wbzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJKiB3aW4zMi9jb21tb24vZ3N0dWRwLW1hcnNoYWwuYzoKCSAgUmVsZWFzZSAwLjExLjIKCjIwMTItMDMtMjIgMTE6NTU6MjggKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgoyMDEyLTAzLTIyIDExOjUzOjI0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoJICB1bnBvcnQgZ2RrcGl4YnVmCgkgIG5vdCBtZXJnZWQ6IGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTQ4NTAKCSAgQ29uZmxpY3RzOgoJICBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW0KCSAgZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWwKCSAgZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQKCSAgZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHkKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWwKCSAgZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jCgkgIGV4dC9mbGFjL2dzdGZsYWNkZWMuaAoJICBleHQvbGlicG5nL2dzdHBuZ2RlYy5jCgkgIGV4dC9saWJwbmcvZ3N0cG5nZW5jLmMKCSAgZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmMKCSAgZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYwoJICBnc3QvZmx2L2dzdGZsdm11eC5jCgkgIGdzdC9ydHAvZ3N0cnRwZHZkZXBheS5jCgkgIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmMKCjIwMTItMDMtMjIgMTE6NDU6MTEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NtcHRlL2dzdHNtcHRlLmM6CgkgIHNtcHRlOiBvbmx5IHN0YXJ0IGNvbGxlY3RwYWRzMiBhdCBzdGF0ZSBjaGFuZ2UgcmF0aGVyIHRoYW4gaW5pdAoKMjAxMi0wMy0yMSAxMzoyMjo0MyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvYW1wbGlmeS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2R5bmFtaWMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9lY2hvLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvcGFub3JhbWEuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwLXBheWxvYWRpbmcuYzoKCSAgdGVzdHM6IHVwZGF0ZSBmb3IgbWVtb3J5IGFwaSBjaGFuZ2VzCgoyMDEyLTAzLTIwIDEwOjI0OjA1ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIHVwZGF0ZSBmb3IgbWVtb3J5IGFwaSBjaGFuZ2VzCgoyMDEyLTAzLTE5IDEyOjAxOjQwICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogcGVyZm9ybSBhZGRpdGlvbmFsIGZyYW1lIGNyYyBjaGVjayBpZiBhcHBsaWNhYmxlCgkgIC4uLiBzdWNoIGFzIGEgZnJhbWUgaGVhZGVyIHBhcnNpbmcgdGhyb3dpbmcgc29tZSBzdXNwaWNpb3VzIHdhcm5pbmdzLgoJICBTbyB3ZSBjYW4gYmUgYSBiaXQgbW9yZSBjb252aW5jZWQgd2UgZGV0ZXJtaW5lIHRoZSByaWdodCBmcmFtZSBlbmQuCgoyMDEyLTAzLTE5IDExOjU4OjE1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogYXZvaWQgaW5kZWZpbml0ZSBleHRlbmRlZCBzZWFyY2ggZm9yIGZyYW1lIGVuZCBpZiBwb3NzaWJsZQoJICAuLi4gd2hpY2ggaXMgcGFydGljdWxhcmx5IHVzZWZ1bCBpZiBsb2NrZWQgb24gdG8gdGhlIHdyb25nIGZyYW1lIHN0YXJ0CgkgIGFuZC9vciBjb3JydXB0IGZyYW1lIGJlaW5nIGNyYyBjaGVja2VkLgoKMjAxMi0wMy0xNiAxODoyMzoyOSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuaDoKCSAgZmxhY2RlYzogaW1wcm92ZSBlcnJvciBoYW5kbGluZyBhbmQgcmVzaWxpZW5jZQoJICAuLi4gYnkgbm90aW5nIHRoYXQgb25lIG9jY3VycmVkIGluIHRoZSBmaXJzdCBwbGFjZSwgYW5kIHRoZW4gYXBwcm9wcmlhdGVseQoJICBpZ25vcmluZyBzb21lIHRyYW5zaWVudCBvbmVzLgoKMjAxMi0wMy0xOSAxMDozMzo0OCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBuZWdvdGlhdGUgYW4gYWxsb2NhdG9yIG9uIHRoZSBzcmNwYWRzCgkgIFdlIGRvIGFuIEFMTE9DQVRJT04gcXVlcnkgdG8gZmluZCBvdXQgYW4gYWxsb2NhdG9yIGFuZCBwYXJhbWV0ZXJzIG9uIHRoZQoJICBzcmNwYWRzLiBUaGlzIHdheSBkZWNvZGVycyAoYW5kIHNpbmtzKSBjYW4gc3BlY2lmeSB0aGUgbWVtb3J5IGFuZCBwYXJhbWV0ZXJzCgkgIHRoZXkgd2FudCB1cyB0byB3cml0ZSBpbnRvLgoKMjAxMi0wMy0xNyAyMDo1MzozMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmb3ZlcmxheS5jOgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWZvdmVybGF5Lmg6CgkgIGRvY3M6IHVwZGF0ZSBkb2NzIGZvciBuZXcgcHJvcGVydGllcyBhbmQgYWRkIGdka3BpeGJ1Zm92ZXJsYXkgZWxlbWVudAoJICBTb21ld2hhdCBhdCBsZWFzdC4gTm8gaWRlYSB3aHkgaXQgZG9lc24ndCBwaWNrIHVwIHRoZSBkZXNjcmlwdGlvbgoJICBvciBleGFtcGxlIHBpcGVsaW5lLgoKMjAxMi0wMy0xOCAwMDoxMToxOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ2RrX3BpeGJ1Zi9NYWtlZmlsZS5hbToKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmLmM6CgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zm92ZXJsYXkuYzoKCSAgZ2RrcGl4YnVmb3ZlcmxheTogbWFrZSBtb3N0IHByb3BlcnRpZXMgY29udHJvbGxhYmxlIGFuZCBmbGFnIHRoZW0gYXMgbXV0YWJsZS1wbGF5aW5nCgoyMDEyLTAzLTE3IDIzOjQxOjM4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zm92ZXJsYXkuYzoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmb3ZlcmxheS5oOgoJICBnZGtwaXhidWZvdmVybGF5OiBhZGQgcHJvcGVydGllcyBmb3IgcG9zaXRpb25pbmcgYW5kIHNpemluZwoKMjAxMi0wMy0xNyAyMDoxODoxOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ2RrX3BpeGJ1Zi9NYWtlZmlsZS5hbToKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmLmM6CgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zm92ZXJsYXkuYzoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmb3ZlcmxheS5oOgoJICBnZGtwaXhidWY6IGFkZCBnZGtwaXhidWZvdmVybGF5IGVsZW1lbnQKCSAgU3RpbGwgbGFja3MgZmVhdHVyZXMgc3VjaCBhcyBwb3NpdGlvbmluZyBvciByZXNpemluZywgb3IKCSAgYW5pbWF0aW9ucywgYnV0IGl0J3MgdXNhYmxlIGFscmVhZHksIGFuZCBzdXBwb3J0cyBsb3RzIG9mCgkgIGZvcm1hdHMuCgoyMDEyLTAzLTE2IDIyOjUyOjAyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FscGhhL2dzdGFscGhhY29sb3IuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdGdhbW1hLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2JhbGFuY2UuYzoKCSAgZG9uJ3QgcG9rZSBpbnRvIGJhc2V0cmFuc2Zvcm0gaW50ZXJuYWxzCgkgIEJ1dCB1c2UgdGhlIG1ldGhvZHMKCjIwMTItMDMtMTYgMjE6NDc6MjEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5jOgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgZG9uJ3QgcGFzcyByYW5kb20gcG9pbnRlcnMgdG8gcHVsbF9yYW5nZQoKMjAxMi0wMy0xNSAyMjoxNTo0NyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tb25vc2NvcGUvZ3N0bW9ub3Njb3BlLmM6CgkgIHVwZGFydGUgZm9yIGJ1ZmZlcnBvb2wgY2hhbmdlcwoKMjAxMi0wMy0xNSAyMjoxMToxNyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kdi9nc3RkdmRlYy5jOgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWYuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOgoJKiBnc3QvZ29vbS9nc3Rnb29tLmM6CgkqIGdzdC9nb29tMmsxL2dzdGdvb20uYzoKCSogZ3N0L3J0cC9nc3RydHB2cmF3ZGVwYXkuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICB1cGRhdGUgZm9yIGJ1ZmZlcnBvb2wgY2hhbmdlcwoKMjAxMi0wMy0xNSAyMDozNzo1NiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hYWxpYi9nc3RhYXNpbmsuYzoKCSogZXh0L2R2L2dzdGR2ZGVjLmM6CgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zi5jOgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6CgkqIGdzdC9nb29tL2dzdGdvb20uYzoKCSogZ3N0L2dvb20yazEvZ3N0Z29vbS5jOgoJKiBnc3QvbW9ub3Njb3BlL2dzdG1vbm9zY29wZS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdkZXBheS5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIHVwZGF0ZSBmb3IgYWxsb2NhdGlvbiBxdWVyeSBjaGFuZ2VzCgoyMDExLTA3LTE0IDE2OjIzOjQ5IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuaDoKCSAgcnRwaDI2NGRlcGF5OiBNYWtlIG91dHB1dCBpbiBBVkMgc3RyZWFtIGZvcm1hdCB3b3JrIGV2ZW4gd2l0aG91dCBjb21wbGV0ZSBzcHJvcC1wYXJhbWV0ZXItc2V0CgkgIFRoaXMgYWxsb3dzIG91dHB1dHRpbmcgc3RyZWFtcyBpbiBBVkMgZm9ybWF0IGV2ZW4gaWYgdGhlIFNQUy9QUFMgYXJlIHNlbnQgaW5zaWRlCgkgIHRoZSBSVFAgc3RyZWFtLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU0ODUwCgoyMDEyLTAzLTE1IDE0OjA2OjQwICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdXBkYXRlIGZvciBidWZmZXJwb29sIGFwaSBjaGFuZ2UKCjIwMTItMDMtMTUgMTM6Mzc6MzYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5jOgoJICB1cGRhdGUgZm9yIG1lbW9yeSBhcGkgY2hhbmdlcwoKMjAxMi0wMy0xNSAxMzozNjoxNyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hbm5vZGV4L2dzdGNtbWxkZWMuYzoKCSogZXh0L2Fubm9kZXgvZ3N0Y21tbGVuYy5jOgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6CgkqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOgoJKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYzoKCSogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L2xhdy9hbGF3LWRlY29kZS5jOgoJKiBnc3QvbGF3L2FsYXctZW5jb2RlLmM6CgkqIGdzdC9sYXcvbXVsYXctZGVjb2RlLmM6CgkqIGdzdC9sYXcvbXVsYXctZW5jb2RlLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0ZmlsZXNyYy5jOgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydG11eC5jOgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2NoZWJiYW5kLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvY2hlYmxpbWl0LmM6CgkgIHVwZGF0ZSBmb3IgbWVtb3J5IGFwaSBjaGFuZ2VzCgoyMDEyLTAzLTE0IDIxOjM2OjAzICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJICB1cGRhdGUgZm9yIG1lbW9yeSBhcGkgY2hhbmdlcwoKMjAxMi0wMy0xNCAxOTo1NTozMiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hYWxpYi9nc3RhYXNpbmsuYzoKCSogZXh0L2R2L2dzdGR2ZGVjLmM6CgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zi5jOgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6CgkqIGdzdC9nb29tL2dzdGdvb20uYzoKCSogZ3N0L2dvb20yazEvZ3N0Z29vbS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdkZXBheS5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIHRha2UgcGFkZGluZyBpbnRvIGFjY291bnQKCjIwMTItMDMtMTQgMTc6MDc6NTAgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvaW1hZ2VmcmVlemUvZ3N0aW1hZ2VmcmVlemUuYzoKCSogZ3N0L2ltYWdlZnJlZXplL2dzdGltYWdlZnJlZXplLmg6CgkgIGltYWdlZnJlZXplOiBwb3J0IHRvIDAuMTEKCjIwMTItMDMtMTQgMTU6NDU6MzggKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiByZXBseSBGQUxTZSBvbiBzZXJpYWxpemVkIHF1ZXJpZXMKCjIwMTItMDMtMTMgMjM6MDg6MzggKzAxMDAgIEFuZHJlaiBHZWxlbmJlcmcgPGFuZHJlai5nZWxlbmJlcmdAdWRvLmVkdT4KCgkqIGV4dC9saWJwbmcvZ3N0cG5nZW5jLmM6CgkqIGV4dC9saWJwbmcvZ3N0cG5nZW5jLmg6CgkgIHBuZ2VuYzogYWRkIHN1cHBvcnQgZm9yIDgtIGFuZCAxNi1iaXQgZ3JheSBpbWFnZXMKCSAgQWRkIHN1cHBvcnQgZm9yIGRpcmVjdCBlbmNvZGluZyBvZiA4LSBhbmQgMTYtYml0IGJpZyBlbmRpYW4gZ3JheSBpbWFnZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzIwMjUKCjIwMTItMDMtMTQgMTE6MjE6MzIgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuYzoKCSAgbXA0dnBheTogd2UgY2FuIGFsc28gaGFuZGxlIHgtZGl2eAoKMjAxMi0wMy0xNCAxMDozOTo1MyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6CgkgIHdhdnBhY2tlbmM6IGRvIG5vdCBzZXQgb3V0cHV0IGNhcHMgZGlyZWN0bHkKCSAgLi4uIGJ1dCB1c2UgYmFzZSBjbGFzcyBmdW5jdGlvbiBpbnN0ZWFkLgoKMjAxMi0wMy0xMyAyMTozMTo0OCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwbXA0dmRlcGF5LmM6CgkgIG1wNHZkZXBheTogZml4IGJ1ZmZlciBoYW5kbGluZwoJICBEb24ndCBhbHdheXMgb3V0cHV0IHRoZSBwYXlsb2FkIHN1YmJ1ZmZlciwgdXNlIGEgc2VwYXJhdGUgdmFyaWFibGUgdG8KCSAgbWFrZSB0aGluZ3MgY2xlYXJlciBhbmQgd2l0aG91dCB0aGUgZXJyb3IuCgoyMDEyLTAzLTEzIDIwOjQ5OjQzICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSAgdWRwc2luazogbWFrZSBidWZmZXItc2l6ZSB3b3JrIGFnYWluCgoyMDEyLTAzLTEzIDIwOjM2OjU2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgdWRwc3JjOiBmaXggU09fUkNWQlVGIGhhbmRsaW5nCgoyMDEyLTAzLTEzIDE5OjI2OjQ3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBkb24ndCBsZWFrIHRoZSBhZGRyZXNzCgoyMDEyLTAzLTEzIDE5OjI2OjIzICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSAgaDI2NGRlcGF5OiB1bm1hcCBvbiBlbXB0eSBwYWNrZXQKCjIwMTItMDMtMTMgMTg6MDc6MTggKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSAgcnRwaDI2NHBheTogZG8gRFRTIGFuZCBQVFMgY29ycmVjdGx5CgoyMDEyLTAzLTEzIDE3OjU0OjUwICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHNldCBEVFMgYW5kIFBUUyBvbiBvdXRwdXQgYnVmZmVycwoJICBTZXQgUFRTIGFuZCBEVFMgb24gb3V0cHV0IGJ1ZmZlcnMgaW5zdGVhZCBvZiBqdXN0IHRoZSBQVFMuIEluIHN0cmVhbWluZyBjYXNlcwoJICB5b3Ugd2FudCB0byBzeW5jaHJvbml6ZWQgZW5jb2RlZCBkYXRhIGJhc2VkIG9uIHRoZSBEVFMgYmVjYXVzZSB0aGF0IGlzCgkgIG1vbm90b25pY2FsbHkgaW5jcmVhc2luZy4KCjIwMTItMDMtMTMgMTc6NTQ6MjggKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXhfZHVtcC5jOgoJICBxdGRlbXV4OiBkZWJ1ZyBhZGRpdGlvbmFsIHNkdHAgZmxhZwoKMjAxMi0wMy0xMyAxNzoyNzozMiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z2RlcGF5LmM6CgkgIHJ0cDogZml4IHVubWFwIGNhbGxzCgoyMDEyLTAzLTEzIDEzOjI1OjA5ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5oOgoJICBwdWxzZTogZml4IGZvcm1hdHMsIHdlIGNhbiBub3QgaGFuZGxlIFM4IGJ1dCBvbmx5IFU4CgoyMDEyLTAzLTEzIDEyOjQwOjM3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJICBmbGFjZW5jOiBmaXggc3RyZWFtaGVhZGVycwoJICBGaXggdGhlIGNhcHMgb2YgZmxhY2VuYywgdGhlIHJlZmVyZW5jZSBlbmNvZGVyIG9ubHkgc3VwcG9ydCAyNCBiaXRzIGluCgkgIDMyIGJpdHMuCgkgIFNldCBzdHJlYW1oZWFkZXIgb24gb3V0cHV0IGNhcHMuCgoyMDEyLTAzLTEyIDE3OjE3OjAxICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21vbm9zY29wZS9nc3Rtb25vc2NvcGUuYzoKCSAgdXBkYXRlIGZvciBjYXBzIGFwaSBjaGFuZ2VzCgoyMDEyLTAzLTEyIDE2OjQzOjI3ICswMjAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZS5hYyA6IGJ1bXAgR0xpYiByZXF1aXJlbWVudCB0byAyLjMxLjE0CgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzE5MTEKCjIwMTItMDMtMTIgMTU6Mjc6MjcgKzAxMDAgIFJvc3MgQnVydG9uIDxyb3NzIGF0IGJ1cnRvbmluaS5jb20+CgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkgIGZsYWNlbmM6IGdlbmVyYXRlIHNlZWt0YWJsZXMgZXZlcnkgMTAgc2VjIGJ5IGRlZmF1bHQKCSAgU2luY2UgdGhpcyBpcyB3aGF0IHRoZSBjb21tYW5kIGxpbmUgdG9vbCBkb2VzIGFzIHdlbGwsIGl0IHNlZW1zIGxpa2UKCSAgYSBiZXR0ZXIgZGVmYXVsdC4KCjIwMTItMDMtMTAgMTM6NDQ6MDggKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IG9ubHkgdW5sb2NrIHBhZCB3aGVuIGl0IHdhcyBsb2NrZWQKCSAgVGhpcyBmaXhlcyB0aGUgbXV0ZXggYmVpbmcgdW5sb2NrZWQgdG9vIG11Y2ggYW5kIGVuZGluZyB1cCBhbGxvd2luZwoJICBvdGhlciB0aHJlYWRzIHdoZW4gdGhleSBzaG91bGQgbm90LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjcxNzc2CgoyMDEyLTAzLTA3IDEzOjM5OjUwICswMTAwICBBbmRyZWogR2VsZW5iZXJnIDxhbmRyZWouZ2VsZW5iZXJnQHVkby5lZHU+CgoJKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOgoJICBwbmdkZWM6IGFkZCBzdXBwb3J0IGZvciB2aWRlby94LXJhdy1ncmF5IGZvcm1hdHMKCSAgcG5nZGVjIGNhbiBub3cgZGVjb2RlIGdyYXkgOC0gYW5kIDE2LWJpdCBpbWFnZXMgd2l0aG91dCBhbHBoYSBjaGFubmVsCgkgIGRpcmVjdCB0byB2aWRlby94LXJhdy1ncmF5IGZvcm1hdC4gMTYtYml0IGdyYXkgaW1hZ2VzIGhhdmUgYmlnLWVuZGlhbgoJICBmb3JtYXQsIGJlY2F1c2UgaXQncyBuYXRpdmUgUE5HIGVuZGlhbm5lc3MuIEdyYXkgaW1hZ2VzIHdpdGggYWxwaGEKCSAgY2hhbm5lbCBzdGlsbCBjb252ZXJ0ZWQgdG8gUkdCQS4KCSAgU2lnbmVkLW9mZi1ieTogQW5kcmVqIEdlbGVuYmVyZyA8YW5kcmVqLmdlbGVuYmVyZ0B1ZG8uZWR1PgoKMjAxMi0wMy0wOCAxNzowNzo1MSArMDEwMCAgTWFyYyBMZWVtYW4gPG1hcmMubGVlbWFuQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBnc3RydHNwc3JjOiBkaXNhYmxlIFJUU1Aga2VlcC1hbGl2ZSBvbiByZXF1ZXN0CgoyMDEyLTAzLTEyIDE0OjQ4OjQ3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NtcHRlL2dzdHNtcHRlLmM6CgkgIHNtcHRlOiBmaXggc3RyaWRlIGhhbmRsaW5nCgoyMDEyLTAzLTEyIDEyOjIzOjE1ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb2Nyb3AuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9maWx0ZXIuYzoKCSAgZml4IGZvciBjYXBzIF9ub3JtYWxpemUgY2hhbmdlcwoKMjAxMi0wMy0xMiAxMTo0NzozNSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hbHBoYS9nc3RhbHBoYWNvbG9yLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBmaXggZm9yIGNhcHMgYXBpIGNoYW5nZQoKMjAxMi0wMy0xMiAxMDo0Mzo1NyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hbHBoYS9nc3RhbHBoYWNvbG9yLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBzeXMvb3NzNC9vc3M0LWF1ZGlvLmM6CgkgIGZpeCBmb3IgX2RvX3NpbXBsaWZ5IGNoYW5nZXMKCjIwMTItMDMtMTIgMDg6NDg6MzIgKzAxMDAgIE5pY29sYSBNdXJpbm8gPG5pY29sYS5tdXJpbm9AZ21haWwuY29tPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIGdzdDogRml4IHNvbWUgcXVlcnkgbGVha3MKCjIwMTItMDMtMTEgMTk6MDY6NTkgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgZml4IGZvciBjYXBzIGFwaSBjaGFuZ2VzCgoyMDEyLTAzLTExIDE5OjA2OjM3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2FhbGliL2dzdGFhc2luay5jOgoJKiBleHQvZ2RrX3BpeGJ1Zi9waXhidWZzY2FsZS5jOgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkqIGdzdC9nb29tL2dzdGdvb20uYzoKCSogZ3N0L2dvb20yazEvZ3N0Z29vbS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6CgkgIGZpeCBmb3IgY2FwcyBhcGkgY2hhbmdlcwoKMjAxMi0wMy0xMCAxMDo1MTo0NCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSogZ3N0L2FscGhhL2dzdGFscGhhY29sb3IuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YW1ycGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RkY2FwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0d2F2cGFja3BhcnNlLmM6CgkqIGdzdC9hdXBhcnNlL2dzdGF1cGFyc2UuYzoKCSogZ3N0L2dvb20yazEvZ3N0Z29vbS5jOgoJKiBnc3QvbGF3L2FsYXctZGVjb2RlLmM6CgkqIGdzdC9sYXcvYWxhdy1lbmNvZGUuYzoKCSogZ3N0L2xhdy9tdWxhdy1kZWNvZGUuYzoKCSogZ3N0L2xhdy9tdWxhdy1lbmNvZGUuYzoKCSAgZml4IHRlbXBsYXRlIGNhcHMgcmVmY291bnQKCjIwMTItMDMtMDkgMTU6NTM6MzIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGZpeCB1c2Ugb2YgQUNfTEFOR19QUk9HUkFNCgkgIE5vIG5lZWQgdG8gaW5jbHVkZSB0aGUgaW50IG1haW4gKCkgeyB9IGJpdHMsIHRoZSBib2R5IGlzIGVub3VnaC4KCjIwMTItMDMtMDkgMTU6MjU6MDIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGZpeCBhdXRvZ2VuLnNoIHdhcm5pbmdzCgkgIGNvbmZpZ3VyZS5hYzo0MTA6IHdhcm5pbmc6IEFDX0xBTkdfQ09ORlRFU1Q6IG5vIEFDX0xBTkdfU09VUkNFIGNhbGwgZGV0ZWN0ZWQgaW4gYm9keQoKMjAxMi0wMy0wOCAxMzowNjoxMyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hYWxpYi9nc3RhYXNpbmsuYzoKCSogZXh0L2FhbGliL2dzdGFhc2luay5oOgoJICBhYXNpbms6IHByb3Bvc2UgdmlkZW9tZXRhIHVwdHJlYW0KCSAgc3ViY2xhc3MgZnJvbSB2aWRlb3NpbmsuCgkgIFByb3Bvc2UgdmlkZW9tZXRhIHVwc3RyZWFtIGJlY2F1c2Ugd2UgY2FuIGhhbmRsZSBpdCB3aXRoIHRoZSB2aWRlbyBhcGkuCgoyMDEyLTAzLTA4IDAxOjUzOjUwIC0wNTAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogZG8gbm90IHVucmVmIHNhbXBsZSBjYXBzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzE1MzQKCjIwMTItMDMtMDggMTE6MzY6MDEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdXRvZGV0ZWN0LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvY3JvcC5jOgoJICB0ZXN0czogaW1wcm92ZSBtb3JlIHRlc3RzCgoyMDEyLTAzLTA4IDExOjIwOjQzICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2Fwc3NldHRlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZGtwaXhidWZzaW5rLmM6CgkgIHRlc3RzOiBmaXggc29tZSBtb3JlIHRlc3RzCgoyMDEyLTAzLTA3IDE1OjIyOjM2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogaW1wcm92ZSBjbGVhbnVwCgkgIFJldXNlIGNsZWFudXAgbWV0aG9kcyB0byBtYWtlIHN1cmUgd2UgcmVtb3ZlIGFsbCBwYWRzIGNvcnJlY3RseQoKMjAxMi0wMy0wNyAxNTowMDoyNiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogc2V0IGNhcHMgd2l0aG91dCB0aGUgbG9jawoJICBSZWxlYXNlIHRoZSBsb2NrIGJlZm9yZSBzZXR0aW5nIHRoZSBjYXBzIG9uIHRoZSBzcmNwYWQsIHdoaWNoIHRyaWdnZXJzIGFuIGV2ZW50LAoJICB3aGljaCBjb3VsZCBldmVudHVhbGx5IGNhbGwgYmFjayBpbnRvIHVzIGFuZCBjYXVzZSBhIGRlYWRsb2NrLgoKMjAxMi0wMy0wNyAxNDo1NTowOCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzoKCSAgcHRkZW11eDogc2V0IGNhcHMgYWZ0ZXIgYWN0aXZhdGluZyB0aGUgcGFkCgkgIFNldCB0aGUgY2FwcyBhZnRlciB3ZSBhY3RpdmF0ZWQgdGhlIHBhZCBvciBlbHNlIGl0IHdpbGwganVzdCBmYWlsLgoKMjAxMi0wMy0wNyAxNDo1NDoxNSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9sYXcvYWxhdy5jOgoJKiBnc3QvbGF3L211bGF3LmM6CgkgIGxhdzogYWRkIGxheW91dCB0byBhdWRpbyBjYXBzCgoyMDEyLTAzLTA3IDE0OjUxOjA5ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xhdy9hbGF3LWRlY29kZS5jOgoJKiBnc3QvbGF3L2FsYXctZGVjb2RlLmg6CgkqIGdzdC9sYXcvbXVsYXctZGVjb2RlLmM6CgkqIGdzdC9sYXcvbXVsYXctZGVjb2RlLmg6CgkgIGxhdzogdXNlIEdzdEF1ZGlvSW5mbwoJICBVc2UgR3N0QXVkaW9JbmZvIHRvIGdlbmVyYXRlIG91dHB1dCBjYXBzLgoKMjAxMi0wMy0wNyAwNDoyMDowMCAtMDUwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRkZW11eDogY292ZXJ0IGFydCB0YWcgdHlwZSBpcyBHc3RTYW1wbGUgbm90IEdzdEJ1ZmZlciBub3cKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3MTUzNAoKMjAxMi0wMy0wNyAxMDoyODo1OCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBwby9QT1RGSUxFUy5pbjoKCSAgcG86IGZpeCBQT1RGSUxFUy5pbiBmb3IgbmV3IHdhdnBhY2twYXJzZSBsb2NhdGlvbiBpbiBzb3VyY2UgdHJlZQoKMjAxMi0wMy0wNiAyMTo0NDozNiAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvdWRwL2dzdHVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgdWRwOiBDaGFuZ2UgdGhlIGRlZmF1bHQgcG9ydCB0byA1MDA0CgkgIHVkcHNyYy91ZHBzaW5rIGFyZSBhbG1vc3QgYWx3YXlzIHVzZWQgd2l0aCBSVFAsIHNvIGxldCdzIHVzZSBhbgoJICBSVFAgcG9ydCBhcyB0aGUgZGVmYXVsdCBwb3J0LiAgSXQncyB1bmNsZWFyIHdoeSA0OTUxIHdhcyB1c2VkLCBpdAoJICBnb2VzIGJhY2sgdG8gZWFybHkgY29tbWl0cyBpbiBDVlMuCgoyMDEyLTAzLTA2IDIxOjM2OjAyIC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIE1lcmdlIGJyYW5jaCAnMC4xMScgb2Ygc3NoOi8vZ2l0LmZyZWVkZXNrdG9wLm9yZy9naXQvZ3N0cmVhbWVyL2dzdC1wbHVnaW5zLWdvb2QgaW50byAwLjExCgoyMDEyLTAzLTA2IDE1OjU4OjIwICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOgoJICBzcGVleGRlYzogdXNlIGJhc2UgY2xhc3MgdGFnIGhhbmRsaW5nIGhlbHBlcgoJICAuLi4gc28gYXMgdG8gZW5zdXJlIHRoZXNlIHRvIGJlIGhhbmRsZWQgYW5kIHNlbnQgYXQgcHJvcGVyIHRpbWUuCgoyMDEyLTAzLTA2IDE0OjI1OjI3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tzdHJlYW1yZWFkZXIuYzoKCSAgd2F2cGFjazogRml4IHBvc3NpYmxlIHVuZGVyZmxvdyBvZiB1bnNpZ25lZCBpbnRlZ2VyIHZhcmlhYmxlCgoyMDEyLTAzLTA2IDE0OjIyOjQzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6CgkgIHhpbWFnZXNyYzogRml4ICdjb21wYXJpc29uIG9mIHVuc2lnbmVkIGV4cHJlc3Npb24gPj0gMCBpcyBhbHdheXMgdHJ1ZScKCSAgVGhpcyB2YXJpYWJsZSBjYW4gbmV2ZXIgYmUgYmVsb3cgemVybyBhbnl3YXkuCgoyMDEyLTAzLTA2IDE0OjE4OjMzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogVXNlIGNvcnJlY3QgZW51bSBmb3IgcmV0dXJuIHZhbHVlcwoKMjAxMi0wMy0wNiAxNDoxNjoyMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGR2ZGVwYXkuYzoKCSAgZHZkZXBheTogRml4ICdjb21wYXJpc29uIG9mIHVuc2lnbmVkIGV4cHJlc3Npb24gPj0gMCBpcyBhbHdheXMgdHJ1ZScgY29tcGlsZXIgd2FybmluZwoJICBUaGlzIHdhcyBhbiBhY3R1YWwgYnVnIGFzIGl0IGNvdWxkJ3ZlIGNhdXNlZCByZWFkaW5nIGZyb20KCSAgaW52YWxpZCBtZW1vcnkgYXJlYXMgd2hlbiB0aGUgaW5wdXQgaXMgYnJva2VuLgoKMjAxMi0wMy0wNiAxMzoyMToxMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2dyZWVkeWguYXNtOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcFRvcC5pbmM6CgkgIGRlaW50ZXJsYWNlOiBGaXggJ3ZhcmlhYmxlICdvbGRieCcgaXMgdW5pbml0aWFsaXplZCB3aGVuIHVzZWQgaGVyZScgY29tcGlsZXIgd2FybmluZ3MKCjIwMTItMDMtMDYgMTM6MTk6MjQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBGaXggJ2ltcGxpY2l0IGNvbnZlcnNpb24gZnJvbSBlbnVtZXJhdGlvbiB0eXBlICdHc3REZWludGVybGFjZUZpZWxkcycgdG8gZGlmZmVyZW50IGVudW1lcmF0aW9uIHR5cGUgJ0dzdERlaW50ZXJsYWNlTW9kZScnIGNvbXBpbGVyIHdhcm5pbmcKCjIwMTItMDMtMDUgMTU6Mjk6NTYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWYuYzoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmLmg6CgkgIGdkazogY2xlYW51cHMgYW5kIGZpeCByb3dzdHJpZGUKCSAgRml4IHRoZSBvdXRwdXQgcm93c3RyaWRlLCB3ZSBuZWVkIHRvIHRha2UgdGhlIHN0cmlkZSBvZiB0aGUgb3V0cHV0IHZpZGVvIGZyYW1lLgoJICBTaW5jZSB3ZSBhcmUgYWxzbyBkZWFsaW5nIHdpdGggcGxhbmVzLCB0YWtlIHRoZSBwbGFuZSBkYXRhIGFuZCBzdHJpZGUuCgkgIERvbid0IHN0b3JlIHRoZSBzYW1lIGluZm8gdHdpY2UgaW4gZGlmZmVyZW50IHZhcmlhYmxlcy4KCjIwMTItMDMtMDUgMTM6MzE6NDQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWYuYzoKCSAgZ2RrcGl4YnVmOiBmaXggZXZlbnQgaGFuZGxpbmcKCjIwMTItMDMtMDUgMTI6MjA6MDcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3dhdnBhY2tkZWMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvd2F2cGFja2VuYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy93YXZwYWNrcGFyc2UuYzoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3dhdnBhY2suYzoKCSAgdGVzdHM6IHBvcnQgd2F2cGFjayB0ZXN0cyB0byAwLjExCgoyMDEyLTAzLTA1IDEzOjM2OjM5ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmg6CgkgIHdhdnBhY2tkZWM6IHBvcnQgdG8gMC4xMQoKMjAxMi0wMy0wNSAxMjoxNzozOSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrY29tbW9uLmM6CgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tjb21tb24uaDoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOgoJICB3YXZwYWNrZW5jOiBwb3J0IHRvIDAuMTEKCjIwMTItMDMtMDUgMTM6MzQ6MzYgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBleHQvd2F2cGFjay9NYWtlZmlsZS5hbToKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFjay5jOgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmg6CgkgIHdhdnBhY2s6IHJlbW92ZSBsZWdhY3kgd2F2cGFja3BhcnNlCgoyMDEyLTAzLTA1IDEyOjE1OjQ0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0d2F2cGFja3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0d2F2cGFja3BhcnNlLmg6CgkqIGdzdC9hdWRpb3BhcnNlcnMvcGx1Z2luLmM6CgkgIGF1ZGlvcGFyc2VyczogcG9ydCB3YXZwYWNrcGFyc2UgdG8gMC4xMQoKMjAxMi0wMy0wNSAxMzoyOTo1OSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgkgIENvbmZsaWN0czoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmMKCSAgc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYwoJICBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5oCgkgIHN5cy92NGwyL2dzdHY0bDJ2aWRlb292ZXJsYXkuYwoKMjAxMi0wMy0wNSAxMjo0MzoxNyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgeC1yYXctYmF5ZXIgLT4geC1iYXllcgoKMjAxMi0wMy0wNSAxMToxNzozMCArMDEwMCAgT2xla3NpaiBSZW1wZWwgKEFsZXhleSBGaXNoZXIpIDxidWctdHJhY2tAZmlzaGVyLXByaXZhdC5uZXQ+CgoJKiBzeXMvdjRsMi9nc3R2NGwyeG92ZXJsYXkuYzoKCSAgdjRsMnNpbms6IGRvbid0IHVzZSBkZXByZWNhdGVkIFhLZXljb2RlVG9LZXlzeW0KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3MTI5OQoJICBTaWduZWQtb2ZmLWJ5OiBPbGVrc2lqIFJlbXBlbCAoQWxleGV5IEZpc2hlcikgPGJ1Zy10cmFja0BmaXNoZXItcHJpdmF0Lm5ldD4KCjIwMTItMDMtMDUgMTI6MDM6MDEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMveGltYWdlL01ha2VmaWxlLmFtOgoJKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOgoJICB4aW1hZ2U6IHVzZSBuZXcgc3R5bGUgY2FwcwoKMjAxMi0wMy0wNSAxMDo0OTozMyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6CgkgIHdhdnBhY2tkZWM6IGFsbG93IHNvbWUgdGltZXN0YW1wIHRvbGVyYW5jZSB0byBhcnJhbmdlIGZvciBwZXJmZWN0IHRpbWVzdGFtcGluZwoJICAuLi4gd2hpY2ggYWxzbyBoYXBwZW5zIHRvIG1ha2Ugc29tZSBtb3JlIHVuaXQgdGVzdHMgcGFzcy4KCjIwMTItMDMtMDUgMTA6NDc6NDQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOgoJICB3YXZwYWNrZGVjOiBmaXggY29weWluZyBvdXRwdXQgZGF0YQoKMjAxMi0wMy0wNSAxMDo0Njo1MSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6CgkgIHdhdnBhY2tlbmM6IHJlc3RvcmUgbGVnYWN5IGJ1ZmZlciBvZmZzZXQgZGVjb3JhdGluZyBzb21ld2hhdAoJICAuLi4gYXQgbGVhc3Qgc3VmZmljaWVudGx5IHRvIGFpZCBpbiByZWNvZ25pemluZyByZXdyaXR0ZW4gaGVhZGVyIGJ1ZmZlcgoJICBtYWtpbmcgdW5pdCB0ZXN0IHBhc3MuCgoyMDEyLTAzLTA1IDEwOjUxOjMzICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3R3YXZwYWNrcGFyc2UuYzoKCSAgd2F2cGFja3BhcnNlOiBpbml0aWFsaXplIGhlYWRlciB0byBzaWxlbmNlIG9sZGVyIGdjYyB2ZXJzaW9ucwoKMjAxMi0wMy0wNSAxMDo0NTo0NiArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOgoJICB3YXZwYWNrcGFyc2U6IHJlbW92ZSBlbXB0eSBsaW5lcyBpbiB2YXJhYmxlIGRlY2xhcmF0aW9ucyBjYXVzZWQgYnkgb2xkIGluZGVudAoKMjAxMi0wMy0wNSAxMDo0NDo1NCArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9qYWNrL2dzdGphY2suaDoKCSAgamFjazogZml4IG9idmlvdXMgd3JvbmcgZGVmaW5pdGlvbiBmb3IgdGhlIG1hc3RlciBmbGFnCgoyMDEyLTAzLTA0IDE5OjU1OjI2ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2phY2svZ3N0amFjay5jOgoJKiBleHQvamFjay9nc3RqYWNrLmg6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb2NsaWVudC5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuaDoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5oOgoJICBqYWNrOiBjaGFuZ2UgdGhlIHRyYW5zcG9ydC1tb2RlIGVudW0gaW50byBmbGFncwoJICBPbmUgY2FuIHVzZSAob3Igbm90IHVzZSkgbWFzdGVyIGFuZCBzbGF2ZSBtb2RlIGluZGVwZW5kZW50bHkuCgoyMDEyLTAzLTAyIDExOjQ5OjAyIC0wNTAwICBBbnRvaW5lIFRyZW1ibGF5IDxoZXhhMDBAZ21haWwuY29tPgoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSAgYXZpbXV4OiBzdXBwb3J0IHVwIHRvIDYgY2hhbm5lbHMgb2YgQUMtMwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjcxMjIwCgoyMDEyLTAzLTAzIDEzOjA0OjQ4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDI6IGNsZWFyIERJU0NPTlQgZmxhZyB3aGVuIHJlY3ljbGluZyBidWZmZXJzIGludG8gdGhlIGJ1ZmZlciBwb29sCgkgIFRoZSBiYXNlIGNsYXNzIG1heSBoYXZlIHNldCB0aGUgRElTQ09OVCBmbGFnIG9uIHRoZSBmaXJzdCBidWZmZXIgcHVzaGVkCgkgIG91dC4gV2UgbmVlZCB0byBjbGVhciB0aGF0IHdoZW4gcmVjeWNsaW5nIGJ1ZmZlcnMgYmFjayBpbnRvIHRoZSBidWZmZXIKCSAgcG9vbCwgb3RoZXJ3aXNlIHdlIGNvbnN0YW50bHkgcHVzaCBvdXQgYnVmZmVycyB3aXRoIHRoZSBkaXNjb250IGZsYWcKCSAgc2V0LCB3aGljaCBtaWdodCB1cHNldCBkb3duc3RyZWFtIGVsZW1lbnRzLCBlc3AuIGZvciBjb21wcmVzc2VkCgkgIGZvcm1hdHMgbGlrZSBtcGVnLXRzLgoKMjAxMi0wMy0wMSAxNDoxNToyOSArMDEwMCAgT2xla3NpaiBSZW1wZWwgKEFsZXhleSBGaXNoZXIpIDxidWctdHJhY2tAZmlzaGVyLXByaXZhdC5uZXQ+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5oOgoJICB2NGwyc3JjOiBmaXggdjRsMl9tdW5tYXAoKSBmb3IgY29tcHJlc3NlZCBmb3JtYXRzCgkgIE1ha2Ugc3VyZSB3ZSBhbHdheXMgY2FsbCBtdW5tYXAoKSB3aXRoIHRoZSBzYW1lIHNpemUgd2UgY2FsbGVkIG1tYXAoKQoJICB3aXRoIGJlZm9yZS4KCSAgQ3VycmVudCB2NGwyc3JjIHVzZXMgdGhlIHNhbWUgc3RydWN0dXJlIGZvciBWSURJT0NfUVVFUllCVUYsIFZJRElPQ19RQlVGCgkgIGFuZCB2NGwyX211bm1hcCBjYWxscy4gVGhlIHByb2JsZW0gaXMgdGhhdCB0aGUgdmlkZW8gYnVmZmVyIHNpemUgKGxlbmd0aCkKCSAgbWF5IHZhcnkgZm9yIGNvbXByZXNzZWQgb3IgZW11bGF0ZWQgYnVmcy4gVklESU9DX1FCVUYgd2lsbCBjaGFuZ2UgaXQgaWYKCSAgd2UgcGFzcyB0aGUgcG9pbnRlciBvZiBhIHY0bDJfYnVmZmVyLiBUaGlzIGlzIHdoeSB3ZSBzaG91bGQgYXZvaWQgdXNpbmcKCSAgc2FtZSB2YXJpYWJsZSBmb3IgbW1hcCBhbmQgdmlkZW8gYnVmZmVycy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3MTEyNgoKMjAxMi0wMy0wMiAxMToxNzozMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9meC9hdWRpb2ZpcmZpbHRlci5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2lpcmZpbHRlci5jOgoJKiBnc3QvZmx2L2dzdGluZGV4LmM6CgkgIGdzdDogVXBkYXRlIGZvciB0aGUgZ3N0bWFyc2hhbC5bY2hdIHJlbW92YWwKCjIwMTItMDMtMDIgMTA6MTM6MDggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlbWl4ZXJjdHJsLmg6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2JhbGFuY2UuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmNvbG9yYmFsYW5jZS5oOgoJICBtaXhlci9jb2xvcmJhbGFuY2U6IFVwZGF0ZSBmb3IgQVBJIGNoYW5nZXMKCjIwMTItMDMtMDEgMTc6MTU6NTcgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYWFsaWIvZ3N0YWFzaW5rLmM6CgkgIGFhc2luazogZml4IHN0cmlkZQoKMjAxMi0wMy0wMSAxMTozNjozNCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QvYXVkaW9wYXJzZXJzL3BsdWdpbi5jOgoJICBhdWRpb3BhcnNlcnM6IGRpc2FibGUgbm9uLXBvcnRlZCB3YXZwYWNrcGFyc2UKCjIwMTItMDMtMDEgMTE6Mjk6NTAgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoJICBDb25mbGljdHM6CgkgIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYwoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2lpcmZpbHRlci5jCgkgIHRlc3RzL2V4YW1wbGVzL3Y0bDIvcHJvYmUuYwoKMjAxMi0wMi0yOSAyMjozMToyMSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWZzaW5rLmM6CgkgIGdka3BpeGJ1ZnNpbms6IHJlbW92ZSBkZXByZWNhdGVkIHByb3BlcnR5CgoyMDEyLTAyLTI5IDIyOjMwOjU2ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zi5jOgoJICBnZGtwaXhidWZzY2FsZTogcmVtb3ZlIGRlcHJlY2F0ZWQgcHJvcGVydHkKCjIwMTItMDItMjkgMjI6Mjg6MDEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWZzaW5rLmM6CgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1ZnNpbmsuaDoKCSAgZ2RrcGl4YnVmc2luazogcG9ydCB0byAwLjExCgoyMDEyLTAyLTI5IDIyOjI1OjIzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nZGtfcGl4YnVmL3BpeGJ1ZnNjYWxlLmM6CgkqIGV4dC9nZGtfcGl4YnVmL3BpeGJ1ZnNjYWxlLmg6CgkgIGdka3BpeGJ1ZnNjYWxlOiBwb3J0IHRvIDAuMTEKCjIwMTItMDItMjkgMjI6MjQ6NDYgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmLmM6CgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zi5oOgoJICBnZGtwaXhidWZkZWM6IHBvcnQgdG8gMC4xMQoKMjAxMi0wMi0yOSAxNzoyNjowMSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3hpbWFnZS94aW1hZ2V1dGlsLmM6CgkqIHN5cy94aW1hZ2UveGltYWdldXRpbC5oOgoJICB1cGRhdGUgZm9yIG1ldGFkYXRhIEFQSSBjaGFuZ2VzCgoyMDEyLTAyLTI4IDEzOjUxOjEwICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0d2F2cGFja3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0d2F2cGFja3BhcnNlLmg6CgkqIGdzdC9hdWRpb3BhcnNlcnMvcGx1Z2luLmM6CgkgIGF1ZGlvcGFyc2VyczogYWRkIGJhc2VwYXJzZSBiYXNlZCB3YXZwYWNrcGFyc2UKCjIwMTItMDItMjggMTE6Mzg6NTkgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMveGltYWdlL3hpbWFnZXV0aWwuYzoKCSAgdXBkYXRlIGZvciBtZXRhZGF0YSB0YWdzCgoyMDEyLTAyLTI3IDIzOjQ2OjE1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy93YXZwYWNrZGVjLmM6CgkgIHdhdnBhY2tkZWM6IGFkanVzdCB0byBhdWRpbyBmb3JtYXQgbGltaXRhdGlvbnMKCSAgLi4uIHdoaWNoIGRvZXMgbm90IGFsbG93IGV4cHJlc3NpbmcgYXJiaXRyYXJ5IGRlcHRoIGluIGEgR3N0QXVkaW9Gb3JtYXQuCgkgIEFsc28gYWRqdXN0IHVuaXQgdGVzdCB0byBtb2RpZmllZCBiZWhhdmlvdXIuCgoyMDEyLTAyLTI3IDIzOjQ2OjA4ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOgoJICB3YXZwYWNrZGVjOiBkZXRlcm1pbmUgZGVwdGggZnJvbSBieXRlcyBwZXIgc2FtcGxlCgkgIC4uLiByYXRoZXIgdGhhbiBmcm9tIGJpdHMgcGVyIHNhbXBsZSwgc2luY2Ugc3BlYyBzdGF0ZXMgdmFsdWVzIGFyZSBhbHJlYWR5CgkgIGxlZnQganVzdGlmaWVkIHcuci50LiBiaXRzIHBlciBzYW1wbGUgYnV0IG5vdCB3LnIudC4gYnl0ZXMgcGVyIHNhbXBsZQoJICAoYW5kIHNvIHRoZSBsYXR0ZXIgZGV0ZXJtaW5lcyB0aGUgbm9ybWFsaXphdGlvbiwgb3IgaW5kaWNhdGVkIGRlcHRoKS4KCjIwMTItMDItMjcgMjM6NDY6MDMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmg6CgkgIHdhdnBhY2tkZWM6IHBvcnQgdG8gYXVkaW9kZWNvZGVyCgoyMDEyLTAyLTI3IDIzOjQ1OjU0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy93YXZwYWNrZW5jLmM6CgkgIHdhdnBhY2tlbmM6IHBvcnQgdG8gYXVkaW9lbmNvZGVyCgkgIEFsc28gYWRqdXN0IHVuaXQgdGVzdCB0byBzbGlnaHRseSBtb2RpZmllZCBiZWhhdmlvdXIuCgoyMDEyLTAyLTI3IDE0OjQ3OjI1ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hbm5vZGV4L2dzdGFubm9kZXguYzoKCSogZXh0L2Fubm9kZXgvZ3N0Y21tbHBhcnNlci5jOgoJKiBleHQvYW5ub2RleC9nc3RjbW1sdGFnLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXByb2JlLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZmlyZmlsdGVyLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvaWlyZmlsdGVyLmM6CgkqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvdWRwL2dzdGR5bnVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSogc3lzL29zczQvb3NzNC1hdWRpby5jOgoJKiBzeXMvb3NzNC9vc3M0LXByb3BlcnR5LXByb2JlLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9maXJmaWx0ZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9paXJmaWx0ZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY21tbGRlYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pbnRlcmxlYXZlLmM6CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy93YXZlbmMuYzoKCSogdGVzdHMvZXhhbXBsZXMvYXVkaW9meC9maXJmaWx0ZXItZXhhbXBsZS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9hdWRpb2Z4L2lpcmZpbHRlci1leGFtcGxlLmM6CgkqIHRlc3RzL2V4YW1wbGVzL3B1bHNlL3B1bHNlLmM6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9zZXJ2ZXItYWxzYXNyYy1QQ01BLmM6CgkqIHRlc3RzL2V4YW1wbGVzL3Y0bDIvcHJvYmUuYzoKCSogdGVzdHMvaWNsZXMvdGVzdC1vc3M0LmM6CgkgIFN1cHByZXNzIGRlcHJlY2F0aW9uIHdhcm5pbmdzIGluIHNlbGVjdGVkIGZpbGVzLCBmb3IgZ192YWx1ZV9hcnJheV8qIG1vc3RseQoKMjAxMi0wMi0yNyAxMzowOTozMSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOgoJICBzcGVleGVuYzogY2hhaW4gdXAgdG8gcGFyZW50IGV2ZW50IGhhbmRsZXIKCjIwMTItMDItMjcgMTM6MDU6MzMgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkgIGZsYWNlbmM6IGZpeCBldmVudCBoYW5kbGluZwoJICBGaXggZG9kZ3kgc2VnbWVudCBldmVudCBoYW5kbGluZwoJICBDaGFpbiB1cCB0byBwYXJlbnQgZXZlbnQgaGFuZGxlcgoKMjAxMi0wMi0yNyAwOToxNDowNCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDI6IHVzZSBwdWJsaWMgYXBpCgkgIGluc3RlYWQgb2YgcG9raW5nIGludG8gdGhlIHByaXZhdGUgc3RydWN0dXJlcyBvZiB0aGUgYmFzZSBjbGFzcwoKMjAxMi0wMi0yNyAwMTowOToxMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgZmx2bXV4LCBtYXRyb3NrYW11eCwgcXRtdXg6IGlmIGluIGRvdWJ0IGFib3V0IGRvd25zdHJlYW0gc2Vla2FiaWxpdHkgZGVmYXVsdCB0byBzdHJlYW1pbmc9dHJ1ZQoJICBJZiBkb3duc3RyZWFtIGRpZG4ndCBhbnN3ZXIgb3VyIFNFRUtJTkcgcXVlcnkgYW5kIHRvbGQgdXMKCSAgaXQncyBzZWVrYWJsZSwgZGVmYXVsdCB0byBzdHJlYW1pbmc9dHJ1ZS4gV2UgY291bGRuJ3QgZG8KCSAgdGhpcyBpbiAwLjEwIGZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSByZWFzb25zLCBidXQgd2UKCSAgY2FuIGluIDAuMTEuIFBsYXkgaXQgc2FmZS4KCjIwMTItMDItMjcgMDE6MDA6MDMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgcmVtb3RlLXRyYWNraW5nIGJyYW5jaCAnb3JpZ2luL21hc3RlcicgaW50byAwLjExCgkgIENvbmZsaWN0czoKCSAgZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5jCgoyMDEyLTAyLTI3IDAwOjU2OjM3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGNvbW1pdCAnZjkyMDc3MjJjYThmZDhkY2MxZTcyMTVkOGFmODVlZmU0ZGViZmRmNCcgaW50byAwLjExCgoyMDEyLTAyLTI3IDAwOjU1OjM4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSAgbXBlZ2F1ZGlvcGFyc2U6IGZpeCB1cCBhZnRlciBtZXJnZQoKMjAxMi0wMi0yNyAwMDo0ODo1NyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBjb21taXQgJzM4NTE2YWQzNjcxMjhkODNmOWUxNTY1MjkwMThhZGI0NDMzY2QzMjgnIGludG8gMC4xMQoJICBDb25mbGljdHM6CgkgIGV4dC9wdWxzZS9wdWxzZWF1ZGlvc2luay5jCgkgIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuYwoKMjAxMi0wMi0yNiAyMDozOTo1MiArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QvZ29vbTJrMS9nc3Rnb29tLmM6CgkgIGdvb20yazE6IGZpeCBjb21waWxlciB3YXJuaW5nCgoyMDEyLTAyLTI2IDIwOjMwOjI0ICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSAgbXBlZ2F1ZGlvcGFyc2U6IGZpeCBjb21waWxlciB3YXJuaW5nCgoyMDEyLTAyLTI1IDE1OjU1OjE1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGNyZWF0ZSBzdHJlYW1hYmxlIG91dHB1dCBpZiBkb3duc3RyZWFtIGlzIG5vdCBzZWVrYWJsZQoJICBJZ25vcmUgdGhlICJzdHJlYW1hYmxlIiBwcm9wZXJ0eSBzZXR0aW5nIGFuZCBjcmVhdGUgc3RyZWFtYWJsZQoJICBvdXRwdXQgaWYgZG93bnN0cmVhbSBpcyBrbm93biBub3QgdG8gYmUgc2Vla2FibGUgKGFzIHF1ZXJpZWQKCSAgdmlhIGEgU0VFS0FCTEUgcXVlcnkpLgoJICBGaXhlcyBwaXBlbGluZXMgbGlrZSBxdG11eCAhIGFwcHNpbmsgcG9zc2libHkgY3JlYXRpbmcgc2VlbWluZ2x5CgkgIGNvcnJ1cHRlZCBvdXRwdXQgaWYgc3RyZWFtYWJsZSBoYXMgbm90IGJlZW4gc2V0IHRvIHRydWUuCgoyMDEyLTAyLTI1IDE1OjQ4OjQ0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkgIGZsdm11eDogY3JlYXRlIHN0cmVhbWFibGUgb3V0cHV0IGlmIGRvd25zdHJlYW0gaXMgbm90IHNlZWthYmxlCgkgIElnbm9yZSB0aGUgInN0cmVhbWFibGUiIHByb3BlcnR5IHNldHRpbmcgYW5kIGNyZWF0ZSBzdHJlYW1hYmxlCgkgIG91dHB1dCBpZiBkb3duc3RyZWFtIGlzIGtub3duIG5vdCB0byBiZSBzZWVrYWJsZSAoYXMgcXVlcmllZAoJICB2aWEgYSBTRUVLQUJMRSBxdWVyeSkuCgkgIEZpeGVzIHBpcGVsaW5lcyBsaWtlIGZsdm11eCAhIGFwcHNpbmsgcG9zc2libHkgY3JlYXRpbmcgc2VlbWluZ2x5CgkgIGNvcnJ1cHRlZCBvdXRwdXQgaWYgc3RyZWFtYWJsZSBoYXMgbm90IGJlZW4gc2V0IHRvIHRydWUuCgoyMDEyLTAyLTI1IDE1OjQwOjM5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IGNyZWF0ZSBzdHJlYW1hYmxlIG91dHB1dCBpZiBkb3duc3RyZWFtIGlzIG5vdCBzZWVrYWJsZQoJICBJZ25vcmUgdGhlICJzdHJlYW1hYmxlIiBwcm9wZXJ0eSBzZXR0aW5nIGFuZCBjcmVhdGUgc3RyZWFtYWJsZQoJICBvdXRwdXQgaWYgZG93bnN0cmVhbSBpcyBrbm93biBub3QgdG8gYmUgc2Vla2FibGUgKGFzIHF1ZXJpZWQKCSAgdmlhIGEgU0VFS0FCTEUgcXVlcnkpLgoJICBGaXhlcyBwaXBlbGluZXMgbGlrZSB3ZWJtbXV4ICEgYXBwc2luayBjcmVhdGluZyBzZWVtaW5nbHkKCSAgY29ycnVwdGVkIG91dHB1dCBpZiBzdHJlYW1hYmxlIGhhcyBub3QgYmVlbiBzZXQgdG8gdHJ1ZS4KCjIwMTItMDItMjQgMTE6MDM6NDggKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y2Fwc3NldHRlci5jOgoJKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9mbGlwLmM6CgkgIHVwZGF0ZSBmb3IgYmFzZXRyYW5zZm9ybSBjaGFuZ2UKCjIwMTItMDItMjQgMTA6MjY6MjYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMveGltYWdlL3hpbWFnZXV0aWwuYzoKCSAgdXBkYXRlIGZvciBtZXRhZGF0YSBjaGFuZ2UKCjIwMTItMDItMjMgMDg6NDI6MjUgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJKiBnc3QvZGVidWd1dGlscy9NYWtlZmlsZS5hbToKCSogZ3N0L2RlYnVndXRpbHMvZWZlbmNlLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2VmZW5jZS5oOgoJKiBnc3QvZGVidWd1dGlscy9lZmVuY2UudmNwcm9qOgoJICBlZmVuY2U6IHJlbW92ZSBwbHVnaW4KCSAgVmFsZ3JpbmQgaXMgbXVjaCBtb3JlIHVzZWZ1bCB0aGVzZSBkYXlzLgoKMjAxMi0wMi0yMyAxMjowNToyMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJICBVcGRhdGUgTkVXUyBhbmQgUkVMRUFTRSBhcyB3ZWxsCgoyMDEyLTAyLTIzIDExOjA3OjM1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFubm9kZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oYWxlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlzb21wNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBCdW1wIHZlcnNpb24gYWZ0ZXIgcmVsZWFzZQoKMjAxMi0wMi0yMyAxMjowMzoyNCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZWNoby5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2VjaG8uaDoKCSogZ3N0L2F1ZGlvZngvYXVkaW9meGJhc2VmaXJmaWx0ZXIuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9meGJhc2VmaXJmaWx0ZXIuaDoKCSogZ3N0L2F1ZGlvZngvYXVkaW9meGJhc2VpaXJmaWx0ZXIuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9meGJhc2VpaXJmaWx0ZXIuaDoKCSAgYXVkaW9meDogcmVtb3ZlIHRyYW5zZm9ybSBsb2NrIHVzYWdlCgoyMDEyLTAyLTIzIDExOjE2OjIxICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5oOgoJKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5jOgoJKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5oOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9iYWxhbmNlLmM6CgkgIHVwZGF0ZSBmb3IgYmFzZXRyYW5zZm9ybSBsb2NrIHJlbW92YWwKCjIwMTItMDItMjIgMjM6MzY6NTQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlYnVndXRpbHMvTWFrZWZpbGUuYW06CgkgIGRlYnVndXRpbHM6IGRpc2FibGUgZWZlbmNlIHBsdWdpbiBwcm9wZXJseQoJICBXZSBkb24ndCB3YW50IGl0IGJ1aWx0IGlmIG1tYXAgaXNuJ3QgYXZhaWxhYmxlIGVpdGhlci4uCgoyMDEyLTAyLTIyIDE3OjM5OjE2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSAgZmxhY2VuYzogZml4IGdldF9jYXBzIGZ1bmN0aW9uIHNvbWUgbW9yZSBzbyB0aGF0IGFsbCBzdHJ1Y3R1cmVzIGhhdmUgY2hhbm5lbCBpbmZvCgkgIFNldCBjaGFubmVscyBhbmQgY2hhbm5lbC1sYXlvdXQgb24gdGhlIHJpZ2h0IHN0cnVjdHVyZTsgdGhhdCBpcywgdGhlCgkgIHN0cnVjdHVyZSB3ZSBhcmUgZ29pbmcgdG8gYXBwZW5kIHRvIHRoZSBjYXBzIHdlIGFyZSBidWlsZGluZywgYW5kIG5vdAoJICB0aGUgc3RydWN0dXJlIHdlIGFyZSB1c2luZyBhcyBhIHRlbXBsYXRlIGZvciBhbGwgdGhlIHN0cnVjdHVyZXMuIEZpeGVzCgkgIGZpcnN0IHN0cnVjdHVyZSBvZiB0aGUgcmV0dXJuZWQgY2FwcyBub3QgaGF2aW5nIGFueSBjaGFubmVsIGluZm8gc2V0CgkgIG9uIGl0LgoKMjAxMi0wMi0yMiAxNzowOToyNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkgIGZsYWNlbmM6IG1pY3Jvb3B0aW1pc2F0aW9uOiBhdm9pZCB1bm5lY2Vzc2FyeSBsaXN0IGFuZCBzdHJpbmcgY29waWVzCgoyMDEyLTAyLTIyIDE3OjAzOjQyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSAgZmxhY2VuYzogYXVkaW8gY2FwcyBoYXZlIGEgKmxpc3QqIG9mIGZvcm1hdHMsIG5vdCBhbiBhcnJheSBvZiBmb3JtYXRzCgkgIEEgbGlzdCBvZiB0aGluZ3MgaW4gY2FwcyBpcyBzb21ldGhpbmcgd2hlcmUgb25lIGlzIHBpY2tlZCBpbiB0aGUKCSAgY291cnNlIG9mIG5lZ290aWF0aW9uLiBBbiBhcnJheSBpcyBhbHdheXMgc29tZXRoaW5nIHRoYXQgb25seSBtYWtlcwoJICBzZW5zZSBhcyBhIHdob2xlIGluIHRoYXQgb3JkZXIuCgoyMDEyLTAyLTIyIDE4OjAyOjI3ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSAgZmxhY2VuYzogcmVtb3ZlIHBvc3QtcG9ydCBib2d1cyBfdW5yZWYKCjIwMTItMDItMjIgMTc6MDA6MTkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJICBmbGFjZW5jOiByZW1vdmUgYm9ndXMgcGFkIGxvY2tpbmcgdGhhdCBjYXVzZXMgZGVhZGxvY2tzCgkgIEl0J3Mgbm90IGNsZWFyIHdoeSB0aGUgcGFkIG9iamVjdCBsb2NrIGlzIHRha2VuIGhlcmUuIEJ1dAoJICBnc3RfcGFkX3toYXMsZ2V0fV9jdXJyZW50X2NhcHMoKSB3aWxsIHRyeSB0byB0YWtlIHRoZSBsb2NrCgkgIGFzIHdlbGwgYW5kIGRlYWRsb2NrLCBzaW5jZSBpdCdzIG5vdCByZWN1cnNpdmUuCgoyMDEyLTAyLTIyIDE2OjU5OjQyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSAgZmxhY2VuYzogc2V0IHJpZ2h0IG51bWJlciBvZiBjaGFubmVscyBvbiBjYXBzIGluIGdldF9jYXBzIGZ1bmN0aW9uCgoyMDEyLTAyLTIxIDE3OjE2OjMyIC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGF1dG9nZW4uc2g6CgkgIGF1dG9nZW46IGF2b2lkIHRvdWNoaW5nIC5wbyBmaWxlcyBkdXJpbmcgJ21ha2UnCgkgIEEgc2ltcGxlIHdvcmthcm91bmQgdG8gZGVhbCB3aXRoIEdOVSBnZXR0ZXh0IGF1dG9tYWtlIGludGVncmF0aW9uCgkgIGZhaWxpbmcgdG8gZGVhbCB3aXRoIGdpdC4gIEZpeGVzOiAjNjY5MjA3CgoyMDEyLTAyLTIyIDAyOjA2OjE3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSogZ3N0L2F2aS9nc3RhdmlzdWJ0aXRsZS5jOgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJKiBnc3QvaXNvbXA0L2F0b21zLmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc3JjLmM6CgkqIGdzdC9ydHAvZ3N0cnRwcWRtZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc2RlcGF5LmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3hpbWFnZS94aW1hZ2V1dGlsLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2RlaW50ZXJsZWF2ZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pbnRlcmxlYXZlLmM6CgkgIHVwZGF0ZSBmb3IgbmV3IG1lbW9yeSBhcGkKCjIwMTItMDItMjEgMTc6NTc6NDQgKzAxMDAgIFZpbmNlbnQgVW50eiA8dnVudHpAZ25vbWUub3JnPgoKCSogZXh0L3B1bHNlL3B1bHNlYXVkaW9zaW5rLmM6CgkgIHB1bHNlOiBGaXggYSBidWlsZCB3YXJuaW5nIHdoZW4gY29tcGlsaW5nIHdpdGggYXNzZXJ0cyBkaXNhYmxlZAoJICBSZXR1cm4gYSB2YWx1ZSBldmVuIGlmIHRoZSBjb2RlIHdpbGwgbmV2ZXIgYmUgcmVhY2hlZCwgdG8gbWFrZSBjb21waWxlcnMKCSAgaGFwcHkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzA1NjEKCjIwMTItMDItMjEgMTg6NDI6MzEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmg6CgkgIG1wZWdhdWRpb3BhcnNlOiBzdXBwb3J0IHBhcnNpbmcgZnJlZWZvcm0gYml0cmF0ZSBzdHJlYW0KCjIwMTItMDItMjEgMTg6Mzk6MTggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvbW9ub3Njb3BlL2dzdG1vbm9zY29wZS5jOgoJKiBnc3QvbW9ub3Njb3BlL2dzdG1vbm9zY29wZS5oOgoJICBtb25vc2NvcGU6IHBvcnQgdG8gMC4xMQoKMjAxMi0wMi0yMSAxMDo1Mzo1NiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCjIwMTItMDItMjAgMTI6MjI6MTIgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSAgcnRwaDI2NHBheTogRm9yY2UgYmFzZWxpbmUgaXMgcHJvZmlsZS1sZXZlbC1pZCBpcyB1bnNwZWNpZmllZAoKMjAxMi0wMi0yMSAxMDo0MDowMCArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdGFnbGliL2dzdGlkM3YybXV4LmNjOgoJICBpZDN2Mm11eDogRml4IG1lcmdlIGVycm9yCgoyMDEyLTAyLTIwIDEyOjIyOjEyIC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkgIHJ0cGgyNjRwYXk6IEZvcmNlIGJhc2VsaW5lIGlzIHByb2ZpbGUtbGV2ZWwtaWQgaXMgdW5zcGVjaWZpZWQKCjIwMTItMDItMjAgMTY6MzU6MTggKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJICBmaXggY29tcGlsZXIgd2FybmluZ3MKCjIwMTItMDEtMjYgMDM6Mjk6MjggLTA1MDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICBmaXggY29tcGlsZXIgd2FybmluZ3MKCjIwMTItMDEtMjYgMDY6NTg6NDYgLTA1MDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkgIEZpeCBjb21waWxlciB3YXJuaW5ncwoKMjAxMi0wMi0xOCAxMTozODozNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9sZXZlbC5jOgoJICB0ZXN0czogZml4IHVwIGxldmVsIHRlc3QgZm9yIEdzdFZhbHVlTGlzdCAtPiBHVmFsdWVBcnJheSBjaGFuZ2UKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3MDMwMwoKMjAxMi0wMi0xNiAxODowMToyOSArMDIwMCAgUGV0ZXJpcyBLcmlzamFuaXMgPHBlY2lza0BnbWFpbC5jb20+CgoJKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzoKCSAgbGV2ZWw6IHVzZSBHVmFsdWVBcnJheSBpbnN0ZWFkIG9mIEdzdFZhbHVlTGlzdCBpbiBtZXNzYWdlcwoJICBVcGRhdGVkIEdzdExldmVsIGVsZW1lbnQgdG8gdXNlIEdWYWx1ZUFycmF5IGluc3RlYWQgb2YKCSAgR3N0VmFsdWVMaXN0IGZvciBybXMvcGVhay9kZWNheSBrZXlzIGF0dGFjaGVkIHRvIGVsZW1lbnQKCSAgbWVzc2FnZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3MDMwMwoKMjAxMi0wMi0xOCAwMDowMDo1NCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgd2luMzI6IGJhY2sgdG8gZGV2ZWxvcG1lbnQKCjIwMTItMDItMTcgMjM6NTQ6MjkgKzAxMDAgIERvbWluaXF1ZSBMZXVlbmJlcmdlciA8ZG9taW5pcXVlLWdub21lemlsbGEgYXQgbGV1ZW5iZXJnZXIubmV0PgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICBObyBsb25nZXIgcmVmZXJlbmNlIGRlcHJlY2F0ZWQgaGVhZGVyIGZpbGVzIHdoaWxlIGJ1aWxkaW5nIGRvY3MuCgoyMDEyLTAyLTE3IDIzOjQ5OjIxICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoJICBDb25mbGljdHM6CgkgIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmMKCjIwMTItMDItMTcgMTc6MjE6NTMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzoKCSAgZXF1YWxpemVyOiBmaXggc3dpdGNoaW5nIGZyb20gcGFzc3Rocm91Z2ggdG8gbm9uLXBhc3N0aHJvdWdoIHdoZW4gcGFyYW1ldGVycyBjaGFuZ2UKCSAgY29tbWl0IGI1YmYwMjk0IG1vdmVkIHRoZSBpZihuZWVkX25ld19jb2VmZmljaWVudHMpIHNldF9wYXNzdGhyb3VnaChlcXUpCgkgIGFmdGVyIHRoZSBpZihpc19wYXNzdGhyb3VnaCkgcmV0dXJuIEZMT1dfT0sgc2hvcnRjdXQsIHNvIHRoZSBwYXNzdGhyb3VnaAoJICBtb2RlIHdvdWxkIG5ldmVyIGdldCB1cGRhdGVkIGV2ZW4gaWYgdGhlIGNvZWZmaWNpZW50cyBjaGFuZ2UuCgkgIEZpeGVzIGVxdWFsaXplci10ZXN0IGRvaW5nIC4uIG5vdGhpbmcuCgoyMDEyLTAyLTE3IDE3OjU3OjAzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nb29tL2dzdGdvb20uYzoKCSogZ3N0L2dvb20yazEvZ3N0Z29vbS5jOgoJICBnb29tKjogZml4IGxlYWtlZCBjYXBzIGV2ZW50CgoyMDEyLTAyLTE3IDEzOjI2OjUzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSAgbXBlZ2F1ZGlvcGFyc2U6IHBhcnNlIGVpdGhlciBYaW5nIG9yIFZCUkkgZGF0YQoJICAuLi4gYW5kIGF2b2lkIGNvbmZ1c2luZyBkZWJ1ZyBtZXNzYWdlIGNsYWltaW5nIG5laXRoZXIgcHJlc2VudC4KCjIwMTItMDItMTcgMTQ6Mzg6MDMgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9zazogZml4IHNlZ21lbnQgdXBkYXRlCgoyMDEyLTAyLTE3IDExOjA1OjI3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBiYWNrIHRvIGRldmVsb3BtZW50Cgo9PT0gcmVsZWFzZSAwLjExLjEgPT09CgoyMDEyLTAyLTE3IDExOjA0OjQ3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLnNpZ25hbHM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFubm9kZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pc29tcDQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiBnc3QtcGx1Z2lucy1nb29kLmRvYXA6CgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VvLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkqIHdpbjMyL2NvbW1vbi9nc3RydHBiaW4tbWFyc2hhbC5jOgoJKiB3aW4zMi9jb21tb24vZ3N0cnRwYmluLW1hcnNoYWwuaDoKCSAgUkVMRUFTRSAwLjExLjEKCjIwMTItMDItMTYgMjM6MzM6MTUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dvb20vZ3N0Z29vbS5jOgoJICBnb29tOiBmaXggYnVmZmVyIGxlYWsKCjIwMTItMDItMTYgMjM6NDA6NTggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dvb20yazEvZ3N0Z29vbS5jOgoJICBnb29tMmsxOiB1c2Ugc29tZSBtb3JlIGJvaWxlcnBsYXRlCgoyMDEyLTAyLTE2IDIzOjMzOjAxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2dvb20yazEvZ3N0Z29vbS5jOgoJKiBnc3QvZ29vbTJrMS9nc3Rnb29tLmg6CgkgIGdvb20yazE6IHBvcnQgdG8gMC4xMQoKMjAxMi0wMi0xNiAxNTozMTo1MyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc2hvdXQyL2dzdHNob3V0Mi5jOgoJICBzaG91dDI6IHVzZSBzb21lIG1vcmUgYm9pbGVycGxhdGUKCjIwMTItMDItMTYgMTU6Mjk6MzQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvc2hvdXQyL2dzdHNob3V0Mi5jOgoJICBzaG91dDI6IHBvcnQgdG8gMC4xMQoKMjAxMi0wMi0xNCAxMTo1NjowMCArMDEwMCAgUGhpbGlwcGUgTm9ybWFuZCA8cGhpbG5AaWdhbGlhLmNvbT4KCgkqIGdzdC9pbnRlcmxlYXZlL01ha2VmaWxlLmFtOgoJKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6CgkqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuaDoKCSogZ3N0L2ludGVybGVhdmUvcGx1Z2luLmM6CgkqIGdzdC9pbnRlcmxlYXZlL3BsdWdpbi5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pbnRlcmxlYXZlLmM6CgkgIGludGVybGVhdmU6IHBvcnQgdG8gMC4xMQoJICBQb3J0IG9mIHRoZSBpbnRlcmxlYXZlIGVsZW1lbnQgYW5kIGl0cyB1bml0dGVzdHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Njk2NDMKCjIwMTItMDItMTYgMTQ6MjM6NTAgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgoyMDEyLTAyLTE2IDE3OjE0OjIwICswODAwICBHYXJ5IENoaW5nLVBhbmcgTGluIDxjaGluZ3BhbmdAZ21haWwuY29tPgoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJICB2NGwyc3JjOiBmYWlsdXJlIHRvIHF1ZXJ5IHNvbWUgb3B0aW9uYWwgY29udHJvbHMgaXMgbm90IGEgZmF0YWwgZXJyb3IKCSAgRG9uJ3QgcG9zdCBhIChmYXRhbCkgZXJyb3IgbWVzc2FnZSBvbiB0aGUgYnVzIGp1c3QgYmVjYXVzZSB3ZQoJICBmYWlsZWQgdG8gcXVlcnkgc29tZSBjb250cm9sLiBGaXhlcyBpc3N1ZSB3aXRoIGJ1aWx0LWluCgkgIFN1eWluIENvcnAgd2ViY2FtIGZvciBIUCBub3RlYm9vayAodXNiaWQgMDY0ZTplMjhhKSBvbgoJICBPcGVuU3VzZSAxMi4xLCB3aGVyZSBxdWVyeWluZyByZWQvYmx1ZSBiYWxhbmNlIGZhaWxzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjcwMTk3CgoyMDEyLTAyLTE2IDEyOjU5OjEwICswMDAwICBUdXVra2EgUGFzYW5lbiA8dHV1a2thLnBhc2FuZW5AaWxtaS5maT4KCgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSAgdjRsMnNyYzogZml4IGZvciB3ZWJjYW1zdHVkaW8gdmxvb3BiYWNrCgkgIEJlY2F1c2Ugdmxvb2JhY2sgZW1pdHMgMjUgLSBFTk9UVFkgYW5kIG5vIEVJTlZBTCB2NGwyc3JjIHRob3VnaHQgaXQKCSAgY2FuJ3QgaGFuZGxlIHRoaXMgYW5kIGRvZXMgbm90IHdvcmsuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Njk0NTUKCjIwMTItMDItMTYgMTE6MjE6MjggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogZGVjbGFyZSB2YXJpYWJsZXMgYXQgdGhlIGJlZ2lubmluZyBvZiB0aGUgYmxvY2sKCSAgSXQncyBob3cgd2Ugcm9sbC4gRml4ZXMgJ0lTTyBDOTAgZm9yYmlkcyBtaXhlZCBkZWNsYXJhdGlvbnMgYW5kIGNvZGUnCgkgIGNvbXBpbGVyIHdhcm5pbmcuCgoyMDEyLTAyLTE1IDIzOjU1OjQ0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL3NwZWN0cnVtL01ha2VmaWxlLmFtOgoJICBleGFtcGxlczogZml4IHNwZWN0cnVtIGV4YW1wbGUgYnVpbGQgaXNzdWVzCgkgIEZpbmQgZmZ0IGhlYWRlcnMgaW4gdW5pbnN0YWxsZWQgc2V0dXAsIGZpeCBMSUJTIG9yZGVyLgoKMjAxMi0wMi0xNSAxMjo0MTo0MyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSAgYWFjcGFyc2U6IHJlbW92ZSBzb21lIHVudXNlZCBkZWNsYXJhdGlvbnMKCjIwMTItMDItMTUgMTE6MjU6NDUgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9leGFtcGxlcy9zcGVjdHJ1bS9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvc3BlY3RydW0vZGVtby1hdWRpb3Rlc3QuYzoKCSAgc3BlY3RydW0tZGVtbzogc2hvdyB0aGUgZWZmZWN0IG9mIGZhc3QtbW9kZQoKMjAxMi0wMi0xNCAxMjoyNjozNyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2Nyb3AvZ3N0YXNwZWN0cmF0aW9jcm9wLmM6CgkgIGFzcGVjdHJhdGlvY3JvcDogZml4IGNhcHMgcmVmY291bnQKCjIwMTItMDItMTQgMTE6MjI6NDYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvZWZmZWN0di5jOgoJICB0ZXN0czogZml4IHRlc3QsIHVzZSB2aWRlb2NvbnZlcnQKCjIwMTItMDItMTQgMTA6NTE6MzggKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgkgIENvbmZsaWN0czoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvZmxhY3BhcnNlLmMKCjIwMTItMDItMDkgMTM6NDE6NTMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YW1ycGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RkY2FwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkgIGF1ZGlvcGFyc2VyczogYWRqdXN0IHRvIG1vZGlmaWVkIGJhc2VwYXJzZSBBUEkKCjIwMTItMDItMTMgMTc6MTM6MTcgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSAgdXBkYXRlIGZvciBtZW1vcnkgYXBpIGNoYW5nZQoKMjAxMi0wMi0xMyAxMjowNjozNyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9mbGFjcGFyc2UuYzoKCSAgdGVzdHM6IGZsYWNwYXJzZTogY2hlY2sgYW5kIGNvbXBhcmUgaW50ZW5kZWQgZGF0YQoKMjAxMi0wMi0xMiAxNzowMzozNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSByZW1vdGUtdHJhY2tpbmcgYnJhbmNoICdvcmlnaW4vbWFzdGVyJyBpbnRvIDAuMTEKCSAgQ29uZmxpY3RzOgoJICBleHQvdGFnbGliL2dzdGFwZXYybXV4LmNjCgkgIGV4dC90YWdsaWIvZ3N0aWQzdjJtdXguY2MKCSAgZXh0L3RhZ2xpYi9nc3R0YWdsaWJtdXguYwoJICBleHQvdGFnbGliL2dzdHRhZ2xpYm11eC5oCgoyMDEyLTAyLTEyIDE2OjIyOjIxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC90YWdsaWIvTWFrZWZpbGUuYW06CgkqIGV4dC90YWdsaWIvZ3N0YXBldjJtdXguY2M6CgkqIGV4dC90YWdsaWIvZ3N0YXBldjJtdXguaDoKCSogZXh0L3RhZ2xpYi9nc3RpZDN2Mm11eC5jYzoKCSogZXh0L3RhZ2xpYi9nc3RpZDN2Mm11eC5oOgoJKiBleHQvdGFnbGliL2dzdHRhZ2xpYm11eC5jOgoJKiBleHQvdGFnbGliL2dzdHRhZ2xpYm11eC5oOgoJKiBleHQvdGFnbGliL2dzdHRhZ2xpYnBsdWdpbi5jOgoJICB0YWdsaWI6IHBvcnQgdG8gR3N0VGFnTXV4IGJhc2UgY2xhc3MKCjIwMTItMDItMTIgMTI6MjQ6NTAgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3RhZ2xpYi9nc3R0YWdsaWJtdXguYzoKCSAgdGFnbGliOiBmaW5pc2ggb2ZmIGEgZmV3IG1pc3NlZCB2YXJpYWJsZSBjaGFuZ2VzCgkgIExvY2FsIHZhcmlhYmxlcyBhcmUgbm93IHVudXNlZCwgYW5kIHRoZSB2YWx1ZXMgZnJvbSB0aGUgc2VnbWVudCBjb3B5CgkgIGFyZSB1c2VkIGluc3RlYWQsIHNvIHJlbW92ZSB0aGUgbm93IHVzZWxlc3MgbG9jYWwgdmFyaWFibGVzIGFuZCB3cml0ZQoJICB0byB0aGUgc2VnbWVudCB3aGVyZSBhcHByb3ByaWF0ZS4KCjIwMTItMDItMTAgMTY6MjM6MTQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgkgIENvbmZsaWN0czoKCSAgZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jCgkgIGV4dC9qYWNrL2dzdGphY2thdWRpb2NsaWVudC5jCgkgIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYwoJICBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYwoJICBleHQvcHVsc2UvcGx1Z2luLmMKCSAgZXh0L3Nob3V0Mi9nc3RzaG91dDIuYwoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmMKCSAgZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmMKCjIwMTItMDItMDggMjM6MDM6MjggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkgIHJ0cGgyNjRwYXk6IGFkZCBzdHJlYW0tZm9ybWF0IGFuZCBhbGlnbm1lbnQgdG8gaDI2NCBzaW5rIGNhcHMKCSAgV2UncmUgaGFwcHkgdG8gYWNjZXB0IGJvdGggYnl0ZS1zdHJlYW0gYW5kIGF2YywgYWR2ZXJ0aXNlCgkgIHRoYXQgb24gdGhlIHNpbmsgY2FwcyBhbmQgZml4IHVwIF9nZXRfY2FwcygpIGZ1bmN0aW9uIHRvCgkgIG5vdCBqdXN0IHJldHVybiAidmlkZW8veC1oMjY0Ii4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYwNjY2MgoKMjAxMi0wMi0wOCAyMDo1ODowNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOgoJICBydHBoMjY0ZGVwYXk6IGFkZCBzdHJlYW0tZm9ybWF0IGFuZCBhbGlnbm1lbnQgZmllbGRzIHRvIHNyYyB0ZW1wbGF0ZSBjYXBzCgkgIEJlY2F1c2Ugd2UgY2FuLiBBbmQgc28gd2UgZ2V0IGEgd2FybmluZyBpZiB3ZSB0cnkgdG8gb3V0cHV0IGF2YyB3aXRoCgkgIG5hbCBhbGlnbm1lbnQgb3Igc29tZXN1Y2guCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MDY2NjIKCjIwMTItMDItMTAgMTM6NDQ6NDMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwLXBheWxvYWRpbmcuYzoKCSAgdGVzdHM6IGNsZWFuIHVwIHJ0cC1wYXlsb2FkaW5nIHRlc3QgYSBsaXR0bGUKCSAgRmVlZCBkYXRhIGludG8gdGhlIHBpcGVsaW5lIHVzaW5nIGFwcHNyYyBpbnN0ZWFkIG9mIGZkc3JjIGFuZAoJICBhIHBpcGUuIFN0b3JlIHVuc2lnbmVkIGJ5dGUgdmFsdWVzIGluIGd1aW50OCBpbnN0ZWFkIG9mIGNoYXIuCgkgIEdldHRpbmcgcmlkIG9mIHRoZSBjYXBzZmlsdGVyIGFsc28gaGVscHMgdG8gYXZvaWQgJ2Zvcm1hdCBpcwoJICBub3QgZnVsbHkgc3BlY2lmaWVkJyB3YXJuaW5ncyB3aGVuIHB1c2hpbmcgInZpZGVvL3gtaDI2NCIgZGF0YQoJICBpbnRvIHJ0cGgyNjRwYXkgd2l0aCBmdWxseSBzcGVjaWZpZWQgaDI2NCBjYXBzIGluIHRoZSBzaW5rIHRlbXBsYXRlLgoKMjAxMi0wMi0xMCAxMDowNzozNCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx2OiB1c2UgZGVmYXVsdCBwYWQgcXVlcnkKCSAgV2UgbmVlZCB0byBjaGFpbiB1cCB1bmtub3duIHF1ZXJpZXMgdG8gdGhlIGRlZmF1bHQgcXVlcnkgaGFuZGxlciBpbnN0ZWFkIG9mCgkgIGJsaW5kbHkgZm9yd2FyZGluZyB0aGVtLiBJbiB0aGlzIGNhc2UgaXQgY2F1c2VkIHRoZSBjYXBzIHF1ZXJ5IHRvIGJlIGZvcndhcmRlZAoJICB0byB0aGUgdXBzdHJlYW0gdHlwZWZpbmQgYW5kIHJldHVybiB0aGUgd3JvbmcgdHlwZSBmb3IgdGhlIGF1ZGlvL3ZpZGVvIHBhZC4KCjIwMTItMDItMDkgMjI6MTI6MTQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBlZ2F1ZGlvcGFyc2UuYzoKCSAgdGVzdHM6IG1wZWdhdWRpb3BhcnNlOiByZW1vdmUgc3RyYXkgZGVjbGFyYXRpb24KCjIwMTItMDItMDkgMjI6MDc6NDggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogY29ycmVjdGx5IHNldCBBRElGIHNyYyBjYXBzCgoyMDEyLTAyLTA5IDIyOjEwOjA3ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSAgYWMzcGFyc2U6IHByZXZlbnQgYSBmZXcgZGlyZWN0IGV4aXRzIHdpdGhvdXQgY2xlYW51cAoKMjAxMi0wMi0wOSAyMjowNzoxOCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkgIGZsYWNkZWM6IHNoaWZ0IGluIHByb3BlciBkaXJlY3Rpb24gZm9yIGF1ZGlvIHNhbXBsZSBjb252ZXJzaW9uCgoyMDEyLTAyLTA5IDE4OjA5OjQ1ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGVpbnRlcmxlYXZlLmM6CgkgIHRlc3RzOiBmaXggY29tcGlsYXRpb24KCjIwMTItMDItMDkgMTA6MTE6NDggKzAxMDAgIE1hcmMgTGVlbWFuIDxtYXJjLmxlZW1hbkBnbWFpbC5jb20+CgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJICBtdWx0aXVkcHNpbms6IHR5cG8gZml4IChieXRlcyBzZW5kIC0+IGJ5dGVzIHNlbnQpCgoyMDEyLTAyLTA4IDE2OjM0OjAwICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzoKCSogZXh0L3JhdzEzOTQvZ3N0ZHYxMzk0c3JjLmM6CgkqIGV4dC9yYXcxMzk0L2dzdGhkdjEzOTRzcmMuYzoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOgoJKiBnc3QvZWZmZWN0di9nc3RxdWFyay5jOgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkqIGdzdC9pbWFnZWZyZWV6ZS9nc3RpbWFnZWZyZWV6ZS5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdGZpbGVzcmMuYzoKCSogZ3N0L3JlcGxheWdhaW4vZ3N0cmdhbmFseXNpcy5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6CgkgIEdTVF9GTE9XX1dST05HX1NUQVRFIC0+IEdTVF9GTE9XX0ZMVVNISU5HCgoyMDEyLTAyLTA4IDE2OjM3OjEzICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIEdTVF9GTE9XX1dST05HX1NUQVRFIC0+IEdTVF9GTE9XX0ZMVVNISU5HCgoyMDEyLTAyLTA3IDE0OjEwOjQ0IC0wODAwICBSYWxwaCBHaWxlcyA8Z2lsZXNAbW96aWxsYS5jb20+CgoJKiBleHQvc2hvdXQyL2dzdHNob3V0Mi5jOgoJICBzaG91dDJzZW5kOiBzZW5kIHZpZGVvL3dlYm0gdGhyb3VnaCBsaWJzaG91dC4KCSAgVGhpcyByZXF1aXJlcyBTSE9VVF9GT1JNQVRfV0VCTSwgYWRkZWQgaW4gbGlic2hvdXQgMi4zLjAsCgkgIHNvIHZpZGVvL3dlYm0gc3VwcG9ydCBpcyBjb250aW5nZW50IG9uIHRoYXQgc3ltYm9sIGJlaW5nCgkgIGRlZmluZWQuCgkgIEFsc28gYW4gaW5kZW50YXRpb24gY2hhbmdlIHJlcXVpcmVkIGJ5IHRoZSBwcmUtY29tbWl0IGhvb2suCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Njk1OTAKCjIwMTItMDEtMzAgMTY6NDA6MTkgKzAxMDAgIFBoaWxpcHBlIE5vcm1hbmQgPHBoaWxuQGlnYWxpYS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9pbnRlcmxlYXZlL01ha2VmaWxlLmFtOgoJKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYzoKCSogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmg6CgkqIGdzdC9pbnRlcmxlYXZlL3BsdWdpbi5jOgoJKiBnc3QvaW50ZXJsZWF2ZS9wbHVnaW4uaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGVpbnRlcmxlYXZlLmM6CgkgIGRlaW50ZXJsZWF2ZTogcG9ydCB0byAwLjExCgkgIFBvcnQgb2YgdGhlIGRlaW50ZXJsZWF2ZSBlbGVtZW50IGFuZCBpdHMgdW5pdHRlc3RzLiBUaGUgaW50ZXJsZWF2ZQoJICBlbGVtZW50IHdpbGwgYmUgcG9ydGVkIGFzIHBhcnQgb2YgYW5vdGhlciBwYXRjaCwgaGVuY2UgZGlzYWJsaW5nIGl0CgkgIGZvciBub3cuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Njg4NDcKCjIwMTItMDItMDcgMjM6NDE6MTMgKzAyMDAgIFJhaW1vIErDpHJ2aSA8cmFpbW8uamFydmlAZ21haWwuY29tPgoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5oOgoJICBkaXJlY3Rzb3VuZHNpbms6IEZpeCBjb21waWxpbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2OTYwNwoKMjAxMi0wMi0wOCAwMDowODo0OSArMDIwMCAgUmFpbW8gSsOkcnZpIDxyYWltby5qYXJ2aUBnbWFpbC5jb20+CgoJKiBzeXMvd2F2ZWZvcm0vZ3N0d2F2ZWZvcm1zaW5rLmM6CgkgIHdhdmVmb3Jtc2luazogUG9ydCB0byAwLjExCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Njk2MTIKCjIwMTItMDItMDcgMjE6NTc6NDcgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9jbGllbnQuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSAgamFjazogcmV3b3JrIHRyYW5zcG9ydCBzdXBwb3J0CgkgIE1vdmUgY29tbW9uIGNvZGUgdG8gamFja2NsaWVudC4gVGhlcmUgd2UgY2FuIGFsc28gaGFuZGxlIHRoZSByZXF1ZXN0IHN0YXRlCgkgIG1lc3NhZ2UgaW4gYSBiZXR0ZXIgd2F5LCBhcyB0aGUgZWxlbWVudCBjYWxsYmFja3MgYXJlIG9ubHkgcnVuIGlmIHRoZSBlbGVtZW50IGlzCgkgIGFjdGl2ZS4KCjIwMTItMDItMDcgMTA6NDc6MTkgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hcGV2Mm11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pZDN2Mm11eC5jOgoJICB0ZXN0czogaW1wcm92ZSB0YWdtdXggdGVzdHMKCjIwMTItMDItMDcgMTA6Mjk6MTEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdGFnbGliL2dzdHRhZ2xpYm11eC5jOgoJICB0YWdsaWI6IGZpeCBvYmplY3QgcmVnaXN0cmF0aW9uCgkgIFdlIGNhbid0IHVzZSBHX0RFRklORV9UWVBFIGJlY2F1c2UgdGhlIGNsYXNzIGlzIG5vdCBzZXQgaW4gdGhlIGNsYXNzX2luaXQgYW5kIHdlCgkgIG5lZWQgaXQgdG8gZ2V0IHRoZSBzcmNwYWQgdGVtcGxhdGUuCgkgIEZpeCBhIGNhcHMgbGVhawoKMjAxMi0wMi0wNyAxMDoxNjozMiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2pwZWdlbmMuYzoKCSAgdGVzdHM6IGZpeCBqcGVnIHRlc3QKCjIwMTItMDItMDcgMTA6MTU6NTEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwOiBmaXggY2FwcwoKMjAxMi0wMi0wNyAwOTo1NDowMCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lZmZlY3R2L2dzdGRpY2UuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0c2hhZ2FkZWxpYy5jOgoJICBlZmZlY3R0djogZml4IGluaXRpYWxpc2F0aW9uCgoyMDEyLTAyLTA3IDA5OjQyOjA0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzoKCSAgeTRtOiBmaXggbmVnb3RpYXRpb24KCjIwMTItMDItMDcgMDk6NDE6NTEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb2ZpbHRlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy95NG1lbmMuYzoKCSAgdGVzdHM6IGZpeCBtb3JlIHRlc3RzCgoyMDEyLTAyLTA2IDIyOjEzOjUzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2R2L01ha2VmaWxlLmFtOgoJKiBleHQvZHYvZ3N0ZHZkZWMuYzoKCSogZXh0L2R2L2dzdGR2ZGVjLmg6CgkqIGV4dC9kdi9nc3RkdmRlbXV4LmM6CgkqIGV4dC9kdi9nc3RkdmRlbXV4Lmg6CgkgIGR2OiBwb3J0IHRvIDAuMTEKCjIwMTItMDItMDYgMTg6MzU6MDEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ2xpbWl0ZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcmd2b2x1bWUuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc3BlY3RydW0uYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9jcm9wLmM6CgkgIHRlc3Q6IGZpeCBtb3JlIHRlc3RzCgoyMDEyLTAyLTA2IDE1OjUyOjQ5ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaWQzZGVtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbGV2ZWwuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXVsdGlmaWxlLmM6CgkgIHRlc3RzOiBmaXggbW9yZSB0ZXN0cwoKMjAxMi0wMi0wNiAxNTo1MjozNiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvTWFrZWZpbGUuYW06CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSAgZmx2OiBmaXggY2FwcwoKMjAxMi0wMi0wNiAxNToyMDo1NSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2VxdWFsaXplci5jOgoJICBpaXJlcXVhbGl6ZXI6IGZpeCBlcXVhbGl6ZXIgYW5kIHVuaXQgdGVzdAoKMjAxMi0wMi0wNiAxMzo0NDoyMCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvcGFub3JhbWEuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW93c2luY2JhbmQuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW93c2luY2xpbWl0LmM6CgkgIHRlc3RzOiBmaXggc29tZSBtb3JlIHRlc3RzCgoyMDEyLTAyLTA2IDEzOjQzOjQ5ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSAgYXZpbXV4OiB0YWtlIHRoZSBwYWQgZnJvbSBjb2xsZWN0cGFkczIgY29ycmVjdGx5CgoyMDEyLTAyLTA2IDEzOjI5OjI0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9paXJmaWx0ZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9pbnZlcnQuYzoKCSAgdGVzdHM6IGZpeCBtb3JlIHVuaXQgdGVzdHMKCjIwMTItMDItMDYgMTM6Mjg6NTUgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9meC9hdWRpb2R5bmFtaWMuYzoKCSAgYXVkaW9keW5hbWljOiBmaXggbmVnb3RpYXRpb24KCjIwMTItMDEtMjggMTE6MTM6MTYgKzAxMDAgIE5pY29sYSBNdXJpbm8gPG5pY29sYS5tdXJpbm9AZ21haWwuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IGF2b2lkIHBvc3RpbmcgaW52YWxpZCBkdXJhdGlvbiBmb3IgZWFjaCBmcmFtZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY2NTgzCgoyMDEyLTAyLTA2IDEwOjA3OjA2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9hbXBsaWZ5LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvY2hlYmJhbmQuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9jaGVibGltaXQuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9keW5hbWljLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvZWNoby5jOgoJICB0ZXN0czogZml4IG1vcmUgdGVzdHMKCjIwMTItMDItMDYgMDk6NDk6MzggKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hc3BlY3RyYXRpb2Nyb3AuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcmdhbmFseXNpcy5jOgoJICB0ZXN0czogaW1wcm92ZSBzb21lIHRlc3RzCgoyMDEyLTAyLTA2IDA5OjIzOjQ5ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwaml0dGVyYnVmZmVyLmM6CgkgIHRlc3RzOiBmaXggaml0dGVyYnVmZmVyIHRlc3QKCjIwMTItMDItMDYgMDk6MjM6MDcgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBmaXggY2FwcyBhZnRlciBwdCBjaGFuZ2UKCjIwMTItMDItMDYgMDk6MTg6MTcgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBmaXggY2FwcyBsZWFrCgoyMDEyLTAyLTAzIDIyOjA1OjU5ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wbHVnaW4uYzoKCSAgcHVsc2VhdWRpb3Npbms6IExvd2VyIHJhbmsgdG8gcHJldmVudCBhdXRvcGx1Z2dpbmcKCSAgcHVsc2VhdWRpb3NpbmsgYnJlYWtzIHZpc3VhbGlzYXRpb25zIGluIGl0cyBjdXJyZW50IGZvcm0sIHNvIGxldCdzCgkgIHByZXZlbnQgaXQgZnJvbSBiZWluZyBhdXRvcGx1Z2dlZCBmb3IgdGhlIHRpbWUgYmVpbmcuCgkgIFRoZSBiZXN0IHdlIGNhbiBob3BlIHRvIGRvIGluIHRoZSAwLjEwIHNlcmllcyBpcyBxdWVyeSB0aGUgbGlzdCBvZgoJICBhdmFpbGFibGUgc2lua3MgYW5kIHRoZWlyIGZvcm1hdHMsIGFuZCBleHBvc2UgdGhlc2UgYXMgdGhlIGJpbidzIHNpbmtwYWQKCSAgY2Fwcy4gV2hpbGUgdGhpcyBpcyBub3QgYSBjb21wcmVoZW5zaXZlIHNvbHV0aW9uLCBpdCB3aWxsIG1ha2Ugc3VyZSB0aGF0CgkgIHdlJ3JlIG9ubHkgdHJ5aW5nIHRvIHN1cHBvcnQgY29tcHJlc3NlZCBmb3JtYXRzIGlmIHdlJ3JlIGNlcnRhaW4gdGhhdAoJICBvbmUgZXhpc3RzLgoJICBUaGUgbG9uZy10ZXJtIGZpeCBmb3IgdGhpcyB3aWxsIGJlIGluIHRoZSBmb3JtIG9mIHByb3BlciB1cHN0cmVhbQoJICByZW5lZ290aWF0aW9uIHN1cHBvcnQgaW4gdGhlIDAuMTEvMS4wIHNlcmllcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NjM2MQoKMjAxMi0wMi0wMyAxNzoyMzo0OCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NtbWxkZWMuYzoKCSAgdGVzdHM6IGZpeCBtb3JlIHRlc3RzCgoyMDEyLTAyLTAzIDE2OjEzOjUxICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXBldjJtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9maXJmaWx0ZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9paXJmaWx0ZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY21tbGRlYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pZDN2Mm11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pbnRlcmxlYXZlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3BhcnNlci5jOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvd2F2ZW5jLmM6CgkgIHRlc3RzOiBmaXggc29tZSBtb3JlIHRlc3RzCgoyMDEyLTAyLTAzIDE2OjEyOjU5ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogZml4IHNyY3BhZCBjYXBzIGhhbmRsaW5nCgoyMDEyLTAyLTAzIDE2OjEyOjI0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fubm9kZXgvZ3N0Y21tbGVuYy5jOgoJICBjbW1sZW5jOiBmaXggY2FwcyBoYW5kbGluZwoKMjAxMi0wMi0wMyAxNDo1MzozMSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkgIGZsYWNlbmM6IGZpeCBldmVudCBsZWFrIHdoZW4gdGhlcmUgaXMgbm8gcGVlciBvbiB0aGUgc3JjIHBhZAoKMjAxMi0wMi0wMiAxNjoyMToyOSArMDAwMCAgQ2hyaXN0aWFuIEZyZWRyaWsgS2FsYWdlciBTY2hhbGxlciA8Y2hyaXN0aWFuLnNjaGFsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1wbHVnaW5zLWdvb2Quc3BlYy5pbjoKCSAgVXBkYXRlIHNwZWMgZmlsZQoKMjAxMi0wMi0wMiAxMjoyNzowOSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJICBmbHZtdXg6IHNwZWNpZnkgd2Ugb25seSBhY2NlcHQgcmF3IEFBQyBpbiB0ZW1wbGF0ZSBjYXBzCgkgIE5vIGhlYWRlciBzZWVtcyB0byBiZSBhZGRlZCwgYW5kIHRoZSBjb2RlYyBJRCBpcyB0aGUgc2FtZSBhcyB1c2VkCgkgIGZvciByYXcgYnkgZmx2ZGVtdXgsIHNvIHJhdyBzZWVtcyB0aGUgb25seSBzdXBwb3J0ZWQgY2FzZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NTM5NAoKMjAxMi0wMi0wMiAxMjoyNToyMSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdmRlbXV4OiBzcGVjaWZ5IHdlIG9ubHkgb3V0cHV0IHJhdyBBQUMgaW4gdGVtcGxhdGUgY2FwcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY1Mzk0CgoyMDEyLTAyLTAxIDE4OjAxOjI3ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L3RhZ2xpYi9nc3RhcGV2Mm11eC5jYzoKCSogZXh0L3RhZ2xpYi9nc3RpZDN2Mm11eC5jYzoKCSogZXh0L3RhZ2xpYi9nc3R0YWdsaWJtdXguYzoKCSogZXh0L3RhZ2xpYi9nc3R0YWdsaWJtdXguaDoKCSAgdGFnbGliOiBwb3J0IHRvIDAuMTEKCjIwMTItMDItMDEgMTY6NDA6NTEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fubm9kZXgvTWFrZWZpbGUuYW06CgkqIGdzdC9hdWRpb2Z4L01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwbWFuYWdlci9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvYXVkaW9meC9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvcnRwL01ha2VmaWxlLmFtOgoJICBidWlsZDogaWdub3JlIEdWYWx1ZUFycmF5IGRlcHJlY2F0aW9uIHdhcm5pbmdzIGZvciB0aGUgdGltZSBiZWluZwoJICB1bnRpbCB0aGlzIGdldHMgc29ydGVkIG91dCB3aXRoIHRoZSBHTGliIGZvbGtzIGFuZCB3ZSBoYXZlIGEKCSAgdmlhYmxlIGFsdGVybmF0aXZlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY3MjI4CgoyMDEyLTAyLTAxIDE2OjM2OjUzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXByb2JlLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXByb2JlLmg6CgkgIHB1bHNlOiBkaXNhYmxlIHNvbWUgdW51c2VkIHByb3BlcnR5IHByb2JlIGNvZGUKCSAgd2hpY2ggd2FzIHVzaW5nIEdWYWx1ZUFycmF5CgoyMDEyLTAyLTAxIDE2OjExOjE0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzoKCSAgc3BlZXg6IFVzZSBuZXcgYXVkaW8gZW5jb2Rlci9kZWNvZGVyIGJhc2UgY2xhc3MgQVBJIGZvciBzcmNwYWQgY2FwcwoKMjAxMi0wMi0wMSAxNjowNTo1MSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSAgZmxhYzogVXNlIG5ldyBhdWRpbyBlbmNvZGVyL2RlY29kZXIgYmFzZSBjbGFzcyBBUEkgZm9yIHNyY3BhZCBjYXBzCgoyMDEyLTAxLTMxIDE1OjM5OjA5ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZXF1YWxpemVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2lkM2RlbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ludGVybGVhdmUuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbGV2ZWwuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcmdhbmFseXNpcy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ2xpbWl0ZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcmd2b2x1bWUuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwYmluLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGppdHRlcmJ1ZmZlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zaGFwZXdpcGUuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc3BlY3RydW0uYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdWRwc3JjLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3k0bWVuYy5jOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvZmxhY2RlYy5jOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvd2F2ZW5jLmM6CgkgIHRlc3RzOiBmaXggbW9yZSB0ZXN0cwoKMjAxMi0wMS0zMCAxNDo1MjozNyArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wMnRwYXkuYzoKCSAgcnRwbXAydHBheTogZG8gbm90IHRyeSB0byBmbHVzaCBhIHBhY2tldCB3aGVuIG5vIGRhdGEgaXMgYXZhaWxhYmxlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Njg4NzQKCjIwMTItMDEtMzEgMTM6NDE6NDUgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hbHBoYWNvbG9yLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvY2hlYmJhbmQuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9jaGVibGltaXQuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9maXJmaWx0ZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9paXJmaWx0ZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9pbnZlcnQuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW93c2luY2JhbmQuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW93c2luY2xpbWl0LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F2aW11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kZWludGVybGFjZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kZWludGVybGVhdmUuYzoKCSAgdGVzdHM6IHVwZGF0ZSBzb21lIHRlc3RzIGZvciBuZXcgbWVtb3J5IGFwaQoKMjAxMi0wMS0zMSAxMjoyMjoxOSArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2V4YW1wbGVzL3NoYXBld2lwZS9zaGFwZXdpcGUtZXhhbXBsZS5jOgoJKiB0ZXN0cy9leGFtcGxlcy92NGwyL2NhbWN0cmwuYzoKCSAgY29udHJvbGxlcjogYWRhcHQgdG8gY29udHJvbC1zb3VyY2UgdHlwZSBjaGFuZ2VzCgoyMDEyLTAxLTMwIDIxOjM5OjM0ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvZXhhbXBsZXMvc2hhcGV3aXBlL3NoYXBld2lwZS1leGFtcGxlLmM6CgkqIHRlc3RzL2V4YW1wbGVzL3Y0bDIvY2FtY3RybC5jOgoJICBjb250cm9sbGVyOiByZW5hbWUgY29udHJvbC1iaW5kaW5ncwoJICBnc3RfY29udHJvbF9iaW5kaW5nX3h4eCAtPiBnc3RfeHh4X2NvbnRyb2xfYmluZGluZyBmb3IgY29uc2lzdGVuY3kuCgoyMDEyLTAxLTMwIDE3OjE2OjUxICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fubm9kZXgvZ3N0Y21tbGVuYy5jOgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwY2xpZW50c2luay5jOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJKiBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jbW1sZGVjLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NtbWxlbmMuYzoKCSAgdXBkYXRlIGZvciBIRUFERVIgZmxhZwoKMjAxMC0wNi0xMSAwODozNjozMyArMDIwMCAgUGFzY2FsIEJ1aGxlciA8cGFzY2FsLmJ1aGxlckB0YW5kYmVyZy5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOgoJICBydHBoMjY0ZGVwYXk6IEV4Y2x1ZGUgTkFMdSBzaXplIGZyb20gcGF5bG9hZCBsZW5ndGggb24gdHJ1bmNhdGVkIHBhY2tldHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Njc4NDYKCjIwMTItMDEtMjggMjM6MzU6NTAgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogcmVtb3ZlIG9ic29sZXRlIHZhcmlhYmxlLCBzZXQgYnV0IG5vdCB1c2VkCgkgIFJlcG9ydGVkIGJ5IGFuZHJlZGllYiBvbiAjZ3N0cmVhbWVyLgoKMjAxMi0wMS0yOCAxMzowNTowOSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzoKCSAgdmlkZW9ib3g6IGF2b2lkIHdyYXBwaW5nIG9wYXF1ZSB0byB0cmFuc3BhcmVudAoKMjAxMi0wMS0yOCAxMjozNToxMyArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBkbyBub3QgZnJlZSBtZW1vcnkgdHdpY2UKCSAgQSByZWNlbnQgY2hhbmdlIHRvIGZpeCBsZWFraW5nIGNvZGVjIElEIHN0cmluZyBhY2NpZGVudGFsbHkgY2F1c2VkCgkgIG9uZSBvZiB0aGUgdmVyeSBmZXcgcGxhY2VzIHRoYXQgd2VyZW4ndCBsZWFraW5nIHRvIG5vdyBmcmVlIHR3aWNlLgoKMjAxMi0wMS0yNyAxNjoyNzo0OSArMDEwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9sYXcvYWxhdy1kZWNvZGUuYzoKCSAgYWxhd2RlYzogRWFjaCBvdXRwdXQgc2FtcGxlIGlzIDIgYnl0ZXMKCjIwMTItMDEtMjcgMTI6MTQ6NDkgKzAxMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBEb24ndCBsZWFrIGNhcHMgZXZlbnQgd2hlbiBub3QgcHVzaGluZwoKMjAxMi0wMS0yNyAxMjowNDo1MyArMDEwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzoKCSAgcnRwcHRkZW11eDogRm9yd2FyZCBzdGlja3kgZXZlbnRzCgoyMDEyLTAxLTI3IDEyOjA0OjA1ICswMTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOgoJICBydHBwdGRlbXV4OiBQcm90ZWN0IGFsbCB1c2VzIHBhZCBsaXN0IHdpdGggT0JKRUNUIExPQ0sKCSAgQWN0dWFsbHkgcHJvdGVjdCB0aGUgZW50aXJlIHBhZCBsaXN0IGFuZCB1c2UgaXQgaW4gYSB0aHJlYWQgc2FmZQoJICB3YXkuCgoyMDEyLTAxLTI3IDEyOjAyOjI1ICswMTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkgIHJ0cHNzcmNkZW11eDogRm9yd2FyZCBzdGlja3kgZXZlbnRzIHRvIG5ldyBwYWRzCgoyMDEyLTAxLTI3IDEyOjAxOjQwICswMTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkgIHJ0cHNzcmNkZW11eDogQWRkIHNzcmMgdG8gZm9yd2FyZGVkIENBUFMgZXZlbnRzCgkgIEFsc28gaXRlcmF0ZSB0aGUgbGlzdCBvZiBHc3RSdHBTc3JjRGVtdXhQYWQgc2FmZWx5CgoyMDEyLTAxLTI3IDExOjU5OjA4ICswMTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkgIHJ0cHNzcmNjZGVtdXg6IEZhY3RvciBvdXQgZ2V0dGluZyBkcGFkIGJ5IHBhZAoKMjAxMi0wMS0yNiAxODozNTo0OCArMDEwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogS2VlcCB0aGUgYnVmZmVyIG1hcHBlZCB3aGlsZSBpdCBpcyBiZWluZyBtb2RpZmllZAoKMjAxMi0wMS0yNiAxODozNToyNyArMDEwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc3RhdHMuaDoKCSAgcnRwc2Vzc2lvbjogSW5pdGlhbGlzZSB0aGUgYWRkcmVzcyBwb2ludGVyIHRvIE5VTEwKCjIwMTItMDEtMjcgMTI6MDc6NDMgKzAxMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvZHRtZi9nc3RkdG1mZGV0ZWN0LmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5LmM6CgkgIGR0bWY6IFVzZSBuZXctc3R5bGUgY2FwcwoKMjAxMi0wMS0yNyAxNjozNzoxOSArMDEwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDxhbW9yYWxlc0BmbHVtb3Rpb24uY29tPgoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmg6CgkgIGRpcmVjc291bmRzaW5rOiBQb3J0IGVsZW1lbnQgdG8gMC4xMQoKMjAxMi0wMS0yNiAxOTo0ODoxNCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIHZpZGVvbWl4ZXIyOiByZW1vdmUgcGFkIGV2ZW50IGZ1bmN0aW9uCgkgIFdlIHVzZSB0aGUgb25lIGZyb20gY29sbGVjdHBhZHMKCjIwMTItMDEtMjYgMTg6MjY6MDIgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIFJldmVydCAicXRkZW11eDogZml4IEdzdERhdGVUaW1lL0dEYXRlVGltZSBtaXh1cCIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCA1MzI2MTI2MTEyMGI0YzAwOGRlNjE2OTFjNzBlOTQzNTRiMjgwMDRhLgoJICBUaGUgR3N0RGF0ZVRpbWUtPkdEYXRlVGltZSBjaGFuZ2UgaW4gY29yZSB3YXMgYXBwYXJlbnRseSBhY2NpZGVudGFsLAoJICBhbmQgaXMgbm93IHJldmVydGVkLgoKMjAxMi0wMS0yNiAxODoyNToyMSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIFJldmVydCAiYXZpZGVtdXg6IGZpeCBHc3REYXRlVGltZS9HRGF0ZVRpbWUgbWl4dXAiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgYWNjOWYxNTA5NjhiMjVjNWFlNWE2OTQwYjM0YWQyZDUxYjE3NGZkMi4KCSAgVGhlIEdzdERhdGVUaW1lLT5HRGF0ZVRpbWUgY2hhbmdlIGluIGNvcmUgd2FzIGFwcGFyZW50bHkgYWNjaWRlbnRhbCwKCSAgYW5kIGlzIG5vdyByZXZlcnRlZC4KCjIwMTItMDEtMjYgMTc6NTA6MzAgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogZml4IEdzdERhdGVUaW1lL0dEYXRlVGltZSBtaXh1cAoJICBUaGlzIGlzIGEgYmxpbmQgZml4IHRvIG1hdGNoIHRoZSBvbmUgSSBqdXN0IG1hZGUgdG8gcXRkZW11eCwKCSAgYXMgSSBkbyBub3QgaGF2ZSBhbiBBVkkgZmlsZSB3aGVyZSB0aGUgY29kZSBnZXRzIGV4ZWN1dGVkLgoKMjAxMi0wMS0yNiAxNzo0NzoyOSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZml4IEdzdERhdGVUaW1lL0dEYXRlVGltZSBtaXh1cAoKMjAxMi0wMS0yNiAxODo1MTozMCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIHZpZGVvbWl4ZXI6IG1vcmUgZml4ZXMKCjIwMTItMDEtMjYgMTg6NDM6MDYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICB2aWRlb21peGVyOiBtYWtlIHZpZGVvbWl4ZXIgd29yayBzb21ld2hhdAoKMjAxMi0wMS0yNiAxODoxNTo1MSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmQuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmQuaDoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuaDoKCSAgdmlkZW9taXhlcjogcG9ydCB0byAwLjExCgkgIEl0IGJ1aWxkcyBhbmQgZ3N0LWluc3BlY3QtMC4xMSB3b3Jrcy4uIG90aGVyd2lzZSB1bnRlc3RlZAoKMjAxMi0wMS0yNiAxNTo0ODowMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdWRwL2dzdGR5bnVkcHNpbmsuYzoKCSAgZHludWRwc2luazogZml4IGdldC1zdGF0cyBzaWduYWwgcmVnaXN0cmF0aW9uIHNvbWUgbW9yZQoKMjAxMi0wMS0yNiAxNTo0NjoxMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJICBSZXZlcnQgInVkcDogbWFyayBhY3Rpb24gc2lnbmFscyBhcyBSVU5fRklSU1QiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgNWM4MzA4NTk5MTI5ZDllMTYwNmVlZGIyZDM1NDM2MTc2NThkYzMwNi4KCjIwMTItMDEtMjYgMTU6Mzk6MzMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSAgdWRwOiBtYXJrIGFjdGlvbiBzaWduYWxzIGFzIFJVTl9GSVJTVAoKMjAxMi0wMS0yNiAxNTozNzoyMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdWRwL2dzdGR5bnVkcHNpbmsuYzoKCSAgdWRwOiBtYXJrICJnZXQtc3RhdHMiIGFzIGFjdGlvbiBzaWduYWwKCjIwMTItMDEtMjYgMTU6MzA6NDEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9nc3RkeW51ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0ZHludWRwc2luay5oOgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJICB1ZHA6IGZpeCBnZXQtc3RhdHMgYWN0aW9uIHNpZ25hbCByZWdpc3RyYXRpb24KCSAgSXQgcmV0dXJucyBhIEdzdFN0cnVjdHVyZSBub3csIG5vdCBhIEdWYWx1ZUFycmF5CgoyMDEyLTAxLTI2IDE2OjA1OjM0ICswMTAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPGFtb3JhbGVzQGZsdW1vdGlvbi5jb20+CgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICB1ZHBzcmM6IGZpeCBwcmludCBmb3JtYXQKCjIwMTItMDEtMjYgMTE6NTA6MTkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuYzoKCSAgbWF0cm9za2FtdXg6IEZpeCBzaXplIG9mIG91dHB1dCBidWZmZXJzCgoyMDEyLTAxLTI2IDExOjMzOjA3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogaW5jbHVkZSByaWdodCBjb2xsZWN0cGFkcyB2ZXJzaW9uCgoyMDEyLTAxLTI2IDExOjI5OjExICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBQcm9wZXJseSB1c2UgdGhlIGFsaWdubWVudCBwYXJhbWV0ZXIgb2YgZ3N0X2J1ZmZlcl9uZXdfYWxsb2NhdGUoKQoJICBJdCdzIGEgYml0bWFzayBmb3IgdGhlIGFsaWdubWVudCwgbm90IHRoZSBhbGlnbm1lbnQgaXRzZWxmLgoKMjAxMi0wMS0yNiAxMToxODo0MCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS5jOgoJICBtYXRyb3NrYW11eDogUHJvcGVybHkgdW5tYXAgV1JJVEUgbWFwcyBvZiB0aGUgb3V0cHV0IGJ1ZmZlcnMKCjIwMTItMDEtMjYgMTA6NDQ6MjggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgdmlkZW9taXhlcjI6IFVwZGF0ZSBmb3IgdGhlIG5ldyBjb2xsZWN0cGFkczIgZXZlbnQgaGFuZGxpbmcgQVBJCgoyMDEyLTAxLTI2IDEwOjQwOjA2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IFVwZGF0ZSBmb3IgdGhlIG5ldyBjb2xsZWN0cGFkczIgZXZlbnQgaGFuZGxpbmcgQVBJCgoyMDEyLTAxLTI2IDEwOjM3OjUyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IFVwZGF0ZSBmb3IgdGhlIG5ldyBjb2xsZWN0cGFkczIgZXZlbnQgaGFuZGxpbmcgQVBJCgoyMDEyLTAxLTI2IDEwOjI4OjUxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkgIGZsdm11eDogVXBkYXRlIGZvciBuZXcgY29sbGVjdHBhZHMyIGV2ZW50IGhhbmRsaW5nIEFQSQoKMjAxMi0wMS0yNiAxMDoyNzo0MCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJICBhdmltdXg6IFVwZGF0ZSBmb3IgbmV3IGNvbGxlY3RwYWRzMiBldmVudCBoYW5kbGluZyBBUEkKCjIwMTItMDEtMjUgMTg6NDE6MzggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogT25seSBmb3J3YXJkIHRoZSBldmVudCB3aGVuIHdlIGRpZG4ndCBoYW5kbGUgaXQgb3Vyc2VsdmVzCgoyMDEyLTAxLTI1IDE4OjQwOjAzICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuaDoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjJwYWQuaDoKCSAgdmlkZW9taXhlcjogc29tZSBtb3JlIHBvcnRpbmcKCjIwMTItMDEtMjUgMTg6MDA6NTIgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZC5jOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZC5oOgoJICB2aWRlb21peGVyOiBwb3J0IGJsZW5kIGZ1bmN0aW9uCgoyMDEyLTAxLTI1IDE2OjU4OjEyICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx2OiBGaXggdW5pdGlhbGl6ZWQgdmFyaWFibGVzCgkgIChvciByYXRoZXIgY2lyY3VtdmVudCBpc3N1ZXMgd2l0aCBuYWl2ZSBjb21waWxlcnMgLi4uKQoKMjAxMi0wMS0yNSAxNToyMTo0NCArMDAwMCAgSmF5YWtyaXNobmFuIE0gPGpheS5rcmlzaG5hbm1AZ21haWwuY29tPgoKCSogZXh0L2NhaXJvL01ha2VmaWxlLmFtOgoJICBjYWlybzogZml4IGJ1aWxkLCBtYWtlIHN1cmUgbGliZ3N0dmlkZW8gY2FuIGJlIGZvdW5kCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Njg2NDgKCjIwMTItMDEtMjUgMTQ6NTA6NTAgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mZGV0ZWN0LmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5LmM6CgkgIHBvcnQgdG8gbmV3IG1lbW9yeSBBUEkKCjIwMTItMDEtMjUgMTM6MTk6MTIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwbWFuYWdlcjogZG9uJ3QgcHJldGVuZCBvdXIgcmFuZG9tIGhvc3RuYW1lcyBhcmUgZnVsbHktcXVhbGlmaWVkIGRvbWFpbiBuYW1lcwoKMjAxMi0wMS0yNSAxMzo0NzozMCArMDEwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzIChhdCkgYXBlc3RhYXJ0IChkb3QpIG9yZz4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gYzQ2M2JjMCB0byA3ZmRhNTI0CgoyMDEyLTAxLTI1IDEyOjQ5OjM0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnMC4xMScgb2Ygc3NoOi8vZ2l0LmZyZWVkZXNrdG9wLm9yZy9naXQvZ3N0cmVhbWVyL2dzdC1wbHVnaW5zLWdvb2QgaW50byAwLjExCgoyMDEyLTAxLTI1IDEyOjQ5OjExICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCSAgQ29uZmxpY3RzOgoJICBleHQvZmxhYy9nc3RmbGFjZGVjLmMKCSAgZXh0L2pwZWcvZ3N0anBlZ2VuYy5jCgkgIGV4dC9wdWxzZS9wdWxzZXNpbmsuYwoJICBzeXMvdjRsMi9nc3R2NGwyc3JjLmMKCjIwMTItMDEtMjUgMTI6NDE6NDIgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOgoJKiBleHQvbGlicG5nL2dzdHBuZ2VuYy5jOgoJICBwbmc6IHBvcnQgdG8gbmV3IG1lbW9yeSBBUEkKCjIwMTItMDEtMjUgMTI6NDE6MzAgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2E6IHBvcnQgdG8gbmV3IG1lbW9yeSBBUEkKCjIwMTItMDEtMjQgMTQ6Mzg6NTggKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYW5ub2RleC9nc3RjbW1sZGVjLmM6CgkqIGV4dC9hbm5vZGV4L2dzdGNtbWxlbmMuYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkqIGV4dC9mbGFjL2dzdGZsYWN0YWcuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmg6CgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBjbGllbnRzaW5rLmM6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc3BheS5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkqIGdzdC91ZHAvZ3N0ZHludWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5jOgoJKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5jOgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9wYXJzZXIuYzoKCSAgbW9yZSBtZW1vcnkgQVBJIHBvcnRpbmcKCjIwMTItMDEtMjMgMTc6MjU6MzcgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXBldGFnL2dzdGFwZWRlbXV4LmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvYW1wbGlmeS5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2R5bmFtaWMuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9lY2hvLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZnhiYXNlZmlyZmlsdGVyLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZnhiYXNlaWlyZmlsdGVyLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvaW52ZXJ0LmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlva2FyYW9rZS5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb3Bhbm9yYW1hLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFtcnBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZGNhcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpc3VidGl0bGUuYzoKCSogZ3N0L2N1dHRlci9nc3RjdXR0ZXIuYzoKCSogZ3N0L2RlYnVndXRpbHMvYnJlYWtteWRhdGEuYzoKCSogZ3N0L2RlYnVndXRpbHMvdGVzdHMuYzoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJKiBnc3QvaWQzZGVtdXgvZ3N0aWQzZGVtdXguYzoKCSogZ3N0L2lzb21wNC9hdG9tc3JlY292ZXJ5LmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSogZ3N0L2lzb21wNC9nc3RxdG11eG1hcC5jOgoJKiBnc3QvaXNvbXA0L2dzdHJ0cHhxdGRlcGF5LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvbGF3L2FsYXctZGVjb2RlLmM6CgkqIGdzdC9sYXcvYWxhdy1lbmNvZGUuYzoKCSogZ3N0L2xhdy9tdWxhdy1kZWNvZGUuYzoKCSogZ3N0L2xhdy9tdWxhdy1lbmNvZGUuYzoKCSogZ3N0L2xldmVsL2dzdGxldmVsLmM6CgkqIGdzdC9tYXRyb3NrYS9lYm1sLXJlYWQuYzoKCSogZ3N0L21hdHJvc2thL2VibWwtcmVhZC5oOgoJKiBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5oOgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdGZpbGVzcmMuYzoKCSogZ3N0L3JlcGxheWdhaW4vZ3N0cmdhbmFseXNpcy5jOgoJKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ2xpbWl0ZXIuYzoKCSogZ3N0L3J0cC9nc3Rhc3Rlcmlza2gyNjMuYzoKCSogZ3N0L3J0cC9nc3RydHBhYzNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGNlbHRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGNlbHRwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBkdmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZHZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzIzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyNmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyNnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjlwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc21wYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc3RkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzdHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwajJrZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqMmtwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqcGVnZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqcGVncGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0YWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0YXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDR2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhcm9idXN0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBxY2VscGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcWRtZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzcGVleGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzdjN2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYXBheS5jOgoJICB1cGRhdGUgZm9yIG5ldyBtZW1vcnkgQVBJCgoyMDEyLTAxLTI1IDExOjIxOjUwICswMTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZmRldGVjdC5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuaDoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBkdG1mOiBwb3J0IHRvIDAuMTEKCjIwMTItMDEtMjUgMTE6Mzg6MTEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSAyYTU5MDE2IHRvIGM0NjNiYzAKCjIwMTItMDEtMjQgMTg6MjQ6MTMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2xpYnBuZy9nc3RwbmdlbmMuYzoKCSAgcG5nZW5jOiBkaXNhYmx5IHNuYXBzaG90IGJlaGF2aW91ciBieSBkZWZhdWx0CgkgIC4uLiBzaW5jZSBzdWNoIGJlaGF2aW91ciBpcyBub3QgY29uc2lzdGVudCwgaWYgYWxsb3dhYmxlIGF0IGFsbC4KCjIwMTItMDEtMjQgMTg6MjM6MjIgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOgoJKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5oOgoJICBwbmdkZWM6IHBvcnQgdG8gMC4xMQoKMjAxMi0wMS0yNCAxODoyMTowOCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbGlicG5nL2dzdHBuZ2VuYy5jOgoJKiBleHQvbGlicG5nL2dzdHBuZ2VuYy5oOgoJICBwbmdlbmM6IHBvcnQgdG8gMC4xMQoKMjAxMi0wMS0yNCAxNDo1MzozOCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICB1ZHBzcmM6IGZpeCBzdHJpbmcgbGVhawoKMjAxMi0wMS0yNCAxNDo1MjowOSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICB1ZHBzcmM6IGZpeCB1c2Ugb2YgZnJlZWQgbWVtb3J5CgoyMDExLTEyLTAxIDE1OjQ5OjQwICswMTAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIERvbid0IGNyYXNoIG9uIGVtcHR5IGxhY2VzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjUyMjQKCjIwMTItMDEtMjMgMTM6MTU6NDYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwbWFuYWdlcjogZG9uJ3QgcmV2ZWFsIHRoZSB1c2VyJ3MgdXNlcm5hbWUsIGhvc3RuYW1lIG9yIHJlYWwgbmFtZSBieSBkZWZhdWx0CgkgIFNlbmQgYSByYW5kb21seSBtYWRlLXVwIHVzZXJAaG9zdG5hbWUgYXMgQ05BTUUgYW5kIGRvbid0CgkgIHNlbmQgYSBOQU1FIGF0IGFsbCBieSBkZWZhdWx0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY4MzIwCgoyMDEyLTAxLTIxIDIwOjA3OjU2ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvZXhhbXBsZXMvc2hhcGV3aXBlL3NoYXBld2lwZS1leGFtcGxlLmM6CgkqIHRlc3RzL2V4YW1wbGVzL3Y0bDIvY2FtY3RybC5jOgoJICBjb250cm9sbGVyOiBtb3ZlIGZyb20gY29udHJvbC1iaW5kaW5nIHRvIGNvbnRyb2wtYmluZGluZy1kaXJlY3QKCjIwMTItMDEtMjIgMjM6MzE6MTkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2dsaWItY29tcGF0LXByaXZhdGUuaDoKCSogZ3N0L2F1ZGlvZngvYXVkaW9jaGViYmFuZC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJiYW5kLmg6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYmxpbWl0LmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYmxpbWl0Lmg6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZmlyZmlsdGVyLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZmlyZmlsdGVyLmg6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvaWlyZmlsdGVyLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvaWlyZmlsdGVyLmg6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvd3NpbmNiYW5kLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvd3NpbmNiYW5kLmg6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvd3NpbmNsaW1pdC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb3dzaW5jbGltaXQuaDoKCSogZ3N0L3ZpZGVvY3JvcC9nc3Rhc3BlY3RyYXRpb2Nyb3AuYzoKCSogZ3N0L3ZpZGVvY3JvcC9nc3Rhc3BlY3RyYXRpb2Nyb3AuaDoKCSAgRG9uJ3QgdXNlIGRlcHJlY2F0ZWQgR0xpYiBBUEkKCjIwMTItMDEtMjIgMjM6MTU6MTkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBjbGllbnRzaW5rLmM6CgkqIGdzdC1saWJzL2dzdC9nbGliLWNvbXBhdC1wcml2YXRlLmg6CgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuaDoKCSogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkqIHN5cy9vc3M0L29zczQtbWl4ZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXVsdGlmaWxlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NvdXBodHRwc3JjLmM6CgkqIHRlc3RzL2ljbGVzL2VxdWFsaXplci10ZXN0LmM6CgkqIHRlc3RzL2ljbGVzL2dka3BpeGJ1ZnNpbmstdGVzdC5jOgoJKiB0ZXN0cy9pY2xlcy90ZXN0LW9zczQuYzoKCSogdGVzdHMvaWNsZXMvdjRsMnNyYy10ZXN0LmM6CgkqIHRlc3RzL2ljbGVzL3ZpZGVvY3JvcC10ZXN0LmM6CgkgIFVzZSBuZXcgR0xpYiBBUEkgdW5jb25kaXRpb25hbGx5CgoyMDEyLTAxLTIwIDE3OjA2OjQyICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogc2ltcGxpZnkgaW50ZXJuYWwgc3JjIGV2ZW50IGRlYnVnIGxvZ2dpbmcKCSAgLi4uIHdoaWNoIGF2b2lkcyBhbG1vc3Qgc3VwZXJmbHVvdXMgb2J0YWluaW5nIG9mIHJ0c3AgZWxlbWVudC4KCjIwMTItMDEtMjAgMTc6MDM6NTAgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBhdm9pZCBOVUxMIHN0cmluZyBjb21wYXJpc29uCgoyMDEyLTAxLTIwIDE3OjAzOjIxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IGFycmFuZ2UgZm9yIGluaXRpYWxpemVkIHZhcmlhYmxlcwoKMjAxMi0wMS0yMCAxNzowMjoxNSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGFkZXBheS5jOgoJICBydHBtcDRhZGVwYXk6IHByZXZlbnQgb3V0LW9mLWJvdW5kIGFycmF5IGFjY2VzcwoKMjAxMi0wMS0yMCAxNzowMTozNyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L2F0b21zcmVjb3ZlcnkuYzoKCSAgaXNvbXA0OiByZWNvdmVyeTogYWRkIHNhbml0eSBjaGVjawoJICAuLi4gb24gcG9zc2libHkgYm9ndXMvY29ycnVwdCBpbnB1dCBkYXRhLgoKMjAxMi0wMS0yMCAxNzowMDo1MSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYWRlcGF5LmM6CgkgIHJ0cHRoZW9yYWRlcGF5OiByZW1vdmUgZGVhZCBjb2RlCgoyMDEyLTAxLTIwIDE2OjU4OjI4ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYS1kZW11eDogcmVtb3ZlIHJlZHVuZGFudCB2YXJpYWJsZQoKMjAxMi0wMS0yMCAxNjo1Nzo1MiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IGZpeCBhcml0aG1ldGljIGZvciB1bnNpZ25lZCBjb21wYXJpc29uCgoyMDEyLTAxLTIwIDE2OjU1OjA2ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pbWFnZWZyZWV6ZS9nc3RpbWFnZWZyZWV6ZS5jOgoJICBpbWFnZWZyZWV6ZTogYWRkIHZhcmlvdXMgbWlzc2luZyBicmVhawoKMjAxMi0wMS0yMCAxNjo1NDowNiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiB0d2VhayBERUZBVUxUIGZvcm1hdCBkdXJhdGlvbiBxdWVyeSByZXNwb25zZQoKMjAxMi0wMS0yMCAxNjo0OToxNCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGFjb2xvci5jOgoJICBhbHBoYWNvbG9yOiByZW1vdmUgcmVkdW5kYW50IHN0YXRlbWVudAoKMjAxMi0wMS0yMCAxNjo0ODo0OSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkgIGZsYWNkZWM6IGltcHJvdmUgdXBzdHJlYW0gcGVlciBkdXJhdGlvbiBxdWVyeWluZwoJICAuLi4gdG8gYXZvaWQgYWNjZXB0aW5nIHVuaGFuZGxlZCBkdXJhdGlvbiBxdWVyeSByZXN1bHQuCgoyMDEyLTAxLTIwIDE2OjQ3OjM2ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJICBwdWxzZXNyYzogYWRkaXRpb25hbCBlcnJvciBjb25kaXRpb24gY2hlY2tpbmcKCjIwMTItMDEtMjAgMTY6NDY6MjEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IGFkZGl0aW9uYWwgZXJyb3IgY29uZGl0aW9uIGNoZWNraW5nCgoyMDEyLTAxLTIwIDE2OjQ0OjIxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSAganBlZ2VuYzogY2hlY2sgX2FsbG9jX2J1ZmZlciByZXN1bHQgYW5kIHBlcmZvcm0gZmFsbGJhY2sgYWxsb2MgaWYgbmVlZGVkCgkgIC4uLiByYXRoZXIgdGhhbiBjYXJyeWluZyBvbiB3aXRoIE5VTEwgYnVmZmVyLgoKMjAxMi0wMS0yMCAxNDo0NTowMSArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2V4YW1wbGVzL3NoYXBld2lwZS9zaGFwZXdpcGUtZXhhbXBsZS5jOgoJKiB0ZXN0cy9leGFtcGxlcy92NGwyL2NhbWN0cmwuYzoKCSAgY29udHJvbGxlcjogYWRhcHQgdG8gY29udHJvbCBiaW5kaW5nIGNoYW5nZXMKCjIwMTItMDEtMjAgMTE6Mzc6MzggKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9leGFtcGxlcy9zaGFwZXdpcGUvc2hhcGV3aXBlLWV4YW1wbGUuYzoKCSogdGVzdHMvZXhhbXBsZXMvdjRsMi9jYW1jdHJsLmM6CgkgIGNvbnRyb2xsZXI6IGFkYXB0IHRvIGNvbnRyb2xsZXIgYXBpIGNoYW5nZXMKCSAgRG9uJ3QgdXNlIHRoZSBjb252ZW5pZW5jZSBhcGkgZm9yIGNvbnRyb2wgc291cmNlcy4KCjIwMTItMDEtMTkgMTQ6MjQ6MDQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJKiBjb25maWd1cmUuYWM6CgkgIEFkZCAtLWRpc2FibGUtZmF0YWwtd2FybmluZ3MgY29uZmlndXJlIG9wdGlvbgoKMjAxMi0wMS0xOSAxMjo0NDozOSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSAgdXBkYXRlIGZvciBtZW1vcnkgQVBJCgoyMDEyLTAxLTE5IDExOjMzOjUzICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2R2L2dzdGR2ZGVtdXguYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9jbGllbnQuYzoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmg6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwY2xpZW50c2luay5jOgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cGNsaWVudHNpbmsuaDoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6CgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuaDoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJKiBnc3QvaW1hZ2VmcmVlemUvZ3N0aW1hZ2VmcmVlemUuYzoKCSogZ3N0L2lzb21wNC9nc3RxdG1vb3ZyZWNvdmVyLmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtb292cmVjb3Zlci5oOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4Lmg6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuaDoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuaDoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb292ZXJsYXkuYzoKCSogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzoKCSogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGVpbnRlcmxlYXZlLmM6CgkgIHBvcnQgdG8gbmV3IGd0aHJlYWQgQVBJCgoyMDEyLTAxLTE4IDE2OjU4OjEyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlLmFjOiBSZW1vdmUgR0lPIGNoZWNrLCB0aGlzIGlzIGluIGdzdC1nbGliMi5tNCBub3cKCjIwMTItMDEtMTggMTY6NDY6MTcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSAwODA3MTg3IHRvIDJhNTkwMTYKCjIwMTItMDEtMTggMTY6MTU6NTkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmUuYWM6IFJlcXVpcmUgR0xpYiAyLjMxLjEwIGFuZCBpbXByb3ZlIEdJTyBjaGVjawoKMjAxMi0wMS0xNyAxNjo1ODowNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICB1ZHBzcmM6IFJlbW92ZSB1bm5lZWRlZCBzb2NrZXQuaCBpbmNsdWRlCgoyMDEyLTAxLTE3IDE2OjUzOjMxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cC9nc3Rhc3Rlcmlza2gyNjMuYzoKCSAgY29uZmlndXJlOiBSZW1vdmUgc29ja2V0L3dpbnNvY2sgc3BlY2lmaWMgY2hlY2tzCgkgIE5vdCBuZWNlc3NhcnkgYW55bW9yZS4KCjIwMTItMDEtMTcgMTY6NDk6MTAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogVXBkYXRlIGZvciB0aGUgbmV3IEdJTyB2ZXJzaW9ucyBvZiB0aGUgdWRwIGVsZW1lbnRzCgoyMDEyLTAxLTE3IDEzOjA4OjQyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5oOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5oOgoJICBydHBtYW5hZ2VyOiBQb3J0IHRvIEdJTwoKMjAxMi0wMS0xNyAxMToxOTozMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC91ZHAvTWFrZWZpbGUuYW06CgkgIGNvbmZpZ3VyZTogUmVxdWlyZSBHSU8gMi4zMS4xMAoKMjAxMi0wMS0xNyAxMToxODozMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdWRwL2dzdHVkcC5jOgoJKiBnc3QvdWRwL2dzdHVkcG5ldHV0aWxzLmM6CgkqIGdzdC91ZHAvZ3N0dWRwbmV0dXRpbHMuaDoKCSAgdWRwOiBSZW1vdmUgbm93IHVuZWNlc3NhcnkgY29kZQoKMjAxMi0wMS0xNyAxMToxODoxNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5oOgoJKiBnc3QvdWRwL2dzdHVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3R1ZHBzaW5rLmg6CgkgIHVkcHNpbmsvbXVsdGl1ZHBzaW5rOiBQb3J0IHRvIEdJTwoKMjAxMi0wMS0xNyAwOTozODozMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdWRwL2dzdGR5bnVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3RkeW51ZHBzaW5rLmg6CgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIGR5bnVkcHNpbms6IFBvcnQgdG8gR0lPCgoyMDEyLTAxLTE3IDA5OjMyOjI3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC91ZHAvZ3N0ZHludWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdGR5bnVkcHNpbmsuaDoKCSAgZHludWRwc2luazogUG9ydCB0byBHSU8KCjIwMTItMDEtMTcgMDk6MDM6MzggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9NYWtlZmlsZS5hbToKCSogZ3N0L3VkcC9nc3RkeW51ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0dWRwbmV0dXRpbHMuYzoKCSogZ3N0L3VkcC9nc3R1ZHBuZXR1dGlscy5oOgoJKiBnc3QvdWRwL2dzdHVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuaDoKCSAgdWRwc3JjOiBQb3J0IHRvIEdJTwoKMjAxMi0wMS0xNiAxNzo1MToxOCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY3V0dGVyL2dzdGN1dHRlci5jOgoJICBjdXR0ZXI6IGZpeCBsZWFrIG9mIHVudXNlZCBHVmFsdWUKCjIwMTItMDEtMTYgMTY6MTA6MDggKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXV0b2RldGVjdC5jOgoJICB0ZXN0czogZml4IGF1dG9kZXRlY3QgdGVzdCBub3QgdGVzdGluZyBjb3JyZWN0bHkgZm9yIHN0YXRlIGNoYW5nZSBzdWNjZXNzCgkgIFN0YXRlIGNoYW5nZSB0byBQQVVTRUQgY2FuIGJlIGRvbmUgYXN5bmMsIHNvIGlmIHRoaXMgaGFwcGVucywgd2UgbmVlZAoJICB0byB3YWl0IGZvciB0aGUgY2hhbmdlIHRvIGJlIGRvbmUgKG9yIGZhaWxlZCkuCgoyMDEyLTAxLTE2IDE1OjQyOjQ2ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuYzoKCSAgcnRwaDI2M3BwYXk6IGZpeCBjYXBzIGxlYWsKCjIwMTItMDEtMTYgMTI6MTM6NTAgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBtYWtlIGludGVybGFjZWRuZXNzIHRlc3QgZGV0ZXJtaW5pc3RpYwoJICBJZiB0aGUgaW50ZXJsYWNlZCBmbGFnIGlzIG5vdCBwcmVzZW50IGluIHRoZSBjYXBzLCB3ZSBhc3N1bWUgdGhlCgkgIGRhdGEgaXMgbm90IGludGVybGFjZWQsIGluc3RlYWQgb2YgbGVhdmluZyB0aGUgYm9vbGVhbiB1bmluaXRpYWxpemVkLgoKMjAxMi0wMS0xMyAxODoxMjowNSAtMDUwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9lYm1sLXdyaXRlLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmM6CgkgIG1hdHJvc2thOiBmaXggcHJpbnRmIGZvcm1hdCBjb21waWxlciB3YXJuaW5ncwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYyNjE1CgoyMDEyLTAxLTEzIDE4OjExOjM2ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJICBwdWxzZXNyYzogZml4IHdyb25nIGVycm9yIGNoZWNrCgkgIHBhX3N0cmVhbV8qIGZ1bmN0aW9ucyByZXR1cm4gbmVnYXRpdmUgb24gZXJyb3IsIGRlc3BpdGUgdGhlIGRlZmluZXMKCSAgZm9yIGVycm9yIGNvZGVzIGJlaW5nIHBvc2l0aXZlLgoJICBJIG9ubHkgZ290IHRvIHJlcHJvIHRoZSBlcnJvciB0d2ljZSwgc28gSSdtIG5vdCBzdXJlIDEwMCUgc3VyZSB0aGlzCgkgIGZpeGVzIHRoZSBpc3N1ZSAodGhlIG5lZ2F0aXZlIHZhciBiZWluZyB1bmluaXRpYWxpemVkIGFmdGVyIHJldHVybmluZwoJICBmcm9tIHBhX3N0cmVhbV9nZXRfbGF0ZW5jeSkuCgoyMDEyLTAxLTEzIDE3OjQzOjQ5ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9vc3M0L29zczQtc2luay5jOgoJKiBzeXMvb3NzNC9vc3M0LXNvdXJjZS5jOgoJICBvc3M0OiBmaXggY2FwcyBsZWFrcwoKMjAxMi0wMS0xMyAxNzoyNTo1OSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIHY0bDJzcmM6IGZpeCBjYXBzIGxlYWsKCjIwMTItMDEtMTMgMTU6NTc6MjAgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9jcm9wLmM6CgkgIHRlc3RzOiBmaXggY2FwcyBsZWFrIGluIHZpZGVvdGVzdHNyYyB0ZXN0CgoyMDEyLTAxLTEzIDEyOjUwOjA2ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguaDoKCSAgbWF0cm9za2FkZW11eDogY2xlYW4gdXAgb2Jzb2xldGUgY2xvc2luZyBzZWdtZW50IGhhbmRsaW5nCgoyMDEyLTAxLTEzIDEwOjMyOjU5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzoKCSAgcnRwcHRkZW11eDogcGx1ZyBwYWQgbGVhayBpbiBlcnJvciBjb2RlIHBhdGgKCSAgQmFzZWQgb24gcGF0Y2ggYnk6IFN0aWcgU2FuZG5lcyA8c3RpZy5zYW5kbmVzQGNpc2NvLmNvbT4KCSAgRG9uJ3QgbGVhayBzcmNwYWQgaWYgdGhlcmUgYXJlIG5vIGNhcHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Njc4MjAKCjIwMTEtMTAtMDQgMTA6MDA6MDIgKzAyMDAgIFN0aWcgU2FuZG5lcyA8c3RpZ3NhbmRAY2lzY28uY29tPgoKCSogc3lzL29zeHZpZGVvL2NvY29hd2luZG93Lm06CgkgIG9zeHZpZGVvOiBGaXggbGVhayBvZiBOU09wZW5HTFBpeGVsRm9ybWF0IG9iamVjdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY3ODE4CgoyMDExLTA5LTA1IDEwOjQzOjE5ICswMjAwICBIYXZhcmQgR3JhZmYgPGhhdmFyZC5ncmFmZkB0YW5kYmVyZy5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIHY0bDJzcmM6IERvbid0IGFzc2VydCB3aGVuIHRoZSBpbnRlcmZhY2UgaXMgbm90IGltcGxlbWVudGVkLgoJICBTaW1wbHkgcmV0dXJuIEZBTFNFIGluc3RlYWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Njc4MTcKCjIwMTItMDEtMTIgMDA6MTg6MzkgKzAyMDAgIFJhaW1vIErDpHJ2aSA8cmFpbW8uamFydmlAZ21haWwuY29tPgoKCSogc3lzL3dhdmVmb3JtL2dzdHdhdmVmb3Jtc2luay5jOgoJKiBzeXMvd2F2ZWZvcm0vZ3N0d2F2ZWZvcm1zaW5rLmg6CgkgIHdhdmVmb3Jtc2luazogRml4IG1pbmd3IHdhcm5pbmdzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Njc3MTkKCjIwMTItMDEtMTIgMjM6NTU6MzEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FwZXRhZy9nc3RhcGVkZW11eC5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJICBHU1RfVFlQRV9EQVRFIC0+IEdfVFlQRV9EQVRFCgoyMDEyLTAxLTEyIDIzOjQ4OjUwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkgIGVxTWVyZ2UgcmVtb3RlLXRyYWNraW5nIGJyYW5jaCAnb3JpZ2luL21hc3RlcicgaW50byAwLjExCgkgIENvbmZsaWN0czoKCSAgZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jCgkgIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYwoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYwoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYwoKMjAxMi0wMS0xMiAxODoyMzo0MiArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSAgZ3N0cnRwc3NyY2RlbXV4OiBmaXggZWxlbWVudCBsZWFrCgoyMDEyLTAxLTEyIDE0OjE5OjIyICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJICBtYXRyb3NrYTogZG8gbm90IGxlYWsgYXR0YWNobWVudCBidWZmZXJzCgoyMDEyLTAxLTEyIDEzOjE3OjU1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx2ZGVtdXg6IHJlbW92ZSBvYnNvbGV0ZSBGSVhNRSBjb21tZW50cwoKMjAxMi0wMS0xMiAxMDozMDoxMSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkgIGZsYWNlbmM6IGRvIG5vdCBkcm9wIHRoZSBmaXJzdCBkYXRhIGJ1ZmZlciBvbiB0aGUgZmxvb3IgKGFuZCBsZWFrIGl0IGVpdGhlcikKCjIwMTItMDEtMTIgMTE6MDg6MzggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RpbmRleC5jOgoJKiBnc3QvZmx2L2dzdG1lbWluZGV4LmM6CgkgIGZsdmRlbXV4OiBhZGQgcHJlZml4IHRvIGxvY2FsIEdzdEluZGV4IHJlbGF0ZWQgY29waWVzCgkgIC4uLiB0byBhdm9pZCBkdXBsaWNhdGUgdHlwZSBuYW1lcyB3aXRoIG90aGVyIHN1Y2ggbG9jYWwgY29waWVzIGluIHRoZSB3aWxkLgoKMjAxMi0wMS0xMiAxMTowNzozMyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdmRlbXV4OiBhY3RpdmF0ZSBwYWQgYmVmb3JlIHNldHRpbmcgY2FwcwoJICAuLi4gcmF0aGVyIHRoYW4gdGhlIHVzdWFsIDAuMTAgb3RoZXIgd2F5IGFyb3VuZC4KCSAgRml4ZXMgIzY2NzU1OC4KCjIwMTItMDEtMTEgMTg6NDU6MzMgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBBbmRyb2lkLm1rOgoJICBUZW1wb3JhcmlseSBkaXNhYmxpbmcgbXVsdGlmaWxlIGZvciB0aGUgQW5kcm9pZCBidWlsZAoJICBUaGVyZSBpcyBhIGhhcmQgZGVwZW5kZW5jeSBvbiBpbm90aWZ5IGNvbW1pbmcgZnJvbSBnaW8uIFdlCgkgIGFyZSBub3QgY3VycmVudGx5IGJ1bmRsaW5nIGlub3RpZnkgd2l0aCB0aGUgQW5kcm9pZCBkaXN0IHNvCgkgIEknbSBkaXNhYmxpbmcgbXVsdGlmaWxlIGZvciBub3cgdW50aWwgc29tZW9uZSBnZXRzIGFyb3VuZAoJICB0byBzb3J0IHRoaXMgb3V0LgoJICBUaGlzIGNoYW5nZSBmaXhlcyBidWlsZGluZyBvbiBBbmRyb2lkCgoyMDEwLTEwLTIwIDAyOjE3OjQzIC0wNzAwICBMZW8gU2luZ2VyIDxsZW8uc2luZ2VyQGxpZ28ub3JnPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9jaGViYmFuZC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJsaW1pdC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWlpcmZpbHRlci5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2lpcmZpbHRlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2lpcmZpbHRlci5jOgoJICBhdWRpb2Z4OiBVc2UgbW9zdCBjb21tb24gY29udmVudGlvbiBmb3IgZGVmaW5pdGlvbnMgb2YgSUlSIGZpbHRlciBjb2VmZmljaWVudHMuCgkgIE1vc3Qgc2lnbmFsIHByb2Nlc3NpbmcgdGV4dHMsIGluY2x1ZGluZyBNQVRMQUIsIHVzZSB0aGUgZm9sbG93aW5nIGNvbnZlbnRpb24gZm9yIElJUiBmaWx0ZXIgY29lZmZpY2llbnRzOgoJICBhXzAgeVtuXSArIGFfMSB5W24tMV0gKyAuLi4gKyBhX00geVtuLU1dID0gYl8wIHhbbl0gKyBiXzEgeFtuLTFdICsgLi4uICsgYltOXSB4W24tTl0KCSAgVXN1YWxseSwgYV8wIGlzIHNldCB0byAxIGJlY2F1c2UgdGhlIGNvZWZmaWNpZW50cyBjYW4gYWx3YXlzIGJlIHJlc2NhbGVkLCBnaXZpbmcKCSAgeVtuXSA9IGJfMCB4W25dICsgYl8xIHhbbi0xXSArIC4uLiArIGJbTl0geFtuLU5dIC0gYV8xIHlbbi0xXSAtIC4uLiAtIGFfTSB5W24tTV0KCSAgVGhlIGNvbnZlbnRpb24gdGhhdCB3YXMgcHJldmlvdXNseSB1c2VkIGJ5IGF1ZGlvZnhiYXNlaWlyZmlsdGVyIGFuZCBkZXJpdmVkIGNsYXNzIGhhZCB0aGUgYSBhbmQgYiBjb2VmZmljaWVudHMgc3dhcHBlZCwgYW5kIGRpZCBub3QgaGF2ZSB0aGUgbWludXMgc2lnbnMuCgkgIFRoaXMgY2hhbmdlIG1ha2VzIHRoZSBhdWRpb2Z4IHBsdWdpbiB1c2UgdGhlIG1vcmUgY29tbW9uIGNvbnZlbnRpb24gZGVzY3JpYmVkIGFib3ZlLgoKMjAxMi0wMS0xMSAxNDo0NzozNiArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9qYWNrL2dzdGphY2suYzoKCSogZXh0L2phY2svZ3N0amFjay5oOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuaDoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5oOgoJICBqYWNrOiBhZGQgYSB0cmFuc3BvcnQgbW9kZSBlbnVtCgkgIENsaWVudHMgY2FuIGNvbmZpZ3VyZSB0aGUgZGVzaXJlZCBiZWhhdmlvdXIgdmlhICJ0cmFuc3BvcnQiIHByb3BlcnR5LiBUaGUKCSAgZGVmYXVsdCBiZWhhdmlvdXIgaXMgaWdub3JpbmcgdGhlIHRyYW5zcG9ydCBzdGF0ZS4gT3RoZXIgbW9kZXMgYXJlIG1hc3RlciBhbmQKCSAgc2xhdmUuCgoyMDEyLTAxLTExIDE0OjEwOjQ2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXBodHRwc3JjOiBGaXggYnVmZmVyIGhhbmRsaW5nCgkgIHNvdXBodHRwc3JjIGlzIG5vdyB1c2FibGUgYWdhaW4gYW5kIGRvZXNuJ3QgY3Jhc2ggYW55bW9yZQoJICB3aGVuZXZlciBzb21ldGhpbmcgaXMgcmVhZCBmcm9tIGEgSFRUUCBjb25uZWN0aW9uLgoKMjAxMi0wMS0xMSAwMTo0NTozNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvd2F2ZW5jLmM6CgkgIHRlc3RzOiBmaXggd2F2ZW5jIHRlc3Qgb24gYmlnIGVuZGlhbgoJICB3YXZlbmMgb25seSBhY2NlcHRzIGxpdHRsZS1lbmRpYW4gUENNLCBidXQgbW9zdCBvZiBvdXIKCSAgZWxlbWVudHMgc3VjaCBhcyBhdWRpb3Rlc3RzcmMgb25seSBwcm9kdWNlIG9yIHByb2Nlc3MKCSAgYXVkaW8gaW4gbmF0aXZlIGVuZGlhbm5lc3MsIHNvIHdlIG5lZWQgdG8gcGx1ZyBhCgkgIGNvbnZlcnRlciBiZWZvcmUgd2F2ZW5jIG9uIGJpZyBlbmRpYW4gc3lzdGVtcy4KCjIwMTItMDEtMTAgMjM6MDI6NDUgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJICBqYWNrOiBkZWFjdGl2YXRlIHRoZSByZXF1ZXN0X3N0YXRlIGNvZGUKCSAgV2hlbiBxamFja2N0bCBpcyBzdGFydGVkLCB0cmFuc3BvcnQgaXMgc3RvcHBlZCBieSBkZWZhdWx0LiBUaGlzIHdvdWxkIGJlIGEKCSAgcmVncmVzc2lvbiBmb3IgZ3N0cmVhbWVyIGFwcHMgdGhhdCBiZWZvcmUganVzdCBzdGFydGVkIHRvIHBsYXkgcmlnaHQgYXdheS4KCjIwMTItMDEtMTAgMjI6Mjc6MTEgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9jbGllbnQuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvY2xpZW50Lmg6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6CgkgIGphY2s6IGFkZCB0cmFuc3BvcnQgY29udHJvbCBoYW5kbGluZwoJICBUaGlzIGZlYXR1cmUgYWxsb3dzIHRvIHN0YXJ0IGFuZCBzdG9wIHBsYXliYWNrIGZyb20gb3RoZXIgamFjayBhcHBsaWNhdGlvbnMgKGUuZy4gcWphY2tjdGwpLgoKMjAxMi0wMS0xMCAxODo1MDoyNyArMDEwMCAgTmljb2xhIE11cmlubyA8bmljb2xhLm11cmlub0BnbWFpbC5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBmaXggY29kZWNfcHJpdiBsZWFrcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY3NDE5CgoyMDEyLTAxLTEwIDE1OjA2OjM5ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvY2xpZW50LmM6CgkgIGphY2s6IHVzZSBqYWNrIHR5cGUgZm9yIHRoZSBjYWxsYmFjawoJICBKYWNrIGhlYWRlcnMgaGF2ZSBhIHR5cGVkZWYgZm9yIHRoZSBzaHV0ZG93biBjYWxsYmFjayBhcyB3ZWxsLgoKMjAxMi0wMS0xMCAxNDozMjozMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgkgIENvbmZsaWN0czoKCSAgZXh0L2NhaXJvL2dzdHRleHRvdmVybGF5LmMKCSAgZXh0L3B1bHNlL3B1bHNlYXVkaW9zaW5rLmMKCSAgZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jCgkgIGdzdC9hdmkvZ3N0YXZpbXV4LmMKCSAgZ3N0L2Zsdi9nc3RmbHZtdXguYwoJICBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmMKCSAgZ3N0L2lzb21wNC9nc3RxdG11eC5jCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYwoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmgKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmMKCSAgZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmMKCSAgZ3N0L211bHRpcGFydC9tdWx0aXBhcnRtdXguYwoJICBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jCgkgIGdzdC9zbXB0ZS9nc3RzbXB0ZS5jCgkgIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmMKCSAgZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmMKCSAgZ3N0L3ZpZGVvY3JvcC9nc3Rhc3BlY3RyYXRpb2Nyb3AuYwoJICBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmMKCSAgZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYwoJICBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYwoJICBwby9qYS5wbwoJICBwby9sdi5wbwoJICBwby9zci5wbwoJICB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbQoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy9xdG11eC5jCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3Jndm9sdW1lLmMKCjIwMTItMDEtMDkgMjI6NTg6MzIgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICBkb2NzOiBSZW1vdmUgb2xkIHZpZGVvbWl4ZXIgaGVhZGVycwoJICBUaGVzZSBnb3QgcmVtb3ZlZCBpbiB0aGUgdHJhbnNpdGlvbiB0byB2aWRlb21peGVyMi4KCjIwMTItMDEtMDkgMTc6Mjg6MTcgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogZml4IGNvZGVjIHN0cmluZyBsZWFrcwoKMjAxMi0wMS0wOSAxNDo1MTo0NCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmg6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmg6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXJwYWQuaDoKCSAgdmlkZW9taXhlcjogUmVtb3ZlIHZpZGVvbWl4ZXIgYW5kIHJlZ2lzdGVyIHZpZGVvbWl4ZXIyIGFzIHZpZGVvbWl4ZXIKCjIwMTItMDEtMDkgMTE6MzY6NTggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGluaXRpYWxpemUgdmFyaWFibGUgdG8gYXZvaWQgdW5kZWZpbmVkIHVzZQoKMjAxMi0wMS0wNiAwOTo0MDoyMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5oOgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuaDoKCSAgZmxhYzogUG9ydCB0byB0aGUgbmV3IHJhdyBhdWRpbyBjYXBzCgoyMDEyLTAxLTA1IDE5OjI1OjMzICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgaXNvbXA0OiBmaXggY2FwcyBsZWFrCgoyMDEyLTAxLTA1IDE5OjA4OjAzICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgaXNvbXA0OiByZW1vdmUgZGVhZCBhc3NpZ25tZW50CgoyMDEyLTAxLTA1IDE0OjE4OjAzICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS5jOgoJKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5jOgoJICBmaXggcGFkIHRlbXBsYXRlcwoKMjAxMi0wMS0wNCAxNTowNTo0MSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6CgkgIHNwZWV4OiBVcGRhdGUgZm9yIHRoZSBuZXcgcmF3IGF1ZGlvIGNhcHMKCjIwMTItMDEtMDQgMTQ6NTQ6MTAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSAgamFjazogQWRkIHRoZSBuZXcgbGF5b3V0IGZpZWxkIHRvIHRoZSByYXcgYXVkaW8gY2FwcwoKMjAxMi0wMS0wNCAxNDo1Mjo0NiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSogZXh0L2phY2svZ3N0amFja3V0aWwuYzoKCSogZXh0L2phY2svZ3N0amFja3V0aWwuaDoKCSAgamFja2F1ZGlvc3JjOiBQb3J0IHRvIHRoZSBuZXcgbXVsdGljaGFubmVsIGF1ZGlvIGNhcHMKCjIwMTItMDEtMDQgMTQ6MTM6NTQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IEFkZCBGTEFDIGFuZCBpbnRlcmxlYXZlIHRvIHRoZSBub24tcG9ydGVkIHBsdWdpbnMgbGlzdAoJICBCb3RoIG5lZWQgdG8gYmUgdXBkYXRlZCB0byB0aGUgYXVkaW8veC1yYXcgY2FwcyBhbmQgd2VyZSBvbmx5CgkgIGhhbGYtcG9ydGVkIGJlZm9yZS4KCjIwMTItMDEtMDQgMTM6NDg6MzYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBMMTZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cEwxNmRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwTDE2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwTDE2cGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwY2hhbm5lbHMuYzoKCSogZ3N0L3J0cC9nc3RydHBjaGFubmVscy5oOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjJkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjJwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2cmF3cGF5LmM6CgkgIHJ0cDogVXBkYXRlIGZvciB0aGUgbmV3IGF1ZGlvIGNhcHMKCjIwMTItMDEtMDQgMTI6MDY6MTIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIHdhdnBhcnNlOiBVcGRhdGUgZm9yIGxpYmdzdHJpZmYgQVBJIGNoYW5nZXMKCSAgU3RpbGwgbmVlZHMgdG8gaGFuZGxlIHJhdyBhdWRpbyBjaGFubmVsIHJlb3JkZXJpbmcKCjIwMTItMDEtMDQgMTI6MDU6MTYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuYzoKCSAgd2F2ZW5jOiBVcGRhdGUgZm9yIHRoZSBuZXcgcmF3IGF1ZGlvIGNhcHMKCjIwMTItMDEtMDQgMTI6MDM6NTAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkgIHNwZWN0cnVtOiBVcGRhdGUgZm9yIHRoZSBuZXcgcmF3IGF1ZGlvIGNhcHMgbGF5b3V0IGZpZWxkCgoyMDEyLTAxLTA0IDExOjU3OjIwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9yZXBsYXlnYWluL2dzdHJnYW5hbHlzaXMuYzoKCSogZ3N0L3JlcGxheWdhaW4vZ3N0cmdsaW1pdGVyLmM6CgkqIGdzdC9yZXBsYXlnYWluL2dzdHJndm9sdW1lLmM6CgkgIHJlcGxheWdhaW46IFVwZGF0ZSBmb3IgdGhlIG5ldyBhdWRpbyBjYXBzCgoyMDEyLTAxLTA0IDExOjUyOjI5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thOiBVcGRhdGUgZm9yIHRoZSBuZXcgcmF3IGF1ZGlvIGludGVybGVhdmVkIGNhcHMgZmllbGQKCSAgU3RpbGwgbmVlZHMgdG8gYmUgZml4ZWQgdG8gaGFuZGxlIHRoZSBtdWx0aWNoYW5uZWwgY2hhbm5lbC1tYXNrCgkgIGFuZCByZW9yZGVyaW5nLgoKMjAxMi0wMS0wNCAxMTozMTowNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzoKCSAgbGV2ZWw6IFVwZGF0ZSBmb3IgdGhlIG5ldyByYXcgYXVkaW8gbGF5b3V0IGZpZWxkCgoyMDEyLTAxLTA0IDExOjI5OjI2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSogZ3N0L2lzb21wNC9nc3RxdG11eG1hcC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgaXNvbXA0OiBQb3J0IHRvIHRoZSBuZXcgYXVkaW8gY2FwcwoJICBTdGlsbCBuZWVkcyB0byBoYW5kbGUgdGhlIGNoYW5uZWwgcG9zaXRpb25zL21hc2tzIGFuZAoJICBjaGFubmVsIHJlb3JkZXJpbmcuCgoyMDEyLTAxLTA0IDExOjExOjA2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jdXR0ZXIvZ3N0Y3V0dGVyLmM6CgkgIGN1dHRlcjogVXBkYXRlIGZvciB0aGUgbmV3IHJhdyBhdWRpbyBsYXlvdXQgZmllbGQKCjIwMTItMDEtMDQgMTE6MDk6MzIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dvb20vZ3N0Z29vbS5jOgoJICBnb29tOiBQb3J0IHRvIHRoZSBuZXcgbXVsdGljaGFubmVsIGNhcHMgYW5kIHVwZGF0ZSBmb3IgdGhlIG5ldyByYXcgYXVkaW8gbGF5b3V0IGZpZWxkCgoyMDEyLTAxLTA0IDExOjA4OjE4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6CgkgIGVxdWFsaXplcjogVXBkYXRlIGZvciB0aGUgbmV3IHJhdyBhdWRpbyBsYXlvdXQgZmllbGQKCjIwMTItMDEtMDQgMTE6MDc6MjkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogVXBkYXRlIGZvciB0aGUgbGliZ3N0cmlmZiBBUEkgY2hhbmdlcwoJICBTdGlsbCBuZWVkcyB0byBkbyByZW9yZGVyaW5nIG9mIGNoYW5uZWxzIGZvciByYXcgYXVkaW8uCgoyMDEyLTAxLTA0IDExOjA2OjI4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdXBhcnNlL2dzdGF1cGFyc2UuYzoKCSAgYXVwYXJzZTogUG9ydCB0byB0aGUgbmV3IG11bHRpY2hhbm5lbCBjYXBzIGFuZCB0aGUgbmV3IHJhdyBhdWRpbyBsYXlvdXQgZmllbGQKCjIwMTItMDEtMDQgMTE6MDI6NDMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9hbXBsaWZ5LmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZHluYW1pYy5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2VjaG8uYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9meGJhc2VmaXJmaWx0ZXIuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9meGJhc2VpaXJmaWx0ZXIuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9pbnZlcnQuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9rYXJhb2tlLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvcGFub3JhbWEuYzoKCSAgYXVkaW9meDogUG9ydCB0byB0aGUgbmV3IG11bHRpY2hhbm5lbCBjYXBzIGFuZCB0aGUgbmV3IHJhdyBhdWRpbyBsYXlvdXQgZmllbGQKCjIwMTItMDEtMDQgMTA6NTQ6NDYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL29zcy9nc3Rvc3NzaW5rLmM6CgkqIHN5cy9vc3MvZ3N0b3Nzc3JjLmM6CgkgIG9zczogUG9ydCB0byB0aGUgbmV3IG11bHRpY2hhbm5lbCBjYXBzIGFuZCB0aGUgcmF3IGF1ZGlvIGNhcHMgaW50ZXJsZWF2ZWQgZmllbGQKCjIwMTItMDEtMDQgMTA6Mjc6MDkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5oOgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSogZXh0L3B1bHNlL3B1bHNldXRpbC5jOgoJICBwdWxzZTogUG9ydCB0byB0aGUgbmV3IG11bHRpY2hhbm5lbCBjYXBzCgoyMDEyLTAxLTA0IDE5OjUxOjQ2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNzYyYjY5MiB0byAwODA3MTg3CgoyMDEyLTAxLTA0IDE3OjU5OjU1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3F0bXV4LmM6CgkgIHRlc3RzOiBmaXggc29tZSBsZWFrcyBhbmQgcmVtb3ZlIGZpbGVzIHdoZW4gZG9uZSBpbiBxdG11eCB0ZXN0CgoyMDExLTEyLTE0IDEwOjE0OjIwICswMTAwICBQZXRlciBTZWlkZXJlciA8cHMucmVwb3J0QGdteC5uZXQ+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSAgbXVsdGlmaWxlc2luazogcG9zdCBiZXR0ZXIgZXJyb3IgbWVzc2FnZSB3aGVuIHdlIHJ1biBvdXQgb2YgZGlzayBzcGFjZQoJICBNYXAgd3JpdGUgZXJybm8gRU5PU1BDIHRvIEdTVF9SRVNPVVJDRV9FUlJPUl9OT19TUEFDRV9MRUZULgoKMjAxMi0wMS0wNCAxMzoyNjo0NSArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGFjb2xvci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hbHBoYWNvbG9yLmM6CgkgIGFscGhhY29sb3I6IE1vcmUgZml4ZXMvY2xlYW51cAoKMjAxMi0wMS0wNCAxMzoyNTo0MCArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzoKCSAgYWxwaGE6IFJlZmFjdG9yIHBhcmFtL3Byb2Nlc3MgZnVuY3Rpb25zCgkgIFdoZW4gOjpzZXRfaW5mbygpIGlzIGNhbGxlZCwgdGhlIGlucHV0L291dHB1dCBWaWRlb0luZm8gYXJlbid0IHNldAoJICB5ZXQgb24gdGhlIHZpZGVvZmlsdGVyLgoKMjAxMi0wMS0wNCAxMDowMTo0OCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jYWlyby9nc3R0ZXh0b3ZlcmxheS5jOgoJKiBleHQvZHYvZ3N0ZHZkZW11eC5jOgoJKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOgoJKiBleHQvcmF3MTM5NC9nc3RkdjEzOTRzcmMuYzoKCSogZXh0L3JhdzEzOTQvZ3N0aGR2MTM5NHNyYy5jOgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzoKCSogZ3N0L2ltYWdlZnJlZXplL2dzdGltYWdlZnJlZXplLmM6CgkqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgR1NUX0ZMT1dfVU5FWFBFQ1RFRCAtPiBHU1RfRkxPV19FT1MKCjIwMTEtMTItMzEgMjM6MzM6MzMgLTA1MDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmM6CgkgIGRjYXBhcnNlOiB1c2UgcmlnaHQgdmFyaWFibGUKCSAgRml4ZXMgdXNlIG9mIHVuaXRpYWxpemVkIHZhcmlhYmxlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY3MDg1CgoyMDEyLTAxLTAzIDE1OjI2OjIxICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpc3VidGl0bGUuYzoKCSogZ3N0L2RlYnVndXRpbHMvcm5kYnVmZmVyc2l6ZS5jOgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9lYm1sLXJlYWQuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNyYy5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0ZmlsZXNyYy5jOgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4LmM6CgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0bXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICBHU1RfRkxPV19VTkVYUEVDVEVEIC0+IEdTVF9GTE9XX0VPUwoKMjAxMi0wMS0wMyAxNDo0MjoyOCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy90YWdzY2hlY2tpbmcuYzoKCSAgdGVzdHM6IHJld3JpdGUgdGVzdCBhIGxpdHRsZQoJICBSZXdyaXRlIHRoZSB0YWcgY2hlY2sgc28gdGhhdCB3ZSBkb24ndCBuZWVkIHRvIGRlYWwgd2l0aCB0YWcgbGlzdHMuCgoyMDEyLTAxLTAzIDE0OjE2OjI4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2pwZWdlbmMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXVsdGlmaWxlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3F0bXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cC1wYXlsb2FkaW5nLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGJpbi5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBiaW5fYnVmZmVyX2xpc3QuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwaml0dGVyYnVmZmVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NoYXBld2lwZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zb3VwaHR0cHNyYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy91ZHBzaW5rLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvY3JvcC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb2ZpbHRlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy95NG1lbmMuYzoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL2ZsYWNkZWMuYzoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3RhZ3NjaGVja2luZy5jOgoJICB0ZXN0czogbWFrZSBtb3JlIHRlc3RzIGNvbXBpbGUKCjIwMTItMDEtMDMgMTE6NTY6MjUgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZXF1YWxpemVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ZsYWNwYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9mbHZkZW11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9mbHZtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaWN5ZGVtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaW1hZ2VmcmVlemUuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaW50ZXJsZWF2ZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9sZXZlbC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tdWx0aWZpbGUuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcXRtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcmdhbmFseXNpcy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ2xpbWl0ZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcmd2b2x1bWUuYzoKCSAgdGVzdDogbWFrZSBtb3JlIHVuaXQgdGVzdHMgY29tcGlsZQoKMjAxMi0wMS0wMyAxMDoyNjo0OCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2ZpcmZpbHRlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2lpcmZpbHRlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2ludmVydC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3dzaW5jYmFuZC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3dzaW5jbGltaXQuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXV0b2RldGVjdC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdmltdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXZpc3VidGl0bGUuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2Fwc3NldHRlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kZWludGVybGFjZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kZWludGVybGVhdmUuYzoKCSogdGVzdHMvY2hlY2svZ2VuZXJpYy9pbmRleC5jOgoJKiB0ZXN0cy9jaGVjay9nZW5lcmljL3N0YXRlcy5jOgoJICB0ZXN0czogZml4IHNvbWUgdW5pdCB0ZXN0cwoJICBSZW1vdmUgdW5pdCB0ZXN0IGZvciBHc3RJbmRleC4KCSAgTWFrZSBzb21lIG90aGVyIHVuaXQgdGVzdHMgY29tcGlsZQoKMjAxMi0wMS0wMiAxNDozMjo0MCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zaW5rLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NyYy5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zaW5rLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NyYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwZXh0LmM6CgkgIGF1dG9kZXRlY3QsIHJ0c3A6IGdzdF9yZWdpc3RyeV9nZXRfZGVmYXVsdCgpIC0+IGdzdF9yZWdpc3RyeV9nZXQoKQoKMjAxMS0xMi0zMSAxMDowMDo0MSArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2V4YW1wbGVzL3Y0bDIvY2FtY3RybC5jOgoJICBjb250cm9sbGVyOiBwb3J0IHRvIEFQSSBjaGFuZ2VzCgoyMDExLTEyLTMwIDE3OjQxOjQ2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5oOgoJICBtYXRyb3NrYTogdXBkYXRlIGZvciBHc3RJbmRleCByZW1vdmFsCgoyMDExLTEyLTMwIDE3OjIzOjQzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguaDoKCSAgcXRkZW11eDogdXBkYXRlIGZvciBHc3RJbmRleCByZW1vdmFsCgoyMDExLTEyLTMwIDE3OjIwOjU3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvTWFrZWZpbGUuYW06CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5oOgoJKiBnc3QvZmx2L2dzdGluZGV4LmM6CgkqIGdzdC9mbHYvZ3N0aW5kZXguaDoKCSogZ3N0L2Zsdi9nc3RtZW1pbmRleC5jOgoJICBmbHZkZW11eDogdXBkYXRlIGZvciBHc3RJbmRleCByZW1vdmFsCgkgIEFkZCBwcml2YXRlIEdzdE1lbUluZGV4IGZvciBub3cuCgoyMDExLTEyLTMwIDE3OjEyOjAzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5oOgoJICBhdmlkZW11eDogdXBkYXRlIGZvciBHc3RJbmRleCByZW1vdmFsCgoyMDExLTEyLTI3IDIyOjU5OjAzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy93YXZlZm9ybS9nc3R3YXZlZm9ybXNpbmsuYzoKCSAgd2F2ZWZvcm1zaW5rOiBmaXggY29tcGlsZXIgd2FybmluZ3Mgd2l0aCBNaW5nVwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY2NDg1CgoyMDExLTEyLTI3IDEyOjA2OjE2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkgIHRlc3RzOiBtYWtlIGdpdCBpZ25vcmUgbmV3IHVuaXQgdGVzdCBiaW5hcnkKCjIwMTEtMTItMjcgMTE6NTA6MDMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgdWRwc3JjOiBmaXggdmFsZ3JpbmQgd2FybmluZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY2NjQ0CgoyMDExLTEyLTI3IDExOjQ5OjEwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy91ZHBzcmMuYzoKCSAgdWRwc3JjOiBhZGQgdW5pdCB0ZXN0IHRoYXQgc2VuZHMgMC1zaXplIHBhY2tldAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY2NjQ0CgoyMDExLTEyLTIxIDEzOjIyOjAzICswMTAwICBKb2huIE9nbmVzcyA8am9obi5vZ25lc3NAbGludXRyb25peC5kZT4KCgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIHVkcHNyYzogZHJvcCBkYXRhbGVzcyBVRFAgcGFja2V0cwoJICBJdCBpcyBhbGxvd2VkIHRvIHNlbmQvcmVjZWl2ZSBVRFAgcGFja2V0cyB3aXRoIG5vIGRhdGEuIFdoZW4gc3VjaAoJICBhIHBhY2tldCBpcyBhdmFpbGFibGUsIHNlbGVjdCgpIHdpbGwgcmV0dXJuIHdpdGggc3VjY2VzcyBidXQKCSAgaW9jdGwoRklPTlJFQUQpIHdpbGwgcmV0dXJuIDAuIEJ1dCBhIHJlYWQoKSBtdXN0IHN0aWxsIG9jY3VyIGluCgkgIG9yZGVyIHRvIGNsZWFyIG9mZiB0aGUgVURQIHBhY2tldCBmcm9tIHRoZSBxdWV1ZS4KCSAgVGhpcyBwYXRjaCB3aWxsIHJlYWQgdGhlIGRhdGFsZXNzIHBhY2tldCBmcm9tIHRoZSBzb2NrZXQuIElmCgkgIHNlbGVjdCgpIHdhcyB3b2tlbiBmb3Igb3RoZXIgcmVhc29ucyAoYW5kIEZJT05SRUFEIHJldHVybnMgMCksCgkgIHRoaXMgbWF5IHJlc3VsdCBpbiBhIFVEUCBwYWNrZXQgZ2V0dGluZyBhY2NpZGVudGFsbHkgZHJvcHBlZC4KCSAgQnV0IHNpbmNlIFVEUCBpcyBub3QgcmVsaWFibGUsIHRoaXMgaXMgYWNjZXB0YWJsZS4KCSAgTk9URTogVGhpcyBwYXRjaCBmaXhlcyBhIG5hc3R5IGJ1ZyB3aGVyZSBzZW5kaW5nIGEgZGF0YWxlc3MKCSAgVURQIHBhY2tldCB0byBhIHVkcHNyYyBpbnN0YW5jZSB3aWxsIGNhdXNlIGFuIGluZmluaXRlCgkgIGxvb3AuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjY2NDQKCSAgU2lnbmVkLW9mZi1ieTogSm9obiBPZ25lc3MgPGpvaG4ub2duZXNzQGxpbnV0cm9uaXguZGU+CgoyMDExLTEyLTI2IDIyOjIyOjU5ICswMDAwICBZYWFrb3YgU2Vsa293aXR6IDx5c2Vsa293aXR6QHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL01ha2VmaWxlLmFtOgoJKiBzeXMvd2F2ZWZvcm0vTWFrZWZpbGUuYW06CgkgIHdhdmVmb3JtOiBhZGQgYXV0b3Rvb2xzIGJpdHMgZm9yIHdhdmVmb3JtIHBsdWdpbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY2NDg1CgoyMDExLTEyLTIxIDIwOjUwOjIxICswMTAwICBOaWNvbGEgTXVyaW5vIDxuaWNvbGEubXVyaW5vQGdtYWlsLmNvbT4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogZml4IHBlZXJfY2FwcyBsZWFrCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjY2ODgKCjIwMTEtMTItMjUgMjM6NTI6NDYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IHJlbW92ZSB1bm5lY2Vzc2FyeSBjaGVjayBmb3IgZ2RwIGxpYnJhcnkKCjIwMTEtMTItMjUgMjI6MTc6NTMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBleHQvcHVsc2UvTWFrZWZpbGUuYW06CgkqIGV4dC9wdWxzZS9wbHVnaW4uYzoKCSogZXh0L3B1bHNlL3B1bHNlYXVkaW9zaW5rLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5oOgoJICBwdWxzZTogcmVtb3ZlIHB1bHNlYXVkaW9zaW5rIGhlbHBlciBiaW4KCSAgVGhpcyBpcyBjYXVzaW5nIHVzIGxvdHMgb2YgaGVhZGFjaGVzIGluIDAuMTAgYW5kIG5lZWRzIHRvIGJlIGRvbmUKCSAgZGlmZmVyZW50bHkgYW5kIHByb3Blcmx5IGluIDAuMTEuIHBsYXliaW4gb3IgZGVjb2RlYmluIHNob3VsZAoJICByZWNvbmZpZ3VyZSB0aGVtc2VsdmVzIGJhc2VkIG9uIHJlY29uZmlndXJlIGV2ZW50cywgZm9yIGV4YW1wbGUuCgoyMDExLTEyLTI1IDIxOjQ1OjQ1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNldXRpbC5jOgoJICBwdWxzZTogdXBkYXRlIGZvciByaW5nIGJ1ZmZlciBhdWRpbyBmb3JtYXQgdHlwZSBlbnVtIHJlbmFtZQoKMjAxMS0xMi0yNSAyMDozNDo1MiArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2V4YW1wbGVzL3Y0bDIvY2FtY3RybC5jOgoJICBjb250cm9sbGVyOiBwb3J0IHRvIG5ldyBjb250cm9sIHNvdXJjZSBhcGkKCjIwMTEtMTItMjUgMTQ6MjM6MjkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSAgZmx2bXV4OiBkb24ndCB0cnkgdG8gcHVzaCBhbHJlYWR5LWZyZWVkIGJ1ZmZlcnMKCSAgRml4ZXMgdW5pdCB0ZXN0LgoKMjAxMS0xMi0yNCAxMDo1Nzo0MiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgd2F2cGFyc2U6IFVzZSBzY2FsZV9jZWlsKCkgZnVuY3Rpb25zIGZyb20gY29yZSBpbnN0ZWFkIG9mIGN1c3RvbSBvbmVzCgoyMDExLTEyLTIxIDIzOjUxOjAzICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FscGhhL2dzdGFscGhhLmM6CgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5oOgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGFjb2xvci5jOgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGFjb2xvci5oOgoJKiBnc3QvZGVidWd1dGlscy9nc3RuYXZpZ2F0aW9udGVzdC5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RuYXZpZ2F0aW9udGVzdC5oOgoJKiBnc3QvZWZmZWN0di9nc3RhZ2luZy5jOgoJKiBnc3QvZWZmZWN0di9nc3RhZ2luZy5oOgoJKiBnc3QvZWZmZWN0di9nc3RkaWNlLmM6CgkqIGdzdC9lZmZlY3R2L2dzdGRpY2UuaDoKCSogZ3N0L2VmZmVjdHYvZ3N0ZWRnZS5jOgoJKiBnc3QvZWZmZWN0di9nc3RlZGdlLmg6CgkqIGdzdC9lZmZlY3R2L2dzdG9wLmM6CgkqIGdzdC9lZmZlY3R2L2dzdG9wLmg6CgkqIGdzdC9lZmZlY3R2L2dzdHF1YXJrLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHF1YXJrLmg6CgkqIGdzdC9lZmZlY3R2L2dzdHJhZGlvYWMuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0cmFkaW9hYy5oOgoJKiBnc3QvZWZmZWN0di9nc3RyZXYuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0cmV2Lmg6CgkqIGdzdC9lZmZlY3R2L2dzdHJpcHBsZS5jOgoJKiBnc3QvZWZmZWN0di9nc3RyaXBwbGUuaDoKCSogZ3N0L2VmZmVjdHYvZ3N0c2hhZ2FkZWxpYy5jOgoJKiBnc3QvZWZmZWN0di9nc3RzaGFnYWRlbGljLmg6CgkqIGdzdC9lZmZlY3R2L2dzdHN0cmVhay5jOgoJKiBnc3QvZWZmZWN0di9nc3RzdHJlYWsuaDoKCSogZ3N0L2VmZmVjdHYvZ3N0dmVydGlnby5jOgoJKiBnc3QvZWZmZWN0di9nc3R2ZXJ0aWdvLmg6CgkqIGdzdC9lZmZlY3R2L2dzdHdhcnAuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0d2FycC5oOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0Z2FtbWEuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdGdhbW1hLmg6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2JhbGFuY2UuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvYmFsYW5jZS5oOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9mbGlwLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZsaXAuaDoKCSAgdXBkYXRlIGZvciB2aWRlb2ZpbHRlciBjaGFuZ2VzLgoKMjAxMS0xMi0yMSAxNzo0MzoxMCArMDEwMCAgQnJhbmtvIFN1YmFzaWMgPGJyYW5rb0BheGlzLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguaDoKCSAgbWF0cm9za2FkZW11eDogZG8gbm90IGNvbnNpZGVyIGR1cmF0aW9uIG9mIG5vbi1maW5hbGl6ZWQgZmlsZQoJICAuLi4gdG8gYXZvaWQgaXQgY2xhbXBpbmcgcmVxdWVzdGVkIHNlZWsgcG9zaXRpb24uCgkgIE5vbi1maW5hbGl6ZWQgZmlsZSBjYXNlLCBkZXRlcm1pbmVkIGJ5IHdoZXRoZXIKCSAgX3BhcnNlX2Jsb2NrZ3JvdXBfb3Jfc2ltcGxlYmxvY2sgZXZlciB1cGRhdGVzIHRoZSBzZWdtZW50IGR1cmF0aW9uLgoJICBGaXhlcyAjNjUyMTk1LgoKMjAxMS0xMi0yMSAxNTowNjo1NyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogaW1wcm92ZSBkZWNpc2lvbiB0byBmYWxsIGJhY2sgdG8gc2Nhbm5pbmcgd2hlbiBzZWVraW5nCgkgIC4uLiB3aGljaCBpcyBiYXNpY2FsbHkgaWZmIG5vdCBzdHJlYW1pbmcgYW5kIG5vIGVudHJ5IGZvdW5kIGluIGluZGV4CgoyMDExLTEyLTIxIDA5OjA5OjI3ICswMTAwICBPbGVrc2lqIFJlbXBlbCAoQWxleGV5IEZpc2hlcikgPGJ1Zy10cmFja0BmaXNoZXItcHJpdmF0Lm5ldD4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSAgYWMzcGFyc2U6IHJlbW92ZSB1bnVzZWQgdmFyaWFibGUKCSAgcmVtb3ZlIHVudXNlZCB2YXJpYWJsZSB0byBmaXggY29tcGlsZSBlcnJvcjoKCSAgbWFrZSAtQyBhdWRpb3BhcnNlcnMKCSAgbWFrZVszXTogQmV0cmV0ZSBWZXJ6ZWljaG5pcyAnL2hvbWUvbGV4L3RtcC9nc3QtcGx1Z2lucy1nb29kL2dzdC9hdWRpb3BhcnNlcnMnCgkgIENDICAgICBsaWJnc3RhdWRpb3BhcnNlcnNfbGEtZ3N0YWFjcGFyc2UubG8KCSAgZ3N0YWFjcGFyc2UuYzogSW4gZnVuY3Rpb24gJ2dzdF9hYWNfcGFyc2VfcmVhZF9sb2FzX2F1ZGlvX3NwZWNpZmljX2NvbmZpZyc6CgkgIGdzdGFhY3BhcnNlLmM6NDQ2OjEyOiBlcnJvcjogdmFyaWFibGUgJ3Nicicgc2V0IGJ1dCBub3QgdXNlZCBbLVdlcnJvcj11bnVzZWQtYnV0LXNldC12YXJpYWJsZV0KCSAgY2MxOiBhbGwgd2FybmluZ3MgYmVpbmcgdHJlYXRlZCBhcyBlcnJvcnMKCSAgU2lnbmVkLW9mZi1ieTogT2xla3NpaiBSZW1wZWwgKEFsZXhleSBGaXNoZXIpIDxidWctdHJhY2tAZmlzaGVyLXByaXZhdC5uZXQ+CgoyMDExLTEyLTIxIDExOjU5OjQ2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlbWl4ZXIuYzoKCSogZXh0L3B1bHNlL3B1bHNlcHJvYmUuaDoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkqIHN5cy92NGwyL2dzdHY0bDJyYWRpby5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHRlc3RzL2V4YW1wbGVzL3B1bHNlL3B1bHNlLmM6CgkqIHRlc3RzL2V4YW1wbGVzL3Y0bDIvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL3Y0bDIvcHJvYmUuYzoKCSAgdXBkYXRlIGZvciByZW1vdmVkIHByb3BlcnR5IHByb2JlCgoyMDExLTA5LTA5IDExOjQyOjA5ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSAgYWMzcGFyc2U6IGxldCBic2lkIDkgYW5kIDEwIHRocm91Z2gKCSAgRmlsZXMgd2l0aCA5IGFuZCAxMCBoYXBwZW4sIGFuZCBzZWVtIHRvIGNvbXBseSB3aXRoIHRoZSA8PSA4CgkgIGZvcm1hdCwgc28gbGV0IHRoZW0gdGhyb3VnaC4KCSAgVGhlIHNwZWMgc2F5cyBub3RoaW5nIGFib3V0IDkgYW5kIDEwLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU4NTQ2CgoyMDExLTEyLTE5IDIzOjUwOjE5ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvZXhhbXBsZXMvdjRsMi9jYW1jdHJsLmM6CgkgIGNvbnRyb2xsZXI6IHBvcnQgdG8gbmV3IGludGVycG9sYXRpb24tbW9kZSBhcGkKCjIwMTEtMTItMTkgMjI6NTM6NTcgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9leGFtcGxlcy92NGwyL2NhbWN0cmwuYzoKCSAgY29udHJvbGxlcjogcG9ydCB0byBuZXcgY29udHJvbGxlciBhcGkKCjIwMTEtMTItMTkgMTk6MDM6NTIgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDI6IHVwZGF0ZSBmb3IgbmV3IGludGVybGFjZWQgY2FwcwoKMjAxMS0xMi0xNiAxOToxNTozOCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJICBmbHZtdXg6IHByb3Blcmx5IGRldGVybWluZSBmaW5hbCBkdXJhdGlvbgoJICAuLi4gd2hpY2ggY2FuIGJlIGF1dGhvcmF0aXZlbHkgb2J0YWluZWQgZnJvbSBvdXIgb3duIHdyaXR0ZW4gdGltZXN0YW1wcy4KCjIwMTEtMTItMTkgMTM6NTY6MzAgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSAgZmx2bXV4OiBvbmx5IHdyaXRlIGZ1bGwgbWV0YWRhdGEgYXQgc3RhcnQKCSAgLi4uIHJhdGhlciB0aGFuIGhhdmluZyAocG90ZW50aWFsbHkpIHVubmVjZXNzYXJ5IGR1cGxpY2F0ZXMgd3JpdHRlbiBhbGwgb3ZlciwKCSAgb3IgZXZlbiBjb250cmFkaWN0b3J5IHZhcnlpbmcgZmlsZXNpemUgaW5mbywgb3IgZHVyYXRpb24gaW5mbyB0aGF0IHdpbGwgbm90CgkgIGJlIHJld3JpdHRlbiB1cG9uIGhlYWRlciByZXdyaXRlLgoKMjAxMS0xMi0xNiAxOToxNTowMyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJICBmbHZtdXg6IHVzZSBHc3RDb2xsZWN0UGFkczIgYnVmZmVyIGNhbGxiYWNrIGFuZCBydW5uaW5nIHRpbWUgY2xpcHBlcgoJICAuLi4gc2luY2UgdGhlIGRlZmF1bHQgY29sbGVjdGlvbiBoZXVyaXN0aWNzIHN1ZmZpY2UuCgoyMDExLTEyLTE2IDE4OjAzOjAxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IHVzZSBHc3RDb2xsZWN0UGFkczIgYnVmZmVyIGNhbGxiYWNrIGFuZCBydW5uaW5nIHRpbWUgY2xpcHBlcgoJICAuLi4gc2luY2UgZGVmYXVsdCBjb2xsZWN0aW9uIGhldXJpc3RpY3Mgc3VmZmljZS4KCjIwMTEtMTItMTYgMTc6MjA6NTEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogYnJpbmcgYSBmZXcgZGVidWcgc3RhdGVtZW50cyB1cCB0byBzcGVjcwoJICAuLi4gYW5kIG1pbm9yIHNwZWxsaW5nIGZpeC4KCjIwMTEtMTItMTYgMTY6NTY6MzcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogYWRkaXRpb25hbCBzdWJ0aXRsZSBzdXBwb3J0CgoyMDExLTEyLTE1IDIxOjUwOjQyICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5oOgoJICBtYXRyb3NrYW11eDogYWRkaXRpb25hbCBidWZmZXIgaGFuZGxpbmcgY2xlYW51cAoKMjAxMS0xMi0xNSAyMTo0NToxNyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiB1c2UgR3N0Q29sbGVjdFBhZHMyIGJ1ZmZlciBjYWxsYmFjayBhbmQgcnVubmluZyB0aW1lIGNsaXBwZXIKCjIwMTEtMTItMDcgMTM6MjQ6NTUgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmg6CgkgIGFhY3BhcnNlOiBwYXJzZSBMT0FTIHZhcmlhbnQKCSAgVGhlIExPQVMgdmFyaWFudCBzZWVtcyB0byBoYXZlIHRocmVlIGRpZmZlcmVudCBzdWJ2YXJpYW50cyBpdHNlbGYsCgkgIG9ubHkgb25lIG9mIHRoZW0gaXMgaW1wbGVtZW50ZWQgYXMgbXkgdHdvIHNhbXBsZXMgaGFwcGVuIHRvIGJlCgkgIHVzaW5nIHRoYXQgb25lLgoJICBUaGUgc2FtcGxlIHJhdGUgaXMgbm90IGFsd2F5cyByZXBvcnRlZCBjb3JyZWN0bHksIGFzIHRoZSAibWFpbiIKCSAgc2FtcGxlIHJhdGUgaXMgYXBwYXJlbnRseSBzb21ldGltZXMgaGFsZiB3aGF0IGl0IHNob3VsZCBiZSAoYm90aAoJICBvZiBteSBzYW1wbGVzIHJlcG9ydCAyNDAwMCBIeiB0aGVyZSksIGFuZCB0aGVyZSBhcmUgdHdvIG90aGVyCgkgIHBhcnRzIG9mIHRoZSBzdWJ2YXJpYW50IHdpdGggZGlmZmVyZW50IHNhbXBsaW5nIHJhdGVzLiBPbmUgb2YgdGhlbQoJICBpcyBwYXJzZWQsIGJ1dCBub3QgdGhlIG90aGVyLCBhcyBpdCdzIGxvY2F0ZWQgYWZ0ZXIgc29tZSBvdGhlcgoJICBsYXJnZSBhbW91bnQgb2YgdmFyaWFibGUgZGF0YSB0aGF0IG5lZWRzIHBhcnNpbmcgZmlyc3QsIGFuZCB0aGVyZQoJICBzZWVtcyB0byBiZSBhIExPVCBvZiBpdCwgd2hpY2ggaXMgdXNlbGVzcyBmb3Igb3VyIG5lZWRzIGhlcmUuCgkgIFRoaXMgZW5kcyB1cCBiZWluZyByYXRoZXIgaW5jb25zZXF1ZW50aWFsLCBhcyBmZmRlY19hYWNfbGF0bSwKCSAgd2hpY2ggaXMgdGhlIG9ubHkgZGVjb2RlciB0aGF0IGNhbiBkZWNvZGUgc3VjaCBzdHJlYW1zLCBkb2VzIG5vdAoJICBuZWVkIHRoZSBzYW1wbGUgcmF0ZSBvbiB0aGUgY2FwcyBhbnl3YXkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjUzOTQKCjIwMTEtMTItMTkgMTA6NDg6NTQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgd2F2cGFyc2U6IGRvbid0IHJlbW92ZSBzcmNwYWQKCSAgRG9uJ3QgcmVtb3ZlIHRoZSBhbHdheXMgc3JjcGFkIGluIHJlYWR5IGFuZCBtYWtlIHRoZSBlbGVtZW50IHJldXNhYmxlLgoKMjAxMS0xMi0xNSAxNjo0MDoyMSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdm11eC5oOgoJICBmbHZtdXg6IHVzZSBHc3RDb2xsZWN0UGFkczIgZXZlbnQgY2FsbGJhY2sKCSAgLi4uIGluIHN0ZWFkIG9mIGxvY2FsIEhBQ0suCgoyMDExLTEyLTE1IDE2OjMwOjE3ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5oOgoJICBtYXRyb3NrYW11eDogdXNlIEdzdENvbGxlY3RQYWRzMiBldmVudCBjYWxsYmFjawoJICAuLi4gaW4gc3RlYWQgb2YgbG9jYWwgSEFDSy4KCjIwMTEtMTItMTUgMTY6MTY6NTIgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSogZ3N0L2F2aS9nc3RhdmltdXguaDoKCSAgYXZpbXV4OiB1c2UgR3N0Q29sbGVjdFBhZHMyIGV2ZW50IGNhbGxiYWNrCgkgIC4uLiBpbiBzdGVhZCBvZiBsb2NhbCBIQUNLLgoKMjAxMS0xMi0xNSAxNjoxNToyMiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguaDoKCSAgcXRtdXg6IHVzZSBHc3RDb2xsZWN0UGFkczIgZXZlbnQgY2FsbGJhY2sKCSAgLi4uIGluIHN0ZWFkIG9mIGxvY2FsIEhBQ0suCgoyMDExLTEyLTE0IDE5OjEzOjIxICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zbXB0ZS9nc3RzbXB0ZS5jOgoJKiBnc3Qvc21wdGUvZ3N0c21wdGUuaDoKCSAgc21wdGU6IHBvcnQgdG8gR3N0Q29sbGVjdFBhZHMyCgoyMDExLTEyLTE0IDE5OjEwOjUzICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0bXV4LmM6CgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0bXV4Lmg6CgkgIG11bHRpcGFydG11eDogcG9ydCB0byBHc3RDb2xsZWN0UGFkczIKCjIwMTEtMTItMTQgMTk6MDc6MjMgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4Lmg6CgkgIG1hdHJvc2thbXV4OiBwb3J0IHRvIEdzdENvbGxlY3RQYWRzMgoKMjAxMS0xMi0xNCAxOTowMjoyMyArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguaDoKCSAgcXRtdXg6IHBvcnQgdG8gR3N0Q29sbGVjdFBhZHMyCgoyMDExLTEyLTE0IDE4OjU1OjM2ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzoKCSogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5oOgoJICBpbnRlcmxlYXZlOiBwb3J0IHRvIEdzdENvbGxlY3RQYWRzMgoKMjAxMS0xMi0xNCAxODo1MjozNyArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdm11eC5oOgoJICBmbHhtdXg6IHBvcnQgdG8gR3N0Q29sbGVjdFBhZHMyCgoyMDExLTEyLTE0IDE4OjM4OjA5ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpbXV4Lmg6CgkgIGF2aW11eDogcG9ydCB0byBHc3RDb2xsZWN0UGFkczIKCjIwMTEtMTItMTQgMTg6MzQ6MjUgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NhaXJvL2dzdHRleHRvdmVybGF5LmM6CgkqIGV4dC9jYWlyby9nc3R0ZXh0b3ZlcmxheS5oOgoJICBjYWlyb3RleHRvdmVybGF5OiBwb3J0IHRvIEdzdENvbGxlY3RQYWRzMgoKMjAxMS0xMi0xMyAxODoxODo0NSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSAgbWF0cm9za2FkZW11eDogZmlsdGVyIGJvZ3VzIGluZGV4IGVudHJpZXMgd2l0aCBtaXNzaW5nIGJsb2NrIG51bWJlcgoJICAuLi4gdG8gYXZvaWQgY29udHJhZGljdG9yeSBpbmZvcm1hdGlvbiByZXN1bHRpbmcgaW4gc2Vla3Mgc2VuZGluZyBtb3JlCgkgIGRvd25zdHJlYW0gdGhhbiBuZWVkZWQgZm9yIHRoZSBjb3JyZXNwb25kaW5nIHNlZ21lbnQuCgoyMDExLTEyLTEzIDE4OjE1OjE4ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBjYXRlciBmb3Igc2FmZXIgYXJpdGhtZXRpYyB3aXRoIGdsb2JhbCBzdGFydCB0aW1lCgoyMDExLTEyLTEzIDE3OjAyOjAxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiB0d2VhayBmaW5hbCBjbG9zaW5nIHNlZ21lbnQgc2VuZGluZwoJICAuLi4gdG8gYXZvaWQgaXQgaW50ZXJmZXJpbmcgd2l0aCAoc3BhcnNlKSBzdHJlYW0gc3luY2luZy4KCjIwMTEtMTItMTIgMTE6NTE6MDYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IG1ha2UgZGVidWcgbWVzc2FnZSBtb3JlIHVzZWZ1bAoJICBBZGQgaW5mb3JtYXRpb24gYWJvdXQgdGhlIHRhZ2xpc3QgYW5kIHdoaWNoIHBhZCByZWNlaXZlZCB0aGUKCSAgdGFnIGV2ZW50IG9uIHRoZSBkZWJ1ZyBsb2dnaW5nLgoKMjAxMS0xMi0xMyAxMTo0Njo0MyArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgd2F2cGFyc2U6IGF2b2lkIHVzaW5nIGZsb2F0aW5nIHBvaW50IHVubmVjZXNzYXJpbHkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NTkxMQoKMjAxMS0xMi0xMyAxMTo0Mjo0MCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgd2F2cGFyc2U6IGZpeCBmb3JtYXQgc3BlY2lmaWVyIHNpZ25lZG5lc3MKCSAgVXNlIHVuc2lnbmVkIHNwZWNpZmllcnMgZm9yIGFsbCB1bnNpZ25lZCB2YWx1ZXMuCgkgIEEgbG90IG9mIHRoZSB2YWx1ZXMgdXNlZCBoZXJlIGFyZSB1bnNpZ25lZCwgYW5kIHNvbWUgY2FuIHRha2UKCSAgaGlnaCBlbm91Z2ggdmFsdWVzIHRoYXQgdGhlaXIgc2lnbmVkIGNvdW50ZXJwYXJ0IHdpbGwgYmUgbmVnYXRpdmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjU5MTEKCjIwMTEtMTItMTIgMTY6NDk6MTkgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5oOgoJICB3YXZwYXJzZTogYWRkIGEgaWdub3JlLWxlbmd0aCBwcm9wZXJ0eQoJICBUaGlzIGFsbG93cyBwbGF5aW5nIGJyb2tlbiBzdHJlYW1zIHdoaWNoIHdyaXRlIGFuIGluY29ycmVjdAoJICBsZW5ndGggaW4gdGhlaXIgZGF0YSBjaHVua3MgKHN1Y2ggYXMsIGF0IGxlYXN0LCBvbmUgc3RyZWFtaW5nCgkgIGNhbWVyYSkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjU5MTEKCjIwMTEtMTItMTIgMTE6NTQ6NTYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2dsaWItY29tcGF0LXByaXZhdGUuaDoKCSAgZ2xpYi1jb21wYXQ6IEFkZCBsaWNlbnNlIGJvaWxlcnBsYXRlIGZvciBMR1BMCgoyMDExLTEyLTEyIDE1OjE1OjQ2ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBtaW5kICh1bilzaWduZWQgaW4gc29tZSB0aW1lc3RhbXAgYXJpdGhtZXRpYwoJICAuLi4gdG8gYXZvaWQgZW5kaW5nIHVwIHdpdGggaW52YWxpZCAobmVnYXRpdmUpIGR1cmF0aW9uLgoKMjAxMS0wMi0wOSAxNTozMToyMiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogaW5jcmVhc2UgcGFyc2UgdG9sZXJhbmNlIGZvciBmdXp6eSBmaWxlIGNhc2VzCgoyMDExLTEyLTEyIDEwOjM4OjIwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIE1ha2VmaWxlLmFtOgoJICBidWlsZDogZGlzdCBnbGliLWNvbXBhdC1wcml2YXRlLmggcHJvcGVybHkKCSAgQWRkIG1pc3Npbmcgc2xhc2guCgoyMDExLTEyLTEyIDEwOjE4OjE0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NvdXBodHRwc3JjLmM6CgkgIHRlc3RzOiB1c2UgYXRleGl0LCBnX2F0ZXhpdCBoYXMgYmVlbiBkZXByZWNhdGVkIGluIGdsaWIgbWFzdGVyCgoyMDExLTEyLTEyIDAyOjUyOjEzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kdi9nc3RkdmRlbXV4LmM6CgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6CgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJKiBnc3QvaW1hZ2VmcmVlemUvZ3N0aW1hZ2VmcmVlemUuYzoKCSogZ3N0L2lzb21wNC9nc3RxdG1vb3ZyZWNvdmVyLmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIFN1cHByZXNzIGRlcHJlY2F0aW9uIHdhcm5pbmdzIGluIHNlbGVjdGVkIGZpbGVzLCBmb3IgZ19zdGF0aWNfcmVjX211dGV4XyogbW9zdGx5CgkgIEdTdGF0aWNSZWNNdXRleCBpcyBwYXJ0IG9mIG91ciBBUEkvQUJJLCBub3QgbXVjaCB3ZSBjYW4gZG8gaGVyZQoJICBpbiAwLjEwIGZvciBtb3N0IG9mIHRoZXNlLgoKMjAxMS0xMi0xMiAwMjo0MTozNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zb3VwaHR0cHNyYy5jOgoJKiB0ZXN0cy9pY2xlcy9lcXVhbGl6ZXItdGVzdC5jOgoJKiB0ZXN0cy9pY2xlcy9nZGtwaXhidWZzaW5rLXRlc3QuYzoKCSogdGVzdHMvaWNsZXMvdGVzdC1vc3M0LmM6CgkqIHRlc3RzL2ljbGVzL3ZpZGVvY3JvcC10ZXN0LmM6CgkgIHRlc3RzOiBnX3RocmVhZF9pbml0KCkgaXMgZGVwcmVjYXRlZCBpbiBnbGliIG1hc3RlcgoJICBJdCdzIG5vdCBuZWVkZWQgYW55IGxvbmdlci4KCjIwMTEtMTItMTIgMDI6Mzg6MzcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBjbGllbnRzaW5rLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogc3lzL29zczQvb3NzNC1taXhlci5jOgoJKiB0ZXN0cy9pY2xlcy92NGwyc3JjLXRlc3QuYzoKCSAgVXNlIGdfdGhyZWFkX3RyeV9uZXcoKSBpbnN0ZWFkIG9mIGdfdGhyZWFkX2NyYXRlKCkgd2l0aCBuZXdlciBnbGliIHZlcnNpb25zCgoyMDExLTEyLTEyIDAyOjMxOjM2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuaDoKCSAgYWxwaGE6IHVzZSBuZXcgZ2xpYiBBUEkgZm9yIHN0YXRpYyBtdXRleCBpZiBhdmFpbGFibGUKCjIwMTEtMTItMTIgMDI6MzA6NDUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogTWFrZWZpbGUuYW06CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb2NsaWVudC5jOgoJKiBleHQvcHVsc2UvcHVsc2VhdWRpb3NpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cGNsaWVudHNpbmsuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsaWItY29tcGF0LXByaXZhdGUuaDoKCSogZ3N0L2F1ZGlvZngvYXVkaW9jaGViYmFuZC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJsaW1pdC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2ZpcmZpbHRlci5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2lpcmZpbHRlci5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb3dzaW5jYmFuZC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb3dzaW5jbGltaXQuYzoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzoKCSogZ3N0L2ltYWdlZnJlZXplL2dzdGltYWdlZnJlZXplLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOgoJKiBnc3QvdmlkZW9jcm9wL2dzdGFzcGVjdHJhdGlvY3JvcC5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkqIHN5cy9vc3M0L29zczQtbWl4ZXIuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnhvdmVybGF5LmM6CgkqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6CgkgIFdvcmsgYXJvdW5kIGRlcHJlY2F0ZWQgdGhyZWFkIEFQSSBpbiBnbGliIG1hc3RlcgoJICBBZGQgcHJpdmF0ZSByZXBsYWNlbWVudHMgZm9yIGRlcHJlY2F0ZWQgZnVuY3Rpb25zIHN1Y2ggYXMKCSAgZ19tdXRleF9uZXcoKSwgZ19tdXRleF9mcmVlKCksIGdfY29uZF9uZXcoKSBldGMuLCBtb3N0bHkKCSAgdG8gYXZvaWQgdGhlIGRlcHJlY2F0aW9uIHdhcm5pbmdzLiBXZSdsbCBjaGFuZ2UgdGhlc2UKCSAgb3ZlciB0byB0aGUgbmV3IEFQSSBvbmNlIHdlIGRlcGVuZCBvbiBnbGliID49IDIuMzIuCgoyMDExLTEyLTEyIDEwOjI0OjQ1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBSZXF1aXJlIEdMaWIgPj0gMi4yNAoJICBBbGwgb3RoZXIgbW9kdWxlcyByZXF1aXJlIHRoaXMgYWxyZWFkeSBhbmQgbm9ib2R5IGlzIHRlc3Rpbmcgd2l0aAoJICBvbGRlciB2ZXJzaW9ucyBhbnl3YXkuCgoyMDExLTEyLTExIDE4OjQwOjMxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1ZnNpbmsuYzoKCSAgZ2RrcGl4YnVmc2luazogZml4IGludmVydGVkIHBpeGVsLWFzcGVjdC1yYXRpbwoJICBTcG90dGVkIGJ5IE1pa2UgTW9ycmlzb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjU4ODIKCjIwMTEtMTItMTEgMTc6NTU6MTQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlYXVkaW9zaW5rLmM6CgkgIHB1bHNlYXVkaW9zaW5rOiBkb24ndCBsZWFrIHBhZCB0ZW1wbGF0ZQoKMjAxMS0xMi0xMCAxNDo0ODo1NyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cGNsaWVudHNpbmsuYzoKCSAgc291cDogZml4IHN0YXJ0L3N0b3AgcmFjZSBpbiBzb3VwaHR0cGNsaWVudHNpbmsKCSAgRml4IGNyYXNoIG9yIGhhbmcgaW4gZ2VuZXJpYy9zdGF0ZXMgdW5pdCB0ZXN0IHdoZW4gZG9pbmcgc3RvcCgpCgkgIHJpZ2h0IGFmdGVyIHN0YXJ0KCkuIENyZWF0ZSBtYWluIGxvb3AgaW4gdGhlIHN0YXJ0IGZ1bmN0aW9uIGFscmVhZHkKCSAgYW5kIG5vdCBqdXN0IGluIHRoZSB0aHJlYWQgZnVuY3Rpb24sIHNvIHRoYXQgc3RvcCgpIGFsd2F5cyBoYXMgYQoJICB2YWxpZCBtYWluIGxvb3AgdG8gcXVpdCBvbi4gQWxzbywgY2FsbGluZyBnX21haW5fbG9vcF9xdWl0KCkgYmVmb3JlCgkgIGdfbWFpbl9sb29wX3J1bigpIHdvbid0IHdvcmsgYW5kIHJlc3VsdCBpbiB0aGUgc3RvcCBmdW5jdGlvbiB3YWl0aW5nCgkgIGZvciB0aGUgdGhyZWFkIHRvIGpvaW4gZm9yZXZlci4gVGhlcmVmb3JlLCB3YWl0IGZvciB0aGUgdGhyZWFkIHRvCgkgIGJlIHJlYWR5IGFuZCBnZXQgdGhlIG1haW4gbG9vcCBydW5uaW5nIGluIHRoZSBzdGFydCgpIGZ1bmN0aW9uLCB0bwoJICBiZSBzdXJlIHN0b3AoKSBhbHdheXMgd29ya3MuCgoyMDExLTEyLTEwIDEzOjM1OjA4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2ZpbGVzL01ha2VmaWxlLmFtOgoJICB0ZXN0czogZGlzdCB0ZXN0IGZpbGUgdXNlZCBpbiBtYXRyb3NrYXBhcnNlIHVuaXQgdGVzdAoKMjAxMS0xMi0xMCAxMjozMjozMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ3ZvbHVtZS5jOgoJICB0ZXN0czogZml4IHVwIHJndm9sdW1lIHRlc3QgZm9yIGJhc2V0cmFuc2Zvcm0gZXZlbnQgY2FjaGluZwoJICBTb21lIHRlc3RzIGFzc3VtZWQgdGhhdCB0YWcgZXZlbnRzIHdvdWxkIGFsd2F5cyBwdXNoZWQgdGhyb3VnaAoJICBpbW1lZGlhdGVseSwgd2hpY2ggaXNuJ3QgdGhlIGNhc2UgYW55IGxvbmdlciwgc28gcHVzaCBhIG5ld3NlZ21lbnQKCSAgZXZlbnQgYW5kIGFuIGVtcHR5IGJ1ZmZlciBmaXJzdC4KCjIwMTEtMTItMTAgMTE6MTI6MDEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSAgc3NyY2RlbXV4OiBmaXggaXRlcmF0b3IgYW5kIGNhcHMKCjIwMTEtMTItMTAgMTE6MTE6MDAgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IGZvcndhcmQgdGhlIGNhcHMgZXZlbnQKCjIwMTEtMTItMTAgMTE6MDk6NDMgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBzaW1wbHkgZm9yd2FyZCB0aGUgY2FwcyBldmVudAoJICBmb3J3YXJkIHRoZSBjYXBzIGV2ZW50IHdlIGdldCBhcyBpbnB1dCBpbnN0ZWFkIG9mIG1ha2luZyBhIG5ldyBldmVudCBldGMuLgoKMjAxMS0xMi0wOSAyMDoxMDoxOSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogZm9yd2FyZCBjYXBzCgoyMDExLTEyLTA5IDE5OjQ2OjAyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICBydHA6IHBhc3MgcGFyZW50IHRvIHNldGNhcHMgbWV0aG9kcwoKMjAxMS0xMi0xMCAwMjoyMTowMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBwby9MSU5HVUFTOgoJKiBwby9lby5wbzoKCSogcG8vamEucG86CgkqIHBvL2x2LnBvOgoJKiBwby9zci5wbzoKCSAgcG86IHVwZGF0ZSB0cmFuc2xhdGlvbnMKCjIwMTEtMTItMDkgMTY6MDQ6NTYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSAgcHVsc2U6IHJlbmFtZSAiY2xpZW50IiBwcm9wZXJ0aWVzIHRvICJjbGllbnQtbmFtZSIKCSAgQmV0dGVyIG5hbWUsIGJ1dCBhbHNvIG1hdGNoZXMgdGhlIHByb3BlcnR5IG9uIHRoZSBqYWNrCgkgIGVsZW1lbnRzICh3aGVyZSAiY2xpZW50IiBpcyB1c2VkIGZvciBzb21ldGhpbmcgZWxzZSkuCgoyMDExLTEyLTA5IDE1OjUwOjI4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6CgkgIGphY2s6IGRvbid0IGxlYWsgY2xpZW50IG5hbWUgd2hlbiBmcmVlaW5nIHRoZSBlbGVtZW50CgkgIEFuZCBhZGQgZ3RrLWRvYyBjaHVua3MgZm9yIHRoZSBuZXcgcHJvcGVydHkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjU4NzIKCjIwMTEtMTItMDkgMTU6NDU6MDMgKzAwMDAgIE5pY29sYXMgQmFyb24gPGhvZ2dpbnNAcmFkaW9tLmZyPgoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmg6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuaDoKCSAgamFjazogYWRkICJjbGllbnQtbmFtZSIgcHJvcGVydHkgdG8gamFja2F1ZGlvc2luayBhbmQgamFja2F1ZGlvc3JjCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjU4NzIKCjIwMTEtMTItMDkgMTI6MTk6MTMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xhdy9NYWtlZmlsZS5hbToKCSAgbGF3OiBmaXggQ0ZMQUdTIGFuZCBMSUJTIG9yZGVyIGluIE1ha2VmaWxlLmFtCgoyMDExLTEyLTA5IDEyOjE1OjMwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIHJlbW90ZS10cmFja2luZyBicmFuY2ggJ29yaWdpbi9tYXN0ZXInIGludG8gMC4xMQoKMjAxMS0xMi0wOSAxMDo1MToxNCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi1tYXJzaGFsLmxpc3Q6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSAgcnRwOiBmaXggbWFyc2hhbGxlcnMKCSAgUmVtb3ZlIGN1c3RvbSBtYXJzaGFsbGVycyBmb3IgbWlub2JqZWN0LgoJICBJbml0IFJUQ1AgYnVmZmVyIGNvcnJlY3RseS4KCSAgSGFuZGxlIHJlc3VsdHMgZnJvbSBzZXRjYXBzCgkgIFJlbW92ZSBhc3NlcnRzLgoKMjAxMS0xMi0wOSAxMDo1MDoxOCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9sYXcvTWFrZWZpbGUuYW06CgkqIGdzdC9sYXcvYWxhdy1kZWNvZGUuYzoKCSogZ3N0L2xhdy9hbGF3LWVuY29kZS5jOgoJKiBnc3QvbGF3L2FsYXcuYzoKCSogZ3N0L2xhdy9tdWxhdy1kZWNvZGUuYzoKCSogZ3N0L2xhdy9tdWxhdy1lbmNvZGUuYzoKCSAgbGF3OiBmaXggbmVnb3RpYXRpb24KCjIwMTEtMTItMDggMTE6MDA6NDUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogc3RyZWFtLWZvcm1hdD1yYXcgZ29lcyB3aXRoIGFhYyBjYXBzLCBub3QgbXAzIGNhcHMKCjIwMTEtMTItMDggMDE6Mjg6MjYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgcmVtb3RlLXRyYWNraW5nIGJyYW5jaCAnb3JpZ2luL21hc3RlcicgaW50byAwLjExCgkgIENvbmZsaWN0czoKCSAgc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jCgoyMDExLTEyLTAyIDEyOjA3OjI0ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMnNyYzogZG8gbm90IGlnbm9yZSB0aGUgaGlnaGVzdCBmcmFtZSBpbnRlcnZhbAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY1Mzg3CgoyMDExLTEyLTAyIDExOjU5OjAzICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMnNyYzogZG8gbm90IGlnbm9yZSB0aGUgbGFyZ2VzdCByZXNvbHV0aW9uCgkgIFRoZSAnbWF4JyB2YWx1ZSBpc24ndCBhbiBTVEwgc3R5bGUgIm9uZSBhZnRlciB0aGUgZW5kIiBib3VuZCwKCSAgYnV0IHRoZSBsYXJnZXN0IGFsbG93ZWQgdmFsdWUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjUzODcKCjIwMTEtMTItMDYgMTY6NDc6MjUgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuaDoKCSAgZG9jczogYWRkIGFkZCB0aGUgdHdvIGVudW0gdmFsdWVzIHRoYXQgd2VyZSBqdXN0IGFkZGVkIHRvbwoKMjAxMS0xMi0wNiAxNjoxNDo1NCArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuaDoKCSAgbXVsdGlmaWxlc2luazogZXhwb3NlIHRoZSBlbnVtIHByb3BlcnR5IGRvY3MgZm9yIHNwbGl0dGluZyBtb2RlLgoJICBGaXhlcyAjNjY1NjY2LgoKMjAxMS0xMi0wNiAxNDoyMzozMCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5jOgoJICBoMjYzcGF5OiBmaXggaW52YWxpZCByZXR1cm4gdmFsdWUKCjIwMTEtMTItMDYgMTM6NTk6NTIgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IHJlbW92ZSB1bnVzZWQgZmx1c2ggcGFyYW0KCjIwMTEtMTItMDUgMTg6NDA6MjYgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2lzb21wNC9nc3RydHB4cXRkZXBheS5jOgoJICBydHB4cXRkZXBheTogSW5pdGlhbGl6ZSBHc3RSVFBCdWZmZXIgYmVmb3JlIHVzYWdlCgoyMDExLTEyLTA1IDE4OjQwOjEyICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJICBydHBtYW5hZ2VyOiBJbml0aWFsaXplIEdzdFJUUEJ1ZmZlciBiZWZvcmUgdXNhZ2UKCjIwMTEtMTItMDUgMTg6Mzk6NTkgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cC9nc3Rhc3Rlcmlza2gyNjMuYzoKCSogZ3N0L3J0cC9nc3RydHBMMTZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDFzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDJ0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDJ0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0YWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0YXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDR2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDR2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcWNlbHBkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHFkbWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc2lyZW5kZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzcGVleHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHN2M3ZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2cmF3ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2cmF3cGF5LmM6CgkgIHJ0cDogSW5pdGlhbGl6ZSBHc3RSVFBCdWZmZXIgYmVmb3JlIHVzYWdlCgoyMDExLTEyLTA1IDEyOjE1OjIxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMjogcmVwbGFjZSBkZXByZWNhdGVkIEdTVF9DTEFTU19MT0NLCgoyMDExLTExLTI0IDEzOjU4OjAxICswMTAwICBTZWJhc3RpYW4gUmFzbXVzc2VuIDxzZWJybkBheGlzLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwanBlZ3BheS5jOgoJICBydHBqcGVncGF5OiBDZWlsIGpwZWcgZGltZW5zaW9ucywgaW5zdGVhZCBvZiBmbG9vcgoJICBBIEpQRUcgaW1hZ2UgaW5zaWRlIGFuIFJUUCBzdHJlYW0gaGFzIGEgcHJlY2VlZGluZyBSRkMyNDM1IGhlYWRlciB0aGF0CgkgIGNvbnZleXMgd2lkdGgvaGVpZ2h0LiBUaGUgZGltZW5zaW9ucyBpbiB0aGlzIGhlYWRlciBhcmUgbGltaXRlZCB0byBiZQoJICBtdWx0aXBsZXMgb2YgOC4gU2luY2UgSlBFRyB1c2VzIGFuIE1DVSBvZiA4eDggcGl4ZWxzIGFueSBpbWFnZSBtdXN0CgkgIGFscmVhZHkgaW5kaXJlY3RseSBoYXZlIGltYWdlIGRhdGEgZGltZW5zaW9ucyB0aGF0IGFyZSByb3VuZGVkIHVwIGluCgkgIG9yZGVyIHRvIGNvbnRhaW4gZW5vdWdoIGRhdGEgdG8gcmVuZGVyIHRoZSBpbWFnZS4gVGhlcmVmb3JlIHRoaXMgZml4CgkgIHNhZmVseSByb3VuZHMgdGhlIGltYWdlIGRpbWVuc2lvbnMgaW4gdGhlIFJGQzI0MzUgaGVhZGVyIHVwIHRvIHRoZQoJICBjbG9zZXN0IG11bHRpcGxlIG9mIDguCgoyMDExLTEyLTA0IDEyOjUwOjU3ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmg6CgkgIGZsYWNwYXJzZTogZW5zdXJlIHdlIG9ubHkgY2hlY2sgZm9yIHNhbXBsZS9ibG9jayBtaXh1cCBhdCBzdGFydAoJICBPdGhlcndpc2Ugd2UgbWlnaHQgdHJpZ2dlciBhdCBzb21lIHBvaW50IHdpdGhpbiB0aGUgZmlsZSwgYnV0IHRoZQoJICBjaGVjayBpcyBvbmx5IG1ha2luZyBzZW5zZSBmb3IgdGhlIHNlY29uZCBibG9jay4KCjIwMTEtMTItMDMgMTg6MTQ6NTkgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmM6CgkgIG1hdHJvc2thcGFyc2U6IHdhcm4gaWYgYWNjdW11bGF0aW5nIGhlYWRlcnMgYWZ0ZXIgdGhleSB3ZXJlIHB1c2hlZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY1NDEyCgoyMDExLTEwLTI1IDEyOjU0OjQzIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5jOgoJICBtYXRyb3NrYXBhcnNlOiBmaXggcGFyc2luZwoJICBNYXJrIG1vcmUgcGFydHMgYXMgYmVsb25naW5nIHRvIHN0cmVhbWhlYWRlcnMuCgoyMDExLTEyLTAzIDE3OjMwOjEwICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx2ZGVtdXg6IGZpeCBkaXNjb250aW51aXR5IHRocmVzaG9sZCBjaGVjayB3aGVuIHRpbWVzdGFtcHMgZ28gYmFja3dhcmRzCgkgIFNpbmNlIHVuc2lnbmVkIHR5cGVzIGFyZSB1c2VkLCBhIG5lZ2F0aXZlIHZhbHVlIHdvdWxkIHNob3cgYXMgdmVyeSwgdmVyeQoJICBwb3NpdGl2ZS4KCSAgRml4ZXMgQS9WIHN5bmMgb24gc29tZS4uLiBsZXNzIHRoYW4gd2VsbCBtYWRlIGZpbGVzIHdoZXJlIHRpbWVzdGFtcHMgZ28KCSAgYmFja3dhcmRzLgoKMjAxMS0xMi0wMiAyMjoyNToxNyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwY2xpZW50c2luay5jOgoJKiBnc3QvZGVidWd1dGlscy90ZXN0cGx1Z2luLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOgoJICB1cGRhdGUgZm9yIGJhc2VzaW5rIGV2ZW50IGhhbmRsZXIgY2hhbmdlcwoKMjAxMS0xMi0wMiAxMjowMToyMiArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJzcmM6IGFkZCBhIGNvbW1lbnQgYWJvdXQgYSAiaGlkZGVuIiBhc3N1bXB0aW9uIG9uIHJhbmsgdmFsdWVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjUzODcKCjIwMTEtMTItMDIgMDE6NTg6MzAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgcmVtb3RlLXRyYWNraW5nIGJyYW5jaCAnb3JpZ2luL21hc3RlcicgaW50byAwLjExCgkgIENvbmZsaWN0czoKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbAoJICBleHQvcHVsc2UvcHVsc2VhdWRpb3NpbmsuYwoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYwoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmMKCSAgZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmMKCjIwMTEtMTItMDEgMTg6NTU6NDUgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2lkM2RlbXV4LmM6CgkgIHVwZGF0ZSBmb3IgdGFnIEFQSSBjaGFuZ2VzCgoyMDExLTEyLTAxIDE1OjI5OjE1ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBwbGFjYXRlIGdjYyBzaW5jZSAtV2Vycm9yIGlzIHVzZWQKCSAgSW5pdGlhbGl6ZSB2YWx1ZXMgdGhhdCBHQ0MgY2Fubm90IHByb3ZlIGFyZSBub3QgdXNlZCB3aXRob3V0CgkgIGJlaW5nIGluaXRpYWxpemVkLCBhbmQgYXNzZXJ0IHRoYXQgSSBkaWQgbm90IG1lc3MgdXAgbXkgcHJvb2YuCgoyMDExLTEyLTAxIDE0OjEzOjA1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICB0ZXN0czogZml4IHVwIExJQlMgb3JkZXIgc29tIG1vcmVgCgoyMDExLTEyLTAxIDEzOjIyOjQyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2EtbXV4OiBmaXggbmFtZSBvZiBuZXcgcHJvcGVydHkgYW5kIHRoZSB1bml0IHRlc3QKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1NDM3OQoKMjAxMS0wOS0yNSAxNDo1Nzo1NiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSAgbXVsdGlmaWxlc2luazogYWRkIGJhc2ljIGJ1ZmZlciBsaXN0IGhhbmRsaW5nCgkgIFdlIGFzc3VtZSBmb3Igbm93IHRoYXQgYWxsIGJ1ZmZlcnMgaW4gYSBidWZmZXIgbGlzdAoJICBzaG91bGQgZW5kIHVwIGluIHRoZSBzYW1lIGZpbGUgKHNvIHdlIGNhbiBncm91cCBHT1BzCgkgIGluIGJ1ZmZlciBsaXN0cywgZm9yIGV4YW1wbGUpLiBDb3VsZCBvcHRpbWlzZSB0aGlzCgkgIGEgYml0IHRvIGF2b2lkIHRoZSBtZW1jcHkuCgoyMDExLTA5LTIzIDE4OjQzOjM1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOgoJICBtdWx0aWZpbGVzaW5rOiB3cml0ZSBzdHJlYW0taGVhZGVycyB3aGVuIHN3aXRjaGluZyB0byB0aGUgbmV4dCBmaWxlIGluIG1heC1zaXplIG1vZGUKCjIwMTEtMDktMjMgMTg6MzE6MDEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5oOgoJICBtdWx0aWZpbGVzaW5rOiBhZGQgbmV3ICdtYXgtc2l6ZScgbW9kZSBmb3Igc3dpdGNoaW5nIHRvIHRoZSBuZXh0IGZpbGUKCjIwMTEtMDktMjMgMTc6NDk6MDUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5oOgoJICBtdWx0aWZpbGVzaW5rOiBhZGQgIm1heC1maWxlLXNpemUiIHByb3BlcnR5IGZvciBuZXcgbmV4dC1maWxlIG1vZGUKCjIwMTEtMTItMDEgMTM6Mzg6MDYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IERvbid0IGZvcmdldCBTU0Egc3VidGl0bGVzIGluIGxhc3QgY29tbWl0CgoyMDExLTEyLTAxIDEzOjM0OjUyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmg6CgkgIG1hdHJvc2thZGVtdXg6IE9ubHkgY2hlY2sgZm9yIG1hcmt1cCBhbmQgZXNjYXBlIGlmIG5lY2Vzc2FyeSBmb3IgcGxhaW50ZXh0IHN1YnRpdGxlcwoJICBPdGhlcndpc2Ugd2UgYnJlYWsgVVNGIGFuZCBBU1MvU1NBIHN1YnRpdGxlcy4KCjIwMTEtMTItMDEgMTM6MjM6MzMgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0L211bHRpZmlsZS9NYWtlZmlsZS5hbToKCSAgbXVsdGlmaWxlOiBmaXggYnVpbGQgaW4gdW5pbnN0YWxsZWQgc2V0dXAKCSAgQWRkIC1iYXNlIGxpYnMgaW5jbHVkZXMgdG8gQ0ZMQUdTLCBmaXggb3JkZXIgb2YgTElCUyA8Y2l0Pi4KCjIwMTEtMTItMDEgMTM6MDg6MDEgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXVsdGlmaWxlLmM6CgkgIHRlc3RzOiBmaXggZ19ta2R0ZW1wIHByZXNlbmNlIGNoZWNrIGluIG11bHRpZmlsZSB0ZXN0cwoJICBnX21rZHRlbXAgd2FzIGFkZGVkIGluIGdsaWIgMi4zMCBldmVuIHRob3VnaCB0aGUgZG9jIGNsYWltcyBpdCB3YXMgYWRkZWQgaW4KCSAgMi4yNi4KCjIwMTEtMDctMTcgMjM6NTY6MDQgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0L211bHRpZmlsZS9NYWtlZmlsZS5hbToKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5oOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXVsdGlmaWxlLmM6CgkgIG11bHRpZmlsZXNpbms6IGFkZCBmbGFnIHRvIGN1dCBhZnRlciBhIGZvcmNlIGtleSB1bml0IGV2ZW50CgoyMDExLTEyLTAxIDEyOjQ3OjI2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBDb3B5IGFsbCBidWZmZXIgZmxhZ3Mgd2hlbiBjcmVhdGluZyBhIHN1YnRpdGxlIGJ1ZmZlciBjb3B5IGFmdGVyIHBvc3Rwcm9jZXNzaW5nCgkgIFRoaXMgYWxzbyBjb3BpZXMgdGhlIGNhcHMuIE90aGVyd2lzZSB3ZSBjb3VsZCBlbmQgdXAgcHVzaW5nCgkgIHRoZSBmaXJzdCBidWZmZXIgd2l0aG91dCBhbnkgY2Fwcywgd2hpY2ggY2F1c2VzIGRvd25zdHJlYW0KCSAgdG8gbm90IGdldCBub3RpZmllZCBhYm91dCB0aGUgY2Fwcy4KCSAgRml4ZXMgYnVnICM2NjQ4OTIuCgoyMDExLTEwLTExIDAyOjA3OjEzICswMjAwICBBbGV4ZXkgRmlzaGVyIDxidWctdHJhY2tAZmlzaGVyLXByaXZhdC5uZXQ+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBtYWtlIGRlZmF1bHQgZnJhbWVyYXRlIG9wdGlvbmFsIHBlciBzdHJlYW0KCSAgdGhlcmUgaXMgYXQgbGVhc3QgdHdvIHVzZSBjYXNlcyB3aGVyZSBkZWZhdWx0IGZyYW1lIHJhdGUKCSAgc2hvdWxkIG9yIG1heSBiZSBkaXNhYmxlZDoKCSAgLSB2cDggc3RyZWFtIHdpdGggYWx0cmVmIGZyYW1lIGVuYWJsZWQuIElmIGRlZmF1bHQgZnJhbWUgcmF0ZQoJICBpcyBlbmFibGVkLCBzb21lIHBsYXllcnMgd2lsbCBtaXNzaW50ZXJwcmV0ZSBpdCAoY3JpdGljYWwhKQoJICAtIGZvciB3ZWJtIGNvbnRhaW5lciwgdG8gcmVkdWNlIG1pY3JvIG92ZXJoZWFkCgkgIC0gZm9yIHN0cmVhbSB3aXRoIHZhcmlhYmxlIGZyYW1lIHJhdGUuCgkgIFNpZ25lZC1vZmYtYnk6IEFsZXhleSBGaXNoZXIgPGJ1Zy10cmFja0BmaXNoZXItcHJpdmF0Lm5ldD4KCjIwMTEtMTEtMzAgMjI6MTM6MTEgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvZWZmZWN0di9nc3RyaXBwbGUuYzoKCSAgcmlwcGxldHY6IGZpeCBDTEFNUCBlbmQtdmFsdWVzCgoyMDExLTExLTMwIDE5OjI1OjM3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuc2lnbmFsczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGFsZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pc29tcDQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vbm9zY29wZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJICBkb2NzOiB1cGRhdGUgZG9jcwoKMjAxMS0xMS0zMCAxOTowMDo0MiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXVsdGlmaWxlL01ha2VmaWxlLmFtOgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0ZmlsZXNyYy5jOgoJKiBnc3QvbXVsdGlmaWxlL3BhdHRlcm5zcGVjLmM6CgkqIGdzdC9tdWx0aWZpbGUvcGF0dGVybnNwZWMuaDoKCSAgc3BsaXRmaWxlc3JjOiBzcGVjaWZ5IGZpbGVuYW1lcyB2aWEgbm9ybWFsIHdpbGRjYXJkcyBpbnN0ZWFkIG9mIHJlZ3VsYXIgZXhwcmVzc2lvbnMKCSAgTGVzcyBjcmFja3Rhc3RpYyBpbiB0aGUgZW5kLgoKMjAxMS0xMC0xMCAxODoyODoxMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0ZmlsZXNyYy5jOgoJICBzcGxpdGZpbGVzcmM6IGNoZWNrIGJ5dGVzIGFjdHVhbGx5IHJlYWQsIGp1c3QgaW4gY2FzZQoJICBIYW5kbGUgY29ybmVyIGNhc2Ugd2hlcmUgd2UgdHJ5IHRvIHJlYWQgYmV5b25kIHRoZSBlbmQgb2YgdGhlCgkgIGxhc3QgZmlsZSBwYXJ0LCBpbiB3aGljaCBjYXNlIHdlIHdhbnQgdG8gcmV0dXJuIGEgc2hvcnQgcmVhZC4KCSAgSWYgd2UgZ2V0IGZld2VyIGJ5dGVzIHRoYW4gZXhwZWN0ZWQgZm9yIGFueSBvdGhlciBmaWxlIHBhcnQsCgkgIHdlIHNob3VsZCBqdXN0IGVycm9yIG91dCwgc2luY2Ugc29tZXRoaW5nIGZpc2h5J3MgZ29pbmcgb24KCSAgdGhlbi4KCjIwMTEtMTAtMDYgMDg6MzM6MTkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdGZpbGVzcmMuYzoKCSAgc3BsaXRmaWxlc3JjOiBzZXQgb2Zmc2V0cyBvbiBidWZmZXJzCgkgIExvb2tzIGxpa2Ugc29tZSBwYXJzZXJzIChpbiBzb21lIHZlcnNpb25zIGF0IGxlYXN0KSBleHBlY3QgdGhlCgkgIG9mZnNldHMgdG8gYmUgc2V0LCBhbmQgYmVoYXZlIHdlaXJkIGlmIHRoYXQncyBub3QgdGhlIGNhc2UKCSAgKGUuZy4gb2ZmLWJ5LW9uZSBpbiBoMjY0cGFyc2UpLgoKMjAxMS0wNy0yOCAyMDoxOTo1NiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9tdWx0aWZpbGUvTWFrZWZpbGUuYW06CgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRmaWxlc3JjLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRmaWxlc3JjLmg6CgkgIG11bHRpZmlsZTogYWRkIHNwbGl0ZmlsZXNyYyBlbGVtZW50CgkgIEFkZCBuZXcgc3BsaXRmaWxlc3JjIGVsZW1lbnQgdGhhdCBwcmVzZW50cyBtdWx0aXBsZSBmaWxlcwoJICAoc2VsZWN0YWJsZSB2aWEgYSBsb2NhdGlvbiByZWdleCkgYXMgb25lIHNpbmdsZSBjb250aWd1b3VzCgkgIGZpbGUuCgoyMDExLTExLTMwIDA3OjU3OjQwICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlbWl4ZXJjdHJsLmg6CgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkgIHVwZGF0ZSBmb3IgbW92ZWQgYXVkaW8gaW50ZXJmYWNlcwoKMjAxMS0xMS0yOSAxNzozNDoxMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3B1bHNlL3B1bHNlYXVkaW9zaW5rLmM6CgkgIFJldmVydCAicHVsc2VhdWRpb3Npbms6IGZpeCBjYXBzIGxlYWsiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgZDZhOWRlOWUyYWVkYzhiNjZhYjMyMTk5MDJiNWEzN2U4ZDY1YWRhMi4KCSAgc2V0Y2FwcyBmdW5jdGlvbnMgYXJlbid0IHN1cHBvc2VkIHRvIHRha2Ugb3duZXJzaGlwIG9mIHRoZSBjYXBzIHBhc3NlZAoKMjAxMS0xMS0yOSAxOToxMDo1OCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2ZpbHRlci9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvYmFsYW5jZS5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyY29sb3JiYWxhbmNlLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb292ZXJsYXkuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZG9yaWVudC5oOgoJKiB0ZXN0cy9pY2xlcy9NYWtlZmlsZS5hbToKCSogdGVzdHMvaWNsZXMvdjRsMnNyYy10ZXN0LmM6CgkgIGZpeCBmb3IgbW92ZWQgaW50ZXJmYWNlcwoKMjAxMS0xMS0yOCAyMzoyMDozMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBjb21taXQgJzc1MjFiNTk3ZjRkYzQ5ZDhkMTY4ZjM2OGYwZTdlYmFmOThhNzIxNTYnIGludG8gMC4xMQoKMjAxMS0xMS0yOCAyMToyNzo1MyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSByZW1vdGUtdHJhY2tpbmcgYnJhbmNoICdvcmlnaW4vbWFzdGVyJyBpbnRvIDAuMTEKCjIwMTEtMTEtMjggMjE6Mjc6NDAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgY29tbWl0ICdhMjMzN2I4YWY0NWNiNWU4YzA5MWZmMGUxYzNlZjRiNmNjN2IyMGEzJyBpbnRvIDAuMTEKCjIwMTEtMTEtMjggMTg6MjU6NTIgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSAgVXBkYXRlIGZvciBpbmRleGFibGUgY2hhbmdlCgoyMDExLTExLTI4IDE3OjUyOjA2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHNwL2dzdHJ0cGRlYy5jOgoJICB1cGRhdGUgZm9yIGNsb2NrIHByb3ZpZGVyIEFQSSBjaGFuZ2UKCjIwMTEtMTEtMjggMTY6NTc6MjQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zaW5rLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NyYy5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zaW5rLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NyYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIGZpeCBmb3IgZWxlbWVudCBmbGFnIHVwZGF0ZXMKCjIwMTEtMTEtMjggMTI6NTg6NDQgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2FhbGliL2dzdGFhc2luay5jOgoJKiBleHQvYW5ub2RleC9nc3RjbW1sZGVjLmM6CgkqIGV4dC9hbm5vZGV4L2dzdGNtbWxlbmMuYzoKCSogZXh0L2NhaXJvL2dzdGNhaXJvb3ZlcmxheS5jOgoJKiBleHQvY2Fpcm8vZ3N0Y2Fpcm9yZW5kZXIuYzoKCSogZXh0L2NhaXJvL2dzdHRleHRvdmVybGF5LmM6CgkqIGV4dC9jYWlyby9nc3R0aW1lb3ZlcmxheS5jOgoJKiBleHQvZHYvZ3N0ZHZkZWMuYzoKCSogZXh0L2R2L2dzdGR2ZGVtdXguYzoKCSogZXh0L2VzZC9lc2Rtb24uYzoKCSogZXh0L2VzZC9lc2RzaW5rLmM6CgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJKiBleHQvZmxhYy9nc3RmbGFjdGFnLmM6CgkqIGV4dC9nY29uZi9nc3Rzd2l0Y2hzaW5rLmM6CgkqIGV4dC9nY29uZi9nc3Rzd2l0Y2hzcmMuYzoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmLmM6CgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1ZnNpbmsuYzoKCSogZXh0L2dka19waXhidWYvcGl4YnVmc2NhbGUuYzoKCSogZXh0L2hhbC9nc3RoYWxhdWRpb3NpbmsuYzoKCSogZXh0L2hhbC9nc3RoYWxhdWRpb3NyYy5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSogZXh0L2pwZWcvZ3N0c21va2VkZWMuYzoKCSogZXh0L2pwZWcvZ3N0c21va2VlbmMuYzoKCSogZXh0L2xpYmNhY2EvZ3N0Y2FjYXNpbmsuYzoKCSogZXh0L2xpYm1uZy9nc3RtbmdkZWMuYzoKCSogZXh0L2xpYm1uZy9nc3RtbmdlbmMuYzoKCSogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzoKCSogZXh0L2xpYnBuZy9nc3RwbmdlbmMuYzoKCSogZXh0L21pa21vZC9nc3RtaWttb2QuYzoKCSogZXh0L3B1bHNlL3B1bHNlYXVkaW9zaW5rLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkqIGV4dC9yYXcxMzk0L2dzdGR2MTM5NHNyYy5jOgoJKiBleHQvcmF3MTM5NC9nc3RoZHYxMzk0c3JjLmM6CgkqIGV4dC9zaG91dDIvZ3N0c2hvdXQyLmM6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwY2xpZW50c2luay5jOgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6CgkqIGV4dC90YWdsaWIvZ3N0YXBldjJtdXguY2M6CgkqIGV4dC90YWdsaWIvZ3N0aWQzdjJtdXguY2M6CgkqIGV4dC90YWdsaWIvZ3N0dGFnbGlibXV4LmM6CgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzoKCSogZ3N0L2FscGhhL2dzdGFscGhhLmM6CgkqIGdzdC9hbHBoYS9nc3RhbHBoYWNvbG9yLmM6CgkqIGdzdC9hcGV0YWcvZ3N0YXBlZGVtdXguYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9wYW5vcmFtYS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhbXJwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSogZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zaW5rLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NyYy5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zaW5rLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NyYy5jOgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpc3VidGl0bGUuYzoKCSogZ3N0L2N1dHRlci9nc3RjdXR0ZXIuYzoKCSogZ3N0L2RlYnVndXRpbHMvYnJlYWtteWRhdGEuYzoKCSogZ3N0L2RlYnVndXRpbHMvY3B1cmVwb3J0LmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2VmZW5jZS5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RjYXBzZGVidWcuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y2Fwc3NldHRlci5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RuYXZpZ2F0aW9udGVzdC5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RuYXZzZWVrLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdHB1c2hmaWxlc3JjLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdHRhZ2luamVjdC5jOgoJKiBnc3QvZGVidWd1dGlscy9wcm9ncmVzc3JlcG9ydC5jOgoJKiBnc3QvZGVidWd1dGlscy9ybmRidWZmZXJzaXplLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL3Rlc3RwbHVnaW4uYzoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkqIGdzdC9lZmZlY3R2L2dzdGFnaW5nLmM6CgkqIGdzdC9lZmZlY3R2L2dzdGRpY2UuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0ZWRnZS5jOgoJKiBnc3QvZWZmZWN0di9nc3RvcC5jOgoJKiBnc3QvZWZmZWN0di9nc3RxdWFyay5jOgoJKiBnc3QvZWZmZWN0di9nc3RyYWRpb2FjLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHJldi5jOgoJKiBnc3QvZWZmZWN0di9nc3RyaXBwbGUuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0c2hhZ2FkZWxpYy5jOgoJKiBnc3QvZWZmZWN0di9nc3RzdHJlYWsuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0dmVydGlnby5jOgoJKiBnc3QvZWZmZWN0di9nc3R3YXJwLmM6CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSogZ3N0L2ZseC9nc3RmbHhkZWMuYzoKCSogZ3N0L2dvb20vZ3N0Z29vbS5jOgoJKiBnc3QvZ29vbTJrMS9nc3Rnb29tLmM6CgkqIGdzdC9pY3lkZW11eC9nc3RpY3lkZW11eC5jOgoJKiBnc3QvaWQzZGVtdXgvZ3N0aWQzZGVtdXguYzoKCSogZ3N0L2ltYWdlZnJlZXplL2dzdGltYWdlZnJlZXplLmM6CgkqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOgoJKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSogZ3N0L2lzb21wNC9nc3RydHB4cXRkZXBheS5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L2xhdy9hbGF3LWRlY29kZS5jOgoJKiBnc3QvbGF3L2FsYXctZW5jb2RlLmM6CgkqIGdzdC9sYXcvbXVsYXctZGVjb2RlLmM6CgkqIGdzdC9sYXcvbXVsYXctZW5jb2RlLmM6CgkqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSogZ3N0L21hdHJvc2thL3dlYm0tbXV4LmM6CgkqIGdzdC9tZWRpYW4vZ3N0bWVkaWFuLmM6CgkqIGdzdC9tb25vc2NvcGUvZ3N0bW9ub3Njb3BlLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNyYy5jOgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4LmM6CgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0bXV4LmM6CgkqIGdzdC9yZXBsYXlnYWluL2dzdHJnYW5hbHlzaXMuYzoKCSogZ3N0L3JlcGxheWdhaW4vZ3N0cmdsaW1pdGVyLmM6CgkqIGdzdC9yZXBsYXlnYWluL2dzdHJndm9sdW1lLmM6CgkqIGdzdC9ydHAvZ3N0YXN0ZXJpc2toMjYzLmM6CgkqIGdzdC9ydHAvZ3N0cnRwTDE2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBMMTZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhYzNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFjM3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYW1ycGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYnZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGJ2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwY2VsdGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwY2VsdHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZHZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGR2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyMmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyMnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyOWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyOXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3N0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc3RwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGlsYmNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGlsYmNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqMmtkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGoya3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDFzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDJ0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDJ0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0YWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0YXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDR2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDR2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcGFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcGFyb2J1c3RkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wdmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXB2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtYXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbXVkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbXVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBxY2VscGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcWRtZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzaXJlbmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc2lyZW5wYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzcGVleGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzdjN2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnJhd2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnJhd3BheS5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSogZ3N0L3J0c3AvZ3N0cnRwZGVjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSogZ3N0L3NtcHRlL2dzdHNtcHRlLmM6CgkqIGdzdC9zbXB0ZS9nc3RzbXB0ZWFscGhhLmM6CgkqIGdzdC91ZHAvZ3N0ZHludWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzoKCSogZ3N0L3ZpZGVvY3JvcC9nc3Rhc3BlY3RyYXRpb2Nyb3AuYzoKCSogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdGdhbW1hLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2JhbGFuY2UuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmxpcC5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmM6CgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkqIHN5cy9vc3MvZ3N0b3Nzc2luay5jOgoJKiBzeXMvb3NzL2dzdG9zc3NyYy5jOgoJKiBzeXMvb3NzNC9vc3M0LXNpbmsuYzoKCSogc3lzL29zczQvb3NzNC1zb3VyY2UuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zcmMuYzoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zaW5rLmM6CgkqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NyYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy93YXZlZm9ybS9nc3R3YXZlZm9ybXNpbmsuYzoKCSogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcXRtdXguYzoKCSAgdmFyaW91czogZml4IHBhZCB0ZW1wbGF0ZSBsZWFrcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYyNjY0CgoyMDExLTExLTI4IDEzOjA4OjI3ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZkZXRlY3QuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICB2YXJpb3VzOiBmaXggcGFkIHRlbXBsYXRlIHJlZiBsZWFrcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYyNjY0CgoyMDExLTExLTI4IDExOjQ3OjExICswMTAwICBDaGFkIDxjaGFubmFAY2FsdGVjaC5lZHU+CgoJKiBnc3QvZGVidWd1dGlscy9nc3R0YWdpbmplY3QuYzoKCSAgdGFnaW5qZWN0OiBzZXQgZ2FwLWF3YXJlCgkgIFRoZSBlbGVtZW50IGRvZXMgbm90IG1vZGlmeSB0aGUgZGF0YSBhbnl3YXkuCgoyMDExLTExLTI3IDIzOjMyOjE4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkgIHBvOiB1cGRhdGUgcG8gZmlsZXMKCjIwMTEtMTEtMjcgMjM6MzE6NDMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgcmVtb3RlLXRyYWNraW5nIGJyYW5jaCAnb3JpZ2luL21hc3RlcicgaW50byAwLjExCgkgIENvbmZsaWN0czoKCSAgZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYwoKMjAxMS0xMS0yNiAyMTozOTozMyArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6CgkgIGVxdWFsaXplcjogYWxzbyBzeW5jIHRoZSBwYXJhbWV0ZXJzIGZvciB0aGUgZmlsdGVyIGJhbmRzCgoyMDExLTExLTI2IDE2OjA2OjU5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuYzoKCSAgbWF0cm9za2FkZW11eDogaW5pdGlhbGlzZSBzZWVuX21hcmt1cF90YWcgZmllbGQgb24gc3VidGl0bGUgc3RyZWFtIGNvbnRleHQKCjIwMTEtMTEtMjYgMTA6MDE6MDcgKzAxMDAgIFJlbsOpIFN0YWRsZXIgPHJlbmUuc3RhZGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9tYXRyb3NrYS9lYm1sLXJlYWQuYzoKCSogZ3N0L21hdHJvc2thL2VibWwtcmVhZC5oOgoJKiBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4Lmg6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuaDoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4Lmg6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmg6CgkqIGdzdC9tYXRyb3NrYS93ZWJtLW11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tYXRyb3NrYW11eC5jOgoJICBtYXRyb3NrYTogcG9ydCB0byAwLjExCgkgIFN1cHBvcnQgZm9yIFRBR19JTUFHRSBhbmQgVEFHX0FUVEFDSE1FTlQgaXMgY29tbWVudGVkIG91dDsgdGhpcyByZXF1aXJlcyBjYXBzCgkgIG9uIGJ1ZmZlcnMgd2hpY2ggaXMgZ29uZSBmcm9tIDAuMTEuCgkgIFNlZ21lbnQgaGFuZGxpbmcgaW4gdGhlIGRlbXV4ZXIgaXMgYSBiaXQgY29tcGxleDsgSSBhZGRlZCBzb21lIEZJWE1FIGNvbW1lbnRzCgkgIGluIHBsYWNlcyB3aGVyZSBJJ20gbm90IHlldCBzdXJlIGlmIEkgcG9ydGVkIGNvcnJlY3RseS4KCjIwMTEtMTEtMjYgMTM6NTQ6MjIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvcHVsc2UvcGx1Z2luLmM6CgkqIGV4dC9wdWxzZS9wdWxzZWF1ZGlvc2luay5jOgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuaDoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5oOgoJKiBleHQvcHVsc2UvcHVsc2V1dGlsLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXV0aWwuaDoKCSAgcHVsc2VhdWRpbzogcmVxdWlyZSBwdWxzZWF1ZGlvID49IDEuMAoKMjAxMS0xMS0yNiAxMzozNDoxMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSByZW1vdGUtdHJhY2tpbmcgYnJhbmNoICdvcmlnaW4vbWFzdGVyJyBpbnRvIDAuMTEKCSAgQ29uZmxpY3RzOgoJICBleHQvcHVsc2UvcHVsc2VhdWRpb3NpbmsuYwoJICBleHQvcHVsc2UvcHVsc2VzcmMuYwoJICBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmMKCSAgZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhbXJwYXJzZS5jCgkgIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZGNhcGFyc2UuYwoJICBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jCgkgIGdzdC9lZmZlY3R2L2dzdHJhZGlvYWMuYwoJICBnc3QvZWZmZWN0di9nc3RyYWRpb2FjLmgKCSAgZ3N0L2VmZmVjdHYvZ3N0cmlwcGxlLmMKCSAgU29tZSBwb3NzaWJsZSBGSVhNRXMgcmVtYWluaW5nIGluIHRoZSBhdWRpbyBwYXJzZXIgZ2V0Y2FwcyBmdW5jdGlvbnMuCgoyMDExLTExLTI1IDE5OjI4OjU1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4bWFwLmM6CgkgIGlzbWxtdXg6IFVzZSBpc28tZnJhZ21lbnRlZCBhcyB2YXJpYW50IHR5cGUKCSAgVXNpbmcgJ2lzbycgY29uZmxpY3RzIHdpdGggbXA0bXV4IHZhcmlhbnQgdHlwZSwgaXNtbG11eCBub3cKCSAgdXNlcyBpc28tZnJhZ21lbnRlZAoJICBGaXhlcyAjNjU2ODIzCgoyMDExLTExLTI0IDEyOjA1OjMzICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuaDoKCSAgcHVsc2VzcmM6IEltcGxlbWVudCBHc3RTdHJlYW1Wb2x1bWUgaW50ZXJmYWNlCgkgIFB1bHNlQXVkaW8gMS4wIHN1cHBvcnRzIHBlci1zb3VyY2Utb3V0cHV0IHZvbHVtZXMsIGFuZCB0aGlzIGV4cG9zZXMgdGhlCgkgIGZ1bmN0aW9uYWxpdHkgdmlhIHRoZSBHc3RTdHJlYW1Wb2x1bWUgaW50ZXJmYWNlLgoJICBXaGVuIGNvbXBpbGVkIGFnYWluc3QgcHJlLTEuMCBQdWxzZUF1ZGlvLCB0aGUgaW50ZXJmYWNlIGlzIG5vdAoJICBpbXBsZW1lbnRlZCwgYW5kIHRoZSAidm9sdW1lIiBvciAibXV0ZSIgcHJvcGVydGllcyBhcmUgbm90IGF2YWlsYWJsZS4KCSAgVGhpcyBiaXQgb2YgdWdsaW5lc3Mgd2lsbCBnbyBhd2F5IHdoZW4gd2UgY2FuIGRlcGVuZCBvbiBQdWxzZUF1ZGlvIDEuMAoJICBvciBncmVhdGVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTk1MDU1CgoyMDExLTA5LTEwIDIxOjIxOjM4IC0wNzAwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJICBwdWxzZXNyYzogVHJpdmlhbCBjb21tZW50IGNvcHktcGFzdGUtbyBmaXgKCjIwMTEtMTEtMTQgMTI6NDM6MjcgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlYXVkaW9zaW5rLmM6CgkgIHB1bHNlYXVkaW9zaW5rOiBSZW1vdmUgcmVkdW5kYW50IGNvZGUKCjIwMTEtMTEtMTQgMTI6NDE6NDEgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlYXVkaW9zaW5rLmM6CgkgIHB1bHNlYXVkaW9zaW5rOiBDbGVhbiB1cCByZWZjb3VudGluZyBpbiBldmVudCBwcm9iZQoJICBNYWtlcyBzdXJlIHdlIGRvbid0IGxlYWsgYSByZWZjb3VudCBpZiB0aGUgb2JqZWN0IGlzIGRpc3Bvc2VkIGJlZm9yZSBhCgkgIE5FV1NFR01FTlQgdHVybnMgdXAuCgoyMDExLTExLTI0IDE2OjMxOjM4ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx2ZGVtdXg6IGZpeCBzZWVraW5nCgkgIFdoaWNoIEkgYWNjaWRlbnRhbGx5IGJyb2tlIHdoZW4gZml4aW5nIGZsdiB2aWRlb3MgYnJlYWtpbmcgb24KCSAgc3B1cmlvdXMgdGltZXN0YW1wIGRpc2NvbnRpbnVpdGllcyBpbiBicm9rZW4gZmlsZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MzE0MzAKCjIwMTEtMTEtMjUgMTM6MTM6NDcgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvZWZmZWN0di9nc3RyYWRpb2FjLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHJhZGlvYWMuaDoKCSAgZWZmZWN0djogcmVwYWlyIGNvbG9yIG1vZGVzIGluIHJhZGlvYWN0diBieSB0YWtpbmcgcmdiLGJnciBpbnRvIGFjY291bnQKCjIwMTEtMTEtMjUgMTE6NDQ6NDkgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvZWZmZWN0di9nc3RyYWRpb2FjLmM6CgkgIHJhZGlvYWN0djogYWRkIG9uZSBtb3JlIHNldCBvZiBjYXBzCgkgIEl0IGFsc28gd29yayBpbiB0aGlzIGZvcm1hdC4gQXZvaWRzIHRoZSBuZWVkIGZvciBjb252ZXJzaW9uLgoKMjAxMS0xMS0yNSAxMTo0NDoxOCArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9lZmZlY3R2L2dzdHJhZGlvYWMuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0c2hhZ2FkZWxpYy5jOgoJICBlZmZlY3R0djogZml4IHJldmVyc2UgbmVnb3RpYXRpb24KCSAgVGhlIHBsdWdpbnMgd2VyZSB1c2luZyBfZml4ZWRfY2Fwc18gYW5kIHRodXMgbm90IGFkanVzdGluZyB0byBuZXcgdXBzdHJlYW0KCSAgc2l6ZXMuIFNwb3R0ZWQgYnkgVGltIE3DvGxsZXIuCgoyMDExLTExLTI1IDExOjQzOjE2ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2VmZmVjdHYvZ3N0d2FycC5jOgoJICB3YXJwdHY6IHJlbW92ZSBub3QgbmVlZGVkIGlmZGVmCgoyMDExLTExLTI1IDEwOjE1OjM1ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2VmZmVjdHYvZ3N0cmlwcGxlLmM6CgkgIHJpcHBsZXR2OiBjbGVhbiB1cCB0aGUgcmVuZGVyaW5nIGNvZGUgYSBiaXQKCSAgVGhpcyBpcyBjb3JycnVwdHMgdGhlIG1lbW95IHdoZW4gcmVzaXppbmcuIEFkZCBhIEZJWE1FIHRvIG1ha2UgaXQgcmVzaXplYWJsZQoJICBvbmNlIHRoYXQgaXMgc29sdmVkLgoKMjAxMS0xMS0yNCAyMTo0MTowMyArMDEwMCAgUmVuw6kgU3RhZGxlciA8cmVuZS5zdGFkbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FscGhhY29sb3IuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9hbXBsaWZ5LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvY2hlYmJhbmQuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9jaGVibGltaXQuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9keW5hbWljLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvZWNoby5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2ludmVydC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3Bhbm9yYW1hLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvd3NpbmNiYW5kLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvd3NpbmNsaW1pdC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdmltdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXZpc3VidGl0bGUuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2Fwc3NldHRlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jbW1sZGVjLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NtbWxlbmMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZXF1YWxpemVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ljeWRlbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2pwZWdlbmMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbGV2ZWwuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcGFyc2VyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3F0bXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnYW5hbHlzaXMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcmdsaW1pdGVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3Jndm9sdW1lLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGppdHRlcmJ1ZmZlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zcGVjdHJ1bS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb2ZpbHRlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy95NG1lbmMuYzoKCSAgdGVzdHM6IHVwZGF0ZSBmb3IgZ3N0Y2hlY2sgQVBJIGNoYW5nZQoKMjAxMS0xMS0yNCAyMDo0Mjo0OSArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9lZmZlY3R2L2dzdHF1YXJrLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHN0cmVhay5jOgoJKiBnc3QvZWZmZWN0di9nc3R2ZXJ0aWdvLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHdhcnAuYzoKCSAgZWZmZWN0dHY6IGZpeCByZXZlcnNlIG5lZ290aWF0aW9uCgkgIFRoZSBwbHVnaW5zIHdlcmUgdXNpbmcgX2ZpeGVkX2NhcHNfIGFuZCB0aHVzIG5vdCBhZGp1c3RpbmcgdG8gbmV3IHVwc3RyZWFtCgkgIHNpemVzLiBTcG90dGVkIGJ5IFRpbSBNw7xsbGVyLgoKMjAxMS0xMS0yNCAxNDoxNDo1MyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmM6CgkgIG11bHRpZmlsZXNpbms6IEZpeCBsZWFrIG9mIGZpbGVuYW1lIHN0cmluZ3MKCSAgRG8gbm90IGZvcmdldCB0byBmcmVlIHRoZSBmaWxlbmFtZSBzdHJpbmdzIHdoZW4gZGVsZXRpbmcKCSAgdGhlIGxpc3Qgb2YgZmlsZXMuCgoyMDExLTExLTI0IDE0OjExOjMzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tdWx0aWZpbGUuYzoKCSAgbXVsdGlmaWxlOiBmaXggYnVpbGQgb2YgdGVzdHMKCSAgVGVzdHMgZmFpbCB0byBidWlsZCBiZWNhdXNlIGdfbWtkdGVtcCBpcyBhdmFpbGFibGUgZnJvbSBnbGliIHNpbmNlCgkgIDIuMjYuCgkgIFRoaXMgcGF0Y2ggYWRkcyBhIGNvbmRpdGlvbiBhcm91bmQgdGhlIHJlZGVmaW5pdGlvbiBvZgoJICBnX21rZHRlbXAgb24gdGhlIHRlc3RzIHRvIG9ubHkgYnVpbGQgaXQgaWYgZ2xpYiBpcyBvbGRlciB0aGFuCgkgIDIuMjYuCgoyMDExLTA5LTI3IDE2OjQ5OjQ1ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICB3YXZwYXJzZTogc2tpcCBpZDMyIHRhZ3MKCSAgVGhpcyBhbGxvd3MgZGVjb2RpbmcgYXQgbGVhc3Qgb25lIHNhbXBsZSB3aGVyZSBzb21ldGhpbmcgaGFzCgkgIHN0dWZmZWQgc29tZSBJRDMgdGFnIGJlZm9yZSB0aGUgKHN1cHBvc2VkbHkgaW5pdGlhbCkgRk1UXCAuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjAyNDkKCjIwMTEtMTAtMzEgMTc6MDY6MTggKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VmZmVjdHYvZ3N0ZWRnZS5jOgoJICBlZGdldHY6IHRyaXZpYWwgY29tbWVudCBmaXggZm9yIGNsYXJpdHkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2MTg0MQoKMjAxMS0xMC0zMSAxNzowNDoyMyArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZWZmZWN0di9nc3RlZGdlLmM6CgkgIGVkZ2V0djogZG9uJ3QgbGVhdmUgYml0cyBvZiB0aGUgb3V0cHV0IGJ1ZmZlciB1bmluaXRpYWxpemVkCgkgIExldCdzIGluaXRpYWxpemUgdGhlbSB0byB6ZXJvLiBJdCBsb29rcyBhbHJpZ2h0LCBidXQgdGhlbiBpdAoJICBhbHNvIGxvb2tzIGFscmlnaHQgd2l0aCB2Mywgb3Igd2l0aCB0aGUgY29ycmVzcG9uZGluZyBwaXhlbHMKCSAgZnJvbSB0aGUgc291cmNlLiBJIGRvbid0IGtub3cgd2hhdCB0aGUgb3JpZ2luYWwgaW50ZW50IHdvdWxkCgkgIGJlLCBhbmQgdGhlIG9yaWdpbmFsIGVmZmVjdHYgc291cmNlIGFsc28gaGFzIHRoaXMgYnVnL2ZlYXR1cmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjE4NDEKCjIwMTEtMTEtMjQgMTA6MjU6MDIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YW1ycGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RkY2FwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkgIGF1ZGlvcGFyc2U6IFVzZSB0aGUgc2lua3BhZCB0ZW1wbGF0ZSBjYXBzIGFzIGZhbGxiYWNrLCBub3QgdGhlIHNyY3BhZCBvbmVzCgoyMDExLTExLTI0IDA5OjU5OjQwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSAgbXBlZ2F1ZGlvcGFyc2U6IEltcGxlbWVudCA6OmdldF9zaW5rX2NhcHMgdmZ1bmMgdG8gcHJvcGFnYXRlIGRvd25zdHJlYW0gY2FwcyBjb25zdHJhaW50cyB1cHN0cmVhbQoKMjAxMS0xMS0yNCAwOTo1Nzo1NyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IEltcGxlbWVudCA6OmdldF9zaW5rX2NhcHMgdmZ1bmMgdG8gcHJvcGFnYXRlIGRvd25zdHJlYW0gY2FwcyBjb25zdHJhaW50cyB1cHN0cmVhbQoKMjAxMS0xMS0yNCAwOTo1NTo0NyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmM6CgkgIGRjYXBhcnNlOiBJbXBsZW1lbnQgOjpnZXRfc2lua19jYXBzIHZmdW5jIHRvIHByb3BhZ2F0ZSBkb3duc3RyZWFtIGNhcHMgY29uc3RyYWludHMgdXBzdHJlYW0KCjIwMTEtMTEtMjQgMDk6NTM6MTggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhbXJwYXJzZS5jOgoJICBhbXJwYXJzZTogSW1wbGVtZW50IDo6Z2V0X3NpbmtfY2FwcyB2ZnVuYyB0byBwcm9wYWdhdGUgZG93bnN0cmVhbSBjYXBzIGNvbnN0cmFpbnRzIHVwc3RyZWFtCgoyMDExLTExLTI0IDA5OjQ5OjI3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YW1ycGFyc2UuYzoKCSAgYW1ycGFyc2U6IE1hcmsgc29tZSBtb3JlIGZ1bmN0aW9ucyBhcyBzdGF0aWMKCjIwMTEtMTEtMjQgMDk6NDg6MzMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJICBhYzNwYXJzZTogSW1wbGVtZW50IDo6Z2V0X3NpbmtfY2FwcyB2ZnVuYyB0byBwcm9wYWdhdGUgZG93bnN0cmVhbSBjYXBzIGNvbnN0cmFpbnRzIHVwc3RyZWFtCgoyMDExLTExLTI0IDA5OjQ0OjU4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSAgYWFjcGFyc2U6IE1hcmsgc29tZSBmdW5jdGlvbnMgYXMgc3RhdGljIGFuZCByZW1vdmUgdW51c2VkIGZ1bmN0aW9uIGRlY2xhcmF0aW9ucwoKMjAxMS0xMS0yNCAwOTo0MzoxNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiBJbXBsZW1lbnQgOjpnZXRfc2lua19jYXBzIHZmdW5jIHRvIHByb3BhZ2F0ZSBkb3duc3RyZWFtIGNhcHMgY29uc3RyYWludHMgdXBzdHJlYW0KCjIwMTEtMTEtMjQgMDE6NDg6MjUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc291cGh0dHBzcmMuYzoKCSAgdGVzdHM6IHVwZGF0ZSBzb3VwIHRlc3QgZm9yIHJlbW92ZWQgaXJhZGlvLW1vZGUgcHJvcGVydHkKCjIwMTEtMTEtMjQgMDE6NDU6NDMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuaDoKCSAgc291cGh0dHBzcmM6IGdldCByaWQgb2YgaXJhZGlvLSogcHJvcGVydGllcywgcG9zdCB0YWdzIGluc3RlYWQKCjIwMTEtMTEtMjQgMDE6NDA6MDYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuaDoKCSAgc291cGh0dHBzcmM6IGFsd2F5cyBzZW5kIGljZWNhc3QgcmVxdWVzdCBoZWFkZXIsIGRyb3AgaXJhZGlvLW1vZGUgcHJvcGVydHkKCSAgU2VydmVyIHNob3VsZCBpZ25vcmUgdW5rbm93bi91bmhhbmRsZWQgaGVhZGVycy4uCgoyMDExLTExLTI0IDAxOjE5OjMyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBydHNwc3JjOiBtYWtlIGNvbm5lY3Rpb24tc3BlZWQgcHJvcGVydHkgYSBndWludDY0CgoyMDExLTExLTI0IDAwOjUyOjQwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG1hbmFnZXIueG1sOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbWFuYWdlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBiaW4uYzoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL2NsaWVudC1QQ01BLmM6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9jbGllbnQtUENNQS5weToKCSogdGVzdHMvZXhhbXBsZXMvcnRwL3NlcnZlci1hbHNhc3JjLVBDTUEuYzoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL3NlcnZlci1hbHNhc3JjLVBDTUEucHk6CgkgIHJ0cG1hbmFnZXI6IHJlbmFtZSBnc3RydHAqIC0+IHJ0cCoKCSAgVGhpcyB3YXMgZG9uZSBpbiAwLjEwIHRvIGF2b2lkIGNvbmZsaWN0IHdpdGggdGhlIHJ0cCBlbGVtZW50cyBpbgoJICBmYXJzaWdodCwgYnV0IHRoZSBnc3QtcHJlZml4aW5nIGlzIG5vIGxvbmdlciBuZWVkZWQgaW4gMC4xMQoKMjAxMS0xMS0yMyAxMDoyMzoyOCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCjIwMTEtMTEtMjMgMDk6MjY6MTcgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VhdWRpb3NpbmsuYzoKCSAgcHVsc2VhdWRpb3Npbms6IGF2b2lkIGVuZGxlc3MgY2FwcyBsb29wCgkgIENoZWNrIGlmIHRoZSBjYXBzIGFyZSB0aGUgc2FtZSBiZWZvcmUgYWRkaW5nIGEgbmV3IHByb2JlLiBCZWNhdXNlIG9mIHJlY29uZmlndXJlCgkgIGV2ZW50cywgdXBzdHJlYW1zIHNlbmRzIG11bHRpcGxlIGNhcHMgZXZlbnRzLgoKMjAxMS0xMS0yMyAwMDo1NzozOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbWF0cm9za2FwYXJzZS5jOgoJKiB0ZXN0cy9maWxlcy9waW5rbm9pc2Utdm9yYmlzLm1rdjoKCSAgdGVzdHM6IGFkZCBiYXNpYyB1bml0IHRlc3QgZm9yIG1hdHJvc2thcGFyc2UKCjIwMTEtMTEtMjMgMDA6NTY6MjYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmM6CgkgIG1hdHJvc2thcGFyc2U6IGRvbid0IGxlYWsgc3RyZWFtIGhlYWRlcnMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NDU0OAoKMjAxMS0xMS0yMiAwMTo0MDozOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYW5ub2RleC9nc3RjbW1sZGVjLmM6CgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJKiBleHQvZmxhYy9nc3RmbGFjdGFnLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6CgkqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOgoJICBNb3JlIHByaW50ZiBmb3JtYXQgd2FybmluZyBmaXhlcwoKMjAxMS0xMS0yMSAyMDozMTozMSArMDEwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2FscGhhL2dzdGFscGhhLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZnhiYXNlZmlyZmlsdGVyLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZGNhcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSogZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS5jOgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpc3VidGl0bGUuYzoKCSogZ3N0L2RlYnVndXRpbHMvYnJlYWtteWRhdGEuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0bmF2aWdhdGlvbnRlc3QuYzoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJKiBnc3QvZ29vbS9nc3Rnb29tLmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYWMzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhYzNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGJ2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBjZWx0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBjZWx0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZHZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzIzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzIzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyNmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyNnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjlkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjlwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc21kZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBpbGJjZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqMmtkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGoya3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMXNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMnRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMnRwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRhcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcHZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbWFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbXVkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnJhd3BheS5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJKiBnc3QvdWRwL2dzdGR5bnVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmxpcC5jOgoJKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5jOgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzoKCSAgRml4IHByaW50ZiBmb3JtYXQgY29tcGlsZXIgd2FybmluZ3Mgb24gT1MgWCAvIDY0Yml0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjI2MTUKCjIwMTEtMTEtMjEgMTM6Mzc6MDEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL3JuZGJ1ZmZlcnNpemUuYzoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICB1cGRhdGUgZm9yIGFjdGl2YXRpb24gY2hhbmdlcwoKMjAxMS0xMS0xOCAxNzo1OToxNiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0cHVzaGZpbGVzcmMuYzoKCSogZ3N0L2RlYnVndXRpbHMvcm5kYnVmZmVyc2l6ZS5jOgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgdXBkYXRlIGZvciBuZXcgc2NoZWR1bGluZyBxdWVyeQoKMjAxMS0xMS0xOCAxMzo1NzoyMCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZWF1ZGlvc2luay5jOgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL3JuZGJ1ZmZlcnNpemUuYzoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICBhZGQgcGFyZW50IHRvIGFjdGl2YXRlIGZ1bmN0aW9ucwoKMjAxMS0xMS0xNyAxNzozNjowNSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBhY3RpdmF0ZSBwYWQgYmVmb3JlIHNldHRpbmcgY2FwcwoJICBTZXRpbmcgY2FwcyBvbiBhbiBpbmFjdGl2ZSBmbHVzaGluZyBwYWQgZG9lcyBub3RoaW5nLgoKMjAxMS0xMS0xNyAxNzoxNzoxMSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCSAgQ29uZmxpY3RzOgoJICBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYwoJICBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmMKCjIwMTEtMTEtMTcgMTU6MDI6NTUgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYW5ub2RleC9nc3RjbW1sZGVjLmM6CgkqIGV4dC9hbm5vZGV4L2dzdGNtbWxlbmMuYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY3RhZy5jOgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSogZXh0L3B1bHNlL3B1bHNlYXVkaW9zaW5rLmM6CgkqIGdzdC9hdXBhcnNlL2dzdGF1cGFyc2UuYzoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aXN1YnRpdGxlLmM6CgkqIGdzdC9jdXR0ZXIvZ3N0Y3V0dGVyLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdG5hdmlnYXRpb250ZXN0LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSogZ3N0L2dvb20vZ3N0Z29vbS5jOgoJKiBnc3QvaWN5ZGVtdXgvZ3N0aWN5ZGVtdXguYzoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L2xhdy9hbGF3LWRlY29kZS5jOgoJKiBnc3QvbGF3L2FsYXctZW5jb2RlLmM6CgkqIGdzdC9sYXcvbXVsYXctZGVjb2RlLmM6CgkqIGdzdC9sYXcvbXVsYXctZW5jb2RlLmM6CgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRtdXguYzoKCSogZ3N0L3JlcGxheWdhaW4vZ3N0cmd2b2x1bWUuYzoKCSogZ3N0L3J0cC9nc3Rhc3Rlcmlza2gyNjMuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSogZ3N0L3J0c3AvZ3N0cnRwZGVjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSogZ3N0L3ZpZGVvY3JvcC9nc3Rhc3BlY3RyYXRpb2Nyb3AuYzoKCSogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuYzoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6CgkgIGFkZCBwYXJlbnQgdG8gcGFkIGZ1bmN0aW9ucwoKMjAxMS0xMS0xNyAwODoyNDo1OCArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9jYWlyby9nc3R0ZXh0b3ZlcmxheS5jOgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydG11eC5jOgoJKiBnc3Qvc21wdGUvZ3N0c21wdGUuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJICBjb2xsZWN0cGFkczogcG9ydCBBUEkgY2hhbmdlcwoKMjAxMS0xMS0xNiAxOTowODowNSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzoKCSAgc3BlZXhlbmM6IGVuc3VyZSB0byBmcmVlIGFsbG9jYXRlZCBwYWRkZWQgZGF0YQoKMjAxMS0xMS0xNiAxODo1NzozOCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzoKCSAgc3BlZXhlbmM6IHJlc2V0IHRhZyBzZXR0ZXIgaW50ZXJmYWNlIHdoZW4gYXBwcm9wcmlhdGUKCjIwMTEtMTEtMTYgMTg6NTc6MjEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJICBmbGFjZW5jOiByZXNldCB0YWcgc2V0dGVyIGludGVyZmFjZSB3aGVuIGFwcHJvcHJpYXRlCgoyMDExLTExLTE2IDE3OjU0OjQ5ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkgIGFkZCBwYXJlbnQgdG8gaW50ZXJuYWwgbGlua3MKCjIwMTEtMTEtMTYgMTc6Mjc6MTMgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYW5ub2RleC9nc3RjbW1sZGVjLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJKiBleHQvcHVsc2UvcHVsc2VhdWRpb3NpbmsuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9meGJhc2VmaXJmaWx0ZXIuYzoKCSogZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS5jOgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdHB1c2hmaWxlc3JjLmM6CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSogZ3N0L2dvb20vZ3N0Z29vbS5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L2xhdy9hbGF3LWRlY29kZS5jOgoJKiBnc3QvbGF3L2FsYXctZW5jb2RlLmM6CgkqIGdzdC9sYXcvbXVsYXctZGVjb2RlLmM6CgkqIGdzdC9sYXcvbXVsYXctZW5jb2RlLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJKiBnc3QvcnRzcC9nc3RydHBkZWMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJKiBnc3QvdmlkZW9jcm9wL2dzdGFzcGVjdHJhdGlvY3JvcC5jOgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgYWRkIHBhcmVudCB0byBxdWVyeSBmdW5jdGlvbgoKMjAxMS0xMS0xNiAxMjo0MDowOCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nb29tL2dzdGdvb20uYzoKCSAgZ29vbTogdXBkYXRlIGZvciByZW5hbWVkIGZsYWdzCgkgIFVzZSB0aGUgX2NoZWNrX3JlY29uZmlndXJlIG1ldGhvZCBpbnN0ZWFkIG9mIGNoZWNraW5nIGZsYWdzLgoJICBEb24ndCBuZWVkIHRvIHJlZiB0aGUgcGFyZW50IGFueW1vcmUsIGNvcmUgZG9lcyB0aGF0LgoKMjAxMS0xMS0xNSAxODowMToxNiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJKiBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLmM6CgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2RlYnVndXRpbHMvcHJvZ3Jlc3NyZXBvcnQuYzoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIF9xdWVyeV9wZWVyXyooKSAtPiBfcGVlcl9xdWVyeV8qKCkKCjIwMTEtMTEtMTUgMTc6NDU6MzEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VhdWRpb3NpbmsuYzoKCSAgX2FjY2VwdF9jYXBzKCkgLT4gX3F1ZXJ5X2FjY2VwdF9jYXBzKCkKCjIwMTEtMTEtMTUgMTc6Mjk6NDUgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkqIGV4dC9wdWxzZS9wdWxzZWF1ZGlvc2luay5jOgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSogZ3N0L2dvb20vZ3N0Z29vbS5jOgoJKiBnc3QvbGF3L2FsYXctZGVjb2RlLmM6CgkqIGdzdC9sYXcvYWxhdy1lbmNvZGUuYzoKCSogZ3N0L2xhdy9tdWxhdy1kZWNvZGUuYzoKCSogZ3N0L2xhdy9tdWxhdy1lbmNvZGUuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIF9wZWVyX2dldF9jYXBzKCkgLT4gX3BlZXJfcXVlcnlfY2FwcygpCgoyMDExLTExLTE1IDE2OjU1OjI3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJKiBleHQvcHVsc2UvcHVsc2VhdWRpb3NpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc2luay5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zcmMuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc2luay5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zcmMuYzoKCSogZ3N0L3ZpZGVvY3JvcC9nc3Rhc3BlY3RyYXRpb2Nyb3AuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiB0ZXN0cy9pY2xlcy9nZGtwaXhidWZzaW5rLXRlc3QuYzoKCSAgdXBkYXRlIGZvciBfZ2V0X2NhcHMoKSAtPiBfcXVlcnlfY2FwcygpCgoyMDExLTExLTE1IDE2OjMxOjQ1ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkqIGdzdC9sYXcvYWxhdy1kZWNvZGUuYzoKCSogZ3N0L2xhdy9hbGF3LWVuY29kZS5jOgoJKiBnc3QvbGF3L211bGF3LWRlY29kZS5jOgoJKiBnc3QvbGF3L211bGF3LWVuY29kZS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFjM3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRncGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wdnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc3BheS5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJKiBnc3QvdmlkZW9jcm9wL2dzdGFzcGVjdHJhdGlvY3JvcC5jOgoJICBjaGFuZ2UgZ2V0Y2FwcyB0byBxdWVyeQoJICBDaGFpbiB1cCBldmVudCBmdW5jdGlvbiBpbiBwYXlsb2FkZXJzLgoKMjAxMS0xMS0xNSAxMzoyMzo1NiArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkgIGZsYWNkZWM6IGZpeCBzcHVyaW91cyB0aW1lc3RhbXAgZGlzY29udGludWl0eQoJICBXZSBuZWVkIHRvIHRlbGwgdGhlIGJhc2UgY2xhc3MgdGhhdCB3ZSdyZSBkcm9wcGluZyBidWZmZXJzLAoJICBzbyBpdCBkcm9wcyB0aGUgaW5wdXQgdGltZXN0YW1wcyBjb3JyZXNwb25kaW5nIHRvIHRoZXNlLgoJICBPdGhlcndpc2UsIHRoZSBmaXJzdCBhY3R1YWwgYXVkaW8gYnVmZmVycyB3ZSBvdXRwdXQgd2lsbCBiZQoJICBzdGFtcGVkIHdpdGggdGhvc2UgLSBHU1RfQ0xPQ0tfVElNRVNUQU1QX05PTkUuIFRoYXQgbWlzbWF0Y2gKCSAgYmV0d2VlbiBpbnB1dCBidWZmZXIgY291bnQgYW5kIG91dHB1dCBidWZmZXIgY291bnQgd2lsbCBzdGF5CgkgIHdoaWxlIHBsYXlpbmcuIFdpdGggZW5vdWdoIGhlYWRlcnMgYW5kIGxvbmcgZW5vdWdoIGJ1ZmZlcgoJICBkdXJhdGlvbnMsIHRoZSBzaW5rIHdpbGwgaGF2ZSBwbGF5ZWQgZW5vdWdoIGJlZm9yZSByZWNlaXZpbmcKCSAgdGhlIGZpcnN0IHZhbGlkIHRpbWVzdGFtcCAodXN1YWxseSAwKSwgYW5kIHdpbGwgdHJpZ2dlciBhbgoJICBhdWRpYmxlIGRpc2NvbnRpbnVpdHkuCgoyMDExLTExLTE0IDE1OjM0OjU3ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmg6CgkgIGZsYWNwYXJzZTogZGV0ZWN0IHdoZW4gYSBmaWxlIGxpZXMgYWJvdXQgZml4ZWQgYmxvY2sgc2l6ZQoJICBJZiB0aGUgc2FtcGxlL2Jsb2NrIG51bWJlciBoYXBwZW5zIHRvIGJlIHRoZSBzYW1lIGFzIHRoZSBibG9jawoJICBzaXplLCB3ZSBhc3N1bWUgdmFyaWFibGUgYmxvY2sgc2l6ZSwgYW5kIHRodXMgY291bnRlcnMgaW4gc2FtcGxlcwoJICBpbiB0aGUgaGVhZGVycy4gVGhpcyBjYW4gb25seSBnZXQgdXMgYSBmYWxzZSBwb3NpdGl2ZSBmb3IgYSBibG9jawoJICBzaXplIG9mIDEsIHdoaWNoIGlzIGludmFsaWQuIFdlIGNhbiBnZXQgZmFsc2UgbmVnYXRpdmVzIG1vcmUKCSAgb2Z0ZW4gdGhvdWdoIChlZywgaWYgbm90IHN0YXJ0aW5nIGF0IHRoZSBzdGFydCBvZiB0aGUgc3RyZWFtKSwKCSAgYnV0IHRoZW4gdGhhdCdzIGFscmVhZHkgR0lHTy4KCjIwMTEtMDktMDIgMTk6MjA6MDcgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIGdzdHJ0cHNlc3Npb246IEFkZCBzcGVjaWFsIG1vZGUgdG8gdXNlIEZJUiBhcyByZXBhaXIgYXMgR29vZ2xlIGRvZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1ODQxOQoKMjAxMS0wOS0wMSAxNzo0NzozOCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5oOgoJICBydHBzZXNzaW9uOiBTZW5kIEZJUiByZXF1ZXN0cyBpbiByZXNwb25zZSB0byBrZXkgdW5pdCByZXF1ZXN0cyB3aXRoIGFsbC1oZWFkZXJzPVRSVUUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1ODQxOQoKMjAxMS0wOS0wMSAxNjoyNToyMSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5oOgoJICBydHBzZXNzaW9uOiBQdXQgdGhlIFBMSSByZXF1ZXN0cyBpbiBlYWNoIFJUUFNvdXJjZQoJICBBbHNvIHJlZmFjdG9yIGEgYml0IGFuZCBwdXQgYWxsIHRoZSBrZXlmcmFtZSByZXF1ZXN0IGNvZGUgaW4gb25lCgkgIHBsYWNlIGluc2lkZSBydHBzZXNzaW9uLmMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1ODQxOQoKMjAxMS0wOC0zMSAxNDozNTozMyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogSGFjayB0byBGSVIgYmVjYXVzZSBHb29nbGUgZG9lc24ndCBzZXQgdGhlIHNlbmRlciBzc3JjIGNvcnJlY3RseQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU4NDE5CgoyMDExLTA4LTMwIDE5OjA2OjEzIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIHJ0cHNlc3Npb246IFByb2Nlc3MgcmVjZWl2ZWQgRnVsbCBJbnRyYSBSZXF1ZXN0cwoJICBQcm9jZXNzIEZJUiByZXF1ZXN0cyBhY2NvcmRpbmcgdG8gUkZDIDUxMDQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1ODQxOQoKMjAxMS0xMS0wNyAxODo0MzoyNiArMDAwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkLnNpbW9uc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDI6IFNldCBwaXhlbC1hc3BlY3QtcmF0aW8gdG8gMS8xCgkgIFdlIGRvbid0IGN1cnJlbnRseSBzdXBwb3J0IHNldHRpbmcgdGhlIHBpeGVsLWFzcGVjdC1yYXRpbyBmcm9tIFY0TDIuIFNvCgkgIHNpbXBseSBzZXQgaXQgdG8gYmUgMS8xIGluIHRoZSBjYXBzIHRvIHByZXZlbnQgbmVnb3RpYXRpb24gZmFpbHVyZXMgd2hlbgoJICBmaXhhdGluZyB0byB3ZWlyZCB2YWx1ZXMgKGUuZy4gd2hlbiB0aGUgZG93bnN0cmVhbSBjYXBzIGhhcwoJICBwaXhlbC1hc3BlY3QtcmF0aW8gPSBbIE1JTiwgTUFYIF0gKQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYzNTgwCgoyMDExLTExLTE0IDA5OjM5OjE1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2lkM2RlbXV4LmM6CgkgIHRlc3RzOiBtYWtlIGlkM2RlbXV4IHRlc3QgY29tcGlsZQoJICBTdGlsbCBmYWlscyB0aG91Z2guCgoyMDExLTExLTEyIDE1OjQyOjI3ICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvZXhhbXBsZXMvc2hhcGV3aXBlL3NoYXBld2lwZS1leGFtcGxlLmM6CgkqIHRlc3RzL2V4YW1wbGVzL3Y0bDIvY2FtY3RybC5jOgoJICBjb250cm9sbGVyOiBubyBuZWVkIHRvIGV4cGxpY2l0ZWx5IGFkZCBjb250cm9sbGVkIHByb3BlcnRpZXMgYW55bW9yZQoKMjAxMS0xMS0xMyAyMzo0Mjo0NCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RwdXNoZmlsZXNyYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC91ZHAvZ3N0dWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwycmFkaW8uYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICBVcGRhdGUgZm9yIEdzdFVSSUhhbmRsZXIgZ2V0X3Byb3RvY29scygpIGNoYW5nZXMKCjIwMTEtMTEtMTMgMTg6NTA6NTEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0cHVzaGZpbGVzcmMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3QvdWRwL2dzdHVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnJhZGlvLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgc291cCwgcHVzaGZpbGUsIHJ0c3AsIHVkcCwgdjRsMjogdXBkYXRlIGZvciBHc3RVUklIYW5kbGVyIEFQSSBjaGFuZ2VzCgoyMDExLTExLTExIDE5OjI0OjI3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoJICBDb25mbGljdHM6CgkgIGV4dC9wdWxzZS9wdWxzZWF1ZGlvc2luay5jCgoyMDExLTExLTExIDE5OjIxOjUwICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBnNzI5cGF5LmM6CgkgIHJ0cDogZml4IGZvciBydHAgaGVhZGVyIGNoYW5nZXMKCjIwMTEtMTEtMTEgMTA6MDY6MjUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9wdWxzZS9wdWxzZWF1ZGlvc2luay5jOgoJICBwdWxzZWF1ZGlvc2luazogZml4IGNhcHMgbGVhawoKMjAxMS0xMS0xMSAxNDo1NTo0OCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogZG8gbm90IGxlYWsgY2xpZW50bmFtZSB3aGVuIHNldHRpbmcgdXAgcHJvcGVydHkKCjIwMTEtMTEtMTEgMTg6MDU6MzUgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlYXVkaW9zaW5rLmM6CgkgIHB1bHNlOiBDaGFpbiB1cCBkaXNwb3NlKCkgaW4gcHVsc2VhdWRpb3NpbmsKCjIwMTEtMTEtMTEgMTI6MzI6NDEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L2dzdHJ0cHhxdGRlcGF5Lmg6CgkqIGdzdC9ydHAvZm52MWhhc2guaDoKCSogZ3N0L3J0cC9nc3RydHBMMTZkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cEwxNnBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGFjM2RlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwYWMzcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBhbXJwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBidmRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwYnZwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBjZWx0ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBjZWx0cGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwZHZkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGR2cGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyMmRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyMnBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjNkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjNwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBnNzI2ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBnNzI2cGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyOWRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyOXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbWRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwZ3N0ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBnc3RwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBoMjYzZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGlsYmNkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGlsYmNwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBqMmtkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGoya3BheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcDFzZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcDJ0ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcDJ0cGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0YWRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0YXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcDR2ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcDR2cGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcGFwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcGFyb2J1c3RkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wdmRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXB2cGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtYWRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtYXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbXVkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbXVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBxY2VscGRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwcWRtZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBzaXJlbmRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwc2lyZW5wYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBzcGVleGRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBzdjN2ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc2RlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwdnJhd2RlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwdnJhd3BheS5oOgoJICB1cGRhdGUgZm9yIGJhc2UgY2xhc3MgcmVuYW1lCgoyMDExLTExLTExIDEyOjI1OjAxICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9nc3RydHB4cXRkZXBheS5jOgoJKiBnc3QvaXNvbXA0L2dzdHJ0cHhxdGRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwTDE2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBMMTZkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cEwxNnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cEwxNnBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGFjM2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYWMzZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBhYzNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhYzNwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwYW1ycGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYW1ycGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwYnZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGJ2ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBidnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGJ2cGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwY2VsdGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwY2VsdGRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwY2VsdHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGNlbHRwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBkdmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZHZkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGR2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZHZwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBnNzIyZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzIyZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBnNzIycGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyMnBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjNkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzIzcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyNmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyNmRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyNnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjZwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBnNzI5ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI5ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBnNzI5cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyOXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBnc21wYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc21wYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBnc3RkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzdGRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwZ3N0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3N0cGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M2RlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGlsYmNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGlsYmNkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGlsYmNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBpbGJjcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwajJrZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqMmtkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGoya3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGoya3BheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqcGVncGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXAxc2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXAxc2RlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXAydGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXAydGRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXAydHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMnRwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcDRhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRhZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcDRhcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0YXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRncGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dmRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcGFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYWRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhcm9idXN0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcGFyb2J1c3RkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wdmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXB2ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcHZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcHZwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBwY21hZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY21hZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBwY21hcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtYXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbXVkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbXVkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbXVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY211cGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwcWNlbHBkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHFjZWxwZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBxZG1kZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHFkbWRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwc2lyZW5kZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNpcmVuZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBzaXJlbnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNpcmVucGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBzcGVleHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4cGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwc3YzdmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3YzdmRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHB2cmF3ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2cmF3ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHB2cmF3cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnJhd3BheS5oOgoJICB1cGRhdGUgZm9yIGJhc2UgY2xhc3MgcmVuYW1lCgoyMDExLTExLTExIDEyOjAxOjE3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmg6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHVwZGF0ZSBmb3IgYXVkaW9iYXNlKiByZW5hbWUKCjIwMTEtMTEtMTEgMTE6NTM6NDUgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuaDoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5oOgoJKiBleHQvcHVsc2UvcHVsc2VhdWRpb3NpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmg6CgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJICBhdWRpbzogdXBkYXRlIGZvciBiYXNlIGNsYXNzIHJlbmFtZQoKMjAxMS0xMS0xMSAxMTozMzo0NCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXV0aWwuaDoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuaDoKCSAgZml4IGZvciByaW5nYnVmZmVyIHJlbmFtZQoKMjAxMS0xMS0xMSAxMToyNDowMCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6CgkqIGV4dC9qYWNrL2dzdGphY2tyaW5nYnVmZmVyLmg6CgkqIGV4dC9wdWxzZS9wdWxzZWF1ZGlvc2luay5jOgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJKiBleHQvcHVsc2UvcHVsc2V1dGlsLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXV0aWwuaDoKCSAgdXBkYXRlIGZvciByaW5nYnVmZmVyIGNoYW5nZQoKMjAxMS0xMS0xMCAyMzoxNTozMCArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2V4YW1wbGVzL3NoYXBld2lwZS9zaGFwZXdpcGUtZXhhbXBsZS5jOgoJKiB0ZXN0cy9leGFtcGxlcy92NGwyL2NhbWN0cmwuYzoKCSAgY29udHJvbGxlcjogcG9ydCBhcGkgY2hhbmdlcwoKMjAxMS0xMS0xMCAyMzowOToyMyArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9hbm5vZGV4L2dzdGFubm9kZXguYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9jaGViYmFuZC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJsaW1pdC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWlpcmZpbHRlci5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb3Bhbm9yYW1hLmM6CgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6CgkgIHZhcmlvdXM6IGFkZCBtaXNzaW5nIGluY2x1ZGVzCgoyMDExLTExLTEwIDIxOjM1OjI0ICswMTAwICBSZW7DqSBTdGFkbGVyIDxyZW5lLnN0YWRsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IGZpeCBjb21waWxhdGlvbiB3aXRoIHB1bHNlYXVkaW8gMC45CgoyMDExLTExLTEwIDE4OjMyOjU4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY3RhZy5jOgoJKiBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLmM6CgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2dvb20vZ3N0Z29vbS5jOgoJKiBnc3QvaWN5ZGVtdXgvZ3N0aWN5ZGVtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICB1cGRhdGUgZm9yIGFkYXB0ZXIgYXBpIGNoYW5nZXMKCjIwMTEtMTEtMTAgMTc6MjM6NDcgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cEwxNnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFjM3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGJ2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwY2VsdHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGR2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyMnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyOXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzdHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBpbGJjcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwajJrcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwanBlZ3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMnRwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRhcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcGFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcHZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY21hcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtdXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNpcmVucGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnJhd2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnJhd3BheS5jOgoJICB1cGRhdGUgZm9yIGNoYW5nZWQgYmFzZSBjbGFzc2VzCgoyMDExLTExLTEwIDEzOjUwOjM0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBmaXggZm9yIGF1ZGlvIGNsb2NrIGNoYW5nZQoKMjAxMS0xMS0xMCAxMTowMzoxOCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hYWxpYi9nc3RhYXNpbmsuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOgoJICB1cGRhdGUgZm9yIHJlbW92ZWQgZml4YXRlIGZ1bmN0aW9uCgoyMDExLTExLTA5IDE3OjQwOjEwICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoKMjAxMS0xMS0wOSAxNzozODowMyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZWF1ZGlvc2luay5jOgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHVwZGF0ZXMgZm9yIG5ldyBhY2NlcHRjYXBzIHF1ZXJ5CgoyMDExLTExLTA4IDE1OjM1OjI2ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IGZpeCB3cm9uZyBzdHJpZGUgd2hlbiBpbnZlcnRpbmcgdW5jb21wcmVzc2VkIHZpZGVvCgkgIFN1Y2ggZnJhbWVzIGhhdmUgYSBzdHJpZGUgbXVsdGlwbGUgb2YgNCwgc2VlCgkgIGh0dHA6Ly9sc2N1YmUub3JnL3BpcGVybWFpbC9mZm1wZWctaXNzdWVzLzIwMTAtQXByaWwvMDEwMjQ3Lmh0bWwuCgkgIFRoaXMgc2hvd2VkIHVwIG9uIGEgc2FtcGxlIHVzaW5nIGEgb2RkIHdpZHRoIG9mIDI0IGJpdCB2aWRlby4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MjI4OAoKMjAxMS0xMS0wOSAxMjoyNTowMSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuYzoKCSAgaDI2M3BwYXk6IHJlcG9ydCB0byAwLjExCgoyMDExLTExLTA5IDEyOjE4OjAxICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoJICBDb25mbGljdHM6CgkgIGV4dC9mbGFjL2dzdGZsYWNkZWMuYwoJICBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jCgkgIGdzdC9pc29tcDQvcXRkZW11eC5jCgoyMDExLTExLTA5IDExOjU2OjA3ICswMTAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIGR0bWY6IGZpeCBjb21waWxlciB3YXJuaW5nIGZvciB1bmluaXRpYWxpemVkIHZhbHVlcwoKMjAxMS0xMS0wOSAxMTo1MzowMSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hbm5vZGV4L2dzdGNtbWxkZWMuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9meGJhc2VmaXJmaWx0ZXIuYzoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgcmVtb3ZlIHF1ZXJ5IHR5cGVzCgoyMDExLTExLTA5IDEwOjMyOjA2ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBtaW5pbWFsIHNhbml0eSBjaGVjayBvbiBjcmVhdGlvbiBkYXRldGltZQoKMjAxMS0xMS0wNCAxNzo1NDowNCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5oOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuaDoKCSAgZHRtZnNyYzogUmVqZWN0IHN0YXJ0L3N0b3AgcmVxdWVzdHMgdGhhdCBjb21lIG91dCBvZiBvcmRlcgoKMjAxMS0xMC0yOSAxODoyNDoyNiArMDIwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBkdG1mOiBQb3N0IG1lc3NhZ2VzIHdoZW4gc3RhcnRpbmcgdG8gc2VuZC9yZWNlaXZlIERUTUYKCSAgVGhpcyB3YXksIHRoZSBVSSBjYW4gZGlzcGxheSB0aGUgRFRNRiBldmVudHMgYXMgdGhleSBhcyBiZWluZyBzZW50LgoKMjAxMS0xMS0wMiAxMjo1ODoxMiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuYzoKCSAgcnRwaDI2M3BwYXk6IFJldHVybiB0aGUgc2luayBwYWQgdGVtcGxhdGUgYXMgc2luayBjYXBzLCBub3QgdGhlIHNyYydzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD01Nzc3ODQKCjIwMDktMDMtMTUgMTk6MjY6NDggLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuYzoKCSAgcnRwaDI2M3BwYXk6IEFsc28gaW1wbGVtZW50IHNpemUvZnJhbWVyYXRlIHJlc3RyaWN0aW9ucyBpbiBnZXRjYXBzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD01Nzc3ODQKCjIwMDktMDMtMDQgMjA6NTA6MTkgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuYzoKCSAgcnRwaDI2M3BwYXk6IEltcGxlbWVudCBnZXRjYXBzIGZvbGxvd2luZyBSRkMgNDYyOSwgcGlja3MgdGhlIHJpZ2h0IGFubmV4ZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTU3Nzc4NAoKMjAxMS0xMS0wOCAxNDozMTozNCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogYWxzbyBzZXQgc2VnbWVudCBzdG9wIGF0IHN0YXJ0dXAgcmF0aGVyIHRoYW4gb25seSBwb3N0IHNlZWsKCSAgLi4uIHNvIGFzIHRvIGVuc3VyZSBjb25zaXN0ZW50IHBsYXliYWNrIHdpdGggb3Igd2l0aG91dCBzZWVrLCBlc3BlY2lhbGx5CgkgIGluIHByZXNlbmNlIG9mIHNvbWUgYm9ndXMgZWRpdCBsaXN0IGVudHJpZXMuCgoyMDExLTExLTA4IDExOjE4OjA2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlYXVkaW9zaW5rLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgdXBkYXRlIGZvciBwcm9iZSBhcGkgY2hhbmdlcwoKMjAxMS0xMS0wOCAwODo1MDoxOSArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9nb29tL2dzdGdvb20uYzoKCSAgZ29vbTogY29kZSBjbGVhbnVwcwoJICBNb3ZlIHZhcmlhYmxlcyB0byB0aGUgc2NvcGUgd2hlcmUgdGhleSBhcmUgbmVlZGVkLiBVc2Ugb3VyIG1hY3JvcyBhbmQgZnVuY3Rpb25zCgkgIG1vcmUuCgoyMDExLTExLTA4IDA4OjQ5OjA1ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2dvb20vZ3N0Z29vbS5jOgoJICBnb29tOiBhZGQgYSBzaW5rX3F1ZXJ5IHRvIGVhdCBhbGxvY2F0aW9uIHF1ZXJpZXMKCSAgV2Ugc2hvdWxkIG5vdCBmb3J3YXJkIGFsbG9jYXRpb24gcXVlcmllcyBmb3IgYXVkaW8gdG8gdGhlIHZpZGVvIHNpbmsuCgoyMDExLTExLTAyIDE3OjAyOjU0ICswMDAwICBSYXVsIEd1dGllcnJleiBTZWdhbGVzIDxyZ3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9NYWtlZmlsZS5hbToKCSAgZ3N0L2Zsdi86IGFkZCBhbWZkZWZzLmggdG8gbm9pbnN0X0hFQURFUlMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2MzMzNAoKMjAxMS0xMS0wNyAxNzoxNDoxNyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZWF1ZGlvc2luay5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIGZpeCBmb3IgcHJvYmUgdXBkYXRlcwoKMjAxMS0xMC0wMyAxNzo1MDo0MyArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguaDoKCSAgZmx2ZGVtdXg6IGRldGVjdCBsYXJnZSBwdHMgZ2FwcyBhbmQgcmVzeW5jCgkgIFNob3VsZCB3b3JrIG9uIG11bHRpcGxlIGdhcHMsIGJ1dCB0ZXN0ZWQgb24gb25seSBvbmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MzE0MzAKCjIwMTEtMDgtMjIgMTA6NDA6NDUgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJICBmbGFjZGVjOiBmaXggb2ZmIGJ5IG9uZSBiZXR3ZWVuIGdyYW5wb3MgYW5kIGxhc3Rfc3RvcAoKMjAxMS0xMC0wNyAxOTo0MTozNSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IGZpeCBsYXN0IGZyYW1lIHRpbWVzdGFtcCBpbiBmaXhlZCBibG9jayBzaXplIG1vZGUKCSAgVGhlIGxhc3QgYmxvY2sgbWF5IGhhdmUgYSBkaWZmZXJlbnQgYmxvY2sgc2l6ZSwgc28gd2Ugc2hvdWxkIG5vdAoJICB1c2UgaXQgdG8gc2NhbGUgb3Igd2UnbGwgZW5kIHVwIHdpdGggYSB3cm9uZyB0aW1lc3RhbXAuCgkgIFNlZSBjb21tZW50IGFuZCBxdW90ZSBmcm9tIHRoZSBGTEFDIGZvcm1hdCBkb2N1bWVudGF0aW9uIGluIHRoZSBjb2RlLgoJICBGaXhlcyBsb29wZWQgcGxheWJhY2sgb2YgRkxBQyBmaWxlcyAodmlhIGFib3V0LXRvLWZpbmlzaCkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjEyMTUKCjIwMTEtMTAtMjcgMTU6NTI6NDcgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NhaXJvL2dzdHRleHRvdmVybGF5LmM6CgkqIGV4dC9jYWlyby9nc3R0ZXh0b3ZlcmxheS5oOgoJICBjYWlyb3RleHRvdmVybGF5OiBhZGQgYSAnc2lsZW50JyBwcm9wZXJ0eSB0byBza2lwIHJlbmRlcmluZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYyODU2CgoyMDExLTExLTA3IDEyOjAwOjEyICswMTAwICBSZW7DqSBTdGFkbGVyIDxyZW5lLnN0YWRsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuYzoKCSAgbWF0cm9za2FtdXg6IGZpeCByZWdyZXNzaW9uIGNhdXNpbmcgbWFsZm9ybWVkIGZpbGVzCgkgIFRoaXMgd2FzIGNhdXNlZCBieSBtZSBpbiAxYjIxM2QuIEl0IHNlZW1zIEkgd2FzIHRvbyBmb2N1c2VkIG9uIDAuMTEgd2hlbiBJIGRpZAoJICB0aGlzIGFuZCB0ZXN0ZWQgdGhlIHdyb25nIGJyYW5jaC4KCSAgVGhlIHByb2JsZW0gd2FzIHJlcG9ydGVkIGJ5IEFsZXhleSBGaXNoZXIuCgoyMDExLTExLTA0IDE4OjQxOjM2ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2Fubm9kZXgvZ3N0Y21tbGRlYy5oOgoJKiBnc3QvYWxwaGEvTWFrZWZpbGUuYW06CgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuaDoKCSogZ3N0L2F1ZGlvZngvTWFrZWZpbGUuYW06CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvYW1wbGlmeS5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJiYW5kLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYmxpbWl0LmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZHluYW1pYy5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2VjaG8uYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9maXJmaWx0ZXIuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9meC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWZpcmZpbHRlci5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWlpcmZpbHRlci5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2lpcmZpbHRlci5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2ludmVydC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2thcmFva2UuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9wYW5vcmFtYS5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb3dzaW5jYmFuZC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb3dzaW5jbGltaXQuYzoKCSogZ3N0L2VmZmVjdHYvTWFrZWZpbGUuYW06CgkqIGdzdC9lZmZlY3R2L2dzdGFnaW5nLmM6CgkqIGdzdC9lZmZlY3R2L2dzdGRpY2UuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0b3AuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0cXVhcmsuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0cmFkaW9hYy5jOgoJKiBnc3QvZWZmZWN0di9nc3RyZXYuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0cmlwcGxlLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHZlcnRpZ28uYzoKCSogZ3N0L2VxdWFsaXplci9NYWtlZmlsZS5hbToKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuaDoKCSogZ3N0L3NoYXBld2lwZS9NYWtlZmlsZS5hbToKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSogZ3N0L3NtcHRlL01ha2VmaWxlLmFtOgoJKiBnc3Qvc21wdGUvZ3N0c21wdGVhbHBoYS5jOgoJKiBnc3QvdmlkZW9ib3gvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb2ZpbHRlci9nc3RnYW1tYS5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9iYWxhbmNlLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZsaXAuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL3BsdWdpbi5jOgoJKiBnc3QvdmlkZW9taXhlci9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJKiBzeXMvdjRsMi9NYWtlZmlsZS5hbToKCSogc3lzL3Y0bDIvZ3N0djRsMi5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogdGVzdHMvZXhhbXBsZXMvc2hhcGV3aXBlL3NoYXBld2lwZS1leGFtcGxlLmM6CgkqIHRlc3RzL2V4YW1wbGVzL3Y0bDIvY2FtY3RybC5jOgoJICBjb250cm9sbGVyOiBwb3J0IHRvIG5ldyBjb250cm9sbGVyIGxvY2F0aW9uIGFuZCBhcGkKCjIwMTEtMTEtMDQgMTc6Mzk6MTUgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIG1vcmUgdGVtcGxhdGUgZml4ZXMKCjIwMTEtMTEtMDQgMTY6MjE6MTMgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VhdWRpb3NpbmsuYzoKCSAgcHVsc2VhdWRpb3Npbms6IG1vcmUgMC4xMSBmaXhpbmcKCSAgTWFrZSBzdXJlIHRoZSBjYXBzIGV2ZW50IGdldHMgdG8gdGhlIHNpbmsuCgoyMDExLTExLTA0IDE1OjM1OjQyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlYXVkaW9zaW5rLmM6CgkgIHB1bHNlYXVkaW9zaW5rOiBwb3J0IHNvbWUgbW9yZQoJICBSZW5hbWUgZGVjb2RlYmluMiAtPiBkZWNvZGViaW4gc29tZSBtb3JlCgkgIENsZWFudXAgdXAgc2lua3BhZCBldmVudCBoYW5kbGluZwoKMjAxMS0xMS0wNCAxMzo1NjowNiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZWF1ZGlvc2luay5jOgoJICBwdWxzZWF1ZGlvc2luazogcG9ydCBzb21lIG1vcmUgdG8gMC4xMQoJICBXZSBtdXN0IG5vdCBmb3J3YXJkIHRoZSBjYXBzIGV2ZW50LiBpbnN0ZWFkIHdlIHdpbGwgZGVjaWRlIHdoYXQgdG8gZG8gd2hlbiB0aGUKCSAgcGFkIGJsb2NrIGlzIHRha2VuLgoJICBVc2UgZGVjb2RlYmluIGluc3RlYWQgb2YgZGVjb2RlYmluMgoKMjAxMS0xMS0wNCAxMzoxMjozNyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4Lmg6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJICBtb3JlIHRlbXBsYXRlIGZpeGVzCgoyMDExLTExLTA0IDExOjU4OjIyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSogZ3N0L21hdHJvc2thL3dlYm0tbXV4LmM6CgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0bXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6CgkqIGdzdC9ydHNwL2dzdHJ0cGRlYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXZpbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ludGVybGVhdmUuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbWF0cm9za2FtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcXRtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwYmluLmM6CgkgIG1ha2UgJXUgaW4gYWxsIHJlcXVlc3QgcGFkIHRlbXBsYXRlcwoKMjAxMS0xMS0wNCAxMTowMTowMSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCSAgQ29uZmxpY3RzOgoJICBnc3QvcnRwL2dzdHJ0cHZyYXdkZXBheS5jCgoyMDExLTExLTA0IDEwOjMyOjQ2ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2FwZXRhZy9nc3RhcGVkZW11eC5jOgoJICBQb3J0IGFwZWRlbXV4CgoyMDExLTExLTAzIDIzOjI4OjMxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwdnJhd2RlcGF5LmM6CgkgIHJ0cDogdXNlIEdMaWIncyBHX0JJR19FTkRJQU4gZGVmaW5lIGluc3RlYWQgb2YgQklHX0VORElBTgoJICBGaXhlcyBjb21waWxlciB3YXJuaW5nIG9uIG1pbmd3MzIKCjIwMTEtMTEtMDMgMTY6NDM6MDAgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L3J0cG1hbmFnZXIvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuaDoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc3RhdHMuaDoKCSogZ3N0L3VkcC9NYWtlZmlsZS5hbToKCSogZ3N0L3VkcC9nc3RkeW51ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0dWRwLmM6CgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIHVwZGF0ZSBmb3IgbmV3IG5ldCBsaWJyYXJ5CgoyMDExLTExLTAyIDEyOjA5OjIwICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fubm9kZXgvZ3N0Y21tbGRlYy5jOgoJKiBleHQvZmxhYy9nc3RmbGFjdGFnLmM6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0dGFnaW5qZWN0LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSogZ3N0L3JlcGxheWdhaW4vZ3N0cmdhbmFseXNpcy5jOgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgdGFnczogdXBkYXRlIGZvciB0YWcgQVBJIHJlbW92YWwKCjIwMTEtMTEtMDIgMTA6NDA6MTIgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgoyMDExLTEwLTMxIDAyOjQwOjA4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSogZ3N0L3VkcC9nc3RkeW51ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIHVwZGF0ZSBmb3IgbmV0YnVmZmVyIGFwaSBjaGFuZ2UKCjIwMTEtMTAtMzEgMDI6MzU6NTEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC91ZHAvZ3N0ZHludWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdHVkcC5jOgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICB1cGRhdGUgZm9yIG5ldGFkZHJlc3MgY2hhbmdlCgoyMDExLTEwLTMxIDAyOjI0OjA0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VmZmVjdHYvZ3N0d2FycC5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdkZXBheS5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIHVwZGF0ZSBmb3IgbWV0YSBhcGkgY2hhbmdlCgoyMDExLTEwLTI5IDA5OjI5OjI3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9nc3RxdG1vb3ZyZWNvdmVyLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgdXBkYXRlIGZvciBuZXcgdGFzayBhcGkKCjIwMTEtMTAtMjkgMDk6MDk6NDUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYWRlcGF5LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHN0cnVjdHVyZTogZml4IGZvciBhcGkgdXBkYXRlCgoyMDExLTEwLTI5IDA4OjI1OjI3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSAgYnVmZmVybGlzdDogdXBkYXRlIGZvciBuZXcgQVBJCgoyMDExLTExLTAxIDAwOjQwOjQwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZWF1ZGlvc2luay5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIFVwZGF0ZSBmb3IgcGFkIEFQSSBjaGFuZ2VzCgkgIEdzdFByb2JlVHlwZSwgR3N0UHJvYmVSZXR1cm4gYW5kIEdzdEFjdGl2YXRlTW9kZSAtPiBHc3RQYWQqCgoyMDExLTEwLTMxIDE4OjM4OjU1ICswMTAwICBSZW7DqSBTdGFkbGVyIDxyZW5lLnN0YWRsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJICBhYzNwYXJzZTogZml4IG9idmlvdXMgY3Jhc2gKCjIwMTEtMTAtMzEgMTY6MTg6MzIgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogYXZvaWQgc2hvcnRjdXQgZXZhbHVhdGlvbiB3aGVuIGFkZGluZyBwYWlyZWQgbXA0IHRhZwoJICBGaXhlcyAocGFydCBvZikgIzYzODcxMS4KCjIwMTEtMTAtMzEgMTU6NDM6MjUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogZG8gbm90IHVzZSB1bm9mZmljYWwgVl9NSlBFRyBjb2RlYyBpZAoJICAuLi4gYnV0IGFzIG5vdCBzcGVjJ2VkIGVzcGVjaWFsbHksIGNvbnNpZGVyIGl0IGEgVmZXIGNvbXBhdGliaWxpdHkgY2FzZS4KCSAgRml4ZXMgIzY1OTgzNy4KCjIwMTEtMTAtMzAgMTk6MzA6MTQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5oOgoJICBmbGFjZW5jOiByZW1vdmUgZGVhZCBjb2RlIGZyb20gaGVhZGVyCgkgIFdlIHJlcXVpcmUgYSBuZXctZW5vdWdoIGxpYmZsYWMgdGhhdCB0aGlzIGNvbmRpdGlvbiB3aWxsIG5ldmVyIGFwcGx5LgoKMjAxMS0xMC0zMCAxOTowOTowMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkgIGZsYWNkZWM6IHBhcnNlIHN0cmVhbSBoZWFkZXJzIGZyb20gY2FwcyBpbiBzZXRfZm9ybWF0IGZ1bmN0aW9uCgkgIE5vdCB0aGF0IHRoaXMgc2VlbXMgdG8gYmUgYWN0dWFsbHkgbmVlZGVkLCBsaWJmbGFjIGhhcHBpbHkgZGVjb2RlcwoJICBzdHVmZiBldmVuIGlmIHdlIGp1c3QgZHJvcCBhbGwgaGVhZGVycyBhbmQgbmV2ZXIgZmVlZCBpdCB0byB0aGUKCSAgbGlicmFyeS4KCjIwMTEtMTAtMzAgMTg6NDk6MjEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmg6CgkgIGZsYWNkZWM6IGRvbid0IGV4dHJhY3QgbWV0YWRhdGEsIGxlYXZlIHRoYXQgdG8gdGhlIHBhcnNlciBvciBjb250YWluZXIKCjIwMTEtMTAtMzAgMTg6NDU6NDUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmg6CgkgIGZsYWNkZWM6IHdlIGV4cGVjdCBmcmFtZWQgaW5wdXQgbm93LCByZW1vdmUgc29tZSBtb3JlIGNvZGUKCjIwMTEtMTAtMDkgMTY6MTg6MDkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmg6CgkgIGZsYWNkZWM6IG5haXZlIHBvcnQgdG8gR3N0QXVkaW9EZWNvZGVyCgkgIFRoaXMgd291bGQgcHJvYmFibHkgaGF2ZSBiZWVuIHRvbyBpbnZhc2l2ZSB0byBkbyBpbiB0aGUgMC4xMAoJICBicmFuY2gsIHdpdGggYWxsIHRoZSBwdWxsLW1vZGUgYW5kIHBhcnNlciBoYW5kbGluZyBjb2RlIGluCgkgIHRoZXJlLgoKMjAxMS0xMC0zMCAxMTo0NDo1MyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYW5ub2RleC9nc3RjbW1sZGVjLmM6CgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aXN1YnRpdGxlLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdHRhZ2luamVjdC5jOgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkqIGdzdC9pY3lkZW11eC9nc3RpY3lkZW11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOgoJKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ2FuYWx5c2lzLmM6CgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICBleHQsIGdzdDogdXBkYXRlIGZvciB0YWdsaXN0IEFQSSBjaGFuZ2VzCgoyMDExLTEwLTMwIDExOjQxOjMyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICB0ZXN0czogZml4IGNvbXBpbGF0aW9uIG9mIGF1ZGlvIHRlc3RzIGluIHVuaW5zdGFsbGVkIHNldHVwCgoyMDExLTEwLTI4IDIxOjI2OjMzICswMjAwICBSZW7DqSBTdGFkbGVyIDxyZW5lLnN0YWRsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9wYW5vcmFtYS5jOgoJICBhdWRpb3Bhbm9yYW1hOiBzaW1wbGlmeSBnZXRfdW5pdF9zaXplCgoyMDExLTEwLTI4IDIxOjE5OjQyICswMjAwICBSZW7DqSBTdGFkbGVyIDxyZW5lLnN0YWRsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9lY2hvLmM6CgkgIHRlc3RzOiBhdWRpb2VjaG86IHBvcnQgdG8gMC4xMQoKMjAxMS0xMC0yOCAyMToxODozMyArMDIwMCAgUmVuw6kgU3RhZGxlciA8cmVuZS5zdGFkbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZWNoby5jOgoJICBhdWRpb2VjaG86IGZpeCBpbnRlcm5hbCBidWZmZXIgc2l6ZSBjYWxjdWxhdGlvbgoKMjAxMS0xMC0yOCAxNDowNTo0OCArMDIwMCAgUmVuw6kgU3RhZGxlciA8cmVuZS5zdGFkbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvY2hlYmJhbmQuYzoKCSAgdGVzdHM6IGF1ZGlvY2hlYmJhbmQ6IHBvcnQgdG8gMC4xMQoKMjAxMS0xMC0yOCAxNjo1MjowOCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCjIwMTEtMTAtMjggMTU6MDg6MjUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VhdWRpb3NpbmsuYzoKCSAgcHVsc2VhdWRpb3Npbms6IGZpeCBwb3J0aW5nIGVycm9ycwoJICBUaGUgcHJvYmVzIHdlcmUgcG9ydGVkIHdyb25nbHkgYW5kIGNhdXNlZCBkZWFkbG9ja3MuCgoyMDExLTEwLTI4IDA5OjU3OjM2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogYWRkIHNvZi1tYXJrZXIgdG8gdGVtcGxhdGUgY2Fwcywgc28gd2UgZG9uJ3QgZ2V0IHBsdWdnZWQgZm9yIGxvc3NsZXNzIGpwZWcKCSAganBlZ2RlYyAodXNpbmcgbGlianBlZyA2LjIvOCkgY2FuJ3QgZGVjb2RlIHNvbWUgbG9zc2xlc3MgdHlwZXMgb2YgSlBFRy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTU1NjY0OAoKMjAxMS0xMC0yOCAxMzowNjoyMCArMDIwMCAgUmVuw6kgU3RhZGxlciA8cmVuZS5zdGFkbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvY2hlYmxpbWl0LmM6CgkgIHRlc3RzOiBhdWRpb2NoZWJsaW1pdDogcG9ydCB0byAwLjExCgoyMDExLTEwLTI4IDEzOjAyOjU2ICswMjAwICBSZW7DqSBTdGFkbGVyIDxyZW5lLnN0YWRsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9meGJhc2VpaXJmaWx0ZXIuYzoKCSAgYXVkaW9meDogZml4IGNyYXNoIGluIHByb2Nlc3MoKQoKMjAxMS0xMC0yOCAxMTo0ODozMSArMDIwMCAgUmVuw6kgU3RhZGxlciA8cmVuZS5zdGFkbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvYW1wbGlmeS5jOgoJICB0ZXN0czogYXVkaW9hbXBsaWZ5OiBwb3J0IHRvIDAuMTEKCjIwMTEtMTAtMjggMTI6NTE6MzEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VhdWRpb3NpbmsuYzoKCSAgcHVsc2U6IGZpeCBjaGVjayBmb3IgZW1wdHkgY2FwcwoKMjAxMS0xMC0yOCAxMjozMDozMyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZWxhYm9yYXRlIHNvbWUgZGVidWcgc3RhdGVtZW50cwoKMjAxMS0xMC0xMSAyMDo1Njo1MSArMDQwMCAgU3RhcyBTZXJnZWV2IDxzdHNwQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx2ZGVtdXg6IGJlIGNhcmVmdWwgd2l0aCBuZWdhdGl2ZSBjdHMKCSAgRml4ZXMgIzY2MTQ3Ny4KCjIwMTEtMTAtMDYgMTM6MDQ6NTQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IHR1bmUgbm9uLXVwZGF0ZSBzZWVrIGhhbmRsaW5nIGNhc2VzCgkgIEZpeGVzICM2NjEwNDkuCgoyMDExLTEwLTI4IDExOjQ2OjQwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoJICBDb25mbGljdHM6CgkgIGdzdC92aWRlb21peGVyL2dzdGNvbGxlY3RwYWRzMi5jCgoyMDExLTEwLTI4IDExOjE2OjM4ICswMjAwICBSZW7DqSBTdGFkbGVyIDxyZW5lLnN0YWRsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9keW5hbWljLmM6CgkgIGF1ZGlvZHluYW1pYzogZG9uJ3Qgc2V0IHByb2Nlc3MgZnVuY3Rpb24gdG9vIGVhcmx5CgkgIEdzdEF1ZGlvSW5mbyBhbmQgR3N0QXVkaW9GaWx0ZXIgaGF2ZSBiZWVuIGNoYW5nZWQgc28gdGhhdCB0aGlzIGNvZGUgZG9lc24ndAoJICBjcmFzaCBhbnltb3JlIHdoZW4gYSBwcm9wZXJ0eSBpcyBzZXQgaW4gTlVMTCBzdGF0ZS4KCjIwMTEtMTAtMjggMTA6NDI6MDQgKzAyMDAgIFJlbsOpIFN0YWRsZXIgPHJlbmUuc3RhZGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2R5bmFtaWMuYzoKCSAgdGVzdHM6IGF1ZGlvZHluYW1pYzogcG9ydCB0byAwLjExCgoyMDExLTEwLTI4IDAwOjI0OjE0ICswMjAwICBSZW7DqSBTdGFkbGVyIDxyZW5lLnN0YWRsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc3BlY3RydW0uYzoKCSAgdGVzdHM6IHNwZWN0cnVtOiBwb3J0IHRvIDAuMTEKCjIwMTEtMTAtMjcgMjM6NTc6MTcgKzAyMDAgIFJlbsOpIFN0YWRsZXIgPHJlbmUuc3RhZGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3Bhbm9yYW1hLmM6CgkgIHRlc3RzOiBhdWRpb3Bhbm9yYW1hOiBwb3J0IHRvIDAuMTEKCjIwMTEtMTAtMjcgMjM6NTY6MTIgKzAyMDAgIFJlbsOpIFN0YWRsZXIgPHJlbmUuc3RhZGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9meC9hdWRpb3Bhbm9yYW1hLmM6CgkgIGF1ZGlvcGFub3JhbWE6IGZpeCBnZXRfdW5pdF9zaXplCgoyMDExLTEwLTI4IDEwOjQwOjM2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIHZpZGVvbWl4ZXIyOiBVc2UgdGhlIGNsaXAgZnVuY3Rpb24gaW5zdGVhZCBvZiB0aGUgcHJlcGFyZV9idWZmZXIgZnVuY3Rpb24KCjIwMTEtMTAtMjggMDk6MDU6MjcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHJ0cG1hbmFnZXIsIHY0bDI6IGZpeCBjb21waWxlciB3YXJuaW5ncyBhZnRlciBnc3RfY2Fwc19uZXdfc2ltcGxlKCkgY2hhbmdlCgoyMDExLTEwLTI4IDA5OjAxOjU3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBmaXggY29tcGlsZXIgd2FybmluZ3MgYWZ0ZXIgZ3N0X2NhcHNfbmV3X3NpbXBsZSgpIGNoYW5nZQoKMjAxMS0xMC0yOCAwOTozNjoxNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvbWl4ZXIvZ3N0Y29sbGVjdHBhZHMyLmM6CgkqIGdzdC92aWRlb21peGVyL2dzdGNvbGxlY3RwYWRzMi5oOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5oOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMnBhZC5oOgoJICB2aWRlb21peGVyMjogVXNlIGNvbGxlY3RwYWRzMiBmcm9tIGNvcmUKCjIwMTEtMTAtMjcgMTk6Mzk6MjAgKzAyMDAgIFJlbsOpIFN0YWRsZXIgPHJlbmUuc3RhZGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvd2F2ZW5jL01ha2VmaWxlLmFtOgoJKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5jOgoJICB3YXZlbmM6IHBvcnQgdG8gMC4xMSByYXcgYXVkaW8gY2FwcwoKMjAxMS0xMC0yNyAxOTowNjowNiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCSAgQ29uZmxpY3RzOgoJICBnc3QvZmx2L2dzdGZsdm11eC5jCgoyMDExLTEwLTI3IDE5OjAwOjUyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSogZ3N0L2ljeWRlbXV4L2dzdGljeWRlbXV4LmM6CgkqIGdzdC9ydHAvUkVBRE1FOgoJKiBnc3QvcnRwL2dzdHJ0cGFjM2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwY2VsdGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc2RlcGF5LmM6CgkgIG1ha2Ugc29tZSBtb3JlIHRoaW5ncyBjb21waWxlIGFnYWluCgoyMDExLTEwLTI3IDE2OjA4OjIyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoJICBDb25mbGljdHM6CgkgIGV4dC9wdWxzZS9wdWxzZWF1ZGlvc2luay5jCgkgIGV4dC9wdWxzZS9wdWxzZXNpbmsuYwoKMjAxMS0xMC0yNyAxNjowMzoxNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhZGVwYXkuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIGZpeCBjb21waWxhdGlvbgoKMjAxMS0xMC0yOCAwMDo0MTo0NSArMTEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBEb24ndCBwb2ludGxlc3NseSBob2xkIG9iamVjdCBsb2NrIG92ZXIgY2FwcyBvcGVyYXRpb25zCgkgIEF2b2lkcyBhIGRlYWRsb2NrIHdoZW4gZ2V0Y2FwcyBpcyByZWN1cnNpdmUgZHVlIHRvIHRoZSBnZXRjYXBzIGJlaW5nCgkgIHJlZmxlY3RlZCB1cHN0cmVhbS9kb3duc3RyZWFtLiBUaGUgbG9jayBpc24ndCBhY3R1YWxseSBwcm90ZWN0aW5nCgkgIGFueXRoaW5nIGhlcmUuCgoyMDExLTEwLTI3IDAwOjM3OjAzICsxMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvZmx2L2FtZmRlZnMuaDoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSAgZmx2bXV4OiBhZGQgc29tZSBjb21tZW50cyBhbmQgZGVmaW5lcyB0byBjbGFyaWZ5IGNvZGUuCgoyMDExLTEwLTEwIDE1OjM2OjE0ICswMjAwICBSZW7DqSBTdGFkbGVyIDxyZW5lLnN0YWRsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuYzoKCSAgbWF0cm9za2E6IHJlZmFjdG9yIGVibWwtd3JpdGUgdG8gYmUgbW9yZSAwLjExIGZyaWVuZGx5CgkgIFN3aXRjaGluZyB0byBhIG1vcmUgMC4xMS1mcmllbmRseSBwYXR0ZXJuLCB3aGVyZSBnZXR0aW5nIHRoZSBidWZmZXIncyBkYXRhCgkgIHBvaW50ZXIgYW5kIHNldHRpbmcgdGhlIHNpemUgbWFueSB0aW1lcyBpcyBsZXNzIG5hdHVyYWwuIFRoaXMgaXMgb2YgY291cnNlIGluCgkgIHByZXBhcmF0aW9uIHRvIHRoZSB1cGNvbWluZyBwb3J0IG9mIHRoZSBwbHVnaW4uCgoyMDExLTEwLTExIDIxOjQ1OjQ2ICswMjAwICBSZW7DqSBTdGFkbGVyIDxyZW5lLnN0YWRsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuYzoKCSAgbWF0cm9za2E6IHJlbW92ZSBzdGFsZSBmbG9hdGNhc3QgaW5jbHVkZQoJICBHRE9VQkxFX1RPX0JFIHdhcyBtb3ZlZCB0byBjb3JlIGEgbG9uZyB0aW1lIGFnby4KCjIwMTEtMTAtMTEgMjI6MTA6MjcgKzAyMDAgIFJlbsOpIFN0YWRsZXIgPHJlbmUuc3RhZGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBmaXggcG9zc2libGUgY3Jhc2ggd2l0aCBtYWxmb3JtZWQgZGlyYWMgY29kZWNfZGF0YQoJICBTaW5jZSBzaXplIGlzIHVuc2lnbmVkLCB3ZSBuZWVkIHRvIHNhZmVndWFyZCBhZ2FpbnN0IHdyYXBwaW5nIGJlbG93IHplcm8uCgoyMDExLTEwLTIxIDIyOjMzOjM0ICswMjAwICBSZW7DqSBTdGFkbGVyIDxyZW5lLnN0YWRsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzoKCSAgZXF1YWxpemVyOiByZW1vdmUgYXZvaWRhYmxlIGNhbGwgdG8gZ3N0X29iamVjdF9zZXRfbmFtZQoKMjAxMS0xMC0yMSAyMjozMjozOCArMDIwMCAgUmVuw6kgU3RhZGxlciA8cmVuZS5zdGFkbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogcmVtb3ZlIGF2b2lkYWJsZSBjYWxsIHRvIGdzdF9vYmplY3Rfc2V0X25hbWUKCjIwMTEtMTAtMjEgMTQ6NTE6MjMgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvcHVsc2UvcHVsc2VtaXhlcmN0cmwuaDoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvYmFsYW5jZS5jOgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkqIHN5cy9vc3MvZ3N0b3NzbWl4ZXIuaDoKCSogc3lzL29zczQvb3NzNC1taXhlci5jOgoJKiBzeXMvb3NzNC9vc3M0LXNvdXJjZS5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9lbGVtZW50LmM6CgkqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVyY3RybC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyY29sb3JiYWxhbmNlLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJyYWRpby5jOgoJKiBzeXMvdjRsMi9nc3R2NGwydHVuZXIuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvb3ZlcmxheS5jOgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9vdmVybGF5Lmg6CgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRvcmllbnQuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZG9yaWVudC5oOgoJICBpbnRlcmZhY2VzOiBjbGVhbiB1cCB0aGUgdXNlIG9mIGlmYWNlIGFuZCBjbGFzcy9rbGFzcwoKMjAxMS0xMC0yMSAxMTozNzowNSArMDEwMCAgQ2hyaXN0aWFuIEZyZWRyaWsgS2FsYWdlciBTY2hhbGxlciA8Y2hyaXN0aWFuLnNjaGFsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1wbHVnaW5zLWdvb2Quc3BlYy5pbjoKCSAgVXBkYXRlIHNwZWMgZmlsZSBzbyBpdHMgcGFyYWxlbC1pbnN0YWxsYWJsZSBhbmQgb25seSB0cmllcyB0byBwYWNrYWdlIHBvcnRlZCBwbHVnaW5zCgoyMDExLTEwLTE2IDIwOjMwOjI1ICswMjAwICBSZW7DqSBTdGFkbGVyIDxtYWlsQHJlbmVzdGFkbGVyLmRlPgoKCSogZXh0L2xpYnBuZy9nc3RwbmdlbmMuYzoKCSAgcG5nZW5jOiBpbmNyZWFzZSBhcmJpdHJhcnkgcmVzb2x1dGlvbiBsaW1pdHMKCSAgQXBwYXJlbnRseSBsaWJwbmcgY2FuIHRlY2huaWNhbGx5IGRvIHVwIHRvIDJeMzEtMSByb3dzIGFuZCBjb2x1bW5zLiBIb3dldmVyIGl0CgkgIGltcG9zZXMgYW4gKGFyYml0cmFyeSkgZGVmYXVsdCBsaW1pdCBvZiAxIG1pbGxpb24gKHRoYXQgY291bGQgdGhlb3JldGljYWxseSBiZQoJICBsaWZ0ZWQgYnkgdXNpbmcgc29tZSBhZGRpdGlvbmFsIEFQSSkuCgkgIE1vdmVkIGFycmF5IGFsbG9jYXRpb24gdG8gdGhlIGhlYXAgbm93LgoKMjAxMS0xMC0xNiAyMDoyNTo0MSArMDIwMCAgUmVuw6kgU3RhZGxlciA8bWFpbEByZW5lc3RhZGxlci5kZT4KCgkqIGV4dC9saWJwbmcvZ3N0cG5nZW5jLmM6CgkgIHBuZ2VuYzogZG9uJ3QgdW5jb25kaXRpb25hbGx5IGFsbG9jYXRlIDQwOTYgcG9pbnRlcnMgb24gdGhlIHN0YWNrCgkgIEluc3RlYWQgYWxsb2NhdGUgYXMgbWFueSBhcyBuZWVkZWQgKG9uIHRoZSBzdGFjayBzdGlsbCkuCgoyMDExLTEwLTE2IDIwOjA1OjI4ICswMjAwICBSZW7DqSBTdGFkbGVyIDxtYWlsQHJlbmVzdGFkbGVyLmRlPgoKCSogZXh0L2xpYnBuZy9nc3RwbmdlbmMuYzoKCSAgcG5nZW5jOiBlbnN1cmUgc2V0Y2FwcyB3YXMgY2FsbGVkIGJlZm9yZSBjaGFpbiBmdW5jdGlvbgoJICBUaGlzIGlzIG5lZWRlZCB0byBwcm9wZXJseSBlcnJvciBvdXQgZm9yIGUuZy4gImZha2VzcmMgISBwbmdlbmMgISBmYWtlc2luayIuCgoyMDExLTEwLTE2IDE5OjQ0OjI3ICswMjAwICBSZW7DqSBTdGFkbGVyIDxtYWlsQHJlbmVzdGFkbGVyLmRlPgoKCSogZXh0L2xpYnBuZy9nc3RwbmdlbmMuYzoKCSAgcG5nZW5jOiB2YWxpZGF0ZSBpbnB1dCBidWZmZXIgc2l6ZQoJICBKdXN0IGZvciBzYWZldHk7IG9mIGNvdXJzZSBzdWNoIG1pc21hdGNoIHJlcHJlc2VudHMgYSBidWcgaW4gYW5vdGhlciBlbGVtZW50LgoKMjAxMS0xMC0xNiAxOTo0MToyOCArMDIwMCAgUmVuw6kgU3RhZGxlciA8bWFpbEByZW5lc3RhZGxlci5kZT4KCgkqIGV4dC9saWJwbmcvTWFrZWZpbGUuYW06CgkqIGV4dC9saWJwbmcvZ3N0cG5nZW5jLmM6CgkqIGV4dC9saWJwbmcvZ3N0cG5nZW5jLmg6CgkgIHBuZ2VuYzogbWFrZSBzZXRjYXBzIG1vcmUgcm9idXN0LCB1c2UgZ3N0dmlkZW8gZnVuY3Rpb25zCgkgIEEgc2V0Y2FwcyBmdW5jdGlvbiBuZWVkcyB0byBhY3R1YWxseSB2ZXJpZnkgdGhlIGNhcHMgY2FyZWZ1bGx5LiBJbiB0aGlzIGNhc2UsCgkgIGl0IHdhcyBwb3NzaWJsZSB0byBlLmcuIGxpbmsgYSB2aWRlbyBkZWNvZGVyIHdpdGggWVVWK1JHQiB0ZW1wbGF0ZSBjYXBzIHRvCgkgIHBuZ2VuYy4gIFRoYXQgd291bGQgY2F1c2UgYSBjcmFzaCB3aGVuIHRoZSBkZWNvZGVyIHB1c2hlcyBhIFlVViBidWZmZXIuIFNhbWUKCSAgdGhpbmcgd2hlbiBwdXNoaW5nIGEgdmFsaWQgYnVmZmVyIHRoYXQgZXhjZWVkcyB0aGUgcmVzb2x1dGlvbiBsaW1pdHMuCgkgIEFsc28sIG1pc3NpbmcgZnJhbWVyYXRlIGNhcHMgZmllbGQgd291bGQgY2F1c2UgYSBnbGliIGNyaXRpY2FsIHdhcm5pbmcgZHVlIHRvCgkgIGludmFsaWQgR1ZhbHVlLiBUaGlzIGZhaWxzIGhhcmQgbm93LgoKMjAxMS0xMC0yMSAxMDowMTo0MyArMDIwMCAgUmVuw6kgU3RhZGxlciA8cmVuZS5zdGFkbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJICBlYm1sOiBzbWFsbCBjb3JyZWN0aW9uIHRvIHByZXZpb3VzIGNvbW1pdAoJICBTaWduYWwgYSBzaG9ydCByZWFkIHdpdGggVU5FWFBFQ1RFRCwgZXhhY3RseSBsaWtlIHRoZSBwZWVrX2J5dGVzIGZ1bmN0aW9uLgoKMjAxMS0xMC0xOSAxMzowOTo1MSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSAgZWJtbDogRml4IHB1c2gtYmFzZWQgYmVoYXZpb3VyCgkgIFRoZSAncGVlaycgbWV0aG9kIHdhcyBjb21wbGV0ZWx5IHdyb25nICghPykKCjIwMTEtMTAtMTggMTg6MzE6MTcgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlYXVkaW9zaW5rLmM6CgkgIHB1bHNlOiBHZXQgY2FwcyBjb3JyZWN0bHkgb24gcGFkIGJsb2NrCgkgIEluc3RlYWQgb2YgYWx3YXlzIGdvaW5nIHVwc3RyZWFtLCB3ZSBzaG91bGQgZmlyc3Qgc2VlIGlmIGFscmVhZHkgZ290CgkgIGNhcHMgZnJvbSBhIHNldGNhcHMoKSBjYWxsLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYxMjYyCgoyMDExLTEwLTE4IDEyOjI1OjE0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzoKCSAgd2F2cGFja2VuYzogZG9uJ3QgdW5yZWYgYnVmZmVyIHdpdGggZ3N0X29iamVjdF91bnJlZigpCgoyMDExLTEwLTE4IDEyOjA1OjAxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IG9ubHkgdXNlIGlzX3BjbSBmb3IgMS4wIG9mIHB1bHNlYXVkaW8KCjIwMTEtMTAtMTggMTE6NTg6NTcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogb25seSBkaXNhYmxlIHRyaWNrbW9kZXMgZm9yICFwY20KCSAgT25seSBkaXNhYmxlIHRyaWNrbW9kZXMgd2hlbiB3ZSBhcmUgbm90IGRlYWxpbmcgd2l0aCByYXcgUENNIHNhbXBsZXMuCgoyMDExLTEwLTE2IDE1OjMyOjUwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuYzoKCSAgdmlkZW9jcm9wOiBmaXggY29tcGlsYXRpb24KCjIwMTEtMTAtMTYgMTU6MjY6MzggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgkgIENvbmZsaWN0czoKCSAgZ3N0L3J0cC9nc3RydHB2cmF3ZGVwYXkuYwoKMjAxMS0xMC0xNCAxMDo1NjoxNiArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICB2aWRlb21peGVyMjogRml4IGEgbGVhawoJICBCdWZmZXJzIHdlcmVuJ3QgYmVpbmcgdW5yZWYnZWQgaW4gb25lIGNhc2UgaW5zaWRlLCBjYXVzaW5nIG1lbW9yeSB1c2FnZQoJICB0byBibG93IHVwLgoKMjAxMS0xMC0xNCAwOToxMDowMSArMDIwMCAgTWFyYyBMZWVtYW4gPG1hcmMubGVlbWFuQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwdnJhd2RlcGF5LmM6CgkgIHNldCBjb2xvdXIgbWFza3MgZm9yIHZpZGVvL3gtcmF3LXJnYiBpbiBydHB2cmF3ZGVwYXkKCjIwMTEtMTAtMTMgMDE6MDU6MTMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiByZS1lbmFibGUgdmlkZW9jcm9wIHBsdWdpbgoJICBBbHJlYWR5IHBvcnRlZCB0byAwLjExCgoyMDExLTEwLTEzIDAxOjA1OjA0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvdmlkZW9jcm9wL2dzdGFzcGVjdHJhdGlvY3JvcC5jOgoJKiBnc3QvdmlkZW9jcm9wL2dzdGFzcGVjdHJhdGlvY3JvcC5oOgoJICBhc3BlY3RyYXRpb2Nyb3A6IFBvcnQgdG8gMC4xMQoKMjAxMS0xMC0xMyAwMDozOToyOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3ZpZGVvY3JvcC9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuYzoKCSogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuaDoKCSAgdmlkZW9jcm9wOiBQb3J0IHRvIDAuMTEKCjIwMTEtMTAtMTIgMTc6NDM6NDcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FzcGVjdHJhdGlvY3JvcC5jOgoJICB0ZXN0czogYXNwZWN0cmF0aW9jcm9wOiBQb3J0IHRvIDAuMTEKCjIwMTEtMTAtMTIgMDg6MjQ6MjggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FscGhhY29sb3IuYzoKCSAgdGVzdHM6IGFscGhhY29sb3I6IFBvcnQgdG8gMC4xMQoKMjAxMS0xMC0xMyAxNzoxMjoyMyArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkgIGZsYWNlbmM6IFByb3Blcmx5IHJlZ2lzdGVyIHR5cGUKCSAgSXQncyBhIHN1YmNsYXNzIG9mIEdzdEF1ZGlvRW5jb2RlciBhbmQgbm90IG9mIEdzdEVsZW1lbnQKCjIwMTEtMTAtMTMgMTY6NTk6NTAgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgdmlkZW9taXhlcjI6IEZpeCBpbmNvcnJlY3QgZ3N0X2J1ZmZlcl9yZXBsYWNlKCkgY2FsbAoJICBUaGlzIGdvdCBleHBvc2VkIHdoZW4gZ3N0X2J1ZmZlcl9yZXBsYWNlKCkgd2FzIGNoYW5nZWQgZnJvbSBhIG1hY3JvIHRvIGEKCSAgZnVuY3Rpb24uCgoyMDExLTEwLTEzIDA5OjM0OjA0ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJICBydHBzc3JjZGVtdXg6IEZpeCB3cm9uZyB1c2FnZSBvZiBnc3RfaXRlcmF0b3JfZmlsdGVyCgkgIEl0IHRha2VzIGEgR1ZhbHVlKiBhcyB0aGUgdXNlcl9kYXRhLgoJICBBbmQgZG9uJ3QgZm9yZ2V0IHRvIHVucmVmIHRoZSBkZW11eGVyIGJlZm9yZSByZXR1cm5pbmcuCgoyMDExLTEwLTEzIDA5OjAyOjQ3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBmaXggY29tcGlsZQoKMjAxMS0xMC0xMyAwODo1ODowNiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCSAgQ29uZmxpY3RzOgoJICBleHQvanBlZy9nc3RqcGVnZGVjLmMKCSAgZ3N0L3J0cC9nc3RydHB2cmF3cGF5LmMKCjIwMTEtMTAtMTIgMDg6MDk6MjAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NtbWxlbmMuYzoKCSAgdGVzdHM6IGNtbWxlbmM6IFBvcnQgdG8gMC4xMQoKMjAxMS0xMC0xMiAwODowMjowOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY21tbGRlYy5jOgoJICB0ZXN0czogY21tbGRlYzogUG9ydCB0byAwLjExCgoyMDExLTEwLTEyIDA3OjI5OjMwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvcHVsc2UvcHVsc2VhdWRpb3NpbmsuYzoKCSAgcHVsc2VhdWRpb3Npbms6IFVzZSBuZXcgR3N0SXRlcmF0b3IgQVBJIGNvcnJlY3RseQoJICBHc3RJdGVyYXRvciBub3cgdXNlcyBHVmFsdWUsIHVzZSBpdCBjb3JyZWN0bHkuCgoyMDExLTEwLTEyIDExOjI2OjUwICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwdnJhd3BheS5jOgoJICBydHB2cmF3cGF5OiBPbmx5IHVzZSAyNCBMU0IgZm9yIGRlcHRoPTI0IFJHQiBjYXBzCgkgIC4uLiBhbmQgaW5kZW50IHRoZSBtYXNrcyBmb3IgY2xhcml0eQoKMjAxMS0xMC0xMSAxNDo1ODo0MyArMDIwMCAgUmVuw6kgU3RhZGxlciA8cmVuZS5zdGFkbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IGZpeCBzZWdtZW50IGhhbmRsaW5nLCBzbyB3ZSBhY3R1YWxseSB1c2UgcnVubmluZyB0aW1lCgkgIGdzdF9tYXRyb3NrYV9tdXhfYmVzdF9wYWQgYWRqdXN0cyB0aGUgYnVmZmVyIHRpbWVzdGFtcCB0byBydW5uaW5nIHRpbWUgdXNpbmcKCSAgdGhlIHNlZ21lbnQgc3RvcmVkIGluIHRoZSBwYWQncyBjb2xsZWN0IGRhdGEuIEhvd2V2ZXIsIHRoZSBldmVudCBoYW5kbGVyIGRpZG4ndAoJICBwYXNzIHRoZSBuZXdzZWdtZW50IGV2ZW50IG9uIHRvIGNvbGxlY3RwYWRzJyBoYW5kbGVyLCBzbyB0aGlzIHNlZ21lbnQgd2FzIG5ldmVyCgkgIHVwZGF0ZWQgYXQgYWxsLgoJICBSZS1maXhlcyBidWcgIzQzMjYxMi4KCjIwMTEtMTAtMTAgMTk6MDE6MjMgKzAxMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZC5zaW1vbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBnNzIycGF5LmM6CgkgIGdzdHJ0cGc3MjJwYXk6IENvbXBlbnNhdGUgZm9yIGNsb2NrcmF0ZSB2cy4gc2FtcGxlcmF0ZSBkaWZmZXJlbmNlCgkgIFRoZSBSVFAgY2xvY2stcmF0ZSB1c2VkIGZvciBHNzIyIGlzIDgwMDAsIGV2ZW4gdGhvdWdoIHRoZSBzYW1wbGVyYXRlIGlzCgkgIDE2MDAwLiBDb21wZW5zYXRlIGZvciB0aGlzIGJ5IHByZXRlbmRpbmcgRzcyMiBoYXMgOCBiaXRzIHBlciBzYW1wbGUKCSAgaW5zdGVhZCBvZiB0aGUgNCBiaXRzIGFzIGlmIGl0IHdlcmUgYSBjb2RlYyB0aGF0IHJhbiBhdCBoYWxmIHRoZSBzcGVlZCwKCSAgYnV0IHdpdGggdHdpY2UgdGhlIG51bWJlciBvZiBiaXRzLiBGaXhlcyAjNjYxMzc2CgoyMDExLTA5LTI3IDE5OjI1OjUzICswMTAwICBTam9lcmQgU2ltb25zIDxzam9lcmQuc2ltb25zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogSW1wbGVtZW50IHVwc3RyZWFtIG5lZ290aWF0aW9uCgkgIEFkZCB1cHN0cmVhbSBuZWdvdGlhdGlvbiBmb3IganBlZ2RlYy4gRml4ZXMgIzY2MDI3NQoKMjAxMS0xMC0xMCAxOTowMjo1OCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2EtZGVtdXg6IGRvbid0IGxlYWsgYXVkaW8gY29kZWNfZGF0YSBidWZmZXIKCjIwMTEtMTAtMTAgMTc6NDE6MTAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSAgYWxwaGE6IERvbid0IHVzZSBzdGFydCgpIHZtZXRob2QKCSAgVGhlIG9ubHkgdGhpbmcgd2UncmUgZG9pbmcgaXMgaW5pdGlhbGl6aW5nIHBhcmFtZXRlcnMgLi4uCgkgICogd2hpY2ggd29uJ3Qgd29yayBiZWNhdXNlIHdlIGRvbid0IGhhdmUgdXBzdHJlYW0vZG93bnN0cmVhbSBjYXBzCgkgICogd2hpY2ggd2lsbCBiZSBpbml0aWFsaXplZCB3aGVuIDo6c2V0X2NhcHMoKSBpcyBjYWxsZWQKCjIwMTEtMTAtMTAgMTQ6MDg6MjkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgoyMDExLTEwLTEwIDEzOjIyOjEyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvaWQzZGVtdXgvZ3N0aWQzZGVtdXguYzoKCSAgaWQzZGVtdXg6IHBvcnQgdG8gMC4xMQoKMjAxMS0xMC0xMCAxMzoyMDowNCArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhaXJvL01ha2VmaWxlLmFtOgoJICB0ZXN0czogYWRkIG1pc3NpbmcgUExVR0lOX0FTRV9MSUJTIHRvIExEQURECgoyMDExLTEwLTEwIDEyOjU0OjIyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvaWN5ZGVtdXgvZ3N0aWN5ZGVtdXguYzoKCSAgaWN5ZGVtdXg6IHBvcnQgdG8gMC4xMQoKMjAxMS0xMC0xMCAxMjoyNzowNiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2Fubm9kZXgvZ3N0Y21tbGRlYy5jOgoJKiBleHQvYW5ub2RleC9nc3RjbW1sZW5jLmM6CgkgIGFubm9kZXg6IHBvcnQgdG8gMC4xMQoKMjAxMS0xMC0xMCAxMTo0ODoyMCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCSAgQ29uZmxpY3RzOgoJICBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYwoKMjAxMS0xMC0xMCAwMDoxODo1NiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3B1bHNlL3B1bHNldXRpbC5jOgoJKiBleHQvcHVsc2UvcHVsc2V1dGlsLmg6CgkgIHB1bHNlOiBwb3J0IHB1bHNldXRpbCB0byAwLjExCgoyMDExLTEwLTA5IDIxOjE3OjI0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvcHVsc2UvcHVsc2VhdWRpb3NpbmsuYzoKCSAgcHVsc2VhdWRpb3Npbms6IHBvcnQgdG8gMC4xMQoKMjAxMS0xMC0wOSAxODo1ODoyOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IEZpeGluZyBnZXRjYXBzIGZ1bmN0aW9uCgkgIFVwZGF0ZSBnZXRjYXBzIGZ1bmN0aW9uIHRvIDAuMTEgQVBJCgoyMDExLTEwLTA5IDIxOjMxOjI3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuaDoKCSAgc3BlZXhlbmM6IG9ubHkgcHVzaCBoZWFkZXIgYnVmZmVycyBmb2xsb3dpbmcgaW5pdGlhbCBldmVudHMKCjIwMTEtMTAtMDkgMTY6Mjk6MDUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgcmVtb3RlLXRyYWNraW5nIGJyYW5jaCAnb3JpZ2luL21hc3RlcicgaW50byAwLjExCgoyMDExLTEwLTA5IDE2OjI0OjM2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvcXRkZW11eF9kdW1wLmM6CgkgIHF0ZGVtdXg6IHVwZGF0ZSBmb3IgX19nc3RfZGVidWdfbWluIG5hbWUgY2hhbmdlCgoyMDExLTEwLTA5IDExOjE4OjE4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvaXNvbXA0L2F0b21zcmVjb3ZlcnkuYzoKCSAgcXRtdXg6IEZpeCBtZW1vcnkgbGVhayBvbiBhdG9tcyByZWNvdmVyeSBmdW5jdGlvbgoJICBSZW1lbWJlciB0byBmcmVlIHRoZSBmdHlwIGRhdGEgYWZ0ZXIgd3JpdGluZyBpdCB0byBhIGZpbGUuCgkgIEZpeGVzICM2NjA5NjkKCjIwMTEtMTAtMDYgMTI6MjY6MzMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiByZXBvcnQgbmV3IGJpdHMKCjIwMTEtMTAtMDYgMTI6MjM6MzkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgkgIENvbmZsaWN0czoKCSAgZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmMKCSAgZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmMKCSAgZ3N0L2lzb21wNC9hdG9tcy5jCgkgIGdzdC9pc29tcDQvZ3N0cXRtdXguYwoKMjAxMS0wOS0yMSAxODo0NTo0MiArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4Lmg6CgkgIG1hdHJvc2thZGVtdXg6IGltcHJvdmUgc2VnbWVudCBoYW5kbGluZyB3aXRoIG5vbi16ZXJvIHN0YXJ0aW5nIHRpbWVzdGFtcAoJICAuLi4gYXMgd2VsbCBhcyByZWxhdGVkIGl0ZW1zLCBzdWNoIGFzIHNlZWtpbmcgYW5kIHBvc2l0aW9uIHJlcG9ydGluZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1OTgwOAoKMjAxMS0wOS0yOSAxODo0MTo1MyArMDQwMCAgU3RhcyBTZXJnZWV2IDxzdHNwQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzoKCSAgdjRsMiwgeGltYWdlc3JjOiBmaXggc29tZSBwcmludGYgZm9ybWF0IGNvbXBpbGVyIHdhcm5pbmdzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjAxNTAKCjIwMTEtMDktMzAgMTI6NDI6MjIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcXRtdXguYzoKCSAgdGVzdHM6IHF0bXV4OiBSZWZhY3RvciBiaXRyYXRlIGNoZWNrIHRlc3QKCSAgUmVmYWN0b3IgYml0cmF0ZSBjaGVjayB0ZXN0IHRvIGFjY29tb2RhdGUgbXVsdGlwbGUgdGVzdHMKCSAgZm9yIGJpdHJhdGUKCjIwMTEtMDktMzAgMTM6MDI6MzEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9hdG9tcy5jOgoJICBxdG11eDogdXBkYXRlIGVzZHMgYXRvbSB1bmRlciB3YXZlIGF0b20gZm9yIGFhYyBiaXRyYXRlcwoJICBBQUMgaW4gbW92IGZvcm1hdCBwdXRzIGFuIEVTRFMgYXRvbSBpbnNpZGUgb2YgYSBXQVZFIGF0b20gaW4KCSAgU1RTRCBhdG9tLCB3ZSBuZWVkIHRvIHVwZGF0ZSB0aGUgYml0cmF0ZSBvbiB0aGlzIEVTRFMuIFRoaXMgcGF0Y2gKCSAgZml4ZXMgaXQuCgoyMDExLTA5LTMwIDEyOjQxOjUyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvYXRvbXMuYzoKCSogZ3N0L2lzb21wNC9mb3VyY2MuaDoKCSAgcXRtdXg6IEFsc28gdXBkYXRlIGJ0cnQgYXRvbQoJICBXaGVuIHJld3JpdGluZyBiaXRyYXRlcywgYWxzbyB1cGRhdGUgdGhlIGJ0cnQgYXRvbSB1bmRlciBzdHNkCgoyMDExLTA5LTMwIDEwOjU1OjUzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3F0bXV4LmM6CgkgIHRlc3RzOiBxdG11eDogYWRkIHRlc3RzIGZvciBiaXRyYXRlIGF2ZXJhZ2UgY2FsY3VsYXRpb24KCSAgQWRkcyB0ZXN0cyB0byBtYWtlIHN1cmUgcXRtdXgvbXA0bXV4IHNldHMgYXZlcmFnZSBiaXRyYXRlCgkgIGNvcnJlY3RseQoKMjAxMS0wOS0yOCAxMTo0MTo0OSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L2F0b21zLmM6CgkqIGdzdC9pc29tcDQvYXRvbXMuaDoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4Lmg6CgkgIHF0bXV4OiBDYWxjdWxhdGUgYXZlcmFnZSBiaXRyYXRlIGZvciBzdHJlYW1zCgkgIENhbGN1bGF0ZSBhbmQgdXNlIGF2ZXJhZ2UgYml0cmF0ZSBmb3Igc3RyZWFtcyB3aGVuIG5vCgkgIGJpdHJhdGUgdGFnIHdhcyByZWNlaXZlZAoKMjAxMS0wOS0yOCAxMDo0MToxNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBBdm9pZCBhIGJ1ZmZlciBtZXRhZGF0YSBjb3B5IGlmIHBvc3NpYmxlCgkgIElmIGZpcnN0X3RzIGlzIDAgdGhlcmUgaXMgbm8gbmVlZCB0byBzdWJ0cmFjdCwgc28gd2UgbWlnaHQKCSAgc2tpcCBzb21lIGNvcHlpbmcgdG8gbWFrZSB0aGUgYnVmZmVyIG1ldGFkYXRhIHdyaXRhYmxlLgoKMjAxMS0wOS0yOSAyMzoyMTo0NiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzoKCSAgc3BlZXhlbmM6IGluaXRpYWxpc2UgdmFyaWFibGUgYmVmb3JlIGFkZGluZyB0byBpdAoKMjAxMS0wOS0yOSAxNzoyMToyMiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmg6CgkgIHNwZWV4ZGVjOiBwb3J0IHRvIGF1ZGlvZGVjb2RlcgoKMjAxMS0wOS0yOSAxNjozMzowMSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuaDoKCSAgc3BlZXhlbmM6IGNsZWFuIHVwIHNvbWUgdW51c2VkIHJlbW5hbnRzCgoyMDExLTA5LTI5IDE3OjMyOjIzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zcGVleC9NYWtlZmlsZS5hbToKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6CgkqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5oOgoJICBzcGVleGVuYzogcG9ydCB0byBhdWRpb2VuY29kZXIKCjIwMTEtMDktMjggMTk6MTA6MjcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJICBmbGFjZGVjOiBnZXQgcmlkIG9mIGdyYW51bGVwb3MgaGFuZGxpbmcKCSAgTGVhdmUgdGhhdCB0byB0aGUgcGFyc2VyIG9yIGRlbXV4ZXIuIFRoZXJlJ3Mgc3RpbGwgc29tZQoJICBjb2RlIGZvciBvcGVyYXRpbmcgaW4gREVGQVVMVCAoc2FtcGxlcykgZm9ybWF0LCBidXQgdGhhdAoJICB3aWxsIGJlIHJlbW92ZWQgbGF0ZXIuCgoyMDExLTA5LTI4IDE4OjMyOjAwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5oOgoJICBmbGFjZGVjOiBnZXQgcmlkIG9mIHB1bGwtbW9kZSBzdXBwb3J0IGFuZCBmb2N1cyBvbiBiZWluZyBhIGRlY29kZXIKCSAgTGVhdmUgYWxsIHRoZSBvdGhlciBzdHVmZiB0byBmbGFjcGFyc2UuCgoyMDExLTA5LTI4IDE3OjI5OjA4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWN0YWcuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkgIGZsYWMsIGpwZWc6IGZpeCBjb21waWxlciB3YXJuaW5nCgoyMDExLTA5LTI4IDE3OjQwOjAxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkqIGV4dC9mbGFjL2dzdGZsYWN0YWcuYzoKCSAgZmxhYzogcG9ydCB0byAwLjExCgoyMDExLTA5LTI4IDE3OjM5OjEyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoJICBDb25mbGljdHM6CgkgIGV4dC9mbGFjL2dzdGZsYWNlbmMuYwoKMjAxMS0wOS0yOCAxNjoxODo1NCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCjIwMTEtMDktMjggMTY6MDk6NTggKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvTWFrZWZpbGUuYW06CgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5oOgoJICBmbGFjZW5jOiBwb3J0IHRvIGF1ZGlvZW5jb2RlcgoKMjAxMS0wOS0yNyAxNTo1OToyNCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5oOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSAgbWF0cm9za2FkZW11eDogZW5zdXJlIG1pbmltYWwgYWxpZ25tZW50IGZvciBhdWRpby94LXJhdy0qIGJ1ZmZlcnMKCSAgU2luY2UgbWF0cm9za2FkZW11eCB3aWxsIGF0dGVtcHQgdG8gcHVzaCB1bmFsaWduZWQgYnVmZmVycywKCSAgZG93bnN0cmVhbSBtaWdodCBoYXZlIHRyb3VibGUgd2l0aCB0aG9zZSwgZXNwZWNpYWxseSBpZiBkb3duc3RyZWFtCgkgIHVzZXMgT1JDLCBzdWNoIGFzIGF1ZGlvY29udmVydC4KCSAgRW5zdXJlIHdlIHB1c2ggYnVmZmVycyBhbGlnbmVkIHRvIHRoZSBiYXNpYyB0eXBlIGF0IGxlYXN0IGZvcgoJICB0aG9zZSByYXcgYnVmZmVycy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1OTc5OAoKMjAxMS0wOS0yOCAxMjo0NDo1OSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCSAgQ29uZmxpY3RzOgoJICBjb21tb24KCSAgZXh0L3B1bHNlL3B1bHNlc2luay5jCgkgIGV4dC9zb3VwL2dzdHNvdXBodHRwY2xpZW50c2luay5jCgkgIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYwoJICBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmMKCSAgZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYwoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYwoJICBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYwoJICBnc3QvcnRzcC9nc3RydHNwc3JjLmMKCSAgc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYwoKMjAxMS0wOS0yOCAwMDoxMDowOSArMDMwMCAgUmFpbW8gSsOkcnZpIDxyYWltby5qYXJ2aUBnbWFpbC5jb20+CgoJKiBnc3QvZ29vbTJrMS9nb29tX2NvcmUuYzoKCSAgZ29vbTJrMTogRml4IGNvbXBpbGVyIHdhcm5pbmdzIG9uIDY0IGJpdCBtaW5ndy13NjQKCSAgRml4ZXMgYnVnICM2NjAyOTQuCgoyMDExLTA5LTI1IDE1OjEzOjM5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zb3VwL01ha2VmaWxlLmFtOgoJKiBleHQvc291cC9nc3Rzb3VwLmM6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwY2xpZW50c2luay5jOgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cGNsaWVudHNpbmsuaDoKCSAgc291cDogcmVuYW1lIHNvdXBodHRwc2luayB0byBzb3VwaHR0cGNsaWVudHNpbmsKCSAgVG8gYXZvaWQgY29uZnVzaW9uLCBhbmQgYmVjYXVzZSB3ZSBtaWdodCB3YW50IGEgc2VydmVyCgkgIHNpbmsgYXQgc29tZSBwb2ludCB0b28uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTk5NDcKCjIwMTEtMDktMjMgMTY6Mzk6NDYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzaW5rLmM6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc2luay5oOgoJICBzb3VwaHR0cHNpbms6IGRvbid0IGNyZWF0ZSB1bnVzZWQgc2Vjb25kIHNpbmsgcGFkIG9iamVjdAoJICBUaGUgYmFzZSBjbGFzcyB3aWxsIGNyZWF0ZSB0aGUgc2luayBwYWQuCgoyMDExLTA5LTIzIDE1OjM2OjM2ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSAgYWMzcGFyc2U6IGNvcnJlY3RseSBjaGVjayBmb3IgYWMzL2UtYWMzIHN3aXRjaAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU5OTQzCgoyMDExLTA5LTIxIDE0OjAxOjIwICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogY29tbW9uOgoJICBVcGRhdGUgY29tbW9uIHRvIDAuMTEgYnJhbmNoCgoyMDExLTA5LTIwIDEzOjM4OjUzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkgIHJ0cGgyNjRkZXBheTogaW1wcm92ZSBkb3duc3RyZWFtIGZsb3cgcmV0dXJuIGZlZWRiYWNrIHRvIHVwc3RyZWFtCgkgIC4uLiBhbHRob3VnaCBiYXNlcnRwZGVwYXkgZG9lcyBub3QgcmVhbGx5IG1ha2UgaXQgZWFzeS9wb3NzaWJsZSB0byBkbyBzbwoJICBhbGwgdGhlIHdheS4KCjIwMTEtMDktMjAgMTI6MTE6NDcgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzoKCSogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuaDoKCSAgeGltYWdlc3JjOiBhZGQgeGlkIGFuZCB4bmFtZSBwcm9wZXJ0aWVzIHRvIGFsbG93IGNhcHR1cmluZyBhIHBhcnRpY3VsYXIgd2luZG93CgkgIEEgcGFydGljdWxhciB3aW5kb3cgbWF5IGJlIHNlbGVjdGVkIHVzaW5nIHRoZSBuZXcgeGlkIChYLVdpbmRvdwoJICBYSUQsIGVnIGEgcG9pbnRlcikgYW5kIHhuYW1lICh3aW5kb3cgdGl0bGUpIHByb3BlcnRpZXMuIElmIGJvdGgKCSAgYXJlIHNwZWNpZmllZCwgdGhlIFhJRCBpcyB1c2VkIGluIHByZWZlcmVuY2UsIGZhbGxpbmcgYmFjayB0bwoJICB4bmFtZSBpZiBub3QgZm91bmQuCgkgIERlZmF1bHQgKGlmIG5vbmUgb2YgeGlkIGFuZCB4bmFtZSBhcmUgc3BlY2lmaWVkLCBvciBpZiBubyBzdWNoCgkgIHdpbmRvdyBpcyBmb3VuZCkgaXMgdG8gY2FwdHVyZSB0aGUgcm9vdCB3aW5kb3cuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD01NDY5MzIKCjIwMTEtMDgtMDIgMTc6Mzk6NDQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcXRtdXguYzoKCSAgdGVzdHM6IGFkZCB1bml0IHRlc3QgdG8gbWFrZSBzdXJlIGVuY29kZWJpbiBwaWNrcyBtcDRtdXggZm9yIHZhcmlhbnQ9aXNvCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTE0OTYKCjIwMTEtMDktMTkgMTI6MTU6MTEgKzAyMDAgIEhhIE5ndXllbiA8aGFuZ3V5dHZAZ21haWwuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogRml4IGEgbGVha2VkIGNsb2NrIGZvciBlYWNoIGJ1ZmZlcmluZyBtZXNzYWdlCgkgIEZpeGVzIGJ1ZyAjNjU5MjM3LgoKMjAxMS0wOS0xOSAxMjoxMTozMiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4X2ZvdXJjYy5oOgoJICBxdGRlbXV4OiBwYXJzZSBlbWJlZGRlZCBJRDMyIHRhZ3MKCjIwMTEtMDktMDIgMTM6NDE6NDEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSAgcnRwc2Vzc2lvbjogYXZvaWQgc291cmNlIHByZW1hdHVyZSB0aW1pbmcgb3V0CgkgIFVzZSBzbGlnaHRseSBhZGp1c3RlZCBzZW5kZXIgaW50ZXJ2YWwgdG8gZGV0ZXJtaW5lIHNlbmRlciB0aW1lb3V0IHJhdGhlciB0aGFuCgkgIG91ciBvd24gc2VuZGVyIHNpZGUgaW50ZXJ2YWwgKHdoaWNoIG1heSBoYXZlIGJlZW4gZm9yY2VkIHNtYWxsKS4KCjIwMTEtMDgtMjUgMTI6NDA6NTIgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgcnRwc2Vzc2lvbjogYXZvaWQgdGltaW5nIG91dCBzb3VyY2UgdG9vIHF1aWNrbHkKCSAgLi4uIGZvbGxvd2luZyBhIFBBVVNFL1BMQVkgY3ljbGUsIHBhcnRpY3VsYXJseSBhcHBsaWNhYmxlIHdoZW4gb3BlcmF0aW5nCgkgIHdpdGggYSBzaG9ydCBSVENQIGludGVydmFsIChwb3NzaWJseSBmb3JjZWQgc28gc2VydmVyLXNpZGUpLgoKMjAxMS0wOC0yNCAxNDozNzo1MiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlci9ydHBiaW46IHJlbGF4IGRyb3BwaW5nIHJ0Y3AgcGFja2V0cwoJICAuLi4gdG8gYXQgbGVhc3QgaGF2aW5nIGl0IHRyaWdnZXIgYS92IHN5bmNocm9uaXphdGlvbiwgcG9zc2libHkgd2l0aG91dAoJICB1c2luZyBwcm92aWRlZCB2YWx1ZXMgd2hpY2ggYXJlIHN0aWxsIG5vdCBjb25zaWRlcmVkIHNhbmUKCSAgKGFzIHByZXZpb3VzbHkgZHJvcHBlZCkuCgoyMDExLTA4LTI0IDE0OjM0OjIzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IHNvbWUgbW9yZSByZXNldCB3aGVuIGNsZWFyaW5nIHB0IG1hcAoJICAuLi4gd2hpY2ggaW4gcGFydGljdWxhciBjYXRlcnMgZm9yIHNvbWUgbW9yZSByZXNldCBmb2xsb3dpbmcgYSBwb3NzaWJsZQoJICBydHNwIFBMQVkuCgoyMDExLTA4LTIxIDIxOjU4OjM4ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogZG8gbm90IHNldCBlbGVtZW50cyB0byBQTEFZSU5HIHdoZW4gZG9pbmcgc2VlayBpbiBQQVVTRUQKCjIwMTEtMDktMDEgMTQ6NDc6NDggKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogb25seSByZXNldCBza2V3IG9uIGdhcCBpZiBpbnB1dCB0cyBhdmFpbGFibGUKCjIwMTEtMDgtMTggMTQ6MTI6MjEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogY2hlY2sgc29tZSBtb3JlIGZvciBwb3NzaWJsZSBydHAgdGltZXN0YW1wIGRpc2NvbnRpbnVpdHkKCSAgLi4uIHdoZW4gb3BlcmF0aW5nIGluIG5vbiBzbGF2ZSBtb2RlLCBhbmQgcmVzZXQgaWYgZGV0ZWN0ZWQuCgkgIFRoaXMgc2hvdWxkIGF2b2lkIHNvbWUgKGxhcmdlKSBib2d1cyBvdXRnb2luZyB0aW1lc3RhbXAgZHVlIHRvIGp1bXBzCgkgIGluIHJ0cCB0aW1lLCBhcyByZXN1bHQgb2YgUEFVU0UvUExBWSBvciBzZWVrIG9yIC4uLgoKMjAxMS0wOC0wOCAxMjo0ODo1MCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IHN3aXRjaCB0byBydHAgdGltZSBiYXNlZCBzeW5jaW5nIHdoZW4gZ3Vlc3NlZCBhcHByb3ByaWF0ZQoKMjAxMS0wOC0wOCAxMjoxNToyMCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkgIHJ0cGJpbjogYWx0ZXJuYXRpdmUgaW50ZXItc3RyZWFtIHN5bmNpbmcgbWV0aG9kcwoJICAuLi4gYXQgbGVhc3QgaWYgbm90IHN5bmNpbmcgdG8gTlBUIHRpbWU6CgkgICogZWl0aGVyIHN5bmMgdXNpbmcgUlRDUCBTUiBkYXRhIChhcyBjdXJyZW50bHkpCgkgICogb25seSBwZXJmb3JtIHRoZSBhYm92ZSBvbmNlIHVzaW5nIGluaXRpYWwgUlRDUCBTUiBwYWNrZXRzCgkgICogZGlzY2FyZCBSVENQIGFuZCBzeW5jIGJ5IGVxdWF0aW5nIHByb3ZpZGVkIHN0cmVhbSdzIGNsb2NrLWJhc2UgcnRwdGltZSwKCSAgYXMgcHJvdmlkZWQgYnkgaml0dGVyYnVmZmVyICh0eXBpY2FsbHkgb2J0YWluZWQgZnJvbSBSVFAtSW5mbyBpbiBSVFNQKS4KCjIwMTEtMDgtMDggMTI6MTE6MjQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogYWxzbyBwcm92aWRlIGNsb2NrLWJhc2UgdG8gc3luYyBzaWduYWwKCjIwMTEtMDgtMDggMTI6MDk6NDEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJICBydHBiaW46IGFsbG93IGNvbmZpZ3VyYWJsZSBydGNwIHN0cmVhbSBzeW5jaW5nIGludGVydmFsCgkgIC4uLiByYXRoZXIgdGhhbiBuZWNlc3NhcmlseSBzeW5jaW5nIGF0IGVhY2ggUlRDUCBTUi4KCjIwMTEtMDgtMDEgMDg6MzU6MDEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiB0cmlnZ2VyIHJlY29uc2lkZXJhdGlvbiBpZiBydGNwIGludGVydmFsIHNldAoKMjAxMS0wOC0wMSAwODozMjoyNCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGNvbmZpZ3VyZSBydGNwIGludGVydmFsIGlmIHByb3ZpZGVkCgkgIC4uLiBpbiBQTEFZIHJlc3BvbnNlLgoKMjAxMS0wOS0xNiAxNjo1MzoyMiArMDMwMCAgTGFzc2UgTGF1a2thbmVuIDxsYXNzZS5sYXVra2FuZW5AZGlnaWEuY29tPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBpc29tcDQ6IEZpeCBhbGxvd2luZyB6ZXJvIGR1cmF0aW9uIHRyYWNrcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjM3NDg2CgoyMDExLTA5LTA1IDEwOjExOjE4ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC91ZHAvZ3N0dWRwbmV0dXRpbHMuYzoKCSAgdWRwc3JjOiBlcnJvciBvdXQgd2hlbiBubyBwcm90b2NvbCBpcyBzcGVjaWZpZWQgaW4gdGhlIHVyaQoJICBJdCBpcyBjZXJ0YWlubHkgYmV0dGVyIHRoYW4gdG8gY3Jhc2guCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTgxNzgKCjIwMTEtMDktMTkgMDk6Mzc6NTggKzAyMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6CgkgIHNwZWV4ZW5jOiBkbyBub3QgdXNlIGludmFsaWQgYnVmZmVyIHRpbWVzdGFtcHMKCjIwMTEtMDMtMjkgMTI6MDk6MTggKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL01ha2VmaWxlLmFtOgoJKiBleHQvcHVsc2UvcGx1Z2luLmM6CgkqIGV4dC9wdWxzZS9wdWxzZWF1ZGlvc2luay5jOgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuaDoKCSogZXh0L3B1bHNlL3B1bHNldXRpbC5oOgoJICBwdWxzZTogTmV3IHB1bHNlYXVkaW9zaW5rIGVsZW1lbnQgdG8gaGFuZGxlIGZvcm1hdCBjaGFuZ2VzCgkgIFRoaXMgaW50cm9kdWNlcyBhIG5ldyBiaW4gd2hpY2ggd3JhcHMgYXJvdW5kIHB1bHNlc2luayBhbmQgZGVwZW5kaW5nIG9uCgkgIHRoZSBmb3JtYXRzIHN1cHBvcnRlZCBieSB0aGUgc2luaywgcGx1Z3MgaW4vb3V0IGEgZGVjb2RlYmluMiBhcwoJICByZXF1aXJlZC4gVGhpcyBhbGxvd3MgdXNlcnMgdG8gc3dpdGNoIHNpbmtzIG9uIHRoZSBzdHJlYW0gYW5kIGFkYXB0cwoJICBhY2NvcmRpbmdseSAoZm9yIGV4YW1wbGUsIHlvdSBjb3VsZCB3YXRjaCBhIG1vdmllIGluIHBhc3N0aHJvdWdoIG1vZGUgb24KCSAgeW91ciByZWNlaXZlciB3aGljaCBzdXBwb3J0cyBBQzMgZGVjb2RlLCB0aGVuIHBsdWcgb3V0IGFuZCBzd2l0Y2ggdG8gYQoJICBub24tZGlnaXRhbCBwcm9maWxlIHRvIGNvbnRpbnVlIHVuaW50ZXJydXB0ZWQgb24gYW5hbG9nIG91dHB1dCkuCgkgIFRoZSBiaW4gaXMgcmVxdWlyZWQgYmVjYXVzZSBkb2luZyB0aGUgc2FtZSB3aXRoIHBsYXliaW4yL3BsYXlzaW5rIHdpbGwKCSAgcmVxdWlyZSBBUEkgY2hhbmdlcyB0aGF0IGNhbm5vdCBiZSBtYWRlIGluIDAuMTAuIFdpdGggMC4xMS8xLjAsIHdlCgkgIHNob3VsZCBiZSBhYmxlIHRvIGFzayBmb3IgdXBzdHJlYW0gY2FwcyByZW5lZ290aWF0aW9uIHRvIGRlYWwgd2l0aCBhbGwKCSAgdGhpcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1NzE3OQoKMjAxMS0wOS0xNiAxNTowMzoyMyArMDIwMCAgQnJhbmtvIFN1YmFzaWMgPGJyYW5rb0BheGlzLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9lYm1sLXJlYWQuYzoKCSogZ3N0L21hdHJvc2thL2VibWwtcmVhZC5oOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSAgbWF0cm9za2FkZW11eDogQXZvaWQgc2VuZGluZyBFT1Mgd2hlbiBpbiBwYXVzZWQgc3RhdGUKCSAgQ2hhbmdlZCB0aGUgZWJtbCByZWFkZXIncyBnc3RfZWJtbF9wZWVrX2lkX2xlbmd0aCgpIGZ1bmN0aW9uIHNvCgkgIHRoYXQgaXQgcmV0dXJucyB0aGUgYWN0dWFsIHJlYXNvbiBmb3Igd2h5IHRoZSBwZWVrIGZhaWxlZCwgaW5zdGVhZAoJICBvZiAoYWxtb3N0KSBhbHdheXMgcmV0dXJuaW5nIEdTVF9GTE9XX1VORVhQRUNURUQuIFRoaXMgcHJldmVudHMKCSAgdGhlIHB1bGxpbmcgdGFzayBmcm9tIHNlbmRpbmcgRU9TIHdoZW4gZG9pbmcgYSBmbHVzaGluZyBzZWVrLgoKMjAxMS0wOS0xNSAxNTo1Mzo0NyArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogZml4IHN0dXR0ZXJpbmcgQS9WCgkgIFNvbWVvbmUgZ290IGhhZCBieSBpbXBsaWNpdCBwcm9tb3Rpb24gdG8gdW5zaWduZWQgaW4gb3BzIHdpdGgKCSAgYSBzaWduZWQgYW5kIGFuIHVuc2lnbmVkIHZhbHVlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU5MTUzCgoyMDExLTA5LTE0IDE2OjM3OjEyICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdG5hdnNlZWsuYzoKCSAgbmF2c2VlazogdG9nZ2xlIHBhdXNlL3BsYXkgb24gc3BhY2UgYmFyCgkgIEEgdXNlZnVsIHRoaW5nIHRvIGhhdmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTkwNjUKCjIwMTEtMDktMTQgMTQ6NDY6MDAgKzAyMDAgIERhdmlkIFN2ZW5zc29uIEZvcnMgPGRhdmlkc2ZAYXhpcy5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4Lmg6CgkgIG1hdHJvc2thZGVtdXg6IGNvbmZpZ3VyYWJsZSB0aW1lc3RhbXAgZ2FwIGhhbmRsaW5nCgkgIG1hdHJvc2thZGVtdXggcGVyZm9ybXMgc2VnbWVudCB0cmlja3MgdG8gc2tpcCBnYXBzIGluIHN0cmVhbXMsCgkgIG5vdGFibHkgYXQgc3RhcnQgZm9yIG5vbiAwIGJhc2VkIGZpbGVzLiAgVGhlcmUgbWF5IGhvd2V2ZXIgYmUKCSAgY2FzZXMgd2hlbiBmdWxsIHByZXNlbnRhdGlvbiAoaW5jbHVkaW5nIGludGVybWVkaWF0ZSBnYXBzKSBpcwoJICBkZXNpcmVkLCBzbyBhIHByb3BlcnR5IGFsbG93cyB0byBjb25maWd1cmUgYXMgb2Ygd2hpY2ggZ2FwCgkgIHRvIGFjdCAob3Igbm90IGF0IGFsbCkuCgkgIEFQSTogR3N0TWF0cm9za2FEZW11eDo6bWF4LWdhcC10aW1lCgkgIEZpeGVzICM2NTkwMDkuCgoyMDExLTA5LTEyIDA5OjIxOjQ3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Zsdm11eC5jOgoJICB0ZXN0czogZmx2bXV4OiBGaXggZmx2bXV4J3MgdGVzdHMgYWZ0ZXIgZml4IGZvciByZXF1ZXN0IHBhZHMgaGFuZGxpbmcKCSAgTm93IHRoYXQgZmx2bXV4IGRvZXNuJ3QgcmVsZWFzZSBpdHMgcmVxdWVzdCBwYWRzIG9uIFBBVVNFRC0+UkVBRFkgdGhlCgkgIHRlc3QgZG9lc24ndCBuZWVkIHRvIHJlLXJlcXVlc3QgdGhlbSBmb3IgZXZlcnkgcmV1c2UgdGVzdCBzdGFydC4KCjIwMTEtMDktMDkgMDk6MTI6NTYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogRml4IGN0dHMgZ2VuZXJhdGlvbiBmb3Igc3RyZWFtcyB0aGF0IGRvbid0IHN0YXJ0IGF0IDAgdGltZXN0YW1wcwoJICBTdWJ0cmFjdCB0aGUgZmlyc3QgdGltZXN0YW1wIG9mIGEgc3RyZWFtIGZyb20gYWxsIGlucHV0IGJ1ZmZlcnMgdG8KCSAgZ2V0IDAtYmFzZWQgdGltZXN0YW1wcyBmb3IgY3JlYXRpbmcgYSBzYW5lIGN0dHMgdGFibGUuIFdpdGhvdXQgdGhpcwoJICBwYXRjaCB0aGUgY3R0cyBjb3VsZCBoYXZlIGxhcmdlciB2YWx1ZXMgdGhhbiBuZWVkZWQsIGNhdXNpbmcgdGhlCgkgIHBsYXliYWNrIHRvIGhhdmUgYSBkZWxheSBhdCBzdGFydHVwLgoJICBBcyB0aGUgZmlyc3QgdGltZXN0YW1wIGlzIG9ubHkgZm91bmQgYWZ0ZXIgYSBmZXcgYnVmZmVycyBhcmUgcXVldWVkCgkgIChkdWUgdG8gcG9zc2libGUgcmVvcmRlcmVkIGJ1ZmZlcnMpLCBvbmNlIHdlIGZpbmQgdGhlIGZpcnN0IHRpbWVzdGFtcAoJICB3ZSBzdWJ0cmFjdCBpdCBmcm9tIGFsbCBidWZmZXJzIG9uIHRoZSBxdWV1ZSwgZnJvbSB0aGF0IHBvaW50IG9uLAoJICBhbGwgYnVmZmVycyBoYXZlIHRoZWlyIHRpbWVzdGFtcHMgc3VidHJhY3Qgd2hlbiB0aGV5IGFyZSBjb2xsZWN0ZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTg2NTkKCjIwMTEtMDktMTIgMDc6NTU6MTkgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSAgZmx2bXV4OiBkb24ndCByZWxlYXNlIHJlcXVlc3QgcGFkcyBnb2luZyBQQVVTRUQtPlJFQURZCgkgIERvbid0IHJlbGVhc2UgcmVxdWVzdCBwYWRzIGJ1dCBqdXN0IHJlc2V0IHRoZW0uIFRoaXMgbWFrZXMgcGlwZWxpbmVzIHVzaW5nCgkgIGZsdm11eCByZXVzYWJsZS4KCjIwMTEtMDktMDkgMTI6MzU6NTAgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJICBhYzNwYXJzZTogdXNlIGJzaWQgOSBhbmQgMTAgdG8gY29udHJvbCBzYW1wbGUgcmF0ZQoJICBTZWUgaHR0cDovL21hdHJvc2thLm9yZy90ZWNobmljYWwvc3BlY3MvY29kZWNpZC9pbmRleC5odG1sCgkgIFRoZSBzcGVjIGlzIHNpbGVudCBhYm91dCB0aGlzIHRob3VnaC4uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU4NTQ2CgoyMDExLTA5LTA3IDE0OjEzOjAzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogZW5zdXJlIHNvbWUgaW5pdGlhbCBzdGF0ZSB2YXJpYWJsZSBzZXR1cAoJICAuLi4gd2hpY2ggbWlnaHQgb3RoZXJ3aXNlIGJlIHNraXBwZWQgaWYgdGhlIFBMQVkgY29tbWFuZCBpcyBpc3N1ZWQgYmVmb3JlCgkgIHRoZSBPUEVOIGNvbW1hbmQgaGFkIGEgY2hhbmNlIHRvIGFjdHVhbGx5IGJlIGFjdGVkIHVwb24uCgkgIEZpeGVzICM2NTczNzYuCgoyMDExLTA5LTA4IDE1OjAyOjA1ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiB0d2VhayBnYXAgaGFuZGxpbmcKCSAgLi4uIHNvIGFzIHRvIGF2b2lkIGJ1ZmZlcnMgYmVmb3JlIGFuZCBhZnRlciBnYXAgdG8gaGF2ZSBpZGVudGljYWwgcnVubmluZyB0aW1lLgoKMjAxMS0wOS0wOCAxMzoyODoyNCArMDIwMCAgR3VpbGxhdW1lIERlc21vdHRlcyA8Z3VpbGxhdW1lLmRlc21vdHRlc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDI6IHVzZSBHU1RfUkVTT1VSQ0VfRVJST1JfQlVTWSBpZiB2NGwyX2lvY3RsIGZhaWxzIHdpdGggRUJVU1kKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1ODU0MwoKMjAxMS0wOS0wNyAwODo1NDoxNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiByZW1vdmUgb25lIEdfVU5MSUtFTFkgZm9yIHVzZXIgcHJvcGVydHkKCSAgVXNpbmcgR19VTkxJS0VMWSBvbiB1c2VyIHByb3BlcnRpZXMgaXNuJ3QgbmljZSwgc3BlY2lhbGx5IHdoZW4KCSAgdGhhdCBpcyB0aGUgZGVmYXVsdCBvcHRpb24uCgoyMDExLTAzLTE1IDExOjAzOjUzICswMTAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPGFtb3JhbGVzQGZsdW1vdGlvbi5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguaDoKCSAgbWF0cm9za2FtdXg6IGhhbmRsZSBHc3RGb3JjZUtleVVuaXQgZXZlbnQKCSAgLi4uIGJ5IHN0YXJ0aW5nIGEgbmV3IGNsdXN0ZXIgYWZ0ZXIgZm9yd2FyZGluZyBldmVudC4KCSAgRml4ZXMgIzY0NDE1NC4KCjIwMTEtMDktMDcgMTQ6Mjc6MzYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY21tbGRlYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jbW1sZW5jLmM6CgkgIGNtbWw6IFVzZSBjb21wbGV0ZSBjbW1sIGNhcHMgaW4gdGhlIHVuaXQgdGVzdAoKMjAxMS0wOS0wNyAxNDoyNjowMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9xdG11eC5jOgoJICBxdG11eDogVXNlIGNvbXBsZXRlIE1QRUcgY2FwcyBpbiB0aGUgdW5pdCB0ZXN0CgoyMDExLTA5LTA3IDE0OjE4OjU4ICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICBkb2NzOiBjbGVhbnVwIG1ha2VmaWxlcwoJICBSZW1vdmUgY29tbWVudGVkIG91dCBwYXJ0cyB0aGF0IHdlIGRvbid0IG5lZWQuIFJlbW92ZSAidGhlIHdpbmdvIGFkZGl0aW9uIiAtIG5vCgkgIHNvIHVzZWZ1bCBhZnRlciBhbGwuIE5hcnJvdyBkb3duIGZpbGUtZ2xvYnMgZm9yIHBsdWdpbiBkb2NzLgoKMjAxMS0wOC0yOSAxNDoxMjoyMiArMDIwMCAgS29uc3RhbnRpbiBNaWxsZXIgPGtvbnN0YW50aW4ubWlsbGVyQGdtYWlsLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXBodHRwc3JjOiBEb24ndCBoYW5kbGUgSFRUUCByZXNwb25zZSA0MDcgYXMgZXJyb3IgaWYgcHJveHkgYXV0aGVudGljYXRpb24gZGF0YSBpcyBhdmFpbGFibGUKCSAgRml4ZXMgYnVnICM2NTc0MjIuCgoyMDExLTA5LTA3IDEyOjExOjM5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSAgYWMzcGFyc2U6IEFkZCBDb252ZXJ0ZXIgdG8gdGhlIGNsYXNzaWZpY2F0aW9uIGJlY2F1c2UgaXQgY2FuIGNvbnZlcnQgYmV0d2VlbiBkaWZmZXJlbnQgYWxpZ25tZW50cwoJICBUaGlzIGFsbG93cyBkZWNvZGViaW4yIHRvIGxldCBpdCBuZWdvdGlhdGUgcHJvcGVybHkuCgoyMDExLTA5LTA3IDEyOjEwOjQ4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSAgYXVkaW9wYXJzZXJzOiBJbXByb3ZlIHNyYyB0ZW1wbGF0ZSBjYXBzCgkgIFJlbW92ZSB0aGUgcGFyc2VkL2ZyYW1lZCBmaWVsZHMgYW5kIGFkZCBhbGwgZmllbGRzIHRvIHRoZSB0ZW1wbGF0ZQoJICBjYXBzIHRoYXQgYWx3YXlzIGV4aXN0LgoKMjAxMS0wOS0wNiAxNTo1OTo0OSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuaDoKCSAgYWFjcGFyc2U6IHBhcnNlIGNvZGVjX2RhdGEgdG8gZGV0ZXJtaW5lIG51bWJlciBvZiBzYW1wbGVzIHBlciBmcmFtZQoJICBGaXhlcyAjNjU2NzM0LgoKMjAxMS0wOS0wNiAyMToyNDo0NiArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gYTM5ZWI4MyB0byAxMWYwY2Q1CgoyMDExLTA5LTA2IDE2OjU3OjEyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IHRyeSB0byBkaXNhYmxlIGRlaW50ZXJsYWNlLi4KCjIwMTEtMDktMDYgMTU6NDA6MzIgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDYwNWNkOWEgdG8gYTM5ZWI4MwoKMjAxMS0wOS0wNiAxNjozNzowMyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCSAgQ29uZmxpY3RzOgoJICBjb21tb24KCjIwMTEtMDktMDYgMTY6MDY6MjUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgkgIENvbmZsaWN0czoKCSAgZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhbXJwYXJzZS5jCgkgIGdzdC9pc29tcDQvcXRkZW11eC5jCgoyMDExLTA5LTA2IDE1OjQwOjMyICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA2MDVjZDlhIHRvIGEzOWViODMKCjIwMTEtMDktMDYgMTU6MDU6MzcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4Lmg6CgkgIG1hdHJvc2thbXV4OiBtYWtlIGRlZmF1bHQgZHVyYXRpb24gY2hlY2sgbGVzcyBzZW5zaXRpdmUKCSAgRnJhbWUgZHVyYXRpb24gbWlnaHQgdmFyeSBmb3IgMSB1c2Vjb25kLCBpbiB0aGlzIGNhc2UgbWF0cm9za2FtdXgKCSAgZGVjaWRlcyB0byBjcmVhdGUgQkxPQ0tHUk9VUCBpbnN0ZWFkIG9mIFNJTVBMRUJMT0NLLgoJICBDb252ZXJ0IGR1cmF0aW9uIHRvIHRpbWVjb2Rlc2NhbGUgd2hpY2ggaXMgKHR5cGljYWxseSkgbGVzcyBwcmVjaXNlLCBhbmQKCSAgdGhlbiBhbHNvIGFsbG93IHRoZSBkaWZmZXJlbmNlIG9mIDEvLTEgdG8gYXJyYW5nZSBmb3IgbGVzcyBzZW5zaXRpdmUgY2hlY2suCgkgIEJhc2VkIG9uIHBhdGNoIGJ5IEFsZXhleSBGaXNoZXIgPGJ1Zy10cmFja0BmaXNoZXItcHJpdmF0Lm5ldD4KCSAgRml4ZXMgIzY1MzA4MC4KCjIwMTEtMDktMDYgMTM6MTg6NDAgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBtcDRnZGVwYXkuYzoKCSAgcnRwbXA0Z2RlcGF5OiBpbXByb3ZlIGJvZ3VzIGludGVybGVhdmVkIGluZGV4IGNvbXBlbnNhdGluZwoJICBQYXRjaCBieSA8Z3VkYWtlQGdtYWlsLmNvbT4KCSAgRml4ZXMgIzY1NDU4NS4KCjIwMTEtMDktMDYgMTM6MTY6MjcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvamFjay9nc3RqYWNrLmg6CgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXV0aWwuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9wYW5vcmFtYS5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb3Bhbm9yYW1hLmg6CgkqIGdzdC9hdXBhcnNlL2dzdGF1cGFyc2UuYzoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L2xhdy9hbGF3LmM6CgkqIGdzdC9sYXcvbXVsYXctZGVjb2RlLmM6CgkqIGdzdC9sYXcvbXVsYXcuYzoKCSogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICAtZ29vZDogcG9ydCB0byBuZXcgYXVkaW8gY2FwcwoKMjAxMS0wOS0wNiAxMDozMzoyMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwaHR0cHNyYzogQWxsb3cgcG9zaXRpdmUsIG5vbi0xLjAgc2VnbWVudCByYXRlcwoJICBPbmx5IG5lZ2F0aXZlIHJhdGVzIGFyZSBub3Qgc3VwcG9ydGVkLiBGaXhlcyBidWcgIzY1ODMwNS4KCjIwMTEtMDktMDUgMTU6NTA6NTYgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcGFyc2VyLmM6CgkgIHRlc3RzOiBwYXJzZXJzOiBwcm92aWRlIG1vcmUgcmVhbCBkYXRhIHdoZW4gdGVzdGluZyBkcmFpbmluZyBvZiBnYXJiYWdlCgoyMDExLTA5LTA1IDE1OjUwOjA0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YW1ycGFyc2UuYzoKCSAgYW1ycGFyc2U6IGZpeCBhbmQgc3RyZWFtbGluZSB2YWxpZCBmcmFtZSBjaGVja2luZwoJICAuLi4gdG8gaGFuZGxlIHZhcmlvdXMgY29tYmluYXRpb25zIG9mIHN5bmMgb3Igbm90LCBhbmQgc3VmZmljaWVudCBkYXRhCgkgIG9yIG5vdCBhcyBtaWdodCBiZSBleHBlY3RlZC4KCSAgRml4ZXMgIzY1MDcxNC4KCjIwMTEtMDktMDUgMTQ6NDk6MzIgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGZyYWdtZW50ZWQgc3VwcG9ydDsgYXZvaWQgYWRqdXN0bWVudCBmb3Iga2V5ZnJhbWUgc2VlawoJICAuLi4gc2luY2UgYWxsIGluZGV4IGRhdGEgbWF5IG5vdCB5ZXQgYmUgYXZhaWxhYmxlIGF0IHRoYXQgdGltZS4KCjIwMTEtMDktMDUgMTQ6NDg6MDIgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGZyYWdtZW50ZWQgc3VwcG9ydDsgbWFyayBhbGwgYXVkaW8gdHJhY2sgc2FtcGxlcyBhcyBrZXlmcmFtZQoKMjAxMS0wOS0wNSAxNDo0NjoyOSArMDIwMCAgQnJpYW4gTGkgPGJyaWFuNzAwM0BnbWFpbC5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZnJhZ21lbnRlZCBzdXBwb3J0OyBwcm9wZXJseSBpbml0IHJldHVybiB2YXJpYWJsZSB2YWx1ZQoJICBGaXhlcyAjNjU1OTE4LgoKMjAxMS0wOS0wNSAxMzozMToyMCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGFkZCBndGstZG9jIGZvciBuZXcgc2hvcnQtaGVhZGVyIHByb3BlcnR5CgoyMDExLTA5LTA1IDEzOjE4OjM5ICswMjAwICBNYXJjIExlZW1hbiA8bWFyYy5sZWVtYW5AZ21haWwuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIHJ0c3BzcmM6IGFsbG93IHNlbmRpbmcgc2hvcnQgUlRTUCByZXF1ZXN0cyB0byBhIHNlcnZlcgoJICBTb21lIGVuY29kZXJzIChBcmVjb250KSBkbyBub3QgbGlrZSB0aGUgbG9uZyBPUFRJT05TIHNlbnQgYXQgc3RhcnR1cCBhcyBzZW50IGJ5CgkgIEdTdHJlYW1lciwgYnV0IGRvIGFjY2VwdCB0aGUgc2hvcnQgaGVhZGVyIGFzIHNlbnQgYnkgTGl2ZTU1NS4KCSAgVGhpcyBwYXRjaCBtYWtlcyB0aGUgZXh0ZW5kaW5nIHRoZSByZXF1ZXN0IG9wdGlvbmFsIGJ5IGFkZGluZyBhIHByb3BlcnR5CgkgIChzaG9ydC1oZWFkZXIpLgoJICBGaXhlcyAjNjU1ODA1LgoJICBBUEk6IEdzdFJUU1BTcmM6c2hvcnQtaGVhZGVyCgoyMDA5LTAzLTA0IDE0OjUxOjA5IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwcGF5LmM6CgkgIHJ0cGgyNjNwcGF5OiBTZXQgSDI2My0yMDAwIGlmIHRoYXRzIHdoYXQgdGhlIG90aGVyIHNpZGUgd2FudHMKCSAgVGhlIHN0YXRpYyBjYXBzIHN0YXRlcyB0aGlzIGVsZW1lbnQgc3VwcG9ydHMgSDI2My0yMDAwLCBidXQgc2V0Y2FwcyBuZXZlcgoJICBzZXRzIGl0LCBzbyBpdCB3YXMgbGllLgoJICBTZWUgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTU3Nzc4NAoKMjAxMS0wOC0zMCAxOTowMjo1MSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogSW5pdGlhbGlzZSB0aGUgbGFzdF9rZXlmcmFtZV9yZXF1ZXN0IHZhcmlhYmxlCgoyMDExLTA4LTMxIDE2OjA0OjI0ICswMjAwICBQZXRlciBLb3JzZ2FhcmQgPGphY21ldEBzdW5zaXRlLmRrPgoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSAgbXVsdGl1ZHBzaW5rOiBtYWtlIGFkZC9yZW1vdmUvY2xlYXIvZ2V0LXN0YXRzIGFjdGlvbiBzaWduYWxzCgkgIGh0dHA6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1NzgzMAoJICBTaWduZWQtb2ZmLWJ5OiBQZXRlciBLb3JzZ2FhcmQgPGphY21ldEBzdW5zaXRlLmRrPgoKMjAxMS0wOC0zMSAxODo0NToxNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwbXAydGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXAydHBheS5jOgoJICBtcDJ0OiBmaXggZW5jb2RpbmcgbmFtZSBhY2NvcmRpbmcgdG8gUkZDMzU1MQoKMjAxMS0wOC0zMCAxMzozMzo0OSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4Lmg6CgkgIHF0ZGVtdXg6IHB1c2ggbW9kZTsgcGVyZm9ybSBzb21lIGV4dHJhIGNoZWNrcyBwcmlvciB0byB1cHN0cmVhbSBzZWVraW5nCgoyMDExLTA4LTMwIDEzOjI4OjIxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBwdXNoIG1vZGU7IGZpeCBidWZmZXJlZCBzdHJlYW1pbmcKCSAgVGhhdCBpcywgaW4gY2FzZSB3aGVyZSBubyBzZWVrIGlzIHBlZm9ybWVkIHRvIG1vb3YsIGJ1dCBwcmVjZWRpbmcKCSAgbGltaXRlZCBtZGF0IGlzIGJ1ZmZlcmVkLgoKMjAxMS0wOC0zMCAxNDowNjoxMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuaDoKCSAgc2hhcGV3aXBlOiBwb3J0IHRvIDAuMTEKCjIwMTEtMDgtMzAgMTI6NDk6MDggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGxhdyBpcyBwb3J0ZWQgbm93CgoyMDExLTA4LTMwIDEyOjI1OjM1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xhdy9hbGF3LmM6CgkqIGdzdC9sYXcvbXVsYXctZGVjb2RlLmM6CgkqIGdzdC9sYXcvbXVsYXctZW5jb2RlLmM6CgkqIGdzdC9sYXcvbXVsYXcuYzoKCSAgbGF3OiBwb3J0IHRvIDAuMTEKCjIwMTEtMDgtMjkgMTk6MTE6MjUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGF3L2FsYXctZGVjb2RlLmM6CgkqIGdzdC9sYXcvYWxhdy1lbmNvZGUuYzoKCSAgYWxhdzogcG9ydCB0byAwLjExCgoyMDExLTA4LTI5IDE5OjEwOjM1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dvb20vZ3N0Z29vbS5jOgoJICBnb29tOiBmaXggY29tbWVudAoKMjAxMS0wOC0yOSAxODowMjoxNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzaW5rLmM6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXA6IHBvcnQgc291cCBlbGVtZW50cyB0byAwLjExCgoyMDExLTA4LTI5IDE1OjEzOjU2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBhdm9pZCBvdmVyZmxvdyB3cmFwYXJvdW5kIGluIHRpbWVzdGFtcCB3aGVuIGFkZGluZyBkdXJhdGlvbnMKCSAgRG8gc29tZSB0eXBlIGp1Z2dsaW5nIHRvIGF2b2lkIG92ZXJmbG93LCB3aGlsZSBzdGlsbCBhbGxvd2luZyBmb3IgJ25lZ2F0aXZlJwoJICBkdXJhdGlvbnMgKHdoaWNoIHdvdWxkIG5lZWQgYSB3cmFwYXJvdW5kIGVmZmVjdCkuCgoyMDExLTA4LTI5IDEzOjQzOjU5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoJICBDb25mbGljdHM6CgkgIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYwoKMjAxMS0wOC0yNiAxNDoyMDo0OSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lZmZlY3R2L2dzdHdhcnAuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICBhbGxvY2F0aW9uOiBmaXggZm9yIHZtZXRob2QgY2hhbmdlcwoKMjAxMS0wOC0yNSAyMzozNzo0NyArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkgIHY0bDJzcmM6IG1ha2UgdGhpcyB3b3JrIG1vcmUgdGhhbiBvbmNlIGluIGEgcm93CgkgIFdlIHVzZWQgdG8gc2tpcCBmcmFtZSByYXRlIHNldHVwIGlmIHRoZSBjYW1lcmEgd2FzIGFscmVhZHkgc2V0dXAKCSAgd2l0aCB0aGUgcmVxdWVzdGVkIGZyYW1lIHJhdGUuIFRoaXMgYnJlYWtzIHNvbWUgY2FtZXJhcyB0aG91Z2gsCgkgIGNhdXNpbmcgdGhlbSB0byBub3Qgb3V0cHV0IGRhdGEgKHNldmVyYWwgbW9kZWxzIG9mIFRoaW5rcGFkIGNhbWVyYXMKCSAgaGF2ZSB0aGlzIHByb2JsZW0gYXQgbGVhc3QpLgoJICBTbywgZG9uJ3Qgc2tpcC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzODMwMAoKMjAxMS0wOC0yNSAxNjo0MToyMyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwZ3N0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc3RwYXkuYzoKCSogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgcG9ydCB0byBuZXcgdmlkZW8gZmxhZ3MKCjIwMTEtMDgtMjQgMTg6NDA6MDcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2V1dGlsLmM6CgkgIHB1bHNlOiBhZGQgc29tZSBtb3JlIGNoYW5uZWxzCgoyMDExLTA3LTEyIDIxOjQ4OjM3IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIGR0bWY6IEFkZCBtb3JlIGRlYnVnCgoyMDExLTA3LTEyIDE5OjA5OjAyIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZmNvbW1vbi5oOgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgZHRtZjogTWF4IGV2ZW50IHR5cGUgaXMgMTUKCjIwMTEtMDQtMTQgMTU6NDY6MDggLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5oOgoJICBkdG1mc3JjOiBBbGlnbiBEVE1GIHNvdW5kIGJ1ZmZlcnMgd2l0aCBsYXN0LXN0b3AgZnJvbSBldmVudAoJICBBbHNvIG1ha2Ugc3VyZSB0aGUgdGltZXN0YW1wcyBuZXZlciBnbyBiYWNrd2FyZHMKCjIwMTEtMDctMTEgMjE6MzE6MDcgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIHJ0cGR0bWZzcmM6IENvcnJlY3RseSByZWNvZ25pemUgdGhlIGVuZCBvZiBhIGJ1ZmZlcgoKMjAxMS0wNy0xMSAyMDo0NzoyMyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgcnRwZHRtZnNyYzogTWFrZSBzdXJlIHJ0cGR0bWZzcmMgdGltZXN0YW1wcyBkb24ndCBvdmVybGFwCgoyMDExLTA3LTExIDIwOjQ2OjIwIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBydHBkdG1mc3JjOiBQdXQgdGhlIGludGVyIGRpZ2l0IGludGVydmFsIGF0IHRoZSBlbmQsIG5vdCBhdCB0aGUgc3RhcnQKCSAgVGhlIHJlYXNvbiBpcyB0byBsZXQgcnRwZHRtZm11eCBkcm9wIGJ1ZmZlcnMgZHVyaW5nIHRoZSBpbnRlciBkaWdpdCBpbnRlcnZhbCwKCSAgdGhpcyB3YXksIHRoZXJlIHdpbGwgYmUgbW9yZSBzaWxlbmNlIGFyb3VuZCB0aGUgRFRNRiB0b25lcyBzbyBJVkZzIHdpbGwgaGF2ZQoJICBhIGJldHRlciBjaGFuY2UgcmVjb2duaXppbmcgdGhlbS4KCjIwMTEtMDQtMTQgMTc6MDg6NTcgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5oOgoJICBydHBkdG1mc3JjOiBTdGFydCBhdCB0aGUgbGFzdF9zdG9wIGZyb20gdGhlIHN0YXJ0IGV2ZW50IGlmIHRoZXJlIHdhcyBvbmUKCSAgVGhlIGdvYWwgaXMgdG8gdHJ5IHRvIG5vdCBoYXZlIGEgR0FQIGJldHdlZW4gdGhlIGF1ZGlvIGFuZCB0aGUgRFRNRgoKMjAxMS0wNC0xNCAxNjo0OTozOSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmg6CgkgIHJ0cGR0bWZzcmM6IFJlc3BlY3QgcHRpbWUgZnJvbSB0aGUgY2FwcwoJICBSZXNwZWN0IHRoZSBwdGltZSBmcm9tIHRoZSBjYXBzIGZvciB0aGUgRFRNRiBwYWNrZXRzCgoyMDExLTA3LTExIDIxOjMwOjI4IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBydHBkdG1mc3JjOiBKdXN0IGVycm9yIG91dCBpZiB0aGVyZSBpcyBubyBjbG9jawoKMjAxMS0wOC0yNCAxNDoxNjo0NCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCjIwMTEtMDgtMjMgMTI6MTI6MTUgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogb25seSByZXF1aXJlIHR3byBmcmFtZXMgaW4gYSByb3cgd2hlbiB3ZSBkbyBub3QgaGF2ZSBzeW5jCgkgIFRoaXMgYXZvaWRzIGEgc2luZ2xlIGJpdCBlcnJvciBkcm9wcGluZyB0d28gZnJhbWVzIHVubmVjZXNzYXJpbHkuCgkgIFRoZSB0d28gY29uc2VjdXRpdmUgZnJhbWVzIGNoZWNrIGlzIHN0aWxsIHJlcXVpcmVkIHdoZW4gd2UgZG9uJ3QKCSAgaGF2ZSBzeW5jLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU3MDgwCgoyMDExLTA4LTIzIDIxOjQxOjE1ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBUcml2aWFsIGluZGVudGF0aW9uIGZpeAoKMjAxMS0wOC0yMyAxOTowOTozMSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGFjb2xvci5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdwYXkuYzoKCSAgdmlkZW86IHBvcnQgdG8gbmV3IGNvbG9yaW1ldHJ5IGluZm8KCjIwMTEtMDctMjEgMTc6MjM6MjggLTA0MDAgIE1vbnR5IE1vbnRnb21lcnkgPGNtb250Z29tQHJlZGhhdC5jb20+CgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkgIGZsYWNkZWM6IENvcnJlY3Qgc2FtcGxlIG51bWJlciByb3VuZGluZyByZXN1bHRpbmcgaW4gdGltZXN0YW1wIGppdHRlcgoJICBmbGFjZGVjIGNvbnZlcnRzIHRoZSBzcmMgdGltZXN0YW1wIHRvIGEgc2FtcGxlIG51bWJlciwgdXNlcyB0aGF0IGludGVybmFsbHksIHRoZW4gcmVjb252ZXJ0cyB0aGUgc2FtcGxlIG51bWJlciB0byBhIHRpbWVzdGFtcCBmb3IgdGhlIG91dHB1dCBidWZmZXIuICBVbmZvcnR1bmF0ZWx5LCBzYW1wbGUgbnVtYmVycyBjYW4ndCBiZSByZXByZXNlbnRlZCBpbiBhbiBpbnRlZ2VyIG51bWJlciBvZiBuYW5vc2Vjb25kcywgYW5kIHRoZSBjb252ZXJzaW9uIHByb2Nlc3Mgd2FzIHRydW5jYXRpbmcgcmF0aGVyIHRoYW4gcm91bmRpbmcsIHJlc3VsdGluZyBpbiBzYW1wbGUgbnVtYmVycyBhbmQgb3V0cHV0IHRpbWVzdGFtcHMgdGhhdCB3ZXJlIG9mdGVuIG9mZiBieSBhIGZ1bGwgc2FtcGxlLgoJICBUaGlzIGNvcnJlY3RzIHRoZSB0aW1lLT5zYW1wbGUgY29udmVzaW9uCgoyMDExLTA4LTIyIDEzOjEwOjA3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoKMjAxMS0wOC0yMiAxMjoyNDoxNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2lzb21wNC9hdG9tcy5jOgoJKiBnc3QvaXNvbXA0L2F0b21zLmg6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9ydHAvZ3N0cnRwajJrZGVwYXkuYzoKCSAgZm91cmNjOiByZW1vdmUgZm91cmNjIGZyb20gY2FwcwoKMjAxMS0wOC0yMCAxNDo0ODoyMCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvZGVidWd1dGlscy9icmVha215ZGF0YS5jOgoJICBicmVha215ZGF0YTogZWxlbWVudCBpcyBub3QgcGFzc3Rocm91Z2gKCjIwMTEtMDctMTMgMTE6MjA6MzQgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzcmMuYzoKCSAgbXVsdGlmaWxlc3JjOiBxdWlldCBkZWJ1Z2dpbmcKCjIwMTEtMDctMTAgMjE6NDA6MjAgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5oOgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2VtZXRob2QuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlbWV0aG9kLmg6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvZ3JlZWR5LmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvZ3JlZWR5aC5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2xpbmVhcmJsZW5kLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvc2NhbGVyYm9iLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvdG9tc21vY29tcC9Ub21zTW9Db21wQWxsLmluYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS92ZmlyLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvd2VhdmUuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS93ZWF2ZWJmZi5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3dlYXZldGZmLmM6CgkgIGRlaW50ZXJsYWNlOiBjaGFuZ2UgZmllbGQgaGFuZGxpbmcgdGhyb3VnaCBtZXRob2RzCgkgIFRoaXMgbGlrZWx5IGJyZWFrcyBzdHVmZi4gIFRoZSBnb29kOiBhbGwgb2YgdGhlIG1ldGhvZHMgbm93IGNyZWF0ZQoJICBmaWVsZCBpbWFnZXMgYWxpZ25lZCB3aXRoIGlucHV0IGZyYW1lcywgd2l0aG91dCB0aW1lc3RhbXAgbWFuZ2xpbmcuCgkgIFRoZSBiYWQ6IHRoaXMgdG91Y2hlcyBhIGxvdCBvZiBjb2RlLCBtdWNoIG9mIHdoaWNoIGlzIGhhaXJ5IGFuZCBpbgoJICBuZWVkIG9mIGNsZWFudXAuICBIb3dldmVyLCBhdCB0aGlzIHBvaW50IHdlIGNhbiByZWFzb25hYmx5IGNyZWF0ZSBhCgkgIFBTTlItYmFzZWQgdGVzdC4KCjIwMTEtMDgtMjEgMTQ6NDE6MTQgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmM6CgkgIG11bHRpZmlsZXNpbms6IHJlc2V0IC0+c3RyZWFtaGVhZGVycyB0byBOVUxMIG9uIF9zdG9wCgkgIEZpeGVzIGludmFsaWQgbWVtb3J5IGFjY2VzcyByZXVzaW5nIG11bHRpZmlsZXNpbmsKCjIwMTEtMDgtMjAgMTA6NDY6MTggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY3V0dGVyL2dzdGN1dHRlci5jOgoJKiBnc3QvY3V0dGVyL2dzdGN1dHRlci5oOgoJICBjdXR0ZXI6IGJyaW5nIGN1dHRlciBzb21ld2hhdCBpbnRvIHRoaXMgbWlsbGVubml1bQoKMjAxMS0wOC0xOSAxNjoyNzoyMCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9yZXBsYXlnYWluL2dzdHJnYW5hbHlzaXMuYzoKCSAgcmc6IGZpeCBjYXBzCgoyMDExLTA4LTE5IDE2OjEzOjIzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IHBvcnQgYWZ0ZXIgbWVyZ2UKCjIwMTEtMDgtMTkgMTY6MTI6MDEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgoyMDExLTA4LTE5IDE2OjA5OjQ4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9hbXBsaWZ5LmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYmJhbmQuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9jaGVibGltaXQuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9keW5hbWljLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZWNoby5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2ZpcmZpbHRlci5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWZpcmZpbHRlci5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWlpcmZpbHRlci5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2lpcmZpbHRlci5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2ludmVydC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2thcmFva2UuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW93c2luY2JhbmQuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW93c2luY2xpbWl0LmM6CgkqIGdzdC9hdXBhcnNlL01ha2VmaWxlLmFtOgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOgoJKiBnc3QvZ29vbS9nc3Rnb29tLmM6CgkqIGdzdC9sZXZlbC9NYWtlZmlsZS5hbToKCSogZ3N0L3JlcGxheWdhaW4vTWFrZWZpbGUuYW06CgkqIGdzdC9yZXBsYXlnYWluL2dzdHJnYW5hbHlzaXMuYzoKCSogZ3N0L3JlcGxheWdhaW4vZ3N0cmdsaW1pdGVyLmM6CgkqIGdzdC9yZXBsYXlnYWluL2dzdHJndm9sdW1lLmM6CgkqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJICBwb3J0IHRvIG1vcmUgYXVkaW8gYXBpIGNoYW5nZXMKCjIwMTEtMDgtMTkgMTQ6MDE6NDUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6CgkqIGdzdC9hdXBhcnNlL2dzdGF1cGFyc2UuYzoKCSogZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS5oOgoJKiBnc3QvY3V0dGVyL2dzdGN1dHRlci5jOgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOgoJKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzoKCSogZ3N0L2xldmVsL2dzdGxldmVsLmg6CgkqIGdzdC9ydHAvZ3N0cnRwTDE2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBMMTZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2cmF3ZGVwYXkuYzoKCSogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkqIHN5cy9vc3MvZ3N0b3NzaGVscGVyLmM6CgkqIHN5cy9vc3MvZ3N0b3Nzc2luay5jOgoJKiBzeXMvb3NzL2dzdG9zc3NyYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2ludmVydC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9sZXZlbC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHAtcGF5bG9hZGluZy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBqaXR0ZXJidWZmZXIuYzoKCSogdGVzdHMvZXhhbXBsZXMvbGV2ZWwvbGV2ZWwtZXhhbXBsZS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9zcGVjdHJ1bS9zcGVjdHJ1bS1leGFtcGxlLmM6CgkgIHBvcnQgbW9yZSBlbGVtZW50cyB0byBuZXcgYXVkaW8gY2FwcyBhbmQgQVBJCgoyMDExLTA4LTE5IDExOjQ5OjQ0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9hbXBsaWZ5LmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvYW1wbGlmeS5oOgoJKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJiYW5kLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYmxpbWl0LmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZHluYW1pYy5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2VjaG8uYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9maXJmaWx0ZXIuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9maXJmaWx0ZXIuaDoKCSogZ3N0L2F1ZGlvZngvYXVkaW9meGJhc2VmaXJmaWx0ZXIuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9meGJhc2VpaXJmaWx0ZXIuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9paXJmaWx0ZXIuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9paXJmaWx0ZXIuaDoKCSogZ3N0L2F1ZGlvZngvYXVkaW9pbnZlcnQuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9rYXJhb2tlLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlva2FyYW9rZS5oOgoJKiBnc3QvYXVkaW9meC9hdWRpb3dzaW5jYmFuZC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb3dzaW5jYmFuZC5oOgoJKiBnc3QvYXVkaW9meC9hdWRpb3dzaW5jbGltaXQuYzoKCSAgcG9ydCB0byBuZXcgYXVkaW8gQVBJIGFuZCBjYXBzCgoyMDExLTA4LTE4IDEzOjM3OjM5ICswMjAwICBEYXZpZCBIZW5uaW5nc3NvbiA8ZGF2aWQuaGVubmluZ3Nzb25AY2Fub25pY2FsLmNvbT4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBBbGxvdyB3cml0ZXMgaW4gYmlnZ2VyIGNodW5rcwoJICBUaGVyZSdzIG5vIHVzZSBpbiBzcGxpdHRpbmcgdGhlIGluY29taW5nIGRhdGEgZG93biB0byB0aGUgc2Vnc2l6ZQoJICBsaW1pdCAtIGJ5IHdyaXRpbmcgYXMgbXVjaCBhcyBwb3NzaWJsZSBpbiBvbmUgY2h1bmssIHdlIGluY3JlYXNlCgkgIHBlcmZvcm1hbmNlIGFuZCBhdm9pZCBQdWxzZUF1ZGlvIHVubmVjZXNzYXJ5IHJld2luZHMuCgkgIFNpZ25lZC1vZmYtYnk6IERhdmlkIEhlbm5pbmdzc29uIDxkYXZpZC5oZW5uaW5nc3NvbkBjYW5vbmljYWwuY29tPgoKMjAxMS0wOC0xOCAxOTozNzozOSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCjIwMTEtMDgtMTggMTk6MjE6MDcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvamFjay9nc3RqYWNrLmg6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXV0aWwuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc2luay5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zcmMuYzoKCSAgcG9ydCB0byBuZXcgYXVkaW8gY2Fwcy4KCjIwMTEtMDgtMDggMjI6MTQ6MjggKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IGVuc3VyZSBuby1tb3JlLXBhZHMgaXMgYWx3YXlzIGVtaXR0ZWQKCSAgSW4gcGFydGljdWxhciwgZG8gc28gZXZlbiBpZiBmYWlsaW5nIHRvIHJlYWQgd2hpbGUgcHJlcm9sbGluZywKCSAgc3VjaCBhcyB3aGVuIHJlYWRpbmcgZnJvbSBhIHBhcnRpYWwgZmlsZSAoZWcsIHdoaWxlIGl0IGlzIGJlaW5nCgkgIGRvd25sb2FkZWQpLgoJICBUaGlzIGZpeGVzIGEgd2VkZ2UgaW4gcGxheWJpbjIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTE5NjUKCjIwMTEtMDgtMTcgMTc6NTc6MTEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIHY0bDI6IGltcHJvdmUgZml4YXRlIGZ1bmN0aW9uCgkgIFVzZSBuZXcgY29yZSBmdW5jdGlvbiB0byBmaXhhdGUgYSBmaWVsZC4KCSAgQ2hhaW4gdXAgdG8gcGFyZW50IGZpeGF0ZSBmdW5jdGlvbi4KCjIwMTEtMDgtMTcgMTU6NTI6MTggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgkgIENvbmZsaWN0czoKCSAgZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jCgoyMDExLTA4LTE3IDE1OjM5OjI3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvanBlZy9NYWtlZmlsZS5hbToKCSogZXh0L2pwZWcvZ3N0anBlZy5jOgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuaDoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmg6CgkgIGpwZWc6IHBvcnQgdG8gMC4xMQoJICBBbHNvIGRpc2FibGUgc21va2UgZm9yIG5vdy4KCjIwMTEtMDgtMTYgMTc6Mjc6MTMgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJICBmbGFjZGVjOiBhdm9pZCB0aW1lc3RhbXAvb2Zmc2V0IHRyYWNraW5nIGdvaW5nIG91dCBvZiBzeW5jCgkgIFRoZSBsaWJGTEFDIEFQSSBpcyBjYWxsYmFjayBiYXNlZCwgYW5kIHdlIG11c3Qgb25seSBjYWxsIGl0IHRvCgkgIG91dHB1dCBkYXRhIHdoZW4gd2Uga25vdyB3ZSBoYXZlIGVub3VnaCBpbnB1dCBkYXRhLiBGb3IgdGhpcwoJICByZWFzb24sIGEgc2luZ2xlIHByb2Nlc3Npbmcgc3RlcCBpcyBkb25lIHdoZW4gcmVjZWl2aW5nIGEgYnVmZmVyLgoJICBIb3dldmVyLCBpZiB0aGVyZSB3ZXJlIG1ldGFkYXRhIGJ1ZmZlcnMgc3RpbGwgcGVuZGluZywgYSBzdGVwCgkgIGludGVuZGVkIGZvciB0aGUgZmlyc3QgYXVkaW8gZnJhbWUgbWlnaHQgZW5kIHVwIHdyaXRpbmcgdGhhdAoJICBsZWZ0b3ZlciBtZXRhZGF0YS4gU2luY2UgYSBzaW5nbGUgc3RlcCBpcyBkb25lIHBlciBidWZmZXIsIHRoaXMKCSAgd2lsbCBjYXVzZSBldmVyeSBidWZmZXIgdG8gYmUgd3JpdHRlbiBvbmUgc3RlcCBsYXRlLgoJICBUaGlzIHdvdWxkIGFkZCBzb21lIGxhdGVuY3kgKGEgYnVmZmVyZnVsbCdzIHdvcnRoKSwgcG9zc2libHkKCSAgbG9zZSBhIGJ1ZmZlciB3aGVuIHNlZWtpbmcgb3IgdGhlIGxpa2UsIGFuZCBhbHNvIGNhdXNlIHRpbWVzdGFtcAoJICBhbmQgb2Zmc2V0IHRvIGJlIGFwcGxpZWQgdG8gdGhlIHdyb25nIGJ1ZmZlciwgYXMgdXBkYXRlcyB0bwoJICB0aGUgImN1cnJlbnQiIHNlZ21lbnQgbGFzdF9zdG9wIChmcm9tIGluY29taW5nIGJ1ZmZlciB0aW1lc3RhbXApCgkgIHdpbGwgYmUgYXBwbGllZCB0byBhbiBvdXRwdXQgYnVmZmVyIG9yaWdpbmF0aW5nIGZyb20gdGhlIHByZXZpb3VzCgkgIGluY29taW5nIGJ1ZmZlci4KCSAgVGhpcyBmaXhlcyB0aGUgaXNzdWUgYnkgZW5zdXJpbmcgdGhhdCwgdXBvbiByZWNlaXZpbmcgdGhlIGZpcnN0CgkgIGF1ZGlvIGZyYW1lLCBwcm9jZXNzaW5nIGlzIGRvbmUgdGlsbCBhbGwgbWV0YWRhdGEgaXMgcHJvY2Vzc2VkLAoJICBzbyB0aGUgbmV4dCAic2luZ2xlIHN0ZXAiIGRvbmUgd2lsbCBiZSBmb3IgdGhlIGF1ZGlvIGZyYW1lLiBBZnRlcgoJICB0aGlzLCB3ZSBzaG91bGQga2VlcCB0byAxIGlucHV0IGJ1ZmZlciAtPiAxIG91dHB1dCBidWZmZXIgYW5kIHNvCgkgIGF2b2lkIGdldHRpbmcgb3V0IG9mIHN5bmMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTA5NjAKCjIwMTEtMDgtMTcgMTE6MTc6MzggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgoyMDExLTA4LTE2IDE1OjMyOjA3ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSAgZmxhY2RlYzogYmFpbCBvbiByZXNlcnZlZCB2YWx1ZQoJICBOb3cgdGhhdCB3ZSBsb29rIGF0IHRoZSByaWdodCBiaXRzLCB3ZSBjYW4gdGVzdCBhZ2FpbnN0IHRoZSByZXNlcnZlZAoJICB2YWx1ZSBhcyB3ZSBkbyBmb3Igb3RoZXIgZmllbGRzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUwOTYwCgoyMDExLTA4LTE2IDE1OjI3OjQzICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSAgZmxhY2RlYzogZml4IGJpdCB0d2lkZGxpbmcKCSAgUmlnaHQgc2hpZnRpbmcgYSA4IGJpdCB2YWx1ZSBieSA4IGJpdHMgaXMgdHdpY2UgdG9vIG11Y2gKCSAgdG8gZ2V0IHRoZSBoaWdoIDQgYml0cy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MDk2MAoKMjAxMS0wOC0xNiAxNToyMjo0NiArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkgIGZsYWNkZWM6IHdhcm4gaWYgd2Ugc2VlIGEgdmFyaWFibGUgYmxvY2sgc2l6ZSB3aGVyZSB1bnN1cHBvcnRlZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUwOTYwCgoyMDExLTA4LTE2IDE4OjI1OjI5ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJICBzcGVjdHJ1bTogYXZvaWQgY3Jhc2hpbmcgYnkgcmVzZXR0aW5nIHRoZSBjb3JyZWN0IG51bWJlciBvZiBjaGFubmVscwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU2NjA2CgoyMDExLTA4LTE2IDE4OjM1OjUzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoJICBDb25mbGljdHM6CgkgIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYwoKMjAxMS0wOC0xNiAxMzoxNjoyMiArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IGZpeCBvZmYgYnkgb25lIGluIGZyYW1lIHNpemUgY2hlY2sKCSAgWWVzLCBJIHdhcyB0cmFja2luZyBhbm90aGVyIGJ1ZyBhbmQgdGhlIHNtYWxsIHRlc3QgZmlsZSBJIGdlbmVyYXRlZAoJICB0byB0ZXN0IHdpdGggaW1wcm9iYWJseSBqdXN0IGhhcHBlbmVkIHRvIHRyaWdnZXIgdGhpcywgd2l0aCBhIHNlY29uZAoJICBhbmQgbGFzdCBmcmFtZSBvZiAxNjE1IGJ5dGVzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU2NjQ5CgoyMDExLTA4LTE1IDEyOjE5OjE0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcGFyc2VyLmM6CgkgIHRlc3RzOiB1cGRhdGUgZm9yIF9uZWdvdGlhdGVkX2NhcHMoKSBjaGFuZ2UKCjIwMTEtMDgtMTQgMjA6NDY6MDEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lkM2RlbXV4L2lkM3YyLjMuMC5odG1sOgoJKiBnc3QvaWQzZGVtdXgvaWQzdjIuNC4wLWZyYW1lcy50eHQ6CgkqIGdzdC9pZDNkZW11eC9pZDN2Mi40LjAtc3RydWN0dXJlLnR4dDoKCSAgaWQzZGVtdXg6IHJlbW92ZSBzcGVjcyBmcm9tIGdpdCBhcyB3ZWxsIG5vdyB0aGF0IHBhcnNpbmcgY29kZSBpcyBpbiAtYmFzZQoKMjAxMS0wNy0xNCAxNTo0MjozNiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9pZDNkZW11eC9NYWtlZmlsZS5hbToKCSogZ3N0L2lkM2RlbXV4L2dzdGlkM2RlbXV4LmM6CgkqIGdzdC9pZDNkZW11eC9pZDN0YWdzLmM6CgkqIGdzdC9pZDNkZW11eC9pZDN0YWdzLmg6CgkqIGdzdC9pZDNkZW11eC9pZDN2MmZyYW1lcy5jOgoJICBpZDNkZW11eDogdXNlIC1iYXNlIHByb3ZpZGVkIGlkMyB0YWcgcGFyc2luZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU0Mzg4CgoyMDExLTA4LTEzIDE2OjUxOjIyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJICBqYWNrYXVkaW9zcmM6IGZpeCBlcnJvciBtZXNzYWdlIGNvZGUKCSAgQW5kIGFsc28gcG9zdCAnbm90IGZvdW5kJyBlcnJvciBpZiBqYWNrZCBpcyBub3QgZXZlbiBpbnN0YWxsZWQuCgoyMDExLTA4LTEyIDE2OjMyOjU4ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogaW5pdGlhbGl6ZSBiaXRyYXRlIHZhcmlhYmxlIGFuZCByZXNldCBmb3IgZWFjaCBsb29wCgkgIERvbid0IGNoZWNrIGV2ZW50dWFsbHkgdW5zZXQgdmFyaWFibGUgYW5kIGRvbid0IGFjY2lkZW50aWFsbHkgdXNlIHZhbHVlcyBmcm9tIGxhc3QKCSAgY3ljbGUuCgoyMDExLTA4LTEwIDExOjI4OjI2ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hYWxpYi9nc3RhYXNpbmsuYzoKCSAgYWFzaW5rOiBSZW1vdmUgdW51c2VkIHZhcmlhYmxlcwoKMjAxMS0wOC0wOSAxMToyODoxNyArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IFByb3Blcmx5IGVycm9yIG91dCBpZiBTRFAgY29udGFpbnMgbm8gc3RyZWFtcwoJICBBbHNvIGZpeGVzIHVuaXRpYWxpemVkIHZhcmlhYmxlIGVycm9yIG9uIG1hY29zeC4KCjIwMTEtMDgtMDkgMDk6MDU6MzEgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzoKCSAgeGltYWdlc3JjOiBjbGVhciBmbGFncyBvbiBidWZmZXIgcmV1c2UKCSAgVGhpcyB3aWxsIGVuc3VyZSBhIGxvZ2ljYWxseSBuZXcgYnVmZmVyIGRvZXMgbm90IGtlZXAgZmxhZ3MgZnJvbQoJICBhIHByZXZpb3VzIHVzZSBvZiB0aGF0IGJ1ZmZlciAoZWcsIERJU0NPTlQgd291bGQgYmUgc2V0IG9uIHRoZSBmaXJzdAoJICBidWZmZXIsIGFuZCBtaXN0YWtlbmx5IGtlcHQgd2hlbiByZXVzZWQpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUzNzA5CgoyMDExLTA4LTA4IDEwOjU0OjI2ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMjogdGFrZSBjYXJlIG5vdCB0byBjaGFuZ2UgdGhlIGN1cnJlbnQgZm9ybWF0IHdoZXJlIGFwcHJvcHJpYXRlCgkgIFNvbWUgZHJpdmVycyBhcmUgYnVnZ3kgYXJlIHdpbGwgY2hhbmdlIHRoZSBjdXJyZW50IGZvcm1hdCB3aGVuCgkgIHByb2Nlc3NpbmcgVklESU9DX1RSWV9GTVQuIFNhdmUgYW5kIHJlc3RvcmUgdGhlIGN1cnJlbnQgZm9ybWF0CgkgIHRvIGVuc3VyZSB0aGUgZm9ybWF0IGlzIGtlcHQgdW5jaGFuZ2VkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQ5MDY3CgoyMDExLTA4LTA4IDE1OjI3OjExICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkgIHBvOiB1cGRhdGUgdHJhbnNsYXRpb25zCgoyMDExLTA4LTA4IDE1OjI2OjAwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hYWxpYi9NYWtlZmlsZS5hbToKCSAgYWFsaWI6IG1ha2Ugc3VyZSAtREdTVF9VU0VfVU5TVEFCTEVfQVBJIGlzIGRlZmluZWQKCSAgU28gd2UgZG9uJ3QgZ2V0IHdhcm5pbmdzLgoKMjAxMS0wOC0wOCAxNToyNTozMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9NYWtlZmlsZS5hbToKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9vdmVybGF5LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb292ZXJsYXkuaDoKCSAgdjRsMjogdXBkYXRlIGZvciBHc3RYT3ZlcmxheSA9PiBHc3RWaWRlb092ZXJsYXkgcmVuYW1lCgoyMDExLTA4LTA3IDEyOjIzOjI2ICswMjAwICBTam9lcmQgU2ltb25zIDxzam9lcmQuc2ltb25zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSAgdjRsMnNyYzogVXNlIGZyYWN0aW9uIGNvbXBhcmUgdXRpbCBmdW5jdGlvbi4KCSAgVXNlIHRoZSBmcmFjdGlvbiBjb21wYXJlIHV0aWxpdHkgdG8gY29tcGFyZSBmdW5jdGlvbiwgbm90IHRoZQoJICBoYW5kY3JhZnRlZCBvbmUuIFRoZSBoYW5kY3JhZnRlZCBvbmUgaXMgYnVnZ3kgYXMgaXQgZG9lc24ndCB0YWtlIGludG8KCSAgYWNjb3VudCByb3VuZGluZyBlcnJvci4gRm9yIGV4YW1wbGUgY29tcGFyaW5nIGEgZnJhbWVyYXRlIG9mIDIwLzEgb24gYQoJICBjYW1lcmEgY29uZmlndXJlZCBhcyAzMC8xIGZwcyB3b3VsZCB5aWVsZCB0cnVlOiAxID09ICgxICogMjApLzMwIGFuZCBub3QKCSAgcmUtY29uZmlndXJlIHRoZSBjYW1lcmEuIEZpeGVzICM2NTYxMDQKCjIwMTEtMDgtMDcgMTE6MTQ6NTAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmg6CgkgIHB1bHNlc3JjOiBhdm9pZCByYWNlIGluIHN0YXJ0aW5nCgkgIFNpbmUgdGhlIGJhc2UgY2xhc3Mgbm93IGRvZXMgdGhlIG5lZ290aWF0aW9uIGZyb20gdGhlIHN0cmVhbWluZyB0aHJlYWQgd2UgaGF2ZQoJICB0byBiZSBjYXJlZnVsIGFuZCBjaGVjayBpZiB0aGUgc3RyZWFtIGlzIHJlYWR5IGJlZm9yZSBjaGFuZ2luZyBpdHMgY29ya2VkIHN0YXRlLgoKMjAxMS0wOC0wNSAxMjoyNzoxOCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgY2hlY2s6IFVzZSBHU1RfQ0ZMQUdTIHdoZW4gYnVpbGRpbmcgdGVzdHMKCSAgRW5zdXJlcyB3ZSBoYXZlIHRoZSBwcm9wZXIgZGVmaW5lIGZvciB1c2luZyB1bnN0YWJsZSBBUEkKCjIwMTEtMDgtMDUgMDg6NTk6NTkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIGlzb21wNDogZml4dXAgYWZ0ZXIgc21hbGwgYXBpIGNoYW5nZXMKCSAgUG9ydCB0byByZWNlbnRseSBjaGFuZ2VkIGFwaSBzbyB0aGF0IGl0IGNvbXBpbGVzIGFnYWluLgoKMjAxMS0wOC0wNSAxMTozMjo0NSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QveTRtL01ha2VmaWxlLmFtOgoJICB5NG1lbmM6IE5vdyBkZXBlbmRzIG9uIGxpYmdzdHZpZGVvCgoyMDExLTA4LTA0IDE4OjQxOjI5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkgIHB1bHNlOiBtb3JlIGNsZWFudXBzCgoyMDExLTA4LTA0IDE4OjE1OjU1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkgIHB1bHNlc3JjOiBzbWFsbCBjbGVhbnVwcwoKMjAxMS0wOC0wNCAxNjozNTo0NiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgdjRsMnNyYzogY2FsbCBzZXRfY2FwcyBtZXRob2Qgb2YgYmFzZWNsYXNzCgkgIENhbGwgdGhlIGJhc2VjbGFzcyBzZXRfY2FwcyBmdW5jdGlvbiB0byBtYWtlIGl0IHNlbmQgdGhlIGNhcHMgZXZlbnQgYW5kCgkgIHByb3Blcmx5IHRyaWdnZXIgdGhlIG5lZ290aWF0aW9uIGZ1bmN0aW9ucy4KCjIwMTEtMDgtMDQgMTY6MjU6MDQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSAgcHVsc2VzcmM6IHNtYWxsIGNsZWFudXBzCgoyMDExLTA4LTA0IDE1OjI1OjIwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvZ29vbS9nc3Rnb29tLmM6CgkgIGdvb206IHBvcnQgdG8gbmV3IGNhcHMKCjIwMTEtMDgtMDQgMTM6NTI6MTggKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSAgdjRsMnNpbms6IFNpemUgdmFyaWFibGUgc2hvdWxkIGJlIGEgZ3VpbnQgYW5kIG5vdCBhIGdzaXplCgoyMDExLTA4LTA0IDEyOjUwOjAxICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgdjRsMjogYWN0aXZhdGUgdGhlIHBvb2wgaW4gZmFsbGJhY2sKCSAgV2hlbiBub2JvZHkgaXMgdXNpbmcgb3VyIHBvb2wsIGFjdGl2YXRlIGl0IG91cnNlbHZlcy4KCSAgQXZvaWQgbGVha2luZyB0aGUgYnVmZmVyIGFycmF5LgoJICBTZXQgZGVmYXVsdCBwb29sIGNvbmZpZ3VyYXRpb24gd2l0aCBjYXBzLgoJICBEb24ndCBrZWVwIGN1cnJlbnRfY2FwcywgY29yZSBkb2VzIHRoYXQgZm9yIHVzIG5vdy4KCjIwMTEtMDgtMDMgMjI6NTc6NDggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2ljbGVzL3ZpZGVvY3JvcC10ZXN0LmM6CgkgIGZpeCBjb21waWxhdGlvbgoJICBoYWwgZWxlbWVudHMgd2VyZSByZW1vdmVkLCByZW1vdmUgdGhlbSBmcm9tIGRvY3MgdG9vCgkgIGNoYW5nZSBleGFtcGxlIGZvciBwYWQtYmxvY2sgQVBJIChhY3R1YWxseSByZW1vdmUgdGhlIHBhZCBibG9jaywgYW4gYXBwbGljYXRpb24KCSAgc2hvdWxkIG5vdCBiZSBib3RoZXJlZCB3aXRoIHdvcmtpbmcgYXJvdW5kIGJ1Z3MgaW4gZWxlbWVudHMpCgoyMDExLTA4LTAzIDE4OjM3OjI3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkgIHBvcnQgdG8gbmV3IEFQSQoKMjAxMS0wOC0wMyAxODoyNTozMCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCSAgQ29uZmxpY3RzOgoJICBleHQvcHVsc2UvcHVsc2VzaW5rLmMKCSAgZXh0L3B1bHNlL3B1bHNlc3JjLmMKCSAgZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jCgkgIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmMKCSAgZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmMKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmMKCjIwMTEtMDgtMDMgMjI6NTA6MDUgKzEwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uaDoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLmM6CgkgIG1hdHJvc2thOiBSZWdpc3RlciBuZXcgZGVidWcgY2F0ZWdvcnkKCSAgUmVnaXN0ZXIgdGhlIG1hdHJvc2thcmVhZGNvbW1vbiBkZWJ1ZyBjYXRlZ29yeSB3aGVuIHRoZQoJICBwbHVnaW4gaXMgbG9hZGVkIHRvIGF2b2lkIGFzc2VydGlvbiBvdXRwdXQgd2hlbiBkZWJ1ZyBpcyB0dXJuZWQgb24uCgoyMDExLTA4LTAzIDEzOjM4OjAxICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2ljbGVzL2dka3BpeGJ1ZnNpbmstdGVzdC5jOgoJICB0ZXN0L2lja2xlczogUG9ydCBnZGtwaXhidWZzaW5rIHRlc3QKCjIwMTEtMDgtMDMgMTM6MzM6NTkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1dG9kZXRlY3QuYzoKCSAgUmV2ZXJ0ICJ0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbTogRGlzYWJsZSBhdXRvZGV0ZWN0IHRlc3QgdGVtcG9yYXJpbHksIHNvIHRoYXQgdGhlIGJ1aWxkIGJvdHMgdXBkYXRlIC1iYWQgYW5kIHRoZSByYW5rcyBvZiB1bnIuLi4iCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgNDc1YWVkOGFmNmQyYTU3YzFkMjE0OTBjODI0ZTc1NGE2YjIzNjdhOS4KCSAgSXQgd29uJ3QgY29uc2lkZXIgZWxlbWVudHMgZnJvbSBhbnl3aGVyZSBlbHNlIGFueW1vcmUKCjIwMTEtMDgtMDMgMTM6MTA6NDYgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3BhcnNlci5jOgoJICBjaGVjazogVXBkYXRlIHBhcnNlciBtaW5pLWxpYiB0byAwLjExIEFQSQoKMjAxMS0wOC0wMyAxMzowOTowNyArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBwby9QT1RGSUxFUy5pbjoKCSAgcG86IHVwZGF0ZSBmb3IgbW9kaWZpZWQgc291cmNlIGZpbGUgbG9jYXRpb24KCjIwMTEtMDgtMDMgMTM6MDg6NDMgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmUuYWM6IGNhaXJvX2dvYmplY3QgaXNuJ3QgcG9ydGVkIGVpdGhlcgoKMjAxMS0wOC0wMyAxMDo1OTo1NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L2hhbC9NYWtlZmlsZS5hbToKCSogZXh0L2hhbC9nc3RoYWxhdWRpb3NpbmsuYzoKCSogZXh0L2hhbC9nc3RoYWxhdWRpb3NpbmsuaDoKCSogZXh0L2hhbC9nc3RoYWxhdWRpb3NyYy5jOgoJKiBleHQvaGFsL2dzdGhhbGF1ZGlvc3JjLmg6CgkqIGV4dC9oYWwvZ3N0aGFsZWxlbWVudHMuYzoKCSogZXh0L2hhbC9nc3RoYWxlbGVtZW50cy5oOgoJKiBleHQvaGFsL2hhbC5jOgoJKiBleHQvaGFsL2hhbC5oOgoJICBoYWw6IFJlbW92ZSBoYWwgcGx1Z2luCgkgIGhhbCBpcyBub3QgZGV2ZWxvcGVkIGFueW1vcmUgYW5kIG5vYm9keSBpcyB1c2luZyB0aGUgcGx1Z2luIG5vd2FkYXlzLgoKMjAxMS0wNy0yOSAxMzowMzo1NSArMDIwMCAgUGhpbGlwcGUgTm9ybWFuZCA8cG5vcm1hbmRAaWdhbGlhLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBzb2Z0ZW4gYXNzZXJ0aW9uIGNoZWNrIG9uIHN0cmVhbSBzaXplCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTU1NzAKCjIwMTEtMDgtMDMgMTA6MDk6NDIgKzAyMDAgIFJvYmVydCBLcmFrb3JhIDxyb2Iua3Jha29yYUBtZXNzYWdlbmV0c3lzdGVtcy5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdwYXkuYzoKCSAgcnRwanBlZ3BheTogQWRkIHN1cHBvcnQgZm9yIEguMjY0IHBheWxvYWQgaW4gTUpQRUcgY29udGFpbmVyCgkgIFNlZSBodHRwOi8vd3d3LnF1aWNrY2FtdGVhbS5uZXQvdXZjLWgyNjQvVVNCX1ZpZGVvX1BheWxvYWRfSC4yNjRfMC44Ny5wZGYKCSAgRml4ZXMgYnVnICM2NTU1MzAuCgoyMDExLTA4LTAyIDIyOjA1OjA4IC0wNDAwICBUcmlzdGFuIE1hdHRoZXdzIDx0cmlzdGFuQHNhdC5xYy5jYT4KCgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5oOgoJICBqYWNrYXVkaW9zaW5rOiBEb24ndCBjYWxsIGdfYWxsb2NhKCkgaW4gcHJvY2Vzc19jYgoJICBnX2FsbG9jYSgpIGlzIG5vdCBSVC1zYWZlLCBzbyBpbnN0ZWFkIHdlIHNob3VsZCBhbGxvY2F0ZSB0aGUKCSAgbWVtb3J5IG5lZWRlZCBpbiBhZHZhbmNlLiBGaXhlcyAjNjU1ODY2CgoyMDExLTA4LTAzIDA4OjU4OjAwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBBZGQgaGFsIHRvIHRoZSBsaXN0IG9mIG5vbi1wb3J0ZWQgcGx1Z2lucwoKMjAxMS0wOC0wMyAwODo1MzoyNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogQWRkIG1vbm9zY29wZSB0byB0aGUgbGlzdCBvZiBub24tcG9ydGVkIHBsdWdpbnMKCjIwMTEtMDgtMDMgMDg6NTE6MTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VmZmVjdHYvZ3N0cXVhcmsuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0d2FycC5jOgoJICBlZmZlY3R2OiBGaXggdW51c2VkIGJ1dCBzZXQgdmFyaWFibGUgY29tcGlsZXIgd2FybmluZ3MKCjIwMTEtMDgtMDIgMjM6NDI6NTggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIGRvY3M6IGZpeCB0d28gbW9yZSBTaW5jZTogdGFncwoKMjAxMS0wNy0zMSAwNDoxOTowMCArMDMwMCAgTWFydCBSYXVkc2VwcCA8bGVpb0BnZW50b28ub3JnPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBGaXggU2luY2UgdGFncyBmb3IgZmllbGRhbmFseXNpcyByZWxhdGVkIG5ldyBwcm9wZXJ0aWVzCgkgIGNvbW1pdCBjMWIxMDBjZjljIGlzIGFmdGVyIDAuMTAuMjkgYW5kIDAuMTAuMzAgd2FzIGEgYnJhbmNoZWQgcmVsZWFzZS4KCSAgU28gZml4IFNpbmNlIHRhZ3MgZnJvbSAwLjEwLjI5IHRvIDAuMTAuMzEgZm9yIHRoZSBuZXcgcHJvcGVydGllcy4KCjIwMTEtMDgtMDIgMTE6NTE6NDUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc3BheS5jOgoJICBydHB2b3JiaXNwYXk6IGZpeCBwb3J0aW5nIGVycm9yCgoyMDExLTA4LTAyIDExOjI5OjQwICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlLmFjOiBEZWZpbmUgbGlzdCBvZiBub24tcG9ydGVkIHBsdWdpbnMKCjIwMTEtMDgtMDIgMTE6Mjk6MjUgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBVcGRhdGUgY29tbW9uIHN1Ym1vZHVsZQoKMjAxMS0wOC0wMiAxMToxNzozOCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZS5hYzogU29ydCBBR19HU1RfQ0hFQ0tfUExVR0lOIGFscGhhYmV0aWNhbGx5CgoyMDExLTA3LTI5IDE3OjI3OjA3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VmZmVjdHYvZ3N0d2FycC5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdkZXBheS5oOgoJICAtZ29vZDogZml4IGZvciBidWZmZXJwb29sIEFQSSBjaGFuZ2UKCjIwMTEtMDctMjkgMTc6MjE6MDMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIHY0bDogY2hhbmdlIGZvciBuZXcgQVBJCgoyMDExLTA3LTI5IDEzOjA1OjQyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBmaXggdmFyaWFibGUtc2V0LWJ1dC1ub3QtdXNlZCBjb21waWxlciB3YXJuaW5nIHdpdGggb2xkZXIgcHVsc2UgdmVyc2lvbnMKCjIwMTEtMDctMjkgMTI6MDc6MjQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBwcm9wZXJseSBpbml0IHJ0Y3BfbWluX2ludGVydmFsCgoyMDExLTAzLTA5IDExOjA0OjM2ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5oOgoJKiBleHQvcHVsc2UvcHVsc2V1dGlsLmM6CgkgIHB1bHNlc2luazogQWRkIHN1cHBvcnQgZm9yIGNvbXByZXNzZWQgZm9ybWF0cwoJICBUaGlzIGFkZHMgc3VwcG9ydCBmb3IgdmFyaW91cyBjb21wcmVzc2VkIGZvcm1hdHMgKEFDMywgRS1BQzMsIERUUyBhbmQKCSAgTVAzKSBwYXlsb2FkZWQgaW4gSUVDIDYxOTM3IGZvcm1hdCAodXNlZCBmb3IgdHJhbnNtaXNzaW9uIG92ZXIgUy9QRElGLAoJICBIRE1JIGFuZCBCbHVldG9vdGgpLgoJICBUaGUgYWNjZXB0Y2FwcygpIGZ1bmN0aW9uIGFsbG93cyBiaW5zIHRvIHByb2JlIGZvciB3aGF0IGZvcm1hdHMgdGhlIHNpbmsKCSAgYmVpbmcgY29ubmVjdGVkIHRvIHN1cHBvcnQuIFRoaXMgb25seSB3b3JrcyBhZnRlciB0aGUgZWxlbWVudCBpcyBzZXQgdG8KCSAgYXQgbGVhc3QgUkVBRFkuCgkgIElmIHRoZSB1bmRlcmx5aW5nIHNpbmsgY2hhbmdlcyBhbmQgdGhlIGZvcm1hdCB3ZSBhcmUgc3RyZWFtaW5nIGlzIG5vdAoJICBhdmFpbGFibGUsIHdlIGVtaXQgYSBtZXNzYWdlIHRoYXQgd2lsbCBhbGxvdyB1cHN0cmVhbSBlbGVtZW50cy9iaW5zIHRvCgkgIGJsb2NrIGFuZCByZW5lZ290aWF0ZSBhIG5ldyBmb3JtYXQuCgoyMDExLTAzLTAxIDE1OjM0OjQ2ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJKiBleHQvcHVsc2UvcHVsc2V1dGlsLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXV0aWwuaDoKCSAgcHVsc2VzaW5rOiBVc2UgdGhlIGV4dGVuZGVkIHN0cmVhbSBBUEkgaWYgYXZhaWxhYmxlCgkgIFRoaXMgdXNlcyB0aGUgbmV3IGV4dGVuZGVkIEFQSSBmb3IgY3JlYXRpbmcgc3RyZWFtcy4gVGhpcyB3aWxsIGFsbG93IHVzCgkgIHRvIHN1cHBvcnQgY29tcHJlc3NlZCBmb3JtYXRzIG5hdGl2ZWx5IGluIHB1bHNlc2luayBhcyB3ZWxsLgoKMjAxMS0wNy0yOSAwMDowNzo1MiArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmg6CgkgIHB1bHNlc3JjOiBBZGQgYSBzb3VyY2Utb3V0cHV0LWluZGV4IHByb3BlcnR5CgkgIFRoaXMgZXhwb3NlcyB0aGUgc291cmNlIG91dHB1dCBpbmRleCBvZiB0aGUgcmVjb3JkIHN0cmVhbSB0aGF0IHdlIG9wZW4KCSAgc28gdGhhdCBjbGllbnRzIGNhbiB1c2UgdGhpcyB3aXRoIHRoZSBpbnRyb3NwZWN0aW9uIGlmIHRoZXkgd2FudCAodG8KCSAgbW92ZSB0aGUgc3RyZWFtLCBmb3IgZXhhbXBsZSkuCgoyMDExLTA3LTI4IDE0OjQ0OjU3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJICBydHBzc3JjZGVtdXg6IGtlZXAgYSByZWYgb24gdGhlIHNyYyBwYWQgd2hpbGUgdXNpbmcgaXQKCSAgUHJldmVudCBhIHBvc3NpYmxlIHJhY2UgaWYgY2xlYXJfc3NyYygpIGlzIGNhbGxlZCBiZXR3ZWVuIGdldHRpbmcgdGhlIHBhZCBhbmQKCSAgZG9pbmcgdGhlIHB1c2guCgkgIEJhc2VkIG9uIHBhdGNoIGJ5IDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTA5MTYKCjIwMTEtMDUtMjQgMTE6Mjk6NTcgKzAzMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4Lmg6CgkgIHJ0cHNzcmNkZW11eDogTWFrZSB0aGUgcGFkcyBsb2NrIHJlY3Vyc2l2ZSBhbmQgaG9sZCBpdCBhY3Jvc3MgdGhlIHNpZ25hbCBlbWl0CgkgIFdlIG5lZWQgdG8ga2VlcCB0aGUgbG9jayBoZWxkIGJlY2F1c2Ugd2UgZG9uJ3Qgd2FudCBhIHB1c2ggYmVmb3JlIHRoZSAibmV3LXNzcmMtcGFkIgoJICBoYW5kbGVyIGhhcyBjb21wbGV0ZWQuIEJ1dCB3ZSBtYXkgd2FudCB0byBwdXNoIGFuIGV2ZW50IGZyb20gaW5zaWRlIHRoYXQgaGFuZGxlciwgaGVuY2UKCSAgdGhlIHJlY3Vyc2l2ZSBtdXRleC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MDkxNgoKMjAxMS0wNS0yNCAxMToxNzoyNSArMDMwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJICBydHBzc3JjZGVtdXg6IFVzZSBQQURzIGxvY2sKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MDkxNgoKMjAxMS0wNy0yOCAxMTowOTowOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6CgkgIHNwZWV4OiB1cGRhdGUgZm9yIHBvc2l0aW9uL3F1ZXJ5L2NvbnZlcnQgQVBJIGNoYW5nZXMKCjIwMTEtMDctMjggMTA6NTQ6MzggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJKiBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLmM6CgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0bmF2c2Vlay5jOgoJKiBnc3QvZGVidWd1dGlscy9wcm9ncmVzc3JlcG9ydC5jOgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgZ3N0OiB1ZHBhdGUgZm9yIHBvc2l0aW9uL2R1cmF0aW9uL2NvbnZlcnQgcXVlcnkgQVBJIGNoYW5nZXMKCjIwMTEtMDctMjggMDA6Mzc6MTMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogZml4IGNvbXBpbGVyIHdhcm5pbmcKCSAgZ3N0YXZpZGVtdXguYzogSW4gZnVuY3Rpb24gJ2dzdF9hdmlfZGVtdXhfcGFyc2Vfc3RyZWFtJzoKCSAgZ3N0YXZpZGVtdXguYzoxMjYxOjI0OiBlcnJvcjogJ2RhdGEnIG1heSBiZSB1c2VkIHVuaW5pdGlhbGl6ZWQgaW4gdGhpcyBmdW5jdGlvbiBbLVdlcnJvcj11bmluaXRpYWxpemVkXQoJICBnc3RhdmlkZW11eC5jOjEyMDQ6MTE6IG5vdGU6ICdkYXRhJyB3YXMgZGVjbGFyZWQgaGVyZQoKMjAxMS0wNy0yNyAxODoxNToyMCArMDEwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkLnNpbW9uc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5oOgoJICBydHBoMjY0ZGVwYXk6IENvcGUgd2l0aCBGVS1BIEUgYml0IG5vdCBiZWluZyBzZXQKCSAgU29tZSBoMjY0IHBheWxvYWRlcnMgYXJlIHVuZm9ydHVuYXRlbHkgYnVnZ3kgYW5kIGRvbid0IGNvcnJlY3RseSBzZXQgdGhlCgkgIEUgYml0IGluIEZVLUEgTkFMIHdoZW4gdGhleSBoYXZlIGVuZGVkLiBXb3JrIGFyb3VuZCB0aGlzIGJ5IGFzc3VtaW5nCgkgIHN1Y2ggYSBmcmFnbWVudGF0aW9uIHVuaXQgaGFzIGVuZGVkIHdoZW4gdGhlcmUgd2FzIG5vIHBhY2tldCBsb3NzIGFuZCBhCgkgIG5ldyBOQUwgaXMgc3RhcnRlZAoKMjAxMS0wNC0xMiAxNzowMTo0NyArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuaDoKCSAgYWMzcGFyc2U6IFN1cHBvcnQgc3dpdGNoaW5nIGFsaWdubWVudCBvbi10aGUtZmx5CgkgIFRoaXMgYWxsb3dzIHN3aXRjaGluZyBvZiBhbGlnbm1lbnQgZm9yIEUtQUMzIHN0cmVhbXMgYXQgcnVuLXRpbWUuIFRoaXMKCSAgaXMgcmVxdWVzdGVkIGJ5IGRvd25zdHJlYW0gZWxlbWVudHMgdmlhIGEgY3VzdG9tIGV2ZW50LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUwMzEzCgoyMDExLTA3LTI3IDE2OjQ2OjQ2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgdjRsMjogcmVtb3ZlIHVudXNlZCB2YXJpYWJsZXMKCSAgVXNlIHRoZSBtb3JlIHNwZWNpYWxpemVkIHR5cGUgZm9yIHRoZSBidWZmZXJwb29sLgoJICBVc2UgdGhlIHNpemUgZnJvbSB0aGUgZHJpdmVyIGFzIHRoZSBzaXplIG9mIHRoZSBpbWFnZSB0byByZWFkLgoJICBEb24ndCBjb25maWd1cmUgdGhlIHBvb2wgd2hlbiBjcmVhdGVkLiBUaGlzIHdpbGwgYmUgZG9uZSBpbiB0aGUgc2V0dXBfYWxsb2NhdGlvbgoJICBtZXRob2QgbGF0ZXIgb3IgYnkgdXBzdHJlYW0gZm9yIHNpbmtzLgoJICBSZW1vdmUgdW51c2VkIHByb3BlcnRpZXMgYW5kIHZhcmlhYmxlcy4gQnVmZmVycG9vbCBzaXplcyBhcmUgbm93IGNvbmZpZ3VyZWQgaW4KCSAgdGhlIGJ1ZmZlcnBvb2wgYnkgdGhlIGVsZW1lbnRzIGluIHRoZSBwaXBlbGluZS4gV2UgbWlnaHQgd2FudCB0byBpbmZsdWVuY2UgdGhlCgkgIHBvb2wgc2l6ZSBsYXRlciBzb21laG93LgoKMjAxMS0wNy0yNyAxMzo0NjowOSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmg6CgkgIHY0bDJidWZmZXJwb29sOiByZW1vdmUgdW51c2VkIHZhcmlhYmxlCgoyMDExLTA3LTI3IDEzOjQzOjA4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICB2NGwyc3JjOiBhZGQgbWV0YWRhdGEKCjIwMTEtMDctMjcgMTM6NDE6MjggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5oOgoJICBidWZmZXJwb29sOiBjaGVjayBmb3IgbWV0YWRhdGEKCSAgT25seSBhZGQgdmlkZW8gbWV0YWRhdGEgd2hlbiBpdCB3YXMgY29uZmlndXJlZCBpbiB0aGUgcG9vbC4gRmFpbCBpZiB0aGVyZSB3YXMgbm8KCSAgdmlkZW8gbWV0YWRhdGEgY29uZmlndXJlZCBhbmQgdGhlIHN0cmlkZXMgYXJlIG5vdCB0aGUgZGVmYXVsdCBvbmVzLgoKMjAxMS0wNy0yNyAxMjo0MjoyMSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lZmZlY3R2L2dzdHdhcnAuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0d2FycC5oOgoJICB3YXJwOiBhZGQgc3RyaWRlIHN1cHBvcnQKCjIwMTEtMDctMjcgMTI6NDE6MzMgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDI6IGFkZCBjb2xvcnNwYWNlIHRvIGRlYnVnCgoyMDExLTA3LTI2IDE3OjQ1OjAxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkgIHJ0cDogZml4IGNvbXBpbGF0aW9uCgoyMDExLTA3LTI2IDE2OjE1OjA1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgdjRsMjogcmVuYW1lIGEgdmFyaWFibGUKCSAgUmVuYW1lIHRoZSBzaXplIHZhcmlhYmxlIHRvIHNpemVpbWFnZSBhbmQgZmlsbCBpdCB3aXRoIHRoZSBzaXplIHRoYXQgaGFzIGJlZW4KCSAgZ2l2ZW4gdG8gdXNlIGJ5IHRoZSB2NGwyIGRyaXZlciBpbnN0ZWFkIG9mIG1ha2luZyBzb21ldGhpbmcgdXAuLgoKMjAxMS0wNy0yNiAxMzoxODo1NSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkgIHY0bDI6IHVzZSBuZXcgc2V0dXBfYWxsb2NhdGlvbiB2bWV0aG9kCgoyMDExLTA3LTI2IDEwOjU2OjA3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMjogaW1wbGVtZW50IG1vcmUgYml0cyBvZiBSVyBJL08gbW9kZQoJICBJbXBsZW1lbnQgdGhlIHJlbGFlc2Ugb2YgUlcgYnVmZmVycyBpbiB0aGUgcG9vbC4KCSAgV2FybiBmb3IgdW5zdXBwb3J0ZWQgd3JpdGUoKSBtb2RlIGZvciBzaW5rcy4KCjIwMTEtMDctMjYgMTA6NTQ6MjMgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDI6IGltcHJvdmUgSU8gbW9kZSBlcnJvciBoYW5kbGluZwoJICBFcnJvciBvdXQgd2hlbiBhbiB1bnN1cHBvcnRlZCBJTyBtb2RlIHdhcyBzZWxlY3RlZAoKMjAxMS0wNC0wOSAxMjoyNjo1NiArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYWMzcGFyc2UuYzoKCSAgYWMzcGFyc2U6IEFkZCBzdXBwb3J0IGZvciBJRUMgNjE5MzcgYWxpZ25tZW50CgkgIFdoZW4gcHVzaGluZyBvdXQgYnVmZmVycyBvdmVyIFMvUERJRiBvciBIRE1JLCBJRUMgNjE5MzcgcGF5bG9hZGluZwoJICByZXF1aXJlcyBlYWNoIGJ1ZmZlciB0byBjb250YWluIDYgYmxvY2tzIGZyb20gZWFjaCBzdWJzdHJlYW0uIFRoaXMgYWRkcwoJICBjb2RlIHRvIGNvbGxlY3QgYWxsIHRoZSBmcmFtZXMgbmVlZGVkIHRvIG1lZXQgdGhpcyByZXF1aXJlbWVudCBiZWZvcmUKCSAgcHVzaGluZyBvdXQgYSBidWZmZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTAzMTMKCjIwMTEtMDYtMDggMTU6NTc6MzcgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgcnRwc2Vzc2lvbjogQWx3YXlzIHNlbmQgYXBwbGljYXRpb24gcmVxdWVzdGVkIGZlZWRiYWNrIGluIGltbWVkaWF0ZSBtb2RlCgkgIFNlbmQgYXMgbWFueSBhcHBsaWNhdGlvbiByZXF1ZXN0ZWQgZmVlZGJhY2sgbWVzc2FnZXMgaW4gaW1tZWRpYXRlIG1vZGUsIGV2ZW4gaWYgdGhleQoJICBoYXZlIGFscmVhZHkgYmVlbiBzZW50LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU0NTgzCgoyMDExLTA2LTA4IDE0OjQ4OjAxIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBEb24ndCBsZXQgdGhlIGNvbXB1dGVkIFJUUCBiYW5kd2lkdGggZmFsbCB0b28gbG93CgkgIElmIGl0IGZhbGxzIHRvbyBsb3csIHRoZSBjb21wdXRlZCBSVENQIGJhbmR3aWR0aCB3aWxsIGJlIG5lYXIgemVybyBhbmQKCSAgdGhlIFJUQ1AgdGhyZWFkIHdpbGwgYmUgc3RvcHBlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1NDU4MwoKMjAxMS0wNC0yNSAxNjoxMzozOCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBXYWl0IGxvbmdlciB0byB0aW1lb3V0IFNTUkMgY29sbGlzaW9uCgkgIFVzaW5nIHRoZSBjdXJyZW50IFJUQ1AgaW50ZXJ2YWwgdG8gdGltZW91dCBTU1JDIGNvbGxpc2lvbiBjYW4gbGVhZCB0bwoJICBjb2xsaXNpb25zIGJlaW5nIHRpbWVkIG91dCBpbW1lZGlhdGVseSBpZiBhIEJZRSBwYWNrZXQgaXMgc2VudCBiZWNhdXNlCgkgIGl0IGlzIHNlbnQgaW1tZWRpYXRlbHksIHNvIHRoZSBpbnRlcnZhbCBpcyAwLiBUaGlzIGlzIG5vdCB3aGF0IHdlCgkgIHdhbnQuIFNvIGp1c3Qgc2V0IGEgc3RhdGljIDEwIHRpbWVzIHRoZSBkZWZhdWx0IFJUQ1AgaW50ZXJ2YWwsIGl0CgkgIHNob3VsZCBiZSBlbm91Z2gKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0ODY0MgoKMjAxMS0wNy0yNSAxNTo1MToyMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmg6CgkgIHY0bDI6IHJlbW92ZSB1bnVzZWQgbWV0aG9kCgoyMDExLTA3LTI1IDE1OjM4OjM4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyOiBmaXggZmx1c2hpbmcgc3RhcnQgYW5kIHN0b3AKCSAgTW92ZSB0aGUgZmx1c2hpbmcgY2FsbHMgdG8gdGhlIHJpZ2h0IHBsYWNlIGluIHRoZSBidWZmZXJwb29sLgoJICBGaXggdGhlIG1pbiBhbmQgbWF4IGJ1ZmZlciBzaXplcy4KCjIwMTEtMDctMjUgMTQ6NDc6MDUgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5oOgoJICB2NGwyOiBkZXF1ZXVlIGJ1ZmZlcnMgd2hlbiBhbGwgYXJlIHF1ZXVlZAoJICBQcmVmZXIgdG8gYWx3YXlzIHVzZSB0aGUgZGVmYXVsdCBidWZmZXJwb29sIHF1ZXVlIGZvciB0aGUgX2FjcXVpcmUgZnVuY3Rpb24KCSAgYmVjYXVzZSBpdCBwcm9wZXJseSBzdXBwb3J0cyB1bmJsb2NraW5nIHdoZW4gc2V0dGluZyBpbmFjdGl2ZSBldGMuIEFzIGEgcmVzdWx0LAoJICB3ZSBuZWVkIHRvIGRlcXVldWUgYnVmZmVycyBhbmQgcHV0IHRoZW0gYmFjayBpbiB0aGUgYnVmZmVycG9vbCBxdWV1ZSB3aGVuIHdlCgkgIGhhdmUgcXVldWVkIGFsbCBidWZmZXJzIGluIHRoZSBzaW5rLgoJICBSZW5hbWUgc29tZSB2YXJpYWJsZXMgdG8gbW9yZSBtZWFuaW5nZnVsbCBuYW1lcyB0byBhdm9pZCBhIHByb2JsZW0gd2l0aAoJICBmcmVlaW5nIHRoZSB3cm9uZyBhbW91bnQgb2YgYnVmZmVycy4KCjIwMTEtMDctMTkgMTM6Mzg6MDEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBzZXQgU09VUkNFIGZsYWcgYXQgaW5pdCB0aW1lCgkgIEZpeGVzICM2NTQ4MTYuCgoyMDExLTA3LTI1IDEwOjEwOjU4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VmZmVjdHYvZ3N0dmVydGlnby5jOgoJICB2ZXJ0aWdvdHY6IGFkZCBzdHJpZGUgc3VwcG9ydAoKMjAxMS0wNy0xOSAxODoyNToyOSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDI6IG9ubHkgdG8gU1RSRUFNT0ZGIHdoZW4gc3RyZWFtaW5nCgkgIE9ubHkgY2FsbCBTVFJFQU1PRkYgd2hlbiB3ZSBwcmV2aW91c2x5IGNhbGxlZCBTVFJFQU1PTgoKMjAxMS0wNy0yMiAyMToyNjozMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9yZXBsYXlnYWluL2dzdHJnYW5hbHlzaXMuYzoKCSAgcmVwbGF5OiBmaXggZm9yIGV2ZW50IGhhbmRsZXIKCjIwMTEtMDctMjIgMjE6MTk6NDUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWZpcmZpbHRlci5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RuYXZzZWVrLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL3Byb2dyZXNzcmVwb3J0LmM6CgkgIGZpeGVzIGZvciBldmVudCBoYW5kbGVyIGNoYW5nZXMKCjIwMTEtMDctMTggMTY6NDY6MjcgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOgoJICBydHBoMjY0ZGVwYXk6IENvbXBsZXRlIG1lcmdlZCBBVSBvbiBtYXJrZXIgYml0CgkgIFRoZSBtYXJrZXIgYml0IG9uIGEgUlRQIHBhY2tldCBtZWFucyB0aGUgQVUgaGFzIGJlZW4gY29tcGxldGVkLCBzbyBwdXNoIGl0IG91dAoJICBpbW1lZGlhdGVseSB0byByZWR1Y2UgdGhlIGxhdGVuY3kuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTQ4NTAKCjIwMTEtMDctMTggMjA6Mjc6MzggLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5Lmg6CgkgIHJ0cGgyNjRwYXk6IE9ubHkgc2V0IHRoZSBtYXJrZXIgYml0IG9uIHRoZSBsYXN0IE5BTFUgb2YgYSBtdWx0aS1OQUxVIGFjY2VzcyB1bml0CgkgIEFuIGFjY2VzcyB1bml0IGNvdWxkIGNvbnRhaW4gbXVsdGlwbGUgTkFMIHVuaXRzLCBpbiB0aGF0IGNhc2UsIG9ubHkgdGhlIGxhc3QKCSAgUlRQIHBhY2tldCBvZiB0aGUgbGFzdCBOQUxVIHNob3VsZCBoYXZlIGl0cyBtYXJrZXIgYml0IHNldC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1NDg1MAoKMjAxMS0wNy0yMCAwODo1Mjo1OCArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydG11eC5jOgoJICBtdWx0aXBhcnQ6IGZpeCBjb21waWxlciB3YXJuaW5nCgoyMDExLTA3LTE5IDE4OjIwOjQzICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJICB2NGwyOiBoYW5kbGUgdW5zdXBwb3J0ZWQgZm9ybWF0cwoKMjAxMS0wNy0xOSAxNjo1OTo1NSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJICB2NGwyOiBGaXggc2luayBidWZmZXJwb29sIGhhbmRsaW5nCgkgIFJlbW92ZSBvbGQgbWV0aG9kLCB1c2UgbmV3dyBfcHJvY2VzcyBtZXRob2QgZm9yIHRoZSBzaW5rLgoJICBJbmZvcm0gdGhlIHBhcmVudCBidWZmZXJwb29sIGNsYXNzIGFib3V0IHRoZSBzZXR0aW5ncyB0b28uIFRoaXMgaXMgbmVlZGVkIHRvIGxldAoJICBpdCBrbm93IGFib3V0IHRoZSBtYXgtYnVmZmVycy4KCSAgQWxsb2NhdGUgdGhlIG5lZ290aWF0ZWQgbWF4LWJ1ZmZlcnMgYW5kIGluaXRpYWxseSBtbWFwIG1pbi1idWZmZXJzLiBUaGUgaWRlYSBpcwoJICB0aGF0IHRoZSBidWZmZXJwb29sIHdpbGwgYWxsb2NhdGUgbW9yZSB3aGVuIG5lZWRlZC4KCSAgSW1wcm92ZSBkZWJ1Z2dpbmcuCgkgIE9ubHkgcG9sbCBpbiBjYXB0dXJlIG1vZGUsIGl0IGRvZXMgbm90IHNlZW0gdG8gd29yayBpbiBwbGF5YmFjayBtb2RlIG9uIHRoaXMKCSAgYmVhZ2xlYm9hcmQuCgoyMDExLTA3LTE5IDEyOjA1OjUxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdXBhcnNlL2dzdGF1cGFyc2UuYzoKCSAgYXVwYXJzZTogYXZvaWQgaGFuZ2luZyBvbiBpbnZhbGlkIHNob3J0IGlucHV0CgkgIC4uLiBhcyBpbiBzdWNoIGNhc2UgdGhlcmUgaXMgbm8gc3JjcGFkIHlldCBvbiB3aGljaCB0byBmb3J3YXJkIEVPUy4KCjIwMTEtMDctMTggMTU6MTM6MzMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkgIHB1bHNlc3JjOiBGaXggZGVmYXVsdCB2YWx1ZSBsZWFraW5nCgkgIFJlbWVtYmVyIHRvIGZyZWUgdGhlIGRlZmF1bHQgdmFsdWUgb2YgY2xpZW50IG5hbWUsIGF2b2lkaW5nIGEKCSAgbGVhawoKMjAxMS0wNy0xOCAxODo1NDo0OSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuaDoKCSAgdjRsMjogTW9yZSB3b3JrIG9uIGJ1ZmZlcnBvb2xzCgkgIEFkZCBkaWZmZXJlbnQgdHJhbnNwb3J0IG1ldGhvZHMgdG8gdGhlIGJ1ZmZlcnBvb2wgKE1NQVAgYW5kIFJFQUQvV1JJVEUpCgkgIERvIG1vcmUgcGFyc2luZyBvZiB0aGUgYnVmZmVycG9vbCBjb25maWcuCgkgIFN0YXJ0IGFuZCBzdG9wIHN0cmVhbWluZyBiYXNlZCBvbiB0aGUgYnVmZmVycG9vbCBzdGF0ZS4KCSAgTWFrZSBzZXBhcmF0ZSBtZXRob2RzIGZvciBnZXR0aW5nIGEgYnVmZmVyIGZyb20gdGhlIHBvb2wgYW5kIGZpbGxpbmcgaXQgd2l0aAoJICBkYXRhLiBUaGlzIGFsbG93cyB1cyB0byBmaWxsIGJ1ZmZlcnMgZnJvbSBvdGhlciBwb29scyB0b28uIEVpdGhlciB1c2UgY29weSBvcgoJICByZWFkIHRvIGZpbGwgdXAgdGhlIHRhcmdldCBidWZmZXJzLgoJICBBZGQgcHJvcGVydHkgdG8gZm9yY2UgYSB0cmFuc2ZlciBtb2RlIGluIHY0bDJzcmMuCgkgIEluY3JlYXNlIGRlZmF1bHQgbnVtYmVyIG9mIGJ1ZmZlcnMgdG8gNC4KCSAgTmVnb3RpYXRlIGJ1ZmZlcnBvb2wgYW5kIGl0cyBwcm9wZXJ0aWVzIGluIHY0bDJzcmMuCgoyMDExLTA3LTE4IDE0OjI0OjQ4ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkgIHJ0cGgyNjRkZXBheTogcmVzZXQgdXBvbiBGTFVTSF9TVE9QCgkgIC4uLiB3aGljaCBpcyBwYXJ0aWN1bGFybHkgbmVlZGVkIHdoZW4gbWVyZ2luZyBOQUwgdW5pdHMsIHdoZXJlIG5vdCByZXNldHRpbmcKCSAgd291bGQgbGVhZCB0byBvdXRwdXQgb2YgYW4gb2xkZXIgKHByZS1mbHVzaCkgQVUgKHdpdGggdW5pbnRlbmRlZCB0aW1lc3RhbXApLgoKMjAxMS0wNy0xOCAxNDozMDo1MSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSAgbXVsdGlmaWxlc2luazogZG8gbm90IHVzZSBnX3NsaXN0X2ZyZWVfZnVsbAoJICAuLi4gYXMgdGhhdCBpcyBvbmx5IGluIEdMaWIgMi4yOCwgd2hpY2ggaXMgbm90IHlldCByZXF1aXJlZCBhdCB0aGlzIHRpbWUuCgoyMDExLTA3LTE4IDEwOjUyOjIzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkgIHY0bDI6IGFkZCBJTyBtZXRob2QgZW51bQoKMjAxMS0wNy0xOCAxMDo1MToyMSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIGJ1ZmZlcnBvb2w6IGltcHJvdmUgX25ldyBmdW5jdGlvbgoKMjAxMS0wNy0xOCAwOTozODoyNiArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL211bHRpZmlsZS5jOgoJICBtdWx0aWZpbGVzaW5rOiBhZGQgbWF4LWZpbGVzIHByb3BlcnR5CgkgIEFkZCBtYXgtZmlsZXMgcHJvcGVydHkgdG8gbGltaXQgdGhlIG51bWJlciBvZiBmaWxlcyBzYXZlZCBvbiBkaXNrLgoJICBBUEk6IG11bHRpZmlsZXNpbms6Om1heC1maWxlcwoKMjAxMS0wNy0xNyAyMzozNjo1NSArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSAgbXVsdGlmaWxlc2luazogcmVmYWN0b3IgZmlsZSBvcGVuaW5nIGFuZCBjbG9zaW5nIGNvZGUKCjIwMTEtMDctMTYgMTk6Mzg6NTEgKzAyMDAgIEFsZXhleSBGaXNoZXIgPGJ1Zy10cmFja0BmaXNoZXItcHJpdmF0Lm5ldD4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBmaXggcGl4ZWwtYXNwZWN0LXJhdGlvIGlmIGhlYWRlciBoYXMgb25seSBvbmUgZGlzcGxheSB2YXJpYWJsZQoJICBDdXJyZW50IG1hdHJvc2thIGRlbXV4IGNhbGN1bGF0ZXMgdGhlIHBpeGVsIGFzcGVjdCByYXRpbyBvbmx5IGlmIGJvdGgKCSAgRGlzcGxheUhlaWdodCBhbmQgRGlzcGxheVdpZHRoIGFyZSBzZXQsIGJ1dCBpdCBpcyBsZWdhbCB0byB1c2Ugb25seQoJICBvbmUgdmFyaWFibGUgaWYgdGhlIG90aGVyIGlzIGVxdWFsIHRvIFBpeGVsV2lkdGggb3IgUGl4ZWxIZWlnaHQsIGF0CgkgIGxlYXN0IHRoZSBta2NsZWFuIHV0aWxpdHkgaXMgZG9pbmcgdGhhdC4gU28gdGhpcyBtYWtzZSBta2NsZWFuZWQKCSAgZmlsZXMgcGxheSBjb3JyZWN0bHkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTQ3NDQKCjIwMTEtMDctMTYgMjM6NDc6NTAgKzAxMDAgIEFudG9pbmUgSmFjb3V0b3QgPGFqYWNvdXRvdEBvcGVuYnNkLm9yZz4KCgkqIGdzdC9nb29tL3BsdWdpbl9pbmZvLmM6CgkgIGdvb206IGZpeCBidWlsZCBvbiBQUEMgb24gb3BlbmJzZAoJICBBIG1pc3Npbmcgc3lzL3BhcmFtLmggaW5jbHVkZSByZXN1bHRzIGluOgoJICAvdXNyL2luY2x1ZGUvc3lzL3Byb2MuaDo2NDogZXJyb3I6ICdNQVhMT0dOQU1FJyB1bmRlY2xhcmVkIGhlcmUgKG5vdCBpbiBhCgkgIGZ1bmN0aW9uKQoJICAvdXNyL2luY2x1ZGUvc3lzL3Byb2MuaDoyODU6IGVycm9yOiAnTUFYQ09NTEVOJyB1bmRlY2xhcmVkIGhlcmUgKG5vdCBpbiBhCgkgIGZ1bmN0aW9uKQoJICB3aGVuIGNvbXBpbGluZyBnb29tIG9uIG9wZW5ic2QvcHBjLiBXZSBjYW4ganVzdCByZW1vdmUgdGhlIHR3byBzeXMvIGluY2x1ZGVzCgkgIGhlcmUsIHRoZXkgYXJlIG5vdCBuZWVkZWQgZm9yIGFueXRoaW5nLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU0NzQ5CgoyMDExLTA3LTE1IDE3OjA2OjM5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoKMjAxMS0wNy0xNSAxNjo1NTo1MCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgdjRsMjogaW1wbGVtZW50IHNldHVwX2FsbG9jYXRpb24KCSAgSW1wbGVtZW50IHRoZSBzZXR1cF9hbGxvY2F0aW9uIHZtZXRob2QsIHdlJ2xsIGhvcGVmdWxseSBkbyBzb21ldGhpbmcgY2xldmVyIGluCgkgIHRoZXJlIGxhdGVyLgoKMjAxMS0wNy0xNSAxNjoyNjowNiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMjogaW1wcm92ZSBidWZmZXJwb29sIGNvbmZpZyBzZXR0aW5nCgkgIFBhc3MgdGhlIGNhcHMgYW5kIHRoZSBkZWZhdWx0IHZpZGVvIHNpemUgdG8gdGhlIGJ1ZmZlcnBvb2wgY29uZmlnLgoJICBEb24ndCBhY3RpdmF0ZSB0aGUgYnVmZmVycG9vbCwgdGhpcyB3aWxsIGJlIGRvbmUgYnkgdGhlIG9iamVjdCB0aGF0IGRlY2lkZXMgdG8KCSAgdXNlIHRoZSBidWZmZXJwb29sLgoJICBJbXByb3ZlIGRlYnVnZ2luZyBhbmQgZXJyb3IgcmVwb3J0aW5nLgoKMjAxMS0wNy0xNSAxMzo1MjozOCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDI6IGhhbmRsZSBkZXF1ZXVlaW5nIGNvcnJlY2x5CgkgIEZpcnN0IGNsZWFuIHVwIHRoZSBidWZmZXJzIGluIHRoZSBxdWV1ZSwgdGhlbiB0aGUgcmVtYWluaW5nIG9uZXMgaW4gdGhlCgkgIGRldmljZS4KCjIwMTEtMDctMTUgMTM6Mjk6NDIgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDI6IHVucmVmIGNvcGllZCBidWZmZXIKCSAgQWZ0ZXIgd2UgY29weSB0aGUgaW5jb21taW5nIGJ1ZmZlciB0byBvbmUgb2Ygb3VyIGJ1ZmZlcnBvb2wgYnVmZmVycywgdW5yZWYgdGhlCgkgIHRhcmdldCBidWZmZXIgYWZ0ZXIgcmVuZGVyaW5nIHNvIHRoYXQgaXQgaXMgcHV0IGJhY2sgaW4gdGhlIHBvb2wuCgoyMDExLTA3LTE1IDEzOjA3OjExICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuaDoKCSAgdjRsMjogZGVxdWV1ZSBidWZmZXJzIGZvciB0aGUgc2luawoJICBXaGVuIHdlIGhhdmUgYWxsIGJ1ZmZlcnMgcXVldWVkIGZvciBwbGF5YmFjayBhbmQgd2UgbmVlZCBhIG5ldyBlbXB0eSBidWZmZXIsCgkgIGRlcXVldWUgb25lIGFuZCByZXR1cm4gaXQuCgkgIFNldCB0aGUgcmlnaHQgc2l6ZSBmb3Igc2luayBidWZmZXJzLgoJICBJbXByb3ZlIGNvdW50aW5nIG9mIHF1ZXVlZCBidWZmZXJzLgoKMjAxMS0wNy0xNSAxMjozNToxNCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDI6IHVzZSB0aGUgcGFyZW50IHF1ZXVlIGZvciB0aGUgc2luawoJICBXZSB3YW50IHRvIG1haW50YWluIGEgcXVldWUgb2YgZnJlZSBidWZmZXJzIGZvciB0aGUgc2luaywgdXNlIHRoZSBwYXJlbnQgbWV0aG9kcwoJICB0byBkbyB0aGF0LgoKMjAxMS0wNy0xNSAxMjowMDo1NCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMjogZml4IGVycm9yIG1lc3NhZ2VzCgoyMDExLTA3LTE1IDExOjMwOjI1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSAgdjRsMjogYWRkIEFMTE9DQVRJT04gcXVlcnkgdG8gdGhlIHNpbmsKCjIwMTEtMDctMTUgMTE6Mjc6MTggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSAgdjRsMjogY29udmVydCB0byBHc3RCdWZmZXJQb29sCgkgIEV4dGVuZCBmcm9tIEdzdEJ1ZmZlclBvb2wuCgkgIEhhbmRsZSB0aGUgbGlmZXRpbWUgb2YgdGhlIHBvb2wgYnVmZmVycyBjb3JyZWN0bHkgd2l0aCB0aGUgc3RhcnQvc3RvcCB2bWV0aG9kcy4KCSAgTWFwIGFjcXVpcmUgYW5kIHJlbGVhc2UgZGlyZWN0bHkgdG8gUUJVRiBhbmQgRFFCVUYuIFdlIHN0aWxsIGV4cG9zZSBhbiBleHBsaWNpdAoJICBxYnVmIGZvciB0aGUgdjRsMnNpbmsgZm9yIG5vdy4KCjIwMTEtMDctMTUgMTE6MTg6MDMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkgIHY0bDI6IHJlbW92ZSBleHBlcmltZW50YWwgbWFya2VycwoKMjAxMS0wNy0xNCAyMDoxMDowMiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwcGNtYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtYXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbXVkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbXVwYXkuYzoKCSAgcnRwcGNtQXBheS9kZXBheTogU3RhdGljIGNsb2NrIHJhdGVzIG9uIHN0YXRpYyBwYXlsb2FkcywgZHluYW1pYyBvbiBkeW5hbWljCgkgIFBhcnRpYWxseSByZXZlcnRzIDM5N2RjNjBiCgoyMDExLTA3LTE0IDE2OjIxOjM2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyOiBtZXJnZSBjb2RlCgoyMDExLTA3LTE0IDE2OjEyOjE1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmg6CgkgIHY0bDI6IE1vdmUgb3V0cHV0IGRldGFpbHMgdG8gZGV2aWNlIG9iamVjdAoJICBNb3ZlIHRoZSBkZXRhaWxzIG9mIGhvdyBhIGJ1ZmZlciBpcyByZW5kZXJlZCB0byB0aGUgZGV2aWNlIG9iamVjdC4KCjIwMTEtMDMtMDQgMTU6NDE6MjIgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJICBydHBoMjY0cGF5OiBJbXBsZW1lbnQgZ2V0Y2FwcwoJICBDb252ZXJ0IHByb2ZpbGUtbGV2ZWwtaWQgZnJvbSBSVFAgY2FwcyBpbnRvIHZpZGVvL3gtaDI2NCBzdHlsZSBjYXBzICh3aXRoIHByb2ZpbGUgYW5kIGxldmVsKQoKMjAxMS0wNy0xMyAxODozMjowMCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL01ha2VmaWxlLmFtOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJ0dW5lci5jOgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkb3JpZW50LmM6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5oOgoJICB2NGwyOiBtb3ZlIGNhcHR1cmUgY29kZSB0byBkZXZpY2Ugb2JqZWN0CgkgIE1vdmUgdGhlIGRldGFpbHMgb2YgaG93IHRvIGNhcHR1cmUgdG8gdGhlIGRldmljZSBvYmplY3QuIFJlbW92ZSB0aGUKCSAgdjRsMnNyY19jYWxscy5bY2hdIGZpbGVzIGJlY2F1c2UgdGhleSBhcmUgZW1wdHkgbm93LgoJICBQcm92aWRlIHR3byBzaW1wbGUgbWV0aG9kcyB0byBnZXQgYW5kIHJldHVybiBhIGJ1ZmZlciB0byB0aGUgZGV2aWNlLgoJICBBbHNvIGRvIGEgc2xvdyBjb3B5IHdoZW4gdGhlIGJ1ZmZlciBpcyBub3QgZnJvbSBvdXIgcG9vbC4KCjIwMTEtMDctMTMgMTY6NTg6MDggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDI6IGFkZCBzb21lIG1vcmUgZGVidWcKCjIwMTEtMDctMTMgMTY6NTY6MjEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJICB2NGwyOiBzdG9wIHN0cmVhbWluZyBpbiBSRUFEWSBhbmQgTlVMTAoKMjAxMS0wNy0xMyAxNjo0MDozOSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMjogc3RhcnQgc3RyZWFtaW5nIGZvciB0aGUgb3V0cHV0IGFzIHdlbGwKCjIwMTEtMDctMTMgMTY6MzM6NTggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnJhZGlvLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5oOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuaDoKCSAgdjRsMjogTGV0IHRoZSBkZXZpY2Ugb2JqZWN0IG1hbmFnZSB0aGUgcG9vbAoJICBSZW5hbWUgc3RhcnQgYW5kIHN0b3AgbWV0aG9kcyB0byBvcGVuIGFuZCBjbG9zZSBiZWNhdXNlIHRoYXQgaXMgd2hhdCB0aGV5IGRvLgoJICBBZnRlciBzZXR0aW5nIHRoZSBmb3JtYXQgb24gdGhlIGRldmljZSBvYmplY3QsIHNldHVwIHRoZSBidWZmZXJwb29scy4gTW92ZSB0aGlzCgkgIGNvZGUgZnJvbSB0aGUgdjRsMnNyY19jYWxscy5jIGZpbGUsIGl0IGlzIHNoYXJlZCBiZXR3ZWVuIHNvdXJjZSBhbmQgc2luay4KCSAgTWFrZSBuZXcgZGV2aWNlIHN0YXJ0IGFuZCBzdG9wIG1ldGhvZCB0aGF0IG1lcmdlcyB2YXJpb3VzIGJpdHMgb2YgY29tbW9uIGNvZGUKCSAgc3ByZWFkIG92ZXIgc2V2ZXJhbCBmaWxlcy4KCjIwMTEtMDctMTMgMTM6NTI6MzAgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSAgdjRsMjogZG9uJ3Qgc3RvcmUgc3RyaWRlIGluIHRoZSB2aWRlb2luZm8KCSAgV2Ugd2FudCB0byBrZWVwIHRoZSBkZWZhdWx0IHN0cmlkZXMgaW4gdGhlIHZpZGVvaW5mby4gS2VlcCB0aGUgc3RyaWRlIG9mIHRoZQoJICB2aWRlbyBmcmFtZXMgc2VwYXJhdGUgc28gdGhhdCB3ZSBjYW4gdXNlIGJvdGggdG8gY29weSBhIHZpZGVvIGZyYW1lIGFuZCBkbwoJICBjb3JyZWN0IHN0cmlkZSBjb252ZXJzaW9uLgoKMjAxMS0wNy0xMyAxMzozODoxNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkgIHY0bDI6IFVzZSB2aWRlbyBmcmFtZSBjb3B5IGZvciByYXcgdmlkZW8KCSAgVXNlIHRoZSB2aWRlbyBmcmFtZSBjb3B5IEFQSSBmb3IgcmF3IHZpZGVvIGZyYW1lcyBzbyB0aGF0IHdlIGNvcHkgd2l0aCB0aGUgcmlnaHQKCSAgc3RyaWRlcy4KCjIwMTEtMDctMTMgMTM6Mzc6NTggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyOiBhZGQgdmlkZW8gbWV0YWRhdGEgdG8gcmF3IHZpZGVvIGJ1ZmZlcnMKCjIwMTEtMDctMTMgMTM6MTU6MDUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDI6IHNtYWxsIGNsZWFudXBzCgoyMDExLTA3LTEzIDEzOjAwOjQyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkgIHY0bDI6IGltcHJvdmUgY2FwcyBwYXJzaW5nCgkgIFVzZSBHc3RWaWRlb0luZm8gdG8gc3RvcmUgdGhlIHBhcnNlZCBjYXBzLgoJICBSZW1vdmUgb3V0c2l6ZSBmcm9tIHRoZSBjYXBzIHBhcnNpbmcgY29kZSwgaXQncyB3cm9uZyBiZWNhdXNlIGl0IGRvZXMgbm90IHVzZQoJICB0aGUgc3RyaWRlIGdpdmVuIGJ5IHRoZSBkcml2ZXIuCgoyMDExLTA3LTEzIDExOjQwOjExICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyOiB1c2UgZXJybm8KCjIwMTEtMDctMTMgMTE6MzY6NTQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDI6IGhhbmRsZSBFSU5WQUwgd2l0aG91dCBwb3N0aW5nIGEgd2FybmluZwoJICBFSU5WQUwgbWVhbnMgdGhhdCBhIGNhbGwgaXMgbm90IHN1cHBvcnRlZCwgd2Ugb25seSB3YW50IHRvIHBvc3QgYSBXQVJOSU5HIHdoZW4KCSAgc29tZXRoaW5nIGlzIHJlYWxseSB3cm9uZy4KCjIwMTEtMDctMTMgMTE6Mjk6MjYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDI6IG9ubHkgc2V0IGZyYW1lcmF0ZSBmb3IgY2FwdHVyZSBmb3Igbm93CgoyMDExLTA3LTEzIDExOjE5OjI4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5oOgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmg6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5oOgoJICB2NGwyOiBNb3ZlIGNvbmZpZ3VyYXRpb24gb2YgZnJhbWVyYXRlIHRvIF9zZXRfZm9ybWF0CgkgIE1vdmUgdGhlIGNvbmZpZ3VyYXRpb24gb2YgdGhlIGZyYW1lcmF0ZSB0byB3aGVyZSB3ZSBzZXQgdGhlIG90aGVyIGZvcm1hdAoJICBwYXJhbWV0ZXJzLgoJICBSZW1vdmUgaGFjayB0byBjaGVjayBpZiB0aGUgZGV2aWNlIGlzIGFjdGl2ZS4KCSAgU3RvcmUgc3RyZWFtcGFybSBpbiB0aGUgZGV2aWNlIGluZm8uCgkgIFVzZSBzb21lIG1hY3JvcyB0byBhY2Nlc3MgdGhlIGN1cnJlbnQgZGV2aWNlIGNvbmZpZ3VyYXRpb24uCgkgIFJlbW92ZSBzb21lIGR1cGxpY2F0ZSBmaWVsZHMgaW4gc3JjIGFuZCBzaW5rIGFuZCB1c2UgdGhlIGRldmljZSBjb25maWd1cmF0aW9uCgkgIGluc3RlYWQuCgoyMDExLTA3LTEyIDE5OjEzOjQ1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyOiBmaXggcmV0dXJuIHZhbHVlLi4uCgoyMDExLTA3LTEyIDE5OjAzOjMyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmg6CgkgIHY0bDI6IHNpbXBsaWZ5IHNldHRpbmcgdGhlIGNhcHR1cmUgZm9ybWF0CgkgIFBhc3MgdGhlIGNhcHMgdG8gdGhlIHNldF9mb3JtYXQgZnVuY3Rpb24gYW5kIG1ha2UgX3NldF9mb3JtYXQgcGFyc2UgdGhlIGNhcHMuCgkgIEFsc28ga2VlcCB0aGUgcGFyc2VkIHZhbHVlcyBpbiB0aGUgdjRsMm9iamVjdCBzbyB0aGF0IHdlIGNhbiByZWZlciB0byB0aGVtIHdoZW4KCSAgd2Ugd2FudC4KCjIwMTEtMDctMTIgMTg6NDE6NDcgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5oOgoJICB2NGwyOiByZW1vdmUgbW9yZSB1bnVzZWQgcGFyYW1ldGVycwoKMjAxMS0wNy0xMiAxODoyOTozNSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsOiBoYW5kbGUgb2JqZWN0IG91dCBvZiB0aGUgbm9ybWFsIGZsb3cKCjIwMTEtMDctMTIgMTg6MTM6NDIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJICB2NGwyOiBMZXQgdGhlIGJ1ZmZlcnBvb2wgb3duIHRoZSBWNGwyT2JqZWN0CgkgIEtlZXAgdHJhY2sgb2YgdGhlIGN1cnJlbnRseSBjb25maWd1cmVkIGZvcm1hdCBhbmQgc2V0dGluZyBpbiB0aGUKCSAgdjRsMm9iamVjdC4KCSAgUGFzcyB0aGUgdjRsMm9iamVjdCB0byB0aGUgYnVmZmVycG9vbCBjb25zdHJ1Y3RvciBzbyB0aGF0IHRoZSBidWZmZXJwb29sIGNhbgoJICBrbm93IGV2ZXJ5dGhpbmcgYWJvdXQgdGhlIGN1cnJlbnRseSBjb25maWd1cmVkIHNldHRpbmdzLiBUaGlzIGFsc28gYWxsb3dzIHVzCgkgIHRvIHJlbW92ZSBzb21lIGF3a3dhcmQgY29kZS4KCjIwMTEtMDctMTIgMTc6MDY6NDEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkgIHY0bDogcmVtb3ZlIGNhcHMgYXJndW1lbnQsIGl0J3Mgbm90IG5lZWRlZAoJICBSZW1vdmUgdGhlIGNhcHMgcGFyYW1ldGVyLCB3ZSBkb24ndCBuZWVkIGl0IGFueW1vcmUgYmVjYXVzZSB3ZSBkb24ndCBzZXQKCSAgY2FwcyBvbiBidWZmZXJzIGFueW1vcmUuCgoyMDExLTA3LTEyIDE2OjQ2OjIxICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSAgdjRsOiBwYXNzIHRoZSBieXRlc3BlcmxpbmUgYXJvdW5kCgkgIFdoZW4gc2V0dGluZyBhIGZvcm1hdCwgcmV0dXJuIHRoZSBieXRlc3BlcmxpbmUgdG8gdGhlIGNhbGxlciBzbyB0aGF0IGl0IGNhbiBiZQoJICB1c2VkIHRvIGFsbG9jYXRlIGJ1ZmZlcnMuCgoyMDExLTA3LTEyIDE2OjQzOjA0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgcG9vbDogbWFrZSBidWZmZXIgd3JpdGFibGUKCSAgV2UgbmVlZCB3cml0YWJsZSBidWZmZXJzIHdoZW4gd2UgbmVlZCB0byBkbyBhIHNsb3cgbWVtY3B5LgoKMjAxMS0wNy0xMiAxNTowNDozOCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGZpeCBzZWVraW5nIHJlZ3Jlc3Npb24KCSAgLi4uIGludHJvZHVjZWQgd2hlbiBzaHVmZmxpbmcgYXJvdW5kIGNvZGUgZm9yIHRoZSBhc3luYyBpbXBsZW1lbnRhdGlvbgoJICBieSBzZXR0aW5nIHN0YXRlIG9mIHNvdXJjZSAoYW5kIHVkcCBzb3VyY2VzKSBpbiBfcGxheSBiZWZvcmUgZG93bnN0cmVhbQoJICBmbHVzaGluZyBpcyB1bmRvbmUuCgoyMDExLTA3LTExIDE1OjIzOjQxICswMzAwICBSZW7DqSBTdGFkbGVyIDxyZW5lLnN0YWRsZXJAbm9raWEuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmg6CgkgIGFjM3BhcnNlOiBmaXggYnVmZmVyIGR1cmF0aW9uIG9uIGJsb2Nrcy1wZXItZnJhbWUgY2hhbmdlCgkgIFRoZSBnc3RfYmFzZV9wYXJzZV9zZXRfZnJhbWVfcmF0ZSBjYWxsIHdhcyBwcmVkaWNhdGVkIG9uIGEgY2hhbmdlIHRvCgkgIHNhbXBsZSByYXRlLCBkdXJhdGlvbiBvciBwcm9maWxlLiBIb3dldmVyLCB0aGUgYmxvY2sgY291bnQgcGVyIGZyYW1lIGNhbgoJICBhbHNvIGNoYW5nZSBiZXR3ZWVuIHBhY2tldHMsIHdoaWNoIHdvdWxkIHJlc3VsdCBpbiBpbmNvcnJlY3QgYnVmZmVyCgkgIGR1cmF0aW9ucy4KCjIwMTEtMDctMTEgMTM6NTE6NTIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJICB2NGwyc2luazogaGFuZGxlIHBvb2xzCgkgIENyZWF0ZSBhIG5ldyBwb29sIGluIHNldGNhcHMgYW5kIHN0b3AvZGVzdHJveSB0aGUgb2xkIG9uZS4KCSAgUmVtb3ZlIGJ1ZmZlcl9hbGxvYyBmdW5jdGlvbnMuCgkgIENoZWNrIHRoYXQgd2UgaGF2ZSB2NGwyIG1ldGFkYXRhIGluIHNob3dfZnJhbWUgYW5kIGZhbGwgYmFjayB0byBtZW1jcHkgaW50byBhCgkgIGJ1ZmZlciBmcm9tIG91ciBwb29sIGlmIHdlIGRvbid0IHJlY2VpdmUgb25lIG9mIG91ciBvd24gYnVmZmVycy4KCjIwMTEtMDctMTEgMTI6MDQ6NTcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSAgdjRsMjogdmFyaW91cyBjbGVhbnVwcwoJICBWYXJpb3VzIGNsZWFudXBzLCBhdm9pZHMgdXNlbGVzcyBjYXN0cywgbW92ZSBlcnJvciBoYW5kbGluZyBvdXRzaWRlIG9mIHRoZSBtYWluCgkgIGNvZGUgZmxvdy4KCSAgTmVnb3RpYXRlIHRvIGEgcmVzb25hYmxlIHJlc29sdXRpb24gaW5zdGVhZCBvZiB0aGUgbWF4IHJlc29sdXRpb24uCgoyMDExLTA3LTEwIDIxOjUwOjE5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHAvZ3N0YXN0ZXJpc2toMjYzLmM6CgkqIGdzdC9ydHAvZ3N0cnRwTDE2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBMMTZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwanBlZ2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwanBlZ3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMXNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMnRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMnRwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRhcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBxY2VscGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcWRtZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzaXJlbmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc2lyZW5wYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzcGVleGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzdjN2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnJhd2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnJhd2RlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwdnJhd3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdwYXkuaDoKCSAgcnRwOiBwb3J0IHJlbWFpbmluZyB0byAwLjExCgoyMDExLTA3LTEwIDE0OjU2OjAwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzoKCSogc3lzL3hpbWFnZS94aW1hZ2V1dGlsLmM6CgkgIHhpbWFnZTogcG9ydCB0byAwLjExCgoyMDExLTA3LTEwIDEzOjQ0OjQ5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzoKCSogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuaDoKCSAgeTRtOiBwb3J0IHNvbWUgbW9yZQoJICBVc2UgdmlkZW8gaGVscGVycy4KCjIwMTEtMDctMTAgMTM6Mjg6MjcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOgoJICB5NG06IHBvcnQgdG8gMC4xMQoKMjAxMS0wNy0xMCAxMjo0NjowMyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRtdXguYzoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRtdXguaDoKCSAgbXVsdGlwYXJ0OiBwb3J0IHRvIDAuMTEKCjIwMTEtMDctMTAgMTE6NDI6MzcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgoyMDExLTA3LTEwIDExOjQwOjQwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlYnVndXRpbHMvTWFrZWZpbGUuYW06CgkqIGdzdC9kZWJ1Z3V0aWxzL2JyZWFrbXlkYXRhLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2VmZW5jZS5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RjYXBzc2V0dGVyLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGRlYnVnLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdG5hdmlnYXRpb250ZXN0LmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdG5hdmlnYXRpb250ZXN0Lmg6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdHB1c2hmaWxlc3JjLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL3Byb2dyZXNzcmVwb3J0LmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL3JuZGJ1ZmZlcnNpemUuYzoKCSogZ3N0L2RlYnVndXRpbHMvdGVzdHMuYzoKCSAgZGVidWc6IHBvcnQgdG8gMC4xMSwgZGlzYWJsZSBvdGhlcnMKCSAgRGlhc2FibGUgdGhlIGVmZW5jZSBhbmQgY2Fwc2RlYnVnIGVsZW1lbnRzLCBwb3J0IHRoZW0gbGF0ZXIuCgoyMDExLTA3LTA5IDE5OjIzOjQxIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc3JjLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc3JjLmg6CgkgIG11bHRpZmlsZXNyYzogSW1wcm92ZSBsb29waW5nCgkgIEFkZCBzdGFydC1pbmRleCBhbmQgc3RvcC1pbmRleCBwcm9wZXJ0aWVzLgoKMjAxMS0wNi0xNiAxMzo1NzowMyArMDEwMCAgSm9ubnkgTGFtYiA8am9ubnlsYW1iQGpvbm55bGFtYi5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNyYy5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNyYy5oOgoJICBtdWx0aWZpbGU6IGFkZCBsb29wIHByb3BlcnR5IHRvIG11bHRpZmlsZXNyYwoJICBGaXhlczogIzY1MjcyNwoJICBTaWduZWQtb2ZmLWJ5OiBKb25ueSBMYW1iIDxqb25ueWxhbWJAam9ubnlsYW1iLmNvbT4KCSAgU2lnbmVkLW9mZi1ieTogRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoyMDA5LTExLTIwIDEwOjA3OjQzICswMTAwICBQaGlsaXAgSsOkZ2Vuc3RlZHQgPHBoaWxpcGpAb3BlcmEuY29tPgoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJICBkaXJlY3Rzb3VuZHNpbms6IDE2LWJpdCBhdWRpbyBpcyBzaWduZWQsIDgtYml0IGlzIHVuc2lnbmVkLgoJICBQcmV0ZW5kaW5nIHRvIGhhbmRsZSA4LWJpdCBzaWduZWQgY2F1c2VzIGRpc3RvcnRlZCBhdWRpbyB3aGVuCgkgIGFjdHVhbGx5IGdpdmVuIHN1Y2ggYXVkaW8sIHdoaWNoIHlvdSB3aWxsIGdldCBpZiBwYXNzaW5nIDgtYml0CgkgIHVuc2lnbmVkIHRocm91Z2ggYXVkaW9jb252ZXJ0ICEgYXVkaW9yZXNhbXBsZSwgYXMgYXVkaW9yZXNhbXBsZQoJICBvbmx5IGhhbmRsZXMgOC1iaXQgc2lnbmVkLiAgRml4ZXMgIzYwNTgzNC4KCSAgU2lnbmVkLW9mZi1ieTogRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoyMDExLTA3LTA4IDE2OjM3OjExICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJICB2NGwyOiBmaXggZ3JheSBmb3JtYXQsIHVzZSBmaWx0ZXIgaW4gZ2V0Y2FwcwoKMjAxMS0wNy0wOCAxNjoxMDo0NyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL01ha2VmaWxlLmFtOgoJKiBzeXMvdjRsMi9nc3R2NGwyLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkgIHY0bDI6IHBvcnQgYW5kIGVuYWJsZSB2NGwyc2luawoKMjAxMS0wNy0wOCAxNDozNDo0MCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICB2NGwyc3JjOiBwb3J0IHRvIG5ldyB2aWRlbyBmb3JtYXRzCgoyMDExLTA3LTA4IDEyOjUxOjE0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoKMjAxMS0wNy0wOCAxMjo0OToxMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJjb2xvcmJhbGFuY2UuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnJhZGlvLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJICB2NGwyOiBwb3J0IHRvIDAuMTEKCjIwMTEtMDctMDcgMTg6Mjc6MzYgKzAyMDAgIEFsZXhleSBGaXNoZXIgPGJ1Zy10cmFja0BmaXNoZXItcHJpdmF0Lm5ldD4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBoYW5kbGUgYmxvY2tzIHdpdGggZHVyYXRpb249MAoJICBTb21lIHZpZGVvIGZyYW1lcywgZm9yIGV4YW1wbGUgYWx0LXJlZiBmcmFtZSBpbiBWUDgsIHdpbGwgYmUKCSAgbmV2ZXIgZGlzcGxheWVkLiBUaGlzIGlzIHdoeSBpdCBoYXMgZHVyYXRpb249MC4KCSAgVGhpcyBwYXRjaCBhbGxvdyB0byB1c2UgdGhpcyBkdXJhdGlvbi4KCSAgQnVnOiA2NTQxNzUKCSAgU2lnbmVkLW9mZi1ieTogQWxleGV5IEZpc2hlciA8YnVnLXRyYWNrQGZpc2hlci1wcml2YXQubmV0PgoKMjAxMS0wNy0wNiAxNzoxODowNSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXhtYXAuYzoKCSAgcXRtdXg6IEFkZCBkaXJlY3QgZGlyYWMgbWFwcGluZwoKMjAxMS0wNy0wNyAxNzo1OTowNCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lZmZlY3R2L2dzdHJpcHBsZS5jOgoJKiBnc3QvZWZmZWN0di9nc3RyaXBwbGUuaDoKCSAgZWZmZWN0djogcG9ydCBsYXN0IGVmZmVjdHYgZWxlbWVudCB0byAwLjExCgoyMDExLTA3LTA3IDE3OjQ5OjM0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VmZmVjdHYvZ3N0cmFkaW9hYy5jOgoJKiBnc3QvZWZmZWN0di9nc3RzdHJlYWsuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0c3RyZWFrLmg6CgkgIGVmZmVjdHY6IHBvcnQgc3RyZWFrdHYgdG8gMC4xMQoKMjAxMS0wNy0wNyAxNzo0MDoyMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lZmZlY3R2L2dzdHJhZGlvYWMuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0cmFkaW9hYy5oOgoJICBlZmZlY3R2OiBwb3J0IHJhZGlvYWN0diB0byAwLjExCgoyMDExLTA3LTA3IDE3OjI5OjU4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VmZmVjdHYvZ3N0YWdpbmcuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0ZGljZS5jOgoJKiBnc3QvZWZmZWN0di9nc3RlZGdlLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHF1YXJrLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHJhZGlvYWMuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0cmV2LmM6CgkqIGdzdC9lZmZlY3R2L2dzdHJpcHBsZS5jOgoJKiBnc3QvZWZmZWN0di9nc3RzaGFnYWRlbGljLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHN0cmVhay5jOgoJKiBnc3QvZWZmZWN0di9nc3R2ZXJ0aWdvLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHdhcnAuYzoKCSAgZWZmZWN0djogZml4IGRvY3MKCjIwMTEtMDctMDcgMTc6Mjk6NDQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZWZmZWN0di9nc3RvcC5jOgoJKiBnc3QvZWZmZWN0di9nc3RvcC5oOgoJICBlZmZlY3R2OiBwb3J0IG9wIHRvIDAuMTEKCjIwMTEtMDctMDcgMTc6MTg6MjEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZWZmZWN0di9nc3RxdWFyay5jOgoJKiBnc3QvZWZmZWN0di9nc3RxdWFyay5oOgoJKiBnc3QvZWZmZWN0di9nc3RyZXYuYzoKCSAgZWZmZWN0djogcG9ydCBxdWFyayB0dgoKMjAxMS0wNy0wNyAxNjo1NzozOSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lZmZlY3R2L2dzdHJldi5jOgoJKiBnc3QvZWZmZWN0di9nc3RyZXYuaDoKCSAgZWZmZWN0djogcG9ydCByZXZ0diB0byAwLjExCgoyMDExLTA3LTA3IDE2OjQ2OjUxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VmZmVjdHYvZ3N0dmVydGlnby5jOgoJKiBnc3QvZWZmZWN0di9nc3R2ZXJ0aWdvLmg6CgkgIGVmZmVjdHY6IHBvcnQgdmVydGlnb3R2IHRvIDAuMTEKCjIwMTEtMDctMDcgMTY6Mzg6MTAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZWZmZWN0di9nc3RhZ2luZy5jOgoJKiBnc3QvZWZmZWN0di9nc3RzaGFnYWRlbGljLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHNoYWdhZGVsaWMuaDoKCSAgZWZmZWN0djogcG9ydCBzaGFnYWRlbGljdHYgdG8gMC4xMQoKMjAxMS0wNy0wNyAxMToyMjoyNiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLmM6CgkgIGF1cGFyc2U6IHVzZSBBTFdBWVMgc3JjIHBhZCByYXRoZXIgdGhhbiBTT01FVElNRVMKCjIwMTEtMDctMDcgMTE6MTQ6MTYgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS5jOgoJICBhdXBhcnNlOiBwb3J0IHRvIDAuMTEKCjIwMTEtMDctMDYgMTk6MDM6NTIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJICBzaGFwZXdpcGU6IGJlZ2lubmluZ3Mgb2YgcG9ydGluZwoKMjAxMS0wNy0wNiAxODo1MDoyNiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lZmZlY3R2L2dzdHdhcnAuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0d2FycC5oOgoJICB3YXJwdHY6IHBvcnQgdG8gMC4xMQoKMjAxMS0wNy0wNiAxODo1MDoxNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lZmZlY3R2L2dzdGRpY2UuYzoKCSAgZGljZToga2VlcCB0cmFjayBvZiBpbmZvCgoyMDExLTA3LTA2IDE4OjMyOjQ1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VmZmVjdHYvZ3N0ZGljZS5jOgoJKiBnc3QvZWZmZWN0di9nc3RkaWNlLmg6CgkgIGVmZmVjdHY6IHBvcnQgZGljZQoKMjAxMS0wNy0wNiAxODowOTo0OSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lZmZlY3R2L2dzdGFnaW5nLmM6CgkqIGdzdC9lZmZlY3R2L2dzdGFnaW5nLmg6CgkgIGVmZmVjdHY6IHBvcnQgYWdpbmd0dgoKMjAxMS0wNy0wNiAxNzo1MDo1NCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hYWxpYi9NYWtlZmlsZS5hbToKCSogZXh0L2FhbGliL2dzdGFhc2luay5jOgoJKiBleHQvYWFsaWIvZ3N0YWFzaW5rLmg6CgkgIGFhc2luazogcG9ydCB0byBuZXcgdmlkZW8gQVBJCgoyMDExLTA3LTA2IDE3OjQwOjIwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2xpYmNhY2EvTWFrZWZpbGUuYW06CgkqIGV4dC9saWJjYWNhL2dzdGNhY2FzaW5rLmM6CgkqIGV4dC9saWJjYWNhL2dzdGNhY2FzaW5rLmg6CgkgIGNhY2FzaW5rOiBwb3J0IHRvIDAuMTEKCjIwMTEtMDctMDYgMTY6NTA6MzIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkgIGpwZWc6IGJlZ2lubmluZ3Mgb2YgcG9ydGluZyB0byAwLjExCgoyMDExLTA3LTA2IDE2OjMxOjE4ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICB3YXZwYXJzZTogdXNlIEFMV0FZUyBzb3VyY2UgcGFkIHJhdGhlciB0aGFuIFNPTUVUSU1FUwoKMjAxMS0wNy0wNiAxNjoxMDozNCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmg6CgkgIHdhdnBhcnNlOiBwb3J0IHRvIDAuMTEKCjIwMTEtMDctMDYgMTY6MTA6MjMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuYzoKCSAgd2F2ZW5jOiBwb3J0IHRvIDAuMTEKCjIwMTEtMDctMDYgMTI6MjI6NDMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGFkanVzdCB0byB1bnNpZ25lZCBzZWdtZW50IGZpZWxkcwoKMjAxMS0wNy0wNiAxNTo1NzoyMyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzoKCSAgc3BlZXg6IHBvcnQgc3BlZXggZWxlbWVudHMKCjIwMTEtMDctMDYgMTI6MDU6MTIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgoyMDExLTA3LTA2IDEwOjExOjUyICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkgIHJ0cG1hbmFnZXI6IHBvcnQgdG8gMC4xMQoJICAqIHVzZSBHX0RFRklORV9UWVBFCgkgICogYWRqdXN0IHRvIG5ldyBHc3RCdWZmZXIgYW5kIGNvcnJlc3BvbmRpbmcgcnRwIGFuZCBydGNwIGJ1ZmZlciBpbnRlcmZhY2VzCgkgICogbWlzYyBjYXBzIGFuZCBzZWdtZW50IGhhbmRsaW5nIGNoYW5nZXMKCSAgRklYTUU6IGFsc28gcmVsaWVzIG9uIGJlaW5nIGFibGUgdG8gcGFzcyBjYXBzIGFsb25nIHdpdGggYSBidWZmZXIsCgkgIHdoaWNoIGhhcyBubyBldmlkZW50IGVxdWl2YWxlbnQgeWV0LCBzbyB0aGF0IGVpdGhlciBuZWVkcyBvbmUsCgkgIG9yIHN0aWxsIG5lZWRzIHF1aXRlIHNvbWUgY29kZSBwYXRoIG1vZGlmaWNhdGlvbiB0byBkcmFnIGFsb25nIGNhcHMuCgoyMDExLTA2LTI5IDIwOjU5OjI2ICswMzAwICBSZW7DqSBTdGFkbGVyIDxyZW5lLnN0YWRsZXJAbm9raWEuY29tPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmg6CgkgIHB1bHNlc2luazogcHJldmVudCByYWNlIGNvbmRpdGlvbiBjYXVzaW5nIHJlZiBsZWFrCgkgIFNpbmNlIGNvbW1pdCA4YmZkODAsIGdzdF9wdWxzZXJpbmdidWZmZXJfc3RvcCBkb2Vzbid0IHdhaXQgZm9yIHRoZQoJICBkZWZlcnJlZCBjYWxsIHRvIGJlIHJ1biBiZWZvcmUgcmV0dXJuaW5nLiBUaGlzIGNhdXNlcyBhIHJhY2Ugd2hlbgoJICBSRUFEWS0+TlVMTCBpcyBleGVjdXRlZCBzaG9ydGx5IGFmdGVyLCB3aGljaCBzdG9wcyB0aGUgbWFpbmxvb3AuIFRoaXMKCSAgbGVha3MgdGhlIGVsZW1lbnQgcmVmZXJlbmNlIHdoaWNoIGlzIHBhc3NlZCBhcyB1c2VyZGF0YSBmb3IgdGhlIGNhbGxiYWNrCgkgIChpbnRyb2R1Y2VkIGluIGNvbW1pdCA3Y2Y5OTYsIGJ1ZyAjNjE0NzY1KS4KCSAgVGhlIGNvcnJlY3QgZml4IGlzIHRvIHdhaXQgaW4gUkVBRFktPk5VTEwgZm9yIGFsbCBvdXRzdGFuZGluZyBjYWxscyB0bwoJICBiZSBmaXJlZCAoc2luY2UgbGlicHVsc2UgZG9lc24ndCBwcm92aWRlIGEgRGVzdHJveU5vdGlmeSBmb3IgdGhlCgkgIHVzZXJkYXRhKS4gV2UgZ2V0IHJpZCBvZiB0aGUgcmVmZXJlbmNlIHBhc3NpbmcgZnJvbSA3Y2Y5OTYgYWx0b2dldGhlciwKCSAgc2luY2UgZmluYWxpemF0aW9uIGZyb20gdGhlIGNhbGxiYWNrIHdvdWxkIGFueXdheXMgbGVhZCB0byBhIGRlYWRsb2NrLgoJICBSZS1maXhlcyBidWcgIzYxNDc2NS4KCjIwMTEtMDctMDQgMDg6NTg6MTQgKzAzMDAgIFJlbsOpIFN0YWRsZXIgPHJlbmUuc3RhZGxlckBub2tpYS5jb20+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogc21hbGwgY2xlYW51cCBvZiBjb3B5LXBhc3RlIGNvZGUKCjIwMTEtMDYtMjkgMTk6NTA6NDIgKzAzMDAgIFJlbsOpIFN0YWRsZXIgPHJlbmUuc3RhZGxlckBub2tpYS5jb20+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuaDoKCSAgcHVsc2VzaW5rOiByZW1vdmUgdW51c2VkIG1lbWJlciB2YXJpYWJsZSBhbmQgbWlzbGVhZGluZyBsb2cgbWVzc2FnZQoJICBXaW0gY2hhbmdlZCBpdCBpbiBjb21taXQgOGJmZDgwIHNvIHRoYXQgcGFfZGVmZXJfcmFuIGlzIG5vdCByZWFkCgkgIGFueXdoZXJlLgoJICBUaGUgbG9nIG1lc3NhZ2UgdXNlZCB0byBhbm5vdGF0ZSBhIG1haW5sb29wX3dhaXQgY2FsbCB3aGljaCBpcyBnb25lLgoKMjAxMS0wNy0wNSAxNTozNzo1MiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZsaXAuYzoKCSAgdmlkZW9mbGlwOiBmaXggY2FwcwoKMjAxMS0wNy0wNSAxMTo0MDo1NiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lZmZlY3R2L2dzdGVkZ2UuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0ZWRnZS5oOgoJICBlZmZlY3R2OiBwb3J0IGVkZ2V0dgoKMjAxMS0wNy0wNSAxMDoxMjoyNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIEFkZCAtREdTVF9VU0VfVU5TVEFCTEVfQVBJIHRvIHRoZSBjb21waWxlciBmbGFncyB0byBhdm9pZCB3YXJuaW5ncwoKMjAxMS0wNy0wNCAxMjo1ODozOCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvZ29vbS9nc3Rnb29tLmM6CgkgIGdvb206IERvbid0IGFuc3dlciBsYW50ZW5jeSBxdWVyaWVzIGJlZm9yZSBuZWdvdGlhdGlvbgoKMjAxMS0wNy0wNCAxODoxNTo0MiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC91ZHAvZ3N0dWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICB1ZHA6IHBvcnQgdG8gbmV3IEFQSQoKMjAxMS0wNy0wNCAxODoxMjo1NiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZW1peGVyLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkgIHB1bHNlOiByZW1vdmUgaW1wbGVtZW50c2ludGVyZmFjZQoKMjAxMS0wNy0wNCAxODoxMDo1NSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOgoJICBhbHBoYTogZml4IGNhcHMKCjIwMTEtMDctMDQgMTg6MDY6NDggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzoKCSogZ3N0L2FscGhhL2dzdGFscGhhY29sb3IuYzoKCSogZ3N0L2FscGhhL2dzdGFscGhhY29sb3IuaDoKCSAgYWxwaGE6IHBvcnQgdG8gbmV3IHZpZGVvIEFQSQoKMjAxMS0wNy0wNCAxNzowMDozNCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOgoJICBhbHBoYTogbW9yZSBwb3J0aW5nCgoyMDExLTA3LTA0IDE2OjA5OjMzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FscGhhL2dzdGFscGhhLmM6CgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5oOgoJICBwb3J0IHRvIG5ldyB2aWRlbyBhcGkKCjIwMTEtMDYtMjggMTQ6MDM6NDMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0Z2FtbWEuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdGdhbW1hLmg6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2JhbGFuY2UuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvYmFsYW5jZS5oOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9mbGlwLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZsaXAuaDoKCSAgdmlkZW86IHBvcnQgdG8gbmV3IHZpZGVvIGFwaXMKCjIwMTEtMDctMDQgMTQ6MzA6MDkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnZGVjOiBhdm9pZCBjcmFzaGluZyBvbiBpbnZhbGlkIGlucHV0IHdpdGhvdXQgY29tcG9uZW50cwoKMjAxMS0wNy0wNCAxMTowOToxOSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguaDoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSAgZmx2OiBwb3J0IHRvIDAuMTEKCSAgKiB1c2UgR19ERUZJTkVfVFlQRQoJICAqIGFkanVzdCB0byBuZXcgR3N0QnVmZmVyCgkgICogbWlzYyBzZWdtZW50IGFuZCBjYXBzIGNoYW5nZXMKCjIwMTEtMDctMDQgMTE6NDg6MTMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoJICBDb25mbGljdHM6CgkgIGV4dC9wdWxzZS9wdWxzZXNpbmsuYwoKMjAxMS0wNy0wNCAxMToyNToyOCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJICBmbHZtdXg6IHBhc3MgYWxvbmcgc2VnbWVudCBpbmZvIHRvIGNvbGxlY3RwYWRzCgkgIC4uLiBzbyBpdCBjYW4gdHJhY2sgdGhpcyBhbmQgYmUgc3Vic2VxdWVudGx5IHVzZWQgdG8gZGV0ZXJtaW5lIHJ1bm5pbmcgdGltZSBldGMuCgoyMDExLTA3LTA0IDExOjI0OjIzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx2ZGVtdXg6IGluZGljYXRlIHJhdyBmb3JtYXQgaW4gYWFjIGNhcHMKCjIwMTEtMDctMDQgMTE6MDc6MTMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogbWluZCByZXF1ZXN0ZWQgbmFtZSBmb3IgcmVxdWVzdCBwYWQKCjIwMTEtMDctMDQgMTE6MDY6NTQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogZnJlZSBzY2hlZHVsaW5nIHF1ZXJ5CgoyMDExLTA3LTAzIDE5OjUxOjMyIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9wdWxzZS9wbHVnaW4uYzoKCSAgcHVsc2U6IEluY3JlYXNlIHJhbmtzIHRvIFBSSU1BUlkgKyAxMAoJICBTbyB0aGF0IHB1bHNlc3JjL3B1bHNlc2luayBnZXQgY2hvc2VuIG92ZXIgb3RoZXIgcG9zc2libGUgUFJJTUFSWQoJICBzcmMvc2lua3MgYnkgYXV0b2F1ZGlvc2luay4gIFByZXN1bWFibHksIGlmIHB1bHNlIGlzIGF2YWlsYWJsZSwgaXQKCSAgaXMgYWx3YXlzIHByZWZlcnJlZCBvdmVyIGFub3RoZXIgc3JjL3NpbmsuCgkgIEZpeGVzOiAjNjQ3NTQwLgoKMjAxMS0wNi0zMCAxODo0Nzo0OCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydG11eC5jOgoJICBtdWx0aXBhcnRtdXg6IEFkZCBcclxuIHRvIHRhaWwgb2YgcHVzaGVkIGJ1ZmZlcnMKCSAgQ2xpZW50cyBzdWNoIGFzIEZpcmVmb3ggcmVxdWlyZSB0aGUgXHJcbiBhZnRlciB0aGUgcGF5bG9hZC4KCjIwMTEtMDYtMTYgMTQ6NTI6NTEgKzAyMDAgIEJyYW5rbyBTdWJhc2ljIDxicmFua29AYXhpcy5jb20+CgoJKiBnc3QvbWF0cm9za2EvZWJtbC1yZWFkLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBhdm9pZCBsb29waW5nIHdoZW4gc2VhcmNoaW5nIGZvciBjbHVzdGVycwoJICBGaXhlcyBzb21lIGJ1Z3MgdGhhdCByZXN1bHRzIGluIHRoZSBkZW11eGVyIGxvb3Bpbmcgd2hlbiBzZWFjaGluZwoJICBmb3IgY2x1c3RlcnMgaW4gbm9uLWZpbmFsaXplZCBmaWxlcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MjE5NQoKMjAxMS0wNi0zMCAxMjozMDoyMiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzcmMuYzoKCSAgbXVsdGlmaWxlOiBwb3J0IHRvIDAuMTAKCSAgKiB1c2UgR19ERUZJTkVfVFlQRQoJICAqIGFkanVzdCB0byBuZXcgR3N0QnVmZmVyCgkgICogbWlzYyBjYXBzIGhhbmRsaW5nCgoyMDExLTA2LTMwIDExOjM1OjIxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jdXR0ZXIvZ3N0Y3V0dGVyLmM6CgkgIGN1dHRlcjogcG9ydCB0byAwLjExCgkgICogdXNlIEdfREVGSU5FX1RZUEUKCSAgKiBhZGp1c3QgdG8gbmV3IEdzdEJ1ZmZlcgoJICAqIG1pbm9yIG1pc2MKCjIwMTEtMDYtMzAgMTE6MTc6MTkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3JlcGxheWdhaW4vZ3N0cmdhbmFseXNpcy5jOgoJKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ2xpbWl0ZXIuYzoKCSogZ3N0L3JlcGxheWdhaW4vZ3N0cmd2b2x1bWUuYzoKCSAgcmVwbGF5Z2FpbjogcG9ydCB0byAwLjExCgkgICogdXNlIEdfREVGSU5FX1RZUEUKCSAgKiBhZGp1c3QgdG8gbmV3IEdzdEJ1ZmZlcgoKMjAxMS0wNi0zMCAxMDo1MzowOSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSAgc3BlY3RydW06IHJlbW92ZSBkZXByZWNhdGVkIHByb3BlcnR5CgoyMDExLTA2LTMwIDEwOjUxOjU1ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJICBzcGVjdHJ1bTogcG9ydCB0byAwLjExCgkgICogdXNlIEdfREVGSU5FX1RZUEUKCSAgKiBhZGp1c3QgdG8gbmV3IEdzdEJ1ZmZlcgoKMjAxMS0wNi0zMCAxMDozODo0OSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzoKCSAgbGV2ZWw6IHBvcnQgdG8gMC4xMQoJICAqIHVzZSBHX0RFRklORV9UWVBFCgkgICogYWRqdXN0IHRvIG5ldyBHc3RCdWZmZXIKCjIwMTEtMDYtMzAgMTA6MzA6MTYgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIxMGJhbmRzLmM6CgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyM2JhbmRzLmM6CgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVybmJhbmRzLmM6CgkgIGVxdWFsaXplcjogcG9ydCB0byAwLjExCgoyMDExLTA2LTEwIDE4OjU0OjQ4ICswNTMwICBEZWJhcnNoaSBSYXkgPHJpc2hpQGdudS5vcmc+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSAgbWF0cm9za2FwYXJzZTogZml4IHJlZmVyZW5jZSBjb3VudGluZyBvZiBwYXJzZS0+c3RyZWFtaGVhZGVyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTIyODYKCSAgU2lnbmVkLW9mZi1ieTogRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoyMDExLTA2LTI5IDE0OjM5OjUyIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSAganBlZ2VuYzogRG9uJ3Qgcm91bmQgdXAgc2l6ZSBvZiBlbmNvZGVkIGJ1ZmZlcnMKCSAgRm9yIHNvbWUgcmVhc29uLCBpbiBjb2RlIGRhdGluZyB0byAyMDAxLCBlbmNvZGVkIGpwZWcgYnVmZmVycyB3ZXJlCgkgIHJvdW5kZWQgdXAgdG8gbXVsdGlwbGVzIG9mIDQgYnl0ZXMuICBXaXRoIHRoZSBhZGRlZCBib251cyB0aGF0IHRoZQoJICBleHRyYSBieXRlcyBhcmUgdW53cml0dGVuLCBjYXVzaW5nIHZhbGdyaW5kIGlzc3Vlcy4gIE9vcHMuICBJIGNhbid0CgkgIHRoaW5rIG9mIGFueSByZWFzb24gd2h5IEpQRUcgYnVmZmVycyBuZWVkIHRvIGJlIG11bHRpcGxlcyBvZiA0IGJ5dGVzLAoJICBzbyBJIHJlbW92ZWQgdGhlIHBhZGRpbmcuICBUaGVyZSBtaWdodCBiZSBzb21lIGNvZGUgc29tZXdoZXJlIHRoYXQKCSAgZGVwZW5kcyBvbiB0aGlzIGJlaGF2aW9yLCBzbyBpZiB0aGlzIG5lZWRzIHRvIGJlIHJldmVydGVkLCBwbGVhc2UgZml4CgkgIHRoZSB2YWxncmluZCBpc3N1ZXMuCgoyMDExLTA2LTI5IDEyOjQ2OjIwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvTWFrZWZpbGUuYW06CgkqIGdzdC9pc29tcDQvYXRvbXMuYzoKCSogZ3N0L2lzb21wNC9hdG9tc3JlY292ZXJ5LmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtb292cmVjb3Zlci5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguaDoKCSogZ3N0L2lzb21wNC9nc3RxdG11eG1hcC5jOgoJKiBnc3QvaXNvbXA0L2dzdHJ0cHhxdGRlcGF5LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguaDoKCSAgaXNvbXA0OiBwb3J0IHRvIDAuMTEKCjIwMTEtMDYtMjggMTI6NTU6NDUgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogdHdlYWsgc29tZSBwb3J0ZWQgc2VnbWVudCBoYW5kbGluZwoJICAuLi4gdG8gYXZvaWQgbG9zaW5nIGR1cmF0aW9uIGR1cmluZyBwdXNoIG1vZGUgc2Vla2luZywgYW5kIHRvIHByb3Blcmx5CgkgIGFjY3VtdWxhdGUgcnVubmluZyB0aW1lIHdoZW4gc2VnbWVudCBzZWVraW5nLgoKMjAxMS0wNi0yOSAxMjowNTowNCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBmcmVlIGRhdGUgdGFnCgoyMDExLTA2LTI4IDEyOjI2OjM3ICswMjAwICBKb25hcyBMYXJzc29uIDxqb25hcy5sYXJzc29uQGhpcS5zZT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSAgYWFjcGFyc2U6IG5vdCBzbyBncmVlZHkgbWluaW11bSBmcmFtZSBzaXplCgkgIEZpeGVzICM2NTM1NTkuCgoyMDExLTA2LTI1IDExOjM5OjIzIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiByZW1vdmUgbm9uLXBrZy1jb25maWcgY2hlY2sgZm9yIHNob3V0CgkgIEZpeGVzOiA2NTMzMjcKCjIwMTEtMDYtMjAgMTg6NDk6NTcgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8YW1vcmFsZXNAZmx1bW90aW9uLmNvbT4KCgkqIGV4dC9yYXcxMzk0L2dzdDEzOTRjbG9jay5jOgoJICBkdjEzOTRzcmM6IG1ha2UgdGhlIGludGVybmFsIGNsb2NrIHRocmVhZCBzYWZlCgkgIEZpeGVzOiAjNjUzMDkxLgoKMjAxMS0wNi0yNCAxMTo1NDoyOSArMDIwMCAgTWlndWVsIEFuZ2VsIENhYnJlcmEgTW95YSA8bWFkbWFjMjUwMUBnbWFpbC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiByZXR1cm4gY29ycmVjdCB0eXBlIHdoZW4gYXNzZXJ0aW9uIGZhaWxzCgoyMDExLTA2LTIzIDExOjI4OjI3IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNjliOTgxZiB0byA2MDVjZDlhCgoyMDExLTA2LTIyIDE2OjQxOjEzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwOiBmaXggZm9yIHVyaSBjaGFuZ2VzCgoyMDExLTAyLTAyIDE2OjE4OjU0ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSogZXh0L3B1bHNlL3B1bHNldXRpbC5jOgoJKiBleHQvcHVsc2UvcHVsc2V1dGlsLmg6CgkgIHB1bHNlOiBEcm9wIHN1cHBvcnQgZm9yIFBBIHZlcnNpb25zIGJlZm9yZSAwLjkuMTYKCSAgVGhpcyBkcm9wcyBzdXBwb3J0IGZvZiBQdWxzZUF1ZGlvIHZlcnNpb25zIHByaW9yIHRvIDAuOS4xNiwgd2hpY2ggd2FzCgkgIHJlbGVhc2VkIGFib3V0IDEuNSB5ZWFycyBhZ28uIFRlc3Rpbmcgd2l0aCB2ZXJ5IG9sZCB2ZXJzaW9ucyBpcyBub3QKCSAgZmVhc2libGUgYW5kIHdlIGRvbid0IHdhbnQgdG8gbWFpbnRhaW4gMiBpbmRlcGVuZGVudCBjb2RlLXBhdGhzLgoKMjAxMS0wNi0yMSAxODoyNDo0MSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCSAgQ29uZmxpY3RzOgoJICBjb25maWd1cmUuYWMKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbAoKMjAxMS0wNi0yMSAxODoxOTowMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBmaXggZm9yIGhlYWRlciBjbGVhbnVwcwoKMjAxMS0wNi0yMSAxNToxNTowNiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGFkZXBheS5jOgoJICBydHBtcDRhZGVwYXk6IGZpeCBvdXRwdXQgYnVmZmVyIHRpbWVzdGFtcHMgaW4gY2FzZSBvZiBtdWx0aXBsZSBmcmFtZXMKCjIwMTEtMDYtMjAgMTY6NDc6MzYgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IFRoZSBzaWduYWwgaGFzIDUgYXJndW1lbnRzLCBub3QgNAoKMjAxMS0wNi0yMCAxMjoxMzoxMSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkgIGF2aW11eDogdXNlIHN0cmluZyBmb3IgdmlkZW8gZm9ybWF0IG5vdwoKMjAxMS0wNi0yMCAxMjowNDo0OCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvTWFrZWZpbGUuYW06CgkgIGF2aTogbGluayBhZ2FpbnN0IGdzdHZpZGVvIG5vdwoKMjAxMS0wNi0yMCAxMjowMzoyNCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkgIGF2aTogcG9ydCB0byBuZXcgY2FwcwoKMjAxMS0wNi0xOCAxMzo0MzowMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJICBCdW1wIGdpdCB2ZXJzaW9uIGFmdGVyIHVucGxhbm5lZCAwLjEwLjMwIHJlbGVhc2UKCSAgTWVyZ2UgYnJhbmNoICcwLjEwLjMwJwoJICBDb25mbGljdHM6CgkgIGNvbmZpZ3VyZS5hYwoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vycy54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oYWxlbGVtZW50cy54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pc29tcDQueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWwKCSAgd2luMzIvY29tbW9uL2NvbmZpZy5oCgoyMDExLTA2LTE3IDEwOjM3OjMzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NpbmsuYzoKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvc2luay5oOgoJICBzdW5hdWRpbzogZml4IHR5cG8gaW4gY29tbWVudAoKMjAxMS0wNi0xNyAxODoxMjo1MCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCjIwMTEtMDYtMTcgMTg6MTE6MzggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zaW5rLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NyYy5jOgoJICBhdXRvZGV0ZWN0OiBmaXggY2FwcwoKMjAxMS0wNi0xNiAxNTozODoxMCArMDIwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5kZWJldGhlbmNvdXJ0QGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvZ29vbS9nc3Rnb29tLmM6CgkgIGdvb206IGZpeCB1bnVzZWQtYnV0LXNldC1jb21waWxlciB3YXJuaW5ncwoJICBSZW1vdmUgdW5uZWNlc3NhcnkgcmVzIHZhcmlhYmxlcywgY29yZSBjaGVja3MgZXhpc3RhbmNlCgkgIGFuZCB0eXBlIG9mIHRoZXNlIGZpZWxkcyBmb3IgdXMgYWxyZWFkeSB2aWEgdGhlIHRlbXBsYXRlCgkgIGNhcHMsIGFuZCB3ZSBrbm93IHRoYXQgdGhlc2UgZmllbGRzIGV4aXN0IGJlY2F1c2Ugd2UndmUKCSAgZml4YXRlZCB0aGVtIGJlZm9yZSBpbiBfbmVnb3RpYXRlKCkuCgoyMDExLTA2LTE3IDAzOjA3OjA5ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXVkaW9meC9hdWRpb2VjaG8uYzoKCSAgYXVkaW9lY2hvOiBmaXggcGFyYW0gZmxhZ3MKCSAgSWYgdGhlIHBhcmFtZXRlciBjYW5ub3QgYmUgY2hhbmdlZCBpbiBwYXVzZWQmcGxheWluZywgaXQgaXMgbm90IGNvbnRyb2xhYmxlLiBTZXQKCSAgdGhlIGFwcHJvcHJpYXRlIG11dGFiaWxpdHkgZmxhZyBpbnN0ZWFkLgoKPT09IHJlbGVhc2UgMC4xMC4zMCA9PT0KCjIwMTEtMDYtMTUgMjM6NTc6MzQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhhbGVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXNvbXA0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiBnc3QtcGx1Z2lucy1nb29kLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAwLjEwLjMwCgkgIFRoaXMgaXMgYW4gYWQtaG9jIHJlbGVhc2UgdGhhdCBpcyBhbG1vc3QgaWRlbnRpY2FsIHRvIDAuMTAuMjk6CgkgICogd29yayBhcm91bmQgR0xpYiBhdG9taWMgb3BzIEFQSSBjaGFuZ2UKCSAgKiBiZXR0ZXIgaGFuZGxpbmcgb2YgbWFsZm9ybWVkIGJ1ZmZlcnMgaW4gUlRQIGRlcGF5bG9kZXJzCgkgICogc29tZSBtaW5vciBjb21waWxhdGlvbiBmaXhlcwoKMjAxMS0wNi0wOCAxODozMzoxMCArMDMwMCAgUmFpbW8gSsOkcnZpIDxyYWltby5qYXJ2aUBnbWFpbC5jb20+CgoJKiBnc3QvdWRwL2dzdHVkcG5ldHV0aWxzLmg6CgkgIHVkcDogRml4IGNvbXBpbGVyIHdhcm5pbmcgb24gbWluZ3ctdzY0CgkgIEZpeGVzOiAjNjUyMTQ0LgoJICBnc3R1ZHBuZXR1dGlscy5oOjMyOjA6IGVycm9yOiAiV0lOVkVSIiByZWRlZmluZWQKCSAgL3Vzci9pNjg2LXc2NC1taW5ndzMyL3N5cy1yb290L21pbmd3L2luY2x1ZGUvX21pbmd3Lmg6MjMxOjA6IG5vdGU6IHRoaXMgaXMgdGhlCgkgIGxvY2F0aW9uIG9mIHRoZSBwcmV2aW91cyBkZWZpbml0aW9uCgoyMDExLTA2LTA0IDEzOjQ5OjUyIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzoKCSAgaW50ZXJsZWF2ZTogV29yayBhcm91bmQgY2hhbmdlcyBpbiBnX2F0b21pYyBBUEkKCSAgU2VlICM2NTE1MTQgZm9yIGRldGFpbHMuCgoyMDExLTA1LTE4IDEyOjM2OjQwICswMjAwICBKb3NlIEFudG9uaW8gU2FudG9zIENhZGVuYXMgPHNhbnRvc2NhZGVuYXNAZ21haWwuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBhYzNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGJ2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzIyZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc21kZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGlsYmNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMXNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMnRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wdmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtdWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhkZXBheS5jOgoJICBydHA6IEZpeCBzZWdtZW50YXRpb24gZmF1bHQgcHJvY2Vzc2luZyBwYXlsb2FkIGJ1ZmZlcnMKCSAgVGhpcyBjb21taXQgY2hlY2tzIGlmIHRoZSB2YWx1ZSByZXR1cm5lZCBieQoJICBnc3RfcnRwX2J1ZmZlcl9nZXRfcGF5bG9hZF9idWZmZXIgYW5kCgkgIGdzdF9ydHBfYnVmZmVyX2dldF9wYXlsb2FkX3N1YmJ1ZmZlciBpcyBOVUxMIGJlZm9yZSB1c2luZyBpdC4KCjIwMTEtMDUtMTYgMDk6MDQ6MzEgKzAyMDAgIFBpbm8gVG9zY2FubyA8dG9zY2Fuby5waW5vQHRpc2NhbGkuaXQ+CgoJKiBleHQvcHVsc2UvcHVsc2V1dGlsLmM6CgkgIHB1bHNlOiBEZWZpbmUgUEFUSF9NQVggaWYgaXQgaXNuJ3QgZGVmaW5lZAoJICBHTlUgSHVyZCBmb3IgZXhhbXBsZSBkb2Vzbid0IGRlZmluZSBpdC4KCjIwMTEtMDQtMjkgMDg6NTU6MTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuYzoKCSAgd2F2ZW5jOiBBbGxvdyBzZXRjYXBzIHRvIGJlIGNhbGxlZCBhZnRlciBhIGZvcm1hdCB3YXMgbmVnb3RpYXRlZCBpZiBpdCdzIGNvbXBhdGlibGUKCSAgT3RoZXJ3aXNlIHdhdmVuYyB3aWxsIGZhaWwgaWYgdXBzdHJlYW0gZGVjaWRlcyB0byBzZXQgZXF1aXZhbGVudCBjYXBzIG9yIGNhcHMKCSAgd2l0aCBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIGxhdGVyLgoJICBUaGFua3MgdG8gQWxleGFuZGVyIFNjaHJlbW1lciBmb3IgZmluZGluZyB0aGlzIGJ1Zy4KCjIwMTEtMDYtMTUgMTU6MDY6MjMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogUkVRVUlSRU1FTlRTOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L2VzZC9NYWtlZmlsZS5hbToKCSogZXh0L2VzZC9lc2Rtb24uYzoKCSogZXh0L2VzZC9lc2Rtb24uaDoKCSogZXh0L2VzZC9lc2RzaW5rLmM6CgkqIGV4dC9lc2QvZXNkc2luay5oOgoJKiBleHQvZXNkL2dzdGVzZC5jOgoJKiBnc3QtcGx1Z2lucy1nb29kLnNwZWMuaW46CgkqIG00L01ha2VmaWxlLmFtOgoJKiBtNC9hcy1hcnRzLm00OgoJKiBtNC9lc2QubTQ6CgkqIHBvL1BPVEZJTEVTLmluOgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJICBSZW1vdmUgZXNvdW5kL2VzZHNpbmsgcGx1Z2luCgoyMDExLTA2LTE1IDE0OjM3OjI5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIE1ha2VmaWxlLmFtOgoJKiBSRVFVSVJFTUVOVFM6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvZ2NvbmYvTWFrZWZpbGUuYW06CgkqIGV4dC9nY29uZi9nc3RnY29uZi5jOgoJKiBleHQvZ2NvbmYvZ3N0Z2NvbmYuaDoKCSogZXh0L2djb25mL2dzdGdjb25mYXVkaW9zaW5rLmM6CgkqIGV4dC9nY29uZi9nc3RnY29uZmF1ZGlvc2luay5oOgoJKiBleHQvZ2NvbmYvZ3N0Z2NvbmZhdWRpb3NyYy5jOgoJKiBleHQvZ2NvbmYvZ3N0Z2NvbmZhdWRpb3NyYy5oOgoJKiBleHQvZ2NvbmYvZ3N0Z2NvbmZlbGVtZW50cy5jOgoJKiBleHQvZ2NvbmYvZ3N0Z2NvbmZlbGVtZW50cy5oOgoJKiBleHQvZ2NvbmYvZ3N0Z2NvbmZ2aWRlb3NpbmsuYzoKCSogZXh0L2djb25mL2dzdGdjb25mdmlkZW9zaW5rLmg6CgkqIGV4dC9nY29uZi9nc3RnY29uZnZpZGVvc3JjLmM6CgkqIGV4dC9nY29uZi9nc3RnY29uZnZpZGVvc3JjLmg6CgkqIGV4dC9nY29uZi9nc3Rzd2l0Y2hzaW5rLmM6CgkqIGV4dC9nY29uZi9nc3Rzd2l0Y2hzaW5rLmg6CgkqIGV4dC9nY29uZi9nc3Rzd2l0Y2hzcmMuYzoKCSogZXh0L2djb25mL2dzdHN3aXRjaHNyYy5oOgoJKiBnY29uZi8uZ2l0aWdub3JlOgoJKiBnY29uZi9NYWtlZmlsZS5hbToKCSogZ2NvbmYvZ3N0cmVhbWVyLnNjaGVtYXMuaW46CgkqIGdzdC1wbHVnaW5zLWdvb2Quc3BlYy5pbjoKCSogbTQvTWFrZWZpbGUuYW06CgkqIG00L2djb25mLTIubTQ6CgkqIHBvL1BPVEZJTEVTLmluOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgUmVtb3ZlIGdjb25mIGVsZW1lbnRzIGFuZCBwbHVnaW4KCSAgR0NvbmYgd2FzIGRlcHJlY2F0ZWQgaW4gZmF2b3VyIG9mIEdTZXR0aW5ncyBldGMuCgoyMDExLTA2LTE1IDE1OjE3OjE5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBmaXggdW5pdGlhbGl6ZWQgYWNjZXNzCgoyMDExLTA2LTA5IDIxOjA2OjI4ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSAgbWF0cm9za2E6IGFkZCBtaXNzaW5nIHN0ZGlvIGluY2x1ZGUgZm9yIHNzY2FuZgoKMjAxMS0wNi0xMyAxOTowODozOCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCjIwMTEtMDYtMTMgMTc6NTE6NDAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9meC9hdWRpb3Bhbm9yYW1hLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgLWdvb2Q6IHBvcnQgc29tZSBtb3JlIHBsdWdpbnMKCjIwMTEtMDYtMTMgMTc6MTQ6NTEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3A6IGZpeCBmb3IgZmx1c2hfc3RvcCBBUEkgY2hhbmdlCgoyMDExLTA2LTEzIDE3OjE0OjAwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwajJrZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqMmtwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqcGVnZGVwYXkuYzoKCSAgcnRwOiBwb3J0IHNvbWUgbW9yZSAoZGUpcGF5bG9hZGVyCgoyMDExLTA2LTEzIDE3OjA1OjE5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJICBhdWRpb3BhcnNlcnM6IG5vdCBzbyBncmVlZHkgbWluaW11bSBmcmFtZSBzaXplCgkgIC4uLiB3aGljaCB3aWxsIGJlIGRldGVybWluZWQgYnkgcGFyc2luZyBhbnl3YXksIGFuZCBhdm9pZHMgaW50cm9kdWNpbmcKCSAgcmVkdW5kYW50IGFkZGl0aW9uYWwgbGF0ZW5jeS4KCjIwMTEtMDYtMTMgMTY6MzM6NTcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aXN1YnRpdGxlLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgLWdvb2Q6IHVwZGF0ZSBmb3IgYnVmZmVyIEFQSSBjaGFuZ2UKCjIwMTEtMDYtMTMgMTY6MzM6NDYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkgIHJ0cDogcG9ydCB0byAwLjExCgoyMDExLTA2LTEzIDEzOjI1OjQ5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cC9nc3RydHAuYzoKCSogZ3N0L3J0cC9nc3RydHBhYzNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBidnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGNlbHRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGNlbHRwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyMnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBpbGJjcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXB2cGF5LmM6CgkgIHJ0cDogZml4IGZvciBBUEkgY2hhbmdlcyBpbiB0aGUgYmFzZSBjbGFzc2VzCgoyMDExLTA2LTEzIDEzOjA3OjUwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSAgYXZpbXV4OiB1c2UgY2FwcyBldmVudCBmb3IgbmVnb3RpYXRpb24KCjIwMTEtMDYtMTMgMTM6MDc6MjcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBmaXggZm9yIGZsdXNoIHN0b3AgZXZlbnQgY2hhbmdlcwoKMjAxMS0wNi0wOCAxODozMzoxMCArMDMwMCAgUmFpbW8gSsOkcnZpIDxyYWltby5qYXJ2aUBnbWFpbC5jb20+CgoJKiBnc3QvdWRwL2dzdHVkcG5ldHV0aWxzLmg6CgkgIHVkcDogRml4IGNvbXBpbGVyIHdhcm5pbmcgb24gbWluZ3ctdzY0CgkgIEZpeGVzOiAjNjUyMTQ0LgoJICBnc3R1ZHBuZXR1dGlscy5oOjMyOjA6IGVycm9yOiAiV0lOVkVSIiByZWRlZmluZWQKCSAgL3Vzci9pNjg2LXc2NC1taW5ndzMyL3N5cy1yb290L21pbmd3L2luY2x1ZGUvX21pbmd3Lmg6MjMxOjA6IG5vdGU6IHRoaXMgaXMgdGhlCgkgIGxvY2F0aW9uIG9mIHRoZSBwcmV2aW91cyBkZWZpbml0aW9uCgoyMDExLTA2LTExIDE4OjU4OjA3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dvb20vZ3N0Z29vbS5jOgoJICBnb29tOiBmaXggZm9yIGJ1ZmZlcnBvb2wgdXBkYXRlCgoyMDExLTA2LTEwIDE4OjA1OjAxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dvb20vZ3N0Z29vbS5jOgoJICBnb29tOiB1cGRhdGUgZm9yIGFsaWdubWVudCBjaGFuZ2UKCjIwMTEtMDYtMDkgMTc6NTY6MTggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJICBqYWNrOiBwb3J0IHNvbWUgbW9yZQoKMjAxMS0wNi0wOSAxNzo1MjozNCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0cGRlYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgcnRzcDogcG9ydCB0byAwLjExCgoyMDExLTA2LTA5IDE3OjUwOjA4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgdWRwOiBwb3J0IHRvIDAuMTEKCjIwMTEtMDYtMDkgMTE6Mzc6NDcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYWFsaWIvZ3N0YWFzaW5rLmM6CgkgIGFhc2luazogcmVnaXN0ZXIgdGVtcGxhdGUgYW5kIGtsYXNzIGNvcnJlY3RseQoKMjAxMS0wNi0wOSAxMDo1MDo0NCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nb29tL2dzdGdvb20uYzoKCSogZ3N0L2dvb20vZ3N0Z29vbS5oOgoJICBnb29tOiBwb3J0IGdvb20KCjIwMTEtMDYtMDggMTg6MDY6NTYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgoyMDExLTA2LTA4IDE4OjA1OjIwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2FhbGliL2dzdGFhc2luay5jOgoJICBhc3Npbms6IHBvcnQgYWFzaW5rIHRvIDAuMTEKCjIwMTEtMDYtMDcgMTI6MDY6MDggKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlYnVndXRpbHMvYnJlYWtteWRhdGEuYzoKCSogZ3N0L2RlYnVndXRpbHMvY3B1cmVwb3J0LmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNhcHNkZWJ1Zy5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RjYXBzc2V0dGVyLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdG5hdnNlZWsuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0cHVzaGZpbGVzcmMuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0dGFnaW5qZWN0LmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL3Byb2dyZXNzcmVwb3J0LmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL3JuZGJ1ZmZlcnNpemUuYzoKCSogZ3N0L2RlYnVndXRpbHMvdGVzdHBsdWdpbi5jOgoJICBkZWJ1Z3V0aWxzOiBTd2l0Y2ggZnJvbSBHU1RfQk9JTEVSUExBVEUgdG8gR19ERUZJTkVfVFlQRQoKMjAxMS0wNi0wNyAxMToyNToxOCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9mbGlwLmM6CgkgIHZpZGVvZmlsdGVyOiBVc2UgbmV3IEdzdEJhc2VUcmFuc2Zvcm06OnRyYW5zZm9ybV9jYXBzIEFQSQoKMjAxMS0wNi0wNyAxMToyMzo1NSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLmM6CgkgIGF1cGFyc2U6IERvbid0IHVzZSBHU1RfQk9JTEVSUExBVEUKCjIwMTEtMDYtMDcgMTE6MjI6MzUgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9meGJhc2VmaXJmaWx0ZXIuYzoKCSAgYXVkaW9meGJhc2VmaXJmaWx0ZXI6IEJ1ZmZlcnMgbm8gbG9uZ2VyIGhhdmUgY2FwcwoKMjAxMS0wNi0wNyAxMToyMDowMCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzoKCSogZ3N0L2FscGhhL2dzdGFscGhhY29sb3IuYzoKCSAgYWxwaGE6IFVzZSBuZXcgdHJhbnNmb3JtX2NhcHMgdm1ldGhvZCAod2l0aCBmaWx0ZXIpCgoyMDExLTA2LTA2IDIwOjQzOjMxICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSAgYXVkaW9wYXJzZXJzOiBmaXggc29tZSBtb3JlIHBhcnNlcnMKCjIwMTEtMDYtMDYgMTg6MjE6MDQgKzA1MzAgIERlYmFyc2hpIFJheSA8cmlzaGlAZ251Lm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5oOgoJICBtYXRyb3NrYTogcmVmYWN0b3IgY29kZSBjb21tb24gdG8gbWF0cm9za2FkZW11eCBhbmQgbWF0cm9za2FwYXJzZQoJICBNb3ZlIHRoZSBmb2xsb3dpbmcgZnVuY3Rpb24gdG8gbWF0cm9za2EtcmVhZC1jb21tb24uW2NoXSBmcm9tCgkgIG1hdHJvc2thLWRlbXV4LmMgYW5kIG1hdHJvc2thLXBhcnNlLmM6CgkgIC0gZ3N0X21hdHJvc2thX3tkZW11eCxwYXJzZX1fcGFyc2VfY2hhcHRlcnMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MDg3NwoKMjAxMS0wNi0wNiAxNDo0NzoyNyArMDUzMCAgRGViYXJzaGkgUmF5IDxyaXNoaUBnbnUub3JnPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5oOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmg6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uaDoKCSAgbWF0cm9za2E6IHJlZmFjdG9yIGNvZGUgY29tbW9uIHRvIG1hdHJvc2thZGVtdXggYW5kIG1hdHJvc2thcGFyc2UKCSAgTW92ZSB0aGUgZm9sbG93aW5nIGZ1bmN0aW9uIHRvIG1hdHJvc2thLXJlYWQtY29tbW9uLltjaF0gZnJvbQoJICBtYXRyb3NrYS1kZW11eC5jIGFuZCBtYXRyb3NrYS1wYXJzZS5jOgoJICAtIGdzdF9tYXRyb3NrYV97ZGVtdXgscGFyc2V9X3BhcnNlX2F0dGFjaG1lbnRzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTA4NzcKCjIwMTEtMDYtMDYgMTI6NDM6MTQgKzA1MzAgIERlYmFyc2hpIFJheSA8cmlzaGlAZ251Lm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5oOgoJICBtYXRyb3NrYTogcmVmYWN0b3IgY29kZSBjb21tb24gdG8gbWF0cm9za2FkZW11eCBhbmQgbWF0cm9za2FwYXJzZQoJICBNb3ZlIHRoZSBmb2xsb3dpbmcgZnVuY3Rpb24gdG8gbWF0cm9za2EtcmVhZC1jb21tb24uW2NoXSBmcm9tCgkgIG1hdHJvc2thLWRlbXV4LmMgYW5kIG1hdHJvc2thLXBhcnNlLmM6CgkgIC0gZ3N0X21hdHJvc2thX3tkZW11eCxwYXJzZX1fcGFyc2VfYXR0YWNoZWRfZmlsZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUwODc3CgoyMDExLTA2LTA1IDIyOjQ1OjU1ICswNTMwICBEZWJhcnNoaSBSYXkgPHJpc2hpQGdudS5vcmc+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4Lmg6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuaDoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5oOgoJICBtYXRyb3NrYTogcmVmYWN0b3IgY29kZSBjb21tb24gdG8gbWF0cm9za2FkZW11eCBhbmQgbWF0cm9za2FwYXJzZQoJICBNb3ZlIHRoZSBmb2xsb3dpbmcgZnVuY3Rpb24gdG8gbWF0cm9za2EtcmVhZC1jb21tb24uW2NoXSBmcm9tCgkgIG1hdHJvc2thLWRlbXV4LmMgYW5kIG1hdHJvc2thLXBhcnNlLmM6CgkgIC0gZ3N0X21hdHJvc2thX3tkZW11eCxwYXJzZX1fcGFyc2VfaW5mbwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUwODc3CgoyMDExLTA2LTA1IDEwOjE1OjIzICswNTMwICBEZWJhcnNoaSBSYXkgPHJpc2hpQGdudS5vcmc+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4Lmg6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuaDoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5oOgoJICBtYXRyb3NrYTogcmVmYWN0b3IgY29kZSBjb21tb24gdG8gbWF0cm9za2FkZW11eCBhbmQgbWF0cm9za2FwYXJzZQoJICBNb3ZlIHRoZSBmb2xsb3dpbmcgZnVuY3Rpb24gdG8gbWF0cm9za2EtcmVhZC1jb21tb24uW2NoXSBmcm9tCgkgIG1hdHJvc2thLWRlbXV4LmMgYW5kIG1hdHJvc2thLXBhcnNlLmM6CgkgIC0gZ3N0X21hdHJvc2thX3tkZW11eCxwYXJzZX1fcGFyc2VfbWV0YWRhdGEKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MDg3NwoKMjAxMS0wNi0wNSAwOTo1NDo0MiArMDUzMCAgRGViYXJzaGkgUmF5IDxyaXNoaUBnbnUub3JnPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmg6CgkgIG1hdHJvc2thOiByZWZhY3RvciBjb2RlIGNvbW1vbiB0byBtYXRyb3NrYWRlbXV4IGFuZCBtYXRyb3NrYXBhcnNlCgkgIE1vdmUgdGhlIGZvbGxvd2luZyBmdW5jdGlvbiB0byBtYXRyb3NrYS1yZWFkLWNvbW1vbi5bY2hdIGZyb20KCSAgbWF0cm9za2EtZGVtdXguYyBhbmQgbWF0cm9za2EtcGFyc2UuYzoKCSAgLSBnc3RfbWF0cm9za2Ffe2RlbXV4LHBhcnNlfV9wYXJzZV9tZXRhZGF0YV9pZF90YWcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MDg3NwoKMjAxMS0wNi0wNSAwMjoyNDo0MSArMDUzMCAgRGViYXJzaGkgUmF5IDxyaXNoaUBnbnUub3JnPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmg6CgkgIG1hdHJvc2thOiByZWZhY3RvciBjb2RlIGNvbW1vbiB0byBtYXRyb3NrYWRlbXV4IGFuZCBtYXRyb3NrYXBhcnNlCgkgIE1vdmUgdGhlIGZvbGxvd2luZyBmdW5jdGlvbiB0byBtYXRyb3NrYS1yZWFkLWNvbW1vbi5bY2hdIGZyb20KCSAgbWF0cm9za2EtZGVtdXguYyBhbmQgbWF0cm9za2EtcGFyc2UuYzoKCSAgLSBnc3RfbWF0cm9za2Ffe2RlbXV4LHBhcnNlfV9wYXJzZV9tZXRhZGF0YV9pZF9zaW1wbGVfdGFnCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTA4NzcKCjIwMTEtMDYtMDYgMTI6NDI6NTMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiByZXNldCBzdGF0ZSB0cmFja2luZyB2YXJpYWJsZSB3aGVuIGFwcHJvcHJpYXRlCgkgIC4uLiBzbyB3ZSBkb24ndCBlbmQgdXAgaW50ZXJydXB0aW5nIGFuIG9wZXJhdGlvbiB0aGF0IHNob3VsZCBub3QgYmUgaW50ZXJydXB0ZWQKCSAgYmFzZWQgb24gdGhlIGluZGljYXRpb24gb2YgYSBwcmV2aW91cyBpbnRlcnJ1cHRhYmxlIG9wZXJhdGlvbi4KCjIwMTEtMDYtMDQgMTM6NDk6NTIgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOgoJICBpbnRlcmxlYXZlOiBXb3JrIGFyb3VuZCBjaGFuZ2VzIGluIGdfYXRvbWljIEFQSQoJICBTZWUgIzY1MTUxNCBmb3IgZGV0YWlscy4KCjIwMTEtMDYtMDQgMTM6NDM6MDAgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzaW5rLmM6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc2luay5oOgoJICBzb3VwaHR0cHNpbms6IGNvZGUgY2xlYW51cAoKMjAxMS0wNi0wNSAwMjowMDowOCArMDUzMCAgRGViYXJzaGkgUmF5IDxyaXNoaUBnbnUub3JnPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmM6CgkgIG1hdHJvc2thcGFyc2U6IFVzZSBBUlRJU1QgdGFnIGluc3RlYWQgb2YgQVVUSE9SIGZvciBHU1RfVEFHX0FSVElTVAoJICBBVVRIT1Igb25seSBleGlzdGVkIGluIGFuIG9sZCB2ZXJzaW9uIG9mIHRoZSBzcGVjIGFuZCBBUlRJU1QgaXMKCSAgdGhlIG5ldyByZXBsYWNlbWVudCBmb3IgdGhpcy4gV2UgYXJlIHN0aWxsIHJlYWRpbmcgYm90aCB0byBzdGlsbAoJICBiZSBjb21wYXRpYmxlIHdpdGggb2xkIGZpbGVzLgoJICBGaXhlcyBidWcgIzY0NDg3NS4KCjIwMTEtMDYtMDIgMTg6NTE6MjkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgkgIENvbmZsaWN0czoKCSAgc3lzL3hpbWFnZS94aW1hZ2V1dGlsLmMKCjIwMTEtMDYtMDIgMTg6NDc6MzYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguaDoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSogZ3N0L2F2aS9nc3RhdmlzdWJ0aXRsZS5jOgoJICBhdmk6IHBvcnQgQVZJIGVsZW1lbnRzIHRvIG5ldyBBUEkKCjIwMTEtMDYtMDIgMTM6Mzg6MzAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2R2L2dzdGR2ZGVtdXguYzoKCSAgZHZkZW11eDogRmlyc3QgcXVlcnkgdGhlIHBlZXIgZHVyYXRpb24gaW4gdGhlIHJlcXVlc3RlZCBmb3JtYXQgYmVmb3JlIGNvbnZlcnRpbmcgdG8gQllURVMKCSAgRml4ZXMgdXNhZ2Ugb2YgZHZkZW11eCBhZnRlciBhbm90aGVyIGRlbXV4ZXIsIGUuZy4gbXhmZGVtdXguCgkgIEZpeGVzIGJ1ZyAjNjUwNTAzLgoKMjAxMS0wNi0wMiAxMDo0MTo1MiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNpbmsuYzoKCSAgc291cGh0dHBzaW5rOiBGaXggcmVmY291bnRpbmcgb2YgdGhlICJzZXNzaW9uIiBwcm9wZXJ0eQoJICBQcm9wZXJ0aWVzIHNob3VsZCBuZXZlciB0YWtlIG93bmVyc2hpcCBvZiB0aGUgdmFsdWVzCgkgIHBhc3NlZCB0byB0aGVtLgoKMjAxMS0wNi0wMSAxNzowNDoyNyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBGb3Igc3RyZWFtaW5nIGZpbGVzLCBwdXNoIHRhZ3MgZmlyc3QKCjIwMTEtMDUtMjQgMTQ6NTI6MDEgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L3NvdXAvTWFrZWZpbGUuYW06CgkqIGV4dC9zb3VwL2dzdHNvdXAuYzoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzaW5rLmM6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc2luay5oOgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwOiBBZGQgc291cGh0dHBzaW5rCgoyMDExLTA2LTAxIDEwOjE5OjMxICswMjAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgdWRwc3JjOiBhbGxvdyBza2lwLWZpcnN0LWJ5dGVzIG9mIGZ1bGwgYnVmZmVyIHNpemUKCjIwMTEtMDUtMzAgMTg6MzE6NTAgKzA1MzAgIERlYmFyc2hpIFJheSA8cmlzaGlAZ251Lm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5oOgoJICBtYXRyb3NrYTogcmVmYWN0b3IgY29kZSBjb21tb24gdG8gbWF0cm9za2FkZW11eCBhbmQgbWF0cm9za2FwYXJzZQoJICBNb3ZlIHRoZSBmb2xsb3dpbmcgZnVuY3Rpb25zIHRvIG1hdHJvc2thLXJlYWQtY29tbW9uLltjaF0gZnJvbQoJICBtYXRyb3NrYS1kZW11eC5jIGFuZCBtYXRyb3NrYS1wYXJzZS5jOgoJICAtIGdzdF9tYXRyb3NrYV97ZGVtdXgscGFyc2V9X3BhcnNlX2hlYWRlcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUwODc3CgoyMDExLTA1LTMwIDEyOjA5OjMxICswMjAwICBBbnRvbmlvIEZyZWRpYW5pIDxhbnRvbmlvLmZyZWRpYW5pQGlud2luZC5pdD4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IFVzZSBHU1RfVEFHX0lNQUdFIGZvciBjb3ZlcmFydCB0b28KCSAgRml4ZXMgYnVnICM2MzgxMDcuCgoyMDExLTA1LTMwIDEwOjQwOjA4ICswNTMwICBEZWJhcnNoaSBSYXkgPHJpc2hpQGdudS5vcmc+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uaDoKCSAgbWF0cm9za2E6IHJlZmFjdG9yIGNvZGUgY29tbW9uIHRvIG1hdHJvc2thZGVtdXggYW5kIG1hdHJvc2thcGFyc2UKCSAgTW92ZSB0aGUgZm9sbG93aW5nIGZ1bmN0aW9ucyB0byBtYXRyb3NrYS1yZWFkLWNvbW1vbi5bY2hdIGZyb20KCSAgbWF0cm9za2EtZGVtdXguYyBhbmQgbWF0cm9za2EtcGFyc2UuYzoKCSAgLSBnc3RfbWF0cm9za2Ffe2RlbXV4LHBhcnNlfV9nZXRfc2Vla190cmFjawoJICAtIGdzdF9tYXRyb3NrYV97ZGVtdXgscGFyc2V9X3Jlc2V0X3N0cmVhbXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MDg3NwoKMjAxMS0wNS0yOCAyMjowNDozNCArMDUzMCAgRGViYXJzaGkgUmF5IDxyaXNoaUBnbnUub3JnPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5oOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmg6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uaDoKCSAgbWF0cm9za2E6IHJlZmFjdG9yIGNvZGUgY29tbW9uIHRvIG1hdHJvc2thZGVtdXggYW5kIG1hdHJvc2thcGFyc2UKCSAgTW92ZSB0aGUgZm9sbG93aW5nIGZ1bmN0aW9uIHRvIG1hdHJvc2thLXJlYWQtY29tbW9uLltjaF0gZnJvbQoJICBtYXRyb3NrYS1kZW11eC5jIGFuZCBtYXRyb3NrYS1wYXJzZS5jOgoJICAtIGdzdF9tYXRyb3NrYXtkZW11eCxwYXJzZX1fZm91bmRfZ2xvYmFsX3RhZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUwODc3CgoyMDExLTA1LTI4IDEwOjU5OjA5ICswNTMwICBEZWJhcnNoaSBSYXkgPHJpc2hpQGdudS5vcmc+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uaDoKCSAgbWF0cm9za2E6IHJlZmFjdG9yIGNvZGUgY29tbW9uIHRvIG1hdHJvc2thZGVtdXggYW5kIG1hdHJvc2thcGFyc2UKCSAgTW92ZSB0aGUgZm9sbG93aW5nIGZ1bmN0aW9ucyB0byBtYXRyb3NrYS1yZWFkLWNvbW1vbi5bY2hdIGZyb20KCSAgbWF0cm9za2EtZGVtdXguYyBhbmQgbWF0cm9za2EtcGFyc2UuYzoKCSAgLSBnc3RfbWF0cm9za2FfaW5kZXhfc2Vla19maW5kCgkgIC0gZ3N0X21hdHJvc2the2RlbXV4LHBhcnNlfV9kb19pbmRleF9zZWVrCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTA4NzcKCjIwMTEtMDUtMjcgMjM6MTU6MjMgKzA1MzAgIERlYmFyc2hpIFJheSA8cmlzaGlAZ251Lm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5oOgoJICBtYXRyb3NrYTogcmVmYWN0b3IgY29kZSBjb21tb24gdG8gbWF0cm9za2FkZW11eCBhbmQgbWF0cm9za2FwYXJzZQoJICBNb3ZlIHRoZSBmb2xsb3dpbmcgZnVuY3Rpb24gdG8gbWF0cm9za2EtcmVhZC1jb21tb24uW2NoXSBmcm9tCgkgIG1hdHJvc2thLWRlbXV4LmMgYW5kIG1hdHJvc2thLXBhcnNlLmM6CgkgIC0gZ3N0X21hdHJvc2thX3tkZW11eCxwYXJzZX1fdHJhY2tudW1iZXJfdW5pcXVlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTA4NzcKCjIwMTEtMDUtMjcgMjA6Mjg6MTkgKzA1MzAgIERlYmFyc2hpIFJheSA8cmlzaGlAZ251Lm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5oOgoJICBtYXRyb3NrYTogcmVmYWN0b3IgY29kZSBjb21tb24gdG8gbWF0cm9za2FkZW11eCBhbmQgbWF0cm9za2FwYXJzZQoJICBNb3ZlIHRoZSBmb2xsb3dpbmcgZnVuY3Rpb24gdG8gbWF0cm9za2EtcmVhZC1jb21tb24uW2NoXSBmcm9tCgkgIG1hdHJvc2thLWRlbXV4LmMgYW5kIG1hdHJvc2thLXBhcnNlLmM6CgkgIC0gZ3N0X21hdHJvc2thX3tkZW11eCxwYXJzZX1fZGVjb2RlX2RhdGEKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MDg3NwoKMjAxMS0wNS0yNyAxOTozMDo0OCArMDUzMCAgRGViYXJzaGkgUmF5IDxyaXNoaUBnbnUub3JnPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmg6CgkgIG1hdHJvc2thOiByZWZhY3RvciBjb2RlIGNvbW1vbiB0byBtYXRyb3NrYWRlbXV4IGFuZCBtYXRyb3NrYXBhcnNlCgkgIE1vdmUgdGhlIGZvbGxvd2luZyBmdW5jdGlvbiB0byBtYXRyb3NrYS1yZWFkLWNvbW1vbi5bY2hdIGZyb20KCSAgbWF0cm9za2EtZGVtdXguYyBhbmQgbWF0cm9za2EtcGFyc2UuYzoKCSAgLSBnc3RfbWF0cm9za2Ffe2RlbXV4LHBhcnNlfV9nZXRfbGVuZ3RoCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTA4NzcKCjIwMTEtMDUtMjcgMDk6MTc6NDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSAgYXZpbXV4OiBSZXZlcnQgMWE5MGE2YzQgYW5kIGRyb3AgRGlyYWMgc3VwcG9ydCBhZ2FpbgoJICBJdCBkb2VzIG5vdCB3b3JrIGF0IGFsbCAoQS9WIHN5bmMgaXNzdWVzKSwgaXMgbm90IHZlcnkgdXNlZnVsLAoJICBvdGhlciBjb250YWluZXJzIHdvcmsgbXVjaCBiZXR0ZXIgd2l0aCBEaXJhYyBhbmQgRGlyYWMgaW4gQVZJCgkgIGlzIG5vdCBzdXBwb3J0ZWQgYnkgb3RoZXIgc29mdHdhcmUuCgkgIEZpeGVzIGJ1ZyAjNTQxMjE1LgoKMjAxMS0wNS0yNiAyMzozNTo1MiArMDUzMCAgRGViYXJzaGkgUmF5IDxyaXNoaUBnbnUub3JnPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmg6CgkgIG1hdHJvc2thOiByZWZhY3RvciBjb2RlIGNvbW1vbiB0byBtYXRyb3NrYWRlbXV4IGFuZCBtYXRyb3NrYXBhcnNlCgkgIE1vdmUgdGhlIGZvbGxvd2luZyBmdW5jdGlvbnMgdG8gbWF0cm9za2EtcmVhZC1jb21tb24uW2NoXSBmcm9tCgkgIG1hdHJvc2thLWRlbXV4LmMgYW5kIG1hdHJvc2thLXBhcnNlLmM6CgkgIC0gZ3N0X21hdHJvc2thX3tkZW11eCxwYXJzZX1fZW5jb2RpbmdfY21wCgkgIC0gZ3N0X21hdHJvc2thX3tkZW11eCxwYXJzZX1fcmVhZF90cmFja19lbmNvZGluZ3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MDg3NwoKMjAxMS0wNS0yMyAxODowNjo0NCArMDMwMCAgRGViYXJzaGkgUmF5IDxyaXNoaUBnbnUub3JnPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmg6CgkgIG1hdHJvc2thOiByZWZhY3RvciBjb2RlIGNvbW1vbiB0byBtYXRyb3NrYWRlbXV4IGFuZCBtYXRyb3NrYXBhcnNlCgkgIE1vdmUgdGhlIGZvbGxvd2luZyBmdW5jdGlvbnMgdG8gbWF0cm9za2EtcmVhZC1jb21tb24uW2NoXSBmcm9tCgkgIG1hdHJvc2thLWRlbXV4LmMgYW5kIG1hdHJvc2thLXBhcnNlLmM6CgkgIC0gZ3N0X21hdHJvc2thX3tkZW11eCxwYXJzZX1fcGVla19pZF9sZW5ndGhfcHVsbAoJICAtIGdzdF9tYXRyb3NrYV97ZGVtdXgscGFyc2V9X3BlZWtfaWRfbGVuZ3RoX3B1c2gKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MDg3NwoKMjAxMS0wNS0yMyAxODowNjo0NCArMDMwMCAgRGViYXJzaGkgUmF5IDxyaXNoaUBnbnUub3JnPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5oOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmg6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uaDoKCSAgbWF0cm9za2E6IHJlZmFjdG9yIGNvZGUgY29tbW9uIHRvIG1hdHJvc2thZGVtdXggYW5kIG1hdHJvc2thcGFyc2UKCSAgTW92ZSB0aGUgZm9sbG93aW5nIGZ1bmN0aW9uIHRvIG1hdHJvc2thLXJlYWQtY29tbW9uLltjaF0gZnJvbQoJICBtYXRyb3NrYS1kZW11eC5jIGFuZCBtYXRyb3NrYS1wYXJzZS5jOgoJICAtIGdzdF9tYXRyb3NrYV97ZGVtdXgscGFyc2V9X3BlZWtfYWRhcHRlcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUwODc3CgoyMDExLTA1LTI2IDEyOjQ4OjM2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy94aW1hZ2UveGltYWdldXRpbC5jOgoJICB4dmltYWdlc2luazogRmFsbGJhY2sgdG8gbm9uLVhTaG0gbW9kZSBpZiBhbGxvY2F0aW5nIHRoZSBYU2htIGltYWdlIGZhaWxlZAoJICBGaXhlcyBidWcgIzYzMDQ1Ni4KCjIwMTEtMDUtMjYgMTI6MjI6NTIgKzAyMDAgIE1hcmMgTGVlbWFuIDxtYXJjLmxlZW1hbkBnbWFpbC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuYzoKCSAgcnRwbXA0dnBheTogRGVwcmVjYXRlZCBzZW5kLWNvbmZpZyBwcm9wZXJ0eSBhbmQgcmVwbGFjZSBieSBjb25maWctaW50ZXJ2YWwKCSAgRml4ZXMgYnVnICM2MjI0MTIuCgoyMDEwLTA2LTIzIDExOjEyOjAwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmg6CgkgIG1hdHJvc2thZGVtdXg6IFVURi04IHN1YnRpdGxlcyBtYXkgaGF2ZSBtYXJrdXAKCSAgRml4ZXMgIzYxNjkzNi4KCjIwMTEtMDEtMjMgMTU6NTY6NDkgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NhaXJvL2dzdHRleHRvdmVybGF5LmM6CgkqIGV4dC9jYWlyby9nc3R0ZXh0b3ZlcmxheS5oOgoJICBjYWlyb3RleHRvdmVybGF5OiBmb3J3YXJkIG5ldyBzZWdtZW50IGV2ZW50cyBmcm9tIHRoZSBzaW5rIHRvIHRoZSBzb3VyY2UKCSAgTm90IGRvaW5nIHNvIHdpbGwgY2F1c2UgYnVmZmVycyB0byBiZSByZWNlaXZlZCBieSBkb3duc3RyZWFtIHdpdGhvdXQKCSAgYSB0aW1lIGJhc2Ugc2V0LgoJICBXZSB1c2UgdGhlIHNhbWUgbWV0aG9kIGF2aW11eCB1c2VzIHRvIGdldCBhY2Nlc3MgdG8gdGhlIGV2ZW50IHdoZW4KCSAgY29sbGVjdHBhZHMgZ290IHRoZSBzaW5rIGV2ZW50IGZ1bmN0aW9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQwMzIzCgoyMDExLTAxLTI0IDExOjExOjQ4ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jYWlyby9nc3R0ZXh0b3ZlcmxheS5jOgoJICB0ZXh0b3ZlcmxheTogZm9yd2FyZCBzb3VyY2UgZXZlbnRzIHRvIHNpbmtzCgkgIEV2ZW50cyBhcmUgcGFzc2VkIHRvIHRoZSB2aWRlbyBzaW5rLCBhbmQgdG8gdGhlIHRleHQgc2luayBpZiBpdCBpcwoJICBsaW5rZWQuCgkgIFRoaXMgd2lsbCBhbGxvdyBzZWVraW5nLCBmb3IgaW5zdGFuY2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD01ODY0NTAKCjIwMTEtMDUtMjUgMjE6MTI6MTIgKzAyMDAgIERhdmlkIEhveXQgPGRob3l0QGxsbmwuZ292PgoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4Lmg6CgkgIG11bHRpcGFydGRlbXV4OiBBZGQgcHJvcGVydHkgdG8gYXNzdW1lIGEgc2luZ2xlIHN0cmVhbSBhbmQgZW1pdCBuby1tb3JlLXBhZHMKCSAgRml4ZXMgYnVnICM2MTY2ODYuCgoyMDExLTA1LTI1IDE0OjUwOjI2ICswMjAwICBNaWd1ZWwgQW5nZWwgQ2FicmVyYSBNb3lhIDxtYWRtYWMyNTAxQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogdW5pZm9ybSB1bmtub3duIG1lc3NhZ2UgaGFuZGxpbmcKCSAgRG8gdGhlIHNhbWUgcHJvY2Vzc2luZyBpbiBhbGwgdGhlIGNhc2VzIHdoZW4gYW4gdW5rbm93biBtZXNzYWdlIGlzIHJlY2VpdmVkLgoJICBUaGF0IGlzLCBnaXZlIGEgd2FybmluZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MTA1OQoKMjAxMS0wNS0yMyAxODowNjo0NCArMDMwMCAgRGViYXJzaGkgUmF5IDxyaXNoaUBnbnUub3JnPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmg6CgkgIG1hdHJvc2thOiByZWZhY3RvciBjb2RlIGNvbW1vbiB0byBtYXRyb3NrYWRlbXV4IGFuZCBtYXRyb3NrYXBhcnNlCgkgIE1vdmUgdGhlIGZvbGxvd2luZyBmdW5jdGlvbiB0byBtYXRyb3NrYS1yZWFkLWNvbW1vbi5bY2hdIGZyb20KCSAgbWF0cm9za2EtZGVtdXguYyBhbmQgbWF0cm9za2EtcGFyc2UuYzoKCSAgLSBnc3RfbWF0cm9za2Ffe2RlbXV4LHBhcnNlfV9wZWVrX3B1bGwKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MDg3NwoKMjAxMS0wNS0yMyAxODowNjo0NCArMDMwMCAgRGViYXJzaGkgUmF5IDxyaXNoaUBnbnUub3JnPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5oOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmg6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uaDoKCSAgbWF0cm9za2E6IHJlZmFjdG9yIGNvZGUgY29tbW9uIHRvIG1hdHJvc2thZGVtdXggYW5kIG1hdHJvc2thcGFyc2UKCSAgTW92ZSB0aGUgZm9sbG93aW5nIGZ1bmN0aW9uIHRvIG1hdHJvc2thLXJlYWQtY29tbW9uLltjaF0gZnJvbQoJICBtYXRyb3NrYS1kZW11eC5jIGFuZCBtYXRyb3NrYS1wYXJzZS5jOgoJICAtIGdzdF9tYXRyb3NrYV97ZGVtdXgscGFyc2V9X3BlZWtfYnl0ZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MDg3NwoKMjAxMS0wNS0yMyAxODowNjo0NCArMDMwMCAgRGViYXJzaGkgUmF5IDxyaXNoaUBnbnUub3JnPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmg6CgkgIG1hdHJvc2thOiByZWZhY3RvciBjb2RlIGNvbW1vbiB0byBtYXRyb3NrYWRlbXV4IGFuZCBtYXRyb3NrYXBhcnNlCgkgIE1vdmUgdGhlIGZvbGxvd2luZyBmdW5jdGlvbnMgdG8gbWF0cm9za2EtcmVhZC1jb21tb24uW2NoXSBmcm9tCgkgIG1hdHJvc2thLWRlbXV4LmMgYW5kIG1hdHJvc2thLXBhcnNlLmM6CgkgIC0gZ3N0X21hdHJvc2thX3tkZW11eCxwYXJzZX1fZW5jb2Rpbmdfb3JkZXJfdW5pcXVlCgkgIC0gZ3N0X21hdHJvc2thX3tkZW11eCxwYXJzZX1fcmVhZF90cmFja19lbmNvZGluZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUwODc3CgoyMDExLTA1LTI0IDE4OjI3OjEwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc2luay5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zcmMuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc2luay5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zcmMuYzoKCSAgYXV0b2RldGVjdDogcG9ydCB0byBuZXcgQVBJCgoyMDExLTA1LTI0IDE3OjM0OjE5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoJICBDb25mbGljdHM6CgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguYwoJICBnc3QvcnRwL2dzdHJ0cGFjM2RlcGF5LmMKCSAgZ3N0L3J0cC9nc3RydHBnNzI2ZGVwYXkuYwoJICBnc3QvcnRwL2dzdHJ0cG1wdmRlcGF5LmMKCSAgZ3N0L3ZpZGVvZmlsdGVyL2dzdGdhbW1hLmMKCjIwMTEtMDUtMjQgMTM6MTI6MTkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBwY211ZGVwYXkuYzoKCSAgcGNtdWRlcGF5OiBhbGxvdyB2YXJpYWJsZSBzYW1wbGUgcmF0ZQoKMjAxMS0wNS0yNCAxMzoxMTo1NCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cHBjbWFkZXBheS5jOgoJICBwY21hZGVwYXk6IGFsbG93IHZhcmlhYmxlIHNhbXBsZSByYXRlCgoyMDEwLTA0LTA0IDA2OjQzOjQxIC0wNTAwICBSb2IgQ2xhcmsgPHJvYkB0aS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnR1bmVyLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ0dW5lci5oOgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkgIHY0bDI6IGFkZCBub3JtIHByb3BlcnR5CgkgIEJhc2VkIG9uIGEgcGF0Y2ggYnkgR3Vlbm5hZGkgTGlha2hvdmV0c2tpLgoJICB2MjogdXBkYXRlcyBiZWNhdXNlIEkgZm9yZ290IHRvIGFkZCBHc3RUdW5lciBpbnRlcmZhY2UgdG8gdjRsMnNpbmsKCSAgdjM6IHVwZGF0ZSB0byBhZGQgYWxsIHBvc3NpYmxlIHZhbHVlcyB0byBub3JtIGVudW0KCjIwMTEtMDUtMjMgMjA6NDY6MDQgKzAzMDAgIERlYmFyc2hpIFJheSA8cmlzaGlAZ251Lm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uaDoKCSAgbWF0cm9za2E6IGZpeGVkIGNvcHlyaWdodCBoZWFkZXJzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTA4NzcKCjIwMTEtMDUtMjMgMTg6MDY6NDQgKzAzMDAgIERlYmFyc2hpIFJheSA8cmlzaGlAZ251Lm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5oOgoJICBtYXRyb3NrYTogcmVmYWN0b3IgY29kZSBjb21tb24gdG8gbWF0cm9za2FkZW11eCBhbmQgbWF0cm9za2FwYXJzZQoJICBNb3ZlIHRoZSBmb2xsb3dpbmcgZnVuY3Rpb25zIHRvIG1hdHJvc2thLXJlYWQtY29tbW9uLltjaF0gZnJvbQoJICBtYXRyb3NrYS1kZW11eC5jIGFuZCBtYXRyb3NrYS1wYXJzZS5jOgoJICAtIGdzdF9tYXRyb3NrYV9kZWNvZGVfY29udGVudF9lbmNvZGluZ3MKCSAgLSBnc3RfbWF0cm9za2FfZGVjb21wcmVzc19kYXRhCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTA4NzcKCjIwMTEtMDUtMjMgMTg6NDg6NTcgKzAzMDAgIERlYmFyc2hpIFJheSA8cmlzaGlAZ251Lm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguaDoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5oOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uaDoKCSAgbWF0cm9za2E6IG1vdmUgR3N0TWF0cm9za2F7RGVtdXgsUGFyc2V9OjpzdGF0ZSB0byBHc3RNYXRyb3NrYVJlYWRDb21tb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MDg3NwoKMjAxMS0wNS0yNCAwOTo0ODo1NiArMDIwMCAgSm9uYXMgTGFyc3NvbiA8am9uYXMubGFyc3NvbkBoaXEuc2U+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogRml4IGJ1ZmZlciBsZWFrIHdpdGggY29ycnVwdGVkIGZpbGVzCgkgIEZpeGVzIGJ1ZyAjNjUwOTEyLgoKMjAxMS0wNS0yMyAwMjo0NjozOCAtMDcwMCAgTWlndWVsIEFuZ2VsIENhYnJlcmEgTW95YSA8bWFkbWFjMjUwMUBnbWFpbC5jb20+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IGZpeCBwYXJhbWV0ZXIgdHlwZSBpbiB0cmFjZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUwOTM3CgoyMDExLTA1LTIzIDE4OjA2OjQ0ICswMzAwICBEZWJhcnNoaSBSYXkgPHJpc2hpQGdudS5vcmc+CgoJKiBnc3QvbWF0cm9za2EvTWFrZWZpbGUuYW06CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguaDoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5oOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmg6CgkgIG1hdHJvc2thOiByZWZhY3RvciBjb2RlIGNvbW1vbiB0byBtYXRyb3NrYWRlbXV4IGFuZCBtYXRyb3NrYXBhcnNlCgkgIFJlcGxhY2UgdGhlIGZvbGxvd2luZyBmdW5jdGlvbnMgd2l0aCB0aGVpciBnc3RfbWF0cm9za2FfcmVhZF9jb21tb25fKgoJICBjb3VudGVycGFydHM6CgkgIC0gZ3N0X21hdHJvc2thX3tkZW11eCxwYXJzZX1fcGFyc2VfaW5kZXgKCSAgLSBnc3RfbWF0cm9za2Ffe2RlbXV4LHBhcnNlfV9wYXJzZV9za2lwCgkgIC0gZ3N0X21hdHJvc2thX3tkZW11eCxwYXJzZX1fc3RyZWFtX2Zyb21fbnVtCgkgIEludHJvZHVjZSBHc3RNYXRyb3NrYVJlYWRDb21tb24gdG8gY29udGFpbiB0aG9zZSBtZW1iZXJzIG9mCgkgIEdzdE1hdHJvc2thRGVtdXggYW5kIEdzdE1hdHJvc2thUGFyc2UgdGhhdCB3ZXJlIHVzZWQgYnkgdGhlIGFib3ZlCgkgIGZ1bmN0aW9ucy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MDg3NwoKMjAxMS0wNS0yMyAxMzo1MDo0NiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IHRlbGwgYmFzZXBhcnNlIHRoZSBkdXJhdGlvbiBpbiBzYW1wbGVzIGZvciBiZXR0ZXIgYWNjdXJhY3kKCSAgVGVsbCBHc3RCYXNlUGFyc2UgdGhlIGR1cmF0aW9uIGluIHNhbXBsZXMgaW5zdGVhZCBvZiB0aW1lLCBzbyB0aGF0CgkgIGEgZHVyYXRpb24gcXVlcnkgaW4gREVGQVVMVCBmb3JtYXQgd2lsbCByZXR1cm4gdGhlIGNvcnJlY3QgbnVtYmVyCgkgIG9mIHNhbXBsZXMgd2l0aG91dCByb3VuZGluZyBlcnJvcnMuIEJhc2VwYXJzZSB3aWxsIGNvbnZlcnQgdGhpcwoJICBpbnRvIHRpbWUgaXRzZWxmIHdoZW4gbmVlZGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUwNzg1CgoyMDExLTA1LTIzIDEzOjI1OjQ0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSAgZmxhY2RlYzogYWxzbyB0cnkgdXBzdHJlYW0gZmlyc3QgZm9yIGR1cmF0aW9uIHF1ZXJ5IGluIERFRkFVTFQgZm9ybWF0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTA3ODUKCjIwMTEtMDUtMjMgMTM6MjM6MjEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBtYWtlIGNvbnZlcnNpb24gZnJvbSBUSU1FIHRvIERFRkFVTFQgZm9ybWF0IChzYW1wbGVzKSB3b3JrCgkgIEZpeCBjb3B5J24ncGFzdGUgZXJyb3IgaW4gdGhlIHByZXZpb3VzIGNvbW1pdC4KCjIwMTEtMDUtMjMgMTE6MzY6MzYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBJbXBsZW1lbnQgY29udmVyc2lvbnMgYmV0d2VlbiBUSU1FIGFuZCBERUZBVUxUIGZvcm1hdAoJICBGaXhlcyBidWcgIzY1MDc4NS4KCjIwMTEtMDUtMjIgMTg6NTA6NTEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBkb24ndCBlcnJvciBvdXQgb24gaW52YWxpZCBtaW5pbXVtX2Jsb2Nrc2l6ZSB2YWx1ZSBpbiBzdHJlYW1pbmZvIGhlYWRlcgoJICBXZSBkb24ndCB1c2UgaXQsIHNvIG1heSBqdXN0IGFzIHdlbGwgYWNjZXB0IGFuIGludmFsaWQgdmFsdWUKCSAgb2YgMCBoZXJlLCB3aGljaCBpcyBsaWtlbHkgaW5jb25zZXF1ZW50aWFsIGFueXdheS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MDY5MQoKMjAxMS0wNS0yMCAxMDozNDo0NyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3J0cC9nc3RydHBqcGVncGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0YWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcWNlbHBkZXBheS5jOgoJICBydHA6IGZpeCBzdGF0aWMgYXJyYXkgb3ZlcnJ1bnMgaW4gYSBuaWNlciB3YXkKCSAgVXNlIEdfTl9FTEVNRU5UUyBpbnN0ZWFkIG9mIGhhcmQtY29kaW5nIHRoZSBhcnJheSBzaXplLgoKMjAxMS0wNS0yMCAwMDo1Mzo0NCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3J0cC9nc3RydHBqcGVncGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0YWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcWNlbHBkZXBheS5jOgoJICBydHA6IGZpeCBzdGF0aWMgYXJyYXkgb3ZlcnJ1bnMKCSAgWWVzIGFycmF5WzEwXSBoYXMgZWxlbWVudHMgZnJvbSAwLi4uOS4KCjIwMTEtMDUtMTkgMjM6MzE6MTkgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJICBkb2NzOiB1cGRhdGUgcGx1Z2luIGludHJvc3BlY3Rpb24gZGF0YQoJICBOb3cgbW9yZSBmaWxlcyBhcmUgbWVyZ2VkIGFuZCBwcm9kdWNlZCBpbiBhIGNhbm9uaWNhbCBmYXNoaW9uLCB3aGljaCBob3BlZnVsbHkKCSAgY3JlYXRlcyBsZXNzIG9yIG5vIGRlbHRhIGluIHRoZSBmdXR1cmUuCgoyMDExLTA1LTE5IDIyOjU3OjE1ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDllNWJiZDUgdG8gNjliOTgxZgoKMjAxMS0wNS0xOSAxODoyMTozMyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGFkZCBtaXNzaW5nIGJyZWFrCgoyMDEwLTExLTA4IDE0OjA2OjE1ICswMTAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmg6CgkgIGRlaW50ZXJsYWNlOiBBZGQgc3VwcG9ydCBmb3IgZGVpbnRlcmxhY2luZyB1c2luZyBidWZmZXIgY2Fwcy9mbGFncwoJICBXaGVuIG5vdCB1c2luZyB0aGUgZmllbGRhbmFseXNpcyBlbGVtZW50IGltbWVkaWF0ZWx5IHVwc3RyZWFtIG9mIGRlaW50ZXJsYWNlLAoJICBiZWhhdmlvdXIgc2hvdWxkIHJlbWFpbiB1bmNoYW5nZWQuIGZpZWxkYW5hbHlzaXMgd2lsbCBzZXQgdGhlIGNhcHMgYW5kIGZsYWdzIG9uCgkgIHRoZSBidWZmZXJzIHN1Y2ggdGhhdCB0aGV5IGNhbiBiZSBpbnRlcnByZXRlZCBhbmQgYWN0ZWQgdXBvbiB0byBwcm9kdWNlCgkgIHByb2dyZXNzaXZlIG91dHB1dC4KCSAgVGhlcmUgYXJlIHR3byBtYWluIG1vZGVzIG9mIG9wZXJhdGlvbjoKCSAgLSBQYXNzaXZlIHBhdHRlcm4gbG9ja2luZwoJICBQYXNzaXZlIHBhdHRlcm4gbG9ja2luZyBpcyBhIG5vbi1ibG9ja2luZywgbG93LWxhdGVuY3kgbW9kZSBvZiBvcGVyYXRpb24gdGhhdAoJICBpcyBzdWl0YWJsZSBmb3IgY2xvc2UtdG8tbGl2ZSB1c2FnZS4gSW5pdGlhbGx5IGEgdGVsZWNpbmUgc3RyZWFtIHdpbGwgYmUKCSAgb3V0cHV0IGFzIHZhcmlhYmxlIGZyYW1lcmF0ZSB3aXRoIG5hw692ZSB0aW1lc3RhbXAgYWRqdXN0bWVudC4gV2l0aCBlYWNoCgkgIGluY29taW5nIGJ1ZmZlciwgYW4gYXR0ZW1wdCBpcyBtYWRlIHRvIGxvY2sgb250byBhIHBhdHRlcm4uIFdoZW4gYSBsb2NrIGlzCgkgIG9idGFpbmVkLCB0aGUgc3JjIHBhZCBhbmQgb3V0cHV0IGJ1ZmZlciBjYXBzIHdpbGwgcmVmbGVjdCB0aGUgcGF0dGVybiBhbmQKCSAgdGltZXN0YW1wcyB3aWxsIGJlIGFjY3VyYXRlbHkgaW50ZXJwb2xhdGVkIGJldHdlZW4gcGF0dGVybiByZXBlYXRzLiBUaGlzCgkgIG1lYW5zIHRoYXQgaW5pdGlhbGx5IGFuZCBhdCBwYXR0ZXJuIHRyYW5zaXRpb25zIHRoZXJlIHdpbGwgYmUgc2hvcnQgcGVyaW9kcwoJICBvZiBpbmFjY3VyYXRlIHRpbWVzdGFtcGluZy4KCSAgLSBBY3RpdmUgcGF0dGVybiBsb2NraW5nCgkgIEFjdGl2ZSBwYXR0ZXJuIGxvY2tpbmcgaXMgYSBibG9ja2luZywgaGlnaC1sYXRlbmN5IG1vZGUgb2Ygb3BlcmF0aW9uIHRoYXQgaXMKCSAgdGFyZ2V0ZWQgYXQgdXNlLWNhc2VzIHdoZXJlIHRpbWVzdGFtcCBhY2N1cmFjeSBpcyBwYXJhbW91bnQuIEJ1ZmZlcnMgd2lsbCBiZQoJICBxdWV1ZWQgdW50aWwgZW5vdWdoIGFyZSBwcmVzZW50IHRvIG1ha2UgYSBsb2NrLiBXaGVuIGxvY2tlZCwgdGltZXN0YW1wcyB3aWxsCgkgIGJlIGFjY3VyYXRlbHkgaW50ZXJwb2xhdGVkIGJldHdlZW4gcGF0dGVybiByZXBlYXRzLiBPcnBoYW4gZmllbGRzIGNhbiBiZQoJICBkcm9wcGVkIG9yIGRlaW50ZXJsYWNlZC4gSWYgbm8gbG9jayBjYW4gYmUgb2J0YWluZWQsIGEgc2luZ2xlIGZpZWxkIG1pZ2h0IGJlCgkgIHB1c2hlZCB0aHJvdWdoIHRvIGJlIGRlaW50ZXJsYWNlZC4KCSAgTG9ja2luZyBjYW4gYWxzbyBiZSBkaXNhYmxlZCBvciAnYXV0bycgY2hvb3NlcyBiZXR3ZWVuIHBhc3NpdmUgYW5kIGFjdGl2ZQoJICBsb2NraW5nIG1vZGVzIGRlcGVuZGluZyBvbiB3aGV0aGVyIHVwc3RyZWFtIGlzIGxpdmUuCgoyMDExLTA1LTEwIDE2OjI1OjQwIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBSZW1vdmUgY29uZmlnIHNjcmlwdCBjaGVjayBmb3IgY2FjYQoKMjAxMS0wNS0xOCAxMjozNjo0MCArMDIwMCAgSm9zZSBBbnRvbmlvIFNhbnRvcyBDYWRlbmFzIDxzYW50b3NjYWRlbmFzQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwYWMzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBidmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyMmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyNmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBpbGJjZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDFzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDJ0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcHZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbWFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbXVkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4ZGVwYXkuYzoKCSAgcnRwOiBGaXggc2VnbWVudGF0aW9uIGZhdWx0IHByb2Nlc3NpbmcgcGF5bG9hZCBidWZmZXJzCgkgIFRoaXMgY29tbWl0IGNoZWNrcyBpZiB0aGUgdmFsdWUgcmV0dXJuZWQgYnkKCSAgZ3N0X3J0cF9idWZmZXJfZ2V0X3BheWxvYWRfYnVmZmVyIGFuZAoJICBnc3RfcnRwX2J1ZmZlcl9nZXRfcGF5bG9hZF9zdWJidWZmZXIgaXMgTlVMTCBiZWZvcmUgdXNpbmcgaXQuCgoyMDExLTA1LTE4IDE2OjEwOjA3ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGZkMzUwNzMgdG8gOWU1YmJkNQoKMjAxMS0wNS0xOCAxMjo1MjozMSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBlbnN1cmUgMC1wYWRkaW5nIHdoZW4gY29ycmVjdGluZyBkdWJpb3VzIGxpc3Qgc2l6ZQoKMjAxMS0wNS0xOCAxMjoyNDoyNSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA0NmRmY2VhIHRvIGZkMzUwNzMKCjIwMTEtMDUtMTggMTA6MjI6MjcgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogdXNlIEVJTlZBTCBmb3IgbWlzc2luZyB1cmwgcGFyYW1ldGVyCgkgIEZpeGVzIGdjYyB3YXJuaW5nIGFib3V0IHVzaW5nIHVuaW5pdGlhbGl6ZWQgdmFyaWFibGUgJ3JlcycuCgoyMDExLTA0LTI4IDE1OjM3OjQwICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvZGVidWd1dGlscy9ybmRidWZmZXJzaXplLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3RnYW1tYS5jOgoJICB2YXJpb3VzOiBmaXggYXV0aG9yIHRhZyBpbiBlbGVtZW50IGRldGFpbHMKCjIwMTEtMDQtMjAgMTU6MjU6NTggLTA0MDAgIENocmlzIEUgSm9uZXMgPGNocmlzQGNocmlzZWpvbmVzLmNvbT4KCgkqIGdzdC9hdXBhcnNlL2dzdGF1cGFyc2UuYzoKCSAgYXVwYXJzZTogaW1wbGVtZW50IHNlZWtpbmcKCSAgSW1wbGVtZW50IHNlZWtpbmcgYW5kIHNlZWtpbmcgcXVlcnkuIEZpeGVzICM2NDQ1MTIKCjIwMTEtMDUtMTcgMTY6MTM6NTkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgoyMDExLTA0LTA2IDE2OjA1OjU1ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogYWxzbyBhbGxvdyBQQVVTRSB0byBiZSBpbnRlcnJ1cHRlZAoJICAuLi4gYXMgaXQgaXMgb24gdGhlIHdheSBvdXQgdG8gTlVMTC4KCSAgU2VlICM2MzI1MDQuCgoyMDExLTA0LTA2IDE1OjUxOjQ5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogZW5zdXJlIHByb3BlciBjbG9zaW5nIGFuZCBjbGVhbnVwCgkgIC4uLiBzaW5jZSB0aGUgVEVBUkRPV04gc2VxdWVuY2UgbWlnaHQgbm90IGhhdmUgaGFkIGEgY2hhbmNlIHRvIGV2ZW4gc3RhcnQsCgkgIGJ1dCBhdCBsZWFzdCBjb25uZWN0aW9ucyBzaG91bGQgYmUgY2xvc2VkIChzeW5jaHJvbm91c2x5KSBhbmQgc3RhdGUgY2xlYW5lZCB1cC4KCSAgU2VlICM2MzI1MDQuCgoyMDExLTA0LTA2IDE1OjQ5OjAxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBydHNwc3JjOiBmaXggYW5kIGltcHJvdmUgYXN5bmMgaGFuZGxpbmcKCSAgU2ltcGxpZnkgdGhlIGNvbW1hbmQgaGFuZGxpbmc7IHBhc3NpbmcgYSBjb21tYW5kIHRvIHRocmVhZCBtZWFucyB3ZSByZWFsbHkKCSAgd2FudCBpdCB0byBnZXQgdGhlIG1lc3NhZ2UsIHdoaWNoIG1lYW5zIHRvIGFsd2F5cyBmbHVzaCBwcm92aWRlZCB0aGUgY29tbWFuZAoJICBjYW4gaGFuZGxlIGJlaW5nIGludGVycnVwdGVkLiAgQ29tbWFuZCB0aHJlYWQgaW5kaWNhdGVzIHdoZXRoZXIgY29tbWFuZAoJICBhbGxvd3MgaW50ZXJydXB0aW9uIGFuZCBlbnN1cmUgbm9uLWZsdXNoaW5nIGNvbm5lY3Rpb24gYXMgaXQgc3Vic2VxdWVudGx5CgkgIG5lZWRzIGl0LgoJICBJbiBwYXJ0aWN1bGFyLCB0aGlzIGFsc28gbWFrZXMgdGhlIFRFQVJET1dOIHNlcXVlbmNlIGludGVycnVwdGFibGUKCSAgYW5kIGFsc28gcHJldmVudHMgcmFjZXMgd2hlcmUgX2xvb3BfIGNvdWxkIG1pc3MgYSBjb21tYW5kIGFuZCB3b3VsZAoJICBjb250aW51ZSByZWNlaXZpbmcgKG9yIGF0IGxlYXN0IHRyeWluZyB0bykuCgkgIFNlZSAjNjMyNTA0LgoKMjAxMS0wNC0wNiAxNDo1MzoyNyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IHR3ZWFrIHBvc3Qtc2VlayBsb29wIGhhbmRsaW5nCgoyMDExLTAxLTEwIDEyOjQ2OjM3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIHJ0c3BzcmM6IG9wZW4gb24gcGxheSBhbmQgcGF1c2Ugd2hlbiBub3QgZG9uZSB5ZXQKCSAgV2l0aCB0aGUgYXN5bmMgc3RhdGUgY2hhbmdlcywgaXQgaXMgcG9zc2libGUgdGhhdCB3ZSBuZWVkIHRvIG9wZW4gdGhlIHN0cmVhbQoJICBiZWZvcmUgcGxheSBhbmQgcGF1c2UuCgkgIEFsc28gbWFrZSBzdXJlIHdlIHJlbWVtYmVyIGEgcHJldmlvdXMgb3BlbiBmYWlsdXJlIHNvIHRoYXQgd2UgZG9uJ3Qga2VlcCB0cnlpbmcKCSAgYWdhaW4uCgoyMDExLTAxLTEwIDExOjQ1OjAzICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBpbXByb3ZlIGFzeW5jIGhhbmRsaW5nCgkgIFNpbXBsaWZ5IHRoZSBjb21tYW5kIGhhbmRsaW5nLCBvbmx5IGNvbnRpbnVlIGxvb3Bpbmcgd2hlbiB3ZSBoYXZlIG5vdCByZWNlaXZlZAoJICBhbm90aGVyIGNvbW1hbmQgb3Igd2hlbiB0aGUgcHJldmlvdXMgbG9vcCB3YXMgc3VjY2Vzc2Z1bGwuCgkgIEF2b2lkIGxvb3Bpbmcgb24gYSBkaXNjb25uZWN0ZWQgc29ja2V0LgoKMjAxMS0wMS0wNyAxODowMjo0OSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogcmV3b3JrIHJlY29ubmVjdCBjb2RlCgkgIFVzZSB0aGUgc2FtZSBhc3luYyBjb2RlIHBhdGggdG8gaW1wbGVtZW50IHJlY29ubmVjdHMuCgkgIE1ha2Ugc3VyZSB3ZSBvbmx5IHBvc3QgcHJvZ3Jlc3MgbWVzc2FnZXMgd2hlbiBkb2luZyBhc3luYyB0aGluZ3MuCgoyMDExLTAxLTA3IDE3OjE5OjU5ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBzbWFsbCBjbGVhbnVwcwoJICBNYWtlIHN1cmUgd2UgY2FuY2VsIHRoZSBwcmV2aW91cyB0YXNrIHdoZW4gcXVldWluZyBhIG5ldyBvbmUuCgkgIE1vdmUgdGhlIG1lc3NhZ2VzIHRvIGEgY2VudHJhbCBwbGFjZSBzbyB3ZSBjYW4gbW9yZSBlYXNpbHkgcG9zdCB0aGVtLgoKMjAxMS0wMS0wNyAxNToxNTo0OSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogZG9uJ3QgcG9zdCBlcnJvcnMgd2hlbiBpbnRlcnJ1cHRpbmcKCjIwMTEtMDEtMDcgMTM6NDM6MDYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgcnRzcHNyYzogaW1wbGVtZW50IG1vcmUgYXN5bmMgaGFuZGxpbmcKCSAgUmVtb3ZlIHNvbWUgb2xkIGxvY2tzLgoJICBNYWtlIHN1cmUgd2UgbmV2ZXIgZ28gaW50byB0aGUgbG9vcCBmdW5jdGlvbiB3aGVuIGZsdXNoaW5nLgoKMjAxMS0wMS0wNyAxMTo0MDozMiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogZmlyc3QgYXR0ZW1wdCBhdCBhc3luYyBpbXBsZW1lbnRhdGlvbgoKMjAxMS0wMS0wNyAxMTo0MDoxMSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgcnRzcHNyYzogc21hbGwgaGVhZGVyIGNsZWFudXBzCgoyMDExLTA1LTE3IDEwOjQ3OjMyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJICBzc3JjZGVtdXg6IEZpeCB1bmluaXRpYWxpemVkIHZhcmlhYmxlIGNvbXBpbGVyIHdhcm5pbmcgZm9yIChwcmUtKSByZWxlYXNlcyB0b28KCjIwMTEtMDQtMjggMTU6NTc6MDQgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0czogT25seSBhbGxvdyBtcGVnLXRzIG9uIHNvdXJjZSBvYmplY3RzCgkgIFVnbHkgZml4IGZvciAjNjQ4MzEyCgoyMDExLTA1LTE3IDA5OjI0OjA4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJICBydHBzc3JjZGVtdXg6IEZpeCB1bmluaXRpYWxpemVkIHZhcmlhYmxlIGNvbXBpbGVyIHdhcm5pbmcKCjIwMTEtMDUtMDYgMTk6MDk6MTcgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJICBzc3JjZGVtdXg6IEltcGxlbWVudCBpdGVyYXRlIGludGVybmFsIGxpbmtzIGZvciBzaW5rIHBhZHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0OTYxNwoKMjAxMS0wNS0wNiAxODo0MTowMSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkgIHJ0cHNzcmNkZW11eDogaXRlcmF0ZSBwYWQgZnVuY3Rpb24gaXMgb25seSB2YWxpZCBmb3Igc3JjIHBhZHMKCSAgVGhlIGl0ZXJhdGUgZnVuY3Rpb24gaXMgb25seSB1c2VkIGZvciBzcmMgcGFkcywgc28gbWFyayBpdCBhcyBzdWNoIGFuZCByZW1vdmUKCSAgZGVhZCBjb2RlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQ5NjE3CgoyMDExLTA1LTA2IDE4OjEyOjUzIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSAgcnRwc3NyY2RlbXV4OiBSZWxlYXNlIGxvY2sgYmVmb3JlIGVtaXR0aW5nIHNpZ25hbAoJICBJZiB0aGUgbG9jayBpcyBub3QgcmVsZWFzZWQgYmVmb3JlIGVtaXR0aW5nIGEgc2lnbmFsLCBpdCBtYXkgY2F1c2UgYSBkZWFkbG9jawoJICBpZiBhbnkgb3RoZXIgZnVuY3Rpb24gaW4gdGhlIGVsZW1lbnQgaXMgY2FsbGVkLgoJICBBbHNvIHJlbW92ZWQgYW4gdW51c2VkIHRpbWVzdGFtcCBwYXJhbWV0ZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0OTYxNwoKMjAxMS0wNS0xNSAyMzoyNToxNSArMDMwMCAgRGViYXJzaGkgUmF5IDxyaXNoaUBnbnUub3JnPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmM6CgkgIG1hdHJvc2thcGFyc2U6IGNhbGN1bGF0ZSBzZWdtZW50IGR1cmF0aW9uIGFmdGVyIHBhcnNpbmcgYWxsIHRoZSBJRHMKCSAgU2luY2UgdGhlIHNlZ21lbnQgZHVyYXRpb24gaXMgZ2l2ZW4gaW4gdGVybXMgb2YgdGhlCgkgIEdTVF9NQVRST1NLQV9JRF9USU1FQ09ERVNDQUxFIHdlIHNob3VsZCBvbmx5IGNvbnZlcnQgaXQgaW50bwoJICBuYW5vc2Vjb25kcyB3aGVuIHdlIGFyZSBzdXJlIHRoYXQgYW55IHNjYWxlIHNwZWNpZmllZCBpbiB0aGUgZmlsZSBoYXMKCSAgYmVlbiByZWFkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUwMjU4CgoyMDExLTA1LTE2IDE3OjUyOjExICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoJICBDb25mbGljdHM6CgkgIGNvbmZpZ3VyZS5hYwoKMjAxMS0wNS0xNiAxNzo1MDoxNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zaW5rLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NyYy5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zaW5rLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NyYy5jOgoJICAtZ29vZDogZml4IGZvciBuZXcgQVBJCgoyMDExLTA1LTA0IDExOjU1OjIxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBhZGRpdGlvbmFsIGxvY2sgc2FmZXR5CgkgIEZpeGVzICM2MTk1OTAuCgoyMDExLTA0LTI2IDE2OjA2OjU2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBhbHNvIGNoZWNrIGZvciBiaXRyYXRlIGluZm8gaW4gY2FwcwoKMjAxMC0wNS0yNSAwMTowNDo0MyArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4Lmg6CgkgIHF0ZGVtdXg6IGd1ZXNzIGJpdHJhdGUgaWYgb25seSBvbmUgc3RyZWFtJ3MgYml0cmF0ZSBpcyB1bmtub3duCgkgIElmIHRoZSBiaXRyYXRlcyBmb3IgYWxsIGJ1dCBvbmUgYXVkaW8vdmlkZW8gc3RyZWFtcyBhcmUga25vd24sIGFuZCB0aGUKCSAgdG90YWwgc3RyZWFtIHNpemUgYW5kIGR1cmF0aW9uIGNhbiBiZSBkZXRlcm1pbmVkLCB0aGlzIGNhbGN1bGF0ZXMgdGhlCgkgIHVua293biBiaXRyYXRlIGFzIChzdHJlYW0gc2l6ZSAvIGR1cmF0aW9uKSAtIChzdW0gb2Yga25vd24gYml0cmF0ZXMpLgoJICBXaGlsZSB0aGlzIGlzIG5vdCBndWFyYW50ZWVkIHRvIGJlIHZlcnkgYWNjdXJhdGUsIGl0IHNob3VsZCBiZSBnb29kCgkgIGVub3VnaCBmb3IgbW9zdCBwdXJwb3Nlcy4KCSAgRm9yIGV4YW1wbGUsIHRoaXMgaXMgdXNlZnVsIGZvciBILjI2MyArIEFBQyBzdHJlYW1zIHdoZXJlIG5vICdidHJ0JyBhdG9tCgkgIGlzIGF2YWlsYWJsZSBmb3IgdGhlIHZpZGVvIHBvcnRpb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MTk1NDgKCjIwMTAtMDUtMzEgMjM6NTk6NTkgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEV4cG9ydCBtYXggYml0cmF0ZSBmb3IgQU1SLU5CLy1XQiBzdHJlYW1zCgkgIFRoaXMgcGFyc2VzIHRoZSAnZGFtcicgYXRvbSBpZiBwcmVzZW50LCBhbmQgZXhwb3J0cyB0aGUgbWF4aW11bSBiaXRyYXRlCgkgIG9mIHRoZSBzdHJlYW0gdXNpbmcgdGhlIG1vZGUgc2V0IGZpZWxkIHRvIGRldGVybWluZSB0aGUgaGlnaGVzdCBiaXRyYXRlCgkgIGZyYW1lIHR5cGUgdGhhdCBtaWdodCBiZSBwcmVzZW50LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjIwMTg2CgoyMDExLTA1LTE2IDA5OjA0OjMxICswMjAwICBQaW5vIFRvc2Nhbm8gPHRvc2Nhbm8ucGlub0B0aXNjYWxpLml0PgoKCSogZXh0L3B1bHNlL3B1bHNldXRpbC5jOgoJICBwdWxzZTogRGVmaW5lIFBBVEhfTUFYIGlmIGl0IGlzbid0IGRlZmluZWQKCSAgR05VIEh1cmQgZm9yIGV4YW1wbGUgZG9lc24ndCBkZWZpbmUgaXQuCgoyMDExLTA1LTE1IDIzOjI1OjE1ICswMzAwICBEZWJhcnNoaSBSYXkgPHJpc2hpQGdudS5vcmc+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogY2FsY3VsYXRlIHNlZ21lbnQgZHVyYXRpb24gYWZ0ZXIgcGFyc2luZyBhbGwgdGhlIElEcwoJICBTaW5jZSB0aGUgc2VnbWVudCBkdXJhdGlvbiBpcyBnaXZlbiBpbiB0ZXJtcyBvZiB0aGUKCSAgR1NUX01BVFJPU0tBX0lEX1RJTUVDT0RFU0NBTEUgd2Ugc2hvdWxkIG9ubHkgY29udmVydCBpdCBpbnRvCgkgIG5hbm9zZWNvbmRzIHdoZW4gd2UgYXJlIHN1cmUgdGhhdCBhbnkgc2NhbGUgc3BlY2lmaWVkIGluIHRoZSBmaWxlIGhhcwoJICBiZWVuIHJlYWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTAyNTgKCjIwMTEtMDUtMDkgMTk6MDA6NDUgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8YW1vcmFsZXNAZmx1bW90aW9uLmNvbT4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkgIGZsdm11eDogQWRkIHN1cHBvcnQgZm9yIG1wZWd2ZXJzaW9uIDIsIHdoaWNoIGlzIGFsc28gQUFDCgoyMDExLTA1LTExIDEwOjI1OjE1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5oOgoJICBmbGFjZGVjOiBTZW5kIEVPUyB3aGVuIHNlZWtpbmcgYWZ0ZXIgdGhlIGVuZCBvZiBmaWxlIGluc3RlYWQgb2YgZmFpbGluZwoJICBGaXhlcyBidWcgIzY0OTc4MC4KCjIwMTEtMDQtMjkgMDg6NTk6MjAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuYzoKCSAgd2F2ZW5jOiBTZXQgZml4ZWRjYXBzIGdldGNhcHMgZnVuY3Rpb24gb24gdGhlIHNpbmtwYWQKCSAgd2F2ZW5jIGRvZXMgbm90IGFsbG93IHRvIGNoYW5nZSB0aGUgY2FwcyBkdXJpbmcgcGxheWJhY2sKCSAgYW5kIGFsd2F5cyByZXR1cm5pbmcgdGhlIHRlbXBsYXRlIGNhcHMgaXMganVzdCB3cm9uZy4KCjIwMTEtMDQtMjkgMDg6NTU6MTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuYzoKCSAgd2F2ZW5jOiBBbGxvdyBzZXRjYXBzIHRvIGJlIGNhbGxlZCBhZnRlciBhIGZvcm1hdCB3YXMgbmVnb3RpYXRlZCBpZiBpdCdzIGNvbXBhdGlibGUKCSAgT3RoZXJ3aXNlIHdhdmVuYyB3aWxsIGZhaWwgaWYgdXBzdHJlYW0gZGVjaWRlcyB0byBzZXQgZXF1aXZhbGVudCBjYXBzIG9yIGNhcHMKCSAgd2l0aCBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIGxhdGVyLgoJICBUaGFua3MgdG8gQWxleGFuZGVyIFNjaHJlbW1lciBmb3IgZmluZGluZyB0aGlzIGJ1Zy4KCjIwMTEtMDUtMTQgMTA6MDI6MjIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGFsZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pc29tcDQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgQmFjayB0byBkZXZlbG9wbWVudAoKPT09IHJlbGVhc2UgMC4xMC4yOSA9PT0KCjIwMTEtMDUtMTAgMTA6MDQ6MjggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGFsZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pc29tcDQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2dsLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9yby5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHBvL3poX0hLLnBvOgoJKiBwby96aF9UVy5wbzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDAuMTAuMjkKCSAgSGlnaGxpZ2h0czoKCSAgLSBhbXJwYXJzZSwgYWFjcGFyc2UsIGFjM3BhcnNlLCBmbGFjcGFyc2UsIG1wZWdhdWRpb3BhcnNlLCBkY2FwYXJzZSBhdWRpbyBwYXJzZXJzIChtb3ZlZCBmcm9tIC1iYWQpCgkgIC0gbXV4ZXJzIG5vdyBtdXggYmFzZWQgb24gcnVubmluZyB0aW1lCgkgIC0gSVNPIE1QNCBtdXhlcnM6IG1wNG11eC8zZ3BwbXV4L3F0bXV4L21qMm11eCAobW92ZWQgZnJvbSAtYmFkKQoJICAtIG5ldyBtYXRyb3NrYXBhcnNlIGVsZW1lbnQKCSAgLSBuZXcgdjRsMnJhZGlvIGVsZW1lbnQKCSAgLSBydHBzZXNzaW9uOiBzdXBwb3J0IFJUQ1AgRWFybHkgRmVlZGJhY2sgKHRoZSBBVlBGIHByb2ZpbGUpCgkgIC0gb3JjIDAuNC4xNCBvciBuZXdlciByZWNvbW1lbmRlZAoJICAtIG1hbnkgb3RoZXIgZml4ZXMgYW5kIGltcHJvdmVtZW50cwoKMjAxMS0wNS0wNSAxMzoyNDoyMyArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBGaXggc2lnbmVkIGZsb2F0aW5nIHBvaW50IHZhbHVlcyB3cml0aW5nCgkgIFlvdSB3b3VsZCBlbmQgdXAgb24gc29tZSBhcmNoaXRlY3R1cmVzIHdpdGggMCBiZWluZyB3cml0dGVuIG91dAoJICBpbnN0ZWFkIG9mIHRoZSBwcm9wZXIgdmFsdWUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDk0NDkKCjIwMTEtMDUtMDQgMTI6MDQ6MTUgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogYXZvaWQgYnVpbGRpbmcgaW5kZXggd2hlbiBzdHJlYW1hYmxlCgkgIC4uLiBhcyBpdCB3aWxsIG5vdCBiZSB3cml0dGVuIGFueXdheS4KCSAgRml4ZXMgIzY0ODkzNyAoPykuCgoyMDExLTA1LTAyIDEyOjA5OjAyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIE1ha2VmaWxlLmFtOgoJICBidWlsZDogYWRkIG9sZCBxdGRlbXV4L3F1aWNrdGltZSBkaXJlY3RvcmllcyB0byBDUlVGVF9ESVJTIGFuZCBDUlVGVF9GSUxFUwoKMjAxMS0wNS0wMSAwMDowNDowMyAtMDQwMCAgVG9tIEphbmlzemV3c2tpIDx0b20uamFuaXN6ZXdza2lAYWxjYXRlbC1sdWNlbnQuY29tPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSAgZmx2bXV4OiBkb24ndCBvdmVyd3JpdGUgbWV0YWRhdGEgdGFnIHdpdGggZHVyYXRpb24gaW4gc3RyZWFtaW5nIG1vZGUKCSAgQSBkdXJhdGlvbiB0YWcgZ2V0cyBpbnNlcnRlZCBvbmx5IGZvciBzdHJlYW1hYmxlPWZhbHNlLCBzbyBvbmx5CgkgIHVwZGF0ZS93cml0ZSB0aGUgZHVyYXRpb24gbGF0ZXIgaWYgd2UgYWN0dWFsbHkgaW5zZXJ0ZWQgdGhhdCB0YWcsCgkgIG90aGVyd2lzZSB3ZSB3cml0ZSBnYXJiYWdlIGludG8gb3RoZXIgdGFncy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0OTA2MAoKMjAxMS0wNC0zMCAxODoxNjozNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGFsZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pc29tcDQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vbm9zY29wZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiBwby9mci5wbzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICAwLjEwLjI4LjQgcHJlLXJlbGVhc2UKCjIwMTEtMDQtMzAgMTc6NDY6MzYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogQW5kcm9pZC5tazoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXNvbXA0LnhtbDoKCSogZ3N0LXBsdWdpbnMtZ29vZC5zcGVjLmluOgoJKiBnc3QvaXNvbXA0L0xFR0FMOgoJKiBnc3QvaXNvbXA0L01ha2VmaWxlLmFtOgoJKiBnc3QvaXNvbXA0L2F0b21zLmM6CgkqIGdzdC9pc29tcDQvYXRvbXMuaDoKCSogZ3N0L2lzb21wNC9hdG9tc3JlY292ZXJ5LmM6CgkqIGdzdC9pc29tcDQvYXRvbXNyZWNvdmVyeS5oOgoJKiBnc3QvaXNvbXA0L2Rlc2NyaXB0b3JzLmM6CgkqIGdzdC9pc29tcDQvZGVzY3JpcHRvcnMuaDoKCSogZ3N0L2lzb21wNC9mb3VyY2MuaDoKCSogZ3N0L2lzb21wNC9mdHlwY2MuaDoKCSogZ3N0L2lzb21wNC9nc3RxdG1vb3ZyZWNvdmVyLmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtb292cmVjb3Zlci5oOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LWRvYy5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LWRvYy5oOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguaDoKCSogZ3N0L2lzb21wNC9nc3RxdG11eG1hcC5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4bWFwLmg6CgkqIGdzdC9pc29tcDQvZ3N0cnRweHF0ZGVwYXkuYzoKCSogZ3N0L2lzb21wNC9nc3RydHB4cXRkZXBheS5oOgoJKiBnc3QvaXNvbXA0L2lzb21wNC1wbHVnaW4uYzoKCSogZ3N0L2lzb21wNC9wcm9wZXJ0aWVzLmM6CgkqIGdzdC9pc29tcDQvcHJvcGVydGllcy5oOgoJKiBnc3QvaXNvbXA0L3F0YXRvbXBhcnNlci5oOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4Lmg6CgkqIGdzdC9pc29tcDQvcXRkZW11eC52Y3Byb2o6CgkqIGdzdC9pc29tcDQvcXRkZW11eF9kdW1wLmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eF9kdW1wLmg6CgkqIGdzdC9pc29tcDQvcXRkZW11eF9mb3VyY2MuaDoKCSogZ3N0L2lzb21wNC9xdGRlbXV4X2xhbmcuYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4X2xhbmcuaDoKCSogZ3N0L2lzb21wNC9xdGRlbXV4X3R5cGVzLmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eF90eXBlcy5oOgoJKiBnc3QvaXNvbXA0L3F0cGFsZXR0ZS5oOgoJKiBwby9QT1RGSUxFUy5pbjoKCSAgcXVpY2t0aW1lOiByZW5hbWUgcGx1Z2luIHRvIGlzb21wNAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQ4MDA0CgoyMDExLTA0LTI5IDE3OjU1OjI4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YW1ycGFyc2UuYzoKCSAgYXVkaW9wYXJzZXJzOiBmaXggc29tZSBwYXJzZXJzCgoyMDExLTA0LTI5IDE3OjU0OjQyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBmaXggZXJyb3IgY2F1c2VkIGJ5IG1lcmdpbmcKCjIwMTEtMDQtMjkgMTU6NDk6NDEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgkgIENvbmZsaWN0czoKCSAgY29uZmlndXJlLmFjCgkgIGdzdC9ydHAvZ3N0cnRwZ3N0cGF5LmMKCjIwMTEtMDQtMjkgMTU6NDY6MjEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWZpcmZpbHRlci5jOgoJICBhdWRpb2Z4OiBmaXggcGFkX2FsbG9jCgoyMDExLTA0LTI3IDEyOjQ1OjUxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhhbGVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdWlja3RpbWUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiBwby9iZy5wbzoKCSogcG8vamEucG86CgkqIHBvL25sLnBvOgoJKiBwby9ydS5wbzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICAwLjEwLjI4LjMgcHJlLXJlbGVhc2UKCjIwMTEtMDQtMjYgMTU6NTg6MTIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGdzdHBheS5jOgoJICBydHBnc3RwYXk6IGZpeCBidWZmZXIgbGVhawoKMjAxMS0wNC0yNiAxNTo1ODoxMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwZ3N0cGF5LmM6CgkgIHJ0cGdzdHBheTogZml4IGJ1ZmZlciBsZWFrCgoyMDExLTA0LTI2IDE1OjQyOjQ3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSAgamFjazogcG9ydCBqYWNrIGVsZW1lbnRzCgoyMDExLTA0LTI1IDEwOjA0OjUyICswMjAwICBQaGlsaXAgSsOkZ2Vuc3RlZHQgPHBoaWxpcGpAb3BlcmEuY29tPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnZGVjOiBkb2N1bWVudGF0aW9uIHR5cG8gImpwZWdkZGVjIgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQ4NTg5CgoyMDExLTA0LTI1IDE4OjE0OjQ1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwZGVwYXkuYzoKCSAgcnRwOiBwb3J0IHNvbWUgbW9yZSBlbGVtZW50cwoKMjAxMS0wNC0yNSAxNzoyNzo0MCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwZzcyMmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyMnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyOWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyOXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcGFyb2J1c3RkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wdmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXB2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtYXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbXVkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbXVwYXkuYzoKCSAgcnRwOiBwb3J0IG1vcmUgdG8gMC4xMQoKMjAxMS0wNC0yNSAxMzoxNjo1OCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwYWMzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhYzNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBidmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYnZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBjZWx0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBjZWx0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBkdmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZHZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc3RkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzdHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGlsYmNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGlsYmNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcGFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYXBheS5jOgoJICBydHA6IHBvcnQgc29tZSBtb3JlIChkZSlwYXlsb2FkZXJzCgoyMDExLTA0LTI1IDEyOjQ5OjM2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FscGhhL2dzdGFscGhhLmM6CgkqIGdzdC9hbHBoYS9nc3RhbHBoYWNvbG9yLmM6CgkqIGdzdC9hcGV0YWcvZ3N0YXBlZGVtdXguYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9hbXBsaWZ5LmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYmJhbmQuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9jaGVibGltaXQuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9keW5hbWljLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZWNoby5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2ZpcmZpbHRlci5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWZpcmZpbHRlci5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWlpcmZpbHRlci5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2lpcmZpbHRlci5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2ludmVydC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2thcmFva2UuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9wYW5vcmFtYS5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb3dzaW5jYmFuZC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb3dzaW5jbGltaXQuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdGdhbW1hLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2JhbGFuY2UuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmxpcC5jOgoJICBwb3J0IHNvbWUgbW9yZSBlbGVtZW50cyB0byAwLjExCgoyMDExLTA0LTI1IDExOjM4OjI4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoKMjAxMS0wNC0yNCAxNjo0NTowNyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIGF2aW11eCxtYXRyb3NrYW11eDogQWRkIHN0cmVhbS1mb3JtYXQgdG8gaDI2NCBjYXBzCgkgIEZpeGVzICM2MDY2NjIuCgoyMDExLTAyLTIwIDEyOjEzOjQ5IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6CgkgIHBuZ2RlYzogUmVtb3ZlIHRlbXBvcmFyeSBjb2RlCgkgIE5vdyB0aGF0IHdlIGRlcGVuZCBvbiAod2hhdCB3aWxsIGJlKSAtYmFzZS0wLjEwLjMzLgoKMjAxMS0wNC0yNCAxNDowMzo1NiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogZG9uJ3QgcGFzcyAtV2FkZHJlc3MgdG8gT2JqQyBjb21waWxlciBvbiBPU1ggd2hlbiBjb21waWxpbmcgb3N4dmlkZW9zaW5rCgkgIFRlbXBvcmFyeSB3b3JrYXJvdW5kIHVudGlsIHdlIGZpeCB0aGlzIHByb3Blcmx5IGFuZCBjaGVjayBmb3IKCSAgdGhlIE9iakMgd2FybmluZy9lcnJvciBmbGFncyBpbnN0ZWFkIG9mIGp1c3QgcGFzc2luZyBDRkxBR1MgdG8gdGhlCgkgIE9iakMgY29tcGlsZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDM5MzkKCjIwMTEtMDQtMjQgMTM6Mjk6MzIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF1aWNrdGltZS54bWw6CgkqIGdzdC1wbHVnaW5zLWdvb2Quc3BlYy5pbjoKCSogZ3N0L3F1aWNrdGltZS9NYWtlZmlsZS5hbToKCSAgcXVpY2t0aW1lOiByZW5hbWUgcGx1Z2luIGZpbGVuYW1lIGZyb20gKnF0ZGVtdXgqIHRvICpxdWlja3RpbWUqCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDgwMDQKCjIwMTEtMDQtMjQgMTQ6MDM6NDEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBjM2NhZmUxIHRvIDQ2ZGZjZWEKCjIwMTEtMDQtMjEgMjM6MzA6MjYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGdzdC9xdWlja3RpbWUvTWFrZWZpbGUuYW06CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtb292cmVjb3Zlci5jOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LWRvYy5jOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LWRvYy5oOgoJICBkb2NzOiBhZGQgdmFyaW91cyBxdG11eCB2YXJpYW50cyB0byBkb2N1bWVudGF0aW9uCgoyMDExLTA0LTIxIDIyOjUxOjUyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eG1hcC5jOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4bWFwLmg6CgkgIHF1aWNrdGltZTogcmVnaXN0ZXIgM2dwcG11eCBlbGVtZW50IGluIGFkZGl0aW9uIHRvIHRoZSBtaXNuYW1lZCBncHBtdXgKCjIwMTEtMDQtMTggMTg6MDg6MzAgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIHJ0cHNlc3Npb246IFJlbW92ZSBpbmNvbXBsZXRlIHN1cHBvcnQgZm9yIFJUQ1AgRklSCgkgIFJlbW92ZSBiaXRzIHRoYXQgd2VyZSBtZWFudCB0byBzdXBwcG9ydCBSVENQIEZJUgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQ4MTYwCgoyMDExLTA0LTE5IDE4OjU1OjMxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkqIGV4dC9mbGFjL2dzdGZsYWN0YWcuYzoKCSAgZmxhYzogcG9ydCB0byAwLjExCgoyMDExLTA0LTE5IDE3OjM1OjQ3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRwZGVjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3VkcC9nc3RkeW51ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0dWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICB1c2UgR19ERUZJTkVfVFlQRSBzb21lIG1vcmUKCjIwMTEtMDQtMTkgMTc6MjA6MTkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpc3VidGl0bGUuYzoKCSAgYXZpOiB1c2UgR19ERUZJTkVfVFlQRQoKMjAxMS0wNC0xOSAxNzowNzoxOCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZW1peGVyLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NpbmsuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc3JjLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NpbmsuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc3JjLmM6CgkgIHVzZSBHX0RFRklORV9UWVBFCgoyMDExLTA0LTE5IDE2OjI1OjI4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoKMjAxMS0wNC0xOSAxNDozMzoyNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZ2VuZXJpYy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9nZW5lcmljL2luZGV4LmM6CgkgIHRlc3RzOiBhZGQgZ2VuZXJpYyBzZXRfaW5kZXggdGVzdAoKMjAxMS0wNC0xOSAxNDozMzo0MiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdmRlbXV4OiBmaXggZGVhZGxvY2sgb24gc2V0dGluZyBpbmRleCBvbiBmbHZkZW11eAoKMjAxMS0wNC0xOSAxNDoxNjoxMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9mbGFjcGFyc2UuYzoKCSAgdGVzdHM6IGFkZCBpbmRleC1zZXR0aW5nIHRlc3QgZm9yIGJhc2VwYXJzZS9mbGFjcGFyc2UKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0NjgxMQoKMjAxMS0wNC0xOCAxMToyOToxNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvd2F2cGFjay5jOgoJICB3YXZwYWNrOiBSZW1vdmUgYnVzIEdTb3VyY2UgdG8gcHJldmVudCBhIHZhbGdyaW5kIHdhcm5pbmcKCjIwMTEtMDQtMTggMTE6MTQ6MzIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3dhdmVuYy5jOgoJICB3YXZlbmM6IFJlbW92ZSBidXMgR1NvdXJjZSB0byBwcmV2ZW50IGEgdmFsZ3JpbmQgd2FybmluZwoKMjAxMS0wNC0xOCAxMToxMTo1MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvdGFnc2NoZWNraW5nLmM6CgkgIHRhZ3NjaGVja2luZzogUmVtb3ZlIGJ1cyBHU291cmNlIHRvIHByZXZlbnQgYSB2YWxncmluZCB3YXJuaW5nCgoyMDExLTA0LTE4IDExOjEwOjAxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ltYWdlZnJlZXplLmM6CgkgIGltYWdlZnJlZXplOiBSZW1vdmUgYnVzIEdTb3VyY2UgdG8gcHJldmVudCBhIHZhbGdyaW5kIHdhcm5pbmcKCjIwMTEtMDQtMTggMTA6NTQ6NDMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9meC9hdWRpb3Bhbm9yYW1hLmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3N0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc3RwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBpbGJjZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcGFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYXBheS5jOgoJICBwb3J0IG1vcmUgcGx1Z2lucyB0byAwLjExCgoyMDExLTA0LTE4IDEwOjIzOjQ1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoJICBDb25mbGljdHM6CgkgIGFuZHJvaWQvYXBldGFnLm1rCgkgIGFuZHJvaWQvYXZpLm1rCgkgIGFuZHJvaWQvZmx2Lm1rCgkgIGFuZHJvaWQvaWN5ZGVtdXgubWsKCSAgYW5kcm9pZC9pZDNkZW11eC5tawoJICBhbmRyb2lkL3F0ZGVtdXgubWsKCSAgYW5kcm9pZC9ydHAubWsKCSAgYW5kcm9pZC9ydHBtYW5hZ2VyLm1rCgkgIGFuZHJvaWQvcnRzcC5tawoJICBhbmRyb2lkL3NvdXAubWsKCSAgYW5kcm9pZC91ZHAubWsKCSAgYW5kcm9pZC93YXZlbmMubWsKCSAgYW5kcm9pZC93YXZwYXJzZS5tawoJICBjb25maWd1cmUuYWMKCjIwMTEtMDQtMTcgMDE6Mjk6MDEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogZml4ICd2YXJpYWJsZSBtYXkgYmUgdXNlZCB1bmluaXRpYWxpemVkJyB3YXJuaW5ncyBjYXVzZWQgYnkgLURHX0RJU0FCTEVfQVNTRVJUCgoyMDExLTA0LTE2IDE4OjUwOjExICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJKiB3aW4zMi9jb21tb24vZ3N0cnRwYmluLW1hcnNoYWwuYzoKCSogd2luMzIvY29tbW9uL2dzdHJ0cGJpbi1tYXJzaGFsLmg6CgkgIDAuMTAuMjguMiBwcmUtcmVsZWFzZQoKMjAxMS0wNC0xNiAxODo0OToyNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lLWRpc3QuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS1kaXN0Lmg6CgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveG9yYy1kaXN0LmM6CgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveG9yYy1kaXN0Lmg6CgkqIGdzdC92aWRlb21peGVyL2JsZW5kb3JjLWRpc3QuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRvcmMtZGlzdC5oOgoJICBnc3Q6IHVwZGF0ZSBkaXN0ZWQgb3JjIGJhY2t1cCBjb2RlCgoyMDExLTA0LTE2IDE4OjI5OjQ1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFubm9kZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oYWxlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb25vc2NvcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF1aWNrdGltZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSAgZG9jczogdXBkYXRlIGZvciBwcmUtcmVsZWFzZQoKMjAxMS0wNC0xNiAxODoyNzo1NCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBwby9iZy5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vaWQucG86CgkqIHBvL3NsLnBvOgoJICBwbzogdXBkYXRlIHRyYW5zbGF0aW9ucwoKMjAxMS0wNC0xNiAxODoxNzowMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiByZWZ1c2UgaW5jb21wbGV0ZSBsZWdhY3kgaDI2NCBjYXBzCgkgIFJlZnVzZSBoMjY0IGNhcHMgd2l0aG91dCBzdHJlYW0tZm9ybWF0IGFuZCBjb2RlY19kYXRhIGZpZWxkcyBmb3IKCSAgbm93LCB0byBhdm9pZCBjcmVhdGluZyBicm9rZW4gZmlsZXMuIFRoaXMgbWlnaHQgY2F1c2Ugc29tZSBwaXBlbGluZXMKCSAgdGhhdCB3b3JrZWQgcHJldmlvdXNseSB0byBmYWlsLiBIb3dldmVyLCB0aGUgbW92ZSBmcm9tIC1iYWQgdG8gLWdvb2QKCSAgaXMgb3VyIG9ubHkgY2hhbmNlIHRvIGZpeCB0aGlzIHVwLCBzbyBtYWtlIGl0IHN0cmljdCBmb3Igbm93LiBXZSBjYW4KCSAgYWx3YXlzIGNoYW5nZSBpdCBiYWNrIHRvIGJlIGxlc3Mgc3RyaWN0IGluIGZ1dHVyZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0NzkxOQoKMjAxMS0wNC0xNiAxODoxNjoxMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJICB2NGwyc2luazogZml4IGFub3RoZXIgdW51c2VkLWJ1dC1zZXQtdmFyaWFibGUgd2FybmluZwoKMjAxMS0wNC0xNiAxODoxMDoyNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzoKCSogZ3N0L3J0cC9nc3RydHBnc21wYXkuYzoKCSAgcHVsc2UsIHNwZWV4ZW5jLCBydHBnc21wYXk6IGRvbid0IHVzZSBnX2Fzc2VydCgpIGZvciBlcnJvciBoYW5kbGluZwoJICBEb24ndCB1c2UgZ19hc3NlcnQoKSBmb3IgZXJyb3IgaGFuZGxpbmcsIGV2ZW4gaWYgdGhleSdyZSBoaWdobHkgdW5saWtlbHkuCgkgIEVpdGhlciB3ZSAqa25vdyogdGhhdCBzb21ldGhpbmcgY2FuJ3QgaGFwcGVuLCBpbiB3aGljaCBjYXNlIHdlCgkgIHNob3VsZCBqdXN0IG5vdCBoYW5kbGUgaXQsIG9yIHdlIHRoaW5rIHNvbWV0aGluZyBjYW4gaGFwcGVuLCBidXQgaXQgaXMKCSAgdmVyeSB2ZXJ5IHVubGlrZWx5IHRoYXQgaXQgd2lsbCBldmVyIGhhcHBlbiwgaW4gd2hpY2ggY2FzZSB3ZSBzaG91bGQKCSAgaGFuZGxlIGl0IGxpa2UgYW55IG90aGVyIGVycm9yIGluc3RlYWQgb2YgYXNzZXJ0aW5nLgoJICBnX2Fzc2VydCgpIGlzIGJlc3QgbGVmdCBmb3IgY29uZGl0aW9ucyB3ZSBoYXZlIGNvbnRyb2wgb2YsIGxpa2UgY2hlY2tpbmcKCSAgaW50ZXJuYWwgY29uc2lzdGVuY3kgb2Ygb3VyIGNvZGUsIG5vdCBjaGVja2luZyByZXR1cm4gdmFsdWVzIG9mIGV4dGVybmFsCgkgIGNvZGUuCgkgIEZpeGVzIGEgYnVuY2ggb2Ygd2FybmluZ3Mgd2hlbiBjb21waWxpbmcgd2l0aCAtREdfRElTQUJMRV9BU1NFUlQ6CgkgIGdzdHJ0cGdzbXBheS5jOiBJbiBmdW5jdGlvbiAnZ3N0X3J0cF9nc21fcGF5X2hhbmRsZV9idWZmZXInOgoJICBnc3RydHBnc21wYXkuYzoxMzA6MTc6IHdhcm5pbmc6IHZhcmlhYmxlICdydHBnc21wYXknIHNldCBidXQgbm90IHVzZWQKCSAgZ3N0c3BlZXhlbmMuYzogSW4gZnVuY3Rpb24gJ2dzdF9zcGVleF9lbmNfZW5jb2RlJzoKCSAgZ3N0c3BlZXhlbmMuYzo5MDQ6MTk6IHdhcm5pbmc6IHZhcmlhYmxlICd3cml0dGVuJyBzZXQgYnV0IG5vdCB1c2VkCgkgIHB1bHNlc2luay5jOiBJbiBmdW5jdGlvbiAnZ3N0X3B1bHNlc2lua19jaGFuZ2Vfc3RhdGUnOgoJICBwdWxzZXNpbmsuYzoyNzI1Ojk6IHdhcm5pbmc6IHZhcmlhYmxlICdyZXMnIHNldCBidXQgbm90IHVzZWQKCSAgcHVsc2VzcmMuYzogSW4gZnVuY3Rpb24gJ2dzdF9wdWxzZXNyY19jaGFuZ2Vfc3RhdGUnOgoJICBwdWxzZXNyYy5jOjEyNTM6Nzogd2FybmluZzogdmFyaWFibGUgJ2UnIHNldCBidXQgbm90IHVzZWQKCjIwMTEtMDQtMTYgMTg6MDc6MzUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL3NlcnZlci1hbHNhc3JjLVBDTUEuYzoKCSAgZXhhbXBsZXM6IGZpeCBzb21lIHdhcm5pbmdzIGluIHJ0cCBleGFtcGxlCgkgIENhdXNlZCBieSAtREdfRElTQUJMRV9BU1NFUlQKCjIwMTEtMDQtMTYgMTc6NTc6MzIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvbGV2ZWwvbGV2ZWwtZXhhbXBsZS5jOgoJICBleGFtcGxlczogZG9uJ3QgcHV0IGNvZGUgd2l0aCBzaWRlLWVmZmVjdHMgaW50byBnX2Fzc2VydCgpCgkgIE90aGVyd2lzZSB0aGluZ3Mgd29uJ3Qgd29yayB0b28gd2VsbCB3aGVuIGNvbXBpbGluZyB3aXRoCgkgIC1ER19ESVNBQkxFX0FTU0VSVCAoYXMgd2UgZG8gZm9yIHByZS1yZWxlYXNlcyBhbmQgcmVsZWFzZXMpLgoKMjAxMS0wNC0xNiAxNjo1MTozMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2dyZWVkeWguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBkZWludGVybGFjZSwgbWF0cm9za2E6IGZpeCB0d28gdmFyaWFibGUtbWF5LWJlLXVzZWQtdW5pbml0aWFsaXplZCBjb21waWxlciB3YXJuaW5ncwoJICBXZSB1c2UgLURHX0RJU0FCTEVfQVNTRVJUIGZvciB0aGUgcHJlLXJlbGVhc2VzLCB3aGljaCBtYWtlcyB0aGVzZQoJICB3YXJuaW5ncyBwb3AgdXAgaW4gY2FzZXMgdGhhdCB3ZXJlIHByZXZpb3VzbHkgY292ZXJlZCBieSBnX2Fzc2VydF9ub3RfcmVhY2hlZCgpCgkgIGFuZCB0aGUgbGlrZToKCSAgdHZ0aW1lL2dyZWVkeWguYzo4MDE6MTQ6IHdhcm5pbmc6ICdzY2FubGluZScgbWF5IGJlIHVzZWQgdW5pbml0aWFsaXplZCBpbiB0aGlzIGZ1bmN0aW9uCgkgIG1hdHJvc2thLW11eC5jOjUwMToxOTogd2FybmluZzogJ2NvbnRleHQnIG1heSBiZSB1c2VkIHVuaW5pdGlhbGl6ZWQgaW4gdGhpcyBmdW5jdGlvbgoKMjAxMS0wNC0xNiAxNDo0NToyNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXBldGFnL2dzdGFwZWRlbXV4LmM6CgkgIGFwZWRlbXV4OiBQb3J0IHRvIDAuMTEKCjIwMTEtMDQtMTYgMTM6MzM6NDUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSAgamFjazogZml4IHVudXNlZC1idXQtc2V0LXZhcmlhYmxlIHdhcm5pbmdzIHdpdGggZ2NjLTQuNgoKMjAxMS0wNC0xNiAxMzoyMzo1MCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYWlyby9jYWlyb19vdmVybGF5LmM6CgkgIGV4YW1wbGVzOiBmaXggJ2NvbnRyb2wgcmVhY2hlcyBlbmQgb2Ygbm9uLXZvaWQgZnVuY3Rpb24nIHdhcm5pbmcgaW4gY2Fpcm8gZXhhbXBsZQoKMjAxMS0wNC0xNSAxNTo0NzoyNCArMDIwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICB2NGwyc3JjOiBBZGRyZXNzIHVudXNlZCBidXQgc2V0IHZhcmlhYmxlCgkgIFRoZSB2NGwyb2JqZWN0IGZvcm1hdHMgbGlzdCB3YXMgYmVpbmcgb2J0YWluZWQgaW50byBhIGxvY2FsIHZhcmlhYmxlIGFuZAoJICB0aGVuIHN0aWxsIHVzZWQgZnJvbSB0aGUgY29udGV4dC4gTWFrZSB1c2Ugb2YgdGhlIGxvY2FsIHZhcmlhYmxlLgoKMjAxMS0wNC0xNSAxNToxNzozNCArMDIwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL29zczQvb3NzNC1taXhlci1zbGlkZXIuYzoKCSogc3lzL29zczQvb3NzNC1taXhlci1zd2l0Y2guYzoKCSogc3lzL29zczQvb3NzNC1wcm9wZXJ0eS1wcm9iZS5jOgoJKiBzeXMvb3NzNC9vc3M0LXNvdXJjZS5jOgoJICBvc3M0OiBBZGRyZXNzIHVudXNlZCBidXQgc2V0IHZhcmlhYmxlcwoJICBHQ0MgNC42LnggY29tcGxhaW5zIGFib3V0IHN1Y2ggdmFyaWFibGUgdXNhZ2UuIFVudXNlZCBidXQgc2V0IHZhcmlhYmxlcwoJICB3ZXJlIHJlbW92ZWQgZXhjZXB0IHRoYXQgZ3N0X29zczRfbWl4ZXJfc2xpZGVyX3NldF9tdXRlICgpIG5vdyByZXR1cm5zCgkgIHRoZSB2YWx1ZSBmcm9tIHRoZSBjYWxsIHRvIGdzdF9vc3M0X21peGVyX3NldF9jb250cm9sX3ZhbCAoKS4KCjIwMTEtMDQtMTUgMTU6MTQ6MTMgKzAyMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJKiBleHQvcmF3MTM5NC9nc3RkdjEzOTRzcmMuYzoKCSogZXh0L3JhdzEzOTQvZ3N0aGR2MTM5NHNyYy5jOgoJICBqcGVnZW5jOiBwdWxzZXNpbms6IHJhdzEzOTQ6IEFkZHJlc3MgdW51c2VkIGJ1dCBzZXQgdmFyaWFibGVzCgkgIEdDQyA0LjYueCBzcGl0cyB3YXJuaW5ncyBhYm91dCBzdWNoIHVzYWdlIG9mIHZhcmlhYmxlcy4gVGhlIHZhcmlhYmxlcyBpbgoJICByYXcxMzk0IHdlcmUgbWFya2VkIHdpdGggR19HTlVDX1VOVVNFRCBhcyB0aGlzIHNlZW1lZCBvbXJlIGFwcHJvcHJpYXRlLgoJICBUaGUgb3RoZXJzIHdlcmUgcmVtb3ZlZC4KCjIwMTEtMDQtMTUgMTU6MTI6NDQgKzAyMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6CgkgIHk0bWVuY29kZTogc2hhcGV3aXBlOiBBZGRyZXNzIHVudXNlZCBidXQgc2V0IHZhcmlhYmxlcwoJICBHQ0MgNC42LnggY29tcGxhaW5zIGFib3V0IHN1Y2ggdXNhZ2UuCgoyMDExLTA0LTE1IDE1OjExOjM1ICswMjAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kZWludGVybGFjZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHAtcGF5bG9hZGluZy5jOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvZmxhY2RlYy5jOgoJKiB0ZXN0cy9leGFtcGxlcy9sZXZlbC9sZXZlbC1leGFtcGxlLmM6CgkqIHRlc3RzL2ljbGVzL3ZpZGVvY3JvcC10ZXN0LmM6CgkqIHRlc3RzL2ljbGVzL3hpbWFnZXNyYy10ZXN0LmM6CgkgIHRlc3RzOiBBZGRyZXNzIHVudXNlZCBidXQgc2V0IHZhcmlhYmxlcwoJICBHQ0MgNC42Lnggc3BpdHMgd2FybmluZ3MgYWJvdXQgc3VjaCB1c2FnZSBvZiB2YXJpYWJsZXMuCgoyMDExLTA0LTE1IDE1OjM2OjQxICswMjAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZG9yYy5vcmM6CgkgIHZpZGVvbWl4ZXI6IEZpeCBhcmdiL3JnYmEgb3ZlcmxheSBvcmMgY29kZQoJICBSZW1vdmUgc29tZSByZWR1bmRhbnQgb3BlcmF0aW9ucyAoY29udnVidykgYW5kIHVzZSB0aGUgY29ycmVjdCB2YXJpYWJsZSwKCSAgdDIsIGluIHRoZSBvcmNfb3ZlcmxheV9iZ3JhIGZ1bmN0aW9uLgoKMjAxMS0wNC0xNSAxNTozMzozNSArMDIwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmQuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvZ3N0Y29sbGVjdHBhZHMyLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIHZpZGVvbWl4ZXI6IGFkZHJlc3MgdW51c2VkIGJ1dCBzZXQgdmFyaWFibGVzCgkgIEdDQyA0LjYueCBzcGl0cyB3YXJuaW5ncyBhYm91dCB2YXJpYWJsZXMgdGhhdCBhcmUgc2V0IGJ1dCB1bnVzZWQuIFN1Y2gKCSAgdmFyaWFibGVzIGhhdmUgYmVlbiByZW1vdmVkIGluIGJsZW5kLCBjb2xsZWN0cGFkczIgYW5kIHZpZGVvbWl4ZXIyLgoKMjAxMS0wNC0xNSAxNDo1NzoyMCArMDIwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGJ2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBidnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjJwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc3RkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzdHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGoya3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDR2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBxY2VscGRlcGF5LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIHJ0cCwgcnRwbWFuYWdlcjogQWRkcmVzcyB1bnVzZWQgYnV0IHNldCB2YXJpYWJsZXMKCSAgR0NDIDQuNi54IHNwaXRzIHdhcm5pbmdzIGFib3V0IHZhcmlhYmxlcyB0aGF0IGFyZSB1bnVzZWQgYnV0IHNldC4gU3VjaAoJICB2YXJpYWJsZXMgaGF2ZSBiZWVuIHJlbW92ZWQgd2hlcmUgdHJpdmlhbCBidXQgd2l0aCBjb21tZW50cyBsZWZ0IGJlaGluZAoJICBmb3IgaW5mb3JtYXRpb25hbCBwdXJwb3NlcyBpbiBzb21lIGNhc2VzLgoJICBnc3RfcnRwX3Nlc3Npb25fY2hhaW5fcmVjdl9ydGNwICgpIHdhcyBjaGFuZ2VkIGluIGNvbW1pdCA0OTAxMTNkNAoJICB0byBhbHdheXMgcmV0dXJuIEdTVF9GTE9XX09LIGluc3RlYWQgb2YgdGhlIHJldHVybiB2YWx1ZSBvZgoJICBydHBfc2Vzc2lvbl9wcm9jZXNzX3J0Y3AgKCksIHNvIHdlJ2xsIGtlZXAgaXQgdGhhdCB3YXkuCgoyMDExLTA0LTE1IDExOjI5OjMwICswMjAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2Rlc2NyaXB0b3JzLmM6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cnRweHF0ZGVwYXkuYzoKCSogZ3N0L3F1aWNrdGltZS9xdGRlbXV4LmM6CgkgIHF1aWNrdGltZTogUmVtb3ZlIHVudXNlZCBidXQgc2V0IHZhcmlhYmxlcwoJICBHQ0MgNC42Lnggc3BpdHMgd2FybmluZ3MgYWJvdXQgc3VjaCB2YXJpYWJsZSB1c2FnZS4gTm90ZSB0aGF0IHNvbWUKCSAgY2FsY3VsYXRpb25zIGFyZSBsZWZ0IGFzIGNvbW1lbnRzIGZvciBpbmZvcm1hdGl2ZSBwdXJwb3Nlcy4KCjIwMTEtMDQtMTUgMTE6MjM6MzggKzAyMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSAgbWF0cm9za2E6IFJlbW92ZSB1bnVzZWQgYnV0IHNldCB2YXJpYWJsZXMKCSAgR0NDIDQuNi54IHNwaXRzIHdhcm5pbmdzIGFib3V0IHN1Y2ggdmFyaWFibGUgdXNhZ2UuCgoyMDExLTA0LTE1IDExOjE5OjI2ICswMjAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaW1hZ2VmcmVlemUvZ3N0aW1hZ2VmcmVlemUuYzoKCSAgaW1hZ2VmcmVlemU6IFJlbW92ZSB1bnVzZWQgYnV0IHNldCBkdXJhdGlvbiB2YXJpYWJsZQoJICBHQ0MgNC42Lnggc3BpdHMgd2FybmluZ3MgYWJvdXQgc3VjaCB2YXJpYWJsZSB1c2FnZS4KCjIwMTEtMDQtMTUgMTE6MTg6MTkgKzAyMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx4ZGVtdXg6IFJlbW92ZSB1bnVzZWQgYnV0IHNldCBrZXlmcmFtZSB2YXJpYWJsZXMKCSAgVGhlIEZJWE1FcyBhYm91dCB0aGUga2V5ZnJhbWUgZmxhZyBuZXZlciBiZWluZyB1c2VkIGFyZSBsZWZ0IGZvciBsYXRlcgoJICBmaXhpbmcsIGF0IHdoaWNoIHBvaW50IHRoZSBrZXlmcmFtZSB2YXJpYWJsZXMgY291bGQgYmUgYWRkZWQgYmFjay4KCjIwMTEtMDQtMTUgMTE6MTY6NDIgKzAyMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lZmZlY3R2L2dzdGVkZ2UuYzoKCSAgZWRnZXR2OiBSZW1vdmUgdW51c2VkIGJ1dCBzZXQgaGVpZ2h0IHZhcmlhYmxlCgkgIEdDQyA0LjYueCBzcGl0cyB3YXJuaW5ncyBhYm91dCBzdWNoIHZhcmlhYmxlcy4KCjIwMTEtMDQtMTUgMTg6NTE6MjAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiB1cGRhdGUgZm9yIGdzdF9iYXNlX3BhcnNlX2ZyYW1lX2luaXQoKSBBUEkgY2hhbmdlCgoyMDExLTAyLTAxIDE1OjU3OjAxIC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IFVzZSBleGlzdGluZyBmdW5jdGlvbnMgdG8gcGFyc2UgUlRDUCBGQiBwYWNrZXRzCgkgIFVzZSBleGlzdGluZyBmdW5jdGlvbnMgdG8gZ2V0IHRoZSBGQ0kgZnJvbSBGQiBwYWNrZXRzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjIyNTUzCgoyMDExLTAyLTAxIDE2OjIzOjUyIC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4tbWFyc2hhbC5saXN0OgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IG1hcnNoYWwgR3N0QnVmZmVyIGFzIGEgTWluaU9iamVjdCBpbnN0ZWFkIG9mIGEgcG9pbnRlcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjIyNTUzCgoyMDExLTA0LTE0IDIzOjI0OjU2IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBCZXR0ZXIgY2FsY3VsYXRpb24gb2YgZnJhbWVyYXRlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDc4MzMKCjIwMTEtMDQtMTMgMTI6Mzc6MDkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogZGVmYXVsdCB0byBkdHMtbWV0aG9kPXJlb3JkZXIgYW5kIHByZXNlbnRhdGlvbi10aW1lPXRydWUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzNjY5OQoKMjAxMS0wNC0xNSAxMjo0Nzo1MiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9xdG11eC5jOgoJICB0ZXN0czogcXRtdXg6IHRlc3QgdmFyaW91cyBkdHMtbWV0aG9kcwoKMjAxMS0wNC0xNSAxMjozNDowNSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBmaXggY29ybmVyIGNhc2UgYnVmZmVyIGhhbmRsaW5nIGZvciByZW9yZGVyIG1ldGhvZAoKMjAxMS0wNC0xNCAxMzo0NzowNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdmRlbXV4OiBEb24ndCBsZWFrIHRoZSBTRUVLSU5HIHF1ZXJ5CgoyMDExLTA0LTE0IDEzOjQzOjA2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtb292cmVjb3Zlci5jOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bW9vdnJlY292ZXIuaDoKCSAgcXRtb292cmVjb3ZlcjogRG9uJ3QgbGVhayB0aGUgc3RhdGljIHJlY3Vyc2l2ZSBtdXRleAoKMjAxMS0wNC0xNCAxMzozNzo1MiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwycmFkaW8uYzoKCSAgdjRsMnJhZGlvOiBGcmVlIHZpZGVvZGV2IHN0cmluZyBiZWZvcmUgcmVwbGFjaW5nIGl0CgoyMDExLTA0LTE0IDEzOjI0OjIxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5jOgoJICBtYXRyb3NrYXBhcnNlOiBBbGxvdyB3ZWJtIGFuZCBtYXRyb3NrYSBjYXBzIGFuZCBkb24ndCBsZWFrIGNhcHMKCjIwMTEtMDQtMTQgMDc6MzU6MjkgKzAxMDAgIENocmlzdGlhbiBGcmVkcmlrIEthbGFnZXIgU2NoYWxsZXIgPGNocmlzdGlhbi5zY2hhbGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtcGx1Z2lucy1nb29kLnNwZWMuaW46CgkgIEFkZCBwYXJzZXIgcGx1Z2luCgoyMDExLTA0LTEzIDIxOjU4OjM2IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9NYWtlZmlsZS5hbToKCSogZ3N0L2R0bWYvZ3N0ZHRtZmNvbW1vbi5oOgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuaDoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmg6CgkgIGR0bWY6IE1vdmUgZHVwbGljYXRlICNkZWZpbmVzIGludG8gYSBjb21tb24gaW5jbHVkZQoJICBDZW50cmFsaXplIGR1cGxpY2F0ZWQgY29uc3RhbnRzIHNvIHRoZXkgaGF2ZSB0aGUgc2FtZSB2YWx1ZS4KCSAgQWxzbyBzdGFuZGFyZGlzZSBtaW5pbXVtIHRvbmUgZHVyYXRpb24gdG8gMjUwbXMgYW5kIG1pbmltdW0gaW50ZXItdG9uZQoJICBpbnRlcnZhbCB0byAxMDBtcy4KCjIwMTEtMDMtMjQgMTQ6MzQ6MjQgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQGVudHJvcHl3YXZlLmNvbT4KCgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSAgZGlyZWN0c291bmRzaW5rOiBBZGQgY29uZGl0aW9uYWxzIG9uIFdBVkVfRk9STUFUX0RPTEJZX0FDM19TUERJRgoKMjAxMS0wNC0xMSAyMDowOToxNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVidWd1dGlscy9nc3RjYXBzZGVidWcuYzoKCSAgY2Fwc2RlYnVnOiBmaXggdW51c2VkLWJ1dC1zZXQtdmFyaWFibGUgd2FybmluZ3Mgd2l0aCBnY2MgNC42CgoyMDExLTA0LTExIDIwOjA1OjU0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IGZpeCB1bnVzZWQtYnV0LXNldC12YXJpYWJsZSB3YXJuaW5nIHdpdGggZ2NjIDQuNgoJICBNb3N0IGxpa2VseSBhIGxlZnRvdmVyIGZyb20gd2hlbiB0aGUgaW5kZXggcGFyc2luZyBjb2RlIHdhcyByZXdyaXR0ZW4uCgoyMDExLTA0LTExIDE5OjU0OjAwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSAgYWMzcGFyc2U6IGZpeCB1bnVzZWQtYnV0LXNldC12YXJpYWJsZSB3YXJuaW5nIHdpdGggZ2NjIDQuNgoKMjAxMS0wNC0xMSAxOTo1MDowNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9iYWxhbmNlLmM6CgkgIHZpZGVvYmFsYW5jZTogZml4IGhhbmRsaW5nIG9mIFlVViBpbWFnZXMgd2l0aCAnb2RkJyB3aWR0aHMKCSAgRml4ZXMgdW51c2VkLWJ1dC1zZXQtdmFyaWFibGUgd2FybmluZ3Mgd2l0aCBnY2MgNC42LgoKMjAxMS0wNC0xMSAxOTo0OToyMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9mbGlwLmM6CgkgIHZpZGVvZmxpcDogZml4IHVudXNlZC1idXQtc2V0LXZhcmlhYmxlIHdhcm5pbmdzIHdpdGggZ2NjIDQuNgoKMjAxMS0wNC0xMyAxODoxMTozNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9meC9hdWRpb3dzaW5jYmFuZC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb3dzaW5jbGltaXQuYzoKCSAgYXVkaW93c2luY3tiYW5kLGxpbWl0fTogRml4IGNoZWNrIGZvciBkaXZpc29uIGJ5IHplcm8KCjIwMTEtMDQtMTMgMTg6MDE6MDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW93c2luY2JhbmQuYzoKCSAgYXVkaW93c2luY2JhbmQ6IEZpeCByYW5nZSBvZiBrZXJuZWwgZWxlbWVudHMgKGxpbSAtPiBsaW0tMSkKCjIwMTEtMDQtMTMgMTg6MDA6NDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW93c2luY2xpbWl0LmM6CgkgIGF1ZGlvd3NpbmNsaW1pdDogQWRkIHNvbWUgbW9yZSBicmFjZXMgdG8gbWFrZSB0aGUgY29kZSBtb3JlIHJlYWRhYmxlCgoyMDExLTA0LTExIDE4OjQwOjMwIC0wNTAwICBKb3JkaSBCdXJndWV0LUNhc3RlbGwgPGpvcmRpLmJ1cmd1ZXQtY2FzdGVsbEBsaWdvLm9yZz4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvd3NpbmNsaW1pdC5jOgoJICBhdWRpb3dzaW5jbGltaXQ6IEZpeCByYW5nZSBvZiBrZXJuZWwgZWxlbWVudHMgKGxpbSAtPiBsaW0tMSkgaW4gaGlnaC9sb3ctcGFzcyBmaWx0ZXJzCgoyMDExLTA0LTEzIDE3OjQ5OjIyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvd3NpbmNiYW5kLmM6CgkgIGF1ZGlvd3NpbmNiYW5kOiBBZGQgbmV3IHdpbmRvd2luZyBmdW5jdGlvbnM6IGdhdXNzaWFuLCBjb3MgYW5kIGhhbm4KCjIwMTEtMDQtMTEgMTg6NDE6NDMgLTA1MDAgIEpvcmRpIEJ1cmd1ZXQtQ2FzdGVsbCA8am9yZGkuYnVyZ3VldC1jYXN0ZWxsQGxpZ28ub3JnPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW93c2luY2xpbWl0LmM6CgkgIGF1ZGlvd3NpbmNsaW1pbXQ6IEFkZCBuZXcgd2luZG93cyB0byBoaWdoL2xvdy1wYXNzIGZpbHRlcnM6IGdhdXNzaWFuLCBjb3NpbmUsIGhhbm4KCjIwMTEtMDQtMTMgMTY6NDc6MDUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IHNldCBzdHJlYW0tZm9ybWF0PWJ5dGUtc3RyZWFtIG9uIGgyNjQgY2FwcyBpZiB0aGVyZSdzIG5vIGNvZGVjIGRhdGEKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYwNjY2MgoKMjAxMS0wNC0xMyAxNjozNzowNyArMDEwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXhtYXAuYzoKCSAgcXRtdXg6IHJlc3RyaWN0IGgyNjQgc29tZSBtb3JlIHRvIG9ubHkgYWNjZXB0IEFVLWFsaWduZWQgQVZDCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MDY2NjIKCjIwMTEtMDQtMTMgMTc6MTE6MjYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJICBtcGVnYXVkaW9wYXJzZTogVGhlIFZCUkkgaGVhZGVyIGlzIGFsd2F5cyBhdCBvZmZzZXQgMHgyMCwgaW5kZXBlbmRlbnQgb2YgTVBFRyB2ZXJzaW9uCgkgIEFsc28gY2xlYW4gdXAgYWR2YW5jaW5nIG9mIHRoZSBkYXRhIHBvaW50ZXIgYSBiaXQuCgkgIEZpeGVzIGJ1ZyAjNjQ3NjU5LgoKMjAxMS0wNC0xMyAxNToxODoxMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXhtYXAuYzoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3F0bXV4LmM6CgkgIHF0bXV4OiBhZGQgdmFyaWFudC1sZXNzIHZpZGVvL3F1aWNrdGltZSB0byBzb3VyY2UgcGFkIHRlbXBsYXRlIGNhcHMKCSAgVGhpcyBpcyBuZWVkZWQgZm9yIGF1dG9tYXRpYyB0cmFuc2NvZGluZyB1c2luZyBlbmNvZGViaW4uIE91ciB0eXBlZmluZGVyCgkgIGRvZXMgbm90IGFsd2F5cyBhZGQgYSB2YXJpYW50IHRvIHRoZSBmb3VuZCBjYXBzLCBhbmQgZW5jb2RlYmluIG5lZWRzCgkgIGFuICpleGFjdCogbWF0Y2ggdG8gdGhlIGNhcHMgb24gdGhlIHNvdXJjZSBwYWQgdGVtcGxhdGUsIHNvIHdlIG5lZWQKCSAgdG8gYWRkIHRoZSB2YXJpYW50LWxlc3MgdmlkZW8vcXVpY2t0aW1lIGNhcHMgdG8gdGhlIHRlbXBsYXRlIGFzIHdlbGwKCSAgZm9yIGVuY29kZWJpbiB0byBiZSBhYmxlIHRvIGZpbmQgaXQuIEFkZCB1bml0IHRlc3QgZm9yIHRoaXMgYXMgd2VsbC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0Mjg3OQoKMjAxMS0wNC0xMyAxNjoxNzo0MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkgIGZsYWNlbmM6IFByb3Blcmx5IGludGVycHJldGUgdGhlIHJlc3VsdCBvZiBzdHJjbXAoKQoKMjAxMS0wNC0xMyAxNjowOTowNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkgIGZsYWNlbmM6IERvbid0IHN0b3JlIGltYWdlIHRhZ3MgaW5zaWRlIHRoZSB2b3JiaXNjb21tZW50cyBhbmQgdGhlIGZsYWMgbWV0YWRhdGEKCSAgSW5zdGVhZCBvbmx5IHN0b3JlIHRoZW0gaW5zaWRlIHRoZSBmbGFjIG1ldGFkYXRhLiBUaGVyZSdzCgkgIG5vIHBvaW50IGluIHN0b3JpbmcgdGhlbSB0d2ljZSBhbmQgdGhlIGZsYWMgbWV0YWRhdGEgaXMKCSAgc3RpbGwgdGhlIG9mZmljaWFsIHdheSB0byBzdG9yZSBpbWFnZSB0YWdzIGluc2lkZSBmbGFjLgoKMjAxMS0wNC0xMyAxMjozODoxNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvLmdpdGlnbm9yZToKCSAgdGVzdHM6IGlnbm9yZSBuZXcgcXRtdXgtcmVsYXRlZCB0ZXN0IGJpbmFyaWVzCgoyMDExLTA0LTEzIDExOjI1OjExICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXVpY2t0aW1lLnhtbDoKCSogZ3N0L3F1aWNrdGltZS9NYWtlZmlsZS5hbToKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eHBsdWdpbi5jOgoJKiBnc3QvcXVpY2t0aW1lL3F1aWNrdGltZS5jOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgcXVpY2t0aW1lOiBtb3ZlIHF0bXV4IHBsdWdpbiBmcm9tIC1iYWQgdG8gLWdvb2QKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzNjY5OQoKMjAxMS0wNC0xMiAxNjo0MjoxNyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIGR0bWY6IFJlbW92ZSBsZWZ0b3ZlciBNQUVNT19CUk9LRU4gZGVmaW5lcwoJICBSZW1vdmUgZGVmaW5lcyB0byB3b3JrIGFyb3VuZCBidWdzIGluIG9sZCBNYWVtbyByZWxlYXNlcwoKMjAxMS0wNC0wNCAxMjoyMToyMyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBtb3JlIGhlbHBmdWwgZGVidWcgZXJyb3IgbWVzc2FnZSB3aGVuIG5vIG5lZWRlZCBkdXJhdGlvbiBvbiBpbnB1dCBidWZmZXJzCgkgIEZpeGVzICM2NDYyNTYuCgoyMDExLTAzLTIxIDEwOjU2OjUxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuYzoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5oOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBBZGRpbmcgR3N0VGFnWG1wV3JpdGVyIGludGVyZmFjZQoJICBBZGRzIEdzdFRhZ1htcFdyaXRlciBpbnRlcmZhY2Ugc3VwcG9ydCB0byBxdG11eAoKMjAxMS0wMy0yMiAyMDo1MzowOCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiB1c2UgcnVubmluZyB0aW1lIGZvciBzeW5jaHJvbml6YXRpb24KCSAgU2VlIGFsc28gIzQzMjYxMi4KCjIwMTEtMDMtMTAgMTY6MDM6NTggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogcHJvdmlkZSBmb3IgUFRTIG1ldGFkYXRhIHdoZW4gc28gY29uZmlndXJlZAoJICAuLi4gYW5kIG5vdCBvbmx5IHdoZW4gc29ydC1vZiBmZWVsaW5nIGxpa2UgaXQuCgkgIEluIGFueSBjYXNlLCBpZiBpdCB0dXJucyBvdXQgYWxsIHJlYWxseSBpcyBpbiBvcmRlciwKCSAgYW5kIHByZXN1bWFibHkgRFRTID09IFBUUywgdGhlbiBubyBjdHRzIHdpbGwgYmUgcHJvZHVjZWQgYW55d2F5LgoKMjAxMS0wMy0xMCAxNjowMjo0MiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBhbHNvIHRyYWNrIG9yaWdpbmFsIFBUUyBidWZmZXIgdGltZXN0YW1wIGluIHJlb3JkZXIgZHRzLW1ldGhvZAoKMjAxMS0wMi0yMSAxMjoxNDo1OSArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIFJldmVydCAiQ2hlY2sgdGhhdCBjb2xsZWN0cGFkcyBleGlzdHMgYmVmb3JlIHJlbW92aW5nIHBhZCIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCA2ZDg3NDA0NzZjY2QzYTM0OThkYzRmMThjMTk3MzM2NDM4MjVjN2I4LgoJICBEZXBlbmRzIG9uIGEgY29yZSBjb21taXQgdGhhdCB3YXMgcmV2ZXJ0ZWQKCjIwMTEtMDItMjAgMjM6NTc6MTkgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBDaGVjayB0aGF0IGNvbGxlY3RwYWRzIGV4aXN0cyBiZWZvcmUgcmVtb3ZpbmcgcGFkCgkgIFRoZSBjb3JlIG5vdyBjYWxscyByZWxlYXNlIHBhZCBmcm9tIGZpbmFsaXplLCBhdCB3aGljaCBwb2ludAoJICB0aGUgY29sbGVjdHBhZHMgbWlnaHQgaGF2ZSBhbHJlYWR5IGJlZW4gZnJlZWQuCgoyMDExLTAxLTEzIDExOjI4OjMyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3F0bXV4LmM6CgkgIHRlc3Q6IHF0bXV4OiBUZXN0cyBxdG11eCByZXVzZQoJICBGb3JjZXMgdGhlIHVzZSBvZiBxdG11eCBhZnRlciBpdCBoYXMgYmVlbiBwdXQgdG8gUExBWUlORyBhbmQgYmFjawoJICB0byBOVUxMIG9uY2UKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzOTMzOAoKMjAxMS0wMS0xMyAxNToyNzozNiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBzZXQgc3JjIHBhZHMgd2hlbiBzdGFydGluZyBmaWxlCgkgIC4uLiByYXRoZXIgdGhhbiBhdCBfaW5pdCB0aW1lLCBzbyB0aGV5IGFyZSBhbHNvIGF2YWlsYWJsZSBmb2xsb3dpbmcgYQoJICBwYWQgKGRlKWFjdGl2YXRpb24gY3ljbGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MzkzMzgKCjIwMTEtMDEtMDMgMTc6MjQ6MjMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4Lmg6CgkgIHF0bXV4OiBhZGp1c3QgbmFzdHkgY2FzZSB0aW1lc3RhbXAgdHJhY2tpbmcKCSAgVGhhdCBpcywgYWxsIHNvcnRzIG9mIHByb2JsZW1zIGFyaXNlIHdpdGggcmUtb3JkZXJlZCBpbnB1dCB0aW1lc3RhbXBzIHRoYXQKCSAgdGVuZCB0byBkZWZ5IGF1dG9tYWdpYyBoYW5kbGluZyBmb3IgZXZlcnkgY2FzZSwgc28gYWxsb3cgZm9yIGEgZmV3IHZhcmlhdGlvbnMKCSAgdGhhdCBjYW4gYmUgdHJpZWQgZGVwZW5kaW5nIG9uIGNpcmN1bXN0YW5jZXMuCgkgIEFsc28gdHJ5IHRvIGRvY3VtZW50IGFjY29yZGluZ2x5LgoJICBBbHNvIGZpeGVzICM2MzgyODguCgoyMDEwLTEyLTMwIDIxOjQ4OjQxICswMjAwICBGZWxpcGUgQ29udHJlcmFzIDxmZWxpcGUuY29udHJlcmFzQG5va2lhLmNvbT4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGdldCByaWQgb2YgdGltZXN0YW1wIG92ZXJwcm90ZWN0aXZlbmVzcwoJICBTaWduZWQtb2ZmLWJ5OiBGZWxpcGUgQ29udHJlcmFzIDxmZWxpcGUuY29udHJlcmFzQG5va2lhLmNvbT4KCjIwMTEtMDEtMDMgMTY6NTY6NTcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5jOgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmg6CgkqIGdzdC9xdWlja3RpbWUvYXRvbXNyZWNvdmVyeS5jOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBzaW1wbGlmeSBhbmQgZml4IHB0c19vZmZzZXQgc3RvcmluZwoJICBJbiBwYXJ0aWN1bGFyLCBvbmx5IHdyaXRlIGEgY3R0cyBhdG9tIGlmIGFuZCBvbmx5IGlmIGV2ZXIgYSBub24temVybyBvZmZzZXQuCgoyMDExLTAxLTAzIDEwOjQzOjE1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGFkZCBzb21lIG1vcmUgZG9jdW1lbnRhdGlvbgoKMjAxMC0xMi0wMyAxNToyMzowMCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmM6CgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuaDoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4Lmg6CgkgIHF0bXV4OiByZW1vdmUgbGFyZ2UtZmlsZSBwcm9wZXJ0eQoJICBSYXRoZXIsIGF1dG8tZGV0ZXJtaW5lIGlmIDY0LWJpdHMgZmllbGRzIGFyZSBuZWVkZWQgZm9yIGEgdmFsaWQgcmVzdWx0LCBhbmQKCSAgc3RpY2sgdG8gcGxhaW4gMzItYml0cyBpZiBub3QgbmVlZGVkLgoJICBBUEk6IEdzdFFUTXV4OmxhcmdlLWZpbGUgKHJlbW92ZWQpCgoyMDEwLTEyLTE5IDEyOjUzOjM0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IEZyZWUgQXRvbUluZm8gc3RydWN0cwoKMjAxMC0xMi0xOSAxMjo1MDozMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBGcmVlIHRhZyBzdHJpbmcgYWZ0ZXIgdXNlCgoyMDEwLTEyLTE5IDEyOjEyOjI1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy90YWdzY2hlY2tpbmcuYzoKCSAgdGFnc2NoZWNraW5nOiBGaXggc29tZSBtb3JlIG1lbW9yeSBsZWFrcwoKMjAxMC0xMi0xNyAxOTo0MToyNSArMDIwMCAgTGFzc2UgTGF1a2thbmVuIDxsYXNzZS5sYXVra2FuZW5AZGlnaWEuY29tPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogYWxsb3cgemVybyBkdXJhdGlvbiB0cmFja3MKCjIwMTAtMTItMDMgMTg6MDk6NDEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogYWRkIGRvY3VtZW50YXRpb24KCjIwMTAtMTItMDEgMTA6NDU6NDkgKzAxMDAgIERhdmlkIEhveXQgPGRob3l0QGxsbmwuZ292PgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogaGFuZGxlIG1zdmMgZnRydW5jYXRlIGluY29tcGF0aWJpbGl0eQoJICBGaXhlcyAjNjM2MTg1LgoKMjAxMC0xMS0yNyAxNjowNzoxOSAtMDYwMCAgQWxlamFuZHJvIEdvbnphbGV6IDxhZ29uemFsZXpAZGV4dHJhdGVjaC5jb20+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBnc3RfcXRtdXhfY2hlY2tfZGlmZmVyZW5jZSB2ZXJpZnkgYmVmb3JlIHN1YnRyYWN0CgkgIEF2b2lkIG5lZ2F0aXZlIG92ZXJmbG93IGJ5IGNoZWNraW5nIHRoZSBvcmRlciBvZiBvcGVyYW5kcwoJICBvbiBzdWJ0cmFjdGlvbiBvZiB1bnNpZ25lZCBpbnRlZ2Vycy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzNTg3OAoKMjAxMC0xMS0xOSAxNzo1NTozNiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiByZW1vdmUgcmVtbmFudCBvZiBvYnNvbGV0ZSBwcm9wZXJ0eQoKMjAxMC0xMS0xOSAxNToxODo1OCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9xdG11eC5jOgoJICB0ZXN0czogcXRtdXg6IGFsc28gdW5pdCB0ZXN0IGZyYWdtZW50ZWQgZmlsZSBjYXNlcwoKMjAxMC0wNy0zMCAxMjo0ODoyOSArMDIwMCAgTWFyYy1BbmRyw6kgTHVyZWF1IDxtbHVyZWF1QGZsdW1vdGlvbi5jb20+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguaDoKCSAgcXRtdXg6IGFsbG93IHNwZWNpZnlpbmcgdHJhayB0aW1lc2NhbGUKCSAgVGhpcyBpcyBtYWlubHkgYmVjYXVzZSBTbW9vdGhzdHJlYW1pbmcgY2xpZW50IGFyZSBicm9rZW4gYW5kIGRvbid0CgkgIHRha2UgdGhlIFRpbWVTY2FsZSBwcm9wZXJ0eSBpbnRvIGFjY291bnQuCgoyMDEwLTExLTE5IDE3OjQxOjQxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuYzoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5oOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBpbmNsdWRlIHNkdHAgYXRvbXMgZm9yIGlzbXYgZnJhZ21lbnRlZCBmaWxlcwoJICBCYXNlZCBvbiBwYXRjaCBieSBNYXJjLUFuZHLDqSBMdXJlYXUgPG1sdXJlYXVAZmx1bW90aW9uLmNvbT4KCjIwMTAtMTEtMTkgMTk6MTc6NDUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogZW5hYmxlIGRlZmF1bHQgZnJhZ21lbnRlZCBmaWxlIGZvciBpc21sbXV4CgoyMDEwLTA5LTAyIDEzOjU4OjA1ICswMjAwICBNYXJjLUFuZHLDqSBMdXJlYXUgPG1sdXJlYXVAZmx1bW90aW9uLmNvbT4KCgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuaDoKCSogZ3N0L3F1aWNrdGltZS9mdHlwY2MuaDoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eG1hcC5jOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4bWFwLmg6CgkgIHF0bXV4OiBhZGQgaXNtbG11eCwgZm9yIGZyYWdtZW50ZWQgaXNtbCBtYWpvciBicmFuZAoKMjAxMC0xMS0xOSAxNDo0NDo0NSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBmaW5hbGl6ZSBzaW5rcGFkcyBsaXN0CgoyMDEwLTA3LTIyIDE5OjQwOjA3ICswMjAwICBNYXJjLUFuZHLDqSBMdXJlYXUgPG1sdXJlYXVAZmx1bW90aW9uLmNvbT4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGFkZCBtb292IGluIHN0cmVhbWhlYWRlcgoKMjAxMC0wOC0wNiAxMzoyNjoyNyArMDIwMCAgTWFyYy1BbmRyw6kgTHVyZWF1IDxtbHVyZWF1QGZsdW1vdGlvbi5jb20+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguaDoKCSAgcXRtdXg6IGFkZCBzdHJlYW1hYmxlIHByb3BlcnR5IHRvIGF2b2lkIGJ1aWxkaW5nIGZyYWdtZW50ZWQgbWZyYSBpbmRleAoKMjAxMC0xMS0xOCAxNjo0ODowNiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmM6CgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuaDoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4Lmg6CgkgIHF0bXV4OiBhZGQgbWZyYSB0byBmcmFnbWVudGVkIGZpbGUKCSAgQmFzZWQgb24gcGF0Y2ggYnkgTWFyYy1BbmRyw6kgTHVyZWF1IDxtbHVyZWF1QGZsdW1vdGlvbi5jb20+CgoyMDEwLTExLTE1IDE1OjE3OjU5ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuYzoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5oOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguaDoKCSAgcXRtdXg6IG9wdGlvbmFsbHkgY3JlYXRlIGZyYWdtZW50ZWQgZmlsZQoJICBJbiB0aGlzIG1vZGUsIGFuIGluaXRpYWwgZW1wdHkgbW9vdiAoY29udGFpbmluZyBvbmx5IHN0cmVhbSBtZXRhZGF0YSkgaXMgd3JpdHRlbiwKCSAgZm9sbG93ZWQgYnkgZnJhZ21lbnRzIGNvbnRhaW5pbmcgYWN0dWFsIGRhdGEgKGFsb25nIHdpdGggcmVxdWlyZWQgbWV0YWRhdGEpLgoJICBOZXcgZnJhZ21lbnRzIGFyZSBzdGFydGVkIGVpdGhlciBhdCBrZXlmcmFtZSAoaWYgc3VjaCBhcmUgc3BhcnNlKSBvciB3aGVuCgkgIHByb3BlcnR5IGNvbmZpZ3VyZWQgZHVyYXRpb24gZXhjZWVkZWQuCgkgIEJhc2VkIG9uIHBhdGNoIGJ5IE1hcmMtQW5kcsOpIEx1cmVhdSA8bWx1cmVhdUBmbHVtb3Rpb24uY29tPgoJICBGaXhlcyAjNjMyOTExLgoKMjAxMC0xMS0xNSAxNToxMjo0NSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmM6CgkgIHF0bXV4OiB1c2UgaGVscGVyIHRvIHNldCBhdG9tIGZsYWdzIGZyb20gZ2l2ZW4gdWludAoKMjAxMC0xMS0wOSAxNjo0OTowNyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiByZWZhY3RvciBjb25maWd1cmluZyBhbmQgc2VuZGluZyBvZiBtb292CgkgIEJhc2VkIG9uIHBhdGNoIGJ5IE1hcmMtQW5kcsOpIEx1cmVhdSA8bWx1cmVhdUBmbHVtb3Rpb24uY29tPgoKMjAxMC0xMS0wOSAxNTo1NDo0NCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiByZWZhY3RvciBleHRyYSB0b3AtbGV2ZWwgYXRvbSBoYW5kbGluZwoJICBBbHNvIGNoZWNrIGEgYml0IG1vcmUgZm9yIHBvc3NpYmxlIGVycm9ycywgYW5kIGZyZWUgcHJvcGVyIGl0ZW1zIGluIHN1Y2ggY2FzZS4KCjIwMTAtMTEtMDkgMTU6MDE6MTUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogcmVmYWN0b3Igc2xpZ2h0bHkgdXNpbmcgYnVmZmVyIGhlbHBlcgoKMjAxMC0xMS0wNSAxMzo0ODo1NyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBmaXggbWlzaW5mb3JtaW5nIGNvbW1lbnQKCjIwMTAtMTEtMDUgMTI6MDg6MTUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5jOgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmg6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGRlbGVnYXRlIG12ZXggaGFuZGxpbmcgdG8gYXRvbXMKCSAgLi4uIHdoaWNoIGtlZXBzIHF0bXV4IHNpbXBsZXIuCgoyMDA5LTA5LTI4IDE2OjExOjM1ICswMjAwICBNYXJjLUFuZHLDqSBMdXJlYXUgPG1sdXJlYXVAZmx1bW90aW9uLmNvbT4KCgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuYzoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5oOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBhZGQgbXZleC90cmV4IGluIGhlYWRlciBpZiBmcmFnbWVudGVkCgkgIE9uZSAidHJleCIgaXMgYWRkZWQgcGVyICJ0cmFrIi4gV2UgZG9uJ3Qgc3VwcG9ydCBkZWZhdWx0IHZhbHVlcywKCSAgYnV0IHRoZSAidHJleCIgYm94IGlzIG1hbmRhdG9yeS4KCjIwMDktMDktMjggMTM6MDE6MzAgKzAyMDAgIE1hcmMtQW5kcsOpIEx1cmVhdSA8bWx1cmVhdUBmbHVtb3Rpb24uY29tPgoKCSogZ3N0L3F1aWNrdGltZS9mb3VyY2MuaDoKCSAgcXRtdXg6IGFkZCBhIGNvdXBsZSBvZiBmb3VyY2MgZm9yIGZyYWdtZW50ZWQgbXA0CgoyMDEwLTExLTA1IDExOjA4OjAxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGF2b2lkIHJlbW92aW5nIHRlbXAgZmlsZSB3aGVuIGVycm9yIG9jY3VycmVkCgoyMDA5LTA5LTMwIDE3OjE2OjMwICswMjAwICBNYXJjLUFuZHLDqSBMdXJlYXUgPG1sdXJlYXVAZmx1bW90aW9uLmNvbT4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IHRydW5jYXRlIGJ1ZmZlciBmaWxlIGFmdGVyIGVhY2ggc2VuZAoKMjAwOS0wOS0yOCAxNjo1Mzo1MSArMDIwMCAgTWFyYy1BbmRyw6kgTHVyZWF1IDxtbHVyZWF1QGZsdW1vdGlvbi5jb20+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiByZW1vdmUgdGVtcCBmaWxlIHdoZW4gcmVzZXQvZmluYWxpemUKCjIwMTAtMTAtMTkgMTM6NDM6MTQgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtb292cmVjb3Zlci5jOgoJICB2YXJpb3VzIChnc3QpOiBhZGQgbWlzc2luZyBHX1BBUkFNX1NUQVRJQ19TVFJJTkdTIGZsYWdzCgkgIENhbm9uaWNhbGl6ZSBwcm9wZXJ0eSBuYW1lcyBhcyBuZWVkZWQuCgoyMDEwLTEwLTEzIDE3OjQ3OjI5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IHByZXZlbnQgaW5maW5pdGUgbG9vcCB3aGVuIGFkanVzdGluZyBmcmFtZXJhdGUKCSAgRml4ZXMgIzYzMjA3MC4KCjIwMTAtMTAtMDMgMjM6NDU6NDYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogQWRkIEdfUEFSQU1fU1RBVElDX1NUUklOR1MKCSAgQWRkIEdfUEFSQU1fU1RBVElDX1NUUklOR1MgdG8gcXRtdXggcHJvcGVydGllcwoKMjAxMC0wOS0xNSAxNzo1NDo0OSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmM6CgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuaDoKCSogZ3N0L3F1aWNrdGltZS9mb3VyY2MuaDoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4Lmg6CgkgIHF0bXV4OiBGb2xsb3cgeG1wIHNlcmlhbGl6YXRpb24gZ3VpZGVsaW5lcyBjbG9zZXIKCSAgcXQgYW5kIGlzb20gdmFyaWFudHMgaGF2ZSBkaWZmZXJlbnQgd2F5cyBvZiBzZXJpYWxpemluZwoJICB4bXAsIGZvbGxvdyB0aGVzZSBndWlkZWxpbmVzLgoJICBUaG9zZSBjYW4gYmUgZm91bmQgaW4gQWRvYmUncyB4bXAgZG9jcy4KCjIwMTAtMDgtMTYgMTI6MzY6MjQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogYXV0b2RldGVjdCBvdXQtb2Ytb3JkZXIgaW5wdXQgdGltZXN0YW1wcyBhbmQgZGV0ZXJtaW5lIERUUyBhY2NvcmRpbmdseQoJICBGYXZvdXIgdXNpbmcgaW5wdXQgYnVmZmVyIHRpbWVzdGFtcHMgZm9yIERUUywgYnV0IGZhbGxiYWNrIHRvIHVzaW5nIGJ1ZmZlcgoJICBkdXJhdGlvbiAoYWNjdW11bGF0aW9uKSBpZiBpbnB1dCB0cyBkZXRlY3RlZCBvdXQtb2Ytb3JkZXIuCgkgIEZpeGVzICM2MjQyMTIuCgoyMDEwLTA3LTI4IDE2OjE1OjUzICswMjAwICBNYXJjLUFuZHLDqSBMdXJlYXUgPG1sdXJlYXVAZmx1bW90aW9uLmNvbT4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IHVzZSBjYXBzIGJpdHJhdGUgYXQgbGFzdCBjaGFuY2UKCSAgSWYgd2UgZGlkbid0IGdldCB0aGUgc3RyZWFtJ3MgYml0cmF0ZSBmcm9tIG9uZSBvZiB0aGUgYXRvbXMsCgkgIHRyeSBnZXR0aW5nIGl0IGZyb20gdGhlIGNhcHMgYXMgYSBsYXN0IHJlc29ydC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyNTQ5NgoKMjAxMC0wNy0yOCAxNjoxMjoxMSArMDIwMCAgTWFyYy1BbmRyw6kgTHVyZWF1IDxtbHVyZWF1QGZsdW1vdGlvbi5jb20+CgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmM6CgkgIHF0bXV4OiBidHJ0IC0gbWF4IGJpdHJhdGUgYmVmb3JlIGF2ZXJhZ2UKCSAgQWNjb3JkaW5nIHRvIGlzbyBiYXNlIG1lZGlhIGZpbGUgZm9ybWF0LCB0aGUgbWF4IGJpdHJhdGUKCSAgaXMgYmVmb3JlIHRoZSBhdmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyNTQ5NgoKMjAxMC0wNy0wNiAxNDo0ODowOCArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmM6CgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuaDoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogV3JpdGUgJ2J0cnQnIGF0b20gZm9yIEguMjY0IG1lZGlhIGlmIHBvc3NpYmxlCgkgIFRoaXMgd3JpdGVzIG91dCB0aGUgb3B0aW9uYWwgJ2J0cnQnIGF0b20gKE1QRUc0Qml0cmF0ZUJveCkgZm9yIEguMjY0CgkgIG1lZGlhIGlmIGVpdGhlciBvciBib3RoIG9mIGF2ZXJhZ2UgYW5kIG1heGltdW0gYml0cmF0ZSBhcmUgYXZhaWxhYmxlIGZvcgoJICB0aGUgc3RyZWFtLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjIzNjc4CgoyMDEwLTA3LTA1IDE0OjA5OjUwICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuYzoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5oOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguaDoKCSAgcXRtdXg6IFdyaXRlIGF2Zy9tYXggYml0cmF0ZSB0byBFU0RTIGlmIGF2YWlsYWJsZQoJICBUaGlzIGNvbGxlY3RzIHRoZSAnYml0cmF0ZScgYW5kICdtYXhpbXVtLWJpdHJhdGUnIHRhZ3Mgb24gdGhlCgkgIGNvcnJlc3BvbmRpbmcgcGFkIGFuZCB1c2VzIHRoZXNlIHRvIHBvcHVsYXRlIHRoZXNlIGZpZWxkcyBpbiB0aGUgRVNEUwoJICB3aGVyZSBhcHBsaWNhYmxlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjIzNjc4CgoyMDEwLTA3LTAyIDEyOjQ1OjIwICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogRG9uJ3QgdXNlIGJvZ3VzIGNvZGVjL2Zvcm1hdCB0YWdzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjMzNjUKCjIwMTAtMDYtMjUgMjA6MTk6MjAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogV3JpdGUgdWludCB0YWdzIHRoYXQgZG9uJ3QgaGF2ZSBhIGNvbXBsZW1lbnQKCSAgV3JpdGUgdWludCB0YWdzIHRoYXQgaGF2ZSBjb21wbGVtZW50cyAoZS5nLiB0cmFjay1udW1iZXIvCgkgIHRyYWNrLWNvdW50KSBldmVuIHdoZW4gd2Ugb25seSBoYXZlIG9uZSBvZiB0aGVtIGF2YWlsYWJsZQoJICBhbmQgc2V0IHRoZSBvdGhlciBvbmUgdG8gMC4KCSAgRml4ZXMgIzYyMjQ4NAoKMjAxMC0wNi0yMSAxOTozOTo1NCArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IFJlbW92ZSB0aGUgcGFkIGZyb20gb3VyIGludGVybmFsIGxpc3QgYmVmb3JlIGNhbGxpbmcgY29sbGVjdHBhZHMKCSAgUHJldmlvdXNseSB3ZSB3b3VsZCBlbmQgdXAgd2l0aCB0aGUgY29sbGVjdHBhZGRhdGEgc3RydWN0dXJlIGFscmVhZHkgZnJlZWQuCgkgIFRoaXMgd291bGQgcmVzdWx0IGluIGEgYm9ndXMgaXRlcmF0aW9uIG9mIG11eC0+c2lua3BhZHMgKGFsbCB0aGUKCSAgR3N0UVRQYWQgYmVpbmcgZnJlZWQpIGFuZCBpdCB3b3VsZG4ndCBiZSByZW1vdmVkIGZyb20gdGhhdCBsaXN0LgoJICBGaW5hbGx5LCBkdWUgdG8gaXQgbm90IGJlaW5nIHJlbW92ZWQgZnJvbSB0aGF0IGxpc3QsIHdlIHdvdWxkIGVuZCB1cAoJICBjYWxsaW5nIGEgYm9ndXMgZ3N0X3F0X211eF9wYWRfcmVzZXQgb24gdGhvc2Ugc3RydWN0dXJlcyA9PiBTRUdGQVVMVAoKMjAxMC0wNS0xMiAxODo1MDozNCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvcXVpY2t0aW1lL2ZvdXJjYy5oOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXhtYXAuYzoKCSAgcXRtdXg6IEFkZCBWUDgKCjIwMTAtMDUtMTEgMTM6MTU6MzcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3RhZ3NjaGVja2luZy5jOgoJICB0ZXN0czogZG9uJ3QgZmFpbCB0YWdzY2hlY2tpbmcgdGVzdCBpZiBxdGRlbXV4IGlzIG5vdCBhdmFpbGFibGUgb3IgdG9vIG9sZAoKMjAxMC0wMy0yNyAwOTo0NjozMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4cGx1Z2luLmM6CgkgIHF0bXV4OiB1c2UgR1N0cmVhbWVyIHBhY2thZ2UgbmFtZSBhbmQgb3JpZ2luIGluIHRoZSBwbHVnaW4gaW5mbwoKMjAxMC0wMy0yMyAxNzozNDozMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvdGFnc2NoZWNraW5nLmM6CgkgIHRlc3RzOiB0YWdzY2hlY2tpbmc6IE5ldyB0YWdzIHRlc3RzCgkgIEFkZHMgbmV3IHRhZ3MgY2hlY2tpbmcgdGVzdHMuCgoyMDEwLTAzLTI1IDAwOjIwOjU0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGluaXQgZGVidWcgY2F0ZWdvcnkgYmVmb3JlIHVzaW5nIGl0CgoyMDEwLTAzLTIyIDE2OjU2OjAzICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmM6CgkgIEFkZCAtV29sZC1zdHlsZS1kZWZpbml0aW9uCgkgIGFuZCBmaXggdGhlIHdhcm5pbmdzCgoyMDEwLTAzLTIyIDEzOjE2OjMzICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmM6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXhtYXAuaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcXRtdXguYzoKCSAgQWRkIC1Xd3JpdGUtc3RyaW5ncwoJICBhbmQgZml4IGl0cyB3YXJuaW5ncwoKMjAxMC0wMy0yMSAyMTozOToxOCArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5jOgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmg6CgkqIGdzdC9xdWlja3RpbWUvYXRvbXNyZWNvdmVyeS5jOgoJKiBnc3QvcXVpY2t0aW1lL2Rlc2NyaXB0b3JzLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3F0bXV4LmM6CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy90YWdzY2hlY2tpbmcuYzoKCSAgQWRkIC1XbWlzc2luZy1kZWNsYXJhdGlvbnMgLVdtaXNzaW5nLXByb3RvdHlwZXMgdG8gY29uZmlndXJlIGZsYWdzCgkgIEFuZCBmaXggYWxsIHdhcm5pbmdzCgoyMDEwLTAzLTE4IDE3OjMwOjI2ICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bW9vdnJlY292ZXIuYzoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBnc3RfZWxlbWVudF9jbGFzc19zZXRfZGV0YWlscyA9PiBnc3RfZWxlbWVudF9jbGFzc19zZXRfZGV0YWlsc19zaW1wbGUKCjIwMTAtMDMtMTIgMTE6Mjg6NTEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3RhZ3NjaGVja2luZy5jOgoJICB0ZXN0czogdGFnc2NoZWNraW5nOiBJbXByb3ZlbWVudHMgYW5kIG5ldyBnZW8tbG9jYXRpb24gdGVzdHMKCSAgTWFrZXMgc29tZSBpbXByb3ZlbWVudHMgdG8gdGFnc2NoZWNraW5nLmMsIG1ha2luZyBpdCB1c2UKCSAgZmFrZXNyYyBpbnN0ZWFkIG9mIHZpZGVvdGVzdHNyYyBhbmQgYWxsb3dpbmcgdG8gc2V0IGlucHV0CgkgIGNhcHMgc28gdGhhdCBtb3JlIG11eGVycyBjYW4gYmUgdXNlZC4gUHJldmlvdXNseSB3ZSBjb3VsZAoJICBvbmx5IHVzZSB0aG9zZSB0aGF0IGFjY2VwdGVkIHJhdyB2aWRlbyBjYXBzLgoJICBBbHNvIGFkZHMgc29tZSB0ZXN0cyBmb3IgZ2VvLWxvY2F0aW9uIHRhZ3MKCjIwMTAtMDMtMTIgMTA6NTM6MzYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogVXNlIHhtcCBvbiBtcDRtdXggYW5kIGdwcG11eCB0b28KCSAgRG8gbm90IHJlc3RyaWN0IHhtcCB0byBxdG11eCwgYnV0IHVzZSBpdCB0b28KCSAgb24gbXA0bXV4IGFuZCBncHBtdXgKCjIwMTAtMDMtMDUgMTM6MzM6MzcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3RhZ3NjaGVja2luZy5jOgoJICBjaGVjazogdGFnc2NoZWNraW5nOiB0ZXN0cyBmb3IgdGFncyBzZXJpYWxpemF0aW9uIGluIG11eGVycwoJICBBZGRzIGEgY2hlY2sgdW5pdCB0ZXN0IHRoYXQgYWltcyB0byB0ZXN0IHRhZ3Mgc2VyaWFsaXphdGlvbgoJICBhbmQgZGVzZXJpYWxpemF0aW9uIGNvbnNpc3RlbmN5IChpbiBtdXhlcnMpLiBJdCBwcm92aWRlcyBhCgkgIGJhc2ljIGZ1bmN0aW9uIHRoYXQgYWxsb3dzIG9uZSB0byBlYXNpbHkgc3BlY2lmeSB0YWdzLCBhCgkgIG11eGVyIGFuZCBhIGRlbXV4ZXIgYW5kIGEgdGVzdCB3aWxsIGJlIGRvbmUgdG8gY2hlY2sgaWYKCSAgdGhlIHRhZ3MgaGF2ZSBiZWVuIGNvbnNpc3RlbnRseSBtdXhlZCBhbmQgZGVtdXhlZAoKMjAxMC0wMi0yMiAxNjo0NTozNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmM6CgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuaDoKCSogZ3N0L3F1aWNrdGltZS9mb3VyY2MuaDoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogYWRkIHhtcCBzdXBwb3J0CgkgIEFkZHMgeG1wIG1ldGF0YWdzIGFkZGluZyB0byBxdG11eC4KCSAgRml4ZXMgIzYwOTUzOQoKMjAxMC0wMy0xMSAxNzoxNzoxNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bW9vdnJlY292ZXIuYzoKCSAgcXRtdXg6IGZpeCBHU1RfRUxFTUVOVF9FUlJPUiB1c2FnZQoJICBXZSBuZWVkIHRvIHBhc3MgKE5VTEwpIHJhdGhlciB0aGFuIE5VTEwgZm9yIGVtcHR5IGFyZ3VtZW50cy4KCjIwMTAtMDMtMTAgMTA6MjM6MjMgLTA2MDAgIFJvYiBDbGFyayA8cm9iQHRpLmNvbT4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtb292cmVjb3Zlci5jOgoJICBxdG11eDogZml4IGNvbXBpbGUgZXJyb3IKCSAgZ3N0L3F1aWNrdGltZS9nc3RxdG1vb3ZyZWNvdmVyLmM6MjY4OiB3YXJuaW5nOiBmb3JtYXQgbm90IGEgc3RyaW5nIGxpdGVyYWwgYW5kIG5vIGZvcm1hdCBhcmd1bWVudHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYxMjQ1NAoKMjAxMC0wMi0yMiAxOTozODoxNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4bWFwLmM6CgkgIHF0bXV4OiBSZW5hbWUgJ2F2Yy1zYW1wbGUnIHRvICdhdmMnIGluIGNhcHMKCSAgRml4ZXMgIzYwNjY2MgoKMjAxMC0wMi0yNiAxMTo1MDoyNSAtMDgwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBUYWtlIGxvY2sgYXJvdW5kIHVzZSBvZiAobm9uLXRocmVhZHNhZmUpIHRhZ3NldHRlciBpbnRlcmZhY2UuCgoyMDEwLTAyLTIyIDE2OjUxOjAwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuYzoKCSAgcXRtdXg6IHdyaXRlIGFsbCB1ZHRhIGNoaWxkcmVuIGF0b21zCgkgIFVEVEEgbWlnaHQgaGF2ZSBNRVRBIGFuZCBvdGhlciBjaGlsZHJlbiBhdG9tcwoJICB0b2dldGhlciwgd3JpdGUgdGhlbSBhbGwuCgoyMDEwLTAyLTIyIDEwOjQ4OjExIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5oOgoJICBxdG11eDogVXNlIGludGVybmFsIHNpbmsgcGFkcyBsaXN0CgkgIER1ZSB0byBHc3RDb2xsZWN0UGFkcyBzaW5rIHBhZHMgbGlzdCBiZWluZyBub3QgcmVsaWFibHkKCSAgaXRlcmF0YWJsZSAod2hlbiBub3QgaW5zaWRlIHRoZSBjb2xsZWN0ZWQgZnVuY3Rpb24pIHRoaXMKCSAgcGF0Y2ggYWRkcyBhIHNpbmsgcGFkcyBsaXN0IHRvIHF0bXV4IHRvIGJlIHVzZWQgd2hlbiBpdGVyYXRpbmcKCSAgc2luayBwYWRzIG9uIHJlc2V0IGZ1bmN0aW9uLgoJICBGaXhlcyAjNjA5MDU1CgoyMDEwLTAyLTE2IDE3OjEzOjA5ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuYzoKCSAgcXRtdXg6IHByZXZlbnQgbGVha2luZyBoZGxyIG5hbWUKCjIwMTAtMDItMTYgMTY6MjQ6MTIgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5jOgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmg6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eG1hcC5jOgoJICBxdG11eDogc3VwcG9ydCBmb3IgQUxBQwoJICBGaXhlcyAjNTgwNzMxLgoKMjAxMC0wMi0xNiAxNDoxOTowNCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmM6CgkgIHF0bXV4OiByZWZhY3RvciBidWlsZGluZyBzdHNkIGVudHJ5ICd3YXZlJyBleHRlbnNpb24KCjIwMTAtMDItMDggMTE6NTE6NTIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9hdG9tc3JlY292ZXJ5LmM6CgkgIHF0bXV4OiBhdG9tc3JlY292ZXJ5OiBGaXggY29tcGlsYXRpb24gcHJvYmxlbQoJICBGaXhlcyBhIGNvbXBpbGF0aW9uIGVycm9yIGR1ZSB0byB1bnVzZWQgZnVuY3Rpb24gcmVzdWx0LgoKMjAwOS0xMi0xMiAxNjowNzoxNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmM6CgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuaDoKCSogZ3N0L3F1aWNrdGltZS9hdG9tc3JlY292ZXJ5LmM6CgkqIGdzdC9xdWlja3RpbWUvYXRvbXNyZWNvdmVyeS5oOgoJKiBnc3QvcXVpY2t0aW1lL2ZvdXJjYy5oOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bW9vdnJlY292ZXIuYzoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG1vb3ZyZWNvdmVyLmg6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5oOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4cGx1Z2luLmM6CgkgIHF0bXV4OiBBZGRzIG1vb3YgcmVjb3ZlcnkgZmVhdHVyZQoJICBBZGRzIGEgbmV3IHByb3BlcnR5IHRvIHF0bXV4IHRoYXQgc2V0cyBhIHBhdGggdG8gYSBmaWxlIHRvIHdyaXRlCgkgIGFuZCB1cGRhdGUgZGF0YSBhYm91dCB0aGUgbW9vdiBhdG9tICh0aGF0IGlzIG5vdCB3cml0ZW4gdGlsbCB0aGUKCSAgZW5kIG9mIHRoZSBmaWxlKS4gSWYgdGhlIHBpcGVsaW5lL2FwcCBjcmFzaGVzIGR1cmluZyBleGVjdXRpb24gaXQKCSAgbWlnaHQgYmUgcG9zc2libGUgdG8gcmVjb3ZlciB0aGUgbW92aWUgdXNpbmcgdGhlIHF0bW9vdnJlY292ZXIgZWxlbWVudC4KCSAgcXRtb292cmVjb3ZlciBpcyBhbiBlbGVtZW50IHRoYXQgaXMgYWxzbyBhIHBpcGVsaW5lLiBJdCBpcyBub3QKCSAgbWVhbnQgdG8gYmUgdXNlZCB3aXRoIG90aGVyIGVsZW1lbnRzIChpdCBoYXMgbm8gcGFkcykuIEl0IGlzIG1lcmVseQoJICBhIHRvb2wvdXRpbGl0YXJ5IHRvIHJlY292ZXIgdW5maW5pc2hlZCBxdG11eCBmaWxlcy4KCSAgRml4ZXMgIzYwMTU3NgoKMjAxMC0wMS0yNyAxOTowNjo1MyAtMDgwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmM6CgkgIHF0bXV4OiBmb3IgZml4ZWQtc2FtcGxlIHNpemUgc3RyZWFtcyAoUENNIGF1ZGlvLCBldGMpIGRvbid0IGFsbG9jYXRlIGFuIGVub3Jtb3VzIGJ1ZmZlciB0aGF0IHdlIHRoZW4gd29uJ3QgdXNlIGF0IGFsbC4KCjIwMTAtMDEtMjcgMTU6Mzc6MzcgLTA4MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogaGFuZGxlIG11eGluZyBhZHBjbSBjb3JyZWN0bHkuCgoyMDEwLTAxLTIyIDEzOjM2OjA0IC0wODAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuYzoKCSAgcXRtdXg6IFNldCB0aGUgbWRpYSBoZGxyIG5hbWUgZmllbGQgdG8gd2hhdCBxdWlja3RpbWUgdXNlcy4gRml4IHdyaXRpbmcgaXQgc2luY2UgaXQncyBub3QgbnVsbC10ZXJtaW5hdGVkLiBJbXByb3ZlcyBjb21wYXRpYmlsaXR5IHdpdGggc29tZSBoYXJkd2FyZSBwbGF5ZXJzLgoKMjAxMC0wMS0yMiAxMzozMDowNyAtMDgwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBlbmRpYW5uZXNzIGluIGdzdHJlYW1lciBpcyBhbiBpbnQsIG5vdCBib29sZWFuLgoKMjAxMC0wMS0yNiAxNzo1NDoyOCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmM6CgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuaDoKCSAgcXRtdXg6IHN0cmVhbWxpbmUgbW9vdiBkYXRhIG1lbW9yeSBzdG9yYWdlCgkgIEluIHBhcnRpY3VsYXIsIHVzZSBhcnJheXMgcmF0aGVyIHRoYW4gKGRvdWJsZSkgbGlua2VkIGxpc3RzLgoKMjAxMC0wMS0yNiAxMzo0NDowNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBnX2ZyZWUgaXMgTlVMTCBzYWZlCgoyMDEwLTAxLTIwIDEzOjMwOjQ4ICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBnc3QvcXVpY2t0aW1lL2Rlc2NyaXB0b3JzLmM6CgkqIGdzdC9xdWlja3RpbWUvZGVzY3JpcHRvcnMuaDoKCSogZ3N0L3F1aWNrdGltZS9wcm9wZXJ0aWVzLmM6CgkgIFtjbGVhbnVwXSBWYXJpb3VzIHN0eWxlIGFuZCBjbGVhbnVwcwoJICBWYXJpb3VzIGZpeGVzIGZvciBndGstZG9jIHdhcm5pbmdzIGFuZCBtYWtpbmcgZnVuY3Rpb25zIHdpdGhvdXQKCSAgYXJndW1lbnRzIHRha2Ugdm9pZCBhcyBwYXJhbWV0ZXIuCgoyMDEwLTAxLTE0IDA4OjA5OjAzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuYzoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogQWN0dWFsbHkgdXNlIG5ldyBjYXBzIGluZm8gb24gcmVuZWdvdGlhdGlvbgoJICBGb2xsb3dpbmcgdGhlIHByZXZpb3VzIHF0bXV4IGNvbW1pdCwgdGhpcyBwYXRjaCB0cmllcwoJICB0byB1c2UgdGhlIG5ldyBpbmZvIGFkZGVkIHRvIHRoZSBjYXBzIHRvIGZpbGwgdGhlICd0cmFrJwoJICBhdG9tJ3MgZmllbGRzIGFuZCBjaGlsZHJlbiBhdG9tcy4gVGhpcyB3YXkgcXRtdXggd2lsbAoJICB1c2UgdGhlIGxhdGUgYWRkZWQgJ2NvZGVjX2RhdGEnIHdoZW4gaDI2NHBhcnNlIGFkZHMKCSAgaXQgaW4gdGhlIGZvbGxvd2luZyBwaXBlbGluZToKCSAgdmlkZW90ZXN0c3JjIG51bS1idWZmZXJzPTIwMCAhIHgyNjRlbmMgYnl0ZS1zdHJlYW09dHJ1ZSAhIFwKCSAgaDI2NHBhcnNlIG91dHB1dC1mb3JtYXQ9MCAhIHF0bXV4ICEgXAoJICBmaWxlc2luayBsb2NhdGlvbj10ZXN0Lm1vdgoKMjAxMC0wMS0xMyAyMzozMzo1MSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmM6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IERvIGNhcHMgcmVuZWdvdGlhdGlvbiB3aGVuIGl0IG9ubHkgYWRkcyBmaWVsZHMKCSAgUXRtdXggY2FuIGFjY2VwdCBjYXBzIHJlbmVnb3RpYXRpb24gaWYgdGhlIG5ldyBjYXBzIGlzIGEKCSAgc3VwZXJzZXQgb2YgdGhlIG9sZCBvbmUsIG1lYW5pbmcgdXBzdHJlYW0gYWRkZWQgbmV3IGluZm8gdG8KCSAgdGhlIGNhcHMuIFRoaXMgcGF0Y2ggc3RpbGwgZG9lc24ndCBtYWtlIHF0bXV4IHVwZGF0ZSBhbnkKCSAgYXRvbXMgaW5mbyBmcm9tIHRoZSBuZXcgaW5mbywgYnV0IGF0IGxlYXN0IGl0IGRvZXNuJ3QKCSAgcmVqZWN0IHRoZSBuZXcgY2FwcyBhbnltb3JlLgoJICBBIHBpcGVsaW5lIHRoYXQgcmVwcm9kdWNlcyB0aGlzIHVzZSBjYXNlIGlzOgoJICB2aWRlb3Rlc3RzcmMgbnVtLWJ1ZmZlcnM9MjAwICEgeDI2NGVuYyBieXRlLXN0cmVhbT10cnVlICEgXAoJICBoMjY0cGFyc2Ugb3V0cHV0LWZvcm1hdD0wICEgcXRtdXggISBcCgkgIGZpbGVzaW5rIGxvY2F0aW9uPXRlc3QubW92CgoyMDEwLTAxLTEzIDE5OjMwOjQ1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IHByb3ZpZGUgcmVxdWVzdCBwYWRzIHVuZGVyIHdpZGVyIGNvbmRpdGlvbnMKCSAgRml4ZXMgIzYwNjg1OS4KCjIwMTAtMDEtMTMgMTA6MzU6MDAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eG1hcC5jOgoJICBxdG11eDogT25seSBhY2NlcHQgYXZjLXNhbXBsZSBoMjY0CgkgIHF0bXV4IGFuZCBtcDRtdXggc2hvdWxkIG9ubHkgYWNjZXB0IGgyNjQgaW4gYXZjLXNhbXBsZQoJICBmb3JtYXQKCjIwMTAtMDEtMTEgMTM6MTM6NDEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4bWFwLmM6CgkgIFJlbmFtZSBhYWMncyBzdHJlYW0tZm9ybWF0ICdub25lJyB0byAncmF3JwoJICBSZW5hbWVzIGFhYydzIHN0cmVhbS1mb3JtYXQgZnJvbSBwcmV2aW91cyBjb21taXRzIGZyb20gbm9uZSB0bwoJICByYXcKCjIwMTAtMDEtMTEgMTA6MzQ6MzIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4bWFwLmM6CgkgIHF0bXV4OiBPbmx5IGFjY2VwdCBzdHJlYW0tZm9ybWF0PSdub25lJyBhYWMKCSAgT25seSBhY2NlcHQgcmF3IGFhYyBzdHJlYW1zIChzdHJlYW0tZm9ybWF0PW5vbmUpIHRvIGF2b2lkCgkgIGdlbmVyYXRpbmcgaW52YWxpZCBmaWxlcy4KCSAgRml4ZXMgIzYwNDkyNQoKMjAwOS0xMi0yOCAxMTozNDozNSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5oOgoJICBxdG11eDogYWxzbyBhZGQgLmggZmlsZSBjaGFuZ2VzIHRvIHVuYnJlYWsgdGhlIGJ1aWxkCgoyMDA5LTEyLTI3IDIzOjUxOjUwICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiB1c2UgY29ycmVjdCBuYW1lcyBmcm9tIHRlbXBsYXRlIGZvciByZXF1ZXN0IHBhZHMKCSAgVGhlIHBhZHMgd2hlcmUgbmFtZXMgcGFkMCwgcGFkMSwgLi4uCgoyMDA5LTEyLTI3IDIzOjMyOjU4ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBtb3ZlIGVycm9ycyBfbmV3X3BhZCB0byB0aGUgZW5kCgoyMDA5LTEyLTIxIDEzOjU4OjMwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IEFjY2VwdCBub24tcGFpcmVkIHVpbnQgdGFncwoJICBBZGRzIHN1cHBvcnQgZm9yIHVucGFpcmVkIHVuc2lnbmVkIGludGVyZ2VyIHRhZ3MKCjIwMDktMTItMjEgMTI6MDU6MzcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9mb3VyY2MuaDoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogQWRkcyBuZXcgdGFncwoJICBNYXBzIG1vcmUgdGFncyB0aGF0IGFyZSBhbHJlYWR5IHBvc3RlZCBieSBxdGRlbXV4CgkgIEZpeGVzICM1OTk3NTkKCjIwMDktMTItMTAgMjI6MjA6NDUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5jOgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmg6CgkqIGdzdC9xdWlja3RpbWUvZm91cmNjLmg6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5oOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4bWFwLmM6CgkgIHF0bXV4OiBzdXBwb3J0IG1vcmUgb2YgajJrCgkgIFJlYWRzIHRoZSBuZXcgY2FwcyBhZGRlZCB0byBxdGRlbXV4IGJ5IGNvbW1pdAoJICBjOTE3ZDY1ZTZkZjBiNWQ1ODVmOTA1YzdhZDc4YThhMGE0NGIyY2IwCgkgIGFuZCBhZGRzIGl0cyBjb3JyZXNwb25kaW5nIGF0b21zLgoJICBBbHNvIGFkZHMgc3VwcG9ydCBmb3IgaW1hZ2UveC1qcGMgYXMgaXQgaXMgdGhlIHNhbWUKCSAgYXMgaW1hZ2UveC1qcDIsIGV4Y2VwdCB0aGF0IHRoZSBidWZmZXJzIG5lZWQgdG8gYmUKCSAgYm94ZWQgaW5zaWRlIGEganAyYyBpc29tIGJveCBiZWZvcmUgbXV4aW5nLiBUbyBzb2x2ZQoJICB0aGlzIHRoZSBRVFBhZHMgbm93IGhhdmUgYSBmdW5jdGlvbiB0aGF0IChpZgoJICBub3QgTlVMTCkgaXMgY2FsbGVkIHdoZW4gYSBidWZmZXIgaXMgY29sbGVjdGVkLiBUaGlzCgkgIGZ1bmN0aW9uIHJldHVybnMgYSByZXBsYWNlbWVudCB0byB0aGUgY3VycmVudCBjb2xsZWN0ZWQKCSAgYnVmZmVyLgoJICBGaXhlcyAjNTk4OTE2CgoyMDA5LTEyLTEwIDE2OjUzOjE5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvZm91cmNjLmg6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5oOgoJICBxdG11eDogTWFwcyAnY2xhc3NpZmljYXRpb24nIHRhZyBmb3IgM2dwcCBmaWxlcwoJICBBZGRzIHRoZSBtYXBwaW5nIG9mICdjbGFzc2lmaWNhdGlvbicgdGFncyB0byB3cml0aW5nIG9mCgkgICdjbHNmJyBhdG9tcyBmb3IgZ3BwbXV4LgoJICBCYXNlZCBvbiBhIHBhdGNoIGJ5OiBMYXNzZSBMYXVra2FuZW4gPGV4dC1sYXNzZS4yLmxhdWtrYW5lbkBub2tpYS5jb20+CgoyMDA5LTEyLTA4IDE3OjU5OjA0IC0wODAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuYzoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogcmVtb3ZlIGMrKyBjb21tZW50cyBhbmQgYWRkIHNvbWUgbW9yZSBjb21tZW50cy4KCjIwMDktMTItMDggMTc6NTU6NTYgLTA4MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5jOgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmg6CgkqIGdzdC9xdWlja3RpbWUvZm91cmNjLmg6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eG1hcC5jOgoJICBxdG11eDogYWRkIGltYSBhZHBjbSBzdXBwb3J0CgoyMDA5LTExLTI1IDIxOjQxOjI3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IHJlcGxhY2UgX3NjYWxlIHdpdGggX3NjYWxlX3JvdW5kCgkgIFVzZSB0aGUgcm91bmRpbmcgdmVyc2lvbiBmb3IgaW1wcm92ZWQgc3luYyBiZXR3ZWVuIHN0cmVhbXMuCgkgIFNtYWxsIHZhcmlhdGlvbnMgaW4gdGhlIGR1cmF0aW9uIHdoZW4gbXV4aW5nIG1pZ2h0IGxlYWQgdG8KCSAgY3VtdWxsYXRpdmUgd3JvbmcgdGltZXN0YW1waW5nIHdoZW4gZGVtdXhpbmcuCgkgIEZpeGVzICM2MDI5MzYKCjIwMDktMTEtMjQgMTY6MTY6NTYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogdXNlIHRpbWVzdGFtcHMgZm9yIG11eGluZwoJICBUcnkgdG8gdXNlIHRpbWVzdGFtcHMgZXZlbiB3aGVuIHRoZSBzdHJlYW0gaGFzIG91dCBvZiBvcmRlcgoJICB0aW1lc3RhbXBzLCBvbmx5IGZhbGwgYmFjayB0byBkdXJhdGlvbnMgd2hlbiB3ZSBkZXRlY3QgYW4KCSAgb3V0IG9mIG9yZGVyIGJ1ZmZlci4gSW1wcm92ZXMgc3luYyBiZXR3ZWVuIHN0cmVhbXMuCgoyMDA5LTExLTE5IDE4OjI4OjUyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGZpeCBtaXNzaW5nIGRlYnVnIGFyZ3VtZW50CgkgIEFkZHMgYSBtaXNzaW5nIGRlYnVnIGFyZ3VtZW50CgoyMDA5LTExLTE5IDExOjM2OjE0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGZpeCBtaXNpbmZvcm1pbmcgZGVidWcgc3RhdGVtZW50CgoyMDA5LTExLTE5IDExOjE0OjU3ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGVuc3VyZSB3cml0YWJsZSBidWZmZXIgbWV0YWRhdGEgYmVmb3JlIHNldHRpbmcgY2FwcwoKMjAwOS0xMC0yOSAwODozNjowMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmM6CgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuaDoKCSogZ3N0L3F1aWNrdGltZS9mb3VyY2MuaDoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4bWFwLmM6CgkgIHF0bXV4OiBzdXBwb3J0IGZvciBTVlEzCgkgIEFkZHMgc3VwcG9ydCBmb3IgbXV4aW5nIFNWUTMgY29udGVudC4gVXN1YWxseSB0aGlzIGZvcm1hdAoJICBoYXMgZGVjb2RlciBpbmZvIHRoYXQgbXVzdCBiZSBwYXNzZWQgaW4gdGhlICdzZXFoJyBmaWVsZAoJICBpbiB0aGUgY2Fwcy4gSXQgaXMgYWxzbyBnb29kIHRvIGFkZCB0aGUgZ2FtYSBhdG9tIHRvIG1ha2UKCSAgcXVpY2t0aW1lIG5vdCBjcmFzaC4KCSAgRml4ZXMgIzU4NzkyMgoKMjAwOS0xMS0xNyAwOToyNjowNSAtMDMwMCAgVGhpYWdvIFNvdXNhIFNhbnRvcyA8dGhpYWdvc3NAcmVkbW9vbi4obm9uZSk+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBkbyBub3QgbGVhayBhIHN0cmluZwoJICBGcmVlcyBhIHN0cmluZyBhZnRlciB1c2UuIEFsc28gZG9lcyBzb21lIGNvZGUgb3JnYW5pemF0aW9uCgoyMDA5LTExLTE2IDE0OjU3OjUzIC0wMzAwICBUaGlhZ28gU291c2EgU2FudG9zIDx0aGlhZ29zc0ByZWRtb29uLihub25lKT4KCgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuYzoKCSAgcXRtdXg6IGRvIG5vdCBhZGQgc2l6ZSB0byB0aGUgcG9pbnRlciB2YXJpYWJsZQoJICBEbyBub3Qgd3JvbmdseSBhZGQgdGhlIHJlc3VsdCBvZiB0aGUgZnVuY3Rpb24gdG8gdGhlCgkgIHBvaW50ZXIgdG8gdGhlIGJ1ZmZlciBzaXplLiBJbnN0ZWFkLCBjaGVjayB0aGUgcmVzdWx0CgkgIHRvIHNlZSBpZiB0aGUgc2VyaWFsaXphdGlvbiB3YXMgb2suCgkgIEJhc2VkIG9uIGEgcGF0Y2ggYnk6ICJDYXJzdGVuIEtyb2xsIDxjYXJAeGltaWRpLmNvbT4iCgkgIEZpeGVzICM2MDIxMDYKCjIwMDktMTEtMDYgMTA6MzQ6MzkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5jOgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmg6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5oOgoJICBxdG11eDogaGFuZGxlICdsYXRlJyBzdHJlYW1zCgkgIFdoZW4gbXV4aW5nIHN0cmVhbXMsIHNvbWUgY2FuIHN0YXJ0IGxhdGVyIHRoYW4gb3RoZXJzLiBxdG11eAoJICBub3cgaGFuZGxlIHRoaXMgYnkgYWRkaW5nIGFuIGVtcHR5IGVkdHMgZW50cnkgd2l0aCB0aGUKCSAgZHVyYXRpb24gb2YgdGhlICdsYXRlbmVzcycgdG8gdGhlIHN0cmVhbSdzIHRyYWsuCgkgIEl0IHRvbGVyYXRlcyBhIHN0cmVhbSB0byBiZSB1cCB0byAwLjFzIGxhdGUuCgkgIEZpeGVzICM1ODY4NDgKCjIwMDktMTEtMDUgMjE6MzU6NTYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5jOgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmg6CgkgIHF0bXV4OiBhZGRzIHRoZSBFRFRTIGFuZCBFTFRTIGF0b21zIHRvIGF0b21zLmMKCSAgVGhlc2UgYXRvbXMgd2lsbCBiZSB1c2VmdWwgZm9yIHNpZ25hbGluZyBzdHJlYW1zCgkgIHRoYXQgc3RhcnQgbGF0ZXIgaW4gdGhlIGZpbGUuIEFzIHdlbGwgZm9yIGFkZGluZwoJICBlZGl0IGxpc3RzIGlmIG5lZWRlZCBzb21ldGltZSBsYXRlci4KCjIwMDktMTEtMDYgMDA6NDY6MTIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5jOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBBZGRpbmcgc29tZSBpZnMgZm9yIHByb3RlY3Rpb24KCSAgQWRkaW5nIHNvbWVzIGlmcyB0byBwcm90ZWN0IGFnYWluc3Qgd2FybmluZyBjb25kaXRpb25zCgkgIHRoYXQgbWlnaHQgaGFwcGVuIHdoZW4gdXBzdHJlYW0gZWxlbWVudCBpcyBub3Qgc2FuZQoJICBGaXhlcyAjNjAwODk1CgoyMDA5LTEwLTE2IDEwOjQ3OjMyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0BlbWJlZGRlZC51ZmNnLmVkdS5icj4KCgkqIGdzdC9xdWlja3RpbWUvZnR5cGNjLmg6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5oOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4bWFwLmM6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXhtYXAuaDoKCSAgZ3BwbXV4OiBBZGQgc3VwcG9ydCBmb3IgM2dyNgoJICBLZWVwIHRyYWNrIG9mIHRoZSBjaHVuayBkdXJhdGlvbnMgdG8gYmUgYWJsZSB0byBhZGQgM2dyNgoJICBicmFuZCBpZiBpdCBpcyBhIGZhc3RzdGFydCBmaWxlIGFuZCB0aGUgbG9uZ2VzdCBjaHVuayBpcwoJICBzbWFsbGVyIHRoYW4gYSBzZWMuIEltcGxlbWVudGVkIGFjY29yZGluZyB0byAzZ3BwCgkgIFRTIDI2LjI0NCB2Ni40LjAgKDIwMDUtMDkpCgkgIEZpeGVzICM1ODQzNjEKCjIwMDktMTAtMTUgMjE6MTE6MTYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQGVtYmVkZGVkLnVmY2cuZWR1LmJyPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogT25seSBwdXNoIGZ0eXAgbGF0ZXIgKGluIGZhc3RzdGFydCBtb2RlKQoJICBJbiBmYXN0c3RhcnQgbW9kZSwgdGhlcmUgaXMgbm8gbmVlZCB0byBzZW5kIHRoZSBmdHlwCgkgIHJpZ2h0IGF0IHRoZSBiZWdpbm5pbmcgb2YgdGhlIHN0cmVhbS4gV2FpdGluZyBhbmQgc2VuZGluZyBpdAoJICBvbmx5IGxhdGVyICh3aGVuIHRoZSBtb292IGF0b20gaXMgcmVhZHkgdG8gYmUgc2VudCkgcHJvdmlkZXMKCSAgdXMgd2l0aCBtb3JlIGluZm9ybWF0aW9uIGFib3V0IHRoZSBzdHJlYW0gYW5kIHdlIGNhbiBiZXR0ZXIKCSAgc2VsZWN0IHRoZSBjb21wYXRpYmxlIGJyYW5kcy4KCjIwMDktMTAtMTUgMTc6NTE6MzkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQGVtYmVkZGVkLnVmY2cuZWR1LmJyPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogSW1wcm92ZSBlcnJvciBtZXNzYWdlCgkgIEltcHJvdmUgZXJyb3IgbWVzc2FnZSB3aGVuIHdlIGNhbid0IGdldCBvciBlc3RpbWF0ZSB0aGUKCSAgdGltZXN0YW1wL2R1cmF0aW9uIG9mIGEgYnVmZmVyCgoyMDA5LTA5LTI5IDE1OjQ3OjEzICswMjAwICBNYXJjLUFuZHLDqSBMdXJlYXUgPG1sdXJlYXVAZmx1bW90aW9uLmNvbT4KCgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuYzoKCSAgcXRtdXg6IGZpeCBmbGFnc19hc191aW50IHRvIGZsYWdzW10KCjIwMDktMDgtMDQgMTI6NTg6MzUgKzAyMDAgIEphbiBVcmJhbnNraSA8d3VsY3plckB3dWxjemVyLm9yZz4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IERvbid0IHJlcXVpcmUgZW5kaWFubmVzcyBmaWVsZCBmb3IgOCBiaXQgcmF3IGF1ZGlvCgkgIEZpeGVzIGJ1ZyAjNTkwMzYwLgoKMjAwOS0wNi0yNSAwODozODoyMSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuYzoKCSAgcXRtdXg6IFJlbW92ZSB1bnVzZWQgdmFyaWFibGUuCgoyMDA5LTA2LTI1IDA4OjM4OjEwICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogRml4IGRlYnVnIHN0YXRlbWVudC4KCjIwMDktMDYtMTEgMTU6NTQ6NDIgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5jOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguaDoKCSAgcXRtdXg6IG9ubHkgdXNlICg2NC1iaXQpIGV4dGVuZGVkIChtZGF0KSBhdG9tIHNpemUgaWYgbmVlZGVkLiAgRml4ZXMgIzU4NTMxOS4KCjIwMDktMDYtMTAgMTQ6NDY6MTQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogc2V0IGRlZmF1bHQgbW92aWUgdGltZXNjYWxlIHRvIG1pY3Jvc2Vjb25kIHVuaXRzCgoyMDA5LTA2LTEwIDEzOjI0OjIwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuYzoKCSAgcXRtdXg6IGNvbXByZXNzL29wdGltaXplIHN0c2Mgd3JpdGluZwoKMjAwOS0wNi0xMCAxMjo0Mjo0NCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmM6CgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuaDoKCSogZ3N0L3F1aWNrdGltZS9mb3VyY2MuaDoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4bWFwLmM6CgkgIHF0bXV4OiBhZGQgM0dQIHN0eWxlIHRhZ2dpbmcgKGFuZCByZWZhY3RvciBhcHByb3ByaWF0ZWx5KQoKMjAwOS0wNi0wMSAyMzowMDo0NCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmM6CgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuaDoKCSogZ3N0L3F1aWNrdGltZS9mb3VyY2MuaDoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eCAoYW5kIHZhcmlhbnRzKTogaGFuZGxlIHBpeGVsLWFzcGVjdC1yYXRpby4gIEZpeGVzICM1ODQzNTguCgoyMDA5LTA2LTAxIDIyOjQyOjA4ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuYzoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5oOgoJKiBnc3QvcXVpY2t0aW1lL2Z0eXBjYy5oOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4bWFwLmM6CgkgIGdwcG11eDogZW5oYW5jZSBmdHlwIGJyYW5kIGhldXJpc3RpYy4gIEZpeGVzICM1ODQzNjAuCgoyMDA5LTA1LTI4IDEzOjU2OjEwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvZm91cmNjLmg6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IHVzZSBkaWZmZXJlbnQgc3RzZCBhdG9tIHR5cGUgZm9yIEgyNjMgZm9yIElTTyBhbmQgUVQgdmFyaWFudHMKCSAgRml4ZXMgIzU4NDExNC4KCjIwMDktMDUtMTUgMDE6NTQ6NDQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQGVtYmVkZGVkLnVmY2cuZWR1LmJyPgoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5jOgoJICBbcXRtdXhdIEZpeGVzIHNlZ2ZhdWx0IHdoZW4gYWRkaW5nIGEgYmxvYiBhcyBmaXJzdCB0YWcuCgkgIE1vdmVzIHRhZ3MgZGF0YSBpbml0aWFsaXphdGlvbiB0byB0aGUgZnVuY3Rpb24gdGhhdCBhY3R1YWxseSBhcHBlbmRzCgkgIHRoZSB0YWdzIHRvIHRoZSBsaXN0LiBGaXhlcyAjNTgyNzAyCgkgIEFsc28gZml4ZXMgc29tZSBzdHlsZSBjYXVnaHQgYnkgdGhlIHByZS1jb21taXQgaG9vay4KCjIwMDktMDUtMTAgMjE6MjE6MzYgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eG1hcC5jOgoJICBncHBtdXg6IEFkZCBNUEVHLTQgcGFydCAyIHRvIHN1cHBvcnRlZCBmb3JtYXRzLiAgRml4ZXMgIzU4MTU5My4KCjIwMDktMDUtMDcgMTc6NTM6NDIgKzAxMDAgIENocmlzdGlhbiBTY2hhbGxlciA8Y2hyaXN0aWFuLnNjaGFsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgQWRkIHJhbmtzIHRvIHZhcmlvdXMgbXV4ZXJzIGFuZCBlbmNvZGVycyBpbiAtYmFkCgoyMDA5LTA0LTMwIDE0OjQzOjM2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0BlbWJlZGRlZC51ZmNnLmVkdS5icj4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXhtYXAuYzoKCSAgcXRtdXg6IGNoYW5nZXMgY2FwcyBvZiBzcmMgcGFkcyB0byB2aWRlby9xdWlja3RpbWUsIHZhcmlhbnQ9c29tZXRoaW5nCgkgIFRha2UgYSBsb29rIGF0IGJ1ZyAjNTgwMDA1IGZvciBmdXJ0aGVyIGluZm8uCgoyMDA5LTA0LTI0IDE4OjUzOjM2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0BlbWJlZGRlZC51ZmNnLmVkdS5icj4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXhtYXAuYzoKCSAgbXA0bXV4OiBDaGFuZ2VzIHNyYyBjYXBzIHRvIGFwcGxpY2F0aW9uL3gtaXNvLW1wNAoJICBGaXhlcyAjNTgwMDA1CgoyMDA5LTAzLTI1IDIxOjI0OjQ0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGZpeCByZXVzaW5nIGVsZW1lbnQKCSAgU3RhdGUgY2hhbmdlIHRvIFJFQURZIGFuZCB0aGVuIGJhY2sgdG8gUEFVU0VEIHNob3VsZCBzdGlsbCBwcm92aWRlCgkgIHRoZSBwcm9wZXIgc3RydWN0dXJlcyBhcyBhcmUgb3RoZXJ3aXNlIGZyZXNobHkgYXZhaWxhYmxlIGZvbGxvd2luZwoJICBhIHJlcXVlc3RfbmV3X3BhZC4KCSAgUG9pbnRlZCBvdXQgYnkgVGhpYWdvIFNhbnRvcy4KCjIwMDktMDMtMjMgMTE6MTc6MzkgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBmaXggaW5jbHVkZXMgZm9yIGxzZWVrCgkgIC0tCgoyMDA5LTAzLTIwIDE0OjIwOjE2ICswMTAwICBMUk4gPGxybjE5ODYgYXQgZ21haWwgZG90IGNvbT4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgd2luMzI6IGZpeCBzZWVraW5nIGluIGxhcmdlIGZpbGVzCgkgIFVzZSBfbHNlZWtpNjQoKSBvbiBXaW5kb3dzIHRvIHNlZWsgaW4gbGFyZ2UgZmlsZXMuCgkgIEZpeGVzICM1NzYwMjEuCgoyMDA5LTAzLTAyIDEwOjU3OjM1ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogQmUgYSBiaXQgbW9yZSB2ZXJib3NlIGluIG91ciBkZWJ1ZyBtZXNzYWdlIHdoZW4gZmFpbGluZyB0byByZW5lZ290aWF0ZQoKMjAwOS0wMS0yOCAxMzoyNToxNCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmM6CgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuaDoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4bWFwLmM6CgkgIEFkZGl0aW9uYWwgbWVkaWEgdHlwZSBzdXBwb3J0IGluIHF0bXV4IChhbmQgZnJpZW5kcykuCgkgIFN1cHBvcnQgQU1SIGFuZCBIMjYzIGZvciBib3RoIHF0bXV4IGFuZCBncHBtdXgsCgkgIGFuZCBhZGQgZXh0ZW5zaW9ucyBpbiBzYW1wbGUgdGFibGUgZGVzY3JpcHRpb24uCgoyMDA5LTAxLTA5IDIxOjU5OjQ4ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXhtYXAuYzogQWRkIHZpZGVvL3gtcXQtcGFydCBhbmQgdmlkZW8veC1tNC1wYXJ0IHRvIGNhcHMgc28gc2Nocm9lbmMvc2Nocm9wYXJzZSBjYW4gdXNlIGl0LiAgRml4ZXMgIzUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F1aWNrdGltZS9nc3RxdG11eG1hcC5jOiBBZGQgdmlkZW8veC1xdC1wYXJ0IGFuZCB2aWRlby94LW00LXBhcnQKCSAgdG8gY2FwcyBzbyBzY2hyb2VuYy9zY2hyb3BhcnNlIGNhbiB1c2UgaXQuICBGaXhlcyAjNTY2OTU4CgoyMDA4LTEyLTE5IDE4OjUzOjQ3ICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkgIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzogRG8gbm90IHRlbXB0IG9yIHN1Z2dlc3QgdG8gdmlvbGF0ZSBnc3RfY29sbGVjdF9wYWRzIEFQSSBzcGVjaWZpY2F0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6IChnc3RfcXRfbXV4X2NoYW5nZV9zdGF0ZSk6CgkgIERvIG5vdCB0ZW1wdCBvciBzdWdnZXN0IHRvIHZpb2xhdGUgZ3N0X2NvbGxlY3RfcGFkcyBBUEkgc3BlY2lmaWNhdGlvbi4KCjIwMDgtMTItMTkgMTg6MzM6NDcgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSAgZ3N0L3F1aWNrdGltZS86IER1YWwgbGljZW5zZSBxdG11eCBMR1BML01JVC4gIEZpeGVzICM1NjQyMzIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdWlja3RpbWUvYXRvbXMuYzoKCSAgKiBnc3QvcXVpY2t0aW1lL2F0b21zLmg6CgkgICogZ3N0L3F1aWNrdGltZS9kZXNjcmlwdG9ycy5jOgoJICAqIGdzdC9xdWlja3RpbWUvZGVzY3JpcHRvcnMuaDoKCSAgKiBnc3QvcXVpY2t0aW1lL2ZvdXJjYy5oOgoJICAqIGdzdC9xdWlja3RpbWUvZnR5cGNjLmg6CgkgICogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICAqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguaDoKCSAgKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4bWFwLmM6CgkgICogZ3N0L3F1aWNrdGltZS9nc3RxdG11eG1hcC5oOgoJICAqIGdzdC9xdWlja3RpbWUvcHJvcGVydGllcy5jOgoJICAqIGdzdC9xdWlja3RpbWUvcHJvcGVydGllcy5oOgoJICBEdWFsIGxpY2Vuc2UgcXRtdXggTEdQTC9NSVQuICBGaXhlcyAjNTY0MjMyLgoKMjAwOC0xMi0xNiAxNjoyNjo1MiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgVG90YWxseSByZW1vdmUgdGhlIGludGVybmFsIHRhZ2xpc3RzIGFuZCBmdWxseSB1c2UgdGFnc2V0dGVyLiBGaXhlcyB2YXJpb3VzIHRhZyBtdXhpbmcgaXNzdWVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvY2VsdC9nc3RjZWx0ZW5jLmM6CgkgICogZXh0L2NlbHQvZ3N0Y2VsdGVuYy5oOgoJICAqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YW11eC5jOgoJICAqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4Lmg6CgkgIFRvdGFsbHkgcmVtb3ZlIHRoZSBpbnRlcm5hbCB0YWdsaXN0cyBhbmQgZnVsbHkgdXNlIHRhZ3NldHRlci4gRml4ZXMKCSAgdmFyaW91cyB0YWcgbXV4aW5nIGlzc3Vlcy4KCjIwMDgtMTItMDEgMTY6Mzc6NDUgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSAgZ3N0L3F1aWNrdGltZS9hdG9tcy5jOiBGaXggbWoyIHNhbXBsZSBkZXNjcmlwdGlvbiBtZXRhZGF0YSBjb25zdHJ1Y3Rpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdWlja3RpbWUvYXRvbXMuYzogKGJ1aWxkX2pwMmhfZXh0ZW5zaW9uKToKCSAgRml4IG1qMiBzYW1wbGUgZGVzY3JpcHRpb24gbWV0YWRhdGEgY29uc3RydWN0aW9uLgoKMjAwOC0xMS0xOCAwMTowOTowOSArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6IFF1aWV0IGEgZGVidWdnaW5nIG1lc3NhZ2UgdGhhdCBJIHJlY2VudGx5IGFkZGVkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6IFF1aWV0IGEgZGVidWdnaW5nIG1lc3NhZ2UgdGhhdCBJIHJlY2VudGx5CgkgIGFkZGVkLgoKMjAwOC0xMS0xNSAwMjo1NjozMSArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4Lio6IFVzZSBkdHMgZnJvbSBHU1RfQlVGRkVSX09GRlNFVF9FTkQoKSBmb3IgdmlkZW8veC1xdC1wYXJ0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgICogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5oOgoJICBVc2UgZHRzIGZyb20gR1NUX0JVRkZFUl9PRkZTRVRfRU5EKCkgZm9yIHZpZGVvL3gtcXQtcGFydC4KCjIwMDgtMTEtMTQgMjE6MjQ6NTEgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSAgZ3N0L3F1aWNrdGltZS86IFJldmVydCBwcmV2aW91cyBjb21taXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdWlja3RpbWUvYXRvbXMuYzoKCSAgKiBnc3QvcXVpY2t0aW1lL2F0b21zLmg6CgkgICogZ3N0L3F1aWNrdGltZS9kZXNjcmlwdG9ycy5jOgoJICAqIGdzdC9xdWlja3RpbWUvZGVzY3JpcHRvcnMuaDoKCSAgKiBnc3QvcXVpY2t0aW1lL2ZvdXJjYy5oOgoJICAqIGdzdC9xdWlja3RpbWUvZnR5cGNjLmg6CgkgICogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICAqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguaDoKCSAgKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4bWFwLmM6CgkgICogZ3N0L3F1aWNrdGltZS9nc3RxdG11eG1hcC5oOgoJICAqIGdzdC9xdWlja3RpbWUvcHJvcGVydGllcy5jOgoJICAqIGdzdC9xdWlja3RpbWUvcHJvcGVydGllcy5oOgoJICBSZXZlcnQgcHJldmlvdXMgY29tbWl0LgoKMjAwOC0xMS0xNCAyMDozODoxOCArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJICBnc3QvcXVpY2t0aW1lLzogRHVhbCBsaWNlbnNlIExHUEwvTUlULCBhcyBhcHBhcmVudGx5IHN1cHBvc2VkIHRvLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXVpY2t0aW1lL2F0b21zLmM6CgkgICogZ3N0L3F1aWNrdGltZS9hdG9tcy5oOgoJICAqIGdzdC9xdWlja3RpbWUvZGVzY3JpcHRvcnMuYzoKCSAgKiBnc3QvcXVpY2t0aW1lL2Rlc2NyaXB0b3JzLmg6CgkgICogZ3N0L3F1aWNrdGltZS9mb3VyY2MuaDoKCSAgKiBnc3QvcXVpY2t0aW1lL2Z0eXBjYy5oOgoJICAqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4Lmg6CgkgICogZ3N0L3F1aWNrdGltZS9nc3RxdG11eG1hcC5jOgoJICAqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXhtYXAuaDoKCSAgKiBnc3QvcXVpY2t0aW1lL3Byb3BlcnRpZXMuYzoKCSAgKiBnc3QvcXVpY2t0aW1lL3Byb3BlcnRpZXMuaDoKCSAgRHVhbCBsaWNlbnNlIExHUEwvTUlULCBhcyBhcHBhcmVudGx5IHN1cHBvc2VkIHRvLgoKMjAwOC0xMS0xNCAyMDoxNzoxMCArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJICBnc3QvcXVpY2t0aW1lLzogQ3V0IGRldG91ciBpbiBzYW1wbGUgZGVzY3JpcHRpb24gZXh0ZW5zaW9uIGNvbnN0cnVjdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F1aWNrdGltZS9hdG9tcy5jOiAoYnVpbGRfZXNkc19leHRlbnNpb24pLAoJICAoYnVpbGRfbW92X2FhY19leHRlbnNpb24pLCAoYnVpbGRfanAyaF9leHRlbnNpb24pLAoJICAoYnVpbGRfY29kZWNfZGF0YV9leHRlbnNpb24pOgoJICAqIGdzdC9xdWlja3RpbWUvYXRvbXMuaDoKCSAgKiBnc3QvcXVpY2t0aW1lL2ZvdXJjYy5oOgoJICAqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzogKGdzdF9xdF9tdXhfYXVkaW9fc2lua19zZXRfY2FwcyksCgkgIChnc3RfcXRfbXV4X3ZpZGVvX3Npbmtfc2V0X2NhcHMpOgoJICAqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXhtYXAuYzogKGdzdF9xdF9tdXhfbWFwX2Zvcm1hdF90b19oZWFkZXIpOgoJICBDdXQgZGV0b3VyIGluIHNhbXBsZSBkZXNjcmlwdGlvbiBleHRlbnNpb24gY29uc3RydWN0aW9uLgoJICBBbHNvIGFjdHVhbGx5IGltcGxlbWVudCBJU08gSlBFRzIwMDAgbWoyIGZvcm1hdC4KCjIwMDgtMTEtMTEgMTk6MzE6MzUgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSAgdGVzdHMvY2hlY2svOiBBZGQgdW5pdCB0ZXN0IGZvciBxdG11eC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvcXRtdXguYzogKHNldHVwX3NyY19wYWQpLAoJICAodGVhcmRvd25fc3JjX3BhZCksIChzZXR1cF9xdG11eCksIChjbGVhbnVwX3F0bXV4KSwKCSAgKGNoZWNrX3F0bXV4X3BhZCksIChHU1RfU1RBUlRfVEVTVCksIChxdG11eF9zdWl0ZSksIChtYWluKToKCSAgQWRkIHVuaXQgdGVzdCBmb3IgcXRtdXguCgoyMDA4LTExLTExIDE5OjI0OjEyICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkgIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzogQWRkIHNvbWUgbW9yZSBzYWZldHkvc2FuaXR5IGNoZWNrcyBpbiB0YWcgbWFuaXB1bGF0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6IChnc3RfcXRfbXV4X2FkZF9tZXRhZGF0YV90YWdzKToKCSAgQWRkIHNvbWUgbW9yZSBzYWZldHkvc2FuaXR5IGNoZWNrcyBpbiB0YWcgbWFuaXB1bGF0aW9uLgoKMjAwOC0xMS0wOCAwMjowMDo1OCArMDAwMCAgVGhpYWdvIFNvdXNhIFNhbnRvcyA8dGhpYWdvc3NhbnRvc0BnbWFpbC5jb20+CgoJICBDb3B5IHF0bXV4IGZyb20gcmV2aXNpb24gMTQ4IG9mIHRoZSBnc3QtcXRtdXggcmVwb3NpdG9yeS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHBhdGNoIGJ5OiBUaGlhZ28gU291c2EgU2FudG9zIDx0aGlhZ29zc2FudG9zQGdtYWlsLmNvbT4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L3F1aWNrdGltZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcXVpY2t0aW1lL2F0b21zLmM6CgkgICogZ3N0L3F1aWNrdGltZS9hdG9tcy5oOgoJICAqIGdzdC9xdWlja3RpbWUvZGVzY3JpcHRvcnMuYzoKCSAgKiBnc3QvcXVpY2t0aW1lL2Rlc2NyaXB0b3JzLmg6CgkgICogZ3N0L3F1aWNrdGltZS9mb3VyY2MuaDoKCSAgKiBnc3QvcXVpY2t0aW1lL2Z0eXBjYy5oOgoJICAqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4Lmg6CgkgICogZ3N0L3F1aWNrdGltZS9nc3RxdG11eG1hcC5jOgoJICAqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXhtYXAuaDoKCSAgKiBnc3QvcXVpY2t0aW1lL3Byb3BlcnRpZXMuYzoKCSAgKiBnc3QvcXVpY2t0aW1lL3Byb3BlcnRpZXMuaDoKCSAgQ29weSBxdG11eCBmcm9tIHJldmlzaW9uIDE0OCBvZiB0aGUgZ3N0LXF0bXV4IHJlcG9zaXRvcnkuCgkgIEZpeGVzICM1NTAyODAuCgoyMDExLTA0LTEyIDE4OjI1OjM0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIEFuZHJvaWQubWs6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXVpY2t0aW1lLnhtbDoKCSogZ3N0L3F1aWNrdGltZS9MRUdBTDoKCSogZ3N0L3F1aWNrdGltZS9NYWtlZmlsZS5hbToKCSogZ3N0L3F1aWNrdGltZS9nc3RydHB4cXRkZXBheS5jOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHJ0cHhxdGRlcGF5Lmg6CgkqIGdzdC9xdWlja3RpbWUvcXRhdG9tcGFyc2VyLmg6CgkqIGdzdC9xdWlja3RpbWUvcXRkZW11eC5jOgoJKiBnc3QvcXVpY2t0aW1lL3F0ZGVtdXguaDoKCSogZ3N0L3F1aWNrdGltZS9xdGRlbXV4LnZjcHJvajoKCSogZ3N0L3F1aWNrdGltZS9xdGRlbXV4X2R1bXAuYzoKCSogZ3N0L3F1aWNrdGltZS9xdGRlbXV4X2R1bXAuaDoKCSogZ3N0L3F1aWNrdGltZS9xdGRlbXV4X2ZvdXJjYy5oOgoJKiBnc3QvcXVpY2t0aW1lL3F0ZGVtdXhfbGFuZy5jOgoJKiBnc3QvcXVpY2t0aW1lL3F0ZGVtdXhfbGFuZy5oOgoJKiBnc3QvcXVpY2t0aW1lL3F0ZGVtdXhfdHlwZXMuYzoKCSogZ3N0L3F1aWNrdGltZS9xdGRlbXV4X3R5cGVzLmg6CgkqIGdzdC9xdWlja3RpbWUvcXRwYWxldHRlLmg6CgkqIGdzdC9xdWlja3RpbWUvcXVpY2t0aW1lLmM6CgkqIHBvL1BPVEZJTEVTLmluOgoJICBxdGRlbXV4OiByZW5hbWUgZGlyZWN0b3J5IHRvIHF1aWNrdGltZSB0byBtYXRjaCBwbHVnaW4gbmFtZQoJICBJbiBwcmVwYXJhdGlvbiBmb3IgcXRtdXggbW92aW5nIHRvIC1nb29kLgoKMjAxMS0wNC0xMiAxMTo0OTo1NCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdmRlbXV4OiBzaW1wbGlmeSBmcmFtZXJhdGUgZnJhY3Rpb24gY2FsY3VsYXRpb24KCjIwMTEtMDEtMjQgMTU6NDU6MjggLTA2MDAgIExlb25hcmRvIFNhbmRvdmFsIDxsc2FuZG92YWxAdGkuY29tPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4Lmg6CgkgIGZsdmRlbXV4OiBhZGQgd2lkdGgsIGhlaWdodCBhbmQgZnJhbWVyYXRlIHRvIGNhcHMgd2hlbiBwcmVzZW50IG9uIG9uTWV0YURhdGEKCSAgRml4ZXMgIzY0MDQ4My4KCjIwMTAtMDgtMjQgMTM6NTc6NTUgKzAyMDAgIFBhc2NhbCBCdWhsZXIgPHBhc2NhbC5idWhsZXJAdGFuZGJlcmcuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkgIHJ0cHNzcmNkZW11eDogVW5rbm93biBTU1JDIGlzIG5vdCBmYXRhbAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQ2OTY2CgoyMDEwLTA4LTI0IDEzOjU0OjU4ICswMjAwICBQYXNjYWwgQnVobGVyIDxwYXNjYWwuYnVobGVyQHRhbmRiZXJnLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogTnVtYmVyIG9mIGFjdGl2ZSBzb3VyY2VzIHNob3VsZCBiZSB1cGRhdGVkIHdoZW5ldmVyIHRoZSBzdGF0dXMgb2YgdGhlIHNvdXJjZSBjaGFuZ2VzIHRvIGFjdGl2ZQoJICBGb3J3YXJkLXBvcnRlZCBieSBPbGl2aWVyIENyw6p0ZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQ2OTY1CgoyMDEwLTA2LTIzIDExOjI5OjU4ICswMjAwICBIYXZhcmQgR3JhZmYgPGhhdmFyZC5ncmFmZkB0YW5kYmVyZy5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cG1hbmFnZXI6IGlnbm9yZSBhIEJZRSBpZiBpdCBpcyBzZW50IHdpdGggb3VyIGludGVybmFsIFNTUkMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0Njk2NAoKMjAxMC0wMS0yOSAwOTo0OTo0OCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEFkZHMgbW9yZSBoMjY0IGZpZWxkcyB0byBpdHMgY2FwcwoJICBBZGRzIGFsaWdubWVudD1hdSBhbmQgc3RyZWFtLWZvcm1hdD1hdmMgdG8gaDI2NCBjYXBzCgkgIEZpeGVzICM2MDY2NjIKCjIwMTEtMDQtMTEgMTI6NDQ6MTkgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSAgamFjazogYWxzbyBoYW5kbGUgZGVwcmVjYXRpb25zIGZvciBqYWNrIDEuOS43CgkgIEphY2sgMS45Ljcgd2FzIHJlbGVhc2VkIDIwLk1hci4yMDExLCBuZWVkIHRvIGhhbmRsZSB0aGUgZGVwcmVjYXRlZCBhcGkgZm9yIHRoaXMKCSAgdmVyc2lvbiB0b28uCgoyMDExLTA0LTExIDAwOjM2OjM1IC0wNDAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL01ha2VmaWxlLmFtOgoJICBhbmRyb2lkOiBtYWtlIGl0IHJlYWR5IGZvciBhbmRyb2dlbml6ZXIKCSAgUmVtb3ZlIHRoZSBhbmRyb2lkLyB0b3AgZGlyCgkgIEZpeGUgdGhlIE1ha2VmaWxlLmFtIHRvIGJlIGFuZHJvZ2VuaXplZAoJICBUbyBidWlsZCBnc3RyZWFtZXIgZm9yIGFuZHJvaWQgd2UgYXJlIG5vdyB1c2luZyBhbmRyb2dlbml6ZXIgd2hpY2ggZ2VuZXJhdGVzIHRoZSBuZWVkZWQgQW5kcm9pZC5tayBmaWxlcy4KCSAgQW5kcm9nZW5pemVyIGNhbiBiZSBmb3VuZCBoZXJlOiBodHRwOi8vZ2l0LmNvbGxhYm9yYS5jby51ay8/cD11c2VyL2RlcmVrL2FuZHJvZ2VuaXplci5naXQKCjIwMTEtMDQtMTAgMTg6NTY6NTIgLTA0MDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvLnVrPgoKCSogQW5kcm9pZC5tazoKCSogYW5kcm9pZC9OT1RJQ0U6CgkqIGFuZHJvaWQvYXBldGFnLm1rOgoJKiBhbmRyb2lkL2F2aS5tazoKCSogYW5kcm9pZC9mbHYubWs6CgkqIGFuZHJvaWQvZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLW1hcnNoYWwuYzoKCSogYW5kcm9pZC9nc3QvcnRwbWFuYWdlci9nc3RydHBiaW4tbWFyc2hhbC5oOgoJKiBhbmRyb2lkL2dzdC91ZHAvZ3N0dWRwLWVudW10eXBlcy5jOgoJKiBhbmRyb2lkL2dzdC91ZHAvZ3N0dWRwLWVudW10eXBlcy5oOgoJKiBhbmRyb2lkL2dzdC91ZHAvZ3N0dWRwLW1hcnNoYWwuYzoKCSogYW5kcm9pZC9nc3QvdWRwL2dzdHVkcC1tYXJzaGFsLmg6CgkqIGFuZHJvaWQvaWN5ZGVtdXgubWs6CgkqIGFuZHJvaWQvaWQzZGVtdXgubWs6CgkqIGFuZHJvaWQvcXRkZW11eC5tazoKCSogYW5kcm9pZC9ydHAubWs6CgkqIGFuZHJvaWQvcnRwbWFuYWdlci5tazoKCSogYW5kcm9pZC9ydHNwLm1rOgoJKiBhbmRyb2lkL3NvdXAubWs6CgkqIGFuZHJvaWQvdWRwLm1rOgoJKiBhbmRyb2lkL3dhdmVuYy5tazoKCSogYW5kcm9pZC93YXZwYXJzZS5tazoKCSogZ3N0L2FscGhhL01ha2VmaWxlLmFtOgoJKiBnc3QvYXBldGFnL01ha2VmaWxlLmFtOgoJKiBnc3QvYXVkaW9meC9NYWtlZmlsZS5hbToKCSogZ3N0L2F1cGFyc2UvTWFrZWZpbGUuYW06CgkqIGdzdC9hdXRvZGV0ZWN0L01ha2VmaWxlLmFtOgoJKiBnc3QvYXZpL01ha2VmaWxlLmFtOgoJKiBnc3QvY3V0dGVyL01ha2VmaWxlLmFtOgoJKiBnc3QvZGVidWd1dGlscy9NYWtlZmlsZS5hbToKCSogZ3N0L2RlaW50ZXJsYWNlL01ha2VmaWxlLmFtOgoJKiBnc3QvZWZmZWN0di9NYWtlZmlsZS5hbToKCSogZ3N0L2VxdWFsaXplci9NYWtlZmlsZS5hbToKCSogZ3N0L2Zsdi9NYWtlZmlsZS5hbToKCSogZ3N0L2ZseC9NYWtlZmlsZS5hbToKCSogZ3N0L2dvb20vTWFrZWZpbGUuYW06CgkqIGdzdC9nb29tMmsxL01ha2VmaWxlLmFtOgoJKiBnc3QvaWN5ZGVtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9pZDNkZW11eC9NYWtlZmlsZS5hbToKCSogZ3N0L2ltYWdlZnJlZXplL01ha2VmaWxlLmFtOgoJKiBnc3QvaW50ZXJsZWF2ZS9NYWtlZmlsZS5hbToKCSogZ3N0L2xhdy9NYWtlZmlsZS5hbToKCSogZ3N0L2xldmVsL01ha2VmaWxlLmFtOgoJKiBnc3QvbWF0cm9za2EvTWFrZWZpbGUuYW06CgkqIGdzdC9tb25vc2NvcGUvTWFrZWZpbGUuYW06CgkqIGdzdC9tdWx0aWZpbGUvTWFrZWZpbGUuYW06CgkqIGdzdC9tdWx0aXBhcnQvTWFrZWZpbGUuYW06CgkqIGdzdC9xdGRlbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvcmVwbGF5Z2Fpbi9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cG1hbmFnZXIvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHNwL01ha2VmaWxlLmFtOgoJKiBnc3Qvc2hhcGV3aXBlL01ha2VmaWxlLmFtOgoJKiBnc3Qvc21wdGUvTWFrZWZpbGUuYW06CgkqIGdzdC9zcGVjdHJ1bS9NYWtlZmlsZS5hbToKCSogZ3N0L3VkcC9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvYm94L01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9jcm9wL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9maWx0ZXIvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb21peGVyL01ha2VmaWxlLmFtOgoJKiBnc3Qvd2F2ZW5jL01ha2VmaWxlLmFtOgoJKiBnc3Qvd2F2cGFyc2UvTWFrZWZpbGUuYW06CgkqIGdzdC95NG0vTWFrZWZpbGUuYW06CgkgIGFuZHJvaWQ6IE1ha2UgaXQgcmVhZHkgZm9yIGFuZHJvZ2VuaXplcgoJICBSZW1vdmUgdGhlIGFuZHJvaWQvIHRvcCBkaXIKCSAgRml4ZSB0aGUgTWFrZWZpbGUuYW0gdG8gYmUgYW5kcm9nZW5pemVkCgkgIFRvIGJ1aWxkIGdzdHJlYW1lciBmb3IgYW5kcm9pZCB3ZSBhcmUgbm93IHVzaW5nIGFuZHJvZ2VuaXplciB3aGljaCBnZW5lcmF0ZXMgdGhlIG5lZWRlZCBBbmRyb2lkLm1rIGZpbGVzLgoJICBBbmRyb2dlbml6ZXIgY2FuIGJlIGZvdW5kIGhlcmU6IGh0dHA6Ly9naXQuY29sbGFib3JhLmNvLnVrLz9wPXVzZXIvZGVyZWsvYW5kcm9nZW5pemVyLmdpdAoKMjAxMS0wNC0wNSAyMToxNDo0MyArMDIwMCAgSGFha29uIFNwb3JzaGVpbSA8aGFha29uLnNwb3JzaGVpbUBnbWFpbC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGdzdHBheS5jOgoJICBydHBnc3RwYXk6IGRlY2xhcmUgZnJhZ19vZmZzZXQgdG8gaG9sZCAzMmJpdHMuCgkgIEFzIHNwZWNpZmllZCBpbiBkb2N1bWVuYXRpb24gYWJvdmUgYW5kIGJlbG93LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQ2OTU0CgoyMDExLTA0LTA5IDEyOjQxOjQ4ICswMjAwICBIYXZhcmQgR3JhZmYgPGhhdmFyZC5ncmFmZkB0YW5kYmVyZy5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IGZpeCB3cm9uZ2x5IGFwcGxpZWQgcGF0Y2gKCSAgT2J2aW91c2x5IHJlY3ZfcnRwX3NpbmsgZG9lcyBub3QgaGF2ZSBtdWNoIHRvIGRvIHdpdGggc2VuZF9ydGNwX3NyYy4uLgoJICBTZWUgY29tbWl0IDA0NmZmMTcwLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQ3MjYzCgoyMDExLTA0LTA4IDE1OjU5OjU4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFtcnBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZGNhcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJICBhdWRpb3BhcnNlcnM6IHVwZGF0ZSBmb3Igc2V0X2ZyYW1lX3Byb3BzIC0+IHNldF9mcmFtZV9yYXRlIEFQSSBjaGFuZ2UKCjIwMTEtMDQtMDggMDA6MDM6MjEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkgIHRlc3RzOiBob29rIHVwIGF1ZGlvcGFyc2VyIHVuaXQgdGVzdHMKCjIwMTEtMDQtMDcgMTg6MzA6NDkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJICBtcGVnYXVkaW9wYXJzZTogcmVsYXggc3luYyBtYXRjaCBhIGJpdCB3aGVuIGRyYWluaW5nCgkgIC4uLiB0byBhdCBsZWFzdCBhbGxvdyBpbml0aWFsIGNhcHMgY2hhbmdlIChidXQgbm8gZnVydGhlciBjYXBzIGppdHRlcikuCgkgIEZpeGVzIHVuaXQgdGVzdCBhZ2FpbiBhZnRlciBwcmV2aW91cyBjaGFuZ2UuCgoyMDExLTA0LTA3IDE1OjIxOjEwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb25vc2NvcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkgIGRvY3M6IHVwZGF0ZSBmb3IgY2hhbmdlcyBpbiBnaXQKCjIwMTEtMDQtMDcgMTU6MjA6MTkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnMueG1sOgoJICBkb2NzOiBhZGQgYXVkaW9wYXJzZXJzIHRvIGRvY3MKCjIwMTEtMDQtMDcgMTU6MDc6MTUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmg6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YW1ycGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhbXJwYXJzZS5oOgoJKiBnc3QvYXVkaW9wYXJzZXJzL3BsdWdpbi5jOgoJICBhYWNwYXJzZSwgYW1ycGFyc2U6IGdzdF9mb29wYXJzZV94eXogLT4gZ3N0X2Zvb19wYXJzZV94eXogdG8gbWF0Y2ggR3N0Rm9vUGFyc2UKCSAgU2VlIG1vdmluZy1wbHVnaW5zIGNoZWNrbGlzdC4KCjIwMTEtMDQtMDcgMTQ6NDM6NDIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvYXVkaW9wYXJzZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QvYXVkaW9wYXJzZXJzL3BsdWdpbi5jOgoJICBhdWRpb3BhcnNlcnM6IGhvb2sgdXAgdG8gYnVpbGQKCjIwMTEtMDQtMDcgMTM6MjY6NDEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9NYWtlZmlsZS5hbToKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmg6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5oOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFtcnBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YW1ycGFyc2UuaDoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RkY2FwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmg6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmg6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5oOgoJICBhdWRpb3BhcnNlcnM6IHBvcnQgdG8gbmV3IEdzdEJhc2VQYXJzZSBpbiBjb3JlCgoyMDExLTA0LTA0IDIwOjU1OjM5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSAgbXBlZ2F1ZGlvcGFyc2U6IHJlcXVpcmUgdGlnaHRlciBzeW5jIG1hdGNoIHdoZW4gZHJhaW5pbmcKCjIwMTEtMDQtMDEgMTQ6NDc6NDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmg6CgkgIG1wZWdhdWRpb3BhcnNlOiBQYXJzZSBlbmNvZGVyIGRlbGF5IGFuZCBlbmNvZGVyIHBhZGRpbmcgZnJvbSB0aGUgTEFNRSBoZWFkZXIgaWYgcHJlc2VudAoKMjAxMS0wMy0wOSAyMzowNjoxNCArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL3BsdWdpbi5jOgoJICBkY2FwYXJzZTogQnVtcCByYW5rIHRvIHByaW1hcnkrMQoJICBTZWVtcyB0byB3b3JrIGZpbmUgd2l0aCBhIHJlYXNvbmFibHkgd2lkZSByYW5nZSBvZiBtZWRpYSwgc28gYnVtcGluZwoJICByYW5rLgoKMjAxMS0wMy0yMyAyMjowMjozNyArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZGNhcGFyc2UuaDoKCSAgZGNhcGFyc2U6IEV4cG9zZSBmcmFtZSBzaXplIGluIGNhcHMKCSAgVGhpcyBleHBvcnRzIHRoZSBzaXplIG9mIHRoZSBmcmFtZSAobnVtYmVyIG9mIGJ5dGVzIGZyb20gb25lIHN5bmMgcG9pbnQKCSAgdG8gdGhlIG5leHQpIGFzIHRoZSAiZnJhbWVfc2l6ZSIgZmllbGQgaW4gY2Fwcy4KCjIwMTEtMDMtMDkgMjM6MDM6MTAgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RkY2FwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmg6CgkgIGRjYXBhcnNlOiBFeHBvc2UgYmxvY2sgc2l6ZSBpbiBjYXBzCgkgIFRoaXMgc2V0cyB0aGUgImJsb2NrX3NpemUiIGZpZWxkIG9uIGNhcHMgYXMgdGhlIG51bWJlciBvZiBzYW1wbGVzCgkgIGVuY29kZWQgaW4gb25lIGZyYW1lLgoKMjAxMS0wMy0xNiAxNTo1MzoxMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkgIG1wZWdhdWRpb3BhcnNlOiBhZGQgRklYTUUgZm9yIG1ha2luZyB0aGUgYmFzZSBjbGFzcyB1c2UgeGluZyBzZWVrIHRhYmxlcyBiZXR0ZXIKCjIwMTEtMDMtMTQgMTg6MjU6MjUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RkY2FwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmg6CgkgIGRjYXBhcnNlOiBBZGQgZGVwdGggYW5kIGVuZGlhbm5lc3MgdG8gdGhlIGNhcHMKCSAgU29tZSBkZWNvZGVycyBjYW4gb25seSBoYW5kbGUgc3BlY2lmaWMgZW5kaWFubmVzcyBvciBhIGZpeGVkCgkgIGRlcHRoIGFuZCB0aGlzIGFsbG93cyBiZXR0ZXIgbmVnb3RpYXRpb24uCgkgIEZpeGVzIGJ1ZyAjNjQ0MjA4LgoKMjAxMS0wMi0yNiAxMzo1Mzo0NCAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkgIFJldmVydCAiYWFjcGFyc2U6IGFsbG93IHBhcnNlZCBmcmFtZXMgb24gc2luayBwYWQiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgZTQ5Yjg5ZDVjNWExMjQ0ZmEwZGNiOGJiNDk5NmUzOGZiOWJmZjllNS4KCjIwMTEtMDItMjMgMTc6MjU6MDMgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogYWxsb3cgcGFyc2VkIGZyYW1lcyBvbiBzaW5rIHBhZAoKMjAxMC0xMC0xMyAxNjoxMjowMiAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9wYXJzZXIuYzoKCSAgdGVzdHM6IGZpeCBiYXNlcGFyc2UgdGVzdAoKMjAxMC0xMC0xMyAxNTozOTo1NSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmg6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuaDoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhbXJwYXJzZS5oOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5oOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmg6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmg6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuaDoKCSAgYmFzZXBhcnNlOiBDcmVhdGUgYmFzZXBhcnNlIGxpYnJhcnkKCjIwMTEtMDItMDcgMTQ6NDY6NTcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiB0dW5lIFFVRVJZX1NFRUtJTkcgcmVzcG9uc2UKCSAgRXZlbiBpZiB3ZSBjdXJyZW50bHkgZG8gbm90IGhhdmUgYSBkdXJhdGlvbiB5ZXQsIGFzc3VtZSBzZWVrYWJsZSBpZgoJICBpdCBsb29rcyBsaWtlIHdlJ2xsIGxpa2VseSBiZSBhYmxlIHRvIGRldGVybWluZSBpdCBsYXRlciBvbgoJICAod2hpY2ggY29pbmNpZGVzIHdpdGggbmVlZGVkIGluZm9ybWF0aW9uIHRvIHBlcmZvcm0gc2Vla2luZykuCgkgIEZpeGVzICM2NDEwNDcuCgoyMDExLTAyLTA4IDIzOjM5OjI0ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogVXBkYXRlIG1pbi9tYXggYml0cmF0ZSBiZWZvcmUgZmlyc3QgcG9zdGluZyB0aGVtCgkgIFRoaXMgYXZvaWRzIHBvc3RpbmcgYW4gaW5pdGlhbCBtaW4tYml0cmF0ZSBvZiBHX1VJTlRNQVggYW5kIG1heC1iaXRyYXRlCgkgIG9mIDAuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDE4NTcKCjIwMTEtMDItMDggMjM6NTA6MTMgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmg6CgkgIG1wZWdhdWRpb3BhcnNlOiBQb3N0IENCUiBiaXRyYXRlIGFzIG5vbWluYWwgYml0cmF0ZQoJICBFdmVuIGlmIFZCUiBoZWFkZXJzIGFyZSBtaXNzaW5nLCB3ZSBjYW4ndCBndWFyYW50ZWUgdGhhdCBhIHN0cmVhbSBpcyBpbgoJICBmYWN0IGEgQ0JSIHN0cmVhbSwgc28gaXQncyBzYWZlciB0byBsZXQgYmFzZXBhcnNlIGNhbGN1bGF0ZSB0aGUgYXZlcmFnZQoJICBiaXRyYXRlIHJhdGhlciB0aGFuIGFzc3VtZSBhIENCUiBzdHJlYW0uIEhvd2V2ZXIsIGluIG9yZGVyIHRvIG1ha2UKCSAgL3NvbWUvIG1ldGFkYXRhIGF2YWlsYWJsZSBiZWZvcmUgdGhlIHJlcXVpc2l0ZSBudW1iZXIgb2YgZnJhbWVzIGhhdmUKCSAgYmVlbiBwYXJzZWQsIHRoaXMgcG9zdHMgdGhlIGJpdHJhdGUgZnJvbSB0aGUgbm9uLVZCUiBoZWFkZXJzIGFzIHRoZQoJICBub21pbmFsIGJpdHJhdGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDE4NTgKCjIwMTAtMDktMDYgMTQ6MTA6MTEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhbXJwYXJzZS5jOgoJICBhbXJwYXJzZTogYSB2YWxpZCBhbXItd2IgZnJhbWUgc2hvdWxkIG5vdCBoYXZlIHJlc2VydmVkIGZyYW1lIHR5cGUgaW5kZXgKCSAgU2VlICM2Mzk3MTUuCgoyMDExLTAxLTI3IDE2OjUyOjM0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSAgYWMzcGFyc2U6IGltcHJvdmUgaGFuZGxpbmcgb2YgZGVwZW5kZW50IHN1YnN0cmVhbSBmcmFtZXMKCSAgSW4gcGFydGljdWxhciwgdGltZXN0YW1wcyBvZiB0aGVzZSBzaG91bGQgdHJhY2sgbWFpbi1zdHJlYW0gdGltZXN0YW1wcy4KCjIwMTEtMDEtMjEgMTQ6NTM6MzkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiB0dW5lIGRlZmF1bHQgZHVyYXRpb24gZXN0aW1hdGUgdXBkYXRlIGludGVydmFsCgkgIFJhdGhlciB0aGFuIGEgZml4ZWQgZGVmYXVsdCBmcmFtZSBjb3VudCwgZXN0aW1hdGUgZnJhbWUgY291bnQgdG8gYWltIGZvcgoJICBhbiBpbnRlcnZhbCBkdXJhdGlvbiBkZXBlbmRpbmcgb24gZnBzIGlmIGF2YWlsYWJsZSwgb3RoZXJ3aXNlIHVzZSBvbGQKCSAgZml4ZWQgZGVmYXVsdC4KCjIwMTEtMDEtMTQgMTU6MTY6MDQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiByZXZlcnNlIHBsYXliYWNrOyBtaW5kIGtleWZyYW1lcyBmb3IgZnJhZ21lbnQgYm91bmRhcnkKCjIwMTEtMDEtMTMgMTU6MjY6MjEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhbXJwYXJzZS5jOgoJICBhbXJwYXJzZTogcHJvcGVybHkgY2hlY2sgZm9yIHN1ZmZpY2llbnQgYXZhaWxhYmxlIGRhdGEgcHJpb3IgdG8gYWNjZXNzCgoyMDExLTAxLTEyIDE0OjQwOjM3ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogZW5zdXJlIG5vbi1lbXB0eSBjYW5kaWRhdGUgZnJhbWVzCgoyMDExLTAxLTExIDE1OjI0OjIzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogY2xhcmlmeSBzb21lIGRlYnVnIHN0YXRlbWVudHMKCjIwMTEtMDEtMTEgMTU6MjQ6MDIgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBwcm9wZXJseSB0cmFjayB1cHN0cmVhbSB0aW1lc3RhbXBzCgkgIC4uLiByYXRoZXIgdGhhbiB3aXRoIGEgZGVsYXkuCgoyMDExLTAxLTExIDE1OjIzOjI5ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogbmVlZCBwcm9wZXIgZnJhbWUgZHVyYXRpb24gdG8gb2J0YWluIHNlbnNpYmxlIGZyYW1lIGJpdHJhdGUKCjIwMTEtMDEtMTEgMTU6MjI6NTEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBwcm9wZXIgaW5pdGlhbCB2YWx1ZXMgZm9yIGluZGV4IHRyYWNraW5nIHZhcmlhYmxlcwoKMjAxMS0wMS0xMSAxMjowNToxMyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IGFycmFuZ2UgZm9yIGNvbnNpc3RlbnQgZXZlbnQgaGFuZGxpbmcKCjIwMTEtMDEtMTAgMTY6NTk6NTkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuaDoKCSAgYmFzZXBhcnNlOiBoZWFkZXIgc3R5bGUgY2xlYW5pbmcKCjIwMTEtMDEtMTAgMTc6MDc6MzggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBwcm92aWRlIHNvbWUgbW9yZSBpbml0aWFsIGZyYW1lIG1ldGFkYXRhIGluIHBhcnNlX2ZyYW1lCgkgIC4uLiBhbmQgZG9jdW1lbnQgYWNjb3JkaW5nbHkuCgoyMDExLTAxLTEwIDE2OjU2OjM2ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuaDoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiByZWZhY3RvciBwYXNzdGhyb3VnaCBpbnRvIGZvcm1hdCBmbGFncwoJICBBbHNvIGFkZCBhIGZvcm1hdCBmbGFnIHRvIHNpZ25hbCBiYXNlcGFyc2UgdGhhdCBzdWJjbGFzcy9mb3JtYXQgY2FuIHByb3ZpZGUKCSAgKHBhcnNlZCkgdGltZXN0YW1wIHJhdGhlciB0aGFuIGFuIGVzdGltYXRlZCBvbmUuICBJbiBwYXJ0aWN1bGFyLCBzdWNoICJzdHJvbmciCgkgIHRpbWVzdGFtcCB0aGVuIGFsbG93cyB0byBlLmcuIGRldGVybWluZSBkdXJhdGlvbi4KCjIwMTEtMDEtMTAgMTU6MzQ6NDggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YW1ycGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuaDoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RkY2FwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkgIGJhc2VwYXJzZTogaW50cm9kdWNlIGEgYmFzZXBhcnNlIGZyYW1lIHRvIHNlcnZlIGFzIGNvbnRleHQKCSAgLi4uIGFuZCBhZGp1c3Qgc3ViY2xhc3MgcGFyc2VycyBhY2NvcmRpbmdseQoKMjAxMS0wMS0wNyAxNjozOTo1MSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5oOgoJICBiYXNlcGFyc2U6IHJlc3RyaWN0IGR1cmF0aW9uIHNjYW5uaW5nIHRvIHB1bGwgbW9kZSBhbmQgYXZvaWQgZXh0cmEgc2V0X2NhcHMgY2FsbAoKMjAxMS0wMS0wNyAxNTo1ODo0OSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5oOgoJICBiYXNlcGFyc2U6IHVwZGF0ZSBzb21lIGRvY3VtZW50YXRpb24KCSAgQWxzbyBhZGQgc29tZSBtb3JlIGRlYnVnLgoKMjAxMS0wMS0wNiAxMTo0MTo0NCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IGFsbG93IGluY3JlYXNpbmcgbWluX3NpemUgZm9yIGN1cnJlbnQgZnJhbWUgcGFyc2luZyBvbmx5CgkgIEFsc28gY2hlY2sgdGhhdCBzdWJjbGFzcyBhY3R1YWxseSBlaXRoZXIgZGlyZWN0cyB0byBza2lwIGJ5dGVzIG9yCgkgIGluY3JlYXNlcyBleHBlY3RlZCBmcmFtZSBzaXplIHRvIGF2b2lkIGdvaW5nIG5vd2hlcmUgaW4gYm9ndXMKCSAgaW5kZWZpbml0ZSBsb29waW5nLgoKMjAxMS0wMS0xNCAxNToyNjozNyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYWVzcGFyc2U6IGZpeCByZWZhY3RvciByZWdyZXNzaW9uIGluIGxvb3AgYmFzZWQgcGFyc2luZwoKMjAxMS0wMS0wNiAxMToxNjo1NiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHBhc3MgYWxsIGF2YWlsYWJsZSBkYXRhIHRvIHN1YmNsYXNzIHJhdGhlciB0aGFuIG1pbmltdW0KCSAgQWxzbyByZWR1Y2Ugc29tZSBhZGFwdGVyIGNhbGxzIGFuZCBhZGQgYSBmZXcgZGVidWcgc3RhdGVtZW50cy4KCjIwMTAtMTItMTAgMTU6NTk6NDkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBmaXggcmV2ZXJzZSBwbGF5YmFjayBoYW5kbGluZwoKMjAxMC0xMi0xMCAxNDo1NjoxMyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IG1pbm9yIHR5cG8gYW5kIGRlYnVnIHN0YXRlbWVudCBjbGVhbnVwCgoyMDEwLTEyLTEwIDE0OjQwOjA1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmg6CgkgIGJhc2VwYXJzZTogcmVkdWNlIGxvY2tpbmcKCSAgLi4uIHdoaWNoIGlzIGVpdGhlciBhbHJlYWR5IG11dGUgYW5kL29yIGltcGxpY2l0bHkgaGFuZGxlZCBieSBTVFJFQU1fTE9DSy4KCjIwMTEtMDEtMTQgMTQ6MDg6MzggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBhdm9pZCBsb29wIGluIGZyYW1lIGxvY2F0aW5nIGludGVycG9sYXRpb24KCjIwMTEtMDEtMTkgMTg6MjY6MzAgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBtaW5kIGdzdF9idWZmZXJfdW5yZWYgbm90IGxpa2luZyBOVUxMCgkgIEZpeGVzICM2Mzk5NTAuCgoyMDExLTAxLTE0IDE2OjMwOjExIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGF1ZGlvcGFyc2VyczogYmFzZXBhcnNlOiBCZSBjYXJlZnVsIHRvIG5vdCBsb3NlIHRoZSBldmVudCByZWYKCSAgRG9uJ3QgdW5yZWYgdGhlIGV2ZW50IGlmIGl0IGhhc24ndCBiZWVuIGhhbmRsZWQsIGJlY2F1c2UgdGhlIGNhbGxlcgoJICBhc3N1bWVzIGl0IGlzIHN0aWxsIHZhbGlkIGFuZCBtaWdodCByZXVzZSBpdC4KCSAgSSByYW4gaW50byB0aGlzIHByb2JsZW0gd2hlbiB0cmFuc2NvZGluZyBhbiBBVkkgKHdpdGggbXAzIGluc2lkZSkKCSAgdG8gZ3BwLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjM5NTU1CgoyMDExLTAxLTEzIDE3OjEwOjEzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZGNhcGFyc2UuYzoKCSAgZGNhcGFyc2U6IGZpeCBzeW5jIHdvcmQgZm9yIDE0LWJpdCBsaXR0bGUgZW5kaWFuIGNvZGluZwoJICBGaXggY29weSduJ3Bhc3RlIGJ1ZyB0aGF0IG1hZGUgdXMgbG9vayBmb3IgdGhlIHJhdyBsaXR0bGUgZW5kaWFuCgkgIHN5bmMgd29yZCB0d2ljZSBpbnN0ZWFkIG9mIGxvb2tpbmcgZm9yIHRoZSAxNC1iaXQgTEUgc3luYyB3b3JkCgkgIGFzIHdlbGwuIEZpeGVzIHBhcnNpbmcgb2Ygc3VjaCBzdHJlYW1zIChzZWUgIzYzNjIzNCBmb3Igc2FtcGxlIGZpbGUpLgoKMjAxMS0wMS0xMyAxNjoyNzowNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBkb2NzOiBtaW5vciBiYXNlcGFyc2UgZG9jcy9jb21tZW50IGZpeGVzCgkgIFJlbW92ZSBjb3B5J24ncGFzdGUgbGVmdG92ZXJzLgoKMjAxMS0wMS0wNiAxMjo0OTo0MyArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IEZpeCB1bml0aWFsaXplZCB2YXJpYWJsZSBvbiBtYWNvc3gKCjIwMTAtMTItMTMgMTU6MTc6MjkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJICBhYzNwYXJzZTogcmVsYXggYnNpZCBjaGVja2luZwoJICAuLi4gdG8gdGhlIHdpZGVzdCBwb3NzaWJsZSBzcGVjIGludGVycHJldGF0aW9uLgoJICBGaXhlcyAjNjM3MDYyLgoKMjAxMC0xMi0wMyAxODoxMTo1NiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhbXJwYXJzZS5jOgoJICBhdWRpb3BhcnNlcnM6IHVwZGF0ZSBzb21lIGRvY3VtZW50YXRpb24KCjIwMTAtMTItMDMgMTg6MTE6MzggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJICBtcGVnYXVkaW9wYXJzZTogYWRkIHRvIGRvY3VtZW50YXRpb24KCjIwMTAtMTItMDMgMTg6MTE6MDkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RkY2FwYXJzZS5jOgoJICBkY2FwYXJzZTogYWRkIHRvIGRvY3VtZW50YXRpb24KCjIwMTAtMTEtMDggMTk6NTg6MzEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBpbmNyZWFzZSBrZXlmcmFtZSBhd2FyZW5lc3MKCSAgLi4uIHdoaWNoIGlzIG5vdCBwYXJ0aWN1bGFyIHJlbGV2YW50IGZvciBhdWRpbyBwYXJzaW5nLCBidXQgbW9yZSBzbwoJICBpbiB2aWRlbyBjYXNlcy4gIEluIHBhcnRpY3VsYXIsIGF1dG8tZGV0ZXJtaW5lIGlmIGRlYWxpbmcgd2l0aCB2aWRlbyAoY2FwcykuCgoyMDEwLTEyLTAxIDE1OjI4OjUzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5oOgoJICBhYzNwYXJzZTogdXNlIHByb3BlciBFQUMtMyBjYXBzCgoyMDEwLTExLTMwIDE1OjQxOjAyICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogYXZvaWQgdW5leHBlY3RlZCBzdHJheSBtZXRhZGF0YQoKMjAxMC0xMS0zMCAxNTo0MDoyOCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHVzZSBwcm9wZXIgX05PTkUgb3V0cHV0IHZhbHVlIHdoZW4gYXBwbGljYWJsZQoKMjAxMC0xMS0yNSAxODo1Njo0MiArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhbXJwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBhdWRpb3BhcnNlcnM6IFJlbW92ZSBkZWFkIGFzc2lnbm1lbnRzCgoyMDEwLTExLTI1IDE3OjE0OjIzICswMTAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPGFtb3JhbGVzQGZsdW1vdGlvbi5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBhdWRpb3BhcnNlOiBmaXggcG9zc2libGUgZGl2aXNpb24tYnktemVybwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjM1Nzg2CgoyMDEwLTExLTE3IDE2OjIzOjQyICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogdXNlIGNvcnJlY3Qgb2Zmc2V0IHdoZW4gYWRkaW5nIGluZGV4IGVudHJ5CgkgIC4uLiBiZWFyaW5nIGluIG1pbmQgdGhhdCBCVUZGRVJfT0ZGU0VUIGlzIG1lZGlhIHNwZWNpZmljIGFuZCBtYXkgbm90CgkgIHJlZmxlY3QgdGhlIGJhc2ljIG9mZnNldCBhZnRlciBoYXZpbmcgYmVlbiBwYXJzZWQuCgoyMDEwLTExLTE3IDE0OjMwOjA5ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogZW5oYW5jZW1lbnRzIGZvciB0aW1lc3RhbXAgbWFya2VkIGZyYW1lZCBmb3JtYXRzCgkgIFRoYXQgaXMsIGFzIHN1Y2ggZm9ybWF0cyBhbGxvdyBzdWJjbGFzcyB0byBleHRyYWN0IHBvc2l0aW9uIGZyb20gZnJhbWUsCgkgIGl0IGlzIHBvc3NpYmxlIHRvIGV4dHJhY3QgZHVyYXRpb24gKGlmIG5vdCBvdGhlcndpc2UgcHJvdmlkZWQpCgkgIGZyb20gKG5lYXIpIGxhc3QgZnJhbWUsIGFuZCBhIHNlZWsgY2FuIGZhaXJseSBhY2N1cmF0ZWx5IHRhcmdldCB0aGUgcmVxdWlyZWQKCSAgcG9zaXRpb24uCgkgIEZpeGVzICM2MzEzODkuCgoyMDEwLTExLTE2IDE3OjA2OjE0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogcmVmYWN0b3IgZnJhbWUgc2Nhbm5pbmcgcGVmb3JtZWQgYnkgX2xvb3AKCjIwMTAtMTEtMTYgMTg6MDQ6MDAgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBzbGlnaHRseSBvcHRpbWl6ZSBzZW5kaW5nIG9mIHBlbmRpbmcgbmV3c2VnbWVudCBldmVudHMKCjIwMTAtMTEtMTYgMTc6MDQ6MzUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBtaW5vciBmaXhlcyBhbmQgZW5oYW5jZW1lbnRzCgkgIEFycmFuZ2UgZm9yIHVwc3RyZWFtIGFzIHdlbGwgYXMgZG93bnN0cmVhbSBmbHVzaGluZyB3aGVuIHNlZWtpbmcuCgkgIEFsc28gZGV0ZXJtaW5lIHVwc3RyZWFtIHNpemUgYXMgd2VsbCBhcyBzZWVrYWJpbGl0eS4gIEFkanVzdCBzb21lIGNvbW1lbnRzCgkgIHRvIHJlYWxpdHkgYW5kIGVtcGxveSBkZWJ1ZyBzdGF0ZW1lbnQgaW4gcHJvcGVyIG9yZGVyLgoKMjAxMC0xMS0xNyAxNTozMzozNiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiBtaW5vciBjbGVhbnVwcwoKMjAxMC0xMS0xNyAxNToyNDozNyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiBmaXggcmVncmVzc2lvbiBpbiBBRElGIHNyYyBjYXBzIHNldHRpbmcKCjIwMTAtMTEtMTYgMTI6MTE6NTMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuaDoKCSAgZmxhY3BhcnNlOiBwYXJzZSBzZWVrdGFibGUKCSAgRml4ZXMgIzYzMTM4OSAocGFydGlhbGx5KS4KCjIwMTAtMTEtMTYgMTI6MDg6NTQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBtaW5vciByZWZhY3RvciBhbmQgZW5hYmxlIGRlZmF1bHQgYmFzZXBhcnNlIHNlZ21lbnQgY2xpcHBpbmcKCjIwMTAtMTEtMDkgMTk6Mzg6MjUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJICBtcGVnYXVkaW9wYXJzZTogZml4IHNpbGx5IGxlYWsgaW4gX3Jlc2V0CgoyMDEwLTEwLTI5IDE0OjA4OjU4ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogdXNlIG9ubHkgdXBzdHJlYW0gZHVyYXRpb24gaWYgaXQgcHJvdmlkZXMgb25lCgoyMDEwLTEwLTI1IDE0OjE1OjUwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogcmVmbG93IHVwZGF0ZV9iaXRyYXRlIGNvZGUKCSAgLi4uIHdoaWNoIG1ha2VzIGxvY2FsIHZhcmlhYmxlcyByZXByZXNlbnQgcmVhbCBzdGF0ZSBiZXR0ZXIsIGFuZCBhdm9pZHMKCSAgdHJpZ2dlcmluZyB1bm5lZWRlZCB1cGRhdGVzL2FjdGlvbnMuCgoyMDEwLTEwLTI1IDE0OjEzOjUxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogYWRkIHNvbWUgZGVidWcgc3RhdGVtZW50cwoKMjAxMC0xMC0xOSAyMzoyNTo1NCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmM6CgkgIGRjYXBhcnNlOiBpbml0IHZhcmlhYmxlIHRvIG1ha2Ugb3N4IGJ1aWxkIGJvdCBoYXBweQoJICBnc3RkY2FwYXJzZS5jOiBJbiBmdW5jdGlvbiAnZ3N0X2RjYV9wYXJzZV9jaGVja192YWxpZF9mcmFtZSc6CgkgIGdzdGRjYXBhcnNlLmM6MjQ2OiB3YXJuaW5nOiAnYmVzdF9zeW5jJyBtYXkgYmUgdXNlZCB1bmluaXRpYWxpemVkIGluIHRoaXMgZnVuY3Rpb24KCjIwMTAtMTAtMTkgMDA6MTU6MjAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9NYWtlZmlsZS5hbToKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RkY2FwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmg6CgkqIGdzdC9hdWRpb3BhcnNlcnMvcGx1Z2luLmM6CgkgIGF1ZGlvcGFyc2VyczogYWRkIHZlcnkgYmFzaWMgZHRzL2RjYSBwYXJzZXIKCSAgU3RpbGwgc29tZSBpc3N1ZXMsIGUuZy4gd2l0aCBzZWVrYWJsZSBxdWVyaWVzIGluIHRvdGVtLCBidXQgYWxzbwoJICBwcm9jZXNzaW5nIGFscmVhZHktY2h1bmtlZCBpbnB1dCAoY3JlYXRlZCB3aXRoIG1hdHJvc2thZGVtdXggISBnZHBwYXkpLgoKMjAxMC0xMC0xNCAxNjo0ODoyMSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkgIGFjM3BhcnNlOiBwcm9wZXJseSBwYXJzZSBlLWFjMyBmcmFtZSBoZWFkZXIKCSAgQWxzbyBhZGQgYSBmZXcgZGVidWcgc3RhdGVtZW50cy4KCjIwMTAtMTAtMTMgMTE6MDA6MDEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiB0d2VhayBzZXR0aW5nIGJ1ZmZlciBtZXRhZGF0YTsgYXZvaWQgdGltZXN0YW1wIGppdHRlcgoJICBGaXhlcyAjNjMxOTkzLgoKMjAxMC0xMC0xMiAxODowNzo0OSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuaDoKCSAgYWFjcGFyc2U6IHN0cmVhbWxpbmUgc3JjIGNhcHMgc2V0dGluZwoJICBJbiBwYXJ0aWN1bGFyLCBhbHNvIHNldCBzcmMgY2FwcyB3aGVuZXZlciBjaGFuZ2VzIGluIHN0cmVhbSB3YXJyYW50IGRvaW5nIHNvLgoKMjAxMC0xMC0xMiAxMDoyODozMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9mbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBBZGp1c3QgdW5pdCB0ZXN0cyB0byBuZXcgZmxhY3BhcnNlIGJlaGF2aW91cgoJICBHYXJiYWdlIGFmdGVyIGZyYW1lcyBpcyBub3cgaW5jbHVkZWQgaW4gdGhlIGZyYW1lcyBiZWNhdXNlIGZsYWNwYXJzZQoJICBoYXMgbm8gZWFzeSB3YXkgdG8gZGV0ZWN0IHRoZSByZWFsIGVuZCBvZiBhIGZyYW1lLiBEZWNvZGVycyBhcmUKCSAgZXhwZWN0ZWQgdG8gZXZlcnl0aGluZyBhZnRlciB0aGUgZnJhbWUgYmVjYXVzZSBvbmx5IGRlY29kaW5nIHRoZQoJICBiaXRzdHJlYW0gd2lsbCByZXZlYWwgdGhlIHJlYWwgZW5kIG9mIHRoZSBmcmFtZS4KCSAgRml4ZXMgYnVnICM2MzE4MTQuCgoyMDEwLTEwLTEyIDEwOjI3OjUzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogRG9uJ3QgZHJvcCB0aGUgbGFzdCBmcmFtZSBpZiBpdCBpcyBmb2xsb3dlZCBieSBnYXJiYWdlCgkgIFNlZSBidWcgIzYzMTgxNC4KCjIwMTAtMTAtMTEgMTc6NDk6NDYgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBwZXJmb3JtIGJpdHJhdGUgaGFuZGxpbmcgYW5kIHBvc3RpbmcgYWZ0ZXIgbmV3c2VnbWVudCBzZW5kaW5nCgoyMDEwLTEwLTExIDE3OjM2OjE5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogaW1tZWRpYXRlbHkgcG9zdCBzdWJjbGFzcyBwcm92aWRlZCBiaXRyYXRlCgoyMDEwLTEwLTExIDE3OjA2OjQ4ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogZml4IHBhcnNpbmcgd2l0aCB1bmtub3duIGZyYW1lc2l6ZXMKCSAgRml4ZXMgIzYzMTgxNCAobW9zdGx5KS4KCjIwMTAtMTAtMDcgMjM6Mzc6MzYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBTaW1wbGlmeSBmcmFtZSBoZWFkZXIgcGFyc2luZyBieSB1c2luZyBsb29rdXAgdGFibGVzCgkgIEJhc2VkIG9uIGEgcGF0Y2ggYnkgRmVsaXBlIENvbnRyZXJhcy4KCSAgU2VlIGJ1ZyAjNjMxMjAwLgoKMjAxMC0xMC0wNyAyMzoyODowOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5oOgoJICBmbGFjcGFyc2U6IERvbid0IHBhcnNlIHRoZSBjb21wbGV0ZSBGTEFDIGZyYW1lcyBidXQgb25seSBsb29rIGZvciB2YWxpZCBmcmFtZSBoZWFkZXJzCgkgIFRoYW5rcyB0byBGZWxpcGUgQ29udHJlcmFzIGZvciB0aGUgc3VnZ2VzdGlvbi4gVGhpcyBpcyBwYXJ0aWFsbHkKCSAgYmFzZWQgb24gaGlzIHBhdGNoZXMgYW5kIG1ha2VzIGZsYWNwYXJzZSBtb3JlIHRoYW4gMy41IHRpbWVzIGZhc3Rlci4KCSAgTG9va2luZyBmb3IgdmFsaWQgZnJhbWUgaGVhZGVycyBpcyB1bmxpa2VseSB0byBnaXZlIGZhbHNlIHBvc2l0aXZlcwoJICBiZWNhdXNlIGV2ZXJ5IGZyYW1lIGhlYWRlciBpcyBhdCBsZWFzdCA5IGJ5dGVzIGxvbmcsIGNvbnRhaW5zIGEKCSAgMTQgYml0IHN5bmMgY29kZSBhbmQgYSA4IGJpdCBjaGVja3N1bSBvdmVyIHRoZSBmaXJzdCA4IGJ5dGVzLgoJICBGaXhlcyBidWcgIzYzMTIwMC4KCjIwMTAtMTAtMDYgMTg6MzI6NTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBSZWFsbHkgcG9zdCB0YWdzIG9ubHkgYWZ0ZXIgdGhlIGluaXRpYWwgbmV3c2VnbWVudCBldmVudAoJICBUaGUgZmlyc3QgbmV3c2VnbWVudCBldmVudCB3aWxsIGJlIHNlbmQgYnkgdGhlIGZpcnN0IGNhbGwgdG8KCSAgZ3N0X2Jhc2VfcGFyc2VfcHVzaF9idWZmZXIoKSBpZiBuZWNlc3NhcnksIHBvc3RpbmcgdGhlIHRhZ3MKCSAgYmVmb3JlIHRoYXQgaXMgbm90IGEgZ29vZCBpZGVhLiBJbnN0ZWFkIGRvIGl0IGZyb20gdGhlCgkgIEdzdEJhc2VQYXJzZTo6cHJlX3B1c2hfYnVmZmVyIHZmdW5jLgoKMjAxMC0xMC0wNSAxMToxNzo1MiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBSZXZlcnQgImJhc2VwYXJzZTogYWRkIHNraXAgcHJvcGVydHkiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgYjVhM2Q2MDM2M2Q4MzdhMTBmMDUzM2MxNDFlYzkzZDEwYjc0MjMxMi4KCSAgUmV2ZXJ0aW5nIHRoaXMgZm9yIG5vdywgc2luY2Ugbm8gb25lIHJlYWxseSBzZWVtcyB0byByZW1lbWJlciB3aHkgdGhpcwoJICBwcm9wZXJ0eSBleGlzdHMgb3Igd2hhdCBpdCBjb3VsZCBwb3NzaWJseSBiZSBnb29kIGZvci4gSXQgc2VlbXMgdG8gaGF2ZQoJICBiZWVuIGluIHRoZSBvcmlnaW5hbCBtcDNwYXJzZSBzaW5jZSB0aGUgYmVnaW5uaW5nIG9mIHRpbWUgYW5kIHdhcyBiYWNrLQoJICBwb3J0ZWQgZnJvbSB0aGVyZS4KCjIwMTAtMTAtMDQgMTA6NDE6NTIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBGaXggdW5pbml0aWFsaXplZCB2YXJpYWJsZSBjb21waWxlciB3YXJuaW5ncwoJICBUaGVzZSB3YXJuaW5ncyBhcmUgd3JvbmcsIHRoZSB2YXJpYWJsZXMgYXJlIG9ubHkgdXNlZCBpZiB0aGV5IHdlcmUKCSAgaW5pdGlhbGl6ZWQgYnkgdGhlIGJpdCByZWFkZXIuCgoyMDEwLTA5LTE0IDAyOjQ4OjU4ICswMzAwICBGZWxpcGUgQ29udHJlcmFzIDxmZWxpcGUuY29udHJlcmFzQGdtYWlsLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogZml4IHBpY3R1cmUgcGFyc2luZwoJICBTaWduZWQtb2ZmLWJ5OiBGZWxpcGUgQ29udHJlcmFzIDxmZWxpcGUuY29udHJlcmFzQGdtYWlsLmNvbT4KCjIwMTAtMTAtMDMgMjM6NTQ6NDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBQdXNoIHRhZ3MgYmVmb3JlIHRoZSBoZWFkZXIgYnVmZmVycyBhcmUgcHVzaGVkCgoyMDEwLTA4LTAyIDIwOjUwOjIxICswMzAwICBGZWxpcGUgQ29udHJlcmFzIDxmZWxpcGUuY29udHJlcmFzQGdtYWlsLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogdHJpdmlhbCBjYXBzIGZpeAoJICBTaWduZWQtb2ZmLWJ5OiBGZWxpcGUgQ29udHJlcmFzIDxmZWxpcGUuY29udHJlcmFzQGdtYWlsLmNvbT4KCjIwMTAtMTAtMDMgMjM6NTA6MjkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYXVkaW9wYXJzZXI6IExldCB0aGUgZm9ybWF0IHN0cmluZyBhZ3JlZSB3aXRoIHRoZSBwYXJhbWV0ZXJzIHRvIGZpeCBjb21waWxlciB3YXJuaW5nCgoyMDEwLTEwLTAzIDE1OjQxOjIwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSAgYWMzcGFyc2U6IFVzZSB1bmNoZWNrZWQgdmVyc2lvbnMgb2YgdGhlIGJpdHJlYWRlciBnZXQgZnVuY3Rpb25zCgkgIFdlIGRpZG4ndCBjaGVjayB0aGUgcmV0dXJuIHZhbHVlcyBhbnl3YXkuLi4KCjIwMTAtMDktMjIgMTU6NDQ6NDMgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBGaXggZGVidWcgb3V0cHV0CgkgIFdlIGxvc2UgdGhlIHJlZmVyZW5jZSB0byB0aGUgYnVmZmVyIGFmdGVyIGdzdF9wYWRfcHVzaCgpLCBzbyB0aGUgZGVidWcKCSAgcHJpbnQgc2hvdWxkIGhhcHBlbiBiZWZvcmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjIyNzYKCjIwMTAtMTAtMDEgMTI6MzQ6NTUgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZmxhY3BhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3BhcnNlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9wYXJzZXIuaDoKCSAgYXVkaW9wYXJzZXJzOiBhZGQgZmxhY3BhcnNlIHVuaXQgdGVzdAoJICAuLi4gYW5kIHR3ZWFrIHBhcnNlciB0ZXN0IGhlbHBlciBpbiB0aGUgcHJvY2Vzcy4KCjIwMTAtMDktMjkgMTY6MTI6NDIgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBzdXBwb3J0IHJldmVyc2UgcGxheWJhY2sKCSAgLi4uIGluIHB1bGwgbW9kZSBvciB1cHN0cmVhbSBkcml2ZW4uCgoyMDEwLTA5LTI3IDEyOjE2OjQzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogcmVtb3ZlIGRvbmUgVE9ET3MgYW5kIHVwZGF0ZSBkb2N1bWVudGF0aW9uCgoyMDEwLTA5LTI1IDE0OjQwOjU0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogdXNlIGRldGVybWluZWQgc2Vla2FiaWxpdHkgaW4gYW5zd2VyaW5nIFNFRUtJTkcgcXVlcnkKCjIwMTAtMDktMjUgMTQ6MzI6MDYgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBhZGQgc2tpcCBwcm9wZXJ0eQoKMjAxMC0wOS0yNSAxMzo1OTozOSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hYzNwYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGVnYXVkaW9wYXJzZS5jOgoJICBhdWRpb3BhcnNlcnM6IGFkZCBhYzNwYXJzZSBhbmQgbXBlZ2F1ZGlvcGFyc2UgdW5pdCB0ZXN0CgoyMDEwLTA5LTI1IDEzOjU5OjE4ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5oOgoJKiBnc3QvYXVkaW9wYXJzZXJzL3BsdWdpbi5jOgoJICBtcGVnYXVkaW9wYXJzZTogaW5pdGlhbCB2ZXJzaW9uCgkgIC4uLiBhZGVxdWF0ZWx5IGVxdWl2YWxlbnQgdG8gbXAzcGFyc2UsIHNvIGxldHMgYm9sZGx5IHNldCBpdAoJICB0byBoaWdoZXIgcmFuay4KCjIwMTAtMDktMjUgMTQ6MDE6MDcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogc2V0IG1pbmltdW0gZnJhbWUgc2l6ZSBhdCBfc3RhcnQKCSAgLi4uIHJhdGhlciB0aGFuIG9uZSB0aW1lIGF0IF9pbml0LgoKMjAxMC0wOS0yNSAxMzo1MDo1MSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hYWNwYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hbXJwYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9wYXJzZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcGFyc2VyLmg6CgkgIGF1ZGlvcGFyc2VyczogcmVmYWN0b3IgZXhpc3RpbmcgdW5pdCB0ZXN0cyB1c2luZyBjb21tb24gaGVscGVyCgoyMDEwLTA5LTIyIDE1OjA3OjA5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFtcnBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmg6CgkgIGJhc2VwYXJzZTogdXNlIF9zZXRfZnJhbWVfcHJvcHMgdG8gY29uZmlndXJlIGZyYW1lIGxlYWRfaW4gYW5kIGxlYWRfb3V0CgkgIC4uLiBwcm92aWRlZCBhIGNvcnJlc3BvbmRpbmcgZGVjb2RlciB3aXRoIHN1ZmZpY2llbnQgbGVhZGluZyBhbmQgZm9sbG93aW5nCgkgIGZyYW1lcyB0byBjYXJyeSBvdXQgZnVsbCBkZWNvZGluZyBmb3IgYSBwYXJ0aWN1bGFyIHNlZ21lbnQuCgoyMDEwLTA5LTIyIDE0OjEzOjE3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFtcnBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmg6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGJhc2VwYXJzZTogdXNlIF9zZXRfZHVyYXRpb24gdG8gY29uZmlndXJlIGR1cmF0aW9uIHVwZGF0ZSBpbnRlcnZhbAoJICAuLi4gYXMgaXQgbG9naWNhbGx5IGJlbG9uZ3MgdGhlcmUgYXMgb25lIG9yIHRoZSBvdGhlcjsgZWl0aGVyIHN1YmNsYXNzCgkgIGNhbiBwcm92aWRlIGEgZHVyYXRpb24sIG9yIGFuIGVzdGltYXRlIG11c3QgYmUgbWFkZSAocmVndWFybHkgdXBkYXRlZCkuCgoyMDEwLTA5LTIyIDEzOjU1OjIwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogbG9jYWxpemUgdXNlIG9mIHByb3ZpZGVkIGZwcyBpbmZvcm1hdGlvbgoKMjAxMC0wOS0yMiAxMjoxMzoxMiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHNlZWsgdGFibGUgYW5kIGFjY3VyYXRlIHNlZWsgc3VwcG9ydAoKMjAxMC0wOS0yMSAxMzo1NzoxMCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHByb3BlciBhbmQgbW9yZSBleHRlbmRlZCBzZWdtZW50IGFuZCBzZWVrIGhhbmRsaW5nCgkgIFRoYXQgaXMsIGxvb3AgcGF1c2UgaGFuZGxpbmcsIHNlZ21lbnQgc2VlayBzdXBwb3J0LCBuZXdzZWdtZW50IGZvciBnYXBzLCBldGMKCjIwMTAtMDktMjEgMTA6NTc6MDQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuaDoKCSAgYmFzZXBhcnNlOiBhZGQgaW5kZXggc3VwcG9ydAoKMjAxMC0wOS0yMSAwOTo1OTo1NiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHJlZmFjdG9yIHN0YXRlIHJlc2V0CgoyMDEwLTA5LTIwIDE2OjM5OjM3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogcHJldmVudCBpbmRlZmluaXRlIHJlc3luY2luZwoKMjAxMC0wOS0yMCAxMzo1Nzo1NSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHNwZWNpZmljIEVPUyBoYW5kbGluZyBpZiBubyBvdXRwdXQgc28gZmFyCgoyMDEwLTA5LTIwIDEzOjMxOjU3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogYWRqdXN0IF9zZXRfZnJhbWVfcHJvcCBkb2N1bWVudGF0aW9uIGFuZCBzZXQgZGVmYXVsdCBhcyBjbGFpbWVkCgoyMDEwLTA5LTIwIDEzOjMwOjU0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogZml4IGJpdHJhdGUgY29weS1hbmQtcGFzdGUgYW5kIHVwZGF0ZSBoZXVyaXN0aWMKCjIwMTAtMDktMTcgMTg6MzM6MjkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBwb3N0IGR1cmF0aW9uIG1lc3NhZ2UgaWYgYXZlcmFnZSBiaXRyYXRlcyBpcyB1cGRhdGVkCgoyMDEwLTA5LTE3IDE4OjI0OjIyICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuaDoKCSAgYmFzZXBhcnNlOiByZW1vdmUgaXNfc2Vla2FibGUgdm1ldGhvZCBhbmQgdXNlIGEgc2V0X3NlZWsgaW5zdGVhZAoJICBTZWVrYWJpbGl0eSwgbGlrZSBkdXJhdGlvbiwgZXRjIGlzIHVubGlrZWx5IHRvIGNoYW5nZSAoZnJlcXVlbnRseSksIGFuZAoJICB0aGUgZGVmYXVsdCBhc3N1bXB0aW9uIGNvdmVycyBtb3N0IGNhc2VzLCBzbyBsZXQgc3ViY2xhc3Mgc2V0IHdoZW4gbmVlZGVkLgoJICBBdCB0aGUgc2FtZSB0aW1lLCBhbGxvdyBzdWJjbGFzcyB0byBpbmRpY2F0ZSBpZiBpdCBoYXMgc2Vlay1tZXRhZGF0YSAodGFibGUpCgkgIGF2YWlsYWJsZSwgYW5kIHBvc3NpYmx5IGhhdmUgaXQgcHJvdmlkZSBhbiBhdmVyYWdlIGJpdHJhdGUuCgoyMDEwLTA5LTE3IDE3OjM1OjQwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSAgYWMzcGFyc2U6IHJlbW92ZSByZWR1bmRhbnQgZGVmYXVsdCBpc19zZWVrYWJsZQoKMjAxMC0wOS0xNyAxNzoyMTo0NiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5oOgoJICBiYXNlcGFyc2U6IGFkZCBhbm90aGVyIGhvb2sgZm9yIHN1YmNsYXNzIHByaW9yIHRvIHB1c2hpbmcgYnVmZmVyCgkgIC4uLiBhbmQgYWxsb3cgc3ViY2xhc3MgdG8gcGVyZm9ybSBjdXN0b20gc2VnbWVudCBjbGlwcGluZywgb3IgdG8KCSAgZW1pdCB0YWdzIG9yIG1lc3NhZ2VzIGF0IHRoaXMgdGltZS4KCjIwMTAtMDktMTcgMTc6MTk6MzcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiAwIGNvbnZlcnRzIHRvIDAgYnkgZGVmYXVsdAoKMjAxMC0wOS0xNiAxODo1Njo0NiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5oOgoJICBiYXNlcGFzZTogcmVmYWN0b3IgY29udmVyc2lvbiB1c2luZyBoZWxwZXIgZnVuY3Rpb24gYW5kIGV4cG9ydCBkZWZhdWx0IGNvbnZlcnQKCjIwMTAtMDktMTYgMTg6MzU6NDcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBzdHJlYW1saW5lIHF1ZXJ5IGhhbmRsaW5nCgoyMDEwLTA5LTE2IDExOjUxOjIwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmg6CgkgIGJhc2VwYXJzZTogY2xlYW51cCBzdHJ1Y3QgYW5kIHJlbW92ZSB1bnVzZWQgbWVtYmVyCgoyMDEwLTA4LTE2IDExOjA0OjM3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvcGx1Z2luLmM6CgkgIGF1ZGlvcGFyc2VyczogaW5jcmVhc2UgcmFua3MgdG8gZW5hYmxlIGF1dG8tcGx1Z2dpbmcKCSAgQmVjYXVzZSB3ZSBjYW4sIGFuZCBzaG91bGQsIGhhdmUgc29tZSBzaGFrZWRvd24gdGVzdGluZyBiZWZvcmUgaGF2aW5nCgkgIHRoZXNlIG1ha2UgaXQgaW50byAtZ29vZCBsYXRlciBvbiAuLi4KCjIwMTAtMDktMjIgMTY6MDc6MjQgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBBbGxvdyBjaGFpbmluZyBvZiBzdWJjbGFzcyBldmVudCBoYW5kbGVycwoJICBUaGlzIGFsbG93cyB0aGUgY2hpbGQgY2xhc3MgdG8gY2hhaW4gaXRzIGV2ZW50IGhhbmRsZXIgd2l0aAoJICBHc3RCYXNlUGFyc2UsIHNvIHRoYXQgc3ViY2xhc3NlcyBkb24ndCBoYXZlIHRvIGR1cGxpY2F0ZSBhbGwgdGhlIGRlZmF1bHQKCSAgZXZlbnQgaGFuZGxpbmcgbG9naWMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjIyNzYKCjIwMTAtMDgtMjcgMTg6MzU6MTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBEb24ndCB1c2UgR1NUX0ZMT1dfSVNfRkFUQUwoKQoJICBBbHNvIGRvbid0IHBvc3QgYW4gZXJyb3IgbWVzc2FnZSBmb3IgVU5FWFBFQ1RFRCBhbmQgZG8gaXQKCSAgZm9yIE5PVF9MSU5LRUQuCgoyMDEwLTA5LTA2IDE0OjEyOjAwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogbm9uLVRJTUUgc2VlayBldmVudCBpcyBzaW1wbHkgbm90IGhhbmRsZWQKCjIwMTAtMDYtMTUgMTU6MzQ6MDUgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBmaXggc2VlayBldmVudCByZWYgaGFuZGxpbmcKCjIwMTAtMDYtMTUgMTU6MzM6MzcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBwcmV2ZW50IGFyaXRobWV0aWMgb3ZlcmZsb3dzIGluIHB1bGwgbW9kZSBidWZmZXIgY2FjaGUgaGFuZGxpbmcKCjIwMTAtMDYtMTUgMTU6MzI6MzQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBmaXggc2VlayBoYW5kbGluZwoJICBBbGxvdyBhIGZldyBtb3JlIHNlZWsgZXZlbnQgdHlwZSBjb21iaW5hdGlvbnMsIGFuZCByZWFsbHkgdXNlIHRoZSByZXN1bHQKCSAgb2YgZ3N0X3NlZ21lbnRfc2V0X3NlZWsgdG8gcGVyZm9ybSB0aGUgc2Vlay4gIEFsc28gYWRkIHNvbWUgZGVidWcuCgoyMDEwLTA0LTEyIDE4OjA3OjI5ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYWFjcGFyc2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYW1ycGFyc2UuYzoKCSAgY2hlY2s6IERvbid0IHJlLWRlY2xhcmUgJ0dMaXN0ICpidWZmZXJzJyBpbiB0aGUgdGVzdHMKCSAgSXQncyBhbiBleHRlcm5hbCB3aGljaCBsaXZlcyBpbiBnc3RjaGVjay5jLiBSZWRlY2xhcmluZyBpdCBtYWtlcyBzb21lCgkgIGNvbXBpbGVycy9hcmNoaXRlY3R1cmVzIHRoaW5rIHRoZSAnYnVmZmVycycgaW4gdGhlIGluZGl2aWR1YWwgdGVzdHMgYXJlCgkgIGEgZGlmZmVyZW50IHN5bWJvbC4uLiBhbmQgdGhlcmVmb3JlIHdlIGVuZCB1cCBjb21wYXJpbmcgaG9sb2RlY2tzIHdpdGgKCSAgb3Jhbmdlcy4KCjIwMTAtMDMtMjYgMTg6NTY6NDkgKzAwMDAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBEb24ndCBlbWl0IGJpdHJhdGUgdGFncyB0b28gZWFybHkKCSAgV2Ugd2FpdCB0byBwYXJzZSBhIG1pbmltdW0gbnVtYmVyIG9mIGZyYW1lcyAoMTAsIGFyYml0cmFyaWx5KSBiZWZvcmUKCSAgZW1pdGluZyBiaXRyYXRlIHRhZ3Mgc28gdGhhdCBvdXIgZWFybHkgZXN0aW1hdGVzIGFyZSBub3Qgd2lsZGx5CgkgIGluYWNjdXJhdGUgZm9yIHN0cmVhbXMgdGhhdCBzdGFydCB3aXRoIGEgc2lsZW5jZS4gSWYgdGhlIHN0cmVhbSBlbmRzCgkgIGJlZm9yZSB0aGF0LCB3ZSBqdXN0IGVtaXQgdGhlIHRhZ3MgYW55d2F5LgoJICBXaGlsZSBpdCBfd291bGRfIGJlIG5pY2VyIHRvIGJlIHNwZWNpZnkgdGhlIHRocmVzaG9sZCB0byBzdGFydCBwdXNoaW5nCgkgIHRoZSB0YWdzIGluIHRlcm1zIG9mIGR1cmF0aW9uLCB0aGlzIHdvdWxkIGludHJvZHVjZSBtb3JlIGNvbXBsZXhpdHkgdGhhbgoJICB0aGlzIG1lcml0cy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYxNDk5MQoKMjAxMC0wMy0yNiAxODo1ODozNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5oOgoJICBmbGFjcGFyc2U6IE9wdGlvbmFsbHkgY2hlY2sgdGhlIG92ZXJhbGwgZnJhbWUgY2hlY2tzdW1zIHRvbyBiZWZvcmUgYWNjZXB0aW5nIGEgZnJhbWUgYXMgdmFsaWQKCSAgVGhpcyBpcyBvcHRpb25hbCBiZWNhdXNlIGl0J3MgYSBxdWl0ZSBleHBlbnNpdmUgb3BlcmF0aW9uIGFuZCBpdCdzIHZlcnkKCSAgdW5saWtlbHkgdGhhdCBhIG5vbi1mcmFtZSBpcyBkZXRlY3RlZCBhcyBmcmFtZSBhZnRlciB0aGUgaGVhZGVyIENSQyBjaGVjawoJICBhbmQgY2hlY2tpbmcgYWxsIGJpdHMgZm9yIHZhbGlkIHZhbHVlcy4gVGhlIG92ZXJhbGwgZnJhbWUgY2hlY2tzdW1zIGFyZQoJICBtYWlubHkgdXNlZnVsIHRvIGRldGVjdCBpbmNvbnNpc3RlbmNpZXMgaW4gdGhlIGVuY29kZWQgcGF5bG9hZC4KCjIwMTAtMDMtMjYgMTg6NDI6MjggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBDaGVjayB0aGUgQ1JDLTggb2YgdGhlIGhlYWRlcnMgYmVmb3JlIGFjY2VwdGluZyBhIGZyYW1lIGFzIHZhbGlkCgkgIFRoaXMgbWFrZXMgZmFsc2UtcG9zaXRpdmVzIGR1cmluZyBzZWVraW5nIG11Y2ggbGVzcyBsaWtlbHkgYW5kIGRldGVjdGlvbiBvZgoJICB0aGVtIG11Y2ggZmFzdGVyLgoKMjAxMC0wMy0yNiAxODoyMDoyNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IFNldCB0aGUgbGFzdCBzdG9wIHRvIHRoZSBidWZmZXIgc3RhcnR0aW1lIGlmIHRoZSBkdXJhdGlvbiBpcyBpbnZhbGlkCgkgIC4uLmluc3RlYWQgb2Ygbm90IHNldHRpbmcgaXQgYXQgYWxsLgoKMjAxMC0wMy0yNiAxODoxOTowMCArMDEwMCAgSm9zaHVhIE0uIERvZSA8am9zaEBqb3NoZG9lLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogU2VuZCBORVdTRUdNRU5UIGV2ZW50IHdpdGggY29ycmVjdCBzdGFydCBhbmQgcG9zaXRpb24KCSAgSW5zdGVhZCBvZiB0YWtpbmcgdGhlIGxhc3Qgc3RvcCAod2hpY2ggY291bGQgYmUgYnVmZmVyIGVuZHRpbWUgaW5zdGVhZAoJICBvZiBzdGFydHRpbWUpIGFsd2F5cyB0YWtlIHRoZSBidWZmZXIgc3RhcnR0aW1lLgoJICBGaXhlcyBidWcgIzYxNDAxNi4KCjIwMTAtMDMtMjYgMTY6NDk6MDEgKzAwMDAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBGaXggYnVmZmVyIHJlZmNvdW50IGlzc3VlCgkgIFdoZW4gY2FsbGVkIGZyb20gdGhlIEdTVF9GTEFDX1BBUlNFX1NUQVRFX0hFQURFUlMgY2FzZSwKCSAgZ3N0X2ZsYWNfcGFyc2VfaGFuZF9oZWFkZXJzKCkgZG9lcyBhIGdzdF9idWZmZXJfc2V0X2NhcHMoKSBvbiBhIGJ1ZmZlcgoJICB3aXRoIHJlZmNvdW50ID4gMS4gVGhpcyBjaGFuZ2UgaGFuZGxlcyB0aGlzIGNhc2UgYnkgbWFraW5nIHRoZSBidWZmZXIKCSAgbWV0YWRhdGFfV3JpdGFibGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MTQwMzcKCjIwMTAtMDMtMjUgMTc6MDk6MTcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuaDoKCSAgYXVkaW9wYXJzZXJzOiByZW1vdmUgdW51c2VkIEdzdEJhc2VQYXJzZUNsYXNzUHJpdmF0ZSBzdHJ1Y3R1cmUKCjIwMTAtMDMtMjUgMTI6NTU6MDIgKzAwMDAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBNYWtlIGJpdHJhdGUgZXN0aW1hdGlvbiBtb3JlIGFjY3VyYXRlCgkgIFRoaXMgaW1wbGVtZW50cyB0aGUgZ2V0X2ZyYW1lX292ZXJoZWFkKCkgdmZ1bmMgc28gdGhhdCBiYXNlcGFyc2UgY2FuCgkgIG1ha2UgbW9yZSBhY2N1cmF0ZSBiaXRyYXRlIGVzdGltYXRlcy4KCjIwMTAtMDMtMjUgMTE6NDg6NDYgKzAwMDAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogRml4IGJpdHJhdGUgY2FsY3VsYXRpb24KCSAgVGhpcyBwYXRjaCBhZGRzIHRoZSBnZXRfZnJhbWVfb3ZlcmhlYWQoKSB2ZnVuYyBzbyB0aGF0IGJhc2VwYXJzZSBjYW4KCSAgYWNjdXJhdGVseSBjYWxjdWxhdGUgdGhlIG1pbi9hdmcvbWF4IGJpdHJhdGVzIGZvciBhYWNwYXJzZS4KCSAgTm90ZTogVGhlIGJpdHJhdGUgd2FzIGJlaW5nIGluY29ycmVjdGx5IGNhbGN1bGF0ZWQgZm9yIEFEVFMgc3RyZWFtcwoJICAoaXQncyBub3QgaW4gdGhlIGhlYWRlciBhcyB0aGUgY29kZSBzdWdnZXN0cykuCgoyMDEwLTAzLTI1IDExOjIyOjU4ICswMDAwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmg6CgkgIGF1ZGlvcGFyc2VyczogQWRkIGJpdHJhdGUgY2FsY3VsYXRpb24gdG8gYmFzZXBhcnNlCgkgIFRoaXMgbWFrZXMgYmFzZXBhcnNlIGtlZXAgYSBydW5uaW5nIGF2ZXJhZ2Ugb2YgdGhlIHN0cmVhbSBiaXRyYXRlLCBhcwoJICB3ZWxsIGFzIHRoZSBtaW5pbXVtIGFuZCBtYXhpbXVtIGJpdHJhdGVzLiBTdWJjbGFzc2VzIGNhbiBvdmVycmlkZSBhCgkgIHZmdW5jIHRvIG1ha2Ugc3VyZSB0aGF0IHBlci1mcmFtZSBvdmVyaGVhZCBmcm9tIHRoZSBjb250YWluZXIgaXMgbm90CgkgIGFjY291bnRlZCBmb3IgaW4gdGhlIGJpdHJhdGUgY2FsY3VsYXRpb24uCgkgIFdlIHRha2UgY2FyZSBub3QgdG8gb3ZlcnJpZGUgdGhlIGJpdHJhdGUsIG1pbmltdW0tYml0cmF0ZSwgYW5kCgkgIG1heGltdW0tYml0cmF0ZSB0YWdzIGlmIHRoZXkgaGF2ZSBiZWVuIHBvc3RlZCB1cHN0cmVhbS4gV2UgYWxzbwoJICByYXRlLWxpbWl0IHRoZSBlbWlzc2lvbiBvZiBiaXRyYXRlIHNvIHRoYXQgaXQgaXMgb25seSB0cmlnZ2VyZWQgYnkgYQoJICBjaGFuZ2Ugb2YgPjEwIGticHMuCgoyMDEwLTAzLTIyIDE2OjU2OjAzICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hbXJwYXJzZS5jOgoJICBBZGQgLVdvbGQtc3R5bGUtZGVmaW5pdGlvbgoJICBhbmQgZml4IHRoZSB3YXJuaW5ncwoKMjAxMC0wMy0yMSAyMTozOToxOCArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYWFjcGFyc2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYW1ycGFyc2UuYzoKCSAgQWRkIC1XbWlzc2luZy1kZWNsYXJhdGlvbnMgLVdtaXNzaW5nLXByb3RvdHlwZXMgdG8gY29uZmlndXJlIGZsYWdzCgkgIEFuZCBmaXggYWxsIHdhcm5pbmdzCgoyMDEwLTAzLTE4IDE3OjMwOjI2ICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YW1ycGFyc2UuYzoKCSAgZ3N0X2VsZW1lbnRfY2xhc3Nfc2V0X2RldGFpbHMgPT4gZ3N0X2VsZW1lbnRfY2xhc3Nfc2V0X2RldGFpbHNfc2ltcGxlCgoyMDEwLTAxLTE0IDExOjUwOjMzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGF1ZGlvcGFyc2VyczogcmVuYW1lIGJhc2VwYXJzZSBHVHlwZSBuYW1lIHRvIGF2b2lkIHBvc3NpYmxlIGNvbmZsaWN0cwoKMjAxMC0wMS0xMiAxODo1NTo1MyArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogSW5pdGlhbGl6ZSB2YXJpYWJsZXMuCgkgIEZpeGVzIGJ1aWxkIG9uICQjQCooIG1hY29zeAoKMjAxMC0wMS0xMSAyMjo0MTo1NyArMDMwMCAg0PPx6+DtIMjm4fPr4PLu4iA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YW1ycGFyc2UuYzoKCSAgd2luMzI6IEluY2x1ZGUgY29uZmlnLmggYmVmb3JlIGFueXRoaW5nIGVsc2UuIEZpeCBtcGVnZGVtdXggTElCQURECgkgIEJlY2F1c2UgY29uZmlnLmggZGVmaW5lcyBfX01TVkNSVF9WRVJTSU9OX18sIHdoaWNoIHNob3VsZCBiZSBkZWZpbmVkCgkgIGJlZm9yZSBpbmNsdXNpb24gb2YgYW55IHN5c3RlbSBoZWFkZXIuCgkgIEFsc28gZml4ZXMgbXBlZ2RlbXV4IE1ha2VmaWxlLmFtIExJQkFERCB0eXBvLgoJICBGaXhlcyAjNjA2NjY1CgoyMDEwLTAxLTExIDEzOjIwOjI2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSAgYWFjcGFyc2U6IEFsc28gYWRkIHN0cmVhbS1mb3JtYXQgdG8gdGVtcGxhdGUgY2FwcwoJICBEbyBub3QgZm9yZ2V0IHRvIGFkZCBzdHJlYW0tZm9ybWF0IHRvIHRlbXBsYXRlIGNhcHMKCSAgb2ZmIGFhY3BhcnNlCgoyMDEwLTAxLTExIDEzOjEzOjQxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYWFjcGFyc2UuYzoKCSAgUmVuYW1lIGFhYydzIHN0cmVhbS1mb3JtYXQgJ25vbmUnIHRvICdyYXcnCgkgIFJlbmFtZXMgYWFjJ3Mgc3RyZWFtLWZvcm1hdCBmcm9tIHByZXZpb3VzIGNvbW1pdHMgZnJvbSBub25lIHRvCgkgIHJhdwoKMjAxMC0wMS0xMSAxMjoxMDowMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogdXBkYXRlIHRlc3RzIHRvIHN0cmVhbS1mb3JtYXQgY2hhbmdlcwoJICBVcGRhdGVzIGFhY3BhcnNlIHVuaXQgdGVzdHMgdG8gY2hlY2sgZm9yIHN0cmVhbS1mb3JtYXQKCSAgY29ycmVjdG5lc3MgYXMgd2VsbC4KCjIwMTAtMDEtMTEgMTA6NTE6MTggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogQWRkIHN0cmVhbS1mb3JtYXQgdG8gb3V0cHV0IGNhcHMKCSAgQWRkcyBzdHJlYW0tZm9ybWF0IGZpZWxkIHRvIG91dHB1dCBjYXBzCgoyMDEwLTAxLTA1IDE1OjA1OjA1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhbXJwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBhdWRpb3BhcnNlcnM6IGRvY3VtZW50YXRpb24gZml4ZXMKCjIwMTAtMDEtMDUgMTU6MDQ6MzggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJICBhYzNwYXJzZTogYWRkIGRvY3VtZW50YXRpb24KCjIwMTAtMDEtMDUgMTQ6NDg6NDkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuaDoKCSAgZmxhY3BhcnNlOiBhZGQgZG9jdW1lbnRhdGlvbgoKMjAwOS0xMi0yMSAxODoyOTo0MyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IHBlcmZvcm0gYWRkaXRpb25hbCBmcmFtZSBjaGVja3Mgd2hlbiByZXN5bmNpbmcKCjIwMTAtMDEtMDUgMTY6MzU6NTIgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBmaXggKG11bHRpcGxlIGNoYW5uZWwpIGZyYW1lIHBhcnNpbmcKCjIwMTAtMDEtMDUgMTY6MzU6NDQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBkZWNsYXJlIHVucGFyc2VkIGlucHV0IGFuZCBwYXJzZWQgb3V0cHV0CgoyMDA5LTEyLTIxIDE4OjE5OjIzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSAgYWMzcGFyc2U6IGZpeCBzY2FubmluZyBmb3IgbmV4dCBzeW5jd29yZAoKMjAwOS0xMi0yMSAxODoxODozOSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IGFkanVzdCBzZWVrIGhhbmRsaW5nIGFuZCBuZXdzZWdtZW50IHNlbmRpbmcKCSAgUGVyZm9ybSBzYW5pdHkgY2hlY2sgb24gdHlwZSBvZiBzZWVrLCBhbmQgb25seSBwZXJmb3JtIG9uZSB0aGF0IGlzCgkgIGFwcHJvcHJpYXRlbHkgc3VwcG9ydGVkLiAgQWRqdXN0IGRvd25zdHJlYW0gbmV3c2VnbWVudCBldmVudAoJICB0byBmaXJzdCBidWZmZXIgdGltZXN0YW1wIHRoYXQgaXMgc2VudCBkb3duc3RyZWFtLgoKMjAwOS0xMi0yMSAxMTo1OTo0NSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IG1pbm9yIHJlZmFjdG9yIGNsZWFudXAKCSAgQWxzbyBhZGQgc29tZSBkZWJ1ZyBsb2dnaW5nLgoKMjAwOS0xMi0xOCAyMTowNToxMSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IGxvY2F0ZSBuZXh0IHN5bmMgY29kZSBtb3JlIGVmZmljaWVudGx5CgoyMDA5LTEyLTE4IDIxOjA0OjEyICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogYmFzZXBhcnNlIHRha2VzIGNhcmUgb2YgaGFuZGxpbmcgbGVmdG92ZXIgcGllY2VzCgoyMDA5LTEyLTE4IDIxOjAyOjQwICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogaW1wbGVtZW50IGxlZnRvdmVyIGRyYWluaW5nIGluIHB1bGwgbW9kZQoKMjAwOS0xMi0xNyAxMjo0NTozNiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IHNldCBfT0ZGU0VUIGFuZCBfT0ZGU0VUX0VORCBvbiBvdXRnb2luZyBidWZmZXJzCgoyMDA5LTEyLTE3IDEyOjQ0OjIwICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmg6CgkqIGdzdC9hdWRpb3BhcnNlcnMvcGx1Z2luLmM6CgkgIGF1ZGlvcGFyc2VyczogbW92ZSAnZmxhY3BhcnNlJyBpbnRvIGl0CgoyMDA5LTEyLTE2IDE4OjM4OjMzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogcHJvdmlkZSBkZWZhdWx0IGNvbnZlcnNpb24gdXNpbmcgYnBzIGlmIG5vIGZwcyBhdmFpbGFibGUKCSAgQWxzbyBzdG9yZSBlc3RpbWF0ZWQgZHVyYXRpb24gYXMgc3VjaCwgcmF0aGVyIHRoYW4gcHJldGVuZGluZyBvdGhlcndpc2UKCSAgKGUuZy4gc2V0IGJ5IHN1YmNsYXNzKS4KCjIwMDktMTItMTggMTM6MzA6MjkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBjaGVjayBmb3IgcmVtYWluaW5nIGRhdGEgd2hlbiBkcmFpbmluZyBpbiBwdXNoIG1vZGUKCjIwMDktMTItMTggMTM6MzA6MDcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBmaXggcHVsbCBtb2RlIGNhY2hlIHNpemUgY29tcGFyaXNvbgoKMjAwOS0xMi0xOCAxMzowMToxNyArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSAgYWMzcGFyc2U6IEZpeCB1bml0aWFsaXplZCB2YXJpYWJsZS4KCjIwMDktMTItMTcgMTQ6NDY6MDEgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8Y2hyaXN0aWFuLnNjaGFsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvTWFrZWZpbGUuYW06CgkgIFVwZGF0ZSBzcGVjIGZpbGUgYW5kIGZpeCBhYzNwYXJzZXIgaGVhZGVyIGxpc3RpbmcgaW4gTWFrZWZpbGUuYW0KCjIwMDktMTItMTEgMTA6MjU6MTYgLTA4MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYXVkaW9wYXJzZTogZml4IGEgZm9ybWF0IHN0cmluZyBhcyByZXBvcnRlZCBvbiBpcmMuCgoyMDA5LTExLTIzIDE2OjM0OjUwICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSAgYWMzcGFyc2U6IGVuc3VyZSBzdWZmaWNpZW50IGRhdGEgYXZhaWxhYmxlIGZvciBwYXJzaW5nCgoyMDA5LTEwLTI5IDE1OjE5OjA0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSAgYWMzcGFyc2U6IGV4dHJhY3QgYW5kIHVzZSBzb21lIG1vcmUgZGV0YWlscyBmb3IgRW5oYW5jZWQgQWMtMyBzdHJlYW1zCgoyMDA5LTEwLTI5IDE1OjE4OjM3ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmg6CgkgIGJhc2VwYXJzZTogY3VzdG9tIGJ1ZmZlcmZsYWcgaW5kaWNhdGVzIG5vdCB0byBjb3VudCBmcmFtZSBpbiBzdGF0cwoKMjAwOS0xMC0yOCAxNDowODo0MyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkgIGFjM3BhcnNlOiBwZXJmb3JtIGFkZGl0aW9uYWwgZnJhbWUgY2hlY2tzIHdoZW4gcmVzeW5jaW5nCgoyMDA5LTEwLTI4IDE0OjA3OjE3ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSAgYWMzcGFyc2U6IGluZm9ybSBiYXNlIHBhcnNlciBvZiBmcmFtZSBkdXJhdGlvbgoKMjAwOS0xMC0yNyAxNjoxNjo1MCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkgIGFjM3BhcnNlOiBpbXByb3ZlIHNyYyBjYXBzIHNldHRpbmdzCgoyMDA5LTExLTI3IDE3OjU5OjAzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5oOgoJKiBnc3QvYXVkaW9wYXJzZXJzL3BsdWdpbi5jOgoJICBhYzNwYXJzZTogaW5pdGlhbCB2ZXJzaW9uCgkgIE1BUkdJTkFMIHJhbmsgZm9yIG5vdzsgbWlnaHQgdGFrZSBzb21lIHRpbWUgZm9yIHNvbWUgKHVzZWZ1bCkKCSAgZnJhbWVkPXRydWUvZmFsc2UgdG8gYXBwZWFyIGhlcmUgYW5kIHRoZXJlLgoKMjAwOS0xMS0yNiAxODozNDo0NSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFtcnBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YW1ycGFyc2UuaDoKCSAgYW1ycGFyc2U6IHVzZSAoZGVmYXVsdCkgdGltZSBoYW5kbGluZyBvZiBiYXNlcGFyc2VyIGNsYXNzCgoyMDA5LTExLTI2IDE4OjE1OjIxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YW1ycGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhbXJwYXJzZS5oOgoJKiBnc3QvYXVkaW9wYXJzZXJzL3BsdWdpbi5jOgoJICBhdWRpb3BhcnNlcnM6IG1vdmUgJ2FtcnBhcnNlJyBpbnRvIGl0CgoyMDA5LTExLTI3IDE3OjI3OjMyICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGF1ZGlvcGFyc2VyczogcmVmZXJlbmNlIEdzdEJhc2VQYXJzZSBub3cgbGl2ZXMgaGVyZQoKMjAwOS0xMS0yOCAxODoxMzozMSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWFjcGFyc2UvTWFrZWZpbGUuYW06CgkqIGdzdC9hdWRpb3BhcnNlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5oOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5oOgoJKiBnc3QvYXVkaW9wYXJzZXJzL3BsdWdpbi5jOgoJICBhdWRpb3BhcnNlcnM6IHJlbmFtZSAnYWFjcGFyc2UnIHBsdWdpbiB0byBnZW5lcmljICdhdWRpb3BhcnNlcnMnIHBsdWdpbgoKMjAwOS0xMS0yNiAxNzowNDo0MyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWFjcGFyc2UvTWFrZWZpbGUuYW06CgkqIGdzdC9hYWNwYXJzZS9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYWFjcGFyc2UvcGx1Z2luLmM6CgkgIGFhY3BhcnNlOiBzZXBhcmF0ZSBwbHVnaW4gcmVnaXN0cmF0aW9uIGFuZCByZW5hbWUgcGx1Z2luCgoyMDA5LTExLTI2IDE3OjA0OjM2ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hYWNwYXJzZS9nc3RhYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogZW5zdXJlIHN1ZmZpY2llbnQgZGF0YSBhdmFpbGFibGUgYmVmb3JlIGFjY2Vzc2luZwoKMjAwOS0xMS0wNSAxNDozMTo0MCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWFjcGFyc2UvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2FhY3BhcnNlL2dzdGFhY3BhcnNlLmg6CgkgIGFhY3BhcnNlOiB1c2UgKGRlZmF1bHQpIHRpbWUgaGFuZGxpbmcgb2YgYmFzZXBhcnNlciBjbGFzcwoKMjAwOS0xMC0yOSAxNToxOTozNSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWFjcGFyc2UvZ3N0YWFjcGFyc2UuYzoKCSAgYWFjcGFyc2U6IGZpeHVwIGNvbW1lbnRzIHRvIEMtc3R5bGUKCjIwMDktMTAtMjkgMTY6MDU6MDAgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FhY3BhcnNlL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHJlc2V0IHBhc3N0aHJvdWdoIG1vZGUgdG8gZGVmYXVsdCAoZGlzYWJsZWQpIG9uIGFjdGl2YXRpb24KCjIwMDktMTAtMjkgMTU6MTY6NTkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FhY3BhcnNlL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IGVuc3VyZSBidWZmZXIgbWV0YWRhdGEgaXMgd3JpdGFibGUKCjIwMDktMTAtMjggMTQ6MDY6MTMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FhY3BhcnNlL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvYWFjcGFyc2UvZ3N0YmFzZXBhcnNlLmg6CgkgIGJhc2VwYXJzZTogZml4L2VuaGFuY2UgRElTQ09OVCBtYXJraW5nCgkgIEluIHBhcnRpY3VsYXIsIGNvbnNpZGVyIERJU0NPTlQgPT0gIXN5bmMsIGFuZCBhbGxvdyBzdWJjbGFzcyB0byBxdWVyeQoJICBzeW5jIHN0YXRlLCBhcyBpdCBtYXkgd2FudCB0byBwZXJmb3JtIGFkZGl0aW9uYWwgY2hlY2tzIGRlcGVuZGluZwoJICBvbiB3aGV0aGVyIHN5bmMgd2FzIGFjaGlldmVkIGVhcmxpZXIgb24uCgkgIEFsc28gYXJyYW5nZSBmb3Igc3ViY2xhc3MgdG8gcXVlcnkgd2hldGhlciBsZWZ0b3ZlciBkYXRhIGlzIGJlaW5nIGRyYWluZWQuCgoyMDA5LTExLTIzIDE1OjQ4OjI1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2FhY3BhcnNlL2dzdGJhc2VwYXJzZS5oOgoJICBiYXNlcGFyc2U6IGFkZCB0aW1lc3RhbXAgaGFuZGxpbmcsIGFuZCBkZWZhdWx0IGNvbnZlcnNpb24KCSAgSW4gcGFydGljdWxhciwgKG9wdGlvbmFsbHkpIHByb3ZpZGUgYmFzZXBhcnNlIHdpdGggYSBub3Rpb24gb2YgZnJhbWVzIHBlciBzZWNvbmQKCSAgKGFuZCB0aGVyZWZvcmUgYWxzbyBmcmFtZSBkdXJhdGlvbikgYW5kIGhhdmUgaXQgdHJhY2sgZnJhbWUgYW5kIGJ5dGUgY291bnRzLgoJICBUaGlzIHdheSwgc3ViY2xhc3MgY2FuIHByb3ZpZGUgYmFzZXBhcnNlIHdpdGggZnBzIGFuZCBoYXZlIGl0IHByb3ZpZGUgZGVmYXVsdAoJICBidWZmZXIgdGltZSBtZXRhZGF0YSBhbmQgY29udmVyc2lvbnMsIHRob3VnaCBzdWJjbGFzcyBjYW4gc3RpbGwgaW5zdGFsbAoJICBjYWxsYmFja3MgdG8gaGFuZGxlIHN1Y2ggaXRzZWxmLgoKMjAwOS0xMC0yOCAxMjowMjowMyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogZG9jdW1lbnRhdGlvbiBmaXhlcwoKMjAwOS0xMC0yOCAxMjowMDowOCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogdXNlX2ZpeGVkX2NhcHMgZm9yIHNyYyBwYWQKCSAgQWZ0ZXIgYWxsLCBzdHJlYW0gaXMgYXMtaXMsIGFuZCB0aGVyZSBpcyBsaXR0bGUgbW9sZGluZyB0byBkb3duc3RyZWFtJ3MKCSAgdGFzdGUgdGhhdCBjYW4gYmUgZG9uZS4gIElmIHN1YmNsYXNzIGNhbiBhbmQgd2FudHMgdG8gZG8gc28sIGl0IGNhbgoJICBzdGlsbCBvdmVycmlkZSBhcyBzdWNoLgoKMjAwOS0xMS0yMCAxNzozMjoxMyArMDEwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQGZsdWVuZG8uY29tPgoKCSogZ3N0L2FhY3BhcnNlL2dzdGJhc2VwYXJzZS5jOgoJICBhYWNwYXJzZTogRml4IGNvbXBpbGF0aW9uIHdhcm5pbmdzCgoyMDA5LTEwLTExIDExOjIyOjExICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBnc3QvYWFjcGFyc2UvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2FhY3BhcnNlL2dzdGJhc2VwYXJzZS5jOgoJICBhYWNwYXJzZTogZml4IHdhcm5pbmdzIGluIG1hY29zeCBzbm93IGxlb3BhcmQKCjIwMDktMDktMjUgMTc6MDI6NTMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FhY3BhcnNlL2dzdGFhY3BhcnNlLmM6CgkqIGdzdC9hYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2FhY3BhcnNlL2dzdGJhc2VwYXJzZS5oOgoJICBhYWNwYXJzZTogZm9yZWdvIChib2d1cykgcGFyc2luZyBvZiBhbHJlYWR5IHBhcnNlZCAocmF3KSBpbnB1dAoKMjAwOS0wOC0wNyAxMzowNzoxNyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogcHJldmVudCBpbmZpbml0ZSBsb29wIHdoZW4gZHJhaW5pbmcKCjIwMDktMDgtMDcgMTM6MDY6MjggKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FhY3BhcnNlL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IGZpeCBtaW5vciBtZW1vcnkgbGVhawoKMjAwOS0wNy0xNCAxNDowODowNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9hYWNwYXJzZS9nc3RiYXNlcGFyc2UuaDoKCSAgYWFjcGFyc2U6IEFkZCBmdW5jdGlvbiBmb3IgdGhlIGJhc2VwYXJzZSBzdWJjbGFzcyB0byBwdXNoIGJ1ZmZlcnMgZG93bnN0cmVhbQoJICBBbHNvIGhhbmRsZSB0aGUgY2FzZSBncmFjZWZ1bGx5IHdoZXJlIHRoZSBzdWJjbGFzcyBkZWNpZGVzIHRvIGRyb3AKCSAgdGhlIGZpcnN0IGJ1ZmZlcnMgYW5kIGhhcyBubyBjYXBzIHNldCB5ZXQuIEl0J3Mgc3RpbGwgcmVxdWlyZWQgdG8KCSAgaGF2ZSB2YWxpZCBjYXBzIHNldCB3aGVuIHRoZSBmaXJzdCBidWZmZXIgc2hvdWxkIGJlIHBhc3NlZCBkb3duc3RyZWFtLgoKMjAwOS0wNy0xNCAxNDowNzo0NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogRml4IHNlZWsgZXZlbnQgbGVha2luZwoKMjAwOS0wNi0xOCAxMjoxMzoyOCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWFjcGFyc2UvZ3N0YWFjcGFyc2UuYzoKCSAgYWFjcGFyc2U6IEFESUY6IGRvIG5vdCBzZW5kIGJvZ3VzIHRpbWVzdGFtcHMsIGxlYXZlIHRvIGRvd25zdHJlYW0gKGRlY29kZXIpCgoyMDA5LTA2LTAxIDE1OjUzOjI3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hYWNwYXJzZS9nc3RhYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogZml4IHNhbXBsZSByYXRlIGV4dHJhY3Rpb24gZnJvbSBjb2RlYyBkYXRhCgkgIEluIG9uZSBjYXNlIHdlIGV4dHJhY3RlZCB0aGUgc2FtcGxlIHJhdGUgaW5kZXggZnJvbSB0aGUgY29kZWMgZGF0YQoJICBhbmQgc2F2ZWQgaXQgYXMgc2FtcGxlIHJhdGUgcmF0aGVyIHRoYW4gZ2V0dGluZyB0aGUgcmVhbCBzYW1wbGUKCSAgcmF0ZSBmcm9tIHRoZSB0YWJsZS4gRml4IHRoYXQsIGFuZCBhbHNvIG1ha2Ugc3VyZSB3ZSBkb24ndCBhY2Nlc3MKCSAgbm9uLWV4aXN0YW50IHRhYmxlIGVudHJpZXMgYnkgYWRkaW5nIGEgc21hbGwgaGVscGVyIGZ1bmN0aW9uIHRoYXQKCSAgZ3VhcmRzIGFnYWluc3Qgb3V0LW9mLWJvdW5kcyBhY2Nlc3MgaW4gY2FzZSBvZiBpbnZhbGlkIGlucHV0IGRhdGEuCgoyMDA5LTA2LTAxIDE0OjAyOjMzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hYWNwYXJzZS9nc3RhYWNwYXJzZS5jOgoJICBhYWNwYXJzZSwgYW1ycGFyc2U6IHJlbW92ZSBib2d1cyBnc3RfcGFkX2ZpeGF0ZV9jYXBzKCkgY2FsbHMKCjIwMDktMDYtMDEgMTM6NTY6MTggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FhY3BhcnNlL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHByb3BhZ2F0ZSByZXR1cm4gdmFsdWUgb2YgR3N0QmFzZVBhcnNlOjpzZXRfc2lua19jYXBzKCkKCSAgZ3N0X2Jhc2VfcGFyc2Vfc2lua19zZXRjYXBzKCkgcHJlc3VtYWJseSBzaG91bGQgZmFpbCBpZiB0aGUgc3ViY2xhc3MKCSAgcmV0dXJucyBGQUxTRSBmcm9tIGl0cyA6OnNldF9zaW5rX2NhcHMoKSBmdW5jdGlvbi4KCjIwMDktMDYtMDEgMTM6NDc6MDEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FhY3BhcnNlL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IGRvbid0IHRyeSB0byBHU1RfTE9HIGFuIGFscmVhZHktZnJlZWQgY2FwcyBzdHJpbmcKCSAgVGhlIHByb3BlciB3YXkgdG8gbG9nIGNhcHMgaXMgdmlhIEdTVF9QVFJfRk9STUFUIGFueXdheS4KCjIwMDktMDYtMDEgMTM6MDU6MzUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FhY3BhcnNlL2dzdGFhY3BhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiBzZXQgY2hhbm5lbHMgYW5kIHJhdGUgb24gb3V0cHV0IGNhcHMsIGFuZCBrZWVwIGNvZGVjX2RhdGEKCSAgQ3JlYXRlIG91dHB1dCBjYXBzIGZyb20gaW5wdXQgY2Fwcywgc28gd2UgbWFpbnRhaW4gYW55IGZpZWxkcyB3ZQoJICBtaWdodCBnZXQgb24gdGhlIGlucHV0IGNhcHMsIHN1Y2ggYXMgY29kZWNfZGF0YSBvciByYXRlIGFuZCBjaGFubmVscy4KCSAgU2V0IGNoYW5uZWxzIGFuZCByYXRlIG9uIHRoZSBvdXRwdXQgY2FwcyBpZiB3ZSBkb24ndCBoYXZlIGlucHV0IGNhcHMKCSAgb3IgdGhleSBkb24ndCBjb250YWluIHN1Y2ggZmllbGRzLiBXZSBkbyB0aGlzIHBhcnRseSBiZWNhdXNlIHdlIGNhbiwKCSAgYnV0IGFsc28gYmVjYXVzZSBzb21lIG11eGVycyBuZWVkIHRoaXMgaW5mb3JtYXRpb24uIFRhZ3JlYWRiaW4gd2lsbAoJICBhbHNvIGJlIGhhcHB5IGFib3V0IHRoaXMuCgoyMDA5LTA1LTI2IDE5OjQzOjUzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBmaXggZGVidWcgY2F0ZWdvcnkKCjIwMDktMDQtMjcgMjI6Mzk6MTUgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FhY3BhcnNlL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IGZpeCAocmVncmVzc2lvbiBpbikgbmV3c2VnbWVudCBoYW5kbGluZwoJICAoYWFjcGFyc2UsIGFtcnBhcnNlLCBmbGFjcGFyc2UpLiAgRml4ZXMgIzU4MDEzMy4KCjIwMDktMDQtMDcgMDQ6NTM6MDIgKzAzMDAgIFJlbsOpIFN0YWRsZXIgPG1haWxAcmVuZXN0YWRsZXIuZGU+CgoJKiBnc3QvYWFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogRml4IHNsaWdodGx5IGJyb2tlbiBidWZmZXItaW4tc2VnbWVudCBjaGVjayAoYWFjcGFyc2UsIGFtcnBhcnNlLCBmbGFjcGFyc2UpCgoyMDA5LTA0LTA1IDAzOjUwOjE5ICswMzAwICBSZW7DqSBTdGFkbGVyIDxtYWlsQHJlbmVzdGFkbGVyLmRlPgoKCSogZ3N0L2FhY3BhcnNlL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IEZpeCBwdXNoIG1vZGUgc2Vla2luZyAoYWFjcGFyc2UsIGFtcnBhcnNlKQoJICBTZW5kaW5nIHRoZSBmbHVzaC1zdGFydCBldmVudCBmb3J3YXJkIGJlZm9yZSB0YWtpbmcgdGhlIHN0cmVhbSBsb2NrIGFjdHVhbGx5CgkgIHdvcmtzLCBpbiBjb250cmFzdCB0byBkZWFkbG9ja2luZyBpbiBkb3duc3RyZWFtIHByZXJvbGxfd2FpdCAoaHVuayAxKS4KCSAgQWZ0ZXIgdGhhdCB3ZSBnZXQgdGhlIGNoYWluIGZ1bmN0aW9uIGJlaW5nIHN0dWNrIGluIGEgYnVzeSBsb29wLiBUaGlzIGlzIGZpeGVkCgkgIGJ5IHVwZGF0aW5nIHRoZSBtaW5pbXVtIGZyYW1lIHNpemUgaW5zaWRlIHRoZSBzeW5jaHJvbml6YXRpb24gbG9vcCBiZWNhdXNlIHRoZQoJICBzdWJjbGFzcyBhc2tzIGZvciBtb3JlIGRhdGEgaW4gdGhpcyB3YXkgKGh1bmsgMikuCgkgIEZpbmFsbHksIHRoaXMgbGVhZHMgdG8gYSB2ZXJ5IHByb2JhYmxlIGNyYXNoIGJlY2F1c2UgdGhlIHN1YmNsYXNzIGNhbiBmaW5kIGEKCSAgdmFsaWQgZnJhbWUgd2l0aCBhIHNpemUgZ3JlYXRlciB0aGFuIHRoZSBjdXJyZW50bHkgYXZhaWxhYmxlIGRhdGEgaW4gdGhlCgkgIGFkYXB0ZXIuIFRoaXMgbWFrZXMgdGhlIHN1YnNlcXVlbnQgZ3N0X2FkYXB0ZXJfdGFrZV9idWZmZXIgY2FsbCByZXR1cm4gTlVMTCwKCSAgd2hpY2ggaXMgbm90IGV4cGVjdGVkIChodW5rIDMpLgoKMjAwOS0wMy0zMSAxNjowNzo0NiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogRGVsYXkgbmV3c2VnbWVudCBhcyBsb25nIGFzIHBvc3NpYmxlLgoJICBJZiBuZXdzZWdtZW50IGlzIHNlbnQgKHRvbykgZWFybHksIGNhcHMgbWF5IG5vdCB5ZXQgYmUgZml4ZWQvc2V0LAoJICBhbmQgZG93bnN0cmVhbSBtYXkgbm90IGhhdmUgYmVlbiBsaW5rZWQuCgoyMDA5LTAzLTE5IDAxOjE3OjI1ICswMjAwICBSZW7DqSBTdGFkbGVyIDxtYWlsQHJlbmVzdGFkbGVyLmRlPgoKCSogZ3N0L2FhY3BhcnNlL2dzdGFhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiBGaXggYnVzeWxvb3Agd2hlbiBzZWVraW5nLiBGaXhlcyAjNTc1Mzg4CgkgIFRoZSBwcm9ibGVtIGlzIHRoYXQgYWZ0ZXIgYSBkaXNjb250LCBzZXRfbWluX2ZyYW1lX3NpemUoMTAyNCkgaXMgY2FsbGVkIHdoZW4KCSAgZGV0ZWN0X3N0cmVhbSByZXR1cm5zIEZBTFNFLiBIb3dldmVyLCBkZXRlY3Rfc3RyZWFtIGNhbGxzIGNoZWNrX2FkdHNfZnJhbWUKCSAgd2hpY2ggc2V0cyB0aGUgZnJhbWUgc2l6ZSBvbiBpdHMgb3duIHRvIHNvbWV0aGluZyBsYXJnZXIgdGhhbiAxMDI0LiBUaGlzIGlzIHRoZQoJICBzYW1lIHNpdHVhdGlvbiBhcyBpbiB0aGUgYmVnaW5uaW5nLCBzbyB0aGUgYmFzZSBjbGFzcyBlbmRzIHVwIGNhbGxpbmcKCSAgY2hlY2tfdmFsaWRfZnJhbWUgaW4gYW4gZW5kbGVzcyBsb29wLgoKMjAwOS0wMy0xOSAwMDozMjo0MCArMDIwMCAgUmVuw6kgU3RhZGxlciA8bWFpbEByZW5lc3RhZGxlci5kZT4KCgkqIGdzdC9hYWNwYXJzZS9nc3RhYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogUmVmYWN0b3IgY2hlY2tfdmFsaWRfZnJhbWUgdG8gZXhwb3NlIGJyb2tlbiBjb2RlCgkgIEp1c3QgbW92aW5nIGNvZGUgYXJvdW5kIGFuZCByZW1vdmluZyBhbiB1bmhlbHBmdWwvbWlzbGVhZGluZyBjb21tZW50LgoKMjAwOS0wMi0yNyAxMToyNDozNyArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2FhY3BhcnNlL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHJldmVydCBsYXN0IGNoYW5nZSBhbmQgcHJvcGVybHkgZml4CgkgIEJhc2VwYXJzZSBpbnRlcm5hbHkgYnJlYWtzIHRoZSBzZW1hbnRpY3Mgb2YgYSBfY2hhaW4gZnVuY3Rpb24gYnkgY2FsbGluZyBpdCB3aXRoCgkgIGJ1ZmZlcj09TlVMTC4gVGhlIHJlc29uIEkgYmVsaXZlZCBpdCB3YXMgb2theSB0byByZW1vdmUgaXQgd2FzIHRoYXQgdGhlcmUgaXMKCSAgYWxzbyBhbiB1bmNoZWNrZWQgYWNjZXNzIHRvIGJ1ZmZlciBsYXRlciBpbiBfY2hhaW4uIEFjdHVhbGx5IHRoYXQgY29kZSBpcyB3cm9uZywKCSAgYXMgaXQgbW9zdCBwcm9iYWJseSB3YW50cyB0byBzZXQgZGlzY29udCBvbiB0aGUgb3V0Z29pbmcgYnVmZmVyLgoKMjAwOS0wMi0yNiAxMTowMjowNiArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2FhY3BhcnNlL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHJlbW92ZSBjaGVja3MgZm9yIGJ1ZmZlcj09TlVMTAoJICBBY2NvcmRpZm4gdG8gZG9jcyBmb3IgR3N0UGFkQ2hhaW5GdW5jdGlvbiBidWZmZXIgY2Fubm90IGJlIE5VTEwuIElmIHdlIHdvdWxkCgkgIGxlYXZlIHRoZSBjaGVjaywgd2Ugd291bGQgYWxzbyBuZWVkIG1vcmUgc3VjaCBjaGVjayBiZWxvdy4KCjIwMDktMDItMTEgMDA6MTU6NDMgKzAyMDAgIFJlbsOpIFN0YWRsZXIgPG1haWxAcmVuZXN0YWRsZXIuZGU+CgoJKiBnc3QvYWFjcGFyc2UvZ3N0YWFjcGFyc2UuYzoKCSAgYWFjcGFyc2U6IEZpeCBsaWNlbnNlIHNwZWNpZmllZCBpbiBwbHVnaW4gZGV0YWlscy4KCjIwMDktMDEtMzAgMTg6MTg6MTAgKzAwMDAgIEphbiBTY2htaWR0IDxqYW4uc2NobWlkdEBzdW4uY29tPgoKCSogZ3N0L2FhY3BhcnNlL2dzdGJhc2VwYXJzZS5jOgoJICBGaXggdGhlIHJldHVybiB2YWx1ZSBvZiB0aGUgZGVmYXVsdCBwYXJzZV9mcmFtZSBmdW5jdGlvbi4KCSAgRml4IHRoZSByZXR1cm4gdmFsdWUgb2YgdGhlIGRlZmF1bHQgcGFyc2VfZnJhbWUgZnVuY3Rpb24gaW4gYm90aAoJICBjb3BpZXMgb2YgR3N0QmFzZVBhcnNlCgoyMDA5LTAxLTIzIDE2OjAwOjEwICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYWFjcGFyc2UvZ3N0YWFjcGFyc2UuYzoKCSAgTG9nIGFhYyBkZXRhaWxzIGZvdW5kIGluIGNvZGVjX2RhdGEuCgoyMDA4LTExLTEzIDE3OjI0OjU4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L2FhY3BhcnNlL2dzdGFhY3BhcnNlLmM6IERvbid0IGF1dG9wbHVnIGFhY3BhcnNlIHVudGlsIGl0IHdvcmtzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYWFjcGFyc2UvZ3N0YWFjcGFyc2UuYzogKHBsdWdpbl9pbml0KToKCSAgRG9uJ3QgYXV0b3BsdWcgYWFjcGFyc2UgdW50aWwgaXQgd29ya3MuCgoyMDA4LTExLTEzIDE1OjIwOjE1ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICB0ZXN0cy9jaGVjay86IEFkZCB1bml0IHRlc3RzIGZvciBuZXcgcGFyc2Vycy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYWFjcGFyc2UuYzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hbXJwYXJzZS5jOgoJICBBZGQgdW5pdCB0ZXN0cyBmb3IgbmV3IHBhcnNlcnMuCgoyMDA4LTExLTEzIDE0OjIxOjM5ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvOiBGaXggYmFzZXBhcnNlIHR5cGUgbmFtZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2FhY3BhcnNlL2dzdGJhc2VwYXJzZS5jOgoJICAqIGdzdC9hbXJwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSAgRml4IGJhc2VwYXJzZSB0eXBlIG5hbWUuCgoyMDA4LTExLTEzIDEyOjU5OjM0ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBBZGQgdHdvIG5ldyBiYXNlcGFyc2UgYmFzZWQgcGFyc2VycyAoYWFjIGFuZCBhbXIpIGZyb20gQnVnICM1MTg4NTcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvYWFjcGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L2FhY3BhcnNlL2dzdGFhY3BhcnNlLmM6CgkgICogZ3N0L2FhY3BhcnNlL2dzdGFhY3BhcnNlLmg6CgkgICogZ3N0L2FhY3BhcnNlL2dzdGJhc2VwYXJzZS5jOgoJICAqIGdzdC9hYWNwYXJzZS9nc3RiYXNlcGFyc2UuaDoKCSAgKiBnc3QvYW1ycGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L2FtcnBhcnNlL2dzdGFtcnBhcnNlLmM6CgkgICogZ3N0L2FtcnBhcnNlL2dzdGFtcnBhcnNlLmg6CgkgICogZ3N0L2FtcnBhcnNlL2dzdGJhc2VwYXJzZS5jOgoJICAqIGdzdC9hbXJwYXJzZS9nc3RiYXNlcGFyc2UuaDoKCSAgQWRkIHR3byBuZXcgYmFzZXBhcnNlIGJhc2VkIHBhcnNlcnMgKGFhYyBhbmQgYW1yKSBmcm9tIEJ1ZyAjNTE4ODU3LgoKMjAxMS0wMy0yMCAwMTowODozOCArMDEwMCAgSGF2YXJkIEdyYWZmIDxoYXZhcmQuZ3JhZmZAdGFuZGJlcmcuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogTWFrZSBzcmNfcXVlcnkgTVQtc2FmZQoJICBJdCBpcyBwb3NzaWJsZSB0aGF0IHRoZSBlbGVtZW50IG1pZ2h0IGJlIGdvaW5nIGRvd24gd2hpbGUgdGhlIGV2ZW50IGFycml2ZXMKCjIwMTEtMDQtMDggMTU6MjI6NDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnZGVjOiBVbnJlZiBldmVudCBpZiB0aGUgcGFyZW50IGVsZW1lbnQgZGlzYXBwZWFyZWQKCjIwMTEtMDQtMDggMTU6MjI6MTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogVW5yZWYgZXZlbnQgaWYgdGhlIHBhcmVudCBlbGVtZW50IGRpc2FwcGVhcmVkCgoyMDExLTAzLTIxIDE2OjA0OjM0ICswMTAwICBIYXZhcmQgR3JhZmYgPGhhdmFyZC5ncmFmZkB0YW5kYmVyZy5jb20+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgIGpwZWdkZWM6IE1ha2UgdXBzdHJlYW0gZXZlbnRzIE1ULXNhZmUKCjIwMTEtMDMtMjEgMTY6MDQ6MzQgKzAxMDAgIEhhdmFyZCBHcmFmZiA8aGF2YXJkLmdyYWZmQHRhbmRiZXJnLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IE1ha2UgdXBzdHJlYW0gZXZlbnRzIE1ULXNhZmUKCjIwMTEtMDQtMDggMTU6MjA6NTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSAgcnRwOiBVbnJlZiBldmVudHMgaWYgdGhlIHBhcmVudCBlbGVtZW50IGRpc2FwcGVhcmVkCgoyMDExLTAxLTA2IDE4OjI0OjM2ICswMTAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9yYXZuYXNAY2lzY28uY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSAgcnRwbWFuYWdlcjogZml4IHBhZCBjYWxsYmFja3Mgc28gdGhleSBoYW5kbGUgd2hlbiBwYXJlbnQgZ29lcyBhd2F5CgkgIDEpIFdlIG5lZWQgdG8gbG9jayBhbmQgZ2V0IGEgc3Ryb25nIHJlZiB0byB0aGUgcGFyZW50LCBpZiBzdGlsbCB0aGVyZS4KCSAgMikgSWYgaXQgaGFzIGdvbmUgYXdheSwgd2UgbmVlZCB0byBoYW5kbGUgdGhhdCBncmFjZWZ1bGx5LgoJICBUaGlzIGlzIG5lY2Vzc2FyeSBpbiBvcmRlciB0byBzYWZlbHkgbW9kaWZ5IGEgcnVubmluZyBwaXBlbGluZS4gSGFzIGJlZW4KCSAgb2JzZXJ2ZWQgd2hlbiBhIHN0cmVhbWluZyB0aHJlYWQgaXMgZG9pbmcgYSBidWZmZXJfYWxsb2MoKSB3aGlsZSBhbgoJICBhcHBsaWNhdGlvbiB0aHJlYWQgc2VuZHMgYW4gZXZlbnQgb24gYSBwYWQgZnVydGhlciBkb3duc3RyZWFtLCBhbmQgZnJvbQoJICB3aXRoaW4gYSBwYWQgcHJvYmUgKGhvbGRpbmcgU1RSRUFNX0xPQ0spIGNhcnJpZXMgb3V0IHRoZSBwaXBlbGluZSBwbHVtYmluZwoJICB3aGlsZSB0aGUgc3RyZWFtaW5nIHRocmVhZCBoYXMgaXRzIGJ1ZmZlcl9hbGxvYygpIGluIHByb2dyZXNzLgoKMjAxMC0xMS0yNiAxNToyMDowNCArMDEwMCAgSGF2YXJkIEdyYWZmIDxoYXZhcmQuZ3JhZmZAdGFuZGJlcmcuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBtYWtlIGl0ZXJhdGVfaW50ZXJuYWxfbGlua3MgTVQtc2FmZQoKMjAxMS0wNC0wOCAxNDozNTowNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIFJldmVydCAiUHVsc2VzaW5rOiBBbGxvdyBjaHVua3MgdXAgdG8gYnVmc2l6ZSBpbnN0ZWFkIG9mIHNlZ3NpemUiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgMWUyYzE0NjdhZTA0MmEzYzZiYjFhNmJjMGMwN2FlZmYxM2VjNWVkYi4KCSAgVGhlIGNvbW1pdCBjYXVzZXMgcHVsc2VzaW5rIHRvIGlnbm9yZSB0aGUgbGF0ZW5jeS10aW1lIGJhc2VhdWRpb3NpbmsgcHJvcGVydHkuCgoyMDExLTA0LTA4IDExOjEzOjA3ICswMjAwICBBbGV4ZXkgRmlzaGVyIDxidWctdHJhY2tAZmlzaGVyLXByaXZhdC5uZXQ+CgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4cGF5LmM6CgkgIHJ0cHNwZWV4cGF5OiBEbyBub3QgdHJhbnNtaXR0IHNhbXBsZXMgd2l0aCBHQVAgZmxhZwoJICBJZiB3ZSBnZXQgR0FQIHNhbXBsZXMsIHRoZXJlIGlzIG5vIG5lZWQgdG8gdHJhbnNtaXR0IGl0LgoJICBJbiBzb21lIHNpdHVhdGlvbnMsIG1pY3JvcGhvbmUgaXMgbXV0ZWQsIHdlIGNhbiBkcm9wIG5ldCB0cmFmZmljawoJICB1c2FnZSB0byB+MSBrYml0L3MuIFdpdGhvdXQgcGF0Y2ggaXQgd2lsbCBzdGF5IH4yMCBrYml0L3MKCjIwMTEtMDQtMDggMTE6MTE6NTggKzAyMDAgIEFsZXhleSBGaXNoZXIgPGJ1Zy10cmFja0BmaXNoZXItcHJpdmF0Lm5ldD4KCgkqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOgoJICBzcGVleGVuYzogVXNlIHNwZWV4IGludGVybiBzaWxlbmNlIGRldGVjdGlvbgoJICBTcGVleCBoYXMgYnVpbGQgaW4gc2lsZW5jZSBkZXRlY3Rpb24uIElmIHNwZWV4X2VuY29kZV9pbnQgcmV0dXJucyAwLAoJICB0aGFuIHRoZXJlIGlzIHNpbGVuY2UgYW5kIHNhbXBsZSBkbyBub3QgbmVlZCB0byBiZSB0cmFuc21pdHRlZC4KCSAgVGhpcyB3b3JrIG9ubHkgaWYgdmJyPTEgYW5kIGR0eD0xIG9wdGlvbmFzIGFyZSBlbmFibGVkLgoJICBTbyBpZiB3ZSBnZXQgMCwgd2UgYWRkIEdBUCBmbGFnIHRvIHRoZSBzYW1wbGUuCgoyMDExLTA0LTA3IDE5OjA0OjMzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBhYzNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFjM3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGJ2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBjZWx0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBjZWx0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZHZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGR2cGF5LmM6CgkgIHJ0cDogcG9ydCBzb21lIHBheS9kZXBheWxvYWRlcnMKCjIwMTEtMDQtMDUgMTk6MTU6MTEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJICB1ZHBzaW5rOiBoYW5kbGUgc2NhdGhlciBnYXRoZXIgZnJvbSBidWZmZXJzCgkgIEl0ZXJhdGUgdGhlIG1lbW9yeSBibG9ja3Mgb24gdGhlIGJ1ZmZlciBhbmQgc2VuZCB0aGVtIHVzaW5nIHNlbmRtc2cuCgoyMDExLTA0LTA1IDE3OjI2OjQ0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRwZGVjLmM6CgkgIHJ0cGRlYzogcmVzZXQgc3RydWN0dXJlIGJlZm9yZSB1c2UKCjIwMTEtMDQtMDUgMTc6MjA6MDggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgkgIENvbmZsaWN0czoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jCgoyMDExLTA0LTA1IDE3OjEyOjI4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBoYW5kbGUgKiBjb250cm9sIGNvcnJlY3RseQoJICBQYXJzZSBzZXNzaW9uIGNvbnRyb2wgYXR0cmlidXRlcyB3aGVuIG5vIG1lZGlhIGNvbnRyb2wgYXR0cmlidXRlIGlzCgkgIHByZXNlbnQuIFRocmVhdCAqIGNvbnRyb2wgYXR0cmlidXRlcyBhcyBhbiBlbXB0eSBzdHJpbmcsIGp1c3QgbGlrZSB0aGUKCSAgc3BlYyBzYXlzLgoJICBGaXhlcyAjNjQ2ODAwCgoyMDExLTA0LTA1IDE3OjA2OjQxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRwZGVjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3VkcC9nc3RkeW51ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIHJ0c3AvdWRwOiBwb3J0IHRvIDAuMTEKCjIwMTEtMDQtMDUgMTQ6Mjg6NTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogQWRkIHN1cHBvcnQgZm9yIEEtTGF3IGFuZCDCtS1MYXcKCSAgRml4ZXMgYnVnICM2NDY1NjcuCgoyMDExLTA0LTA1IDA5OjQ0OjAxICswMjAwICBKb24gTm9yZGJ5IDxqb25vbm9yQGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSAgamFjazogRml4IGJ1aWxkIHdpdGggamFjayAwLjEyMC4xCgkgIDk1NDQ2MjI2NzRjMGQwYTMxNDdhOWI1MTE0NTE1OWIwMmVlYzY4ZTkgY2hlY2tlZAoJICBmb3IgMC4xMjAuMiBhbmQgbGF0ZXIsIGJ1dCB0aGUgZGVwcmVjYXRpb24gd2FzIGludHJvZHVjZWQgaW4KCSAgMC4xMjAuMQoKMjAxMS0wNC0wNSAxMToxMzozNiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpc3VidGl0bGUuYzoKCSAgYXZpOiBtb3JlIHBvcnRpbmcgdG8gMC4xMQoKMjAxMS0wNC0wNSAxMjowNToxOSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogc3lzL3Y0bDIvZ3N0djRsMnJhZGlvLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnhvdmVybGF5LmM6CgkgIGRvY3M6IGZpeCBkb2N1ZW1udGF0aW9uIHdhcm5pbmdzIChhbmQgcmVpbmRlbnQpCgoyMDExLTA0LTA0IDE5OjE3OjQzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJICBhdmk6IHBvcnQgdG8gMC4xMSBBUEkKCjIwMTEtMDQtMDQgMTc6MzQ6MTcgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRvcmMtZGlzdC5jOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZG9yYy1kaXN0Lmg6CgkgIHZpZGVvbWl4ZXI6IHVwZGF0ZSBvcmMgZGlzdCBmaWxlcwoKMjAxMS0wNC0wNCAxNTo1NzoxMCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSAxY2NiZTA5IHRvIGMzY2FmZTEKCjIwMTEtMDMtMDEgMTQ6MDg6MTIgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IEFsd2F5cyBjYWxsIHBhX3N0cmVhbV9uZXdfd2l0aF9wcm9wbGlzdCgpCgkgIHBhX3N0cmVhbV9uZXdfd2l0aF9wcm9wbGlzdCgpIGNhbiB0YWtlIGEgTlVMTCBwcm9wbGlzdCwgc28gd2UgZG9uJ3QgbmVlZAoJICB0byBjb25jZXJuIG91cnNlbHZlcyB3aXRoIHdoZXRoZXIgaXQncyBOVUxMIG9yIG5vdC4KCjIwMTEtMDQtMDQgMTE6MzM6MTAgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBwZXJmb3JtIHBvc3QtZmx1c2ggc3RhdGUgdHJpY2tzIGRvd25zdHJlYW0gdG8gdXBzdHJlYW0KCSAgLi4uIHNvIGRvd25zdHJlYW0gaXMgc2V0IHdoZW4gdXBzdHJlYW0gcmVzdW1lcyBkYXRhIGZsb3cuCgoyMDExLTA0LTA0IDExOjI3OjI5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogZGlzdHJpYnV0ZSBuZXcgYmFzZV90aW1lIHRvIG1hbmFnZXIgY2hpbGRyZW4gZm9sbG93aW5nIGZsdXNoIHNlZWsKCSAgLi4uIGJ5IGZvcmNpbmcgYSBzdGF0ZSBjaGFuZ2VkIHRvIFBMQVlJTkcsIHdoaWNoIHNob3VsZCBvdGhlcndpc2UgYmUgYQoJICBuby1vcCBhcyBlbGVtZW50cyBzaG91bGQgYWxyZWFkeSBiZSBpbiB0aGF0IHN0YXRlLgoJICBJbiBwYXJ0aWN1bGFyLCBqaXR0ZXJidWZmZXIgbmVlZHMgbmV3IGJhc2VfdGltZSBhcyBzb29uIGFzIHBvc3NpYmxlIHRvIHBlcmZvcm0KCSAgcHJvcGVyIHRpbWluZyAoZS5nLiBlb3MgdGltZW91dCBoYW5kbGluZykgYW5kIGNhbid0IHdhaXQgZm9yIHRoZSBuZXcgYmFzZV90aW1lCgkgIHRoYXQgd2lsbCBiZSBkaXN0cmlidXRlZCB3aGVuIHRoZSB3aG9sZSBwaXBlbGluZSByZXR1cm5zIHRvIFBMQVlJTkcuCgkgIFNlZSBidWcgIzY0NjM5Ny4KCjIwMTEtMDQtMDQgMTE6MzU6NTkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIFJldmVydCAiaml0dGVyYnVmZmVyOiByZXNldCBlbGVtZW50IGJhc2VfdGltZSB1cG9uIGZsdXNoIgoJICBUaGlzIHJldmVydHMgY29tbWl0IGY4NGI4YTY5Y2JhOWM1MzhmNTU0Njg2OWNiNGVmNDU0YWQ1ZWZiOWQuCgkgIEZpeGVzIGJ1ZyAjNjQ2Mzk3LgoKMjAxMS0wNC0wNCAxMDozMTo0NCArMDEwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSAgZmx2OiBTcGVjaWZ5IHRoZSBvbmx5IHBvc3NpYmxlIHN0cmVhbS1mb3JtYXQgZm9yIGgyNjQgaW4gdGhlIHBhZCB0ZW1wbGF0ZXMuCgoyMDExLTA0LTA0IDEwOjA3OjQyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogQ2hlY2sgZm9yIGludmFsaWQgKGVtcHR5KSBjbGFzc2lmaWNhdGlvbiBpbmZvIGVudGl0eSBzdHJpbmdzCgkgIE90aGVyd2lzZSB0aGUgY2xhc3NpZmljYXRpb24gc3RyaW5nIGNhbiBiZSBlbXB0eSBhbmQgZ3N0X3RhZ19saXN0X2FkZCgpIHdpbGwKCSAgY29tcGxhaW4gb3IgaGF2ZSBhIFwwIGluIHRoZSBmaXJzdCBmb3VyIGJ5dGVzLCB3aGljaCBpcyB3cm9uZyB0b28uCgoyMDExLTA0LTA0IDEwOjAxOjI2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogWWVhciAwIGlzIG5vdCBhIHZhbGlkIHllYXIgZm9yIEdEYXRlIGFuZCB0aGUgcHJvbGVwdGljIGdyZWdvcmlhbiBjYWxlbmRhcgoKMjAxMS0wNC0wMSAxMzoxODo1NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkgIGZsYWNlbmM6IEFkZCBzdXBwb3J0IGZvciB3cml0aW5nIE1FVEFEQVRBX0JMT0NLX1BJQ1RVUkUgYmxvY2tzIGZvciBHU1RfVEFHX0lNQUdFIGFuZCBHU1RfVEFHX1BSRVZJRVdfSU1BR0UKCjIwMTEtMDQtMDEgMTE6MzM6NTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICB2aWRlb21peGVyWzJdOiBVc2Ugb3JjX21lbXNldCgpIGluc3RlYWQgb2YgbWVtc2V0KCkKCjIwMTEtMDEtMTkgMTg6MDY6NDUgLTA3MDAgIExhbmUgQnJvb2tzIDxkaXJqdWRAZ21haWwuY29tPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmg6CgkgIHZpZGVvbWl4ZXI6IEFkZCB0cmFuc3BhcmVudCBiYWNrZ3JvdW5kIG9wdGlvbiBmb3IgYWxwaGEgY2hhbm5lbCBmb3JtYXRzCgoyMDExLTAxLTE5IDEyOjA3OjE3IC0wNzAwICBMYW5lIEJyb29rcyA8ZGlyanVkQGdtYWlsLmNvbT4KCgkqIGdzdC92aWRlb21peGVyL2JsZW5kLmM6CgkqIGdzdC92aWRlb21peGVyL2JsZW5kLmg6CgkqIGdzdC92aWRlb21peGVyL2JsZW5kb3JjLm9yYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuaDoKCSAgdmlkZW9taXhlcjI6IEFkZCB0cmFuc3BhcmVudCBiYWNrZ3JvdW5kIG9wdGlvbiBmb3IgYWxwaGEgY2hhbm5lbCBmb3JtYXRzCgkgIFRoaXMgb3B0aW9uIGFsbG93cyB0aGUgdmlkZW9taXhlcjIgZWxlbWVudCB0byBvdXRwdXQgYSB2YWxpZCBhbHBoYQoJICBjaGFubmVsIHdoZW4gdGhlIGlucHV0cyBjb250YWluIGEgdmFsaWQgYWxwaGEgY2hhbm5lbC4gVGhpcyBhbGxvd3MKCSAgbWl4aW5nIHRvIG9jY3VyIGluIG11bHRpcGxlIHN0YWdlcyBzZXJpYWxseS4KCSAgVGhlIGZvbGxvd2luZyBwaXBlbGluZSBzaG93cyBhbiBleGFtcGxlIG9mIHN1Y2ggYSBwaXBlbGluZToKCSAgZ3N0LWxhdW5jaCB2aWRlb3Rlc3RzcmMgYmFja2dyb3VuZC1jb2xvcj0weDAwMDAwMCBwYXR0ZXJuPWJhbGwgISB2aWRlby94LXJhdy15dXYsZm9ybWF0PVwoZm91cmNjXClBWVVWICEgdmlkZW9taXhlcjIgYmFja2dyb3VuZD10cmFuc3BhcmVudCBuYW1lPW1peDEgISB2aWRlb21peGVyMiBuYW1lPW1peDIgISBmZm1wZWdjb2xvcnNwYWNlICEgYXV0b3ZpZGVvc2luayAgdmlkZW90ZXN0c3JjICEgdmlkZW8veC1yYXcteXV2LGZvcm1hdD1cKGZvdXJjY1wpQVlVViAhIG1peDIuCgkgIFRoZSBmaXJzdCB2aWRlb3Rlc3RzcmMgaW4gdGhpcyBwaXBlbGluZSBjcmVhdGVzIGEgbW92aW5nIGJhbGwgb24gYQoJICB0cmFuc3BhcmVudCBiYWNrZ3JvdW5kLiBJdCBpcyB0aGVuIHBhc3NlZCB0byB0aGUgZmlyc3QgdmlkZW9taXhlcjIuCgkgIFByZXZpb3VzbHksIHRoaXMgdmlkZW9taXhlcjIgd291bGQgaGF2ZSBmb3JjZWQgdGhlIGFscGhhIGNoYW5uZWwgdG8KCSAgMS4wIGFuZCBnaXZlbiBhIGJhY2tncm91bmQgb2YgY2hlY2tlciwgYmxhY2ssIG9yIHdoaXRlIHRvIHRoZQoJICBzdHJlYW0uIFdpdGggdGhpcyBwYXRjaCwgaG93ZXZlciwgeW91IGNhbiBub3cgc3BlY2lmeSB0aGUgYmFja2dyb3VuZAoJICBhcyB0cmFuc3BhcmVudCwgYW5kIHRoZSBhbHBoYSBjaGFubmVsIG9mIHRoZSBpbnB1dCB3aWxsIGJlCgkgIHByZXNlcnZlZC4gVGhpcyBhbGxvd3MgZm9yIGZ1cnRoZXIgbWl4aW5nIGRvd25zdHJlYW0sIGFzIGlzIHNob3duIGluCgkgIHRoZSBhYm92ZSBwaXBlbGluZSB3aGVyZSB0aGUgYSBzZWNvbmQgdmlkZW9taXhlcjIgaXMgdXNlZCB0byBtaXggaW4gYQoJICBiYWNrZ3JvdW5kIG9mIGFuIHNtcHRlIHZpZGVvdGVzdHNyYy4gU28gdGhlIHJlc3VsdCBpcyBhIGJhbGwgaG92ZXJpbmcKCSAgb3ZlciB0aGUgc21wdGUgdGVzdCBzb3VyY2UuIFRoaXMgY291bGQsIG9mIGNvdXJzZSwgaGF2ZSBiZWVuCgkgIGFjY29tcGxpc2hlZCB3aXRoIGEgc2luZ2xlIG1peGVyIGVsZW1lbnQsIGJ1dCBzdGFnZWQgbWl4aW5nIGlzIHVzZWZ1bAoJICB3aGVuIGl0IGlzIG5vdCBjb252ZW5pZW50IHRvIG1peCBhbGwgdmlkZW8gYXQgb25jZSAoZS5nLiBhIHBpcGVsaW5lCgkgIHdoZXJlIGEgZm9yZWdyb3VuZCBhbmQgYmFja2dyb3VuZCBiaW4gZXhpc3QgYW5kIGFyZSBtaXhlZCBhdCB0aGUgZmluYWwKCSAgb3V0cHV0LCBidXQgdGhlIGZvcmVncm91bmQgYmluIG5lZWRzIGFuIGludGVybmFsIG1peGVyIHRvIGNyZWF0ZQoJICB0cmFuc2l0aW9ucyBiZXR3ZWVuIGNsaXBzKS4KCSAgRml4ZXMgYnVnICM2Mzk5OTQuCgoyMDExLTAzLTMxIDEzOjI1OjAwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBhbHNvIHVuY29yayBkdXJpbmcgRU9TIHdhaXRpbmcgKGFuZCBhZnRlciBFT1MgaXMgcmVuZGVyZWQpCgkgIFB1bHNlc2luayB3YXMgcmVjZW50bHkgY2hhbmdlZCB0byBkZWZlciB1bmNvcmtpbmcgdW50aWwgdGhlcmUgaXMgZGF0YQoJICB0byB3cml0ZS4gVGhpcyBjb25kaXRpb24gd2lsbCBob3dldmVyIG5ldmVyIG9jY3VyIHdoZW4gRU9TIGluIGJlaW5nCgkgIHJlbmRlcmVkIChzaW5jZSB0aGF0IG1hcmtzIHRoZSBlbmQgb2YgZGF0YSkuIENoYW5naW5nIHRvIFBBVVNFRCBzdGF0ZQoJICB3aGlsZSBFT1MgaXMgYmVpbmcgd2FpdGVkIG9uIHJlc3VsdHMgaW4gYSBoYW5nOiBwYXVzaW5nIGNvcmtzIHRoZQoJICBzdHJlYW0sIHdoaWNoIHdpbGwgbmV2ZXIgYmUgdW5kb25lIHNpbmNlIHRoZXJlIGlzIG5vIG1vcmUgZGF0YSB3aGVuCgkgIGdvaW5nIGJhY2sgdG8gUExBWUlORy4gSWYgcHVsc2VzaW5rIGlzIHRoZSBjbG9jayBwcm92aWRlciwgZGVhZGxvY2sKCSAgZW5zdWVzIHNpbmNlIHRpbWUgZG9lc24ndCBjb250aW51ZSBpbiBjb3JrZWQgc3RhdGUgYW5kIHRoZSBjbG9jayBpZAoJICBmb3IgRU9TIHdhaXQgbmV2ZXIgZmlyZXMuCgkgIEZpeGVzICM2NDU5NjEuCgoyMDExLTAzLTI5IDE2OjMzOjQzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGJpbi5jOgoJICBydHBiaW46IERvbid0IHRyeSB0byByZXF1ZXN0IHRoZSBzYW1lIHJlcXVlc3QgcGFkIHR3aWNlCgoyMDExLTAzLTI4IDIzOjQ2OjQ3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5oOgoJICBmbGFjZGVjOiBmaXggaXNzdWVzIHdpdGggbGFyZ2UgbWV0YWRhdGEgYmxvY2tzIHdoZW4gc3RyZWFtaW5nIHVuZnJhbWVkIGZsYWMKCSAgUGFyc2UgbWV0YWRhdGEgYmxvY2tzIHdoZW4gaGFuZGxpbmcgdW5wYXJzZWQgZmxhYyBpbiBwdXNoIG1vZGUuIFRoaXMKCSAgd29ya3MgYXJvdW5kIGEgYnVuY2ggb2YgaXNzdWVzIHdpdGggdGhlIGZsYWMgZGVjb2RlciB3aGVuIGhhbmRsaW5nCgkgIG1ldGFkYXRhIGJsb2NrcyB0aGF0IGFyZSBsYXJnZXIgdGhhbiB0aGUgbWF4LiBmbGFjIGZyYW1lc2l6ZSwgd2hpY2gKCSAgY292ZXJhcnQgYmxvY2tzIG9mdGVuIGFyZS4gV2UgbmVlZCB0byBoYXZlIGFsbCB0aGUgZGF0YSBmb3IgdGhlc2UKCSAgYmxvY2tzIGF2YWlsYWJsZSB3aGVuIHdlIHBhc3MgZGF0YSB0byBsaWJmbGFjLgoJICBodHRwOi8vZ3N0cmVhbWVyLWRldmVsLjk2NjEyNS5uNC5uYWJibGUuY29tL0ZsYWMtZmlsZXMtdGhhdC13aWxsLXBsYXliYWNrLWJ1dC1ub3Qtc3RyZWFtLXRkMzMzODE5OC5odG1sI2EzMzk1Mjc2CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD01NjY3NjkKCjIwMTEtMDMtMjggMjE6MDU6MzEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzoKCSogZ3N0L2FscGhhL2dzdGFscGhhY29sb3IuYzoKCSogZ3N0L2FwZXRhZy9nc3RhcGVkZW11eC5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0Z2FtbWEuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvYmFsYW5jZS5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9mbGlwLmM6CgkgIHBsdWdpbnM6IHBvcnQgdG8gbmV3IG1lbW9yeSBBUEkKCjIwMTEtMDMtMjggMjA6NTA6NTkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExLWZkbwoKMjAxMS0wMy0yNyAyMTozOTo1MCArMDIwMCAgSmFuIFVyYmHFhHNraSA8d3VsY3plckB3dWxjemVyLm9yZz4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5oOgoJICBmbHZkZW11eDogRG8gbm90IGJ1aWxkIGFuIGluZGV4IGlmIHVwc3RyZWFtIGlzIG5vdCBzZWVrYWJsZQoJICBBbiBpbmRleCBpcyBub3QgdXNlZnVsIGlmIHVwc3RyZWFtIGNhbm5vdCBoYW5kbGUgc2Vla3MgYW5kIGJ1aWxkaW5nIGl0CgkgIGZvciBpbmZpbml0ZSBmaWxlcywgZm9yIGluc3RhbmNlIEZMViBzdHJlYW1zLCByZXN1bHRzIGluIGEgbWVtb3J5IGxlYWsuCgoyMDExLTAzLTI3IDAxOjE5OjU4ICswMzAwICBBbGV4ZXkgQ2hlcm5vdiA8NGVybm92QGdtYWlsLmNvbT4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogc3lzL3Y0bDIvTWFrZWZpbGUuYW06CgkqIHN5cy92NGwyL2dzdHY0bDIuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnJhZGlvLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJyYWRpby5oOgoJICB2NGwyOiBuZXcgdjRsMnJhZGlvIGVsZW1lbnQgdG8gY29udHJvbCBhbmFsb2cgcmFkaW8gZGV2aWNlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQwMTE4CgoyMDExLTAzLTI1IDIyOjIyOjQzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gMTkzYjcxNyB0byAxY2NiZTA5CgoyMDExLTAzLTI1IDE0OjU2OjA2ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGI3N2UyYmYgdG8gMTkzYjcxNwoKMjAxMS0wMy0yNSAxMjo1Mzo0MyArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2NhaXJvL01ha2VmaWxlLmFtOgoJICBjYWlybzogZml4IHRoZSBuYW1lIG9mIHRoZSAqLW1hcnNoYWxsLmxpc3QgZmlsZSB0byB1bmJyZWFrIG1ha2UgZGlzdGNoZWNrCgoyMDExLTAzLTI1IDA5OjMxOjAzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gZDg4MTRiNiB0byBiNzdlMmJmCgoyMDExLTAzLTI1IDA5OjA2OjE2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNmFhYTI4NiB0byBkODgxNGI2CgoyMDExLTAzLTI1IDAwOjEwOjU2ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmg6CgkgIHNwZWN0cnVtOiByZWZhY3RvciBwcm9jZXNzaW5nIGxvb3AgZm9yIGJsb2NrIGJhc2VkIG9wZXJhdGlvbgoJICBQcmV2aW91c2x5IHRoZSBjaGFpbiBmdW5jdGlvbiB3YXMgd29ya2luZyBzYW1wbGUgZnJhbWUgYmFzZWQuIEluIGVhY2ggY3ljbGUgaXQKCSAgd2FzIGNoZWNraW5nIGlmIGl0IGlzIHRpbWUgdG8gcnVuIGEgZmZ0IG9yIGlmIGl0IGlzIHRpbWUgdG8gc2VuZCBhIG1lc3NhZ2UuCgkgIE5vdyB3ZSBjaGFuZ2VkIHRoZSBkYXRhIHRyYW5zZm9ybSBmdW5jdGlvbnMgdG8gd29yayBvbiBhIGJsb2NrIG9mIGRhdGEgYW5kCgkgIGNhbGN1bGF0ZSB0aGUgbWF4IGxlbmd0aCB1bnRpbCBlaXRoZXIge2VuZC1vZi1kYXRhLCBkby1mZnQsIGRvLW1zZ30uIFRoaXMgYWxsb3dzCgkgIHVzIGFsc28gdG8gYXZvaWQgdGhlIGR1cGxpY2F0ZWQgY29kZSBmb3IgdGhlIHNpbmdsZSBhbmQgbXVsdGktY2hhbm5lbCBjYXNlIChhcwoJICB0aGUgdHJhbnNmb3JtZXJzIGhhdmUgdGhlIHNhbWUgc2lnbmF0dXJlIG5vdykuCgoyMDExLTAzLTI0IDIzOjQ3OjMzICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkgIGphY2s6IHVuYnJlYWsgdGhlIGJ1aWxkIGZvciBqYWNrMiB1c2VycwoJICBKYWNrMiAodmVyc2lvbnMgMS5YLlgpIGRvZXMgb25seSBoYXZlIHRoYXQgQVBJIGluIHN2bi4gTGltbWl0IHRoZSB1c2Ugb2YgdGhlIG5ldwoJICBBUEkgZm9yIGphY2sxIHZlcnNpb25zLgoKMjAxMS0wMy0yNCAxODo0OToxOSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA2YWVjNmI5IHRvIDZhYWEyODYKCjIwMTEtMDMtMjQgMTQ6MTQ6MDkgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJICBzcGVjdHJ1bTogZml4IHRoZSBlcnJvciBhY2N1bXVsYXRpb24gYW5kIGZyYW1lc190b2RvIGhhbmRsaW5nCgkgIEV2ZW4gdGhvdWdoIHdlIHdyYXAgYXJvdW5kIHRoZSBhY2N1bXVsYXRlZCBzZWNvbmQsIHdlIHN0aWxsIG5lZWQgdG8gYWRkIHRoZQoJICBlcnJvciBpbiB0aGUgc2FtZSBjeWNsZS4gSW5jcmVhc2UgdGhlIHRvZG8gaW4gdGhlIHNhbWUgY29uZGl0aW9uYWwgYXMgYWZ0ZXJ3YXJkcwoJICB0aGUgYWNjdW11bGF0ZWQgZXJyb3Igd2lsbCBiZSBiZWxvdyBvbmUgc2Vjb25kLgoKMjAxMS0wMy0yNCAxMzo1MzoxMiArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkgIHNwZWN0cnVtOiBmaXggYnJva2VuIGNvZGUgcmVzdWx0aW5nIGZvciBhIHdyb25nIHNwbGl0dXAgb2YgY2hhbmdlcwoKMjAxMS0wMy0yMiAxNjoyOTo1MyArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5oOgoJICBzcGVjdHJ1bTogc2ltcGxpZnkgdGhlIGhhdmVfaW50ZXJ2YWwgY2FsY3VsYXRpb24KCSAgTW92ZSBzb21lIG9mIHRoZSBjb25kaXRpb25zIHRvIHRoZSBwbGFjZXMgd2hlcmUgdGhlIGRlcGVuZGVudCB2YXJpYWJsZXMgY2hhbmdlLgoKMjAxMS0wMy0yMiAxNjoyNjo0NSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkgIHNwZWN0cnVtOiB1c2UgbG9jYWwgdmFyIGZvciBpbnB1dF9kYXRhIGZ1bmN0aW9uCgkgIEF2b2lkIGRlcmVmZXJlbmNpbmcgdGhlIGlucHV0X2RhdGEgZnJvbSB0aGUgaW5zdGFuY2UgZnJvbSB3aXRoaW4gYW4gaW5uZXIgbG9vcC4KCjIwMTEtMDMtMjMgMTY6MzQ6MTYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6CgkqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5oOgoJICBzcGVleGRlYzogR2V0IGFuZCB1c2Ugc3RyZWFtaGVhZGVyIGZyb20gdGhlIGNhcHMgaWYgcG9zc2libGUKCSAgVGhpcyBhbGxvd3MgcGxheWJhY2sgb2Ygc3RyZWFtcyB3aGVyZSB0aGUgc3RyZWFtaGVhZGVyIGJ1ZmZlcnMKCSAgd2VyZSBkcm9wcGVkIGZyb20gdGhlIHN0cmVhbSBmb3Igc29tZSByZWFzb24uCgoyMDExLTAzLTIyIDE5OjM2OjMxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkgIGZsdm11eDogdXNlIHJ1bm5pbmcgdGltZSBmb3Igc3luY2hyb25pemF0aW9uCgkgIEZpeGVzICM0MzI2MTIuCgoyMDExLTAzLTIyIDE5OjM2OjIxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IHVzZSBydW5uaW5nIHRpbWUgZm9yIHN5bmNocm9uaXphdGlvbgoJICBGaXhlcyAjNDMyNjEyLgoKMjAxMS0wMy0yMiAxOTozNTo1OCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJICBhdmltdXg6IHVzZSBydW5uaW5nIHRpbWUgZm9yIHN5bmNocm9uaXphdGlvbgoJICBTZWUgYnVnICM0MzI2MTIuCgoyMDExLTAzLTIyIDEyOjUzOjIyICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmUuYWM6IHJlZHVuZGFudCB1c2VzIG9mIEFDX01TR19SRVNVTFQoKQoJICBjbGVhbmVkIHRoZSByZWR1bmRhbnQgdXNlcyBvZiBBQ19NU0dfUkVTVUxUKCkgaW4gY29uZmlndXJlLmFjCgoyMDExLTAzLTE4IDE5OjM0OjU3ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogYXV0b2dlbi5zaDoKCSAgYXV0b2dlbjogd2luZ28gc2lnbmVkIGNvbW1lbnQKCjIwMTEtMDMtMTYgMTA6NDM6NDcgKzAxMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzoKCSAgamFja2F1ZGlvc2luazogRml4IHR5cG8gZnJvbSA5NTQ0NjIyNjc0YzBkMGEzMTQ3YTliNTExNDUxNTliMDJlZWM2OGU5CgoyMDExLTAzLTE2IDA5OjM4OjQzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thOiBNYXJrIHRhZyBtYXBwaW5nIHRhYmxlcyBhcyBzdGF0aWMgY29uc3QKCjIwMTEtMDMtMTYgMDk6Mzc6NTggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogVXNlIEFSVElTVCBpbnN0ZWFkIG9mIEFVVEhPUiBmb3IgR1NUX1RBR19BUlRJU1QKCjIwMTEtMDMtMTYgMDk6MzU6NTAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuaDoKCSAgbWF0cm9za2FkZW11eDogVXNlIEFSVElTVCBNYXRyb3NrYSB0YWcgaW5zdGVhZCBvZiBBVVRIT1IgZm9yIEdTVF9UQUdfQVJUSVNUCgkgIEFVVEhPUiBvbmx5IGV4aXN0ZWQgaW4gYW4gb2xkIHZlcnNpb24gb2YgdGhlIHNwZWMgYW5kIEFSVElTVCBpcwoJICB0aGUgbmV3IHJlcGxhY2VtZW50IGZvciB0aGlzLiBXZSBhcmUgc3RpbGwgcmVhZGluZyBib3RoIHRvIHN0aWxsCgkgIGJlIGNvbXBhdGlibGUgd2l0aCBvbGQgZmlsZXMuCgkgIEZpeGVzIGJ1ZyAjNjQ0ODc1LgoKMjAxMS0wMy0xNSAyMDoxOTo0OCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb2ZpbHRlci5jOgoJICB0ZXN0czogZW5hYmxlIG1vcmUgZm9ybWF0cyBpbiB2aWRlb2ZpbHRlciB1bml0IHRlc3QsIGNoZWNrIG1vcmUgcmVzb2x1dGlvbnMKCjIwMTEtMDMtMTQgMTk6MTQ6MDcgLTA0MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9mbGlwLmM6CgkgIHZpZGVvZmxpcDogRml4IGJ1ZmZlciBvdmVyZmxvdyBidWcgZm9yIG9kZCByZXNvbHV0aW9ucyBhbmQgWTQyMiBjb2xvcnNwYWNlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQ0NzczCgoyMDExLTAzLTE1IDE5OjM2OjAxICswMjAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOgoJICBzcGVleGRlYzogc2lsZW5jZSB3YXJuaW5nIG1lc3NhZ2Ugd2hlbiBhcHByb3ByaWF0ZQoJICBJZiB3ZSBkaWQgbm90IGtub3cgaG93IG1hbnkgZnJhbWVzIHRvIGV4cGVjdCwgdGhlbiB3ZSBnZXQgYW4gdW5leHBlY3RlZAoJICBlbmQgb2Ygc3RyZWFtIHdoZW4gdHJ5aW5nIHRvIGRlY29kZSBtb3JlIGZyYW1lcyB0aGF0IGFyZSB0aGVyZSwgaWYgdGhlcmUKCSAgYXJlIGxlZnRvdmVyIGJpdHMgdG8gcGFkIHRvIHRoZSBuZXh0IGJ5dGUKCjIwMTEtMDMtMTQgMTk6MTQ6MDcgLTA0MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9mbGlwLmM6CgkgIHZpZGVvZmxpcDogQWRkIHN1cHBvcnQgZm9yIFlVWTIsIFVWWVYgYW5kIFlWWVUgY29sb3JzcGFjZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0NDc3MwoKMjAxMS0wMy0xNSAwOTo0MzozNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb2ZpbHRlci5jOgoJICB0ZXN0czogaW4gdmlkZW9maWx0ZXIgdW5pdCB0ZXN0IGFsc28gY2hlY2sgd2l0aCAnb2RkJyB3aWR0aHMgYW5kIGhlaWdodHMKCSAgQW5kIG9ubHkgdXNlIG9uZSB0ZXN0IHN1aXRlLgoKMjAxMS0wMy0xNCAxOToyODowNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzoKCSAgc3BlZXhkZWM6IEFsd2F5cyBwcm9jZXNzIHRoZSBudW1iZXIgb2YgZnJhbWVzIHBlciBwYWNrZXQgYXMgc3BlY2lmaWVkIGluIHRoZSBoZWFkZXIKCSAgTG9va2luZyBhdCB0aGUgcmVtYWluaW5nIGJpdHMgaW4gdGhlIGJpdHN0cmVhbSBhZnRlciBkZWNvZGluZyBhCgkgIHNpbmdsZSBmcmFtZSBjYW4ndCBiZSB1c2VkIGFzIGxvb3AgY29uZGl0aW9uLiBUaGUgcmVtYWluaW5nCgkgIGJpdHMgbWlnaHQgbm90IGdpdmUgYSBjb21wbGV0ZSBmcmFtZSBhbmQgdGhlIHNwZWV4IGRlY29kZXIgd2lsbAoJICB0aGVuIG91dHB1dCBub3RoaW5nIGJ1dCBhY2Nlc3MgdW5pbml0aWFsaXplZCBtZW1vcnksIHdoaWNoIGxlYWRzCgkgIHRvIHZhbGdyaW5kIHdhcm5pbmdzLgoJICBGaXhlcyBidWcgIzY0NDY2OS4KCjIwMTEtMDMtMTQgMTU6NDY6NTAgKzAxMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8YW1vcmFsZXNAZmx1bW90aW9uLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IHJldHVybiBUUlVFIGZyb20gc2luayBwYWQgZXZlbnQgZnVuY3Rpb24gZm9yIHRhZyBldmVudHMsIHdoaWNoIGFyZSBoYW5kbGVkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDQ3MzAKCjIwMTEtMDMtMTIgMDA6NDQ6MzEgKzA1MzAgIFBoaWxpcCBKw6RnZW5zdGVkdCA8cGhpbGlwakBvcGVyYS5jb20+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogQmV0dGVyIGZpeCBmb3IgZGVhZGxvY2sgb24gZmFpbGVkIGNvbm5lY3QKCSAgVGhpcyByZXZlcnRzIHRoZSBwcmV2aW91cyBmaXggdGhhdCB3b3VsZCBjYXVzZSBhIGRvdWJsZS11bmxvY2sgd2hlbiB0aGUKCSAgc3RyZWFtIGNvbm5lY3QgZmFpbGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQ0NTEwCgoyMDExLTAzLTExIDIzOjA2OjMxICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBGaXggZGVhZGxvY2sgaWYgY29ubmVjdGluZyB0byBQQSBmYWlscwoJICBDb21taXQgZGQ0ZWMyMmUgaW50cm9kdWNlZCBhIGRlYWRsb2NrIGluIHRoZSBmYWlsdXJlIHBhdGggd2hpbGUgdHJ5aW5nCgkgIHRvIGNvbm5lY3QgdG8gUHVsc2VBdWRpby4gVGhpcyBtYWtlcyBzdXJlIHdlIGRyb3AgdGhlIGxvY2sgb24gdGhlCgkgIHJlc291cmNlIG11dGV4IHRvIGF2b2lkIHRoaXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDQ1MTAKCjIwMTEtMDMtMTEgMTY6NTk6MTAgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICB0ZXN0czogb3JkZXIgc3RhdGUtdGVzdCBibGFja2xpc3QgYW5kIGFkZCBqYWNrIGVsZW1lbnRzCgkgIEphY2sgYXVkaW8gc3JjL3NpbmsgZWxlbWVudHMgcmVjZW50bHkgZ290IG1vdmVkIGZyb20gYmFkIGFuZCBzaG91bGQgYmUgZXhjbHVkZWQKCSAgZnJvbSB0aGUgdGVzdCAobGlrZSB0aGUgb3RoZXIgZGV2aWNlIHNwZWNpZmljIHNvdXJjZSBhbmQgc2lua3MpLgoJICBGaXhlcyAjNjQ0Mjg4CgoyMDExLTAzLTExIDEzOjQ3OjI2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kdi9nc3RkdmRlbXV4LmM6CgkgIGR2ZGVtdXg6IENoYWluIHVwIHRvIHRoZSBwYXJlbnQgY2xhc3MnIDo6c2VuZF9ldmVudCBmb3Igbm9uLXNlZWsgZXZlbnRzCgoyMDExLTAzLTExIDEzOjQ2OjA1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kdi9nc3RkdmRlbXV4LmM6CgkgIGR2ZGVtdXg6IEZpeCByZWZjb3VudCBpc3N1ZXMgd2l0aCB0aGUgc2VlayBldmVudAoJICBGaXhlcyBidWcgIzY0Mjk2My4KCjIwMTEtMDMtMTEgMDk6NTQ6MDIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBkb2NzOiBmaXggcHVsc2VzaW5rIGd0ay1kb2MgbWFya3VwCgoyMDExLTAzLTExIDEwOjI5OjA4ICswMTAwICBQaGlsaXBwZSBOb3JtYW5kIDxwbm9ybWFuZEBpZ2FsaWEuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJICBqYWNrOiBmaXggYnVpbGQgYWdhaW5zdCBqYWNrIDAuMTIwLjIKCSAgamFja19wb3J0X2dldF90b3RhbF9sYXRlbmN5KCkgaGFzIGJlZW4gZGVwcmVjYXRlZCBpbiBmYXZvciBvZgoJICBqYWNrX3BvcnRfZ2V0X2xhdGVuY3lfcmFuZ2UoKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0NDQ3NwoKMjAxMS0wMy0xMCAxNDoyOToyNSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkgIHNwZWN0cnVtOiBtb3JlIGNvbW1lbnRzIGFuZCB0dW5lIGFuZCBsb2dnaW5nCgoyMDExLTAzLTEwIDE0OjE1OjQyICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSAgc3BlY3RydW06IGF2b2lkIHVubmVjY2VzYXJ5IGV4dHJhIGZmdCBydW5zCgkgIEJlZm9yZSBpdCB3YXMgcG9zc2libGUgdGhhdCB3ZSBydW4gYW4gZXh0cmEgZmZ0IHdoZW4gdGhlIHRpbWUgZm9yIHNlbmRpbmcgYSBuZXcKCSAgbWVzc2FnZSBpcyBkdWUuIE9ubHkgZG8gdGhpcyBpZiB3ZSBoYXZlIG5vdCBydW4gdGhlIGZmdCBmb3IgdGhlIGludGVydmFsIGF0IGFsbC4KCjIwMTEtMDMtMTAgMTQ6MTI6MDEgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJICBzcGVjdHJ1bTogb25seSBzY2FsZSB0aGUgdmVjdG9ycyB0aGF0IHdlIGFyZSBwcm9jZXNzaW5nCgkgIFBoYXNlIGlzIG5vdCBwcm9kdWNlZCBieSBkZWZhdWx0LCBzbyBsZXRzIG5vdCBzY2FsZSBpdCB1bmNvbmRpdGlvbmFsbHkgdG8gc2F2ZSBhCgkgIGZldyBjeWNsZXMuCgoyMDExLTAzLTEwIDE0OjEwOjI1ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmg6CgkgIHNwZWN0cnVtOiBwdXQgbnVtYmVyIG9mIGNoYW5uZWxzIHRvIGluc3RhbmNlIHZhcmlhYmxlCgkgIFdoZW4gZnJlZWluZyBkYXRhIHRoZSBmb3JtYXQgbWlnaHQgaGF2ZSBjaGFuZ2VkLiBUaHVzIHdlIG5lZWQgdG8gcmVtZW1iZXIgZm9yCgkgIHdoaWNoIGZvcm1hdCB3ZSBhbGxvY2F0ZWQgbWVtb3J5LgoKMjAxMS0wMy0xMCAxMDoyNzoxNCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkgIHNwZWN0cnVtOiB1cGRhdGUgZG9jIHJldmlldyBzdGFtcAoKMjAxMS0wMy0xMCAxMDoyMjoyOSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5oOgoJICBzcGVjdHJ1bTogdXNlIGZ1bmN0aW9uIHBvaW50ZXJzIGZvciBkYXRhIHJlYWRlcnMKCSAgRG9uJ3QgY2hlY2sgdGhlIGZvcm1hdCBmb3IgZWFjaCBzYW1wbGUgZnJhbWUgdG8gcmVhZC4gV2UgY2FuIG1ha2UgdGhhdCBkZWNpc3Npb24KCSAgaW4gX3NldHVwIGFscmVhZHkuIFRoaXMgaXMgc3RpbGwgbm90IGlkZWFsIGFzIHdlIGNhbGwgdGhlIGZ1bmN0aW9uIHBlciBmcmFtZS4KCSAgSWRlYWxseSB3ZSBkZXRlcm1pbmUgaG93IG1hbnkgc2FtcGxlcyB3ZSBjYW4gY29weSBhbmQgaGF2ZSBhIGxvb3AgaW4gdGhlIGlucHV0CgkgIHJlYWRlci4gQXMgYW4gYWx0ZXJuYXRpdmUgd2UgbWlnaHQgYWxzbyBjb25zaWRlciB0byB1c2UgdGhlIGZmdCB2YXJpYW50cyBmb3IgdGhlCgkgIHZhcmlvdXMgZm9ybWF0cyBhbmQgbm90IGNvbnZlcnQgdG8gZmxvYXQgZm9yIGFsbCBjYXNlcyAtIHdlIHdvdWxkIHN0aWxsIG5lZWQgdG8KCSAgbWl4IG9yIGRlaW50ZXJsZWF2ZSB0aG91Z2guCgoyMDExLTAzLTA5IDE3OjA3OjQ3ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBydHNwc3JjOiBpbXByb3ZlIHJlY292ZXJ5IGZyb20gZmFpbGVkIHNlZWsKCSAgSW4gY2FzZSBzZXJ2ZXItc2lkZSBmYWlscyB0byBwZXJmb3JtIHNlZWssIGkuZS4gUExBWSBhdCBub24temVybyByZXF1ZXN0ZWQKCSAgcG9zaXRpb24sIHJlY292ZXJ5IHNvIGZhciB3b3VsZCBhcnJhbmdlIGZvciBzdHJlYW1pbmcgdG8gY29udGludWUsIGFsYmVpdAoJICBoYXZpbmcgbG9zdCBwb3NpdGlvbiB0cmFja2luZyBpbiB0aGUgcHJvY2Vzcy4gIFNvLCBxdWVyeSBwb3NpdGlvbiBwcmlvcgoJICB0byBzZWVrIGFuZCB1c2UgdXBvbiBmYWlsZWQgc2Vlay4KCjIwMTEtMDMtMDkgMTY6NTE6MDAgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogaGFuZGxlIHBvc2l0aW9uIHF1ZXJ5CgoyMDExLTAzLTA5IDE2OjU3OjI4ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmg6CgkgIHNwZWN0cnVtOiAgbXVsdGktY2hhbm5lbCBzdXBwb3J0CgkgIEFkZCBhIGJvb2xlYW4gbXVsdGktY2hhbm5lbCBwcm9wZXJ0eSB3aXRoIGEgZGVmYXVsdCBvZiBGQUxTRS4gV2hlbiBzZXQgdG8gVFJVRQoJICB0aGUgZWxlbWVudCB3b24ndCBtaXggYWxsIGlucHV0IGNoYW5uZWxzIHRvIG1vbm8sIGJ1dCBpbnN0ZWFkIHJ1biBhIEZGVCBvbiBlYWNoCgkgIGNoYW5uZWwuIEluIHRoYXQgY2FzZSB0aGUgcmVzdWx0IG1lc3NhZ2Ugd291bGQgY29udGFpbiBhIDIgZGltZW5zaW9uYWwgYXJyYXkKCSAgb2YgY2hhbm5lbCB4IGRhdGEgZm9yIG1hZ25pdHVkZSBhbmQgcGhhc2UuCgkgIEFQSTogR3N0U3BlY3RydW06bXVsdGktY2hhbm5lbAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTkzNDgyCgoyMDExLTAzLTA5IDE2OjU1OjU2ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSAgc3BlY3RydW06IG1vcmUgeHJlZnMgaW4gdGhlIGRvY3MKCjIwMTEtMDMtMDkgMTI6NDE6MTUgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJICBzcGVjdHJ1bTogZmFjdG9yIG91dCB0aGUgY29kZSB0aGF0IGFjY3VtdWxhdGVkIHNhbXBsZXMgaW50byB0aGUgcmluZy1idWZmZXIKCSAgVXNlIGEgc2VwYXJhdGUgZnVuY3Rpb24gdG8gcmVhZCBhIHNhbXBsZSBmcmFtZSBpbnRvIGEgcmluZ2J1ZmZlciBzbG90LiBJbiB0aGUKCSAgZnV0dXJlIHdlIGNhbiB1c2UgZm9ybWF0LXNwZWNpZmljIGZ1bmN0aW9uIHBvaW50ZXIgdG8gYXZvaWQgdGhlIHJlb2NjdXJpbmcKCSAgZm9ybWF0IGNoZWNrcy4KCjIwMTEtMDMtMDkgMTI6Mzg6NTIgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJICBzcGVjdHJ1bTogcHVsbCBmb3JtYXQgdG8gdGVtcCB2YXIgdG8gaW1wcm92ZSByZWFkYWJpbGl0eSBvZiBsaW5lcyB1c2luZyBpdAoKMjAxMS0wMy0wOSAxMjoyMDoxMSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkgIHNwZWN0cnVtOiBjb2RlIGNsZWFudXAgZm9yIGNvcHlpbmcgZGF0YSB0byByaW5nLWJ1ZmZlcgoJICBSZW5hbWUgZnAgdG8gaXNfZmxvYXQgYW5kIHJlc3RydWN0dXJlIGlmLWVsc2UgcGFydCBmb3IgaGFuZGxpbmcgdGhlIGRpZmZlcmVudCBmb3JtYXRzLgoKMjAxMS0wMy0wOSAxMTo0MDo0OCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5oOgoJICBzcGVjdHJ1bTogYWRkIGEgR3N0U3BlY3J0dW1DaGFubmVsIGNvbnRleHQgc3RydWN0dXJlCgkgIFdlIG5vdyBrZWVwIHRoZSBmZnQgZGF0YSB0aGF0IGlzIHJlbGF0ZWQgdG8gb25lIGNoYW5uZWwgaW4gYSBzZXBhcmF0ZSBzdHJ1Y3R1cmUKCSAgdG8gcHJlcGFyZSBmb3IgbXVsdGljaGFubmVsIHN1cHBvcnQuIFdlIGFsc28gcmVmYWN0b3IgdGhlIGNvZGUgdG8gb3BlcmF0ZSBtb3JlCgkgIG9mdGVuIG9uIHRoZSBjaGFubmVsIGNvbnRleHQuCgoyMDExLTAzLTA5IDExOjE4OjE5ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSAgc3BlY3RydW06IGNhbGwgdGhlIGluc3RhbmNlIHZhciBzcGVjdHJ1bSBpbnN0ZWFkIG9mIGZpbHRlcgoKMjAxMS0wMy0wOSAxMToxNDozNyArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkgIHNwZWN0cnVtOiBkb24ndCB2YWx1ZSB3ZSBhbHJlYWR5IHRvb2sgZnJvbSB0aGUgZ3ZhbHVlCgoyMDExLTAzLTA4IDE3OjI2OjE3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoJICBDb25mbGljdHM6CgkgIGNvbmZpZ3VyZS5hYwoKMjAxMS0wMy0wOCAxNzowMjozMCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2VmZW5jZS5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMveGltYWdlL3hpbWFnZXV0aWwuYzoKCSAgbWV0YTogdXBkYXRlIGZvciBuZXcgQVBJCgoyMDExLTAzLTA4IDE2OjI4OjI3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGFkLWhvYyByZWxlYXNlIGJyYW5jaCAnMC4xMC4yOCcKCj09PSByZWxlYXNlIDAuMTAuMjggPT09CgoyMDExLTAzLTA4IDE1OjQ3OjUyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFubm9kZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhhbGVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdWlja3RpbWUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiBnc3QtcGx1Z2lucy1nb29kLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAwLjEwLjI4CgkgIEFkLWhvYyByZWxlYXNlIHRvIGZpeCBidWlsZCBpc3N1ZSB3aXRoIG5ld2VyIGtlcm5lbHMuCgoyMDExLTAzLTAzIDAwOjE2OjQ3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuaDoKCSAgdjRsMjogcmVtb3ZlIHVubmVjZXNzYXJ5IGxpbnV4L3ZpZGVvZGV2LmggaW5jbHVkZQoJICBDYXVzZXMgY29tcGlsYXRpb24gaXNzdWVzIHdpdGggbmV3ZXIga2VybmVsIGhlYWRlcnMgd2hlcmUgdGhlIG9sZAoJICB2NGwgaW50ZXJmYWNlIGhhcyBiZWVuIHJlbW92ZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDM3MTYKCjIwMTEtMDMtMDggMTA6MTQ6MjAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgkgIENvbmZsaWN0czoKCSAgdGVzdHMvZXhhbXBsZXMvY2Fpcm8vTWFrZWZpbGUuYW0KCjIwMTEtMDMtMDcgMTY6NTY6NDMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogYWxzbyBlc3RpbWF0ZSBlb3MgaWYgdmVyeSBuZWFyIGVvcwoKMjAxMS0wMy0wNyAxNjo1NjoxOCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBhdm9pZCB0cnlpbmcgdG8gYnVmZmVyIG1vcmUgdGhhbiBpcyBhdmFpbGFibGUuCgkgIFRoYXQgaXMsIGluIGNhc2Ugb2Ygc2hvcnQgKG9yIG5lYXIgZW9zIG9mKSBzdHJlYW0sIGRlYWRsb2NrICh1bnRpbCB0aW1lb3V0KQoJICB3b3VsZCBvY2N1ciB0cnlpbmcgdG8gYnVmZmVyIG1vcmUgdGhhbiBpcyB5ZXQgZm9ydGhjb21pbmcuCgoyMDExLTAzLTA3IDExOjAxOjA2ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IHJlc2V0IGVsZW1lbnQgYmFzZV90aW1lIHVwb24gZmx1c2gKCSAgLi4uIHRvIGFycmFuZ2UgZm9yIHByb3Blcmx5IHNjaGVkdWxlZCB0aW1lb3V0IChmb2xsb3dpbmcgc2VlaykuCgoyMDExLTAzLTA3IDEwOjU0OjIyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhaXJvL2NhaXJvX292ZXJsYXkuYzoKCSAgY2Fpcm9vdmVybGF5OiBBZGQgYSBidXMgaGFuZGxlciB0byB0aGUgZXhhbXBsZSB0byBoYW5kbGUgRU9TL0VSUk9SL1dBUk5JTkcKCSAgQWxzbyBjbGVhbiB1cCB0aGUgcGlwZWxpbmUgcHJvcGVybHkuCgoyMDExLTAzLTA3IDEwOjQ3OjIzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL01ha2VmaWxlLmFtOgoJICBleGFtcGxlczogQWx3YXlzIGRpc3QgdGhlIGNhaXJvIGV4YW1wbGUKCjIwMTEtMDMtMDcgMTA6NDY6MTIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvY2Fpcm8vTWFrZWZpbGUuYW06CgkgIGNhaXJvb3ZlcmxheTogVXNlIExEQUREIGluc3RlYWQgb2YgTERGTEFHUyBmb3IgbGlicyBhbmQgYWRkICQoR1NUX0xJQlMpCgoyMDExLTAzLTA1IDIzOjIyOjU4ICswMDAwICBKb24gTm9yZGJ5IDxqb25vbm9yQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9jYWlyby9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvY2Fpcm8vY2Fpcm9fb3ZlcmxheS5jOgoJICBjYWlyb292ZXJsYXk6IFJlbW92ZSB1bm5lY2Vzc2FyeSBndGsvZ3RrLXgxMSB1c2UgaW4gZXhhbXBsZS4KCSAgVGhpcyByZW1vdmVzIGNvZGUsIGFuZCBhbGxvd3MgdGhlIGV4YW1wbGUgdG8gYmUgdXNlZCBvbiBhbnkgcGxhdGZvcm0uCgkgIEZpeGVzIGJ1ZyAjNjQzOTgxLgoKMjAxMS0wMy0wNCAxODozNzozOCAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDI6IFVzZSAjaWZkZWZzIGZvciBWNEwyX1BJWF9GTVRfUEpQRwoJICBJdCdzIG9ubHkgcmVjZW50bHkgYWRkZWQgdG8ga2VybmVsIGhlYWRlcnMuCgoyMDExLTAyLTIzIDE2OjUwOjQzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuaDoKCSAgd2F2cGFyc2U6IHR1bmUgb3V0cHV0IG1heCBidWZmZXIgc2l6ZSB0byBtYXRlcmlhbAoJICAuLi4gdG8gYXZvaWQgZW5kaW5nIHVwIHdpdGggdG9ucyBvZiBzaG9ydCB0aW1lIGJ1ZmZlcnMgZm9yIGUuZy4gaGlnaCBzYW1wbGUKCSAgcmF0ZSBhdWRpby4KCjIwMTEtMDMtMDQgMTc6MDQ6MzcgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYWlyby9NYWtlZmlsZS5hbToKCSAgZXhhbXBsZXM6IGRvbid0IHVzZSBoYXJkY29kZWMgMC4xMAoKMjAxMS0wMy0wNCAxNjozMDozNiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCjIwMTEtMDMtMDQgMTU6NTA6MDEgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBhZGQgYSBkb2MgZXhhbXBsZSBmb3Igc2V0dGluZyBzdHJlYW0tcHJvcGVydGllcwoKMjAxMS0wMy0wNCAxNTo0MjoxOSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IGZpeCB0aGUgeG1sIGluIHRoZSBkb2NzCgoyMDExLTAzLTAzIDAwOjE2OjQ3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuaDoKCSAgdjRsMjogcmVtb3ZlIHVubmVjZXNzYXJ5IGxpbnV4L3ZpZGVvZGV2LmggaW5jbHVkZQoJICBDYXVzZXMgY29tcGlsYXRpb24gaXNzdWVzIHdpdGggbmV3ZXIga2VybmVsIGhlYWRlcnMgd2hlcmUgdGhlIG9sZAoJICB2NGwgaW50ZXJmYWNlIGhhcyBiZWVuIHJlbW92ZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDM3MTYKCjIwMTEtMDMtMDIgMjM6MjE6MTUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiB0ZXN0cy9leGFtcGxlcy9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvY2Fpcm8vTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2NhaXJvL2NhaXJvX292ZXJsYXkuYzoKCSAgY2Fpcm9vdmVybGF5OiBUaGUgZXhhbXBsZSBhbHdheXMgcmVxdWlyZXMgZ3RrLXgxMQoJICBDaGVjayBmb3IgZ3RrLXgxMSBhbmQgb25seSBidWlsZCB0aGUgZXhhbXBsZSBpZiBpdCdzIGF2YWlsYWJsZS4KCjIwMTEtMDMtMDIgMjM6MTQ6MzYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NhaXJvL2dzdGNhaXJvb3ZlcmxheS5jOgoJKiBleHQvY2Fpcm8vZ3N0Y2Fpcm9vdmVybGF5Lmg6CgkgIGNhaXJvb3ZlcmxheTogU29tZSBtaW5vciBjbGVhbnVwCgoyMDExLTAzLTAyIDIzOjA5OjIxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLnNpZ25hbHM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJICBkb2NzOiBVcGRhdGUgaW5zcGVjdGVkIHBsdWdpbiBkYXRhCgoyMDExLTAxLTI4IDAyOjE0OjA0ICswMjAwICBKb24gTm9yZGJ5IDxqb25vbm9yQGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGV4dC9jYWlyby8uZ2l0aWdub3JlOgoJKiBleHQvY2Fpcm8vTWFrZWZpbGUuYW06CgkqIGV4dC9jYWlyby9nc3RjYWlyby1tYXJzaGFsLmxpc3Q6CgkqIGV4dC9jYWlyby9nc3RjYWlyby5jOgoJKiBleHQvY2Fpcm8vZ3N0Y2Fpcm9vdmVybGF5LmM6CgkqIGV4dC9jYWlyby9nc3RjYWlyb292ZXJsYXkuaDoKCSogdGVzdHMvZXhhbXBsZXMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2NhaXJvLy5naXRpZ25vcmU6CgkqIHRlc3RzL2V4YW1wbGVzL2NhaXJvL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9jYWlyby9jYWlyb19vdmVybGF5LmM6CgkgIGNhaXJvb3ZlcmxheTogQWRkIGdlbmVyaWMgQ2Fpcm8gb3ZlcmxheSB2aWRlbyBlbGVtZW50LgoJICBBbGxvd3MgYXBwbGljYXRpb25zIHRvIGNvbm5lY3QgdG8gdGhlICJkcmF3IiBzaWduYWwgb2YKCSAgdGhlIGVsZW1lbnQgYW5kIGRvIHRoZWlyIGN1c3RvbSBkcmF3aW5nIHRoZXJlLgoJICBJbmNsdWRlcyBhbiBleGFtcGxlIGFwcGxpY2F0aW9uIGRlbW9uc3RyYXRpbmcgdXNhZ2UuCgkgIEZpeGVzOiBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTk1NTIwCgoyMDExLTAzLTAyIDEzOjAwOjMxICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvbW9ub3Njb3BlL21vbm9zY29wZS5jOgoJICBtb25vc2NvcGU6IGRvbid0IGxlYWsgdGhlIG1vbm9zY29wZV9zdGF0ZSBkYXRhCgkgIFRoZSBtb25vc2NvcGVfY2xvc2UoKSBpbXBsZW1lbnRhdGlvbiB3YXMgZW1wdHkuCgoyMDExLTAzLTAyIDEyOjU5OjM1ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvbW9ub3Njb3BlL21vbm9zY29wZS5jOgoJICBtb25vc2NvcGU6IHdlIGhhdmUgNjQgY29sb3JzLCBkb24ndCBhY2Nlc3MgY29sb3JzWzY0XQoJICBGaXhlcyByZW1haW5pbmcgaW52YWxpZCByZWFkLgoKMjAxMS0wMy0wMiAxMDoyNToyOSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGFycmFuZ2UgZm9yIG5vbi1mYXRhbCBlcnJvciB3aGVuIHBhcnNpbmcgbm9uLXZpdGFsIHBhcnRzCgoyMDExLTAzLTAyIDEwOjU2OjMzICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvbW9ub3Njb3BlL2NvbnZvbHZlLmM6CgkgIG1vbm9zY29wZTogc3RhY2sgbmVlZHMgdG8gYmUgc2l6ZSsxIGFzIHdlIHB1dCBhIGVuZC1tYXJrZXIgaW50byBpdAoJICBWYWxncmluZCBpcyBzdGlsbCBjb21wbGFpbmluZyBhYm91dCBvbmUgYmFkIHJlYWQsIGJ1dCB0aGlzIHRha2VzIGNhcmUgb2YgdGhlCgkgIGNyYXNoIG1lbnRpb25lZCBpbiB0aGUgY29tbWVudCBhbmQgaW4gYnVnICM1NjQxMjIuCgoyMDExLTAzLTAxIDIyOjQwOjE5ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvc2VydmVyLXY0bDItSDI2M3AtYWxzYXNyYy1BTVIuc2g6CgkgIGV4YW1wbGU6IGZpeCB0aGUgdmFyaWFibGUgbmFtZSBmb3IgdGhlIGlwLWFkZHJlc3MKCSAgRml4IHRoZSBuYW1lIGluIHRoZSBsYXVuY2ggcGlwZWxpbmUgYW5kIHVzZSBhIHZhbHVlIG9mICJsb2NhbGhvc3QiIGJ5IGRlZmF1bHQuCgoyMDExLTAyLTI4IDE5OjE2OjAwICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlLmFjOiBjeWd3aW4vbWluZ3c7IGVuYWJsZSBwbHVnaW4gbGlua2luZyB0byBzdGF0aWMgbGliCgkgIFVzZWZ1bCBmb3IgRGlyZWN0WCBwbHVnaW4ocykuCgkgIEZpeGVzICM2NDI1MDcuCgoyMDExLTAyLTI4IDE5OjEzOjQxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlLmFjOiBleHBvcnQgcGx1Z2luIGRlc2NyaXB0aW9uIG1vcmUgcGxhdGZvcm0gaW5kZXBlbmRlbnQKCSAgRml4ZXMgIzY0MjUwNC4KCjIwMTEtMDItMjggMTg6MzI6NTQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSAxZGU3ZjZhIHRvIDZhZWM2YjkKCjIwMTEtMDItMjggMTM6Mjk6NDcgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgoyMDExLTAyLTI4IDEzOjI4OjI5ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiB1c2UgTmV0QWRkcmVzcyBtZXRhZGF0YQoKMjAxMS0wMi0yOCAxMzoxNDozNyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC91ZHAvZ3N0ZHludWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdHVkcC5jOgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICB1ZHA6IGltcGxlbWVudCBOZXRBZGRyZXNzIHdpdGggbWV0YWRhdGEKCjIwMTEtMDItMjggMTA6MTY6NTIgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyOiByZWdpc3RlciBtZXRhZGF0YQoKMjAxMS0wMi0yNyAxOTo0MzoxMyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2VmZW5jZS5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5oOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6CgkqIHN5cy94aW1hZ2UveGltYWdldXRpbC5jOgoJKiBzeXMveGltYWdlL3hpbWFnZXV0aWwuaDoKCSAgbWV0YTogZml4IGZvciBuZXcgQVBJCgoyMDExLTAyLTI1IDE2OjI5OjM4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlYnVndXRpbHMvZWZlbmNlLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmg6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzoKCSogc3lzL3hpbWFnZS94aW1hZ2V1dGlsLmM6CgkqIHN5cy94aW1hZ2UveGltYWdldXRpbC5oOgoJICBtZXRhZGF0YTogdXNlIG1ldGFkYXRhIGZvciBwcml2YXRlIGJ1ZmZlciBkYXRhCgkgIFVzZSBidWZmZXIgbWV0YWRhdGEgdG8gc3RvcmUgZWxlbWVudCBwcml2YXRlIGRhdGEuCgoyMDExLTAyLTI0IDEzOjUxOjMyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuaDoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOgoJKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5oOgoJKiBzeXMveGltYWdlL3hpbWFnZXV0aWwuYzoKCSogc3lzL3hpbWFnZS94aW1hZ2V1dGlsLmg6CgkgIG1pbmlvYmplY3Q6IHBvcnQgdG8gMC4xMQoJICBVc2UgYnVmZmVyIHByaXZhdGUgZGF0YSBpbnN0ZWFkIG9mIHN1YmNsYXNzaW5nLgoKMjAxMS0wMi0yNCAxMzo1MDo0OCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL3B1bHNlL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy92NGwyL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9pY2xlcy9NYWtlZmlsZS5hbToKCSAgYnVpbGQ6IGRvbid0IGhhcmRjb2RlIHZlcnNpb24gbnVtYmVyCgoyMDExLTAyLTI0IDEzOjAzOjQ0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3RhZ2xpYi9nc3RpZDN2Mm11eC5jYzoKCSAgaWQzOiB1c2UgYm94ZWQgdHlwZSBpbnN0ZWFkIG9mIG1pbmlvYmplY3QKCjIwMTEtMDItMjQgMTM6MDA6NDggKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVidWd1dGlscy9lZmVuY2UuYzoKCSogZ3N0L3JlcGxheWdhaW4vTWFrZWZpbGUuYW06CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3VkcC9nc3RkeW51ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0dWRwLmM6CgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIG1pbmlvYmplY3Q6IHVzZSBidWZmZXIgcHJpdmF0ZSBmaWVsZCBmb3IgZXh0cmEgZGF0YQoJICBVc2UgdGhlIG93bmVyIHByaXZhdGUgZmllbGQgdG8gc3RvcmUgZXh0cmEgYnVmZmVyIGRhdGEgaW5zdGVhZCBvZiB1c2luZwoJICBzdWJjbGFzc2luZy4KCjIwMTEtMDItMjQgMTI6MjM6NDQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgIGpwZWdkZWM6IGFkZCBkdXJhdGlvbiB3aGVuIGV4dGltYXRpbmcgUW9TIHRpbWUKCSAgV2hlbiB3ZSBuZWVkIHRvIGRlY2lkZSBvbiB0aGUgbmV4dCBRb1MgdGltZSwgdGFrZSBpbnRvIGFjY291bnQgdGhlIGR1cmF0aW9uIG9mCgkgIHRoZSBidWZmZXJzLgoKMjAxMS0wMi0yOCAxMTo1ODowNSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCSAgQ29uZmxpY3RzOgoJICBjb25maWd1cmUuYWMKCjIwMTEtMDItMjMgMTc6NDE6MjIgKzAxMDAgIFBoaWxpcCBKw6RnZW5zdGVkdCA8cGhpbGlwakBvcGVyYS5jb20+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogcmVsZWFzZSBwYV9zaGFyZWRfcmVzb3VyY2VfbXV0ZXggYmVmb3JlIHBhX3RocmVhZGVkX21haW5sb29wX3dhaXQKCSAgTm90IGRvaW5nIHNvIGNhbiByZXN1bHQgaW4gYSBkZWFkbG9jayB3aGVuIHR3byB0aHJlYWRzIGVudGVyCgkgIGdzdF9wdWxzZXJpbmdidWZmZXJfb3Blbl9kZXZpY2UgYXQgdGhlIHNhbWUgdGltZSwgYXMKCSAgcGFfdGhyZWFkZWRfbWFpbmxvb3Bfd2FpdCByZWxlYXNlcyB0aGUgbWFpbmxvb3AgbG9jayB3aGlsZSB3YWl0aW5nLAoJICBhbGxvd2luZyBhbm90aGVyIHRocmVhZCB0byB0YWtlIGl0LCByZXN1bHRpbmcgaW4gYSBkZWFkbG9jayBhcyB0d28KCSAgdGhyZWFkcyB3YWl0cyBmb3IgdGhlIGxvY2sgdGhlIG90aGVyIGlzIGhvbGRpbmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDMwODcKCjIwMTEtMDItMjMgMTc6MTg6MTkgKzAxMDAgIFBoaWxpcCBKw6RnZW5zdGVkdCA8cGhpbGlwakBvcGVyYS5jb20+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogcy9yZXNzb3VyY2UvcmVzb3VyY2UvCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDMwODcKCjIwMTEtMDItMjUgMjA6MTI6MzUgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiByZW1vdmUgYWNjaWRlbnRhbCBkZWJ1ZyBtZXNzYWdlCgkgIGluIHByZXZpb3VzIGNvbW1pdAoKMjAxMS0wMi0yNSAxOTozNTo1MSAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEFkZCBzdXBwb3J0IGZvciAyVnV5IGFuZCByMjEwCgoyMDExLTAyLTI0IDE0OjA4OjI1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2VtZXRob2QuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlbWV0aG9kLmg6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvbGluZWFyLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvbGluZWFyYmxlbmQuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9zY2FsZXJib2IuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS92ZmlyLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvd2VhdmUuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS93ZWF2ZWJmZi5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3dlYXZldGZmLmM6CgkgIGRlaW50ZXJsYWNlOiBBZGQgc3VwcG9ydCBmb3IgTlYyMSBjb2xvcnNwYWNlCgoyMDExLTAyLTI0IDE0OjAwOjM3ICswMTAwICBDYXJzdGVuIEtyb2xsIDxjYXJAeGltaWRpLmNvbT4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2VtZXRob2QuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlbWV0aG9kLmg6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvbGluZWFyLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvbGluZWFyYmxlbmQuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9zY2FsZXJib2IuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS92ZmlyLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvd2VhdmUuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS93ZWF2ZWJmZi5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3dlYXZldGZmLmM6CgkgIGRlaW50ZXJsYWNlOiBBZGQgc3VwcG9ydCBmb3IgTlYxMiBjb2xvcnNwYWNlCgkgIEZpeGVzIGJ1ZyAjNjQyOTYxLgoKMjAxMS0wMi0yNCAxMzo1NjowNCArMDEwMCAgQ2Fyc3RlbiBLcm9sbCA8Y2FyQHhpbWlkaS5jb20+CgoJKiBleHQvZHYvZ3N0ZHZkZW11eC5jOgoJICBkdmRlbXV4OiBGaXJzdCB0cnkgaWYgdXBzdHJlYW0gaGFuZGxlcyBUSU1FIHNlZWtzIGJlZm9yZSBoYW5kbGluZyB0aGVtIGhlcmUKCSAgRml4ZXMgYnVnICM2NDI5NjMuCgoyMDEwLTExLTA4IDE0OjI1OjU5ICswMTAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmg6CgkgIGRlaW50ZXJsYWNlOiBTaW1wbGlmeSBzZXRjYXBzCgkgIFRoZSBjdXJyZW50IGNvZGUgbmV2ZXIgdXNlcyB1cHN0cmVhbSBuZWdvdGlhdGlvbiBzbyB0aGUgY29kZSBjYW4gYmUKCSAgc2lnbmlmaWNhbnRseSBzaW1wbGlmaWVkLgoKMjAxMS0wMS0yNCAxMjo0ODoxOCArMDEwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9ncmVlZHkuYzoKCSAgZGVpbnRlcmxhY2U6IFBvcnQgZ3JlZWR5bCB0byBHc3REZWludGVybGFjZVNpbXBsZU1ldGhvZAoJICBUaGUgbWFpbiBnb2FsIG9mIHRoaXMgY2hhbmdlIGlzIHRvIHJldXNlIHRoZSBjb21wbGV4IGJ1dCBub3cgbmVhdGx5CgkgIHdyaXR0ZW4gc2NhbmxpbmUgcG9pbnRlciBjYWxjdWxhdGlvbiBjb2RlIGZyb20gdGhlIHNpbXBsZSBtZXRob2RzLgoKMjAxMS0wMi0yMiAxNToyMDoxMSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2lkM2RlbXV4L2dzdGlkM2RlbXV4LmM6CgkgIFJldmVydCAiaWQzZGVtdXg6IGVuc3VyZSBhIHRhZ2xpc3QgYmVmb3JlIGFkZGluZyB0aGUgY29udGFpbmVyIHRhZyIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCBhODZiYWI2Njg5M2JiMWEzMzIzYTc1NjQxMDU3M2MxMTdiODIxOWVmLiBUaGUgaXNzdWUgaXMKCSAgZml4ZWQgd2l0aCBjb21taXQgZmY1ZTVhOGYwZGFhMWZkZjg5NzkyZDA3MjZlYTA2M2JiZDk5ZGIxOCBpbnN0ZWFkLgoKMjAxMS0wMi0yMiAxNToxOTowMCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2lkM2RlbXV4L2lkM3RhZ3MuYzoKCSAgaWQzZGVtdXg6IHJldHVybiBJRDNUQUdTX0JST0tFTl9UQUcgZm9yIHVuc3VwcG9ydGVkIHZlcnNpb25zCgkgIFRoaXMgcHJldmVudHMgdXMgZm9yIHRyeWluZyB0byB3b3JrIHdpdGggYSBOVUxMIHRhZ2xpc3QuCgoyMDExLTAyLTIyIDE0OjE1OjI3ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogRml4IHVuaXRpYWxpemVkIHZhcmlhYmxlLgoKMjAxMS0wMi0yMiAxNDowMToyNyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBlbnN1cmUgc2FuZSBwYXJhbWV0ZXJzIHdoZW4gcGFyc2luZyBzdXBlcmluZGV4CgoyMDExLTAyLTIyIDE0OjAwOjExICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IGNoZWNrIGZvciBOVUxMIGF1ZGlvIHN0cmVhbSBmb3JtYXQgaGVhZGVyIHdoZW4gcGFyc2luZyBzdHJlYW0KCjIwMTEtMDItMjIgMTQ6NTI6MTggKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9zZXJ2ZXItdjRsMi1IMjYzcC1hbHNhc3JjLUFNUi5zaDoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL3NlcnZlci12NGwyLUgyNjQtYWxzYXNyYy1QQ01BLnNoOgoJICBydHAtZXhhbXBsZXM6IG1vdmUgY2Fwc2ZpbHRlciBiZWhpbmQgY29udmVydGVycwoJICBXZSBuZWVkIHRvIGhhdmUgdGhlIGNhcHNmaWx0ZXIgYmVoaW4gdGhlIGNvbnZlcnRlcnMgdG8gbWFrZSB0aGUgY29udmVydGVycwoJICBjb252ZXJ0IGZyb20gdGhlIGZvcm1hdHMgdjRsMnNyYyBjYW4gZG8gdG8gd2hhdCB3ZSByZXF1ZXN0IHdpdGggdGhlCgkgIGNhcHNmaWx0ZXIuCgoyMDExLTAyLTIyIDE0OjUwOjU5ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvY2xpZW50LUgyNjQtUENNQS5zaDoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL2NsaWVudC1QQ01BLnNoOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvc2VydmVyLWFsc2FzcmMtUENNQS5zaDoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL3NlcnZlci12NGwyLUgyNjNwLWFsc2FzcmMtQU1SLnNoOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvc2VydmVyLXY0bDItSDI2NC1hbHNhc3JjLVBDTUEuc2g6CgkgIHJ0cC1leGFtcGxlczogZml4IGFzY2lpLWFydAoJICBTb21lIGJveGVzIHdoZXJlIG1pc2FsaWduZWQgZHVlIHRvIGxvbmcgImF1ZGlvdGV0c3NyYyIgbmFtZS4gVHJpbSB0cmFpbGluZwoJICB3aGl0ZXNwYWNlLgoKMjAxMS0wMi0yMiAxMzoyOToyNiArMDEwMCAgQmxhaXNlIEdhc3NlbmQgPGJsYWlzZSBhdCB3aWxsb3dnYXJhZ2UgZG90IGNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IGhhbmRsZSBOVUxMIGRlbXV4IGVsZW1lbnRzCgkgIFdoZW4gdXNpbmcgZ3N0cnRwYmluIHdpdGggaWdub3JlLXB0PXRydWUsIHRoZSBmcmVlX3N0cmVhbSBmdW5jdGlvbiB0cmllcyB0bwoJICBjYWxsIGdzdF9lbGVtZW50X3NldF9sb2NrZWRfc3RhdGUgYW5kIGdzdF9lbGVtZW50X3NldF9zdGF0ZSBvbiBhIHN0cmVhbS0+ZGVtdXgKCSAgd2hpY2ggaXMgTlVMTC4KCSAgZml4ZXMgIzY0MjQxMgoKMjAxMS0wMS0yNCAxMjoxODozOSArMDEwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZW1ldGhvZC5jOgoJICBkZWludGVybGFjZTogc21hbGwgY2xlYW4tdXBzCgkgIEltcHJvdmUgZGVidWcgb3V0cHV0IGJ5IHByaW50aW5nIHRoZSBidWZmZXIgcG9pbnRlciB3aGVuCgkgIHBvcHBpbmcgYSBidWZmZXIgYW5kIHNpbXBsaWZ5IGNvZGUgdG8gdXNlIHNjYW5saW5lcy5ib3R0b21fZmllbGQKCSAgYXMgYXBwcm9wcmlhdGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDI2OTEKCjIwMTEtMDEtMjQgMTI6MTg6MzkgKzAxMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogZml4IGFzc2lnbmVkIG1ldGhvZF9pZCB3aGVuIHVzaW5nIGZhbGxiYWNrCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDI2OTEKCjIwMTEtMDItMjEgMTc6MTc6MzIgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiBmaXggc2V0dGluZyB0aGUgU0RFUyBwcm9wZXJ0eQoJICBPbmx5IHRoZSBzZGVzIHZlcmlhYmxlIGlzIHByb3RlY3RlZCB3aXRoIHRoZSBvYmplY3QgbG9jay4KCSAgVXNlIHRoZSByaWdodCBvYmplY3Qgd2hlbiBzZXR0aW5nIHRoZSBzZGVzIHByb3BlcnR5LgoKMjAxMS0wMi0yMSAxMjowOTowNyArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY2Fpcm8vZ3N0dGV4dG92ZXJsYXkuYzoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSAgUmV2ZXJ0ICJDaGVjayB0aGF0IGNvbGxlY3RwYWRzIGV4aXN0cyBiZWZvcmUgcmVtb3ZpbmcgcGFkIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDhlNmI4NzZlNzZjOTQ0MTBkYjE2MGFmZTVlYjMwZjIxNDUyZTQxOWYuCgkgIERlcGVuZHMgb24gYSBjb3JlIGNvbW1pdCB0aGF0IHdhcyByZXZlcnRlZAoKMjAxMS0wMi0yMSAwMDo1NTo0OSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaWN5ZGVtdXgvZ3N0aWN5ZGVtdXguYzoKCSAgaWN5ZGVtdXg6IGZpeCB0YWcgbGlzdCBoYW5kbGluZyBpc3N1ZXMgdGhhdCBtaWdodCBoYXZlIGNhdXNlZCBjcmFzaGVzCgkgIEZpeCBzbGlnaHRseSBjb25mdXNlZCB0YWcgaGFuZGxpbmcgaW4gc29tZSBwbGFjZXM6IG1ha2UgaXQgY2xlYXIgd2hlbgoJICB3ZSdyZSB0YWtpbmcgb3duZXJzaGlwIG9mIGEgdGFnIGxpc3QgYW5kIHdoZW4gbm90LiBGb3IgZXhhbXBsZSwKCSAgZ3N0X2ljeWRlbXV4X3RhZ19mb3VuZCgpIHdhcyB0YWtpbmcgb3duZXJzaGlwIHdoZW4gdGhlIHNvdXJjZSBwYWQKCSAgZXhpc3RlZCwgYnV0IG90aGVyd2lzZSBub3QgKGxlYWspLiBBbHNvLCBnc3RfZXZlbnRfcGFyc2VfdGFnKCkgZG9lcwoJICBub3QgcmV0dXJuIGEgbmV3bHktYWxsb2NhdGVkIHRhZ2xpc3QsIGJ1dCBhIHRhZyBsaXN0IHRoYXQgYmVsb25ncyB0bwoJICB0aGUgdGFnIGV2ZW50LCBzbyBkb24ndCBnaXZlIG93bmVyc2hpcCBvZiBpdCBhd2F5LgoJICBXaGlsZSB3ZSdyZSBhdCBpdCwgc29tZSBtaW5vciBjbGVhbi11cHM6IGRvbid0IHJlLWludmVudCBnX3N0cm5kdXAoKQoJICBhbmQgc2ltcGxpZnkgZ3N0X2ljeWRlbXV4X3BhcnNlX2FuZF9zZW5kX3RhZ3MoKSBhIGJpdCwgYW5kIGRvbid0CgkgIGxlYWsgdGhlIHRhZyBsaXN0IGluIGNhc2Ugbm8gdmFsaWQgdGFncyB3aGVyZSBmb3VuZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0MTMzMAoKMjAxMS0wMi0yMCAyMzozOTo0MSAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvY2Fpcm8vZ3N0dGV4dG92ZXJsYXkuYzoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSAgQ2hlY2sgdGhhdCBjb2xsZWN0cGFkcyBleGlzdHMgYmVmb3JlIHJlbW92aW5nIHBhZAoJICBUaGUgY29yZSBub3cgY2FsbHMgcmVsZWFzZSBwYWQgZnJvbSBmaW5hbGl6ZSwgYXQgd2hpY2ggcG9pbnQKCSAgdGhlIGNvbGxlY3RwYWRzIG1pZ2h0IGhhdmUgYWxyZWFkeSBiZWVuIGZyZWVkLgoKMjAxMS0wMi0xOSAxNTo0ODoyMiAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOgoJICBwbmdkZWM6IEhhbmRsZSAxNi1iaXQtcGVyLWNoYW5uZWwgaW1hZ2VzCgoyMDExLTAyLTE4IDEwOjEyOjQ3ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBzdHJlYW0tPmN1cnJlbnRfdG90YWwgaXMgYWNjdW11bGF0ZWQgYnl0ZSBzaXplIGFuZCBub3QgdGltZQoJICBVc2UgdGltZXN0YW1wIGZvciB0aGUgc3RyZWFtIGluZGV4IGFzIHdlbGwuCgoyMDExLTAyLTE1IDE5OjMzOjQ1IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkgIHVkcHNpbms6IHdhcm4gd2hlbiBwYWNrZXQgaXMgdG9vIGxhcmdlCgoyMDExLTAyLTE3IDE3OjU5OjI1IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9NYWtlZmlsZS5hbToKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5oOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EuYzoKCSAgbWF0cm9za2FwYXJzZTogTmV3IGVsZW1lbnQKCSAgQ29waWVkIGZyb20gZGVtdXguICBEdXBsaWNhdGVzIG11Y2ggY29kZSwgYWxzbyBzb21lIGRlYWQgY29kZQoJICByZW1haW5pbmcuCgoyMDExLTAyLTE3IDE3OjU3OjU1IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBFYXJsaWVyIGRlYnVnIGNhdGVnb3J5IGluaXRpYWxpemF0aW9uCgoyMDExLTAxLTIyIDAwOjEzOjE2IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkgIGZsdm11eDogZG9uJ3Qgc2V0IGR1cmF0aW9uIGZvciBsaXZlIHN0cmVhbQoKMjAxMS0wMS0wNiAxNTo0NDoyNCAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvZGVidWd1dGlscy9NYWtlZmlsZS5hbToKCSogZ3N0L2RlYnVndXRpbHMvbmVnb3RpYXRpb24uYzoKCSAgZGVidWd1dGlsczogcmVtb3ZlIGJpdHJvdHRlbiBuZWdvdGlhdGlvbiBlbGVtZW50CgkgIFdhc24ndCBlbmFibGVkLCBkaWRuJ3Qgd29yaywgYW5kIHBsYW5uZWQgZmVhdHVyZXMgaGF2ZSBiZWVuCgkgIHN1cGVyY2VkZWQgYnkgY2Fwc2ZpbHRlciBhbmQgY2Fwc2RlYnVnLgoKMjAxMC0wOS0xNyAxMjoxMDozOCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2cmF3cGF5Lmg6CgkgIHJ0cHZyYXdwYXk6IEltcGxlbWVudCBpbnRlcmxhY2luZwoKMjAxMS0wMi0xNyAxNzo1Nzo0MiArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogYWxzbyBhZGQgdGhlIGZyYW1lLXR5cGUgZm9yIHRoZSBzdHJlYW0gaW5kZXgKCjIwMTEtMDItMTcgMTc6NTY6MjkgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IGdldCB0aGUgaW5kZXggd3JpdGVyIGlkIHdoZW4gdGhlIHBhZCBoYXMgYSBwYXJlbnQKCSAgT3RoZXJ3aXNlIHRoZSBpbmRleCB3cml0ZXIgaGFzIGEgd2VpcmVkIG5hbWUsIGFzIHRoZSBwYWQgaGFzIG5vIHBhcmVudCB5ZXQuCgoyMDExLTAyLTE3IDE0OjAwOjQ4ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgYXZpZGVtdXgsIGZsdmRlbXV4OiBmb3JtYXR0aW5nIGNsZWFudXAKCSAgVHJpbSB0cmFpbGluZyB3aGl0ZXNwYWNlcyBhbmQgZml4IHRoZSBmb3JtYXR0aW5nIG9mIGRvdWJsZSBuZWdhdGlvbi4KCjIwMTEtMDItMTcgMTM6NTc6MzcgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBhdmlkZW11eCwgZmx2ZGVtdXg6IG1hcmsgZGVsdGEtdW5pdHMgaW4gdGhlIGluZGV4CgkgIFdlIG5lZWQgdG8gdXNlIHRoZSAnZGVsdGEnIGZsYWcgZm9yIGRlbHRhIHVuaXRzIGFuZCBub3QgdGhlICdub25lJyBmbGFnLgoKMjAxMS0wMi0xNyAxMTo1ODo0MiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9pY2xlcy8uZ2l0aWdub3JlOgoJICAuZ2l0aWdub3JlOiBpZ25vcmUgbW92ZWQgZXF1YWxpemVyIHRlc3QgYmluYXJ5CgoyMDExLTAyLTE3IDEyOjQ2OjE0ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IG1hcmsgZGVsdGEtdW5pdCBpbiB0aGUgaW5kZXgKCSAgV2UgbmVlZCB0byB1c2UgdGhlIGRlbHRhIGZsYWcgZnJvIGRlbHRhIHVuaXRzIGFuZCBub3Qgbm9uZS4gUHJpbnQgbW9yZSBkZXRhaWxzCgkgIHRvIHRoZSBkZWJ1ZyBsb2cuCgoyMDExLTAyLTE3IDEyOjQ0OjAxICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGZvcm1hdHRpbmcgY2xlYW51cAoJICBUcmltIHRyYWlsaW5nIHdoaXRlc3BhY2VzIGFuZCBmaXggdGhlIGZvcm1hdHRpbmcgb2YgZG91YmxlIG5lZ2F0aW9uLgoKMjAxMS0wMi0xNiAxNzowOToyMCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogcmV3b3JrIF9yZXF1ZXN0X25ld19wYWQgdG8gaGFuZGxlIGV4cGxpY3QgcmVxLXBhZC1uYW1lcwoJICBEb24ndCBpZ25vcmUgZXhwbGljaXQgcGFkLW5hbWVzLgoKMjAxMS0wMi0xNiAxNzowNjo1MSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSAgYXZpbXV4OiByZXdvcmsgX3JlcXVlc3RfbmV3X3BhZCB0byBoYW5kbGUgZXhwbGljdCByZXEtcGFkLW5hbWVzCgkgIERvbid0IGlnbm9yZSBleHBsaWNpdCBwYWQtbmFtZXMuIFJlYXJyYW5nZSB0aGUgY29kZSBhbmQgdGhlIGVycm9yIGhhbmRsaW5nIGEKCSAgYml0LiBBZGQgYSBGSVhNRS0wLjExIGZvciB0aGUgYmFkIHBhZC1uYW1lcy4KCjIwMTEtMDItMTYgMTU6Mjg6NTMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvaWNsZXMvTWFrZWZpbGUuYW06CgkgIGljbGVzOiBBZGQgZXF1YWxpemVyLXRlc3QgdG8gdGhlIGJ1aWxkIHN5c3RlbQoKMjAxMS0wMi0xNiAxNToyMzo1MCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9pY2xlcy9lcXVhbGl6ZXItdGVzdC5jOgoJICBbTU9WRUQgRlJPTSBCQUQgNS81XSBlcXVhbGl6ZXItdGVzdDogSW5pdGlhbGl6ZSBkZWJ1ZyBjYXRlZ29yeSBhZnRlciBnc3RfaW5pdCgpIHRvIGZpeCBzZWdmYXVsdAoKMjAwNy0xMS0wNyAxNTozNjo1OSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEIDQvNV0gdGVzdHMvaWNsZXMvZXF1YWxpemVyLXRlc3QuYzogRml4IGdhaW4gcmFuZ2VzIGZvciB0aGUgbGF0ZXN0IGVxdWFsaXplciBjaGFuZ2VzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9pY2xlcy9lcXVhbGl6ZXItdGVzdC5jOiAoZG9fc2xpZGVyX2ZpZGRsaW5nKToKCSAgRml4IGdhaW4gcmFuZ2VzIGZvciB0aGUgbGF0ZXN0IGVxdWFsaXplciBjaGFuZ2VzLgoKMjAwNy0wNS0yMSAxNDowMToxNiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgW01PVkVEIEZST00gQkFEIDMvNV0gQ2hhbmdlTG9nOiBDaGFuZ2VMb2cgc3VyZ2VyeS4gZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYyAoQVJHX0JBTkRfV0lEVEgsIF9kb19pbml0LCBBUkdfR0FJTiwgX0dzdElpckVxdWFsaXplckJhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIENoYW5nZUxvZzoKCSAgQ2hhbmdlTG9nIHN1cmdlcnkuCgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYyAoQVJHX0JBTkRfV0lEVEgsIF9kb19pbml0LCBBUkdfR0FJTiwKCSAgX0dzdElpckVxdWFsaXplckJhbmQsIG9iamVjdCwgX0dzdElpckVxdWFsaXplckJhbmRDbGFzcywKCSAgcGFyZW50X2NsYXNzLCBnc3RfaWlyX2VxdWFsaXplcl9iYW5kX3NldF9wcm9wZXJ0eSwKCSAgZ3N0X2lpcl9lcXVhbGl6ZXJfYmFuZF9jbGFzc19pbml0LCBnc3RfaWlyX2VxdWFsaXplcl9iYW5kX2dldF90eXBlLAoJICBnc3RfaWlyX2VxdWFsaXplcl9jaGlsZF9wcm94eV9nZXRfY2hpbGRfYnlfaW5kZXgsCgkgIGdzdF9paXJfZXF1YWxpemVyX2NoaWxkX3Byb3h5X2dldF9jaGlsZHJlbl9jb3VudCwKCSAgZ3N0X2lpcl9lcXVhbGl6ZXJfY2hpbGRfcHJveHlfaW50ZXJmYWNlX2luaXQsIHNldHVwX2ZpbHRlciwKCSAgZ3N0X2lpcl9lcXVhbGl6ZXJfY29tcHV0ZV9mcmVxdWVuY2llcywgcGx1Z2luX2luaXQpOgoJICAqIHRlc3RzL2ljbGVzL2VxdWFsaXplci10ZXN0LmM6CgkgIEFkZCBmaXhtZSBhbmQgY29tbWVudCBmb3IgZXhhbXBsZS4KCjIwMDctMDMtMTQgMTY6MzM6MDMgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAyLzVdIHRlc3RzL2ljbGVzL2VxdWFsaXplci10ZXN0LmM6IFBvcnQgdGhlIGV4YW1wbGUgdG8gbmV3IGVxdWFsaXplciBhcGkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2ljbGVzL2VxdWFsaXplci10ZXN0LmM6IChlcXVhbGl6ZXJfc2V0X2JhbmRfdmFsdWUpLAoJICAoZXF1YWxpemVyX3NldF9hbGxfYmFuZF92YWx1ZXMpLAoJICAoZXF1YWxpemVyX3NldF9iYW5kX3ZhbHVlX2FuZF93YWl0KSwKCSAgKGVxdWFsaXplcl9zZXRfYWxsX2JhbmRfdmFsdWVzX2FuZF93YWl0KSwgKGRvX3NsaWRlcl9maWRkbGluZyksCgkgIChtYWluKToKCSAgUG9ydCB0aGUgZXhhbXBsZSB0byBuZXcgZXF1YWxpemVyIGFwaS4KCjIwMDctMDItMDMgMjM6MzU6MjYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBbTU9WRUQgRlJPTSBCQUQgMS81XSBGaXggdXAgdG8gdXNlIHRoZSBuZXdseSBwb3J0ZWQgKGFjdHVhbGx5IHdvcmtpbmcpIEdzdEF1ZGlvRmlsdGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L2VxdWFsaXplci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOiAoZ3N0X2lpcl9lcXVhbGl6ZXJfYmFzZV9pbml0KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2NsYXNzX2luaXQpLCAoZ3N0X2lpcl9lcXVhbGl6ZXJfaW5pdCksCgkgIChzZXR1cF9maWx0ZXIpLCAoZ3N0X2lpcl9lcXVhbGl6ZXJfY29tcHV0ZV9mcmVxdWVuY2llcyksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9zZXRfcHJvcGVydHkpLCAoZ3N0X2lpcl9lcXVhbGl6ZXJfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX3RyYW5zZm9ybV9pcCksIChnc3RfaWlyX2VxdWFsaXplcl9zZXR1cCksCgkgIChwbHVnaW5faW5pdCk6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuaDoKCSAgRml4IHVwIHRvIHVzZSB0aGUgbmV3bHkgcG9ydGVkIChhY3R1YWxseSB3b3JraW5nKSBHc3RBdWRpb0ZpbHRlci4KCSAgQnVtcCBjb3JlL2Jhc2UgcmVxdWlyZW1lbnRzIHRvIENWUyBmb3IgdGhpcy4KCSAgKiB0ZXN0cy9pY2xlcy8uY3ZzaWdub3JlOgoJICAqIHRlc3RzL2ljbGVzL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2ljbGVzL2VxdWFsaXplci10ZXN0LmM6IChjaGVja19idXMpLAoJICAoZXF1YWxpemVyX3NldF9iYW5kX3ZhbHVlKSwgKGVxdWFsaXplcl9zZXRfYWxsX2JhbmRfdmFsdWVzKSwKCSAgKGVxdWFsaXplcl9zZXRfYmFuZF92YWx1ZV9hbmRfd2FpdCksCgkgIChlcXVhbGl6ZXJfc2V0X2FsbF9iYW5kX3ZhbHVlc19hbmRfd2FpdCksIChkb19zbGlkZXJfZmlkZGxpbmcpLAoJICAobWFpbik6CgkgIEFkZCBicmFpbi1kZWFkIGludGVyYWN0aXZlIHRlc3QgZm9yIGVxdWFsaXplci4KCjIwMTEtMDItMTUgMTU6NTk6MzIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyOiBBZGQgUEpQRyBtYXBwaW5nCgkgIEFkZHMgbWFwcGluZyBvZiBwcm9ncmVzc2l2ZSBqcGVnIGZvcm1hdAoKMjAxMS0wMi0xNSAxNjozMDoyMCArMDEwMCAgQW5keSBXaW5nbyA8d2luZ29Ab2Jsb25nLmNvbT4KCgkgIHBsdWcgcXRkZW11eCByZWZjb3VudCBsZWFrcwoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYyAoZ3N0X3F0ZGVtdXhfc3JjX2NvbnZlcnQpOiBVbnJlZiB0aGUgcXRkZW11eDsgd2UKCSAgd2VyZW4ndCBkb2luZyBzbyBiZWZvcmUuCgkgIChnc3RfcXRkZW11eF9oYW5kbGVfc3JjX2V2ZW50LCBnc3RfcXRkZW11eF9jaGFpbik6IEZpeCBzb21lIGVycm9yCgkgIGNhc2VzIHdoaWNoIHdvdWxkIGxlYWsgYSByZWYgdG8gdGhlIHF0ZGVtdXguCgoyMDExLTAyLTE0IDIwOjIwOjA4ICswMTAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPGFtb3JhbGVzQGZsdW1vdGlvbi5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwaHR0cHNyYzogQWRkIFVSSSBxdWVyeSBoYW5kbGVyCgkgIEZpeGVzIGJ1ZyAjNjQyMzM3LgoKMjAxMS0wMi0xNCAxNzo0OTo1NCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogYXZvaWQgc29ydGluZyBOVUxMIGFycmF5IG9mIGNsdXN0ZXIgcG9zaXRpb25zCgoyMDExLTAyLTE0IDE2OjQ2OjQ2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYXBheS5jOgoJICB0aGVvcmFwYXk6IGhhbmRsZSAwIHNpemVkIHBhY2tldHMKCSAgSGFuZGxlIDAgc2l6ZWQgcGFja2V0cyAocmVwZWF0IGZyYW1lKSBpbiB0aGUgcGF5bG9hZGVyIGFuZCBkZXBheWxvYWRlci4KCSAgRml4ZXMgIzY0MTgyNwoKMjAxMS0wMi0xNCAxNToyMToyOSArMDIwMCAgVHV1a2thIFBhc2FuZW4gPHR1dWtrYS5wYXNhbmVuQGlsbWkuZmk+CgoJKiBnc3QvZGVidWd1dGlscy9nc3R0YWdpbmplY3QuYzoKCSAgdGFnaW5qZWN0OiByZXNlbmQgdGFncyB3aGVuIHRoZXkgYXJlIGNoYW5nZWQKCSAgQWxsb3cgc2V0dGluZyBuZXcgdGFncyBvbiB0aGUgcHJvcGVydHkgd2hpbGUgcnVubmluZyBhbmQgc2VuZCB0aGVtLgoJICBGaXhlcyAjNjQwMjQ5CgoyMDExLTAyLTE0IDEyOjUzOjI3ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGY5NGQ3MzkgdG8gMWRlN2Y2YQoKMjAxMS0wMi0wNyAyMzozMjo1MyArMDEwMCAgTWlndWVsIEFuZ2VsIENhYnJlcmEgTW95YSA8bWFkbWFjMjUwMUBnbWFpbC5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGZpeCBtaW5vciBsZWFrcyB3aGVuIGhhbmRsaW5nIHNlcnZlciByZXF1ZXN0cy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0MDE2MwoKMjAxMS0wMi0xNCAwMDo0OTowMCArMDAwMCAgSGVhdGggTmllbHNvbiA8aGVhdGhuQGdtYWlsLmNvbT4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZXh0cmFjdCBNdXNpY0JyYWlueiB0YWdzCgkgIEV4dHJhY3QgTXVzaWNCcmFpbnogdGFncyBhZGRlZCBieSBNdXNpY0JyYWlueidzIFBpY2FyZAoJICB0YWdnZXIgYXBwbGljYXRpb24uIFRoZXNlIHRhZ3MgKGVzcC4gdGhlIGFsYnVtIGlkKSBhcmUKCSAgaGVscGZ1bCBmb3Igcmh5dGhtYm94IGV0LmFsLiB0byBhdXRvbWF0aWNhbGx5IGRvd25sb2FkcwoJICBjb3ZlciBhcnQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDIyMDUKCjIwMTEtMDItMTQgMDA6Mzg6NDUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiByZWZhY3RvciBpVHVuZXMgdGFnIHBhcnNpbmcgYSBiaXQKCjIwMTEtMDItMTAgMjM6NTI6NTEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LXBsdWdpbnMtZ29vZC5kb2FwOgoJICBkb2FwOiB1cGRhdGUgbWFpbGluZyBsaXN0IGxvY2F0aW9uCgoyMDExLTAyLTEwIDE4OjExOjQ2ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogcHJvcGFnYXRlIGVycm9yIGR1cmluZyBleHBvc2Vfc3RyZWFtcwoJICAuLi4gYXMgaXQgbWF5IG9jY3VyIGR1cmluZyBpbml0aWFsIHBhcnNpbmcgb2YgZnJhZ21lbnRlZCBmaWxlLgoKMjAxMS0wMi0xMCAxODowMDoxMSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGF2b2lkIHNraXBwaW5nIGV4cG9zaW5nIGEgc3RyZWFtIGZvbGxvd2luZyBhIHJlbW92ZWQgc3RyZWFtCgoyMDExLTAyLTEwIDExOjU2OjMzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguaDoKCSAgbWF0cm9za2FkZW11eDogc3RvcmUgY2x1c3RlciBwb3NpdGlvbnMgcHJvdmlkZWQgYnkgU2Vla0hlYWQKCSAgLi4uIGFuZCB1c2UgdGhvc2UsIGlmIGF2YWlsYWJsZSwgdG8gbG9jYXRlIGEgY2x1c3RlciByYXRoZXIgdGhhbiBzY2FubmluZy4KCjIwMTEtMDItMDkgMTY6MjI6NDcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IHByb3Blcmx5IHJlc3VtZSBjbHVzdGVyIHNjYW5uaW5nCgkgIC4uLiByYXRoZXIgdGhhbiBnZXR0aW5nIG9mZnNldCB0cmFja2luZyBtZXNzZWQgdXAsIGFuZCB0aGVuIGxpa2VseQoJICBmYWlsaW5nIGEgc3Vic2VxdWVudCBhc3NlcnQuCgoyMDExLTAyLTA4IDEwOjA3OjQzICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvaWQzZGVtdXgvZ3N0aWQzZGVtdXguYzoKCSAgaWQzZGVtdXg6IGVuc3VyZSBhIHRhZ2xpc3QgYmVmb3JlIGFkZGluZyB0aGUgY29udGFpbmVyIHRhZwoJICBJbiB0aGUgY2FzZSBvZiBpZDN2MSBhbHNvIGRvbid0IHJldHVybiBOVUxMIG9uIGVtcHR5IHRhZ3MsIGJ1dCBhbHNvIGNyZWF0ZSBhIG5ldwoJICB0YWdsaXN0IGFuZCBhZGQgdGhlIGNvbnRhaW5lciB0YWcgZm9yIGNvbnNpc3RlbmN5LgoKMjAxMS0wMi0wNyAxNzowODo0NyArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBzdHJpcCB0cmFpbGluZyBzcGFjZXMKCjIwMTEtMDItMDcgMTc6MDc6NDIgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRwc3JjOiBzZXQgbXVsdGlwbGUgcHJvcGVydGllcyBpbiBvbmUgZ28KCSAgVGhlcmUgaXMgbm8gbmVlZCBmb3Igc2VwYXJhdGUgZ19vYmplY3Rfc2V0KCkgY2FsbHMgaGVyZS4KCjIwMTEtMDItMDMgMTY6MTA6NDkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2RlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBIYW5kbGUgaW1hZ2UgY2FwcyB3aXRob3V0IGFzc2VydGluZwoJICBJbWFnZXMgbWlnaHQgaGF2ZSBmcmFtZXJhdGU9MC8xIGluIHRoZSBjYXBzLCB3aGljaCBjYXVzZWQgYW4KCSAgYXNzZXJ0aW9uIG9uIGRlaW50ZXJsYWNlLiBJIGRvbid0IGtub3cgb2YgaW50ZXJsYWNlZCBpbWFnZSBmb3JtYXRzCgkgIGJ1dCBkZWludGVybGFjZSBtaWdodCBiZSBoYXJkY29kZWQgb24gc29tZSBnZW5lcmljIHBpcGVsaW5lcyBhbmQKCSAgaXQgc2hvdWxkbid0IGFzc2VydC4KCSAgVGhlIGZpeCB3YXMgdG8gc2V0IGZpZWxkX2R1cmF0aW9uIHRvIDAgaWYgdGhlIGlucHV0IGhhcyBhIGZyYW1lcmF0ZQoJICB3aXRoIGEgMCBudW1lcmF0b3IuCgkgIFRoaXMgcGF0Y2ggYWxzbyBhZGRzIGNoZWNrcyBmb3IgdGhpcyBzaXR1YXRpb24gb24gdGhlIHVuaXQgdGVzdHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDE0MDAKCjIwMTEtMDItMDQgMTI6MzM6MDkgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIGRvY3M6IGZpeCBwYXJhbWV0ZXIgbmFtZSBpbiB1ZHBzcmMgZG9jcwoJICBJdCBpcyAiYnVmZmVyLXNpemUiIGFuZCBub3QgImJ1ZmZlciIuIEFsc28gdHJpbSB0cmFpbGluZyB3aGl0ZXNwYWNlLgoKMjAxMS0wMi0wMyAyMzo0Mjo1OSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDI6IGZpeCBpbnRlcmxhY2VkIHNldF9mb3JtYXQgY29uZmlndXJhdGlvbgoJICBDb21taXQgNmM4MjY4ZGJmZDVjODhmYWMyOGM4ODJlZjJlNDU5OGE2NTIyZTJkNiBicm9rZSByZWNvcmRpbmcKCSAgZnJvbSBpbnRlcmxhY2VkIHY0bDIgc291cmNlIChlLmcuIHR5cGljYWwgdHYgY2FwdHVyZSBjYXJkKSBzaW5jZQoJICBWNEwyX0ZJRUxEX1NFUV9UQiAod2l0aCBmaWVsZHMgc3RvcmVkIHNlcGFyYXRlbHkpIGRvZXMgbm90IG1hcAoJICB0byBjdXJyZW50bHkgZGVmaW5lZCBpbnRlcmxhY2VkIGZvcm1hdCAoZmllbGRzIHN0b3JlZCBpbnRlcmxlYXZlZCkuCgkgIEJlc2lkZXMgdGhpcyBtaXNtYXRjaCwgaGFyZHdhcmUgbWlnaHQgcXVpdGUgbGlrZWx5IG5vdCBzdXBwb3J0IG9yCgkgIGFwcHJlY2lhdGUgdGhpcyBmaWVsZCB2YWx1ZSwgc2luY2UgcXVlcnlpbmcgc3VwcG9ydGVkIGZvcm1hdHMgbWFwcGVkCgkgIF9JTlRFUkxBQ0VEIGZpZWxkIGZvcm1hdHMgdG8gaW50ZXJsYWNlZD10cnVlIGNhcHMgKHNvIHRoZSBsYXR0ZXIgc2hvdWxkCgkgIG5vdCBiZSBtYXBwZWQgdG8gZmllbGQgdmFsdWUgdGhhdCBpcyBub3Qga25vd24gdG8gYmUgc3VwcG9ydGVkKS4KCjIwMTEtMDItMDIgMTg6Mjc6NTIgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSAgc291cmNlOiBmaXggdHlwZSBvZiBudHBuc3RpbWUKCjIwMTEtMDItMDIgMTg6MjE6MjYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmg6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmg6CgkgIHJ0cGJpbjogR2V0IGFuZCB1c2UgdGhlIE5UUCB0aW1lIHdoZW4gcmVjZWl2aW5nIFJUQ1AKCSAgV2hlbiB3ZSByZWNlaXZlIGFuIFJUQ1AgcGFja2V0LCBnZXQgdGhlIGN1cnJlbnQgTlRQIHRpbWUgaW4gbmFuc2Vjb25kcyBzbyB0aGF0CgkgIHdlIGNhbiBjb3JyZWN0bHkgY2FsY3VsYXRlIHRoZSByb3VuZC10cmlwIHRpbWUuCgoyMDExLTAyLTAxIDE5OjQwOjU4ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSAgZGlyZWN0c291bmQ6IGFycmFuZ2UgZm9yIGRlZmluaXRpb24gb2YgX3N3YWIgb24gQ3lnd2luCgkgIGdzdGRpcmVjdHNvdW5kc2luay5jOiBJbiBmdW5jdGlvbiAnZ3N0X2RpcmVjdHNvdW5kX3Npbmtfd3JpdGUnOgoJICBnc3RkaXJlY3Rzb3VuZHNpbmsuYzo1NTc6IGVycm9yOiBpbXBsaWNpdCBkZWNsYXJhdGlvbiBvZiBmdW5jdGlvbiAnX3N3YWInCgkgIGdzdGRpcmVjdHNvdW5kc2luay5jOjU1NzogZXJyb3I6IG5lc3RlZCBleHRlcm4gZGVjbGFyYXRpb24gb2YgJ19zd2FiJwoKMjAxMC0xMC0wNiAyMToxNzoyOCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYWRlcGF5Lmg6CgkgIHJ0cHRoZW9yYWRlcGF5OiBSZXF1ZXN0IG5ldyBrZXlmcmFtZSBvbiBsb3N0IHBhY2tldHMKCSAgVGhlb3JhIGNhbiBvbmx5IHVzZSB0aGUgbGFzdCBmcmFtZSAob3IgdGhlIGtleWZyYW1lKSBhcyBhIHJlZmVyZW5jZSwgc28gaW4KCSAgcHJhY3RpY2UuIElmIHdlIHJlY2VpdmUgYSBidWZmZXIgdGhhdCByZWZlcmVuY2VzIGFuIHVua25vd24gY29kZWJvb2ssIHJlcXVlc3QKCSAgbmV3IGhlYWRlcnMuIEl0IHByb2JhYmx5IG1lYW5zIHRoYXQgaGVhZGVycyB3ZXJlIGxvc3QuCgoyMDEwLTA4LTI3IDE0OjExOjUzIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4tbWFyc2hhbC5saXN0OgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgcnRwc2Vzc2lvbjogQWRkIGFjdGlvbiBzaWduYWwgdG8gcmVxdWVzdCBlYXJseSBSVENQCgoyMDEwLTA4LTI3IDE2OjExOjA2IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBydHBzZXNzaW9uOiBBZGQgY2FsbGJhY2sgdG8gZ2V0IHRoZSBjdXJyZW50IHRpbWUKCjIwMTAtMTAtMTkgMjI6MjE6NTQgKzAyMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBydHBzZXNzaW9uOiBEb24ndCByZWxheSBtb3JlIHRoYW4gb25lIFBMSSByZXF1ZXN0IHBlciBSVFQKCSAgRHJvcCBQTEkgcmVxdWVzdHMgaWYgb25lIHdhcyByZWxheSBpbiB0aGUgbGFzdCBSVFQsIHRoZSBvdGhlciBzaWRlIG1heQoJICBqdXN0IG5vdCBoYXZlIHJlY2VpdmVkIHRoZSBrZXlmcmFtZSB5ZXQuCgoyMDEwLTA2LTIzIDE2OjQzOjI0IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBydHBzZXNzaW9uOiBTZW5kIEdzdEZvcmNlS2V5VW5pdCBldmVudCBpbiByZXNwb25zZSB0byByZWNlaXZlZCBSVENQIFBMSQoKMjAxMC0xMS0yNCAxNToyNzo0NiAtMDUwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkLnNpbW9uc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIGdzdHJ0cHNlc3Npb246IEZhbGxiYWNrIGZvciBGSVIgdG8gUExJIGlmIFBMSSBpc24ndCBhdmFpbGFibGUKCjIwMTAtMDYtMjIgMTk6NTY6NTAgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIHJ0cHNlc3Npb246IEltcGxlbWVudCBzZW5kaW5nIFBMSSBwYWNrZXRzIGluIHJlc3BvbnNlIHRvIEdzdEZvcmNlS2V5VW5pdAoKMjAxMC0wNi0yMiAxMzozMzozMiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuaDoKCSAgcnRwc291cmNlOiBSZXRhaW4gUlRDUCBGZWVkYmFjayBwYWNrZXRzIGZvciBhIHNwZWNpZmllZCBhbW91bnQgb2YgdGltZQoKMjAxMC0wOS0wNyAxMzozNToxNiArMDMwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBNYWtlIHJ0Y3AgYnVmZmVyIG1ldGFkYXRhIHdyaXRhYmxlIGFmdGVyIHByb2Nlc3NpbmcgaXQKCSAgRnVuY3Rpb25zIHRoYXQgcHJvY2VzcyB0aGUgcnRjcCBidWZmZXIgY291bGQgZGVjaWRlIHRvIGtlZXAgYSByZWYKCSAgb24gdGhlIGJ1ZmZlciBmb3IgZnVydGhlciBwcm9jZXNzaW5nLiBTbyBtYWtlIHRoZSBtZXRhZGF0YSB3cml0YWJsZQoJICBvbmx5IGFmdGVyIHRoZXkgYXJlIGRvbmUuCgoyMDEwLTA2LTE3IDE3OjM0OjE5IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4tbWFyc2hhbC5saXN0OgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgcnRwc2Vzc2lvbjogRW1pdCBzaWduYWwgb24gaW5jb21pbmcgUlRDUCBGQiBwYWNrZXQKCjIwMTEtMDItMDEgMTg6MTc6MTMgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IGZpeCBjb21waWxhdGlvbgoKMjAxMC0wNi0xNSAxODozOTo0NyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIHJ0cHNlc3Npb246IEFkZCBtZXRob2QgdG8gcmVxdWVzdCBlYXJseSBSVENQIHBhY2tldAoJICBJbXBsZW1lbnQgdGhlIGVhcmx5IG1vZGUgZGVmaW5lZCBpbiBSRkMgNDU4NS4gSW4gdGhpcyBtb2RlLCBSVENQIGZlZWRiYWNrCgkgIHBhY2tldHMgYXJlIHNlbnQgZWFybHkgdG8gbm90aWZpZXIuCgoyMDEwLTA2LTAxIDE5OjI4OjAxIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc3RhdHMuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc3RhdHMuaDoKCSAgcnRwc2Vzc2lvbjogQWRkIHByb3BlcnR5IGZvciBtaW5pbXVtIGludGVydmFsIGJldHdlZW4gUmVndWxhciBSVENQIG1lc3NhZ2VzCgkgIFRoaXMgY2FuIGJlIGNoYW5nZWQgYWNjb3JkaW5nIHRvIFJGQyA0NTg1CgoyMDEwLTA2LTE0IDE4OjQwOjMzIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4tbWFyc2hhbC5saXN0OgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgcnRwc2Vzc2lvbjogRW1pdCBzaWduYWwgd2hlbiBzZW5kaW5nIGEgY29tcG91bmQgUlRDUCBwYWNrZXQKCSAgVGhpcyBhbGxvd3MgdXNlcnMgdG8gYWRkIGV4dHJhIFJUQ1AgcGFja2V0cyB0byB0aGUgY29tcG91bmQKCSAgUlRDUCBwYWNrZXQuCgoyMDEwLTA2LTE5IDE5OjExOjA2IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6CgkgIHJ0cHB0ZGVtdXg6IFRhZyB1cHN0cmVhbSBjdXN0b20gZXZlbnRzIHdpdGggcGF5bG9hZCB0eXBlCgoyMDEwLTA2LTE4IDE5OjEyOjQwIC0wNDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJICBydHBzc3JjZGVtdXg6IFRhZyB1cHN0cmVhbSBjdXN0b20gZXZlbnRzIHdpdGggU1NSQwoKMjAxMC0xMC0wMSAxNzoxOToxNiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBFbWl0ICJvbi1zc3JjLXZhbGlkYXRlZCIgd2hlbiB2YWxpZGF0aW5nIGJ5IFJUQ1AKCSAgRW1pdCAib24tc3NyYy12YWxpZGF0ZWQiIGlmIHRoZSBTU1JDIGlzIHZhbGlkYXRlZCBieSByZWNlaXZpbmcKCSAgYSBSVENQIFNERVMgcGFja2V0LgoKMjAxMS0wMi0wMSAxNjozODoyMCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwajJrcGF5LmM6CgkgIGoya3BheTogc2tpcCBFUEggcGFja2V0cwoJICBJbmNsdWRlIEVQSCBtYXJrZXJzIGludG8gdGhlIHByZXZpb3VzIGNodW5rIG9mIHBhY2tldHMuCgoyMDExLTAxLTMxIDE3OjU2OjE4IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cHBjbWFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY21hcGF5Lmg6CgkgIHJ0cHBjbWFwYXk6IFJlbmFtZSB0aGUgY2xhc3MgdG8gaGF2ZSB0aGUgcmlnaHQgbmFtZQoJICBJdCB3YXMgbmFtZSBwbWNhIGluc3RlYWQgb2YgcGNtYSBhbmQgbWFkZSBkZWJ1ZyBsb2dzIGhhcmQgdG8gc2VhcmNoLgoKMjAxMS0wMS0zMSAwNTo1ODozNiArMDEwMCAgRGF2aWQgSGVubmluZ3Nzb24gPGRhdmlkLmhlbm5pbmdzc29uQGNhbm9uaWNhbC5jb20+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIFB1bHNlc2luazogQWxsb3cgY2h1bmtzIHVwIHRvIGJ1ZnNpemUgaW5zdGVhZCBvZiBzZWdzaXplCgkgIEJ5IGFsbG93aW5nIGxhcmdlciBjaHVua3MgdG8gYmUgc2VudCwgUHVsc2VBdWRpbyB3aWxsIGhhdmUgYQoJICBsb3dlciBDUFUgdXNhZ2UuIFRoaXMgaXMgZXNwZWNpYWxseSBpbXBvcnRhbnQgb24gbG93LWVuZCBtYWNoaW5lcywKCSAgd2hlcmUgUHVsc2VBdWRpbyBjYW4gY3Jhc2ggaWYgcGFja2V0cyBhcmUgY29taW5nIGluIGF0IGEgaGlnaGVyCgkgIHJhdGUgdGhhbiBQdWxzZUF1ZGlvIGNhbiBwcm9jZXNzIHRoZW0uCgkgIFNpZ25lZC1vZmYtYnk6IERhdmlkIEhlbm5pbmdzc29uIDxkYXZpZC5oZW5uaW5nc3NvbkBjYW5vbmljYWwuY29tPgoKMjAxMS0wMS0zMSAxMzo0NDo0NSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IHNpbXBsaWZ5IHRlbXBsYXRlIGNhcHMKCSAgV2UgY2FuIG1lcmdlIGFsbCB0aGUgWVVWIHZhcmlhbnRzIGludG8gb25lIHNpbmdsZSBzdHJ1Y3R1cmUuCgoyMDExLTAxLTI3IDE1OjM1OjA2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICB3aW4zMjogZml4IERFRkFVTFRfQVVESU9TSU5LLCBzaG91bGQgYmUgZGlyZWN0KnNvdW5kKnNpbmsKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0MDcwNQoKMjAxMS0wMS0yNyAxNjowMjo0NiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBpbml0aWFsaXplIGxvY2FsIHZhcmlhYmxlIHRvIHBsZWFzZSBtaW5ndzMyIGNvbXBpbGVyCgoyMDExLTAxLTI2IDIyOjIxOjMxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0dWRwbmV0dXRpbHMuaDoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgdWRwOiB1c2Ugc29ja2xlbl90IHdoZXJlIGFwcHJvcHJpYXRlIHJhdGhlciB0aGFuIGN1c3RvbSB0eXBlCgkgIEluIHBhcnRpY3VsYXIsIGZpeGVzIEN5Z3dpbiBidWlsZCB3aGVyZSBzb2NrbGVuX3QgaXMgZGVmaW5lZCBhcyBpbnQKCSAgaW4gbGluZSB3aXRoIG5hdGl2ZSB3aW4zMiBhcGkgZGVmaW5pdGlvbi4KCjIwMTEtMDEtMjcgMTI6MTY6NDYgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBtaW5kIHJvdW5kaW5nIGlzc3VlcyB3aGVuIGNvbnZlcnRpbmcgZnJvbSBnbG9iYWwgdGltZSB0byBtb3YgdGltZQoJICBJbiBwYXJ0aWN1bGFyLCB0aGlzIGF2b2lkcyBtaXNzaW5nIHRoZSBpbnRlbmRlZCBrZXlmcmFtZSB3aGVuIGZpcnN0IGNvbnZlcnRpbmcKCSAgZnJvbSB0aGUgZnJhbWUncyBtb3YgdGltZSB0byBnbG9iYWwgc2VnbWVudCB0aW1lLCBhbmQgdGhlbiBiYWNrIGZyb20gZ2xvYmFsCgkgIHRpbWUgdG8gbW92IHRpbWUgd2hlbiBhY3RpdmF0aW5nIHRoZSBzZWdtZW50LgoKMjAxMS0wMS0yNiAwODo0ODo0MyArMDAwMCAgT2dueWFuIFRvbmNoZXYgPG9nbnlhbi50b25jaGV2QGF4aXMuY29tPgoKCSogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbWF0cm9za2FtdXguYzoKCSAgbWF0cm9za2FtdXg6IGRvbid0IGxlYWsgZWJtbCB3cml0ZXIgY2FwcyB3aGVuIHJlLXVzaW5nIG1hdHJvc2thbXV4CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDA1NDIKCjIwMTEtMDEtMjUgMjE6NTY6MTkgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IGRvbid0IGRpdmlkZSBieSAwCgoyMDExLTAxLTE4IDE0OjQ4OjA0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBwdWxsIG1vZGUgc2hvdWxkIGFsd2F5cyByZXBvcnQgc2Vla2FibGUKCSAgLi4uIGFzIGl0IG5vIGxvbmdlciByZXF1aXJlcyBhbiBpbmRleCwgYnV0IGNhbiBzZWVrIGJ5IHNjYW5uaW5nIGFzIHdlbGwuCgoyMDExLTAxLTEwIDEyOjM0OjIyICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eF9mb3VyY2MuaDoKCSAgcXRkZW11eDogc3VwcG9ydCBzb21lIG1vcmUgbXBlZy00IGZvdXJjYyB2YXJpYW50cwoKMjAxMS0wMS0xMCAxMjozNDowMyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHNpbXBsaWZ5IHJldHJpZXZpbmcgc3RzZCBjaGlsZCBlbnRyeSBhdG9tCgoyMDExLTAxLTI0IDE4OjI3OjUyICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IERvbid0IGNvbnNpZGVyIDAgZmNjX2hhbmRsZXIgYXMgdW5jb21wcmVzc2VkLgoJICBKdXN0IGF2b2lkcyBhIHdhcm5pbmcKCjIwMTEtMDEtMjAgMTI6MTQ6MDggKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHRha2UgY29uZmlndXJlZCBzdGFydCB0aW1lIGludG8gYWNjb3VudAoJICB3aGVuIGNyZWF0aW5nIHRoZSBuZXdzZWdtZW50IGV2ZW50LCB0YWtlIHRoZSBjb25maWd1cmVkIHN0YXJ0IHRpbWUKCSAgaW50byBhY2NvdW50LgoKMjAxMS0wMS0yNCAxNToxMTowMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGZpeCBwcmludGYgZm9ybWF0IHdhcm5pbmcgb24gbWluZ3czMgoJICBNYWtlIHdpbjMyIGJ1aWxkIGJvdCBoYXBweSBhZ2FpbiwgYW5kIG5pY2VmeSBvdXRwdXQgd2hpbGUgd2UncmUgYXQgaXQuCgkgIHF0ZGVtdXguYzogSW4gZnVuY3Rpb24gJ3F0ZGVtdXhfcGFyc2VfdHJ1bic6CgkgIHF0ZGVtdXguYzoyMTYyOjM6IGVycm9yOiBmb3JtYXQgJyVsdScgZXhwZWN0cyB0eXBlICdsb25nIHVuc2lnbmVkIGludCcsIGJ1dCBhcmd1bWVudCA5IGhhcyB0eXBlICdndWludDMyJwoKMjAxMS0wMS0yNCAxMzozOTo1OCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvY2xpZW50LUgyNjNwLUFNUi5zaDoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL2NsaWVudC1IMjYzcC1QQ01BLnNoOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvY2xpZW50LUgyNjQtUENNQS5zaDoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL2NsaWVudC1QQ01BLnNoOgoJICBleGFtcGxlczogYXV0b2F1ZGlzaW5rIC0+IGF1dG9hdWRpb3NpbmsgaW4gUlRQIGV4YW1wbGVzCgoyMDExLTAxLTI0IDAwOjMyOjQxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFubm9kZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhhbGVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vbm9zY29wZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXVpY2t0aW1lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBCYWNrIHRvIGRldmVsb3BtZW50Cgo9PT0gcmVsZWFzZSAwLjEwLjI3ID09PQoKMjAxMS0wMS0yMSAxMjo1NDoxNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oYWxlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXVpY2t0aW1lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogZ3N0LXBsdWdpbnMtZ29vZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMC4xMC4yNwoKMjAxMS0wMS0yMCAxNDoxMDo1NSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOgoJICBoMjY0ZGVwYXk6IGRvbid0IGxlYWsgY29kZWMgZGF0YSBidWZmZXIgaW4gYnl0ZS1zdHJlYW09dHJ1ZSBtb2RlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDAwNjMKCjIwMTEtMDEtMjAgMTM6NDE6MzMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBkb24ndCBsZWFrIHVybCBzdHJpbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0MDA2NAoKMjAxMS0wMS0yMCAxMTo0NTo0NyArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEdyYWNlZnVsbHkgaGFuZGxlIG1vdiBmaWxlcyBtaXN1c2luZyB0aGUgV0FWRSBhdG9tcwoJICBDaGVjayB0aGF0IHRoZSBXQVZFSEVBREVSIG5vZGUgaXMgcHJlc2VudCBpbnN0ZWFkIG9mIGJsaW5kbHkgdXNpbmcgaXQuCgkgIElmIG5vdCBwcmVzZW50IHdlIHdvbid0IGJlIGFibGUgdG8gcHJvdmlkZSBhIG1vcmUgcmVmaW5lZCBjYXBzLCBidXQgYXQKCSAgbGVhc3Qgd2Ugd29uJ3QgY3Jhc2guCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDAwMjgKCjIwMTEtMDEtMjAgMDA6MDc6MzMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSAgdjRsMnNpbms6IGZpeCBhY2NpZGVudGFsIGJyZWFrYWdlIG9mIG5hdmlnYXRpb24gaW50ZXJmYWNlIHN1cHBvcnQKCjIwMTEtMDEtMTggMTI6NTg6MjkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIDAuMTAuMjYuNCBwcmUtcmVsZWFzZQoKMjAxMS0wMS0xMiAxNDowMzo1NyAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2VtZXRob2QuYzoKCSAgZGVpbnRlcmxhY2U6IHJld3JpdGUgaG93IG5laWdoYm9yaW5nIHNjYW4gbGluZXMgYXJlIGNhbGN1bGF0ZWQKCSAgT2xkIGNvZGUgd2FzIGRpZmZpY3VsdCB0byB1bmRlcnN0YW5kIGV4YWN0bHkgaG93IHRoZSBuZWlnaGJvcmluZwoJICBzY2FuIGxpbmVzIGFyZSBjYWxjdWxhdGVkLCBhbmQgaXQgYXBwZWFyZWQgdGhhdCBzb21lIHdlcmUgb2ZmIGJ5CgkgICsyIG9yIC0yLCBkZXBlbmRpbmcgb24gdGhlIGZpZWxkIGZsYWcuICBGaXhlcyAjNjM5MzIxLgoKMjAxMS0wMS0xOCAwOTozMzowNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aXN1YnRpdGxlLmM6CgkgIGF2aXN1YnRpdGxlOiBzZXQgY2FwcyBvbiBzcmNwYWQgdG8gZml4IGlzc3VlIHdpdGggZGlzY292ZXJlcgoJICBTZXQgY2FwcyBmcm9tIHRoZSBzdGFydCBzbyBkaXNjb3ZlcmVyIGRvZXNuJ3QgYmxvdyB1cCBvbgoJICBzZWVpbmcgbm8gbmVnb3RpYXRlZCBjYXBzIGJldHdlZW4gZWxlbWVudHMgb24gcHJlcm9sbCwKCSAgd2hpY2ggbWlnaHQgaGFwcGVuIGlmIG5vIHN1YnRpdGxlIGJ1ZmZlcnMgaGF2ZSBiZWVuCgkgIHB1c2hlZCB5ZXQgYXQgdGhlIHRpbWUuIFNlZSBmaWxlIGZyb20gYnVnICM2MDMzMDguCgoyMDExLTAxLTE3IDIwOjA5OjE2ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBVbmNvcmsgc3RyZWFtIHdoaWxlIGZsdXNoaW5nIHRoZSByaW5nYnVmZmVyCgkgIEFmdGVyIHN0YXJ0aW5nIHRoZSByaW5nYnVmZmVyLCB3ZSB3YWl0IGZvciBlbm91Z2ggZGF0YSB0byBhcnJpdmUgYmVmb3JlCgkgIHVuY29ya2luZyB0aGUgc3RyZWFtLiBUaGlzIHdpbGwgY2F1c2UgdGhlIHBpcGVsaW5lIHRvIHN0YWxsIGlmIHdlIGdldCBhbgoJICBFT1MgKG9yIG90aGVyd2lzZSBuZWVkIHRvIGZsdXNoIHRoZSBzdHJlYW0pIGJlZm9yZSBzdWZmaWNpZW50IGRhdGEKCSAgYmVjb21lcyBhdmFpbGFibGUuIFRoaXMgcGF0Y2ggbWFrZXMgc3VyZSB0aGF0IHRoZSBzdHJlYW0gaXMgdW5jb3JrZWQKCSAgd2hpbGUgZmx1c2hpbmcgdG8gYXZvaWQgdGhpcyBwcm9ibGVtLgoJICBGaXhlcyBpc3N1ZSB3aXRoIGEgd2Via2l0IHVuaXQgdGVzdCB0ZXN0aW5nIHJldmVyc2UgcGxheWJhY2sgb2YKCSAgYW4gTVA0IEguMjY0L0FBQyBmaWxlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjM5NzQwCgoyMDExLTAxLTE0IDE0OjUxOjUxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IGF2b2lkIGNyZWF0aW5nIGNhcHMgZnJvbSBzdHJpbmcgd2hlbiBwb3NzaWJsZQoJICBGaXhlcyAjNjM5NTE2LgoKMjAxMS0wMS0xNCAxNDo0ODo0OSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJICBhdmltdXg6IHNldCBzcmMgcGFkIGNhcHMgd2hlbiBzdGFydGluZyBmaWxlCgkgIEZpeGVzICM2Mzk1MTYuCgoyMDExLTAxLTEyIDIwOjM4OjU5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMjogZGVmaW5lIFY0TDJfRklFTERfSU5URVJMQUNFRF97VEIsQlR9IGlmIG5vdCBhdmFpbGFibGUgaW4gaGVhZGVyCgkgIE9sZGVyIGtlcm5lbHMgZG9uJ3QgaGF2ZSB0aGVzZSwgYW5kIHRoZXJlJ3Mgbm8gZWFzeSB3YXkgdG8gY2hlY2sgZm9yIHRoZQoJICBleGlzdGFuY2Ugb2YgZW51bXMgdGhhdCBkb2Vzbid0IGludm9sdmUgYSBjb25maWd1cmUgY2hlY2ssIHNvIGp1c3QgZGVmaW5lCgkgIHRoZXNlIGlmIHRoZSBWNEwyX0NBUF9WSURFT19PVVRQVVRfT1ZFUkxBWSBkZWZpbmUgaXMgbm90IHRoZXJlLCB3aGljaCB3YXMKCSAgYWRkZWQgaW4gdGhlIHNhbWUgY29tbWl0IGFzIHRoZSBUQi9CVCBlbnVtLiBGaXhlcyBjb21waWxhdGlvbiBvbiBDZW50T1MgNS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzOTMzOQoKMjAxMS0wMS0xMSAyMzoxODo1OSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgMC4xMC4yNi4zIHByZS1yZWxlYXNlCgoyMDExLTAxLTExIDIyOjQyOjQyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFubm9kZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhhbGVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdWlja3RpbWUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJICBkb2NzOiB1cGRhdGUgZG9jcwoKMjAxMS0wMS0xMSAyMzozOToxMiArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogTWFrZSBjb3JraW5nIGR1cmluZyBwYXVzZSBzeW5jaHJvbm91cwoJICBUaGlzIG1ha2VzIHRoZSBjYWxsIHRvIHBhX3N0cmVhbV9jb3JrKCkgZHVyaW5nIHJpbmdidWZmZXIgcGF1c2UoKQoJICBzeW5jaHJvbm91cywgd2hpY2ggbWFrZXMgc3VyZSB0aGF0IHRoZSBjbG9jayBkb2VzIG5vdCBhZHZhbmNlIGFmdGVyIHdlCgkgIHRha2UgYSBzbmFwc2hvdCBmb3Igc3RhcnRfdGltZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzOTI0MAoKMjAxMS0wMS0xMSAxOTozMzoxNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBwby9kYS5wbzoKCSogcG8vZ2wucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vc2wucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSAgcG86IHVwZGF0ZSB0cmFuc2xhdGlvbnMKCjIwMTEtMDEtMTEgMTU6NTA6MjggKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gZTU3MmM4NyB0byBmOTRkNzM5CgoyMDExLTAxLTEwIDE2OjM2OjE5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gY2NiYWE4NSB0byBlNTcyYzg3CgoyMDExLTAxLTEwIDE0OjUzOjM5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNDY0NDVhZCB0byBjY2JhYTg1CgoyMDExLTAxLTA3IDEzOjI0OjAyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICAwLjEwLjI2LjIgcHJlLXJlbGVhc2UKCjIwMTEtMDEtMDcgMTM6MDY6MzggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2dsLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9yby5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHBvL3poX0hLLnBvOgoJKiBwby96aF9UVy5wbzoKCSAgcG86IHVwZGF0ZSB0cmFuc2xhdGlvbnMKCjIwMTEtMDEtMDcgMDI6MzI6MjAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FscGhhL2dzdGFscGhhLmM6CgkgIGFscGhhOiBmaXggY29tcGlsZXIgd2FybmluZ3MgY2F1c2VkIGJ5IC1ER19ESVNBQkxFX0FTU0VSVAoKMjAxMS0wMS0wNyAwMjowNjo1MSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvZWJtbC1yZWFkLmM6CgkgIG1hdHJvc2thOiBkb24ndCBwdXQgZXNzZW50aWFsIGZ1bmN0aW9uIGNhbGxzIGludG8gZ19hc3NlcnQoKQoJICBnX2Fzc2VydCgpIHdpbGwgZXhwYW5kIHRvIE5PT1BzIGlmIC1ER19ESVNBQkxFX0FTU0VSVCBpcyBwYXNzZWQuCgoyMDExLTAxLTA3IDAxOjM1OjQ1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkgIHY0bDJzaW5rOiBkb24ndCBwdXQgZnVuY3Rpb25hbCBjb2RlIGxpa2UgaW9jdGwgY2FsbHMgaW50byBnX3JldHVybl9pZl9mYWlsKCkKCSAgVGhlc2UgbWFjcm9zIHdpbGwgZXhwYW5kIHRvIE5PT1BzIGdpdmVuIHRoZSByaWdodCBkZWZpbmVzLiBBbHNvLAoJICBnX3JldHVybl9pZl9mYWlsKCkgYW5kIGZyaWVuZHMgYXJlIG1lYW50IHRvIGJlIHVzZWQgdG8gY2F0Y2ggcHJvZ3JhbW1pbmcKCSAgZXJyb3JzIChsaWtlIGludmFsaWQgaW5wdXQgdG8gZnVuY3Rpb25zKSwgbm90IHJ1bnRpbWUgZXJyb3IgaGFuZGxpbmcuCgoyMDExLTAxLTA3IDAxOjExOjAyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICB0ZXN0czogbmV2ZXIgZGlzYWJsZSBnX2Fzc2VydCgpIGFuZCBjYXN0IGNoZWNrcyBmb3IgdGhlIHVuaXQgdGVzdHMKCSAgVGhlIHVuaXQgdGVzdHMgYXJlIHJpZGRsZWQgd2l0aCBnX2Fzc2VydCgpIGFuZCBmcmllbmRzLCBtYWtlIHN1cmUgd2UKCSAgZG9uJ3QgZGlzYWJsZSBhc3NlcnQgYW5kIGNhc3QgY2hlY2tzIGZvciB0aGUgdW5pdCB0ZXN0cyBldmVuIGlmCgkgIHRoaXMgaGFzIGJlZW4gc3BlY2lmaWVkIGZvciB0aGUgcmVzdCBvZiB0aGUgY29kZSBiYXNlLCBlLmcuIHZpYQoJICAtLWRpc2FibGUtZ2xpYi1hc3NlcnRzLgoKMjAxMS0wMS0wNiAxMjoyOToyMSArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGFkZXBheS5jOgoJICBydHA6IEZpeCB1bml0aWFsaXplZCB2YXJpYWJsZXMgb24gbWFjb3N4CgoyMDExLTAxLTA2IDEyOjI4OjU4ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfZHVtcC5jOgoJICBxdGRlbXV4OiBGaXggdW5pdGlhbGl6ZWQgdmFyaWFibGVzIG9uIG1hY29zeAoKMjAxMS0wMS0wNSAxNzo0OToxNiAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvZGVidWd1dGlscy9nc3RjYXBzZGVidWcuYzoKCSAgY2Fwc2RlYnVnOiBBZGQgY2FwZGVidWcgZGVidWcgY2F0ZWdvcnkKCjIwMTAtMTItMTEgMTI6NDI6MTAgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBDaGFuZ2UgdGhlIGRlZmF1bHQgdG8gbGluZWFyCgkgIFRoZSBwcmV2aW91cyBkZWZhdWx0LCBncmVlZHloLCB0YWtlcyA0IHRpbWVzIGFzIGxvbmcgYXMgTVBFRy0yCgkgIHZpZGVvIGRlY29kaW5nLCBhbmQgaXMgdW5saWtlbHkgZmFzdCBlbm91Z2ggb24gYW55IGN1cnJlbnQgQ1BVCgkgIHRvIHBsYXkgMTA4MGkgdmlkZW8gaW4gcmVhbC10aW1lLiAgZ3JlZWR5bCBpc24ndCBtdWNoIGZhc3Rlci4KCSAgbGluZWFyIHdhcyBjaG9zZW4gb3ZlciB2ZmlyLCBzaW5jZSB0aGUgcXVhbGl0eSBhZHZhbnRhZ2Ugb2YgdmZpcgoJICBpcyBtaW5pbWFsIGNvbXBhcmVkIHRvIHRoZSBvY2Nhc2lvbmFsIHZpc3VhbCBhcnRpZmFjdHMgYW5kIHNsb3dlcgoJICBwcm9jZXNzaW5nLgoKMjAxMS0wMS0wNSAxODozMjo1OCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogZG9uJ3QgY29uZnVzZSByZXR1cm4gdmFsdWVzCgkgIFJldHVybiBhIHJldHVybiB2YWx1ZSBvZiB0aGUgcmlnaHQgdHlwZS4KCjIwMTEtMDEtMDUgMTY6MjQ6MTMgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4X2R1bXAuYzoKCSAgcXRkZW11eDogRml4IHVuaXRpYWxpemVkIHZhcmlhYmxlcyBvbiBtYWNvc3gKCjIwMTEtMDEtMDUgMTU6MDM6MzIgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdkZXBheS5jOgoJICB2cmF3ZGVwYXk6IGZpeCBsZW5ndGggY2hlY2sKCSAgQWRkIHNvbWUgbW9yZSBkZWJ1Z2dpbmcuCgkgIEFkZCB0aGUgbGVuZ3RoIGNoZWNrIHNvIHdlIGRvbid0IGNhdXNlIHVubmVlZGVkIHdhcm5pbmdzLgoKMjAxMS0wMS0wNSAxMjowNDowMyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmg6CgkgIG11bHRpdWRwc2luazogYWRkIGJ1ZmZlci1zaXplIHByb3BlcnR5CgkgIEFkZCBidWZmZXItc2l6ZSBwcm9wZXJ0eSB0byBjb25maWd1cmUgdGhlIGtlcm5lbCBzZW5kIGJ1ZmZlci4KCjIwMTEtMDEtMDMgMjA6MTY6MjIgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogcmVtb3ZlIHVudXNlZCB2YXJpYWJsZXMgd2hlbiBkZWJ1Zy1sb2dnaW5nIGRpc2FibGVkCgoyMDExLTAxLTAzIDIwOjA2OjM1ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2EtZGVtdXg6IHJlbW92ZSB1bnVzZWQgdmFyaWFibGVzIHdoZW4gZGVidWctbG9nZ2luZyBkaXNhYmxlZAoKMjAxMS0wMS0wMyAxODowNToxNSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9saWJjYWNhL2dzdGNhY2FzaW5rLmM6CgkgIGNhY2FzaW5rOiBmaXggbWFza3MgYW5kIHN0cmlkZXMKCSAgVXNlIHRoZSByaWdodCBlbmRpYW5uZXNzIHRvIHJlYWQgdGhlIG1hc2tzLgoJICBVc2UgdGhlIHJpZ2h0IHN0cmlkZXMgZm9yIHRoZSBiaXRtYXAuCgkgIEZpeGVzICM2Mzg1NjkKCjIwMTEtMDEtMDMgMDE6MTg6MDYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICB2NGwyc3JjOiB1bmRvIHByZXN1bWFibHkgYWNjaWRlbnRhbCBlbmFibGVtZW50IG9mIHRoZSBHc3RYT3ZlcmxheSBpbnRlcmZhY2UKCSAgTG9va3MgbGlrZSB0aGlzIGdvdCBlbmFibGVkIGJ5IGFjY2lkZW50IHdoZW4gYWRkaW5nIGl0IHRvIHY0bDJzaW5rLAoJICBzbyB1bmRvIHRoaXMgZm9yIG5vdy4gTm90IHN1cmUgaXQgbWFrZXMgbXVjaCBzZW5zZSBpbiBhIEdTdHJlYW1lcgoJICBjb250ZXh0IHdpdGggY3VycmVudCBoYXJkd2FyZS4KCjIwMTEtMDEtMDMgMTU6NDA6MTEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGluY3JlYXNlIHVkcCBidWZmZXIgc2l6ZQoJICBTZXQgYSBiaWdnZXIgVURQIGJ1ZmZlciBzaXplIGJ5IGRlZmF1bHQgdG8gcmVkdWNlIHBhY2tldCBsb3NzIHdpdGgKCSAgaGlnaCBiaXRyYXRlIHN0cmVhbXMuCgoyMDExLTAxLTAyIDE5OjE5OjI3IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuaDoKCSAgbXVsdGlmaWxlc2luazogc2VuZCBzdHJlYW0gaGVhZGVycyBpbiBrZXktZnJhbWUgbW9kZQoKMjAxMS0wMS0wMiAxOTo0MzowMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvamFjay9NYWtlZmlsZS5hbToKCSogZXh0L2phY2svUkVBRE1FOgoJKiBleHQvamFjay9nc3RqYWNrLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6CgkgIGphY2s6IGZpeCB1cCBlbGVtZW50IGRldGFpbHMgYW5kIHNvbWUgb3RoZXIgbWlub3IgY2xlYW4tdXBzCgoyMDExLTAxLTAyIDE5OjIzOjUxICswMDAwICBFcmljaCBTY2h1YmVydCA8ZXJpY2hAZGViaWFuLm9yZz4KCgkqIGdzdC9pZDNkZW11eC9pZDN2MmZyYW1lcy5jOgoJICBpZDNkZW11eDogZml4IHBhcnNpbmcgb2YgSUQzdjIuNCBnZW5yZSBmcmFtZXMgd2l0aCBtdWx0aXBsZSBnZW5yZXMKCSAgV2UnZCBvbmx5IGV4dHJhY3QgdGhlIGZpcnN0IGdlbnJlIChtdWx0aXBsZSB0aW1lcykgaW5zdGVhZCBvZiBhbGwKCSAgZ2VucmVzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjM4NTM1CgoyMDExLTAxLTAyIDE3OjQwOjQxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6CgkgIGphY2s6IHRlbXBsYXRlIGNhcHMgaGFkIGxpc3RzIHdpdGggb25lIHZhbHVlLCBqdXN0IHVzZSB2YWx1ZSBkaXJlY3RseQoKMjAxMS0wMS0wMiAxNzowNzoxOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvamFjay9nc3RqYWNrLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6CgkgIGphY2s6IG1ha2UgZ2V0X3R5cGUgZnVuY3Rpb25zIHRocmVhZC1zYWZlCgkgIEJlY2F1c2Ugd2UgY2FuIChzaG91bGRuJ3QgYmUgbmVlZGVkIHdpdGggb3RoZXIgd29ya2Fyb3VuZHMgc3RpbGwgdGhlcmUpLgoKMjAxMS0wMS0wMiAxNToyNzoxOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vbm9zY29wZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJICBkb2NzOiB1cGRhdGUgcGx1Z2luIGRvY3MKCjIwMTEtMDEtMDIgMTU6MjU6NDEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogLmdpdGlnbm9yZToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGdzdC1wbHVnaW5zLWdvb2Quc3BlYy5pbjoKCSogdGVzdHMvZXhhbXBsZXMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2phY2svTWFrZWZpbGUuYW06CgkgIGphY2s6IG5ldyBqYWNrYXVkaW9zcmMgYW5kIGphY2thdWRpb3NpbmsgZWxlbWVudHMsIG1vdmVkIGZyb20gZ3N0LXBsdWdpbnMtYmFkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjE5MjkKCjIwMTAtMTAtMTkgMTY6MjM6MjMgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6CgkgIHZhcmlvdXMgKGV4dCk6IGFkZCBtaXNzaW5nIEdfUEFSQU1fU1RBVElDX1NUUklOR1MgZmxhZ3MKCSAgQ2Fub25pY2FsaXplIHByb3BlcnR5IG5hbWVzIGFzIG5lZWRlZC4KCjIwMTAtMDktMDkgMTQ6NDk6MDYgLTA0MDAgIFRyaXN0YW4gTWF0dGhld3MgPGxlLmJ1c2luZXNzbWFuQGdtYWlsLmNvbT4KCgkqIGV4dC9qYWNrL01ha2VmaWxlLmFtOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJICBqYWNrOiBhZGRlZCB0cmFuc2xhdGFibGUgdGV4dCBmb3Igc2VydmVyIG5vdCBmb3VuZCBlcnJvcgoKMjAxMC0wOS0wNiAxNzoxNzo1NCAtMDQwMCAgVHJpc3RhbiBNYXR0aGV3cyA8bGUuYnVzaW5lc3NtYW5AZ21haWwuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvamFjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvamFjay9qYWNrX2NsaWVudC5jOgoJICBleGFtcGxlczogYWRkIHRlc3QgdG8gZGVtb25zdHJhdGUgamFja19jbGllbnRfdCB1c2FnZQoKMjAxMC0wOS0wNiAxNjoxMTozMSAtMDQwMCAgVHJpc3RhbiBNYXR0aGV3cyA8bGUuYnVzaW5lc3NtYW5AZ21haWwuY29tPgoKCSogZXh0L2phY2svZ3N0amFjay5jOgoJKiBleHQvamFjay9nc3RqYWNrLmg6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb2NsaWVudC5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9jbGllbnQuaDoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmg6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuaDoKCSAgamFjazogYWRkZWQgY2xpZW50IHByb3BlcnR5CgoyMDEwLTA2LTE3IDE2OjI2OjA3IC0wNDAwICBUcmlzdGFuIE1hdHRoZXdzIDx0cmlzdGFuQHNhdC5xYy5jYT4KCgkqIGV4dC9qYWNrL2dzdGphY2tiaW4uYzoKCSAgamFjazogcmVtb3ZlZCB1bnVzZWQgZmlsZSBnc3RqYWNrYmluLmMKCSAgVGhpcyBpcyBhIDAuOCBsZWZ0b3Zlci4KCjIwMTAtMDUtMTMgMTI6NTU6MjkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSAgamFja3NyYzogbWFrZSBzdXJlIHdlIGFsd2F5cyByZWFkIG5mcmFtZXMKCSAgRXJyb3Igb3V0IHdoZW4gd2UgYXJlIGFza2VkIHRvIHJlYWQgYSBkaWZmZXJlbnQgc2l6ZSB0aGF0IHdoYXQgd2FzIGNvbmZpZ3VyZWQgYXMKCSAgdGhlIGphY2sgcGVyaW9kIHNpemUgYmVjYXVzZSB0aGF0IHdvdWxkIG1lYW4gc29tZXRoaW5nIGVsc2UgaXMgd3JvbmcuCgkgIEZpeGVzICM2MTg0MDkKCjIwMTAtMDUtMTEgMTc6NTY6MzEgLTA0MDAgIFRyaXN0YW4gTWF0dGhld3MgPHRyaXN0YW5Ac2F0LnFjLmNhPgoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5oOgoJICBqYWNrOiBpbXByb3ZlIHByb2Nlc3NfY2IKCjIwMTAtMDQtMjcgMTA6NDg6MzIgLTA0MDAgIFRyaXN0YW4gTWF0dGhld3MgPHRyaXN0YW5AdHJpc3Rhbi1sYXB0b3AuKG5vbmUpPgoKCSogZXh0L2phY2svTWFrZWZpbGUuYW06CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJKiBleHQvamFjay9nc3RqYWNrdXRpbC5jOgoJKiBleHQvamFjay9nc3RqYWNrdXRpbC5oOgoJICBqYWNrOiBpbXBsZW1lbnQgbXVsdGljaGFubmVsIHN1cHBvcnQgY29ycmVjdGx5IGZvciBqYWNrYXVkaW9zcmMKCSAgRml4ZXMgcGFydHMgb2YgYnVnICM2MTY1NDEuCgoyMDEwLTA0LTI3IDExOjIxOjE2ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJKiBleHQvamFjay9nc3RqYWNrcmluZ2J1ZmZlci5oOgoJICBqYWNrOiByZW1vdmUgZW1wdHkgZGlzcG9zZSBhbmQgZmluYWxpemUgbWV0aG9kcwoKMjAxMC0wNC0yNyAxMDo1OTowMCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSAgamFjazogZG9uJ3QgbGVhayBjYXBzCgkgIEFkZCBkaXNwb3NlIG1ldGhvZHMgdG8gY2xlYXIgY2Fwcy4KCjIwMTAtMDQtMjcgMTA6MzQ6MjQgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6CgkgIGphY2s6IGRvbid0IHVzZSBHU1RfREVCVUdfRlVOQ1BUUiBmb3IgZ29iamVjdCB2bWV0aG9kcwoKMjAxMC0wMy0yNCAxNTo1OTo1MyArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6CgkgIGphY2s6IGZpeCBlbGVtZW50IG5hbWUgaW4gc2VjdGlvbiBkb2MgYmxvYgoKMjAxMC0wMy0yMiAxNjo1NjowMyArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6CgkgIEFkZCAtV29sZC1zdHlsZS1kZWZpbml0aW9uCgkgIGFuZCBmaXggdGhlIHdhcm5pbmdzCgoyMDEwLTAzLTIxIDIxOjM5OjE4ICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBleHQvamFjay9nc3RqYWNrLmg6CgkgIEFkZCAtV21pc3NpbmctZGVjbGFyYXRpb25zIC1XbWlzc2luZy1wcm90b3R5cGVzIHRvIGNvbmZpZ3VyZSBmbGFncwoJICBBbmQgZml4IGFsbCB3YXJuaW5ncwoKMjAxMC0wMy0xOCAxNzozMDoyNiArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSAgZ3N0X2VsZW1lbnRfY2xhc3Nfc2V0X2RldGFpbHMgPT4gZ3N0X2VsZW1lbnRfY2xhc3Nfc2V0X2RldGFpbHNfc2ltcGxlCgoyMDA5LTEwLTEyIDA5OjA2OjM3ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJICBqYWNrOiBlbnN1cmUgc2VndG90YWwgaXMgYXQgbGVhc3QgMgoJICBOb3Qgb25seSBhZGp1c3QgYnVmZmVyLXRpbWUgYW5kIGF2b2lkIHNlZ3RvdGFsPTAsIGJ1dCBpbnN0ZWFkIGVuc3VyZSBzZWd0b3RhbCBpcwoJICBhdGxlYXN0IDIuIERvIHNhbWUgY2hhbmdlIG9uIGphY2tzcmMuIFdlIGNvdWxkIGFsc28gY2hlY2sgdGhlIGxhdGVuY3kgYW5kIGJ1ZmZlcgoJICB0aW1lIGNvbmZpZ3VyZWQgYnkgdGhlIGNsaWVudCBhbmQgYWRqdXN0IGJ1ZmZlci10aW1lIHNvIHRoYXQgd2UgZ2V0IHRvIHRoZSBzYW1lCgkgIG51bWJlciBvZiBzZWdtZW50cy4KCjIwMDktMTAtMTIgMDA6NTE6MjcgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzoKCSAgamFjazogZG9uJ3QgY3Jhc2ggaW4gcmluZ2J1ZmZlciB3aXRoIFNJR0ZQRSBvbiBzbWFsbCBidWZmZXItdGltZXMKCSAgSmFjayBvdmVycmlkZXMgdXNlci1zcGVjaWZpZWQgbGF0ZW5jeS10aW1lIHdpdGggdGhlIG9uZSBpdCBnZXRzIGZyb20gamFjawoJICBpdHNlbGYuIEl0IGFsc28gbmVlZHMgdG8gYWRqdXN0IGJ1ZmZlci10aW1lIHNvbWV3aGF0IHRvIGF2b2lkIHNlZ3RvdGFsIGJlaW5nIDAKCjIwMDktMDUtMTEgMTY6MTI6NTQgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb2NsaWVudC5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkgIGphY2s6IHdoZW4gc3RvcHBpbmcgcGxheWJhY2ssIGRvIG9uZSBtb3JlIGN5Y2xlIHRvIGZsdXNoIHRoZSBwb3J0LiBGaXhlcyAjNTgyMTY3CgkgIFRoZSBnc3RfamFja19hdWRpb19jbGllbnRfc2V0X2FjdGl2ZSgpIGZsYWdzIHRoZSBwb3J0IGFzIGRlYWN0aXZhdGluZyBhbmQgdXNlcwoJICBhIEdDb25kIHRvIHdhaXQgdW50aWwgdGhlIGphY2tfcHJvY2Vzc19jYigpIGhhcyBydW4gb25jZSBtb3JlIGFuZCBjbGVhcmVkIHRoZQoJICBmbGFnLiBUaGlzIHdheSB0aGUgY2xpZW50IHplcm8ncyB0aGUgYnVmZmVyLiBUaGlzIGhhcHBlbnMgaWYgb25lIG1hbnlhbGx5IGdvCgkgIHRvIFBBVVNFRCBhbmQgdGhlbiB0byBSRUFEWSwgd2hpbGUgbGV0aW5nIHRoZSBtYWlubG9vcCBydW4gaW5iZXR3ZWVuLgoKMjAwOS0wMy0xNiAxMToyMTowMiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qYWNrL2dzdGphY2suYzoKCSogZXh0L2phY2svZ3N0amFjay5oOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJICBqYWNrOiBBZGQgbmV3IGNvbm5lY3Rpb24gbW9kZQoJICBBZGQgYSBuZXcgY29ubmVjdGlvbiBtb2RlIHRvIGphY2tzcmMgYW5kIGphY2tzaW5rLiBJbiB0aGlzIG5ldyBhdXRvLWZvcmNlCgkgIGNvbm5lY3Rpb24gbW9kZSBqYWNrIHdpbGwgY3JlYXRlIGFzIG1hbnkgcG9ydHMgYXMgcmVxdWVzdGVkL25lZWRlZCBpbiB0aGUKCSAgcGlwZWxpbmUgYW5kIHdpbGwgdGhlbiBjb25uZWN0IGFzIG1hbnkgcGh5c2ljYWwgcG9ydHMgYXMgcG9zc2libGUsIHBvc3NpYmx5CgkgIGxlYXZpbmcgc29tZSBwb3J0cyB1bmNvbm5lY3RlZC4KCSAgQWxzbyBnZXQgcmlkIG9mIHNvbWUgbGVmdG92ZXIgZ19wcmludC4KCSAgRml4ZXMgIzU3NTI4NC4KCjIwMDgtMTEtMjMgMTc6NTA6MDggKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGV4dC9qYWNrLzogUXVlcnkgcG9ydCBsYXRlbmNpZXMgZm9yIHNpbmsvc3JjIGRlbGF5cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOgoJICAqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJICBRdWVyeSBwb3J0IGxhdGVuY2llcyBmb3Igc2luay9zcmMgZGVsYXlzLgoJICAqIGV4dC9qYWNrL2dzdGphY2tiaW4uYzoKCSAgTm8gcHJpbnRmIHBsZWFzZS4KCjIwMDgtMTEtMDQgMTI6NDI6MzAgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIERvbid0IGluc3RhbGwgc3RhdGljIGxpYnMgZm9yIHBsdWdpbnMuIEZpeGVzICM1NTA4NTEgZm9yIC1iYWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hbHNhc3BkaWYvTWFrZWZpbGUuYW06CgkgICogZXh0L2FtcndiL01ha2VmaWxlLmFtOgoJICAqIGV4dC9hcGV4c2luay9NYWtlZmlsZS5hbToKCSAgKiBleHQvYXJ0cy9NYWtlZmlsZS5hbToKCSAgKiBleHQvYXJ0c2QvTWFrZWZpbGUuYW06CgkgICogZXh0L2F1ZGlvZmlsZS9NYWtlZmlsZS5hbToKCSAgKiBleHQvYXVkaW9yZXNhbXBsZS9NYWtlZmlsZS5hbToKCSAgKiBleHQvYnoyL01ha2VmaWxlLmFtOgoJICAqIGV4dC9jZGF1ZGlvL01ha2VmaWxlLmFtOgoJICAqIGV4dC9jZWx0L01ha2VmaWxlLmFtOgoJICAqIGV4dC9kYzEzOTQvTWFrZWZpbGUuYW06CgkgICogZXh0L2RpcmFjL01ha2VmaWxlLmFtOgoJICAqIGV4dC9kaXJlY3RmYi9NYWtlZmlsZS5hbToKCSAgKiBleHQvZGl2eC9NYWtlZmlsZS5hbToKCSAgKiBleHQvZHRzL01ha2VmaWxlLmFtOgoJICAqIGV4dC9mYWFjL01ha2VmaWxlLmFtOgoJICAqIGV4dC9mYWFkL01ha2VmaWxlLmFtOgoJICAqIGV4dC9nc20vTWFrZWZpbGUuYW06CgkgICogZXh0L2hlcm1lcy9NYWtlZmlsZS5hbToKCSAgKiBleHQvaXZvcmJpcy9NYWtlZmlsZS5hbToKCSAgKiBleHQvamFjay9NYWtlZmlsZS5hbToKCSAgKiBleHQvanAyay9NYWtlZmlsZS5hbToKCSAgKiBleHQvbGFkc3BhL01ha2VmaWxlLmFtOgoJICAqIGV4dC9sY3MvTWFrZWZpbGUuYW06CgkgICogZXh0L2xpYmZhbWUvTWFrZWZpbGUuYW06CgkgICogZXh0L2xpYm1tcy9NYWtlZmlsZS5hbToKCSAgKiBleHQvbWV0YWRhdGEvTWFrZWZpbGUuYW06CgkgICogZXh0L21wZWcyZW5jL01ha2VmaWxlLmFtOgoJICAqIGV4dC9tcGxleC9NYWtlZmlsZS5hbToKCSAgKiBleHQvbXVzZXBhY2svTWFrZWZpbGUuYW06CgkgICogZXh0L211c2ljYnJhaW56L01ha2VmaWxlLmFtOgoJICAqIGV4dC9teXRodHYvTWFrZWZpbGUuYW06CgkgICogZXh0L25hcy9NYWtlZmlsZS5hbToKCSAgKiBleHQvbmVvbi9NYWtlZmlsZS5hbToKCSAgKiBleHQvb2ZhL01ha2VmaWxlLmFtOgoJICAqIGV4dC9wb2x5cC9NYWtlZmlsZS5hbToKCSAgKiBleHQvcmVzaW5kdmQvTWFrZWZpbGUuYW06CgkgICogZXh0L3NkbC9NYWtlZmlsZS5hbToKCSAgKiBleHQvc2hvdXQvTWFrZWZpbGUuYW06CgkgICogZXh0L3NuYXBzaG90L01ha2VmaWxlLmFtOgoJICAqIGV4dC9zbmRmaWxlL01ha2VmaWxlLmFtOgoJICAqIGV4dC9zb3VuZHRvdWNoL01ha2VmaWxlLmFtOgoJICAqIGV4dC9zcGMvTWFrZWZpbGUuYW06CgkgICogZXh0L3N3ZmRlYy9NYWtlZmlsZS5hbToKCSAgKiBleHQvdGFya2luL01ha2VmaWxlLmFtOgoJICAqIGV4dC90aGVvcmEvTWFrZWZpbGUuYW06CgkgICogZXh0L3RpbWlkaXR5L01ha2VmaWxlLmFtOgoJICAqIGV4dC90d29sYW1lL01ha2VmaWxlLmFtOgoJICAqIGV4dC94MjY0L01ha2VmaWxlLmFtOgoJICAqIGV4dC94aW5lL01ha2VmaWxlLmFtOgoJICAqIGV4dC94dmlkL01ha2VmaWxlLmFtOgoJICAqIGdzdC1saWJzL2dzdC9hcHAvTWFrZWZpbGUuYW06CgkgICogZ3N0LWxpYnMvZ3N0L2RzaG93L01ha2VmaWxlLmFtOgoJICAqIGdzdC9haWZmcGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L2FwcC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYXVkaW9idWZmZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2JheWVyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9jZHhhcGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L2NoYXJ0L01ha2VmaWxlLmFtOgoJICAqIGdzdC9jb2xvcnNwYWNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9kY2NwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9kZWludGVybGFjZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9kdmRzcHUvTWFrZWZpbGUuYW06CgkgICogZ3N0L2Zlc3RpdmFsL01ha2VmaWxlLmFtOgoJICAqIGdzdC9maWx0ZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2ZsYWNwYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZmx2L01ha2VmaWxlLmFtOgoJICAqIGdzdC9nYW1lcy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvaDI2NHBhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9saWJyZmIvTWFrZWZpbGUuYW06CgkgICogZ3N0L21peG1hdHJpeC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbW9kcGx1Zy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXBlZzFzeXMvTWFrZWZpbGUuYW06CgkgICogZ3N0L21wZWc0dmlkZW9wYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXBlZ2RlbXV4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9tcGVndHNtdXgvTWFrZWZpbGUuYW06CgkgICogZ3N0L21wZWd2aWRlb3BhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tdmUvTWFrZWZpbGUuYW06CgkgICogZ3N0L25zZi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbnV2ZGVtdXgvTWFrZWZpbGUuYW06CgkgICogZ3N0L292ZXJsYXkvTWFrZWZpbGUuYW06CgkgICogZ3N0L3Bhc3N0aHJvdWdoL01ha2VmaWxlLmFtOgoJICAqIGdzdC9wY2FwcGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L3BsYXlvbmRlbWFuZC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcmF3cGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L3JlYWwvTWFrZWZpbGUuYW06CgkgICogZ3N0L3J0anBlZy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcnRwbWFuYWdlci9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc2NhbGV0ZW1wby9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc2RwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zZWxlY3Rvci9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc21vb3RoL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zbW9vdGh3YXZlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zcGVlZC9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc3RlcmVvL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zdWJlbmMvTWFrZWZpbGUuYW06CgkgICogZ3N0L3R0YS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdmJpZGVjL01ha2VmaWxlLmFtOgoJICAqIGdzdC92aWRlb2Ryb3AvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZpZGVvc2lnbmFsL01ha2VmaWxlLmFtOgoJICAqIGdzdC92aXJ0dWFsZHViL01ha2VmaWxlLmFtOgoJICAqIGdzdC92bW5jL01ha2VmaWxlLmFtOgoJICAqIGdzdC95NG0vTWFrZWZpbGUuYW06CgkgICogc3lzL2FjbWVuYy9NYWtlZmlsZS5hbToKCSAgKiBzeXMvY2Ryb20vTWFrZWZpbGUuYW06CgkgICogc3lzL2RzaG93ZGVjd3JhcHBlci9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZHNob3dzcmN3cmFwcGVyL01ha2VmaWxlLmFtOgoJICAqIHN5cy9kdmIvTWFrZWZpbGUuYW06CgkgICogc3lzL2R4cjMvTWFrZWZpbGUuYW06CgkgICogc3lzL2ZiZGV2L01ha2VmaWxlLmFtOgoJICAqIHN5cy9vc3M0L01ha2VmaWxlLmFtOgoJICAqIHN5cy9xY2FtL01ha2VmaWxlLmFtOgoJICAqIHN5cy9xdHdyYXBwZXIvTWFrZWZpbGUuYW06CgkgICogc3lzL3ZjZC9NYWtlZmlsZS5hbToKCSAgKiBzeXMvd2luaW5ldC9NYWtlZmlsZS5hbToKCSAgKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIERvbid0IGluc3RhbGwgc3RhdGljIGxpYnMgZm9yIHBsdWdpbnMuIEZpeGVzICM1NTA4NTEgZm9yIC1iYWQuCgoyMDA4LTA5LTE3IDEzOjU5OjIxICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIEZpeCBjb21waWxlciB3YXJuaW5ncyBvbiBPUy9YCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzogKGphY2tfcHJvY2Vzc19jYik6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6IChjYWxjdWxhdGVfc2tldyk6CgkgIEZpeCBjb21waWxlciB3YXJuaW5ncyBvbiBPUy9YCgoyMDA4LTA4LTA3IDEzOjE1OjIxICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzogVHJ5IGNvbW1pdHRpbmcgdGhpcyBvbmNlIGFnYWluLiBOb3cgcHJvcGVybHkgcmVuYW1lZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6CgkgIFRyeSBjb21taXR0aW5nIHRoaXMgb25jZSBhZ2Fpbi4gTm93IHByb3Blcmx5IHJlbmFtZWQuCgoyMDA4LTA4LTA3IDA5OjA5OjQ0ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBkb2NzL3BsdWdpbnMvOiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWwKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbAoJICBBZGQgbmV3IGVsZW1lbnQgdG8gZG9jcy4KCSAgKiBleHQvamFjay9nc3RqYWNrLmgKCSAgQWRkIG1pc3NpbmcgZmlsZS4KCSAgKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSAgKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuaDoKCSAgUmVuYW1lIGphY2thdWRpb3NyYyB0byBqYWNrX2F1ZGlvX3NyYy4KCjIwMDgtMDgtMDcgMDg6NDc6NDAgKzAwMDAgIFRyaXN0YW4gTWF0dGhld3MgPHRyaXN0YW5Ac2F0LnFjLmNhPgoKCSAgZXh0L2phY2svOiBBZGQgYSBqYWNrYXVkaW9zcmMuIFJlZmFjdG9yIHNpbmsgc2xpZ2h0bHkgZm9yIGJldHRlciBjb2RlIHJldXNlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcGF0Y2ggYnk6IFRyaXN0YW4gTWF0dGhld3MgPHRyaXN0YW5Ac2F0LnFjLmNhPgoJICAqIGV4dC9qYWNrL01ha2VmaWxlLmFtOgoJICAqIGV4dC9qYWNrL2dzdGphY2suYzoKCSAgKiBleHQvamFjay9nc3RqYWNrYXVkaW9jbGllbnQuYzoKCSAgKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkgICogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5oOgoJICAqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJICAqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5oOgoJICAqIGV4dC9qYWNrL2dzdGphY2tyaW5nYnVmZmVyLmg6CgkgIEFkZCBhIGphY2thdWRpb3NyYy4gUmVmYWN0b3Igc2luayBzbGlnaHRseSBmb3IgYmV0dGVyIGNvZGUgcmV1c2UuCgkgIEZpeGVzICM1NDUxOTcuCgoyMDA4LTA2LTEzIDExOjU5OjIzICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBkb2NzL3BsdWdpbnMvOiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXl0aHR2LnhtbAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnNpZ25hbHM6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsc2FzcGRpZi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFtcndiLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGF1ZGlvLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2R4YXBhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYmRldnNpbmsueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZpbHRlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdmRlbXV4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXplLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0aW50ZXJsYWNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWgyNjRwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWV0YWRhdGEueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnNHZpZGVvcGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd2aWRlb3BhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzZXBhY2sueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNpY2JyYWluei54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW12ZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW15dGh0di54bWwKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmFzLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmVvbi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5zZmRlYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW51dmRlbXV4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWwKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZWFsLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJmYnNyYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlbGVjdG9yLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc25kZmlsZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGNkZWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4cmVzYW1wbGUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdGVyZW8ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJlbmMueG1sCgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRpbWlkaXR5LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRhLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmNkc3JjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12bW5jLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2lsZG1pZGkueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14MjY0LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpZC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkgICogZXh0L2FtcndiL2dzdGFtcndiZGVjLmM6CgkgICogZXh0L2FtcndiL2dzdGFtcndiZW5jLmM6CgkgICogZXh0L2FtcndiL2dzdGFtcndicGFyc2UuYzoKCSAgKiBleHQvZGMxMzk0L2dzdGRjMTM5NC5jOgoJICAqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzoKCSAgKiBleHQvaXZvcmJpcy92b3JiaXNkZWMuYzoKCSAgKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkgICogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jLmNjOgoJICAqIGV4dC9tcGxleC9nc3RtcGxleC5jYzoKCSAgKiBleHQvbXVzaWNicmFpbnovZ3N0dHJtLmM6CgkgICogZXh0L215dGh0di9nc3RteXRodHZzcmMuYzoKCSAgKiBleHQvdGhlb3JhL3RoZW9yYWRlYy5jOgoJICAqIGV4dC90aW1pZGl0eS9nc3R0aW1pZGl0eS5jOgoJICAqIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5jOgoJICAqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc2luay5jOgoJICAqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICAqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkgICogZ3N0L2Zlc3RpdmFsL2dzdGZlc3RpdmFsLmM6CgkgICogZ3N0L2ZyZWV6ZS9nc3RmcmVlemUuYzoKCSAgKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYzoKCSAgKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6CgkgICogZ3N0L21vZHBsdWcvZ3N0bW9kcGx1Zy5jYzoKCSAgKiBnc3QvbnV2ZGVtdXgvZ3N0bnV2ZGVtdXguYzoKCSAgQWRkIG1pc3NpbmcgZWxlbWVudHMgdG8gZG9jcy4gRml4IGRvYy1tYXJrdXA6IHVzZSBjb252aW5pZW5jZSBzeW50YXgKCSAgZm9yIGV4YW1wbGVzIChwcm9kdWNlcyB2YWxpZCBkb2Nib29rKSwgYWRkIHNldmVyYWwgcmVmc2VjMiB3aGVuIHdlCgkgIGhhdmUgc2V2ZXJhbCB0aXRsZXMuIEZpeCBzb21lIHR5cGVzLgoKMjAwOC0wNi0xMiAxNDo0OToxOCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgRG8gbm90IHVzZSBzaG9ydF9kZXNjcmlwdGlvbiBpbiBzZWN0aW9uIGRvY3MgZm9yIGVsZW1lbnRzLiBXZSBleHRyYWN0IHRoZW0gZnJvbSBlbGVtZW50IGRldGFpbHMgYW5kIHRoZXJlIHdpbGwgYmUgd2FyLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9kYzEzOTQvZ3N0ZGMxMzk0LmM6CgkgICogZXh0L2l2b3JiaXMvdm9yYmlzZGVjLmM6CgkgICogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOgoJICAqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YWRlbXV4LmM6CgkgICogZXh0L215dGh0di9nc3RteXRodHZzcmMuYzoKCSAgKiBleHQvdGhlb3JhL3RoZW9yYWRlYy5jOgoJICAqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc2luay5jOgoJICAqIGdzdC9iYXllci9nc3RiYXllcjJyZ2IuYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgKiBnc3QvcmF3cGFyc2UvZ3N0YXVkaW9wYXJzZS5jOgoJICAqIGdzdC9yYXdwYXJzZS9nc3R2aWRlb3BhcnNlLmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwY2xpZW50LmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSAgKiBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5jOgoJICAqIGdzdC9zZWxlY3Rvci9nc3RvdXRwdXRzZWxlY3Rvci5jOgoJICAqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb2FuYWx5c2UuYzoKCSAgKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9kZXRlY3QuYzoKCSAgKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9tYXJrLmM6CgkgICogc3lzL29zczQvb3NzNC1taXhlci5jOgoJICAqIHN5cy9vc3M0L29zczQtc2luay5jOgoJICAqIHN5cy9vc3M0L29zczQtc291cmNlLmM6CgkgIERvIG5vdCB1c2Ugc2hvcnRfZGVzY3JpcHRpb24gaW4gc2VjdGlvbiBkb2NzIGZvciBlbGVtZW50cy4gV2UgZXh0cmFjdAoJICB0aGVtIGZyb20gZWxlbWVudCBkZXRhaWxzIGFuZCB0aGVyZSB3aWxsIGJlIHdhcm5pbmdzIGlmIHRoZXkgZGlmZmVyLgoJICBBbHNvIGZpeGluZyB1cCB0aGUgQ2hhbmdlTG9nIG9yZGVyLgoKMjAwOC0wNS0yNiAxNzo1MjoyMSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzogSW5jbHVkZSB0aGUgZWxlbWVudCBuYW1lIGluIHRoZSBwb3J0IG5hbWUgdG8gYXZvaWQgZHVwbGljYXRlIHBvcnQgbmFtZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzoKCSAgKGdzdF9qYWNrX2F1ZGlvX3NpbmtfYWxsb2NhdGVfY2hhbm5lbHMpOgoJICBJbmNsdWRlIHRoZSBlbGVtZW50IG5hbWUgaW4gdGhlIHBvcnQgbmFtZSB0byBhdm9pZCBkdXBsaWNhdGUgcG9ydCBuYW1lcy4KCjIwMDgtMDQtMDYgMjA6MTg6MTYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6IFdvcmsgYXJvdW5kIG1pc3NpbmcgYml0cyBvZiB0aHJlYWQtc2FmZXR5IG9uIG9sZGVyIEdMaWJzIHNvbWUgbW9yZSB0byBhdm9pZCBhc3NlcnRpb25zIHcuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOiAoZ3N0X2phY2tfYXVkaW9fc2lua19jbGFzc19pbml0KToKCSAgV29yayBhcm91bmQgbWlzc2luZyBiaXRzIG9mIHRocmVhZC1zYWZldHkgb24gb2xkZXIgR0xpYnMgc29tZQoJICBtb3JlIHRvIGF2b2lkIGFzc2VydGlvbnMgd2hlbiBzdGFydGluZyB1cCBtdWx0aXBsZSBwbGF5YmluCgkgIG9iamVjdHMgY29uY3VycmVudGx5IChzZWUgIzUxMjM4MikuCgoyMDA4LTAzLTEzIDE0OjI1OjIwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBVc2UgR1NUX0xJQ0VOU0UsIEdTVF9QQUNLQUdFX05BTUUgYW5kIEdTVF9QQUNLQUdFX09SSUdJTiBpbnN0ZWFkIG9mIGhhcmRjb2RpbmcgdmFsdWVzIHdoZXJlIHBvc3NpYmxlLiBGaXhlcyBidWcgIzUyMjIxMi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2Fsc2FzcGRpZi9hbHNhc3BkaWZzaW5rLmM6CgkgICogZXh0L2dzbS9nc3Rnc20uYzoKCSAgKiBleHQvamFjay9nc3RqYWNrLmM6CgkgICogZXh0L2xpYm1tcy9nc3RtbXMuYzoKCSAgKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOgoJICAqIGV4dC9zaG91dC9nc3RzaG91dC5jOgoJICAqIGV4dC90aW1pZGl0eS9nc3R0aW1pZGl0eS5jOgoJICAqIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5jOgoJICAqIGdzdC9udXZkZW11eC9nc3RudXZkZW11eC5jOgoJICAqIGdzdC90dGEvZ3N0dHRhLmM6CgkgIFVzZSBHU1RfTElDRU5TRSwgR1NUX1BBQ0tBR0VfTkFNRSBhbmQgR1NUX1BBQ0tBR0VfT1JJR0lOIGluc3RlYWQKCSAgb2YgaGFyZGNvZGluZyB2YWx1ZXMgd2hlcmUgcG9zc2libGUuIEZpeGVzIGJ1ZyAjNTIyMjEyLgoKMjAwNy0wNy0xOCAwNzo0Mjo0NyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOiBBZGQgc3RkbGliIGluY2x1ZGUgaGVyZSB0b28uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzogKGdzdF9qYWNrX3JpbmdfYnVmZmVyX29wZW5fZGV2aWNlKSwKCSAgKGdzdF9qYWNrX3JpbmdfYnVmZmVyX2FjcXVpcmUpOgoJICBBZGQgc3RkbGliIGluY2x1ZGUgaGVyZSB0b28uCgoyMDA3LTA0LTA0IDA3OjM2OjI4ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6IFRyeSB0IGJldHRlciBuYW1lIGNsaWVudHMuIHByb3Blcmx5IGhhbmRsZSByZXR1cm4gY29kZXMgd2hlbiByZS0gZXN0YWJsaXNoaW5nIGxpbmtzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6IChnc3RfamFja19yaW5nX2J1ZmZlcl9vcGVuX2RldmljZSksCgkgIChnc3RfamFja19yaW5nX2J1ZmZlcl9hY3F1aXJlKToKCSAgVHJ5IHQgYmV0dGVyIG5hbWUgY2xpZW50cy4gcHJvcGVybHkgaGFuZGxlIHJldHVybiBjb2RlcyB3aGVuIHJlLQoJICBlc3RhYmxpc2hpbmcgbGlua3MuCgoyMDA3LTAzLTE4IDE3OjU3OjQ4ICswMDAwICBQYXVsIERhdmlzIDxwYXVsQGxpbnV4YXVkaW9zeXN0ZW1zLmNvbT4KCgkgIGV4dC9qYWNrL2dzdGphY2thdWRpb2NsaWVudC5jOiBEb24ndCBuZWVkIHRvIHRha2UgdGhlIGNvbm5lY3Rpb24gbG9jaywgaXQgd2lsbCBub3QgYmUgdXNlZCBhbmQgY291bGQgY2F1c2UgZGVhZGxvY2tzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQmFzZWQgb24gcGF0Y2ggYnk6IFBhdWwgRGF2aXMgPHBhdWwgYXQgbGludXhhdWRpb3N5c3RlbXMgZG90IGNvbT4KCSAgKiBleHQvamFjay9nc3RqYWNrYXVkaW9jbGllbnQuYzogKGdzdF9qYWNrX2F1ZGlvX3VucmVmX2Nvbm5lY3Rpb24pOgoJICBEb24ndCBuZWVkIHRvIHRha2UgdGhlIGNvbm5lY3Rpb24gbG9jaywgaXQgd2lsbCBub3QgYmUgdXNlZCBhbmQgY291bGQKCSAgY2F1c2UgZGVhZGxvY2tzLgoKMjAwNy0wMy0wOCAxNToyNDo1MiArMDAwMCAgUGF1bCBEYXZpcyA8cGF1bEBsaW51eGF1ZGlvc3lzdGVtcy5jb20+CgoJICBleHQvamFjay86IE1ha2UgYW4gb2JqZWN0IHRvIG1hbmFnZSBjbGllbnQgY29ubmVjdGlvbnMgdG8gdGhlIGphY2sgc2VydmVyIHdoaWNoIHdlIHdpbGwgdXNlIGluIHRoZSBmdXR1cmUgdG8gcnVuIHNlbGUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEluY2x1ZGVzIHBhdGNoIGJ5OiBQYXVsIERhdmlzIDxwYXVsIGF0IGxpbnV4YXVkaW9zeXN0ZW1zIGRvdCBjb20+CgkgICogZXh0L2phY2svTWFrZWZpbGUuYW06CgkgICogZXh0L2phY2svZ3N0amFja2F1ZGlvY2xpZW50LmM6IChnc3RfamFja19hdWRpb19jbGllbnRfaW5pdCksCgkgIChqYWNrX3Byb2Nlc3NfY2IpLCAoamFja19zYW1wbGVfcmF0ZV9jYiksIChqYWNrX2J1ZmZlcl9zaXplX2NiKSwKCSAgKGphY2tfc2h1dGRvd25fY2IpLCAoY29ubmVjdGlvbl9maW5kKSwKCSAgKGdzdF9qYWNrX2F1ZGlvX21ha2VfY29ubmVjdGlvbiksIChnc3RfamFja19hdWRpb19nZXRfY29ubmVjdGlvbiksCgkgIChnc3RfamFja19hdWRpb191bnJlZl9jb25uZWN0aW9uKSwKCSAgKGdzdF9qYWNrX2F1ZGlvX2Nvbm5lY3Rpb25fYWRkX2NsaWVudCksCgkgIChnc3RfamFja19hdWRpb19jb25uZWN0aW9uX3JlbW92ZV9jbGllbnQpLAoJICAoZ3N0X2phY2tfYXVkaW9fY2xpZW50X25ldyksIChnc3RfamFja19hdWRpb19jbGllbnRfZnJlZSksCgkgIChnc3RfamFja19hdWRpb19jbGllbnRfZ2V0X2NsaWVudCksCgkgIChnc3RfamFja19hdWRpb19jbGllbnRfc2V0X2FjdGl2ZSk6CgkgICogZXh0L2phY2svZ3N0amFja2F1ZGlvY2xpZW50Lmg6CgkgIE1ha2UgYW4gb2JqZWN0IHRvIG1hbmFnZSBjbGllbnQgY29ubmVjdGlvbnMgdG8gdGhlIGphY2sgc2VydmVyIHdoaWNoIHdlCgkgIHdpbGwgdXNlIGluIHRoZSBmdXR1cmUgdG8gcnVuIHNlbGVjdGVkIGphY2sgZWxlbWVudHMgd2l0aCB0aGUgc2FtZSBqYWNrCgkgIGNvbm5lY3Rpb24uCgkgIE1ha2Ugc29tZSBzdHVmZiBhIGJpdCBtb3JlIHRocmVhZHNhZmUuCgkgIEFjdGl2YXRlIHRoZSBqYWNrIGNsaWVudCBBU0FQLgoJICAqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzoKCSAgKGdzdF9qYWNrX2F1ZGlvX3NpbmtfYWxsb2NhdGVfY2hhbm5lbHMpLAoJICAoZ3N0X2phY2tfYXVkaW9fc2lua19mcmVlX2NoYW5uZWxzKSwgKGphY2tfcHJvY2Vzc19jYiksCgkgIChnc3RfamFja19yaW5nX2J1ZmZlcl9vcGVuX2RldmljZSksCgkgIChnc3RfamFja19yaW5nX2J1ZmZlcl9jbG9zZV9kZXZpY2UpLAoJICAoZ3N0X2phY2tfcmluZ19idWZmZXJfYWNxdWlyZSksIChnc3RfamFja19yaW5nX2J1ZmZlcl9yZWxlYXNlKSwKCSAgKGdzdF9qYWNrX2F1ZGlvX3NpbmtfY2xhc3NfaW5pdCksIChnc3RfamFja19hdWRpb19zaW5rX2luaXQpLAoJICAoZ3N0X2phY2tfYXVkaW9fc2lua19nZXRjYXBzKToKCSAgKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmg6CgkgIFVzZSBuZXcgY2xpZW50IG9iamVjdCB0byBtYW5hZ2UgY29ubmVjdGlvbnMuCgkgIERvbid0IHJlbW92ZSBhbmQgcmVjcmVhdGUgYWxsIHBvcnRzLCB0cnkgdG8gcmV1c2UgdGhlbS4KCjIwMDctMDEtMTIgMTA6MjU6NDAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLio6IEltcHJvdmUgZG9jcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOiAoamFja19zYW1wbGVfcmF0ZV9jYiksCgkgIChqYWNrX2J1ZmZlcl9zaXplX2NiKSwgKGphY2tfc2h1dGRvd25fY2IpLAoJICAoZ3N0X2phY2tfcmluZ19idWZmZXJfYWNxdWlyZSk6CgkgICogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5oOgoJICBJbXByb3ZlIGRvY3MuCgoyMDA2LTEyLTA2IDE2OjU3OjE3ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGV4dC9qYWNrLy5jdnNpZ25vcmU6IElnbm9yZSBvbGQgZmlsZXMgYXMgcmVxdWVzdGVkIGJ5IHRoZSBidWlsZCBzbGF2ZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2phY2svLmN2c2lnbm9yZToKCSAgSWdub3JlIG9sZCBmaWxlcyBhcyByZXF1ZXN0ZWQgYnkgdGhlIGJ1aWxkIHNsYXZlLgoKMjAwNi0xMS0zMCAxMTo1OTowNCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9NYWtlZmlsZS5hbTogRml4IGJ1aWxkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvTWFrZWZpbGUuYW06CgkgIEZpeCBidWlsZC4KCSAgKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6IChqYWNrX3Byb2Nlc3NfY2IpLAoJICAoamFja19zYW1wbGVfcmF0ZV9jYiksIChqYWNrX2J1ZmZlcl9zaXplX2NiKSwgKGphY2tfc2h1dGRvd25fY2IpLAoJICAoZ3N0X2phY2tfcmluZ19idWZmZXJfYWNxdWlyZSk6CgkgIFNtYWxsIGNsZWFudXBzLgoKMjAwNi0xMS0zMCAxMTo0OTozNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIEFkZGVkIGZ1bGx5IGZ1bmN0aW9uYWwgamFja2F1ZGlvc2luay4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9NYWtlZmlsZS5hbToKCSAgKiBleHQvamFjay9NYWtlZmlsZS5hbToKCSAgKiBleHQvamFjay9nc3RqYWNrLmM6IChwbHVnaW5faW5pdCk6CgkgICogZXh0L2phY2svZ3N0amFjay5oOgoJICAqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzogKGdzdF9qYWNrX3JpbmdfYnVmZmVyX2dldF90eXBlKSwKCSAgKGdzdF9qYWNrX3JpbmdfYnVmZmVyX2NsYXNzX2luaXQpLCAoamFja19wcm9jZXNzX2NiKSwKCSAgKGphY2tfc2FtcGxlX3JhdGVfY2IpLCAoamFja19idWZmZXJfc2l6ZV9jYiksIChqYWNrX3NodXRkb3duX2NiKSwKCSAgKGdzdF9qYWNrX3JpbmdfYnVmZmVyX2luaXQpLCAoZ3N0X2phY2tfcmluZ19idWZmZXJfZGlzcG9zZSksCgkgIChnc3RfamFja19yaW5nX2J1ZmZlcl9maW5hbGl6ZSksCgkgIChnc3RfamFja19yaW5nX2J1ZmZlcl9vcGVuX2RldmljZSksCgkgIChnc3RfamFja19yaW5nX2J1ZmZlcl9jbG9zZV9kZXZpY2UpLAoJICAoZ3N0X2phY2tfcmluZ19idWZmZXJfYWNxdWlyZSksIChnc3RfamFja19yaW5nX2J1ZmZlcl9yZWxlYXNlKSwKCSAgKGdzdF9qYWNrX3JpbmdfYnVmZmVyX3N0YXJ0KSwgKGdzdF9qYWNrX3JpbmdfYnVmZmVyX3BhdXNlKSwKCSAgKGdzdF9qYWNrX3JpbmdfYnVmZmVyX3N0b3ApLCAoZ3N0X2phY2tfcmluZ19idWZmZXJfZGVsYXkpLAoJICAoZ3N0X2phY2tfY29ubmVjdF9nZXRfdHlwZSksIChnc3RfamFja19hdWRpb19zaW5rX2Jhc2VfaW5pdCksCgkgIChnc3RfamFja19hdWRpb19zaW5rX2NsYXNzX2luaXQpLCAoZ3N0X2phY2tfYXVkaW9fc2lua19pbml0KSwKCSAgKGdzdF9qYWNrX2F1ZGlvX3Npbmtfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9qYWNrX2F1ZGlvX3NpbmtfZ2V0X3Byb3BlcnR5KSwgKGdzdF9qYWNrX2F1ZGlvX3NpbmtfZ2V0Y2FwcyksCgkgIChnc3RfamFja19hdWRpb19zaW5rX2NyZWF0ZV9yaW5nYnVmZmVyKToKCSAgKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmg6CgkgIEFkZGVkIGZ1bGx5IGZ1bmN0aW9uYWwgamFja2F1ZGlvc2luay4KCjIwMDYtMDQtMDggMjE6NDg6MDEgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIEZpeCAjMzM3MzY1IChnX3R5cGVfY2xhc3NfcmVmIDwtPiBnX3R5cGVfY2xhc3NfcGVla19wYXJlbnQpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmRlYy5jOiAoZ3N0X2FtcndiZGVjX2NsYXNzX2luaXQpOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmVuYy5jOiAoZ3N0X2FtcndiZW5jX2NsYXNzX2luaXQpOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YnBhcnNlLmM6IChnc3RfYW1yd2JwYXJzZV9jbGFzc19pbml0KToKCSAgKiBleHQvYXJ0cy9nc3RfYXJ0cy5jOiAoZ3N0X2FydHNfY2xhc3NfaW5pdCk6CgkgICogZXh0L2FydHNkL2dzdGFydHNkc2luay5jOiAoZ3N0X2FydHNkc2lua19jbGFzc19pbml0KToKCSAgKiBleHQvYXVkaW9maWxlL2dzdGFmc2luay5jOiAoZ3N0X2Fmc2lua19jbGFzc19pbml0KToKCSAgKiBleHQvYXVkaW9maWxlL2dzdGFmc3JjLmM6IChnc3RfYWZzcmNfY2xhc3NfaW5pdCk6CgkgICogZXh0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOgoJICAqIGV4dC9jZGF1ZGlvL2dzdGNkYXVkaW8uYzogKGdzdF9jZGF1ZGlvX2NsYXNzX2luaXQpOgoJICAqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzogKGdzdF9kZmJ2aWRlb3NpbmtfY2xhc3NfaW5pdCk6CgkgICogZXh0L2RpdngvZ3N0ZGl2eGRlYy5jOiAoZ3N0X2RpdnhkZWNfY2xhc3NfaW5pdCk6CgkgICogZXh0L2hlcm1lcy9nc3RoZXJtZXNjb2xvcnNwYWNlLmM6CgkgIChnc3RfaGVybWVzX2NvbG9yc3BhY2VfY2xhc3NfaW5pdCk6CgkgICogZXh0L2l2b3JiaXMvdm9yYmlzZmlsZS5jOiAoZ3N0X2l2b3JiaXNmaWxlX2NsYXNzX2luaXQpOgoJICAqIGV4dC9qYWNrL2dzdGphY2suYzogKGdzdF9qYWNrX2NsYXNzX2luaXQpOgoJICAqIGV4dC9qYWNrL2dzdGphY2tiaW4uYzogKGdzdF9qYWNrX2Jpbl9jbGFzc19pbml0KToKCSAgKiBleHQvbGNzL2dzdGNvbG9yc3BhY2UuYzogKGdzdF9jb2xvcnNwYWNlX2NsYXNzX2luaXQpOgoJICAqIGV4dC9saWJmYW1lL2dzdGxpYmZhbWUuYzogKGdzdF9mYW1lZW5jX2NsYXNzX2luaXQpOgoJICAqIGV4dC9tdXNpY2JyYWluei9nc3R0cm0uYzogKGdzdF9tdXNpY2JyYWluel9jbGFzc19pbml0KToKCSAgKiBleHQvbmFzL25hc3NpbmsuYzogKGdzdF9uYXNzaW5rX2NsYXNzX2luaXQpOgoJICAqIGV4dC9zaG91dC9nc3RzaG91dC5jOiAoZ3N0X2ljZWNhc3RzZW5kX2NsYXNzX2luaXQpOgoJICAqIGV4dC9zbmFwc2hvdC9nc3RzbmFwc2hvdC5jOiAoZ3N0X3NuYXBzaG90X2NsYXNzX2luaXQpOgoJICAqIGV4dC9zbmRmaWxlL2dzdHNmLmM6IChnc3Rfc2ZfY2xhc3NfaW5pdCk6CgkgICogZXh0L3N3ZmRlYy9nc3Rzd2ZkZWMuYzogKGdzdF9zd2ZkZWNidWZmZXJfY2xhc3NfaW5pdCksCgkgIChnc3Rfc3dmZGVjX2NsYXNzX2luaXQpOgoJICAqIGV4dC90YXJraW4vZ3N0dGFya2luZGVjLmM6IChnc3RfdGFya2luZGVjX2NsYXNzX2luaXQpOgoJICAqIGV4dC90YXJraW4vZ3N0dGFya2luZW5jLmM6IChnc3RfdGFya2luZW5jX2NsYXNzX2luaXQpOgoJICAqIGdzdC9jZHhhcGFyc2UvZ3N0Y2R4YXN0cmlwLmM6IChnc3RfY2R4YXN0cmlwX2NsYXNzX2luaXQpOgoJICAqIGdzdC9jaGFydC9nc3RjaGFydC5jOiAoZ3N0X2NoYXJ0X2NsYXNzX2luaXQpOgoJICAqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2UuYzogKGdzdF9jb2xvcnNwYWNlX2NsYXNzX2luaXQpOgoJICAqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOiAoZ3N0X2RlaW50ZXJsYWNlX2NsYXNzX2luaXQpOgoJICAqIGdzdC9mZXN0aXZhbC9nc3RmZXN0aXZhbC5jOiAoZ3N0X2Zlc3RpdmFsX2NsYXNzX2luaXQpOgoJICAqIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5jOiAoZ3N0X2Jwd3NpbmNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2ZpbHRlci9nc3RpaXIuYzogKGdzdF9paXJfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmM6IChnc3RfbHB3c2luY19jbGFzc19pbml0KToKCSAgKiBnc3QvbGlicmZiL2dzdHJmYnNyYy5jOiAoZ3N0X3JmYnNyY19jbGFzc19pbml0KToKCSAgKiBnc3QvbWl4bWF0cml4L21peG1hdHJpeC5jOiAoZ3N0X21peG1hdHJpeF9jbGFzc19pbml0KToKCSAgKiBnc3QvbXBlZzFzeXMvZ3N0bXBlZzFzeXN0ZW1lbmNvZGUuYzoKCSAgKGdzdF9zeXN0ZW1fZW5jb2RlX2NsYXNzX2luaXQpOgoJICAqIGdzdC9tcGVnMXZpZGVvcGFyc2UvZ3N0bXAxdmlkZW9wYXJzZS5jOgoJICAoZ3N0X21wMXZpZGVvcGFyc2VfY2xhc3NfaW5pdCk6CgkgICogZ3N0L21wZWcyc3ViL2dzdG1wZWcyc3VidC5jOiAoZ3N0X21wZWcyc3VidF9jbGFzc19pbml0KToKCSAgKiBnc3QvbXBlZ2F1ZGlvcGFyc2UvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSAgKGdzdF9tcDNwYXJzZV9jbGFzc19pbml0KToKCSAgKiBnc3Qvb3ZlcmxheS9nc3RvdmVybGF5LmM6IChnc3Rfb3ZlcmxheV9jbGFzc19pbml0KToKCSAgKiBnc3QvcGFzc3Rocm91Z2gvZ3N0cGFzc3Rocm91Z2guYzogKHBhc3N0aHJvdWdoX2NsYXNzX2luaXQpOgoJICAqIGdzdC9wbGF5b25kZW1hbmQvZ3N0cGxheW9uZGVtYW5kLmM6IChwbGF5X29uX2RlbWFuZF9jbGFzc19pbml0KToKCSAgKiBnc3QvcnRqcGVnL2dzdHJ0anBlZ2RlYy5jOiAoZ3N0X3J0anBlZ2RlY19jbGFzc19pbml0KToKCSAgKiBnc3QvcnRqcGVnL2dzdHJ0anBlZ2VuYy5jOiAoZ3N0X3J0anBlZ2VuY19jbGFzc19pbml0KToKCSAgKiBnc3Qvc21vb3RoL2dzdHNtb290aC5jOiAoZ3N0X3Ntb290aF9jbGFzc19pbml0KToKCSAgKiBnc3Qvc21vb3Rod2F2ZS9nc3RzbW9vdGh3YXZlLmM6IChnc3Rfc21vb3Rod2F2ZV9jbGFzc19pbml0KToKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogKGdzdF9zcGVjdHJ1bV9jbGFzc19pbml0KToKCSAgKiBnc3Qvc3RlcmVvL2dzdHN0ZXJlby5jOiAoZ3N0X3N0ZXJlb19jbGFzc19pbml0KToKCSAgKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5jOiAoZ3N0X3N3aXRjaF9jbGFzc19pbml0KToKCSAgKiBnc3QvdHRhL2dzdHR0YWRlYy5jOiAoZ3N0X3R0YV9kZWNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3R0YS9nc3R0dGFwYXJzZS5jOiAoZ3N0X3R0YV9wYXJzZV9jbGFzc19pbml0KToKCSAgKiBnc3QvdmJpZGVjL2dzdHZiaWRlYy5jOiAoZ3N0X3ZiaWRlY19jbGFzc19pbml0KToKCSAgKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5jOiAoZ3N0X3ZpZGVvX2Nyb3BfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3ZpcnR1YWxkdWIvZ3N0eHNoYXJwZW4uYzogKGdzdF94c2hhcnBlbl9jbGFzc19pbml0KToKCSAgKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOiAoZ3N0X3k0bWVuY29kZV9jbGFzc19pbml0KToKCSAgKiBzeXMvY2Ryb20vZ3N0Y2RwbGF5ZXIuYzogKGNkcGxheWVyX2NsYXNzX2luaXQpOgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSAgKGdzdF9kaXJlY3Rzb3VuZHNpbmtfY2xhc3NfaW5pdCk6CgkgICogc3lzL2R4cjMvZHhyM2F1ZGlvc2luay5jOiAoZHhyM2F1ZGlvc2lua19jbGFzc19pbml0KToKCSAgKiBzeXMvZHhyMy9keHIzc3B1c2luay5jOiAoZHhyM3NwdXNpbmtfY2xhc3NfaW5pdCk6CgkgICogc3lzL2R4cjMvZHhyM3ZpZGVvc2luay5jOiAoZHhyM3ZpZGVvc2lua19jbGFzc19pbml0KToKCSAgKiBzeXMvcWNhbS9nc3RxY2Ftc3JjLmM6IChnc3RfcWNhbXNyY19jbGFzc19pbml0KToKCSAgKiBzeXMvdjRsMi9nc3R2NGwyY29sb3JiYWxhbmNlLmM6CgkgIChnc3RfdjRsMl9jb2xvcl9iYWxhbmNlX2NoYW5uZWxfY2xhc3NfaW5pdCk6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnR1bmVyLmM6IChnc3RfdjRsMl90dW5lcl9jaGFubmVsX2NsYXNzX2luaXQpLAoJICAoZ3N0X3Y0bDJfdHVuZXJfbm9ybV9jbGFzc19pbml0KToKCSAgKiBzeXMveGltYWdlc3JjL3hpbWFnZXNyYy5jOiAoZ3N0X3hpbWFnZXNyY19jbGFzc19pbml0KToKCSAgRml4ICMzMzczNjUgKGdfdHlwZV9jbGFzc19yZWYgPC0+IGdfdHlwZV9jbGFzc19wZWVrX3BhcmVudCkKCjIwMDYtMDQtMDEgMTA6MDk6MTEgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZXh0L2phY2svZ3N0amFjay5jOgoJICByZXdvcmsgYnVpbGQ7IGFkZCB0cmFuc2xhdGlvbnMgZm9yIHY0bDIKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHJld29yayBidWlsZDsgYWRkIHRyYW5zbGF0aW9ucyBmb3IgdjRsMgoKMjAwNS0xMC0xMiAxNDoyOTo1NSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgcmVuYW1lZCBHU1RfRkxBR1MgbWFjcm9zIHRvIEdTVF9PQkpFQ1RfRkxBR1MgbW92ZWQgYml0c2hpZnQgZnJvbSBtYWNybyB0byBlbnVtIGRlZmluaXRpb24KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXhhbXBsZXMvaW5kZXhpbmcvaW5kZXhtcGVnLmM6IChtYWluKToKCSAgKiBleHQvYXJ0c2QvZ3N0YXJ0c2RzaW5rLmM6IChnc3RfYXJ0c2RzaW5rX29wZW5fYXVkaW8pLAoJICAoZ3N0X2FydHNkc2lua19jbG9zZV9hdWRpbyksIChnc3RfYXJ0c2RzaW5rX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L2FydHNkL2dzdGFydHNkc2luay5oOgoJICAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZwYXJzZS5jOiAoZ3N0X2FmcGFyc2Vfb3Blbl9maWxlKSwKCSAgKGdzdF9hZnBhcnNlX2Nsb3NlX2ZpbGUpOgoJICAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZwYXJzZS5oOgoJICAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzaW5rLmM6IChnc3RfYWZzaW5rX29wZW5fZmlsZSksCgkgIChnc3RfYWZzaW5rX2Nsb3NlX2ZpbGUpLCAoZ3N0X2Fmc2lua19jaGFpbiksCgkgIChnc3RfYWZzaW5rX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L2F1ZGlvZmlsZS9nc3RhZnNpbmsuaDoKCSAgKiBleHQvYXVkaW9maWxlL2dzdGFmc3JjLmM6IChnc3RfYWZzcmNfb3Blbl9maWxlKSwKCSAgKGdzdF9hZnNyY19jbG9zZV9maWxlKSwgKGdzdF9hZnNyY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzcmMuaDoKCSAgKiBleHQvY2RhdWRpby9nc3RjZGF1ZGlvLmM6IChnc3RfY2RhdWRpb19pbml0KToKCSAgKiBleHQvZGlyZWN0ZmIvZGlyZWN0ZmJ2aWRlb3NpbmsuYzogKGdzdF9kaXJlY3RmYnZpZGVvc2lua19pbml0KToKCSAgKiBleHQvZHRzL2dzdGR0c2RlYy5jOiAoZ3N0X2R0c2RlY19pbml0KToKCSAgKiBleHQvamFjay9nc3RqYWNrLmg6CgkgICogZXh0L2phY2svZ3N0amFja2Jpbi5jOiAoZ3N0X2phY2tfYmluX2luaXQpLAoJICAoZ3N0X2phY2tfYmluX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L211c2VwYWNrL2dzdG11c2VwYWNrZGVjLmM6IChnc3RfbXVzZXBhY2tkZWNfaW5pdCk6CgkgICogZXh0L211c2ljYnJhaW56L2dzdHRybS5jOiAoZ3N0X211c2ljYnJhaW56X2luaXQpOgoJICAqIGV4dC9uYXMvbmFzc2luay5jOiAoZ3N0X25hc3Npbmtfb3Blbl9hdWRpbyksCgkgIChnc3RfbmFzc2lua19jbG9zZV9hdWRpbyksIChnc3RfbmFzc2lua19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9uYXMvbmFzc2luay5oOgoJICAqIGV4dC9wb2x5cC9wb2x5cHNpbmsuYzogKGdzdF9wb2x5cHNpbmtfaW5pdCk6CgkgICogZXh0L3NkbC9zZGx2aWRlb3NpbmsuYzogKGdzdF9zZGx2aWRlb3NpbmtfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvc2RsL3NkbHZpZGVvc2luay5oOgoJICAqIGV4dC9zbW9vdGh3YXZlL2dzdHNtb290aHdhdmUuYzogKGdzdF9zbW9vdGh3YXZlX2luaXQpOgoJICAqIGV4dC9zbmRmaWxlL2dzdHNmLmM6IChnc3Rfc2Zfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9zZl9jaGFuZ2Vfc3RhdGUpLCAoZ3N0X3NmX3JlbGVhc2VfcmVxdWVzdF9wYWQpLAoJICAoZ3N0X3NmX29wZW5fZmlsZSksIChnc3Rfc2ZfY2xvc2VfZmlsZSksIChnc3Rfc2ZfbG9vcCk6CgkgICogZXh0L3NuZGZpbGUvZ3N0c2YuaDoKCSAgKiBleHQvc3dmZGVjL2dzdHN3ZmRlYy5jOiAoZ3N0X3N3ZmRlY19pbml0KToKCSAgKiBleHQvdGFya2luL2dzdHRhcmtpbmRlYy5jOiAoZ3N0X3RhcmtpbmRlY19pbml0KToKCSAgKiBnc3QvYXBldGFnL2FwZWRlbXV4LmM6IChnc3RfYXBlX2RlbXV4X2luaXQpOgoJICAqIGdzdC9jZHhhcGFyc2UvZ3N0Y2R4YXBhcnNlLmM6IChnc3RfY2R4YXBhcnNlX2luaXQpOgoJICAqIGdzdC9jZHhhcGFyc2UvZ3N0Y2R4YXN0cmlwLmM6IChnc3RfY2R4YXN0cmlwX2luaXQpOgoJICAqIGdzdC9mZXN0aXZhbC9nc3RmZXN0aXZhbC5jOiAoZ3N0X2Zlc3RpdmFsX2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L2Zlc3RpdmFsL2dzdGZlc3RpdmFsLmg6CgkgICogZ3N0L21wZWcyc3ViL2dzdG1wZWcyc3VidC5jOiAoZ3N0X21wZWcyc3VidF9pbml0KToKCSAgKiBnc3QvbXVsdGlmaWxlc2luay9nc3RtdWx0aWZpbGVzaW5rLmM6IChnc3RfbXVsdGlmaWxlc2lua19pbml0KSwKCSAgKGdzdF9tdWx0aWZpbGVzaW5rX3NldF9sb2NhdGlvbiksIChnc3RfbXVsdGlmaWxlc2lua19vcGVuX2ZpbGUpLAoJICAoZ3N0X211bHRpZmlsZXNpbmtfY2xvc2VfZmlsZSksIChnc3RfbXVsdGlmaWxlc2lua19uZXh0X2ZpbGUpLAoJICAoZ3N0X211bHRpZmlsZXNpbmtfcGFkX3F1ZXJ5KSwgKGdzdF9tdWx0aWZpbGVzaW5rX2hhbmRsZV9ldmVudCksCgkgIChnc3RfbXVsdGlmaWxlc2lua19jaGFpbiksIChnc3RfbXVsdGlmaWxlc2lua19jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9tdWx0aWZpbGVzaW5rL2dzdG11bHRpZmlsZXNpbmsuaDoKCSAgKiBnc3QvdmlkZW9kcm9wL2dzdHZpZGVvZHJvcC5jOiAoZ3N0X3ZpZGVvZHJvcF9pbml0KToKCSAgKiBzeXMvY2Ryb20vZ3N0Y2RwbGF5ZXIuYzogKGNkcGxheWVyX2luaXQpOgoJICAqIHN5cy9keHIzL2R4cjNhdWRpb3NpbmsuYzogKGR4cjNhdWRpb3NpbmtfaW5pdCksCgkgIChkeHIzYXVkaW9zaW5rX29wZW4pLCAoZHhyM2F1ZGlvc2lua19jbG9zZSksCgkgIChkeHIzYXVkaW9zaW5rX2NoYWluX3BjbSksIChkeHIzYXVkaW9zaW5rX2NoYWluX2FjMyksCgkgIChkeHIzYXVkaW9zaW5rX2NoYW5nZV9zdGF0ZSk6CgkgICogc3lzL2R4cjMvZHhyM2F1ZGlvc2luay5oOgoJICAqIHN5cy9keHIzL2R4cjNzcHVzaW5rLmM6IChkeHIzc3B1c2lua19pbml0KSwgKGR4cjNzcHVzaW5rX29wZW4pLAoJICAoZHhyM3NwdXNpbmtfY2xvc2UpLCAoZHhyM3NwdXNpbmtfY2hhaW4pLAoJICAoZHhyM3NwdXNpbmtfY2hhbmdlX3N0YXRlKToKCSAgKiBzeXMvZHhyMy9keHIzc3B1c2luay5oOgoJICAqIHN5cy9keHIzL2R4cjN2aWRlb3NpbmsuYzogKGR4cjN2aWRlb3NpbmtfaW5pdCksCgkgIChkeHIzdmlkZW9zaW5rX29wZW4pLCAoZHhyM3ZpZGVvc2lua19jbG9zZSksCgkgIChkeHIzdmlkZW9zaW5rX3dyaXRlX2RhdGEpLCAoZHhyM3ZpZGVvc2lua19jaGFuZ2Vfc3RhdGUpOgoJICAqIHN5cy9keHIzL2R4cjN2aWRlb3NpbmsuaDoKCSAgKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmM6IChnc3RfZ2xpbWFnZXNpbmtfaW5pdCk6CgkgICogc3lzL3FjYW0vZ3N0cWNhbXNyYy5jOiAoZ3N0X3FjYW1zcmNfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9xY2Ftc3JjX29wZW4pLCAoZ3N0X3FjYW1zcmNfY2xvc2UpOgoJICAqIHN5cy9xY2FtL2dzdHFjYW1zcmMuaDoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6IChnc3RfdjRsMnNyY19pbml0KToKCSAgKiBzeXMvdmNkL3ZjZHNyYy5jOiAoZ3N0X3ZjZHNyY19zZXRfcHJvcGVydHkpLCAoZ3N0X3ZjZHNyY19nZXQpLAoJICAoZ3N0X3ZjZHNyY19vcGVuX2ZpbGUpLCAoZ3N0X3ZjZHNyY19jbG9zZV9maWxlKSwKCSAgKGdzdF92Y2RzcmNfY2hhbmdlX3N0YXRlKSwgKGdzdF92Y2RzcmNfcmVjYWxjdWxhdGUpOgoJICAqIHN5cy92Y2QvdmNkc3JjLmg6CgkgIHJlbmFtZWQgR1NUX0ZMQUdTIG1hY3JvcyB0byBHU1RfT0JKRUNUX0ZMQUdTCgkgIG1vdmVkIGJpdHNoaWZ0IGZyb20gbWFjcm8gdG8gZW51bSBkZWZpbml0aW9uCgoyMDA1LTA5LTA1IDE3OjIwOjI5ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkqIGV4dC9qYWNrL2dzdGphY2suYzoKCSogZXh0L2phY2svZ3N0amFja2Jpbi5jOgoJICBGaXggdXAgYWxsIHRoZSBzdGF0ZSBjaGFuZ2UgZnVuY3Rpb25zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgRml4IHVwIGFsbCB0aGUgc3RhdGUgY2hhbmdlIGZ1bmN0aW9ucy4KCjIwMDQtMDgtMDMgMTQ6Mjg6MTIgKzAwMDAgIEJlbmphbWluIE90dGUgPG90dGVAZ25vbWUub3JnPgoKCSAgZml4ZXMgZm9yIEdfRElTQUJMRV9BU1NFUlQgYW5kIGZyaWVuZHMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXhhbXBsZXMvZHlucGFyYW1zL2ZpbHRlci5jOiAodWlfY29udHJvbF9jcmVhdGUpOgoJICAqIGV4YW1wbGVzL2dzdHBsYXkvcGxheWVyLmM6IChwcmludF90YWcpOgoJICAqIGV4dC9hbHNhL2dzdGFsc2EuYzogKGdzdF9hbHNhX3JlcXVlc3RfbmV3X3BhZCk6CgkgICogZXh0L2dka19waXhidWYvZ3N0Z2RrYW5pbWF0aW9uLmM6CgkgIChnc3RfZ2RrX2FuaW1hdGlvbl9pdGVyX21heV9hZHZhbmNlKToKCSAgKiBleHQvamFjay9nc3RqYWNrLmM6IChnc3RfamFja19yZXF1ZXN0X25ld19wYWQpOgoJICAqIGV4dC9tYWQvZ3N0aWQzdGFnLmM6IChnc3RfbWFkX2lkM190b190YWdfbGlzdCksCgkgICh0YWdfbGlzdF90b19pZDNfdGFnX2ZvcmVhY2gpLCAoZ3N0X2lkM190YWdfaGFuZGxlX2V2ZW50KToKCSAgKiBleHQvdm9yYmlzL29nZ3ZvcmJpc2VuYy5jOiAoZ3N0X29nZ3ZvcmJpc2VuY19nZXRfdGFnX3ZhbHVlKToKCSAgKiBleHQvdm9yYmlzL3ZvcmJpc2VuYy5jOiAoZ3N0X3ZvcmJpc2VuY19nZXRfdGFnX3ZhbHVlKToKCSAgKiBleHQveGluZS94aW5lYXVkaW9kZWMuYzogKGdzdF94aW5lX2F1ZGlvX2RlY19jaGFpbik6CgkgICogZ3N0LWxpYnMvZ3N0L21lZGlhLWluZm8vbWVkaWEtaW5mby10ZXN0LmM6IChwcmludF90YWcpOgoJICAqIGdzdC9zaW5lL2RlbW8tZHBhcmFtcy5jOiAobWFpbik6CgkgICogZ3N0L3RhZ3MvZ3N0dm9yYmlzdGFnLmM6IChnc3RfdGFnX3RvX3ZvcmJpc19jb21tZW50cyk6CgkgICogdGVzdHN1aXRlL2Fsc2EvZm9ybWF0cy5jOiAoY3JlYXRlX3BpcGVsaW5lKToKCSAgKiB0ZXN0c3VpdGUvYWxzYS9zaW5lc3JjLmM6IChzaW5lc3JjX2ZvcmNlX2NhcHMpLCAoc2luZXNyY19nZXQpOgoJICBmaXhlcyBmb3IgR19ESVNBQkxFX0FTU0VSVCBhbmQgZnJpZW5kcwoJICAqIGdzdC90eXBlZmluZC9nc3R0eXBlZmluZGZ1bmN0aW9ucy5jOiAoYWFjX3R5cGVfZmluZCksCgkgIChtcDNfdHlwZV9mcmFtZV9sZW5ndGhfZnJvbV9oZWFkZXIpLCAobXAzX3R5cGVfZmluZCksCgkgIChwbHVnaW5faW5pdCk6CgkgIHJlcXVpcmUgbXAzIHR5cGVmaW5kaW5nIHRvIGhhdmUgYXQgbGVhc3QgTUlOX0hFQURFUlMgdmFsaWQgaGVhZGVycwoJICBhZGQgdHlwZWZpbmRpbmcgZm9yIEFBQyBhZHRzIGZpbGVzCgoyMDA0LTA1LTIxIDIzOjI4OjU3ICswMDAwICBTdMOpcGhhbmUgTG9ldWlsbGV0IDxnc3RyZWFtZXJAbGVyb3V0aWVyLm5ldD4KCgkqIGV4dC9qYWNrL2dzdGphY2suYzoKCSogZXh0L2phY2svZ3N0amFjay5oOgoJICBzZWNvbmQgYmF0Y2ggOiByZW1vdmUgJywnIGF0IGVuZCBvZiBlbnVtcyBhcyB0aGV5IGNvdWxkIGNvbmZ1c2Ugb2xkZXIgZ2NjLCBmb3JlaWduIGNvbXBpbGVycyAoZm9ydGUpIGFuZCBndGstZG9jIChpbiAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHNlY29uZCBiYXRjaCA6CgkgIHJlbW92ZSAnLCcgYXQgZW5kIG9mIGVudW1zIGFzIHRoZXkgY291bGQgY29uZnVzZSBvbGRlciBnY2MsIGZvcmVpZ24gY29tcGlsZXJzIChmb3J0ZSkgYW5kIGd0ay1kb2MKCSAgKGluIGdzdC1wbHVnaW5zL2V4dC8gdGhpcyB0aW1lKQoKMjAwNC0wMy0xNSAxOTozMjoyNyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBleHQvamFjay9nc3RqYWNrLmM6CgkqIGV4dC9qYWNrL2dzdGphY2tiaW4uYzoKCSAgZG9uJ3QgbWl4IHRhYnMgYW5kIHNwYWNlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZG9uJ3QgbWl4IHRhYnMgYW5kIHNwYWNlcwoKMjAwNC0wMy0xNSAxNjozMjo1NCArMDAwMCAgSm9oYW4gRGFobGluIDxqb2hhbkBnbm9tZS5vcmc+CgoJICAqLmg6IFJldmVydCBpbmRlbnRpbmcKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogKi5oOiBSZXZlcnQgaW5kZW50aW5nCgoyMDA0LTAzLTE0IDIyOjM0OjMzICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGV4dC9qYWNrL2dzdGphY2suYzoKCSogZXh0L2phY2svZ3N0amFjay5oOgoJKiBleHQvamFjay9nc3RqYWNrYmluLmM6CgkgIGdzdC1pbmRlbnQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGdzdC1pbmRlbnQKCjIwMDQtMDEtMTIgMDM6NDA6MTggKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2phY2svZ3N0amFjay5jOgoJICBSZW1vdmUgYWxsIHVzYWdlIG9mIGdzdF9wYWRfZ2V0X2NhcHMoKSwgYW5kIHJlcGxhY2UgaXQgd2l0aCBnc3RfcGFkX2dldF9hbGxvd2VkX2NhcHMoKSBvciBnc3RfcGFkX2dldF9uZWdvdGlhdGVkX2NhcCgpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUmVtb3ZlIGFsbCB1c2FnZSBvZiBnc3RfcGFkX2dldF9jYXBzKCksIGFuZCByZXBsYWNlIGl0IHdpdGgKCSAgZ3N0X3BhZF9nZXRfYWxsb3dlZF9jYXBzKCkgb3IgZ3N0X3BhZF9nZXRfbmVnb3RpYXRlZF9jYXAoKS4KCjIwMDMtMTItMjIgMDE6NDc6MDkgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2phY2svZ3N0amFjay5jOgoJICBNZXJnZSBDQVBTIGJyYW5jaAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgTWVyZ2UgQ0FQUyBicmFuY2gKCjIwMDMtMTItMTMgMTY6NTk6NTEgKzAwMDAgIEJlbmphbWluIE90dGUgPG90dGVAZ25vbWUub3JnPgoKCSogZXh0L2phY2svZ3N0amFja2Jpbi5jOgoJICByZW1vdmVkIEdTVF8qX0NBU1QuIERpc2FibGluZyBvZiB0eXBlIGNoZWNraW5nIGlzIGRvbmUgaW4gZ2xpYi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHJlbW92ZWQgR1NUXypfQ0FTVC4gRGlzYWJsaW5nIG9mIHR5cGUgY2hlY2tpbmcgaXMgZG9uZSBpbiBnbGliLgoKMjAwMy0xMi0wNCAxMDozNzozOCArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSogZXh0L2phY2svZ3N0amFjay5jOgoJICByZW1vdmUgY29weXJpZ2h0IGZpZWxkIGZyb20gcGx1Z2lucwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmVtb3ZlIGNvcHlyaWdodCBmaWVsZCBmcm9tIHBsdWdpbnMKCjIwMDMtMTEtMDcgMTI6NDc6MDIgKzAwMDAgIFJvbmFsZCBTLiBCdWx0amUgPHJidWx0amVAcm9uYWxkLmJpdGZyZWFrLm5ldD4KCgkqIGV4dC9qYWNrL2dzdGphY2tiaW4uYzoKCSAgUmVtb3ZlIGFsbCBjb25maWcuaCBpbmNsdWRlcyBmcm9tIGhlYWRlciBmaWxlcywgYWRkIGl0IHRvIGVhY2ggc291cmNlIGZpbGUgYW5kIHJlbW92ZSBkdXBsaWNhdGUgY29uZmlnLmggaW5jbHVkZXMgZnJvLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBSZW1vdmUgYWxsIGNvbmZpZy5oIGluY2x1ZGVzIGZyb20gaGVhZGVyIGZpbGVzLCBhZGQgaXQgdG8gZWFjaCBzb3VyY2UgZmlsZSBhbmQgcmVtb3ZlIGR1cGxpY2F0ZSBjb25maWcuaCBpbmNsdWRlcyBmcm9tIHNldmVyYWwgc291cmNlIGZpbGVzCgoyMDAzLTExLTAxIDIzOjQzOjEzICswMDAwICBJYWluIEhvbG1lcyA8aWFpbkBwcmV0dHlwZW9wbGUub3JnPgoKCSogZXh0L2phY2svZ3N0amFjay5jOgoJICBKYWNrIGZpeGVkIHRvbwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgSmFjayBmaXhlZCB0b28KCjIwMDMtMTAtMjkgMDM6MTU6NTUgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2phY2svZ3N0amFjay5oOgoJICBjaGFuZ2UgZ3N0L2J5dGVzdHJlYW0uaCB0byBnc3QvYnl0ZXN0cmVhbS9ieXRlc3RyZWFtLmgKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGNoYW5nZSBnc3QvYnl0ZXN0cmVhbS5oIHRvIGdzdC9ieXRlc3RyZWFtL2J5dGVzdHJlYW0uaAoKMjAwMy0xMC0yOCAyMDo1Mjo0MSArMDAwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUBnbm9tZS5vcmc+CgoJKiBleHQvamFjay9nc3RqYWNrLmg6CgkgIG1lcmdlIFRZUEVGSU5EIGJyYW5jaC4gTWFqb3IgY2hhbmdlczoKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIG1lcmdlIFRZUEVGSU5EIGJyYW5jaC4gTWFqb3IgY2hhbmdlczoKCSAgLSB0b3RhbGx5IHJld29ya2VkIHR5cGUoZmluZCkgc3lzdGVtCgkgIC0gYWxsIHR5cGVmaW5kIGZ1bmN0aW9ucyBhcmUgaW4gZ3N0L3R5cGVmaW5kIG5vdwoJICAtIG1vcmUgdHlwZWZpbmQgZnVuY3Rpb25zIHRoZW4gYmVmb3JlCgkgIC0gc29tZSBwbHVnaW5zIG1pZ2h0IGZhaWwgdG8gY29tcGlsZSBub3cgYmVjYXVzZSBJIGRvbid0IGhhdmUgdGhlbSBpbnN0YWxsZWQgYW5kIHRoZXkKCSAgYSkgcmVxdWlyZSBieXRlc3RyZWFtIG9yCgkgIGIpIGhhdmVuJ3QgaGFkIHRoZWlyIHR5cGVmaW5kIGZpeGVkLgoJICBQbGVhc2UgZml4IHRob3NlIHBsdWdpbnMgYW5kIHB1dCB0aGUgdHlwZWZpbmQgZnVuY3Rpb25zIGludG8gZ3N0L3R5cGVmaW5kIGlmIHRoZXkgZG9uJ3QgaGF2ZSBkZXBlbmRlbmNpZXMKCjIwMDMtMTAtMDggMTY6MDg6MTkgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkqIGV4dC9qYWNrL2dzdGphY2suYzoKCSAgL0dzdEJ1ZmZlci9Hc3REYXRhLyBpbiB0aGUgQVBJIHdoZXJlIHlvdSBjYW4gcGFzcyBldmVudHMuIEZpeCB0aGUgcGx1Z2lucyB0byBkZWFsIHdpdGggdGhhdC4gRml4ZXMgIzExMzQ4OC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIC9Hc3RCdWZmZXIvR3N0RGF0YS8gaW4gdGhlIEFQSSB3aGVyZSB5b3UgY2FuIHBhc3MgZXZlbnRzLiBGaXggdGhlIHBsdWdpbnMgdG8gZGVhbCB3aXRoIHRoYXQuIEZpeGVzICMxMTM0ODguCgoyMDAzLTEwLTAxIDEzOjE0OjUwICswMDAwICBSb25hbGQgUy4gQnVsdGplIDxyYnVsdGplQHJvbmFsZC5iaXRmcmVhay5uZXQ+CgoJKiBleHQvamFjay9nc3RqYWNrLmg6CgkgIE5ldyB0eXBlZmluZCBzeXN0ZW06IGJ5dGVzdHJlYW0gaXMgbm93IHBhcnQgb2YgdGhlIGNvcmUgYWxsIHBsdWdpbnMgaGF2ZSBiZWVuIG1vZGlmaWVkIHRvIHVzZSB0aGlzIG5ldyB0eXBlZmluZCBzeXN0ZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgTmV3IHR5cGVmaW5kIHN5c3RlbToKCSAgKiBieXRlc3RyZWFtIGlzIG5vdyBwYXJ0IG9mIHRoZSBjb3JlCgkgICogYWxsIHBsdWdpbnMgaGF2ZSBiZWVuIG1vZGlmaWVkIHRvIHVzZSB0aGlzIG5ldyB0eXBlZmluZCBzeXN0ZW0KCSAgKiBhc2YgdHlwZWZpbmRpbmcgYWRkZWQKCSAgKiBtcGVnIHZpZGVvIHN0cmVhbSB0eXBlZmlkaW5nIHJlbW92ZWQgYmVjYXVzZSBpdCdzIGJyb2tlbgoJICAqIGR1cGxpY2F0ZSB0eXBlZmluZCBlbnRyaWVzIHJlbW92ZWQKCSAgKiBleHRyYSBpZDMgdHlwZWZpbmRpbmcgYWRkZWQsIGJlY2F1c2Ugd2UndmUgc2VlbiA0IHR5cGVzIG9mIGZpbGVzCgkgIChyaWZmL3dhdiwgZmxhYywgdm9yYmlzLCBtcDMpIHdpdGggaWQzIGhlYWRlcnMgYW5kIGVhY2ggb2YgdGhlc2UgbmVlZHMKCSAgdG8gd29yay4gSW5zdGVhZCwgSSd2ZSBhZGRlZCBhbiBpZDMgZWxlbWVudCBhbmQgbGV0IGl0IHJlZG8gdHlwZWZpZGluZwoJICBhZnRlciB0aGUgaWQzIGhlYWRlci4gdGhpcyBuZWVkcyBhIGhhY2sgYmVjYXVzZSBzcGlkZXIgb25seSB0eXBlZmluZHMKCSAgb25jZS4gV2UgY2FuIHJlbW92ZSB0aGlzIGhhY2sgb25jZSBzcGlkZXIgc3VwcG9ydHMgbXVsdGlwbGUgdHlwZWZpbmRzLgoJICAqIHdpdGggYWxsIHRoaXMsIG1wMyB0eXBlZmluZGluZyBpcyBzZW1pLXJld3JpdHRlbgoJICAqIGlkMyB0eXBlZmluZGluZyBpbiBmbGFjL3ZvcmJpcyBpcyByZW1vdmVkLCBpdCdzIG5vIGxvbmdlciBuZWVkZWQKCSAgKiBmaXhlZCBzcGlkZXIgYW5kIGdzdC10eXBlZmluZCB0byB1c2UgdGhpcywgdG9vLgoJICAqIE90aGVyIGdlbmVyYWwgY2xlYW51cHMKCjIwMDMtMDktMzAgMTI6NTY6MjcgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkqIGV4dC9qYWNrL2dzdGphY2suYzoKCSogZXh0L2phY2svZ3N0amFjay5oOgoJKiBleHQvamFjay9nc3RqYWNrYmluLmM6CgkgIGNvbmZvcm0gdG8gdGhlIGJ1ZmZlci1mcmFtZXMgcHJvcHMgZW50cnkgLS0gbXVjaCBuaWNlciBub3cuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGNvbmZvcm0gdG8gdGhlIGJ1ZmZlci1mcmFtZXMgcHJvcHMgZW50cnkgLS0gbXVjaCBuaWNlciBub3cuLi4KCjIwMDMtMDgtMTAgMDA6MDE6NTggKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2phY2svTWFrZWZpbGUuYW06CgkgIFJlbW92ZSByZWR1bmRhbnQgcGx1Z2luZGlyIGRlZmluaXRpb24KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFJlbW92ZSByZWR1bmRhbnQgcGx1Z2luZGlyIGRlZmluaXRpb24KCjIwMDMtMDctMTkgMjM6MjU6MjUgKzAwMDAgIExlaWYgSm9obnNvbiA8bGVpZkBhbWJpZW50LjJ5Lm5ldD4KCgkqIGV4dC9qYWNrL2dzdGphY2suYzoKCSogZXh0L2phY2svZ3N0amFjay5oOgoJICArIGNoYW5nZXMgZm9yIG5ldyBmbG9hdCBjYXBzIHdpdGhvdXQgc2xvcGUvaW50ZXJjZXB0ICsgc29tZSBjYXRlZ29yeSBjaGFuZ2VzIGZvciBwbHVnaW5zCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICArIGNoYW5nZXMgZm9yIG5ldyBmbG9hdCBjYXBzIHdpdGhvdXQgc2xvcGUvaW50ZXJjZXB0CgkgICsgc29tZSBjYXRlZ29yeSBjaGFuZ2VzIGZvciBwbHVnaW5zCgoyMDAzLTA3LTA2IDIwOjQ5OjUyICswMDAwICBSb25hbGQgUy4gQnVsdGplIDxyYnVsdGplQHJvbmFsZC5iaXRmcmVhay5uZXQ+CgoJKiBleHQvamFjay9nc3RqYWNrLmM6CgkgIE5ldyBtaW1ldHlwZXMgZ29uZSBpbnRvIGVmZmVjdCB0b2RheSAtIHRoaXMgY29tbWl0IGNoYW5nZXMgYWxsIG9sZCBtaW1ldHlwZXMgb3ZlciB0byB0aGUgbmV3IG1pbWV0eXBlcyBzcGVjIGFzIGRlc2NyaS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgTmV3IG1pbWV0eXBlcyBnb25lIGludG8gZWZmZWN0IHRvZGF5IC0gdGhpcyBjb21taXQgY2hhbmdlcyBhbGwgb2xkIG1pbWV0eXBlcyBvdmVyIHRvIHRoZSBuZXcgbWltZXR5cGVzIHNwZWMgYXMgZGVzY3JpYmVkIGluIHRoZSBwcmV2aW91cyBjb21taXQncyBkb2N1bWVudC4gTm90ZTogc29tZSBwbHVnaW5zIHdpbGwgYnJlYWssIHNvbWUgcGlwZWxpbmVzIHdpbGwgYnJlYWssIGV4cGVjdCBIRUFEIHRvIGJlIGJyb2tlbiBvciBhdCBsZWFzdCBub3QgMTAwJSB3b3JraW5nIGZvciBhIGZldyBkYXlzLCBidXQgZG9uJ3QgZm9yZ2V0IHRvIHJlcG9ydCBidWdzCgoyMDAzLTA3LTAxIDAyOjI3OjA2ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9qYWNrL2dzdGphY2suYzoKCSAgZml4IHR5cGUgcHVubmluZwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZml4IHR5cGUgcHVubmluZwoKMjAwMy0wNi0yOSAxOTo0NjoxMyArMDAwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUBnbm9tZS5vcmc+CgoJKiBleHQvamFjay9nc3RqYWNrLmM6CgkqIGV4dC9qYWNrL2dzdGphY2tiaW4uYzoKCSAgY29tcGF0aWJpbGl0eSBmaXggZm9yIG5ldyBHU1RfREVCVUcgc3R1ZmYuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBjb21wYXRpYmlsaXR5IGZpeCBmb3IgbmV3IEdTVF9ERUJVRyBzdHVmZi4KCSAgSW5jbHVkZXMgZml4ZXMgZm9yIG1pc3NpbmcgaW5jbHVkZXMgZm9yIGNvbmZpZy5oIGFuZCB1bmlzdGQuaAoJICBJIG9ubHkgZW5zdXJlZCBmb3IgcGx1Z2lucyBJIGNhbiBidWlsZCB0aGF0IHRoZXkgd29yaywgc28gaWYgc29tZSBvZiB0aGVtIGFyZSBzdGlsbCBicm9rZW4sIHlvdSBnb3R0YSBmaXggdGhlbSB5b3Vyc2VsdmVzIHVuZm9ydHVuYXRlbHkuCgoyMDAzLTA2LTEzIDIxOjIxOjE3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSogZXh0L2phY2svZ3N0amFjay5jOgoJICBSZW1vdmVkIHVnbHkgY2FwcyBmaXhlZCBmbGFnIGhhY2ssIHdpbGwgYmUgZG9uZSBhdXRvbWF0aWNhbGx5IGluIGNvcmUgc29vbgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUmVtb3ZlZCB1Z2x5IGNhcHMgZml4ZWQgZmxhZyBoYWNrLCB3aWxsIGJlIGRvbmUgYXV0b21hdGljYWxseSBpbgoJICBjb3JlIHNvb24KCjIwMDMtMDMtMDQgMTU6MzQ6MjAgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkqIGV4dC9qYWNrL2dzdGphY2suYzoKCSogZXh0L2phY2svZ3N0amFjay5oOgoJKiBleHQvamFjay9nc3RqYWNrYmluLmM6CgkgIHVwZGF0ZSBmb3IgdGhlIGxhdGVzdCBqYWNrIGN2cyBhbmQgbm9uLWNvdGhyZWFkZWQgZ3N0IHNjaGVkdWxlcgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgdXBkYXRlIGZvciB0aGUgbGF0ZXN0IGphY2sgY3ZzIGFuZCBub24tY290aHJlYWRlZCBnc3Qgc2NoZWR1bGVyCgoyMDAzLTAyLTA1IDIwOjM4OjQxICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkqIGV4dC9qYWNrL2dzdGphY2suYzoKCSAgQ2hhbmdlZCBjYXBzLT5maXhlZCB0byB1c2UgRkxBR19TRVQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIENoYW5nZWQgY2Fwcy0+Zml4ZWQgdG8gdXNlIEZMQUdfU0VUCgoyMDAzLTAxLTEwIDEzOjM4OjMyICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGV4dC9qYWNrL2dzdGphY2suYzoKCSAgUGFkQ29ubmVjdCAtPiBQYWRMaW5rCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYWRDb25uZWN0IC0+IFBhZExpbmsKCjIwMDMtMDEtMTAgMTA6MjI6MjUgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZXh0L2phY2svZ3N0amFjay5jOgoJICBhbm90aGVyIGJhdGNoIG9mIGNvbm5lY3QtPmxpbmsgZml4ZXMgcGxlYXNlIGxldCBtZSBrbm93IGFib3V0IGlzc3VlcyBhbmQgcGxlYXNlIHJlZnJhaW4gb2YgbWFraW5nIHRoZW0geW91cnNlbGYsIHNvIHQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGFub3RoZXIgYmF0Y2ggb2YgY29ubmVjdC0+bGluayBmaXhlcwoJICBwbGVhc2UgbGV0IG1lIGtub3cgYWJvdXQgaXNzdWVzCgkgIGFuZCBwbGVhc2UgcmVmcmFpbiBvZiBtYWtpbmcgdGhlbSB5b3Vyc2VsZiwgc28gdGhhdCBJIGRvbid0IHNwZW5kIGRvdWJsZQoJICB0aGUgdGltZSByZXNvbHZpbmcgY29uZmxpY3RzCgoyMDAyLTEyLTA4IDE0OjUwOjEwICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGV4dC9qYWNrL01ha2VmaWxlLmFtOgoJICBwYXJhbGxlbCBpbnN0YWxsIGZpeGVzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBwYXJhbGxlbCBpbnN0YWxsIGZpeGVzCgoyMDAyLTA5LTI5IDE4OjEyOjE4ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJKiBleHQvamFjay9nc3RqYWNrLmM6CgkqIGV4dC9qYWNrL2dzdGphY2tiaW4uYzoKCSAgbGljZW5zZXMgYWdhaW4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGxpY2Vuc2VzIGFnYWluCgoyMDAyLTA5LTE4IDE5OjAyOjUyICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBleHQvamFjay9nc3RqYWNrLmM6CgkgIHBsdWdpbnMgcGFydCBvZiBsaWNlbnNlIGZpZWxkIHBhdGNoCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBwbHVnaW5zIHBhcnQgb2YgbGljZW5zZSBmaWVsZCBwYXRjaAoKMjAwMi0wOS0xMCAwOTozMTo0MCArMDAwMCAgUm9uYWxkIFMuIEJ1bHRqZSA8cmJ1bHRqZUByb25hbGQuYml0ZnJlYWsubmV0PgoKCSogZXh0L2phY2svZ3N0amFjay5jOgoJICBUaGlzIHVwZGF0ZXMgYWxsIHBsdWdpbnMgdG8gdGhlIG5ldyBBUEkgZm9yIGdzdF9wYWRfdHJ5X3NldF9jYXBzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBUaGlzIHVwZGF0ZXMgYWxsIHBsdWdpbnMgdG8gdGhlIG5ldyBBUEkgZm9yIGdzdF9wYWRfdHJ5X3NldF9jYXBzCgoyMDAyLTA5LTA5IDIzOjI3OjM4ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGV4dC9qYWNrL2dzdGphY2suYzoKCSAgcmVtb3Zpbmcgd2FybmluZ3MgYXMgYXBwcm92ZWQgYnkgd2ltCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZW1vdmluZyB3YXJuaW5ncyBhcyBhcHByb3ZlZCBieSB3aW0KCjIwMDItMDgtMjMgMDQ6MDQ6MTEgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkqIGV4dC9qYWNrL2dzdGphY2suYzoKCSogZXh0L2phY2svZ3N0amFja2Jpbi5jOgoJICBmaXggamFjayBpbnB1dCBwb3J0IGNvbm5lY3Rpb24KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGZpeCBqYWNrIGlucHV0IHBvcnQgY29ubmVjdGlvbgoKMjAwMi0wNy0wOSAxNzozOToxNyArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSogZXh0L2phY2svZ3N0amFjay5jOgoJICBjb21waWxlIGZpeGVuLCBhbmQgcHJlcGFyZSB0byBtb3ZlIE1BSU5UQUlORVJfTU9ERSB0byBhcy12ZXJzaW9uLm00CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBjb21waWxlIGZpeGVuLCBhbmQgcHJlcGFyZSB0byBtb3ZlIE1BSU5UQUlORVJfTU9ERSB0byBhcy12ZXJzaW9uLm00CgoyMDAyLTA3LTAyIDIzOjM1OjA3ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJKiBleHQvamFjay9nc3RqYWNrLmM6CgkqIGV4dC9qYWNrL2dzdGphY2tiaW4uYzoKCSAgbWFrZSBqYWNrIHdvcmsgaW4gYWxsIGl0cyBmdWxsIGR1cGxleCBnbG9yeQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgbWFrZSBqYWNrIHdvcmsgaW4gYWxsIGl0cyBmdWxsIGR1cGxleCBnbG9yeQoKMjAwMi0wNi0xMiAwMzozMjowMiArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSogZXh0L2phY2svZ3N0amFjay5jOgoJKiBleHQvamFjay9nc3RqYWNrYmluLmM6CgkgIHdvcmtpbmcgamFjayBlbGVtZW50cyAoZml4ZWQgYSBwcm9ibGVtIGluIHVwc3RyZWFtIGphY2spIHJhbmRvbSBvdGhlciBmaXhlbi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB3b3JraW5nIGphY2sgZWxlbWVudHMgKGZpeGVkIGEgcHJvYmxlbSBpbiB1cHN0cmVhbSBqYWNrKQoJICAqIHJhbmRvbSBvdGhlciBmaXhlbi4uLgoKMjAwMi0wNS0xNSAxOTowODo0OSArMDAwMCAgU3RldmUgQmFrZXIgPHN0ZXZlQHN0ZXZlYmFrZXIub3JnPgoKCSogZXh0L2phY2svZ3N0amFjay5jOgoJICB1c2UgbmV3IGJ5dGVzdHJlYW0gYXBpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB1c2UgbmV3IGJ5dGVzdHJlYW0gYXBpCgoyMDAyLTA1LTEzIDE4OjA4OjMzICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJKiBleHQvamFjay9nc3RqYWNrLmM6CgkqIGV4dC9qYWNrL2dzdGphY2suaDoKCSogZXh0L2phY2svZ3N0amFja2Jpbi5jOgoJICB1cGRhdGUgdG8gbmV3IGphY2sgYXBpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB1cGRhdGUgdG8gbmV3IGphY2sgYXBpCgoyMDAyLTA1LTA1IDE5OjM5OjE3ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJKiBleHQvamFjay9nc3RqYWNrLmM6CgkgIGFkZCBzb21lIGluY2x1ZGVzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBhZGQgc29tZSBpbmNsdWRlcwoKMjAwMi0wNS0wNSAwMTowODowNSArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSogZXh0L2phY2svZ3N0amFjay5jOgoJKiBleHQvamFjay9nc3RqYWNrLmg6CgkqIGV4dC9qYWNrL2dzdGphY2tiaW4uYzoKCSAgYmV0dGVyIGluaXRpYWxpemF0aW9uLiBpdCBkb2Vzbid0IHdvcmsgb3ZlciBoZXJlLCB0aG91Z2guCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBiZXR0ZXIgaW5pdGlhbGl6YXRpb24uIGl0IGRvZXNuJ3Qgd29yayBvdmVyIGhlcmUsIHRob3VnaC4KCjIwMDItMDUtMDQgMjE6Mzg6NTYgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkqIGV4dC9qYWNrL2dzdGphY2tiaW4uYzoKCSAgYSBjb21taXQgc28gdGhhdCBqYWNrIHdpbGwgYnVpbGQgd2l0aG91dCBlcnJvcnMgb24gVXJhZXVzJ3Mgc3lzdGVtIDspCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBhIGNvbW1pdCBzbyB0aGF0IGphY2sgd2lsbCBidWlsZCB3aXRob3V0IGVycm9ycyBvbiBVcmFldXMncyBzeXN0ZW0gOykKCjIwMDItMDUtMDQgMjA6NTM6MzUgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkqIGV4dC9qYWNrL2dzdGphY2suYzoKCSAgc2V0IGNhcHMgb25jZSB3ZSBrbm93IHRoZSBzYW1wbGUgcmF0ZSBvZiB0aGUgc3lzdGVtCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBzZXQgY2FwcyBvbmNlIHdlIGtub3cgdGhlIHNhbXBsZSByYXRlIG9mIHRoZSBzeXN0ZW0KCjIwMDItMDUtMDQgMTg6NTc6NDQgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkqIGV4dC9qYWNrL2dzdGphY2suYzoKCSogZXh0L2phY2svZ3N0amFjay5oOgoJKiBleHQvamFjay9nc3RqYWNrYmluLmM6CgkgIHNvbWUgamFjayBmaXhlcywgYWxzYSB0b3VjaHVwcywgYW5kIGFkZCBydHAgYnkgZGVmYXVsdCB0byB0aGUgYnVpbGQgaWYgdGhlcmUgYXJlIGFueSBwcm9ibGVtcyBidWlsZGluZyBydHAsIHdlJ3JlIG1vdi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgc29tZSBqYWNrIGZpeGVzLCBhbHNhIHRvdWNodXBzLCBhbmQgYWRkIHJ0cCBieSBkZWZhdWx0IHRvIHRoZSBidWlsZAoJICBpZiB0aGVyZSBhcmUgYW55IHByb2JsZW1zIGJ1aWxkaW5nIHJ0cCwgd2UncmUgbW92aW5nIGl0IGJhY2sgdG8gZXhwZXJpbWVudGFsIDspCgoyMDAyLTA0LTIwIDIxOjQyOjUxICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJKiBleHQvamFjay9nc3RqYWNrLmM6CgkgIGEgaGFjayB0byB3b3JrIGFyb3VuZCBpbnRsdG9vbCdzIGJyb2tlbm5lc3MgYSBjdXJyZW50IGNoZWNrIGZvciBtcGVnMmRlYyBkZXRhaWxzLT5rbGFzcyByZW9yZ2FuaXphdGlvbnMgYW4gZWxlbWVudCBici4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBhIGhhY2sgdG8gd29yayBhcm91bmQgaW50bHRvb2wncyBicm9rZW5uZXNzCgkgICogYSBjdXJyZW50IGNoZWNrIGZvciBtcGVnMmRlYwoJICAqIGRldGFpbHMtPmtsYXNzIHJlb3JnYW5pemF0aW9ucwoJICAqIGFuIGVsZW1lbnQgYnJvd3NlciB0aGF0IHVzZXMgZGV0YWlscy0+a2xhc3MKCSAgKiBzZXBhcmF0ZWQgY2R4YSBwYXJzZSBvdXQgZnJvbSB0aGUgYXZpIGRpcmVjdG9yeQoKMjAwMi0wNC0xNiAxNzoxNDowNSArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSogZXh0L2phY2svTWFrZWZpbGUuYW06CgkqIGV4dC9qYWNrL2dzdGphY2suYzoKCSogZXh0L2phY2svZ3N0amFjay5oOgoJKiBleHQvamFjay9nc3RqYWNrYmluLmM6CgkgIEZpbmFsbHkgd2UncmUgb24gdG8gYSBwcm9wZXIgamFjayBzZXR1cCwgd2l0aCBhIHNwZWNpYWxpemVkIGJpbiBhbmQgZWxlbWVudHMgdGhhdCBjYW4gb25seSBnbyBpbiBhIGphY2sgYmluLiBJIGhhZCB0by4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgRmluYWxseSB3ZSdyZSBvbiB0byBhIHByb3BlciBqYWNrIHNldHVwLCB3aXRoIGEgc3BlY2lhbGl6ZWQgYmluIGFuZCBlbGVtZW50cwoJICB0aGF0IGNhbiBvbmx5IGdvIGluIGEgamFjayBiaW4uIEkgaGFkIHRvIGZpeCB0aGUgcGFyc2VyIGZpcnN0IHRvIGRvIHRoaXMsIGJ1dAoJICB0byBydW4gaXQsIHRoZSBzeW50YXggaXMgbGlrZSBzbzoKCSAgZ3N0LWxhdW5jaCBqYWNrYmluLiggZmlsZXNyYyAhIG1hZCAhIGphY2tzaW5rICkKCSAgQnV0IG9mIGNvdXJzZSBpdCdzIG5vdCBmdWxseSBmdW5jdGlvbmFsIHlldC4gU2lnaC4KCjIwMDItMDQtMTEgMjA6NDI6MjYgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkqIGV4dC9qYWNrL2dzdGphY2suYzoKCSAgR3N0UGFkVGVtcGxhdGUgPC0+IGdzdF9wYWRfdGVtcGxhdGUgPC0+IEdTVF9QQURfVEVNUExBVEUgc2FtZSB3aXRoICpmYWN0b3J5IGFuZCB0eXBlZmluZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEdzdFBhZFRlbXBsYXRlIDwtPiBnc3RfcGFkX3RlbXBsYXRlIDwtPiBHU1RfUEFEX1RFTVBMQVRFCgkgIHNhbWUgd2l0aCAqZmFjdG9yeSBhbmQgdHlwZWZpbmQuCgkgIGFsc28sIHNvbWUgLVdlcnJvciBmaXhlcy4KCjIwMDItMDMtMzAgMjE6MDc6NTEgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkqIGV4dC9qYWNrL2dzdGphY2suYzoKCSAgYWxwaGFiZXRpemF0aW9uIGZpeGVuIGEgamFjayBjYXBzIGZpeAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBhbHBoYWJldGl6YXRpb24gZml4ZW4KCSAgKiBhIGphY2sgY2FwcyBmaXgKCjIwMDItMDMtMzAgMTk6MzE6MTMgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkqIGV4dC9qYWNrL2dzdGphY2suYzoKCSAgYWRkIG5vdGlmeSBiYWNrIHRvIGZpbGVzcmMsIGl0J3MgbmVlZGVkIGZvciBNVkMgYXBwbGljYXRpb25zIHJlbW92ZSBub3RpZnkgcHJpbnRvdXRzIGZyb20gZ3N0LWxhdW5jaCBjbGVhbnVwIGluIGdzdC1wLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGFkZCBub3RpZnkgYmFjayB0byBmaWxlc3JjLCBpdCdzIG5lZWRlZCBmb3IgTVZDIGFwcGxpY2F0aW9ucwoJICAqIHJlbW92ZSBub3RpZnkgcHJpbnRvdXRzIGZyb20gZ3N0LWxhdW5jaAoJICAqIGNsZWFudXAgaW4gZ3N0LXBsdWdpbnMgY29uZmlndXJlLmFjCgkgICogc29tZSBqYWNrIHVwZGF0ZXMKCSAgKiByZW1vdmUgU0VMRl9JVEVSQVRJTkcgZmxhZyBpbiBmYXZvciBvZiBTRUZfU0NIRURVTEFCTEUgKG5vdCBhIGNsZWFyIG5hbWUsCgkgIGJ1dCBpdCdzIHdoYXQgd2UgaGF2ZSBmb3IgdGhlIG1vbWVudCkKCSAgKiBpbXByb3ZlIHBhcnNpbmcgb2YgcmVxdWVzdCBwYWQgbmFtZXMsIG5vIG1vcmUgc3NjYW5mCgkgICogZml4ZXMgdG8gdGhlIGZhc3RzY2hlZHVsZXIgTWFrZWZpbGUuYW0KCjIwMDItMDMtMjAgMjE6NDU6MDQgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkqIGV4dC9qYWNrL2dzdGphY2suYzoKCSAgcy9Hbm9tZS1TdHJlYW1lci9HU3RyZWFtZXIvCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBzL0dub21lLVN0cmVhbWVyL0dTdHJlYW1lci8KCjIwMDItMDMtMTkgMDQ6MTA6MDYgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkqIGV4dC9qYWNrL01ha2VmaWxlLmFtOgoJKiBleHQvamFjay9nc3RqYWNrLmM6CgkgIHJlbW92YWwgb2YgLy8tc3R5bGUgY29tbWVudHMgZG9uJ3QgbGluayBwbHVnaW5zIHRvIGNvcmUgbGlicyAtLSB0aGUgdmVyc2lvbmluZyBpcyBkb25lIGludGVybmFsbHkgdG8gdGhlIHBsdWdpbnMgd2l0aC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiByZW1vdmFsIG9mIC8vLXN0eWxlIGNvbW1lbnRzCgkgICogZG9uJ3QgbGluayBwbHVnaW5zIHRvIGNvcmUgbGlicyAtLSB0aGUgdmVyc2lvbmluZyBpcyBkb25lIGludGVybmFsbHkgdG8gdGhlIHBsdWdpbnMgd2l0aCB0aGUgcGx1Z2luX2luZm8gc3RydWN0LAoJICBhbmQgc3ltYm9sIHJlc29sdXRpb24gaXMgbGF6eSwgc28gd2UgY2FuIGFsd2F5cyBrbm93IGlmIGEgcGx1Z2luIGNhbiBiZSBsb2FkZWQgYnkgdGhlIHBsdWdpbl9pbmZvIGRhdGEuIGluIHRoZW9yeS4KCjIwMDItMDMtMTkgMDE6Mzk6NDMgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkqIGV4dC9qYWNrL01ha2VmaWxlLmFtOgoJICBzL0BHU1RfUExVR0lOX0xERkxBR1NALyQoR1NUX1BMVUdJTl9MREZMQUdTKS8gQC1zdWJzdGl0dWVkIHZhcmlhYmxlcyB2YXJpYWJsZXMgYXJlIGRlZmluZWQgYXMgbWFrZSB2YXJpYWJsZXMgYXV0b21hZ2kuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHMvQEdTVF9QTFVHSU5fTERGTEFHU0AvJChHU1RfUExVR0lOX0xERkxBR1MpLwoJICBALXN1YnN0aXR1ZWQgdmFyaWFibGVzIHZhcmlhYmxlcyBhcmUgZGVmaW5lZCBhcyBtYWtlIHZhcmlhYmxlcyBhdXRvbWFnaWNhbGx5LAoJICBhbmQgdGhpcyBnaXZlcyB0aGUgdXNlciB0aGUgZnJlZWRvbSB0byBzYXkgbWFrZSBHU1RfUExVR0lOX0xERkxBR1M9LW15ZmxhZwoKMjAwMi0wMy0xOCAwNDo0MTozNSArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSogZXh0L2phY2svTWFrZWZpbGUuYW06CgkqIGV4dC9qYWNrL1JFQURNRToKCSogZXh0L2phY2svZ3N0amFjay5jOgoJKiBleHQvamFjay9nc3RqYWNrLmg6CgkgIHMvZ3N0X2VsZW1lbnRfaW5zdGFsbF9zdGRfcHJvcHMvZ3N0X2VsZW1lbnRfY2xhc3NfaW5zdGFsbF9zdGRfcHJvcHMvIC0tIGl0IGp1c3QgbWFrZXMgbW9yZSBzZW5zZSB0aGF0IHdheSBhZGRlZCBqYWNrIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzL2dzdF9lbGVtZW50X2luc3RhbGxfc3RkX3Byb3BzL2dzdF9lbGVtZW50X2NsYXNzX2luc3RhbGxfc3RkX3Byb3BzLyAtLSBpdCBqdXN0IG1ha2VzIG1vcmUgc2Vuc2UgdGhhdCB3YXkKCSAgKiBhZGRlZCBqYWNrIGVsZW1lbnQsIGRvZXNuJ3QgcXVpdGUgd29yayByaWdodCB5ZXQgYnV0IGkgZGlkbid0IHdhbnQgdG8gbG9zZSB0aGUgd29yayAtLSBpdCBkb2VzIGJ1aWxkLCByZWdpc3RlciwKCSAgYW5kIGF0dGVtcHQgdG8gcnVuIHRob3VnaAoJICAqIGltcG9zZWQgc29tZSByZXN0cmljdGlvbnMgb24gdGhlIG5hbWluZyBvZiByZXF1ZXN0IHBhZHMgdG8gYmV0dGVyIGFsbG93IGZvciByZXZlcnNlIHBhcnNpbmcKCSAgKiBhZGRlZCAnJXMnIHRvIHJldmVyc2UgcGFyc2luZwoJICAqIGFkZGVkIG5ldyBiaW4gZmxhZyB0byBpbmRpY2F0ZSB0aGF0IGl0IGlzIHNlbGYtaXRlcmF0aW5nLCBhbmQgc29tZSBsYW1lIGNvZGUgaW4gZ3N0LWxhdW5jaCB0byB0ZXN0IGl0IG91dAoJICAqIGZpeGVuIG9uIGxhdW5jaC1ndWkKCSAgKiBhZGRlZCBwa2ctY29uZmlnIHN0dWZmIGZvciB0aGUgZWRpdG9yJ3MgbGlicwoKMjAxMS0wMS0wMiAxMTozNzoxNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9NYWtlZmlsZS5hbToKCSogc3lzL3Y0bDIvZ3N0djRsMi5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkgIHY0bDI6IG1hcmsgdjRsMnNpbmsgYXMgZXhwZXJpbWVudGFsIGFuZCBidWlsZCBvbmx5IGlmIC0tZW5hYmxlLWV4cGVyaW1lbnRhbCBpcyBwYXNzZWQKCSAgSXQncyBub3QgcmVhbGx5IG9mICdnb29kJyBxdWFsaXR5IHlldCwgYnV0IHRoZXJlJ3MgYSBsb3Qgb2YKCSAgY29kZSBzaGFyZWQgd2l0aCB2NGwyc3JjLCBzbyBub3Qgc28gZWFzeSB0byBtb3ZlIGl0IGVsc3doZXJlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjEyMjQ0CgoyMDExLTAxLTAyIDAxOjI0OjIxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJKiBzeXMvdjRsMi9nc3R2NGwydHVuZXIuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnR1bmVyLmg6CgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSAgUmV2ZXJ0ICJ2NGwyOiBhZGQgbm9ybSBwcm9wZXJ0eSIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCA5ZTFkNDE5ZDA3MzM3ZTZkYjJjYzM5MzY0NzJiZTIwNWNlOTI3ZTU0LgoJICBSZXZlcnRpbmcgdGhpcyBzaW5jZSBpdCBhZGRzIHVucmV2aWV3ZWQgYW5kIGJhZCBBUEkgdG8gdjRsMnNyYwoJICAocHJvcGVydHkgb2YgdHlwZSBlbnVtLCB3aXRoIHNlZW1pbmdseSByYW5kb20gYW5kIHVuc29ydGVkIHZhbHVlcykuCgoyMDExLTAxLTAxIDIzOjI2OjMzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRvb2xzLy5naXRpZ25vcmU6CgkqIHRvb2xzL01ha2VmaWxlLmFtOgoJKiB0b29scy9SRUFETUUuZmlsdGVyc3RhbXA6CgkqIHRvb2xzL2ZpbHRlcnN0YW1wLnNoOgoJKiB0b29scy9nc3QtbGF1bmNoLWV4dC1tLm06CgkqIHRvb2xzL2dzdC1sYXVuY2gtZXh0LjEuaW46CgkqIHRvb2xzL2dzdC12aXN1YWxpc2UtbS5tOgoJKiB0b29scy9nc3QtdmlzdWFsaXNlLjEuaW46CgkgIHRvb2xzOiByZW1vdmUgdW51c2VkIGxlZnQtb3ZlciBkaXJlY3RvcnkKCSAgVGhlc2UgYXJlIGFsbCBpbiAtYmFzZS90b29scy4KCjIwMTAtMTItMzEgMTM6NTc6MDUgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGFkZXBheS5oOgoJICBtcDRhZGVwYXk6IGltcHJvdmUgdGltZXN0YW1wcyBvbiBvdXRnb2luZyBwYWNrZXRzCgkgIEltcHJvdmUgcGFyc2luZyBvZiB0aGUgc2FtcGxlcmF0ZS4KCSAgUGFyc2UgdGhlIGZyYW1lbGVuIHNvIHRoYXQgd2UgY2FuIGNhbGN1bGF0ZSB0aW1lc3RhbXBzLgoJICBXaGVuIGludGVycG9sbGF0ZSB0aGUgaW5jb21taW5nIHRpbWVzdGFtcCBvbiBvdXRnb2luZyBidWZmZXJzIHdoZW4gdGhlcmUgYXJlCgkgIG11bHRpcGxlIHN1YmZyYW1lcy4KCSAgZml4ZXMgIzYyNTgyNQoKMjAxMC0xMi0zMSAwMDoxMjo1MyAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvZHRtZi90b25lX2RldGVjdC5jOgoJICBkdG1mOiBGaXggYnVpbGQgZmFpbHVyZSBjYXVzZWQgYnkgcHJldmlvdXMgY29tbWl0CgoyMDEwLTEyLTMwIDE4OjIwOjQ3IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9kdG1mL2dzdGR0bWZkZXRlY3QuYzoKCSogZ3N0L2R0bWYvdG9uZV9kZXRlY3QuYzoKCSogZ3N0L2R0bWYvdG9uZV9kZXRlY3QuaDoKCSAgZHRtZjogYnVpbGQgZml4ZXMgZm9yIE1TVkMKCSAgVXNlIGdpbnQxNiBhbmQgR19QSS4KCjIwMTAtMTItMzAgMTg6MTk6NDcgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2R0bWYvdG9uZV9kZXRlY3QuYzoKCSAgZHRtZjogcmVpbmRlbnQKCjIwMTAtMTItMzEgMDI6MTY6NTQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NhaXJvL2dzdHRpbWVvdmVybGF5LmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2JhbGFuY2UuYzoKCSAgY2Fpcm8sIHZpZGVvZmlsdGVyOiB1c2UgZ3N0L21hdGgtY29tcGF0LmggaGVhZGVyIGZvciByaW50CgoyMDEwLTEyLTMwIDE0OjMwOjI3IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2JhbGFuY2UuYzoKCSAgdmlkZW9iYWxhbmNlOiBDaGVjayBmb3IgSEFWRV9SSU5UIGluc3RlYWQKCSAgQWxzbyBjaGFuZ2UgTV9QSSB0byBHX1BJIGZvciBnaWdnbGVzLgoKMjAxMC0xMi0zMCAxNDoyMTozNyAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvY2Fpcm8vZ3N0Y2Fpcm9yZW5kZXIuYzoKCSAgY2Fpcm86IERvbid0IHVzZSAjaWZkZWZzIGluc2lkZSBtYWNyb3MKCjIwMTAtMTItMzAgMTQ6MjA6NTIgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9jaGViYmFuZC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJsaW1pdC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2thcmFva2UuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW93c2luY2JhbmQuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW93c2luY2xpbWl0LmM6CgkqIGdzdC9lZmZlY3R2L2dzdG9wLmM6CgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6CgkqIGdzdC9nb29tL2NvbnZvbHZlX2Z4LmM6CgkqIGdzdC9nb29tL2lmcy5jOgoJKiBnc3QvZ29vbS9saW5lcy5jOgoJKiBnc3QvZ29vbS90ZW50YWNsZTNkLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2F1ZGlvZngvZmlyZmlsdGVyLWV4YW1wbGUuYzoKCSogdGVzdHMvZXhhbXBsZXMvYXVkaW9meC9paXJmaWx0ZXItZXhhbXBsZS5jOgoJICBDaGFuZ2UgTV9QSSB0byBHX1BJCgoyMDEwLTEyLTMwIDEyOjA3OjUyIC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2JhbGFuY2UuYzoKCSAgdmlkZW9iYWxhbmNlOiB1c2UgR19PU19XSU4zMiBmb3Igd2luZG93cyBjaGVjawoKMjAxMC0xMi0zMCAxNjoyNDoxNiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwbXA0YWRlcGF5LmM6CgkgIG1wNGFkZXBheTogZml4IHRpbWVzdGFtcHMgb24gYnVmZmVycwoKMjAxMC0xMi0zMCAxNjoyMjo0OCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwbXB2cGF5LmM6CgkgIG1wdnBheTogZml4IGZsdXNoaW5nIGFuZCBkaXNjb250CgkgIEZpeCBmbHVzaGluZyBhbmQgZGlzY29udHMuCgkgIENsZWFuIHVwIGluIHN0YXRlIGNoYW5nZXMuCgoyMDEwLTEyLTI5IDIzOjM4OjE4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYS1kZW11eDogaW5jcmVhc2UgYWxsb3dlZCBtYXguIGJsb2NrIHNpemUgZm9yIHB1c2ggbW9kZSBmcm9tIDEwTSB0byAxNU0KCSAgSXQgd2FzIGFuIGFyYml0cmFyeSBsaW1pdCBmcm9tIHRoZSBzdGFydCwgbWVhbnQgYXMgYSBiYXNpYyBzYW5pdHkgY2hlY2ssCgkgIHNvIG1heSBqdXN0IGFzIHdlbGwgaW5jcmVhc2UgaXQgYSBsaXR0bGUuIFdvdWxkIGJlIGdvb2QgdG8gcHJvdmlkZQoJICBwcm9ncmVzcyByZXBvcnRpbmcgd2hpbGUgY29tcGxldGluZyB0aGUgYmxvY2sgaW4gYW55IGNhc2UuLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjM3MDYwCgoyMDEwLTEyLTI5IDIzOjA5OjA0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYS1kZW11eDogYXNzdW1lIG1hdHJvc2thIGlmIG5vIGRvY3R5cGUgaXMgc3BlY2lmaWVkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MzgwMTkKCjIwMTAtMTItMDQgMTM6NDM6MTEgLTA2MDAgIFJvYiBDbGFyayA8cm9iQHRpLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5oOgoJICB2NGwyOiBhZGQgaW50ZXJsYWNlZCBzdXBwb3J0CgoyMDEwLTEwLTAyIDE0OjQ1OjE0IC0wNTAwICBSb2IgQ2xhcmsgPHJvYkB0aS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyeG92ZXJsYXkuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnhvdmVybGF5Lmg6CgkgIHY0bDJzaW5rOiBhZGQgbmF2aWdhdGlvbiBzdXBwb3J0CgoyMDEwLTA0LTA0IDA2OjQzOjQxIC0wNTAwICBSb2IgQ2xhcmsgPHJvYkB0aS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnR1bmVyLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ0dW5lci5oOgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkgIHY0bDI6IGFkZCBub3JtIHByb3BlcnR5CgkgIEJhc2VkIG9uIGEgcGF0Y2ggYnkgR3Vlbm5hZGkgTGlha2hvdmV0c2tpLgoKMjAxMC0wNy0xMyAxMDowMzo1MSAtMDUwMCAgUm9iIENsYXJrIDxyb2JAdGkuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmg6CgkgIHY0bDI6IGNsZWFudXAgZ2V0L3NldCBpbnB1dC9vdXRwdXQKCSAgb3V0cHV0IGRldmljZXMgc2hvdWxkIHVzZSBnZXQvc2V0IG91dHB1dCwgYW5kIGluIGVpdGhlciBjYXNlIHdlIHNob3VsZAoJICBub3QgcHJpbnQgYSB3YXJuaW5nIG1lc3NhZ2UgaWYgdGhlIGlvY3RsIGZhaWxzIGJ1dCB0aGUgZGV2aWNlIGRvZXMgbm90CgkgIGNsYWltIHRvIHN1cHBvcnQgdGhlIHR1bmVyIGludGVyZmFjZQoKMjAxMC0wNi0xMCAxMToxNTo0NiAtMDUwMCAgUm9iIENsYXJrIDxyb2JAdGkuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnhvdmVybGF5LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ4b3ZlcmxheS5oOgoJICB2NGwyeG92ZXJsYXk6IGFkZCBzdXBwb3J0IHRvIGNyZWF0ZSB3aW5kb3cKCSAgSWYgeG92ZXJsYXkgaXMgYXZhaWxhYmxlLCB2NGwyc2luayBzaG91bGQgY3JlYXRlIGEgd2luZG93IGZvciB0aGUgb3ZlcmxheSB0bwoJICBkaXNwbGF5IGluLgoJICBUaGUgd2luZG93IGF1dG9tYXRpY2FsbHkgdHJpZXMgdG8gbWFrZSBpdHNlbGYgYXMgbGFyZ2UgYXMgcG9zc2libGUuCgkgIFRoaXMgd29ya3Mgd2VsbCBvbiBhIHNtYWxsIHNjcmVlbiwgYnV0IHBlcmhhcHMgc2hvdWxkIGZpcnN0IGF0dGVtcHQgdG8gdXNlCgkgIHRoZSBzaXplIG9mIHRoZSB2aWRlbyB0aGF0IGlzIHBsYXllZCAobm8gc2NhbGluZykuCgoyMDEwLTA0LTA0IDA2OjQxOjI4IC0wNTAwICBSb2IgQ2xhcmsgPHJvYkB0aS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJICB2NGwyc2luazogc3BlY2lhbCBoYW5kbGluZyBmb3IgY2FzZXMgZ3N0X2J1ZmZlcl9tYWtlX21ldGFkYXRhX3dyaXRhYmxlKCkKCSAgU3BlY2lhbCBjYXNlIGNoZWNrIGZvciBzdWItYnVmZmVyczogIEluIGNlcnRhaW4gY2FzZXMsIHBsYWNlcyBsaWtlCgkgIEdzdEJhc2VUcmFuc2Zvcm0sIHdoaWNoIG1pZ2h0IGNoZWNrIHRoYXQgdGhlIGJ1ZmZlciBpcyB3cml0YWJsZSBiZWZvcmUgY29weWluZwoJICBtZXRhZGF0YSwgdGltZXN0YW1wLCBhbmQgc3VjaCwgd2lsbCBmaW5kIHRoYXQgdGhlIGJ1ZmZlciBoYXMgbW9yZSB0aGFuIG9uZQoJICByZWZlcmVuY2UgdG8gaXQuICBJbiB0aGVzZSBjYXNlcywgdGhleSB3aWxsIGNyZWF0ZSBhIHN1Yi1idWZmZXIgd2l0aCBhbiBvZmZzZXQ9MAoJICBhbmQgbGVuZ3RoIGVxdWFsIHRvIHRoZSBvcmlnaW5hbCBidWZmZXIgc2l6ZS4KCSAgVGhpcyBjb3VsZCBoYXBwZW4gaW4gdHdvIHNjZW5hcmlvczogKDEpIGEgdGVlIGluIHRoZSBwaXBlbGluZSwgYW5kICgyKSBiZWNhdXNlCgkgIHRoZSByZWZjbnQgaXMgaW5jcmVtZW50ZWQgaW4gZ3N0X21pbmlfb2JqZWN0X2ZyZWUoKSBiZWZvcmUgdGhlIGZpbmFsaXplIGZ1bmN0aW9uCgkgIGlzIGNhbGxlZCwgYW5kIGRlY3JlbWVudGVkIGFmdGVyIGl0IHJldHVybnMuLiAgYnV0IHJldHVybmluZyB0aGlzIGJ1ZmZlciB0byB0aGUKCSAgYnVmZmVyIHBvb2wgaW4gdGhlIGZpbmFsaXplIGZ1bmN0aW9uLCBjb3VsZCB3YWtlIHVwIGEgdGhyZWFkIGJsb2NrZWQgaW4KCSAgX2J1ZmZlcl9hbGxvYygpIHdoaWNoIGNvdWxkIHJ1biBhbmQgZ2V0IGEgYnVmZmVyIHcvIHJlZmNudD09MiBiZWZvcmUgdGhlIHRocmVhZAoJICBvcmlnaW5hbGx5IHVucmVmJ2luZyB0aGUgYnVmZmVyIHJldHVybnMgZnJvbSBmaW5hbGl6ZSBmdW5jdGlvbiBhbmQgZGVjcmVtZW50cwoJICB0aGUgcmVmY250IGJhY2sgdG8gMSEKCSAgVGhpcyBpcyByZWxhdGVkIHRvIGlzc3VlICM1NDU1MDEKCjIwMTAtMDQtMDQgMDY6Mzk6NTIgLTA1MDAgIFJvYiBDbGFyayA8cm9iQHRpLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDI6IGZpeCByYWNlIGNvbmRpdGlvbgoJICBUaGUgc2l6ZSBvZiB0aGUgYnVmZmVyIHdvdWxkIGJlIHplcm8nZCBvdXQgaW4gZ3N0X3Y0bDJfYnVmZmVyX2ZpbmFsaXplKCkKCSAgYWZ0ZXIgdGhlIGJ1ZmZlciBpcyBxYnVmJ2Qgb3IgcHVzaGVkIG9udG8gdGhlIHF1ZXVlIG9mIGF2YWlsYWJsZSBidWZmZXJzLi4KCSAgbGVhdmluZyBhIHJhY2UgY29uZGl0aW9uIHdoZXJlIHRoZSB0aHJlYWQgd2FpdGluZyBmb3IgdGhlIGJ1ZmZlciBjb3VsZCBhd2FrZQoJICBhbmQgc2V0IGJhY2sgYSB2YWxpZCBzaXplIGJlZm9yZSB0aGUgZmluYWxpemluZyB0aHJlYWQgemVyb3Mgb3V0IHRoZSBsZW5ndGguCgkgIFRoaXMgd291bGQgcmVzdWx0IHRoYXQgdGhlIG5ld2x5IGFsbG9jYXRlZCBidWZmZXIgaGFzIGxlbmd0aCBvZiB6ZXJvLgoKMjAxMC0wNC0wNCAwNjozOTowOCAtMDUwMCAgUm9iIENsYXJrIDxyb2JAdGkuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuaDoKCSAgdjRsMnNpbms6IGFkZCBwcm9wZXJ0aWVzIHRvIGNvbnRyb2wgY3JvcAoKMjAxMC0wNC0wNCAwNjozNzoxNiAtMDUwMCAgUm9iIENsYXJrIDxyb2JAdGkuY29tPgoKCSogc3lzL3Y0bDIvTWFrZWZpbGUuYW06CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyeG92ZXJsYXkuYzoKCSAgdjRsMjogcmUtZW5hYmxlIHgtb3ZlcmxheSBzdXBwb3J0CgoyMDEwLTEyLTI1IDExOjUyOjM2IC0wNjAwICBSb2IgQ2xhcmsgPHJvYkB0aS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJICB2NGwyc2luazogZml4IGZvciBQQVVTRUQtPlJFQURZLT5QQVVTRUQgc3RhdGUgdHJhbnNpdGlvbnMKCSAgV2hlbiB2NGwyc2luayBnb2VzIHRvIFBBVVNFRC0+UkVBRFkgaXQgb25seSBzdG9wcyBzdHJlYW1pbmcsIHNvIHRoZSBzdGF0ZQoJICBzaG91bGQgYmUgc2V0IHRvIFNUQVRFX1BFTkRJTkdfU1RSRUFNT04gaW4gY2FzZSB0aGUgZWxlbWVudCB0cmFuc2l0aW9ucwoJICBiYWNrIHRvIFBMQVlJTkcuCgoyMDEwLTA0LTA0IDA2OjI4OjUxIC0wNTAwICBSb2IgQ2xhcmsgPHJvYkB0aS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5oOgoJICB2NGwyc2luazogYWRkICJtaW4tcXVldWVkLWJ1ZnMiIHByb3BlcnR5CgoyMDEwLTA0LTA0IDA2OjI2OjUwIC0wNTAwICBSb2IgQ2xhcmsgPHJvYkB0aS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkgIHY0bDJzaW5rOiBBZGQgc3VwcG9ydCBmb3IgYmxvY2tpbmcgZGVxdWV1ZS4KCSAgV2UnZCBwcmVmZXIgdG8gdGhyb3R0bGUgdGhlIGRlY29kZXIgaWYgd2UgcnVuIG91dCBvZiBidWZmZXJzLCB0byBrZWVwIGEgYm91bmQKCSAgb24gbWVtb3J5IHVzYWdlLiAgQWxzbywgZm9yIE9NQVA0IGl0IGlzIGEgcmVxdWlyZW1lbnQgb2YgdGhlIGRlY29kZXIgdG8gbm90CgkgIGFsdGVybmF0ZSBiZXR3ZWVuIG1lbW9yeSBhbGxvY2VkIGJ5IHRoZSBkaXNwbGF5IGRyaXZlciBhbmQgbWFsbG9jJ2QgdXNlcnNwYWNlCgkgIG1lbW9yeS4KCjIwMTAtMDQtMDQgMDY6MjQ6NDEgLTA1MDAgIFJvYiBDbGFyayA8cm9iQHRpLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDI6IGNsZWFyIGZsYWdzIGJlZm9yZSByZXVzaW5nIGJ1ZmZlciBmcm9tIGJ1ZmZlciBwb29sCgkgIG5vdGU6IHRoaXMgcmVhbGx5IG9ubHkgYWZmZWN0cyB2NGwyc2luayBzaW5jZSBnc3RfdjRsMl9idWZmZXJfcG9vbF9nZXQoKSBpcwoJICBvbmx5IGNhbGxlZCBvbmNlIHBlciBidWZmZXIgaW4gdGhlIHY0bDJzcmMgY2FzZSAoaW4KCSAgZ3N0X3Y0bDJzcmNfYnVmZmVyX3Bvb2xfYWN0aXZhdGUoKSkKCjIwMTAtMDQtMDQgMDY6MjM6MzEgLTA1MDAgIFJvYiBDbGFyayA8cm9iQHRpLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkgIHY0bDJzaW5rOiBkb24ndCByZW5kZXIgcHJlcm9sbCBidWZmZXJzCgkgIE1vc3QgdjRsMiBkcml2ZXJzIHdpbGwgZ2V0IHVwc2V0IHdoZW4geW91IHF1ZXVlIHRoZSBzYW1lIGJ1ZmZlciB0d2ljZSBpbiBhCgkgIHJvdyB3aXRob3V0IGZpcnN0IGRlcXVldWVpbmcgaXQuCgkgIFJlbmRlcmluZyBvZiBwcmUtcm9sbCBidWZmZXJzIGNhbiBiZSByZS1pbnRyb2R1Y2VkIGxhdGVyLCBidXQgd2lsbCByZXF1aXJlCgkgIHRyYWNraW5nIHRoZSBzdGF0ZSBvZiB0aGUgYnVmZmVyLCBhbmQgYXZvaWRpbmcgdG8gcmUtUUJVRiBpZiB0aGUgYnVmZmVyIGhhcwoJICBhbHJlYWR5IGJlZW4gcGFzc2VkIHRvIHRoZSBkcml2ZXIuCgoyMDEwLTA0LTA0IDA2OjIyOjQzIC0wNTAwICBSb2IgQ2xhcmsgPHJvYkB0aS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJICB2NGwyc2luazogSW1wcm92ZSBiZWhhdmlvciBmb3Igc2hhcmVkIGJ1ZmZlcnMuCgkgIFdoZW4gdGhlIGRlY29kZXIgaXMgdXNpbmcgcGFkX2FsbG9jKCksIHY0bDJzaW5rIHdvdWxkIGJlaGF2ZSBiYWRseSBpZgoJICB0aGUgbnVtYmVyIG9mIGJ1ZmZlcnMgKCdxdWV1ZS1zaXplJyBwcm9wZXJ0eSkgd2FzIG5vdCBoaWdoIGVub3VnaCB0bwoJICBhY2NvdW50IGZvciBhbGwgdGhlIGJ1ZmZlcnMgbmVlZGVkIGJ5IHRoZSBkZWNvZGVyLCBhbmQgb3RoZXIgZWxlbWVudHMKCSAgKHN1Y2ggYXMgcXVldWVzKSBiZXR3ZWVuIHRoZSBkZWNvZGVyIGFuZCB2NGwyc2luay4gIFRoaXMgcGF0Y2gKCSAgc2xpZ2h0bHkgaW5jcmVhc2VzIHRoZSBkZWZhdWx0IG51bWJlciBvZiBidWZmZXJzLCBhbmQgY2hhbmdlcyB2NGwyc2luawoJICB0byBkcm9wIGZyYW1lcyByYXRoZXIgdGhhbiByZXR1cm4gYW4gZXJyb3IgaW4gY2FzZSB0aGUgbnVtYmVyIG9mCgkgIGJ1ZmZlcnMgaXMgbm90IGhpZ2ggZW5vdWdoLgoKMjAxMC0xMS0xNSAxNTo1ODoyOCArMDEwMCAgQW5keSBXaW5nbyA8d2luZ29Ab2Jsb25nLmNvbT4KCgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuaDoKCSAgYWRkICJjbGllbnQiIHByb3BlcnR5CgkgICogZXh0L3B1bHNlL3B1bHNlc3JjLmMgKGdzdF9wdWxzZXNyY19jbGFzc19pbml0LCBnc3RfcHVsc2VzcmNfaW5pdCkKCSAgKGdzdF9wdWxzZXNyY19zZXRfcHJvcGVydHksIGdzdF9wdWxzZXNyY19nZXRfcHJvcGVydHkpCgkgIChnc3RfcHVsc2VzcmNfb3Blbik6IEFkZCBhICJjbGllbnQiIHByb3BlcnR5LCBhcyBpbiBwdWxzZXNpbmsuCgkgIEZpeGVzICM2MzQ5MTQKCjIwMTAtMTItMjkgMTU6NTQ6NDYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBzZXJpYWxpc2UvZGVzZXJpYWxpc2UgZmxvYXRzIHdpdGhvdXQgY2hhbmdpbmcgbG9jYWxlCgkgIFVzZSBnX2FzY2lpX2R0b3N0cigpIGFuZCBnX2FzY2lpX3N0cnRvZCgpIHRvIHNlcmlhbGlzZS9kZXNlcmlhbGlzZQoJICBmbG9hdGluZyBwb2ludCBudW1iZXJzLCBpbnN0ZWFkIG9mIHVnbHkgaGFja3MgdGhhdCBzd2l0Y2ggbG9jYWxlCgkgIGJlZm9yZSBhbmQgYWZ0ZXIgY2FsbGluZyBsaWJjIGZ1bmN0aW9ucyAod2hpY2ggaXMgbm90IGEgZ29vZCBpZGVhCgkgIGluIGEgbXVsdGktdGhyZWFkZWQgYXBwbGljYXRpb24pLgoKMjAxMC0xMi0yOSAxNDo0MDowNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdkZXBheS5jOgoJICBydHBqcGVnZGVwYXk6IGZpeCBmcmFtZXJhdGUgcGFyc2luZyBmb3IgbG9jYWxlcyB0aGF0IHVzZSBhIGNvbW1hIGFzIGZsb2F0aW5nIHBvaW50CgkgIGF0b2YoKSBjb252ZXJ0cyBzdHJpbmdzIGFjY29yZGluZyB0byB0aGUgY3VycmVudCBsb2NhbGUsIGJ1dCB0aGUKCSAgZnJhbWVyYXRlIHN0cmluZyB3aWxsIGxpa2VseSBhbHdheXMgdXNlIGEgZG90IGFzIGZsb2F0aW5nIHBvaW50CgkgIHNlcGFyYXRvciwgc28gdXNlIGdfYXNjaWlfc3RydG9kKCkgaW5zdGVhZCAoYnV0IGFsc28gY2Fub25pY2FsaXNlCgkgIHRoZSBzdHJpbmcgYmVmb3JlLCBzbyB3ZSBjYW4gaGFuZGxlIGJvdGggZm9ybWF0cyBhcyBpbnB1dCkuCgoyMDEwLTEyLTI3IDEzOjExOjU5ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkgIHJ0cHNvdXJjZTogdXNlIHRoZSByaWdodCB2YXJpYWJsZQoJICBVc2UgdGhlIHJpZ2h0IHZhcmlhYmxlIGZvciBzcGVjaWZ5aW5nIHRoYXQgd2Ugc2VudCBhIHJlY2VpdmVyIHJlcG9ydC4KCjIwMTAtMTItMjMgMTY6NDI6MjkgLTA2MDAgIFJvYiBDbGFyayA8cm9iQHRpLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDI6IGZpeCB0eXBvCgoyMDEwLTEyLTIzIDE2OjAzOjAwIC0wNjAwICBSb2IgQ2xhcmsgPHJvYkB0aS5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2EtZGVtdXg6IGFkZCBzdHJlYW0tZm9ybWF0IGFuZCBhbGlnbm1lbnQgcHJvcGVydGllcyBmb3IgaDI2NAoKMjAxMC0xMi0yMiAxMTo0MTo1OSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwZ3N0cGF5LmM6CgkgIGdzdHBheTogZml4IGtsYXNzLCBhZGQgUlRQIGFzIGEgdXNlIGNhc2UKCjIwMTAtMTItMTIgMTU6MTA6NDcgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGdzdGRlcGF5LmM6CgkgIGdzdGRlcGF5OiBjbGVhbnVwIHRoZSBjYWNoZQoKMjAxMC0xMi0xMiAwNToxMDowMSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHAvZ3N0cnRwLmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3N0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc3RkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGdzdHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzdHBheS5oOgoJICBnc3RwYXkvZGVwYXk6IGFkZCBnZW5lcmljIGdzdHJlYW1lciBwYXlsb2FkZXIKCSAgQWRkIHRoZSBiZWdpbm5pbmdzIG9mIGEgZ2VuZXJpYyBHU3RyZWFtZXIgYnVmZmVycyBwYXlsb2FkZXIuCgoyMDEwLTEyLTIzIDE3OjA2OjU4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBtcDRncGF5LmM6CgkgIG1wNGdwYXk6IHJlc2V0IHN0YXRlIG9uIGZsdXNoLXN0b3AKCjIwMTAtMTItMjMgMTY6MjY6MDcgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdkZXBheS5jOgoJICBtcDRnZGVwYXk6IGZsdXNoIHN0YXRlIG9uIGZsdXNoLXN0b3AKCjIwMTAtMTItMjMgMTY6MjU6MTUgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IG9uLW5wdC1zdG9wIGlzIGEgbWFuYWdlciBzaWduYWwKCjIwMTAtMTItMjMgMTU6MjQ6MjkgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgcnRzcHNyYzogaW1wcm92ZSBSVFAgc2Vzc2lvbiBoYW5kbGluZwoJICBTdG9yZSB0aGUgUlRQIHNlc3Npb24gaW4gdGhlIHN0cmVhbSBzbyB0aGF0IHdlIGNhbiBtb3JlIGVmZmljaWVudGx5CgkgIHBlcmZvcm0gYWN0aW9ucyBvbiB0aGUgc3RyZWFtIGJhc2VkIG9uIFJUUCBzaWduYWxzLgoKMjAxMC0xMi0yMyAxMzo1NTozMSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJICBydHBzb3VyY2U6IGluY2x1ZGUgbGFzdCBzZW5kIFJCIGJsb2NrCgkgIE9ubHkgcmVwb3J0IFJCIHZhbHVlcyBmb3Igbm9uLWludGVybmFsIHNvdXJjZXMuCgkgIFJlcG9ydCBub3Qgb25seSB0aGUgUkIgYmxvY2tzIHdlIGxhc3QgcmVjZWl2ZWQgZnJvbSBidXQgYWxzbyB0aGUgbGFzdCBSQgoJICBibG9jayB3ZSBzZW50IHRvIGEgc291cmNlLgoKMjAxMC0xMi0yMyAxMzo1Mjo1NyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmg6CgkgIHJ0cHNlc3Npb246IHJlbWVtYmVyIGxhc3Qgc2VudCBSQiB2YWx1ZXMuCgoyMDEwLTEyLTIzIDEzOjAwOjQ5ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkgIHJ0cHNvdXJjZTogaW5jbHVkZSBhbGwgc3RhdHMgYW5kIGRvY3VtZW50CgkgIEluY2x1ZGUgYWxsIHBvc3NpYmxlIHN0YXRzIG9mIGEgc291cmNlIGluIHRoZSBzdGF0cyBzdHJ1Y3R1cmUgYmVjYXVzZSB3ZSBtaWdodAoJICBiZSBpbnRlcmVzdGVkIGluIHdoYXQgaGFwcGVuZWQgaW4gdGhlIHBhc3QuCgkgIERvY3VtZW50IHRoZSBzdGF0cyBwcm9wZXJ0eSBhbmQgdGhlIGZpZWxkcy4KCjIwMTAtMTItMjMgMTI6NTk6NTkgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvY2xpZW50LVBDTUEuYzoKCSAgZXhhbXBsZXM6IGFkZCBleGFtcGxlIFJUUCBzdGF0cwoJICBBZGQgc29tZSBtb3JlIFJUUCBleGFtcGxlcyBmb3IgaG93IHRvIHJldHJpZXZlIFJUUCBzdGF0cyBpbiBhIHJlY2VpdmVyLgoKMjAxMC0xMi0yMyAxMjo1ODowNSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogYWxzbyBlbWl0IFJUQ1AgYWN0aXZpdHkgb24gU1IKCSAgQWxzbyBlbWl0IFJUQ1AgYWN0aXZpdHkgc2lnbmFscyB3aGVuIHdlIHJlY2VpdmUgYW4gU1IgcGFja2V0IHdpdGhvdXQgUkIgYmxvY2tzLAoJICBzdWNoIGFzIGZyb20gYSBzZW5kZXIgdGhhdCBpcyBub3QgcmVjZWl2aW5nIGFueXRoaW5nLgoKMjAxMC0xMi0yMyAxMToxMDo1NSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBkb2NzOiBhZGQgc29tZSBtb3JlIGdzdHJ0cGJpbiBkb2NzCgoyMDEwLTEyLTIyIDIxOjI3OjExICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzoKCSAgeGltYWdlc3JjOiByZW1vdGUgaXMgYSBib29sZWFuIChhbmQgbm90IHVpbnQpIHByb3BlcnR5CgoyMDEwLTEyLTIyIDE5OjU4OjIxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBEb24ndCB1c2UgZ3N0X3BhZF9hbGxvY19idWZmZXIoKQoJICBVc2luZyB0aGlzIGluIGEgZGVtdXhlciB3aWxsIGNhdXNlIGRlYWRsb2NrcyBpZiB0aGVyZSdzCgkgIGEgcGFkIHdpdGggYSBwZW5kaW5nIHBhZC1ibG9jayBkb3duc3RyZWFtLCBubyBtYXR0ZXIgaWYKCSAgdGhlcmUgaXMgYSBxdWV1ZSBiZXR3ZWVuIHRoZSBwYWQgb3Igbm90LiBRdWV1ZXMgcGFzcwoJICBidWZmZXJhbGxvYyBkb3duc3RyZWFtIGZyb20gdGhlIHNhbWUgdGhyZWFkIGFuZCBvbmx5CgkgIGFjdCBhcyBhIHRocmVhZCBib3VuZGFyeSBmb3IgZXZlbnRzIGFuZCBidWZmZXJzLgoKMjAxMC0xMi0yMiAxNDoxNDowOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBmaXggc3VidGl0bGUgcGFkIHRlbXBsYXRlLCB3ZSBvbmx5IGhhbmRsZSBrYXRlIGZvciBub3cKCjIwMTAtMTItMTYgMTE6NDQ6NDQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBkb2NzOiB1cGRhdGUgcnRzcHNyYyBkb2NzLCBydHBiaW4gaXMgbm90IGluIC1iYWQgYW55IG1vcmUKCjIwMTAtMTItMjIgMTE6NDI6MzEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IHVubG9jayBiZWZvcmUgZW1pdHRpbmcgc2lnbmFscwoKMjAxMC0xMi0yMSAyMjozNDo0OSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHAvZ3N0cnRwLmM6CgkqIGdzdC9ydHAvZ3N0cnRwYWMzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYWMzcGF5Lmg6CgkgIHJ0cGFjM3BheTogYWRkIEFDMyBwYXlsb2FkZXIKCjIwMTAtMTItMjEgMjI6MTc6MTkgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGFjM2RlcGF5LmM6CgkgIGFjM2RlcGF5OiBmaXggZGVidWcgY2F0ZWdvcnkgZGVzY3JpcHRpb24KCjIwMTAtMTItMjEgMjI6MTY6NDIgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wYXBheS5jOgoJICBtcGFwYXk6IGFkZCBkZWJ1ZyBjYXRlZ29yeQoKMjAxMC0xMi0yMCAxNDo0OTowMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvanBlZ2VuYy5jOgoJICBqcGVnZW5jOiBBZGRzIGFub3RoZXIgdGVzdCBjYXNlCgkgIEFkZHMgYSB0ZXN0IGZvciBqcGVnZW5jIHRvIGNoZWNrIHRoYXQgaXMgcG9zc2libGUgdG8gbmVnb3RpYXRlIGFuZAoJICBwdXNoIGJ1ZmZlcnMgd2l0aCBkaWZmZXJlbnQgcmVzb2x1dGlvbiBvbmUgYWZ0ZXIgYW5vdGhlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzNzY4NgoKMjAxMC0xMi0yMSAxMzozNzo0MCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkgIGpwZWdlbmM6IHNpbmsgcGFkJ3MgZ2V0Y2FwcyBzaG91bGRuJ3QgdXNlIHRoZSBzcmMgcGFkIGdldGNhcHMKCSAgSW5zdGVhZCBvZiB1c2luZyBnZXRfYWxsb3dlZF9jYXBzIG9uIHRoZSBzcmNwYWQsIHRoZSBzaW5rcGFkIGdldGNhcHMKCSAgc2hvdWxkIHVzZSB0aGUgZ2V0Y2FwcyBvZiB0aGUgc3JjcGFkJ3MgcGVlci4gVGhpcyB3YXkgdGhlIHNyY3BhZAoJICBjYW4ga2VlcCB1c2luZyBmaXhlZF9jYXBzIGFuZCBzaW5rcGFkIGdldGNhcHMgZXhwb3NlcyBhbGwgY2FwcwoJICB0aGF0IGNhbiBiZSBuZWdvdGlhdGVkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Mzc2ODYKCjIwMTAtMTItMjEgMTY6NTg6NDcgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdGFzdGVyaXNraDI2My5jOgoJKiBnc3QvcnRwL2dzdHJ0cEwxNmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwTDE2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYWMzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGJ2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBidnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGNlbHRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGNlbHRwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGR2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBkdnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjJkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjJwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzIzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzIzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyNmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyNnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjlkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjlwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc21kZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaWxiY2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaWxiY3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGoya2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwajJrcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwanBlZ2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwanBlZ3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMXNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMnRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMnRwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRhcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcGFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYXJvYnVzdGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXB2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcHZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY21hZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY21hcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtdWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtdXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHFjZWxwZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBxZG1kZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNpcmVuZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzaXJlbnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzcGVleHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHN2M3ZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2cmF3ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2cmF3cGF5LmM6CgkgIHJ0cDogYWRkIFJUUCBoaW50IHRvIHRoZSBrbGFzcwoKMjAxMC0xMi0yMSAxNjo0OToyOCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0YXN0ZXJpc2toMjYzLmM6CgkqIGdzdC9ydHAvZ3N0cnRwTDE2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBMMTZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhYzNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYW1ycGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYnZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGJ2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwY2VsdGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwY2VsdHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZHZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGR2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyMmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyMnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyOWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyOXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBpbGJjZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBpbGJjcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwajJrZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqMmtwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqcGVnZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqcGVncGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXAxc2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXAydGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXAydHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRnZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRncGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhcm9idXN0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcHZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wdnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbWFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbWFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY211ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY211cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcWNlbHBkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHFkbWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc2lyZW5kZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNpcmVucGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3YzdmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdwYXkuYzoKCSAgcnRwOiBmaXggcmFuayBvZiBwYXlsb2FkZXJzIGFuZCBkZXBheWxvYWRlcnMKCSAgU2V0IHRoZSBwYXlsb2FkZXJzIGFuZCBkZXBheWxvYWRlcnMgdG8gYSByZWFzb25hYmxlIHJhbmsuCgoyMDEwLTEyLTIxIDE1OjI0OjE4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHB2cmF3ZGVwYXkuYzoKCSAgdnJhd2RlcGF5OiByZXNldCBkZXBheWxvYWRlciBzdGF0ZQoJICBSZXNldCB0aGUgZGVwYXlsb2FkZXIgc3RhdGUgb24gZmx1c2gtc3RvcC4KCjIwMTAtMTItMjEgMTU6MDc6MTQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDR2cGF5Lmg6CgkgIG1wNHBheTogdXNlIHZtZXRob2QgZm9yIGludGVyY2VwdGluZyBldmVudHMKCjIwMTAtMTItMjEgMTM6NTU6NDAgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYXBheS5jOgoJICB0aGVvcmFwYXk6IGNsZWFyIHBhY2tldCBvbiBmbHVzaC1zdG9wCgoyMDEwLTEyLTIxIDEzOjQ5OjQxICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNwYXkuYzoKCSAgdm9yYmlzcGF5OiBjbGVhciBwYWNrZXQgb24gZmx1c2gtc3RvcAoKMjAxMC0xMi0yMSAxMjozMTo0NCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z2RlcGF5LmM6CgkgIG1wNGdkZXBheTogcmVzZXQgZGVwYXlsb2FkZXIgc3RhdGUKCjIwMTAtMTItMjEgMTI6Mjk6NTggKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSAgaDI2NHBheTogZmx1c2ggYWRhcHRlciBvbiBmbHVzaC1zdG9wCgoyMDEwLTEyLTIwIDE4OjQ5OjQ5ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBtcGFwYXkuYzoKCSAgbXBhcGF5OiBmbHVzaCBsYXN0IHBhY2tldHMgb24gRU9TCgoyMDEwLTEyLTIwIDE3OjQ3OjA1ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gMTY5NDYyYSB0byA0NjQ0NWFkCgoyMDEwLTEyLTIwIDE2OjUxOjQ3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBtcGFwYXkuYzoKCSAgbXBhcGF5OiByZXNldCBwYXlsb2FkZXIgb24gc3RhdGUgY2hhbmdlCgoyMDEwLTEyLTIwIDE2OjA1OjM2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBtcGFwYXkuYzoKCSAgbXBhcGF5OiByZXNldCBwYXlsb2FkZXIgb24gZmx1c2gKCSAgUmVzZXQgdGhlIHBheWxvYWRlciBvbiBhIGZsdXNoIGV2ZW50LgoJICBIYW5kbGUgRElTQ09OVCBiZXR0ZXIuCgoyMDEwLTEyLTIwIDE1OjU0OjQ1ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogZ2V0IGJldHRlciBidWZmZXJpbmcgbGV2ZWwKCSAgV2hlbiB0aGUgaml0dGVyYnVmZmVyIGNvbnRhaW5zIC0xIHRpbWVzdGFtcHMsIG1ha2Ugc3VyZSB3ZSBzdGlsbCBjYWxjdWxhdGUgdGhlCgkgIGJ1ZmZlciBmaWxsIGxldmVsIGJ5IHNraXBwaW5nIHRoZSAtMSBidWZmZXJzLgoJICBUcnkgdG8gYmUgbW9yZSByZXNpbGllbnQgdG8gd2VpcmQgaW5wdXQgdGltZXN0YW1wcy4KCjIwMTAtMTItMjAgMTE6MTA6MjIgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBwcm92aWRlIGEgY2xvY2suCgkgIHNpbmNlIHdlIGFyZSB1c2luZyB0aGUgY2xvY2sgZm9yIHN5bmMsIHdlIG5lZWQgdG8gYWxzbyBwcm92aWRlIGEgY2xvY2sgZm9yIGdvb2QKCSAgbWVhc3VyZS4gVGhlIHJlYXNvbiBpcyB0aGF0IGV2ZW4gaWYgZG93bnN0cmVhbSBlbGVtZW50cyBwcm92aWRlIGEgY2xvY2ssIHdlCgkgIGRvbid0IHdhbnQgdG8gaGF2ZSB0aGF0IGNsb2NrIHNlbGVjdGVkIGJlY2F1c2UgaXQgbWlnaHQgbm90IGJlIHJ1bm5pbmcgeWV0LgoKMjAxMC0xMi0yMCAxMDo0OTo1NiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IGNvcHkgYnVmZmVyaW5nIHN0YXRzCgkgIHdoZW4gd2UgY3JlYXRlIGFuIGFnZ3JlZ2F0ZSBidWZmZXJpbmcgbWVzc2FnZSwgY29weSB0aGUgYnVmZmVyaW5nIHN0YXRzIGZvcm0gdGhlCgkgIGxhc3QgbWVzc2FnZS4gQXQgbGVhc3Qgd2UgZ2V0IGNvcnJlY3QgYnVmZmVyaW5nIG1vZGUgdGhlbi4KCjIwMTAtMTItMTkgMTE6MDI6NDEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3dhdmVuYy5jOgoJICB3YXZlbmM6IEZpeCBtZW1vcnkgbGVha3MgaW4gdGhlIHVuaXQgdGVzdAoKMjAxMC0xMi0xOSAxMDo1ODoxNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZWZmZWN0di9nc3RyYWRpb2FjLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHJhZGlvYWMuaDoKCSAgcmFkaW9hY3R2OiBQcmV2ZW50IHVzZSBvZiB1bmluaXRpYWxpemVkIHZhbHVlcwoJICBGaXhlcyBidWcgIzYxODY1Mi4KCjIwMTAtMTItMTkgMTA6MjI6MjkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y2Fwc2RlYnVnLmM6CgkgIGNhcHNkZWJ1ZzogRG9uJ3QgbGVhayBwYWQgdGVtcGxhdGVzIGNyZWF0ZWQgZnJvbSBzdGF0aWMgcGFkIHRlbXBsYXRlcwoKMjAxMC0xMS0yOSAxMjozNjowNiArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOgoJKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5oOgoJICB4aW1hZ2VzcmM6IGNoYW5nZSBmcm9tIFhHZXRJbWFnZSB0byBYR2V0U3ViSW1hZ2UgZGVwZW5kYW50IG9uIGEgcHJvcGVydHkKCSAgeGltYWdlc3JjOiBjaGFuZ2UgZnJvbSBYR2V0SW1hZ2UgdG8gWEdldFN1YkltYWdlIGRlcGVuZGFudCBvbiBhIHByb3BlcnR5CgkgIHRvIGF2b2lkIHVubmVjZXNzYXJ5IHBlcmZvcm1hbmNlIGhpdHMgYnkgZGVmYXVsdC4KCjIwMTAtMTEtMjggMTY6MDQ6MzUgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzoKCSAgeGltYWdlc3JjOiB1c2UgWEdldFN1YkltYWdlIGluc3RlYWQgb2YgWEdldEltYWdlLCB3b3JrcyB3aXRoIHJlbW90ZSBYCgkgIHhpbWFnZXNyYzogdXNlIFhHZXRTdWJJbWFnZSBpbnN0ZWFkIG9mIFhHZXRJbWFnZSwgd29ya3Mgd2l0aCByZW1vdGUgWAoJICAob24gbXkgc2V0dXAgYW55d2F5Li4uKQoKMjAxMC0xMS0yNyAxNzoxNTozMiArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOgoJICB4aW1hZ2VzcmM6IGZpeCB2YXJpb3VzIHdpZHRoL2hlaWdodCBjYWxjdWxhdGlvbnMgYmVpbmcgb2ZmIGJ5IG9uZSwKCSAgeGltYWdlc3JjOiBmaXggdmFyaW91cyB3aWR0aC9oZWlnaHQgY2FsY3VsYXRpb25zIGJlaW5nIG9mZiBieSBvbmUsCgkgIGFuZCBtYWtlIGl0IHNvIGEgc2luZ2xlIHBpeGVsIHdpZHRoL2hlaWdodCBjYW4gYmUgY2FwdHVyZWQgKGV4Y2VwdAoJICB0aGUgdG9wIGxlZnQgb25lLCBhcyAwLDAsMCwwIGlzIHJlc2VydmVkIGZvciBmdWxsIHNjcmVlbiBhcyBwZXIKCSAgdGhlIHByb3BlcnR5IGNvbW1lbnRzKS4KCjIwMTAtMTItMTcgMTk6MTk6MzUgLTA2MDAgIFJvYiBDbGFyayA8cm9iQHRpLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgZml4IGNvbXBpbGUgZXJyb3JzIG9uIG1hY29zeAoJICB3aXRoIGk2ODYtYXBwbGUtZGFyd2luMTAtZ2NjLTQuMi4xOgoJICBnc3R2NGwyb2JqZWN0LmM6IEluIGZ1bmN0aW9uICdnc3RfdjRsMl9vYmplY3RfZ2V0X25lYXJlc3Rfc2l6ZSc6CgkgIGdzdHY0bDJvYmplY3QuYzoxOTg4OiB3YXJuaW5nOiBmb3JtYXQgJyV1JyBleHBlY3RzIHR5cGUgJ3Vuc2lnbmVkIGludCcsIGJ1dCBhcmd1bWVudCAxMiBoYXMgdHlwZSAnZ2ludCAqJwoJICBnc3R2NGwyb2JqZWN0LmM6MTk4ODogd2FybmluZzogZm9ybWF0ICcldScgZXhwZWN0cyB0eXBlICd1bnNpZ25lZCBpbnQnLCBidXQgYXJndW1lbnQgMTMgaGFzIHR5cGUgJ2dpbnQgKicKCjIwMTAtMTItMTcgMTU6Mzg6MTUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSAgcnRwaDI2NGRlcGF5OiBkZXRlcm1pbmUgb3V0cHV0IGgyNjQgbGF5b3V0IHVzaW5nIGNhcHMgbmVnb3RpYXRpb24KCSAgLi4uIHRoZXJlYnkgKHBhcnRpYWxseSkgZGVwcmVjYXRpbmcgcHJvcGVydGllcyBjdXJyZW50bHkgY29udHJvbGxpbmcgd2hldGhlcgoJICBvciBub3QgYnl0ZS1zdHJlYW0gb3V0cHV0IG9yIE5BTC9BVSBhbGlnbm1lbnQgKHRob3VnaCBwcm9wZXJ0aWVzIHN0aWxsIGRldGVybWluZQoJICBmYWxsYmFjayBpZiBub3RoaW5nIHNwZWNpZmllZCBpbiBjYXBzKS4KCSAgRml4ZXMgIzYwNjY2Mi4KCjIwMTAtMTItMTYgMTg6NTU6NDMgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGoya3BheS5jOgoJICBqMmtwYXk6IGhhbmRsZSBFT0MgY29ycmVjdGx5CgkgIERvbid0IGluY2x1ZGUgdGhlIG5leHQgMiBieXRlcyB3aGVuIHdlIGFyZSBhdCB0aGUgZW5kIG9mIHRoZSBkYXRhIGFuZCB0aGVyZSBhcmUKCSAgbm8gbW9yZSBieXRlcyBsZWZ0LgoKMjAxMC0xMi0xNiAxNToxNTo0OSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogZmx1c2ggcmVtYWluaW5nIGJ1ZmZlcmVkIHNhbXBsZXMgb24gRU9TCgkgIC4uLiB3aGljaCBjYW4gbWFrZSBhIGRpZmZlcmVuY2UgYmV0d2VlbiBhbGwgb3Igbm90aGluZyB3aGVuIGRlYWxpbmcKCSAgd2l0aCBzaG9ydCBzdHJlYW1zIGFuZCByZWxhdGl2ZWx5IGxhcmdlIHJpbmdidWZmZXIgc2VnbWVudC4KCjIwMTAtMTItMTYgMTA6MDQ6MTkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBDaGFuZ2UgY2xhc3NpZmljYXRpb24gdG8gRmlsdGVyL0VmZmVjdC9WaWRlby9EZWludGVybGFjZQoKMjAxMC0xMi0xNSAxODoyMTozNCArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGoya3BheS5jOgoJICBydHBqMmtwYXk6IEluaXRpYWxpemUgYWxsIGZpZWxkcwoJICBNYWtlcyBzYWQgY29tcGxpZXJzIGhhcHB5CgoyMDEwLTEyLTE1IDE2OjIyOjU0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBqMmtwYXkuYzoKCSAgajJrcGF5OiBjbGVhbnVwIGhlYWRlciBjb25zdHJ1Y3Rpb24KCSAgVXNlIGEgc2ltcGxlciB3YXkgb2YgY29uc3RydWN0aW5nIHRoZSBoZWFkZXIgdGhhdCBkb2Vzbid0IGRlcGVuZCBvbgoJICB0aGUgZW5kaWFubmVzcy4KCjIwMTAtMTItMTUgMTM6MzA6NTAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGRlcGVuZCBvbiAtYmFzZSBmcm9tIGdpdCBmb3IgbmV3IHJ0cCBiYXNlIGRlcGF5bG9hZGVyIGZlYXR1cmVzCgkgIFRoaXMgaXMgb2sgaW4gdGhpcyBjYXNlLCBzaW5jZSB0aGUgcGxhbiBpcyB0byByZWxlYXNlIGNvcmUvYmFzZSBhZ2FpbgoJICBhbG9uZyB3aXRoIGdvb2QvdWdseS9iYWQgaW4gdGhlIG5leHQgY3ljbGUuCgoyMDEwLTEyLTE1IDE0OjU1OjU4ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDIwNzQyYWUgdG8gMTY5NDYyYQoKMjAxMC0xMi0xNSAxMzoxMjowOSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwajJrZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqMmtkZXBheS5oOgoJICBqMmtkZXBheTogYWRkIHN1cHBvcnQgZm9yIGJ1ZmZlciBsaXN0cwoKMjAxMC0xMi0xNCAxODoxMjo0MyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgc2Vzc2lvbjogZml4IGF2ZXJhZ2UgUlRDUCBwYWNrZXQgc2l6ZSBzb21lIG1vcmUuCgkgIEZpeCBzdHVwaWQgZXJyb3IgaW4gYXZlcmFnaW5nIG1hY3JvLgoJICBJbmNsdWRlIHVkcCBoZWFkZXJzIGluIHBhY2tldCBsZW5ndGggZXN0aW1hdGlvbi4KCjIwMTAtMTItMTQgMTc6MTU6MjMgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmM6CgkgIHJ0cGJpbjogY29ycmVjdGx5IGNhbGN1bGF0ZSBSVENQIHBhY2tldCBzaXplCgoyMDEwLTEyLTE0IDE1OjI3OjUyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBqMmtwYXkuYzoKCSAgajJrcGF5OiBzdG9wIHNjYW5uaW5nIHdoZW4gd2UgcmVhY2hlZCB0aGUgZW5kCgkgIFN0b3Agc2Nhbm5pbmcgZm9yIG1hcmtlcnMgd2hlbiB3ZSByZWFjaGVkIHRoZSBlbmQgb2YgdGhlIGRhdGEuCgoyMDEwLTEyLTEzIDE2OjIzOjI0ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDAxMWJjYzggdG8gMjA3NDJhZQoKMjAxMC0xMi0xMyAxMjo1NjoxMiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IGF2b2lkIGxlYWtpbmcgc2luayBldmVudHMKCSAgQXZvaWQgbGVha2luZyB0aGUgbmV3c2VnbWVudCBldmVudCB3aGVuIGl0IGhhcyB0aGUgd3JvbmcgZm9ybWF0LgoKMjAxMC0xMi0xMiAxNDo1MzoxNyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5jOgoJICBtcDR2cGF5OiB3ZSBjYW4gYWxzbyBhY2NlcHQgeHZpZCBjYXBzCgoyMDEwLTEyLTEyIDAxOjM5OjA2ICsxMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IEF2b2lkIGluZmluaXRlIGxvb3AgZHJhaW5pbmcgZnJhbWVzCgkgIFdoZW4gdGhlIHBpcGVsaW5lIGlzIGZsdXNoZWQganVzdCBhcyB3ZSdyZSBkcmFpbmluZyBoaXN0b3J5LAoJICBkb24ndCBsb29wIGluZmluaXRlbHksIGp1c3QgZGlzY2FyZCB0aGUgaGlzdG9yeSBhbmQgYWJvcnQuCgoyMDEwLTEyLTExIDE3OjM5OjIwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5oOgoJICBqcGVnZGVjOiBhZGQgIm1heC1lcnJvcnMiIHByb3BlcnR5IHRvIGlnbm9yZSBkZWNvZGluZyBlcnJvcnMKCSAgQWRkIHByb3BlcnR5IHRvIGlnbm9yZSBkZWNvZGluZyBlcnJvcnMuIERlZmF1bHQgaXMgdG8gaWdub3JlIGEgZmV3CgkgIGRlY29kaW5nIGVycm9ycyBpZiB0aGUgaW5wdXQgaXMgcGFja2V0aXplZCwgYnV0IGVycm9yIG91dCBpbW1lZGlhdGVseQoJICBpZiB0aGUgaW5wdXQgaXMgbm90IHBhY2tldGl6ZWQuCgkgIElnbm9yaW5nIGVycm9ycyBmb3IgcGFja2V0aXplZCBpbnB1dCBtb3N0IGxpa2VseSBkb2Vzbid0IHdvcmsKCSAgcHJvcGVybHkgeWV0LCBzbyBkb24ndCBkbyB0aGF0IGZvciBub3cuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjMwNjMKCjIwMTAtMDUtMjggMTU6Mjc6MTQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJICBqcGVnZW5jOiBmcmVlL21hbGxvYyBpbnN0ZWFkIG9mIHJlYWxsb2MsIGF2b2lkcyBtZW1jcHkKCjIwMTAtMTItMTEgMTc6NDk6MDMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBDaGVjayBpZiB0aGVyZSdzIGFjdHVhbGx5IGEgc2VlayB0YWJsZSBiZWZvcmUgcGFyc2luZyBpdAoKMjAxMC0xMi0xMSAxNzo0NjoxNyArMDEwMCAgS2lzaG9yZSBBcmVwYWxsaSA8a2lzaG9yZS5hcmVwYWxsaUBnbWFpbC5jb20+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEltcGxlbWVudCBDT05WRVJUIGFuZCBGT1JNQVRTIHF1ZXJ5CgkgIEZpeGVzIGJ1ZyAjNjM2Nzg0LgoKMjAxMC0wNy0wMSAwMDoyMjowNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2EtZGVtdXg6IHB1dCB1bnJlY29nbmlzZWQgUklGRiBmb3JtYXQgSURzIGludG8gdGhlIHVua25vd24gY2FwcwoJICBFeHRyYSBpbmZvIGNhbid0IGh1cnQuIEZpZWxkIG5hbWVzIGFyZW4ndCBuZWNlc3NhcmlseSBjb25zaXN0ZW50IHdpdGgKCSAgd2hhdCdzIHVzZWQgZWxzZXdoZXJlIHRob3VnaCAoZS5nLiBhdmlkZW11eCksIGJ1dCB0aGVuIG5laXRoZXIgYXJlIHRoZQoJICBjYXBzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjIzMTc4CgoyMDEwLTEwLTI5IDIyOjUwOjE0ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcHVsc2UvcHVsc2VtaXhlcmN0cmwuYzoKCSogZXh0L3B1bHNlL3B1bHNlbWl4ZXJjdHJsLmg6CgkgIHB1bHNlbWl4ZXI6IEltcGxlbWVudCBNSVhFUl9GTEFHX0FVVE9fTk9USUZJQ0FUSU9OUwoJICBBZGQgdGhlIG1peGVyIGZsYWcgYW5kIHNlbmQgbm90aWZpY2F0aW9ucyB3aGVuIGVpdGhlciB0aGUgdm9sdW1lIG9yIG11dGVkCgkgIHN0YXR1cyBjaGFuZ2VzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjE4Mzg5CgoyMDEwLTAyLTA4IDIxOjQxOjI5ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogbWFyayBESVNDT05UIHdoZW4gcmVzdW1pbmcgUExBWQoJICBJbiBwYXJ0aWN1bGFyLCB3aGVuIHN0cmVhbWluZyBpbnRlcmxlYXZlZCwgdGhpcyBhcnJhbmdlcyBmb3Igc2V0dGluZyBhIG5ldwoJICB0aW1lc3RhbXAgb24gb3V0Z29pbmcgYnVmZmVyIHNvIGRvd25zdHJlYW0gY2FuIGFwcHJvcHJpYXRlIHJlc2V0CgkgIHRvIGEgY2hhbmdlIGluIChydHApdGltZS4KCjIwMTAtMTItMDIgMTY6MDg6MzQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIHJ0c3BzcmM6IGRlZ3JhZGUgZ3JhY2VmdWxseSB1cG9uIGZhaWxpbmcgc2VlayBhbmQgdHdlYWsgUVVFUllfU0VFS0lORyByZXNwb25zZQoKMjAxMC0xMC0yNSAxMTo1MTowNiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGFkZCBhbmQgdXNlIGF1dG8gYnVmZmVyaW5nIG1vZGUKCSAgLi4uIHdoaWNoIHNlbGVjdHMgQlVGRkVSIGZvciBhIG5vbi1saXZlIHN0cmVhbSwgYW5kIG90aGVyd2lzZSBTTEFWRS4KCSAgRml4ZXMgIzYzMzA4OC4KCjIwMTAtMTItMDYgMTI6MTY6MTIgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGoya2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwajJrZGVwYXkuaDoKCSAgajJrZGVwYXk6IG1ha2UgdGhlIGRlcGF5bG9hZGVyIG1vcmUgcmVzaWxpZW50CgkgIFVzZSAzIGFkYXB0ZXJzLCBvbmUgdG8gYWNjdW11bGF0ZSBwYWtldGl6YXRpb24gdW5pdHMsIGFub3RoZXIgb24gdG8gYWNjdW11bGF0ZQoJICB0aWxlcyBhbmQgYSBsYXN0IG9uZSB0byBhY2N1bXVsYXRlIHRoZSBmaW5hbCBmcmFtZS4KCSAgRG9uJ3QganVzdCBibGluZGx5IGZsdXNoIHRoZSBhZGFwdGVyIG9uIERJU0NPTlQgYnV0IG9ubHkgZGlzY2FyZCB0aGUgY3VycmVudAoJICBwYWNrZXRpemF0aW9uIHVuaXQuCgkgIFdoZW4gd2UgZHJvcHBlZCBqcGVnMjAwMCBwYWNrZXRzIGJldHdlZW4gU09QIG1hcmtlcnMsIGFkanVzdCB0aGUgU09UIGhlYWRlciB3aXRoCgkgIHRoZSBuZXcgbGVuZ2h0LgoKMjAxMC0xMi0wOSAxMzo0OTowNCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGZpeCBmbG93IHJldHVybiBhZ2dyZWdhdGlvbgoKMjAxMC0xMi0wOCAxMTozNTozMyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGZpeCBoYW5kbGluZyBuZWFyIGVuZC1vZi1maWxlIGNvcm5lciBjYXNlcwoJICBBbHNvLCByZWxheCBzb21lIGVycm9yIGhhbmRsaW5nIHRvIG5vdCBiYWlsIG91dCBjb21wbGV0ZWx5IHdoZW4gc29tZXRoaW5nCgkgIGZlZWxzIGFtaXNzLCBidXQgY29uc2lkZXIgdGhpcyBFT0YgYW5kIGNvbnRpbnVlIHdpdGggd2FzIG9idGFpbmVkIHNvIGZhci4KCjIwMTAtMTItMDcgMTc6MTk6MDAgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBmcmFnbWVudGVkIHN1cHBvcnQ7IGZpeCBvZmZzZXQgaGFuZGxpbmcgYW5kIHJlbGF4IGVycm9yIHJhaXNpbmcKCSAgSW4gcGFydGljdWxhciwgYWNjZXB0IHVua25vd24gc3RyZWFtIGluIHRyYWNrIGZyYWdtZW50LCBhbmQgb25seSBlcnJvciBvdXQKCSAgaWYgdGhhdCByYWlzZXMgcHJvYmxlbXMgbGF0ZXIgb24gd2l0aCByZXNwZWN0IHRvIG9mZnNldCB0cmFja2luZy4KCSAgRml4ZXMgIzYyMDI4My4KCjIwMTAtMTItMDcgMTM6MTE6NDggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9NYWtlZmlsZS5hbToKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHZkZW11eDogdXNlIGFhYyBjb2RlYy1kYXRhIHRvIGFkanVzdCBzYW1wbGVyYXRlIGlmIG5lZWRlZAoJICBCYXNlZCBvbiBwYXRjaCBieSBGYWJpZW4gTGViYWlsbGlmLURlbGFtYXJlIDxmYWJpZW5AYXJxLW1lZGlhLmNvbT4KCSAgRml4ZXMgIzYzNjYyMS4KCjIwMTAtMTItMDcgMTE6NDM6MTMgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogZG9uJ3QgdW5jb3JrIGluIF9zdGFydAoJICBEb24ndCB1bmNvcmsgaW4gdGhlIF9zdGFydCBtZXRob2QganVzdCB5ZXQgYnV0IHdhaXQgdW50aWwgd2UgaGF2ZSB3cml0dGVuIHNvbWUKCSAgc2FtcGxlcyB0byBwdWxzZWF1ZGlvLiBUaGlzIGF2b2lkIHVuZGVycnVucyBvbiBwdWxzZWF1ZGlvIGFuZCBsZXNzIGNyYWNrbGluZwoJICBub2lzZXMgd2hlbiBzdGFydGluZy4KCjIwMTAtMTItMDcgMTE6NDc6NDEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgoyMDEwLTEyLTA3IDExOjQzOjEzICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IGRvbid0IHVuY29yayBpbiBfc3RhcnQKCSAgRG9uJ3QgdW5jb3JrIGluIHRoZSBfc3RhcnQgbWV0aG9kIGp1c3QgeWV0IGJ1dCB3YWl0IHVudGlsIHdlIGhhdmUgd3JpdHRlbiBzb21lCgkgIHNhbXBsZXMgdG8gcHVsc2VhdWRpby4gVGhpcyBhdm9pZCB1bmRlcnJ1bnMgb24gcHVsc2VhdWRpbyBhbmQgbGVzcyBjcmFja2xpbmcKCSAgbm9pc2VzIHdoZW4gc3RhcnRpbmcuCgoyMDEwLTEyLTA3IDExOjQyOjE1ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiB1c2UgX29iamVjdF9yZWZfc2luaygpIHdoZW4gd2UgY2FuCgoyMDEwLTEyLTA3IDExOjQwOjU4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyOiBkb24ndCBhYnVzZSB0aGUgY2xhc3MgbG9jawoJICBVc2UgYSBuZXcgc3RhdGljIGxvY2sgdG8gcHJvdGVjdCB0aGUgcHJvYmVkIGRldmljZSBsaXN0IGluc3RlYWQgb2YgdGhlIG9iamVjdAoJICBjbGFzcyBsb2NrLgoKMjAxMC0xMi0wNiAxOTo1OTo0OSArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGZpeCBjb21waWxlciB3YXJuaW5ncyBvbiBPU1guCgoyMDEwLTEyLTA2IDE4OjE3OjI0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogYWRkIGRlYnVnIHRvIG5vdGlmeSB3aGVuIHNraXBwaW5nIHRvIGpwZWcgaGVhZGVyCgoyMDEwLTEyLTA2IDE4OjE2OjE5ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogZGlzY2FyZCBpbmNvbXBsZXRlIGltYWdlCgkgIC4uLiBhcyBkZXRlcm1pbmVkIHdoZW4gZmluZGluZyBTT0kgbmV4dCBpbWFnZSBiZWZvcmUgYW4gRU9JLgoJICBCYXNlZCBvbiBwYXRjaCBieSBEYXZpZCBIb3l0IDxkYXZpZC5ob3l0QGxsbmwuZ292PgoJICBGaXhlcyAjNjM1NzM0LgoKMjAxMC0xMi0wNiAxNzo0NTozOCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgIGpwZWdkZWM6IGF2b2lkIGluZmluaXRlIGxvb3Agd2hlbiByZXN5bmNpbmcKCSAgRml4ZXMgIzYzNTczNCAocGFydGx5KS4KCjIwMTAtMTItMDYgMTc6Mjg6MzIgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3Rlcicgb2Ygc3NoOi8vZ2l0LmZyZWVkZXNrdG9wLm9yZy9naXQvZ3N0cmVhbWVyL2dzdC1wbHVnaW5zLWdvb2QgaW50byAwLjExCgoyMDEwLTEyLTA2IDE3OjI3OjUxICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogYW5kcm9pZC9hcGV0YWcubWs6CgkqIGFuZHJvaWQvYXZpLm1rOgoJKiBhbmRyb2lkL2Zsdi5tazoKCSogYW5kcm9pZC9pY3lkZW11eC5tazoKCSogYW5kcm9pZC9pZDNkZW11eC5tazoKCSogYW5kcm9pZC9xdGRlbXV4Lm1rOgoJKiBhbmRyb2lkL3J0cC5tazoKCSogYW5kcm9pZC9ydHBtYW5hZ2VyLm1rOgoJKiBhbmRyb2lkL3J0c3AubWs6CgkqIGFuZHJvaWQvc291cC5tazoKCSogYW5kcm9pZC91ZHAubWs6CgkqIGFuZHJvaWQvd2F2ZW5jLm1rOgoJKiBhbmRyb2lkL3dhdnBhcnNlLm1rOgoJKiBjb25maWd1cmUuYWM6CgkgIG1vcmUgMC4xMCAtPiAwLjExIGNoYW5nZXMKCjIwMTAtMTItMDYgMTU6MjE6NTMgKzAxMDAgIERhdmlkIEhveXQgPGRob3l0QGxsbmwuZ292PgoKCSogZ3N0L2ltYWdlZnJlZXplL2dzdGltYWdlZnJlZXplLmM6CgkgIGltYWdlZnJlZXplOiBwYXNzIGFsb25nIGVvcyBpZiByZWNlaXZlZCBiZWZvcmUgYnVmZmVyIGFycml2ZXMKCSAgRml4ZXMgIzYzNjE3Mi4KCjIwMTAtMTAtMjAgMTE6MDU6NDkgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8YW1vcmFsZXNAZmx1bW90aW9uLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9lYm1sLXdyaXRlLmM6CgkqIGdzdC9tYXRyb3NrYS9lYm1sLXdyaXRlLmg6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IHRyeSB0byB3cml0ZSB0aW1lc3RhbXBzIGluIGFsbCB0aGUgb3V0Z29pbmcgYnVmZmVycwoJICBGaXhlcyAjNjMyNjU0LgoKMjAxMC0xMi0wNiAxMjoyMTowMCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBzdGFydCAwLjExIGJyYW5jaAoKMjAxMC0xMi0wNiAxMjoxNzoyMSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVidWd1dGlscy9wcm9ncmVzc3JlcG9ydC5jOgoJKiBnc3QvZGVidWd1dGlscy9wcm9ncmVzc3JlcG9ydC5oOgoJICBwcm9ncmVzc3JlcG9ydDogb3B0aW9uYWxseSBkZXRlcm1pbmUgcHJvZ3Jlc3MgdXNpbmcgYnVmZmVyIG1ldGFkYXRhCgkgIEJhc2VkIG9uIHBhdGNoIGJ5IExlbyBTaW5nZXIgPGxzaW5nZXIgYXQgY2FsdGVjaC5lZHU+CgkgIEZpeGVzICM2Mjk0MTguCgoyMDEwLTEyLTA1IDE0OjM5OjE5ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaW50ZXJsZWF2ZS5jOgoJICBjaGVjazogRml4dXAgdGhlIHNodXR0aW5nIGRvd24gb3JkZXIKCSAgRmlyc3QgYnJpbmcgZG93biBldmVyeXRoaW5nIHRvIE5VTEwgYmVmb3JlIGF0dGVtcHRpbmcgdG8gdW5saW5rCgkgIG9yIHVucmVmIGFueXRoaW5nLgoJICBBdm9pZHMgdGhlIHRlc3RzIGp1c3QgaGFuZ2luZyB0aGVyZSBmb3IgZXZlciB3YWl0aW5nIHRvIGFjcXVpcmUgYQoJICBsb2NrIHRoYXQgZG9lc24ndCBleGlzdCBhbnltb3JlLgoKMjAxMC0xMS0wNCAxOTozMTo0NSArMDEwMCAgSmFubmUgR3J1bmF1IDxqYW5uZS5ncnVuYXVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMnNyYzogc2V0IHRvcCBmaWVsZCBmaXJzdCBmb3IgaW50ZXJsYWNlZCBidWZmZXJzIGlmIHY0bDIgZXhwb3J0cyBpdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjM0MzkzCgoyMDEwLTExLTA0IDE4OjM2OjA5ICswMTAwICBKYW5uZSBHcnVuYXUgPGphbm5lLmdydW5hdUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJzcmM6IGNoZWNrIGZpZWxkIGluZm9ybWF0aW9uIGFuZCBzZXQgaW50ZXJsYWNlZCBjYXBzIGFjY29yZGluZ2x5CgkgIFJlamVjdCB0aGUgZm9ybWF0IGlmIHRoZSBmaWVsZCB0eXBlIGlzIG5vdCBzdXBwb3J0ZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MzQzOTEKCjIwMTAtMTItMDMgMTc6NDI6MTQgKzAxMDAgIEJlbmphbWluIEdhaWduYXJkIDxiZW5qYW1pbi5nYWlnbmFyZEBzdGVyaWNzc29uLmNvbT4KCgkqIEFuZHJvaWQubWs6CgkqIGFuZHJvaWQvTk9USUNFOgoJKiBhbmRyb2lkL2FwZXRhZy5tazoKCSogYW5kcm9pZC9hdmkubWs6CgkqIGFuZHJvaWQvZmx2Lm1rOgoJKiBhbmRyb2lkL2dzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi1tYXJzaGFsLmM6CgkqIGFuZHJvaWQvZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLW1hcnNoYWwuaDoKCSogYW5kcm9pZC9nc3QvdWRwL2dzdHVkcC1lbnVtdHlwZXMuYzoKCSogYW5kcm9pZC9nc3QvdWRwL2dzdHVkcC1lbnVtdHlwZXMuaDoKCSogYW5kcm9pZC9nc3QvdWRwL2dzdHVkcC1tYXJzaGFsLmM6CgkqIGFuZHJvaWQvZ3N0L3VkcC9nc3R1ZHAtbWFyc2hhbC5oOgoJKiBhbmRyb2lkL2ljeWRlbXV4Lm1rOgoJKiBhbmRyb2lkL2lkM2RlbXV4Lm1rOgoJKiBhbmRyb2lkL3F0ZGVtdXgubWs6CgkqIGFuZHJvaWQvcnRwLm1rOgoJKiBhbmRyb2lkL3J0cG1hbmFnZXIubWs6CgkqIGFuZHJvaWQvcnRzcC5tazoKCSogYW5kcm9pZC9zb3VwLm1rOgoJKiBhbmRyb2lkL3VkcC5tazoKCSogYW5kcm9pZC93YXZlbmMubWs6CgkqIGFuZHJvaWQvd2F2cGFyc2UubWs6CgkgIEFkZCBidWlsZCBzeXN0ZW0gZm9yIEFuZHJvaWQKCjIwMTAtMDMtMjYgMTM6NTE6NTggKzAxMDAgIEd1aWxsYXVtZSBFbW9udCA8Z2Vtb250QGlnYWxpYS5jb20+CgoJKiBnc3QvZGVidWd1dGlscy9nc3RuYXZzZWVrLmM6CgkgIG5hdnNlZWs6IGFkZCBiYXNpYyBzdXBwb3J0IHRvIGNoYW5nZSBwbGF5YmFjayByYXRlCgkgIFRoZSBmb2xsb3dpbmcga2V5cyB3aWxsIG5vdyBiZSBpbnRlcnByZXRlZCBieSBuYXZzZWVrOgoJICAnZicgbWVhbnMgZmFzdCBmb3J3YXJkOiB0aGUgc3RyZWFtIGdldHMgcGxheWVkIGF0IHJhdGUgMi4wCgkgICdyJyBtZWFucyByZXdpbmQ6IHRoZSBzdHJlYW0gZ2V0cyBwbGF5ZWQgYXQgcmF0ZSAtMi4wCgkgICduJyBtZWFucyBub3JtYWw6IHRoZSBzdHJlYW0gZ2V0cyBwbGF5ZWQgYXQgcmF0ZSAxLjAKCSAgRml4ZXMgIzYzMTUxNi4KCjIwMTAtMTItMDEgMTM6MTI6MDQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBhZGQgc3VwcG9ydCBmb3IgZShhKWMtMyBhdWRpbwoKMjAxMC0xMS0xOSAxMjo0NDozNSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGF2b2lkIHNlbmRpbmcgRU9TIGV2ZW50IHR3aWNlCgoyMDEwLTExLTE5IDEyOjQ0OjE4ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogcmVtb3ZlIGRlYWQgY29kZSB0cnlpbmcgdG8gdXBkYXRlIHN0cmVhbSBkdXJhdGlvbgoJICBPbiB0aGUgb25lIGhhbmQsIGl0IGluc3VmZmljaWVudGx5IGNoZWNrcyB3aGV0aGVyIGl0IG9ubHkgdXBkYXRlcyBhIGR1bW15CgkgIHNlZ21lbnQuICBPbiB0aGUgb3RoZXIgaGFuZCwgb25seSBkb2luZyB0aGlzIGF0IHRoZSB0aW1lIHRoZSBsYXN0IHNhbXBsZWQgaXMKCSAgcHJlcGFyZWQgKGFuZCBzZW50IGRvd25zdHJlYW0pIGlzIHRvbyBsaXR0bGUgdG9vIGxhdGUuCgoyMDEwLTExLTA5IDEwOjU4OjU3ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZnJhZ21lbnRlZCBzdXBwb3J0OyBoYW5kbGUgaXNtdiBzYW1wbGUgZmxhZ3MKCjIwMTAtMTEtMDggMTE6NDE6MjEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBmcmFnbWVudGVkIHN1cHBvcnQ7IGhhbmRsZSBpc212IHN0YmwgYXRvbXMKCSAgLi4uIG9yIGxhY2sgb2Ygc29tZSB0aGVyZW9mLCBzdWNoIGFzIG1hbmRhdG9yeSBzdHN6LiAgU2h1ZmZsZSBzb21lIGNvZGUKCSAgaW4gX3N0YmxfaW5pdCB0byBkZXRlY3QgdGhpcyBlYXJseSBlbm91Z2guCgoyMDEwLTExLTA4IDExOjM5OjM3ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZnJhZ21lbnRlZCBzdXBwb3J0OyBjb21wZW5zYXRlIGZvciBpc212IG9mZnNldCBoYW5kbGluZwoJICAuLi4gb3IgbGFjayB0aGVyZW9mLCB3aGljaCBhY2NvcmRpbmcgdG8gc3BlY3Mgd291bGQgcHV0IG1lZGlhIGRhdGEgaW4KCSAgdW5saWtlbHkgcG9zaXRpb24uCgoyMDEwLTExLTA0IDE0OjA3OjU2ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5oOgoJICBxdGRlbXV4OiBmcmFnbWVudGVkIHN1cHBvcnQgZm9yIHB1c2ggbW9kZQoKMjAxMC0xMS0wNCAxMDoxNzozNyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguaDoKCSAgcXRkZW11eDogZnJhZ21lbnRlZCBzdXBwb3J0OyBwcm9wZXIgYW5kIGluY3JlbWVudGFsIG1vb2YgcGFyc2luZwoJICBUaGF0IGlzLCBwYXJzZSBlYWNoIG1vb2YgaW4gb25lIHBhc3MgKGNvbnNpZGVyaW5nIGFsbCBjb250YWluZWQgc3RyZWFtcycKCSAgbWV0YWRhdGEpLCBhbmQgZG8gc28gaW5jcmVtZW50YWxseSBhcyBuZWVkZWQgZm9yIHBsYXliYWNrIHJhdGhlciB0aGFuCgkgIGFuIGluaXRpYWwgY29tcGxldGUgc2NhbiBvZiBhbGwgbW9vZiAodGhvdWdoIGFsbCBtb292IHNhbXBsZSBtZXRhZGF0YQoJICBpcyBmdWxseSBwYXJzZWQgYXQgc3RhcnR1cCkuCgoyMDEwLTExLTA0IDEwOjA2OjMwICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogcmVmYWN0b3Igc3RyZWFtIGZyZWVpbmcKCjIwMTAtMTEtMDQgMTA6MDU6MTUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBkZWxlZ2F0ZSBsaW5lYXIgc2VhcmNoIGZvciBzYW1wbGUgdG8gYmluYXJ5IHNlYXJjaCB3aGVuIHBvc3NpYmxlCgkgIEFsc28gYXJyYW5nZSBmb3IgcGFyc2luZyBhIHNhbXBsZSBwcmlvciB0byB0YWtpbmcgYSByZWZlcmVuY2UgdG8gaXQsCgkgIHdoaWNoIHJlcXVpcmVzIGxlc3MgbWVtb3J5IGxheW91dCBhc3N1bXB0aW9ucyBmb3IgY29ycmVjdG5lc3MuCgoyMDEwLTExLTAxIDE1OjUyOjI5ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZnJhZ21lbnRlZCBzdXBwb3J0OyBoYW5kbGUgbW9vdiBzYW1wbGVzIGFuZCBwcm9wZXIgc3RyZWFtIGR1cmF0aW9uCgoyMDEwLTExLTAxIDEzOjQwOjA1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZnJhZ21lbnRlZCBzdXBwb3J0OyBjb25zaWRlciBtdmV4IGFuZCBoYW5kbGUgZmxhZ3MgYW5kIG9mZnNldCBmaWVsZHMKCjIwMTAtMTAtMjggMTY6NDk6NDEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBmcmFnbWVudGVkIHN1cHBvcnQ7IGZvcmVnbyBjaGVjayBmb3Igc2hvcnQgc3RyZWFtcwoJICAuLi4gYXMgc29tZSBib2d1cyBmaWxlcyBtYXkgaW5kaWNhdGUgc3RyZWFtcyBvZiAwIGR1cmF0aW9uIGluIG1vb3YsCgkgIHdoaWxlIGluZGljYXRpbmcgdGhlIGNvbXBsZXRlIG1vdmllIGR1cmF0aW9uIGluIG12aGQgKHRoZSBsYXR0ZXIgc2hvdWxkCgkgIGJlIGluIG1laGQpLgoKMjAxMC0xMC0yOCAxNjo0Njo0OCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfdHlwZXMuaDoKCSAgcXRkZW11eDogZnJhZ21lbnRlZCBzdXBwb3J0OyBjb2RlIGNsZWFudXBzIGFuZCBvcHRpbWl6YXRpb25zIGluIGF0b20gcGFyc2luZwoJICBBdm9pZCBleHRyYSBhbGxvY2F0aW9uIGluIF9wYXJzZV90cnVuLCBhZGQgbW9yZSBjaGVja3MgZm9yIHBhcnNpbmcgZXJyb3JzLAoJICBhZGQgb3IgYWRqdXN0IHNvbWUgZGVidWcgc3RhdGVtZW50LCBmaXggY29tbWVudHMsIHNwcmlua2xlIHNvbWUgYnJhbmNoCgkgIHByZWRpY3Rpb24uCgoyMDEwLTA5LTEzIDIzOjE5OjQ0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogcGFyc2VfbW9vZiBzaG91bGQgcmV0dXJuIFRSVUUgb24gc3VjY2VzcwoKMjAxMC0wOS0xMCAyMjo0MTowMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEZpeCBpdGVyYXRpb24gYnVnCgkgIEF2b2lkIGluZmluaXRlIGxvb3Agd2hlbiBpdGVyYXRpbmcgdHJhZgoKMjAxMC0wOS0xMCAyMTozMjoyNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IFJlZmFjdG9yIHRydW4gcGFyc2luZwoJICBUaGUgYWxsb2NhdGlvbiBvZiB0aGUgc2FtcGxlcyBjYW4gYmUgcGxhY2VkIG91dCBvZiB0aGUgbG9vcC4KCSAgTWFrZXMgdGhlIGNvZGUgY2xlYXJlci4KCSAgQWxzbyBhdm9pZCByZWx5aW5nIG9uIHRyYWYgaW5mb3JtYXRpb24gYXMgaXQgaXMgcGxhY2VkIG9uIHRoZQoJICBlbmQgb2YgdGhlIGZpbGUgYW5kIG1pZ2h0IG5vdCBiZSBhY2Vzc2libGUgb24gcHVzaCBtb2RlLgoKMjAxMC0wOS0xMCAwMDoyOToyNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IFJlbW92ZSBwYXJzaW5nIG9mIHVudXNlZCBhdG9tCgkgIHNkdHAgYXRvbSBpcyBwYXJzZWQgYnV0IG5vdCB1c2VkLCBzbyB3ZSBkb24ndCBoYXZlIHRvCgkgIHBhcnNlIGl0LgoKMjAxMC0xMS0wOSAxMTo0NTowMCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHR3ZWFrIHdhbSBzdXBwb3J0CgkgIC4uLiB3aXRoIHNvbWUgY29tbWVudCBhbmQgcG9ydGFiaWxpdHkgbWFjcm9zLgoKMjAwOS0wOS0yMyAxODo0Nzo0MiArMDIwMCAgTWFyYy1BbmRyw6kgTHVyZWF1IDxtbHVyZWF1QGZsdW1vdGlvbi5jb20+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfZm91cmNjLmg6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfdHlwZXMuYzoKCSAgcXRkZW11eDogc3VwcG9ydCB3bWEgJiB2Yy0xCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD01OTYzMjEKCjIwMTAtMDMtMTEgMDk6NTY6MDQgKzAxMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8YW1vcmFsZXNAZmx1bW90aW9uLmNvbT4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5oOgoJICBxdGRlbXV4OiBwYXJzZSBmbXA0IHNhbXBsZXMgaW5mb3JtYXRpb24KCSAgVGhlIGZyYWdtZW50ZWQgbXA0IGZvcm1hdCBzdG9yZXMgdGhlIHRyYWNrcyBhbmQgc2FtcGxlcyBpbmZvcm1hdGlvbiBpbiB0aGUKCSAgJ21vb2YnIGJveGVzLCB3aGljaCBhcmUgYXBwZW5kZWQgYmVmb3JlIGVhY2ggZnJhZ21lbnQgKGZyYWdtZW50LT4nbW9vZicrJ21kYXQnKS4KCSAgVGhlICdtZnJhJyBib3ggc3RvcmVzIHRoZSBvZmZzZXQgb2YgZWFjaCAnbW9vZicgYm94IGFuZCB0aGVpciBwcmVzZW50YXRpb24KCSAgdGltZS4gVGhlIGxvY2F0aW9uIG9mIHRoaXMgYm94IGNhbiBiZSByZXRyaWV2ZWQgZnJvbSB0aGUgJ21mcm8nIGJveCwgd2hpY2ggaXMKCSAgbG9jYXRlZCBhdCB0aGUgZW5kIG9mIHRoZSBmaWxlLgoJICBUaGUgJ21mcmEnIGJveCBpcyBwYXJzZWQgdG8gZ2V0IHRoZSBvZmZzZXQgb2YgZWFjaCAnbW9vZicgYm94IGFuZCB0aGVpcgoJICBwcmVzZW50YXRpb24gdGltZS4KCSAgRWFjaCAnbW9vZicgYm94IGNhbiBjb250YWluIGluZm9ybWF0aW9uIGZvciBvbmUgb3IgbW9yZSB0cmFja3MgaW5zaWRlCgkgICd0ZmhkJyBib3hlcy4gRm9yIGVhY2ggdHJhY2sgaW4gYSAnbW9vZicsIHdlIGhhdmUgYSAndHJ1bicgYm94LCB3aGljaAoJICBjb250YWlucyBpbmZvcm1hdGlvbiBvZiBlYWNoIHNhbXBsZSAob2Zmc2V0IGFuZCBkdXJhdGlvbikgdXNlZCB0byBidWlsZAoJICB0aGUgc2FtcGxlcyB0YWJsZS4KCSAgQmFzZWQgb24gcGF0Y2ggYnkgTWFyYy1BbmRyw6kgTHVyZWF1IDxtbHVyZWF1QGZsdW1vdGlvbi5jb20+CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD01OTYzMjEKCjIwMTAtMDMtMTEgMTU6MzQ6NDkgKzAxMDAgIE1hcmMtQW5kcsOpIEx1cmVhdSA8bWx1cmVhdUBmbHVtb3Rpb24uY29tPgoKCSogZ3N0L3F0ZGVtdXgvcXRhdG9tcGFyc2VyLmg6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfZHVtcC5jOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4X2R1bXAuaDoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eF9mb3VyY2MuaDoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eF90eXBlcy5jOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4X3R5cGVzLmg6CgkgIHF0ZGVtdXg6IGFkZCBmcmFnbWVudGVkIG1wNCBmb3VyY2NzCgkgIEFkZHMgZm91cmNjJ3MgZm9yIHRmcmEsIHRmaGQsIHRydW4sIHNkdHAsIHRyZXgsIG1laGQgYW5kCgkgIHRoZWlyIGR1bXBzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD01OTYzMjEKCjIwMTAtMDMtMTEgMTA6MjQ6NTYgKzAxMDAgIE1hcmMtQW5kcsOpIEx1cmVhdSA8bWx1cmVhdUBmbHVtb3Rpb24uY29tPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBwYXJzZSB0aGUgdHJhY2sgaWQgZnJvbSB0aGUgdHJhY2sgaGVhZGVyCgkgIFNpZ25lZC1vZmYtYnk6IEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8YW1vcmFsZXNAZmx1bW90aW9uLmNvbT4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTU5NjMyMQoKMjAxMC0wMy0xMSAxNDoxMDoxMiArMDEwMCAgTWFyYy1BbmRyw6kgTHVyZWF1IDxtbHVyZWF1QGZsdW1vdGlvbi5jb20+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGFsbG93IHB1bGxpbmcgYXRvbXMgd2l0aCB1bmtub3duIHNpemUKCSAgU2lnbmVkLW9mZi1ieTogQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDxhbW9yYWxlc0BmbHVtb3Rpb24uY29tPgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTk2MzIxCgoyMDEwLTA3LTE0IDIwOjEzOjU1ICswMjAwICBNYXJjLUFuZHLDqSBMdXJlYXUgPG1sdXJlYXVAZmx1bW90aW9uLmNvbT4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfZHVtcC5jOgoJICBxdGRlbXV4OiBtYWtlIHF0ZGVtdXhfZHVtcF9tdmhkIHBhcnNlIHZlcnNpb24gMSBjb3JyZWN0bHkKCSAgVmVyc2lvbnMgMCBhbmQgMSBvZiBtdmhkIGhhdmUgZGlmZmVyZW50IHNpemVzIG9mIGl0cyB2YWx1ZXMKCSAgKDMyYml0cy82NGJpdHMpLiBUaGlzIHBhdGNoIG1ha2VzIGl0IGR1bXAgdGhlbSBjb3JyZWN0bHkuCgkgIEFsc28gdXNlIHRoZSByaWdodCBub2RlIGluIHRoZSBwYXJhbWV0ZXIgYW5kIG5vdCB0aGUgcm9vdCBub2RlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTk2MzIxCgoyMDEwLTExLTE5IDEyOjQ1OjAwICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FkZW11eDogbWlub3IgY2xlYW51cHMgaW4gc2V0dGluZyBzdHJlYW1oZWFkZXIgb24gY2FwcwoKMjAxMC0xMS0wMiAxNzowNDowNCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogbm9ybWFsaXplIGVtcHR5IEN1ZXMgdG8gbm8gQ3VlcwoJICAuLi4gdG8gdHJpZ2dlciBpbmRleGxlc3Mgc2Vla2luZy4KCjIwMTAtMTAtMjYgMTE6MTU6NDkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogYWRkIHdvcmthcm91bmQgZm9yIGJ1Z2d5IGxpc3Qgc2l6ZQoJICBGaXhlcyB0cnVuY2F0ZWQgZXh0cmEtZGF0YSBpbiBoZHJsL3N0cmwvc3RyZiBkdWUgdG8gYnVnZ3kgY29udGFpbmluZwoJICBsaXN0IHNpemUgbm90IGFjY291bnRpbmcgZm9yIHBhZGRpbmcgaW4gY29udGFpbmVkIGNodW5rcy4KCjIwMTAtMTItMDIgMTY6MTE6MDEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkgIHJ0cHNzcmNkZW11eDogZG8gbm90IGhvbGQgY3VzdG9tIFBBRF9MT0NLIHdoZW4gcHVzaGluZyBkb3duc3RyZWFtCgoyMDEwLTEyLTAyIDE2OjEwOjE0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogcmVzZXQgc2Vzc2lvbiBtYW5hZ2VyIGJhc2UgdGltZSB3aGVuIGZsdXNoaW5nCgkgIC4uLiBhcyBydHBiaW4gdXNlcyBydW5uaW5nIHRpbWUgdG8gaGFuZGxlIHJ0cGppdHRlcmJ1ZmZlcidzIGJ1ZmZlciBtb2RlIHBhdXNlcy4KCjIwMTAtMTItMDEgMTY6NTE6MzMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBpbmNsdWRlIHJhbmdlIHJlcXVlc3QgZm9yIGFsbCBzdHJlYW1zIHdpdGggbm9uLWFnZ3JlZ2F0ZSBjb250cm9sCgoyMDEwLTEwLTA3IDE0OjUwOjUzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogZml4IGRlYnVnIHN0YXRlbWVudAoKMjAxMC0xMi0wMyAxNTozODowMCArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IFBhcnNlIG1vcmUgdmFyaWFudHMgb2YgbnVtZXJpY2FsIElESVQgdGFnCgoyMDEwLTA1LTA3IDE3OjMwOjMwICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZXh0L2xpYnBuZy9nc3RwbmdlbmMuYzoKCSAgcG5nZW5jOiBVc2UgcHJvcGVyIGZyYW1lcmF0ZSByYW5nZSBpbiBjYXBzCgoyMDEwLTEyLTAzIDE1OjA0OjI2ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3dhdmVuYy5jOgoJICB0ZXN0czogRml4IHByZXZpb3VzbHkgdW5idWlsZGFibGUvdW50ZXN0ZWQgd2F2ZW5jIHRlc3QKCjIwMTAtMTAtMjQgMTU6MjE6MDggKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdmRlbXV4OiBSZWZhY3RvciB0YWcgcHVzaGluZyBsb2dpYwoJICBUaGUgbG9naWMgb2Ygd2hlbiB0byBwdXNoIHdhcyB3cm9uZyBhbHNvIChyZXN1bHRpbmcgaW4gc29tZSB0YWdzIG5ldmVyCgkgIGJlaW5nIHB1c2hlZCkuCgoyMDEwLTEwLTI0IDE1OjIwOjI3ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2Zsdi9NYWtlZmlsZS5hbToKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHZkZW11eDogVXNlIHBidXRpbHMgZm9yIGNvZGVjIGRlc2NyaXB0aW9ucwoKMjAxMC0wNC0xMyAxMToyOTozMCArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3VkcHNpbmsuYzoKCSAgY2hlY2s6IFVzZSBmYWlsX3VubGVzc19lcXVhbHNfaW50IGluc3RlYWQgb2YgZmFpbF9pZgoJICBNYWtlcyB0aGUgZXJyb3IgbWVzc2FnZSBtb3JlIGludGVyZXN0aW5nCgoyMDEwLTExLTMwIDE5OjIyOjExICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogQWxzbyBleHRyYWN0IElESVQgdGFncyBwcmVzZW50IHRvbyBlYXJseQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjM2MTQzCgoyMDEwLTExLTMwIDE5OjIxOjIzICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogQWxzbyBlbWl0IERhdGVUaW1lIHRhZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjM2MTQzCgoyMDEwLTEyLTAzIDAwOjIyOjQ4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICB3YXZwYXJzZTogZGV0ZWN0IERUUyBhZHZlcnRpc2VkIGFzIFBDTSBjb3JyZWN0bHkgaW4gc29tZSBtb3JlIGNhc2VzCgkgIFRoZSBEVFMgdHlwZWZpbmRlciBtYXkgcmV0dXJuIGEgbG93ZXIgcHJvYmFiaWxpdHkgZm9yIGZyYW1lcyB0aGF0IHN0YXJ0CgkgIGF0IG5vbi16ZXJvIG9mZnNldHMgYW5kIHdoZXJlIHRoZXJlJ3Mgbm8gc2Vjb25kIGZyYW1lIHN5bmMgaW4gdGhlIGZpcnN0CgkgIGJ1ZmZlci4gSXQncyBmYWlybHkgdW5saWtlbHkgdGhhdCB3ZSdsbCBhY2lkZW50YWxseSBpZGVudGlmeSBQQ00gZGF0YQoJICBhcyBEVFMsIHNvIHdlIGRvbid0IGRvIGFkZGl0aW9uYWwgY2hlY2tzIGZvciBub3cuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MzYyMzQKCjIwMTAtMTEtMDggMTc6MTE6NDIgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICB0ZXN0czogbWFrZWZpbGUgY2xlYW51cAoJICBGaXggaW5kZW50YXRpb24uIFVzZSAkKEdTVF9NQUpPUk1JTk9SKSBpbnN0ZWFkIG9mIGhhcmRjb2RlZCAwLjEwLgoKMjAxMC0xMS0wOCAxNzowMjo1NiArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvd2F2ZW5jLmM6CgkgIHRlc3RzOiBhZGQgYSB0ZXN0IGZvciB3YXYgbXV4aW5nCgoyMDEwLTExLTA4IDE2OjU3OjE3ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pbnRlcmxlYXZlLmM6CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy93YXZwYWNrLmM6CgkgIHRlc3RzOiByZW1vdmUgbmV3bGluZXMgYmV0d2VlbiB2YXJpYWJsZSBkZWNscyAob2xkIGdzdC1pbmRlbnQgZmFpbHVyZSkKCjIwMTAtMTEtMDggMTQ6NDc6MDQgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6CgkgIHBuZ2RlYzogdXNlIHBuZ19lcnJvcigpIGFzIHJlY29tbWVuZGVkIGJ5IGxpYnBuZyBkb2NzIHRvIHNpZ25hbCBhbiBlcnJvcgoJICBXaXRob3V0IHRoYXQgdGhlIGVsZW1lbnQgbG9vcHMgZW5kbGVzc2x5IG9uIGJyb2VrbiBwbmdzLiBGaXhlcyAjNjM0MzE0CgoyMDEwLTExLTE2IDE3OjQ4OjE2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogUGFyc2UgYW5kIHVzZSBjcmVhdGlvbiB0aW1lIHRhZyBmcm9tIG12aGQKCSAgRXhwb3NlIGNyZWF0aW9uIHRpbWUgZnJvbSBtdmhkIGFzIGEgZGF0ZXRpbWUgdGFnCgkgIEZpeGVzICM2MzQ5MjgKCjIwMTAtMTAtMjcgMTk6MTU6MjAgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8YW1vcmFsZXNAZmx1bW90aW9uLmNvbT4KCgkqIGdzdC9pY3lkZW11eC9nc3RpY3lkZW11eC5jOgoJICBpY3lkZW11eDogQWRkICdTdHJlYW1VcmwnIG1ldGFkYXRhIGFzIEdTVF9UQUdfSE9NRVBBR0UgdGFnCgoyMDEwLTEwLTIzIDE5OjM0OjAwIC0wNDAwICBUb20gSmFuaXN6ZXdza2kgPFRvbS5KYW5pc3pld3NraUBhbGNhdGVsLWx1Y2VudC5jb20+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJICBmbHZtdXg6IEZpeCBmb3IgbmVsbHltb3NlciBjb2RlY2lkIHNldHRpbmcKCSAgRml4ZXMgYnVnICM2MzI4OTcuCgoyMDEwLTEwLTIxIDE2OjE1OjA4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IEFkZCBzdXBwb3J0IGZvciBFLUFDMwoKMjAxMC0xMC0yMSAxNjoxNDo0NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBBZGQgc3VwcG9ydCBmb3IgRFRTCgoyMDEwLTEwLTMxIDE4OjA4OjE3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXBodHRwc3JjOiBEb24ndCBzZW5kIHNlZWtzIGJlaGluZCB0aGUgZW5kIG9mIGZpbGUgdG8gdGhlIHNlcnZlcgoJICBBbHNvIGltcHJvdmUgZGVidWcgb3V0cHV0LCByZS1pbml0aWFsaXplIHRoZSBjb250ZW50IHNpemUgYW5kIGxldCB0aGUKCSAgc2VlayBoYW5kbGVyIGVycm9yIG91dCBvbiBpbnZhbGlkIHNlZWsgc2VnbWVudHMuCgkgIEZpeGVzIGJ1ZyAjNjMyOTc3LgoKMjAxMC0xMi0wMiAxNzo1Mzo0MiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwajJrcGF5LmM6CgkgIGoya3BheTogdXNlIFNPUCBtYXJrZXJzIHRvIHNwbGl0IGJpdHN0cmVhbQoJICBXaGVuIHBhcnNpbmcgdGhlIGJpdHN0cmVhbSwgbG9vayBmb3IgU09QIG1hcmtlcnMgYmVjYXVzZSB3ZSBhcmUgYWxsb3dlZCB0byBzcGxpdAoJICBwYWNrZXRzIG9uIHRob3NlIG1hcmtlciBib3VuZGFyaWVzLgoJICBSZXdvcmsgdGhlIHBhcnNpbmcgY29kZSBhIGxpdHRsZSBzbyB0aGF0IHdlIGNhbiBwYWNrIG11bHRpcGxlIFBhY2tldGl6YXRpb24KCSAgdW5pdHMgaW4gb25lIFJUUCBwYWNrZXQuCgoyMDEwLTExLTE4IDEyOjQ5OjQ3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBqMmtwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqMmtwYXkuaDoKCSAgcnRwajJrcGF5OiB1c2UgYnVmZmVyIGxpc3RzCgkgIFVzZSBidWZmZXIgbGlzdHMgZm9yIGRvaW5nIHplcm9jb3B5IHBheWxvYWRpbmcuCgkgIEFkZCBwcm9wZXJ0eSB0byBkaXNhYmxlIGJ1ZmZlciBsaXN0cy4KCjIwMTAtMTEtMTYgMTY6NTQ6MjUgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSAgaDI2NHBheTogc21hbGwgY2xlYW51cHMKCSAgQWxsb2NhdGUgYWRhcHRlciBvbmx5IG9uY2UuCgkgIE1ha2Ugc29tZSBndWludDggKiBjb25zdC4KCjIwMTAtMTEtMTYgMTU6Mzk6MjQgKzAxMDAgIFRhbWJldCBJbmdvIDx0YW1iZXQgYXQgZ21haWwuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5oOgoJICBydHBoMjY0cGF5OiBpbXBsZW1lbnQgZnVsbCBieXRlc3RyZWFtIHNjYW4gbW9kZS4KCSAgSW1wbGVtZW50IHRoZSBmdWxsIGJ5dGVzdHJlYW0gc2NhbiBtb2RlLgoJICBGaXhlcyAjNjM0OTEwCgoyMDEwLTExLTE1IDEwOjUyOjMxICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL2NsaWVudC1IMjYzcC1BTVIuc2g6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9jbGllbnQtSDI2M3AtUENNQS5zaDoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL2NsaWVudC1IMjYzcC5zaDoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL2NsaWVudC1IMjY0LVBDTUEuc2g6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9jbGllbnQtSDI2NC5zaDoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL2NsaWVudC1QQ01BLnNoOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvc2VydmVyLXY0bDItSDI2NC1hbHNhc3JjLVBDTUEuc2g6CgkgIGV4YW1wbGVzOiBpbXByb3ZlIFJUUCBleGFtcGxlcwoJICBNYWtlIHRoZSBleGFtcGxlcyB1c2UgYXV0b3ZpZGVvc2luayBhbmQgZmZtcGVnY29sb3JzcGFjZSBmb3IgYmV0dGVyCgkgIGNvbXDDoHRpYmlsaXR5LgoJICBNYWtlIHNvbWUgbW9yZSB2YXJpYWJsZXMgZm9yIHRoZSBzaW5rIGFuZCB0aGUgZGVjb2RlcnMuCgkgIFNldCB6ZXJvbGF0ZW5jeSB0dW5pbmcgb24geDI2NGVuYyBmb3IgYmV0dGVyIHJlYWx0aW1lIHJlc3VsdHMuCgoyMDEwLTExLTEwIDExOjA0OjQ4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIHJ0c3BzcmM6IHNlbGVjdCBtdWx0aWNhc3QgdHJhbnNwb3J0cyBpbiBhIHNtYXJ0ZXIgd2F5CgkgIFdoZW4gd2Ugc2VlIGEgbXVsdGljYXN0IGFkZHJlc3MgaW4gdGhlIFNEUCBjb25uZWN0aW9uLCBvbmx5IHRyeSB0byBuZWdvdGlhdGUgYQoJICBtdWx0aWNhc3QgdHJhbnNwb3J0IHdpdGggdGhlIHNlcnZlci4KCSAgRml4ZXMgIzYzNDA5MwoKMjAxMC0xMi0wMiAxODoxNDoxNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIEJ1bXAgR0xpYiByZXF1aXJlbWVudCB0byBpbXBsaWNpdCByZXF1aXJlbWVudAoJICBpZS4gPj0gMi4yMCB3aGlsZSB3ZSBkZXBlbmQgb24gY29yZS9iYXNlIDAuMTAuMzEKCjIwMTAtMTItMDIgMTg6MTM6NTcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oYWxlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF1aWNrdGltZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgQmFjayB0byBkZXZlbG9wbWVudAoKPT09IHJlbGVhc2UgMC4xMC4yNiA9PT0KCjIwMTAtMTItMDEgMjE6MTU6MDkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFubm9kZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhhbGVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXVpY2t0aW1lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogZ3N0LXBsdWdpbnMtZ29vZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMC4xMC4yNgoKMjAxMC0xMS0zMCAxNToyODo1MCAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IGFuYWx5c2UgUkZGIGZpZWxkcyBpbiBjb3JyZWN0IG9yZGVyCgkgIENvZGUgd2FzIHJlcGVhdGluZyB0aGUgc2Vjb25kIGZpZWxkLCBub3QgdGhlIGZpcnN0LgoJICBGaXhlczogIzYzNjE3OS4KCjIwMTAtMTEtMjkgMTU6MzI6NDAgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBoYW5kbGUgc3RhbGUgZGlnZXN0IGF1dGhlbnRpY2F0aW9uIHNlc3Npb24gZGF0YQoJICBJbiBwYXJ0aWN1bGFyLCBoYW5kbGUgVW5hdXRob3JpemVkIHNlcnZlciByZXNwb25zZSB3aGVuIHRyeWluZyB0byBjb252ZXkKCSAga2VlcC1hbGl2ZS4KCSAgRml4ZXMgIzYzNTUzMi4KCjIwMTAtMTEtMjYgMTU6MDA6MjkgKzAxMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOgoJICBydHBoMjY0ZGVwYXk6IGZpeCBzZWdmYXVsdCBvbiBlbXB0eSBwYXlsb2FkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MzU4NDMKCjIwMTAtMTEtMjUgMTk6MDY6MjcgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuYzoKCSAgZHRtZjogUmVtb3ZlIGRlYWQgYXNzaWdubWVudHMKCjIwMTAtMTEtMTggMDA6NDU6MjkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIDAuMTAuMjUuNSBwcmUtcmVsZWFzZQoKMjAxMC0xMS0xOCAwMDo0NDo0NSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBwby9iZy5wbzoKCSogcG8vZmkucG86CgkqIHBvL2h1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vdHIucG86CgkgIHBvOiB1cGRhdGUgdHJhbnNsYXRpb25zCgoyMDEwLTExLTE0IDAwOjE4OjE2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogZml4IHJlZmVyZW5jZSBsZWFrCgoyMDEwLTExLTEyIDIzOjU5OjA2ICsxMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IEZsdXNoIFFvUyBhbmQgaGlzdG9yeSBiZWZvcmUgYXBwbHlpbmcgc2VnbWVudAoJICBXaGVuIGhhbmRsaW5nIG5ld3NlZ21lbnQsIGZsdXNoIG91dCB0aGUgYnVmZmVyIGhpc3RvcnkgaW4gdGhlCgkgIGV4aXN0aW5nIHNlZ21lbnQsIG5vdCB0aGUgbmV3IG9uZS4gRml4ZXMgcGxheWJhY2sgaW4gc29tZSBEVkQKCSAgY2FzZXMuCgkgIFBhcnRpYWxseSBmaXhlcyAjNjMzMjk0CgoyMDEwLTExLTEyIDEyOjIwOjE2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogaW1wcm92ZSBldmVudCBsb2dnaW5nCgoyMDEwLTExLTA1IDE3OjAwOjE1ICswMTAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmg6CgkgIGRlaW50ZXJsYWNlOiBJbXBsZW1lbnQgZmllbGQgaGlzdG9yeSBmbHVzaGluZwoJICBJbiBhIG51bWJlciBvZiBjYXNlcyBpdCBpcyBuZWNlc3NhcnkgdG8gZmx1c2ggdGhlIGZpZWxkIGhpc3RvcnkgYnkKCSAgcGVyZm9ybWluZyAnZGVncmFkZWQnIGRlaW50ZXJsYWNpbmcgLSB0aGF0IGlzLCB1c2luZyB0aGUgdXNlci1jaG9zZW4KCSAgbWV0aG9kIGZvciBhcyBtYW55IGZpZWxkcyBhcyBwb3NzaWJsZSwgdGhlbiB1c2luZyB2ZmlyIGZvciBhcyBsb25nIGFzCgkgIHRoZXJlIGFyZSA+PSAyIGZpZWxkcyByZW1haW5pbmcgaW4gdGhlIGhpc3RvcnksIHRoZW4gdXNpbmcgbGluZWFyIGZvcgoJICB0aGUgbGFzdCBmaWVsZC4KCSAgVGhpcyBzaG91bGQgYXZvaWQgbG9zaW5nIGZpZWxkcyBiZWluZyBrZXB0IGZvciBoaXN0b3J5IGZvciBleGFtcGxlIGF0CgkgIEVPUy4KCSAgVGhpcyBtYXkgYWRkcmVzcyBwYXJ0IG9mICM2MzMyOTQKCjIwMTAtMTEtMDUgMTU6NDQ6MzUgKzAxMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogUmVmYWN0b3IgY2hhaW4gZnVuY3Rpb24KCSAgVGhpcyBpcyBuZWVkZWQgdG8gYmUgYWJsZSB0byBvdXRwdXQgYSBmcmFtZSBmcm9tIG91dHNpZGUgdGhlIGNoYWluCgkgIGZ1bmN0aW9uLCBpLmUuIGluIHRoZSBmb2xsb3dpbmcgY29tbWl0IHRoYXQgYWRkcyBmbHVzaGluZyBvZiB0aGUgZmllbGQKCSAgaGlzdG9yeS4KCjIwMTAtMTEtMDUgMTc6MTc6NTYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IHdlIHN0aWxsIHJlcXVpcmUgR3RrKyA+PSAyLjE0LjAgd2hlbiBjb21waWxpbmcgYWdhaW5zdCAyLjAKCSAgVGhlIGNoZWNrIGZvciB0aGUgbWlub3IgdmVyc2lvbiB3YXMgZHJvcHBlZCBpbiB0aGUgcHJldmlvdXMgY29tbWl0LgoKMjAxMC0xMS0wNSAxNjoyNDo0MiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogYWRkIC0td2l0aC1ndGsgb3B0aW9uIGFuZCBkZWZhdWx0IHRvIEd0aysgMi4wIHdoaWxlIHRoZSAzLjAgQVBJIGlzIHN0aWxsIGluIGZsdXgKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzNDAxNAoKMjAxMC0xMS0wNCAxNjo0MjowNyArMTAwMCAgSm9uYXRoYW4gTWF0dGhldyA8am9uYXRoYW5AZDE0bi5vcmc+CgoJKiBnc3QvaWN5ZGVtdXgvZ3N0aWN5ZGVtdXguYzoKCSAgaWN5ZGVtdXg6IGZpeCB1c2UtYWZ0ZXItZnJlZSBvZiB0YWdsaXN0CgkgIEJyb2tlbiBieSBjb21taXQgNGMyZjUzMzMgKGJ1ZyAjNjMwMjA1KS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzMzk3MAoKMjAxMC0xMS0wMSAxNzoyOTowMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgMC4xMC4yNS40IHByZS1yZWxlYXNlCgoyMDEwLTExLTAxIDE3OjI4OjM2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZnIucG86CgkqIHBvL2l0LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL3BsLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3YucG86CgkgIHBvOiB1cGRhdGUgdHJhbnNsYXRpb25zCgoyMDEwLTExLTAxIDE2OjA0OjIwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBmaXggLS1kaXNhYmxlLWV4dGVybmFsCgoyMDEwLTExLTAxIDE0OjU2OjI4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuaDoKCSAgcnRwaDI2NGRlcGF5OiBvbmx5IHNldCBkZWx0YSB1bml0IG9uIGFsbC1ub24ta2V5IHVuaXRzCgkgIE9ubHkgc2V0IHRoZSBkZWx0YSBmbGFnIHdoZW4gYWxsIG9mIHRoZSB1bml0cyBpbiB0aGUgcGFja2V0IGFyZSBkZWx0YSB1bml0cy4KCSAgQmFzZWQgb24gcGF0Y2ggZnJvbSBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgkgIEZpeGVzICM2MzI5NDUKCjIwMTAtMTAtMjYgMTU6NDQ6MzcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dvb20vZ3N0Z29vbS5jOgoJICBnb29tOiBSZXR1cm4gbm90LW5lZ290aWF0ZWQgd2hlbiBicHMgaXMgdW5rbm93bgoJICBJZiBjYXBzIHdlcmVuJ3QgbmVnb3RpYXRlZCwgZ29vbSBzaG91bGQgcmV0dXJuIG5vdC1uZWdvdGlhdGVkCgkgIGZyb20gaXRzIGNoYWluIGZ1bmN0aW9ucyBpbnN0ZWFkIG9mIHVzaW5nIGJwcyB1bml0aWFsaXplZCwgd2hpY2gKCSAgbGVhZHMgdG8gYSBkaXZpc2lvbiBieSAwCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MzMyMTIKCjIwMTAtMTAtMjcgMTM6MTY6NTQgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gN2JiZDcwOCB0byAwMTFiY2M4CgoyMDEwLTEwLTI2IDE2OjU0OjExICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9mbGlwLmM6CgkgIHZpZGVvZmxpcDogRm9yd2FyZCBzcmMgcGFkIGV2ZW50cyB1cHN0cmVhbS4KCSAgRml4IHBhc3NpbmcgbmF2aWdhdGlvbiBhbmQgb3RoZXIgZXZlbnRzIHVwc3RyZWFtIGJ5IGFjdHVhbGx5IHNlbmRpbmcgdGhlbS4KCSAgRml4ZXM6ICM2MzMyMDUKCjIwMTAtMTAtMjQgMTg6NTA6MzAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBmaXggZGVhZGxvY2sgaW4gZXJyb3IgY29kZSBwYXRoCgkgIEdTVF9FTEVNRU5UX0VSUk9SIG11c3Qgbm90IGJlIGNhbGxlZCB3aXRoIHRoZSBvYmplY3QgbG9jayBoZWxkLAoJICBzaW5jZSBpdCB3aWxsIGNhbGwgZ3N0X29iamVjdF9nZXRfcGFyZW50KCkgaW50ZXJuYWxseSwgd2hpY2gKCSAgdGFrZXMgdGhlIG9iamVjdCBsb2NrIGFzIHdlbGwuCgoyMDEwLTEwLTIwIDEwOjIxOjQ4ICswMjAwICBQaGlsaXAgSsOkZ2Vuc3RlZHQgPHBoaWxpcGpAb3BlcmEuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IFJlbW92ZSB1c2VsZXNzIGNsZWFyaW5nIG9mIHNlbmRfeGlwaF9oZWFkZXJzIGZvciBEaXJhYwoJICBUaGlzIGxvb2tzIGxpa2UgYSBtaXN0YWtlIHdoZW4gY29weS1wYXN0aW5nIHRoZSBUaGVvcmEgY29kZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzMjY4MgoKMjAxMC0xMC0yMCAxMzoyODoyOCArMDIwMCAgUGhpbGlwIErDpGdlbnN0ZWR0IDxwaGlsaXBqQG9wZXJhLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBkb24ndCBjcmFzaCBpZiB2b3JiaXMvdGhlb3JhIGNvZGVjIGRhdGEgaXMgbWlzc2luZwoJICBFcnJvciBvdXQgcHJvcGVybHkgaW4gdGhpcyBjYXNlIGluc3RlYWQgb2YgY3Jhc2hpbmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MzI2ODIKCjIwMTAtMTAtMjIgMTg6MTE6NDYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIDAuMTAuMjUuMyBwcmUtcmVsZWFzZQoKMjAxMC0xMC0xOSAxNjo0NTo1MSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGZpeCBkdXJhdGlvbiByZXBvcnRpbmcKCSAgSW5pdCBzZWdtZW50IHByaW9yIHRvIHN0b3JpbmcgZHVyYXRpb24gaW5mbyBpbiBpdC4KCSAgRml4ZXMgIzYzMjU0OC4KCjIwMTAtMTAtMTkgMTQ6MjE6NTMgKzAxMDAgIEJhc3RpZW4gTm9jZXJhIDxoYWRlc3NAaGFkZXNzLm5ldD4KCgkqIGdjb25mL01ha2VmaWxlLmFtOgoJICBnY29uZjogRG9uJ3QgaW5zdGFsbCBzY2hlbWFzIHdoZW4gR0NvbmYgaXMgZGlzYWJsZWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzMjU1MwoKMjAxMC0xMC0xOSAxMzo0MzoxNCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICB2YXJpb3VzIChnc3QpOiBhZGQgbWlzc2luZyBHX1BBUkFNX1NUQVRJQ19TVFJJTkdTIGZsYWdzCgkgIENhbm9uaWNhbGl6ZSBwcm9wZXJ0eSBuYW1lcyBhcyBuZWVkZWQuCgoyMDEwLTEwLTE5IDEzOjQ0OjI1ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkgIGR0bWZzcmM6IHJlbW92ZSBERUJVR19GVU5DUFRSIGZyb20gZ29iamVjdCB2bWV0aG9kcwoKMjAxMC0xMC0xNiAxNTo0Mzo1MyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgd2luMzI6IHNldCBHU1RfUEFDS0FHRV9SRUxFQVNFX0RBVEVUSU1FIGFsc28gaW4gd2luMzIgY29uZmlnLmgKCjIwMTAtMTAtMTYgMDE6MzM6NTIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIDAuMTAuMjUuMiBwcmUtcmVsZWFzZQoKMjAxMC0xMC0xNiAwMToyNjowMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBwby9lbC5wbzoKCSogcG8vdmkucG86CgkgIHBvOiB1cGRhdGUgdHJhbnNsYXRpb25zCgoyMDEwLTEwLTE1IDEzOjIyOjAzIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICB0ZXN0czogRG9uJ3QgZGlzdCBnZW5lcmF0ZWQgb3JjIGZpbGVzCgoyMDEwLTEwLTE1IDE0OjAyOjE5IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUtZGlzdC5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lLWRpc3QuaDoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94b3JjLWRpc3QuYzoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94b3JjLWRpc3QuaDoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRvcmMtZGlzdC5jOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZG9yYy1kaXN0Lmg6CgkgIFVwZGF0ZSBnZW5lcmF0ZWQgb3JjIGNvZGUKCjIwMTAtMTAtMTUgMTg6MDA6MTAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGJ1bXAgT3JjIHJlcXVpcmVtZW50IHRvIDAuNC4xMQoKMjAxMC0xMC0xNCAxNzo0MTozMCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogVXNlIHRoZSByaWdodCBjb25zdGFudCB0byBkZWZpbmUgdGhlICJ1c2UtcGlwZWxpbmUtY2xvY2siIHByb3BlcnR5CgkgIFRoZSB3cm9uZyAjZGVmaW5lIHdhcyBiZWluZyB1c2VkLCBub3cgdXNlIHRoZSBjb3JyZWN0IG9uZS4KCjIwMTAtMTAtMTQgMTI6MzE6NDggLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA1YTY2OGJmIHRvIDdiYmQ3MDgKCjIwMTAtMTAtMTQgMTc6MjY6MTQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgYWMzOiBkZW11eGVycyBwcm92aWRlIGZyYW1lZCBvdXRwdXQKCjIwMTAtMTAtMTQgMDA6MTE6MjcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuYzoKCSogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuaDoKCSAgbWF0cm9za2FtdXg6IHJlZHVjZSBuZXdzZWdtZW50IGV2ZW50IHNwYW0gYW5kIHNldCBkaXNjb250IGZsYWcgd2hlcmUgbmVlZGVkCgkgIE9ubHkgc2VuZCBuZXdzZWdtZW50IGV2ZW50cyB3aXRoIG5ldyBwb3NpdGlvbnMgZG93bnN0cmVhbSB3aGVuIGFjdHVhbGx5CgkgIG5lZWRlZCwgaW5zdGVhZCBvZiBzZW5kaW5nIG11bHRpcGxlIG5ld3NlZ21lbnQgZXZlbnRzIHdpdGggbmV3IHNlZWsKCSAgcG9zaXRpb25zIGluIGEgcm93LiBBbHNvIHNldCB0aGUgZGlzY29udCBmbGFnIG9uIGJ1ZmZlcnMgYWZ0ZXIgYQoJICBkaXNjb250aW51aXR5LgoKMjAxMC0xMC0xMyAyMzo0NjowMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS5jOgoJKiBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS5oOgoJICBtYXRyb3NrYW11eDogc2V0IGNvcnJlY3QgYnVmZmVyIG9mZnNldHMgYWZ0ZXIgc2Vla3MKCSAgUmUtdXNlIHRoZSBleGlzdGluZyAncG9zJyBmaWVsZCBtYWludGFpbmVkIGJ5IGVibWwgd3JpdGVyIHRvIHNldAoJICBidWZmZXIgb2Zmc2V0cy4gVGhpcyBhbHNvIG1ha2VzIHN1cmUgdGhhdCB3ZSBzZXQgdGhlIHJpZ2h0IG9mZnNldHMKCSAgb24gYnVmZmVycyBhZnRlciBhIHNlZWsgKGUuZy4gd2hlbiB3cml0aW5nIGFuIGluZGV4IGF0IHRoZSBlbmQpLgoKMjAxMC0xMC0xNCAwMDoyMjowMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBkb24ndCBmb3J3YXJkIHRhZyBldmVudHMgZG93bnN0cmVhbQoJICBEb24ndCBmb3J3YXJkIHN0cmVhbS1zcGVjaWZpYyB0YWcgZXZlbnRzIGRvd25zdHJlYW0gKGVzcC4gbm90CgkgIGJlZm9yZSBhbnkgbmV3c2VnbWVudCBldmVudCkueAoKMjAxMC0xMC0xMyAxNzoxNToyNSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfZm91cmNjLmg6CgkgIHF0ZGVtdXg6IGhhbmRsZSBhbm90aGVyIG1wNHYgdmFyaWF0aW9uCgkgIC4uLiBpbmNsdWRpbmcgdGhlIGdsYmwgYXRvbSBjb250YWluaW5nIGNvZGVjLWRhdGEuCgoyMDEwLTEwLTEzIDE3OjIxOjIzICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXVkaW9meC9hdWRpb2FtcGxpZnkuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9keW5hbWljLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvaW52ZXJ0LmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlva2FyYW9rZS5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb3Bhbm9yYW1hLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NpbmsuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc3JjLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NpbmsuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc3JjLmM6CgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkqIGdzdC9jdXR0ZXIvZ3N0Y3V0dGVyLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2JyZWFrbXlkYXRhLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2VmZW5jZS5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RuYXZzZWVrLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL25lZ290aWF0aW9uLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL3Byb2dyZXNzcmVwb3J0LmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL3JuZGJ1ZmZlcnNpemUuYzoKCSogZ3N0L2lkM2RlbXV4L2dzdGlkM2RlbXV4LmM6CgkqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkqIGdzdC9tZWRpYW4vZ3N0bWVkaWFuLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNyYy5jOgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4LmM6CgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0bXV4LmM6CgkqIGdzdC9yZXBsYXlnYWluL2dzdHJnYW5hbHlzaXMuYzoKCSogZ3N0L3JlcGxheWdhaW4vZ3N0cmdsaW1pdGVyLmM6CgkqIGdzdC9yZXBsYXlnYWluL2dzdHJndm9sdW1lLmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaWxiY2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwanBlZ3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMnRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0c3AvZ3N0cnRwZGVjLmM6CgkqIGdzdC9zbXB0ZS9nc3RzbXB0ZS5jOgoJKiBnc3QvdWRwL2dzdGR5bnVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3R1ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkqIGdzdC92aWRlb2Nyb3AvZ3N0YXNwZWN0cmF0aW9jcm9wLmM6CgkqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb3RlbXBsYXRlLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NpbmsuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc3JjLmM6CgkgIHZhcmlvdXMgKGdzdCk6IGFkZCBhIG1pc3NpbmcgR19QQVJBTV9TVEFUSUNfU1RSSU5HUyBmbGFncwoKMjAxMC0xMC0xMyAxNzoxMzowNCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogc3lzL29zcy9nc3Rvc3NtaXhlcmVsZW1lbnQuYzoKCSogc3lzL29zcy9nc3Rvc3NzaW5rLmM6CgkqIHN5cy9vc3MvZ3N0b3Nzc3JjLmM6CgkqIHN5cy9vc3M0L29zczQtbWl4ZXIuYzoKCSogc3lzL29zczQvb3NzNC1zaW5rLmM6CgkqIHN5cy9vc3M0L29zczQtc291cmNlLmM6CgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvc2luay5jOgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zcmMuYzoKCSogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzoKCSAgdmFyaW91cyAoc3lzKTogYWRkIGEgbWlzc2luZyBHX1BBUkFNX1NUQVRJQ19TVFJJTkdTIGZsYWdzCgoyMDEwLTEwLTEzIDE2OjI1OjE1ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvYWFsaWIvZ3N0YWFzaW5rLmM6CgkqIGV4dC9hbm5vZGV4L2dzdGNtbWxkZWMuYzoKCSogZXh0L2Fubm9kZXgvZ3N0Y21tbGVuYy5jOgoJKiBleHQvYW5ub2RleC9nc3RjbW1sdGFnLmM6CgkqIGV4dC9jYWlyby9nc3R0ZXh0b3ZlcmxheS5jOgoJKiBleHQvZHYvZ3N0ZHZkZWMuYzoKCSogZXh0L2VzZC9lc2Rtb24uYzoKCSogZXh0L2VzZC9lc2RzaW5rLmM6CgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmLmM6CgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1ZnNpbmsuYzoKCSogZXh0L2dka19waXhidWYvcGl4YnVmc2NhbGUuYzoKCSogZXh0L2hhbC9nc3RoYWxhdWRpb3NpbmsuYzoKCSogZXh0L2hhbC9nc3RoYWxhdWRpb3NyYy5jOgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSogZXh0L2pwZWcvZ3N0c21va2VlbmMuYzoKCSogZXh0L2xpYmNhY2EvZ3N0Y2FjYXNpbmsuYzoKCSogZXh0L2xpYnBuZy9nc3RwbmdlbmMuYzoKCSogZXh0L21pa21vZC9nc3RtaWttb2QuYzoKCSogZXh0L3JhdzEzOTQvZ3N0ZHYxMzk0c3JjLmM6CgkqIGV4dC9yYXcxMzk0L2dzdGhkdjEzOTRzcmMuYzoKCSogZXh0L3Nob3V0Mi9nc3RzaG91dDIuYzoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6CgkqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6CgkgIHZhcmlvdXMgKGV4dCk6IGFkZCBhIG1pc3NpbmcgR19QQVJBTV9TVEFUSUNfU1RSSU5HUyBmbGFncwoKMjAxMC0xMC0xMyAxNjozNDowOSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2FhbGliL2dzdGFhc2luay5jOgoJKiBleHQvZXNkL2VzZG1vbi5jOgoJKiBnc3QvbWVkaWFuL2dzdG1lZGlhbi5jOgoJICB2YXJpb3VzOiB3cmFwIHByb3BlcnR5IHJlZ2lzdHJhdGlvbiBhbmQgYWRkIGEgc2luZ2xlIGZpeG1lIGZvciBsb25nIGRlc2MuCgoyMDEwLTEwLTEzIDExOjQ2OjU4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSAgaDI2NGRlcGF5OiBhbHdheXMgbWFyayB0aGUgY29kZWNfZGF0YSBhcyBrZXlmcmFtZQoJICBXZSBuZWVkIHRvIG1hcmsgdGhlIGNvZGVjX2RhdGEgYXMgYSBrZXlmcmFtZSBvciBlbHNlIGRvd25zdHJlYW0gZGVjb2RlcnMgbWlnaHQKCSAgZGVjaWRlIHRvIHNraXAgaXQsIHdhaXRpbmcgZm9yIGEga2V5ZnJhbWUuCgkgIEZpeGVzICM2MzE5OTYKCjIwMTAtMTAtMTMgMDc6MTY6NDcgKzAxMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJKiBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS5jOgoJICBtYXRyb3NrYW11eDogbWFrZSBidWZmZXIgb2Zmc2V0cyBhIGJ5dGUgY291bnQgcmF0aGVyIHRoYW4gYSBidWZmZXIgY291bnQKCjIwMTAtMTAtMDcgMjE6MTI6NDggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2FhbGliL2dzdGFhc2luay5jOgoJKiBleHQvZHYvZ3N0ZHZkZWMuYzoKCSogZXh0L2VzZC9lc2Rtb24uYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJKiBleHQvbWlrbW9kL2dzdG1pa21vZC5jOgoJKiBleHQvcmF3MTM5NC9nc3RkdjEzOTRzcmMuYzoKCSogZ3N0L2RlYnVndXRpbHMvZWZlbmNlLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBleHQsIGdzdDogY2Fub25pY2FsaXNlIHByb3BlcnR5IG5hbWVzIHdoZXJlIHRoaXMgd2Fzbid0IHRoZSBjYXNlCgkgIGllLiAiZm9vX2JhciIgLT4gImZvby1iYXIiCgoyMDEwLTEwLTEyIDE1OjAyOjQyICswMjAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBtcHZwYXkuYzoKCSAgcnRwbXB2cGF5OiBmaXggdGltZXN0YW1waW5nIG9mIHJ0cCBidWZmZXJzCgkgIEluY29tbWluZyBidWZmZXIgaXMgb25seSBwdXNoZWQgb24gdGhlIGFkYXB0ZXIgYXQgdGhlIGVuZCBvZiB0aGUKCSAgaGFuZGxlX2J1ZmZlciBmdW5jdGlvbi4gQnV0IGR1cmF0aW9uL3RpbWVzdGFtcCBvZiB0aGlzIGJ1ZmZlciBpcyBhbHJlYWR5CgkgIHRha2VuIGludG8gYWNjb3VudCBmb3IgdGhlIGN1cnJlbnQgZGF0YSBpbiB0aGUgYWRhcHRlci4gVGhpcyBsZWFkcyB0bwoJICB3cm9uZyBydHAgdGltZXN0YW1wcyBhbmQgZXh0cmEgbGF0ZW5jeS4KCjIwMTAtMTAtMTIgMTE6Mzc6NDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvZXF1YWxpemVyL2RlbW8uYzoKCSogdGVzdHMvZXhhbXBsZXMvc3BlY3RydW0vZGVtby1hdWRpb3Rlc3QuYzoKCSogdGVzdHMvZXhhbXBsZXMvc3BlY3RydW0vZGVtby1vc3NzcmMuYzoKCSAgZXhhbXBsZXM6IEZpeCBidWlsZCB3aXRoIEdUSysgMy4wCgoyMDEwLTEwLTExIDE1OjEyOjAwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBtYXJrIGFzIGEgc291cmNlCgkgIE1hcmsgdGhlIHJ0c3BzcmMgZWxlbWVudCBhcyBhIHNvdXJjZS4KCSAgUmVxdWlyZXMgMC4xMC4zMS4xIG5vdwoKMjAxMC0xMC0xMSAxNDoyNDoxMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zcmMuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc3JjLmM6CgkgIGF1dG9kZXRlY3Q6IFNldCBHU1RfRUxFTUVOVF9JU19TT1VSQ0UgZmxhZyBvbiBzb3VyY2VzCgoyMDEwLTEwLTExIDE0OjIxOjA3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nY29uZi9nc3Rzd2l0Y2hzcmMuYzoKCSAgc3dpdGNoc3JjOiBTZXQgdGhlIEdTVF9FTEVNRU5UX0lTX1NPVVJDRSBmbGFnCgoyMDEwLTEwLTExIDE0OjE3OjMzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBSZXF1aXJlIGNvcmUgMC4xMC4zMC4xCgoyMDEwLTEwLTEwIDE0OjQzOjU4ICswMTAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuYzoKCSogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuaDoKCSAgbWF0cm9za2FtdXg6IHNldCBvZmZzZXRzIG9uIG91dGdvaW5nIGJ1ZmZlcnMKCjIwMTAtMTAtMDkgMTQ6MTQ6MjcgKzAyMDAgIElPaGFubmVzIG0gem3DtmxuaWcgPHptb2VsbmlnQGllbS5hdD4KCgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkgIHY0bDJzaW5rOiBPbmx5IGdldC9zZXQgb3ZlcmxheSBwYXJhbXMgaWYgbmVlZGVkCgkgIGl0J3MgcGVyZmVjdGx5IG9rIGZvciBhIHZpZGVvIG91dHB1dCBkZXZpY2UgdG8gbm90IGhhdmUgb3ZlcmxheSBjYXBhYmlsaXRpZXMuCgkgIHRoaXMgcGF0Y2ggcmVtb3ZlcyB0aGUgbmVlZCB0byBnZXQvc2V0IHRoZSBvdmVybGF5IHBhcmFtZXRlcnMgaWYgdGhlIHVzZXIKCSAgZG9lcyBub3QgZXhwbGljaXRlbHkgcmVxdWVzdCBvbmUgb2YgdGhlIG92ZXJsYXkgcHJvcGVydGllcwoKMjAxMC0wOS0zMCAxNToyODoyMyArMDIwMCAgSU9oYW5uZXMgbSB6bcO2bG5pZyA8em1vZWxuaWdAaWVtLmF0PgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSAgdjRsMnNpbms6IFByb3RlY3QgYWdhaW5zdCBOVUxMLXBvaW50ZXIgYWNjZXNzCgkgIGdzdF92NGwyc2lua19jaGFuZ2Vfc3RhdGUoKSB3b3VsZCBmcmVlIHRoZSBwb29sIHdpdGhvdXQgY2hlY2tpbmcgd2hldGhlciB0aGVyZQoJICB3YXMgYSB2YWxpZCBwb29sLi4uCgoyMDEwLTEwLTA4IDEyOjQzOjUxIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gYzRhOGFkYyB0byA1YTY2OGJmCgoyMDEwLTEwLTA4IDEyOjUzOjMzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNWUzYzliZiB0byBjNGE4YWRjCgoyMDEwLTEwLTA2IDExOjI5OjU1ICswMjAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IEZpeCByZXF1aXJlZCBmaWVsZHMgbG9naWMKCSAgQm90aCBoaXN0b3J5X2NvdW50IGFuZCBmaWVsZHNfcmVxdWlyZWQgY291bnQgZnJvbSAxLiBBcyBwZXIgdGhlIHdoaWxlIGxvb3AKCSAgY29uZGl0aW9uIHRoYXQgZm9sbG93cyB0aGlzIGNvZGUsIHRvIHBlcmZvcm0gdGhlIGRlaW50ZXJsYWNpbmcgbWV0aG9kLCB3ZSBuZWVkCgkgIGhpc3RvcnlfY291bnQgPj0gZmllbGRzX3JlcXVpcmVkIGZpZWxkcyBpbiB0aGUgaGlzdG9yeS4gVGhlcmVmb3JlIGlmIHdlIGhhdmUKCSAgaGlzdG9yeV9jb3VudCA8IGZpZWxkc19yZXF1aXJlZCAobm90IGZpZWxkc19yZXF1aXJlZCArIDEpLCB3ZSBuZWVkIG1vcmUgZmllbGRzLgoKMjAxMC0wOS0yMCAxOTo0Mzo0NSArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDxhbW9yYWxlc0BmbHVtb3Rpb24uY29tPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguaDoKCSAgZmx2bXV4OiByZXNlbmQgb25NZXRhZGEgdGFnIHdoZW4gdGFncyBjaGFuZ2VzIGluIHN0cmVhbWFibGUgbW9kZQoKMjAxMC0xMC0wNSAxOTo0MDo1MCArMDEwMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEFBQyBjb2RlY19kYXRhIGNhbiBiZSA+IDIgYnl0ZXMgbG9uZwoJICBUaGlzIGZpeGVzIHRoZSBhc3N1bXB0aW9uIHRoYXQgRGVjb2RlclNwZWNpZmljSW5mbyBtdXN0IGJlIDIgYnl0ZXMgbG9uZwoJICBmb3IgQUFDIGZpbGVzLiBUaGUgc3BlY2lmaWNhdGlvbiBhbGxvd3MgSEUtQUFDIHRvIGJlIGV4cGxpY2l0bHkKCSAgc2lnbmFsbGVkIGluIGEgYmFja3dhcmQgY29tcGF0aWJsZSB3YXkuIFRoaXMgaXMgZG9uZSBieSBtZWFucyBvZiBhbgoJICBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIGFmdGVyIHRoZSByZWd1bGFyIEFBQyBoZWFkZXIuIEl0IGlzIGV4cGVjdGVkIHRoYXQKCSAgZGVjb2RlcnMgdGhhdCBjYW4gcGxheSBBQUMgYnV0IG5vdCBIRS1BQUMgd2lsbCBwYXJzZSB0aGUgaGVhZGVyIG5vcm1hbGx5CgkgIGFuZCBpZ25vcmUgZXh0ZW5kZWQgYml0cywgbXVjaCBhcyB0aGV5IGRvIGZvciB0aGUgSEUtQUFDIHNwZWNpZmljIHBheWxvYWQKCSAgaW4gdGhlIGFjdHVhbCBzdHJlYW0uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MTIzMTMKCjIwMTAtMTAtMDUgMTY6MDE6MTkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IG9ubHkgdW5yZWYgYnVmZmVyIHdoZW4gbm8gbG9uZ2VyIG5lZWRlZCBmb3IgY2x1c3RlciBzY2FubmluZwoJICBGaXhlcyAjNjI5MDQ3LgoKMjAxMC0xMC0wNSAxNjowMDo0NSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogYXZvaWQgaW5maW5pdGUgY2x1c3RlciBzY2FubmluZwoKMjAxMC0xMC0wNSAxMjoyMDo1MiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nb29tL2dzdGdvb20uYzoKCSogZ3N0L2dvb20yazEvZ3N0Z29vbS5jOgoJICBnb29tOiB0YWtlIGR1cmF0aW9uIGludG8gYWNjb3VudCB3aGVuIGRvaW5nIFFvUwoJICBUYWtlIHRoZSBkdXJhdGlvbiBvZiB0aGUgZnJhbWVzIGludG8gYWNjb3VudCBzbyB0aGF0IHdlIGRvbid0IGRyb3AgZnJhbWVzIHRoYXQKCSAgYXJlIG9ubHkgcGFydGlhbGx5IHBhc3QgdGhlIFFvUyBkZWFkbGluZS4KCjIwMTAtMTAtMDUgMTA6NDA6MTUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ29vbS9nc3Rnb29tLmM6CgkqIGdzdC9nb29tL2dzdGdvb20uaDoKCSogZ3N0L2dvb20yazEvZ3N0Z29vbS5jOgoJKiBnc3QvZ29vbTJrMS9nc3Rnb29tLmg6CgkgIGdvb206IHVzZSBhZGFwdGVyIGZvciB0aW1lc3RhbXBpbmcKCSAgVXNlIHRoZSBhZGFwdGVyIHRpbWVzdGFtcCBjb2RlIHRvIGdldCBtb3JlIGFjY3VyYXRlIHRpbWVzdGFtcHMuCgkgIEZpeCBsYXRlbmN5IGNhbGN1bGF0aW9uLCB3ZSBhZGQgb3VyIG93biBsYXRlbmN5IGluIHRoZSB3b3JzdCBjYXNlLgoKMjAxMC0xMC0wNCAyMjozMTozMiArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L3JhdzEzOTQvTWFrZWZpbGUuYW06CgkqIGV4dC9yYXcxMzk0L2dzdDEzOTQuYzoKCSAgcmF3MTM5NDogRG9uJ3QgY29tcGlsZSBoZHYxMzk0c3JjIGlmIGxpYmllYzYxODgzIGlzbid0IGF2YWlsYWJsZQoJICBGaXhlcyAjNjI5ODk2CgoyMDEwLTA5LTIwIDE5OjQ0OjA5ICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPGFtb3JhbGVzQGZsdW1vdGlvbi5jb20+CgoJKiBnc3QvaWN5ZGVtdXgvZ3N0aWN5ZGVtdXguYzoKCSAgaWN5ZGVtdXg6IGZvcndhcmQgdGFnIGV2ZW50cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjMwMjA1CgoyMDEwLTEwLTA0IDE5OjAwOjQ1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dvb20yazEvZ3N0Z29vbS5jOgoJICBnb29tMmsxOiByZXBvcnQgb3VyIGxhdGVuY3kgY29ycmVjdGx5CgkgIEZpeGVzICM2MzEzMDMKCjIwMTAtMTAtMDQgMTg6NTY6MTUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ29vbTJrMS9nc3Rnb29tLmM6CgkgIGdvb20yazE6IGFkZCBkZWZpbmVzIGZvciBkZWZhdWx0IHdpZHRoL2hlaWdodC9mcHMKCSAgQWRkIHNvbWUgZGVmaW5lcyBmb3IgdGhlIGRlZmF1bHQgd2lkdGgvaGVpZ2h0L2ZwcyBpbnN0ZWFkIG9mIHVzaW5nIGRpZmZlcmVudAoJICB2YWx1ZXMgaW4gZGlmZmVyZW50IHBsYWNlcy4KCjIwMTAtMTAtMDQgMTg6NTI6MTQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ29vbS9nc3Rnb29tLmM6CgkgIGdvb206IGFkZCBsYXRlbmN5IGNvbXBlbnNhdGlvbiBjb2RlLgoJICBJbXBsZW1lbnQgYSBsYXRlbmN5IHF1ZXJ5IGFuZCByZXBvcnQgaG93IG11Y2ggbGF0ZW5jeSB3ZSB3aWxsIGFkZCB0byB0aGUKCSAgc3RyZWFtLgoJICBBbHNlIG1ha2Ugc29tZSBkZWZhdWx0cyBmb3IgdGhlIGRlZmF1bHQgd2lkdGgvaGVpZ2h0L2ZyYW1lcmF0ZQoJICBGaXhlcyAjNjMxMzAzCgoyMDEwLTEwLTA0IDE3OjU2OjU3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL3NlcnZlci1hbHNhc3JjLVBDTUEucHk6CgkgIHRlc3Q6IGFkZCBweXRob24gdmVyc2lvbiBvZiB0aGUgYXVkaW8gc2VuZGVyCgkgIEFkZCBhIHB5dGhvbiB2ZXJzaW9uIG9mIHRoZSBhdWRpbyBzZW5kZXIgcGlwZWxpbmUuCgkgIFBvcnRlZCBieSBTcDRyYyBvbiBJUkMuCgoyMDEwLTEwLTA0IDE3OjUyOjIyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL2NsaWVudC1QQ01BLnB5OgoJICB0ZXN0czogQWRkIHB5dGhvbiBSVFAgY2xpZW50IGV4YW1wbGUKCSAgQWRkIGEgcHl0aG9uIHZlcnNpb24gb2YgdGhlIFBDTUEgY2xpZW50IGFwcC4KCSAgUG9ydGVkIGJ5IFNwNHJjIG9uIElSQy4KCjIwMTAtMTAtMDQgMDk6Mzk6NTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBtcDRncGF5LmM6CgkgIHJ0cDogRml4IHVuaXRpYWxpemVkIGNvbXBpbGVyIHdhcm5pbmdzIG9uIE9TIFggYnVpbGQgYm90CgkgIFRoZXNlIHdhcm5pbmdzIGFyZSB3cm9uZyB0aG91Z2gsIHRoZSB2YXJpYWJsZXMgYXJlIG9ubHkgdXNlZCBpbgoJICB0aGUgY2FzZXMgd2hlcmUgdGhleSAqYXJlKiBpbml0aWFsaXplZCBieSB0aGUgYml0IHJlYWRlci4KCjIwMTAtMTAtMDMgMjM6NDk6MDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBnNzIycGF5LmM6CgkgIHJ0cGc3MjJwYXk6IEZpeCB1bmluaXRpYWxpemVkIHZhcmlhYmxlIGNvbXBpbGVyIHdhcm5pbmcKCSAgVGhlIGNsb2NrIHJhdGUgaXMgYWx3YXlzIDgwMDAgSHogYWNjb3JkaW5nIHRvIHRoZSBSRkMgYW5kCgkgIHRoZSBzYW1wbGluZyByYXRlIG11c3QgYWx3YXlzIGJlIDE2MDAwIEh6LgoKMjAxMC0xMC0wMSAxMzo1OToxMCArMDQwMCAgVmxhZGltaXIgRXJlbWVldiA8ZXJlbWVldkBhdGxhbnRpcy5ydT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IGltcHJvdmUgYXJ0aWNsZSByZWZlcmVuY2UgaW4gY29tbWVudCBibG9jawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjMxMDgyCgoyMDEwLTA0LTMwIDIxOjAwOjMxICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSogZ3N0L3F0ZGVtdXgvcXVpY2t0aW1lLmM6CgkgIHF0ZGVtdXg6IFVzZSBwYnV0aWxzIGZvciBILjI2NCBwcm9maWxlL2xldmVsIGV4dHJhY3Rpb24KCSAgVGhlIGZ1bmN0aW9ucyB1c2VkIHRvIGV4dHJhY3QgdGhpcyBkYXRhIGhhdmUgYmVlbiBtb3ZlZCB0byBnc3RwYnV0aWxzIHRvCgkgIGZhY2lsaXRhdGUgcmV1c2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MTczMTgKCjIwMTAtMDQtMzAgMjE6MDA6MzEgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL01ha2VmaWxlLmFtOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLmM6CgkgIG1hdHJvc2thZGVtdXg6IFVzZSBwYnV0aWxzIGZvciBILjI2NCBwcm9maWxlL2xldmVsIGV4dHJhY3Rpb24KCSAgVGhlIGZ1bmN0aW9ucyB1c2VkIHRvIGV4dHJhY3QgdGhpcyBkYXRhIGhhdmUgYmVlbiBtb3ZlZCB0byBnc3RwYnV0aWxzIHRvCgkgIGZhY2lsaXRhdGUgcmV1c2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MTczMTgKCjIwMTAtMDQtMjIgMTk6Mzk6NDcgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBFeHBvcnQgTVBFRy00IHZpZGVvIHByb2ZpbGUgYW5kIGxldmVsIGluIHN0cmVhbSBjYXBzCgkgIFRoaXMgdXNlcyBnc3RwYnV0aWxzIHRvIGV4dHJhY3QgdGhlIHByb2ZpbGUgYW5kIGxldmVsIGZyb20gdGhlIHZpZGVvCgkgIG9iamVjdCBzZXF1ZW5jZSBhbmQgYWRkcyB0aGlzIHRvIHN0cmVhbSBjYXBzLiBUaGlzIGNhbiBiZSB1c2VkIGFzCgkgIG1ldGFkYXRhIGFuZCBmb3IgZmluZS1ncmFpbmVkIGRlY29kZXIgc2VsZWN0aW9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjE2NTIxCgoyMDEwLTA5LTMwIDEyOjQ0OjUyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZml4IGFhYyBjaGFubmVsIG92ZXJyaWRlIGJhc2VkIG9uIGNvZGVjIGRhdGEgZm9yIDcuMSBjYXNlCgoyMDEwLTA0LTMwIDE0OjA2OjI3ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEV4cG9ydCBBQUMgcHJvZmlsZSBhbmQgbGV2ZWwgaW4gY2FwcwoJICBUaGlzIGV4cG9ydHMgdGhlIEFBQyBwcm9maWxlIGFuZCBsZXZlbCBpbiBjYXBzIGZvciB1c2UgYXMgbWV0YWRhdGEgYW5kCgkgIChldmVudHVhbGx5KSBmb3IgbW9yZSBmaW5lLWdyYWluZWQgc2VsZWN0aW9uIG9mIGRlY29kZXJzIGF0CgkgIGNhcHMtbmVnb3RpYXRpb24gdGltZS4gKERvZXNuJ3Qgd29yayBmb3IgSEUtQUFDIHlldCB0aG91Z2guKQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjEyMzEzCgoyMDEwLTA5LTMwIDE4OjM0OjA0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cC9nc3RydHAuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzIyZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzIyZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBnNzIycGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyMnBheS5oOgoJICBydHA6IGFkZCBHNzIyIHBheSBhbmQgZGVwYXlsb2FkZXIKCjIwMTAtMDktMzAgMTI6MDg6NDkgKzAyMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiB1cGRhdGUgbGluayB0byBkb2N1bWVudGF0aW9uCgoyMDEwLTA5LTMwIDExOjM0OjU2ICswMjAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL2NsaWVudC1IMjY0LnNoOgoJICBleGFtcGxlczogZml4IGluZGVudGF0aW9uIG9uIHJ0cCBjbGllbnQgZXhhbXBsZQoKMjAxMC0wOS0zMCAxMTozMzoyNCArMDIwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9jbGllbnQtSDI2NC1QQ01BLnNoOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvY2xpZW50LUgyNjQuc2g6CgkgIGV4YW1wbGVzOiBmaXggdHlwbyBpbiBwb3J0IG9mIHJ0cCBleGFtcGxlcwoKMjAxMC0wOS0yOSAxMzoyMDoyMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5jOgoJICB3YXZlbmM6IG1pbmlzY3VsZSBjb2RlIGNsZWFuLXVwCgkgIEdTVF9DTE9DS19USU1FX05PTkUgaXMgbm90IHNvbWV0aGluZyB0aGF0IHNob3VsZCBiZSB1c2VkIGluIGNvbm5lY3Rpb24gd2l0aAoJICBHU1RfRk9STUFUX0JZVEVTLgoKMjAxMC0wOS0yOSAxMDozNDozNiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiByZXZlcnNlIHBsYXliYWNrOyBwcmV2ZW50IG92ZXJsYXAgb2Ygc3Vic2VxdWVudCBmcmFnbWVudHMKCjIwMTAtMDktMjggMTY6MjE6NDggKzAzMDAgIFJlbsOpIFN0YWRsZXIgPHJlbmUuc3RhZGxlckBub2tpYS5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGZpeCBtaXNzaW5nIG51bGwtdGVybWluYXRvciBpbiBwcm90b2NvbHMgYXJyYXkKCSAgRml4ZXMgcmFuZG9tIGNyYXNoIHJlZ3Jlc3Npb24gZnJvbSBjb21taXQgYWU4NGFlLgoKMjAxMC0wOS0yNCAxNjoyNjoyMCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogZG9uJ3QgYWRkIC9VRFAgaW4gdGhlIHRyYW5zcG9ydCwgaXQncyB0aGUgZGVmYXVsdAoJICBkb24ndCBhZGQgdGhlIGRlZmF1bHQgVURQIGxvd2VyLXRyYW5zcG9ydCwgc29tZSBzZXJ2ZXJzIGRvbid0IHNlZW0gdG8gbGlrZSBpdC4KCSAgRml4ZXMgIzYzMDUwMAoKMjAxMC0wNi0yNSAxNzowODowMyArMDIwMCAgUGFzY2FsIEJ1aGxlciA8cGFzY2FsLmJ1aGxlckB0YW5kYmVyZy5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwbWFuYWdlcjogcGFja2V0IGxvc3Qgc2hvdWxkIG5vdCBiZSBhIHdhcm5pbmcuIEl0IGhhcHBlbnMgYWxsIHRoZSB0aW1lLi4uCgoyMDEwLTA5LTI0IDE1OjMzOjQwICswMjAwICBQYXNjYWwgQnVobGVyIDxwYXNjYWwuYnVobGVyQHRhbmRiZXJnLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5oOgoJICBydHBiaW46IE1ha2UgY2xlYW5pbmcgdXAgc291cmNlcyBpbiBydHBfc2Vzc2lvbl9vbl90aW1lb3V0IE1UIHNhZmUKCSAgVXNpbmcgX2ZvcmVhY2hfcmVtb3ZlIG9uIHRoZSBoYXNodGFibGUsIHdoaWxlIHJlbGVhc2luZyB0aGUgbG9jayBwcm90ZWN0aW5nCgkgIHRoYXQgdGFibGUgaW5zaWRlIHRoZSBjYWxsYmFjayBpcyBub3QgYSBnb29kIGlkZWEuIFRoZSBoYXNodGFibGUgbWlnaHQKCSAgdGhlbiBjaGFuZ2UgKGEgc291cmNlIHJlbW92ZWQgb3IgYWRkZWQpIHdoaWxlIHNpZ25hbHMgbGlrZSBvbl90aW1lb3V0CgkgIGFyZSBiZWluZyBzZW50LgoJICBUaGlzIHNvbHV0aW9uIG1ha2VzIGEgY29weSBvZiB0aGUgdGFibGUsIHBlcmZvcm1zIHRoZSBfZm9yZWFjaCB3aXRob3V0CgkgIGFjdHVhbGx5IHJlbW92aW5nIGFueSBzb3VyY2VzLCBidXQgbWFya3MgdGhlbSBmb3IgcmVtb3ZhbCBvbiBhIHNlY29uZAoJICBpdGVyYXRpb24gd2l0aCB0aGUgcmVhbCBsaXN0LCBidXQgdGhpcyB0aW1lIG5vdCBsZXR0aW5nIGdvIG9mIHRoZSBsb2NrLgoJICBGaXhlcyAjNjMwNDUyCgoyMDEwLTA5LTI0IDE1OjE5OjE1ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2lkM2RlbXV4L2lkM3RhZ3MuYzoKCSAgaWQzZGVtdXg6IFNhbml0aXplIGlkMyBmcmFtZSBuYW1lcwoJICBUaGlzIGlzIHNpbWlsYXIgdG8gd2hhdCBpcyBkb25lIGluIHF0ZGVtdXguIEF2b2lkcyBwcm92aWRpbmcgaW52YWxpZAoJICBzdHJ1Y3R1cmUvdGFncyBuYW1lcwoKMjAxMC0wOS0yNCAxNDo1OTo0NSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9hcGV0YWcvZ3N0YXBlZGVtdXguYzoKCSAgYXBlZGVtdXg6IFNraXAgZW1wdHkgdGFncwoJICBBdm9pZCBjcmVhdGluZyBib2d1cyBzdHJpbmcgdGFncy4gQWxzbyBhZGRlZCBsb2dnaW5nIG9mIHRoZSBzdHJpbmcKCSAgdmFsdWVzIG9mIHRoZSB0YWcgbmFtZSBhbmQgdmFsdWUuCgoyMDEwLTA5LTI0IDA4OjU2OjM2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXA6IGluaXQgZGVidWcgY2F0ZWdvcnkgYmVmb3JlIHVzaW5nIGl0CgoyMDEwLTA0LTEyIDA5OjQ5OjE0ICswMjAwICBQYXNjYWwgQnVobGVyIDxwYXNjYWwuYnVobGVyQHRhbmRiZXJnLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IEhhbmRsZSByeXNuYyBvZiBpdGVyYXRvciB3aGVuIGxvb2tpbmcgZm9yIGZyZWUgcGFkIG5hbWUKCSAgSWYgYSBuZXcgcGFkIHdhcyBhZGRlZCB3aGlsZSBpdGVyYXRpbmcgdGhlbiBhIHBhZCBjb3VsZCBiZQoJICByZXR1cm5lZCB0aGF0IHdhcyBhbHJlYWR5IGluIHVzZS4KCSAgRml4ZXMgIzYzMDQ1MQoKMjAxMC0wOS0yNCAxNDowOToxMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogZml4IGNvbXBpbGF0aW9uCgoyMDEwLTA0LTA3IDE1OjMxOjUyICswMjAwICBUcm9uZCBBbmRlcnNlbiA8dHJvbmQuYW5kZXJzZW5AdGFuZGJlcmcuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogVW5sb2NrIGJlZm9yZSBhZGRpbmcgcGFkIGluIG5ld19wYXlsb2FkX2ZvdW5kCgkgIEhvbGRpbmcgaW50ZXJuYWwgbG9ja3Mgd2hpbGUgcG90ZW50aWFsbHkgY2FsbGluZyBvdXQgaXMgYSBzb3VyY2UKCSAgb2YgZGVhZGxvY2tzLCBhbmQgaW4gdGhpcyBjYXNlIHRoZSBhcHBsaWNhdGlvbiBtaWdodCBzdWJzY3JpYmUgdG8gdGhlCgkgIHBhZC1hZGRlZCBzaWduYWwuCgkgIEZpeGVzICM2MzA0NDkKCjIwMDktMDgtMzEgMTg6Mzc6NDAgKzAyMDAgIEhhdmFyZCBHcmFmZiA8aGF2YXJkLmdyYWZmQHRhbmRiZXJnLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogcmVsYXggdGhpcmQtcGFydHkgY29sbGlzaW9uIGRldGVjdGlvbgoJICBJZiB0aGUgc291cmNlIGhhcyBiZWVuIGluYWN0aXZlIGZvciBzb21lIHRpbWUsIHdlIGFzc3VtZSB0aGF0IGl0IGhhcwoJICBzaW1wbHkgY2hhbmdlZCBpdHMgdHJhbnNwb3J0IHNvdXJjZSBhZGRyZXNzLiBIZW5jZSwgdGhlcmUgaXMgbm8gdHJ1ZQoJICB0aGlyZC1wYXJ0eSBjb2xsaXNpb24gLSBvbmx5IGEgc2ltdWxhdGVkIG9uZS4KCSAgRml4ZXMgIzYzMDQ0NwoKMjAxMC0wOS0yNCAxMzo1MDowMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJICBydHBzb3VyY2U6IHdoaXRlc3BhY2UgZml4ZXMKCjIwMTAtMDktMjQgMTM6NDg6NTAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSAgcnRwc291cmNlOiBzaW1wbGlmeSB0aGUgcmF0ZSBlc3RpbWF0aW9uIHNvbWUgbW9yZQoKMjAwOS0wOC0zMSAxODozNDowOCArMDIwMCAgSGF2YXJkIEdyYWZmIDxoYXZhcmQuZ3JhZmZAdGFuZGJlcmcuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmg6CgkgIHJ0cG1hbmFnZXI6IHByb3ZpZGUgYWRkaXRpb25hbCBzdGF0aXN0aWNzCgoyMDEwLTA5LTI0IDAwOjAxOjA1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBzZXQgcGx1Z2luIHJlbGVhc2UgZGF0ZXRpbWUKCjIwMTAtMDktMjMgMjE6MjE6MjkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIxMGJhbmRzLmg6CgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyM2JhbmRzLmg6CgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVybmJhbmRzLmg6CgkgIGVxdWFsaXplcjogZml4IGNsYXNzIGRlZmluaXRpb25zCgkgIENsYXNzIHN0cnVjdHVyZXMgbXVzdCBiZSBiYXNlZCBvbiB0aGUgcGFyZW50IGNsYXNzIHN0cnVjdCwgbm90IG9uCgkgIHRoZSBwYXJlbnQgaW5zdGFuY2Ugc3RydWN0LgoKMjAxMC0wOS0xNSAyMDozNjozMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICB2aWRlb21peGVyMjogcHJlLXJlZ2lzdGVyIHBhZCBjbGFzcyBwcm9wZXJseSB3aXRoIGdfdHlwZV9jbGFzc19yZWYKCSAgRml4IGNvZGUgdG8gbWF0Y2ggdGhlIGNvbW1lbnQuIEFsc28sIHRoZXJlJ3Mgbm8gbmVlZCB0byByZWdpc3RlciB0aGUKCSAgYmFja2dyb3VuZCBlbnVtIHR5cGUgYWdhaW4sIHRoaXMgaXMgYWxyZWFkeSBkb25lIHZpYSBpbnN0YWxsX3Byb3BlcnR5LgoKMjAxMC0wOS0yMyAyMTo1NzoxOCArMDIwMCAgRGF2aWQgSG95dCA8ZGhveXRAbGxubC5nb3Y+CgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6CgkgIHNwZWV4OiBGaXggY3Jhc2hlcyB3aXRoIE1TVkMKCSAgVXNpbmcgdGhlIHN5bWJvbHMgZm9yIHRoZSBkaWZmZXJlbnQgU3BlZXggbW9kZXMgcmVzdWx0cwoJICBpbiBjcmFzaGVzIHdoZW4gdXNpbmcgTVNWQy4gVXNlIHRoZSBsaWJyYXJ5IGZ1bmN0aW9ucyB0bwoJICBnZXQgdGhlIG1vZGVzIGluc3RlYWQuCgkgIEZpeGVzIGJ1ZyAjNjMwMzc4LgoKMjAxMC0wOC0yNCAxMzoyNTowMiArMDIwMCAgSGF2YXJkIEdyYWZmIDxoYXZhcmQuZ3JhZmZAdGFuZGJlcmcuY29tPgoKCSogZ3N0L2xldmVsL2dzdGxldmVsLmM6CgkgIGxldmVsOiBhdm9pZCBkaXZpc2lvbiBieSB6ZXJvIG9uIHNpbGVuY2UKCSAgRml4ZXMgYnVnICM2MzA0NTguCgoyMDEwLTA5LTIzIDE2OjQ2OjMxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHZkZW11eDogcGFyc2UgYW5kIHVzZSBjdHMKCSAgRm9yIEgyNjQsIHRoZXJlIGlzIGFuIGV4dHJhIGhlYWRlciBjb250YWluaW5nIHRoZSBDVFMsIHdoaWNoIGlzIGEgdGltZXN0YW1wCgkgIG9mZnNldCB0aGF0IHNob3VsZCBiZSBhcHBsaWVkIHRvIHRoZSBQVFMuIFBhcnNlIHRoaXMgdmFsdWUgYW5kIHVzZSBpdCB0byBhZGp1c3QKCSAgdGhlIHB0cy4KCSAgRml4ZXMgIzYzMDA4OAoKMjAxMC0wOS0yMyAxNjo0NTo0MSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx2ZGVtdXg6IGltcHJvdmUgcHRzIGRlYnVnZ2luZwoKMjAxMC0wOS0yMiAxOTowMTo0MCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogdGVzdHMvZXhhbXBsZXMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL3B1bHNlLy5naXRpZ25vcmU6CgkqIHRlc3RzL2V4YW1wbGVzL3B1bHNlL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9wdWxzZS9wdWxzZS5jOgoJICBwdWxzZTogYWRkIHRlc3QgYXBwIGZvciBwdWxzZSBkZXZpY2UgcHJvYmUKCjIwMTAtMDktMjIgMTg6NTA6NDQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJICBwdWxzZTogZml4IGRldmljZV9kZXNjcmlwdGlvbiBpbiBSRUFEWQoJICBNYWtlIHRoZSBpc19kZWFkIGNoZWNrIG1vcmUgY2xlYXIgYW5kIGFkZCBhbiBvcHRpb24gdG8gY2hlY2sgZm9yIHRoZSBzdGF0dXMgb2YKCSAgdGhlIHN0cmVhbSBpbiBhZGRpdGlvbiB0byB0aGUgY29udGV4dC4KCSAgV2UgZG9uJ3QgbmVlZCBhIHN0cmVhbSB0byBnZXQgdGhlIGRldmljZV9kZXNjcmlwdGlvbiBzdHJpbmcuCgkgIEZpeGVzICM2MzAzMTcKCjIwMTAtMDktMjIgMTI6NTY6MDAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IERvbid0IHBvc3QgdGFncyBpZiB0aGVyZSBhcmUgbm9uZQoJICBBbmQgbWFrZSBhbGwgY29kZSBnbyB0aHJvdWdoIF9wb3N0X2dsb2JhbF90YWdzLgoKMjAxMC0wOS0yMiAxMjozNzozMyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5Lmg6CgkgIHJ0cGgyNjRkZXBheTogcmVmYWN0b3IgYW5kIHNpbXBsaWZ5IEFVIG1lcmdpbmcKCSAgTW92ZSB0aGUgcHJvY2Vzc2luZyBvZiB0aGUgTkFMVSB0byBhIHNlcGFyYXRlIG1ldGhvZC4KCSAgU2ltcGxpZnkgdGhlIG1lcmdpbmcgb2YgTkFMVSBpbnRvIEFVIGFuZCB1c2UgY29tbW9uIGNvZGUgd2hlbiBwb3NzaWJsZS4KCjIwMTAtMDktMjEgMjM6MjM6MDcgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2V4YW1wbGVzL3NoYXBld2lwZS9zaGFwZXdpcGUtZXhhbXBsZS5jOgoJICBzaGFwZXdpcGU6IGFkZCBvcHRpb25hbCBib3JkZXIgcGFyYW1ldGVyIGFuZCBzbG93ZG93biBhbmltYXRpb24KCSAgQWxsb3cgdG8gcGxheSB3aXRoIHRoZSBib3JkZXIgcHJvcGVydHkgKHNoYXJwL3NvZnQgZWRnZXMpLgoKMjAxMC0wOS0yMSAxOToxNDo0MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJICBzaGFwZXdpcGU6IEZvcmNlIGZvcm1hdCB0byBBWVVWIGluIHRoZSBleGFtcGxlIHBpcGVsaW5lIGZvciB0aGUgc2FtZSByZWFzb24KCjIwMTAtMDktMjEgMTk6MTM6MDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvc2hhcGV3aXBlL3NoYXBld2lwZS1leGFtcGxlLmM6CgkgIHNoYXBld2lwZTogRm9yY2UgdGhlIGlucHV0IHRvIEFZVVYgdG8gcHJldmVudCBuZWdvdGlhdGlvbiBmYWlsdXJlcyBpbiB2aWRlb21peGVyCgkgIFRoZSBzZWNvbmQgdmlkZW90ZXN0c3JjIGNoYWluIG1pZ2h0IHByb2R1Y2UgWVVZMiBiZWNhdXNlIGV2ZXJ5dGhpbmcgaXMKCSAgYWNjZXB0ZWQgZG93bnN0cmVhbSBiZWZvcmUgdGhlIGZpcnN0IHNoYXBld2lwZSBjaGFpbiBnZXRzIG5lZ290aWF0ZWQuCgoyMDEwLTA5LTIxIDE5OjEyOjQ1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkgIHNoYXBld2lwZTogSW1wcm92ZSBkZWJ1Z2dpbmcgYW5kIGltbWVkaWF0ZWx5IHJldHVybiBlbXB0eSBjYXBzIGZyb20gdGhlIGdldGNhcHMgZnVuY3Rpb25zCgoyMDEwLTA5LTIxIDE4OjMzOjU1ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBhYTBkMWQwIHRvIDVlM2M5YmYKCjIwMTAtMDktMjEgMTI6NDk6MzEgKzAyMDAgIFBoaWxpcHBlIE5vcm1hbmQgPHBub3JtYW5kQGlnYWxpYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyeG92ZXJsYXkuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnhvdmVybGF5Lmg6CgkgIHY0bDI6IHVzZSB0aGUgeG92ZXJsYXkgQVBJcwoKMjAxMC0wOS0yMSAxMjo0ODozNCArMDIwMCAgUGhpbGlwcGUgTm9ybWFuZCA8cG5vcm1hbmRAaWdhbGlhLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBvc3h2aWRlb3Npbms6IHVzZSB0aGUgbmV3IHhvdmVybGF5IEFQSXMKCSAgQWxzbyBidW1wZWQgLWJhc2UgcmVxdWlyZW1lbnRzLgoKMjAxMC0wOS0yMSAxMjozMTo1OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogVXNlIC1ER1NUX0RJU0FCTEVfREVQUkVDQVRFRCBhZ2FpbiBmb3IgR0lUIHZlcnNpb25zCgoyMDEwLTA5LTIxIDExOjUyOjIyICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cGh0dHBzcmM6IEZpeCBkZWJ1ZyBzdGF0ZW1lbnQKCjIwMTAtMDktMjAgMjM6MTc6MzUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBQYXJzZSB1dWlkIGF0b21zIGluIHB1c2ggbW9kZQoJICBQYXJzZXMgdXVpZCBhdG9tcyBpbiBwdXNoIG1vZGUgd2hlbiB0aGV5IGFyZSBmb3VuZCwgdGhleSBtaWdodAoJICBjb250YWluIHhtcCB0YWdzLgoJICBBbHNvIGRvZXMgYSBtaW5vciByZWZhY3RvcmluZyB0byBwdXQgdGhlIGdsb2JhbCB0YWdzIHBvc3RpbmcKCSAgaW50byBhIHNpbmdsZSBmdW5jdGlvbiBpbnN0ZWFkIG9mIHJlcGVhdGluZyBpdCBpbiAzIGRpZmZlcmVudAoJICBwbGFjZXMuCgkgIEZpeGVzICM2Mjk4MzkKCjIwMTAtMDktMTYgMDg6MDQ6MDIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBEZWxheSB0YWdzIHBvc3RpbmcgYSBsaXR0bGUKCSAgRGVsYXkgdGFncyBwb3N0aW5nIHVudGlsIHdlJ3ZlIHBhcnNlZCBhbGwgdGhlIGhlYWRlcnMgc28KCSAgdGhhdCB0aGUgbmF0aXZlIGFuZCB4bXAgdGFncyBnZXQgbWVyZ2VkIGJlZm9yZSBwb3N0aW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Mjk4MzkKCjIwMTAtMDktMTUgMjI6MTM6NDMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4X2ZvdXJjYy5oOgoJICBxdGRlbXV4OiBQYXJzZSB4bXAgcGFja2V0IGluIHV1aWQgYXRvbQoJICB4bXAgcGFja2V0IGlzIHBsYWNlZCBpbnRvIGEgdG9wLWxldmVsIHV1aWQgYXRvbSBmb3IKCSAgaXNvbS9tcDQgdmFyaWFudHMuCgkgIFRoaXMgcGF0Y2ggbWFrZXMgcXRkZW11eCBwYXJzZSBhbGwgdG9wLWxldmVsIGF0b21zCgkgIGluIHB1bGwtbW9kZSBiZWZvcmUgc3RhcnRpbmcgdG8gcHVzaCBkYXRhLCBtYWtpbmcKCSAgaXQgYWJsZSB0byBmaW5kIHRob3NlIHRhZ3MuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Mjk4MzkKCjIwMTAtMDktMTcgMTE6MDc6NTIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5jOgoJICBydHBzdGF0czogcHJpbnRmIGZvcm1hdCBmaXhlcwoKMjAxMC0wOS0xNyAxMTowNzowMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwYW1ycGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyOXBheS5jOgoJICBydHBwYXk6IHNvbWUgcHJpbnRmIGZvcm1hdCBmaXhlcwoKMjAxMC0wOS0xNSAxODoyMToxMSArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZGVjaW5hQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZml4IGxvZ2ljIHdoZW4gcHVzaGluZyBFT1MuCgkgIERvbid0IGNoZWNrIGZvciByZXR1cm4gdmFsdWVzIHdoZW4gcHVzaGluZyBFT1MuIFN0aWxsIHBvc3QgYW4gZXJyb3IgaWYgRU9TIGlzCgkgIHJlYWNoZWQgYW5kIG5vIHN0cmVhbXMgaGF2ZSBiZWVuIGZvdW5kLgoKMjAxMC0wOS0xNSAxNzowMjo1NyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICBkb2NzOiBhZGQgZ3RrLWRvYyBjaHVua3Mgd2l0aCBTaW5jZTogbWFya2VycyBmb3IgbmV3IHY0bDJzcmMgcHJvcGVydGllcwoKMjAxMC0wOS0xNSAxODo0Mzo1MCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvZXhhbXBsZXMvdjRsMi9jYW1jdHJsLmM6CgkgIGNhbWN0cmw6IGFkZCBsaWNlbnNlIGhlYWRlciB0byBkZW1vCgoyMDEwLTA5LTE0IDE3OjQxOjI4ICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kZWNpbmFAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBkb24ndCBzZW5kIEVPUyB0d2ljZSBvbiB0aGUgc2FtZSBwYWQuCgoyMDEwLTA5LTE0IDEwOjA3OjU4ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuaDoKCSAgcHVsc2VzaW5rOiBtb3ZlIHRoZSBzaGFyZWQgbWFpbmxvb3AgZnJvbSBjbGFzcyB0byBzdGF0aWMgdmFyCgkgIEp1c3QgaGF2ZSBvbmUgc3RhdGljIHZhciBmb3IgdGhlIHNoYXJlZCBtYWlubG9vcCBpbnN0ZWFkIG9mIG9uZSBjbGFzcyB2YXJpYWJsZQoJICBhbmQgY29waWVzIGluIHRoZSBpbnN0YW5jZS4KCjIwMTAtMDktMTMgMTc6MzE6MzUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdwYXkuYzoKCSAgcnRwanBlZ3BheTogY2xlYW51cHMgZm9yIERSSSBtYXJrZXJzCgkgIFByb3RlY3QgYWdhaW5zdCBpbnZhbGlkIERSSSBtYXJrZXJzLgoJICBkbyBzb21lIGNsZWFudXBzCgoyMDEwLTA5LTEwIDExOjM1OjUzIC0wNDAwICBBbWVyaWNhbiBEeW5hbWljcyA8R1N0cmVhbWVyLUJ1Z3NAdHljb3NwLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwanBlZ3BheS5jOgoJICBnc3RydHBqcGVncGF5OiBBZGRlZCBEZWZpbmUgUmVzdGFydCBJbnRlcnZhbCAoRFJJKSBNYXJrZXIKCSAgQWRkZWQgYWJpbGl0eSB0byBkZXRlY3QgYW5kIHJlc3BvbmQgdG8gYSBKUEVHLWRlZmluZWQgRFJJIG1hcmtlcgoKMjAxMC0wNi0xOSAxOToyMDoxOCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICBnc3RydHBzZXNzaW9uOiBTcGxpdCBnZXR0aW5nIHRoZSBjYXBzIGludG8gaXRzIG93biBmdW5jdGlvbgoKMjAxMC0wOS0xMyAxNjowMzo1MCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IHNtYWxsIGNsZWFudXAuCgoyMDEwLTA5LTEzIDE2OjI0OjI2ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuaDoKCSAgcHVsc2VzaW5rOiByZXdvcmsgY29udGV4dCBzaGFyaW5nCgkgIFdlIGFsc28gbmVlZCB0byBzaGFyZSB0aGUgbWFpbi1sb29wIHRocmVhZHMgYXMgdGhpcyBvd25zIHRoZSBjb250ZXh0LiBUaHVzIGhhdmUKCSAgYSBjbGFzcyB3aWRlIG1haW4tbG9vcCB0aHJlYWQuIEZyb20gdGhpcyB3ZSBjcmVhdGUgYSBjb250ZXh0IHBlciBjbGllbnQtbmFtZS4KCSAgSW5zdGVhZCBvZiBhbHdheXMgbG9va2luZyB1cCB0aGUgY29udGV4dCwgd2Uga2VlcCB0aGlzIHdpdGggdGhlIGluc3RhbmNlLiBUaGUKCSAgcmV2ZXJzZSBtYXBwaW5nIGlzIG9ubHkgbmVlZGVkIGluIHB1bHNlIHNpbmdhbCBoYW5kbGVycy4gVGhpcyBzYXZlcyBhIGxvdCBvZgoJICBsb2NraW5nLiBBbHNvIG9uZSBzaWduYWwgaGFuZGxlciBiZWNvbWVzIHNpbXBsZXIgYXMgdGhlciBlaXMgb25seSBvbmUgbWFpbmxvb3AKCSAgdG8gbm90aWZ5LgoJICBOb3cgdmFsZ2luZCBoYXBweSAtIG5vIGxlYWtzLCBubyBiYWQgcmVhZHMvd3JpdGVzLgoJICBUaGlzIHJldmVydHMgbWFqb3IgcGFydHMgb2YgY29tbWl0IDY5YTM5N2MzMmY0YmFmMDdhN2IyOTM3YzYxMGY5ZThmMzgzZTlhZTkuCgkgIEZpeGVzICM2Mjg5OTYKCjIwMTAtMDktMTMgMTU6NDQ6NTIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmM6CgkgIHJ0cHNlc3Npb246IFNtYWxsIGNsZWFudXBzCgkgIE1ha2UgdGhlIHByb3BlcnR5IGRlc2NyaXB0aW9uIHByZXR0aWVyLgoJICBBY3R1YWxseSBtdWx0aXBsZSB0aGUgYmFuZHdpZHRoIHdpdGggdGhlIGZyYWN0aW9uLgoKMjAxMC0wNi0wMSAyMTozNTo0MCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc3RhdHMuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc3RhdHMuaDoKCSAgcnRwc2Vzc2lvbjogQ2FsY3VsYXRlIFJUQ1AgYmFuZHdpZHRoIGFzIGEgZnJhY3Rpb24gb2YgdGhlIFJUUCBiYW5kd2lkdGgKCSAgQ2FsY3VsYXRlIHRoZSBSVENQIGJhbmR3aWR0aCB0byBiZSBhIGZyYWN0aW9uIG9mIHRoZSBSVFAgYmFuZHdpZHRoIGlmIGl0IGlzCgkgIHNwZWNpZmllZCBhcyBhIHZhbHVlIGJldHdlZW4gMCBhbmQgMS4KCjIwMTAtMDktMTMgMTU6Mjk6MDYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHNlc3Npb246IGltcHJvdmUgYmFuZHdpZHRoIHJlY2FsY3VsYXRpb24KCSAgQWxzbyByZWNhbGN1bGF0ZSBiYW5kd2lkdGggd2hlbiBvbmUgb2YgdGhlIHNvdXJjZSBiYW5kd2lkdGhzIGNoYW5nZWQuCgkgIFVzZSB0aGUgbmV3bHkgY2FsY3VsYXRlZCBiYW5kd2lkdGguCgoyMDEwLTA2LTAxIDIxOjE3OjI2IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogQWRkIHRoZSBvcHRpb24gdG8gYXV0by1kaXNjb3ZlciB0aGUgUlRQIGJhbmR3aWR0aAoKMjAxMC0wOS0xMyAxNDozODoxMSArMDIwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IHNldCB1c2UtcGlwZWxpbmUtY2xvY2sgb24gY29ycmVjdCBHT2JqZWN0CgoyMDEwLTA2LTAyIDE3OjUxOjEyIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IEluaXRpYWxpc2UgdGhlIGF2ZXJhZ2Ugc2NhbGVkIGJ5IDE2CgoyMDEwLTA5LTEzIDEyOjQxOjExICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBhZGQgcnVubmluZ190aW1lIGFyZ3VtZW50IGRvY3MKCjIwMTAtMDYtMjMgMTY6MTM6MDEgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmg6CgkgIHJ0cHN0YXRzOiBSZWN0aWZ5IGRlc2NyaXB0aW9uIG9mIGN1cnJlbnRfdGltZSBpbiBSVFBBcnJpdmFsU3RhdHMKCSAgSXQgaXMgdGhlIGN1cnJlbnQgdGltZSwgaXQgaXMgdW5yZWxhdGVkIHRvIHdoZW4gdGhlIHBhY2tldCB3YXMgYWN0dWFsbHkgcmVjZWl2ZWQuCgoyMDEwLTA5LTEzIDEyOjMxOjQwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBjb21wdXRlIHRoZSBhdmVyYWdlIGNvcnJlY3RseSBzY2FsZWQKCjIwMTAtMDYtMDEgMjA6MzE6MTggLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogQ291bnQgc2VudCBSVENQIHBhY2tldHMgYWZ0ZXIgdGhleSBoYXZlIGJlZW4gZmluaXNoZWQKCSAgSWYgdGhleSBhcmUgY291bnRlZCBiZWZvcmUgY2FsbGluZyBnc3RfcnRjcF9idWZmZXJfZW5kKCksIHRoZW4gdGhlCgkgIHNpemUgaXMgd2F5IHRvbyBiaWcuCgoyMDEwLTA2LTAxIDE5OjUxOjM0IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIGdzdHJ0cHNlc3Npb246IERvbid0IHVucmVmICBwYWRzIGluIGZpbmFsaXplCgkgIFRoZSBnc3RydHBzZXNzaW9uIG9iamVjdCBpcyBub3QgaG9sZGluZyBhbnkgcmVmZXJlbmNlIHRvIHRoZW0gZGlyZWN0bHkKCjIwMTAtMDktMTIgMDA6MDk6MDkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogcG8vUE9URklMRVMuaW46CgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkgIHBvOiB1cGRhdGUgdHJhbnNsYXRpb25zIGZvciBuZXcgc291cGh0dHBzcmMgbWVzc2FnZXMKCjIwMTAtMDktMTIgMDA6MDg6MDUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cDogaG9vayB1cCBpMThuIGJpdHMgZm9yIHBsdWdpbgoJICBDYWxsIGJpbmR0ZXh0ZG9tYWluKCkgZXRjLgoKMjAxMC0wOS0xMiAwMDowNDo0MiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwOiBmaXggZXJyb3IgbWVzc2FnZXMKCSAgRXJyb3IgbWVzc2FnZXMgc2hvdWxkIGJlIHRyYW5zbGF0ZWQuIFVSSXMgYW5kIGZpbGVuYW1lcyBzaG91bGQgbm90CgkgIGJlIHBhcnQgb2YgdGhlIGVycm9yIG1lc3NhZ2Ugc3RyaW5nIHRoYXQncyBzaG93biB0byB0aGUgdXNlci4KCSAgc291cF9tZXNzYWdlLT5yZWFzb25fcGhyYXNlIGlzIG5vdCB0cmFuc2xhdGVkIGFuZCBub3Qgc3VpdGFibGUgYXMKCSAgZXJyb3IgbWVzc2FnZSBmb3IgdXNlcnMgKHNlZSBsaWJzb3VwIGRvY3VtZW50YXRpb24pLiBBbHNvIGZpeCB1cAoJICBlcnJvciBjb2RlcyBhIGJpdCwgYXMgZmFyIGFzIHBvc3NpYmxlIHdpdGggdGhlIGV4aXN0aW5nIGNvZGVzLgoKMjAxMC0wOS0xMCAwOTo0MzoyNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgIGpwZWdkZWM6IGRvbid0IHBvc3QgYW4gZXJyb3IgbWVzc2FnZSBpZiBidWZmZXIgYWxsb2MgZmFpbHMgd2l0aCBOT1RfTElOS0VEIGZsb3cKCSAgVGhpcyBpcyBub3QgZmF0YWwsIGxldCB1cHN0cmVhbSBoYW5kbGUgaXQuCgoyMDEwLTA5LTEwIDE4OjA2OjQ4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBkb24ndCBjbGVhciBzZHAgd2hlbiBzZXQgYXMgdXJpCgkgIHdoZW4gd2Ugc2V0IHRoZSBTRFAgd2l0aCBhbiB1cmksIGRvbid0IGNsZWFyIGl0IHdoZW4gd2UgZ28gdG8gUkVBRFkuCgoyMDEwLTA5LTEwIDE4OjAxOjE4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiB1c2Ugc2RwIHVyaSBwYXJzZSBtZXRob2QKCSAgVXNlIHRoZSBzZHAgcGFyc2UgbWV0aG9kIHRoYXQgZG9lcyBwcm9wZXIgdXJpIGVzY2FwaW5nLgoKMjAxMC0wOS0xMCAxNjo1OToxMCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvZXhhbXBsZXMvdjRsMi8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9leGFtcGxlcy92NGwyL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy92NGwyL2NhbWN0cmwuYzoKCSAgZXhhbXBsZTogYWRkIHY0bDIgZXhhbXBsZSwgZGVtb25zdHJhdGluZyB0aGUgdXNlIG9mIGdzdCBjb250cm9sbGVyCgoyMDEwLTA5LTEwIDE2OjU1OjI1ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkgIHY0bDJzcmM6IGRvbid0IHNraXAgY2FsY3VsYXRpbmcgdGhlIGR1cmF0aW9uCgoyMDEwLTA2LTIyIDE1OjQ4OjA0ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBzeXMvdjRsMi9NYWtlZmlsZS5hbToKCSogc3lzL3Y0bDIvZ3N0djRsMi5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmg6CgkgIHY0bDJzcmM6IGFkZCBjb250cm9sYWJsZSBjb2xvcmJhbGFuY2UgcGFyYW1ldGVycwoJICBFeHBvc2UgY29sb3JiYWxhbmNlIGNvbnRyb2xzIGFzIG9iamVjdCBwcm9wZXJ0aWVzIChsaWtlIHdlIGRvIG9uIHh2aW1hZ2VzaW5rKS4KCSAgTWFrZSB0aGVtIGNvbnRyb2xhYmxlLgoKMjAxMC0wOS0xMCAxMzoyNTozOSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wYXJvYnVzdGRlcGF5LmM6CgkgIHJ0cG1wYXJvYnVzdGRlcGF5OiBmaXggc29tZSBtaXMtaW1wbGVtZW50YXRpb24KCSAgQWxzbyBhZGQgc29tZSBkZWJ1Zy4KCjIwMTAtMDktMTAgMTM6MjQ6MDIgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBtcGFyb2J1c3RkZXBheS5jOgoJICBydHBtcGFyb2J1c3RkZXBheTogcHJvcGVybHkgaW5zZXJ0IGR1bW15IGJ1ZmZlcnMKCjIwMTAtMDktMTAgMTE6NTU6MjYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgcnRzcHNyYzogYWRkIHJ0c3Atc2RwIHByb3RvY29sIHN1cHBvcnQKCSAgQWxsb3cgc2V0dGluZyBhbiBTRFAgd2l0aCB0aGUgcnRzcC1zZHA6Ly8gdXJsLgoJICBCYXNlZCBvbiBwYXRjaCBmcm9tIE1hcmNvIEJhbGxlc2lvLgoJICBTZWUgIzYyODIxNAoKMjAxMC0wOS0xMCAxMTozNTo1OCArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZGVjaW5hQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hbHBoYS9nc3RhbHBoYWNvbG9yLmM6CgkgIGFscGhhY29sb3I6IG1ha2UgcGFzc3Rocm91Z2ggd29yay4KCjIwMTAtMDktMDkgMjE6NDM6NDAgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9ydHAvZ3N0cnRwbXA0YWRlcGF5LmM6CgkgIG1wNGFkZXBheTogc21hbGwgbG9nZ2luZyBjbGVhbnVwIGFuZCBhZGRpdGlvbiB0byBkZWJ1ZyBjb25maWcgcGFyc2luZwoKMjAxMC0wOS0wOSAyMTo0Mjo0NiArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2FhbGliL2dzdGFhc2luay5jOgoJICBhYXNpbms6IGZpeCBjb250ZXh0IGluaXRpYWxpc2F0aW9uIGFuZCBmcmVlaW5nIHRvIG5vdCBsZWFrCgoyMDEwLTA5LTA5IDIxOjQwOjUxICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZ2VuZXJpYy9zdGF0ZXMuYzoKCSAgdGVzdHM6IGFsbG93IHJ1bm5pbmcgc3RhdGUgdGVzdHMgZm9yIGFsbCBlbGVtZW50cwoJICBOb3cgb25lIGNhbiB1c2UgR1NUX05PX1NUQVRFX0lHTk9SRV9FTEVNRU5UUz0xIG1ha2UgZ2VuZXJpYy9zdGF0ZXMuY2hlY2sKCSAgdG8gdHJ5IGVsZW1lbnRzIHRoYXQgd291bGQgbm9ybWFseSBiZSBza2lwcGVkLgoKMjAxMC0wOS0wOSAxODo0Nzo1NiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cC1wYXlsb2FkaW5nLmM6CgkgIHRlc3RzOiBmaXggcnRwanBlZ3BheSB0ZXN0CgkgIE1ha2UgdGhlIGRhdGEgd2Ugc2VuZCB0byB0aGUganBlZyBwYXlsb2FkZXIgYmUgYSB2YWxpZCBqcGVnIGZpbGUgYmVjYXVzZSB0aGUKCSAgcGF5bG9hZGVyIG5vdyBleHBlY3RzIHRoaXMuCgoyMDEwLTA5LTA5IDE4OjQ3OjExICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBqcGVncGF5LmM6CgkgIHJ0cGpwZWdwYXk6IGltcHJvdmUgZGVidWdnaW5nCgoyMDEwLTA5LTA5IDE2OjMxOjU2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwbXBhcm9idXN0ZGVwYXkuYzoKCSAgcnRwbXBhcm9idXN0ZGVwYXk6IHVzZSB2YWxpZCBiaXRyYXRlIGZvciBkdW1teSBmcmFtZQoKMjAxMC0wOS0wOCAxNzowNzo1MyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdGFnbGliL2dzdGlkM3YybXV4LmNjOgoJICBpZDN2Mm11eDogQWRkcyBtYXBwaW5nIGZvciBhbGJ1bSBhcnRpc3QKCSAgTWFwcyBHU1RfVEFHX0FMQlVNX0FSVElTVCB0byBUUEUyIGluIGlkM3YybXV4CgoyMDEwLTA5LTA4IDE4OjM1OjA4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBSZXF1aXJlIG9yYyAwLjQuOAoJICBUaGUgZGVpbnRlcmxhY2UgcGx1Z2luIGFwcGFyZW50bHkgZmFpbHMgdG8gY29tcGlsZSB3aXRoIG9sZGVyIHZlcnNpb25zLgoKMjAxMC0wOS0wOCAxNzo1MDoxMSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogUW9TIGhhbmRsaW5nIGxvZ2ljIG9ubHkgYXBwbGllcyB0byBmb3J3YXJkIHBsYXliYWNrCgkgIEZpeGVzICM2Mjg4OTQuCgoyMDEwLTA5LTA4IDE3OjQzOjQ3ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogcmVtb3ZlIHVudXNlZCBjb2RlCgoyMDEwLTA5LTA4IDE0OjM2OjQ4ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogZml4dXAgbGFzdCBjb21taXQKCSAgV2UgbmVlZCB0byBwcmV2ZW50IHRoZSBldmVudHVhbCBsZWFrIGJldHRlci4KCjIwMTAtMDktMDggMTQ6MTY6NTggKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBjb2RlIGNsZWFudXBzCgkgIFVzZSBnX3NsaXN0X3ByZXBlbmQgYXMgd2UgZG9uJ3QgY2FyZSBhYm91dCB0aGUgb3JkZXIuIENoZWNrIGZvciBsaXN0ID09IE5VTEwKCSAgaW5zdGVhZCBvZiBpdGVyYXRpbmcgdGhlIGxpc3QgdG8gc2VlIGlmIGl0IGlzIGVtcHR5LiBNb3ZlIGN0eCBhbGxvY2F0aW9uIGRvd24KCSAgdG8gcHJldmVudCBsZWFrIGluIGNhc2Ugb2YgZmFpbHVyZS4KCjIwMTAtMDktMDggMDc6MTM6NDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBqcGVncGF5LmM6CgkgIHJ0cGpwZWdwYXk6IEZpeCB1bmluaXRpYWxpemVkIHZhcmlhYmxlIGNvbXBpbGVyIHdhcm5pbmcKCSAgRml4ZXMgYnVnICM2MjkwMTguCgoyMDEwLTA5LTA3IDE5OjAyOjAxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IHNpbXBsaWZ5IGNsb2NrIHByb3ZpZGUgY29kZQoJICBEb24ndCBsZWFrIHRoZSBwdWxzZXNpbmsgZWxlbWVudCBieSBoYXZpbmcgdGhlIGNsb2NrIGtlZXAgYSByZWYgdG8gdGhlIHNpbmsuCgkgIENyZWF0ZSB0aGUgY2xvY2sgb25seSBvbmNlIGluIHRoZSBjb25zdHJ1Y3RvciBhbmQgdXNlIHRoZSBiYXNlYXVkaW9zaW5rIGNsb2NrCgkgIGNsZWFudXAgY29kZS4KCjIwMTAtMDktMDcgMTc6NDk6MDUgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBtb3ZlIHRoZSBjb250ZXh0IHRhYmxlIGluaXQgdG8gX2dldF90eXBlIHBoYXNlCgkgIFRoaXMgc2VlbXMgdG8gZml4IHRoZSBpbnZhbGlkIHJlYWRzIG9uIGNvbnRleHQgc2h1dGRvd24gYmV0dGVyLCBhbHRvdWdoCgkgIEkgY2FuJ3QgcmVhbGx5IGV4cGxhaW4uCgoyMDEwLTA5LTA3IDE3OjA2OjAyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiB1c2Ugb2xkZXIgZ19hcnJheV9mcmVlCgkgIGdfYXJyYXlfdW5yZWYoKSBpcyBvbmx5IHNpbmNlIDIuMjIKCjIwMTAtMDktMDcgMTY6NDk6MTYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgIGpwZWdkZWM6IGF2b2lkIGludmFsaWQgYWRhcHRlciBmbHVzaCBvbiBRb1MKCSAgRmlyc3Qgc3RvcmUgdGhlIGF2YWlsYWJsZSBkYXRhIGluIHRoZSBhZGFwdGVyIGluIHRoZSByZW1faW1nX2xlbiBpbnN0YW5jZSBmaWVsZAoJICBiZWZvcmUgdHJ5aW5nIHRvIGZsdXNoIHRoZSBhZGFwdGVyIHdpdGggdGhhdCB2YWx1ZSBvbiBRb1MuCgoyMDEwLTA5LTA3IDE2OjQwOjA4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBqcGVncGF5LmM6CgkgIHJ0cGpwZWdwYXk6IGRvIHNvbWUgbW9yZSBzYW5pdGl0eSBjaGVja3MKCSAgUHJvdGVjdCBzb21lIG1vcmUgYWdhaW5zdCBpbnZhbGlkIGlucHV0LgoKMjAxMC0wOS0wNyAxNToyMDoxMiArMDIwMCAgQW1lcmljYW4gRHluYW1pY3MgPEdTdHJlYW1lci1CdWdzIGF0IHR5Y29zcC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdwYXkuYzoKCSAganBlZ3BheTogaGFuZGxlIGNvcnJ1cHRlZCBqcGVnIGJldHRlcgoJICBQcm90ZWN0IGFnYWluc3QgY29ycnVwdGVkIGpwZWcgaW5wdXQuCgoyMDEwLTA5LTA3IDEzOjU1OjA0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHB2cmF3ZGVwYXkuYzoKCSAgcnZhd2RlcGF5OiBjbGVhbnVwIHVudXNlZCBmaWVsZHMKCjIwMTAtMDktMDcgMTM6NTE6MzcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdkZXBheS5jOgoJICB2cmF3ZGVwYXk6IGhhbmRsZSBpbnZhbGlkIHBheWxvYWQgYmV0dGVyCgkgIE1ha2Ugc3VyZSB3ZSBkb24ndCByZWFkIG1vcmUgZGF0YSB0aGFuIGF2YWlsYWJsZSBpbiB0aGUgaW5wdXQgYnVmZmVyLgoJICBDbGlwIHRoZSBpbnB1dCBkYXRhIGludG8gdGhlIG91dHB1dCBidWZmZXIuCgoyMDEwLTA4LTE2IDE1OjM1OjUxICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuaDoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5oOgoJKiBleHQvcHVsc2UvcHVsc2V1dGlsLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXV0aWwuaDoKCSAgcHVsc2U6IGFsbG93IHNldHRpbmcgc3RyZWFtIHByb3BlcnRpZXMKCSAgQWRkIGEgInByb3BlcnRpZXMiIHByb3BlcnR5IHRvIHRoZSBlbGVtZW50cyB0byBhbGxvdyBzZXR0aW5nIGV4dHJhIHN0cmVhbQoJICBwcm9wZXJ0aWVzLgoJICBGaXhlcyAjNTM3NTQ0CgoyMDEwLTA5LTA3IDEyOjA4OjEwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmMy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oYWxlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF1aWNrdGltZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkgIGRvY3M6IHJlbW92ZSBpbnRyb3NwZWN0aW9uIGluZm8gZm9yIGdka3BpeGJ1ZjMgcGx1Z2luIGFuZCB1cGRhdGUgdmVyc2lvbiBmb3Igb3RoZXJzCgkgIFRoZSB2ZXJzaW9ucyBnb3QgYWNjaWRlbnRhbGx5IHJldmVydGVkIHRvIGEgcHJlLXJlbGVhc2UgdmVyc2lvbiwgZml4IHRoYXQuCgoyMDEwLTA5LTA3IDExOjQyOjEwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gYzJlMTBiZiB0byBhYTBkMWQwCgoyMDEwLTA5LTA3IDA5OjIwOjAzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hbm5vZGV4L2dzdGNtbWxkZWMuYzoKCSAgY21tbGRlYzogZml4IGZsb3cgcmV0dXJuIGhhbmRsaW5nCgkgIEZpeCBidWdneSBHU1RfRkxPV19JU19GQVRBTCBzdWJzdGl0dXRpb24sIGFuZCAnbWFrZSBjaGVjayc6CgkgIC0gIGlmICghR1NUX0ZMT1dfSVNfRkFUQUwgKGRlYy0+Zmxvd19yZXR1cm4pICYmICFkZWMtPnNlbnRfcm9vdCkgewoJICArICBpZiAoZGVjLT5mbG93X3JldHVybiAhPSBHU1RfRkxPV19PSyAmJiAhZGVjLT5zZW50X3Jvb3QpIHsKCjIwMTAtMDktMDcgMDA6Mjc6MDcgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBkb24ndCBmcmVlIHRoZSBjb250ZXh0IG11bHRpcGxlIHRpbWVzCgkgIEFwcGFyZW50bHkgdGhlIGNsb3NlIGZ1bmN0aW9uIG9mIHRoZSByaW5nLWJ1ZmZlciBjYW4gYmUgY2FsbGVkIG11bHRpcGxlIHRpbWVzLgoKMjAxMC0wOC0xMiAxMjozMzowNiArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3J0cC9nc3RydHBtcDRhZGVwYXkuYzoKCSAgcnRwbXA0YWRlcGF5OiBncmFiIHRoZSBzYW1wbGluZyBhcnRlIGFuZCBwdXQgaW50byBjYXBzCgkgIFRoaXMgaXMgbmVlZGVkIHRvIGJlIGFibGUgdG8gbXV4IHRoZSByZWNlaXZlZCBhdWRpbyBpbnRvIG1wNCAoaW4gdGhlIGNhc2Ugb2YKCSAgYWFjKS4gRml4ZXMgIzYyNTgyNS4KCjIwMTAtMDktMDYgMTQ6NDA6MDIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRhcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHFjZWxwZGVwYXkuYzoKCSAgcnRwOiBtYXJrIGNvbnN0YW50IHRhYmxlcyBhcyBjb25zdAoKMjAxMC0wOC0xOCAxNDo0MDo0OCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGFtcnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcnBheS5oOgoJICBydHBhbXJwYXk6IHByb3Blcmx5IHN1cHBvcnQgcGVyZmVjdC1ydHB0aW1lCgoyMDEwLTA4LTE4IDExOjQyOjMzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwYW1ycGF5LmM6CgkgIHJ0cGFtcnBheTogcHJvcGVyIGR1cmF0aW9uIGZvciBtdWx0aXBsZSBmcmFtZSBwYXlsb2FkCgoyMDEwLTA4LTE4IDExOjQyOjA3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhbXJwYXkuYzoKCSAgcnRwYW1yKGRlKXBheTogc3VwcG9ydCBBTVItV0IgU0lEIGZyYW1lCgoyMDEwLTA4LTE4IDExOjM5OjA2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwZzcyOXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjlwYXkuaDoKCSAgcnRwZzcyOXBheTogcHJvcGVybHkgc3VwcG9ydCBwZXJmZWN0LXJ0cHRpbWUKCjIwMTAtMDgtMTYgMTY6MDg6MDQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBpbXByb3ZlIGZyYW1lcmF0ZSBkZXRlcm1pbmluZwoJICBDb2xsZWN0IGEgbGltaXRlZCBudW1iZXIgb2Ygc3RhcnRpbmcgc2FtcGxlIGR1cmF0aW9ucyBhbmQgdXNlIHRoZSBtZWRpYW4gb2YKCSAgdGhvc2UgdG8gZGV0ZXJtaW5lIGNhcHMgZnJhbWVyYXRlLgoKMjAxMC0wOC0xNyAxMjowODoxMCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogYXR0ZW1wdCBtb3JlIHJlc3luYyB1cG9uIChjbHVzdGVyKSBwYXJzZSBlcnJvcgoJICBUaGF0IGlzLCBpZiBwYXJzZSBlcnJvciBvY2N1cnMgaW4gc3RhdGUgcmVxdWlyaW5nIHRvIG1vdmUgdG8gbmV4dCBjbHVzdGVyLAoJICBhbmQgZG9pbmcgc28gdG8gdGhlIGV4cGVjdGVkIG5leHQgcG9zaXRpb24gb2YgY2x1c3RlciBmYWlscywgdGhlbiBzY2FuIGZvciBhCgkgIG5leHQgY2x1c3RlciBmcm9tIHByZXNlbnQgcG9zaXRpb24gYW5kIHJlc3VtZSBmcm9tIHRoZXJlLgoJICBGaXhlcyAjNjIwNzkwLgoKMjAxMC0wOC0xNiAxNjowNTo0MSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogbm90IHNvIGZhdGFsIGVycm9yIGhhbmRsaW5nCgkgIElmIHNvbWUgYml0cyBvdXQgb2YgcGxhY2UgaW4gYmxvY2soZ3JvdXApIHBhcnNpbmcsIGZvcmVnbyBhbmQgbW92ZSB0byBuZXh0LgoJICBBbHNvIHNraXAgbGFyZ2UgYmxvY2tzIGluIHB1bGwgbW9kZSwgYnV0IG5lZWQgdG8gZ2l2ZSB1cCBpbiBwdXNoIG1vZGUuCgkgIEZpeGVzICM2MjY0NjMuCgkgIEltcHJvdmVzICM2MjA3OTAuCgoyMDEwLTA3LTI2IDE1OjUxOjQ5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguaDoKCSAgbWF0cm9za2FkZW11eDogYWRkaXRpb25hbCBwYXJzZSByZWNvdmVyeQoJICBJbiBwYXJ0aWN1bGFyLCB1cG9uIHBhcnNlIGZhaWx1cmUgaW4gb25lIGNsdXN0ZXIsIHdlIG1heSBmb3JlZ28gcmVtYWluaW5nCgkgIGNvbnRlbnQgYW5kIHRyeSByZXN1bWluZyBmcm9tIG5leHQgY2x1c3RlciBvbndhcmRzLgoJICBGaXhlcyAjNjIwNzkwLgoKMjAxMC0wOC0yNiAwMjo1NDo1NSAtMDQwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSAgZHRtZnNyYzogTWFrZSB0aGUgZHRtZnNyYyBhY2NlcHQgZXZlbnRzIHNlbnQgd2l0aCBnc3RfZWxlbWVudF9zZW5kX2V2ZW50CgkgIFRoZSBkb2Mgc2F5cyB0byB1c2UgZ3N0X2VsZW1lbnRfc2VuZF9ldmVudCBvbiB0aGUgcGlwZWxpbmUsIGJ1dCBpZgoJICB3ZSBhcmUgdG8gY2FsbCBpdCBvbiB0aGUgZWxlbWVudCBpdHNlbGYsIGl0J3MgYSBub29wLiBUaGlzIHNob3VsZCBtYWtlIGl0CgkgIGhhbmRsZSB0aGUgZXZlbnQgcHJvcGVybHkgYmVmb3JlIGRlbGVnYXRpbmcgaXQgdG8gYmFzZXNyYy4KCjIwMTAtMDktMDYgMTI6MjI6MTEgKzAyMDAgIEFtZXJpY2FuIER5bmFtaWNzIDxHU3RyZWFtZXItQnVncyBhdCB0eWNvc3AuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIHJ0c3BzcmM6IEFkZCBwcm9wZXJ0eSB0byBjb25maWd1cmUgdWRwc3JjIGJ1ZmZlciBzaXplCgkgIEFkZCBhIG5ldyB1ZHAtYnVmZmVyLXNpemUgcHJvcGVydHkgdG8gY29uZmlndXJlIHRoZSBidWZmZXItc2l6ZSBvbiB0aGUgdWRwc3JjCgkgIGVsZW1lbnRzLgoJICBGaXhlcyAjNjI4MDU4CgoyMDEwLTA4LTI3IDE3OjU4OjQ3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJICBydHBiaW46IGFkZCBudHAtc3luYyBwcm9wZXJ0eQoJICBBZGQgYW4gbnRwLXN5bmMgcHJvcGVydHkgdGhhdCB3aWxsIHN5bmMgdGhlIHJlY2VpdmVkIHN0cmVhbXMgdG8gdGhlIHNlcnZlcgoJICBOVFAgdGltZS4gVGhpcyByZXF1aXJlcyBzeW5jaHJvbml6ZWQgTlRQIHRpbWVzIGJldHdlZW4gdGhlIHNlbmRlciBhbmQgcmVjZWl2ZXJzLAoJICBsaWtlIHdpdGggbnRwZC4KCSAgQmFzZWQgb24gcGF0Y2ggZnJvbSBUaGlqcyBWZXJtZWlyLgoJICBGaXhlcyAjNjI3Nzk2CgoyMDEwLTA4LTI3IDEyOjE0OjI1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogcmVuYW1lIGEgdmFyaWFibGUgdG8gYXZvaWQgY29uZnVzaW9uCgoyMDEwLTA4LTI3IDExOjA3OjM0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogcmVuYW1lIHNvbWUgdmFyaWFibGVzIGZvciBsZXNzIGNvbmZ1c2lvbgoKMjAxMC0wOC0yNyAxMDo0MTowMSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IG1vdmUgY29tbWVudCB3aGVyZSBpdCBiZWxvbmdzCgoyMDEwLTA4LTI2IDE2OjAwOjM4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICBzZXNzaW9uOiBtaW5vciBjbGVhbnVwcwoJICBNYWtlIGNsb2NrIHNuYXBzaG90cyBtb3JlIGFjY3VyYXRlIGJ5IG9ubHkgc2FtcGxpbmcgdGhlIHNhbWUgY2xvY2sgb25jZS4KCjIwMTAtMDgtMjYgMTA6NTg6MjYgKzAyMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgcnRwYmluOiBhZGQgdXNlLXBpcGVsaW5lLWNsb2NrIHByb3BlcnR5CgkgIFdpdGggdGhpcyBwcm9wZXJ0eSBSVENQIFNSIE5UUCB0aW1lcyBjYW4gYmUgYmFzZWQKCSAgb24gdGhlIHN5c3RlbSBjbG9jayAobWF5YmUgc3luY2VkIHdpdGggbnRwZCkgb3IgdGhlCgkgIGN1cnJlbnQgcGlwZWxpbmUgY2xvY2suCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Mjc3OTYKCjIwMTAtMDgtMjUgMDk6NTg6MjAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwZXh0LmM6CgkgIHJ0c3BleHQ6IHN0b3AgY29uZmlndXJhdGlvbiBvbiBmaXJzdCBmYWlsdXJlCgkgIFN0b3AgdGhlIGNvbmZpZ3VyYXRpb24gb2YgYSBzdHJlYW0gYXMgc29vbiBhcyBzb21lIG9mIHRoZSBleHRlbnNpb25zIHJldHVybgoJICBGQUxTRS4KCSAgRml4ZXMgIzU4MTI5NAoKMjAxMC0wOC0yMCAxNTozNToyNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmg6CgkgIG11bHRpZmRzaW5rOiB1c2UgcmVmY291bnQgdG8gY291bnQgaG9zdC9wb3J0IGR1cGxpY2F0ZXMKCSAgSW5zdGVhZCBvZiBhZGRpbmcgbXVsdGlwbGUgY2xpZW50IHN0cnVjdHVyZXMgZm9yIHRoZSBzYW1lIGhvc3QvcG9ydCBwYWlyLCB1c2UgYQoJICByZWZjb3VudC4KCSAgQWRkIGEgc2VuZC1kdXBsaWNhdGVzIGZlYXR1cmUgdGhhdCBhbGxvd3MgeW91IHRvIGRpc2FibGUgc2VuZGluZyBtdWx0aXBsZSBjb3BpZXMKCSAgb2YgdGhlIHNhbWUgcGFja2V0IHRvIHRoZSBzYW1lIGhvc3Qgd2hlbiBpdCB3YXMgYWRkZWQgbXVsdGlwbGUgdGltZXMuIFRoZQoJICBzZW5kLWR1cGxpY2F0ZXMgcHJvcGVydHkgaXMgYnkgZGVmYXVsdCBzZXQgdG8gVFJVRSBmb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHkKCSAgYWx0aG91Z2ggaXQgaXMgdmVyeSBsaWtlbHkgdGhhdCB0aGlzIGlzIG5vdCBkZXNpcmVkIGJlaGF2aW91ci4KCjIwMTAtMDgtMTkgMTc6MDY6MjYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGltcGxlbWVudCBjdXN0b20gZXZlbnQgaGFuZGxlcgoJICBFeHRlbmQgdGhlIF9wdXNoX2V2ZW50KCkgZnVuY3Rpb24gc28gdGhhdCBpdCBjYW4gYWxzbyBzZW5kIGV2ZW50cyB0byB0aGUgdWRwCgkgIHNvdXJjZXMgd2hlbiBhc2tlZC4KCSAgSW1wbGVtZW50IGEgY3VzdHVtIHNlbmRfZXZlbnQgZnVuY3Rpb24gdGhhdCBjb3JyZWN0bHkgZGlzcGF0Y2hlcyB0aGUgZG93bnN0cmVhbQoJICBldmVudHMgaW4gVENQIG1vZGUuIFRoaXMgZml4ZXMgc2VuZGluZyBFT1MgdG8gcnRzcHNyYyBhbmQgaGF2ZSBpdCBwdXNoIHRoZSBFT1MKCSAgZG93bnN0cmVhbS4KCjIwMTAtMDgtMTkgMTE6Mzc6MDQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSAgcHVsc2VzcmM6IHVzZSBfZ2V0X2NhcHNfcmVmZmVkKCkgd2hlbiB3ZSBjYW4KCSAgVXNlIF9nZXRfY2Fwc19yZWZmZWQoKQoJICBBZGQgc29tZSBtb3JlIGRlYnVnIHdoZW4gb3BlbmluZyB0aGUgc2VydmVyIGNvbm5lY3Rpb24uCgoyMDEwLTA4LTE2IDExOjI5OjA3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBqcGVnZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqcGVnZGVwYXkuaDoKCSAganBlZ2RlcGF5OiBoYW5kbGUgRElTQ09OVCBhbmQgcmVzZXQgc3RhdGUKCSAgUHV0IGEgRElTQ09OVCBldmVudCBvbiB0aGUgbmV4dCBvdXRwdXQgYnVmZmVyIHdoZW4gdGhlIGlucHV0IGJ1ZmZlciBoYWQgYQoJICBESVNDT05ULgoJICBNYWtlIHN1cmUgd2UgY2xlYXIgb3VyIGFkYXB0ZXIgYW5kIHJlc2V0IG91ciBzdGF0ZSBiZWZvcmUgZ29pbmcgdG8gUEFVU0VELgoJICBGcmVlIHRoZSBxdGFibGVzLgoJICBGaXhlcyAjNjI2ODY5CgoyMDEwLTA4LTE2IDExOjI3OjUzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBnNzI5cGF5Lmg6CgkgIGc3MjlwYXk6IGV4dGVuZCBmcm9tIHJpZ2h0IHBhcmVudAoKMjAxMC0wOS0wNiAwOTo1NzoxMCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IGFkZCBzaW5jZSBkb2NzIGZvciBuZXcgcHJvcGVydHkuCgoyMDEwLTA4LTMwIDE2OjQ1OjQ4ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHVzZSBHU1RfQk9JTEVSUExBVEUgbWFjcm8KCjIwMTAtMDgtMTYgMTc6MjM6NTggKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSAgdmlkZW1peGVyOiBhZGQgYSBleGFtcGxlIHNob3dpbmcgaG93IHRvIHVzZSB0aGUgY2hpbGQgcHJvcGVydGllcwoJICBTaG93IGhvdyB0byBwb3NpdGlvbiBhbmQgc2V0IHRoZSBhbHBobyBvZiB0aGUgdmlkZW9zIG9uIGdzdC1sYXVuY2guCgoyMDEwLTA4LTE2IDE1OjE5OjM4ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSAgcHVsc2VzcmM6IG1vdmUgdGhlIHByb3BlcnR5LXNldHRlciB0byB0aGUgZ2V0dGVyLgoKMjAxMC0wOC0xMSAxNTo0ODoxOCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkgIHNwZWN0cnVtIG9ubHkgYWdncmVnYXRlIG1hZ25pdHVkZS9waGFzZSBpZiB1c2VyIGFza3MgZm9yIGl0CgoyMDEwLTA4LTExIDE1OjQ1OjU2ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSAgc3BlY3RydW06IGltcHJvdmUgcGVyZm9ybWFuY2Ugd2l0aCBsb2NhbCB2YXJzCgkgIFVzZSAnaW5wdXQnIGluc3RlYWQgb2YgJ3NwZWN0cnVtLT5pbnB1dCcgd2hpY2ggd2FzIGludGVuZGUgYWxyZWFkeSAodmFyaWFibGUKCSAgZXhpc3RzLCBidXQgbm90IHVzZWQgZXZlcnl3aGVyZSkuIEFsc28gdXNlIGEgbG9jYWwgdmVyc2lvbiBvZgoJICAnc3BlY3RydW0tPmlucHV0X3BvcycuCgoyMDEwLTA4LTExIDE1OjQ0OjAzICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSAgc3BlY3RydW06IGNvZGUgY2xlYW51cAoJICBNb3JlIGNvbW1lbnRzIGFuZCBsb2dnaW5nLiBFeHRyYWN0IG9uZSBjb21wbGV4IGNvbmRpdGlvbiB0byBhIHZhcmlhYmxlLiBSZW9yZGVyCgkgIHNvbWUgY29kZSBmb3IgcmVhZGFiaWxpdHkuCgoyMDEwLTA4LTExIDE1OjQwOjA5ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSAgc3BlY3RydW06IGltcHJvdmUgcHJvcGVydHkgc2V0dGVyCgkgIGNvbnNpc3RlbnRseSBvbmx5IHVwZGF0ZSBpZiB0aGUgcHJvcGVydHkgYWN0dWFseSBjaGFuZ2VkIHRoZSB2YWx1ZS4gRG8gaXQKCSAgd2l0aG91dCByZWFkaW5nIHRoZSBndmFsdWUgdHdpY2UuIE5vIG5lZWQgdG8gcmVzZXQgdGhlIHNwZWN0cnVtIGFuYWx5emVyIGZvcgoJICB0aHJlc2hvbGQgY2hhbmdlcy4KCjIwMTAtMDgtMTEgMTU6Mzg6MjQgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJICBzcGVjdHJ1bTogYWRkIGhlbHBlciB0byBvbmx5IGZsdXNoIHJpbmdidWZmZXIgZGF0YSB3aXRob3V0IHJlc2V0dGluZyB0aGUgZmZ0CgkgIFJlZHVjZXMgc29tZSBkdXBsaWNhdGVkIGNvZGUgYXMgd2VsbC4KCjIwMTAtMDgtMTEgMTI6NDU6NTMgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uaDoKCSAgc3BlY3RydW06IG1vcmUgY29tbWVudHMKCjIwMTAtMDktMDUgMjI6MjI6NDIgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBEb2N1bWVudCBtZXRob2RzIHdpdGggYmFkIHF1YWxpdHkKCjIwMTAtMDktMDUgMjI6MTk6NTYgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlbWV0aG9kLmM6CgkgIGRlaW50ZXJsYWNlOiBpbml0aWFsaXplIGFsbCBkZWludGVybGFjZSBjbGFzcyBtZW1iZXJzCgkgIFRoaXMgZml4ZXMgVVlWWSBkZWludGVybGFjaW5nLgoKMjAxMC0wOS0wNSAxODo1ODoxMyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGQzZDlhY2YgdG8gYzJlMTBiZgoKMjAxMC0wOS0wNSAxODo0NToyMSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZC5jOgoJICB2aWRlb21peGVyOiBvcmNfaW5pdCgpIGRvZXNuJ3QgbmVlZCB0byBiZSBjYWxsZWQKCSAgVGhlcmUncyBubyBuZWVkIHRvIGNhbGwgb3JjX2luaXQoKSB1bmxlc3MgeW91J3JlIHVzaW5nIHRoZSBPcmMKCSAgQVBJIGRpcmVjdGx5LiAgQWxsIGNvZGUgY3JlYXRlZCBieSBvcmNjIGlzIGd1YXJhbnRlZWQgdG8gd29yawoJICB3aXRob3V0IGNhbGxpbmcgb3JjX2luaXQoKS4KCjIwMTAtMDktMDUgMTg6NDA6NDggLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS1kaXN0LmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUub3JjOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2dyZWVkeS5jOgoJICBkZWludGVybGFjZTogRml4IGdyZWVkeWwgT3JjIGltcGxlbWVudGF0aW9uCgkgIFRvIGFncmVlIHdpdGggdGhlIHByZXZpb3VzIEMvYXNtIGNvZGUuCgoyMDEwLTA5LTA1IDIyOjMxOjM0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIHZpZGVvbWl4ZXIyOiBGYWlsIHdoZW4gY2FwcyBhcmUgaW5jb21wYXRpYmxlCgkgIERvIG5vdCBmb3JnZXQgdG8gcmV0dXJuIGZhbHNlIHdoZW4gY2FwcyBhcmUgaW5jb21wYXRpYmxlLgoKMjAxMC0wOS0wNSAyMDo1Njo1MiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZC5jOgoJICB2aWRlb21peGVyOiBPbmx5IGluaXQgb3JjIGlmIGl0IGlzIGF2YWlsYWJsZQoJICBQdXQgc29tZSBpZmRlZiBhcm91bmQgb3JjX2luaXQgdG8gcHJldmVudCBidWlsZCBlcnJvcnMKCjIwMTAtMDktMDUgMTI6MTc6MDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBlYzYwMjE3IHRvIGQzZDlhY2YKCjIwMTAtMDktMDQgMTI6NDY6MzEgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS1kaXN0LmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUtZGlzdC5oOgoJICBkZWludGVybGFjZTogVXBkYXRlIGRpc3RlZCBPcmMgZmlsZXMKCjIwMDktMDYtMjkgMTE6NDM6MDcgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmg6CgkgIHY0bDJzcmM6IGFkZCBkZWNpbWF0ZSBwcm9wZXJ0eQoKMjAxMC0wNi0wNCAxMjowOToyMyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvZHYvTWFrZWZpbGUuYW06CgkqIGV4dC9kdi9nc3RkdmRlbXV4LmM6CgkqIGV4dC9kdi9nc3RzbXB0ZXRpbWVjb2RlLmg6CgkgIGR2ZGVtdXg6IFBhcnNlIFNNUFRFIHRpbWUgY29kZXMKCjIwMTAtMDgtMjMgMDI6NTA6MzYgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9saW5lYXIuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9saW5lYXJibGVuZC5jOgoJICBkZWludGVybGFjZTogcmVtb3ZlIGFzc2VtYmx5IGNvZGUgaW4gZmF2b3Igb2Ygb3JjCgoyMDEwLTA2LTA4IDE0OjU0OjQ5IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUub3JjOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2dyZWVkeS5jOgoJICBkZWludGVybGFjZTogaW1wbGVtZW50IGdyZWVkeSBpbiBPcmMKCjIwMTAtMDktMDQgMTE6NDM6MjEgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS1kaXN0LmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUtZGlzdC5oOgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3hvcmMtZGlzdC5jOgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3hvcmMtZGlzdC5oOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZG9yYy1kaXN0LmM6CgkqIGdzdC92aWRlb21peGVyL2JsZW5kb3JjLWRpc3QuaDoKCSAgdXBkYXRlIGRpc3RlZCBPcmMgZmlsZXMKCjIwMTAtMDktMDIgMTQ6MzQ6NTAgKzAyMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGdub21lLm9yZz4KCgkqIGdzdC9hbHBoYS9nc3RhbHBoYWNvbG9yLmM6CgkgIGFscGhhY29sb3I6IEZpeCBjbGFzc2lmaWNhdGlvbgoJICBUaGlzIGlzIG5vIGVmZmVjdCBidXQgYSBjb252ZXJ0ZXIuIEZpeGVzIGJ1ZyAjNjI4NjA4LgoKMjAxMC0wOS0wMiAxMToxOTowNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMudHlwZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmMy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oYWxlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9ub3Njb3BlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdWlja3RpbWUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiBnc3QvdmlkZW9taXhlci9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuaDoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjJwYWQuaDoKCSAgdmlkZW9taXhlcjI6IEFkZCBkb2N1bWVudGF0aW9uIGFuZCBhZGQgdG8gdGhlIGRvY3MKCjIwMTAtMDctMjYgMTY6MDc6MTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb21peGVyL2dzdGNvbGxlY3RwYWRzMi5jOgoJKiBnc3QvdmlkZW9taXhlci9nc3Rjb2xsZWN0cGFkczIuaDoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5oOgoJICB2aWRlb21peGVyMjogQWRkIHZpZGVvbWl4ZXIyIGVsZW1lbnQKCSAgVGhpcyBpcyBiYXNlZCBvbiBjb2xsZWN0cGFkczIgYW5kIGlzIHN5bmNocm9uaXppbmcKCSAgYWxsIHN0cmVhbXMgYmFzZWQgb24gdGhlIHJ1bm5pbmcgdGltZS4KCSAgTmV3IGZlYXR1cmVzIGNvbXBhcmVkIHRvIG9sZCB2aWRlb21peGVyOgoJICAqIFN5bmNocm9uaXppbmcgZnJhbWVzIG9uIHRoZSBydW5uaW5nIHRpbWUKCSAgKiBJbXByb3ZlZCBhbmQgc2ltcGxpZmllZCBuZWdvdGlhdGlvbgoJICAqIEZ1bGwgUW9TIHN1cHBvcnQKCSAgKiBWYXJpYWJsZSBmcmFtZXJhdGUgc3VwcG9ydAoJICBGaXhlcyBidWcgIzYyNjA0OCwgIzYyNDkwNS4KCjIwMTAtMDktMDEgMTE6MTE6MzQgKzAyMDAgIFBhdmVsIEtvc3R5dWNoZW5rbyA8c2hwcm90eEBnbWFpbC5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogUmVsYXggcGFyc2luZyBvZiBkYXRlIHRhZ3MKCSAgQmVmb3JlIHdlIHJlcXVpcmVkIGEgY29tcGxldGUgZGF0ZSBpbiBtYXRyb3NrYWRlbXV4IGJ1dCBpbgoJICBpZDNkZW11eCBmb3IgZXhhbXBsZSBvbmx5IHRoZSB5ZWFyIG9yIHllYXIgYW5kIG1vbnRoIHdhcyBwb3NzaWJsZSB0b28uCgkgIEZpeGVzIGJ1ZyAjNjI4NDU0LgoKMjAxMC0wOC0zMCAxOTowMzo1MiArMDEwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkLnNpbW9uc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIHY0bDJzcmM6IFVzZSBHc3RCYXNlU3JjOjpibG9jay1zaXplIGFzIGZhbGxiYWNrIHNpemUKCjIwMTAtMDgtMzAgMTg6MzY6NTQgKzAxMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZC5zaW1vbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIHY0bDJzcmM6IEZpeCB1c2luZyBtcGVndHMgdmlhIHRoZSBtbWFwIGludGVyZmFjZQoJICBNUEVHIGRvZXNuJ3QgaGF2ZSBhIHN0YXRpYyBzaXplIHBlciBmcmFtZSwgc28gZG9uJ3QgcHJldGVuZCBpdCBoYXMgb25lCgkgIGFuZCBmYWlsIHdoZW4gY2FwdHVyaW5nIGJlY2F1c2UgaXQgZG9lc24ndCBtYXRjaC4gSW5zdGVhZCBtYXJrIHRoZSBzaXplCgkgIGFzIHVua25vd24gYW5kIGxldCB0aGUgcmVhZCBmcmFtZSBncmFiYmluZyBtZXRob2QgdXNlIGEgcmVhc29uYWJsZSBmYWxsYmFjawoJICB2YWx1ZSAoYXNzdW1pbmcgdGhhdCdzIG9ubHkgZm9yIGFjdHVhbCBzdHJlYW1pbmcgZm9ybWF0cykKCSAgRml4ZXMgYnVnICM2MjgzNDkuCgoyMDEwLTA4LTI3IDE4OjE1OjAzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOgoJICB3YXZwYWNrcGFyc2U6IERvbid0IHVzZSBHU1RfRkxPV19JU19GQVRBTCgpCgoyMDEwLTA4LTI3IDE4OjEzOjIxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6CgkgIHBuZ2RlYzogRG9uJ3QgdXNlIEdTVF9GTE9XX0lTX0ZBVEFMKCkKCSAgQW5kIGRvbid0IHBvc3QgYW4gZXJyb3IgbWVzc2FnZSBpZiBkb3duc3RyZWFtIHJldHVybnMgVU5FWFBFQ1RFRC4KCjIwMTAtMDgtMjcgMTg6MDk6MTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2R2L2dzdGR2ZGVtdXguYzoKCSAgZHZkZW11eDogRG9uJ3QgdXNlIEdTVF9GTE9XX0lTX0ZBVEFMKCkKCjIwMTAtMDgtMjcgMTg6MDU6NTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnZGVjOiBEb24ndCB1c2UgR1NUX0ZMT1dfSVNfRkFUQUwoKQoJICBBbmQgZG9uJ3QgcG9zdCBhbiBlcnJvciBtZXNzYWdlIGlmIGJ1ZmZlciBhbGxvY2F0aW9uIGZhaWxlZCBiZWNhdXNlCgkgIG9mIFVORVhQRUNURUQsIHdoaWNoIG9ubHkgbWVhbnMgdGhhdCBkb3duc3RyZWFtIHdhbnRzIHVzIHRvIEVPUyBub3cuCgoyMDEwLTA4LTI3IDE4OjAyOjU3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJICBmbGFjZW5jL2RlYzogRG9uJ3QgdXNlIEdTVF9GTE9XX0lTX0ZBVEFMKCkKCSAgQW5kIHByb3Blcmx5IGhhbmRsZSBVTkVYUEVDVEVEIGFuZCBXUk9OR19TVEFURS4KCjIwMTAtMDgtMjcgMTc6NTI6MTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fubm9kZXgvZ3N0Y21tbGRlYy5jOgoJKiBleHQvYW5ub2RleC9nc3RjbW1sZW5jLmM6CgkgIGNtbWxkZWMvZW5jOiBEb24ndCB1c2UgR1NUX0ZMT1dfSVNfRkFUQUwoKQoJICBBbmQgYXMgYSByZXN1bHQsIGRvbid0IGlnbm9yZSBXUk9OR19TVEFURSBhbmQgTk9UX0xJTktFRC4KCSAgQm90aCBtZWFuIHRoYXQgaXQncyBhIGdvb2QgaWRlYSB0byBwYXNzIHRoZW0gdXBzdHJlYW0gaW5zdGVhZAoJICBvZiBwcmV0ZW5kaW5nIHRoYXQgZXZlcnl0aGluZyBpcyBnb29kLgoKMjAxMC0wOC0yNyAxNzo0NzoyMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgd2F2cGFyc2U6IERvbid0IHVzZSBHU1RfRkxPV19JU19GQVRBTCgpCgoyMDEwLTA4LTI3IDE3OjQ1OjUzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogRG9uJ3QgdXNlIEdTVF9GTE9XX0lTX0ZBVEFMKCkgYW5kIEdTVF9GTE9XX0lTX1NVQ0NFU1MoKQoKMjAxMC0wOC0yNyAxNzozOTozMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IERvbid0IHVzZSBHU1RfRkxPV19JU19GQVRBTCgpCgoyMDEwLTA4LTI3IDE3OjM3OjMzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBEb24ndCB1c2UgR1NUX0ZMT1dfSVNfRkFUQUwoKQoKMjAxMC0wOC0yNyAxNzozNTo0NyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVidWd1dGlscy9ybmRidWZmZXJzaXplLmM6CgkgIHJuZGJ1ZmZlcnNpemU6IERvbid0IHVzZSBHU1RfRkxPV19JU19GQVRBTCgpCgoyMDEwLTA4LTI3IDE3OjM1OjM4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx2ZGVtdXg6IERvbid0IHVzZSBHU1RfRkxPV19JU19GQVRBTCgpCgoyMDEwLTA4LTI3IDE3OjMyOjA5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IERvbid0IHVzZSBHU1RfRkxPV19JU19GQVRBTCgpCgkgIEFuZCBkb2N1bWVudCB3aHkgd3Jvbmctc3RhdGUgZG9lc24ndCBuZWVkIGFuIGVycm9yIG1lc3NhZ2UuCgoyMDEwLTA4LTI2IDEzOjQ0OjQ5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBGYWlsIGdyYWNlZnVsbHkgaWYgbm8gdGhyZWFkZWQgUEEgbWFpbmxvb3AgY2FuIGJlIGNyZWF0ZWQKCSAgRml4ZXMgYnVnICM2MjgwMjAuCgoyMDEwLTA4LTI0IDE1OjExOjIwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL2JsZW5kb3JjLWRpc3QuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRvcmMtZGlzdC5oOgoJICB2aWRlb21peGVyOiBVcGRhdGUgZGlzdGVkIE9SQyBmaWxlcwoKMjAxMC0wOC0yMyAxNTo0NDo1MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC92aWRlb21peGVyL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZC5jOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZF9tbXguaDoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRvcmMub3JjOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkgIHZpZGVvbWl4ZXI6IE9wdGltaXplIEFSR0IgYmxlbmRpbmcgYW5kIGltcGxlbWVudCBCR1JBIGJsZW5kaW5nIHdpdGggb3JjCgkgIFRoaXMgbm93IG1lYW5zLCB0aGF0IHdlIGhhdmUgYWJzb2x1dGVseSBubyBoYW5kd3JpdHRlbiBhc3NlbWJseSBhbnltb3JlCgkgIGluIHZpZGVvbWl4ZXIgYW5kIGl0J3MgYWxzbyBmYXN0ZXIgbm93IHdoZW4gdXNpbmcgU1NFLgoKMjAxMC0wOC0yMiAwMTo1ODowNSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZC5jOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZG9yYy5vcmM6CgkgIHZpZGVvbWl4ZXI6IEFkZCBvcmMgaW1wbGVtZW50YXRpb24gZm9yIGJsZW5kaW5nCgkgIHZpZGVvbWl4ZXI6IEFkZCBvcmMgaW1wbGVtZW50YXRpb24gZm9yIGJsZW5kaW5nCgoyMDEwLTA4LTIyIDAxOjU0OjE2IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSAgdmlkZW9taXhlcjogRml4IGV4YW1wbGUgcGlwZWxpbmVzCgkgIHZpZGVvbWl4ZXI6IEZpeCBleGFtcGxlIHBpcGVsaW5lcwoKMjAxMC0wOC0yMCAxMTo0MTo1NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pbWFnZWZyZWV6ZS5jOgoJICBpbWFnZWZyZWV6ZTogQWRkIHRlc3QgZm9yIGNoZWNraW5nIGlmIGltYWdlZnJlZXplIGNvcnJlY3RseSByZXR1cm5zIFVORVhQRUNURUQgYWZ0ZXIgdGhlIGZpcnN0IGJ1ZmZlcgoKMjAxMC0wOC0yMCAxMTozODowOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pbWFnZWZyZWV6ZS5jOgoJICBpbWFnZWZyZWV6ZTogQWRkIHRlc3QgZm9yIGJ1ZmZlcmFsbG9jIHBhc3N0aHJvdWdoCgoyMDEwLTA4LTIwIDEwOjM1OjE1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ltYWdlZnJlZXplLmM6CgkgIGltYWdlZnJlZXplOiBGaXggcmFjZSBjb25kaXRpb25zIGluIHRoZSB1bml0IHRlc3QKCSAgSWYgc2V0dGluZyB0aGUgcGlwZWxpbmUgdG8gUExBWUlORyBiZWZvcmUgaXNzdWluZyB0aGUgc2VlaywgYnVmZmVycwoJICBhcmUgYWxyZWFkeSBhcnJpdmluZyBhdCB0aGUgc2luayBiZWZvcmUgdGhlIHNlZWsgaXMgaGFuZGxlZCBhbmQKCSAgd2lsbCBoYXZlIHRoZSB3cm9uZyB0aW1lc3RhbXBzIGFuZCBldmVyeXRoaW5nLgoJICBGaXhlcyBidWcgIzYyNTU0Ny4KCjIwMTAtMDgtMjAgMTA6MzQ6MTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ltYWdlZnJlZXplL2dzdGltYWdlZnJlZXplLmM6CgkqIGdzdC9pbWFnZWZyZWV6ZS9nc3RpbWFnZWZyZWV6ZS5oOgoJICBpbWFnZWZyZWV6ZTogRml4IGFub3RoZXIgc3VidGxlIHJhY2UgY29uZGl0aW9uIHJlbGF0ZWQgdG8gc3RhcnRpbmcgdGhlIHNyY3BhZCB0YXNrCgkgIER1ZSB0byBhIHNlZWsgdGhlIHNyY3BhZCB0YXNrIGNvdWxkIGJlIHN0YXJ0ZWQgaW4gcmFyZSBjaXJjdW1zdGFuY2VzIGFsdGhvdWdoCgkgIGl0IHNob3VsZG4ndCBiZSBzdGFydGVkIGFueW1vcmUgYmVjYXVzZSBubyB1cHN0cmVhbSBidWZmZXIgaXMgYXZhaWxhYmxlLgoKMjAxMC0wOC0yMCAxMDoyNDozMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaW1hZ2VmcmVlemUvZ3N0aW1hZ2VmcmVlemUuYzoKCSogZ3N0L2ltYWdlZnJlZXplL2dzdGltYWdlZnJlZXplLmg6CgkgIGltYWdlZnJlZXplOiBQcm90ZWN0IHRoZSBmbHVzaGluZy1zZWVrIHZhcmlhYmxlIGJ5IHRoZSBzcmNwYWQncyBzdHJlYW0gbG9jawoJICBUaGlzIGZpeGVzIGEgc3VidGxlIHJhY2UgY29uZGl0aW9uLCB0aGF0IGNhdXNlZCBidWZmZXJhbGxvYyB0byBmYWlsCgkgIHdpdGggd3Jvbmctc3RhdGUgZHVlIHRvIGEgc2VlayBidXQgY2F1c2VkIGl0IHRvIGJlIG5vdCByZXRyaWVkIGFzCgkgIGl0IHNob3VsZC4KCjIwMTAtMDgtMjAgMDk6MTQ6NTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ltYWdlZnJlZXplL2dzdGltYWdlZnJlZXplLmM6CgkgIGltYWdlZnJlZXplOiBBbHdheXMgZ2VuZXJhdGUgYSBwZXJmZWN0bHkgdGltZXN0YW1wZWQgc3RyZWFtCgkgIEJlZm9yZSB0aGVyZSBjb3VsZCBiZSByb3VuZGluZyBlcnJvcnMgd2hlbiBjYWxjdWxhdGluZyB0aGUgZHVyYXRpb24sCgkgIHJlc3VsdGluZyBpbiB0aW1lc3RhbXAgKyBkdXJhdGlvbiBiZWluZyBzbWFsbGVyIHRoYW4gdGhlIG5leHQgYnVmZmVyJ3MKCSAgdGltZXN0YW1wLgoKMjAxMC0wOC0xOSAxODozODozOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogT25seSBpbmNsdWRlIHRoZSBzZXJ2ZXIgbmFtZSBpbiB0aGUgY29udGV4dCBuYW1lIGlmIGl0J3Mgbm90IE5VTEwKCjIwMTAtMDgtMTggMTY6Mzc6NDEgKzAyMDAgIFBoaWxpcHBlIE5vcm1hbmQgPHBub3JtYW5kQGlnYWxpYS5jb20+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuaDoKCSAgcHVsc2VzaW5rOiBBZGQgImNsaWVudCIgcHJvcGVydHkgdG8gc2V0IHRoZSBQQSBjbGllbnQgbmFtZQoJICBBbGxvd3MgdGhlIGFwcGxpY2F0aW9uIHRvIG1vZGlmeSB0aGUgY2xpZW50IG5hbWUgdXNlZCB0byBjb25uZWN0IHdoZW4KCSAgY29ubmVjdGluZyB0byB0aGUgUHVsc2VBdWRpbyBkYWVtb24uIE5vdGUgaG93ZXZlciB0aGF0IHVwZGF0aW5nIHRoZQoJICBwcm9wZXJ0eSBhZnRlciB0aGUgZWxlbWVudCByZWFjaGVkIHRoZSBSRUFEWSBzdGF0ZSB3aWxsIGhhdmUgbm8KCSAgZWZmZWN0IHVudGlsIHRoZSBuZXh0IE5VTEwtPlJFQURZIHRyYW5zaXRpb24uCgkgIEZpeGVzIGJ1ZyAjNjI3MTc0LgoKMjAxMC0wOC0xOSAxNzo1OTowOSArMDIwMCAgRGF2aWQgSG95dCA8ZGhveXRAbGxubC5nb3Y+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwaHR0cHNyYzogSW1wcm92ZSBlcnJvciBtZXNzYWdlcwoJICBCZWZvcmUgdGhleSBjb250YWluZWQgdGhlIFVSTCBiZWZvcmUgdGhlIGFjdHVhbCBmYWlsdXJlLiBUaGUgb3RoZXIKCSAgd2F5IGFyb3VuZCBtYWtlcyBtb3JlIHNlbnNlIGFuZCB3ZSBkbyB0aGUgc2FtZSBpbiBvdGhlciBlbGVtZW50cwoJICBsaWtlIGZpbGVzcmMuCgkgIEZpeGVzIGJ1ZyAjNjI3Mjg5LgoKMjAxMC0wOC0xOSAxMjo0Njo1MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogRnJlZSB0aGUgY2xvY2sgb24gc3RhdGUgY2hhbmdlIGZhaWx1cmVzIHRvbwoKMjAxMC0wOC0xNyAxNjoyNjo0MSArMDIwMCAgUGhpbGlwcGUgTm9ybWFuZCA8cG5vcm1hbmRAaWdhbGlhLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L3B1bHNlL3B1bHNldXRpbC5jOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIHB1bHNldXRpbDogaW5jbHVkZSBwaWQgdmFsdWUgaW4gZ3N0X3B1bHNlX2NsaWVudF9uYW1lKCkgZmFsbGJhY2sgcmV0dXJuIHZhbHVlCgkgIEZpeGVzIGJ1ZyAjNjI3MTYyCgoyMDEwLTA4LTE5IDEyOjMyOjU5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBGcmVlIHRoZSBHc3RQdWxzZUNvbnRleHQgYWZ0ZXIgdXNhZ2UKCjIwMTAtMDgtMTYgMDk6MTI6MDQgKzAyMDAgIFBoaWxpcHBlIE5vcm1hbmQgPHBub3JtYW5kQGlnYWxpYS5jb20+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogc2hhcmUgdGhlIFBBIGNvbnRleHQgYmV0d2VlbiBhbGwgY2xpZW50cyB3aXRoIHRoZSBzYW1lIG5hbWUKCSAgQXZvaWQgdG8gY3JlYXRlIGEgbmV3IFBBIGNvbnRleHQgZm9yIGVhY2ggbmV3IGNsaWVudCBieSB1c2luZyBhIGhhc2gKCSAgdGFibGUgY29udGFpbmluZyB0aGUgbGlzdCBvZiByaW5nLWJ1ZmZlcnMgYW5kIHRoZSBzaGFyZWQgUEEgY29udGV4dAoJICBmb3IgZWFjaCBjbGllbnQuIERvaW5nIHRoaXMgd2lsbCBpbXByb3ZlIGFwcGxpY2F0aW9uIG1lbW9yeSB1c2FnZSBpbgoJICB0aGUgY2FzZXMgd2hlcmUgbXVsdGlwbGUgcGlwZWxpbmVzIGludm9sdmluZyBtdWx0aXBsZSBwdWxzZXNpbmsKCSAgZWxlbWVudHMgYXJlIHVzZWQuCgkgIEZpeGVzIGJ1ZyAjNjI0MzM4LgoKMjAxMC0wOC0xNyAxMzo0MTo0OSArMDIwMCAgUGhpbGlwcGUgTm9ybWFuZCA8cGhpbEBiYXNlLWFydC5uZXQ+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogY2xlYXIgdGhlIFBBIG1haW5sb29wIGlmIGJhc2VhdWRpb3NpbmsgZmFpbGVkIHRvIG9wZW4gdGhlIHJpbmdfYnVmZmVyCgkgIElmIHRoZSBhcHBsaWNhdGlvbiByZXF1ZXN0cyBhIHN0YXRlLWNoYW5nZSBhbmQgcHVsc2VzaW5rIGZhaWxzIHRvIG9wZW4KCSAgdGhlIHJpbmdfYnVmZmVyIGRldmljZSB0aGUgbWFpbmxvb3AgYXR0cmlidXRlIG9mIHRoZSBzaW5rIHNob3VsZCBiZQoJICBjbGVhbmVkIHVwIHRvIGF2b2lkIGZ1dHVyZSBzdGF0ZS1jaGFuZ2UgKE5VTEwtPlJFQURZKSBmYWlsdXJlcy4KCjIwMTAtMDgtMTkgMTI6MjM6MTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIHdhdnBhcnNlOiBQb3N0IGFuIGVycm9yIG1lc3NhZ2UgaWYgRU9TIGhhcHBlbnMgYmVmb3JlIHZhbGlkIGlucHV0IGlzIGZvdW5kCgkgIEZpeGVzIGJ1ZyAjNjI3MzQxLgoKMjAxMC0wOC0xMiAxMTo0OTo0NyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguaDoKCSAgYXZpZGVtdXg6IFNlbmQgY2xvc2UgbmV3c2VnbWVudCBldmVudCBmcm9tIHRoZSBzdHJlYW1pbmcgdGhyZWFkCgoyMDEwLTA4LTExIDExOjM2OjMxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pbWFnZWZyZWV6ZS9nc3RpbWFnZWZyZWV6ZS5jOgoJKiBnc3QvaW1hZ2VmcmVlemUvZ3N0aW1hZ2VmcmVlemUuaDoKCSAgaW1hZ2VmcmVlemU6IFJldHJ5IGJ1ZmZlcmFsbG9jIGlmIGl0IHdhcyBhYm9ydGVkIHdpdGggV1JPTkdfU1RBVEUgYmVjYXVzZSBvZiBhIGZsdXNoaW5nIHNlZWsKCjIwMTAtMDgtMTEgMDg6NDY6MTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ltYWdlZnJlZXplL2dzdGltYWdlZnJlZXplLmM6CgkgIGltYWdlZnJlZXplOiBSZXR1cm4gR1NUX0ZMT1dfVU5FWFBFQ1RFRCB3aGVuIGdldHRpbmcgYSBzZWNvbmQgYnVmZmVyCgkgIFRoaXMgcHJldmVudHMgdXBzdHJlYW0gZnJvbSBwdXNoaW5nIG1hbnkgdXNlbGVzcyBidWZmZXJzIGFuZCBtYWtlcwoJICBpdCBnbyBpbnRvIEVPUyBzdGF0ZS4KCjIwMTAtMDgtMTAgMjA6MTE6MjYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ltYWdlZnJlZXplL2dzdGltYWdlZnJlZXplLmM6CgkgIGltYWdlZnJlZXplOiBQYXNzdGhyb3VnaCBidWZmZXIgYWxsb2NhdGlvbnMKCjIwMTAtMDktMDQgMTM6MTA6MzAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFubm9kZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhhbGVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXVpY2t0aW1lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBCYWNrIHRvIGRldmVsb3BtZW50CgkgIFRlbXBvcmFyaWx5IGRpc2FibGUgLURHU1RfRElTQUJMRV9ERVBSRUNBVEVEIGZvciBnaXQgYnVpbGRzIHVudGlsCgkgIHRoZSBjb2RlIGlzIHVwZGF0ZWQgZm9yIHRoZSBHU1RfRkxPV19JU18qIG1hY3JvIGRlcHJlY2F0aW9ucy4KCj09PSByZWxlYXNlIDAuMTAuMjUgPT09CgoyMDEwLTA5LTAyIDIzOjQ0OjE5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBnc3QtcGx1Z2lucy1nb29kLmRvYXA6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUtZGlzdC5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lLWRpc3QuaDoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94b3JjLWRpc3QuYzoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94b3JjLWRpc3QuaDoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRvcmMtZGlzdC5jOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZG9yYy1kaXN0Lmg6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAwLjEwLjI1CgoyMDEwLTA5LTAyIDIzOjEyOjQ4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFubm9kZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhhbGVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXVpY2t0aW1lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSAgZG9jczogdXBkYXRlIGRvY3MgZm9yIHJlbGVhc2UKCjIwMTAtMDktMDIgMjM6MDc6MzYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogcG8vTElOR1VBUzoKCSogcG8vZXMucG86CgkqIHBvL2dsLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbmwucG86CgkqIHBvL3JvLnBvOgoJKiBwby9zdi5wbzoKCSAgcG86IHVwZGF0ZSB0cmFuc2xhdGlvbnMKCjIwMTAtMDgtMjUgMTk6MDE6NTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHBvL3poX0hLLnBvOgoJKiBwby96aF9UVy5wbzoKCSAgMC4xMC4yNC41IHByZS1yZWxlYXNlCgoyMDEwLTA4LTIyIDIxOjE1OjA3IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogdXNlIHNlcGFyYXRlIGJ1ZmZlciBtZXRhZGF0YSBmb3IgZmllbGRzCgkgIENhbGwgZ3N0X2J1ZmZlcl9tYWtlX21ldGFkYXRhX3dyaXRhYmxlKCkgb24gYnVmZmVycyB0aGF0IGFyZQoJICBkdXBsaWNhdGVkIGludG8gZmllbGRzLiAgRml4ZXMgIzYyNzY4OS4KCjIwMTAtMDgtMjEgMjE6NDE6MzYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lLWRpc3QuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS1kaXN0Lmg6CgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveG9yYy1kaXN0LmM6CgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveG9yYy1kaXN0Lmg6CgkqIGdzdC92aWRlb21peGVyL2JsZW5kb3JjLWRpc3QuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRvcmMtZGlzdC5oOgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHBvL3poX0hLLnBvOgoJKiBwby96aF9UVy5wbzoKCSAgMC4xMC4yNC40IHByZS1yZWxlYXNlCgoyMDEwLTA4LTE5IDE4OjMwOjA1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogUHJldmVudCBjcmFzaCB3aGVuIHJlYWRpbmcgaW1hZ2Ugd2l0aCBwcm9ibGVtcwoJICBDaGVjayBpZiB3ZSBoYXZlIGRhdGEgb24gdGhlIGFkYXB0ZXIgYW5kIGZhaWwgaWYgbm90LgoJICBGaXhlcyAjNjI3NDEzCgoyMDEwLTA4LTEzIDE3OjI0OjAxICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDNlOGRiMWQgdG8gZWM2MDIxNwoKMjAxMC0wOC0xMSAyMjoyMDoyNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaW1hZ2VmcmVlemUvZ3N0aW1hZ2VmcmVlemUuYzoKCSAgaW1hZ2VmcmVlemU6IFNlbmQgY2xvc2Ugc2VnbWVudHMgd2hlbiBzZWVraW5nIG9ubHkgZm9yIG5vbi1mbHVzaGluZyBzZWVrcyBhbmQgaWYgd2UgYWxyZWFkeSBzZW50IGEgbmV3c2VnbWVudCBldmVudAoJICBGaXhlcyBidWcgIzYyNjYxOS4KCjIwMTAtMDgtMTEgMTY6NTA6NDIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFubm9kZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhhbGVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXVpY2t0aW1lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJKiB3aW4zMi9jb21tb24vZ3N0cnRwYmluLW1hcnNoYWwuYzoKCSogd2luMzIvY29tbW9uL2dzdHVkcC1lbnVtdHlwZXMuYzoKCSogd2luMzIvY29tbW9uL2dzdHVkcC1lbnVtdHlwZXMuaDoKCSogd2luMzIvY29tbW9uL2dzdHVkcC1tYXJzaGFsLmM6CgkgIDAuMTAuMjQuMyBwcmUtcmVsZWFzZQoKMjAxMC0wOC0xMSAxMToxNzoxOCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHByZXZlbnQgcmVhZGluZyBwYXN0IGF2YzEgYXRvbSB3aGVuIHBhcnNpbmcKCSAgLi4uIHdoZW4gb25lIG9mIHRoZSBzdWJhdG9tcyBoYXMgYSBsYXJnZS9pbnZhbGlkIHNpemUuCgkgIEZpeGVzICM2MjY2MDkuCgoyMDEwLTA4LTEwIDIzOjM3OjIzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFubm9kZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhhbGVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXVpY2t0aW1lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICAwLjEwLjI0LjIgcHJlLXJlbGVhc2UKCjIwMTAtMDgtMTAgMTA6NTc6NDUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBiZDIwNTRiIHRvIDNlOGRiMWQKCjIwMTAtMDgtMDkgMDA6MzY6MzYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZTogZml4IHByaW50ZiBmb3JtYXQgaW4gc29tZSBkZWJ1Z2dpbmcgbWVzc2FnZXMKCjIwMTAtMDgtMDggMjM6MzE6NDIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogcGtnY29uZmlnL2dzdHJlYW1lci1wbHVnaW5zLWdvb2QtdW5pbnN0YWxsZWQucGMuaW46CgkgIHBrZ2NvbmZpZzogc2V0IHBsdWdpbnNkaXIgdG8gdG9wLWxldmVsIGJ1aWxkZGlyIHdpdGhvdXQgdGhlIHBrZ2NvbmZpZy8uLiBiaXRzCgkgIFJlbW92ZXMgY2x1dHRlciBpbiBwbHVnaW4gZGlyIHBhdGhzLiBUaGlzIGlzIG9ubHkgdXNlZCB0byBmaW5kIHRoZSAtZ29vZAoJICBwbHVnaW5zIGZvciB1bml0IHRlc3RzIG9mIHVnbHkvYmFkL2ZmbXBlZy9ldGMuIGluIGFuIHVuaW5zdGFsbGVkIHNldHVwLgoKMjAxMC0wOC0wNiAyMDowNDo1OSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJzcmM6IGFsc28gbG9nIHBpeGVsIGZvcm1hdHMgaW4gc29ydGVkIG9yZGVyCgoyMDEwLTA4LTA2IDE4OjA3OjQ2ICswMTAwICBTam9lcmQgU2ltb25zIDxzam9lcmQuc2ltb25zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMjogc29ydCBmb3JtYXRzIGluIHRoZSByaWdodCBvcmRlciBzbyB0aGF0IG5vbi1lbXVsYXRlZCBmb3JtYXRzIGFyZSBwcmVmZXJlZAoJICBUaGUgZm9ybWF0IGxpc3Qgc2hvdWxkIGJlIHNvcnRlZCBmcm9tIGhpZ2ggcmFua3MgdG8gbG93IHJhbmtzLiBJbiB0aGUgR1NMaXN0CgkgIHNvcnRpbmcgZnVuY3Rpb24gdGhpcyBtZWFucyB0aGUgY29tcGFyZSBuZWVkcyB0byByZXR1cm4gYSBwb3NpdGl2ZSB2YWx1ZSBpZgoJICBmb3JtYXQgYSBoYXMgYSBsb3dlciByYW5rIHRoYW4gZm9ybWF0IGIuCgkgIEFtb25nIG90aGVyIHRoaW5ncyB0aGlzIGZpeGVzIHY0bDJzcmMgdG8gcHJlZmVyIG5vbi1lbXVsYXRlZCBmb3JtYXRzCgkgIHRvIGVtdWxhdGVkIGZvcm1hdHMgd2hlbiBidWlsdCBhZ2FpbnN0IGxpYnY0bC4KCjIwMTAtMDgtMDYgMTk6MjQ6MDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJICB2aWRlb21peGVyOiBGaXggcGlwZWxpbmUgaW4gdGhlIGRvY3VtZW50YXRpb24KCSAgTWFrZSBzdXJlIHRoYXQgd2UgaGF2ZSB0aGUgc2FtZSBjb2xvciBmb3JtYXQgb24gYWxsIHN0cmVhbXMsIGkuZS4gQVlVVgoJICBGaXhlcyBidWcgIzYyNTQ1Mi4KCjIwMTAtMDgtMDUgMTM6NTY6NDQgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gYTUxOTU3MSB0byBiZDIwNTRiCgoyMDEwLTA2LTE0IDE5OjU4OjExICsxMDAwICBKb25hdGhhbiBNYXR0aGV3IDxqb25hdGhhbkBkMTRuLm9yZz4KCgkqIGV4dC90YWdsaWIvZ3N0aWQzdjJtdXguY2M6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2lkM3YybXV4LmM6CgkgIGlkM3YybXV4OiB3cml0ZSBiZWF0cy1wZXItbWludXRlIHRhZyB1c2luZyBUQlBNIGZyYW1lCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjE1MjAKCjIwMTAtMDctMjUgMTE6NDc6NDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmQuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmg6CgkgIHZpZGVvbWl4ZXI6IE1vdmUgZGVidWcgY2F0ZWdvcmllcyBpbnRvIHRoZSBzb3VyY2UgZmlsZXMgYW5kIGFkZCBkZWJ1ZyBjYXRlZ29yeSBmb3IgdGhlIGJsZW5kIGZ1bmN0aW9ucwoKMjAxMC0wOC0wNCAxOToyNTozMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogQ2hlY2sgaWYgdGhlIGNvbXBpbGVyIHN1cHBvcnRzIElTTyBDODkgb3IgQzk5IGFuZCB3aGljaCBwYXJhbWV0ZXJzIGFyZSByZXF1aXJlZAoJICBUaGlzIGZpcnN0IGNoZWNrcyB3aGF0IGlzIHJlcXVpcmVkIGZvciBJU08gQzk5IHN1cHBvcnQgYW5kIHNldHMgdGhlIHJlbGV2YW50CgkgIGNvbXBpbGVyIHBhcmFtZXRlcnMgYW5kIGlmIG5vIEM5OSBjb21waWxlciBpcyBmb3VuZCwgaXQgY2hlY2tzIGZvciBhCgkgIEM4OSBjb21waWxlci4gVGhpcyBlbmFibGVzIHVzIHRvIGNoZWNrIGZvciBhbmQgdXNlIEM4OS9DOTkgZnVuY3Rpb25zCgkgIHRoYXQgZ2NjIGhpZGVzIGZyb20gdXMgd2l0aG91dCB0aGUgY29ycmVjdCBjb21waWxlciBwYXJhbWV0ZXJzLgoKMjAxMC0wNy0xNSAxMDoxMDozMSArMDIwMCAgUGhpbGlwcGUgTm9ybWFuZCA8cG5vcm1hbmRAaWdhbGlhLmNvbT4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiB1c2UgR19UWVBFX0RFRklORSB0byBkZWZpbmUgcmluZyBidWZmZXIgdHlwZQoJICBUaGUgZXhpc3RpbmcgZ2V0X3R5cGUoKSBpbXBsZW1lbnRhdGlvbiBpcyByYWN5LCBhbmQgdGhlCgkgIGdfdHlwZV9jbGFzc19yZWYoKSB3b3JrYXJvdW5kIGRpZG4ndCBhY3R1YWxseSB3b3JrIGJlY2F1c2UKCSAgaXQgd2FzIGluIHRoZSB3cm9uZyBmdW5jdGlvbi4gU2luY2UgY2xhc3MgY3JlYXRpb24gaW4gR09iamVjdAoJICBpcyB0aHJlYWQtc2FmZSB0aGVzZSBkYXlzIChzaW5jZSAyLjE2KSwgdGhlIGNsYXNzX3JlZiB3b3JrYXJvdW5kCgkgIGlzIG5vIGxvbmdlciBuZWVkZWQgYW5kIGl0IGlzIHN1ZmZpY2llbnQgdG8gZW5zdXJlIHRoZSBfZ2V0X3R5cGUoKQoJICBmdW5jdGlvbiBpcyB0aHJlYWQtc2FmZSwgd2hpY2ggR19UWVBFX0RFRklORSBkb2VzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjI0MzM4CgoyMDEwLTA4LTA0IDE1OjIwOjQyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBQb3N0IENMT0NLLUxPU1QvQ0xPQ0stUFJPVklERSB3aGVuIGdvaW5nIHRvL2Zyb20gUkVBRFkKCSAgT3RoZXJ3aXNlIHRoZSBjbG9ja3MgYXJlIHJlZGlzdHJpYnV0ZWQgZXZlcnkgdGltZSB0aGUgcGlwZWxpbmUKCSAgZ29lcyB0byBQQVVTRUQsIHdoaWNoIGlzIHF1aXRlIGV4cGVuc2l2ZS4KCjIwMTAtMDctMTIgMTI6MzU6MTUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRncGF5Lmg6CgkgIHJ0cG1wNGdwYXk6IGltcGxlbWVudCBwZXJmZWN0IHRpbWVzdGFtcHMKCSAgVXNlIGJpdHJlYWRlciBmb3IgcGFyc2luZyB0aGUgY29uZmlnIHN0cmluZwoJICBSZXNldCBzdGF0ZSB2YXJpYWJsZXMgd2hlbiBnb2luZyB0byBSRUFEWQoJICBQYXJzZSBmcmFtZSBsZW5ndGggYW5kIHVzZSBpdCB0byBrZWVwIHRyYWNrIG9mIHRoZSBydHB0aW1lc3RhbXBzCgoyMDEwLTA3LTA5IDE0OjA3OjQ5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGRlcGF5LmM6CgkgIHJ0cGgyNjNwZGVwYXk6IGFsbG93IG1vcmUgY2xvY2stcmF0ZXMgYXMgaW5wdXQKCSAgQWx0aG91Z2ggdGhlIHNwZWMgc2F5cyB0aGF0IHRoZSBjbG9jay1yYXRlIHNob3VsZCBhbHdheXMgYmUgOTAwMDAsIHNvbWUgcnRzcAoJICBzZXJ2ZXJzIHNlbmQgZGlmZmVyZW50IGNsb2NrLXJhdGVzIHNvIHdlIG11c3QgYWNjZXB0IHRoZW4gaW4gb3JkZXIgdG8gaGFuZGxlCgkgIHRob3NlIHN0cmVhbXMgdG9vLgoKMjAxMC0wNy0wNiAxOTowMjoxNCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwTDE2ZGVwYXkuYzoKCSAgTDE2ZGVwYXk6IGRlZmF1bHQgdG8gMSBjaGFubmVsCgkgIFdoZW4gd2UgY2FuJ3QgZmluZCBhbnkgY2hhbm5lbCBvciBlbmNvZGluZy1wYXJhbXMgb24gdGhlIGNhcHMgZm9yIGR5bmFtaWMKCSAgcGF5bG9hZCB0eXBlcywgc2V0IHRoZSBkZWZhdWx0IG51bWJlciBvZiBjaGFubmVscyB0byAxLCBhcyB0aGUgc3BlYyBzYXlzIHdlCgkgIHNob3VsZC4KCSAgU2VlICM2MjMyMDkKCjIwMTAtMDctMDYgMTg6MjI6MjQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGRvbid0IHJldXNlIHVkcCBzb2NrZXRzCgkgIERvbid0IHJldXNlIHNvY2tldHMgYnV0IG1ha2UgdGhlIHVkcHNyYyBlbGVtZW50IGZhaWwgdGhlIHN0YXRlIGNoYW5nZSB3aGVuIHRoZQoJICBzb2NrZXQgaXMgYWxyZWFkeSBpbiB1c2UuIElmIHdlIGRvbid0IHByZXZlbnQgcmV1c2UsIHdlIG1pZ2h0IGVuZCB1cCB1c2luZyB0aGUgc2FtZQoJICBwb3J0IGZvciBkaWZmZXJlbnQgc3RyZWFtcyBpbiBzb21lIGNhc2VzLgoJICBGaXhlcyAjNjIyMDE3CgoyMDEwLTA3LTA2IDE4OjExOjIxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuaDoKCSAgdWRwc3JjOiBhZGQgcHJvcGVydHkgdG8gZW5hYmxlIHBvcnQgcmV1c2UKCjIwMTAtMDctMDUgMTA6MjM6MzcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cEwxNmRlcGF5LmM6CgkgIEwxNmRlcGF5OiB1c2UgZW5jb2RpbmctcGFyYW1zIGZvciB0aGUgY2hhbm5lbHMKCSAgV2hlbiBwYXJzaW5nIHRoZSBudW1iZXIgb2YgY2hhbm5lbHMsIHVzZSB0aGUgZW5jb2RpbmctcGFyYW1zIHByb3BlcnR5IGZyb20gdGhlCgkgIFJUUCBjYXBzIGJlY2F1c2UgdGhhdCBpcyB3aGVyZSB3ZSBjYW4gZmluZCB0aGUgY2hhbm5lbHMgYWNjb3JkaW5nIHRvIHRoZSBzcGVjLgoJICBGYWxsIGJhY2sgdG8gdGhlIGNoYW5uZWxzIHByb3BlcnR5IGluIHRoZSBjYXBzIHdoZW4gbmVlZGVkLgoJICBGaXhlcyAjNjIzMjA5CgoyMDEwLTA2LTI5IDEwOjQ2OjQxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBpbXByb3ZlIGVycm9yIGFuZCB3YXJuaW5nIG1lc3NhZ2UKCSAgSW1wcm92ZSBlcnJvciBhbmQgd2FybmluZyBtZXNzYWdlLgoJICBGaXhlcyAjNjIyNTc3CgoyMDEwLTA4LTAyIDIzOjE1OjU2ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9leGFtcGxlcy9zcGVjdHJ1bS9kZW1vLWF1ZGlvdGVzdC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9zcGVjdHJ1bS9kZW1vLW9zc3NyYy5jOgoJICBleGFtcGxlczogbm8gbmVlZCB0byBzZXQgdGhlIGNvbG9yIGZvciBlYWNoIGZycS1iYW5kCgoyMDEwLTA4LTAyIDEyOjU2OjI5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwZzcyOXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjlwYXkuaDoKCSAgcnRwZzcyOXBheTogYXZvaWQgYmFzZXJ0cHBheWxvYWQgcGVyZmVjdC1ydHB0aW1lIG1vZGUKCSAgRzcyOSBwYWNrZXRzIG1heSBvbmx5IG9jY3VyIGludGVybWl0dGVudGx5IChlLmcuIGNuIHBhY2tldHMpLCBhbmQgYXMgc3VjaAoJICBkbyBub3QgYWxsb3cgZm9yIHBlcmZlY3QtcnRwdGltZSBjYWxjdWxhdGluZyBydHAgdGltZXMgYmFzZWQgb24gZnJhbWUgb3IgYnl0ZQoJICBjb3VudC4gIEluIHBhcnRpY3VsYXIsIGRvIG5vdCB1c2UgcnRwIGF1ZGlvIGJhc2UgcGF5bG9hZGVyIGFzIGJhc2UgY2xhc3MsIGJ1dAoJICByYXRoZXIgYmFzZSBwYXlsb2FkZXIgZGlyZWN0bHkuCgoyMDEwLTA4LTAyIDEyOjQ4OjAyICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJICBydHBoMjY0cGF5OiBmaXggZWxlbWVudCBsZWFrCgoyMDEwLTA4LTAyIDEyOjQ2OjQxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwbXA0dmRlcGF5LmM6CgkgIHJ0cG1wNHZkZXBheTogZml4IGJ1ZmZlciBsZWFrCgoyMDEwLTA4LTAyIDEyOjQ2OjIwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cC1wYXlsb2FkaW5nLmM6CgkgIHRlc3RzOiBydHAgcGF5bG9hZGluZzogZml4IHBhZCBsZWFrCgoyMDEwLTA3LTI5IDE3OjE4OjExICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IHB1c2ggbW9kZTsgdXNlIHByb3BlciBtb3ZpIG9mZnNldCBmb3IgbW92aSBiYXNlZCBpbmRleAoJICBGaXhlcyAjNjIzMzU3LgoKMjAxMC0wNy0yOSAxMDowMDoxNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguaDoKCSAgcXRkZW11eDogQ29ycmVjdGx5IHBhcnNlIG12aGQgYXRvbXMKCSAgUGFyc2UgbXZoZCBkYXRhIGFjY29yZGluZyB0byBpdHMgdmVyc2lvbiB0byBhdm9pZCBmYWlsaW5nCgkgIG9uIHZhbGlkIGZpbGVzLgoKMjAxMC0wNy0yOCAxMjoyMTo0MSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEZpeCB0aGUgbWF4L2F2ZyBpbiBidHJ0IGF0b20gcmVhZGluZwoJICBBY2NvcmRpbmcgdG8gSVNPIG1lZGlhIGJhc2UgZm9ybWF0LCB0aGUgbWF4IGJpdHJhdGUgaXMgdGhlCgkgIGZpcnN0IG9uZSwgYW5kIHRoZSBhdmcgY29tZXMgbmV4dC4KCjIwMTAtMDctMjcgMTU6NTg6MDIgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IHByb3BlciBoYW5kbGluZyBvZiBzdHJlYW1pbmcgdXBzdHJlYW0gd2l0aG91dCBkdXJhdGlvbgoJICBGaXhlcyAjNjI1MzcxLgoKMjAxMC0wNy0yNiAxODozMzowOSArMDIwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogaW5pdGlhbGl6ZSBzb21lIHZhcmlhYmxlcyB0byBmaXggY29tcGlsZXIgd2FybmluZ3Mgb24gT1NYIGJ1aWxkIGJvdAoKMjAxMC0wNy0yNiAxODoxNToyNSArMDIwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogY29ycmVjdGx5IGNoZWNrIHdoYXQgdmVyc2lvbiBvZiBnc3QtcGx1Z2lucy1iYXNlIHdlJ3JlIGNvbXBpbGluZyBhZ2FpbnN0CgkgIFdlIG5lZWQgdG8gY2hlY2sgdGhlIGdzdC1wbHVnaW5zLWJhc2UgdmVyc2lvbiwgbm90IHRoZSBjb3JlIHZlcnNpb24KCSAgKGV2ZW4gaWYgYm90aCBzaG91bGQgYmUgdGhlIHNhbWUgaW4gYW55IHNhbmUgc2V0dXApLgoKMjAxMC0wNy0yNiAxNzo0NTo0MiArMDIwMCAgQXJuYXVkIFZyYWMgPHJhd291bCBhdCBnbWFpbC5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgcnRzcHNyYzogYWRkIHBvcnQtcmFuZ2UgcHJvcGVydHkgdG8gcnRzcHNyYwoJICBUbyBzdXBwb3J0IHNldHVwcyB3aXRoIGZpcmV3YWxsL2lwc2VjLCBpdCBpcyB1c2VmdWwgZm9yIGFuIHJ0c3AgY2xpZW50IHRvIGJlCgkgIGFibGUgdG8gc2V0IHRoZSByYW5nZSBvZiBwb3J0cyB0aGF0IGNhbiBiZSB1c2VkIGZvciBydHAvcnRjcCByZWNlcHRpb24uCgkgIEFsbG93cyB0aGlzIGJ5IGFkZGluZyBhICJwb3J0LXJhbmdlIiBwcm9wZXJ0eSB0byB0aGUgcnRzcHNyYyBlbGVtZW50LgoJICBGaXhlcyAjNjI1MTUzCgoyMDEwLTA3LTI2IDEzOjM4OjMxICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPGFtb3JhbGVzQGZsdW1vdGlvbi5jb20+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHNldCB0aGUgcGl4ZWwtYXNwZWN0LXJhdGlvIGZpZWxkIGFsc28gZm9yIHBhcj0xLzEKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyNTMwMgoKMjAxMC0wNy0yNiAxNTozMToxNiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogZml4IG1lbW9yeSBsZWFrIGluIHNlcnZlciByZXF1ZXN0IHJlcGx5CgkgIFRoZSBSVFNQIHNlcnZlciBydHNwc3JjIGlzIGNvbW11bmljYXRpbmcgd2l0aCwgc2VuZHMgYSBHRVRfUEFSQU1FVEVSIHJlcXVlc3QKCSAgcGVyaW9kaWNhbGx5IGFzIGEgcGluZy4gIFRoZSBjb2RlIGluIGdzdF9ydHNwc3JjX2hhbmRsZV9yZXF1ZXN0IGZvcm1zIGFuIE9LCgkgIHJlc3BvbnNlIGFuZCBzZW5kcywgYnV0IGRvZXNuJ3QgY2FsbCBnc3RfcnRzcF9tZXNzYWdlX3Vuc2V0IHRvIGZyZWUgdGhlIG1lbW9yeQoJICBhZnRlciBzZW5kaW5nIHRoZSByZXNwb25zZS4gIFRoaXMgcmVzdWx0cyBpbiBhIGNvbnN0YW50IHNsb3cgbWVtb3J5IGxlYWsuCgkgIEZpeGVzICM2MjQ3NzAKCjIwMTAtMDctMjQgMjI6Mzk6NTQgKzAxMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJKiBnc3QvZGVidWd1dGlscy9jcHVyZXBvcnQuYzoKCSAgY3B1cmVwb3J0OiByZW1vdmUgYm9ndXMgZG9jcwoKMjAxMC0wNy0yNCAyMjozNzoxMSArMDEwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkqIGdzdC9kZWJ1Z3V0aWxzL01ha2VmaWxlLmFtOgoJKiBnc3QvZGVidWd1dGlscy9jcHVyZXBvcnQuYzoKCSogZ3N0L2RlYnVndXRpbHMvY3B1cmVwb3J0Lmg6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGRlYnVnLmM6CgkgIGRlYnVndXRpbHM6IG5ldyBlbGVtZW50IGNwdXJlcG9ydAoJICBjcHVyZXBvcnQgcG9zdHMgYnVzIG1lc3NhZ2VzIGFmdGVyIGV2ZXJ5IGJ1ZmZlciByZWNlaXZlZCBvZiBjcHUgdXNlZCwgc3lzdGVtCgkgIGNsb2NrIHRpbWUsIGJ1ZmZlciB0aW1lCgoyMDEwLTA3LTI0IDEwOjI5OjAxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL2VxdWFsaXplci9kZW1vLmM6CgkqIHRlc3RzL2V4YW1wbGVzL3NwZWN0cnVtL2RlbW8tYXVkaW90ZXN0LmM6CgkqIHRlc3RzL2V4YW1wbGVzL3NwZWN0cnVtL2RlbW8tb3Nzc3JjLmM6CgkgIGV4YW1wbGVzOiBEZXN0cm95IHRoZSBjYWlybyBjb250ZXh0IGFmdGVyIHVzYWdlCgoyMDEwLTA3LTI0IDEwOjIxOjA1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvZ2RrX3BpeGJ1Zi9NYWtlZmlsZS5hbToKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmLmM6CgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1ZnNpbmsuYzoKCSogZXh0L2dka19waXhidWYvcGl4YnVmc2NhbGUuYzoKCSAgUmV2ZXJ0ICJnZGtwaXhidWY6IEFkZCBhIGdka3BpeGJ1ZjMgcGx1Z2luIHRoYXQgdXNlcyBnZGtwaXhidWYzIgoJICBUaGlzIHJldmVydHMgY29tbWl0IGI2Nzg4MTUzMTYxYjRlMDdmYmYzZDQyYTJkODkyMWVhMDQ5MzA1ZDAuCgkgIFRoZXJlJ3Mgbm8gZ2RrLXBpeGJ1ZjMgYW55bW9yZS4gZ2RrLXBpeGJ1ZiB3YXMgc2VwYXJhdGVkIGZyb20gR1RLKwoJICBhbmQgd2lsbCBzdGF5IGF0IHZlcnNpb24gMi4wIGZvciBHVEsrIDMuMC4KCjIwMTAtMDctMjQgMTA6MTk6MzcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvZXF1YWxpemVyL2RlbW8uYzoKCSogdGVzdHMvZXhhbXBsZXMvc3BlY3RydW0vZGVtby1hdWRpb3Rlc3QuYzoKCSogdGVzdHMvZXhhbXBsZXMvc3BlY3RydW0vZGVtby1vc3NzcmMuYzoKCSAgZXhhbXBsZXM6IFVzZSBjYWlybyBpbnN0ZWFkIG9mIHRvLWJlLWRlcHJlY2F0ZWQgR0RLIEFQSQoJICBGaXhlcyBidWcgIzYyNTAwMi4KCjIwMTAtMDctMjIgMTY6MjQ6NDMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJICBmbGFjZGVjOiBmaXggZXZlbnQgbGVhawoKMjAxMC0wNy0yMiAxMjowNToyNiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4Lmg6CgkgIG1hdHJvc2thZGVtdXg6IHB1bGwgbW9kZSBub24tY3VlIHNlZWtpbmcKCSAgVGhhdCBpcywgaW4gZmlsZXMgdGhhdCBoYXZlIG5vIGluZGV4IChDdWUpLCBwZXJmb3JtIHNlZWsgYnkgc2Nhbm5pbmcgZm9yCgkgIG5lYXJlc3QgY2x1c3RlciB3aXRoIHRpbWVjb2RlIGJlZm9yZSByZXF1ZXN0ZWQgcG9zaXRpb24uICBTY2FubmluZyBpcyBkb25lCgkgIGFzIGEgY29tYmluYXRpb24gb2YgaW50ZXJwb2xhdGlvbiBhbmQgc2VxdWVudGlhbCBzY2FuLgoJICBGaXhlcyAjNjE3MzY4LgoKMjAxMC0wNy0xNiAxMjo0Njo1MCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBzdHJlYW1hYmxlIGZpbGVzIG5lZWQgbm8gX2ZpbmlzaAoJICBGaXhlcyAjNjI0NDU1LgoKMjAxMC0wNy0yMiAxMTo0NjozNSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBwdXNoIG1vZGU7IGhhbmRsZSAwLXNpemUgZGF0YSBjaHVua3MKCSAgRml4ZXMgIzYxODUzNS4KCjIwMTAtMDctMjEgMDg6MTE6MjMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJICB2aWRlb21peGVyOiBPbmx5IHJlc2V0IFFvUyBpbmZvcm1hdGlvbiBhbmQgc2VuZCBhIE5FV1NFR01FTlQgZXZlbnQgZG93bnN0cmVhbSBmb3IgTkVXU0VHTUVOVCBldmVudHMgb24gdGhlIG1hc3RlciBwYWQKCjIwMTAtMDctMTQgMjA6MzE6NDQgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2RlYnVndXRpbHMvTWFrZWZpbGUuYW06CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNhcHNkZWJ1Zy5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RjYXBzZGVidWcuaDoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0ZGVidWcuYzoKCSAgY2Fwc2RlYnVnOiBBZGQgbmV3IGVsZW1lbnQKCjIwMTAtMDctMjAgMTY6MTE6MjUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogZGVtb3RlIFdBUk5JTkcgbWVzc2FnZSB0byBMT0cgbGV2ZWwKCSAgSXQncyBub3QgYSB3YXJuaW5nLgoKMjAxMC0wNy0xOSAxNDo0NzozMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgIGpwZWdkZWM6IEZpeCByZWdyZXNzaW9uIG9uIG1hcmtlcnMgcGFyc2luZwoJICBGaXhlcyBhIHJlZ3Jlc3Npb24gaW50cm9kdWNlZCB3aGVuIGZpeGluZyBidWcgIzU4MzA0NyBpbgoJICBjb21taXQgYTM5MWJmNTJjYzNjNTgwYzdhMGEyMzE2Y2E1MmViNjZkYTNiODVjMQoJICBTa2lwIHRoZSBkYXRhIHdoZW4gbGlianBlZyBhc2tzIGl0IHRvIGJlIHNraXBwZWQgb24KCSAgb25lIG9mIGl0cyBjYWxsYmFja3MuCgoyMDEwLTA3LTE2IDE4OjA0OjQ0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBhZGQgbWlzc2luZyBhcmd1bWVudCBpbiBkZWJ1ZyBtZXNzYWdlCgoyMDEwLTA3LTE2IDE3OjUzOjU1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZW1peGVyY3RybC5jOgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJICBwdWxzZXNpbms6IE9ubHkgdXNlIGdzdF9hdWRpb19jbG9ja19uZXcoKSB3aGVuIGNvbXBpbGluZyBhZ2FpbnN0IG5ld2VyIGJhc2UKCjIwMTAtMDctMDkgMTc6MzM6NTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3JhdzEzOTQvZ3N0ZHYxMzk0c3JjLmM6CgkgIGR2MTM5NHNyYzogUG9zdCBjbG9jay1wcm92aWRlIGFuZCBjbG9jay1sb3N0IG1lc3NhZ2VzIHdoZW4gZ29pbmcgZnJvbS90byBQTEFZSU5HCgkgIEluIFBBVVNFRCBhbmQgYmVsb3cgdGhlIGNsb2NrIGlzIG5vdCB3b3JraW5nLgoKMjAxMC0wNy0wNCAxNjo1Nzo1NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ2NvbmYvZ3N0c3dpdGNoc2luay5jOgoJKiBleHQvZ2NvbmYvZ3N0c3dpdGNoc2luay5oOgoJKiBleHQvZ2NvbmYvZ3N0c3dpdGNoc3JjLmM6CgkqIGV4dC9nY29uZi9nc3Rzd2l0Y2hzcmMuaDoKCSAgZ2NvbmY6IEZpeCByZWYgaGFuZGxpbmcgb2YgbmV3IGNoaWxkIGVsZW1lbnRzIGFuZCBtaW5vciBjbGVhbnVwCgoyMDEwLTA3LTA0IDA5OjQ1OjUyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nY29uZi9nc3RnY29uZnZpZGVvc3JjLmM6CgkgIGdjb25mdmlkZW9zcmM6IFVzZSBjb3JyZWN0IEdDb25mIGtleQoKMjAxMC0wNy0wMyAxNDoxNjo0MiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ2NvbmYvZ3N0Z2NvbmZhdWRpb3NyYy5jOgoJKiBleHQvZ2NvbmYvZ3N0Z2NvbmZhdWRpb3NyYy5oOgoJICBnY29uZjogUG9ydCBnY29uZmF1ZGlvc3JjIHRvIEdzdFN3aXRjaFNyYwoKMjAxMC0wNy0wMyAxNDoxMjoxMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ2NvbmYvZ3N0Z2NvbmZ2aWRlb3NyYy5jOgoJKiBleHQvZ2NvbmYvZ3N0Z2NvbmZ2aWRlb3NyYy5oOgoJICBnY29uZjogUG9ydCBnY29uZnZpZGVvc3JjIHRvIEdzdFN3aXRjaFNyYwoKMjAxMC0wNy0wMyAxNDoxMTo1NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ2NvbmYvTWFrZWZpbGUuYW06CgkqIGV4dC9nY29uZi9nc3Rzd2l0Y2hzcmMuYzoKCSogZXh0L2djb25mL2dzdHN3aXRjaHNyYy5oOgoJICBnY29uZjogQWRkIEdzdFN3aXRjaFNyYyBiYXNlIGNsYXNzCgoyMDEwLTA3LTAzIDEzOjU2OjMzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nY29uZi9nc3Rzd2l0Y2hzaW5rLmM6CgkgIGdjb25mOiBDcmVhdGUgdGhlIGdob3N0cGFkIG9mIHRoZSBzd2l0Y2hzaW5rIGZyb20gdGhlIHRlbXBsYXRlCgoyMDEwLTA3LTA3IDEwOjEwOjUyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBQb3N0IGNsb2NrLXByb3ZpZGUvY2xvY2stbG9zdCB3aGVuIGdvaW5nIHRvL2Zyb20gUEFVU0VECgkgIEFsc28gdXNlIGdzdF9hdWRpb19jbG9ja19uZXdfZnVsbCgpIHRvIHByZXZlbnQgY3Jhc2hlcyB3aGVuIHRoZQoJICBjbG9jayBpcyB1c2VkIGFmdGVyIHRoZSBlbGVtZW50IHdhcyBkZXN0cm95ZWQuCgoyMDEwLTA3LTE1IDExOjQ5OjAzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiByZW1vdmUgYm9ndXMgVU5MT0NLCgoyMDEwLTA3LTEzIDEyOjM0OjQ0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogYWxzbyBjYWxjdWxhdGUgUEFSIHVzaW5nIHRyYWNrIHdpZHRoIGFuZCBoZWlnaHQgZm9yIFFUIGZpbGVzCgkgICguLi4gYXMgb3Bwb3NlZCB0byBvbmx5IGZvciBJU08gc3R5bGUgZmlsZXMpLgoJICBGaXhlcyAjNjI0MTczLgoKMjAxMC0wNy0xMiAxNzoyOToxMiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogaGFuZGxlIGJvZ3VzIGZpbGVzIHN0b3JpbmcgQURUUyBBQUMgZGF0YQoKMjAxMC0wNy0wOSAxNjo1NzozMyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogZG8gbm90IGVycm9yIG91dCBvbiBhIGJsb2NrIHdpdGggdW5rbm93biB0cmFja251bWJlcgoKMjAxMC0wNy0wOCAxODo1NzoyMSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGRvIG5vdCBhbGlnbiByZXZlcnNlIHBsYXliYWNrIHJlZmVyZW5jZSBzdHJlYW0gdHdpY2UKCSAgVGltZXN0YW1wIHJvdW5kaW5nIGlzc3VlcyBjb3VsZCBsZWFkIHRvIGdvaW5nIGJhY2t3YXJkcyAyIGtleWZyYW1lIHBlcmlvZHMKCSAgKHJhdGhlciB0aGFuIG9ubHkgMSkuICBXaGlsZSB0aGlzIGlzIG5vdCBuZWNlc3NhcmlseSBhIHByb2JsZW0sIGl0IG1pZ2h0CgkgIHBvdGVudGlhbGx5IHBsYWNlIGFkZGl0aW9uYWwgKGJ1ZmZlcmluZykgbG9hZCBvbiBkb3duc3RyZWFtIGFuZCBjb3VsZCBiZQoJICBhdm9pZGVkIChiZWNhdXNlIFdlIENhbikuCgkgIEZpeGVzICM2MjM2MjkuCgoyMDEwLTA3LTA4IDE2OjA3OjE2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogY29udmVydCBzb21lIG1vcmUgbW92IGZvcm1hdCB0aW1lc3RhbXAgdG8gZ3N0IHRpbWUKCjIwMTAtMDctMDcgMTQ6MTY6NTkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogYWRkaXRpb25hbCB2ZXJpZmljYXRpb24gaGV1cmlzdGljcyBmb3IgVkJSIGF1ZGlvIHN0cmVhbQoJICBDaGVjayBmb3IgYW5kIG92ZXJyaWRlIHNvbWUgaGVhZGVyIGZpZWxkKHMpIGZvciByZWFzb25hYmxlIHZhbHVlcywgYWNjb3JkaW5nCgkgIHRvIGxhdGVyIGV4cGVjdGVkIHVzZSBpbiBjYWxjdWxhdGlvbnMuCgoyMDEwLTA3LTE0IDE1OjIxOjIxICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2JhbGFuY2UuYzoKCSAgdmlkZW9iYWxhbmNlOiBGaXggd3JvbmcgbG9jayBvcmRlciB0aGF0IGNvdWxkIGxlYWQgdG8gYSBkZWFkbG9jay4gRml4ZXMgIzYyNDMzMS4KCjIwMTAtMDctMTYgMTE6MzE6MDggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oYWxlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF1aWNrdGltZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgQmFjayB0byBkZXZlbG9wbWVudAoKPT09IHJlbGVhc2UgMC4xMC4yNCA9PT0KCjIwMTAtMDctMTUgMDE6NDk6MDQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGFsZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdWlja3RpbWUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiBnc3QtcGx1Z2lucy1nb29kLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAwLjEwLjI0CgoyMDEwLTA3LTE1IDAxOjM1OjA2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHBvL2NzLnBvOgoJKiBwby9sdi5wbzoKCSAgcG86IHVwZGF0ZSB0cmFuc2xhdGlvbnMKCjIwMTAtMDctMDcgMDA6NDI6NDYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFubm9kZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhhbGVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXVpY2t0aW1lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICAwLjEwLjIzLjQgcHJlLXJlbGVhc2UKCjIwMTAtMDctMDcgMDA6MzE6MTcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogcG8vTElOR1VBUzoKCSogcG8vZGEucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZnIucG86CgkqIHBvL2lkLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vc2wucG86CgkqIHBvL3RyLnBvOgoJKiBwby96aF9DTi5wbzoKCSAgcG86IHVwZGF0ZSB0cmFuc2xhdGlvbnMKCjIwMTAtMDYtMjMgMTE6NDc6NDMgKzAyMDAgIE1pY2hhZWwgR3J6ZXNjaGlrIDxtLmdyemVzY2hpa0BwZW5ndXRyb25peC5kZT4KCgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkgIHY0bDJzaW5rOiBkZXN0cm95IGJ1ZmZlciBwb29sIHdoZW4gY2hhbmdpbmcgc3RhdGUgdG8gTlVMTAoJICBJbiB0aGUgY2FzZSB3ZSBjaGFuZ2UgdGhlIFN0YXRlIGZyb20gUkVBRFlfVE9fTlVMTCB0aGUgYnVmZmVycyBpbiB0aGUgcG9vbAoJICBzdGlsbCBob2xkIGFuIG9wZW4gZHVwIGZpbGUgZGVzY3JpcHRvciB0byB0aGUgZGV2aWNlLCB0aGVyZWZvcmUgdGhlIGRldmljZQoJICByZWxlYXNlIGZ1bmN0aW9uIHdpbGwgbm90IGJlIGNhbGxlZCBhbmQgdGhlIGRldmljZSB3aWxsIHByb2JhYmx5IGFuc3dlciB3aXRoCgkgIC1FQlVTWSB3aGVuIHdlIHJlb3BlbiBpdCBpbiB0aGUgbmV4dCBOVUxMX1RPX1JFQURZIHRyYW5zaXRpb24uCgkgIFNpZ25lZC1vZmYtYnk6IE1pY2hhZWwgR3J6ZXNjaGlrIDxtLmdyemVzY2hpa0BwZW5ndXRyb25peC5kZT4KCSAgU2VlIGJ1ZyAjNjIyNTAwIGFuZCAjNjEyMjQ0LgoKMjAxMC0wNy0wNiAxMzoyMToxOSArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEZpeCBvcmRlciBvZiBiaXRyYXRlcyBpbiAnYnRydCcgYXRvbQoJICBUaGVyZSBzZWVtcyB0byBiZSBhIGJ1ZyBpbiBsaWJtcDR2MiB0aGF0IGdlbmVyYXRlcyBhIE1QRUc0Qml0UmF0ZUJveCBhcwoJICAoYnVmZmVyU2l6ZURCLCBhdmdCaXRyYXRlLCBtYXhCaXRyYXRlKSBpbnN0ZWFkIG9mIChidWZmZXJTaXplREIsCgkgIG1heEJpdHJhdGUsIGF2Z0JpdHJhdGUpLCBhY2NvcmRpbmcgdG8gdGhlIHNwZWMuIEkgdXNlZCB0aGUgbXA0ZmlsZQoJICBvdXRwdXQgd2hpbGUgd3JpdGluZyB0aGlzIGNvZGUsIHNvIHRoZSBvcmRlciBpcyB3cm9uZy4gVGhpcyBwYXRjaGVzCgkgIGZpeGVzIHRoYXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjM2NTQKCjIwMTAtMDctMDUgMTI6MDU6NTcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnZGVjOiBmaXggc2tpcHBpbmcgZXh0cmEgMHhmZiBtYXJrZXJzCgkgIEZpeGVzICM2MjM1ODUuCgoyMDEwLTA2LTI5IDIzOjE4OjIzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5oOgoJICBqcGVnZGVjOiBmaXggbWVtb3J5IGxlYWsKCSAgRG9uJ3QgbGVhayByZXN1bHQgb2YgZ3N0X2FkYXB0ZXJfdGFrZSgpLiBUaGVyZSBhcmUgbW9zdCBsaWtlbHkKCSAgc21hcnRlciB0aGluZ3Mgd2UgY2FuIGRvLCBidXQgbGV0J3Mga2VlcCB0aGluZ3Mgc2ltcGxlIGZvciB0aGUKCSAgcmVsZWFzZS4KCSAgRml4ZXMgIzYyMzE3Mi4KCjIwMTAtMDctMDIgMTI6MzE6MzEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHN0cmlwIG91dCBib2d1cyB0YWdzIGZyb20gWE1QIGF0b20KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyMzM2NgoKMjAxMC0wNy0wMiAxNDoyNToyMiArMDIwMCAgQW5kcnplaiBLLiBIYWN6ZXdza2kgPGFoYWN6ZXdza2lAZ21haWwuY29tPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSAgZmx2bXV4OiBXcml0ZSBkdXJhdGlvbiBhdCB0aGUgY29ycmVjdCBwb3NpdGlvbgoKMjAxMC0wNi0zMCAxMToxMjowOCArMDIwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzoKCSAgcnRwcHRkZW11eDogZml4IG1lbWxlYWsgb24gY3VzdG9tIGRvd25zdHJlYW0gZXZlbnRzCgkgIGJ5IG5vdCBzZW5kaW5nIGN1c3RvbSBkb3duc3RyZWFtIGV2ZW50IHR3aWNlIGFuZCBmaXggbWVtbGVhayB3aGVuCgkgIG5vdCBoYW5kbGluZyB0aGUgZXZlbnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyMzE5NgoKMjAxMC0wNi0yOSAyMDoxODo1MSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFubm9kZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhhbGVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXVpY2t0aW1lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICAwLjEwLjIzLjMgcHJlLXJlbGVhc2UKCjIwMTAtMDYtMjkgMjA6MTQ6NTMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIHdhdnBhcnNlOiBmaXggdW5wb3J0YWJsZSBwcmludGYgZm9ybWF0IHNwZWNpZmllcnMgaW4gY29tbWVudGVkIG91dCBjb2RlCgkgIFRvIGF2b2lkIGZhbHNlIHBvc2l0aXZlcyB3aGVuIGdyZXBwaW5nIGZvciB1bnBvcnRhYmxlIHNwZWNpZmllcnMuCgoyMDEwLTA2LTI5IDE5OjEyOjM2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBmaXggLS1kaXNhYmxlLWV4dGVybmFsCgoyMDEwLTA2LTI4IDE1OjQ0OjA2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGF1dG9nZW4uc2g6CgkqIGNvbmZpZ3VyZS5hYzoKCSAgQnVtcCBhdXRvbWFrZSByZXF1aXJlbWVudCB0byAxLjEwIGFuZCBhdXRvY29uZiB0byAyLjYwCgkgIEZvciBtYWludGFpbmFiaWxpdHkgcmVhc29ucyBhbmQgJChidWlsZGRpcikuCgkgIFNlZSAjNjIyOTQ0LgoKMjAxMC0wNi0yOCAwOTowNzo1OCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ29vbS9wbHVnaW5faW5mby5jOgoJICBnb29tOiBkb24ndCBhbGxvY2F0ZSAyNjBrQiBzdHJ1Y3Qgb24gdGhlIHN0YWNrCgkgIFBsdWdpbkluZm8gaXMgcXVpdGUgYSBzaXplYWJsZSBzdHJ1Y3QsIGxldCdzIG5vdCBhbGxvY2F0ZSBpdCBvbiB0aGUKCSAgc3RhY2ssIGVzcGVjaWFsbHkgbm90IGlmIHdlJ3JlIGNvcHlpbmcgaXQgb3ZlciBpbnRvIGFub3RoZXIgZHluYW1pY2FsbHkKCSAgYWxsb2NhdGVkIGNvcHkgYW55d2F5LgoJICBGaXhlcyAjNTcwNzYxLgoKMjAxMC0wNi0yNyAxMDozMToxNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogUmVxdWlyZSBHVEsrID49IDIuMTQgZm9yIHRoZSBleGFtcGxlcwoKMjAxMC0wNi0yNiAyMDoxMjoyNSArMDIwMCAgR3VpZG8gR8O8bnRoZXIgPGFneEBzaWd4Y3B1Lm9yZz4KCgkqIHRlc3RzL2V4YW1wbGVzL2VxdWFsaXplci9kZW1vLmM6CgkqIHRlc3RzL2V4YW1wbGVzL3NwZWN0cnVtL2RlbW8tYXVkaW90ZXN0LmM6CgkqIHRlc3RzL2V4YW1wbGVzL3NwZWN0cnVtL2RlbW8tb3Nzc3JjLmM6CgkgIGV4YW1wbGVzOiBNYWtlIGRlbW9zIC1EU0VBTCBzYWZlIHRvIGZpeCBidWlsZCB3aXRoIEdUSysgMy4wCgoyMDEwLTA2LTI2IDIxOjM5OjM0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL01ha2VmaWxlLmFtOgoJICBqcGVnOiBFeHBsaWNpdGVseSBsaW5rIHdpdGggbGliZ3N0YmFzZQoKMjAxMC0wNi0yNiAxODo0MjoyOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgMC4xMC4yMy4yIHByZS1yZWxlYXNlCgoyMDEwLTA2LTI2IDE4OjQxOjQ5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUtZGlzdC5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lLWRpc3QuaDoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94b3JjLWRpc3QuYzoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94b3JjLWRpc3QuaDoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRvcmMtZGlzdC5jOgoJICBnc3Q6IHVwZGF0ZSBvcmMgZmlsZXMKCjIwMTAtMDYtMjYgMTg6NDE6MzkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHBvL3poX0hLLnBvOgoJKiBwby96aF9UVy5wbzoKCSAgcG86IHVwZGF0ZSB0cmFuc2xhdGlvbnMKCjIwMTAtMDYtMjUgMTk6NDA6MDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogRml4IGxlYWtpbmcgb2YgdGhlIHN0cmVhbWhlYWRlciBidWZmZXJzCgkgIGdzdF92YWx1ZV9zZXRfYnVmZmVyKCkgaW5jcmVhc2VzIHRoZSByZWZjb3VudCBhbmQgZG9lc24ndAoJICB0YWtlIG93bmVyc2hpcCBvZiB0aGUgYnVmZmVyLgoKMjAxMC0wNi0yNCAxNjozMjoyMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvZWJtbC1yZWFkLmM6CgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9mbGlwLmM6CgkgIG1hdHJvc2thLCB2aWRlb2JveCwgdmlkZW9maWx0ZXI6IGZpeCBjb21waWxlciB3YXJuaW5ncyB3aGVuIGRlYnVnZ2luZyBpcyBkaXNhYmxlZCBpbiBnc3RyZWFtZXIKCSAgRml4ZXMgdW51c2VkIHZhcmlhYmxlIHdhcm5pbmdzIHdoZW4gR1N0cmVhbWVyJ3MgZGVidWdnaW5nIHN5c3RlbSBoYXMgYmVlbiBkaXNhYmxlZC4KCjIwMTAtMDYtMjQgMTU6MTc6MTEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHRlc3RzOiBhZGQgcGx1Z2luIGxvYWRpbmcgd2hpdGVsaXN0IHRvIHRlc3QgZW52aXJvbm1lbnQKCSAgT25seSB3YW50IHRvIGxvYWQgY29yZS9iYXNlL2dvb2QgcGx1Z2lucyBoZXJlLgoJICBGaXhlcyAjNjE5NzE3LgoKMjAxMC0wNi0yNCAxNTowOToxNiArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA3M2ZmOTNhIHRvIGE1MTk1NzEKCjIwMTAtMDYtMjQgMTM6MDI6MDQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmLmM6CgkgIGdka3BpeGJ1ZmRlYzogYnVtcCByYW5rIHRvIFNFQ09OREFSWQoJICBCdW1wIGdka3BpeGJ1ZmRlYydzIHJhbmsgdG8gU0VDT05EQVJZIHRvIGdpdmUgaXQgYW4gZWRnZSBvdmVyIG1pc2MuCgkgIGltYWdlIGRlY29kZXJzIGluIGdzdC1mZm1wZWcgdGhhdCBhbHNvIGhhdmUgYSBNQVJHSU5BTCByYW5rLgoJICBGaXhlcyAjNjIwMTYyLgoKMjAxMC0wNi0yMyAxMjoxNToxMyArMDIwMCAgTWljaGFlbCBHcnplc2NoaWsgPG0uZ3J6ZXNjaGlrQHBlbmd1dHJvbml4LmRlPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICByZXNldCB0aGUgaGF2ZV9pbmRleCBmbGFnIGF0IHRyYW5zaXRpb24gUEFVU0VEX1RPX1JFQURZCgkgIElmIHdlIHJlc3RhcnQgdGhlIFN0cmVhbSBpbiB0aGUgY2FzZSBvZiBkb2luZyBhIHRyYW5zaXRpb24gZnJvbQoJICBQQVVTRURfVE9fUkVBRFkgYW5kIGJhY2sgd2l0aCBSRUFEWV9UT19QQVVTRUQgYXNvLiB0aGUgZHVyYXRpb24gb2YgdGhlIHZpZGVvCgkgIHdpbGwgZ2V0IGNhbGN1bGF0ZWQgZXZlbiBpZiB3ZSBoYXZlIGEgYXZpIGhlYWRlciB3aXRoIHRoYXQgaW5mb3JtYXRpb24uCgkgIFNpZ25lZC1vZmYtYnk6IE1pY2hhZWwgR3J6ZXNjaGlrIDxtLmdyemVzY2hpa0BwZW5ndXRyb25peC5kZT4KCjIwMTAtMDYtMjMgMjA6Mjk6MTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6CgkgIHZpZGVvYm94OiBGaXggbmVnb3RpYXRpb24gZm9yIEk0MjAvWVYxMgoJICBXZSBkb24ndCBzdXBwb3J0IGNvbnZlcnNpb24gaW50byAqYWxsKiBZVVYKCSAgZm9ybWF0cyBmb3IgdGhlbSwgb25seSBpbnRvIEk0MjAvWVYxMi9BWVVWLgoJICBGaXhlcyBidWcgIzYyMjUwMS4KCjIwMTAtMDYtMjIgMTU6MjI6NDQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIHdhdnBhcnNlOiBwcm9wZXIgY2xvc2luZyBzZWdtZW50IGNvbnN0cnVjdGlvbgoJICBGaXhlcyAjNjE4OTgyLgoKMjAxMC0wNi0yMiAxNTo0Njo1MSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmg6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSAgdjRsMjogcHJlY2FsY3VsYXRlIGR1cmF0aW9uCgkgIEhhdmUgZnJhbWUgZHVyYXRpb24gaW4gdGhlIGluc3RhbmNlIHN0cnVjdCBhbmQgY2FsY3VsYXRlIGl0IGFmdGVyIGNoYW5naW5nIHRoZSBjYXBzLgoKMjAxMC0wNi0yMSAxMjoxNzozOSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSAgdjRsMnNpbms6IHVzZSBnbGliIGRlZmluZXMgaW4gcHJvcGVydHkgZGVjbGFyYXRpb25zIGZvciByZWFkYWJpbGl0eQoKMjAxMC0wNi0yMSAxMjoxNToxNCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIHY0bDI6IHVzZSBHX1BBUkFNX1NUQVRJQ19TVFJJTkdTIHRvIHNhdmUgYSBmZXcgYnl0ZXMgYW5kIHN0cmR1cHMKCjIwMTAtMDYtMTggMjA6MDI6NDkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGZpeCBsb2NraW5nIGFmdGVyIG1vdmluZyB0aGluZ3MgYXJvdW5kCgoyMDEwLTA2LTE4IDE0OjEzOjU4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC90YWdsaWIvZ3N0YXBldjJtdXguY2M6CgkgIHRhZ2xpYjogVXNlIG5ld2x5IGFkZGVkIGdzdF90YWdfbGlzdF9wZWVrX3N0cmluZ19pbmRleAoJICBSZXBsYWNlIGNhbGxzIHRvIGdzdF90YWdfbGlzdF9nZXRfc3RyaW5nX2luZGV4IHdpdGgKCSAgZ3N0X3RhZ19saXN0X3BlZWtfc3RyaW5nX2luZGV4IHRvIGF2b2lkIGEgc3RyaW5nIGNvcHkKCjIwMTAtMDYtMTggMTY6NTY6MTkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IG1ha2Ugc29tZSBlcnJvcnMgYXMgd2FybmluZ3MKCSAgQXZvaWQgc3BhbW1pbmcgdGhlIHRlc3RzdWl0ZSB3aXRoIHRoZXNlIGVycm9yIGRlYnVnIGxpbmVzLgoKMjAxMC0wNi0xOCAxNjo0OTowOCArMDIwMCAgS2VpdGggTmljaG9sc29uIDxrZWl0aC5uaWNob2xzb24gYXQgdWx0cmEtY2NzLmNvbT4KCgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIHVkcHNyYzogZml4IG11bHRpY2FzdCBzdXBwb3J0IG9uIHdpbmRvd3MgYnVpbGRzCgkgIE9uIHdpbmRvd3MgYnVpbGRzLCBzZXRzIHNvdXJjZSBhZGRyZXNzIGZvciBiaW5kIHRvIElOQUREUl9BTlksIHdoaWxlCgkgIG1haW50YWluaW5nIHRoZSBvcmlnaW5hbCBtdWx0aWNhc3QgZ3JvdXAgYWRkcmVzcyBmb3Igc3Vic2VxdWVudCBqb2luLgoJICBGaXhlcyAjNTk1OTc4CgoyMDEwLTA2LTE4IDE2OjE2OjI4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9nc3R1ZHBuZXR1dGlscy5jOgoJICB1ZHA6IG1ha2UgdXJsIHBhcnNpbmcgY29tcGF0aWJsZSB3aXRoIFZMQyBzeW50YXgKCSAgU2tpcCBldmVyeXRoaW5nIGJlZm9yZSB0aGUgQCBzaWduIGluIHRoZSB1cmwgbG9jYXRpb24uIFZMQyB1c2VzIHRoYXQgYXMgdGhlCgkgIHJlbW90ZSBhZGRyZXNzIHRvIGNvbm5lY3QgdG8gKGJ1dCB3ZSBpZ25vcmUgaXQgZm9yIG5vdykuIFRoaXMgbWFrZXMgb3VyIHVkcCB1cmxzCgkgIGNvbXBhdGlibGUgd2l0aCB0aGUgb25lcyB1c2VkIGJ5IFZMQy4KCSAgRml4ZXMgIzU5NzY5NQoKMjAxMC0wNi0xOCAxNTowODoyMSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBydHNwc3JjOiBmYWN0b3Igb3V0IHRoZSBjb25uZWN0aW9ucwoJICBLZWVwIGEgZ2xvYmFsIGNvbm5lY3Rpb24gZm9yIGFnZ3JlZ2F0ZSBjb250cm9sIGJ1dCBhbHNvIGtlZXAgc3RyZWFtIGNvbm5lY3Rpb25zCgkgIGZvciBub24tYWdncmVnYXRlIGNvbnRyb2wuCgkgIEFkZCBzb21lIGhlbHBlciBtZXRob2RzIHRvIGNvbm5lY3QvY2xvc2UvZmx1c2ggdGhlIGNvbm5lY3Rpb25zLgoKMjAxMC0wNi0xNyAxMzowNjo1NiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogYWRkIG5vbi1hZ2dyZWdhdGUgY29udHJvbAoJICBBZGQgbm9uLWFnZ3JlZ2F0ZSBjb250cm9sLgoJICBTZXBhcmF0ZSByZXRyaWV2aW5nIHRociBTRFAgZnJvbSBwYXJzaW5nIGFuZCBzZXR0aW5nIHVwIHRoZSBzdHJlYW1pbmcgZnJvbSB0aGUKCSAgU0RQLgoKMjAxMC0wNi0xNyAyMjoxMDowMyArMDEwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkqIGNvbW1vbjoKCSAgY29tbW9uOiB1cGRhdGUgY29tbW9uIGJhY2sgdG8gd2hhdCBpdCB3YXMKCjIwMTAtMDYtMTcgMTc6MjQ6MjIgKzAxMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJKiBjb21tb246CgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkgIGZsdm11eDogYWRkIGRvY3VtZW50YXRpb24gZm9yIHN0cmVhbWFibGUgcHJvcGVydHkKCjIwMTAtMDYtMTcgMTY6NDM6NDQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFubm9kZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF1aWNrdGltZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkgIGRvY3M6IHVwZGF0ZSBpbnRyb3NwZWN0ZWQgcGx1Z2luIGRvY3MgZm9yIGdzdGRvYy1zY2FuZ29iaiBhbmQgb3RoZXIgY2hhbmdlcwoJICBVcGRhdGUgY29tbW9uIGZvciBsYXRlc3QgZ3N0ZG9jLXNjYW5nb2JqLCBhbmQgaW5zcGVjdCB4bWwgZmlsZXMgZm9yCgkgIGVzY2FwaW5nIGFuZCBwYWQgdGVtcGxhdGUgb3JkZXIgY2hhbmdlcy4KCjIwMTAtMDYtMTcgMTY6NDE6NTYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svLmdpdGlnbm9yZToKCSAgdGVzdHM6IGlnbm9yZSBzdWItZGlyZWN0b3J5IHdpdGggb3JjIHRlc3RzCgoyMDEwLTA2LTE3IDEwOjQ0OjMzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBGaXggYW4gdW5pbml0aWFsaXplZCB2YXJpYWJsZSBjb21waWxlciB3YXJuaW5nCgoyMDEwLTA2LTE2IDIxOjAyOjEzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9lYm1sLXJlYWQuYzoKCSAgZWJtbC1yZWFkOiBaZXJvLXNpemVkIGludHMvdWludHMvZmxvYXRzIGhhdmUgYSB2YWx1ZSBvZiAwIGFjY29yZGluZyB0byB0aGUgRUJNTCBzcGVjCgoyMDEwLTA2LTE2IDIwOjAyOjU4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBGaXggcG9zc2libGUgTlVMTCBwb2ludGVyIGRlcmVmZXJlbmNlIGFuZCBhc3NlcnRpb24gdGhhdCBjb3VsZCBiZSBjYXVzZWQgYnkgaW52YWxpZCBmaWxlcwoKMjAxMC0wNi0xNiAxOTo1MDozNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogQ2xlYW4gdXAvZml4IHNvbWUgbWlub3IgZXJyb3IgaGFuZGxpbmcgYnVncwoKMjAxMC0wNi0xNiAxOTozMDoyNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOgoJICB4aW1hZ2VzcmM6IEZpeCBOVUxMIHBvaW50ZXIgZGVyZWZlcmVuY2Ugd2hlbiBhbGxvY2F0aW9uIG9mIHRoZSB4aW1hZ2UgZmFpbHMKCjIwMTAtMDYtMTYgMTk6Mjg6MDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY3RhZy5jOgoJICBmbGFjdGFnOiBGaXggcG9zc2libGUgTlVMTCBwb2ludGVyIGRlcmVmZXJlbmNlCgoyMDEwLTA2LTE2IDE5OjI0OjU0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvaWlyZmlsdGVyLmM6CgkgIGF1ZGlvaWlyZmlsdGVyOiBGaXggcG9zc2libGUgTlVMTCBwb2ludGVyIGRlcmVmZXJlbmNlCgoyMDEwLTA2LTE2IDE5OjIwOjAyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lZmZlY3R2L2dzdHdhcnAuYzoKCSAgd2FycHR2OiBEb24ndCB1c2UgZmxvYXRzIGFzIGxvb3AgY291bnRlcnMKCjIwMTAtMDYtMTYgMTE6MjE6MzUgLTA0MDAgIEhhdm9jIFBlbm5pbmd0b24gPGhwQHBvYm94LmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMnNyYzogZG8gbm90IHRyeSB0byBjaGFuZ2UgZGV2aWNlIGZvcm1hdCBpZiBpdCdzIGFscmVhZHkgY29ycmVjdAoJICBUaGlzIGFsbG93cyBzZXRfY2FwcyB0byBzdWNjZWVkIGlmIGNhcHMgY2hhbmdlIGluIGEgd2F5IHRoYXQKCSAgd291bGQgbm90IG1vZGlmeSB0aGUgZm9ybWF0IHdlJ3JlIGdldHRpbmcgZnJvbSB0aGUgaGFyZHdhcmUuCgkgIE90aGVyd2lzZSBpZiBub3QgaW4gTlVMTCBzdGF0ZSwgc2V0dGluZyBjYXBzIHdvdWxkIGZhaWwKCSAgd2l0aCBFQlVTWS4KCSAgV2l0aCB0aGlzIGNoYW5nZSwgaW4gc29tZSBjYXNlcyBpdCdzIE9LIHRvIGdvIFBMQVlJTkctPlJFQURZLT5QTEFZSU5HCgkgIHJhdGhlciB0aGFuIFBMQVlJTkctPk5VTEwtPlBMQVlJTkcgdG8gYXZvaWQgYSB0aW1lLWNvbnN1bWluZyBjbG9zZQoJICBhbmQgcmVvcGVuIG9mIHRoZSBkZXZpY2UuCgkgIEZpeGVzICM2MjE3MjMKCjIwMTAtMDYtMTYgMTE6MDk6MTcgLTA0MDAgIEhhdm9jIFBlbm5pbmd0b24gPGhwQHBvYm94LmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgdjRsMnNyYzogaW4gbmVnb3RpYXRlLCBjaGVjayBmb3IgZXJyb3IgcmV0dXJuIGZyb20gc2V0X2NhcHMKCSAgRml4ZXMgIzYyMTcyMyAgKHBhcnRpYWxseSkKCSAgc2V0X2NhcHMgY2FuIGZhaWwgaWYgdGhlIHZpZGVvIGRldmljZSBpcyBydW5uaW5nLCBpbiB0aGF0IGNhc2UKCSAgc2V0dGluZyBpdHMgZm9ybWF0IGxlYWRzIHRvIEVCVVNZLgoJICBJZiBzZXRfY2FwcyBmYWlscyB0aGVuIHdlIHdpbGwgbm90IGhhdmUgc2V0IHVwIHRoZSBidWZmZXIgcG9vbAoJICAoaXQgd2lsbCBiZSBOVUxMKSB3aGljaCBsZWFkcyB0byBhIGNyYXNoIHdoZW4gd2UgdHJ5IHRvIHB1bGwKCSAgYnVmZmVycy4gSWYgd2UgZmFpbCB0aGUgbmVnb3RpYXRlIG9uIHNldF9jYXBzIGZhaWx1cmUsIHRoZW4gd2UKCSAgd29uJ3QgZ28gdG8gcGxheWluZyBzdGF0ZSBhbmQgd29uJ3QgY3Jhc2guCgkgIFRoaXMgaXMgYSBzbWFsbCBpbXByb3ZlbWVudC4gT2YgY291cnNlLCBhIG5pY2VyIGZpeCB3b3VsZAoJICBiZSB0byBtYWtlIHNldF9jYXBzIHdvcmsgaW4gdGhlIGNhc2Ugd2hlcmUgdGhlIGZvcm1hdCBpcwoJICB1bmNoYW5nZWQuIElmIHRoZSBmb3JtYXQgaGFzIGNoYW5nZWQsIGZhaWxpbmcgaXMKCSAgcHJvYmFibHkgY29ycmVjdCBiZWNhdXNlIHdlIG5lZWQgdG8gY2xvc2UgdGhlIGRldmljZQoJICAoZ28gdG8gTlVMTCBzdGF0ZSkgaW4gb3JkZXIgdG8gc2V0IGNhcHMuCgoyMDEwLTA2LTE2IDE1OjQwOjM0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IGltcHJvdmUgYXVkaW8gdmJyIGRldGVjdGlvbgoJICBTdWJzZXF1ZW50IGVudHJ5IHRpbWUgY2FsY3VsYXRpb25zIHVzZSBibG9ja2FsaWduIHZhbHVlIHRvIGRldGVybWluZQoJICBudW1iZXIgb2YgZnJhbWVzIHBlciBjaHVuaywgYW5kIGJsb2NrYWxpZ24gPT0gMSBpcyB0aGVuIG1vc3QgdW5saWtlbHkgdG8gcmVzdWx0CgkgIGluIHJlYXNvbmFibGUgdmFsdWVzICh3aGljaCBhbHNvIGFsaWducyB3aXRoICJzcGVjIikuCgoyMDEwLTA2LTE2IDE1OjUyOjU3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkgIHJ0cGgyNjRkZXBheTogdHdlYWsgREVMVEFfVU5JVCBsYWJlbGluZwoJICBDb25zaWRlciBTUFMsIFBQUyBhbmQgSURSIGFzIGtleWZyYW1lLCBhbGwgb3RoZXJzIGFzIERFTFRBX1VOSVQuCgkgIFNlZSAjNjIwMTU0LgoKMjAxMC0wNi0xNSAyMDowNjoxNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6CgkgIHdhdnBhY2tkZWM6IEluaXRpYWxpemUgdW5pbml0aWFsaXplZCB2YXJpYWJsZSBhbmQgZG9uJ3QgdW5yZWYgaXQgaWYgaXQncyBOVUxMCgoyMDEwLTA2LTE1IDIwOjA0OjM1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IEFzc2lnbiB2YXJpYWJsZXMgYmVmb3JlIHByaW50aW5nIHRoZW0KCjIwMTAtMDYtMTUgMjA6MDA6MjggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIHdhdnBhcnNlOiBJbml0aWFsaXplIHVuaW5pdGlhbGl6ZWQgdmFyaWFibGUKCjIwMTAtMDYtMTUgMTk6NDc6MTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyOiBJbml0aWFsaXplIHZhcmlhYmxlCgoyMDEwLTA2LTE1IDE5OjQ1OjM2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSAgZmxhY2VuYzogRml4IE5FV1NFR01FTlQgcGFyc2luZyBsb2dpYyBhbmQgZG9uJ3QgdXNlIHVuaW5pdGlhbGl6ZWQgdmFyaWFibGVzCgoyMDEwLTA2LTE1IDE3OjIwOjIwICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21hdHJvc2thL2VibWwtcmVhZC5jOgoJICBtYXRyb3NrYTogRml4IHVuaXRpYWxpemVkIHZhcmlhYmxlCgoyMDEwLTA2LTE1IDE2OjQ5OjQ5ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA5MzM5Y2NjIHRvIDM1NjE3YzIKCjIwMTAtMDYtMTUgMTY6NTQ6MDQgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNWFkYjFjYSB0byA5MzM5Y2NjCgoyMDEwLTA2LTE1IDE2OjM1OjE4ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDU3Yzg5YjcgdG8gNWFkYjFjYQoKMjAxMC0wNi0xNSAxNDowODoyNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiAuZ2l0aWdub3JlOgoJICAuZ2l0aWdub3JlOiBpZ25vcmUgZ2VuZXJhdGVkIHR2dGltZS5oIGZpbGUKCjIwMTAtMDYtMTUgMTU6MzY6MzMgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gYzgwNDk4OCB0byA1N2M4OWI3CgoyMDEwLTA1LTE3IDEzOjU0OjAzICswMjAwICBNYXJjLUFuZHLDqSBMdXJlYXUgPG1sdXJlYXVAZmx1bW90aW9uLmNvbT4KCgkqIGV4dC9yYXcxMzk0L2dzdDEzOTRjbG9jay5jOgoJKiBleHQvcmF3MTM5NC9nc3QxMzk0Y2xvY2suaDoKCSAgcmF3MTM5NDogcmVtb3ZlIHVzZWxlc3MgbGFzdF90aW1lCgkgIEl0IHNlZW1zIHRvIG1lIHRoaXMgY29kZSBpcyB1c2VsZXNzOiByZW1vdmluZyBpdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYxODg3MQoKMjAxMC0wNi0xNCAxOToyMToyMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBydHNwc3JjOiByZXNwZWN0IGFnZ3JlZ2F0ZSBjb250cm9sIGF0dHJpYnV0ZXMKCSAgd2hlbiB0aGUgU0RQIHNwZWNpZmllcyBhbiBhZ2dyZWdhdGUgY29udHJvbCB1cmwsIHVzZSB0aGF0IGZvciBwbGF5YmFjawoJICBjb250cm9sLgoJICBGaXhlcyAjNjE5NTMxCgoyMDEwLTA2LTE0IDE1OjM2OjAwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nb29tL2dzdGdvb20uYzoKCSAgZ29vbTogQ2FsbCBvcmNfaW5pdCgpIGJlZm9yZSB0cnlpbmcgdG8gZ2V0IHRhcmdldCBmbGFncwoKMjAxMC0wNi0xNCAxNTozNTowOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IENhbGwgb3JjX2luaXQoKSBiZWZvcmUgdHJ5aW5nIHRvIGdldCB0YXJnZXQgZmxhZ3MKCjIwMTAtMDYtMTQgMTQ6MjY6MjIgKzAxMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21hdHJvc2thbXV4LmM6CgkgIG1hdHJvc2thbXV4OiByZXZlcnQgY2hhbmdlIHRoYXQgc2V0IGEgcmVzZXJ2ZWQgZmxhZyBvbiB0aGUgQmxvY2suCgkgIFNvIG1hdHJvc2thJ3MgQmxvY2sgc3RydWN0dXJlIGhhcyBubyBrZXlmcmFtZSBmbGFnLCBvbmx5IHRoZSBTaW1wbGVCbG9jayBoYXMgaXQuCgkgIFRvIGRldGVjdCBrZXlmcmFtZXMgaW4gQmxvY2tzLCBpdCBpcyBqdXN0IHRoZSBCbG9ja0dyb3VwIGNvbnRhaW5lciB0aGF0IG5lZWRzCgkgIHRvIGhhdmUgYSBSZWZlcmVuY2VCbG9jayBhdHRhY2hlZCBpZiBpdCBpcyBhIGRlbHRhIGZyYW1lIGluIHZpZGVvLgoKMjAxMC0wNS0zMSAxMjo0NTowMSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuaDoKCSAganBlZ2RlYzogdXNlIGxpYmpwZWcgc2NhdHRlci1nYXRoZXIgb3BlcmF0aW9uIHRvIGF2b2lkIGRhdGEgY29weWluZwoJICBGaXhlcyAjNTgzMDQ3IChtb3JlKS4KCjIwMTAtMDUtMjcgMTU6NDU6MjMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmg6CgkgIGpwZWdkZWM6IG9wdGltaXplIGJ1ZmZlciBoYW5kbGluZyB3aGVuIHBhcnNpbmcKCSAgVXNlIGFuIGFkYXB0ZXIgdG8gY29sbGVjdCBpbmNvbWluZyBkYXRhLCBhbmQgdXNlIGFkYXB0ZXIgQVBJIHRvIHNjYW4gYW5kIHBlZWsuCgkgIEZpeGVzICM1ODMwNDcuCgoyMDEwLTA2LTE0IDEzOjQ4OjI4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9vc3M0L29zczQtbWl4ZXIuYzoKCSAgb3NzNDogVXNlIGdfYXNjaWlfc3RyY2FzZWNtcCgpIGluc3RlYWQgb2YgdGhlIGRlcHJlY2F0ZWQgZ19zdHJjYXNlY21wKCkKCjIwMTAtMDYtMTQgMTM6Mjc6MzAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IFVzZSBHTElCX0VYVFJBX0NGTEFHUwoKMjAxMC0wNi0xNCAxMzowMzo1NyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDdhMGZkZjUgdG8gYzgwNDk4OAoKMjAxMC0wNi0xNCAxMTo0NjozMiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOgoJICBydHBoMjY0ZGVwYXk6IGFsc28gY29uc2lkZXIgQVUgYW5kIFNFSSBOQUxVcyBhcyBERUxUQV9VTklUCgkgIEZpeGVzICM2MjAxNTQuCgoyMDEwLTA2LTE0IDExOjMyOjQzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNmRhM2JhYiB0byA3YTBmZGY1CgoyMDEwLTA2LTEyIDIxOjI2OjE2ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wYXJvYnVzdGRlcGF5LmM6CgkgIGJ1aWxkOiBpbmNsdWRlIHN0ZGlvLmggZm9yIHNzY2FuZgoKMjAxMC0wNi0xMiAxNDoxMjo1MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgdGVzdHM6IEFkZCBjbGVhbiBydWxlIGZvciB0aGUgb3JjIHRlc3RzCgoyMDEwLTA2LTEyIDE0OjEyOjA0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICB0ZXN0czogQWRkIGF1dG9nZW5lcmF0ZWQgb3JjIHRlc3RzCgoyMDEwLTA2LTEyIDA4OjI3OjQyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNzMzZmNhOSB0byA2ZGEzYmFiCgoyMDEwLTA2LTExIDE2OjIzOjI5IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgdjRsMnNyYzogRml4IGVsZW1lbnQgZGVzY3JpcHRpb24KCjIwMTAtMDYtMTEgMjE6MTM6NTkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBtcGFyb2J1c3RkZXBheS5jOgoJICBydHBtcGFyb2J1c3RkZXBheTogZG9uJ3QgdHJ5IHRvIHVucmVmIE5VTEwgYnVmZmVycwoJICBGaXhlcyBnZW5lcmljL3N0YXRlcyB1bml0IHRlc3QuCgoyMDEwLTA2LTExIDIwOjUwOjIzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICB3YXZwYXJzZTogdXNlIHR5cGVmaW5kIGZ1bmN0aW9ucyB0byBjaGVjayBpZiBQQ00gZGF0YSBjb250YWlucyBkdHMgc3RyZWFtCgkgIFVzZSBuZXcgZHRzIGF1ZGlvIHR5cGVmaW5kZXIgZnJvbSAtYmFzZSB0byBjaGVjayBpZiB0aGUgUENNIGRhdGEKCSAgY29udGFpbnMgYSBkdHMgc3RyZWFtLiBUaGlzIHdheSB3ZSByZWNvZ25pc2UgbW9yZSB2YXJpZXRpZXMgbW9yZQoJICByZWxpYWJseSBhbmQgYWxzbyBkZXRlY3QgdGhlIGR0cyBzdHJlYW0gaWYgdGhlcmUgaXNuJ3QgYSBmcmFtZQoJICBzeW5jIHJpZ2h0IGF0IHRoZSBzdGFydCBvZiB0aGUgZGF0YS4KCSAgRml4ZXMgIzQxMzk0Mi4KCjIwMTAtMDYtMTEgMjA6NDc6MjIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIHdhdnBhcnNlOiBzZXQgYnVmZmVyIG9mZnNldHMgYmVmb3JlIHVzaW5nIHRoZSBidWZmZXIgZm9yIHRoZSBmaXJzdCB0aW1lCgkgIGdzdF90eXBlX2ZpbmRfaGVscGVyX2Zvcl9idWZmZXIoKSB3aWxsIG5lZWQgdGhlIGNvcnJlY3Qgb2Zmc2V0CgkgIHNldCBvbiB0aGUgYnVmZmVyIChpZS4gMCkgYW5kIG5vdCB0aGUgYnl0ZSBvZmZzZXQgd2Ugc3RhcnRlZAoJICBwdWxsaW5nIHRoZSBkYXRhIGZyb20uCgoyMDEwLTA2LTEwIDE2OjE0OjQzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHAvZ3N0cnRwLmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhcm9idXN0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcGFyb2J1c3RkZXBheS5oOgoJICBydHA6IGFkZCBtcGEtcm9idXN0IGRlcGF5bG9hZGVyCgkgIEZpeGVzICM1ODk5OTcuCgoyMDEwLTA2LTExIDEwOjU3OjQxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkgIGF2aW11eDogZml4IGF2aSBoZWFkZXIgYnl0ZXdyaXRpbmcKCSAgLi4uIGJ5IHVzaW5nIHByb3BlciBvZmZzZXRzIGZvciB0YWcgbGlzdCB3cml0aW5nLgoJICBBbHNvIHVzZSBfcmVzZXQgcmF0aGVyIHRoYW4gX2ZyZWUgYW5kIGNvbnNpc3RlbnRseSB1c2UgYnl0ZXdyaXRlciBwb3NpdGlvbi4KCSAgU2VlICM2MTkyOTMuCgoyMDEwLTA2LTEwIDIyOjU4OjQxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIC5naXRpZ25vcmU6CgkgIFVwZGF0ZSAuZ2l0aWdub3JlCgkgIEFkZCB0aGUgZ2VuZXJhdGVkIG9yYyBzb3VyY2UgZmlsZXMKCjIwMTAtMDYtMTAgMjI6NTU6MTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbWF0cm9za2FtdXguYzoKCSAgbWF0cm9za2FtdXg6IEZpeCB1bml0IHRlc3QgZm9yIGNoYW5nZWQga2V5LWZyYW1lIGJlaGF2aW91cgoJICBBbGwgYXVkaW8gZnJhbWVzIGFyZSBtYXJrZWQgYXMga2V5ZnJhbWUgbm93IGluc3RlYWQgb2YgbWFya2luZwoJICB0aGVtIGFsbCBhcyBkZWx0YSB1bml0Li4uCgoyMDEwLTA2LTEwIDIyOjQ1OjEzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZC5jOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZF9tbXguaDoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRvcmMtZGlzdC5jOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZG9yYy1kaXN0Lmg6CgkqIGdzdC92aWRlb21peGVyL2JsZW5kb3JjLm9yYzoKCSAgdmlkZW9taXhlcjogUG9ydCBtb3N0IGJsZW5kaW5nIHJlbGF0ZWQgZnVuY3Rpb25zIHRvIG9yYwoJICBPbmx5IHJlbWFpbmluZyBNTVggaW1wbGVtZW50YXRpb24gaXMgdGhlIEFSR0IvQkdSQS9BWVVWIGJsZW5kaW5nCgkgIGZvciB3aGljaCB3ZSBmaXJzdCBuZWVkIHRoZSBvcmMgY29tcG9zaXRpbmcgb3Bjb2Rlcy4KCjIwMTAtMDYtMTAgMjA6MTc6MDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRfbW14Lmg6CgkgIHZpZGVvbWl4ZXI6IFJlcGxhY2Ugc29tZSB0YWJzIGJ5IHNwYWNlcwoKMjAxMC0wNi0xMCAxMTowNDozOCArMDEwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDxhbW9yYWxlc0BmbHVtb3Rpb24uY29tPgoKCSogZXh0L3JhdzEzOTQvZ3N0MTM5NGNsb2NrLmM6CgkgIGR2MTM5NDogRml4IHRoZSBpbnRlcm5hbCBjbG9jayBldmVuIG1vcmUKCSAgVGhlIGN5Y2xlQ291bnQgcmVnaXN0ZXIgaXMgMTMgYml0cyBsb25nIGFuZCB0aGUgY3ljbGVPZmZzZXQgb25lCgkgIGlzIDEyIGJpdHMgbG9uZy4gVG8gcmVhZCB0aGUgY3ljbGVDb3VudCByZWdpc3RlciB3ZSBuZWVkIHRvIHNoaWZ0CgkgIDEyIGJpdHMgYW5kIG5vdCAxMy4gRml4ZXMgIzYxNTQ2MQoKMjAxMC0wNi0wOSAxODozNzoyOSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogdXNlIG00IG1hY3JvIHRvIGNoZWNrIGZvciBPcmMKCjIwMTAtMDYtMDkgMjI6NDA6MjMgKzAyMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBzb21lIG5vbi1kZWx0YSBidWZmZXJzIHdlcmUgbm90IG1hcmtlZCBhcyBrZXlmcmFtZXMKCjIwMTAtMDYtMDkgMjI6MDA6MTYgKzAyMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguaDoKCSAgbWF0cm9za2FtdXg6IGNoYW5nZSAyIHNlY29uZCBsaW1pdCBwZXIgY2x1c3RlcgoJICBTdGFydCBjbHVzdGVyIGF0IGV2ZXJ5IGtleWZyYW1lIG9yIHdoZW4gd2Ugd291bGQgb3ZlcmZsb3cgdGhlIHByZXZpb3VzCgkgIGNsdXN0ZXIncyByZWxhdGl2ZSB0aW1lc3RhbXAgZmllbGQuIFRoaXMgd291bGQgYXZvaWQgYXMgbXVjaCBhcyBwb3NzaWJsZQoJICBzdGFydGluZyBjbHVzdGVycyBhdCBub24ta2V5ZnJhbWVzLgoKMjAxMC0wNi0wOSAxMjo0MDowOSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGZhZDE0NWIgdG8gNzMzZmNhOQoKMjAxMC0wNi0wOSAxMjozNDowMSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDQ3NjgzYzEgdG8gZmFkMTQ1YgoKMjAxMC0wNi0wOSAyMDo1MzowNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogRG9uJ3QgcmVxdWVzdCBtb3JlIHNoYXJlZCBtZW1vcnkgdGhhbiBuZWVkZWQKCjIwMTAtMDYtMDkgMjA6NDU6MDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2djb25mL2dzdHN3aXRjaHNpbmsuYzoKCSAgc3dpdGNoc2luazogU2V0IHRoZSBHU1RfRUxFTUVOVF9JU19TSU5LIGZsYWcgb24gdGhlIHNpbmsKCjIwMTAtMDYtMDkgMjA6NDM6NTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2djb25mL2dzdGdjb25mdmlkZW9zaW5rLmM6CgkqIGV4dC9nY29uZi9nc3RnY29uZnZpZGVvc2luay5oOgoJICBnY29uZnZpZGVvc2luazogVXNlIEdzdFN3aXRjaFNpbmsgYXMgYmFzZSBjbGFzcwoKMjAxMC0wNi0wOSAyMDozMDozMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ2NvbmYvZ3N0Z2NvbmZhdWRpb3NpbmsuYzoKCSAgZ2NvbmZhdWRpb3Npbms6IFVzZSBHX1BBUkFNX1NUQVRJQ19TVFJJTkdTCgoyMDEwLTA2LTA5IDIwOjI5OjAyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nY29uZi9nc3RnY29uZmF1ZGlvc2luay5jOgoJKiBleHQvZ2NvbmYvZ3N0Z2NvbmZhdWRpb3NpbmsuaDoKCSAgZ2NvbmZhdWRpb3Npbms6IFJlbmFtZSBpbnN0YW5jZSB2YXJpYWJsZSB0byBiZSBtb3JlIGRlc2NyaXB0aXZlCgoyMDEwLTA2LTA5IDIwOjIyOjMwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NpbmsuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc2luay5jOgoJICBhdXRve2F1ZGlvLHZpZGVvfXNpbms6IERvbid0IGxvc2UgdGhlIEdTVF9FTEVNRU5UX0lTX1NJTksgZmxhZyBhZnRlciByZW1vdmluZyB0aGUgY2hpbGQKCjIwMTAtMDYtMDkgMjA6MDc6MDkgKzAyMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBmbHVlbmRvLmNvbT4KCgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSAgZGlyZWN0c291bmRzaW5rOiBQbHVnIHNvbWUgbWVtbGVhayBhbmQgc3VwcG9ydCAyMjA1MEh6IG1vbm8gc291bmQuCgkgIFNlZ21lbnQgc2l6ZSBuZWVkcyB0byBiZSBhIG11bHRpcGxlIG9mIHRoZSBzYW1wbGUgc2l6ZSBpbiBieXRlcy4KCjIwMTAtMDYtMDkgMTY6MjI6MjcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IEZsdXNoIHNobSBidWZmZXIgaW1tZWRpYXRlbHkgaWYgaXQncyBmdWxsCgoyMDEwLTA2LTA5IDE2OjIxOjU1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBGaXggd3JpdGluZyBvZiBidWZmZXJzIGxhcmdlciB0aGFuIHNlZ3NpemUKCSAgRml4ZXMgYnVnICM2MjA1NDAuCgoyMDEwLTA2LTA5IDE1OjQyOjM3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBGaXggcGxheWJhY2sgaWYgUEEgZG9lc24ndCBnaXZlIHVzIGEgbGFyZ2UgZW5vdWdoIHNoYXJlZCBtZW1vcnkgYnVmZmVyCgoyMDEwLTA2LTA5IDE1OjQyOjE5ICswMjAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4Lmg6CgkgIG1hdHJvc2thbXV4OiBjaGFuZ2UgaW5kZXhlZCBwcm9wZXJ0eSB0byBzdHJlYW1hYmxlCgkgIFRoZSBwcm9wZXJ0eSBzdHJlYW1hYmxlIGhhcyByZXZlcnNlIHNlbWFudGljcyB0byBpbmRleGVkLgoKMjAxMC0wNi0wOSAwOToxMzowOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdm11eC5oOgoJICBmbHZtdXg6IFJlbmFtZSB1bnJlbGVhc2VkIHByb3BlcnR5ICdpbmRleGVkJyB0byAnc3RyZWFtYWJsZScKCSAgUmVuYW1lICdpbmRleGVkJyB0byAnc3RyZWFtYWJsZScgZm9yIGEgYmV0dGVyIG5hbWUgd2hpbGUgaXQKCSAgaGFzbid0IGJlZW4gcmVsZWFzZWQKCjIwMTAtMDYtMDggMTU6MjM6NTEgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogUkVRVUlSRU1FTlRTOgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogcmVtb3ZlIGxpYm9pbCBjaGVjawoKMjAxMC0wNi0wOCAxNDo0NDoxOSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzoKCSAgbGV2ZWw6IHJlbW92ZSB1bnVzZWQgbGlib2lsIGluY2x1ZGUKCjIwMTAtMDYtMDQgMTg6MjI6NDIgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb21peGVyL2JsZW5kLmM6CgkgIHZpZGVvbWl4ZXI6IGxpYm9pbCB0byBvcmMgY29udmVyc2lvbgoKMjAxMC0wNi0wNCAxODoyMToyMSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvdmlkZW9ib3gvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3hvcmMtZGlzdC5jOgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3hvcmMtZGlzdC5oOgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3hvcmMub3JjOgoJICB2aWRlb2JveDogbGlib2lsIHRvIG9yYyBjb252ZXJzaW9uCgoyMDEwLTA2LTA0IDE4OjE2OjI1IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9nb29tL01ha2VmaWxlLmFtOgoJKiBnc3QvZ29vbS9SRUFETUU6CgkqIGdzdC9nb29tL2dzdGdvb20uYzoKCSogZ3N0L2dvb20vcGx1Z2luX2luZm8uYzoKCSAgZ29vbTogbGlib2lsIHRvIG9yYyBjb252ZXJzaW9uCgoyMDEwLTA2LTA4IDE2OjA0OjIzIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9kZWludGVybGFjZS9NYWtlZmlsZS5hbToKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS1kaXN0LmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUtZGlzdC5oOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lLm9yYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9saW5lYXIuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9saW5lYXJibGVuZC5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3ZmaXIuYzoKCSAgZGVpbnRlcmxhY2U6IG9yY2lmeSBzb21lIGRlaW50ZXJsYWNpbmcgbWV0aG9kcwoKMjAxMC0wNi0wOCAxNjowMzozNiAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvZGVpbnRlcmxhY2UvTWFrZWZpbGUuYW06CgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuaDoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlbWV0aG9kLmM6CgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZW1ldGhvZC5oOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2dyZWVkeS5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2dyZWVkeWguYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9saW5lYXIuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9saW5lYXJibGVuZC5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3NjYWxlcmJvYi5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3RvbXNtb2NvbXAuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS92ZmlyLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvd2VhdmUuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS93ZWF2ZWJmZi5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3dlYXZldGZmLmM6CgkgIGRlaW50ZXJsYWNlOiBjb252ZXJ0IGZyb20gbGlib2lsIHRvIG9yYwoKMjAxMC0wNi0wOCAxNToyMzoyOCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBSRVFVSVJFTUVOVFM6CgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBBZGQgb3JjIGNoZWNrCgoyMDEwLTA2LTA4IDE0OjA5OjAwICswMjAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguaDoKCSAgZmx2bXV4OiBBZGQgaW5kZXhlZCBwcm9wZXJ0eSB0byByZXBsYWNlIGRpc2FibGVkIGlzLWxpdmUuCgkgIEFkZCBpbmRleGVkIHByb3BlcnR5IHRvIGJlIHRoZSBuZWdhdGlvbiBvZiB3aGF0IHRoZSBkaXNhYmxlZCBpcy1saXZlIHByb3BlcnR5CgkgIHdhcy4gRml4ZXMgYnVnICM2MTMwNjYuCgoyMDEwLTA2LTA4IDA5OjIyOjMwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgcmF3MTM5NDogUmVxdWlyZSBsaWJyYXcxMzk0ID49IDIuMC4wIGZvciByYXcxMzk0X3JlYWRfY3ljbGVfdGltZXIKCSAgRml4ZXMgYnVnICM2MjA5MjkuCgoyMDEwLTA2LTA4IDA3OjM1OjAwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hbm5vZGV4L2dzdGNtbWxlbmMuYzoKCSAgY21tbGVuYzogUmVtb3ZlIGhhY2sgdG8gbGV0IG9nZ211eCBzdGFydCBhIG5ldyBwYWdlIGZvciBldmVyeSBDTU1MIGJ1ZmZlcgoJICBvZ2dtdXggZG9lcyB0aGlzIGZvciBDTU1MIGJ5IGl0cyBvd24gbm93CgoyMDEwLTA2LTA3IDE4OjMyOjE2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx2ZGVtdXg6IERvbid0IGhhbmRsZSBub24tVElNRSBzZWVrcwoJICBEb24ndCBzZW5kIHRoZW0gdXBzdHJlYW0gYmVjYXVzZSBmb3IgdXBzdHJlYW0gYSBCWVRFUyBzZWVrCgkgIG1pZ2h0IG1ha2Ugc2Vuc2UgYnV0IGlzIGNvbXBsZXRlbHkgd3JvbmcgYmVjYXVzZSB1cHN0cmVhbQoJICBjYW4ndCBzZWVrIHRvIGEgYnl0ZSBwb3NpdGlvbiBvZiB0aGUgYXVkaW8gb3IgdmlkZW8gc3RyZWFtLgoJICBBbHNvIGRvbid0IGJ1aWxkIHRoZSBpbmRleCBpbiBwdXNoIG1vZGUgZm9yIG5vbi1USU1FIHNlZWtzLAoJICB0aGluZ3Mgd2lsbCBnbyB3cm9uZyBoZXJlIG90aGVyd2lzZS4KCjIwMTAtMDYtMDcgMTE6MTU6MjYgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDx0ZXN0ZXJAdGVzdGVyLmNhPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZmRldGVjdC5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mZGV0ZWN0Lmg6CgkgIGR0bWZkZXRlY3Q6IE9ubHkgd29ya3Mgd2l0aCByYXRlPTgwMDAsIGZpeCBpbiBjYXBzCgoyMDEwLTA2LTAyIDE5OjE2OjIwICswMTAwICBTam9lcmQgU2ltb25zIDxzam9lcmQuc2ltb25zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJICBDb3BlIHdpdGggc2hvcnQgc3RhcnRjb2RlcyBpbiB0aGUgaDI2NCBieXRlc3RyZWFtCgoyMDEwLTA2LTA2IDE3OjI1OjE2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2U6IGxvZyBtZXNzYWdlIHByaW50ZiBmb3JtYXQgZml4ZXMKCjIwMTAtMDYtMDYgMTg6MDA6MjIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2R2L2dzdGR2ZGVtdXguYzoKCSogZXh0L3B1bHNlL3B1bHNlbWl4ZXIuYzoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6CgkqIGV4dC90YWdsaWIvZ3N0dGFnbGlibXV4LmM6CgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzoKCSAgZXh0OiBEb24ndCB1c2UgR1NUX0RFQlVHX0ZVTkNQVFIgZm9yIEdPYmplY3QgdmZ1bmNzCgoyMDEwLTA2LTA2IDE3OjU3OjAzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSogc3lzL29zcy9nc3Rvc3NkbWFidWZmZXIuYzoKCSogc3lzL29zcy9nc3Rvc3NzaW5rLmM6CgkqIHN5cy9vc3MvZ3N0b3Nzc3JjLmM6CgkqIHN5cy9vc3M0L29zczQtc2luay5jOgoJKiBzeXMvb3NzNC9vc3M0LXNvdXJjZS5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zaW5rLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NyYy5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4cmluZ2J1ZmZlci5jOgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zaW5rLmM6CgkqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NyYy5jOgoJKiBzeXMvd2F2ZWZvcm0vZ3N0d2F2ZWZvcm1zaW5rLmM6CgkgIHN5czogRG9uJ3QgdXNlIEdTVF9ERUJVR19GVU5DUFRSIGZvciBHT2JqZWN0IHZmdW5jcwoKMjAxMC0wNi0wNiAxNzo1Mjo0MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zaW5rLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NyYy5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zaW5rLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NyYy5jOgoJKiBnc3QvZGVidWd1dGlscy9icmVha215ZGF0YS5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3R0YWdpbmplY3QuYzoKCSogZ3N0L2RlYnVndXRpbHMvcm5kYnVmZmVyc2l6ZS5jOgoJKiBnc3QvZGVidWd1dGlscy90ZXN0cGx1Z2luLmM6CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2JhbGFuY2UuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJICBnc3Q6IERvbid0IHVzZSBHU1RfREVCVUdfRlVOQ1BUUiBmb3IgR09iamVjdCB2ZnVuY3MKCjIwMTAtMDYtMDYgMTU6MTI6MTYgKzAyMDAgIFBoaWxpcCBKw6RnZW5zdGVkdCA8cGhpbGlwakBvcGVyYS5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogcmVmYWN0b3IgZGVsdGEgdW5pdCBoYW5kbGluZwoJICBUaGlzIGFsbG93cyB1cyB0byBza2lwIGRlbHRhIHVuaXRzIGVhcmxpZXIgYW5kIGlzIGEgYml0IGNsZWFyZXIgaW4gbXkKCSAgb3Bpbmlvbi4gSXQgYWxzbyBtYWtlcyBvbmx5IHZpZGVvIGJ1ZmZlcnMgZXZlciBiZSBkZWx0YSB1bml0cywgbm90CgkgIGp1c3QgZm9yIFNpbXBsZUJsb2NrIGFzIGJlZm9yZS4KCjIwMTAtMDYtMDYgMTU6MTc6MDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHZkZW11eDogQ2xlYXIgYWRhcHRlciBvbiBkaXNjb250aW51aXRpZXMKCjIwMTAtMDYtMDYgMTQ6MDM6NTMgKzAyMDAgIFBoaWxpcCBKw6RnZW5zdGVkdCA8cGhpbGlwakBvcGVyYS5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogSWdub3JlIGtleWZyYW1lIGZsYWcgZm9yIG5vbi12aWRlbyBzdHJlYW1zCgkgIFdoZW4gdGhlIGtleWZyYW1lIGJpdCBvZiBTaW1wbGVCbG9jayBGbGFncyB3YXNuJ3Qgc2V0LCB0aGUgYnVmZmVyIHdhcyBiZWluZwoJICBtYXJrZWQgd2l0aCBHU1RfQlVGRkVSX0ZMQUdfREVMVEFfVU5JVCwgY2F1c2luZyBhbGwgYnVmZmVycyB0byBiZSBza2lwcGVkCgkgIGFmdGVyIGEgc2Vlay4gVGhpcyBtYXkgYmUgYSBwcm9ibGVtIHdpdGggdGhlIFNvcmVuc29uIFNxdWlzaCBlbmNvZGVyLCBidXQKCSAgYXJndWFibHkgdGhlIGtleWZyYW1lIGJpdCBzaG91bGQgb25seSBiZSBhcHBsaWVkIHRvIHZpZGVvLgoJICBGaXhlcyBidWcgIzYyMDM1OC4KCjIwMTAtMDYtMDYgMTQ6NTY6NTIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHZkZW11eDogRmlyc3QgdHJ5IHVwc3RyZWFtIHdoZW4gaGFuZGxpbmcgc2VlayBldmVudHMvcXVlcmllcwoKMjAxMC0wNi0wNCAxNDo1NDo1OSAtMDQwMCAgVHJpc3RhbiBNYXR0aGV3cyA8dHJpc3RhbkBzYXQucWMuY2E+CgoJKiBnc3QvcnRwL2dzdHJ0cGNlbHRwYXkuYzoKCSAgZ3N0cnRwY2VsdHBheTogZG9uJ3QgYWx3YXlzIGZpeGF0ZSBzaW5rIGNhcHMgdG8gMSBjaGFubmVsCgkgIFRoZSBnZXRjYXBzIGZ1bmN0aW9uIHNob3VsZCBub3QgZml4YXRlIHRoZSBjaGFubmVscyBmaWVsZCB1bnRpbCB3ZQoJICBnZXQgdGhlIGVuY29kaW5nLXBhcmFtcyBmaWVsZCBmcm9tIG91ciBzcmNwYWQncyBjYXBzLiBGaXhlcyAjNjIwNTkxCgoyMDEwLTA2LTA0IDEzOjU3OjI4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwOiB0cnkgYWxsIHJhbmdlcyBmcm9tIHRoZSBzZHAKCSAgVHJ5IGFsbCByYW5nZXMgaW4gdGhlIFNEUCBiZWZvcmUgZ2l2aW5nIHVwLgoKMjAxMC0wNi0wNCAxMzo1NjowNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogbWFrZSBwYXJzZV9yYW5nZSByZXR1cm4gcmVzdWx0CgkgIE1ha2UgdGhlIHBhcnNlX3JhbmdlIGZ1bmN0aW9uIHJldHVybiBpZiB0aGUgcGFyc2luZyBzdWNjZWVkZWQgb3IgZmFpbGVkLgoKMjAxMC0wNi0wNCAxMTo0NDowOSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSAgdmlkZW9taXhlcjogaWYgd2UncmUgbm90IGxpbmtlZCBkb3duc3RyZWFtLCB3ZSBjYW4gZG8gYW55IGZvcm1hdAoJICBTdHVwaWQgbWUsIGFzc3VtaW5nIF9nZXRfYWxsb3dlZF9jYXBzKCkgd291bGQgYWN0dWFsbHkgcmV0dXJuIHRoZQoJICBwYWQgdGVtcGxhdGVzIGlmIHRoZXJlIHdhcyBubyBwZWVyLgoKMjAxMC0wNS0zMSAxNjoyNjoxOSArMDEwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkLnNpbW9uc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYXBheS5jOgoJICBLZWVwIGFubm91bmNpbmcgdGhlIGRlbGl2ZXJ5LW1ldGhvZCBpbiB0aGUgY2FwYWJpbGl0aWVzCgkgIEV2ZW4gdGhvdWdoIHdlIGRvbid0IHVzZSBkZWxpdmVyeS1tZXRob2QgaW4gb3VyIHBheWxvYWRlciwgb2xkZXIgdmVyc2lvbnMgb2YKCSAgdGhlIHRoZW9yYSBwYXlsb2FkZXIgaW4gZ3N0cmVhbWVyIHJlcXVpcmVkIGl0LiBBcyBzdWNoIHdlIG5lZWQgdG8ga2VlcCB0aGlzCgkgIGFyb3VuZCBpbiB0aGUgY2FwcyBmb3IgYmFja3dhcmRzLWNvbXBhdGliaWxpdHkuCgkgIFRoaXMgcmV2ZXJ0cyBwYXJ0IG9mIDQ5NDYzYTM3Y2JhYTk1MmUxNDAxMjkxZjBhMjYyM2RlNmNhYjM4ODAKCSAgRml4ZXMgIzYxODk0MAoKMjAxMC0wNi0wMyAxNzo1MjoxMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJKiBzeXMvb3NzNC9vc3M0LW1peGVyLmM6CgkgIG9zczQ6IGFkZCBzb21lIGNvbW1lbnRzIGZvciB0cmFuc2xhdG9ycyB0byBjbGFyaWZ5IG1lYW5pbmcgb2YgIkxvdyIKCSAgIkxvdyIgZXRjLiBhcmUgcXVhbGl0eSBzZXR0aW5ncyBoZXJlIChlLmcuIGZvciB0aGUgaW50ZXJuYWwgcmVzYW1wbGVyKS4KCSAgU29tZSBkYXkgd2hlbiB3ZSB1c2UgR0xpYidzIGkxOG4gZnVuY3Rpb25zIHdlIG1pZ2h0IHdhbnQgdG8gdXNlCgkgIE5DXygpIGFuZCBnX2RwZ2V0dGV4dDIoKSBoZXJlIGluc3RlYWQgb2YgdGhlIGNvbW1lbnRzLgoJICBGaXhlcyAjNTU1OTY3LgoKMjAxMC0wNi0wMyAxOToyMzowMSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z2RlcGF5Lmg6CgkgIG1wNGdkZXBheTogY2FsY3VsYXRlIHRoZSBmcmFtZSBkdXJhdGlvbiBjb3JyZWN0bHkKCSAgV2hlbiB3ZSBjYWxjdWxhdGUgdGhlIGZyYW1lIGR1cmF0aW9uLCB3ZSBuZWVkIHRvIHVzZSB0aGUgYW1vdW50IG9mCgkgIGZyYW1lcyBpbiB0aGUgX3ByZXZpb3VzXyBwYWNrZXQsIG5vdCB0aGUgY3VycmVudCBwYWNrZXQuIFRoZSBmcmFtZSBkdXJhdGlvbiBpcwoJICBuZWVkZWQgdG8gY29ycmVjdGx5IGRlLWludGVybGVhdmUgaW50ZXJsZWF2ZWQgc3RyZWFtcy4gVGhpcyBmaXhlcyB0aGUgY2FzZSB3aGVyZQoJICB0aGVyZSBhcmUgYSB2YXJpYWJsZSBudW1iZXIgb2YgZnJhbWVzIGluIGEgcGFja2V0LgoJICBGaXhlcyAjNjIwNDk0CgoyMDEwLTA2LTAzIDE4OjU4OjQyICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJICB2aWRlb21peGVyOiBEb24ndCByZXR1cm4gY2FwcyBpbiBnZXRfY2FwcygpIHRoYXQgd2lsbCBiZSByZWplY3RlZAoJICBUaGlzIGNvbW1pdCBiYXNpY2FsbHkgcHV0cyBfZ2V0X2NhcHMoKSBpbiBzeW5jIHdpdGggYWNjZXB0X2NhcHMoKS4KCSAgSWYgd2UgZG9uJ3QgaGF2ZSBhIG1hc3RlciBwYWQgT1IgdGhlIG1hc3RlciBwYWQgY2FwcyBhcmVuJ3QgbmVnb3RpYXRlZAoJICB0aGVuIHdlIGp1c3QgcmV0dXJuIHRoZSBkb3duc3RyZWFtIGFsbG93ZWQgY2Fwcy4KCSAgSWYgd2UgaGF2ZSBhIG1hc3RlciBwYWQgd2l0aCBuZWdvdGlhdGVkIGNhcHMsIHdlIHJldHVybiB0aG9zZSBjYXBzCgkgIHdpdGggYSBmcmVlIHJhbmdlIG9mIHdpZHRoL2hlaWdodC9mcmFtZXJhdGUKCjIwMTAtMDYtMDMgMTM6NDU6MzIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBSZXZlcnQgInB1bHNlc2luazogQWRkIGNvbW1lbnRzIHRvIHJlbW92ZSB0aGUgcHJvdmlkZS1jbG9jayBtZXNzYWdlIHBvc3Rpbmcgb25jZSB3ZSBkZXBlbmQgb24gYmFzZSAwLjEwLjMwIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDhmMzcwOGYzOGFhMzgzOWE2YTYyNWNhN2QxYzE2NjEwMWM5ZmJiN2YuCgkgIFRoZSBiYXNlYXVkaW9zaW5rIGNvbW1pdCB3YXMgcmV2ZXJ0ZWQKCjIwMTAtMDYtMDMgMTA6Mjc6MjUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IEFkZCBjb21tZW50cyB0byByZW1vdmUgdGhlIHByb3ZpZGUtY2xvY2sgbWVzc2FnZSBwb3N0aW5nIG9uY2Ugd2UgZGVwZW5kIG9uIGJhc2UgMC4xMC4zMAoJICBiYXNlYXVkaW9zaW5rIGRvZXMgYWxsIHRoaXMgZm9yIHVzIG5vdy4KCjIwMTAtMDUtMDcgMTg6NDI6MDYgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBkdG1mOiBSZW1vdmUgcnRwZHRtZm11eCBzdHJlYW0tbG9jayBjb2RlCgoyMDEwLTA2LTAyIDE2OjM2OjExICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx2ZGVtdXg6IGRlbGF5ZWQgc2VlayBoYW5kbGluZyBhbHNvIGRlc2VydmVzIFRSVUUgZXZlbnQgcmVzcG9uc2UKCjIwMTAtMDYtMDIgMTU6MzA6NDcgKzAyMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBmaXggY29tcGlsZXIgd2FybmluZwoJICB1bnVzZWQgdmFyaWFibGUg4oCYZXN0aW1hdGVk4oCZCgoyMDEwLTA2LTAyIDE1OjA0OjAwICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGNvbW1vbjoKCSAgY29tbW9uOiByZXZlcnQgdGhlIGNoYW5nZSBpIGRpZCBpbiBteSBwcmV2aW91cyBjb21taXQKCjIwMTAtMDYtMDIgMTM6Mzk6MTAgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogY29tbW9uOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBzdG9wIGJ1ZmZlcmluZyBhbmQgZW1pdCBFT1MgYXQgdGhlIGVuZCBvZiBhIHN0cmVhbQoJICBXaGVuIHVzaW5nIFJUUF9KSVRURVJfQlVGRkVSX01PREVfQlVGRkVSLCBtYWtlIHN1cmUgdGhhdCB0aGUgcmluZ2J1ZmZlciBkb2Vzbid0CgkgIGdldCBzdHVjayBidWZmZXJpbmcgZm9yZXZlciB3aGVuIHRoZXJlIGlzbid0IGVub3VnaCBkYXRhIGxlZnQgdG8gZmlsbCB0aGUKCSAgYnVmZmVyLgoKMjAxMC0wNi0wMSAyMTo1Mjo1OSArMDIwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogZ3N0L2RlYnVndXRpbHMvdGVzdHBsdWdpbi5jOgoJICBkZWJ1Z3V0aWxzOiBEb24ndCBjb25zdW1lIHByZXJvbGwgYnVmZmVyIHR3aWNlCgoyMDEwLTA2LTAxIDIxOjMyOjExICswMjAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBleHQvcHVsc2UvcHVsc2V1dGlsLmM6CgkgIHB1bHNlOiBTdHlsZSBmaXg6IHVzZSBnX3N0cmR1cCgpIGluc3RlYWQgb2YgcHJpbnRmKClpbmcgYSBzaW1wbGUgc3RyaW5nCgoyMDEwLTA1LTI3IDE2OjA3OjMxICswMjAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBnc3QvZGVidWd1dGlscy90ZXN0cy5jOgoJICBkZWJ1Z3V0aWxzOiBSZXBsYWNlIG1kNSBpbXBsZW1lbnRhdGlvbiB3aXRoIGdsaWIncwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjE5ODI0CgoyMDEwLTA1LTIyIDExOjU1OjM3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkgIGF2aW11eDogY2xlYW4gdXAgY29kZSBmb3IgYXZpIGhlYWRlciB1c2luZyBhIGJ5dGV3cml0ZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYxOTI5MwoKMjAxMC0wNi0wMSAxODo1NDo0MSAtMDUwMCAgUGllcnJlLUxvdWlzIEJvc3NhcnQgPHBpZXJyZS1sb3Vpcy5ib3NzYXJ0QGludGVsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IG9wdGltaXplIGNvbW11bmljYXRpb24gd2l0aCBQdWxzZUF1ZGlvIHVzaW5nIHBhX3N0cmVhbV9iZWdpbl93cml0ZQoKMjAxMC0wNi0wMiAxMDo1Mjo1NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogUG9zdCBwcm92aWRlLWNsb2NrIG1lc3NhZ2Ugb24gdGhlIGJ1cyBpZiB0aGUgY2xvY2sgYXBwZWFycy9kaXNhcHBlYXJzCgkgIEZpeGVzIGJ1ZyAjNjIwMjc3LgoKMjAxMC0wNi0wMSAyMzo0OToxNyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDE3Zjg5ZTUgdG8gNDc2ODNjMQoKMjAxMC0wNi0wMSAyMjo1NDo0OSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGNkZmYwZmIgdG8gMTdmODllNQoKMjAxMC0wNi0wMSAyMDo0NToyOSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSAgdmlkZW9taXhlcjogZmlsdGVyIGNhcHMgcmV0dXJuZWQgZnJvbSBkb3duc3RyZWFtIHdpdGggb3VyIHBhZCB0ZW1wbGF0ZS4KCjIwMTAtMDYtMDEgMTY6NTY6MzIgKzAxMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBSZW1vdmUgbW9yZSB1bm5lZWRlZCB3YXJuaW5ncwoKMjAxMC0wNi0wMSAxNjo1NDowMyArMDEwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9lYm1sLXdyaXRlLmM6CgkgIG1hdHJvc2thbXV4OiByZW1vdmUgdW5uZWVkZWQgd2FybmluZwoKMjAxMC0wNi0wMSAxNjo0OToxNCArMDEwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9lYm1sLXdyaXRlLmM6CgkgIG1hdHJvc2thbXV4OiByZW1vdmUgdW5uZWVkZWQgZGVidWcgc3RhdGVtZW50CgoyMDEwLTA2LTAxIDE2OjI0OjUzICswMTAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4Lmg6CgkgIG1hdHJvc2thbXV4OiBjaGFuZ2UgaXMtbGl2ZSBwcm9wZXJ0eSB0byBpbmRleGVkCgoyMDEwLTA1LTIzIDEzOjU2OjE2ICswMTAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2E6IHVzZSB0aGUgdWludDY0IHNjYWxpbmcgZnVuY3Rpb25zCgkgIEluIGRlbXV4ZXIgYW5kIG11eGVyIHVzZSB0aGUgZ3N0X3V0aWxfdWludDY0IHNjYWxpbmcgZnVuY3Rpb25zIHJhdGhlciB0aGFuCgkgIHN0YW5kYXJkIGludGVnZXIgZGl2aXNpb24uIEFkZCB3YXJuaW5ncyAodG8gYmUgY2hhbmdlZCB0byBkZWJ1ZykgZm9yIGRlYnVnZ2luZwoJICB0aGUgdGltZXN0YW1wIGFuZCBkdXJhdGlvbi4KCjIwMTAtMDUtMjEgMTQ6MzU6MzQgKzAxMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJKiBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS5jOgoJKiBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS5oOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBzZXQgZGVsdGEgdW5pdCBvbiBhbGwgYnVmZmVycyBleGNlcHQgY2x1c3RlciBzdGFydCBvbmVzCgoyMDEwLTA1LTIxIDEzOjM4OjExICswMTAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuYzoKCSogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuaDoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogc3RvcmUgY2FwcyBhbmQgc2V0IG9uIGJ1ZmZlcnMgcmF0aGVyIHRoYW4gdXNpbmcgcGFkIGNhcHMKCjIwMTAtMDUtMjEgMTM6MjU6MjQgKzAxMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBtYWtlIHN1cmUgcGFkcyBjYXBzIGFyZSBzZXQgYmVmb3JlIGFueSBidWZmZXJzIHB1c2hlZC4KCjIwMTAtMDUtMjEgMTM6MTQ6MDQgKzAxMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJKiBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS5jOgoJKiBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS5oOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBhZGQgc3RyZWFtaGVhZGVycwoKMjAxMC0wNS0yMSAxMjoyMzowOCArMDEwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IG5vIG5lZWQgdG8gc2V0IGNhY2hlIHR3aWNlCgoyMDEwLTA1LTIxIDAxOjU5OjUzICswMjAwICBYYXZpZXIgUXVlcmFsdCA8eHF1ZXJhbHRAZ21haWwuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBEbyBub3QgY3JlYXRlIGEgU2Vla0hlYWRlciwgQ3VlcywgLi4gd2hlbiBkb2luZyBsaXZlCgoyMDEwLTA1LTIwIDIzOjM5OjU5ICswMjAwICBYYXZpZXIgUXVlcmFsdCA8eHF1ZXJhbHRAZ21haWwuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4Lmg6CgkgIEFkZCBpcy1saXZlIHByb3BlcnR5CgoyMDEwLTA2LTAxIDEzOjIyOjI2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogZml4IHZhcmlhYmxlIGluaXQKCjIwMTAtMDUtMjggMTY6Mzc6MzIgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5oOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmg6CgkgIG1hdHJvc2thZGVtdXg6IGltcHJvdmUgcmV2ZXJzZSBwbGF5YmFjawoJICBTbGlnaHRseSBtb2RpZnkgYXBwcm9hY2ggdG8gYWxzbyBoYW5kbGUgY2FzZXMgd2hlcmUgY3VlIGVudHJpZXMgZG8gbm90IHJlbGlhYmx5CgkgIGxlYWQgdG8gaW5pdGlhbCBrZXlmcmFtZXMuCgkgIEZpeGVzICM2MTk4MTcuCgoyMDEwLTA1LTI0IDE2OjAyOjU4ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZW1ldGhvZC5oOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2xpbmVhci5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2xpbmVhcmJsZW5kLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvc2NhbGVyYm9iLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvdG9tc21vY29tcC5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3ZmaXIuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS93ZWF2ZS5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3dlYXZlYmZmLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvd2VhdmV0ZmYuYzoKCSAgZGVpbnRlcmxhY2U6IGF2b2lkIGd0ay1kb2MgY29uZnVzaW5nIGNvbW1lbnRzCgoyMDEwLTA1LTIxIDExOjIxOjU4ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tYXRyb3NrYW11eC5jOgoJICBtYXRyb3NrYW11eDogYWRqdXN0IHVuaXQgdGVzdCB0byBtb2RpZmllZCBiZWhhdmlvdXIKCjIwMTAtMDUtMjAgMTQ6MzM6NDEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuYzoKCSogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuaDoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogdXNlIHdyaXRlIGNhY2hpbmcgYWxzbyB3aGVuIHdyaXRpbmcgYnVmZmVyIGRhdGEKCSAgU3BlY2lmaWNhbGx5LCB0aGlzIHJlZHVjZXMgcHVzaGluZyBzZXZlcmFsIHNtYWxsIGJ1ZmZlcnMgZm9yIGVhY2gKCSAgZGF0YSBidWZmZXIgYW5kIGFsc28gYXZvaWRzIGEgc2VlayBmb3IgZWFjaCBidWZmZXIgYWx0b2dldGhlcgoJICAodGhvdWdoIGEgc2VlayBpcyBzdGlsbCBuZWVkZWQgZm9yIGVhY2ggY2x1c3RlcikuCgkgIEZpeGVzICM2MTkyNzMuCgoyMDEwLTA1LTIwIDE0OjIzOjA3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9lYm1sLXdyaXRlLmM6CgkqIGdzdC9tYXRyb3NrYS9lYm1sLXdyaXRlLmg6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IGZpeCBlYm1sIHdyaXRlIGNhY2hpbmcgd2l0aCBieXRld3JpdGVyIGltcGxlbWVudGF0aW9uCgkgIEFsc28gY2FjaGUgYSBiaXQgbW9yZSBkdXJpbmcgaGVhZGVyIHdyaXRpbmcuCgkgIEZpeGVzICM2MTkyNzMuCgoyMDEwLTA1LTIwIDE0OjA4OjQyICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9lYm1sLXdyaXRlLmM6CgkgIG1hdHJvc2thbXV4OiB1c2UgY29uc2lzdGVudCBkZWJ1ZyBjYXRlZ29yeSBuYW1lIGZvciBlYm1sd3JpdGUKCjIwMTAtMDUtMTggMTQ6NDQ6MTUgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL2VibWwtcmVhZC5jOgoJKiBnc3QvbWF0cm9za2EvZWJtbC1yZWFkLmg6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguaDoKCSAgbWF0cm9za2FkZW11eDogdXNlIGJ5dGVyZWFkZXIgYmFzZWQgR3N0RWJtbFJlYWQgYXMgYSBoZWxwZXIKCSAgLi4uIHJhdGhlciB0aGFuIGJhc2luZyBvbiBpdCBieSBpbmhlcml0YW5jZS4KCSAgQWxzbyB1c2UgbW9yZSBjb21tb24gY29kZSBmb3IgcHVzaCBhbmQgcHVsbCBtb2RlLgoJICBGaXhlcyAjNjE5MTk4LgoJICBGaXhlcyAjNjExMTE3LgoKMjAxMC0wNi0wMSAxNTo0NzozMiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBfZ2V0X3BhZF90ZW1wbGF0ZSByZXN1bHQgbmVlZHMgbm8gdW5yZWYKCjIwMTAtMDUtMTggMTk6NDI6NTggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2xpYnBuZy9nc3RwbmdlbmMuYzoKCSAgcG5nZW5jOiBTdXBwb3J0IDggYml0IGdyYXlzY2FsZQoJICBBZGRzIHN1cHBvcnQgdG8gOCBiaXQgZ3JheXNjYWxlIGlucHV0CgoyMDEwLTA1LTE4IDE0OjQ2OjU0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogQWRkcyA4Yml0IGdyYXlzY2FsZSBzdXBwb3J0CgkgIEFkZHMgZGVjb2Rpbmcgc3VwcG9ydCBmb3IganBlZyBpbWFnZXMgaW4gOCBiaXQgZ3JheXNjYWxlIGZvcm1hdC4KCjIwMTAtMDUtMTggMDE6NTc6MTQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJICBqcGVnZW5jOiBBY2NlcHQgZ3JheXNjYWxlIGFzIGlucHV0CgkgIEFkZHMgdmlkZW8veC1yYXctZ3JheXNjYWxlICg4IGJpdCkgc3VwcG9ydCB0byBqcGVnZW5jCgoyMDEwLTA1LTMxIDEzOjMwOjA1ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJICB2aWRlb21peGVyOiBJbXBsZW1lbnQgc2lua3BhZCBHZXRDYXBzRnVuY3Rpb24uCgkgIFRoaXMgYWxsb3dzIHJldHVybmluZyBvbmx5IHRoZSBmb3JtYXRzLCB3aWR0aCwgaGVpZ2h0LCBmcmFtZXJhdGUKCSAgYW5kIHBpeGVsLWFzcGVjdC1yYXRpbyB0aGF0IGRvd25zdHJlYW0gY2FuIHN1cHBvcnQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjAxNDgKCjIwMTAtMDUtMzEgMDc6NDk6MjEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IERvbid0IGNvbXBhcmUgcnVubmluZyB0aW1lcyB3aXRoIHN0cmVhbSB0aW1lcyB3aGVuIGRvaW5nIFFvUwoKMjAxMC0wNS0yNyAyMTowNjo0MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmg6CgkgIGRlaW50ZXJsYWNlOiBEb24ndCByZWNvbmZpZ3VyZSB0aGUgY2FwcyB3aGVuIGNoYW5naW5nIHByb3BlcnRpZXMKCSAgRml4ZXMgYnVnICM2MTk4NDguCgoyMDEwLTA1LTI2IDEzOjEzOjQ0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuaDoKCSAgYWxwaGE6IEFkZCBwcm9wZXJ0eSB0byBhbGxvdyBwYXNzdGhyb3VnaCBtb2RlCgkgIFRoaXMgcGFzc3Rocm91Z2ggbW9kZSBpcyB1c2VkIGlmIHRoZSBhbHBoYSBtZXRob2QgaXMgInNldCIKCSAgYW5kIHRoZSBhbHBoYSB2YWx1ZSBpcyAxLjAuCgkgIEZpeGVzIGJ1ZyAjNjE3NTEyLgoKMjAxMC0wNS0yNSAxNToxNjowNiArMTAwMCAgQWxleGFuZGVyIEtvamV2bmlrb3YgPGFsZXhhbmRlckBrb2pldm5pa292LmNvbT4KCgkqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJICBzcGVjdHJ1bTogc3VwcG9ydCAyNC1iaXQgd2lkdGgKCSAgRml4ZXMgIzYxOTA0NQoKMjAxMC0wNS0yNCAyMTo1MDo1OCArMTAwMCAgQWxleGFuZGVyIEtvamV2bmlrb3YgPGFsZXhhbmRlckBrb2pldm5pa292LmNvbT4KCgkqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJICBzcGVjdHJ1bTogc3VwcG9ydCBhcmJpdHJhcnkgYml0IGRlcHRoCgkgIFBhcnRpYWxseSBmaXhlcyAjNjE5MDQ1CgoyMDEwLTA1LTI1IDA1OjM2OjQ2ICswMjAwICBQaGlsaXAgSsOkZ2Vuc3RlZHQgPHBoaWxpcGpAb3BlcmEuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IGZpeCBkZWFkbG9jayBpbnRyb2R1Y2VkIGJ5IHZpZGVvIGtleWZyYW1lIFFvUwoKMjAxMC0wNS0yMyAwOTozMjowOCArMDIwMCAgUGhpbGlwIErDpGdlbnN0ZWR0IDxwaGlsaXBqQG9wZXJhLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuaDoKCSAgbWF0cm9za2FkZW11eDogc2tpcCBidWZmZXJzIGJlZm9yZSBhIGxhdGUga2V5ZnJhbWUgKFFvUykKCSAgQmVmb3JlLCB2cDhkZWMgaGFkIG5vIG9wdGlvbiBidXQgdG8gZGVjb2RlIGFsbCBmcmFtZXMgZXZlbiBpZiBzb21lL2FsbAoJICBvZiB0aGVtIHdvdWxkIGJlIGxhdGUuIFdpdGggdGhpcyBjaGFuZ2UsIHBlcmZvcm1hbmNlIHdoZW4ga2V5ZnJhbWVzIGFyZQoJICBmcmVxdWVudCBpcyBoZWxwZWQgYSBncmVhdCBkZWFsLiBPbiBteSBUaGlua3BhZCBYNjBzLCBkZWNvZGluZyBhIDIwIHMKCSAgMTA4MHAgc3VuZmxvd2VyIGVuY29kZSB3aXRoIGtleWZyYW1lcyBldmVyeSAxMCBmcmFtZXMgd2VudCBmcm9tIHRha2luZwoJICA0MiBzIHdpdGggNSBmcmFtZXMgc2hvd24gdG8gMjEgcyB3aXRoIDE1IGZyYW1lcyBzaG93biAoc3RpbGwgc2xvdwoJICBlbm91Z2ggdG8gY291bnQgYnkgaGFuZCkuIFdoZW4ga2V5ZnJhbWVzIGFyZSBtb3JlIHNwYXJzZSwgeW91IHdpbGwKCSAgc3RpbGwgYmUgYWJsZSB0byBjYXRjaCB1cCBldmVudHVhbGx5LCBidXQgdGhlIHJlc3VsdHMgd29uJ3QgYmUgYXMKCSAgbm90aWNhYmxlLgoKMjAxMC0wNS0xNCAxNzo1Nzo1OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuaDoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcnBhZC5oOgoJICB2aWRlb21peGVyOiBEb24ndCBtaXggaW5wdXQgd2l0aCBkaWZmZXJlbnQgcGl4ZWwgYXNwZWN0IHJhdGlvcwoJICBGaXhlcyBidWcgIzYxODUzMC4KCjIwMTAtMDUtMTcgMTk6NTQ6MjIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9ncmVlZHloLmFzbToKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9ncmVlZHloLmM6CgkgIGRlaW50ZXJsYWNlOiBBZGQgTU1YLzNETm93IGltcGxlbWVudGF0aW9ucyBvZiBncmVlZHloIGZvciBVWVZZCgoyMDEwLTA1LTE3IDE5OjE2OjQzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvZ3JlZWR5aC5jOgoJICBkZWludGVybGFjZTogRml4IFVZVlkgaW1wbGVtZW50YXRpb24gb2YgZ3JlZWR5aCB0byBiZSBhY3R1YWxseSB1c2VkCgoyMDEwLTA1LTExIDExOjQzOjA3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvZ2RrX3BpeGJ1Zi9NYWtlZmlsZS5hbToKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmLmM6CgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1ZnNpbmsuYzoKCSogZXh0L2dka19waXhidWYvcGl4YnVmc2NhbGUuYzoKCSAgZ2RrcGl4YnVmOiBBZGQgYSBnZGtwaXhidWYzIHBsdWdpbiB0aGF0IHVzZXMgZ2RrcGl4YnVmMwoKMjAxMC0wNi0wMSAxMDowNjoxMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBNYWtlZmlsZS5hbToKCSogY29tbW9uOgoJKiB3aW4zMi9jb21tb24vZ3N0cnRwYmluLW1hcnNoYWwuYzoKCSogd2luMzIvY29tbW9uL2dzdHJ0cGJpbi1tYXJzaGFsLmg6CgkqIHdpbjMyL2NvbW1vbi9nc3R1ZHAtZW51bXR5cGVzLmM6CgkqIHdpbjMyL2NvbW1vbi9nc3R1ZHAtbWFyc2hhbC5jOgoJKiB3aW4zMi9jb21tb24vZ3N0dWRwLW1hcnNoYWwuaDoKCSAgd2luMzI6IGFkZCBtb3JlIGdlbmVyYXRlZCBtYXJzaGFsIGFuZCBlbnVtdHlwZSBmaWxlcyB0byB3aW4zMi11cGRhdGUKCjIwMTAtMDYtMDEgMDk6Mjc6MDAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLmM6CgkgIFJldmVydCAibWF0cm9za2E6IGFkZCB0ZW1wb3Jhcnkgd2VibSB0eXBlZmluZGVyIgoJICBUaGlzIHJldmVydHMgY29tbWl0IGQxNDhlYzBhZDIwNTNhYmIwYzM4ZmM2ODFhODk1MzI5Mjk4NTM4OGYuCgkgIFdlIGRlcGVuZCBvbiAtYmFzZSBnaXQgbm93LCB3aGljaCBoYXMgYSB3ZWJtIHR5cGVmaW5kZXIgaW4gdGhlIHVzdWFsCgkgIHBsYWNlLgoKMjAxMC0wNi0wMSAwOToyNjoxMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIFJldmVydCAiYXZpbXV4LCBmbHZtdXgsIG1hdHJvc2thbXV4OiBkb24ndCBjcmFzaCBpZiB0YWdzIGFycml2ZSBvbiBtdWx0aXBsZSBpbnB1dCBwYWRzIGF0IHRoZSBzYW1lIHRpbWUiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgNmE5OTgzY2QyMGM0OGI5NjM5NjIyOWIzZjk0ZDAyNTRhMDVkZGY0OC4KCSAgUmVseSBvbiBsb2NraW5nIGRvbmUgaW4gR3N0VGFnU2V0dGVyIGluIGNvcmUgZ2l0LgoKMjAxMC0wNi0wMSAwOToyMzoxOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogcmVxdWlyZSBjb3JlL2Jhc2UgZ2l0CgkgIEZvciBXZWJNIHR5cGVmaW5kaW5nIGFuZCBHc3RUYWdzZXR0ZXIgZml4ZXMuCgoyMDEwLTA2LTAxIDA5OjE3OjUyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oYWxlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF1aWNrdGltZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgQmFjayB0byBkZXZlbG9wbWVudAoKPT09IHJlbGVhc2UgMC4xMC4yMyA9PT0KCjIwMTAtMDUtMzAgMTQ6MDM6NTMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGFsZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdWlja3RpbWUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiBnc3QtcGx1Z2lucy1nb29kLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAwLjEwLjIzCgoyMDEwLTA1LTMwIDE0OjAyOjA0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMTAtMDUtMjkgMTA6MjM6NDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHZkZW11eDogRml4IHBvc2l0aW9uIHF1ZXJ5CgoyMDEwLTA1LTI4IDE1OjE0OjA3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS93ZWJtLW11eC5jOgoJICBkb2NzOiByZW1vdmUgdW5uZWNlc3NhcnkgdmlkZW9yYXRlIGVsZW1lbnQgZnJvbSB3ZWJtbXV4IGV4YW1wbGUgcGlwZWxpbmUKCjIwMTAtMDUtMjggMTA6NDM6MzYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJICBqcGVnZW5jOiBLZWVwIHZhcmlhYmxlcyBpbiBzYW5lIHN0YXRlIGFmdGVyIF9yZXNldAoJICBXaGVuIHJlc2V0aW5nLCBrZWVwICdyb3cnIHZhcmlhYmxlcyBhdCBhIHNhbmUgc3RhdGUgYWZ0ZXIKCSAgZnJlZWluZyB0byBhdm9pZCBpdCBiZWluZyBmcmVlZCBhZ2FpbiBvbiBfcmVzeW5jIHJlYWxsb2MKCSAgd2hlbiB0aGUgZWxlbWVudCBpcyByZXVzZWQuCgkgIEZpeGVzICM2MTk5NDMKCjIwMTAtMDUtMjcgMTg6MDg6MTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6CgkgIHZpZGVvYm94OiBGaXggZmxvYXRpbmcgcG9pbnQgdG8gaW50ZWdlciBjb252ZXJzaW9uIGZvciB0aGUgYWxwaGEgdmFsdWVzCgkgIEZpeGVzIGJ1ZyAjNjE5ODM1LgoKMjAxMC0wNS0yNiAwODo1NDozMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgMC4xMC4yMi4zIHByZS1yZWxlYXNlCgoyMDEwLTA1LTI2IDAwOjMzOjU5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkgIHBvOiB1cGRhdGUgdHJhbnNsYXRpb25zCgoyMDEwLTA1LTI1IDE1OjM0OjExICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICB3YXZwYXJzZTogaGFuZGxlIHRydW5jYXRlZCBpbnB1dCBkYXRhIGF0IEVPUyBpbiBwdWxsIG1vZGUKCSAgRml4ZXMgIzYxNzczMy4KCjIwMTAtMDUtMjYgMTE6NTU6MTMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSAzNTdiMGRiIHRvIGZkN2NhMDQKCjIwMTAtMDUtMjUgMjE6MTQ6MDUgKzAyMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogUm91bmQgdGltZXN0YW1wIHVwIHdoZW4gc2NhbGluZyB0byBtb3YgZm9ybWF0CgkgIEZpeCB0aW1lc3RhbXAgcm91bmRpbmcgdG8gYWxsb3cgdGhlIGNvcnJlY3QgaW5kZXggdG8gYmUgbG9jYXRlZC4KCSAgVGhlIGlzc3VlIHdhcyB0aGF0IHNjYWxpbmcgZnJvbSBHU3RyZWFtZXIgdGltZSBmb3JtYXQgdG8gbW92IHRpbWUgZm9ybWF0IHdhcwoJICByb3VuZGluZyBkb3duIGNhdXNpbmcgdGhlIHRpbWVzdGFtcCBvZiB0aGUgbmV3c2VnbWVudCBldmVudCByZWNlaXZlZCBhZnRlciBhCgkgIGZsdXNoaW5nIGtleWZyYW1lIHNlZWsgdG8gZmluZCB0aGUgc2FtcGxlIGluZGV4IGJlZm9yZSB0aGUgb25lIGl0IHNob3VsZAoJICBjYXVzaW5nIGZ1cnRoZXIgYmFja3dhcmQgc2Vla2luZyB0byB0aGUga2V5ZnJhbWUgcHJpb3IgdW50aWwgbm8gcm91bmRpbmcgZXJyb3IKCSAgb2NjdXJyZWQuCgkgIFJvdW5kaW5nIHVwIHdoZW4gc2NhbGluZyB0byBtb3YgZm9ybWF0IGhhcyB0aGUgZGVzaXJlZCBlZmZlY3QsIGFuZCBpdCBpcwoJICBub3QgY2xlYXIgd2hldGhlciBqdXN0IHRoZSBfcm91bmQgKCkgdmFyaWFudCB3b3VsZCBiZSBzdWZmaWNpZW50LgoJICBGaXhlcyBidWcgIzYxOTEwNQoKMjAxMC0wNS0yNCAxNzoyNjo0MiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIGF2aW11eCwgZmx2bXV4LCBtYXRyb3NrYW11eDogZG9uJ3QgY3Jhc2ggaWYgdGFncyBhcnJpdmUgb24gbXVsdGlwbGUgaW5wdXQgcGFkcyBhdCB0aGUgc2FtZSB0aW1lCgkgIFRoaXMgaXMgYSB0ZW1wb3JhcnkgZml4IGZvciB0aGUgcmVsZWFzZSBvbmx5LgoJICBGaXhlcyAjNjE5NTMzLgoKMjAxMC0wNS0yNSAxNzowNToxMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFwYXkuYzoKCSAgcnRwdGhlb3JhOiByZW1vdmUgZGVsaXZlcnktbWV0aG9kIGZyb20gY2FwcwoJICBXZSBjYW4gYWNjZXB0IGFsbCBkZWxpdmVyeSBtZXRob2RzIHNvIGRvbid0IGFkdmVydGlzZSBhbnl0aGluZyBvbiB0aGUgY2FwcyBvcgoJICBwYXJzZSBhbnl0aGluZywgd2Ugd2lsbCBoYW5kbGUgd2hhdGV2ZXIgd2UgcmVjZWl2ZS4KCSAgRml4ZXMgIzYxODk0MAoKMjAxMC0wNS0yNSAxNTo0MDowMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EuYzoKCSAgbWF0cm9za2E6IGFkZCB0ZW1wb3Jhcnkgd2VibSB0eXBlZmluZGVyCgkgIEFkZCB3ZWJtIHR5cGVmaW5kZXIganVzdCBmb3IgdGhlIHJlbGVhc2UsIHNvIHdlYm0gd29ya3MgZm9yCgkgIHBlb3BsZSB3aG9zZSBkaXN0cm9zIGRvbid0IHBhdGNoIGdzdC1wbHVnaW5zLWJhc2UgYXMgd2VsbC4KCSAgV2UnbGwgcmVtb3ZlIHRoaXMgYWdhaW4gYWZ0ZXIgdGhlIHJlbGVhc2UuCgoyMDEwLTA1LTIzIDExOjE3OjI3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS93ZWJtLW11eC5jOgoJICBkb2NzOiBhZGQgc29tZSBwaXBlbGluZSBleGFtcGxlcyB0byB3ZWJtbXV4IGRvY3MKCjIwMTAtMDUtMjEgMTI6Mjc6MDcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oYWxlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF1aWNrdGltZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkgIGRvY3M6IGFkZCB3ZWJtbXV4IHRvIGRvY3MKCjIwMTAtMDUtMjEgMTM6MDE6MzAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS5jOgoJKiBnc3QvbWF0cm9za2Evd2VibS1tdXguYzoKCSAgbWF0cm9za2E6IGZpeCB1cCBwbHVnaW4gYW5kIGVsZW1lbnQgZGVzY3JpcHRpb25zIGEgYml0CgoyMDEwLTA1LTIxIDEyOjQ3OjAzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9NYWtlZmlsZS5hbToKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4Lmg6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS5jOgoJKiBnc3QvbWF0cm9za2Evd2VibS1tdXguYzoKCSogZ3N0L21hdHJvc2thL3dlYm0tbXV4Lmg6CgkgIG1hdHJvc2thOiBtb3ZlIHdlYm1tdXggaW50byBvd24gc291cmNlIGZpbGVzCgkgIE1ha2VzIHRoaW5ncyBlYXNpZXIgZm9yIGd0ay1kb2MuCgoyMDEwLTA1LTIxIDEyOjI2OjA1ICswNTAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPGNocmlzdGlhbi5zY2hhbGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtcGx1Z2lucy1nb29kLnNwZWMuaW46CgkgIFVwZGF0ZSBzcGVjIGZpbGUgd2l0aCBsYXRlc3QgY2hhbmdlcwoKMjAxMC0wNS0yMCAyMDowMTo1OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmg6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2E6IFJlbW92ZSB0aGUgZG9jdHlwZSBlbnVtLCBpdCdzIG5vdCBuZWVkZWQgYW55bW9yZQoKMjAxMC0wNS0yMCAxOTo1NzoxNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguaDoKCSAgd2VibW11eDogQWRkIG5ldyB3ZWJtbXV4IGVsZW1lbnQgdGhhdCBvbmx5IHN1cHBvcnRzIG11eGluZyBvZiBXZWJNCgkgIC4uLmFuZCByZW1vdmUgdGhlIGRvY3R5cGUgcHJvcGVydHkgZnJvbSBtYXRyb3NrYW11eCBhZ2Fpbi4KCjIwMTAtMDUtMjAgMTc6MzE6NTkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbWF0cm9za2FtdXguYzoKCSAgbWF0cm9za2FtdXg6IHVuaXQgdGVzdCBjaGVja3MgdmVyc2lvbiAxIGZpbGVzCgoyMDEwLTA1LTE4IDE1OjI3OjA2IC0wNDAwICBUcmlzdGFuIE1hdHRoZXdzIDx0cmlzdGFuQHNhdC5xYy5jYT4KCgkqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOgoJICBzcGVleDogZml4IGxhdGVuY3kgcXVlcnkKCSAgU3BlZXggc2hvdWxkIHJlcG9ydCAzMCBtcyBsYXRlbmN5IGZvciBuYXJyb3diYW5kIG1vZGUsIDM0IG90aGVyd2lzZS4KCSAgRml4ZXMgIzYxOTAxOAoKMjAxMC0wNS0xOCAyMTowNDozMiArMDgwMCAgUGhpbGlwIDxwaGlsaXBqQG9wZXJhLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9lYm1sLXJlYWQuYzoKCSAgZWJtbHJlYWQ6IHJtIGZsb2F0Y2FzdC5oIGluY2x1ZGUgKG5vdCB1c2VkKQoKMjAxMC0wNS0xNyAwNTozNjowMCArMDIwMCAgUGhpbGlwIErDpGdlbnN0ZWR0IDxwaGlsaXBqQG9wZXJhLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IGJ1bXAgZGVmYXVsdCBkb2N0eXBlIHZlcnNpb24gdG8gMgoJICBJbiB0aGlzIGRheSBhbmQgYWdlIHRoaXMgc2hvdWxkIGJlIHNhZmUuIFRoZXJlJ3Mgb3RoZXJ3aXNlIGEgcmlzayBwZW9wbGUKCSAgd2lsbCBiZSBjcmVhdGluZyB1bm5lY2Nlc3NhcmlseSBiaWcgV2ViTSBmaWxlcyBhcyB0aGV5IGNhbid0IHVzZQoJICBTaW1wbGVCbG9jayBpbiB2MS4KCjIwMTAtMDUtMTcgMDU6Mjc6NDQgKzAyMDAgIFBoaWxpcCBKw6RnZW5zdGVkdCA8cGhpbGlwakBvcGVyYS5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYTogaGFuZGxlIG1hdHJvc2thIGFuZCB3ZWJtIGRvY3R5cGUgdmVyc2lvbnMgZXF1YWxseQoJICBUaGUgb3JpZ2luYWwgcGxhbiB3YXMgdG8gbGV0IFdlYk0gdjEgYmUgdGhlIHNhbWUgYXMgTWF0cm9za2EgdjIgKHdpdGgKCSAgZXh0cmEgY29uc3RyYWludHMpLCBidXQgZm9yIHNpbXBsaWNpdHkgaXQgd2FzIGRlY2lkZWQgdG8gaGFuZGxlIHRoZQoJICB2ZXJzaW9ucyBlcXVhbGx5LCBzdWNoIHRoYXQgZS5nLiBTaW1wbGVCbG9jayBpcyBvbmx5IGFsbG93ZWQgaW4gV2ViTSB2Mi4KCjIwMTAtMDUtMTMgMTI6MTA6NTQgKzAyMDAgIFBoaWxpcCBKw6RnZW5zdGVkdCA8cGhpbGlwakBvcGVyYS5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogVmVyaWZ5IGxhY2Ugc2l6ZSBpbiBfcGFyc2VfYmxvY2tncm91cF9vcl9zaW1wbGVibG9jawoJICBGYWlsdXJlIHRvIGRvIHRoaXMgZm9yIGNvcnJ1cHQgaW5wdXQgY2FuIGNhdXNlIGEgc3ViYnVmZmVyIGJpZ2dlcgoJICB0aGFuIHRoZSBhY3R1YWwgYnVmZmVyIHRvIGJlIGNyZWF0ZWQsIHF1aWNrbHkgbGVhZGluZyB0byBzZWdmYXVsdC4KCSAgVGVzdCBjYXNlOgoJICBidWdfczIyMjAwNTc1MV9yMC4wMDFfX19fbWVtY3B5LndlYm0KCjIwMTAtMDUtMTMgMTA6MjM6MTAgKzAyMDAgIFBoaWxpcCBKw6RnZW5zdGVkdCA8cGhpbGlwakBvcGVyYS5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgZWJtbDogY3J1ZGUgaGFjayB0byBhdm9pZCBjcmFzaGluZyBvbiB1bmV4cGVjdGVkIG1ldGFkYXRhCgkgIFRoZSBjb21tZW50IHNheXMgdGhpcyBjYW5ub3QgaGFwcGVuLCBidXQgaXQgZGlkIGFuZCBJIGRvbid0IGtub3cKCSAgd2h5LiBUaGlzIGlzIG5vdCB0aGUgY29ycmVjdCBmaXgsIG5lZWRzIGludmVzdGlnYXRpb24uIFRlc3QgY2FzZToKCSAgYnVnX3M1NTUwMTAwOTRfcjAuMDAwNTowLjAwOF9fX19JQV9fZ19hc3NlcnRpb25fbWVzc2FnZV9leHByLndlYm0KCjIwMTAtMDUtMTMgMDk6MTg6NTYgKzAyMDAgIFBoaWxpcCBKw6RnZW5zdGVkdCA8cGhpbGlwakBvcGVyYS5jb20+CgoJKiBnc3QvbWF0cm9za2EvZWJtbC1yZWFkLmM6CgkgIGVibWw6IGRvbid0IG1vZGlmeSBvdXQgc3RyIGlmIHJldHVybmluZyBhbiBlcnJvciBpbiBfcmVhZF9hc2NpaQoJICBUaGlzIGlzIGEgcmVncmVzc2lvbiBmcm9tIEFTQ0lJIHZhbGlkYXRpb24gY2hhbmdlcy4gVGVzdCBjYXNlOgoJICBidWdfczY2ODc2MzkwX3IwLjAwMV9fX19tYWxsb2NfcHJpbnRlcnIud2VibQoKMjAxMC0wNS0xMiAxMzoxNjoyOCArMDIwMCAgUGhpbGlwIErDpGdlbnN0ZWR0IDxwaGlsaXBqQG9wZXJhLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9lYm1sLXJlYWQuYzoKCSAgZWJtbDogVmFsaWRhdGUgNy1iaXQgQVNDSUkgaW4gZ3N0X2VibWxfcmVhZF9hc2NpaQoJICBUaGlzIHdhcyB0cmlnZ2VyaW5nIGFuIFVURi04IGFzc2VydGlvbiBpbiBnc3RfY2Fwc19zZXRfc2ltcGxlIGZvcgoJICBjb3JydXB0IGZpbGVzIHdpdGggZ2FyYmFnZSBhcyBjb2RlYyBpZC4gVGVzdCBjYXNlOgoJICBnc3RyZWFtZXJfZXJyb3JfdHJ5aW5nX3RvX3NldF9pbnZhbGlkX3V0ZjhfYXNfY29kZWNfaWQud2VibQoJICBPbGQgZ3N0X2VibWxfcmVhZF9hc2NpaSByZW5hbWVkIHRvIGdzdF9lYm1sX3JlYWRfc3RyaW5nLCBhbHNvIHVzZWQgYnkKCSAgZ3N0X2VibWxfcmVhZF91dGY4LiBVbmxpa2UgZm9yIFVURi04LCBmYWlsdXJlIHRvIHZhbGlkYXRlIGlzIGFuIGVycm9yLAoJICBhcyBnc3RfZWJtbF9yZWFkX2FzY2lpIGlzIHVzZWQgZm9yIHJlYWRpbmcgZG9jdHlwZSBhbmQgY29kZWMgaWQgYW5kIHdlCgkgIG1pZ2h0IGp1c3QgYXMgd2VsbCBnaXZlIHVwIGVhcmx5IGluIHRob3NlIGNhc2VzLgoKMjAxMC0wNS0xMiAxNDozMDoxOCArMDIwMCAgUGhpbGlwIErDpGdlbnN0ZWR0IDxwaGlsaXBqQG9wZXJhLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBJZ25vcmUgdW5leHBlY3RlZCBDb2RlY1N0YXRlCgkgIEJlY2F1c2UgR3N0TWF0cm9za2FUcmFja0NvbnRleHQgKnN0cmVhbSBpcyBzZXQgdXAgaW4gdGhlIGZpcnN0CgkgIFNpbXBsZUJsb2NrIG9yIEJsb2NrLCBhIHJvZ3VlIENvZGVjU3RhdGUgb3RoZXJ3aXNlIGNhdXNlcyBhIHNlZ2ZhdWx0IG9uCgkgIGRlcmVmZW5jaW5nIHRoZSBOVUxMIHBvaW50ZXIuIFRlc3QgY2FzZToKCSAgYnVnX3M1NTA2MTY3X3IwLjAwMV9fX19nc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfYmxvY2tncm91cF9vcl9zaW1wbGVibG9jay53ZWJtCgoyMDEwLTA1LTEwIDA2OjAwOjQ5ICswMjAwICBQaGlsaXAgSsOkZ2Vuc3RlZHQgPHBoaWxpcGpAb3BlcmEuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IEFkZCB2aWRlby93ZWJtIHNpbmsgY2FwcwoKMjAxMC0wNS0wOSAxOTo0Njo1MSArMDIwMCAgUGhpbGlwIErDpGdlbnN0ZWR0IDxwaGlsaXBAZm9vbGlwLm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IFVzZSBTaW1wbGVCbG9jayBmb3IgV2ViTSB3aGVuIHBvc3NpYmxlCgoyMDEwLTA1LTA5IDE5OjI4OjU5ICswMjAwICBQaGlsaXAgSsOkZ2Vuc3RlZHQgPHBoaWxpcEBmb29saXAub3JnPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IFN1cHBvcnQgIndlYm0iIERvY1R5cGUKCjIwMTAtMDUtMDkgMTI6MzU6MTAgKzAyMDAgIFBoaWxpcCBKw6RnZW5zdGVkdCA8cGhpbGlwQGZvb2xpcC5vcmc+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguaDoKCSAgbWF0cm9za2FtdXg6IHJlbmFtZSBtYXRyb3NrYV92ZXJzaW9uIHRvIGRvY3R5cGVfdmVyc2lvbgoKMjAxMC0wNS0wOSAxMjowOTo1NyArMDIwMCAgUGhpbGlwIErDpGdlbnN0ZWR0IDxwaGlsaXBAZm9vbGlwLm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5oOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguaDoKCSAgbWF0cm9za2FtdXg6IFN1cHBvcnQgIndlYm0iIERvY1R5cGUKCjIwMTAtMDUtMTIgMTg6Mzg6NDggLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBBZGQgVlA4CgoyMDEwLTA0LTI3IDE1OjI2OjEzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmg6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IEFkZCBzdXBwb3J0IGZvciBPbjIgVlA4CgkgIC4uLm1hdHJvc2thZGVtdXggYXV0b21hdGljYWxseSBzdXBwb3J0cyBpdCB0aHJvdWdoIGxpYmdzdHJpZmYuCgoyMDEwLTA0LTI3IDE1OjI1OjMyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkgIGF2aW11eDogQWRkIHN1cHBvcnQgZm9yIE9uMiBWUDgKCSAgLi4uYXZpZGVtdXggYXV0b21hdGljYWxseSBzdXBwb3J0cyBpdCB0aHJvdWdoIGxpYmdzdHJpZmYuCgoyMDEwLTA1LTE3IDE3OjE3OjAxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkgIHB1bHNlOiBEb24ndCBsb2NrIHRoZSBtYWlubG9vcCBpbiBOVUxMCgoyMDEwLTA1LTE1IDIxOjE1OjUyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBVc2UgPSBpbnN0ZWFkIG9mID09IGluIHNoZWxsIHNjcmlwdHMgZm9yIGVxdWFsaXR5IGNoZWNrcwoKMjAxMC0wNS0xNCAxODozMzozMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgMC4xMC4yMi4yIHByZS1yZWxlYXNlCgoyMDEwLTA1LTE0IDE4OjI0OjE0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNGQ2N2JkNiB0byAzNTdiMGRiCgoyMDEwLTA1LTE0IDE4OjE2OjQ1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NvdXBodHRwc3JjLmM6CgkgIHRlc3RzOiBmaXggbGVhayBpbiBzb3VwaHR0cHNyYyB1bml0IHRlc3QKCSAgVW5yZWYgc2VydmVyIG9iamVjdHMgd2hlbiBkb25lLiBGaXhlcyBjaGVjay12YWxncmluZC4KCjIwMTAtMDUtMTQgMTc6MzA6NDAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJICBqcGVnZW5jOiBmaXggdHdvIGxlYWtzCgkgIERvbid0IGxlYWsgb3RoZXJjYXBzIG9yIGpwZWdlbmMgcmVmLgoKMjAxMC0wNS0xMyAxMzowMToyNiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IGZpeCBkb2NzCgkgIERvY3VtZW50YXRpb24gZXJyb3Igc3BvdHRlZCBieSB0b255IDxjYWljYWkwMTE5IGF0IGdtYWlsLmNvbT4KCSAgRml4ZXMgIzYxODQxOQoKMjAxMC0wNS0xMSAxMzoxODo0MiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFkZXBheS5jOgoJICBydHB0aGVvcmFkZXBheTogbWFrZSBkZWxpdmVyeS1tZXRob2QgcGFyYW1ldGVyIG9wdGlvbmFsCgkgIEl0IHByb2JhYmx5IHdpbGwgbm90IGJlIGluIHRoZSBmaW5hbCBSRkMgYXMgaXQgaXMgbm90IGluIFJGQyA1MjE1IGZvciBWb3JiaXMuCgkgIElmIHRoZXJlIGlzIGEgY29uZmlndXJhdGlvbiBzcGVjaWZpZWQsIGFzc3VtZSBpdCBpcyBpbi1saW5lIGFuZCBpZiBub3RoaW5nIGlzCgkgIHNwZWNpZmllZCwgYXNzdW1lIGl0IGlzIGluLWJhbmQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MTgzODYKCjIwMTAtMDUtMTMgMTI6MTY6NTkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgIGpwZWdkZWM6IGluY3JlYXNlIGFjY2VwdGFibGUgb3V0cHV0IHNpemVzCgkgIFdlIGNhbiBwZXJmZWN0bHkgZGVjb2RlIDF4MSBpbWFnZXMgc28gbG93ZXIgdGhlIG1pbiB3aWR0aCBhbmQgaGVpZ2h0IHRvIDEuCgkgIEZpeGVzICM2MTgzOTIKCjIwMTAtMDUtMTMgMTE6MzA6MjcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGNlbHRwYXkuYzoKCSAgY2VsdHBheTogZml4IHF1ZXVlIGR1cmF0aW9uIGNhbGN1bGF0aW9ucwoJICBEb24ndCBibGluZGx5IGFkZCB0aGUgZHVyYXRpb25zIG9mIGluY29tbWluZyBidWZmZXJzIHRvIHRoZSB0b3RhbCBxdWV1ZWQKCSAgZHVyYXRpb24gYmVjYXVzZSBpdCBtaWdodCBiZSBpbnZhbGlkLiBNYXJrIHRoZSB0b3RhbCBxdWV1ZWQgZHVyYXRpb24gaW52YWxpZAoJICB3aGVuIHdlIHJlY2VpdmUgYW4gaW52YWxpZCBpbmNvbW1pbmcgdGltZXN0YW1wIGJlY2F1c2UgdGhhdCdzIHdoZW4gd2UgbG9zZSB0cmFjawoJICBvZiB0aGUgdG90YWwgcXVldWVkIGR1cmF0aW9uLgoJICBGaXhlcyAjNjE4MzI0CgoyMDEwLTA1LTEwIDExOjE0OjM5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJICBydHBoMjY0cGF5OiBleHRyYWN0IFNQUyBhbmQgUFBTIGZyb20gcHJvcGVydHkgcHJvdmlkZWQgcGFyYW1ldGVyIHNldAoJICAuLi4gc28gaXQgY2FuIGFsc28gYmUgcmVndWxhcmx5IGluc2VydGVkIGludG8gdGhlIHN0cmVhbSBpZiBzbyBjb25maWd1cmVkLgoJICBGaXhlcyAjNjE3MTY0LgoKMjAxMC0wNS0xMSAyMjoyODowOCArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIG9zeHZpZGVvc2luazogYWxsb3cgc3dpdGNoaW5nIHZpZXdzIGF0IHJ1bnRpbWUuCgoyMDEwLTA1LTExIDIwOjI2OjM3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkgIHJ0cDogZGlzdCBtaXNzaW5nIGhlYWRlciBmaWxlIHRvIGZpeCBtYWtlIGRpc3RjaGVjawoKMjAxMC0wNS0xMSAxOTowNTowOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvb3NzNC9vc3M0LXNpbmsuYzoKCSAgb3NzNDogbWlub3IgY2xlYW51cAoJICBSZW1vdmUgZml4ZWQgRklYTUUsIGNoYW5nZSBmaW5hbGlzZSB0byBmaW5hbGl6ZSBmb3IgY29uc2lzdGVuY3kuCgoyMDEwLTA1LTExIDE5OjAxOjUxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSAgZG9jczogYWRkIG9zczQgZWxlbWVudHMgdG8gZG9jcwoKMjAxMC0wNS0xMSAxNjowOToxMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2t5LnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHBvL3poX0hLLnBvOgoJKiBwby96aF9UVy5wbzoKCSAgcG86IG1vdmUgb3NzNCBzdHJpbmdzIGZyb20gLWJhZCB0byAtZ29vZAoKMjAxMC0wNS0xMSAxNjowODoyMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC1wbHVnaW5zLWdvb2Quc3BlYy5pbjoKCSogcG8vUE9URklMRVMuaW46CgkqIHN5cy9NYWtlZmlsZS5hbToKCSogdGVzdHMvaWNsZXMvLmdpdGlnbm9yZToKCSogdGVzdHMvaWNsZXMvTWFrZWZpbGUuYW06CgkgIE1vdmUgb3NzNCBwbHVnaW4gZnJvbSAtYmFkIHRvIC1nb29kCgkgIEhvb2sgdXAgYnVpbGQgaW5mcmFzdHJ1Y3R1cmUsIGRvY3MgYW5kIHRlc3RzLgoJICBGaXhlcyAjNjE0MzA1LgoKMjAxMC0wNC0yOSAxMzoxODo1OCArMDEwMCAgQnJpYW4gQ2FtZXJvbiA8YnJpYW4uY2FtZXJvbkBvcmFjbGUuY29tPgoKCSogc3lzL29zczQvb3NzNC1zaW5rLmM6CgkqIHN5cy9vc3M0L29zczQtc2luay5oOgoJICBvc3M0c2luazogaW1wbGVtZW50IEdzdFN0cmVhbVZvbHVtZSBpbnRlcmZhY2UgYW5kIGFkZCBtdXRlIGFuZCB2b2x1bWUgcHJvcGVydGllcwoJICBPU1M0IHN1cHBvcnRzIHBlci1zdHJlYW0gdm9sdW1lIGNvbnRyb2wsIHNvIGV4cG9zZSB0aGlzIHVzaW5nIHRoZSByaWdodAoJICBBUEksIHNvIHRoYXQgcGxheWJpbjIgYW5kIGFwcGxpY2F0aW9ucyBsaWtlIHRvdGVtIGNhbiBtYWtlIHVzZSBvZiBpdAoJICAoaW5zdGVhZCBvZiB1c2luZyBhIHZvbHVtZSBlbGVtZW50IGZvciB2b2x1bWUgY29udHJvbCkuCgkgIEZpeGVzICM2MTQzMDUuCgoyMDEwLTA0LTA4IDEwOjQ1OjMzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9vc3M0L29zczQtYXVkaW8uYzoKCSAgb3NzNDogOC1iaXQgUENNIGF1ZGlvIGNhcHMgZG9uJ3QgbmVlZCBhbiBlbmRpYW5uZXNzIGZpZWxkCgoyMDEwLTA0LTA4IDEwOjQwOjAyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9vc3M0L29zczQtYXVkaW8uYzoKCSAgb3NzNDogZG9uJ3QgaXRlcmF0ZSB0aGUgZm9ybWF0cyB0YWJsZSB0d2ljZSBmb3IgZWFjaCBlbnRyeQoJICBXaGVuIGl0ZXJhdGluZyB0aGUgZm9ybWF0cyB0YWJsZSwgd2UgY2FuIGp1c3QgcGFzcyB0aGUgd2hvbGUKCSAgZW50cnkgdG8gb3VyIGhlbHBlciBmdW5jdGlvbiwgd2hpY2ggYXZvaWRzIGl0ZXJhdGluZyB0aGUgdGFibGUKCSAgYWdhaW4gdG8gZmluZCB0aGUgZW50cnkgc3RydWN0dXJlIGZyb20gdGhlIHBhc3NlZCBmb3JtYXQgaWQuCgoyMDEwLTAzLTMwIDExOjQzOjA0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9vc3M0L29zczQtYXVkaW8uYzoKCSAgb3NzNDogYWxzbyBhY2NlcHQgZm9ybWF0cyBub3QgbmF0aXZlbHkgc3VwcG9ydGVkCgkgIEFsc28gYWNjZXB0IGZvcm1hdHMgdGhhdCBhcmUgbm90IG5hdGl2ZWx5IHN1cHBvcnRlZCBieSB0aGUKCSAgaGFyZHdhcmUsIE9TUzQgY2FuIGNvbnZlcnQgdGhlbSBpbnRlcm5hbGx5LiBMaXN0IHRoZSBuYXRpdmUKCSAgZm9ybWF0cyBmaXJzdCBpbiB0aGUgY2FwcyB0aG91Z2gsIHRvIGV4cHJlc3Mgb3VyIHByZWZlcmVuY2UKCSAgZm9yIHRoZSBuYXRpdmUgZm9ybWF0cy4gV2UgbmVlZCB0aGlzIGluIG9yZGVyIHRvIHN1cHBvcnQgdGhlCgkgIGNhc2UgcHJvcGVybHkgd2hlcmUgdGhlIGF1ZGlvIGhhcmR3YXJlIHN1cHBvcnRzIG9ubHkgZS5nLgoJICBsaXR0bGUgZW5kaWFuIFBDTSwgYnV0IHRoZSBob3N0IGlzIGJpZyBlbmRpYW4sIHNpbmNlIG1hbnkKCSAgYXVkaW8gZWxlbWVudHMgb25seSBzdXBwb3J0IG5hdGl2ZSBlbmRpYW5uZXNzIGFuZCBtYWtlIHRoZQoJICByZWFzb25hYmxlIGFzc3VtcHRpb24gdGhhdCBhbnkgYXVkaW9zaW5rIHdpbGwgYmUgYWJsZSB0bwoJICBoYW5kbGUgYXVkaW8gaW4gbmF0aXZlIGVuZGlhbm5lc3MuCgkgIEJhc2VkIG9uIHBhdGNoIGJ5IEplcnJ5IFRhbiA8amVycnkudGFuQHN1bi5jb20+CgkgIEZpeGVzICM2MTQzMTcuCgoyMDEwLTAzLTMwIDAxOjE0OjU4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9vc3M0L29zczQtbWl4ZXIuYzoKCSAgb3NzNDogYWRkIGNvbW1lbnQgZm9yIHRyYW5zbGF0b3JzCgkgIE5vdCB0aGF0IHRoYXQgd2lsbCBtYWtlIHRoZXNlIHN0cmluZ3MgbXVjaCBiZXR0ZXIuIEFsc28gcmVtb3ZlIGkxOG4KCSAgbWFya2VyIHdoZXJlIGl0IGRvZXNuJ3QgbWFrZSBzZW5zZS4KCjIwMTAtMDMtMjIgMTY6MTM6MTIgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIHN5cy9vc3M0L29zczQtbWl4ZXIuYzoKCSAgb3NzNDogUmVmYWN0b3IgY29kZSB0byBtYWtlIGl0IGxvb2sgbW9yZSBtb2Rlcm4KCSAgQSBzaWRlIGVmZmVjdCBpcyB0aGF0IGl0IHBhc3NlcyAtV2Zvcm1hdC1ub25saXRlcmFsIGFuZCBkb2Vzbid0IHJlYWQKCSAgaW52YWxpZCBtZW1vcnkgaW4gc29tZSBjYXNlcywgbGlrZSB3aGVuIHRoZSBtaXhlciB0cmFjayBjb250YWlucwoJICBhICUgc2lnbiBvciB0aGVyZSBpcyBhIG51bWJlciBidXQgbm90IGEga25vd24gbWl4ZXIgbmFtZS4KCjIwMTAtMDMtMjIgMTQ6MDk6MjQgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIHN5cy9vc3M0L29zczQtbWl4ZXIuYzoKCSAgb3NzNDogQXZvaWQgZ19xdWFya190b19zdHJpbmcgKGdfcXVhcmtfZnJvbV9zdHJpbmcgKCkpIG1hZG5lc3MKCSAgV2UgdG8gdGhlIHN0cmR1cCBpbnNpZGUgZ3N0X29zczRfbWl4ZXJfY29udHJvbF9nZXRfdHJhbnNsYXRlZF9uYW1lKCkKCSAgaW5zdGVhZCBvZiBpbiB0aGUgb25seSBjYWxsZXIuCgoyMDEwLTAzLTIxIDIxOjM5OjE4ICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBzeXMvb3NzNC9vc3M0LW1peGVyLmM6CgkgIEFkZCAtV21pc3NpbmctZGVjbGFyYXRpb25zIC1XbWlzc2luZy1wcm90b3R5cGVzIHRvIGNvbmZpZ3VyZSBmbGFncwoJICBBbmQgZml4IGFsbCB3YXJuaW5ncwoKMjAxMC0wMS0yMCAxMzoyOTo1MiArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogc3lzL29zczQvb3NzNC1taXhlci5jOgoJICBGaXggY29tcGlsZXIgd2FybmluZyBhYm91dCB1bnVzZWQgcmV0dXJuIHZhbHVlCgoyMDA5LTA4LTIxIDAxOjE3OjE4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2ljbGVzL3Rlc3Qtb3NzNC5jOgoJICB0ZXN0czogZml4IHRlc3Qtb3NzNCB0byB0cmVhdCBhbiBlbXB0eSBkZXZpY2UgbmFtZSB0aGUgc2FtZSBhcyBhIE5VTEwgbmFtZQoKMjAwOS0wNy0xNiAxMzo1NToxNCArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogc3lzL29zczQvb3NzNC1taXhlci5jOgoJICBvc3M0OiBBdHRlbXB0IHRvIGZpeCBhIGNvbXBpbGVyIHdhcm5pbmcKCSAgRG9uJ3Qgc3RvcmUgYSBjb25zdCBnY2hhciAqIGluIGEgbm9uLWNvbnN0IGdjaGFyICogbG9jYWwgdmFyLgoJICBBbHNvLCBtYWtlIHRoZSB0cmFuc2xhdGlvbiBzdHJpbmcgZnVuY3Rpb24gc3RhdGljIHNpbmNlIGl0J3Mgb25seQoJICB1c2VkIGluIHRoZSBvbmUgZmlsZS4KCjIwMDktMDYtMTAgMTk6MjE6MjEgKzAxMDAgIEdhcnJldHQgRCdBbW9yZSA8Z2FycmV0dC5kYW1vcmVAc3VuLmNvbT4KCgkqIHN5cy9vc3M0L29zczQtYXVkaW8uYzoKCSogc3lzL29zczQvb3NzNC1taXhlci1zbGlkZXIuYzoKCSogc3lzL29zczQvb3NzNC1taXhlci1zd2l0Y2guYzoKCSogc3lzL29zczQvb3NzNC1taXhlci5jOgoJICBvc3M0OiBFbmhhbmNlbWVudHMgdG8gdGhlIG1peGVyIGFuZCBhdWRpbyBvdXRwdXQKCSAgQ29kZSBjbGVhbnVwcywgZ2VuZXJhbCBpbXByb3ZlbWVudHMsIHN1cHBvcnQgZm9yIHRoZQoJICBuZXcgbWl4ZXIgZmxhZ3MgaW4gbGF0ZXN0IGdzdC1wbHVnaW5zLWJhc2UuCgkgIEZpeGVzOiAjNTg0MjUyCgkgIFBhdGNoIEJ5OiBCcmlhbiBDYW1lcm9uIDxicmlhbi5jYW1lcm9uQHN1bi5jb20+CgkgIFBhdGNoIEJ5OiBHYXJyZXR0IEQnQW1vcmUgPGdhcnJldHQuZGFtb3JlQHN1bi5jb20+CgoyMDA5LTA2LTE5IDE2OjIxOjI4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9vc3M0L29zczQtbWl4ZXIuYzoKCSAgTWFrZSBidWlsZCB3aXRob3V0IHdhcm5pbmdzIHdpdGggZGVidWdnaW5nIGRpc2FibGVkCgoyMDA4LTExLTA0IDEyOjQyOjMwICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBEb24ndCBpbnN0YWxsIHN0YXRpYyBsaWJzIGZvciBwbHVnaW5zLiBGaXhlcyAjNTUwODUxIGZvciAtYmFkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYWxzYXNwZGlmL01ha2VmaWxlLmFtOgoJICAqIGV4dC9hbXJ3Yi9NYWtlZmlsZS5hbToKCSAgKiBleHQvYXBleHNpbmsvTWFrZWZpbGUuYW06CgkgICogZXh0L2FydHMvTWFrZWZpbGUuYW06CgkgICogZXh0L2FydHNkL01ha2VmaWxlLmFtOgoJICAqIGV4dC9hdWRpb2ZpbGUvTWFrZWZpbGUuYW06CgkgICogZXh0L2F1ZGlvcmVzYW1wbGUvTWFrZWZpbGUuYW06CgkgICogZXh0L2J6Mi9NYWtlZmlsZS5hbToKCSAgKiBleHQvY2RhdWRpby9NYWtlZmlsZS5hbToKCSAgKiBleHQvY2VsdC9NYWtlZmlsZS5hbToKCSAgKiBleHQvZGMxMzk0L01ha2VmaWxlLmFtOgoJICAqIGV4dC9kaXJhYy9NYWtlZmlsZS5hbToKCSAgKiBleHQvZGlyZWN0ZmIvTWFrZWZpbGUuYW06CgkgICogZXh0L2RpdngvTWFrZWZpbGUuYW06CgkgICogZXh0L2R0cy9NYWtlZmlsZS5hbToKCSAgKiBleHQvZmFhYy9NYWtlZmlsZS5hbToKCSAgKiBleHQvZmFhZC9NYWtlZmlsZS5hbToKCSAgKiBleHQvZ3NtL01ha2VmaWxlLmFtOgoJICAqIGV4dC9oZXJtZXMvTWFrZWZpbGUuYW06CgkgICogZXh0L2l2b3JiaXMvTWFrZWZpbGUuYW06CgkgICogZXh0L2phY2svTWFrZWZpbGUuYW06CgkgICogZXh0L2pwMmsvTWFrZWZpbGUuYW06CgkgICogZXh0L2xhZHNwYS9NYWtlZmlsZS5hbToKCSAgKiBleHQvbGNzL01ha2VmaWxlLmFtOgoJICAqIGV4dC9saWJmYW1lL01ha2VmaWxlLmFtOgoJICAqIGV4dC9saWJtbXMvTWFrZWZpbGUuYW06CgkgICogZXh0L21ldGFkYXRhL01ha2VmaWxlLmFtOgoJICAqIGV4dC9tcGVnMmVuYy9NYWtlZmlsZS5hbToKCSAgKiBleHQvbXBsZXgvTWFrZWZpbGUuYW06CgkgICogZXh0L211c2VwYWNrL01ha2VmaWxlLmFtOgoJICAqIGV4dC9tdXNpY2JyYWluei9NYWtlZmlsZS5hbToKCSAgKiBleHQvbXl0aHR2L01ha2VmaWxlLmFtOgoJICAqIGV4dC9uYXMvTWFrZWZpbGUuYW06CgkgICogZXh0L25lb24vTWFrZWZpbGUuYW06CgkgICogZXh0L29mYS9NYWtlZmlsZS5hbToKCSAgKiBleHQvcG9seXAvTWFrZWZpbGUuYW06CgkgICogZXh0L3Jlc2luZHZkL01ha2VmaWxlLmFtOgoJICAqIGV4dC9zZGwvTWFrZWZpbGUuYW06CgkgICogZXh0L3Nob3V0L01ha2VmaWxlLmFtOgoJICAqIGV4dC9zbmFwc2hvdC9NYWtlZmlsZS5hbToKCSAgKiBleHQvc25kZmlsZS9NYWtlZmlsZS5hbToKCSAgKiBleHQvc291bmR0b3VjaC9NYWtlZmlsZS5hbToKCSAgKiBleHQvc3BjL01ha2VmaWxlLmFtOgoJICAqIGV4dC9zd2ZkZWMvTWFrZWZpbGUuYW06CgkgICogZXh0L3Rhcmtpbi9NYWtlZmlsZS5hbToKCSAgKiBleHQvdGhlb3JhL01ha2VmaWxlLmFtOgoJICAqIGV4dC90aW1pZGl0eS9NYWtlZmlsZS5hbToKCSAgKiBleHQvdHdvbGFtZS9NYWtlZmlsZS5hbToKCSAgKiBleHQveDI2NC9NYWtlZmlsZS5hbToKCSAgKiBleHQveGluZS9NYWtlZmlsZS5hbToKCSAgKiBleHQveHZpZC9NYWtlZmlsZS5hbToKCSAgKiBnc3QtbGlicy9nc3QvYXBwL01ha2VmaWxlLmFtOgoJICAqIGdzdC1saWJzL2dzdC9kc2hvdy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYWlmZnBhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9hcHAvTWFrZWZpbGUuYW06CgkgICogZ3N0L2F1ZGlvYnVmZmVyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9iYXllci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvY2R4YXBhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9jaGFydC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvY29sb3JzcGFjZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZGNjcC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZGVpbnRlcmxhY2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZHZkc3B1L01ha2VmaWxlLmFtOgoJICAqIGdzdC9mZXN0aXZhbC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZmlsdGVyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9mbGFjcGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L2Zsdi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZ2FtZXMvTWFrZWZpbGUuYW06CgkgICogZ3N0L2gyNjRwYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbGlicmZiL01ha2VmaWxlLmFtOgoJICAqIGdzdC9taXhtYXRyaXgvTWFrZWZpbGUuYW06CgkgICogZ3N0L21vZHBsdWcvTWFrZWZpbGUuYW06CgkgICogZ3N0L21wZWcxc3lzL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tcGVnNHZpZGVvcGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L21wZWdkZW11eC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXBlZ3RzbXV4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9tcGVndmlkZW9wYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXZlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9uc2YvTWFrZWZpbGUuYW06CgkgICogZ3N0L251dmRlbXV4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9vdmVybGF5L01ha2VmaWxlLmFtOgoJICAqIGdzdC9wYXNzdGhyb3VnaC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcGNhcHBhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9wbGF5b25kZW1hbmQvTWFrZWZpbGUuYW06CgkgICogZ3N0L3Jhd3BhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9yZWFsL01ha2VmaWxlLmFtOgoJICAqIGdzdC9ydGpwZWcvTWFrZWZpbGUuYW06CgkgICogZ3N0L3J0cG1hbmFnZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L3NjYWxldGVtcG8vTWFrZWZpbGUuYW06CgkgICogZ3N0L3NkcC9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc2VsZWN0b3IvTWFrZWZpbGUuYW06CgkgICogZ3N0L3Ntb290aC9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc21vb3Rod2F2ZS9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc3BlZWQvTWFrZWZpbGUuYW06CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvTWFrZWZpbGUuYW06CgkgICogZ3N0L3N0ZXJlby9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc3ViZW5jL01ha2VmaWxlLmFtOgoJICAqIGdzdC90dGEvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZiaWRlYy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdmlkZW9kcm9wL01ha2VmaWxlLmFtOgoJICAqIGdzdC92aWRlb3NpZ25hbC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdmlydHVhbGR1Yi9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvdm1uYy9NYWtlZmlsZS5hbToKCSAgKiBnc3QveTRtL01ha2VmaWxlLmFtOgoJICAqIHN5cy9hY21lbmMvTWFrZWZpbGUuYW06CgkgICogc3lzL2Nkcm9tL01ha2VmaWxlLmFtOgoJICAqIHN5cy9kc2hvd2RlY3dyYXBwZXIvTWFrZWZpbGUuYW06CgkgICogc3lzL2RzaG93c3Jjd3JhcHBlci9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZHZiL01ha2VmaWxlLmFtOgoJICAqIHN5cy9keHIzL01ha2VmaWxlLmFtOgoJICAqIHN5cy9mYmRldi9NYWtlZmlsZS5hbToKCSAgKiBzeXMvb3NzNC9NYWtlZmlsZS5hbToKCSAgKiBzeXMvcWNhbS9NYWtlZmlsZS5hbToKCSAgKiBzeXMvcXR3cmFwcGVyL01ha2VmaWxlLmFtOgoJICAqIHN5cy92Y2QvTWFrZWZpbGUuYW06CgkgICogc3lzL3dpbmluZXQvTWFrZWZpbGUuYW06CgkgICogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBEb24ndCBpbnN0YWxsIHN0YXRpYyBsaWJzIGZvciBwbHVnaW5zLiBGaXhlcyAjNTUwODUxIGZvciAtYmFkLgoKMjAwOC0xMC0xMiAyMTo1MjoyNyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBzeXMvb3NzNC86IEFkZCBzb21lIHNwYWNlcyBpbiB0cmFuc2xhdGVhYmxlIHN0cmluZ3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9vc3M0L29zczQtbWl4ZXIuYzoKCSAgKiBzeXMvb3NzNC9vc3M0LXNpbmsuYzoKCSAgKiBzeXMvb3NzNC9vc3M0LXNvdXJjZS5jOgoJICBBZGQgc29tZSBzcGFjZXMgaW4gdHJhbnNsYXRlYWJsZSBzdHJpbmdzLgoJICBGaXhlczogIzU1NTk2OSAjNTU1OTY4ICM1NTU5NjUKCjIwMDgtMDgtMDcgMTY6MjA6MzAgKzAwMDAgIEZyZWRlcmljIENyb3phdCA8ZmNyb3phdEBtYW5kcml2YS5vcmc+CgoJICBNYWtlIHN1cmUgZ2V0dGV4dCByZXR1cm5zIHRyYW5zbGF0aW9ucyBpbiBVVEYtOCBlbmNvZGluZyByYXRoZXIgdGhhbiBpbiB0aGUgY3VycmVudCBsb2NhbGUgZW5jb2RpbmcgKCM1NDY4MjIpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEZyZWRlcmljIENyb3phdCA8ZmNyb3phdEBtYW5kcml2YS5vcmc+CgkgICogZXh0L3NuZGZpbGUvZ3N0c2YuYzogKHBsdWdpbl9pbml0KToKCSAgKiBzeXMvZHZiL2dzdGR2YnNyYy5jOiAoZ3N0X2R2YnNyY19wbHVnaW5faW5pdCk6CgkgICogc3lzL29zczQvb3NzNC1hdWRpby5jOiAocGx1Z2luX2luaXQpOgoJICBNYWtlIHN1cmUgZ2V0dGV4dCByZXR1cm5zIHRyYW5zbGF0aW9ucyBpbiBVVEYtOCBlbmNvZGluZyByYXRoZXIKCSAgdGhhbiBpbiB0aGUgY3VycmVudCBsb2NhbGUgZW5jb2RpbmcgKCM1NDY4MjIpLgoKMjAwOC0wNi0xNiAwNzozMDozNCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgRmluYWwgcm91bmQgb2YgZG9jIHVwZGF0ZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAqIGdzdC9zcGVlZC9nc3RzcGVlZC5jOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL2dzdHNwZWV4cmVzYW1wbGUuYzoKCSAgKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9hbmFseXNlLmM6CgkgICogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvZGV0ZWN0LmM6CgkgICogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvbWFyay5jOgoJICAqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgICogc3lzL29zczQvb3NzNC1taXhlci5jOgoJICAqIHN5cy9vc3M0L29zczQtc2luay5jOgoJICAqIHN5cy9vc3M0L29zczQtc291cmNlLmM6CgkgICogc3lzL3dpbmluZXQvZ3N0d2luaW5ldHNyYy5jOgoJICBGaW5hbCByb3VuZCBvZiBkb2MgdXBkYXRlcy4KCjIwMDgtMDYtMTIgMTQ6NDk6MTggKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIERvIG5vdCB1c2Ugc2hvcnRfZGVzY3JpcHRpb24gaW4gc2VjdGlvbiBkb2NzIGZvciBlbGVtZW50cy4gV2UgZXh0cmFjdCB0aGVtIGZyb20gZWxlbWVudCBkZXRhaWxzIGFuZCB0aGVyZSB3aWxsIGJlIHdhci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZGMxMzk0L2dzdGRjMTM5NC5jOgoJICAqIGV4dC9pdm9yYmlzL3ZvcmJpc2RlYy5jOgoJICAqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzoKCSAgKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFkZW11eC5jOgoJICAqIGV4dC9teXRodHYvZ3N0bXl0aHR2c3JjLmM6CgkgICogZXh0L3RoZW9yYS90aGVvcmFkZWMuYzoKCSAgKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNpbmsuYzoKCSAgKiBnc3QvYmF5ZXIvZ3N0YmF5ZXIycmdiLmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgICogZ3N0L3Jhd3BhcnNlL2dzdGF1ZGlvcGFyc2UuYzoKCSAgKiBnc3QvcmF3cGFyc2UvZ3N0dmlkZW9wYXJzZS5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGNsaWVudC5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkgICogZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuYzoKCSAgKiBnc3Qvc2VsZWN0b3IvZ3N0b3V0cHV0c2VsZWN0b3IuYzoKCSAgKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9hbmFseXNlLmM6CgkgICogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvZGV0ZWN0LmM6CgkgICogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvbWFyay5jOgoJICAqIHN5cy9vc3M0L29zczQtbWl4ZXIuYzoKCSAgKiBzeXMvb3NzNC9vc3M0LXNpbmsuYzoKCSAgKiBzeXMvb3NzNC9vc3M0LXNvdXJjZS5jOgoJICBEbyBub3QgdXNlIHNob3J0X2Rlc2NyaXB0aW9uIGluIHNlY3Rpb24gZG9jcyBmb3IgZWxlbWVudHMuIFdlIGV4dHJhY3QKCSAgdGhlbSBmcm9tIGVsZW1lbnQgZGV0YWlscyBhbmQgdGhlcmUgd2lsbCBiZSB3YXJuaW5ncyBpZiB0aGV5IGRpZmZlci4KCSAgQWxzbyBmaXhpbmcgdXAgdGhlIENoYW5nZUxvZyBvcmRlci4KCjIwMDgtMDYtMTIgMTM6MDY6MzcgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIHRlc3RzL2ljbGVzL3Rlc3Qtb3NzNC5jOiBJbmNsdWRlIHN0ZGxpYi5oLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9pY2xlcy90ZXN0LW9zczQuYzoKCSAgSW5jbHVkZSBzdGRsaWIuaC4KCjIwMDgtMDUtMjIgMTY6MzM6MjUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICB0ZXN0cy9pY2xlcy86IFNtYWxsIG9zczQgdGVzdCB0aGF0IHByb2JlcyBmb3IgYXZhaWxhYmxlIGRldmljZXMgYW5kIHJldHJpZXZlcyB0aGVpciBjYXBzIGFuZCBtaXhlciB0cmFja3MgYW5kIGFsbCB0aGEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvaWNsZXMvLmN2c2lnbm9yZToKCSAgKiB0ZXN0cy9pY2xlcy9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9pY2xlcy90ZXN0LW9zczQuYzogKG9wdF9zaG93X21peGVyX21lc3NhZ2VzKSwgKFdBSVRfVElNRSksCgkgIChzaG93X21peGVyX21lc3NhZ2VzKSwgKHByb2JlX21peGVyX3RyYWNrcyksIChwcm9iZV9wYWQpLAoJICAocHJvYmVfZGV0YWlscyksIChwcm9iZV9lbGVtZW50KSwgKG1haW4pOgoJICBTbWFsbCBvc3M0IHRlc3QgdGhhdCBwcm9iZXMgZm9yIGF2YWlsYWJsZSBkZXZpY2VzIGFuZCByZXRyaWV2ZXMKCSAgdGhlaXIgY2FwcyBhbmQgbWl4ZXIgdHJhY2tzIGFuZCBhbGwgdGhhdC4gQWxzbyBhbGxvd3MgdGVzdGluZyBvZgoJICBtaXhlciBjaGFuZ2UgbWVzc2FnZXMgb24gdGhlIGJ1cy4KCjIwMDgtMDUtMjIgMTU6MTQ6MjYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBzeXMvb3NzNC86IE1ha2UgZGV2aWNlLW5hbWUgcHJvYmluZyBpbiBOVUxMIHN0YXRlIHdvcmsgYmV0dGVyIChlLmcuIGZvciB0aGUgZ25vbWUtY29udHJvbC1jZW50ZXIgc291bmQgY2FwcGxldCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9vc3M0L29zczQtbWl4ZXIuYzogKGdzdF9vc3M0X21peGVyX29wZW4pOgoJICAqIHN5cy9vc3M0L29zczQtcHJvcGVydHktcHJvYmUuYzoKCSAgKGdzdF9vc3M0X3Byb3BlcnR5X3Byb2JlX2ZpbmRfZGV2aWNlX25hbWUpLAoJICAoZ3N0X29zczRfcHJvcGVydHlfcHJvYmVfZmluZF9kZXZpY2VfbmFtZV9ub2ZkKToKCSAgKiBzeXMvb3NzNC9vc3M0LXByb3BlcnR5LXByb2JlLmg6CgkgICogc3lzL29zczQvb3NzNC1zaW5rLmM6IChnc3Rfb3NzNF9zaW5rX2dldF9wcm9wZXJ0eSk6CgkgICogc3lzL29zczQvb3NzNC1zb3VyY2UuYzogKGdzdF9vc3M0X3NvdXJjZV9nZXRfcHJvcGVydHkpOgoJICBNYWtlIGRldmljZS1uYW1lIHByb2JpbmcgaW4gTlVMTCBzdGF0ZSB3b3JrIGJldHRlciAoZS5nLiBmb3IgdGhlCgkgIGdub21lLWNvbnRyb2wtY2VudGVyIHNvdW5kIGNhcHBsZXQpLgoKMjAwOC0wNS0wOCAxOToxNjoxNyArMDAwMCAgQ2xpdmUgV3JpZ2h0IDxjbGl2ZV93cmlnaHRAbnRsd29ybGQuY29tPgoKCSAgc3lzL29zczQvb3NzNC1taXhlci1zbGlkZXIuYzogQXBwYXJlbnRseSBtb25vIHNsaWRlcnMgaGF2ZSB0aGUgbW9ubyB2YWx1ZSByZXBlYXRlZCBpbiB0aGUgdXBwZXIgYml0cywgc28gbWFzayB0aG9zZSBvLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBCYXNlZCBvbiBwYXRjaCBieTogQ2xpdmUgV3JpZ2h0IDxjbGl2ZV93cmlnaHQgbnRsd29ybGQgY29tPgoJICAqIHN5cy9vc3M0L29zczQtbWl4ZXItc2xpZGVyLmM6IChnc3Rfb3NzNF9taXhlcl9zbGlkZXJfdW5wYWNrX3ZvbHVtZSk6CgkgIEFwcGFyZW50bHkgbW9ubyBzbGlkZXJzIGhhdmUgdGhlIG1vbm8gdmFsdWUgcmVwZWF0ZWQgaW4gdGhlIHVwcGVyIGJpdHMsCgkgIHNvIG1hc2sgdGhvc2Ugb3V0IHdoZW4gcmVhZGluZyB0aGVtLiBQcm9iYWJseSBtYWtlcyB0aGUgbWl4ZXIgYXBwbGV0CgkgIHdvcmsgcHJvcGVybHkgaW4gc29tZSBtb3JlIGNhc2VzLgoKMjAwOC0wNC0xMSAwODoxMzoyMiArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBzeXMvb3NzNC86IEZpeCBhcmd1bWVudHMgZm9ybWF0IGluIGRlYnVnIHN0YXRlbWVudHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA4LTA0LTExICBKdWxpZW4gTW91dHRlICA8anVsaWVuQGZsdWVuZG8uY29tPgoJICAqIHN5cy9vc3M0L29zczQtbWl4ZXItZW51bS5jOgoJICAoZ3N0X29zczRfbWl4ZXJfZW51bV9nZXRfdmFsdWVzX2xvY2tlZCk6CgkgICogc3lzL29zczQvb3NzNC1zb3VyY2UuYzogKGdzdF9vc3M0X3NvdXJjZV9kZWxheSk6IEZpeCBhcmd1bWVudHMKCSAgZm9ybWF0IGluIGRlYnVnIHN0YXRlbWVudHMuCgoyMDA4LTA0LTAyIDIwOjE4OjU4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgQWRkIGluaXRpYWwgc3VwcG9ydCBmb3IgT1NTdjQuIE1peGVyIHN0aWxsIG5lZWRzIGEgYml0IG1vcmUgbG92ZSwgYnV0IGV2ZW4gbWFnaWMgaGFzIGl0cyBsaW1pdHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBzeXMvTWFrZWZpbGUuYW06CgkgICogc3lzL29zczQvTWFrZWZpbGUuYW06CgkgICogc3lzL29zczQvb3NzNC1hdWRpby5jOgoJICAqIHN5cy9vc3M0L29zczQtYXVkaW8uaDoKCSAgKiBzeXMvb3NzNC9vc3M0LW1peGVyLWVudW0uYzoKCSAgKiBzeXMvb3NzNC9vc3M0LW1peGVyLWVudW0uaDoKCSAgKiBzeXMvb3NzNC9vc3M0LW1peGVyLXNsaWRlci5jOgoJICAqIHN5cy9vc3M0L29zczQtbWl4ZXItc2xpZGVyLmg6CgkgICogc3lzL29zczQvb3NzNC1taXhlci1zd2l0Y2guYzoKCSAgKiBzeXMvb3NzNC9vc3M0LW1peGVyLXN3aXRjaC5oOgoJICAqIHN5cy9vc3M0L29zczQtbWl4ZXIuYzoKCSAgKiBzeXMvb3NzNC9vc3M0LW1peGVyLmg6CgkgICogc3lzL29zczQvb3NzNC1wcm9wZXJ0eS1wcm9iZS5jOgoJICAqIHN5cy9vc3M0L29zczQtcHJvcGVydHktcHJvYmUuaDoKCSAgKiBzeXMvb3NzNC9vc3M0LXNpbmsuYzoKCSAgKiBzeXMvb3NzNC9vc3M0LXNpbmsuaDoKCSAgKiBzeXMvb3NzNC9vc3M0LXNvdW5kY2FyZC5oOgoJICAqIHN5cy9vc3M0L29zczQtc291cmNlLmM6CgkgICogc3lzL29zczQvb3NzNC1zb3VyY2UuaDoKCSAgQWRkIGluaXRpYWwgc3VwcG9ydCBmb3IgT1NTdjQuIE1peGVyIHN0aWxsIG5lZWRzIGEgYml0IG1vcmUgbG92ZSwKCSAgYnV0IGV2ZW4gbWFnaWMgaGFzIGl0cyBsaW1pdHMuCgoyMDEwLTA1LTExIDEwOjUyOjU4ICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9vc3h2aWRlby9jb2NvYXdpbmRvdy5oOgoJKiBzeXMvb3N4dmlkZW8vY29jb2F3aW5kb3cubToKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5oOgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIG9zeHZpZGVvc2luazogaW1wbGVtZW50IHRoZSB4b3ZlcmxheSBpbnRlcmZhY2UuIEZpeGVzICM2MTgzNDkuCgoyMDEwLTA1LTExIDE4OjQyOjMyICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZml4IHB1c2ggYmFzZWQgc2Vla2luZwoJICAuLi4gd2hlcmUgaXQgY29tZXMgZG93biB0byB0cmFuc2Zvcm1pbmcgaW5jb21pbmcgQllURSBzZWdtZW50CgkgIHRvIGEgY29ycmVzcG9uZGluZyBUSU1FIHNlZ21lbnQuCgkgIEFsc28gZml4ZXMgIzYwOTQwNS4KCjIwMTAtMDUtMTEgMTQ6MjM6NDcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJICBNb3ZlIGltYWdlZnJlZXplIHBsdWdpbiBmcm9tIC1iYWQgdG8gLWdvb2QKCSAgSG9vayB1cCBidWlsZCBpbmZyYXN0cnVjdHVyZSwgZG9jcyBhbmQgdW5pdCB0ZXN0IGZvciBuZXcgcGx1Z2luLgoJICBGaXhlcyAjNjEzNzg2LgoKMjAxMC0wNS0wNSAxMjoyMzo1NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaW1hZ2VmcmVlemUvZ3N0aW1hZ2VmcmVlemUuYzoKCSAgaW1hZ2VmcmVlemU6IFNldCBmaXhlZCBjYXBzIG9uIHRoZSBjb3JyZWN0IHBhZAoJICBUaGlzIG1ha2VzIHRoZSBzaW5rIGdldGNhcHMgZnVuY3Rpb24gYWN0dWFsbHkgdXNlZCBpbnN0ZWFkIG9mIHVzaW5nCgkgIHRoZSBmaXhlZCBjYXBzIGZ1bmN0aW9uIGZvciBpdC4KCjIwMTAtMDMtMjEgMjE6Mzk6MTggKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ltYWdlZnJlZXplLmM6CgkgIEFkZCAtV21pc3NpbmctZGVjbGFyYXRpb25zIC1XbWlzc2luZy1wcm90b3R5cGVzIHRvIGNvbmZpZ3VyZSBmbGFncwoJICBBbmQgZml4IGFsbCB3YXJuaW5ncwoKMjAxMC0wMy0xNSAxMTo1NDowMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaW1hZ2VmcmVlemUvZ3N0aW1hZ2VmcmVlemUuYzoKCSAgaW1hZ2VmcmVlemU6IE9ubHkgc3RhcnQgdGhlIHRhc2sgYWZ0ZXIgYSBzZWVrIGlmIGEgYnVmZmVyIHdhcyByZWNlaXZlZCBhbHJlYWR5CgoyMDEwLTAyLTI4IDE2OjA4OjE0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ltYWdlZnJlZXplLmM6CgkgIGltYWdlZnJlZXplOiBBZGQgc29tZSB1bml0IHRlc3RzCgoyMDEwLTAyLTI4IDE2OjA0OjMxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pbWFnZWZyZWV6ZS9nc3RpbWFnZWZyZWV6ZS5jOgoJICBpbWFnZWZyZWV6ZTogU2V0IHVuZGVmaW5lZCBmcmFtZXJhdGUgaW4gc2luayBnZXRjYXBzIGZ1bmN0aW9uCgoyMDEwLTAyLTI4IDE1OjAyOjAyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pbWFnZWZyZWV6ZS9nc3RpbWFnZWZyZWV6ZS5jOgoJICBpbWFnZWZyZWV6ZTogSW1wbGVtZW50IHJldmVyc2UgcGxheWJhY2sgYW5kIHNldCBidWZmZXIgb2Zmc2V0cwoKMjAxMC0wMi0yNyAxNzozMzowNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaW1hZ2VmcmVlemUvTWFrZWZpbGUuYW06CgkqIGdzdC9pbWFnZWZyZWV6ZS9nc3RpbWFnZWZyZWV6ZS5jOgoJKiBnc3QvaW1hZ2VmcmVlemUvZ3N0aW1hZ2VmcmVlemUuaDoKCSAgaW1hZ2VmcmVlemU6IEFkZCBzdGlsbCBmcmFtZSBzdHJlYW0gZ2VuZXJhdG9yIGVsZW1lbnQKCjIwMTAtMDUtMTEgMTM6MDc6MTkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGdzdC9kZWJ1Z3V0aWxzL01ha2VmaWxlLmFtOgoJKiBnc3QvZGVidWd1dGlscy9nc3RkZWJ1Zy5jOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSAgTW92ZSBjYXBzZmlsdGVyIGVsZW1lbnQgZnJvbSAtYmFkIHRvIC1nb29kCgkgIEhvb2sgdXAgbW92ZWQgZmlsZXMgdG8gdGhlIGJ1aWxkIGluZnJhc3RydWN0dXJlIGFuZCBkb2NzLgoJICBGaXhlcyAjNjE3NzM5LgoKMjAxMC0wNS0wNiAxMzoxMjozMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVidWd1dGlscy9nc3RjYXBzc2V0dGVyLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNhcHNzZXR0ZXIuaDoKCSAgY2Fwc3NldHRlcjogU29tZSBtaW5vciBjbGVhbnVwCgoyMDEwLTAzLTIyIDE2OjU2OjAzICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYXBzc2V0dGVyLmM6CgkgIEFkZCAtV29sZC1zdHlsZS1kZWZpbml0aW9uCgkgIGFuZCBmaXggdGhlIHdhcm5pbmdzCgoyMDEwLTAzLTE4IDE3OjMwOjI2ICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBnc3QvZGVidWd1dGlscy9nc3RjYXBzc2V0dGVyLmM6CgkgIGdzdF9lbGVtZW50X2NsYXNzX3NldF9kZXRhaWxzID0+IGdzdF9lbGVtZW50X2NsYXNzX3NldF9kZXRhaWxzX3NpbXBsZQoKMjAwOS0xMC0wOCAxOTo1MTozMSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYXBzc2V0dGVyLmM6CgkgIGNhcHNzZXR0ZXI6IGFkZCB1bml0IHRlc3QKCjIwMDktMDYtMjUgMTY6NDE6NDkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y2Fwc3NldHRlci5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RjYXBzc2V0dGVyLmg6CgkgIGNhcHNzZXR0ZXI6IGltcG9ydCBlbGVtZW50IGludG8gLWJhZAoKMjAxMC0wNS0xMSAxMjowNjoxMCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJICBhdmltdXg6IGNoZWNrIHRoYXQgcGFkcyBoYXZlIGJlZW4gbmVnb3RpYXRlZAoJICBBbHNvIHNldCBmY2NfaGFuZGxlciBmaWVsZCBpbiBhdWRpbyBzdHJlYW0gaGVhZGVyLgoJICBGaXhlcyAjNjE4MzUxLgoKMjAxMC0wNS0xMCAxODozMzowMyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGZpeCBwYXJ0aWFsIHBhcnNpbmcgb2YgY3R0cyB0YWJsZQoJICBGaXhlcyAjNjE2NTE2LgoKMjAxMC0wNS0xMCAxODozMjoxNSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGNsZWFudXAgYSBjb21tZW50IGFuZCBhZGQgc29tZSBkZWJ1ZyBhbmQgY29uZGl0aW9uYWwgY29tcGlsYXRpb24KCjIwMTAtMDUtMTEgMTA6MDE6NTIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IENoZWNrIGZvciBHVEsrIDMuMCBhbmQgaWYgaXQncyBub3QgYXZhaWxhYmxlIGZvciBHVEsrIDIuMAoKMjAxMC0wNS0xMCAyMjoxMToxMCArMDIwMCAgSmFuIFVyYmHFhHNraSA8d3VsY3plckB3dWxjemVyLm9yZz4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkgIGZsdm11eDogb25seSBzdG9yZSB0aGUgbGFzdCBidWZmZXIgdGltZXN0YW1wIGlmIGl0J3MgdmFsaWQKCSAgRml4ZXMgYnVnICM2MTgzMDUKCjIwMTAtMDEtMDggMjI6MTM6NTkgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJICBydHBoMjY0cGF5OiBSZS1zZW5kIFNQUy9QUFMgd2hlbiByZXF1ZXN0ZWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYwNjY4OQoKMjAxMC0wNS0wNyAxNzowOToxNiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSAgcnRwaDI2NHBheTogZml4IHR5cG8gaW4gZGVidWcgbWVzc2FnZQoKMjAxMC0wNS0wNyAxNTo0MjoyMyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYXBheS5oOgoJICBydHB0aGVvcmFwYXk6IGFkZCBjb25maWctaW50ZXJ2YWwgcGFyYW1ldGVyIHRvIHJlLWluc2VydCBjb25maWcgaW4gc3RyZWFtCgkgIEFkZCBhIG5ldyBjb25maWctaW50ZXJ2YWwgcHJvcGVydHkgdG8gaW5zdHJ1Y3QgdGhlIHBheWxvYWRlciB0byBpbnNlcnQKCSAgY29uZmlndXJhdGlvbiBoZWFkZXJzIGF0IHBlcmlvZGljIGludGVydmFscyBpbiB0aGUgc3RyZWFtCgkgICh3aGVuIGEga2V5ZnJhbWUgaXMgY291bnRlcmVkKS4KCjIwMTAtMDUtMDcgMTU6MzE6MDMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFkZXBheS5jOgoJICBydHB0aGVvcmFkZXBheTogZml4IGluLWJhbmQgY29uZmlndXJhdGlvbiBwYXJzaW5nCgkgIEFsc28gbWFrZSBjb25maWd1cmF0aW9uIGhlYWRlciBwYXJzaW5nIGEgYml0IG1vcmUgcmVsYXhlZCB3aXRoIHJlc3BlY3QKCSAgdG8gbGVuZ3RoIGZpZWxkIGludGVycHJldGF0aW9uLgoKMjAxMC0wNS0wNyAxNTozMDozMCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc2RlcGF5LmM6CgkgIHJ0cHZvcmJpc2RlcGF5OiBmaXggaW4tbGluZSBjb25maWd1cmF0aW9uIHBhcnNpbmcKCSAgQWxzbyBtYWtlIGNvbmZpZ3VyYXRpb24gaGVhZGVyIHBhcnNpbmcgYSBiaXQgbW9yZSByZWxheGVkIHdpdGggcmVzcGVjdAoJICB0byBsZW5ndGggZmllbGQgaW50ZXJwcmV0YXRpb24uCgoyMDEwLTA1LTA0IDE2OjU3OjM1ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhcGF5LmM6CgkgIHJ0cHRoZW9yYXBheTogZG8gbm90IGRpc2NhcmQgZG93bnN0cmVhbSBmbG93IHJldHVybgoKMjAxMC0wNS0wNCAxNjo1NzoxMSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYXBheS5jOgoJICBydHB0aGVvcmFwYXk6IHJlZmFjdG9yIGJ1ZmZlciBwYXlsb2FkaW5nCgoyMDEwLTA1LTA3IDIwOjQxOjA0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2VtZXRob2QuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlbWV0aG9kLmg6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvZ3JlZWR5LmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvZ3JlZWR5aC5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2xpbmVhci5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2xpbmVhcmJsZW5kLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvc2NhbGVyYm9iLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvdmZpci5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3dlYXZlLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvd2VhdmViZmYuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS93ZWF2ZXRmZi5jOgoJICBkZWludGVybGFjZTogQWRkIHN1cHBvcnQgZm9yIFVZVlkKCjIwMTAtMDUtMDcgMTk6MDY6MzUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IGZpeCByZXR1cm4gdmFsdWUKCjIwMTAtMDUtMDcgMTk6MDI6MjEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGRvbid0IGxlYWsgdGhlIHNlc3Npb24KCjIwMTAtMDUtMDcgMTg6NTk6NDIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3A6IGNvbmZpZ3VyZSBiYW5kd2lkdGggcHJvcGVydGllcyBpbiB0aGUgc2Vzc2lvbgoKMjAxMC0wNS0wNyAxODo1ODo1OCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogYWRkIHByb3BlcnRpZXMgdG8gY29uZmlndXJlIHRoZSBiYW5kd2lkdGgKCSAgQWRkIHByb3BlcnRpZXMgdG8gcHJveHkgdGhlIGJhbmR3aWR0aCBjb25maWd1cmF0aW9uIHRvIHRoZSBzZXNzaW9uIG9iamVjdC4KCjIwMTAtMDUtMDcgMTg6NTc6MTMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgcnRwc2Vzc2lvbjogYWRkIHByb3BlcnRpZXMgdG8gY29uZmlndXJlIGJhbmR3aWR0aHMKCSAgQWRkIHByb3BlcnRpZXMgdG8gY29uZmlndXJlIHRoZSBzZW5kZXIgYW5kIHJlY2VpdmVyIGJhbmR3aWR0aHMuCgkgIENvbmZpZ3VyZSB0aGUgYmFuZHdpZHRocyBiZWZvcmUgY2FsY3VsYXRpbmcgdGhlIFJUQ1AgdGltZW91dCB3aGVuIHdlIG5lZWQgdG8uCgoyMDEwLTA1LTA3IDE4OjU2OjMwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc3RhdHMuYzoKCSAgcnRwc3RhdHM6IGFkZCBzb21lIGRlYnVnIGluZm8KCjIwMTAtMDUtMDcgMTg6NTU6MzQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IHNtYWxsIGNsZWFudXBzCgoyMDEwLTA1LTA3IDE2OjU1OjEzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc3RhdHMuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc3RhdHMuaDoKCSAgcnRwc3RhdHM6IG1ha2UgYmFuZHdpZHRocyBtb3JlIGNvbmZpZ3VyYWJsZQoJICBBZGQgYSBtZXRob2QgdG8gY29uZmlndXJlIHRoZSB2YXJpb3VzIGJhbmR3aWR0aHMgaW4gdGhlIHNlc3Npb24uCgoyMDEwLTA1LTA3IDEzOjMyOjMwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBoYW5kbGUgTk9ORSBSVENQIGludGVydmFscwoJICBQcmVwYXJlIGZvciBoYW5kbGluZyBSVENQIHJlcG9ydGluZyBpbnRlcnZhbHMgb2YgR1NUX0NMT0NLX1RJTUVfTk9ORSwgd2hpY2gKCSAgbWVhbnMgZG9uJ3Qgc2VuZCBSVENQIGF0IGFsbC4KCjIwMTAtMDUtMDcgMTI6NTE6MDUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgcnRzcHNyYzogZmFsbCBiYWNrIHRvIFNEUCBwb3J0cyBpbnN0ZWFkIG9mIHNlcnZlcl9wb3J0CgkgIEluIG11bHRpY2FzdCwgZmFsbCBiYWNrIHRvIHRoZSBwb3J0cyBpbiB0aGUgU0RQIGluc3RlYWQgb2YgdGhlIHNlcnZlcl9wb3J0CgkgIGF0dHJpYnV0ZSBhcyB0aGlzIGlzIG1vcmUgaW4gbGluZSB3aXRoIHRoZSBSRkMuCgoyMDEwLTA1LTA3IDEyOjI0OjUxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiByZWZhY3RvciBjb2xsZWN0aW5nIHRoZSB0cmFuc3BvcnQgaW5mbwoJICBNYWtlIGEgbWV0aG9kIHRvIGNvbGxlY3QgdGhlIHBvcnRzIGFuZCBkZXN0aW5hdGlvbiBhZGRyZXNzLgoKMjAxMC0wNS0wNyAxMToyODozNiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogaGFuZGxlIHNlcnZlcnMgdGhhdCBzZW5kIGJyb2tlbiBUcmFuc3BvcnRzCgkgIEhhbmRsZSBzZXJ2ZXJzIHRoYXQgc2VuZCB0aGVpciBwb3J0IHBhaXJzIHdpdGggdGhlIHdyb25nIG5hbWUuCgkgIEZpeGVzICM2MTc1MzcKCjIwMTAtMDUtMDYgMTY6NTI6MjYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgcnRzcHNyYzogdXNlIHRoZSBTRFAgY29ubmVjdGlvbiBpbmZvIGluIG11bHRpY2FzdAoJICBQYXJzZSB0aGUgY29ubmVjdGlvbiBpbmZvIGZyb20gdGhlIFNEUC4KCSAgV2hlbiB3ZSBuZWVkIHRvIGNvbmZpZ3VyZSB0aGUgbXVsdGljYXN0IGRlc3RpbmF0aW9uLCBmYWxsIGJhY2sgdG8gdGhlIFNEUAoJICBjb25uZWN0aW9uIGluZm8gd2hlbiB0aGUgdHJhbnNwb3J0IGRpZCBub3Qgc3BlY2lmeSBhIGRlc3RpbmF0aW9uIGFuZCB0dGwuCgkgIEZpeGVzICM2MTc1MzcKCjIwMTAtMDUtMDYgMTU6NDI6MzggKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9nb29tL2dzdGdvb20uYzoKCSogZ3N0L2dvb20yazEvZ3N0Z29vbS5jOgoJKiBnc3QvbW9ub3Njb3BlL2dzdG1vbm9zY29wZS5jOgoJICBnb29tLG1vbm9zY29wZTogdHJ1bmNhdGUgb3duIGNhcHMsIGluc3RlYWQgb2YgY29weWluZyBhbmQgdXNpbmcgdGhlIGZpcnN0IG9ubHkKCSAgV2UgZ290IHRoZSBjYXBzIGZyb20gYW4gaW50ZXJzZWN0LCBpdCBpcyBvdXIgb3duLCBoZW5jZSB3ZSBjYW4gdHJ1bmNhdGUgaXQuCgoyMDEwLTA1LTA2IDE1OjQwOjMzICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSAgcHVsc2VzcmM6IHJlZmxvdyB0byB0cnVuY2F0ZSBjYXBzIGp1c3Qgb25jZQoJICBXZSBnZXQgd3JpdGFibGUgY3BhcyBmcm9tIHRoZSBpbnRlcnNlY3Rpb24gKHVubGVzcyBpdCBmYWlsZWQpLiBBcyB3ZSB0cnVuY2F0ZQoJICB0aG9zZSBhbnl3YXksIHdlIGRvbid0IG5lZWQgdG8gbWFueWFseSBjb3B5IHRoZSBmaXJzdCBzdHJ1Y3R1cmUuCgoyMDEwLTA1LTA2IDE1OjM5OjMxICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWYuYzoKCSAgZ2RrcGl4YnVmOiBkb24ndCBsZWFrIHRlbXBsYXRlIGNhcHMKCjIwMTAtMDUtMDYgMTU6Mzg6MzUgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NpbmsuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc3JjLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NpbmsuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc3JjLmM6CgkgIGF1dG97YXVkaW8sdmlkZW99e3NyYyxzaW5rfTogdXNlIGNhbl9pbnRlcnNlY3QgdG8gYXZvaWQgYSBjYXBzIGNvcHkKCjIwMTAtMDQtMjcgMTM6MzY6MzUgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx2ZGVtdXg6IHRlbGwgd2hhdCB3ZSBjYW4gZG8KCSAgQW55LWNhcHMgYXJlIGJhZC4gSWYgYXBwcyBzY2FuIHRoZSByZWdpc3RyeSwgdGhleSdkIGxpa2UgdG8ga25vdyB3aGF0IHdlIGNhbgoJICBvdXRwdXQuCgoyMDEwLTA0LTI3IDEzOjQzOjI5ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkgIGpwZWdlbmM6IGFsc28gbGlmdCB0aGUgYXJiaXRyYXJ5IHJlc3RyaWN0aW9ucyBmb3Igd2lkdGggYW5kIGhlaWdodAoJICBUaGlzIHdhcyBhbHJlYWR5IGRvbmUgZm9yIGpwZWdkZWMuCgoyMDEwLTA1LTA2IDE0OjAzOjExICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJICBwdWxzZXNyYzogQWxsb2NhdGUvZnJlZSBQQSBtYWlubG9vcCBkdXJpbmcgc3RhdGUgY2hhbmdlcwoJICAuLi5hbHNvIGRlc3Ryb3kgdGhlIHN0cmVhbSBhbmQgY29udGV4dCBkdXJpbmcgc3RhdGUgY2hhbmdlcy4KCjIwMTAtMDUtMDYgMTM6NTc6MDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IEFsbG9jYXRlIGFuZCBmcmVlIHRoZSBjdXN0b20gY2xvY2sgaW4gTlVMTDwtPlJFQURZCgoyMDEwLTA1LTA2IDEzOjUxOjU5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBDcmVhdGUgYW5kIGZyZWUgdGhlIFBBIG1haW5sb29wIGluIE5VTEwtPlJFQURZL1JFQURZLT5OVUxMCgkgIFRoaXMgZml4ZXMgYSByYWNlIGNvbmRpdGlvbiwgd2hlbiBzdG9wcGluZyB0aGUgbWFpbmxvb3AgZHVyaW5nIGZpbmFsaXphdGlvbgoJICBpcyBkb25lIGZyb20gYSBtYWlubG9vcCBjYWxsYmFjay4KCSAgRml4ZXMgYnVncyAjNjE0NzY1IGFuZCAjNTkwNjYyLgoKMjAxMC0wNS0wNSAxOTozNTo0OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkgIHZpZGVvbWl4ZXI6IE1ha2Ugc2VsZWN0aW9uIG9mIGEgc2lua3BhZCBudW1iZXIgdGhyZWFkc2FmZQoKMjAxMC0wNS0wNSAxNzozOTozMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlbWV0aG9kLmM6CgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZW1ldGhvZC5oOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2dyZWVkeS5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2xpbmVhci5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2xpbmVhcmJsZW5kLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvc2NhbGVyYm9iLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvdmZpci5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3dlYXZlLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvd2VhdmViZmYuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS93ZWF2ZXRmZi5jOgoJICBkZWludGVybGFjZTogQWRkIHN1cHBvcnQgZm9yIGFsbCBjb21tb24gUkdCIGZvcm1hdHMKCjIwMTAtMDUtMDUgMTY6MDY6NTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZW1ldGhvZC5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2VtZXRob2QuaDoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9ncmVlZHkuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9ncmVlZHloLmFzbToKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9ncmVlZHloLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvbGluZWFyLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvbGluZWFyYmxlbmQuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9zY2FsZXJib2IuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS92ZmlyLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvd2VhdmUuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS93ZWF2ZWJmZi5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3dlYXZldGZmLmM6CgkgIGRlaW50ZXJsYWNlOiBBZGQgc3VwcG9ydCBmb3IgQVlVVgoKMjAxMC0wNS0wNCAxNjozNDoyNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogbWFrZSBzZXR1cCB1cmwgaW4gYSBzbWFydGVyIHdheQoJICBNYWtlIHN1cmUgd2UgYWx3YXlzIHNlcGFyYXRlIHRoZSBiYXNlIGFuZCBjb250cm9sIHVybCBwYXJ0cyB3aXRoIGEgLyB3aGVuCgkgIGNyZWF0aW5nIHRoZSBzZXR1cCB1cmwuCgoyMDEwLTA1LTA0IDE2OjA0OjM5ICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogaGFuZGxlIFNFRUtJTkcgcXVlcmllcy4KCjIwMTAtMDUtMDQgMTE6MTM6NDUgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBtcDR2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5oOgoJICBydHBtcDR2cGF5OiBhZGQgY29uZmlnLWludGVydmFsIHBhcmFtZXRlciB0byByZS1pbnNlcnQgY29uZmlnIGluIHN0cmVhbQoJICBBZGQgYSBuZXcgY29uZmlnLWludGVydmFsIHByb3BlcnR5IHRvIGluc3RydWN0IHRoZSBwYXlsb2FkZXIgdG8gaW5zZXJ0CgkgIGNvbmZpZyAoVk9TSCwgVk9TLCBldGMpIGF0IHBlcmlvZGljIGludGVydmFscyBpbiB0aGUgc3RyZWFtCgkgICh3aGVuIGEgR09QIG9yIFZPUC1JIGlzIGVuY291bnRlcmVkKS4KCSAgQmFzZWQgb24gcGF0Y2ggYnkgPG1hcmMubGVlbWFuIGF0IGdtYWlsLmNvbT4KCSAgRml4ZXMgIzYwNzQ1Mi4KCjIwMTAtMDUtMDMgMTM6MjY6MzIgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRlY2luYUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBtb3ZlIHNvbWUgaW5pdGlhbGl6YXRpb24gY29kZSBmcm9tIGNoYW5nZV9zdGF0ZSB0byBfaW5pdC4KCSAgU2V0IC0+YWN0aXZlIHRvIFRSVUUgaW4gX2luaXQgc28gaXQgY2FuIGJlIHNldCB0byBGQUxTRSBhZnRlciBjcmVhdGluZyB0aGUKCSAgaml0dGVyYnVmZmVyIGFuZCBpdCB3b24ndCBiZSBtaXN0YWtlbmx5IHJlc2V0IHRvIFRSVUUgaW4gdGhlIGNoYW5nZV9zdGF0ZQoJICBmdW5jdGlvbi4KCSAgVGhpcyBpcyBuZWVkZWQgdG8gc3RhcnQgdGhlIGppdHRlcmJ1ZmZlciBhcyBpbmFjdGl2ZSB3aGVuIHJ0cGJpbiBpcyBidWZmZXJpbmcuCgoyMDEwLTA1LTAzIDExOjU2OjU4ICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kZWNpbmFAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogZml4IGEgYnVnIGhhbmRsaW5nIEJVRkZFUklORyBtZXNzYWdlcy4KCSAgSWYgYSBzZXNzaW9uIGV4aXN0cyBidXQgaGFzIG5vIHN0cmVhbXMsIHNldCB0aGUgbWluIGJ1ZmZlcmluZyBwZXJjZW50IHRvIDAKCSAgc2luY2UgaXQgbWVhbnMgdGhhdCB3ZSBoYXZlbid0IHJlY2VpdmVkIGFueXRoaW5nIGZvciB0aGF0IHNlc3Npb24geWV0LgoKMjAxMC0wNS0wMyAxMTo1MTozNyArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZGVjaW5hQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IHdoZW4gYSBzdHJlYW0gaXMgY3JlYXRlZCwgcGF1c2UgdGhlIGppdHRlcmJ1ZmZlciBpZiBydHBiaW4gaXMgYnVmZmVyaW5nLgoKMjAxMC0wNS0wMyAxMToyMzo1OSArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZGVjaW5hQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IGZpeCBhIGJ1ZyBjYWxjdWxhdGluZyBzdHJlYW0gb2Zmc2V0cy4KCjIwMTAtMDUtMDEgMTQ6MjA6NTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4Lmg6CgkgIG1hdHJvc2thbXV4OiBXcml0ZSBwcmV2aW91cyBjbHVzdGVyJ3Mgc2l6ZQoJICBUaGlzIGlzIHVzZWZ1bCBmb3IgYmFja3dhcmRzIHBsYXliYWNrLCB3aGljaCBzaG91bGQgYmUgaW1wbGVtZW50ZWQKCSAgaW4gbWF0cm9za2FkZW11eCBhdCBzb21lIHBvaW50LgoKMjAxMC0wNS0wMSAxNDoxNTo0OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogU2V0IGludGVybGFjZWQgZmxhZyBpbiB0aGUgY2FwcyBpZiB0aGUgZmxhZyBpcyBzZXQgaW4gdGhlIE1hdHJvc2thIGZpbGUKCjIwMTAtMDUtMDEgMTQ6MTI6MjggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogV3JpdGUgaW50ZXJsYWNlZCBmbGFnIGlmIHRoZSBpbnB1dCB2aWRlbyBjb250ZW50IGlzIGludGVybGFjZWQKCSAgVW5mb3J0dW5hdGVseSBNYXRyb3NrYSBoYXMgbm8gd2F5IHRvIHNwZWNpZnkgVEZGIGFuZCBmcmllbmRzLi4uCgoyMDEwLTA1LTAxIDExOjI1OjI2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNkZXBheS5jOgoJICBydHA6IGZpeCBwcmludGYgZm9ybWF0IG9mIHNvbWUgZGVidWcgbWVzc2FnZXMKCjIwMTAtMDUtMDEgMTE6MDY6NTMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thOiBpbml0IHZhcmlhYmxlIHRvIGF2b2lkIGNvbXBpbGVyIHdhcm5pbmcgb24gT1NYCgkgIEZpeGVzIChib2d1cykgIidvZmZzZXQnIG1heSBiZSB1c2VkIHVuaW5pdGlhbGl6ZWQgaW4gdGhpcyBmdW5jdGlvbiIKCSAgd2FybmluZyBvbiBidWlsZCBib3QgKGFsc28gc3BvdHRlZCBieSBwaGlsbikuCgoyMDEwLTA0LTMwIDE3OjE5OjQ0IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogVVlWWSBpcyA0OjI6Miwgbm90IDQ6MjowCgoyMDEwLTA0LTMwIDIyOjIyOjI1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXV0aWwuYzoKCSAgcHVsc2U6IERvbid0IGNvbXBhcmUgdmFsdWVzIG9mIHR3byBkaWZmZXJlbnQgZW51bSB0eXBlcwoKMjAxMC0wNC0zMCAyMjoxMzozMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IE1ha2UgYXV0b21hdGljIGRldGVjdGlvbiBvZiBpbnRlcmxhY2luZyB0aGUgZGVmYXVsdAoJICBQcmV2aW91c2x5ICJmb3JjZSBkZWludGVybGFjaW5nIiB3YXMgdGhlIGRlZmF1bHQsIHdoaWNoIGlzIGEgbm90IHZlcnkKCSAgc2Vuc2libGUgZGVmYXVsdCBmb3IgdGhlIG5vcm1hbCB1c2UgY2FzZSB3aGVyZSBkZWludGVybGFjZSBzaG91bGQgYWN0CgkgIGluIHBhc3N0aHJvdWdoIG1vZGUgdW5sZXNzIGludGVybGFjZWQgY29udGVudCBpcyBwcmVzZW50LgoKMjAxMC0wNC0yOSAxNjoyNjo0OSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuaDoKCSAganBlZ2RlYzogb3B0aW1pc2UgYnVmZmVyIHNjYW5uaW5nCgkgIFNwZWNpZmljYWxseSwgd2hlbiBuZWVkaW5nIG1vcmUgZGF0YSwgZG8gbm90IHJlc2NhbiBmcm9tIHN0YXJ0IG5leHQgdGltZQoJICBhcm91bmQsIGJ1dCByZXN1bWUgZnJvbSBsYXN0IHBvc2l0aW9uLgoJICBTZWUgYWxzbyAjNTgzMDQ3LgoKMjAxMC0wNC0yOSAxNTozODo0OSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgIGpwZWdkZWM6IGRpc3JlZ2FyZCBzdXBlcmZsdW91cyBsaW5lcyB3aGVuIGluZGlyZWN0IGRlY29kaW5nCgoyMDEwLTA0LTI3IDE1OjQ0OjM5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5oOgoJICBqcGVnZGVjOiBhZGQgc3VwcG9ydCBmb3IgUkdCIGFuZCBncmF5c2NhbGUgY29sb3Igc3BhY2UKCSAgQWxzbyByZWZhY3RvciBzcmMgY2FwcyBuZWdvdGlhdGlvbiBhbmQgc2V0dGluZy4KCjIwMTAtMDQtMjcgMTI6MTk6MjIgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvTWFrZWZpbGUuYW06CgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5oOgoJICBqcGVnZW5jOiBzdXBwb3J0IG1vcmUgY29sb3VyIHNwYWNlcyBhbmQgc29tZSBjbGVhbnVwcwoKMjAxMC0wNC0zMCAxMjo0NzowMSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkgIGpwZWdlbmM6IG1vcmUgZ2VuZXJpYyBzaW5rIGdldGNhcHMKCjIwMTAtMDQtMzAgMTI6NDI6NDIgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnZGVjOiBtb3JlIHNhbml0eSBjaGVja3Mgb24gaW5wdXQKCSAgU3BlY2lmaWNhbGx5LCB2ZXJpZnkgaW5wdXQgY29tcG9uZW50cyAvIGNvbG91ciBzcGFjZSBpcyBhcyBjb2RlCgkgIHN1YnNlcXVlbnRseSBleHBlY3RzLCB0aGVyZWJ5IGF2b2lkaW5nIGNyYXNoZXMgb3Igb3RoZXJ3aXNlIGJvZ3VzIG91dHB1dC4KCSAgUHJlc2VudGx5LCB0aGF0IG1lYW5zIDMgY29tcG9uZW50cyBZQ2JDciBjb2xvdXIgc3BhY2UsIGFuZCBzb21ld2hhdAoJICBsaW1pdGVkIHNhbXBsaW5nIGZhY3RvcnMuCgkgIEZpeGVzICM2MDA1NTMuCgoyMDEwLTA0LTIyIDEyOjI4OjIyICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhZGVwYXkuYzoKCSAgcnRwdGhlb3JhZGVwYXk6IGFsc28gYWNjZXB0IGluLWJhbmQgY29uZmlndXJhdGlvbgoJICBGaXhlcyAjNTc0NDE2ICh0aGVvcmEpLgoKMjAxMC0wNC0yMiAxMjoyNzozNSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc2RlcGF5LmM6CgkgIHJ0cHZvcmJpc2RlcGF5OiBhbHNvIGFjY2VwdCBpbi1saW5lIGNvbmZpZ3VyYXRpb24KCSAgRml4ZXMgIzU3NDQxNiAodm9yYmlzKS4KCjIwMTAtMDQtMDcgMTc6MjE6NTUgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhZGVwYXkuYzoKCSAgcnRwdGhlb3JhZGVwYXk6IElnbm9yZSBwYWNrZXRzIHdpdGhvdXQgYSBrbm93biBjb2RlYm9vawoJICBEb24ndCBwcm9kdWNlIGFuIGVycm9yIGlmIGEgcGFja2V0IGlzIHJlY2VpdmVkIHdpdGhvdXQgYSB2YWxpZCBjb2RlYm9vaywKCSAgaXQncyBwb3NzaWJsZSB0aGF0IHRoZSBjb2RlYm9vayB3aWxsIGp1c3QgYmUgY29taW5nIGxhdGVyLgoJICBTZWUgIzU3NDQxNi4KCjIwMTAtMDQtMjAgMTI6MTc6MjYgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMveTRtZW5jLmM6CgkgIHk0bWVuYzogYWRqdXN0IHVuaXQgdGVzdCB0byBlbGVtZW50IGJlaGF2aW91cgoKMjAxMC0wMi0yMyAyMjoxNjozOSAtMDUwMCAgQmVuamFtaW4gTS4gU2Nod2FydHogPGJlbnNAYWx1bS5taXQuZWR1PgoKCSogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzoKCSogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuaDoKCSAgeTRtZW5jOiBhZGQgNDoyOjIsIDQ6MToxLCBhbmQgNDo0OjQgb3V0cHV0IHN1cHBvcnQKCSAgRml4ZXMgIzYxMDkwMi4KCjIwMTAtMDQtMTUgMTI6MjE6NTYgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuaDoKCSAgcnRwaDI2NGRlcGF5OiBERUxUQV9VTklUIG1hcmtpbmcgb2Ygb3V0cHV0IGJ1ZmZlcnMKCSAgLi4uIHdoaWNoIGV2aWRlbnRseSBtYWtlcyAobW9zdCkgc2Vuc2UgaWYgb3V0cHV0IGJ1ZmZlcnMgYXJlCgkgIGFjdHVhbGx5IGZyYW1lcy4KCSAgUGFydGlhbGx5IGJhc2VkIG9uIGEgcGF0Y2ggYnkKCSAgTWlndWVsIEFuZ2VsIENhYnJlcmEgPG1hZF9hbHVjaGUgYXQgaG90bWFpbC5jb20+CgkgIEZpeGVzICM2MDk2NTguCgoyMDEwLTA0LTE2IDE3OjIxOjUwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2M2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M2RlcGF5Lmg6CgkgIHJ0cGgyNjNkZXBheTogZXh0cmEga2V5ZnJhbWUgaW5mbyBmcm9tIFBUWVBFIGhlYWRlcgoJICAuLi4gYXMgb3Bwb3NlZCB0byB0YWtpbmcgaXQgZnJvbSBoMjYzIHBheWxvYWQgaGVhZGVyLCB3aGljaCBuZWVkIG5vdAoJICBiZSBzbyByZWxpYWJsZS4KCSAgRml4ZXMgIzYxMDE3Mi4KCjIwMTAtMDQtMTYgMTc6MDg6NDcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjYzZGVwYXkuYzoKCSAgcnRwaDI2M2RlcGF5OiBhbHNvIHVzZSBQaWN0dXJlIFN0YXJ0IENvZGUgdG8gZGV0ZWN0IHBhY2tldCBsb3NzCgkgIFRoaXMgZW5zdXJlcyBhIHdob2xlIGZyYW1lIGlzIGRyb3BwZWQgaWYgYSAoc3RhcnQpIHBhY2tldCBpcyBsb3N0LAoJICByYXRoZXIgdGhhbiByZWx5aW5nIG9ubHkgb24gdGhlIERJU0NPTlQgZmxhZy4KCjIwMTAtMDQtMTYgMTc6MDY6MTEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjYzZGVwYXkuYzoKCSAgcnRwaDI2M2RlcGF5OiBkZXRlY3QgZnJhbWUgc3RhcnQgdXNpbmcgUGljdHVyZSBTdGFydCBDb2RlCgkgIFNvIHdlIHN0b3AgZHJvcHBpbmcgZnJhZ21lbnRzIGFzIHNvb24gYXMgdGhlcmUgaXMgYSBwaWN0dXJlIHN0YXJ0IChjb2RlKS4KCSAgSW4gcGFydGljdWxhciwgdGhpcyBwcmV2ZW50cyBkcm9wcGluZyB0aGUgZmlyc3QgZnJhbWUgZm9sbG93aW5nCgkgIGluaXRpYWwgRElTQ09OVC4KCjIwMTAtMDQtMTYgMTY6MzQ6MDYgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjYzZGVwYXkuYzoKCSAgcnRwaDI2M2RlcGF5OiBoYW5kbGUgYSBmZXcgRklYTUVzCgoyMDEwLTA0LTE2IDE2OjI3OjI1ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2M2RlcGF5LmM6CgkgIHJ0cGgyNjNkZXBheTogc2xpZ2h0bHkgcmVmYWN0b3IgcGF5bG9hZCBkcm9wcGluZwoKMjAxMC0wNC0xNiAxMTo1MzoxNyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGF5Lmg6CgkgIHJ0cGgyNjNwYXk6IHVzZSBmb3VuZCBHT0JzIHRvIGFwcGx5IE1vZGUgQSBwYXlsb2FkaW5nCgkgIC4uLiByYXRoZXIgdGhhbiBmYWxsaW5nIGJhY2sgdG8gc2VuZGluZyB0aGUgd2hvbGUgZnJhbWUgaW4gb25lIHBhY2tldAoJICBpZiBudW1iZXIgb2YgR09CIHN0YXJ0Y29kZXMgPCBtYXhpbXVtLgoJICBPbmUgbWlnaHQgdGFrZSB0aGlzIGZ1cnRoZXIgYW5kIHN0aWxsIHBlcmZvcm0gTW9kZSBCL0MgcGF5bG9hZGluZywKCSAgYnV0IGF0IGxlYXN0IHRoaXMgc2hvdWxkIGNhdGVyIGZvciBkZWNlbnQgZnJhZ21lbnRzIGluIHR5cGljYWwgY2FzZXMuCgkgIEZpeGVzICM1OTk1ODUuCgoyMDEwLTA0LTE0IDExOjUzOjQ2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguaDoKCSAgbWF0cm9za2FkZW11eDogaW1wbGVtZW50IHB1c2ggbW9kZSBzZWVraW5nCgoyMDEwLTA0LTI5IDIwOjA4OjQzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2FtbWEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYmFsYW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGdzdC9zbXB0ZS9nc3RzbXB0ZWFscGhhLmM6CgkgIGRvY3M6IHVwZGF0ZSBmb3IgdmlkZW9maWx0ZXIgcGx1Z2luIG1lcmdlIGFuZCBhZGQgZ3RrLWRvYyBibHVyYiBmb3IgbmV3IHByb3BlcnR5CgoyMDEwLTA0LTI2IDE4OjEyOjQ2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogSW1wcm92ZSBzZWdtZW50IGhhbmRsaW5nIGEgYml0CgoyMDEwLTA0LTI2IDE4OjA1OjAwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogT3JkZXIgY2FwcyBieSBhbW91bnQgb2YgY29udGFpbmVkIGluZm9ybWF0aW9uCgoyMDEwLTA0LTI2IDE3OjI1OjM4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogUHJvcGVybHkgc2V0IGludGVybGFjZWQgZmllbGQgaW4gZ2V0Y2FwcwoKMjAxMC0wNC0yNCAxNjoyODoxMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2xpbmVhci5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2xpbmVhcmJsZW5kLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvc2NhbGVyYm9iLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvd2VhdmUuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS93ZWF2ZWJmZi5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3dlYXZldGZmLmM6CgkgIGRlaW50ZXJsYWNlOiBBZGQgcGxhbmFyIFlVViBzdXBwb3J0IHRvIGFsbCBvdGhlciBzaW1wbGUgbWV0aG9kcwoKMjAxMC0wNC0yNCAxNjoxMDowNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2dyZWVkeWguYXNtOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2dyZWVkeWguYzoKCSAgZGVpbnRlcmxhY2U6IEFkZCBwbGFuYXIgWVVWIHN1cHBvcnQgdG8gZ3JlZWR5aCBtZXRob2QKCjIwMTAtMDQtMjQgMTU6NDI6MDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9ncmVlZHkuYzoKCSAgZGVpbnRlcmxhY2U6IEFkZCBzdXBwb3J0IGZvciBwbGFuYXIgWVVWIGZvcm1hdHMgaW4gZ3JlZWR5bCBtZXRob2QKCjIwMTAtMDQtMjQgMTM6NTg6MDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZW1ldGhvZC5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2VtZXRob2QuaDoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS92ZmlyLmM6CgkgIGRlaW50ZXJsYWNlOiBBZGQgc3VwcG9ydCBmb3IgWTQ0NCwgWTQyQiwgSTQyMCwgWVYxMiBhbmQgWTQxQgoJICBUaGUgdmZpciBtZXRob2Qgc3VwcG9ydHMgdGhlbSBhbmQgd2lsbCBiZSB1c2VkIHVudGlsIHNvbWV0aGluZyBlbHNlCgkgIHN1cHBvcnRzIGl0LgoKMjAxMC0wNC0yNCAwOToxNjoyMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2VtZXRob2QuYzoKCSAgZGVpbnRlcmxhY2U6IERlZmluZSBkZWludGVybGFjZSBtZXRob2QgYmFzZSBjbGFzc2VzIGFzIGFic3RyYWN0IHR5cGVzCgoyMDEwLTA0LTIzIDE3OjQwOjEwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9NYWtlZmlsZS5hbToKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5oOgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2VtZXRob2QuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlbWV0aG9kLmg6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvZ3JlZWR5LmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvZ3JlZWR5aC5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2xpbmVhci5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2xpbmVhcmJsZW5kLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvc2NhbGVyYm9iLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvdG9tc21vY29tcC5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3ZmaXIuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS93ZWF2ZS5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3dlYXZlYmZmLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvd2VhdmV0ZmYuYzoKCSAgZGVpbnRlcmxhY2U6IE1vdmUgZGVpbnRlcmxhY2luZyBtZXRob2RzIHRvIHRoZWlyIG93biBmaWxlCgoyMDEwLTA0LTIzIDE3OjI1OjEyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuaDoKCSAgZGVpbnRlcmxhY2U6IFNpbXBsaWZ5IHBhc3N0aHJvdWdoIG1vZGUgZGV0ZWN0aW9uCgoyMDEwLTA0LTIzIDE0OjM1OjQ0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2RlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBGaXggdW5pdCB0ZXN0IHRoYXQgY2hlY2tzIGNhcHMgaGFuZGxpbmcKCSAgZGVpbnRlcmxhY2Ugbm93IGFsd2F5cyBhZGRzIHRoZSBpbnRlcmxhY2VkIGZpZWxkIHRvIHRoZSBvdXRwdXQgY2FwcywKCSAgaWYgaXQgd2Fzbid0IHByZXNlbnQgaW4gdGhlIGlucHV0IGNhcHMgdGhlIG91dHB1dCBjYXBzIHdpbGwgc3RpbGwKCSAgY29udGFpbiBpbnRlcmxhY2VkPWZhbHNlLgoKMjAxMC0wNC0yMSAxNzowMDowNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvTWFrZWZpbGUuYW06CgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuaDoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9ncmVlZHkuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9ncmVlZHloLmFzbToKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9ncmVlZHloLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvbGluZWFyLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvbGluZWFyYmxlbmQuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9zY2FsZXJib2IuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS90b21zbW9jb21wLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvdG9tc21vY29tcC9Ub21zTW9Db21wQWxsLmluYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS92ZmlyLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvd2VhdmUuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS93ZWF2ZWJmZi5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3dlYXZldGZmLmM6CgkgIGRlaW50ZXJsYWNlOiBSZWZhY3RvciBkZWludGVybGFjaW5nIGFzIHByZXBhcmF0aW9uIGZvciBzdXBwb3J0aW5nIG1vcmUgY29sb3IgZm9ybWF0cwoKMjAxMC0wNC0yMiAxOTowNTozNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzoKCSAgdmlkZW9ib3g6IEFkZCBzdXBwb3J0IGZvciBZNDQ0LCBZNDJCIGFuZCBZNDFCCgoyMDEwLTA0LTIyIDE1OjU0OjIxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOgoJICB2aWRlb2JveDogQWRkIHN1cHBvcnQgZm9yIFlWWVUgYW5kIHJlb3JkZXIgdGVtcGxhdGUgY2FwcwoKMjAxMC0wNC0xOCAyMToxMToyMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzoKCSAgdmlkZW9ib3g6IFRyYW5zbGF0ZSBuYXZpZ2F0aW9uIGV2ZW50cyB0byBtYWtlIHNlbnNlIGFnYWluIHVwc3RyZWFtCgoyMDEwLTA0LTE4IDIwOjU4OjE0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOgoJICB2aWRlb2JveDogUHJvcGVybHkgaGFuZGxlIHJhbmdlcy9saXN0cyBvZiB3aWR0aCBvciBoZWlnaHQgd2hlbiB0cmFuc2Zvcm1pbmcgY2FwcwoJICBDb2RlIHBhcnRseSB0YWtlbiBmcm9tIHRoZSB2aWRlb2Nyb3AgZWxlbWVudC4KCjIwMTAtMDQtMjIgMTU6NDU6MTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FscGhhL2dzdGFscGhhLmM6CgkgIGFscGhhOiBGaXggcGxhbmFyIFlVVi0+UkdCIHByb2Nlc3NpbmcKCjIwMTAtMDQtMjIgMTU6NDI6MDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FscGhhL2dzdGFscGhhLmM6CgkgIGFscGhhOiBDb3JyZWN0bHkgY2xhbXAgYWZ0ZXIgWVVWLT5SR0IgY29udmVyc2lvbgoKMjAxMC0wNC0yMiAxNToyMDoyNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzoKCSAgYWxwaGE6IEFkZCBzdXBwb3J0IGZvciBZVVkyLCBZVllVIGFuZCBVWVZZCgoyMDEwLTA0LTE4IDE1OjAyOjQyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOgoJICB2aWRlb2JveDogU3luYyBwcm9wZXJ0aWVzIHRvIHRoZSBjb250cm9sbGVyIGluIGJlZm9yZV90cmFuc2Zvcm0KCjIwMTAtMDQtMTYgMTc6MDA6MDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6CgkgIHZpZGVvYm94OiBBZGQgc3VwcG9ydCBmb3IgWVVZMiBhbmQgVVlVVgoKMjAxMC0wNC0yMSAxNzo0MTo0MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzoKCSAgYWxwaGE6IFJlZmFjdG9yIHByb2Nlc3NpbmcgYW5kIGFkZCBzdXBwb3J0IGZvciBvdGhlciBwbGFuYXIgWVVWIGZvcm1hdHMKCSAgVGhpcyByZWR1Y2VzIHRoZSBnZW5lcmF0ZWQgY29kZSBzaXplIGJ5IGEgZmFjdG9yIG9mIDIuNS4KCjIwMTAtMDQtMjEgMTc6MTU6MzMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FscGhhL2dzdGFscGhhLmM6CgkgIGFscGhhOiBBZGQgc3VwcG9ydCBmb3IgWVYxMiBpbnB1dAoKMjAxMC0wNC0yMiAxMzo1Njo1OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZC5jOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZC5oOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkgIHZpZGVvbWl4ZXI6IEFkZCBzdXBwb3J0IGZvciBZVVkyLCBZVllVLCBVWVZZCgoyMDEwLTA0LTIwIDEyOjE4OjE4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL2JsZW5kLmM6CgkqIGdzdC92aWRlb21peGVyL2JsZW5kLmg6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSAgdmlkZW9taXhlcjogQWRkIHN1cHBvcnQgZm9yIFk0NDQsIFk0MkIsIFk0MUIgYW5kIFlWMTIKCjIwMTAtMDQtMjEgMTc6MDc6MTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdGdhbW1hLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2JhbGFuY2UuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmxpcC5jOgoJICB2aWRlb2ZpbHRlcjogT3JkZXIgY29sb3IgZm9ybWF0cyBieSB0aGVpciBjb250YWluZWQgYW1vdW50IG9mIGluZm9ybWF0aW9uCgoyMDEwLTA0LTIwIDE4OjIyOjE2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZsaXAuYzoKCSAgdmlkZW9mbGlwOiBEcm9wIFk0MUIvWTQyQiBzdXBwb3J0CgkgIFJvdGF0aW5nIDkwwrAvMjcwwrAgd2l0aCBzdWJzYW1wbGVkIFlVViB3aGVyZSBob3Jpem9udGFsCgkgIGFuZCB2ZXJ0aWNhbCBzdWJzYW1wbGluZyBhcmUgZGlmZmVyZW50IGRvZXNuJ3QgcmVhbGx5IHdvcmsuCgoyMDEwLTA0LTE5IDE0OjM3OjU0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZsaXAuYzoKCSAgdmlkZW9mbGlwOiBBbHNvIGZsaXAgdGhlIHBpeGVsLWFzcGVjdC1yYXRpbyBpZiB3aWR0aC9oZWlnaHQgYXJlIGV4Y2hhbmdlZAoKMjAxMC0wNC0xOCAyMzowODoxNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9maWx0ZXIuYzoKCSAgdmlkZW9maWx0ZXI6IEV4dGVuZCB0aGUgdW5pdCB0ZXN0IHRvIHRlc3QgZGlmZmVyZW50IGNvbG9yIGZvcm1hdHMKCjIwMTAtMDQtMTggMjI6NTU6MzYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9maWx0ZXIuYzoKCSAgdmlkZW9maWx0ZXI6IEFkZCBzb21lIG1vcmUgdGVzdHMKCSAgVGhlc2UgY2hlY2sgZGlmZmVyZW50IHByb3BlcnR5IGNvbWJpbmF0aW9ucwoKMjAxMC0wNC0xOCAyMjo1NDoyMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9mbGlwLmM6CgkgIHZpZGVvZmxpcDogQ2hhbmdlIHRoZSBkZWZhdWx0IG1ldGhvZCB0byBpZGVudGl0eQoKMjAxMC0wNC0xOCAyMjo1MDoyMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9iYWxhbmNlLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2JhbGFuY2UuaDoKCSAgdmlkZW9iYWxhbmNlOiBSZWR1Y2UgbnVtYmVyIG9mIGFsbG9jYXRpb25zIHBlciBpbnN0YW5jZQoKMjAxMC0wNC0xOCAyMjo0NTo1OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0Z2FtbWEuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvYmFsYW5jZS5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9mbGlwLmM6CgkgIHZpZGVvZmlsdGVyOiBVcGRhdGUgbGFzdC1yZXZpZXdlZCBjb21tZW50cwoKMjAxMC0wNC0xOCAyMjo0MDo1NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9iYWxhbmNlLmM6CgkgIHZpZGVvYmFsYW5jZTogQWRkIHN1cHBvcnQgZm9yIGFsbCBSR0IgZm9ybWF0cwoKMjAxMC0wNC0xOCAyMjoyODoxNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9iYWxhbmNlLmM6CgkgIHZpZGVvYmFsYW5jZTogQWRkIHN1cHBvcnQgZm9yIFlVWTIsIFVZVlksIEFZVVYgYW5kIFlWWVUKCjIwMTAtMDQtMTggMjI6MjM6MDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvYmFsYW5jZS5jOgoJICB2aWRlb2JhbGFuY2U6IEFkZCBkZWJ1ZyBjYXRlZ29yeQoKMjAxMC0wNC0xOCAyMjoxOTo1NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9iYWxhbmNlLmM6CgkgIHZpZGVvYmFsYW5jZTogTWFrZSBwcm9wZXJ0eSBhY2Nlc3MgdGhyZWFkc2FmZQoKMjAxMC0wNC0xOCAyMjoxODoyNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9iYWxhbmNlLmM6CgkgIHZpZGVvYmFsYW5jZTogQWRkIHN1cHBvcnQgZm9yIFk0MUIsIFk0MkIgYW5kIFk0NDQKCjIwMTAtMDQtMTggMjI6MTc6MDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvYmFsYW5jZS5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9iYWxhbmNlLmg6CgkgIHZpZGVvYmFsYW5jZTogVXNlIGxpYmdzdHZpZGVvIGZvciBmb3JtYXQgc3BlY2lmaWMgdGhpbmdzCgoyMDEwLTA0LTE4IDIyOjA5OjA2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2JhbGFuY2UuYzoKCSAgdmlkZW9iYWxhbmNlOiBNYWtlIHByb3BlcnRpZXMgY29udHJvbGxhYmxlCgoyMDEwLTA0LTE4IDIyOjA2OjQ0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2JhbGFuY2UuYzoKCSAgdmlkZW9iYWxhbmNlOiBFbWl0ICJ2YWx1ZS1jaGFuZ2VkIiBzaWduYWwgb2YgY29sb3IgYmFsYW5jZSBpbnRlcmZhY2Ugd2hlbiB2YWx1ZXMgY2hhbmdlCgoyMDEwLTA0LTE4IDIxOjU4OjEzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2JhbGFuY2UuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvYmFsYW5jZS5oOgoJICB2aWRlb2JhbGFuY2U6IFNvbWUgcmFuZG9tIGNsZWFudXAKCjIwMTAtMDQtMTggMjE6Mzc6MjMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvYmFsYW5jZS5jOgoJICB2aWRlb2JhbGFuY2U6IFN0b3AgdXNpbmcgbGlib2lsCgkgIFRoZSB1c2VkIGxpYm9pbCBmdW5jdGlvbiBpcyBkZXByZWNhdGVkIGFuZCBoYXMgbm8gb3B0aW1pemVkCgkgIGltcGxlbWVudGF0aW9uIGFueXdheS4KCjIwMTAtMDQtMTggMjE6MTQ6MTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmxpcC5jOgoJICB2aWRlb2ZsaXA6IE1ha2UgcHJvcGVydHkgYWNjZXNzIHRocmVhZHNhZmUKCjIwMTAtMDQtMTggMTU6MDA6MzYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdGdhbW1hLmM6CgkgIGdhbW1hOiBTeW5jIHByb3BlcnRpZXMgdG8gdGhlIGNvbnRyb2xsZXIgaW4gYmVmb3JlX3RyYW5zZm9ybQoKMjAxMC0wNC0xOCAxNDo0NjowOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9mbGlwLmM6CgkgIHZpZGVvZmxpcDogQWRkIHN1cHBvcnQgZm9yIGFsbCBSR0IgZm9ybWF0cyBhbmQgQVlVVgoKMjAxMC0wNC0xOCAxNDozMTozNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9mbGlwLmM6CgkgIHZpZGVvZmxpcDogQWRkIHN1cHBvcnQgZm9yIFk0MUIsIFk0MkIgYW5kIFk0NDQKCjIwMTAtMDQtMTggMTQ6Mjk6MzAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmxpcC5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9mbGlwLmg6CgkgIHZpZGVvZmxpcDogTWFrZSBwcm9jZXNzaW5nIG1vcmUgZ2VuZXJhbCBhbmQgdXNlIGxpYmdzdHZpZGVvIGZvciBhbGwgZm9ybWF0IHNwZWNpZmljIHRoaW5ncwoKMjAxMC0wNC0xOCAxMzoxMjo0MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9mbGlwLmM6CgkgIHZpZGVvZmxpcDogTWFrZSBtZXRob2QgcHJvcGVydHkgY29udHJvbGxhYmxlIGFuZCBpbXByb3ZlIGRlYnVnIG91dHB1dAoKMjAxMC0wNC0xOCAxMzowMzo0OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9mbGlwLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZsaXAuaDoKCSAgdmlkZW9mbGlwOiBTb21lIHJhbmRvbSBjbGVhbnVwCgoyMDEwLTA0LTE4IDEwOjE3OjUyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIE1ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9maWx0ZXIvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb2ZpbHRlci9nc3RnYW1tYS5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9iYWxhbmNlLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZsaXAuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL3BsdWdpbi5jOgoJICB2aWRlb2ZpbHRlcjogTW92ZSBhbGwgZWxlbWVudHMgaW50byBhIHNpbmdsZSBwbHVnaW4KCSAgSGF2aW5nIGFsbCB0aGVzZSBzbWFsbCBlbGVtZW50cyBpbiBhIHNlcGFyYXRlIHBsdWdpbgoJICBpcyBub3QgdmVyeSBtZW1vcnkgZWZmZWN0aXZlLi4uCgoyMDEwLTA0LTE4IDEwOjA3OjI0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2ZpbHRlci9nc3RnYW1tYS5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0Z2FtbWEuaDoKCSAgZ2FtbWE6IEltcHJvdmUgZG9jcyBhIGJpdAoKMjAxMC0wNC0xOCAwOTo1OTo0MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0Z2FtbWEuYzoKCSAgZ2FtbWE6IEFkZCBzdXBwb3J0IGZvciBhbGwgUkdCIGZvcm1hdHMKCjIwMTAtMDQtMTggMDk6NDY6MTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdGdhbW1hLmM6CgkgIGdhbW1hOiBBZGQgc3VwcG9ydCBmb3IgbWFueSBwYWNrZWQgWVVWIGZvcm1hdHMKCSAgVGhhdCBpcyBZVVkyLCBVWVZZLCBBWVVWIGFuZCBZVllVLgoKMjAxMC0wNC0xOCAwOTozODozNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0Z2FtbWEuYzoKCSAgZ2FtbWE6IEFkZCBzdXBwb3J0IGZvciBhbGwgb3RoZXIgcGxhbmFyIFlVViBmb3JtYXRzCgkgIFRoYXQgaXMgWTQxQiwgWTQyQiwgWTQ0NCwgTlYxMiBhbmQgTlYyMS4KCjIwMTAtMDQtMTggMDk6MzM6NDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvZmlsdGVyL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0Z2FtbWEuYzoKCSAgZ2FtbWE6IFN0b3AgdXNpbmcgbGlib2lsCgkgIFRoZSB1c2VkIGxpYm9pbCBmdW5jdGlvbiBpcyBkZXByZWNhdGVkLCBvbmx5IGhhcyBhIHJlZmVyZW5jZSBpbXBsZW1lbnRhdGlvbgoJICBhbmQgaXMgbW9yZSBjb21wbGV4IHRoYW4gd2hhdCdzIG5lZWRlZCBoZXJlLgoKMjAxMC0wNC0xNyAxODoxMzo0NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0Z2FtbWEuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdGdhbW1hLmg6CgkgIGdhbW1hOiBVc2UgbGliZ3N0dmlkZW8gZm9yIGZvcm1hdCBzcGVjaWZpYyB2YWx1ZXMgYW5kIG1ha2UgZ2FtbWEgcHJvY2Vzc2luZyBtb3JlIGdlbmVyaWMKCSAgQWxsb3dzIHVzIHRvIGVhc2lseSBhZGQgc3VwcG9ydCBmb3IgbmV3IGNvbG9yIGZvcm1hdHMgbGF0ZXIuCgoyMDEwLTA0LTE3IDE4OjAxOjA2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2ZpbHRlci9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdGdhbW1hLmM6CgkgIGdhbW1hOiBNYWtlIGdhbW1hIHByb3BlcnR5IGNvbnRyb2xsYWJsZQoJICAuLi5hbmQgcHJvcGVybHkgdXNlIGxpYm9pbC4KCjIwMTAtMDQtMTcgMTc6NTU6MjIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdGdhbW1hLmM6CgkgIGdhbW1hOiBTb21lIHJhbmRvbSBjbGVhbnVwCgoyMDEwLTA0LTE5IDE0OjQ1OjMzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zbXB0ZS9nc3RzbXB0ZWFscGhhLmM6CgkgIHNtcHRlYWxwaGE6IFN5bmMgcHJvcGVydGllcyB0byB0aGUgY29udHJvbGxlciBpbiBiZWZvcmVfdHJhbnNmb3JtCgoyMDEwLTA0LTE3IDE3OjQ3OjA1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zbXB0ZS9nc3RzbXB0ZWFscGhhLmM6CgkgIHNtcHRlYWxwaGE6IEFkZCBzdXBwb3J0IGZvciBZVjEyIChjb252ZXJ0ZWQgdG8gQVlVVikKCjIwMTAtMDQtMTcgMTc6NDM6NTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NtcHRlL2dzdHNtcHRlYWxwaGEuYzoKCSAgc21wdGVhbHBoYTogQWRkIHN1cHBvcnQgZm9yIGFsbCA0IEFSR0IgZm9ybWF0cwoJICAuLi53aXRob3V0IGZvcm1hdCBjb252ZXJzaW9uLgoKMjAxMC0wNC0xNiAxNzoyNzowMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc21wdGUvZ3N0c21wdGVhbHBoYS5jOgoJKiBnc3Qvc21wdGUvZ3N0c21wdGVhbHBoYS5oOgoJICBzbXB0ZWFscGhhOiBNYWtlIGNvbG9yIGZvcm1hdCBzdXBwb3J0IG1vcmUgZ2VuZXJpYwoJICBUaGlzIGFsbG93cyBlYXNpZXIgYWRkaXRpb24gb2YgbmV3IGZvcm1hdHMgbGF0ZXIuCgoyMDEwLTA0LTE2IDE3OjE4OjE1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zbXB0ZS9nc3RzbXB0ZWFscGhhLmM6CgkqIGdzdC9zbXB0ZS9nc3RzbXB0ZWFscGhhLmg6CgkgIHNtcHRlYWxwaGE6IFNvbWUgcmFuZG9tIGNsZWFudXAKCjIwMTAtMDQtMTUgMjI6Mjg6NTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NtcHRlL2dzdG1hc2suYzoKCSogZ3N0L3NtcHRlL2dzdG1hc2suaDoKCSogZ3N0L3NtcHRlL2dzdHNtcHRlLmM6CgkqIGdzdC9zbXB0ZS9nc3RzbXB0ZS5oOgoJKiBnc3Qvc21wdGUvZ3N0c21wdGVhbHBoYS5jOgoJKiBnc3Qvc21wdGUvZ3N0c21wdGVhbHBoYS5oOgoJICBzbXB0ZTogQWRkIHByb3BlcnR5IGZvciBpbnZlcnRpbmcgdGhlIHRyYW5zaXRpb24gbWFzawoJICBUaGlzIGNvbnZlcnRzIGEgbGVmdC10by1yaWdodCB0cmFuc2l0aW9uIHRvIHJpZ2h0LXRvLWxlZnQgb3IKCSAgY2xvY2std2lzZSB0byBjb3VudGVyLWNsb2NrLXdpc2UuCgoyMDEwLTA0LTE1IDIyOjI3OjU3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zbXB0ZS9nc3RzbXB0ZWFscGhhLmM6CgkgIHNtcHRlYWxwaGE6IENvcnJlY3RseSBkZXRlY3QgcHJvcGVydHkgY2hhbmdlcyBhbmQgdXBkYXRlIHByb3BlcnRpZXMKCjIwMTAtMDQtMTYgMTk6MzU6MTIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwL2dzdHJ0cC5jOgoJKiBnc3QvcnRwL2dzdHJ0cHFjZWxwZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBxY2VscGRlcGF5Lmg6CgkgIHFjZWxwZGVwYXk6IGFkZCBmaXJzdCB2ZXJzaW9uIG9mIGEgUUNFTFAgZGVwYXlsb2FkZXIKCjIwMTAtMDQtMjkgMTU6MTg6MDcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYW1tYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oYWxlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9ub3Njb3BlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXVpY2t0aW1lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JhbGFuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmxpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQuCgo9PT0gcmVsZWFzZSAwLjEwLjIyID09PQoKMjAxMC0wNC0yOCAwMjo1ODowMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFubm9kZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhbW1hLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhhbGVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF1aWNrdGltZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9iYWxhbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogZ3N0LXBsdWdpbnMtZ29vZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMC4xMC4yMgoKMjAxMC0wNC0yOCAwMjo1NzoyMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDEwLTA0LTI1IDIzOjM2OjI5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICAwLjEwLjIxLjMgcHJlLXJlbGVhc2UKCjIwMTAtMDQtMjUgMjE6MTk6MzMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSAgZmx2bXV4OiBoaWRlIGlzLWxpdmUgcHJvcGVydHkgZm9yIHJlbGVhc2UKCSAgQXQgdGhlIHZlcnkgbGVhc3QgaXQgbmVlZHMgYSBiZXR0ZXIvbGVzcyB3cm9uZyBuYW1lLgoJICBTZWUgIzYxMzA2Ni4KCjIwMTAtMDQtMjUgMTU6MTI6MjAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnZGVjOiBkb24ndCBjcmFzaCBpZiBqcGVnIGltYWdlIGNvbnRhaW5zIG1vcmUgdGhhbiB0aHJlZSBjb21wb25lbnRzCgkgIE91ciBjb2RlIGN1cnJlbnRseSBvbmx5IGhhbmRsZXMgYSBtYXhpbXVtIG9mIDMgY29tcG9uZW50cywgc28gZXJyb3IKCSAgb3V0IGZvciBub3cgaWYgdGhlIGltYWdlIGhhcyBtb3JlIGNvbXBvbmVudHMgdGhhbiB0aGF0LgoJICBGaXhlcyAjNjA0MTA2LgoKMjAxMC0wNC0yMCAxNzoyMToyOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtcGx1Z2lucy1nb29kLmRvYXA6CgkgIGRvYXA6IHVwZGF0ZSByZXBvc2l0b3J5IGluZm8gZnJvbSBjdnMtPmdpdCBhbmQgbWFpbnRhaW5lcnMKCjIwMTAtMDQtMjMgMTQ6NDA6MjAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBmYzg1ODY3IHRvIDRkNjdiZDYKCjIwMTAtMDQtMjIgMTM6MzA6NTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmQuYzoKCSAgdmlkZW9taXhlcjogRml4IGJ5dGUgb3JkZXIgZm9yIE1NWCBBUkdCL0FZVVYgY29sb3IgZmlsbGluZwoJICBGaXhlcyBidWcgIzYxNjQwOS4KCjIwMTAtMDQtMjEgMTc6NTM6NDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmQuYzoKCSAgdmlkZW9taXhlcjogRml4IEFZVVYgY2hlY2tlci9jb2xvciBmaWxsaW5nCgoyMDEwLTA0LTE5IDE2OjQzOjI4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL2JsZW5kX21teC5oOgoJICB2aWRlb21peGVyOiBBZGQgaTM4NyBmbG9hdGluZyBwb2ludCByZWdpc3RlcnMgdG8gdGhlIGNsb2JiZXJlZCByZWdpc3RlcnMgbGlzdAoJICBUaGV5IGFyZSB0aGUgc2FtZSBhcyB0aGUgbW0wLW1tNyBNTVggcmVnaXN0ZXJzIGFuZCB3aWxsIGJlIG92ZXJ3cml0dGVuCgkgIGJ5IHRoZSBhc3NlbWJseSBjb2RlIGlmIGdjYyBkb2Vzbid0IGtub3cgYWJvdXQgdGhlIE1NWCByZWdpc3RlcnMuCgkgIE5vdGU6IFRoZXkncmUgYWxsIGFkZGVkIHRvIHRoZSBsaXN0IG9mIGNsb2JiZXJlZCByZWdpc3RlcnMgaW4gYWxsIGNhc2VzCgkgIGFuZCBub3Qgb25seSB3aGVuIF9fTU1YX18gaXMgbm90IGRlZmluZWQganVzdCB0byBtYWtlIHN1cmUgdGhhdCBubyBvdGhlcgoJICBidWdzIGhhcHBlbiB3aXRoIHRoaXMgY29kZSBqdXN0IGJlY2F1c2Ugc29tZSBjb21waWxlciB2ZXJzaW9uIGdldHMgdGhpbmdzCgkgIHdyb25nLgoJICBGaXhlcyBidWcgIzYxNDQ2Ni4KCjIwMTAtMDQtMTkgMTQ6MDk6MzQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6CgkgIHZpZGVvYm94OiBVc2UgbGliZ3N0dmlkZW8gdG8gZ2V0IHRoZSBvcmRlciBvZiBSR0IKCjIwMTAtMDQtMTcgMTA6MDY6NDEgKzAxMDAgIEJyaWFuIENhbWVyb24gPGJyaWFuLmNhbWVyb25Ab3JhY2xlLmNvbT4KCgkqIGdzdC9nb29tL3htbXguYzoKCSAgZ29vbTogYWRkIGVkeCB0byBjbG9iYmVyIGxpc3QgaW4gaW5saW5lIGFzc2VtYmx5IGNvZGUKCSAgbXVsbCBtb2RpZmllcyAlZWR4LCBzbyBzaG91bGQgYmUgbWVudGlvbmVkIGluIGNsb2JiZXIgbGlzdC4KCSAgRml4ZXMgY3Jhc2ggb24gU29sYXJpcyAoIzYxNTk5OCkuCgoyMDEwLTA0LTE1IDEzOjM5OjQxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2ljbGVzL01ha2VmaWxlLmFtOgoJICB0ZXN0czogZG9uJ3QgdXNlIEdTVF9QTFVHSU5fTERGTEFHUyB3aGVuIGJ1aWxkaW5nIHRlc3QgYmluYXJpZXMKCjIwMTAtMDQtMTYgMTU6Mjc6MTIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6CgkgIHZpZGVvYm94OiBGaXggSTQyMC0+STQyMCBjb3B5aW5nCgkgIEZpeGVzIGJ1ZyAjNjE1MTQzLgoKMjAxMC0wNC0xMyAxODoxNTo1MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzoKCSAgdmlkZW9ib3g6IEZpeCBBWVVWLT5JNDIwIGNvcHlpbmcKCjIwMTAtMDQtMTYgMTI6MTQ6MjYgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSAgcnRwaDI2NGRlcGF5OiBwcm9maWxlLWxldmVsLWlkIGlzIGFuIG9wdGlvbmFsIHBhcmFtZXRlcgoJICBTbywgaWYgbmVlZGVkLCBleHRyYWN0IHRoZSBjb3JyZXNwb25kaW5nIGluZm8gZnJvbQoJICBzcHJvcC1wYXJhbWV0ZXItc2V0cy4KCSAgQmFzZWQgb24gcGF0Y2ggcHJvdmlkZWQgYnkgPGR4c3N4IGF0IGdtYWlsLmNvbT4KCSAgRml4ZXMgIzYxMjY1Ny4KCjIwMTAtMDQtMTUgMDc6MTM6NDYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IERyb3AgLVdjYXN0LWFsaWduCgkgIENvbW1pdCBtZXNzYWdlIGNvcGllZCBmcm9tIGNvcmUncyBjb21taXQgZnJvbSBCZW5qYW1pbiBPdHRlOgoJICAyNDZmNWRiYTk2YTViNTBiYjc0NjIxYWY2N2IzMDk0MmNjYTcyYWY1CgkgIEFwcGFyZW50bHkgZ2NjIHdhcm5zIHRoYXQgR3N0TWluaU9iamVjdCBpcyBub3QgY2FzdGFibGUgdG8KCSAgR3N0RXZlbnQvTWVzc2FnZS9CdWZmZXIgZHVlIHRvIHRoZW0gY29udGFpbmluZyA2NGJpdCB2YXJpYWJsZXMsIGV2ZW4KCSAgdGhvdWdoIEFSTSBoYWNrZXJzIGNsYWltIHRoYXQgdGhvc2Ugb25seSBuZWVkIDRieXRlIGFsaWdubWVudC4gQW5kIGFzCgkgIGxvbmcgYXMgZ2NjIGJlaGF2ZXMgdGhhdCB3YXksIHRoaXMgd2FybmluZyBpcyBub3QgdmVyeSB1c2VmdWwuCgkgIFNvIHdlJ2xsIHJlbW92ZSB0aGUgd2FybmluZyB1bnRpbCB0aGlzIHByb2JsZW0gaXMgZml4ZWQuCgkgIEZpeGVzICM2MTU2OTgKCjIwMTAtMDQtMTQgMjM6NDY6MDYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY3RhZy5jOgoJICBmbGFjdGFnOiBmaXggYWRhcHRlciBhc3NlcnRpb24gd2hlbiB1c2VkIGRpcmVjdGx5IGFmdGVyIGZsYWNlbmMKCSAgVW5saWtlIGZpbGVzcmMsIGZsYWNlbmMgb3V0cHV0cyB0aGUgZmxhYyBibG9ja3MgbmVhdGx5IGFsaWduZWQgb25lIGluCgkgIGVhY2ggYnVmZmVyLiBUaGlzIG1lYW5zIHRoYXQgd2hlbiB3ZSBzd2l0Y2ggZnJvbSBtZXRhZGF0YSBtb2RlIHRvCgkgIGF1ZGlvIGRhdGEgcGFzc3Rocm91Z2ggbW9kZSwgdGhlcmUncyBubyBkYXRhIGxlZnQgaW4gdGhlIGFkYXB0ZXIgdG8KCSAgcHVzaCBvdXQgYXQgdGhpcyBwb2ludCwgc28gY2hlY2sgaWYgdGhlcmUncyBkYXRhIGluIHRoZSBhZGFwdGVyCgkgIGJlZm9yZSByZXF1ZXN0aW5nIGJ1ZmZlcnMgZnJvbSBpdCAoYWxzbyBuZWVkZWQgaW4gY2FzZSB3ZSBnZXQgaW5wdXQKCSAgYnVmZmVycyBvZiAwIHNpemUpLgoJICBGaXhlcyAjNjE1NzkzLgoKMjAxMC0wNC0xNCAyMzoxODoyNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgMC4xMC4yMS4yIHByZS1yZWxlYXNlCgoyMDEwLTA0LTE0IDIwOjMxOjMwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkgIHBvOiB1cGRhdGUKCjIwMTAtMDQtMTQgMjA6MDY6MDkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvZXF1YWxpemVyL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9zaGFwZXdpcGUvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL3NwZWN0cnVtL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy92NGwyL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9pY2xlcy9NYWtlZmlsZS5hbToKCSAgdGVzdHM6IHVzZSBMREFERCBmb3IgbGlicyB0byBsaW5rIHRvIGluc3RlYWQgb2YgTERGTEFHUwoJICBVc2UgZm9vX0xEQUREIGluc3RlYWQgb2YgZm9vX0xERkxBR1MgdG8gc3BlY2lmeSB0aGUgbGlicmFyaWVzIHRvIGxpbmsgdG8uCgkgIFRoaXMgc2hvdWxkIG1ha2Ugc3VyZSBhcmd1bWVudHMgYXJlIHBhc3NlZCB0byB0aGUgbGlua2VyIGluIHRoZSByaWdodAoJICBvcmRlciwgYW5kIG1ha2VzIExERkxBR1MgdXNhYmxlIGFnYWluLgoJICBCYXNlZCBvbiBwYXRjaCBieSBCcmlhbiBDYW1lcm9uIDxicmlhbi5jYW1lcm9uQG9yYWNsZS5jb20+CgkgIEZpeGVzICM2MTU2OTcuCgoyMDEwLTA0LTE0IDE4OjEzOjU2ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6CgkgIHZpZGVvYm94OiB0cmFuc2Zvcm1fY2FwcyA6IFdlIGNhbiBvbmx5IGNvbnZlcnQgQVlVViB0byB4UkdCCgkgIFdlIHdlcmUgcHJldmlvdXNseSBzdGF0aW5nIHRoYXQgd2UgY291bGQgY29udmVydCBBWVVWL0k0MjAvWVYxMiB0byB4UkdCLgoKMjAxMC0wNC0xMyAwMDoxNDo0NiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogYWxzbyByZW1vdmUgLVdhZ2dyZWdhdGUtcmV0dXJuIGZyb20gd2FybmluZyBmbGFncwoJICBJdCBjYXVzZXMgcHJvYmxlbXMgd2l0aCBPYmplY3RpdmUtQyBjb2RlIGxpa2UgaW4gb3N4dmlkZW9zaW5rLgoJICBGaXhlcyAjNjEzNjYzLgoKMjAxMC0wNC0xMiAxODoyMjozOSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBjaGVjazogSWdub3JlIG9zeCBhdWRpby92aWRlbyBzcmMvc2lua3MgaW4gc3RhdGUgY2hhbmdlIHRlc3RzCgkgIEFuZCBtYWtlIHRoZSBsaW5lIHJlYWRhYmxlIGZvciB0aG9zZSBtZXJlIG1vcnRhbHMgdGhhdCBkb24ndCBvd24gYSAzMCIgc2NyZWVuCgoyMDEwLTA0LTEyIDE4OjAzOjIwICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY21tbGRlYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jbW1sZW5jLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2xldmVsLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21hdHJvc2thbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnYW5hbHlzaXMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcmdsaW1pdGVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3Jndm9sdW1lLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NwZWN0cnVtLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvZmlsdGVyLmM6CgkgIGNoZWNrOiBEb24ndCByZS1kZWNsYXJlICdHTGlzdCAqYnVmZmVycycgaW4gdGhlIHRlc3RzCgkgIEl0J3MgYW4gZXh0ZXJuYWwgd2hpY2ggbGl2ZXMgaW4gZ3N0Y2hlY2suYy4gUmVkZWNsYXJpbmcgaXQgbWFrZXMgc29tZQoJICBjb21waWxlcnMvYXJjaGl0ZWN0dXJlcyB0aGluayB0aGUgJ2J1ZmZlcnMnIGluIHRoZSBpbmRpdmlkdWFsIHRlc3RzIGFyZQoJICBhIGRpZmZlcmVudCBzeW1ib2wuLi4gYW5kIHRoZXJlZm9yZSB3ZSBlbmQgdXAgY29tcGFyaW5nIGhvbG9kZWNrcyB3aXRoCgkgIG9yYW5nZXMuCgoyMDEwLTA0LTEyIDE0OjUwOjQ2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXgsIHF0ZGVtdXg6IG1pbm9yIGNvZGUgY2xlYW51cCBpbiBhdmNfbGV2ZWxfaWRjX3RvX3N0cmluZygpCgkgIERvIHRoZSBzYW1lIHdpdGggc2xpZ2h0bHkgZmV3ZXIgTE9DLgoKMjAxMC0wNC0xMiAxMjo0MDoxMSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBSZW1vdmUgLVd1bmRlZiBmbGFnCgkgIEZpeGVzICM2MTUxNjEKCjIwMTAtMDQtMTIgMTE6NDM6NDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6CgkgIHZpZGVvYm94OiBGaXggSTQyMC0+QVlVViBjb3B5aW5nCgoyMDEwLTA0LTEyIDExOjI1OjU5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOgoJICB2aWRlb2JveDogQ29ycmVjdGx5IGNsYW1wIGZyYW1lL2JhY2tncm91bmQgYWxwaGFzIHRvIFswLDI1NV0gYmVmb3JlIHdyaXRpbmcgdGhlbQoKMjAxMC0wNC0xMiAxMToxNjo1NiArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkgIGNoZWNrOiBJZ25vcmUganBlZ2VuYyB0ZXN0CgoyMDEwLTA0LTExIDEzOjE0OjMwIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuaDoKCSAgZGVpbnRlcmxhY2U6IE9ubHkgY2hlY2sgaW50ZXJsYWNlZCBmbGFnIGluIHNpbmsgY2FwcwoJICBGaXhlcyAjNjE1NDYwLgoKMjAxMC0wNC0wOSAxMToyMTo0NyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGJhMzNkMWYgdG8gZmM4NTg2NwoKMjAxMC0wNC0wOCAxODowNTo0NiArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc3JjLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBkb2NzOiBkbyBwcm9wZXIgZXNjYXBpbmcgZm9yICIlIgoKMjAxMC0wNC0wOCAxNzo1MDo0OSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3J0c3AvZ3N0cnRzcGdvb2dsZS5jOgoJKiBnc3QvcnRzcC9nc3RydHNwZ29vZ2xlLmg6CgkgIHJ0c3A6IHJlbW92ZSBvYnNvbGV0ZSBnb29nbGUgZXh0ZW5zaW9uCgkgIFRoaXMgd2FzIG5vdCBidWlsZCBmb3IgYSB3aGlsZSBhbmQgY2FuIGJlIHJlbW92ZWQuCgoyMDEwLTA0LTA4IDE3OjQyOjUyICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgZG9jczogbW92ZSB0d28gc3ltYm9scyB0byBwcml2YXRlIHNlY3Rpb24KCjIwMTAtMDQtMDggMTc6MzY6MzAgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICBkb2NzOiBhZGQgZmx4ZGVjIGRvY3MKCjIwMTAtMDQtMDggMTc6MTc6MDYgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBnc3QvcnRwL2dzdHJ0cGoya3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdwYXkuYzoKCSAgZG9jczogZW5hYmxlIHRoZSAyIG9mIDY1IHJ0cCBlbGVtZW50cyBpbiB0aGUgZG9jcwoKMjAxMC0wNC0wOCAxMTo1NDoxOSArMDIwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogZXh0L3Nob3V0Mi9nc3RzaG91dDIuYzoKCSAgc2hvdXQyOiBEb24ndCB3YWl0IGlmIHdlJ3JlIGxhdGUKCSAgSW4gZmFjdCwgZHVlIHRvIHNpZ25lZG5lc3MgaXNzdWVzLCBhIG5lZ2F0aXZlIGRlbGF5IHdvdWxkIGJlIGNoYW5nZWQgdG8KCSAgYW4gYWxtb3N0IGluZmluaXRlIHdhaXQgY2F1c2luZyBzaG91dDJzZW5kIHRvICJsb2NrIHVwIi4KCSAgUmVwb3J0ZWQgYnkgQ2hyaXN0b3BoZXIgTW9udGdvbWVyeS4KCjIwMTAtMDQtMDggMTY6NTY6MzcgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkgIGRvY3M6IHVwZCAtPiB1ZHAgYW5kIHZvaWxhIGl0IHNob3dzIHVwIGluIHRoZSBkb2NzCgoyMDEwLTA0LTA4IDE2OjUxOjI3ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuaDoKCSAgZG9jczogZml4IGRvYyBibG9iIHN5bnRheAoKMjAxMC0wNC0wOCAxNjo1MTowNSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgIGRvY3M6IGFkZCAoc3BhcnNlKSBkb2NzIGZvciBhdXBhcnNlIGVsZW1lbnQKCjIwMTAtMDQtMDggMTQ6NDA6NDMgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICBkb2NzOiBhZGQgdmlkZW9ib3ggc3ltYm9scwoKMjAxMC0wNC0wOCAxNDo0MDoxOSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICBkb2NzOiByZW1vdmUgZHludWRwc2luayB1bnRpbCBzb21lb25lIGRvY3VtZW50cyBpdAoKMjAxMC0wNC0wOCAxNDozNDo1OSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHZkZW11eDogbWFrZSBkZWJ1ZyBjYXRlZ29yeSBzdGF0aWMKCjIwMTAtMDQtMDggMTQ6Mjk6MTkgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguaDoKCSAgZmx4ZGVtdXg6IHJlbmFtZSBHc3RGTFZEZW11eCBmb3IgR3N0Rmx2RGVtdXgKCjIwMTAtMDQtMDggMTQ6MjM6MTkgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBnc3QvZmx2L01ha2VmaWxlLmFtOgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguaDoKCSogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOgoJKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmg6CgkgIGZsdmRlbXV4OiBtZXJnZSBmbHZwYXJzZSBpbnRvIHRoZSBkZW11eGVyIGFuZCBtYWtlIGZ1bmN0aW9uIHN0YXRpYwoJICBObyBuZWVkIHRvIGhpZGUgY2VydGFpbiBmdW5jdGlvbiBpbiB0aGUgZG9jcy4gQWxsb3dzIHRvIGRvIG1vcmUgY2xlYW51cHMuCgoyMDEwLTA0LTA4IDEzOjEzOjM0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZ3N0L2FscGhhL2dzdGFscGhhLmM6CgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5oOgoJICBhbHBoYTogQWRkIGRvY3VtZW50YXRpb24KCjIwMTAtMDQtMDggMTQ6MDA6MDggKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICBkb2NzOiB2NGwyYnVmZmVyIHBvb2wgaXMgbm93IGEgc2VwYXJhdGUgb2JqZWN0LCByZW1vdmUgdGhlbSBmcm9tIHY0bDJzcmMgZG9jcwoKMjAxMC0wNC0wOCAxMzo1ODoxMSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgIGRvY3M6IHJlbW92ZSBub24gZXhpc3RpbmcgZmxhZ3MgYW5kIGFkZCB0d28gaW50ZXJuYWwgbWV0aG9kcwoJICBJZiBzb21lb25lIGNhcmVzIGZsdnBhcnNlIGNvdWxkIGJlIG1lcmdlZCBpbnRvIGZsdmRlbXV4LgoKMjAxMC0wNC0wOCAxMzo1NzowOSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5oOgoJICBydHBzZXNzaW9uOiByZW1vdmUgcHJvdG90eXBlIGZvciBub24gZXhpc3RpbmcgZnVuY3Rpb24KCSAgVGhlcmUgaXMgbm8gZnVuY3Rpb24gYnkgdGhhdCBuYW1lIGFueXdoZXJlLgoKMjAxMC0wNC0wOCAxMjo1Njo1MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vbm9zY29wZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkgIGRvY3M6IFVwZGF0ZSBpbnNwZWN0ZWQgcGx1Z2luIGluZm9ybWF0aW9uCgoyMDEwLTA0LTA4IDEyOjU2OjMwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hbHBoYS9nc3RhbHBoYWNvbG9yLmM6CgkgIGFscGhhY29sb3I6IEltcHJvdmUgZG9jcyBhIGJpdAoKMjAxMC0wNC0wOCAxMzo0Nzo0MiArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgIGRvY3M6IGFkZCBlZmZlY3R0diBkZWZpbmVzIGFuZCByZW9yZGVyIGxpc3QKCjIwMTAtMDQtMDggMTM6NDE6NDcgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICBkb2NzOiByZW1vdmUgdGhyZWUgZW50cmllcyB0aGF0IGFyZSBub3QgZXhwb3J0ZWQgZnJvbSB0aGUgaGVhZGVycyBhbnltb3JlCgoyMDEwLTA0LTA4IDEzOjQwOjM2ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuaDoKCSAganBlZ2RlYzogbW92ZSBtYWNybyB0byBjIHNvdXJjZQoJICBPbmUgbGVzcyBzZW1pIHB1YmxpYyBzeW1ib2wgd2l0aG91dCBuYW1lc3BhY2UgcHJlZml4IGluIHRoZSBoZWFkZXJzLgoKMjAxMC0wNC0wOCAxMzo0MDowOSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmg6CgkgIHNwZWV4ZW5jOiByZW1vdmUgdW51c2VkIGRlZmluZXMKCjIwMTAtMDQtMDggMTM6MjM6MzggKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2EtbXV4OiBmaXggbGFzdCBjb21taXQKCSAgVXNlIGEgbG9jYWwgZGVmaW5lIGZvciBXQVZFRk9STUFUX0VYIGJhc2VkIG9uIHRoZSBzaXplIG9mIHRoZSBzdHJ1Y3QgKyAyIGJ5dGVzCgkgIGZvciB0aGUgZXh0ZW5zaW9uIHNpemUuCgoyMDEwLTA0LTA4IDEzOjE2OjUzICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuaDoKCSAgc3BlZXg6IHJlbW92ZSB1bnVzZWQgZGVmaW5lCgoyMDEwLTA0LTA4IDEzOjAzOjQzICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3Qvd2F2ZW5jL01ha2VmaWxlLmFtOgoJKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5jOgoJKiBnc3Qvd2F2ZW5jL3JpZmYuaDoKCSAgd2F2ZW5jOiByZW1vdmUgaW50ZXJuYWwgY29weSBvZiByaWZmLmggYW5kIHVzZSByaWZmLWxpYnJhcnkgaW5zdGVhZC4KCSAgV2UgZG9uJ3QgdXNlIGFueSBmdW5jdGlvbiB5ZXQsIGp1c3QgdGhlIHN0cnVjdHVyZXMgYW5kIGRlZmluZXMuCgoyMDEwLTA0LTA4IDEyOjU2OjA5ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguaDoKCSAgbWF0cm9za2FtdXg6IHVzZSByaWZmIGxpYiBtb3JlCgkgIFJlbW92ZSBCSVRNQVBJTkZPSEVBREVSIGFuZCB1c2UgdGhlIG9uZSBmcm9tIHJpZmYtbGliLiBBbHNvIHJlbW92ZSB0aGUKCSAgV0FWRUZPUk1BVEVYX1NJWkUgZGVmaW5lIGFuZCB1c2UgYSBzaXplb2YgdG9nZXRoZXIgd2l0aCB0aGUgcmVzcGVjdGl2ZSBzdHJ1Y3QuCgkgIEJlc2lkZXMgYmV0dGVyIGNvZGUgcmV1c2UgdGhpcyBsZXNzZW5zIHRoZSB1bnVuc2VkIHN5bWJvbHMgaW4gdGhlIGRvY3MuCgoyMDEwLTA0LTA4IDEyOjE0OjA3ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4Lmg6CgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuaDoKCSAgZG9jczogdHJpbSBzZWN0aW9ucyBmaWxlIG1vcmUKCSAgUmVuYW1lIHNvbWUgZGVmaW5lcyBhbmQgbW92ZSBzb21lIGl0ZXNtIHRvICouYyBmaWxlcy4gQWRkIG1vcmUgaXRlbXMgdG8gaW50ZXJuYWwKCSAgc3Vic2VjdGlvbi4KCjIwMTAtMDQtMDggMTE6MTk6NDMgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICBkb2NzdzogdHJpbSB0aGUgc2VjdGlvbiBmaWxlCgoyMDEwLTA0LTA4IDEwOjI2OjI1ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgZG9jczogYWRkIHY0bDJzaW5rIHRvIGRvY3MKCjIwMTAtMDQtMDggMTA6MTU6MDggKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvYW1wbGlmeS5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSAgZG9jczogZml4IHhtbAoJICBUaGUgdGl0bGUgdGFnIGJlbG9uZ3MgaW50byB0aGUgcmVmc2VjdDIuCgoyMDEwLTA0LTA3IDE3OjQzOjU2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOgoJICB2aWRlb2JveDogQWRkIHN1cHBvcnQgZm9yIFlWMTIsIGluY2x1ZGluZyBjb252ZXJzaW9uIHN1cHBvcnQgZm9yIEk0MjAvQVlVVgoKMjAxMC0wNC0wNyAxNzoyNzoxMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzoKCSAgdmlkZW9ib3g6IEFkZCBzdXBwb3J0IGZvciBncmF5c2NhbGUgaW5wdXQvb3V0cHV0CgkgIFRoaXMgZG9lc24ndCBkbyBhbnkgY29udmVyc2lvbiBhbmQgaXMgdGhlIG5leHQgc3RlcCB0bwoJICByZXBsYWNpbmcgdmlkZW9jcm9wIGJ5IHN1cHBvcnRpbmcgYWxsIHJlbWFpbmluZyBmb3JtYXRzCgkgIGluIHBhc3N0aHJvdWdoIG1vZGUuCgoyMDEwLTA0LTA3IDE2OjI0OjM4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guaDoKCSAgdmlkZW9ib3g6IEFkZCBzdXBwb3J0IGZvciBmaWxsaW5nIHRoZSBiYWNrZ3JvdW5kIHdpdGggcmVkLCB5ZWxsb3cgYW5kIHdoaXRlCgoyMDEwLTA0LTA3IDE2OjExOjExICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOgoJICB2aWRlb2JveDogQWRkIHN1cHBvcnQgZm9yIGRpcmVjdCBSR0I8LT5BWVVWIGNvbnZlcnNpb24KCjIwMTAtMDQtMDcgMTY6MTE6MDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6CgkgIHZpZGVvYm94OiBGaXggUkdCMjQgZmlsbGluZwoKMjAxMC0wNC0wNyAxNjowNjo1NCArMDMwMCAgTWFyY28gQmFsbGVzaW8gPG1hcmNvLmJhbGxlc2lvQG5va2lhLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkgIGgyNjRkZXBheTogaGFuZGxlIHByb3Blcmx5IFNUQVBzCgkgIGluIHJ0cGgyNjRkZXBheS5jLCBsaW5lcyA1NzctNTc2LCBOQUxVLXR5cGUgMjQgKFNpbmdsZS1UaW1lIEFnZ3JlZ2F0aW9uCgkgIFBhY2tldCkgaXMgaGFuZGxlZCBpbiBmYWxsLXRocm91Z2ggYXMgTkFMVS10eXBlIDI2ICh1bmhhbmRsZWQpLgoJICBUaGlzIGxlYWRzIGhpZ2ggcXVhbGl0eSBoMjY0IHN0cmVhbXMgc3VjaCBhczoKCSAgcnRzcDovL3N0cmVhbS55bGUubW9iaS95bGUvYXJlZW5hL01FRElBX0UwMzQyNjU3X3AzLm1wNAoJICB0byBmYWlsIHdpdGggIk5BTCB1bml0IHR5cGUgMjQgbm90IHN1cHBvcnRlZCB5ZXQiIChidXQgaXQncyBhY3R1YWxseQoJICBzdXBwb3J0ZWQpLCBhbmQgdGh1cyB0byBjbG9zZSBhbnkgc3RyZWFtIHdoaWNoIGNvbnRhaW5zIFNUQVBzLgoJICBUaGUgcHJvcG9zZWQgb25lLWxpbmVyIHBhdGNoIGZpeGVzIHRoZSBpc3N1ZS4KCSAgRml4ZXMgIzYxNTA1MS4KCjIwMTAtMDQtMDcgMTM6NDc6MDIgKzAyMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ3N0LWkxOG4tcGx1Z2luLmg6CgkqIGdzdC9hdmkvZ3N0YXZpLmM6CgkgIGJ1aWxkOiBmaXggY29tcGlsZXIgd2FybmluZ3MKCSAgZml4IHdhcm5pbmdzIGZvciBhbGwgcGx1Z2lucyB0aGF0IHVzZTogc2V0bG9jYWxlIChMQ19BTEwuLi4KCjIwMTAtMDQtMDcgMTM6MzE6MTMgKzAyMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJKiBnc3QvYXZpL2dzdGF2aS5jOgoJICBhdmk6IGZpeCBjb21waWxlciB3YXJuaW5nCgoyMDEwLTAzLTMxIDE3OjU0OjIxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiByZXN0cmljdCByZXN5bmNpbmcgdG8gc3VidGl0bGUgdHJhY2tzCgkgIFRoaXMgc2hvdWxkIHByZXZlbnQgc2tpcHBpbmcgYXVkaW8gb3IgdmlkZW8gaW4gbm90IHNvIHdlbGwgaW50ZXJsZWF2ZWQKCSAgY2FzZXMuCgkgIEZpeGVzICM2MTQ0NjAuCgoyMDEwLTA0LTA2IDEzOjIxOjUxICswNTMwICBBcnVuIFJhZ2hhdmFuIDxmb3JkX3ByZWZlY3RAZ2VudG9vLm9yZz4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eF9mb3VyY2MuaDoKCSAgcXRkZW11eDogUG9zdCBhdmcuL21heC4gYml0cmF0ZSB0YWdzIGZvciBILjI2NAoJICBUaGlzIHJlYWRzIHRoZSBhdmVyYWdlIGFuZCBtYXhpbXVtIGJpdHJhdGVzIGZyb20gdGhlICdidHJ0JyBhdG9tIGlmCgkgIGF2YWlsYWJsZSwgYW5kIHB1c2hlcyB0aGVzZSBhcyB0YWdzLAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjE0OTI3CgoyMDEwLTA0LTAzIDIzOjM5OjIwICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogZml4IHJhY3kgc2h1dGRvd24KCSAgS2VlcCBhIHJlZiBvZiBwdWxzZXNpbmsgZm9yIGRlZmVycmVkIG1haW5sb29wIGludm9jYXRpb24uIEZpeGVzICM2MTQ3NjUKCjIwMTAtMDQtMDUgMTU6NDg6MTcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2pwZWdlbmMuYzoKCSAgdGVzdHM6IGpwZWdlbmM6IEFkZHMgc29tZSBnZXRjYXBzIHRlc3QKCSAgQWRkcyB0ZXN0cyBmb3IgdGhlIGpwZWdlbmMgZ2V0Y2FwcyBmdW5jdGlvbiwgdG8gYXZvaWQKCSAgaGF2aW5nIGl0IHJldHVybmluZyBub24tc3Vic2V0IGNhcHMKCjIwMTAtMDQtMDUgMTQ6NTE6NTggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJICBqcGVnZW5jOiBGaXggZ2V0Y2FwcyBmdW5jdGlvbgoJICBXaGVuIGNyZWF0aW5nIHRoZSBjYXBzIGFsbG93ZWQgdG8gdXBzdHJlYW0gdXNpbmcgZG93bnN0cmVhbQoJICByZXN0cmljdGlvbnMsIHVzZSBnc3RfcGFkX2dldF9hbGxvd2VkX2NhcHMgYXMgdGhhdCBoYXMgdGhlCgkgIHVzYWJsZSBmb3JtYXRzIGFuZCBwdXRzIGludG8gaXQgdGhlIHdpZHRoLCBoZWlnaHQgYW5kIGZyYW1lcmF0ZQoJICBmaWVsZHMuIFRoaXMgYXZvaWRzIGdldHRpbmcgZXJyb3JzIGFib3V0IGdldGNhcHMgcmV0dXJuaW5nCgkgIG5vbiBzdWJzZXQgY2FwcyBvZiBpdHMgcGFkIHRlbXBsYXRlLgoJICBUaGlzIGVycm9yIHNob3dlZCB1cCBvbiB0aGUgbWV0YWRhdGEgcGx1Z2luIHVuaXQgdGVzdCBpbiAtYmFkLgoKMjAxMC0wNC0wNSAxNzozMTozNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzoKCSAgdmlkZW9ib3g6IEZpeCBjb252ZXJzaW9uIGZyb20gMyBieXRlIFJHQiB0byBBUkdCCgoyMDEwLTA0LTA1IDE3OjA4OjE1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOgoJICB2aWRlb2JveDogQWRkIHN1cHBvcnQgZm9yIDMgYnl0ZSBSR0IgZm9ybWF0cyBhbmQgcmVmYWN0b3IgUkdCIGNvZGUgYSBiaXQKCjIwMTAtMDQtMDUgMTU6NTE6MTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6CgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5oOgoJICB2aWRlb2JveDogQWRkIHN1cHBvcnQgZm9yIGFsbCAzMiBiaXQgUkdCIGZvcm1hdHMKCSAgLi4uaW5jbHVkaW5nIGNvbnZlcnNpb24gYmV0d2VlbiB0aGVtLgoKMjAxMC0wNC0wNSAxNToyNjowMyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBydHNwc3JjOiBhZGQgcHJvcGVydHkgdG8gY29udHJvbCB0aGUgYnVmZmVyaW5nIG1ldGhvZAoJICBBZGQgYSBwcm9wZXJ0eSB0byBjb250cm9sIGhvdyB0aGUgaml0dGVyYnVmZmVyIHBlcmZvcm1zIHRpbWVzdGFtcGluZyBhbmQKCSAgYnVmZmVyaW5nLgoKMjAxMC0wNC0wNCAxOTowMjo0MSAtMDMwMCAgQW5kcsOpIERpZWIgTWFydGlucyA8YW5kcmUuZGllYkBnbWFpbC5jb20+CgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGFjb2xvci5jOgoJICBhbHBoYWNvbG9yOiBSZW1vdmluZyB1bnVzZWQgdmFyaWFibGUKCSAgRml4ZXMgYnVnICM2MTQ4NDMuCgoyMDEwLTA0LTA0IDIwOjMxOjM4IC0wMzAwICBBbmRyw6kgRGllYiBNYXJ0aW5zIDxhbmRyZS5kaWViQGdtYWlsLmNvbT4KCgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSAganBlZ2VuYzogc2hvdWxkIG5vdCByZXR1cm4gY2FwcyBBTlkgYmFzZWQgb24gZG93bnN0cmVhbQoJICBXaGVuIGRvd25zdHJlYW0gaGFzIGEgc2luayBwYWQgd2l0aCBBTlkgY2FwcywganBlZ2VuYyBzaG91bGQKCSAgdHJlYXQgaXQgdGhlIHNhbWUgYXMgTlVMTCBhbmQgcmV0dXJuIGl0cyB0ZW1wbGF0ZSBjYXBzLgoJICBGaXhlcyAjNjE0ODQyCgoyMDEwLTA0LTA0IDIyOjI4OjMzICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBzeXMvb3NzL2dzdG9zc2hlbHBlci5jOgoJICBvc3M6IGFkZCBmaXhtZSBjb21tZW50CgoyMDEwLTA0LTA0IDIyOjI2OjU5ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnY29uZi9NYWtlZmlsZS5hbToKCSAgYnVpbGQ6IHVzZSAkKGJ1aWxkZGlyKSBmb3IgaW5zdGFsbGluZyBnZW5lcmF0ZWQgZmlsZXMKCjIwMTAtMDQtMDQgMjI6MDc6MzMgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgUmV2ZXJ0ICJjb25maWd1cmU6IGZpeCBvdXQgb2Ygc291cmNlIGRpciBidWlsZHMiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgY2EwYmQzYThjZWEzMWY5ZWEwZGY3OThhODNkMzAwN2U2OTY5NThiYS4KCjIwMTAtMDQtMDQgMjE6MzY6MzUgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBmaXggb3V0IG9mIHNvdXJjZSBkaXIgYnVpbGRzCgkgIFJlbW92ZSBub24tZXhpc3RpbmcgZ3N0LWxpYnMgZnJvbSBpbmNsdWRlIGFuZCBsaWJyYXJ5LXBhdGhzJy4KCSAgRml4ZXMgIzYxNDM1NCBldmVuIG1vcmUuCgoyMDEwLTA0LTAxIDEwOjE5OjAwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eF9mb3VyY2MuaDoKCSAgcXRkZW11eDogUmVhZCByZXBsYXlnYWluIHBlYWsvZ2FpbiB0YWdzCgkgIE1ha2UgcXRkZW11eCByZWFkIHRhZ3MgcmVwbGF5Z2FpbiB0YWdzIHRoYXQgYXJlIHdpdGhpbiAnLS0tLScgYXRvbXMuCgkgIEZpeGVzICM2MTQ0NzEKCjIwMTAtMDQtMDEgMTg6NDg6NDMgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGZvcmRfcHJlZmVjdEBnZW50b28ub3JnPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgbWF0cm9za2E6IEV4cG9ydCBoLjI2NCBwcm9maWxlIGFuZCBsZXZlbCBpbiBjYXBzCgkgIFRoaXMgcmVwbGljYXRlcyB0aGUgY29kZSBpbiBxdGRlbXV4IHRvIGV4cG9ydCB0aGUgaC4yNjQgcHJvZmlsZSBhbmQKCSAgbGV2ZWwgaW4gdGhlIHN0cmVhbSBjYXBzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjE0NjUxCgoyMDEwLTA0LTAyIDE4OjUwOjQ1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogRml4IG9mZi1ieS1vbmUgaW50cm9kdWNlZCBpbiBsYXN0IGNvbW1pdAoKMjAxMC0wNC0wMSAxODozODozOCArMDUzMCAgQXJ1biBSYWdoYXZhbiA8Zm9yZF9wcmVmZWN0QGdlbnRvby5vcmc+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IE1pbm9yIHJlZmFjdG9yIG9mIHRoZSBjb2RlCgkgIFRoaXMgd2lsbCBtYWtlIGl0IGVhc2llciB0byBjbHVtcCB0b2dldGhlciBjb21tb24gY29kZSB3aGVuIGNvcHlpbmcgdG8KCSAgbWFzdHJvc2thZGVtdXguCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MTQ2NTEKCjIwMTAtMDQtMDEgMTg6MTc6MDkgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGZvcmRfcHJlZmVjdEBnZW50b28ub3JnPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBFeHBvcnQgaC4yNjQgbGV2ZWwgaW4gY2FwcwoJICBUaGlzIGV4cG9ydHMgdGhlIGguMjY0IGxldmVsIGluIHRoZSBzdHJlYW0gY2FwcyAoYXMgYSBzdHJpbmcpIHdoaWNoIGNhbgoJICBiZSB1c2VkIHRvIG1hdGNoIGEgZGVjb2Rlciwgb3IgYXMgbWV0YWRhdGEuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MTQ2NTEKCjIwMTAtMDQtMDEgMTY6NTg6MzIgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGZvcmRfcHJlZmVjdEBnZW50b28ub3JnPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBFeHBvcnQgaC4yNjQgcHJvZmlsZSBpbiBjYXBzCgkgIFRoaXMgYWRkcyB0aGUgaC4yNjQgcHJvZmlsZSBmb3IgYSBnaXZlbiBzdHJlYW0gaW50byBjYXBzLiBUaGlzIGNhbgoJICAoZXZlbnR1YWxseSkgYmUgdXNlZCB0byBzZWxlY3QgYW4gYXBwcm9wcmlhdGUgZGVjb2RlciBhbmQgYXMgbWV0YWRhdGEKCSAgZm9yIGNlcnRhaW4gYXBwbGljYXRpb25zLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjE0NjUxCgoyMDEwLTAzLTMxIDE0OjQzOjE0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx2ZGVtdXg6IHJlbW92ZSBvYnNvbGV0ZSByZXZlcnNlIHBsYXliYWNrIGNvZGUgcGF0aAoKMjAxMC0wMy0zMSAxNDo0MDo1MCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguaDoKCSogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOgoJICBmbHZkZW11eDogc3VwcG9ydCAocHVsbCBtb2RlKSBuZWdhdGl2ZSBzZWVrIHJhdGUKCjIwMTAtMDMtMjkgMTU6Mjc6MzcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHZkZW11eDogYWxzbyBjaGVjayBmb3Igc2VnbWVudCBzdG9wIGZvciBub24tc2VnbWVudC1zZWVrCgoyMDEwLTAzLTMwIDE2OjUwOjEwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBwdXNoIGNvcnJlY3RseSBzaXplZCBmbGFjIGhlYWRlciBidWZmZXJzCgkgIEZpeGVzICM2MTQzNTMuCgoyMDEwLTAzLTMwIDA3OjM0OjA3IC0wNTAwICBSb2IgQ2xhcmsgPHJvYkB0aS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGJ1aWxkOiBmaXggY29tcGlsZXIgd2FybmluZyB3aGVuIHNyY2RpciAhPSBidWlsZGRpcgoJICBGaXhlcyAnLi4vLi4vZ3N0LWxpYnM6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnknIHdhcm5pbmcvZXJyb3Igd2hlbgoJICB0aGUgYnVpbGQgZGlyZWN0b3J5IGlzIG5vdCB0aGUgc2FtZSBhcyB0aGUgc291cmNlIGRpcmVjdG9yeS4KCSAgRml4ZXMgIzYxNDM1NC4KCjIwMTAtMDMtMzAgMDE6NTA6MzIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lkM2RlbXV4L2lkM3YyZnJhbWVzLmM6CgkgIGlkM2RlbXV4OiBmaXggcGFyc2luZyBvZiB1bnN5bmNlZCBmcmFtZXMgd2l0aCBkYXRhIGxlbmd0aCBpbmRpY2F0b3IKCSAgRml4ZXMgYnVnICM2MTQxNTguCgoyMDEwLTAzLTI5IDExOjAwOjA0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBnc3QvTWFrZWZpbGUuYW06CgkqIHN5cy9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvTWFrZWZpbGUuYW06CgkgIGJ1aWxkOiBidWlsZCBwbHVnaW5zIGFuZCBleGFtcGxlcyBpbiBwYXJhbGxlbCB3aGVyZSBwb3NzaWJsZQoKMjAxMC0wMy0xOCAxODo0OToyNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkgIGRpcmVjdHNvdW5kc2luazogZml4IHJlZHVuZGFudCBmdW5jdGlvbiByZWRlY2xhcmF0aW9uIGNvbXBpbGVyIHdhcm5pbmdzCgkgIFJlLWFwcGx5IHRoaXMgYWdhaW4gYXMgd2VsbCwgYXMgaXQgd2FzIHVuZG9uZSBieSB0aGUgcHJldmlvdXMgY29tbWl0Li4KCjIwMTAtMDMtMTggMTQ6MzE6MzUgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSAgZ3N0X2VsZW1lbnRfY2xhc3Nfc2V0X2RldGFpbHMgPT4gZ3N0X2VsZW1lbnRfY2xhc3Nfc2V0X2RldGFpbHNfc2ltcGxlCgkgIEFwcGx5IHRoaXMgYWdhaW4sIGFzIGl0IHdhcyBvdmVyd3JpdHRlbiBieSB0aGUgcHJldmlvdXMgY29tbWl0LiBNZXJnaW5nCgkgIGlzIGhhcmQsIGFwcGFyZW50bHkuCgoyMDEwLTAzLTI2IDIzOjIwOjEwICswMTAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AZmx1ZW5kby5jb20+CgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuaDoKCSAgZGlyZWN0c291bmRzaW5rOiBJbXBsZW1lbnQgU1BESUYgc3VwcG9ydCBmb3IgQUMzLgoJICBEZXRlY3QgaWYgdGhlIHNvdW5kIGNhcmQgc3VwcG9ydHMgU1BESUYgcGFzc3RocnUgb2YgQUMzIGFuZCBhZGQKCSAgbmVjZXNzYXJ5IGNvZGUgdG8gc3VwcG9ydCB0aGF0IGxpa2UgYWxzYXNpbmsuCgoyMDEwLTAzLTI2IDE3OjA2OjU3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIE1ha2VmaWxlLmFtOgoJICBidWlsZDogYWRkIGNydWZ0IGFsZXJ0IGZvciBjb21tb24vc2hhdmUqCgoyMDEwLTAzLTI2IDE2OjUwOjIyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfbGFuZy5jOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4X2xhbmcuaDoKCSAgcXRkZW11eDogZXh0cmFjdCBzdHJlYW0gbGFuZ3VhZ2UgaW4gbW9yZSBjYXNlcwoJICBUaGUgMTYtYml0IGxhbmd1YWdlIGNvZGUgY2FuIGJlIGVpdGhlciBhIHBhY2tlZCBJU08tNjM5LTJUIGNvZGUKCSAgb3IgYSAnTWFjaW50b3NoIGxhbmd1YWdlIGNvZGUnLiBIYW5kbGUgdGhlIGxhdHRlciB0eXBlIG9mIGxhbmd1YWdlCgkgIGNvZGVzIGFzIHdlbGwsIGFuZCBtYXAgdG8gdGhlIG1hdGNoaW5nIElTTyBjb2RlLiBMYXN0bHksIGZpeAoJICBsYW5ndWFnZSBjb2RlIHBvc3RpbmcgZm9yIGxhbmd1YWdlICMwLCB3aGljaCBpcyB2YWxpZCBhbmQgc3RhbmRzCgkgIGZvciAnRW5nbGlzaCcuCgkgIEZpeGVzICM2MTQwMDEuCgoyMDEwLTAzLTI2IDE0OjU1OjUzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSAgZmxhY2RlYzogSW1wcm92ZSBkZWJ1Z2dpbmcgYW5kIGFkZCBzb21lIEZJWE1FcwoKMjAxMC0wMy0yNiAxNDo0MjowNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkgIGZsYWNkZWM6IFNhbXBsZSByYXRlIG1hcmtlcnMgMHgwMSwgMHgwMiBhbmQgMHgwMyBhcmUgdmFsaWQKCSAgVGhleSBhcmUgZm9yIDg4LjJrSHosIDE3Ni40a0h6IGFuZCAxOTJrSHouCgoyMDEwLTAzLTI2IDE0OjE2OjM5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSAgZmxhY2RlYzogVGFrZSBzYW1wbGVyYXRlLCB3aWR0aCBhbmQgbnVtYmVyIG9mIGNoYW5uZWxzIGZyb20gdGhlIFNUUkVBTUlORk8KCSAgLi4uYW5kIHVwZGF0ZSBpdCBmcm9tIHRoZSBmcmFtZSBoZWFkZXJzIGlmIGl0IHNob3VsZCBjaGFuZ2UgZm9yIHNvbWUgcmVhc29uLgoJICBUaGlzIGFsbG93cyBwbGF5YmFjayBvZiBmaWxlcyB3aXRoIG9kZCBzYW1wbGUgcmF0ZXMuCgoyMDEwLTAzLTI2IDEzOjQ1OjQ2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOgoJICB2aWRlb2JveDogRml4IEFZVVYtPkk0MjAgZnJhbWUgY29weWluZwoKMjAxMC0wMy0yNiAxMzozNDoxNyArMDEwMCAgUmFpbW8gSsOkcnZpIDxyYWltby5qYXJ2aUBnbWFpbC5jb20+CgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkgIGpwZWdlbmM6IFNldCBjb3JyZWN0IGdldGNhcHMvc2V0Y2FwcyBmdW5jdGlvbnMgb24gc3JjcGFkcyBhbmQgc2ltcGxpZnkgdGhlbQoJICBUaGlzIGZpeGVzIGRvd25zdHJlYW0gbmVnb3RpYXRpb24sIHVwc3RyZWFtIG5lZ290aWF0aW9uIGlzbid0IHJlYWxseQoJICBzdXBwb3J0ZWQgYnkganBlZ2VuYyB5ZXQuCgkgIEZpeGVzIGJ1ZyAjNjEzNzg5LgoKMjAxMC0wMy0yNiAxMDozMToyMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94Lmg6CgkgIHZpZGVvYm94OiBBbHdheXMgZmlsbCB0aGUgY29tcGxldGUgZnJhbWUgaWYgYm9yZGVycyBzaG91bGQgYmUgYWRkZWQKCSAgVGhpcyBtYWtlcyBzdXJlIHRoYXQgd2UgZG9uJ3QgZ2V0IGFueSBnYXBzIGJldHdlZW4gcmVjdGFuZ2xlcyBiZWNhdXNlCgkgIG9mIGNocm9tYSBzdWJzYW1wbGluZyBmb3IgZXhhbXBsZS4KCjIwMTAtMDMtMTggMjI6MTI6NDAgKzAwMDAgIERhbWllbiBMZXNwaWF1IDxkYW1pZW4ubGVzcGlhdUBpbnRlbC5jb20+CgoJKiBhdXRvZ2VuLnNoOgoJICBhdXRvZ2VuLnNoOiBEb24ndCBjYWxsIGNvbmZpZ3VyZSB3aXRoIC0tZW5hYmxlLXBsdWdpbi1kb2NzCgkgIGNvbmZpZ3VyZSBnaXZlcyBhIG5pY2Ugd2FybmluZzoKCSAgY29uZmlndXJlOiBXQVJOSU5HOiB1bnJlY29nbml6ZWQgb3B0aW9uczogLS1lbmFibGUtcGx1Z2luLWRvY3MKCSAgYW5kIGluZGVlZCwgSSBjb3VsZCBub3QgZmluZCBhbnl0aGluZyBpbiB0aGUgY29uZmlndXJlLmFjIG9yIHRoZSBtNAoJICBtYWNyb3MgdGhhdCB3b3VsZCBhbGxvdyBlbmFibGluZyB0aGF0IG9wdGlvbi4gUmVtb3ZlIGl0IHRoZW4uCgoyMDEwLTAzLTIyIDE2OjU4OjI2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guaDoKCSAgdmlkZW9ib3g6IFJlZmFjdG9yIGJveGluZyB0byByZWR1Y2UgY29kZSBkdXBsaWNhdGlvbgoKMjAxMC0wMy0yMiAxMzoxMzo1OSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzoKCSAgYWxwaGE6IFNpbXBsaWZ5IGNhcHMgdHJhbnNmb3JtYXRpb24KCjIwMTAtMDMtMjEgMjA6MTQ6MTkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6CgkgIHZpZGVvYm94OiBBZGQgY29uc3QgcXVhbGlmaWVyIHRvIHRoZSBzb3VyY2UgZnJhbWUgZGF0YQoKMjAxMC0wMy0yMyAxNzo0Nzo0OCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogb25seSBzZWVrIHdoZW4gaW4gcHJvcGVyIHN0YXRlCgkgIC4uLiBhbmQgZGF0YSBzdHJ1Y3R1cmVzIGNhbiBiZSB0aHJlYWQtc2FmZWx5IGFjY2Vzc2VkLgoJICBTZWUgIzYwMTYxNy4KCjIwMTAtMDMtMjMgMTc6MzQ6NTAgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5oOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmg6CgkgIG1hdHJvc2thZGVtdXg6IHN1cHBvcnQgKHB1bGwgbW9kZSkgbmVnYXRpdmUgc2VlayByYXRlCgoyMDEwLTAzLTE4IDE1OjI5OjAwICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguaDoKCSAgbWF0cm9za2FkZW11eDogdHJhY2sgY2xpcCBkdXJhdGlvbiBpbiBzZWdtZW50CgoyMDEwLTAzLTE4IDEzOjM5OjA1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBwcmVmZXIgaW5kZXggb2YgdmlkZW8gdHJhY2sgdG8gcGVyZm9ybSBzZWVraW5nCgoyMDEwLTAzLTI1IDIyOjU4OjQ3ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvZHRtZi9nc3RkdG1mZGV0ZWN0LmM6CgkgIGR0bWZkZXRlY3Q6IGlmIHdlIHRlbGwgdGhhdCB3ZSBoYW5kbGUgZ2FwIGZsYWdzLCB0aGVuIGRvIHNvCgoyMDEwLTAzLTI1IDIyOjU1OjMyICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvZHRtZi9nc3RkdG1mZGV0ZWN0LmM6CgkgIGR0bWZkZXRlY3Q6IHVzZSBnbGliIHR5cGVzCgoyMDEwLTAzLTI1IDIyOjU0OjQ5ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvZHRtZi9nc3RkdG1mZGV0ZWN0LmM6CgkgIGR0bWZkZXRlY3Q6IGZpeCBjbGFzc2lmaWNhdGlvbgoKMjAxMC0wMy0yNSAyMjo1MzoyMCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZmRldGVjdC5jOgoJICBkdG1mZGV0ZWN0OiByZWZvcm1hdCBtZXNzYWdlIGRvY3MKCSAgVXNlIGEgbGlzdCBsaWtlIGluIG90aGVyIGVsZW1lbnQgZG9jcyBhcyBhbiB1bnR3ZWFrZWQgZG9jYm9vayB0YWJsZSBsb29rIHVnbHkuCgoyMDEwLTAzLTI0IDE2OjE5OjUzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IGZpeCB0eXBvIGluIGhlYWRlciB2YWxpZGF0aW9uIGNoZWNrCgoyMDEwLTAzLTI0IDE4OjUzOjIwICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA1NWNkNTE0IHRvIGMxZDA3ZGQKCjIwMTAtMDMtMjMgMTk6NDY6NDMgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvaWN5ZGVtdXgvZ3N0aWN5ZGVtdXguYzoKCSogZ3N0L2ljeWRlbXV4L2dzdGljeWRlbXV4Lmg6CgkgIGljeWRlbXV4OiBIYW5kbGUgdXBzdHJlYW0gQ29udGVudC1UeXBlLgoJICBBbGxvd3MgdXMgdG8gaGFuZGxlIFNob3V0Q2FzdCBUViAoTlNWKSBzdHJlYW1zLgoJICBJZiB0aGUgdXBzdHJlYW0gY2FwcyBoYXZlIHRoZSAnY29udGVudC10eXBlJyBmaWVsZCBzZXQgdG8gdmlkZW8vbnN2LCB0aGVuCgkgIHdlIHNob3J0Y3V0IHRoZSB0eXBlZmluZGluZyBhbmQgc2V0IHZpZGVvL3gtbnN2IGRpcmVjdGx5LgoKMjAxMC0wMy0yMyAxOTozMDo1MCArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXBodHRwc3JjOiBTZXQgdGhlIENvbnRlbnQtVHlwZSBIVFRQIGhlYWRlciBvbiB0aGUgY2Fwcy4KCSAgRmlyc3Qgc3RlcCB0byBmaXhpbmcgU2hvdXRDYXN0IChOU1YpIHN0cmVhbWluZy4KCjIwMTAtMDMtMjMgMDI6Mzg6NDMgLTA0MDAgIFRyaXN0YW4gTWF0dGhld3MgPHRyaXN0YW5Ac2F0LnFjLmNhPgoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvZWxlbWVudC5jOgoJKiBzeXMvb3N4dmlkZW8vTWFrZWZpbGUuYW06CgkgIG9zeDogZml4IGNvbXBpbGVyIHdhcm5pbmdzCgkgIEFkZGVkIHZvaWQgcGFyYW1ldGVyIHRvIGF2b2lkIG9sZC1zdHlsZSBkZWZpbml0aW9uIHdhcm5pbmcuCgkgIEFkZGVkIC1Xbm8tYWdncmVnYXRlLXJldHVybiBmbGFnIHRvIGF2b2lkIGVycm9uZW91cyBhZ2dyZWdhdGUgcmV0dXJuIHdhcm5pbmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MTM2NjMKCjIwMTAtMDMtMjMgMDA6MTU6MTUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9jcm9wLmM6CgkgIHRlc3RzOiB1c2UgbG9vcCB0ZXN0IGZvciBsb25nLXJ1bm5pbmcgdmlkZW9jcm9wIGNoZWNrCgkgIFRoaXMgc2hvdWxkIGF2b2lkIHRpbWVvdXRzIG9uIHNsb3cgbWFjaGluZXMuCgkgIEZpeGVzICM1OTc3MzkuCgoyMDEwLTAzLTIyIDE3OjI2OjM3ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvZmxhYy9nc3RmbGFjLmM6CgkqIGV4dC9wdWxzZS9wbHVnaW4uYzoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFjay5jOgoJKiBnc3QtbGlicy9nc3QvZ2V0dGV4dC5oOgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuaDoKCSAgaTE4bjogYnVpbGQgZml4ZXM6ICNpZiAtPiAjaWZkZWYgZm9yIEVOQUJMRV9OTFMKCjIwMTAtMDMtMjIgMTc6MjU6MDkgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC1saWJzL2dzdC9nc3QtaTE4bi1wbHVnaW4uaDoKCSAgaTE4bjogZml4IHRoZSBidWlsZAoJICBEb24ndCBpbmxjdWRlIGxvY2FsZS5oIHdoaWNoIHdlIGluY2x1ZGUgaW4gZ2V0dGV4dC5oIGlmIG5lZWRlZC4gR3VhcmQgdGhlCgkgIGlubGN1ZGUgbGlrZSB3ZSBkbyBpbiB0aGUgc2ltaWxsYXIgaGVhZGVycyBpbiBjb3JlLgoKMjAxMC0wMy0yMiAxMzoxNjozMyArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuYzoKCSAgQWRkIC1Xd3JpdGUtc3RyaW5ncwoJICBhbmQgZml4IGl0cyB3YXJuaW5ncwoKMjAxMC0wMy0yMiAxMjowMjoxNiArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBBZGQgLVdyZWR1bmRhbnQtZGVjbHMgZmxhZwoJICBhbmQgZml4IHdhcm5pbmdzIGZyb20gaXQKCjIwMTAtMDMtMjEgMjE6Mzk6MTggKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5oOgoJICBBZGQgLVdtaXNzaW5nLWRlY2xhcmF0aW9ucyAtV21pc3NpbmctcHJvdG90eXBlcyB0byBjb25maWd1cmUgZmxhZ3MKCSAgQW5kIGZpeCBhbGwgd2FybmluZ3MKCjIwMTAtMDMtMjEgMTc6NDY6MDYgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgLVdvbGQtc3R5bGUtZGVmaW5pdGlvbiBpcyBub3QgdmFsaWQgZm9yIEMrKwoKMjAxMC0wMy0yMSAxNzozNjoyOCArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGUuYzoKCSAgbXVsdGlmaWxlOiBJbmNsdWRlIGhlYWRlcnMgaW5zdGVhZCBmbyBkZWZpbmluZyBmdW5jdGlvbnMKCjIwMTAtMDMtMjEgMTc6MjQ6MTQgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgQWRkIGEgbGFyZ2Ugc2V0IG9mIHdhcm5pbmcgZmxhZ3MuCgkgIE5vbmUgb2YgdGhlbSB0cmlnZ2VyIHdhcm5pbmdzIGFueW1vcmUsIHNvIG5vdGhpbmcgbmVlZGVkIHRvIGJlIGZpeGVkLgoKMjAxMC0wMy0yMSAxNzoyMzo0MyArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogZ3N0L2dvb20vY29uZmlnX3BhcmFtLmM6CgkqIGdzdC9nb29tL2NvbnZvbHZlX2Z4LmM6CgkqIGdzdC9nb29tL2ZpbHRlcnMuYzoKCSogZ3N0L2dvb20vZmx5aW5nX3N0YXJzX2Z4LmM6CgkqIGdzdC9nb29tL2dvb21fY29uZmlnX3BhcmFtLmg6CgkqIGdzdC9nb29tL2dvb21fY29yZS5jOgoJKiBnc3QvZ29vbS9nb29tX2ZpbHRlcnMuaDoKCSogZ3N0L2dvb20vZ29vbV9meC5oOgoJKiBnc3QvZ29vbS9pZnMuYzoKCSogZ3N0L2dvb20vaWZzLmg6CgkqIGdzdC9nb29tL3BsdWdpbl9pbmZvLmM6CgkqIGdzdC9nb29tL3RlbnRhY2xlM2QuYzoKCSogZ3N0L2dvb20vdGVudGFjbGUzZC5oOgoJICBNYWtlIGdvb20gbm90IHVzZSBhZ2dyZWdhdGUgcmV0dXJucwoKMjAxMC0wMy0yMSAxNToxNzo0NiArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvYW5ub2RleC9nc3RjbW1sdXRpbHMuYzoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHdhcnAuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGF5LmM6CgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NtbWxkZWMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY21tbGVuYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kZWludGVybGFjZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ2xpbWl0ZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwLXBheWxvYWRpbmcuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdWRwc2luay5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb2ZpbHRlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy93YXZwYWNrZGVjLmM6CgkqIHRlc3RzL2NoZWNrL2dlbmVyaWMvc3RhdGVzLmM6CgkqIHRlc3RzL2ljbGVzL3Y0bDJzcmMtdGVzdC5jOgoJICBBZGQgLVdvbGQtc3R5bGUtZGVmaW5pdGlvbiBmbGFnCgkgIEFuZCBmaXggdGhlIHdhcm5pbmdzCgoyMDEwLTAzLTIwIDAwOjU0OjE0ICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9oYWwvaGFsLmM6CgkqIGV4dC9yYXcxMzk0L2dzdGR2MTM5NHNyYy5jOgoJKiBleHQvcmF3MTM5NC9nc3RoZHYxMzk0c3JjLmM6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tjb21tb24uYzoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0cHVzaGZpbGVzcmMuYzoKCSogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOgoJKiBnc3QvZ29vbS9jb25maWdfcGFyYW0uYzoKCSogZ3N0L2dvb20vZ29vbV9jb25maWdfcGFyYW0uaDoKCSogZ3N0L2lkM2RlbXV4L2lkM3RhZ3MuYzoKCSogZ3N0L2xhdy9hbGF3LWRlY29kZS5jOgoJKiBnc3QvbGF3L2FsYXctZW5jb2RlLmM6CgkqIGdzdC9sYXcvbXVsYXctZGVjb2RlLmM6CgkqIGdzdC9sYXcvbXVsYXctZW5jb2RlLmM6CgkqIGdzdC9tYXRyb3NrYS9lYm1sLXdyaXRlLmM6CgkqIGdzdC9tYXRyb3NrYS9lYm1sLXdyaXRlLmg6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSogZ3N0L3J0cC9nc3RydHBkdnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdwYXkuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3QvdWRwL2dzdHVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvYmFsYW5jZS5jOgoJKiBzeXMvb3NzL2dzdG9zc21peGVydHJhY2suYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXZpbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2xldmVsLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGJpbl9idWZmZXJfbGlzdC5jOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvc2ltcGxlLWxhdW5jaC1saW5lcy5jOgoJICBBZGQgLVd3cml0ZS1zdHJpbmdzIHRvIHRoZSBjb25maWd1cmUgZmxhZ3MKCSAgLi4uIGFuZCBmaXggYWxsIHdhcm5pbmdzCgoyMDEwLTAzLTIxIDExOjE0OjEyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkgIHNoYXBld2lwZTogQWRkIHN1cHBvcnQgZm9yIHRoZSByZW1haW5pbmcgQVJHQiBmb3JtYXRzCgkgIEFuZCBoYW5kbGUgQVlVViBsaWtlIEFSR0IsIHdlIG5lZWQgbm8gWVVWIHNwZWNpZmljIGhhbmRsaW5nLgoKMjAxMC0wMy0yMCAyMTozMDo1OCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzoKCSAgYWxwaGE6IEFkZCBzdXBwb3J0IGZvciBSR0IgYW5kIHhSR0IgaW5wdXQKCjIwMTAtMDMtMjAgMjE6MTM6MjMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FscGhhL2dzdGFscGhhLmM6CgkgIGFscGhhOiBBZGQgc3VwcG9ydCBmb3IgQVJHQiBpbnB1dAoKMjAxMC0wMy0yMCAyMDo0NjoxOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzoKCSAgYWxwaGE6IEFkZCBzdXBwb3J0IGZvciBnZW5lcmF0aW5nIEFSR0Igb3V0cHV0CgoyMDEwLTAzLTIwIDEwOjQ3OjQyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL2JsZW5kLmM6CgkqIGdzdC92aWRlb21peGVyL2JsZW5kLmg6CgkqIGdzdC92aWRlb21peGVyL2JsZW5kX21teC5oOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkgIHZpZGVvbWl4ZXI6IEFkZCBzdXBwb3J0IGZvciBBQkdSIGFuZCBSR0JBCgkgIE5vdyBhbGwgNCBBUkdCIHZhcmlhbnRzIGFyZSBzdXBwb3J0ZWQgYnkgdmlkZW9taXhlci4KCjIwMTAtMDMtMjAgMTA6MjQ6NTYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FscGhhL2dzdGFscGhhLmM6CgkgIGFscGhhOiBNb3ZlIGNocm9tYSBrZXlpbmcgcGFyYW1ldGVycyBpbnRvIHN0YWNrIHZhcmlhYmxlcyB0byBwcmV2ZW50IG11bHRpcGxlIHBvaW50ZXIgZGVyZWZlcmVuY2VzIHBlciBwaXhlbAoKMjAxMC0wMy0yMCAxMDoyMDo1MyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzoKCSAgYWxwaGE6IE1vdmUgY29sb3IgY29udmVyc2lvbiBtYXRyaXhlcyBpbnRvIHN0YWNrIHZhcmlhYmxlcyB0byBzcGVlZCB1cCBwcm9jZXNzaW5nCgoyMDEwLTAzLTIwIDEwOjE4OjA0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOgoJICBhbHBoYTogVXNlIGNvcnJlY3QgbWF0cml4ZXMgdG8gY29udmVydCBjaHJvbWEga2V5aW5nIGNvbG9yIHRvIFlVVgoKMjAxMC0wMy0xOSAxODo1MTo1OSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzoKCSAgYWxwaGE6IEFkZCBzdXBwb3J0IGZvciBkaWZmZXJlbnQgY29sb3IgbWF0cml4ZXMKCjIwMTAtMDMtMTkgMTg6MjE6MTkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FscGhhL2dzdGFscGhhLmM6CgkgIGFscGhhOiBSZW5hbWUgYW5kIG1vdmUgZnVuY3Rpb25zIGFzIGZ1cnRoZXIgcHJlcGFyYXRpb24gZm9yIHN1cHBvcnRpbmcgbW9yZSBjb2xvciBmb3JtYXRzCgoyMDEwLTAzLTE5IDE4OjE4OjA4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuaDoKCSAgYWxwaGE6IFJlbW92ZSBzb21lIHVubmVlZGVkIGNhbGN1bGF0aW9ucyBhbmQgaW5zdGFuY2Ugc3RydWN0IGZpZWxkcwoJICBBbmQgZG9jdW1lbnQgdGhlIGluc3RhbmNlIHN0cnVjdCBmaWVsZHMgYSBiaXQgYmV0dGVyCgoyMDEwLTAzLTE5IDE4OjExOjEyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuaDoKCSAgYWxwaGE6IFNvbWUgcHJlcGFyYXRpb25zIGZvciBzdXBwb3J0aW5nIG1vcmUgY29sb3IgZm9ybWF0cwoKMjAxMC0wMy0xOSAxNzowOTowNiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJICBoMjY0cGF5OiBmaXggY29uZmlnLWludGVydmFsIHByb3BlcnR5CgkgIFVzZSB0aGUgc2FtZSB1bml0cyBmb3IgY29tcGFyaW5nIHRoZSBlbGFwc2VkIHRpbWUgYWdhaW5zdCB0aGUgaW50ZXJ2YWwuCgkgIEZpeGVzICM2MTMwMTMKCjIwMTAtMDMtMTkgMTY6NDQ6MDAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FscGhhL2dzdGFscGhhY29sb3IuYzoKCSogZ3N0L2FscGhhL2dzdGFscGhhY29sb3IuaDoKCSAgYWxwaGFjb2xvcjogSW1wbGVtZW50IGNvbG9yLW1hdHJpeCBzdXBwb3J0IGFuZCB1c2UgaW50ZWdlciBhcml0aG1ldGljIG9ubHkKCSAgQWxwaGFjb2xvciBub3cgdXNlcyB0aGUgY29ycmVjdCBtYXRyaXhlcyBmb3IgU0RUViBhbmQgSERUViBhbmQgY2FuCgkgIGNvbnZlcnQgYmV0d2VlbiB0aGVtLgoKMjAxMC0wMy0xOSAxNTowMzo0MyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwOiB1c2UgR1R5cGUgZnJvbSAtYmFzZSBhbmQgYnVtcCByZXF1aXJlZCB2ZXJzaW9uCgkgIFVzZSB0aGUgdHJhbnNwb3J0IGZsYWdzIEdUeXBlIGZyb20gLWJhc2UgYW5kIGJ1bXAgdGhlIHJlcXVpcmVkIHZlcnNpb24gb2YgLWJhc2UKCSAgYmVjYXVzZSBvZiB0aGlzLgoKMjAxMC0wMy0xOSAwMDowNToxOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXBldGFnL01ha2VmaWxlLmFtOgoJICBhcGV0YWc6IG1pbm9yIE1ha2VmaWxlLmFtIHN1cmdlcnkKCSAgLUkkKHRvcF9zcmNkaXIpL2dzdC1saWJzLyBpcyBhbHJlYWR5IGluICQoR1NUX0NGTEFHUykKCjIwMTAtMDMtMTggMTc6MzA6MjYgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGdzdC9kdG1mL2dzdGR0bWZkZXRlY3QuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBnc3RfZWxlbWVudF9jbGFzc19zZXRfZGV0YWlscyA9PiBnc3RfZWxlbWVudF9jbGFzc19zZXRfZGV0YWlsc19zaW1wbGUKCjIwMTAtMDMtMDQgMjI6MTI6MzUgKzAxMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBleHQvcmF3MTM5NC9nc3QxMzk0Y2xvY2suYzoKCSAgZHYxMzk0c3JjOiBGaXggaW50ZXJuYWwgY2xvY2sKCSAgRml4ZXMgIzU5MzkxMC4KCjIwMTAtMDMtMTggMjE6MTQ6MTcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2R2L01ha2VmaWxlLmFtOgoJKiBleHQvZXNkL01ha2VmaWxlLmFtOgoJKiBleHQvbGliY2FjYS9NYWtlZmlsZS5hbToKCSogZXh0L3B1bHNlL01ha2VmaWxlLmFtOgoJKiBleHQvc2hvdXQyL01ha2VmaWxlLmFtOgoJKiBleHQvc3BlZXgvTWFrZWZpbGUuYW06CgkqIGV4dC93YXZwYWNrL01ha2VmaWxlLmFtOgoJKiBnc3QvYXVwYXJzZS9NYWtlZmlsZS5hbToKCSogZ3N0L2F2aS9NYWtlZmlsZS5hbToKCSogZ3N0L2ZseC9NYWtlZmlsZS5hbToKCSogZ3N0L2ljeWRlbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvaW50ZXJsZWF2ZS9NYWtlZmlsZS5hbToKCSogZ3N0L21hdHJvc2thL01ha2VmaWxlLmFtOgoJKiBnc3QvcXRkZW11eC9NYWtlZmlsZS5hbToKCSogZ3N0L3JlcGxheWdhaW4vTWFrZWZpbGUuYW06CgkqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkqIGdzdC91ZHAvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb21peGVyL01ha2VmaWxlLmFtOgoJKiBnc3Qvd2F2cGFyc2UvTWFrZWZpbGUuYW06CgkqIHN5cy9kaXJlY3Rzb3VuZC9NYWtlZmlsZS5hbToKCSogc3lzL29zcy9NYWtlZmlsZS5hbToKCSogc3lzL3dhdmVmb3JtL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy92NGwyL01ha2VmaWxlLmFtOgoJICBidWlsZDogTWFrZWZpbGUuYW0gY2xlYW51cHMKCSAgTW9zdGx5IGFkZCAkKEdTVF9CQVNFX0NGTEFHUykgd2hlcmUgaXQgd2FzIG1pc3NpbmcsIGJ1dCBhbHNvIGZpeCB1cAoJICBvcmRlciBvZiBmbGFncyBhbmQgbGlicyBpZiBuZWVkZWQgKHNlZSBkb2NzL3JhbmRvbS9tb3ZpbmctcGx1Z2lucykuCgoyMDEwLTAzLTE4IDE4OjQ5OjI0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSAgZGlyZWN0c291bmRzaW5rOiBmaXggcmVkdW5kYW50IGZ1bmN0aW9uIHJlZGVjbGFyYXRpb24gY29tcGlsZXIgd2FybmluZ3MKCjIwMTAtMDMtMTggMTk6MDA6MDkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FscGhhL2dzdGFscGhhLmM6CgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5oOgoJICBhbHBoYTogUmVtb3ZlIHJlbWFpbmluZyBmbG9hdGluZyBwb2ludCBhcml0aG1ldGljIHdoZW4gcHJvY2Vzc2luZyBhIHBpeGVsCgoyMDEwLTAzLTE4IDE4OjU1OjM0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOgoJICBhbHBoYTogUmVmYWN0b3IgY2hyb21hIGtleWluZyBpbnRvIGEgc2luZ2xlIGZ1bmN0aW9uCgkgIFRoaXMgcmVkdWNlcyBjb2RlIGR1cGxpY2F0aW9uIG9uY2Ugd2UgYWRkIHN1cHBvcnQgZm9yIG1vcmUgY29sb3IgZm9ybWF0cy4KCjIwMTAtMDMtMTggMTQ6MzE6MzUgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGV4dC9hYWxpYi9nc3RhYXNpbmsuYzoKCSogZXh0L2Fubm9kZXgvZ3N0Y21tbGRlYy5jOgoJKiBleHQvYW5ub2RleC9nc3RjbW1sZW5jLmM6CgkqIGV4dC9jYWlyby9nc3R0ZXh0b3ZlcmxheS5jOgoJKiBleHQvY2Fpcm8vZ3N0dGltZW92ZXJsYXkuYzoKCSogZXh0L2R2L2dzdGR2ZGVjLmM6CgkqIGV4dC9kdi9nc3RkdmRlbXV4LmM6CgkqIGV4dC9lc2QvZXNkbW9uLmM6CgkqIGV4dC9lc2QvZXNkc2luay5jOgoJKiBleHQvZ2NvbmYvZ3N0Z2NvbmZhdWRpb3NpbmsuYzoKCSogZXh0L2djb25mL2dzdGdjb25mYXVkaW9zcmMuYzoKCSogZXh0L2djb25mL2dzdGdjb25mdmlkZW9zaW5rLmM6CgkqIGV4dC9nY29uZi9nc3RnY29uZnZpZGVvc3JjLmM6CgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zi5jOgoJKiBleHQvZ2RrX3BpeGJ1Zi9waXhidWZzY2FsZS5jOgoJKiBleHQvaGFsL2dzdGhhbGF1ZGlvc2luay5jOgoJKiBleHQvaGFsL2dzdGhhbGF1ZGlvc3JjLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJKiBleHQvanBlZy9nc3RzbW9rZWRlYy5jOgoJKiBleHQvanBlZy9nc3RzbW9rZWVuYy5jOgoJKiBleHQvbGliY2FjYS9nc3RjYWNhc2luay5jOgoJKiBleHQvbGlibW5nL2dzdG1uZy5oOgoJKiBleHQvbGlibW5nL2dzdG1uZ2RlYy5jOgoJKiBleHQvbGlibW5nL2dzdG1uZ2VuYy5jOgoJKiBleHQvbGlicG5nL2dzdHBuZy5oOgoJKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOgoJKiBleHQvbGlicG5nL2dzdHBuZ2VuYy5jOgoJKiBleHQvbWlrbW9kL2dzdG1pa21vZC5jOgoJKiBleHQvcmF3MTM5NC9nc3RkdjEzOTRzcmMuYzoKCSogZXh0L3JhdzEzOTQvZ3N0aGR2MTM5NHNyYy5jOgoJKiBleHQvc2hvdXQyL2dzdHNob3V0Mi5jOgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6CgkqIGdzdC9hcGV0YWcvZ3N0YXBlZGVtdXguYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9hbXBsaWZ5LmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZHluYW1pYy5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2ludmVydC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2thcmFva2UuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9wYW5vcmFtYS5jOgoJKiBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NpbmsuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc3JjLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NpbmsuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc3JjLmM6CgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSogZ3N0L2N1dHRlci9nc3RjdXR0ZXIuYzoKCSogZ3N0L2RlYnVndXRpbHMvYnJlYWtteWRhdGEuYzoKCSogZ3N0L2RlYnVndXRpbHMvZWZlbmNlLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdG5hdmlnYXRpb250ZXN0LmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdG5hdnNlZWsuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0cHVzaGZpbGVzcmMuYzoKCSogZ3N0L2RlYnVndXRpbHMvbmVnb3RpYXRpb24uYzoKCSogZ3N0L2RlYnVndXRpbHMvcHJvZ3Jlc3NyZXBvcnQuYzoKCSogZ3N0L2RlYnVndXRpbHMvdGVzdHBsdWdpbi5jOgoJKiBnc3QvZmx4L2dzdGZseGRlYy5jOgoJKiBnc3QvZ29vbS9nc3Rnb29tLmM6CgkqIGdzdC9nb29tMmsxL2dzdGdvb20uYzoKCSogZ3N0L2ljeWRlbXV4L2dzdGljeWRlbXV4LmM6CgkqIGdzdC9pZDNkZW11eC9nc3RpZDNkZW11eC5jOgoJKiBnc3QvbGF3L211bGF3LWRlY29kZS5jOgoJKiBnc3QvbGF3L211bGF3LWVuY29kZS5jOgoJKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzoKCSogZ3N0L21lZGlhbi9nc3RtZWRpYW4uYzoKCSogZ3N0L21vbm9zY29wZS9nc3Rtb25vc2NvcGUuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc3JjLmM6CgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRtdXguYzoKCSogZ3N0L3F0ZGVtdXgvZ3N0cnRweHF0ZGVwYXkuYzoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ2FuYWx5c2lzLmM6CgkqIGdzdC9yZXBsYXlnYWluL2dzdHJnbGltaXRlci5jOgoJKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ3ZvbHVtZS5jOgoJKiBnc3QvcnRwL2dzdGFzdGVyaXNraDI2My5jOgoJKiBnc3QvcnRwL2dzdHJ0cEwxNmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwTDE2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYWMzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGJ2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBidnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGNlbHRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGNlbHRwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGR2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBkdnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyOWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyOXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBpbGJjZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBpbGJjcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwajJrZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqMmtwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqcGVnZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqcGVncGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXAxc2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXAydGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXAydHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRnZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRncGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXB2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcHZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY21hZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY21hcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtdWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtdXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHFkbWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc2lyZW5kZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNpcmVucGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3YzdmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdwYXkuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkqIGdzdC9ydHNwL2dzdHJ0cGRlYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwZ29vZ2xlLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3NtcHRlL2dzdHNtcHRlLmM6CgkqIGdzdC9zbXB0ZS9nc3RzbXB0ZWFscGhhLmM6CgkqIGdzdC91ZHAvZ3N0ZHludWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdHVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSogZ3N0L3ZpZGVvY3JvcC9nc3Rhc3BlY3RyYXRpb2Nyb3AuYzoKCSogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdGdhbW1hLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2JhbGFuY2UuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmxpcC5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW90ZW1wbGF0ZS5jOgoJKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5jOgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJKiBzeXMvb3NzL2dzdG9zc21peGVyZWxlbWVudC5jOgoJKiBzeXMvb3NzL2dzdG9zc3NpbmsuYzoKCSogc3lzL29zcy9nc3Rvc3NzcmMuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zcmMuYzoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlci5jOgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zaW5rLmM6CgkqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NyYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy93YXZlZm9ybS9nc3R3YXZlZm9ybXNpbmsuYzoKCSogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzoKCSAgZ3N0X2VsZW1lbnRfY2xhc3Nfc2V0X2RldGFpbHMgPT4gZ3N0X2VsZW1lbnRfY2xhc3Nfc2V0X2RldGFpbHNfc2ltcGxlCgoyMDEwLTAzLTE4IDE0OjAyOjMwICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBnc3Qvb2xkY29yZS9NYWtlZmlsZS5hbToKCSogZ3N0L29sZGNvcmUvZ3N0YWdncmVnYXRvci5jOgoJKiBnc3Qvb2xkY29yZS9nc3RhZ2dyZWdhdG9yLmg6CgkqIGdzdC9vbGRjb3JlL2dzdGVsZW1lbnRzLmM6CgkqIGdzdC9vbGRjb3JlL2dzdGZkc2luay5jOgoJKiBnc3Qvb2xkY29yZS9nc3RmZHNpbmsuaDoKCSogZ3N0L29sZGNvcmUvZ3N0bWQ1c2luay5jOgoJKiBnc3Qvb2xkY29yZS9nc3RtZDVzaW5rLmg6CgkqIGdzdC9vbGRjb3JlL2dzdG11bHRpZmlsZXNyYy5jOgoJKiBnc3Qvb2xkY29yZS9nc3RtdWx0aWZpbGVzcmMuaDoKCSogZ3N0L29sZGNvcmUvZ3N0cGlwZWZpbHRlci5jOgoJKiBnc3Qvb2xkY29yZS9nc3RwaXBlZmlsdGVyLmg6CgkqIGdzdC9vbGRjb3JlL2dzdHNoYXBlci5jOgoJKiBnc3Qvb2xkY29yZS9nc3RzaGFwZXIuaDoKCSogZ3N0L29sZGNvcmUvZ3N0c3RhdGlzdGljcy5jOgoJKiBnc3Qvb2xkY29yZS9nc3RzdGF0aXN0aWNzLmg6CgkgIFJlbW92ZSBvbGRjb3JlIGRpcmVjdG9yeQoJICBUaGUgZWxlbWVudHMgaGF2ZSBiZWVuIHVudXNlZCBmb3IgYWdlcyBhbmQgYWxsIGltcG9ydGFudCBvbmVzIGhhdmUgYmVlbgoJICByZXBsYWNlZCBvciBjb3BpZWQgZWxzZXdoZXJlLgoKMjAxMC0wMy0xOCAxMzo0NTowOCArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogZ3N0L2F2aS9nc3RhdmlkZWNvZGVyLmM6CgkgIGF2aTogUmVtb3ZlIG9sZCBmaWxlCgkgIFNlZW1zIHRvIGJlIGxlZnRvdmVyIGZyb20gdGhlIDAuNCBkYXlzIG9yIHNvLgoKMjAxMC0wMy0xOCAxMjo0NDo1MyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJKiBleHQvcHVsc2UvcHVsc2V1dGlsLmM6CgkgIHB1bHNlOiB1c2UgI2lmZGVmIHJhdGhlciB0aGFuICNpZiBjb25kaXRpb25hbHMKCjIwMTAtMDMtMTggMTI6MjA6MTcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSAgcnRwaDI2NGRlcGF5OiBkbyBub3QgY2FsbCBfcHVzaF90cyB3aXRoIHVubmVlZGVkIChhbmQgd3JvbmcpIHRpbWUgcGFyYW1ldGVyCgkgIEZpeGVzICM2MTMyMDYuCgoyMDEwLTAzLTE4IDExOjMzOjU5ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IGZpeCB0eXBvIGluIGhlYWRlciB2YWxpZGF0aW9uIGNoZWNrCgoyMDEwLTAzLTE4IDAxOjUxOjE5ICswMTAwICBKYW4gVXJiYcWEc2tpIDx3dWxjemVyQHd1bGN6ZXIub3JnPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSAgZmx2bXV4OiBwdXQgbW9yZSBpbmZvcm1hdGlvbiBpbiB0aGUgbWV0YWRhdGEKCSAgQWRkaXRpb25hbCB0YWdzIGFyZTogYXVkaW9jb2RlY2lkLCB2aWRlb2NvZGVjaWQgZnJhbWVyYXRlIGFuZCAoaW4gdGhlCgkgIG5vbi1saXZlIGNhc2UpIGZpbGVzaXplLgoJICBXaGlsZSBhdCBpdCwgZml4IGluZGV4IHJld3JpdGluZyB0byB1cGRhdGUgZHVyYXRpb24gYW5kIGZpbGVzaXplCgkgIHZhbHVlcyBldmVuIGlmIHRoZSBpbmRleCBpcyBlbXB0eS4KCSAgRml4ZXMgIzYxMzA5NC4KCjIwMTAtMDMtMTcgMjE6MzM6MjggKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuaDoKCSogZ3N0L2dvb20vZ29vbV9jb25maWcuaDoKCSogZ3N0L2dvb20vbWF0aHRvb2xzLmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2xldmVsLmM6CgkgIEFkZCAtV3VuZGVmIHRvIGNvbmZpZ3VyZSBmbGFncwoJICBhbmQgZml4IHRoZSByZXN1bHRpbmcgd2FybmluZ3MKCjIwMTAtMDMtMTcgMjA6MDI6MTYgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgLVdtaXNzaW5nLXByb3RvdHlwZXMgaXMgbm90IHZhbGlkIGZvciBDKysKCjIwMTAtMDMtMTcgMTk6MzU6MTAgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWYuYzoKCSogZXh0L2dka19waXhidWYvcGl4YnVmc2NhbGUuYzoKCSogZXh0L2pwZWcvZ3N0anBlZy5oOgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2dyZWVkeWguYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS90b21zbW9jb21wLmM6CgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6CgkqIGdzdC9yZXBsYXlnYWluL2dzdHJnYW5hbHlzaXMuYzoKCSogZ3N0L3JlcGxheWdhaW4vZ3N0cmdsaW1pdGVyLmM6CgkqIGdzdC9yZXBsYXlnYWluL2dzdHJndm9sdW1lLmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyM3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjlwYXkuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkgIEFkZCAtV3JlZHVuZGFudC1kZWNscyB3YXJuaW5nIGZsYWcKCSAgQWxzbyBmaXggY29tcGlsZSBpc3N1ZXMKCjIwMTAtMDMtMTcgMTg6NDk6MTEgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGdzdC9tb25vc2NvcGUvZ3N0bW9ub3Njb3BlLmg6CgkgIEZpeCB3YXJuaW5ncyBpbiBleHBlcmltZW50YWwgcGx1Z2lucywgdG9vCgoyMDEwLTAzLTE3IDE4OjIzOjAwICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9hbm5vZGV4L2dzdGFubm9kZXguYzoKCSogZXh0L2Fubm9kZXgvZ3N0Y21tbGRlYy5oOgoJKiBleHQvYW5ub2RleC9nc3RjbW1sZW5jLmg6CgkqIGV4dC9hbm5vZGV4L2dzdGNtbWxwYXJzZXIuYzoKCSogZXh0L2Fubm9kZXgvZ3N0Y21tbHV0aWxzLmM6CgkqIGV4dC9kdi9nc3RkdmRlYy5jOgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zi5jOgoJKiBleHQvZ2RrX3BpeGJ1Zi9waXhidWZzY2FsZS5oOgoJKiBleHQvanBlZy9NYWtlZmlsZS5hbToKCSogZXh0L2pwZWcvZ3N0anBlZy5jOgoJKiBleHQvanBlZy9nc3RqcGVnLmg6CgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrc3RyZWFtcmVhZGVyLmM6CgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tzdHJlYW1yZWFkZXIuaDoKCSogZ3N0L2RlYnVndXRpbHMvYnJlYWtteWRhdGEuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0bmF2c2Vlay5jOgoJKiBnc3QvZGVidWd1dGlscy9ybmRidWZmZXJzaXplLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL3Rlc3RwbHVnaW4uYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9ncmVlZHloLmFzbToKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9ncmVlZHloLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvbW14Lmg6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvdG9tc21vY29tcC9Ub21zTW9Db21wQWxsLmluYzoKCSogZ3N0L2dvb20vZ29vbV9meC5oOgoJKiBnc3QvZ29vbTJrMS9maWx0ZXJzLmM6CgkqIGdzdC9nb29tMmsxL2ZpbHRlcnMuaDoKCSogZ3N0L2xhdy9tdWxhdy1jb252ZXJzaW9uLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0LmM6CgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5oOgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydG11eC5jOgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydG11eC5oOgoJKiBnc3QvcXRkZW11eC9nc3RydHB4cXRkZXBheS5jOgoJKiBnc3QvcnRwL2ZudjFoYXNoLmM6CgkqIGdzdC9ydHAvZm52MWhhc2guaDoKCSogZ3N0L3J0cC9nc3Rhc3Rlcmlza2gyNjMuaDoKCSogZ3N0L3J0cC9nc3RydHBMMTZkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cEwxNnBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGFjM2RlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBhbXJwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBidmRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwYnZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBidnBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGNlbHRkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGNlbHRwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBkdmRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwZHZwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBnNzIzZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBnNzIzcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyNmRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyNnBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjlkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjlwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBnc21kZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwaWxiY2RlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwaWxiY3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGlsYmNwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBqMmtkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGoya3BheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcDFzZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcDJ0ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcDJ0cGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0YWRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0YXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcDR2ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcDR2cGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcGFwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcHZkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wdnBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbWFkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbWFwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBwY211ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBwY211cGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwcWRtZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBzaXJlbmRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwc2lyZW5wYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzaXJlbnBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBzcGVleHBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHN2M3ZkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYWRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHB2cmF3ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHB2cmF3cGF5Lmg6CgkqIGdzdC9ydHNwL2dzdHJ0cGRlYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9zbXB0ZS9nc3RtYXNrLmM6CgkqIGdzdC9zbXB0ZS9nc3RtYXNrLmg6CgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5oOgoJKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5oOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0Z2FtbWEuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvYmFsYW5jZS5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuaDoKCSogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMmNvbG9yYmFsYW5jZS5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnR1bmVyLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRvcmllbnQuaDoKCSogc3lzL3hpbWFnZS94aW1hZ2V1dGlsLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FzcGVjdHJhdGlvY3JvcC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2FtcGxpZnkuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9jaGViYmFuZC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2NoZWJsaW1pdC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2R5bmFtaWMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9lY2hvLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvaW52ZXJ0LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvcGFub3JhbWEuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW93c2luY2JhbmQuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW93c2luY2xpbWl0LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F2aW11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdmlzdWJ0aXRsZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jbW1sZGVjLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2VxdWFsaXplci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9sZXZlbC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tYXRyb3NrYW11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tdWx0aWZpbGUuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcmdhbmFseXNpcy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ2xpbWl0ZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcmd2b2x1bWUuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc2hhcGV3aXBlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NvdXBodHRwc3JjLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NwZWN0cnVtLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvZmlsdGVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3dhdnBhY2tkZWMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvd2F2cGFja2VuYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy93YXZwYWNrcGFyc2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMveTRtZW5jLmM6CgkqIHRlc3RzL2NoZWNrL2dlbmVyaWMvc3RhdGVzLmM6CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9zaW1wbGUtbGF1bmNoLWxpbmVzLmM6CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy93YXZwYWNrLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2VxdWFsaXplci9kZW1vLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2xldmVsL2xldmVsLWV4YW1wbGUuYzoKCSogdGVzdHMvZXhhbXBsZXMvc3BlY3RydW0vc3BlY3RydW0tZXhhbXBsZS5jOgoJKiB0ZXN0cy9pY2xlcy92NGwyc3JjLXRlc3QuYzoKCSAgQWRkIC1XbWlzc2luZy1kZWNsYXJhdGlvbnMgLVdtaXNzaW5nLXByb3RvdHlwZXMgd2FybmluZyBmbGFncwoJICBBbmQgZml4IGFsbCB0aGUgd2FybmluZ3MuCgoyMDEwLTAzLTE3IDE2OjIzOjI0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBtcDRnZGVwYXkuYzoKCSAgbXA0Z2RlcGF5OiBpbXByb3ZlIGNvbnN0YW50RHVyYXRpb24gZ3Vlc3NpbmcKCSAgV2hlbiBubyBjb25zdGFudER1cmF0aW9uIGhhcyBiZWVuIGdpdmVuIGluIHRoZSBjYXBzLCB0cnkgdG8gZGVyaXZlIG9uZSBmcm9tIHRoZQoJICB0aW1lc3RhbXAgZGlmZmVyZW5jZSBiZXR3ZWVuIHBhY2tldHMuIEFsc28ga2VlcCBkb2luZyB0aGlzIGZvciBlYWNoIHBhY2tldAoJICBiZWNhdXNlIHNvbWUgYnJva2VuIHN0cmVhbXMgbWlnaHQgc2ltcGx5IHByb3ZpZGUgd3JvbmcgdGltZXN0YW1wcy4KCjIwMTAtMDMtMTYgMjM6NDM6MzkgKzAxMDAgIEphbiBVcmJhxYRza2kgPHd1bGN6ZXJAd3VsY3plci5vcmc+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJICBmbHZtdXg6IFB1dCB3aWR0aCBhbmQgaGVpZ2h0IGluIHRoZSBtZXRhZGF0YQoJICBTb21lIHBsYXllcnMgdXNlIHRoYXQgaW5mbyB0byBzY2FsZSB0aGVpciBkaXNwbGF5LgoJICBTZWUgIzYxMzA5NC4KCjIwMTAtMDMtMTYgMjM6MzI6NDUgKzAxMDAgIEphbiBVcmJhxYRza2kgPHd1bGN6ZXJAd3VsY3plci5vcmc+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJICBmbHZtdXg6IGRvbid0IHB1dCB0aW1lc3RhbXBzIGxhcmdlciB0aGFuIEdfTUFYSU5UMzIgaW4gdGhlIEZMViB0YWdzCgkgIEZvciBub24tbGl2ZSBpbnB1dCByZXNwb25kIGJ5IHB1c2hpbmcgRU9TLCBmb3IgbGl2ZSB3cmFwIHRoZQoJICB0aW1lc3RhbXBzIGV2ZXJ5IEdfTUFYSU5UMzIgbWlsaXNlY29uZHMuCgkgIEZpeGVzICM2MTMwMDMuCgoyMDEwLTAzLTE2IDIzOjQwOjEyICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwOiBhbHNvIHVzZSBnX3ZhbHVlX3NldF9zdGF0aWNfc3RyaW5nKCkgaGVyZSBmb3Igc3RhdGljIHN0cmluZ3MKCjIwMTAtMDMtMTYgMjE6MjM6MTEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FscGhhL2dzdGFscGhhY29sb3IuYzoKCSAgYWxwaGFjb2xvcjogRml4IFJHQkE8LT5BWVVWIGNvbnZlcnNpb24KCjIwMTAtMDMtMTYgMjE6MTY6MjYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FscGhhL2dzdGFscGhhLmM6CgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5oOgoJICBhbHBoYTogUmVtb3ZlIHJlZHVuZGFudCBpbnN0YW5jZSBmaWVsZAoKMjAxMC0wMy0xNiAyMToxMDowOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzoKCSAgYWxwaGE6IFByb3RlY3QgcHJvcGVydHkgdmFsdWVzIGZyb20gY2hhbmdlcyBkdXJpbmcgZnJhbWUgcHJvY2Vzc2luZwoKMjAxMC0wMy0xNSAyMzoyOTo1NSArMDMwMCAg0KDRg9GB0LvQsNC9INCY0LbQsdGD0LvQsNGC0L7QsiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOgoJICBwbmdlbmM6IFVzZSBwbmdfZ2V0X2lvX3B0cigpIGluc3RlYWQgb2YgYWNjZXNzaW5nIGlvX3B0ciBkaXJlY3RseQoJICBGaXhlcyAjNjEyNzAwIChmb3IgdGhlIGxhc3QgdGltZSEpCgoyMDEwLTAzLTE1IDIzOjI5OjA2ICswMzAwICDQoNGD0YHQu9Cw0L0g0JjQttCx0YPQu9Cw0YLQvtCyIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgcG5nOiBDaGVjayBmb3IgbGlicG5nID49IDEuMiBpbnN0ZWFkIG9mIGxpYnBuZzEyCgoyMDEwLTAzLTE2IDAxOjI5OjM2ICswMTAwICBKYW4gVXJiYcWEc2tpIDx3dWxjemVyQHd1bGN6ZXIub3JnPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguaDoKCSAgZmx2bXV4OiBBbHdheXMgcHV0IGEgZHVyYXRpb24gdGFnIGluIHRoZSBtZXRhZGF0YQoJICBTb21lIEZsYXNoIHBsYXllcnMgKGZvciBpbnN0YW5jZSBKVyBQbGF5ZXIpIGFsd2F5cyBleHBlY3QgYSBkdXJhdGlvbgoJICB0YWcsIG90aGVyd2lzZSB0aGV5IGRvbid0IHN0YXJ0IHBsYXliYWNrLgoJICBJZiBkdXJhdGlvbiBjYW4gYmUgcXVlcmllZCBmcm9tIHRoZSBzaW5rIHBhZHMgb3IgaXMgcHJvdmlkZWQgYXMgYSB0YWcsCgkgIHVzZSBpdC4gT3RoZXJ3aXNlIHRyeSB0byBkZXRlcm1pbmUgaXQgZnJvbSB0aGUgbGFzdCBzZWVuIHRpbWVzdGFtcCBvZgoJICB0aGUgc2luayBwYWRzIGFmdGVyIEVPUyBhbmQgcmV3cml0ZSBpdCBpbiB0aGUgaGVhZGVyIGJlZm9yZSB3cml0aW5nCgkgIHRoZSBpbmRleC4KCjIwMTAtMDMtMTYgMDA6MzU6NDYgKzAxMDAgIEphbiBVcmJhxYRza2kgPHd1bGN6ZXJAd3VsY3plci5vcmc+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdm11eC5oOgoJICBmbHZtdXg6IFJlbW92ZSB0aGUgc2VuZF9jb2RlY19kYXRhIGZpZWxkIGZyb20gR3N0Rmx2UGFkCgkgIFRoYXQgZmllbGQgaXMgbm90IHVzZWQgYW55bW9yZSBhZnRlciB0aGUgY2hhbmdlcyBpbgoJICA5ZmRlY2JjMWMxMWY0ZTVhZjY1NzhiYmEzMmE5YjMyNzcxMDI5ZDMzLgoKMjAxMC0wMy0xNiAxMzo1MzoyNiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkgIG11bHRpdWRwc2luazogZ2V0IGZhbWlseSBvZiBleHRlcm5hbCBzb2NrZXRzIHRvbwoJICBHZXQgdGhlIGZhbWlseSBvZiBleHRlcm5hbGx5IGNvbmZpZ3VyZWQgc29ja2V0cyBzbyB0aGF0IHdlIGNhbiBjb25maWd1cmUgaXQKCSAgY29ycmVjdGx5LgoKMjAxMC0wMy0xNSAyMDozNzo1MSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGFjb2xvci5jOgoJICBhbHBoYWNvbG9yOiBBZGQgc3VwcG9ydCBmb3IgdGhlIHJlbWFpbmluZyBBUkdCIGZvcm1hdHMKCjIwMTAtMDMtMTUgMTk6MTY6MTggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FscGhhL2dzdGFscGhhY29sb3IuYzoKCSAgYWxwaGFjb2xvcjogU2ltcGxpZnkgQVJHQjwtPkFZVVYgY29udmVyc2lvbnMgYnkgY29kZSBnZW5lcmF0aW9uIG1hY3JvcwoKMjAxMC0wMy0xNSAxOTowNzoyOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGdzdC9hbHBoYS9NYWtlZmlsZS5hbToKCSogZ3N0L2FscGhhL2dzdGFscGhhLmM6CgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5oOgoJICBhbHBoYTogTWlub3IgY2xlYW51cHMgYW5kIG1vdmUgZGVjbGFyYXRpb25zIGludG8gYSBzZXBhcmF0ZSBoZWFkZXIgZmlsZQoKMjAxMC0wMy0xNSAxODo1ODo1MSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWxwaGEvTWFrZWZpbGUuYW06CgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOgoJICBhbHBoYTogVXNlIEdzdFZpZGVvRmlsdGVyIGFzIGJhc2UgY2xhc3MgZm9yIGF1dG9tYXRpYyBRb1Mgc3VwcG9ydAoKMjAxMC0wMy0xNSAxODo1MDoxMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGFjb2xvci5jOgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGFjb2xvci5oOgoJICBhbHBoYWNvbG9yOiBBZGQgc3VwcG9ydCBmb3IgaW5wbGFjZSBjb252ZXJzaW9ucyBmcm9tIEFZVVYgdG8gQVJHQgoKMjAxMC0wMy0xNSAxODoxNDoxOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGFjb2xvci5jOgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGFjb2xvci5oOgoJICBhbHBoYWNvbG9yOiBVc2UgbGliZ3N0dmlkZW8gZm9yIGNhcHMgcGFyc2luZwoKMjAxMC0wMy0xNSAxODowOTo1NSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWxwaGEvTWFrZWZpbGUuYW06CgkqIGdzdC9hbHBoYS9nc3RhbHBoYWNvbG9yLmM6CgkqIGdzdC9hbHBoYS9nc3RhbHBoYWNvbG9yLmg6CgkgIGFscGhhY29sb3I6IFVzZSBHc3RWaWRlb0ZpbHRlciBhcyBiYXNlIGNsYXNzIGZvciBhdXRvbWF0aWMgUW9TIHN1cHBvcnQKCjIwMTAtMDMtMTUgMTg6MDc6MjkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FscGhhL2dzdGFscGhhY29sb3IuYzoKCSAgYWxwaGFjb2xvcjogU29tZSBtaW5vciBjbGVhbnVwCgoyMDEwLTAzLTE1IDE0OjE2OjU4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuaDoKCSAgc3BlZXhkZWM6IFVzZSBzcGVleF9zdGVyZW9fc3RhdGVfaW5pdCgpIGluc3RlYWQgb2YgdGhlIGRlcHJlY2F0ZWQgaW5pdGlhbGl6YXRpb24gbWFjcm8KCSAgRml4ZXMgYnVnICM2MTI3NzcuCgoyMDEwLTAzLTE1IDAxOjA5OjQ5ICswMTAwICBKYW4gVXJiYcWEc2tpIDx3dWxjemVyQHd1bGN6ZXIub3JnPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSAgZmx2bXV4OiBDb3JyZWN0bHkgbWFyayBidWZmZXJzIGFzIGRlbHRhIHVuaXRzCgkgIE1hcmsgdmlkZW8gaW50ZXJmcmFtZXMsIHZpZGVvIGNvZGVjIGRhdGEgYnVmZmVycyBhbmQgYXVkaW8gYnVmZmVycyAoaWYKCSAgaXQncyBub3QgYW4gYXVkaW8tb25seSBzdHJlYW0pIGFzIGRlbHRhIHVuaXRzLgoKMjAxMC0wMy0xNCAxOTozMjoyMCArMDEwMCAgSmFuIFVyYmHFhHNraSA8d3VsY3plckB3dWxjemVyLm9yZz4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkgIGZsdm11eDogU3VwcG9ydCBzdHJlYW1oZWFkZXJzCgkgIFB1dCB0aGUgRkxWIGhlYWRlciwgdGhlIG1ldGFkYXRhIHRhZyBhbmQgKGlmIHByZXNlbnQpIGNvZGVjCgkgIGluZm9ybWF0aW9uIGluIHRoZSBzdHJlYW1oZWFkZXIgdG8gYWxsb3cgdGhlIG11eGVyIHRvIGJlIHVzZWQgZm9yCgkgIHN0cmVhbWluZy4KCjIwMTAtMDMtMTQgMDE6Mzg6MjEgKzAxMDAgIEphbiBVcmJhxYRza2kgPHd1bGN6ZXJAd3VsY3plci5vcmc+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJICBmbHZtdXg6IFByZWFsbG9jYXRlIGluZGV4IHNwYWNlIGFuZCBmaWxsIGl0IGFmdGVyIGZpbmlzaGluZyBvdXRwdXQKCSAgTWFrZSB0aGUgaW5kZXggYXBwZWFyIGF0IHRoZSBiZWdpbm5pbmcgb2YgdGhlIGZpbGUsIHdoaWNoIGlzIHdoYXQgbW9zdAoJICBwbGF5ZXJzIGFyZSBleHBlY3RpbmcuCgkgIEZpeGVzICM2MDEyMzYuCgoyMDEwLTAzLTE1IDEzOjQ3OjEzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkgIGZsdm11eDogTWlub3IgY29kaW5nIHN0eWxlIGZpeGVzIGFuZCBjbGVhbnVwCgoyMDEwLTAzLTE0IDAxOjM0OjAyICswMTAwICBKYW4gVXJiYcWEc2tpIDx3dWxjemVyQHd1bGN6ZXIub3JnPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguaDoKCSAgZmx2bXV4OiBBZGQgYSBpcy1saXZlIHByb3BlcnR5CgkgIElmIGl0IGlzIHNldCwgdGhlIG11eGVyIHdpbGwgbm90IHdyaXRlIHRoZSBpbmRleC4gRGVmYXVsdHMgdG8gZmFsc2UuCgoyMDEwLTAzLTE0IDAxOjI1OjQyICswMTAwICBKYW4gVXJiYcWEc2tpIDx3dWxjemVyQHd1bGN6ZXIub3JnPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSAgZmx2bXV4OiBPbmx5IHB1dCB2YWxpZCBzZWVrIHBvaW50cyBpbiB0aGUgaW5kZXgKCSAgRm9yIGZpbGVzIGNvbnRhaW5pbmcgdmlkZW8gb25seSB2aWRlbyBrZXlmcmFtZXMgYXJlIHZhbGlkIHBvaW50cyB0bwoJICB3aGljaCBhIHBsYXllciBjYW4gc2Vlay4gRm9yIGF1ZGlvLW9ubHkgZmlsZXMgYW55IHRhZyBzdGFydCBpcyBhIHZhbGlkCgkgIHNlZWsgcG9pbnQuCgkgIFNlZSAjNjAxMjM2LgoKMjAxMC0wMy0xNCAwMTowOTozNyArMDEwMCAgSmFuIFVyYmHFhHNraSA8d3VsY3plckB3dWxjemVyLm9yZz4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkgIGZsdm11eDogRml4IGluZGV4IGJ1aWxkaW5nIHRvIG1ha2UgZW50cmllcyBwb2ludCB0byB0YWcncyBzdGFydCBvZmZzZXQKCSAgUHJldmlvdXMgY29kaW5nIHdhcyB3cm9uZ2x5IGluY3JlbWVudGluZyB0aGUgdG90YWwgYnl0ZSBjb3VudCBiZWZvcmUKCSAgYWRkaW5nIGFuIGluZGV4IGVudHJ5LgoKMjAxMC0wMy0xNSAxMzo0MDozOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY2Fpcm8vZ3N0dGV4dG92ZXJsYXkuYzoKCSAgY2Fpcm90ZXh0b3ZlcmxheTogRG9uJ3QgcmVuZGVyIHRleHQgb3V0c2lkZSB0aGUgZnJhbWUgYm91bmRhcmllcwoJICBGaXhlcyBidWcgIzYxMTk4Ni4KCjIwMTAtMDMtMTUgMTE6Mzg6MjMgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGRvbid0IGZvcmdldCB0byBzZW5kIGtlZXBhbGl2ZSBtZXNzYWdlcwoJICBXaGVuIHdlIG9wZXJhdGUgaW4gVENQIG1vZGUsIHN0aWxsIHNlbmQga2VlcGFsaXZlIG1lc3NhZ2VzIHdoZW4gd2UKCSAgbmVlZCB0by4KCSAgRml4ZXMgIzYxMjY5NgoKMjAxMC0wMy0xMyAyMzoxOTozNSArMDMwMCAg0KDRg9GB0LvQsNC9INCY0LbQsdGD0LvQsNGC0L7QsiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBleHQvbGlicG5nL2dzdHBuZ2VuYy5jOgoJICBwbmdlbmM6IENhbGwgcG5nX2ptcGJ1ZigpIGluc3RlYWQgb2YgYWNjZXNzaW5nIHBuZ19zdHJ1Y3RfcHRyIGRpcmVjdGx5CgkgIEZpeGVzICM2MTI3MDAgKGFnYWluKQoKMjAxMC0wMy0xMiAxNjo0NDozMCArMDMwMCAg0KDRg9GB0LvQsNC9INCY0LbQsdGD0LvQsNGC0L7QsiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBleHQvbGlicG5nL2dzdHBuZ2VuYy5jOgoJICBwbmdlbmM6IENhbGwgcG5nX2Vycm9yKCkgaW5zdGVhZCBvZiB1c2luZyBsb25nam1wKCkgZGlyZWN0bHkuCgkgIEZpeGVzICM2MTI3MDAKCjIwMTAtMDMtMTIgMTM6NTc6MjggKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGUyNzJmNzEgdG8gNTVjZDUxNAoKMjAxMC0wMy0wNSAxMTowNjo0NyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfZm91cmNjLmg6CgkgIHF0ZGVtdXg6IGFkZCBYTVAgcGFyc2luZyBzdXBwb3J0CgkgIFVzZSB4bXAgaGVscGVycyB0byBwYXJzZSBYTVAgbWV0YWRhdGEgaW4gdWR0YSBhdG9tLgoJICBGaXhlcyAjNjA5NTM5CgoyMDEwLTAzLTExIDEyOjMyOjU2IC0wODAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmg6CgkqIGdzdC91ZHAvZ3N0dWRwbmV0dXRpbHMuYzoKCSogZ3N0L3VkcC9nc3R1ZHBuZXR1dGlscy5oOgoJICB1ZHA6IGZpeCBjb21waWxhdGlvbiBlcnJvcnMgb24gbm9uLXdpbmRvd3MuCgoyMDEwLTAzLTEwIDIyOjIzOjQzICswMTAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuaDoKCSogZ3N0L3VkcC9nc3R1ZHBuZXR1dGlscy5jOgoJKiBnc3QvdWRwL2dzdHVkcG5ldHV0aWxzLmg6CgkgIG11bHRpdWRwc2luazogYXZvaWQgZ2V0dGluZyB0aGUgc29ja2V0IGZhbWlseSB1c2luZyBnZXRzb2NrbmFtZSgpCgoyMDEwLTAzLTExIDE3OjI4OjQ3ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBGaXggcHJpbnQgc3RhdGVtZW50cyBmb3IgcG9pbnRlciBkaWZmZXJlbmNlcy4KCSAgVGhpcyBmaXhlcyBpdCBmb3IgYm90aCAzMiBhbmQgNjQgYml0CgoyMDEwLTAzLTExIDE3OjI4OjM1ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBGaXggdW5pdGlhbGl6ZWQgdmFyaWFibGVzCgoyMDEwLTAzLTExIDE3OjAzOjQ3ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHZkZW11eDogRml4IHByaW50ZiBmb3JtYXR0aW5nIGZvciBtYWNvc3gKCjIwMTAtMDMtMTEgMTc6MDM6MDUgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdmRlbXV4OiBGaXggdW5pdGlhbGl6ZWQgdmFyaWFibGVzCgoyMDEwLTAzLTExIDE3OjAyOjQ0ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogRml4IHVuaXRpYWxpemVkIHZhcmlhYmxlLgoKMjAxMC0wMi0xOSAxMzozOTowNCArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzoKCSAgZmx2cGFyc2U6IE1ha2Ugc2NyaXB0IHRhZyBwYXJzaW5nIG1vcmUgZmxleGlibGUuCgkgICogVGhlIG5iX2VsZW1lbnRzIGZvciBhcnJheXMgaXMganVzdCBhbiBpbmRpY2F0aW9uLCB3ZSBjYW4gdGhlcmVmb3JlIGlnbm9yZQoJICBpdCBhbmQgY2Fycnkgb24gcGFyc2luZyBtZXRhZGF0YSBpdGVtcyB1bnRpbCB3ZSByZWFjaCB0aGUgZW5kIG1hcmtlci4KCSAgKiBJZiB0eXBlID09IDMsIHRoZW4gdGhlIHNjcmlwdCB0YWcgY29udGFpbnMgYSBsaXN0IG9mIG9iamVjdCBmb2xsb3dlZAoJICBieSB0aGUgZW5kIG1hcmtlci4KCSAgUmVmYWN0b3IgY29kZSBzbGlnaHRseSB0byBoYW5kbGUgYm90aCBjYXNlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjEwNDQ3CgoyMDEwLTAzLTExIDE1OjUxOjQwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2RlaW50ZXJsZWF2ZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pbnRlcmxlYXZlLmM6CgkgIHRlc3RzOiBmaXggbWV0YWRhdGEgbm90IHdyaXRhYmxlIHdhcm5pbmdzIGluIGludGVybGVhdmUgYW5kIGRlaW50ZXJsZWF2ZSB0ZXN0cwoKMjAxMC0wMy0xMSAxNTozODoxOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hcGV2Mm11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pZDN2Mm11eC5jOgoJICB0ZXN0czogZml4IG1ldGFkYXRhIG5vdCB3cml0YWJsZSB3YXJuaW5ncyB3aXRoIGFwZXYybXV4IGFuZCBpZDN2Mm11eCB0ZXN0cwoKMjAxMC0wMy0xMSAxNToyNDoyMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwaHR0cHNyYzogZml4IG1ldGFkYXRhIHdyaXRhYmxlIHdhcm5pbmdzCgkgIFNldCBtZXRhZGF0YSBvbiBidWZmZXIgZmlyc3QsIHdoZW4gdGhlIHJlZmNvdW50IGlzIHN0aWxsIDEsIGFuZCBvbmx5CgkgIHJlZiBhZ2FpbiBhZnRlcndhcmRzLgoKMjAxMC0wMy0xMSAxNTowMjo0OCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBpZ25vcmUgc3RyZWFtIHdpdGggaW52YWxpZCBoZWFkZXIgdGltZSBtZXRhZGF0YQoKMjAxMC0wMy0wOCAxNDo1NzoxNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IFNldCBzdHJlYW0tZm9ybWF0PXJhdyBvbiBBQUMgY2FwcwoJICBTZXQgc3RyZWFtLWZvcm1hdD1yYXcgZm9yIEFBQyBjYXBzLCBhcyB0aGF0IGlzIHRoZQoJICBleHBlY3RlZCBBQUMgZm9ybWF0IHRvIGJlIGluIHRoaXMgY29udGFpbmVyIGZhbWlseS4KCSAgRml4ZXMgIzU2NjI1MAoKMjAxMC0wMy0xMSAxMjo1NjoxMSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogY2hlY2sgZm9yIE5VTEwgYmVmb3JlIGRvaW5nIHN0cmNtcAoJICBDaGVjayB0aGUgY29ubmVjdGlvbiBhbmQgYWRkcmVzcyB0eXBlIGZvciBOVUxMIGJlZm9yZSBkb2luZyBzdHJjbXAgYW5kCgkgIGNyYXNoaW5nLgoJICBGaXhlcyAjNjEyNTUzCgoyMDEwLTAzLTExIDExOjIwOjU5ICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGRmOGE3YzggdG8gZTI3MmY3MQoKMjAxMC0wMy0xMSAxMTowOTo1NSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3VkcC9nc3R1ZHBuZXR1dGlscy5jOgoJICBidWlsZDogaW5jbHVkZSBzdGRsaWIuaCBmb3IgYXRvaSgpCgoyMDEwLTAzLTExIDEwOjMzOjAwICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXVkaW9meC9hdWRpb3Bhbm9yYW1hLmM6CgkgIGF1ZGlvcGFub3JhbWE6IG1vdmUgaW52YXJpYW50IGNoZWNrIG91dCBvZiB0aGUgaW5uZXIgbG9vcAoJICBJbXByb3ZlcyBwZXJmb3JtYW5jZSBmb3Igc2ltcGxlIG1ldGhvZC4KCjIwMTAtMDMtMTAgMjI6MTU6MDQgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgVXBkYXRlIENYWEZMQUdTLCB0b28sIGp1c3QgbGlrZSBDRkxBR1MKCjIwMTAtMDMtMTAgMjE6MDE6MjAgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L3J0cG1hbmFnZXIvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBVcGRhdGUgZm9yIHJlY2VudCBjaGFuZ2VzIHRvIGNvbW1vbiBzdWJtb2R1bGUKCSAgVGhpcyBqdXN0IHJlcGxhY2VzIGV2ZXJ5ICIkRVJST1JfQ0ZMQUdTIiB1c2FnZSB3aXRoIGEgdXNhZ2Ugb2YKCSAgIiRXQVJOSU5HX0NGTEFHUyAkRVJST1JfQ0ZMQUdTIiB0byBnZXQgdGhlIHNhbWUgZnVuY3Rpb25hbGl0eSBhcwoJICBwcmV2aW91c2x5LgoJICBBY3R1YWxseSB1c2luZyB0aGF0IHNlcGFyYXRpb24gd2lsbCBoYXBwZW4gbGF0ZXIuCgoyMDEwLTAzLTEwIDIxOjUyOjA5ICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDk3MjBhN2QgdG8gZGY4YTdjOAoKMjAxMC0wMy0xMCAyMDo0Mzo1NyArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSAwYjZlMDcyIHRvIDk3MjBhN2QKCjIwMTAtMDMtMTAgMTA6NTE6MjggLTA4MDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8YW1vcmFsZXNAZmx1bW90aW9uLmNvbT4KCgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkgIG11bHRpdWRwc2luazogUmVzZXQgd2luZG93cyBlcnJvciBjb2RlIGFmdGVyIGdldHRpbmcgY29ycmVzcG9uZGluZyBlcnJvciBtZXNzYWdlLgoKMjAxMC0wMy0wOSAxNzozMjoyNyAtMDgwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aW11eC5oOgoJICBhdmltdXg6IHB1dCB0aGUgY29kZWNfZGF0YSBibG9iIGludG8gdGhlIGFjdHVhbCBkYXRhIGZvciBNUEVHNCB2aWRlbywgdG8gbWF0Y2ggb3RoZXIgaW1wbGVtZW50YXRpb25zIGluIHRoZSB3aWxkLgoKMjAxMC0wMy0xMCAxNjowOTo1NiArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA3Y2M1ZWI0IHRvIDBiNmUwNzIKCjIwMTAtMDItMjMgMjE6MDY6NTUgLTAzMDAgIFRoYWRldSBMaW1hIGRlIFNvdXphIENhc2NhcmRvIDxjYXNjYXJkb0Bob2xvc2NvcGlvLmNvbT4KCgkqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6CgkgIHhpbWFnZXNyYzogc2VuZCBuZXdfc2VnbWVudCB3aXRoIEdTVF9GT1JNQVRfVElNRSBmb3JtYXQKCSAgSW5zdGVhZCBvZiB1c2luZyBCYXNlU3JjIGRlZmF1bHQgZm9ybWF0IEdTVF9GT1JNQVRfQllURVMsIHNlbmQgaXQgaW4KCSAgR1NUX0ZPUk1BVF9USU1FLgoJICBTaWduZWQtb2ZmLWJ5OiBUaGFkZXUgTGltYSBkZSBTb3V6YSBDYXNjYXJkbyA8Y2FzY2FyZG9AaG9sb3Njb3Bpby5jb20+CgkgIEZpeGVzICM2MTE2NTkKCjIwMTAtMDMtMTAgMTE6NDY6MDYgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogcHVzaCBtb2RlOyBhbHNvIHJlcG9ydCBzZWVrYWJsZSB3aXRob3V0IGFuIGVsZW1lbnQgaW5kZXgKCSAgLi4uIHNpbmNlIHJlY2VudCBjb2RlIGFsc28gc2Vla3MgYXJvdW5kIHRvIG9idGFpbiByZXF1aXJlZCBkYXRhCgkgIGZyb20gYXZpIGluZGV4LgoKMjAxMC0wMy0wOSAxODowNjo1MiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBhZGQgc29tZSBjaGVjayBhbmQgc3RhbmRhcmRpemVkIHNlZWsgZXZlbnQgaGFuZGxpbmcgaW4gcHVzaCBtb2RlCgoyMDEwLTAzLTA5IDE4OjA1OjI5ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IGZpeCBvZmZzZXQgaGFuZGxpbmcgaW4gcHVzaCBtb2RlIHNlZWtpbmcKCSAgUHVzaCBtb2RlIHNlZWtpbmcgdXNlcyBzYW1lIGluZGV4IGRhdGEgYXMgcHVsbCBtb2RlLCBhbmQgc3RvcmVzCgkgIG9mZnNldCB0byBkYXRhIGluIGNodW5rLCB3aGVyZWFzIHB1c2ggbW9kZSBvcGVyYXRlcyBpbiBjaHVua3MsCgkgIGFuZCBhcyBzdWNoIG5lZWRzIG9mZnNldCBjb25zaXN0ZW50bHkgY29ycmVzcG9uZGluZyB0byBjaHVuayBoZWFkZXJzLgoJICBBbHNvIGZpeCBkZXRlcm1pbmluZyBiZXN0IG1hdGNoaW5nIHN0cmVhbSBmb3IgaW5jb21pbmcgbmV3c2VnbWVudCBldmVudCwKCSAgYXMgd2VsbCBhcyBzZXR0aW5nIHNvbWUgc3RyZWFtIHN0YXRlIGFjY29yZGluZ2x5LgoKMjAxMC0wMi0yNiAyMToyOTo0OSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguaDoKCSAgZmx2ZGVtdXg6IGNvbmR1Y3QgaW5kZXggc2NhbiBpbiB0YXNrIHRocmVhZAoJICAuLi4gcmF0aGVyIHRoYW4gaW4gc2Vla2luZyB0aHJlYWQsIHdoaWNoIG1pZ2h0IHRoZW4gb2NjdXB5IG1haW5sb29wCgkgIGZvciBzb21lIHRpbWUgd2l0aCBwb3NzaWJsZSB1bnJlc3BvbnNpdmUgc2lkZS1lZmZlY3RzLgoKMjAxMC0wMi0yNiAyMToyNzozMyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6CgkgIGZsdmRlbXV4OiBhdm9pZCBpbmRlZmluaXRlIGluZGV4IGdyb3d0aAoJICBUaGF0IGlzLCBjaGVjayBmb3IgYW5kIGRvIG5vdCBhZGQgYW4gaW5kZXggZW50cnkgdGhhdCBoYXMgYWxyZWFkeQoJICBiZWVuIGFkZGVkLgoKMjAxMC0wMi0xOCAxNDo1NzozOSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6CgkgIGZsdmRlbXV4OiBhbHNvIGNvbGxlY3QgaW5kZXggaW5mbyBvbi10aGUtZmx5IGluIHB1bGwgbW9kZQoKMjAxMC0wMi0xOCAxMjo0MjozMSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguaDoKCSogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOgoJKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmg6CgkgIGZsdmRlbXV4OiBpbmNyZW1lbnRhbGx5IGJ1aWxkIGluZGV4IGluIHB1bGwgbW9kZQoJICBTY2FuIGZvciBuZWVkZWQgcGFydCB1cG9uIGEgc2VlayBhcyBvcHBvc2VkIHRvIGRvaW5nIGEgY29tcGxldGUgc2NhbgoJICBhdCBzdGFydHVwLCB3aGljaCBtYXkgdGFrZSBzb21lIHRpbWUgZGVwZW5kaW5nIG9uIGZpbGUgYW5kL29yIHBsYXRmb3JtLgoJICBBbHNvIGFjY2VwdCBpbmRleCBtZXRhZGF0YSBpbiBwdWxsIG1vZGUgYW5kIHBlZWsgZm9yIHNvbWUgbWV0YWRhdGEKCSAgYXQgdGhlIGVuZCBvZiB0aGUgZmlsZSB3aGVuIGRlZW1lZCBhcHByb3ByaWF0ZS4KCjIwMTAtMDItMTggMTI6MjY6NDYgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHZkZW11eDogc29tZSBtb3JlIHZhcmlhYmxlIGNsZWFudXAKCjIwMTAtMDMtMDkgMTg6MjU6MjMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOgoJICBmbHZkZW11eDogcmVmYWN0b3IgYWRkaW5nIGluZGV4IGVudHJ5CgoyMDEwLTAyLTE3IDExOjM2OjEzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzoKCSAgZmx2ZGVtdXg6IGZpeCBzZXR0aW5nIERFTFRBX1VOSVQgZmxhZyBvbiBvdXRnb2luZyBidWZmZXJzCgkgIC4uLiB3aGljaCBzaG91bGQgbm90IGRlcGVuZCBvbiBoYXZpbmcgaW5kZXggYXZhaWxhYmxlIG9yIG5vdC4KCSAgQWxzbyByZWZhY3RvciByZXN1bHRpbmcgY29sbGFwc2VkIGNvZGUuCgoyMDEwLTAyLTExIDE5OjQzOjQ3ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogYXZvaWQgZXJyb25lb3VzIGNvZGVjLWRhdGEgb3ZlcnJpZGluZyBvZiBzdHNkIGluZm9ybWF0aW9uCgoyMDEwLTAyLTAxIDIyOjM3OjMwICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOgoJICBzcGVleGRlYzogYWRhcHQgdG8gbmV3IG9nZ2RlbXV4CgkgIFJlbW92ZSBhbGwgZ3JhbnVsZXBvcyBoYWNrcyBhbmQgc2ltcGx5IHVzZSB1cHN0cmVhbSB0aW1lc3RhbXBzLgoKMjAxMC0wMi0wMSAyMjozNjowMiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmg6CgkgIHNwZWV4ZGVjOiByZWZhY3RvciBncmFudWxlcG9zIGhhY2tzCgoyMDEwLTAzLTEwIDExOjE5OjQ2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBwYXJzZSBjb25uZWN0aW9uIGluZm9ybWF0aW9uCgkgIFBhcnNlIHRoZSBjb25uZWN0aW9uIGluZm9ybWF0aW9uIGZyb20gdGhlIFNEUCBhbmQgdXNlIGl0IHRvIGZpZ3VyZSBvdXQgaWYgd2UgYXJlCgkgIGRlYWxpbmcgd2l0aCBpcHY0IG9yIGlwdjYgY29ubmVjdGlvbnMuCgoyMDEwLTAzLTA5IDE3OjUzOjMyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiByZXF1aXJlIGEgZGVzdGluYXRpb24gZm9yIG11bHRpY2FzdAoJICBXaGVuIHNldHRpbmcgdXAgdGhlIG11bHRpY2FzdCBzb2NrZXRzLCB3ZSBuZWVkIGEgZGVzdGluYXRpb24gYWRkcmVzcyB0byBsaXN0ZW4KCSAgb24gb3IgZWxzZSB3ZSBlcnJvci4KCjIwMTAtMDMtMDkgMTc6NTI6MzUgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgcnRzcHNyYzogaGFuZGxlIGlwdjYgbGlzdGVuaW5nIHBvcnRzIHdoZW4gbmVlZGVkCgkgIEFkZCBzb21lIGNvZGUgdG8gbWFrZSB1ZHBzcmMgbGlzdGVuIG9uIGFuIGlwdjYgYWRkcmVzcyB3aGVuIG5lZWRlZC4gVGhlCgkgIGRldGVjdGlvbiBvZiBJUFY2IGlzIG5vdCB5ZXQgaW1wbGVtZW50ZWQuCgoyMDEwLTAzLTA5IDE3OjE1OjE2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9nc3R1ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0dWRwc2luay5oOgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5oOgoJICB1ZHA6IHVzZSB1cmkgcGFyc2luZyBjb2RlCgkgIFVzZSB0aGUgdXJpIHBhcnNpbmcgaGVscGVyIGZ1bmN0aW9ucyB0byBtYW5hZ2UgdGhlIGhvc3QgYW5kIHBvcnQgcGFpcnMuIFRoaXMKCSAgYWRkcyBzdXBwb3J0IGZvciBJUFY2LgoKMjAxMC0wMy0wOSAxNzoxMzozMSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC91ZHAvZ3N0dWRwbmV0dXRpbHMuYzoKCSogZ3N0L3VkcC9nc3R1ZHBuZXR1dGlscy5oOgoJICB1ZHBuZXR1dGlsczogYWRkIGhlbHBlciBmdW5jdGlvbnMgZm9yIHVkcCB1cmkgaGFuZGxpbmcKCSAgQWRkIHNvbWUgaGVscGVycyB0byBwYXJzZSB1ZHAgdXJpcy4gTWFrZSBzdXJlIElQVjYgaXMgc3VwcG9ydGVkIHRvby4KCjIwMTAtMDMtMDUgMTY6MDg6NDUgKzAxMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmg6CgkgIHJ0cHNlc3Npb246IE1ha2UgaXQgcG9zc2libGUgdG8gZmF2b3IgbmV3IHNvdXJjZXMgaW4gY2FzZSBvZiBTU1JDIGNvbmZsaWN0CgkgIEFkZCBhICJmYXZvci1uZXciIHByb3BlcnR5IHRoYXQgdGVsbHMgdGhlIHNlc3Npb24gdG8gZmF2b3IgbmV3IHNvdXJjZXMgd2hlbgoJICB0aGVyZSBpcyBhIFNTUkMgY29uZmxpY3QuIFRoaXMgaXMgdXNlZnVsIGZvciBTSVAgY2FsbHMgYW5kIG90aGVyIHN1Y2ggY2FzZXMKCSAgd2hlcmUgYSByZW1vdGUgbG9vcCBpcyBleHRyZW1lbHkgdW5saWtlbHkuCgkgIEZpeGVzICM2MDc2MTUKCjIwMTAtMDMtMDUgMTU6NDY6NDggKzAxMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmg6CgkgIHJ0cHNlc3Npb246IE1vdmUgU1NSQyBjb25mbGljdHMgbGlzdHMgaW50byBSVFBTb3VyY2UKCSAgV2Ugd2lsbCBhbHNvIG5lZWQgdG8gdHJhY2sgU1NSQyBjb25mbGljdHMgaW4gcmVtb3RlIHNvdXJjZXMuCgkgIFNlZSAjNjA3NjE1CgoyMDEwLTAyLTI2IDE3OjEzOjQ5ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBzZW5kIGtlZXAgYWxpdmUgd2hlbiBwYXVzZWQKCSAgV2hlbiB3ZSBhcmUgcGF1c2VkLCBzZW5kIGtlZXAgYWxpdmUgbWVzc2FnZXMgdG8gdGhlIHNlcnZlciBzbyB0aGF0IG91ciBzZXNzaW9uCgkgIGRvZXNuJ3QgdGltZSBvdXQgd2hlbiB3ZSBnbyBiYWNrIHRvIHBsYXlpbmcgbGF0ZXIuCgoyMDEwLTAzLTEwIDAxOjEwOjA3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gN2FhNjViNSB0byA3Y2M1ZWI0CgoyMDEwLTAyLTIzIDE5OjQ4OjEwIC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuaDoKCSAgbXVsdGlmaWxlc2luazogQWRkIGtleS1mcmFtZSBvcHRpb24gdG8gbmV4dC1maWxlCgkgIFRoaXMgYWxsb3dzIHNlZ21lbnRpbmcgb2YgTVBFRy1UUyBmaWxlcyBhdCBrZXkgZnJhbWVzLCB3aGljaCBpcwoJICBleGFjdGx5IHdoYXQgaXMgbmVlZGVkIGZvciBBcHBsZSdzIEhUVFAgc3RyZWFtaW5nLgoKMjAxMC0wMy0wOSAyMTozMjo0NyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDQ0ZWNjZTcgdG8gN2FhNjViNQoKMjAxMC0wMy0wOCAyMDoxNzo1OCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzoKCSAgdmlkZW9ib3g6IEZpeCBhdXRvY3JvcHBpbmcgZm9yIG9kZCB3aWR0aC9oZWlnaHQgZGlmZmVyZW5jZXMKCjIwMTAtMDMtMDggMjA6MDI6MTkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvYm94L01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94Lmg6CgkgIHZpZGVvYm94OiBVc2UgbGliZ3N0dmlkZW8gZm9yIGZvcm1hdCBzcGVjaWZpYyBzdHVmZgoKMjAxMC0wMy0wOCAxOToyODo0NyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9meC9hdWRpb2FtcGxpZnkuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9keW5hbWljLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZWNoby5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWZpcmZpbHRlci5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWlpcmZpbHRlci5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2ludmVydC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2thcmFva2UuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9wYW5vcmFtYS5jOgoJICBhdWRpb2Z4OiBTeW5jIHByb3BlcnRpZXMgdG8gdGhlIHN0cmVhbSB0aW1lCgoyMDEwLTAzLTA4IDE5OjIwOjU5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2JveC9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6CgkgIHZpZGVvYm94OiBNYWtlIHByb3BlcnRpZXMgY29udHJvbGxhYmxlCgoyMDEwLTAzLTA4IDE5OjA5OjAxICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOgoJICB2aWRlb2JveDogU29tZSBjbGVhbnVwCgoyMDEwLTAyLTI4IDE1OjQ3OjUwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lZmZlY3R2L2dzdGFnaW5nLmM6CgkqIGdzdC9lZmZlY3R2L2dzdGRpY2UuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0ZWRnZS5jOgoJKiBnc3QvZWZmZWN0di9nc3RvcC5jOgoJKiBnc3QvZWZmZWN0di9nc3RxdWFyay5jOgoJKiBnc3QvZWZmZWN0di9nc3RyYWRpb2FjLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHJldi5jOgoJKiBnc3QvZWZmZWN0di9nc3RyaXBwbGUuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0c2hhZ2FkZWxpYy5jOgoJKiBnc3QvZWZmZWN0di9nc3RzdHJlYWsuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0dmVydGlnby5jOgoJKiBnc3QvZWZmZWN0di9nc3R3YXJwLmM6CgkgIGVmZmVjdHY6IFVzZSBjb250cm9sbGVyIHdoZXJlIHBvc3NpYmxlLCBvcHRpbWl6ZSBhIGJpdCBhbmQgbWFrZSBwcm9wZXJ0aWVzIHRocmVhZHNhZmUKCjIwMTAtMDItMjYgMTY6MzU6MTcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogcGtnY29uZmlnL01ha2VmaWxlLmFtOgoJICBidWlsZDogTWFrZSBzb21lIG1vcmUgcnVsZXMgc2lsZW50IGlmIHJlcXVlc3RlZAoKMjAxMC0wMi0yNiAxNTo0MTo1MiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogVXNlIGF1dG9tYWtlIDEuMTEgc2lsZW50IHJ1bGVzIGluc3RlYWQgb2Ygc2hhdmUgaWYgYXZhaWxhYmxlCgkgIFRoaXMgbWFrZXMgc3VyZSB0aGF0IHdlIHVzZSBzb21ldGhpbmcgdGhhdCBpcyBzdGlsbCBtYWludGFpbmVkIGFuZAoJICBhbHNvIGJyaW5ncyBiYWNrIGxpYnRvb2wgMS41IHN1cHBvcnQuCgoyMDEwLTAzLTA4IDIyOjU3OjM0ICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBleHQvbGlicG5nL2dzdHBuZ2VuYy5jOgoJICBwbmc6IGZyYWN0aW9ucyBkb24ndCBhbGxvdyBkb3VibGVzCgoyMDEwLTAzLTAxIDEyOjAzOjU2ICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBnc3QvZmx4L2dzdGZseGRlYy5jOgoJICBmbHg6IGZpeCBkZXNjcmlwdGlvbgoJICBJdCdzIHZpZGVvLCBub3QgYXVkaW8KCjIwMTAtMDMtMDkgMTc6NDU6MjcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFubm9kZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhbW1hLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhhbGVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF1aWNrdGltZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9iYWxhbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBCYWNrIHRvIGRldmVsb3BtZW50Cgo9PT0gcmVsZWFzZSAwLjEwLjIxID09PQoKMjAxMC0wMy0wOSAwMDoyODoxNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYW1tYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oYWxlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdWlja3RpbWUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYmFsYW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9mbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDAuMTAuMjEKCjIwMTAtMDMtMDkgMDA6MjQ6NDUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHBvL3poX0hLLnBvOgoJKiBwby96aF9UVy5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAxMC0wMy0wOSAwMDowOTozNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOgoJKiBnc3QveTRtL2dzdHk0bWVuY29kZS5oOgoJICBSZXZlcnQgIkFkZCA0OjI6MiwgNDoxOjEsIGFuZCA0OjQ6NCBvdXRwdXQgc3VwcG9ydCIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCA2MzdjMjZmNjFhMmJkOGQ3YjAxZjhiNmQwODFkOTRkYTY1Zjc0NTU3LgoKPT09IHJlbGVhc2UgMC4xMC4yMCA9PT0KCjIwMTAtMDMtMDggMjM6NDI6NTEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2FtbWEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGFsZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXVpY2t0aW1lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JhbGFuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmxpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiBnc3QtcGx1Z2lucy1nb29kLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAwLjEwLjIwCgoyMDEwLTAzLTA4IDIzOjQyOjA2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMTAtMDMtMDggMTY6NDc6MDQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJICBmbGFjZGVjOiBkb24ndCBzZW5kIHNlY29uZCBuZXdzZWdtZW50IGV2ZW50IGluIGZyYW1lZCBtb2RlLCBmaXhlcyBsb25nIHBsYXliYWNrIGRlbGF5CgkgIERvbid0IHNlbmQgYW5vdGhlciBuZXdzZWdtZW50IGV2ZW50IGlmIHRoZSB1cHN0cmVhbSBtdXhlci9wYXJzZXIgaGFzIGFscmVhZHkKCSAgc2VudCBvbmUgKG90aGVyd2lzZSB0aGUgc2luayB3aWxsIHdhaXQgZm9yICRkdXJhdGlvbiBiZWZvcmUgc3RhcnRpbmcgcGxheWJhY2spLgoJICBGaXhlcyBsb25nIGRlbGF5IHVudGlsIHBsYXliYWNrIHN0YXJ0cyB3aXRoIGZsYWMtaW4tb2dnIGZpbGVzLgoJICBGaXhlcyAjNjEwOTU5LgoKMjAxMC0wMy0wNSAxMzo0OTozMSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogY29uZmlndXJlIG11bHRpY2FzdCBjb3JyZWN0bHkKCSAgVGFrZSB0aGUgdHJhbnNwb3J0IGRlc3RpbmF0aW9uIGZvciBtdWx0aWNhc3QuCgkgIERpc2FibGUgbG9vcCBhbmQgYXV0b2pvaW4gZm9yIG11bHRpY2FzdCBvbiB0aGUgdWRwc2lua3MuCgoyMDEwLTAzLTA1IDEzOjQ3OjMzICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSAgbXVsdGljYXN0OiBhbHdheXMgY29uZmlndXJlIGxvb3AgYW5kIHR0bAoJICBBbHNvIGNvbmZpZ3VyZSBUVEwgYW5kIGxvb3AgcGFyYW1ldGVycyB3aGVuIHdlIGFkZCBhIGNsaWVudCBhZnRlciBpbml0aWFsaXppbmcKCSAgdGhlIHNlbmRlci4KCjIwMTAtMDMtMDggMTI6MTM6MzIgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNkZXBheS5jOgoJICBSZXZlcnQgInJ0cGgyNjNkZXBheTogYmFzZWNsYXNzIGhhbmRsZXMgdGltZXN0YW1wcyBmb3IgdXMiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgNTY0NTgxZTFiODhlY2Q1ZWM1ZGE4MmMzY2FmYjBlN2EyZDU4YjMwMi4KCSAgSWYgd2UgZG9uJ3QgY2FsbCBwdXNoX3RzLCB0aGVyZSB3aWxsIGJlIG5vIHRpbWVzdGFtcCBhdCBhbGwgb24gdGhlIG91dGdvaW5nCgkgIGJ1ZmZlci4KCSAgRml4ZXMgIzYxMjE1NAoKMjAxMC0wMi0yMyAyMjoxNjozOSAtMDUwMCAgQmVuamFtaW4gTS4gU2Nod2FydHogPGJlbnNAYWx1bS5taXQuZWR1PgoKCSogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzoKCSogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuaDoKCSAgQWRkIDQ6MjoyLCA0OjE6MSwgYW5kIDQ6NDo0IG91dHB1dCBzdXBwb3J0CgoyMDEwLTAzLTAyIDEzOjIxOjI0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkgIHJ0cHNvdXJjZTogdXNlIHBheWxvYWQgc2l6ZSB0byBlc3RpbWF0ZSBiaXRyYXRlCgkgIFVzZSB0aGUgbGVuZ3RoIG9mIHRoZSBwYXlsb2FkIGZvciBlc3RpbWF0aW5nIHRoZSByZWNlaXZlciBiaXRyYXRlIHNvIHRoYXQgaXQKCSAgbWF0Y2hlcyB0aGUgY2FsY3VsYXRpb25zIGRvbmUgb24gdGhlIHNlbmRlciBzaWRlLiBUb2dldGhlciB3aXRoIHRoZSBudW1iZXIgb2YKCSAgcGFja2V0cyBvbmUgY2FuIHNjYWxlIHRoZSBiaXRyYXRlIHdpdGggdGhlIGhlYWRlciBvdmVyaGVhZCBvZiB0aGUgbG93ZXIKCSAgdHJhbnNwb3J0LgoKMjAxMC0wMy0wMiAxMjozOToyMCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuaDoKCSAgcnRwc291cmNlOiByZWZhY3RvciBiaXRyYXRlIGVzdGltYXRpb24KCSAgRG9uJ3QgcmV1c2UgdGhlIHNhbWUgdmFyaWFibGUgd2UgbmVlZCBmb3Igc3RhdHMgZm9yIHRoZSBiaXRyYXRlIGVzdGltYXRpb24KCSAgYmVjYXVzZSB3ZSdyZSB1cGRhdGluZyBpdC4KCSAgUmVmYWN0b3IgdGhlIGJpdHJhdGUgZXN0aW1hdGlvbiBjb2RlIHNvIHRoYXQgYm90aCBzZW5kZXIgYW5kIHJlY2VpdmVycyB1c2UgdGhlCgkgIHNhbWUgY29kZSBwYXRoLgoKMjAxMC0wMy0wMSAxNjo0MDoyNyAtMDUwMCAgVHJpc3RhbiBNYXR0aGV3cyA8dHJpc3RhbkBzYXQucWMuY2E+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSAgYWRkZWQgYml0cmF0ZSBlc3RpbWF0aW9uIHRvIHJlY2VpdmVyLXNpZGUgc3RhdHMsIGZpeGVzICM2MTEyMTMKCjIwMTAtMDMtMDEgMTY6MDE6MjQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuYzoKCSAgaDI2M3BheTogZml4IHR5cG8gaW4gZGVidWcKCj09PSByZWxlYXNlIDAuMTAuMTkgPT09CgoyMDEwLTAzLTA2IDAwOjQzOjAzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5zaWduYWxzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFubm9kZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhbW1hLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhhbGVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF1aWNrdGltZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9iYWxhbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogZ3N0LXBsdWdpbnMtZ29vZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMC4xMC4xOQoKMjAxMC0wMy0wNiAwMDo0MjowOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDEwLTAzLTAzIDIwOjI5OjMwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICAwLjE4LjQgcHJlLXJlbGVhc2UKCjIwMTAtMDMtMDIgMTg6Mjk6NDEgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogTWFrZSBzdXJlIHdlIGRvbid0IHNlbmQgaW52YWxpZCBuZXdzZWdtZW50cwoJICBGaXhlcyAjNjExNTAxCgoyMDEwLTAzLTAyIDE0OjA5OjE0ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuaDoKCSAgbWF0cm9za2FkZW11eDogTWFyayBzdHJlYW1zIGFzIGJlaW5nIEVPUyBhdCB0aGUgcmlnaHQgdGltZS4KCSAgVGhpcyBhbGxvd3MgdXMgdG8gc3RvcCBzdHJlYW1pbmcgb25seSB3aGVuIGFsbCBzdHJlYW1zIGhhdmUgZ29uZSBwYXN0IHRoZQoJICBzZWdtZW50LnN0b3AgYW5kIG5vdCBiZWZvcmUuCgkgIEZpeGVzICM2MTE1MDEKCjIwMTAtMDItMjYgMTg6MTA6MzIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IEFkdmFuY2Ugc3BhcnNlIHN0cmVhbXMgb25seSBhcyBtdWNoIGFzIHJlcXVpcmVkIHRvIGtlZXAgdGhlIGdhcCBzbWFsbGVyIHRoYW4gNTAwbXMKCSAgQ2hhbmdpbmcgaXQgdG8gdGhlIG5ld2VzdCB0aW1lc3RhbXAgdGhhdCB3YXMgZXZlciBwdXNoZWQgd2lsbAoJICBpbmNyZWFzZSB0aGUgc2VnbWVudCBzdGFydCBpbiA1MDBtcyBqdW1wcywgd2hpY2ggY291bGQgYmUganVzdAoJICBhZnRlciB0aGUgbmV4dCBzcGFyc2Ugc3RyZWFtIGJ1ZmZlci4gRS5nLgoJICBWaWRlbyBhdCAxLjBzLCBzcGFyc2Ugc3RyZWFtIGF0IDAuNXMgd291bGQganVtcCB0aGUKCSAgc3BhcnNlIHN0cmVhbSB0byAxLjBzLiBOb3cgYSBuZXcgc3BhcnNlIHN0cmVhbSBidWZmZXIgY291bGQKCSAgYXBwZWFyIHRoYXQgaGFzIGEgdGltZXN0YW1wIG9mIDAuOXMgYW5kIHRoaXMgd291bGQgYmUKCSAgZHJvcHBlZCBmb3Igbm8gZ29vZCByZWFzb24gYmVjYXVzZSBvZiBiYWQgbHVjay4KCjIwMTAtMDItMjQgMDE6MzY6MDcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBwby9lcy5wbzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICAwLjEwLjE4LjMgcHJlLXJlbGVhc2UKCjIwMTAtMDItMjQgMDI6MDU6NDkgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRlY2luYUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuaDoKCSAgTWFrZSBzdXJlIEZMVVNIX1NUT1AgaXMgc2VudCBzbyBub3QgdG8gbGVhdmUgZG93bnN0cmVhbSBmbHVzaGluZy4KCjIwMTAtMDItMjMgMTc6MjU6NTQgKzAxMDAgIFZvbGtlciBHcmFic2NoIDxidWd6aWxsYS5nbm9tZS5vcmdAdi5ub3RqdXN0aG9zdGluZy5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogVXNlICRQS0dfQ09ORklHIGluc3RlYWQgb2YgcGtnLWNvbmZpZyB0byBmaXggY3Jvc3MgY29tcGlsYXRpb24KCSAgRml4ZXMgYnVnICM2MTA4MzkuCgoyMDEwLTAyLTIzIDE3OjI0OjAzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IFJlc2V0IHNrZXcgZGV0ZWN0aW9uIGFmdGVyIGluc3RhbnRpYXRpbmcgdGhlIGppdHRlcmJ1ZmZlcgoJICAuLi5ub3Qgb25seSB3aGVuIGdvaW5nIHRvIFJFQURZLiBUaGlzIHNldHMgaGlnaF9sZXZlbCBhbmQgZnJpZW5kcyB0bwoJICBhIG1vcmUgdXNlZnVsIHZhbHVlLgoKMjAxMC0wMi0yMyAxNzoxOToxNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBSZXR1cm4gMTAwIGlmIGhpZ2gtbGV2ZWwgaXMgMCBpbnN0ZWFkIG9mIGRpdmlkaW5nIGJ5IHplcm8KCjIwMTAtMDItMjIgMTI6MjQ6MTQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdkZXBheS5jOgoJICBydHBtcDRnZGVwYXk6IGF2b2lkIGRpdmlzaW9uIGJ5IDAKCSAgQXZvaWQgYSBkaXZpc2lvbiBieSAwIHdoZW4gbm8gY29uc3RhbnREdXJhdGlvbiB3YXMgc3BlY2lmaWVkIGFuZCB3aGVuIG91dCB0d28KCSAgdGltZXN0YW1wcyBhcmUgZXF1YWwuCgkgIEZpeGVzICM2MTAyNjUKCjIwMTAtMDItMjIgMTg6MjA6NDYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGR2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBkdmRlcGF5Lmg6CgkgIGR2ZGVwYXk6IGRvbid0IG91dHB1dCBmcmFtZXMgdW50aWwgd2UgaGF2ZSBhIGhlYWRlcgoJICBXYWl0IGZvciB0aGUgY29tcGxldGUgZmlyc3QgNiBoZWFkZXIgRElGIHBhY2tldHMgYmVmb3JlIG91dHB1dHRpbmcgYSBmcmFtZS4KCSAgRGVjb2RlcnMgbmVlZCB0aGlzIGluZm8gdG8gY29ycmVjdGx5IGRlY29kZSB0aGUgZGF0YS4KCSAgRml4ZXMgIzYxMDU1NgoKMjAxMC0wMi0yMiAyMDo1NToyOSArMDEwMCAgRGF2aWQgSG95dCA8ZGhveXRAbGxubC5nb3Y+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgIGpwZWdkZWM6IEZpeCBpbnZhbGlkIG1lbW9yeSBhY2Nlc3MgYnkgZmlyc3QgY2hlY2tpbmcgYW5kIHRoZW4gcmVhZGluZwoJICBGaXhlcyBidWcgIzYxMDQ4My4KCjIwMTAtMDItMTggMDk6MDU6NTAgKzAxMDAgIFBoaWxpcHBlIE5vcm1hbmQgPHBoaWxAYmFzZS1hcnQubmV0PgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IGdzdF9wdWxzZXNpbmtfZ2V0X211dGU6IHNldCByZXN1bHQgZWFybGllci4KCSAgSW4gdGhlIGNhc2VzIHdoZXJlIG5vIGJ1ZmZlciB3YXMgcHJvY2VzcyB5ZXQgb3IgdGhlIGluZGV4IGlzIG5vdAoJICBhdmFpbGFibGUsIGdldF9wdWxzZXNpbmtfZ2V0X211dGUoKSB3b3VsZCB1bmNvbmRpdGlvbmFsbHkgcmV0dXJuCgkgIEZBTFNFLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjEwMzM3CgoyMDEwLTAyLTE5IDEyOjM1OjI5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItcGx1Z2lucy1nb29kLXVuaW5zdGFsbGVkLnBjLmluOgoJICBwa2djb25maWc6IGZpeCBnc3RyZWFtZXItcGx1Z2lucy1nb29kIHVuaW5zdGFsbGVkIC5wYyBmaWxlCgkgIEZpeCBnc3QtcGx1Z2lucy1iYXNlIHJlZmVyZW5jZS9yZXF1aXJlbWVudC4gVGhpcyBjYXVzZWQgc3B1cmlvdXMKCSAgcHJvYmxlbXMgd2l0aCB1bmluc3RhbGxlZCAtdWdseS8tYmFkIG5vdCBmaW5kaW5nIC1nb29kIHBsdWdpbnMgaW4KCSAgdGhlaXIgdW5pdCB0ZXN0cyAod2hlbiBkaXN0Y2hlY2tpbmcpLgoKMjAxMC0wMi0xOSAwMTowMzozMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHBvL2x2LnBvOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIDAuMTAuMTguMiBwcmUtcmVsZWFzZQoKMjAxMC0wMi0xOSAwMDo1NDoxMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9leGFtcGxlcy9zaGFwZXdpcGUvLmdpdGlnbm9yZToKCSAgTWFrZSBnaXQgaWdub3JlIHNoYXBld2lwZSBleGFtcGxlcyBhbmQgdGVzdHMKCjIwMTAtMDItMTkgMDA6NDY6NDAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOgoJICBmbHZkZW11eDogbWlub3IgbWljcm8tb3B0aW1pc2F0aW9uCgkgIFdlIGtub3cgdGhlc2UgdmFsdWVzIGRvbid0IGNoYW5nZSBkdXJpbmcgdGhlIGxvb3AsIGJ1dCB0aGUgY29tcGlsZXIKCSAgZG9lc24ndCBhbmQgaGFzIHRvIHJlLWNoZWNrIHRoZW0gZm9yIGV2ZXJ5IGl0ZXJhdGlvbi4KCjIwMTAtMDItMTkgMDA6Mzk6NTAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOgoJICBmbHZkZW11eDogcmVtb3ZlIHN0YXRpYyBrZXl3b3JkIGZyb20gdmFyaWFibGVzIHRoYXQgc2hvdWxkbid0IGJlIHN0YXRpYwoJICBNdWx0aXBsZSBmbHZwYXJzZS9mbHZkZW11eCBpbnN0YW5jZXMgc2hvdWxkIGJlIGFibGUgdG8gb3BlcmF0ZSB3aXRob3V0CgkgIHRyYW1wbGluZyBvdmVyIGVhY2ggb3RoZXIgYnkgYWNjaWRlbnRhbGx5IHJlLXVzaW5nIHRoZSBzYW1lIChzdGF0aWMpCgkgIHZhcmlhYmxlcy4gKFNwb3R0ZWQgYnkgTWFyayBOYXV3ZWxhZXJ0cykKCjIwMTAtMDItMTYgMDI6MDc6MDcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGRvY3M6IGFkZCBTaW5jZTogbWFya2VycyBmb3IgbmV3IGppdHRlcmJ1ZmZlciBwcm9wZXJ0aWVzCgoyMDEwLTAyLTE4IDE4OjIwOjI0ICswMTAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEZpeCBvZmYtYnktb25lIGxvZ2ljIGVycm9yIGluIGZyYW1lIHJhdGUgY2FwIHJlZ3Jlc3Npb24gY29tbWl0CgoyMDEwLTAyLTE3IDE2OjI3OjMzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogVXNlIHRoZSBjb3JyZWN0IGR1cmF0aW9uIHdoZW4gY29tcGFyaW5nIHNlZ21lbnRzCgkgIERvIG5vdCBjb25mdXNlIFF0RGVtdXhTZWdtZW50cyB3aXRoIEdzdFNlZ21lbnRzIHdoZW4KCSAgY29tcGFyaW5nIHRoZSB0b3RhbCBmaWxlIGR1cmF0aW9uIHdpdGggdGhlIHNlZ21lbnQgZHVyYXRpb24KCSAgRml4ZXMgIzYxMDI5NgoKMjAxMC0wMi0xNyAxODowNjoyOSArMDEwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBhZGQgZHVyYXRpb25zIG1vZHVsbyAxPDwzMgoJICBGb3IgY2FsY3VsYXRpbmcgdGhlIGR1cmF0aW9ucyBvZiBlYWNoIHNhbXBsZSwgd2UgYXJlIHN1cHBvc2VkIHRvIGFkZCBlYWNoCgkgIGR1cmF0aW9uIG1vZHVsbyAxPDwzMiBzbyBtYWtlIHRoZSBlbGFwc2VkIHRpbWUgY291bnRlciBhIHVpbnQzMi4KCSAgRml4ZXMgIzYxMDI4MAoKMjAxMC0wMi0xNiAyMTowNToyNCArMDEwMCAgQW5kZXJzIFNrYXJncmVuIDxhbmRlcnMuc2thcmdyZW4gYXQgYXhpcy5jb20+CgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4LmM6CgkgIG11bHRpcGFydGRlbXV4OiBpbXByb3ZlIGhlYWRlciBtaW1lLXR5cGUgcGFyc2luZwoJICBNYWtlIHRoZSBoYW5kaW5nIG9mIHRoZSBtaW1lIHR5cGUgd2l0aGluIHRoZSAiYm91bmRhcnkiIGEgYml0IGxlc3MgbmFpdmUuCgkgIFRoZSBzdGFuZGFyZCBmb3IgTUlNRSBhbGxvd3MgcGFyYW1ldGVycyB0byBmb2xsb3cgdGhlICJ0eXBlIiAvICJzdWJ0eXBlIgoJICBjbGF1c2Ugc2VwYXJhdGVkIGZyb20gdGhlIG1pbWUgdHlwZSBieSAnOycuCgkgIE1vZGlmaWVzIHRoZSBtdWx0aXBhcnRkZW11eGVyJ3MgaGVhZGVyIHBhcnNpbmcgc28gaXQgZG9lc250IGFzc3VtZQoJICB0aGUgd2hvbGUgbGluZSBhZnRlciAiY29udGVudC10eXBlOiIgaXMgdGhlIG1pbWUgdHlwZSBhbmQgdGh1cyBtYWtlcyBpdCBhIGJpdAoJICBtb3JlIHJlc2lsaWVudCB0byBmaW5kaW5nIGFic3VyZCBtaW1lIHR5cGVzIGluIHRoZSBjYXNlIHdoZXJlIHBhcmFtZXRlcnMgYXJlCgkgIGFkZGVkLgoJICBGaXhlcyAjNjA0NzExCgoyMDEwLTAyLTE2IDE5OjUzOjA5ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBhdm9pZCBzdG9wcGluZyBOVUxMIHRhc2tzCgkgIENoZWNrIHRoZSB0YXNrIGZvciBOVUxMLCBpdCBjb3VsZCBiZSBwYXVzZWQgYW5kIHNldCB0byBOVUxMIGJlZm9yZS4KCjIwMTAtMDItMTYgMTY6MjI6MjggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBmaXggQUxBQyBjb2RlYy1kYXRhIGhhbmRsaW5nCgkgIEFMQUMgY29kZWMtZGF0YSBhcHBhcmVudGx5IGNvbWVzIGluIChhdCBsZWFzdCkgdHdvIGZsYXZvdXJzIChtb3YsIG1wNCksCgkgIHNvIHVzZSBhdG9tIGJhc2VkIHBhcnNpbmcgdG8gcmV0cmlldmUgcmVxdWlyZWQgZGF0YSwgcmF0aGVyIHRoYW4KCSAgYWltaW5nIGZvciBhIHNwZWNpZmljIG9mZnNldC4KCSAgU2VlIGFsc28gIzU4MDczMS4KCjIwMTAtMDItMTYgMTU6NTA6MjMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBmaXggZGVidWcgbWVzc2FnZQoKMjAxMC0wMi0xMSAxOTozOTowNCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfdHlwZXMuaDoKCSAgcXRkZW11eDogaGFuZGxlIHNpZ25lZCB2YWx1ZXMgaW4gM0dQUCBsb2NhdGlvbiB0YWcKCjIwMTAtMDItMDggMjE6MzU6NTMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBmaXggdHlwbyBpbiBkZWJ1ZyBtZXNzYWdlCgoyMDEwLTAyLTE2IDE1OjAwOjEzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IHJlc2V0IHNvbWUgbW9yZSBzdHJlYW0gc3RhdGUgYWZ0ZXIgc2VlawoJICBJbiBwYXJ0aWN1bGFyLCBmaXhlcyBub24tZmx1c2hpbmcgc2Vlay4KCjIwMTAtMDItMTYgMTQ6NDQ6MTEgKzAxMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogRml4IGZyYW1lIHJhdGUgY2FwIHJlZ3Jlc3Npb24KCSAgTG9vayBmb3IgYSBub24temVybyBtaW5fZHVyYXRpb24gZHVyaW5nIGluaXRpYWxpc2F0aW9uIHRvIGF2b2lkCgkgIGluY29ycmVjdCBmcmFtZSByYXRlIGNhcHMuCgoyMDEwLTAyLTE2IDEwOjEzOjE3ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyOiBsb2cgbW9yZSBkZXRhaWxzIGluIGJ1ZmZlciBwb29sIGZpbmFsaXplCgkgIEhlbHBzIHRvIGFsaWduIHdpdGggdGhlIGxvZ2dpbiBmcm9tIGxpYnY0bC4KCjIwMTAtMDItMTYgMTA6MTE6NDAgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMjogaW5pdCBkYXRhc3RydWN0dXJlcyBhZnRlciBwcmUtY29uZGl0aW9ucyBjaGVja3MKCjIwMTAtMDItMTYgMTA6MTA6NDUgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSAganBlZ2VuYzogYWRkIGEgZml4bWUgZm9yIGhhbmRsaW5nIG90aGVyIFlVViB2YXJpYW50cwoKMjAxMC0wMi0xNiAwMTo0MDoxOSArMDAwMCAgQnJpYW4gQ2FtZXJvbiA8YnJpYW4uY2FtZXJvbkBzdW4uY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thOiBmaXggR1NUX0VMRU1FTlRfRVJST1IgdXNhZ2UKCSAgRml4ZXMgIzYxMDA1My4KCjIwMTAtMDItMTYgMDA6NTA6MTUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGZpeCB1cCBHU1RfQ1hYRkxBR1MgcHJvcGVybHkKCSAgV2UgZG9uJ3Qgd2FudCBDIHNwZWNpZmljIGZsYWdzIGluIEdTVF9DWFhGTEFHUywgc28gYmFzZSBpdCBvbiB0aGUKCSAgR1NUX0NGTEFHUyB0aGF0IG9ubHkgY29udGFpbnMgdGhlIHBrZy1jb25maWcgQ0ZMQUdTIGJ1dCBub25lIG9mCgkgIHRoZSBHU1RfT1BUSU9OX0NGTEFHUy4gQWxzbywgd2Ugb25seSBuZWVkIHRoZSBsb2NhbCBpbmNsdWRlcyBvbmNlLgoJICBGaXggdHlwbyBhcyB3ZWxsIChHU1RfRkxBR1MgLT4gR1NUX0NGTEFHUykuCgoyMDEwLTAyLTE1IDIzOjEzOjQ2ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogYmFzZSBHU1RfQ1hYRkxBR1Mgb24gLS1jZmxhZ3MgZnJvbSBwa2ctY29uZmlnCgkgIHBrZy1jb25maWcgc2V0cyBHU1RfQ0ZMQUdTIGFuZCBHU1RfTElCUy4gV2UgbmVlZCB0byB1c2UgQ0ZMQUdTIGFzIGEgc3RhcnRpbmcKCSAgcG9pbnQgZm9yIGZvciBib3RoIEMgYW5kIENYWCBzZXR0aW5ncy4KCjIwMTAtMDEtMjAgMTg6NTI6NTEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICBydHBiaW46IHJlbW92ZSB1c2Ugb2YgbnRwX25zX2Jhc2UKCjIwMTAtMDEtMjAgMTg6MjI6MjAgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5oOgoJICBydHBiaW46IHJlbW92ZSBtb3JlIG50cG5zdGltZSBhbmQgY2xlYW51cHMKCSAgUmVtb3ZlIHNvbWUgY29kZSB3aGVyZSB3ZSBwYXNzIG50cG5zdGltZSBhcm91bmQsIHdlIGNhbiBkbyBtb3N0IHRoaW5ncyB3aXRoIHRoZQoJICBydW5uaW5nX3RpbWUganVzdCBmaW5lLgoJICBSZW5hbWUgYSB2YXJpYWJsZSBpbiB0aGUgQXJyaXZhbFN0YXRzIHN0cnVjdCBzbyB0aGF0IGl0J3MgY2xlYXIgdGhhdCB0aGlzIGlzIHRoZQoJICBjdXJyZW50IHN5c3RlbSB0aW1lLgoKMjAxMC0wMS0yMCAxODoxOTozNCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJICBydHBzb3VyY2U6IHVzZSBydW5uaW5nX3RpbWUgZm9yIGppdHRlcgoJICBVc2UgdGhlIHJ1bm5pbmdfdGltZSB0byBjYWxjdWxhdGUgdGhlIGppdHRlciBpbnN0ZWFkIG9mIHRoZSBudHAgdGltZS4gUGFydCBvZgoJICB0aGUgcGxhbiB0byBnZXQgcmlkIG9mIG50cG5zYmFzZS4KCjIwMTAtMDEtMjAgMTc6MDQ6MDMgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmg6CgkgIHJ0cGJpbjogY2hhbmdlIGhvdyBOVFAgdGltZSBpcyBjYWxjdWxhdGVkIGluIFJUQ1AKCSAgRG9uJ3QgY2FsY3VsYXRlIHRoZSBOVFAgdGltZSBiYXNlZCBvbiB0aGUgcnVubmluZ190aW1lIG9mIHRoZSBwaXBlbGluZSBidXQgZnJvbQoJICB0aGUgc3lzdGVtY2xvY2suIFRoaXMgYWxsb3dzIHVzIHRvIGdlbmVyYXRlIG1vcmUgYWNjdXJhdGUgTlRQIHRpbWVzdGFtcHMgaW4gY2FzZQoJICB0aGUgc3lzdGVtY2xvY2sgaXMgc3luY2hyb25pemVkIHdpdGggTlRQIG9yIHNpbWlsYXIuCgoyMDEwLTAyLTE1IDEyOjEyOjM2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSAgdjRsMjogcHJpbnRmIGZvcm1hdCBzdHJpbmcgZml4CgkgIFRoZSBjb21waWxlciB3YW50cyBhIGNhc3QgaGVyZSBldmVuIHRob3VnaCB0aGUgdHlwZSBpcyBhbHJlYWR5CgkgIHR5cGVkZWZlZCBhcyA2NC1iaXQgaW50ZWdlciAocHJlc3VtYWJseSBiZWNhdXNlIGdsaWIgaGFzIHR5cGVkZWZlZAoJICBndWludDY0IHRvIHVuc2lnbmVkIGxvbmcgaGVyZSkuCgoyMDEwLTAyLTE1IDEwOjMzOjAyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYTogZml4IHByaW50ZiBmb3JtYXQgc3RyaW5nCgoyMDEwLTAyLTE1IDAwOjUwOjEwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9yYXcxMzk0L2dzdDEzOTRjbG9jay5oOgoJKiBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS5oOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuaDoKCSAgcmF3MTM5NCwgbWF0cm9za2EsIHJ0cG1hbmFnZXI6IHJlbW92ZSBwYWRkaW5nIGZyb20gc3RydWN0dXJlcwoJICBOb25lIG9mIHRoZXNlIGVsZW1lbnQgYW5kIGNsYXNzIHN0cnVjdHVyZXMgYXJlIGluIHB1YmxpYyBoZWFkZXJzLAoJICBzbyBkb24ndCBuZWVkIHBhZGRpbmcuCgoyMDEwLTAyLTE1IDAwOjQ3OjExICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkgIHBvOiB1cGRhdGUgZm9yIG5ldyB0cmFuc2xhdG9yIGNvbW1lbnQKCjIwMTAtMDItMTUgMDA6NDU6NTEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IGFkZCBjb21tZW50IGZvciB0cmFuc2xhdG9ycyBmb3IgJ3ggYnkgeScgbWVzc2FnZQoJICBGaXhlcyAjNjA5NzI0LgoKMjAxMC0wMi0xNSAwMToyODo0NCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY2Fpcm8vZ3N0Y2Fpcm9yZW5kZXIuYzoKCSAgY2Fpcm9yZW5kZXI6IEZpeCBsZWFraW5nIG9mIHBhZCB0ZW1wbGF0ZXMKCjIwMTAtMDItMTUgMDA6NTA6MjcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc2hhcGV3aXBlLmM6CgkgIHNoYXBld2lwZTogRml4IHVuaXQgdGVzdCBmb3IgbGF0ZXN0IGNoYW5nZXMKCSAgTm93IHRoZSBhbHBoYSBpcyBtdWx0aXBsaWVkIHdpdGggdGhlIGFscmVhZHkgZXhpc3RpbmcgYWxwaGEKCSAgdmFsdWUgaW5zdGVhZCBvZiBzaW1wbHkgaWdub3JpbmcgaXQgYW5kIHRoZSBsdW1hL2Nocm9tYSB2YWx1ZXMKCSAgYXJlIGtlcHQsIGV2ZW4gaWYgdGhlIG91dHB1dCBpcyAxMDAlIHRyYW5zcGFyZW50LgoKMjAxMC0wMi0xNSAwMDo0NzowOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zaGFwZXdpcGUuYzoKCSAgc2hhcGV3aXBlOiBJbXByb3ZlIHVuaXQgdGVzdCBvdXRwdXQgb24gZXJyb3JzCgoyMDEwLTAyLTE0IDIzOjE3OjIwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gOTZkYzc5MyB0byA0NGVjY2U3CgoyMDEwLTAyLTEzIDIzOjI4OjA2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBidW1wIC1iYXNlIHJlcXVpcmVtZW50IHRvIGdpdAoJICBGb3IgR1NUX1JJRkZfVEFHX0pVTlEuCgoyMDEwLTAyLTEyIDE2OjExOjMwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDIuYzoKCSAgdjRsMnNpbms6IGNoYW5nZSByYW5rIHRvIE5PTkUgc28gaXQgaXMgbmV2ZXIgYXV0b3BsdWdnZWQKCjIwMTAtMDItMTMgMTg6MTg6NDIgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6CgkgIGZsdmRlbXV4OiBBdWRpbyB0YWdzIHdpdGhvdXQgYW55IGNvbnRlbnQgYXJlIHZhbGlkLgoJICBXZSBzaWxlbnRseSBpZ25vcmUgdGhlbSBpbnN0ZWFkIG9mIGVycm9yaW5nIG91dC4KCjIwMTAtMDItMTMgMTg6MDc6NTAgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6CgkgIGZsdmRlbXV4OiBGaXggR1NUX0NMT0NLX0RJRkYgdXNhZ2UuCgkgIEl0IHdhcyBwcmV2aW91c2x5IGNoZWNraW5nIGZvciBESUZGKGEsIGIgPiA2ICogR1NUX1NFQ09ORCkgaW5zdGVhZCBvZgoJICB0aGUgcHJvcGVyIERJRkYoYSxiKSA+IDYgKiBHU1RfU0VDT05ECgoyMDEwLTAyLTEzIDE2OjI3OjA3ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHZkZW11eDogRG9uJ3QgZm9yZ2V0IHRvIHJlc2V0IHRoZSBpbmRleGVkIHZhcmlhYmxlIHdoZW4gY2xlYW5pbmcgdXAKCjIwMTAtMDItMTMgMTE6MDE6NTMgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6CgkgIGZsdmRlbXV4OiBTcGVlZHVwIEdzdEluZGV4IHVzYWdlCgkgIFVzZWQgdGhlIF9hZGRfYXNzb2NpYXRpb252IHZhcmlhbnQgb2YgR3N0SW5kZXggc2luY2Ugd2Uga25vdyBob3cgbWFueQoJICBhc3NvY2lhdGlvbnMgd2UncmUgYWRkaW5nLiBUcmltcyB1cCB0byA1MCUgZnJvbSBpbmRleCBnZW5lcmF0aW9uIHRpbWUuCgkgIE5vdGUgOiBJdCB3b3VsZCBiZSBncmVhdCBpZiB0aGUgaW5kZXggY291bGQgYmUgZ2VuZXJhdGVkIG9uIHRoZSBmbHkgb3IKCSAgb24gcmVxdWVzdCBhcyBvcHBvc2VkIHRvIGJlaW5nIGZ1bGx5IGNyZWF0ZWQgYXQgc3RhcnR1cC4KCjIwMTAtMDItMTIgMTk6MzI6MjcgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBkb24ndCByZXN5bmMgdG8gaW52YWxpZCB0aW1lc3RhbXBzCgkgIElmIHdlIGRldGVjdCBiYWNrd2FyZCB0aW1lc3RhbXBzIG9uIHRoZSBzZXJ2ZXIsIGRvbid0IHRyeSB0byByZXN5bmMgd2hlbiB3ZQoJICBkb24ndCBoYXZlIGFuIGlucHV0IHRpbWVzdGFtcCAoc3VjaCBhcyB3aGVuIHVzaW5nIFJUU1Agb3ZlciBUQ1ApIGluc3RlYWQsIGRvCgkgIG5vdGhpbmcgYnV0IGFzc3VtZSB0aGUgdGltZXN0YW1wIHdhcyBvaywgaXQgd2lsbCBjb3JyZWN0IGl0c2VsZiB3aGVuIHRpbWUgZ29lcwoJICBmb3J3YXJkcy4KCjIwMTAtMDItMTIgMTc6MjE6NDMgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiBmaXggdHlwbwoKMjAxMC0wMi0xMiAxNjo0NzoyOSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IHN0YXJ0IG91dCBhY3RpdmUgYW5kIG5vdCBidWZmZXJpbmcKCSAgVGhlcmUgaXMgbm8gbmVlZCB0byBzZXQgdGhlIGxhdGVuY3kgaW4gdGhlIGppdHRlYnVmZmVyIGluIF9pbml0LCB3ZSB3aWxsIHNldAoJICB0aGF0IGxhdGVyIHdoZW4gZ29pbmcgdG8gUEFVU0VELgoJICBTZXQgdGhlIGppdHRlcmJ1ZmZlciBhY3RpdmUgYW5kIG5vdCBidWZmZXJpbmcgd2hlbiBzdGFydGluZy4KCjIwMTAtMDEtMjcgMTc6NTc6NTUgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuaDoKCSAgcnRwYmluOiBtb3JlIGJ1ZmZlcmluZyB3b3JrCgkgIFdoZW4gZGVhY3RpdmF0aW5nIGppdHRlcmJ1ZmZlcnMgd2hlbiB0aGUgYnVmZmVyaW5nIHN0YXJ0cywga2VlcCB0aGUgY3VycmVudAoJICBwZXJjZW50IG9mIHRoZSBqaXR0ZXJidWZmZXIgYW5kIGFsc28gc2V0IHRoZSBqaXR0ZXJidWZmZXIgaW4gdGhlIGJ1ZmZlcmluZyBzdGF0ZQoJICBzbyB0aGF0IHdlIGtub3cgd2hlbiBpdCdzIGZpbGxlZCBhZ2Fpbi4KCSAgQWRkIHByb3BlcnR5IHRvIGdldCB0aGUgYnVmZmVyaW5nIHBlcmNlbnRhZ2Ugb2YgdGhlIGppdHRlcmJ1ZmZlci4KCjIwMDktMTAtMTQgMTY6Mjk6MzUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBhZGp1c3QgbGF0ZW5jeSBpbiBidWZmZXIgbW9kZQoJICBXaGVuIHdlIGFyZSBpbiBidWZmZXIgbW9kZSwgYWRqdXN0IHRoZSBidWZmZXJpbmcgbG93L2hpZ2ggdGhyZXNob2xkcyBiYXNlZCBvbgoJICB0aGUgdG90YWwgY29uZmlndXJlZCBsYXRlbmN5LiBJZiB3ZSBkb24ndCBhbmQgdGhlcmUgaXMgYSBodWdlIHF1ZXVlIG9yIGVsZW1lbnQKCSAgd2l0aCBhIGJpZyBsYXRlbmN5IGRvd25zdHJlYW0gd2UgbWlnaHQgZHJhaW4gdGhlIGNvbXBsZXRlIHF1ZXVlIGltbWVkaWF0ZWx5IGFuZAoJICBzdGFydCBidWZmZXJpbmcgYWdhaW4uCgoyMDA5LTEwLTEyIDExOjU0OjA3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogYWRkIHRzLW9mZnNldCB0byB0aW1lc3RhbXAKCSAgQWRkIHRoZSB0cy1vZmZzZXQgdG8gdGhlIGJ1ZmZlciB0aW1lc3RhbXAgdG8gZ2V0IHRoZSBmaW5hbCBvdXRwdXQgdGltZXN0YW1wIG9mCgkgIHRoZSBidWZmZXIuCgoyMDA5LTEwLTA4IDE5OjIzOjUzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLW1hcnNoYWwubGlzdDoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuaDoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGJpbjogZG8gbW9yZSBhY2N1cmF0ZSBidWZmZXIgb2Zmc2V0cwoJICBSZXR1cm4gdGhlIG5leHQgdGltZXN0YW1wIGluIHRoZSBqaXR0ZXJidWZmZXIuCgkgIFVzZSB0aGUgbWluLXRpbWVzdGFtcCBvZiB0aGUgaml0dGVyYnVmZmVycyB0byBjYWxjdWxhdGUgYW4gb2Zmc2V0IHNvIHRoYXQgdGhlCgkgIG5leHQgdGltZXN0YW1wIGlzIHB1c2hlZCB3aXRoIGEgdGltZXN0YW1wIGVxdWFsIHRvIHJ1bm5pbmdfdGltZS4KCSAgU3RhcnQgcHJvZHVjaW5nIHRpbWVzdGFtcHMgZnJvbSAwIGluIHRoZSBidWZmZXJpbmcgY2FzZSB0b28uCgoyMDA5LTEwLTA4IDE4OjQyOjExICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogb25seSBzdGFydCBidWZmZXJpbmcgd2hlbiA8IDEwMCUKCSAgT25seSBzdGFydCBidWZmZXJpbmcgd2hlbiB0aGUgcGVyY2VudGFnZSBtZXNzYWdlIGlzIDwgMTAwICUuCgoyMDA5LTEwLTA2IDEzOjM0OjM0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJICBydHBiaW46IGtlZXAgdHJhY2sgb2YgZWxhcHNlZCBwYXVzZSB0aW1lCgkgIEtlZXAgdHJhY2sgb2YgdGhlIHRpbWUgd2Ugc3BlbmQgcGF1c2luZyB0aGUgaml0dGVyYnVmZmVycyB3aGVuIHRoZXkgd2VyZQoJICBidWZmZXJpbmcgYW5kIGRpc3RyaWJ1dGUgdGhpcyBlbGFwc2VkIHRpbWUgdG8gdGhlIGppdHRlcmJ1ZmZlcnMuCgkgIEFsc28ga2VlcCB0aGUgbGF0ZW5jeSBpbiBuYW5vc2Vjb25kIHByZWNpc2lvbi4KCjIwMDktMTAtMDYgMTM6MzM6MTUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmg6CgkgIGppdHRlcmJ1ZmZlcjoga2VlcCB0cmFjayBvZiBvZmZzZXQKCSAgS2VlcCB0cmFjayBvZiBhbiBvdXRnb2luZyBvZmZzZXQgdGhhdCB3ZSBhZGQgdG8gZWFjaCBvdXRnb2luZyBidWZmZXIgdG8KCSAgY29tcGVuc2F0ZSBmb3IgUEFVU0Ugd2hlbiBidWZmZXJpbmcuCgkgIEFkanVzdCB0aGUgb2Zmc2V0IHdoZW4gYWN0aXZhdGluZy4KCjIwMDktMTAtMDYgMTM6MzA6NTQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiByZXBvcnQgbGV2ZWwgdXNpbmcgaGlnaCB3YXRlcm1hcmsKCjIwMDktMTAtMDUgMjE6MzE6NTkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0cGJpbjogcGFzcyBydW5uaW5nX3RpbWUgdG8gaml0dGVyYnVmZmVyIHBhdXNlCgkgIFBhc3MgdGhlIGN1cnJlbnQgcnVubmluZyB0aW1lIHRvIHRoZSBqaXR0ZXJidWZmZXIgd2hlbiBwYXVzaW5nIG9yIHJlc3VtaW5nIHNvCgkgIHRoYXQgaXQgY2FsY3VsYXRlIHRoZSByaWdodCBvZmZzZXRzLgoJICBTbWFsbCBjbGVhbnVwcyBhbmQgY29tbWVudHMuCgkgIFNldCB0aGUgZGVmYXVsdCBydHNwc3JjIGxhdGVuY3kgdG8gMiBzZWNvbmRzLgoKMjAwOS0xMC0wNSAyMDowOTozMCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwYmluOiBhZGQgc29tZSBjb21tZW50cwoKMjAwOS0xMC0wNSAxOTo0NTozNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi1tYXJzaGFsLmxpc3Q6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaDoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5oOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmg6CgkgIHJ0cGJpbjogbW9yZSBidWZmZXJpbmcgdXBkYXRlcwoJICBBZGQgc2lnbmFsIHRvIHBhdXNlIHRoZSBqaXR0ZXJidWZmZXIuIFRoaXMgd2lsbCBiZSBlbWl0dGVkIGZyb20gZ3N0cnRwYmluIHdoZW4KCSAgb25lIG9mIHRoZSBqaXR0ZXJidWZmZXJzIGlzIGJ1ZmZlcmluZy4KCSAgTWFrZSBydHBiaW4gY29sbGVjdCB0aGUgYnVmZmVyaW5nIG1lc3NhZ2VzIGFuZCBwb3N0IGEgbmV3IGJ1ZmZlcmluZyBtZXNzYWdlIHdpdGgKCSAgdGhlIG1pbiB2YWx1ZS4KCSAgUmVtb3ZlIHRoZSBzdGF0cyBjYWxsYmFjayBmcm9tIGppdHRlcmJ1ZmZlciBidXQgcGFzcyBhIHBlcmNlbnQgaW50ZWdlciB0bwoJICBmdW5jdGlvbnMgdGhhdCBhZmZlY3QgdGhlIGJ1ZmZlcmluZyBzdGF0ZSBvZiB0aGUgaml0dGVyYnVmZmVyLiBUaGlzIGFsbG93cyB1cwoJICB0aGVuIHRvIHBvc3QgYnVmZmVyaW5nIG1lc3NhZ2VzIGZyb20gb3V0c2lkZSBvZiB0aGUgaml0dGVyYnVmZmVyIGxvY2suCgoyMDA5LTEwLTA1IDEzOjMyOjE3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5oOgoJICBydHBiaW46IHByb3BhZ2F0ZSBidWZmZXItbW9kZSBwcm9wZXJ0eQoJICBQcm9wYWdhdGUgYnVmZmVyLW1vZGUgcHJvcGVydHkgdG8gdGhlIGppdHRlcmJ1ZmZlcnMuCgkgIEludGVyY2VwdCBCVUZGRVJJTkcgbWVzc2FnZXMgaW4gcnRwYmluCgoyMDA5LTEwLTAxIDE3OjE0OjA5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuaDoKCSAgaml0dGVyYnVmZmVyOiBkbyBtb3JlIGJ1ZmZlcmluZyBpbXBsZW1lbnRhdGlvbgoJICBBZGQgY2FsbGJhY2sgZm9yIGJ1ZmZlcmluZyBzdGF0cy4KCSAgQ29uZmlndXJlIHRoZSBsYXRlbmN5IGluIHRoZSBqaXR0ZXJidWZmZXIgaW5zdGVhZCBvZiBwYXNzaW5nIGl0IHdpdGggX2luc2VydC4KCSAgQ2FsY3VsYXRlIGJ1ZmZlcmluZyBsZXZlbHMgd2hlbiBwdXNoaW5nIGFuZCBwb3BwaW5nCgkgIFBvc3QgYnVmZmVyaW5nIG1lc3NhZ2VzLgoKMjAwOS0xMC0wMSAxMjo0NjoyMSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmg6CgkgIGppdHRlcmJ1ZmZlcjogZmxlc2ggb3V0IGJ1ZmZlcmluZyBtb2RlIHNvbWUgbW9yZQoJICBBZGQgYSBidWZmZXJpbmcgc3RhdGUgdG8gdGhlIGppdHRlcmJ1ZmZlciBhbmQgd2FpdCB1bnRpbCBidWZmZXJpbmcgZW5kcyBiZWZvcmUKCSAgcHVzaGluZyBvdXQgcGFja2V0cy4KCjIwMDktMTAtMDEgMTI6MDk6NTggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogaG9vayB1cCB0aGUgbW9kZSBwcm9wZXJ0eQoJICBFeHBvc2UgYSBtb2RlIHByb3BlcnR5IG9uIHRoZSBqaXR0ZXJidWZmZXIuCgkgIEZpeCB0aGUgY2FzZSB3aGVyZSB0aW1lc3RhbXBzIGFyZSAtMSBpbiB0aGUgY2hlY2sgZm9yIG91dGdvaW5nIHRpbWVzdGFtcHMuCgoyMDA5LTEwLTAxIDExOjIwOjA4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5oOgoJICBqaXR0ZXJidWZmZXI6IGFkZCBidWZmZXJpbmcgbW9kZSBvcHRpb25zCgkgIEFkZCBnZXR0ZXJzIGFuZCBzZXR0ZXJzIGZvciBkaWZmZXJlbnQgYnVmZmVyaW5nIG1vZGVzIHRoYXQgdGhlIGppdHRlcmJ1ZmZlciB3aWxsCgkgIHN1cHBvcnQuIERlZmF1bHQgdG8gdGhlIGN1cnJlbnQgc2xhdmUgbW9kZS4KCjIwMTAtMDItMTIgMTU6NTQ6MzcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMi5jOgoJICB2NGxzaW5rOiBsb3dlciByYW5rIHRvIE1BUkdJTkFMCgoyMDEwLTAyLTEyIDE2OjA2OjQ1ICswMTAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguaDoKCSogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOgoJICBmbHZkZW11eDogT2J0YWluIHRoZSBpbmRleCBmcm9tIHRoZSBlbmQgb2YgYW4gZmx2IGZpbGUgaW4gcHVzaCBtb2RlCgkgIEFsbG93cyBmb3IgYmV0dGVyIHN1cHBvcnQgb2Ygc2Vla2luZyBpbiBmbHYgZmlsZXMgd2hlbiBpbiBwdXNoIG1vZGUKCjIwMTAtMDEtMjEgMTE6NTU6MTUgKzAxMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5oOgoJICBhdmlkZW11eDogRHJvcCB2aWRlbyBmcmFtZXMgdXAgdG8gdGhlIGRlc2lyZWQga2V5ZnJhbWUgYWZ0ZXIgYSBzZWVrCgkgIFRoZSBhdWRpbyBwYWNrZXRzIGluIEFWSSBhcmUgZ2VuZXJhbGx5IG11eGVkIH4wLjVzIGJlZm9yZSB0aGUKCSAgY29ycmVzcG9uZGluZyB2aWRlbyBwYWNrZXQuIFRoaXMgY2hhbmdlcyBjYXVzZXMgZG93bnN0cmVhbSB0byBvbmx5CgkgIHJlY2VpdmUgcGFja2V0cyB3aXRoIHJvdWdobHkgY29ycmVzcG9uZGluZyB0aW1lc3RhbXBzLgoKMjAxMC0wMS0xOSAxODozNTo0OSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IG1vcmUgRElTQ09OVCBoYW5kbGluZwoJICBBZGQgc29tZSBkZWJ1ZyBpbiB0aGUgRElTQ09OVCBoYW5kbGluZyBjb2RlLgoJICBXaGVuIHdlIHJlY2VpdmUgYSBESVNDT05UIGluIHB1c2ggbW9kZSwgbWFyayBhbGwgc3RyZWFtcyBhcyBESVNDT05ULgoKMjAxMC0wMS0xOSAxMDo1MTowOCArMDEwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogRml4IF9oYW5kbGVfc2Vla19wdXNoICgpIGFuZCBuZXcgc2VnZW1lbnQgYmVoYXZpb3VyCgoyMDEwLTAxLTE4IDE3OjEzOjA2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogY2xlYW51cHMKCSAgTWFrZSBzdXJlIHdlIHJlc2V0IHRoZSBkZW11eGVyIGNvcnJlY3RseSB3cnQgcGFyc2luZyB0aGUgaW5kZXguCgkgIERvbid0IGxlYWsgcGVuZGluZyBzZWVrIGV2ZW50cy4KCSAgUmVuYW1lIHNvbWUgbWV0aG9kcyB0byByZWZsZWN0IHdoYXQgdGhleSBkbyBhbmQgdG8gYXZvaWQgY29uZnVzaW9uIHdpdGggc2ltaWxhcgoJICBtZXRob2QgbmFtZXMuCgkgIFRyeSB0byBtYWtlIHRoZSBzZWVraW5nIHRocmVhZHNhZmUgYnkgcHJvdGVjdGluZyB0aGUgc2V0dXAgY29kZSB3aXRoIGEgbG9jay4KCSAgTWFrZSBzdXJlIHdlIHBvc3QgZXJyb3JzIHdoZW4gYSBzZWVrIGZhaWxzLgoKMjAxMC0wMS0xOCAxMTo0NTozOCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5oOgoJICBhdmlkZW11eDogcmVuYW1lIHNvbWUgdmFyaWFibGVzCgkgIHNlZWtfZXZlbnQgLT4gc2VnX2V2ZW50CgkgIGV2ZW50X3NlZWsgLT4gc2Vla19ldmVudAoKMjAxMC0wMS0xNSAxODowMDo0NiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IHRha2UgZmFsbGJhY2sgZHVyYXRpb24gZnJvbSBhdmloCgkgIFdoZW4gd2UgaGF2ZSBub3QgcGFyc2VkIGFueSBpbmRleGVzIHlldCwgd2UgZG9uJ3Qga25vdyB0aGUgbGVuZ3RoIG9mIHRoZSBzdHJlYW1zCgkgIGFuZCB3ZSBtdXN0IHRha2UgdGhlIGxlbmd0aCBnaXZlbiBpbiB0aGUgYXZpaCBhcyBhIGZhbGxiYWNrLgoJICBBdm9pZCBzb21lIHR5cGVjaGVja2luZy4KCjIwMDktMTItMDQgMTU6MTM6MTIgKzAxMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5oOgoJICBhdmlkZW11eDogUHVzaCBtb2RlIHNlZWtpbmcgc3VwcG9ydAoKMjAxMC0wMi0wMSAxNjowNDo0MSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogY2xlYW51cCBwcm9wZXJ0aWVzCgkgIFVzZSBtb3JlIGRlZmF1bHQgY29uc3RhbnRzLgoJICBVc2Ugc3RhdGljIHN0cmluZ3MgcGFyYW0gZmxhZy4KCSAgSW5pdCBwcm9wZXJ0aWVzIGV4cGxpY2l0bHkgaW5zdGVhZCBvZiBsZXR0aW5nIGdvYmplY3QgZG8gdGhpcy4KCjIwMTAtMDItMTIgMTU6MzQ6MzggKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOgoJICBzcGVleDogYWRkIG1pc3NpbmcgaW5jbHVkZQoKMjAxMC0wMi0wNSAxMzoyODo1MyArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0dGFnaW5qZWN0LmM6CgkgIHRhZ2luamVjdDogZml4IG11bHRpLXZhbHVlIHRhZyBleGFtcGxlCgkgIFdlIG5lZWQgdG8gdXNlIHt9IHRvIHNwZWNpZnkgYSBsaXN0LgoKMjAxMC0wMi0wMSAxNDo0MzowNCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgYXZpLHdhdjogYWxzbyBoYW5kbGUgSlVOUSBjaHVuayBpbiBhZGRpdGlvbiB0byBKVU5LCgoyMDEwLTAyLTA0IDE1OjU5OjI1ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBhbXJwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBkdnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqMmtwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqcGVncGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXAydHBheS5jOgoJICBydHBwYXk6IGRvbid0IGlnbm9yZSByZXN1bHQgZnJvbSBzZXRfb3V0Y2FwcwoJICBzZXRfb3V0Y2FwcyBjYW4gZmFpbCBhbmQgd2UgbmVlZCB0byBwcm9wYWdhdGUgdGhlIHJlc3VsdCB1cHN0cmVhbS4KCjIwMTAtMDItMDQgMTU6MzY6MjQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6CgkgIGZsdnBhcnNlOiBmaXggY29uZnVzaW5nIGRlYnVnIG1lc3NhZ2VzCgoyMDEwLTAxLTI3IDEzOjI4OjEzICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogYWRkIHNvbWUgbW9yZSBkZWJ1ZyBpbmZvCgoyMDEwLTAxLTI3IDEzOjI2OjQ2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IGF2b2lkIHNlZ2ZhdWx0IHdoZW4gc2h1dHRpbmcgZG93bgoJICB3aGVuIHdlIGFyZSBzaHV0dGluZyBkb3duLCB3ZSBtaWdodCBzdGlsbCByZWNlaXZlIHN0YXRlIHVwZGF0ZXMgZnJvbSBwdWxzZWF1ZGlvCgkgIGJ1dCBzaW5jZSB3ZSBhcmUgdW5wYXJlbnRlZCB3ZSBzaG91bGQgbm90IGRvIGFueXRoaW5nIHdpdGggdGhlIE5VTEwgcGFyZW50CgkgIGFueW1vcmUuCgoyMDEwLTAxLTI2IDE4OjMzOjI3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmg6CgkgIHZpZGVvbWl4ZXI6IGZpeCB0aW1lc3RhbXAgcHJvYmxlbXMKCSAgV2hlbiB0aGUgcGFkIHdpdGggdGhlIGhpZ2hlc3QgZnJhbWVyYXRlIGdvZXMgRU9TLCBpbnN0ZWFkIG9mIG5vdCB0aW1lc3RhbXBpbmcKCSAgb3V0cHV0IGJ1ZmZlcnMsIGludGVwb2xsYXRlIHRpbWVzdGFtcHMgYW5kIGR1cmF0aW9ucyBmcm9tIHRoZSBsYXN0IHNlZW4gb25lcy4KCSAgRml4ZXMgIzYwODAyNgoKMjAxMC0wMi0xMiAxMTozMjo0MCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYW1tYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oYWxlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9ub3Njb3BlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXVpY2t0aW1lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYmFsYW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9mbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkgIGRvY3M6IFVwZGF0ZSBkb2N1bWVudGF0aW9uCgoyMDEwLTAyLTEyIDExOjE4OjI2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvTWFrZWZpbGUuYW06CgkgIE1vdmVkICdzaGFwZXdpcGUnIGZyb20gLWJhZCB0byAtZ29vZAoJICBGaXhlcyBidWcgIzU4NDUzNi4KCjIwMTAtMDItMTAgMTA6NTI6NTMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSAgW01PVkVEIEZST00gQkFEIDI5LzI5XSBzaGFwZXdpcGU6IFByZXNlcnZlIHRoZSBpbnB1dCBjb2xvciB2YWx1ZXMgaW4gYWxsIGNhc2VzCgoyMDEwLTAyLTEwIDEwOjUwOjQ5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAyOC8yOV0gc2hhcGV3aXBlOiBTY2FsZSBtYXNrIGFscGhhIHZhbHVlcyBieSB0aGUgc291cmNlIGFscGhhIHZhbHVlcwoKMjAxMC0wMi0xMCAxMDo0MjozMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMjcvMjldIHNoYXBld2lwZTogRml4IEFSR0IgcHJvY2Vzc2luZwoKMjAxMC0wMi0xMCAxMDozNDoyNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9zaGFwZXdpcGUvc2hhcGV3aXBlLWV4YW1wbGUuYzoKCSAgW01PVkVEIEZST00gQkFEIDI2LzI5XSBzaGFwZXdpcGU6IFByaW50IHNvbWUgbW9yZSBkZXRhaWxzIG9uIGVycm9yL3dhcm5pbmcgbWVzc2FnZXMKCjIwMTAtMDItMDggMDg6MjY6MzMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSAgW01PVkVEIEZST00gQkFEIDI1LzI5XSBzaGFwZXdpcGU6IEltcHJvdmUvYWRkIGRlYnVnIG91dHB1dAoKMjAxMC0wMi0wOCAwODoyMDo0NCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMjQvMjldIHNoYXBld2lwZTogQWx3YXlzIGhvbGQgdGhlIG1hc2sgbXV0ZXggYmVmb3JlIHNpZ25hbGxpbmcgdGhlIEdDb25kCgoyMDEwLTAyLTA4IDA4OjE5OjQ4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAyMy8yOV0gc2hhcGV3aXBlOiBNb3ZlIGNoYWluIGZ1bmN0aW9uIGVycm9yIGNhc2VzIGF0IHRoZSBlbmQgb2YgdGhlIGZ1bmN0aW9uIGFuZCBhZGQgdXNlZnVsIGRlYnVnIG91dHB1dAoKMjAxMC0wMi0wOCAwODoxMjoxMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5oOgoJICBbTU9WRUQgRlJPTSBCQUQgMjIvMjldIHNoYXBld2lwZTogRml4IHJhY2UgY29uZGl0aW9uIGR1cmluZyBzaHV0ZG93biB0aGF0IGNhbiBsZWFkIHRvIGEgZGVhZGxvY2sKCjIwMTAtMDItMDggMDg6MTE6MzMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSAgW01PVkVEIEZST00gQkFEIDIxLzI5XSBzaGFwZXdpcGU6IERyb3AgbWFzayBidWZmZXIgb24gRkxVU0ggZXZlbnRzCgoyMDEwLTAyLTA4IDA4OjA5OjU1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmg6CgkgIFtNT1ZFRCBGUk9NIEJBRCAyMC8yOV0gc2hhcGV3aXBlOiBVcGRhdGUgY29weXJpZ2h0IHllYXIKCjIwMTAtMDItMDggMDg6MDg6NDQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSAgW01PVkVEIEZST00gQkFEIDE5LzI5XSBzaGFwZXdpcGU6IERvbid0IHJlc2V0IHByb3BlcnRpZXMgd2hlbiBnb2luZyBQQVVTRUQtPlJFQURZCgkgIEFsc28gdXNlIGRlZmluZXMgZm9yIHRoZSBkZWZhdWx0IHZhbHVlcyBvZiB0aGUgcHJvcGVydGllcy4KCjIwMTAtMDEtMTYgMTY6NTI6MTEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSAgW01PVkVEIEZST00gQkFEIDE4LzI5XSBzaGFwZXdpcGU6IFJlcGxhY2UgZmxvYXRpbmcgcG9pbnQgYXJpdGhtZXRpYyBpbiB0aGUgaW5uZXIgcHJvY2Vzc2luZyBsb29wcyBieSBpbnRlZ2VyIGFyaXRobWV0aWMKCjIwMDktMTItMTAgMTA6NDA6MTAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSAgW01PVkVEIEZST00gQkFEIDE3LzI5XSBzaGFwZXdpcGU6IERvbid0IGRvIHBvaW50ZXIgZGVyZWZlcmVuY2VzIGluIHRoZSBwcm9jZXNzaW5nIGxvb3AKCSAgTG93ZXJzIHRoZSB0aW1lIHRha2VuIHRoZXJlIGluIG15IHRlc3RjYXNlIGZyb20gNi45MSUgdG8gNi4yMCUKCSAgYXMgbWVhc3VyZWQgYnkgY2FsbGdyaW5kLgoKMjAwOS0wNy0wOCAxNzo1OToyOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMTYvMjldIHNoYXBld2lwZTogQWRkIEJHUkEgc3VwcG9ydCBmb3IgdmlkZW8gaW4vb3V0cHV0CgoyMDA5LTA3LTAyIDExOjI0OjQ4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmg6CgkgIFtNT1ZFRCBGUk9NIEJBRCAxNS8yOV0gc2hhcGV3aXBlOiBBZGQgc3VwcG9ydCBmb3IgQVJHQiB2aWRlbyBpbnB1dC9vdXRwdXQKCjIwMDktMDYtMjMgMTg6MjM6MTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSAgW01PVkVEIEZST00gQkFEIDE0LzI5XSBzaGFwZXdpcGU6IENvcnJlY3RseSBoYW5kbGUgMC8xIGZwcwoKMjAwOS0wNi0wOSAxOToxNDo0MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5oOgoJICBbTU9WRUQgRlJPTSBCQUQgMTMvMjldIHNoYXBld2lwZTogSW1wbGVtZW50IGJhc2ljIFFvUwoJICBUaGlzIGNoYW5nZSBpcyBiYXNlZCBvbiBUaW0ncyBRb1MgaW1wbGVtZW50YXRpb24KCSAgZm9yIGpwZWdkZWMuCgoyMDA5LTA2LTA5IDE4OjQ1OjE5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAxMi8yOV0gc2hhcGV3aXBlOiBQcm94eSBxdWVyaWVzIG9uIHRoZSB2aWRlbyBwYWRzIHRvIHRoZSBjb3JyZWN0IHBlZXJzCgoyMDA5LTA2LTA5IDE4OjM3OjQzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAxMS8yOV0gc2hhcGV3aXBlOiBQcm94eSBidWZmZXJhbGxvYyBvbiB0aGUgdmlkZW8gc2lua3BhZAoKMjAwOS0wNi0wOSAxODoyNToxMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMTAvMjldIHNoYXBld2lwZTogVHJ5IHRvIHdvcmsgaW5wbGFjZSBpZiBwb3NzaWJsZQoJICBUaGlzIHNhdmVzIG9uZSBuZXcsIGxhcmdlIGFsbG9jYXRpb24gcGVyIGZyYW1lIGZvciB0aGUKCSAgbW9zdCBjYXNlcy4KCjIwMDktMDYtMDQgMDg6NTY6MTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc2hhcGV3aXBlLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwOS8yOV0gc2hhcGV3aXBlOiBJbmNyZWFzZSB0aW1lb3V0IG9mIHRoZSB1bml0IHRlc3QKCjIwMDktMDYtMDEgMjE6MjQ6MjcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSAgW01PVkVEIEZST00gQkFEIDA4LzI5XSBzaGFwZXdpcGU6IEZpeCBzb21lIGlzc3VlcyB0aGF0IHdlcmUgZXhwb3NlZCBieSB0aGUgbmV3IHVuaXQgdGVzdAoKMjAwOS0wNi0wMSAyMToyNDoxMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zaGFwZXdpcGUuYzoKCSAgW01PVkVEIEZST00gQkFEIDA3LzI5XSBzaGFwZXdpcGU6IEFkZCB1bml0IHRlc3QgZm9yIHNoYXBld2lwZQoKMjAwOS0wNS0zMSAyMTozMzowMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDYvMjldIHNoYXBld2lwZTogQWRkIGRvY3VtZW50YXRpb24gYW5kIGludGVncmF0ZSBpbnRvIHRoZSBidWlsZCBzeXN0ZW0KCjIwMDktMDUtMjkgMjE6MDc6MjYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSAgW01PVkVEIEZST00gQkFEIDA1LzI5XSBzaGFwZXdpcGU6IEFkanVzdCBib3JkZXIgdG8gc3RpbGwgaGF2ZSBldmVyeXRoaW5nIHRyYW5zcGFyZW50IGF0IDEuMCBhbmQgdGhlIG90aGVyIHdheSBhcm91bmQKCjIwMDktMDUtMjkgMTY6NTU6MjUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSogdGVzdHMvZXhhbXBsZXMvc2hhcGV3aXBlL3NoYXBld2lwZS1leGFtcGxlLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwNC8yOV0gc2hhcGV3aXBlOiBEaXZpZGUgdGhlIGJvcmRlciB2YWx1ZSBieSB0d28sIG90aGVyd2lzZSB3ZSB1c2UgYSB0d2ljZSBhIHdpZGUgYm9yZGVyCgoyMDA5LTA1LTI5IDE2OjUxOjUwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmg6CgkqIHRlc3RzL2V4YW1wbGVzL3NoYXBld2lwZS9zaGFwZXdpcGUtZXhhbXBsZS5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDMvMjldIHNoYXBld2lwZTogQWRkIGJvcmRlciBwcm9wZXJ0eSB0byBhbGxvdyBzbW9vdGggYm9yZGVycwoJICAuLi5hbmQgdXNlIGEgYm9yZGVyIG9mIDAuMDEgaW4gdGhlIGV4YW1wbGUgYXBwbGljYXRpb24uCgoyMDA5LTA1LTI5IDE2OjAwOjE2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL3NoYXBld2lwZS9NYWtlZmlsZS5hbToKCSAgW01PVkVEIEZST00gQkFEIDAyLzI5XSBzaGFwZXdpcGU6IEZpeCBNYWtlZmlsZSBvZiB0aGUgZXhhbXBsZSBhcHBsaWNhdGlvbgoKMjAwOS0wNS0yOSAxNTozMjoyNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2hhcGV3aXBlL01ha2VmaWxlLmFtOgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5oOgoJKiB0ZXN0cy9leGFtcGxlcy9zaGFwZXdpcGUvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL3NoYXBld2lwZS9zaGFwZXdpcGUtZXhhbXBsZS5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDEvMjldIHNoYXBld2lwZTogQWRkIGEgc2ltcGxlIHNoYXBld2lwZSB0cmFuc2l0aW9uIGZpbHRlciAmIGV4YW1wbGUgYXBwbGljYXRpb24KCjIwMTAtMDItMDYgMTg6MTk6MjcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJICBmbGFjZGVjOiBPbmx5IGZsdXNoIHRoZSBGTEFDIGRlY29kZXIgaWYgaXQgd2Fzbid0IGNyZWF0ZWQgcmlnaHQgYmVmb3JlCgkgIElmIHRoZSBGTEFDIGRlY29kZXIgaXMgZmx1c2hlZCwgaXRzIHN0YXRlIHdpbGwgYmUgc2V0IHRvIGZyYW1lLXN5bmMgbW9kZSwKCSAgd2hpY2ggd2lsbCBzeW5jIHRvIHRoZSBuZXh0ICphdWRpbyogZnJhbWUgYW5kIG1ha2VzIGl0IGlnbm9yZSBhbGwgaGVhZGVycy4KCSAgVGhpcyBwcmV2ZW50ZWQgdGFncyBhbmQgZXZlcnl0aGluZyBlbHNlIHRvIHNob3cgdXAgd2hlbiB1c2luZyBmbGFjZGVjCgkgIGluIHB1c2ggbW9kZS4KCSAgRml4ZXMgYnVnICM2MDg4NDMuCgoyMDEwLTAyLTExIDAxOjEyOjE1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIE1BSU5UQUlORVJTOgoJICBVcGRhdGUgTUFJTlRBSU5FUlMKCjIwMTAtMDItMTIgMDA6MDM6MDkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGJhY2sgdG8gZGV2ZWxvcG1lbnQKCSAgU2x1c2h5IGZyZWV6ZSByZW1haW5zIGluIGVmZmVjdC4KCj09PSByZWxlYXNlIDAuMTAuMTggPT09CgoyMDEwLTAyLTEwIDIzOjE4OjIyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYW1tYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oYWxlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9ub3Njb3BlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXVpY2t0aW1lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYmFsYW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9mbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDAuMTAuMTgKCjIwMTAtMDItMTAgMjM6MTc6MjEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHBvL3poX0hLLnBvOgoJKiBwby96aF9UVy5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAxMC0wMi0xMCAyMDozNjo1NiArMDAwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiB0ZW1wb3Jhcnkgc2FmZXR5IGNoZWNrIHRvIGF2b2lkIGNyYXNoZXMgd2l0aCBhIGNlcnRhaW4gZmlsZQoJICBBZGQgdGVtcG9yYXJ5IGNoZWNrIHRvIGF2b2lkIGNyYXNoZXMgd2l0aCBhIGNlcnRhaW4gZmlsZSB3aGVuIHNlZWtpbmcKCSAgdW50aWwgdGhlIHJlYWwgY2F1c2Ugb2YgdGhpcyBpcyBmaWd1cmVkIG91dC4gU2VlICM2MDk0MDUuCgoyMDEwLTAyLTA1IDE4OjA1OjM5ICswMTAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguaDoKCSAgcXRkZW11eDogc2tpcCB1bmtub3duIGF0b21zIHdoZW4gbG9va2luZyBmb3IgbW9vdgoJICBGaXhlcyBidWcgIzYwOTEwNwoKMjAxMC0wMi0wNSAwMjoxMzozMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgMC4xMC4xNy4zIHByZS1yZWxlYXNlCgoyMDEwLTAyLTA0IDE5OjEwOjM2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHBvL2JnLnBvOgoJKiBwby9odS5wbzoKCSAgcG86IHVwZGF0ZSB0cmFuc2xhdGlvbnMKCjIwMTAtMDItMDQgMTQ6NDY6NTYgKzAxMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5oOgoJICBxdGRlbXV4OiBTZXQgdGhlIHNlZ21lbnQgc3RhcnQgdGltZSB0byB0aGUgcmVxdWVzdGVkIHNlZWsgdGltZSBmb3Igbm9uLWtleWZyYW1lIHNlZWtzCgoyMDEwLTAyLTA0IDEyOjAwOjAzICswMTAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEZpeCB0aW1lIHJldHVybmVkIGZvciBpbmRleCBhdCBhIGJ5dGUgb2Zmc2V0CgkgIFRoZSBsb2dpYyBmb3Igc2VhcmNoaW5nIGZvcndhcmRzL2JhY2t3YXJkcyB3YXMgc3dhcHBlZAoKMjAxMC0wMi0wMSAxOToyMjoyNCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzoKCSAgc3BlZXhkZWM6IGluaXRpYWxpemUgc3RlcmVvIGRlY29kaW5nIHN0YXRlCgoyMDEwLTAxLTI4IDE4OjU4OjA4ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBpbXByb3ZlIHN0cmVhbSBzeW5jaHJvbml6YXRpb24KCSAgSW4gcGFydGljdWxhciwgZG8gbm90IG1ha2UgaXQgc2VuZCBuZXdzZWdtZW50IHVwZGF0ZXMgdGhhdAoJICBzb3J0LW9mIGNvbnRyYWRpY3QgdGhlIGluZGVudGVkIHBsYXliYWNrIHNlZ21lbnQgKGUuZy4gc3RhcnQgdGltZSkuCgoyMDEwLTAxLTI4IDE4OjUzOjE4ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBmaXggYnJpZGdpbmcgKHRpbWUpIGdhcHMgaW4gc3RyZWFtcwoJICBBcyBhIHNpZGUgZWZmZWN0LCBhdm9pZCBzZW5kaW5nIG5ld3NlZ21lbnQgdXBkYXRlcyB3aXRoIHN0YXJ0IHRpbWVzCgkgIHRoYXQgZ28gYmFjayBhbmQgZm9ydGgsIHdoaWNoIGxlYWRzIHRvIGJvZ3VzIGRvd25zdHJlYW0gcnVubmluZ190aW1lLgoJICBBbHNvIGZpeGVzIHNlZWtpbmcgaW4gYnVnICM2MDY3NDQuCgoyMDEwLTAxLTI4IDE4OjQ5OjU3ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBmaXggc3RyZWFtIHN5bmNocm9uaXphdGlvbgoJICAuLiBieSBpbml0aWFsaXppbmcgc3RyZWFtcyBzdGFydGluZyBhdCAwLCBhcyB0aGF0IGlzIGJhc2ljYWxseQoJICB3aGVyZSB3ZSAnc2VlayB0bycgYXQgdGhlIHN0YXJ0IGFuZCBhc3N1bWUgc3RyZWFtcyB0byBzdGFydCBlbHNld2hlcmUuCgkgIEFsc28gZW5hYmxlcyBuZXdzZWdtZW50IHVwZGF0ZSBldmVudHMgZm9yIHN1YnRpdGxlIHN0cmVhbXMuCgoyMDEwLTAyLTAyIDEzOjQxOjAzICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgIGpwZWc6IGRvbid0IGRpcmVjdGx5IGFjY2VzcyBtZXNzYWdlLCBzb21lIG1lc3NhZ2UgaGF2ZSBhcmdzCgkgIFRoaXMgY2F1c2VkIGJvZ3VzIG1lc3NhZ2VzLCBzdWNoIGFzIHJlcG9ydGVkIGluIGJ1ZyAjNjA3NDcxLgoKMjAxMC0wMi0wMiAwMDowMjozNCArMDAwMCAgRGF2aWQgSG95dCA8ZGhveXRAbGxubC5nb3Y+CgoJKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOgoJICBwbmc6IGZpeCBjb21waWxhdGlvbiB3aXRoIGxpYnBuZyAxLjQKCSAgcG5nX3NldF9ncmF5XzFfMl80X3RvXzgoKSBoYXMgYmVlbiBkZXByZWNhdGVkIGZvciBhIHdoaWxlIGFuZCB3YXMKCSAgZmluYWxseSByZW1vdmVkIGluIGxpYnBuZyAxLjQueC4gVXNlIHBuZ19zZXRfZXhwYW5kX2dyYXlfMV8yXzRfdG9fOCgpCgkgIGluc3RlYWQuCgkgIEZpeGVzICM2MDg2MjkuCgoyMDEwLTAyLTAxIDE2OjQ2OjM2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBmcmVlIHRyYW5zcG9ydHMgb24gZXJyb3JzCgkgIFNlZSAjNjA4NTY0CgoyMDEwLTAyLTAxIDA5OjE4OjUzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSAgdjRsMjogZml4IHVucG9ydGFibGUgcHJpbnRmIGZvcm1hdAoKMjAxMC0wMS0zMCAxNToxODo0OCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDE1ZDQ3YTYgdG8gOTZkYzc5MwoKMjAxMC0wMS0yNyAxNzo1MzowNyArMDEwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSAgZmx2bXV4OiBpbmRleCB0aW1lc3RhbXBzIHNob3VsZCBiZSBpbiBzZWNvbmRzLCBub3QgbWlsbGlzZWNvbmRzCgoyMDEwLTAxLTI3IDE1OjI0OjUyICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOgoJICBzcGVleGRlYzogZnJlZSBzb21lIG1vcmUgd2hlbiByZXNldHRpbmcKCSAgRml4ZXMgIzYwODI1NS4KCjIwMTAtMDEtMjcgMTU6MjQ6MjQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBzcGVleHBheS5jOgoJICBydHBzcGVleHBheTogZml4IG9jY2FzaW9uYWwgYnVmZmVyIGxlYWsKCSAgRml4ZXMgIzYwODI1NS4KCjIwMTAtMDEtMjcgMTU6MjI6NDYgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6CgkgIHNwZWV4ZW5jOiBwcmV2ZW50IGludmFsaWQgYXJpdGhtZXRpYyBpZiBub3Qgc2V0dXAgeWV0CgkgIEZpeGVzICM2MDgyNTUuCgoyMDEwLTAxLTI3IDE2OjM0OjIxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL2JsZW5kX21teC5oOgoJICB2aWRlb21peGVyOiBGaXggYXNzZW1ibHkgcmVnaXN0ZXIgY29uc3RyYWludHMKCSAgRml4ZXMgYnVnICM2MDgyMDkuCgoyMDEwLTAxLTI3IDAxOjU2OjAzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICAwLjEwLjE3LjIgcHJlLXJlbGVhc2UKCjIwMTAtMDEtMjcgMDE6NTI6NTkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogcG8vTElOR1VBUzoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHBvL3poX0hLLnBvOgoJKiBwby96aF9UVy5wbzoKCSAgcG86IHVwZGF0ZSB0cmFuc2xhdGlvbnMKCjIwMTAtMDEtMjcgMDE6NDk6NDkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSAgY2hlY2tzOiBpZ25vcmUgZGVpbnRlcmxhY2UgY2hlY2sgYmluYXJ5CgoyMDEwLTAxLTI3IDAxOjE4OjUxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBwdXJnZSBhbGwgbWVudGlvbiBvZiBDVlMKCjIwMTAtMDEtMjYgMTE6MTg6MjggKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBpZ25vcmUgc3RyZWFtcyB0aGF0IGZpbmlzaGVkCgkgIFdoZW4gd2UgcmVjZWl2ZSBhbiBVTkVYUEVDVEVEIGZyb20gYSBzdHJlYW0sIG1vdmUgdG8gdGhlIG5leHQgc3RyZWFtIGFuZCBvbmx5IGdvCgkgIEVPUyB3aGVuIGFsbCBzdHJlYW1zIGFyZSBFT1MuIFdoZW4gc2VsZWN0aW5nIGEgc3RyZWFtIHRvIHB1c2gsIGlnbm9yZSBzdHJlYW1zCgkgIHRoYXQgd2VudCBFT1MuCgkgIEZpeGVzICM2MDc5NDkKCjIwMTAtMDEtMjUgMTc6MjM6NDMgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSAgdjRsMnNyYzogZG9uJ3QgZGVyZWYgTlVMTAoJICBFcnJvciBvdXQgd2hlbiB0aGUgcG9vbCBnZXRzIHNodXRkb3duLgoKMjAxMC0wMS0yNSAxNzoyMToxMyArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBSZXZlcnQgInY0bDJzcmM6IGRvbid0IGRlcmVmIE5VTEwiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgM2Q5ZDM0YmQ2MGZhZWI5NDBiMzZkOTkyYTQ3MTY4ZmM4OTUwMzZiYS4KCjIwMTAtMDEtMjUgMTQ6MTY6MjIgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgdjRsMnNyYzogZG9uJ3QgZGVyZWYgTlVMTAoJICBFcnJvciBvdXQgd2hlbiB0aGUgcG9vbCBnZXRzIHNodXRkb3duLgoKMjAxMC0wMS0yMyAxNTozMjo0OCAtMDgwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJICBqcGVnZW5jOiB3aGVuIGNyZWF0aW5nIGFuIG92ZXJmbG93IGJ1ZmZlciwgY29weSB0aW1lc3RhbXBzLgoKMjAxMC0wMS0yMyAxNDo0Nzo1NSArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZG1iMSBpcyBhIHZhbGlkIGZvdXJjYyBmb3IgTW90aW9uLUpQRUcKCjIwMTAtMDEtMjMgMTQ6MjA6MDIgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGV1eDogSVYzMiBpcyBhbHNvIHVzZWQgZm9yIEluZGVvIDMgdmlkZW8gc3RyZWFtcwoKMjAxMC0wMS0yMiAxNjo0ODowMSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvaWNsZXMveGltYWdlc3JjLXRlc3QuYzoKCSAgYnVpbGQ6IG5vIHVudXNlZCB2YXJpYWJsZXMgd2hlbiBkaXNhYmxpbmcgYXNzZXJ0cwoKMjAxMC0wMS0yMSAyMzoxNzo0MCAtMDMwMCAgUm9sYW5kIEtyaWthdmEgPHJrcmlrYXZhQGdtYWlsLmNvbT4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogQXZvaWQgbmVnYXRpdmUgb3ZlcmZsb3cgb24ga2V5ZnJhbWUgc2VhcmNoCgkgIERvIG5vdCBvdmVyZmxvdyBuZWdhdGl2ZWx5IHdoZW4gc2VhcmNoaW5nIGEgcHJldmlvdXMKCSAgImtleWZyYW1lIiBvbiBhdWRpbyBzdHJlYW1zLiBDb3VsZCBjYXVzZSBpbmZpbml0ZSBsb29wcwoJICBvbiBiYWNrd2FyZHMgcGxheWJhY2sKCSAgRml4ZXMgIzYwNzcxOAoKMjAxMC0wMS0yMSAxNzoyMjozOCAtMDgwMCAgUGV0ZXIgdmFuIEhhcmRlbmJlcmcgPHB2aEBzb25nYmlyZG5lc3QuY29tPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmg6CgkgIGpwZWdlbmM6IGVubGFyZ2UgYnVmZmVyIGlmIGxpYmpwZWcgdGVsbHMgdXMgaXQncyBvdXQgb2Ygc3BhY2UuIEZpeGVzIGJ1ZmZlciBvdmVyZmxvdyBvbiBzb21lIGhpZ2gtcXVhbGl0eSwgbG93LXJlc29sdXRpb24ganBlZyBlbmNvZGVzLgoKMjAxMC0wMS0yMSAxOToyNDoyMiArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGZpeCBjb21waWxlciB3YXJuaW5ncyB1bmRlciBPUyBYLgoKMjAxMC0wMS0yMSAxNzo1NzozNiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IGRvbid0IHBhcnNlIE5VTEwgaW5kZXhlcwoJICBmb3Igc29tZSBzdHJlYW1zIHdlIG1pZ2h0IGZhaWwgdG8gZmV0Y2ggdGhlIGluZGV4IG9mZnNldHMuIERvbid0IHRyeSB0byBwYXJzZQoJICBOVUxMIGluZGV4ZXMgaW4gdGhvc2UgY2FzZXMuCgoyMDEwLTAxLTE4IDIxOjE1OjUxIC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjlwYXkuYzoKCSAgcnRwZzcyOXBheTogcHRpbWUgc2hvdWxkIGlzIGluIG5hbm9zZWNvbmRzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MDc0MDMKCjIwMTAtMDEtMjAgMTU6MTE6MTUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuYzoKCSogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuaDoKCSAgd2F2ZW5jOiBQb3N0IHdhcm5pbmcgaWYgZmlsZSBpc250IGZpbmlzaGVkIHByb3Blcmx5CgkgIFdoZW4gdGhlIHBpcGVsaW5lIGlzIHNodXQgZG93biBhbmQgdGhlIGZpbGUgaXNuJ3QKCSAgZmluaXNoZWQgcHJvcGVybHksIHdhdmVuYyBzaG91bGQgcG9zdCBhIHdhcm5pbmcuCgkgIEZpeGVzICM2MDc0NDAKCjIwMDktMDUtMjcgMTM6NTE6NDQgKzAyMDAgIEFybm91dCBWYW5kZWNhcHBlbGxlIDxhcm5vdXRAbWluZC5iZT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5oOgoJICBtYXRyb3NrYW11eDogbWFrZSBpbmRleCBzaXplIGNvbmZpZ3VyYWJsZS4KCSAgQWRkZWQgdGhlICdtaW4taW5kZXgtaW50ZXJ2YWwnIHByb3BlcnR5IHRvIG1hdHJvc2thbXV4LAoJICB3aGljaCBkZXRlcm1pbmVzIGhvdyBtdWNoIHRpbWUgKG5hbm9zZWNvbmRzKSBpcyBsZWZ0CgkgIGJldHdlZW4ga2V5ZnJhbWVzIHN0b3JlZCBpbiB0aGUgaW5kZXguCgkgIEZpeGVzICM1ODM5ODUuCgoyMDEwLTAxLTIwIDE2OjI4OjMxICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkgIHJ0cGgyNjRwYXk6IHNjYWxlIHNwc3Bwc19pbnRlcnZhbCB0byBtaWxsaXNlY29uZHMKCSAgVGhlIHNwc3Bwc19pbnRlcnZhbCBpcyBrZXB0IGluIHNlY29uZHMuIENvbnZlcnQgaXQgdG8gbWlsbGlzZWNvbmRzIGJlZm9yZQoJICBjb21wYXJpbmcgaXQgdG8gYW5vdGhlciB2YWx1ZSBpbiBtaWxsaXNlY29uZHMuCgoyMDEwLTAxLTIwIDE1OjE4OjQ3ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogYWx3YXlzIGtlZXAgbWVkaWEgc2VnbWVudHMgd2l0aGluIHRvdGFsIGR1cmF0aW9uCgkgIC4uLiBhcyBvcHBvc2VkIHRvIG9ubHkgZG9pbmcgc28gZm9sbG93aW5nIGEgc2Vlay4KCjIwMTAtMDEtMjAgMTU6NDQ6NDAgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSAgcnRwaDI2NHBheTogcmVuYW1lIHNwc3Bwcy1pbnRlcnZhbCBwcm9wZXJ0eQoJICBSZW5hbWUgdGhlIHNwc3Bwcy1pbnRlcnZhbCBwcm9wZXJ0eSB0byBjb25maWctaW50ZXJ2YWwgYmVjYXVzZSBpdCBpcyBuaWNlci4KCjIwMTAtMDEtMTkgMTg6Mzc6MzEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBza2lwIFJJRkYgYW5kIGluZGV4IGluIHB1c2ggbW9kZQoJICBXaGVuIHdlIGFyZSBpbiBwdXNoIG1vZGUsIHdlIGNhbiBlbmNvdW50ZXIgUklGRiBhbmQgaWR4IHRhZ3MgaW4gdGhlIGRhdGEgY2h1bmsKCSAgd2hlbiB3ZSBhcmUgZGVhbGluZyB3aXRoIE9ETUwgZmlsZXMuIEluIHRoZXNlIGNhc2VzLCBzaW1wbHkgc2tpcCB0aGUgY2h1bmtzIGFuZAoJICBjb250aW51ZSBzdHJlYW1pbmcgaW5zdGVhZCBvZiBnb2luZyBFT1MuCgoyMDEwLTAxLTIwIDExOjI3OjIzICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogbW9yZSBESVNDT05UIGhhbmRsaW5nCgkgIEFkZCBzb21lIGRlYnVnIGluIHRoZSBESVNDT05UIGhhbmRsaW5nIGNvZGUuCgkgIFdoZW4gd2UgcmVjZWl2ZSBhIERJU0NPTlQgaW4gcHVzaCBtb2RlLCBtYXJrIGFsbCBzdHJlYW1zIGFzIERJU0NPTlQuCgoyMDEwLTAxLTIwIDExOjI2OjM0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogcmVzZXQgb24gZmx1c2ggZXZlbnRzCgkgIFdoZW4gd2UgcmVjZWl2ZSBhIGZsdXNoIGV2ZW50IG9uIHRoZSBzaW5rcGFkLCByZXNldCB0aGUgRU9TIHN0YXRlIGFuZCB0aGUKCSAgZmxvd3JldHVybiBvZiBhbGwgc3RyZWFtcy4gQWxzbyBtYXJrIHRoZSBzdHJlYW1zIHdpdGggYSBESVNDT05ULgoKMjAxMC0wMS0yMCAxMToyMjowNCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5oOgoJICBhdmlkZW11eDogcmVuYW1lIHNvbWUgdmFyaWFibGUKCSAgUmVuYW1lIHRoZSBzZWVrX2V2ZW50IHZhcmlhYmxlIHRvIHNlZ19ldmVudCBiZWNhdXNlIGl0IHJlYWxseSBjb250YWlucyB0aGUKCSAgbmV3c2VnbWVudCBldmVudCB0aGF0IG5lZWRzIHRvIGJlIHB1c2hlZC4KCjIwMTAtMDEtMjAgMDA6NTQ6MDMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSAxNGNlYzg5IHRvIDE1ZDQ3YTYKCjIwMTAtMDEtMTggMTQ6NDk6MjYgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuaDoKCSAgcnRwaDI2NHBheTogRG9uJ3Qgc2V0IHByb2ZpbGUtbGV2ZWwtaWQgaW4gb3V0IGNhcHMKCSAgVGhlIHByb2ZpbGUtbGV2ZWwtaWQgcmVwcmVzZW50cyByZXN0cmljdGlvbnMgb24gd2hhdCBjYW4gYmUgc2VudCwgaXQgZG9lcyBub3QKCSAgZGVzY3JpYmUgdGhlIHN0cmVhbS4gU28gaXQgc2hvdWxkIGJlIHJlZmxlY3RlZCBpbiB0aGUgc2luayBjYXBzIG9mIHRoZQoJICBwYXlsb2FkZXIsIG5vdCB0aGUgc3JjIGNhcHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MDczNTMKCjIwMTAtMDEtMTggMTQ6NDE6MTAgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJICBydHBoMjY0cGF5OiBEb24ndCBpZ25vcmUgdGhlIHJldHVybiB2YWx1ZSBmcm9tIHNldF9vdXRjYXBzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MDczNTMKCjIwMTAtMDEtMTggMTc6NDM6NDEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9ncmVlZHlobWFjcm9zLmg6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvbGluZWFyLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvbGluZWFyYmxlbmQuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS90b21zbW9jb21wLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvd2VhdmUuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS93ZWF2ZWJmZi5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3dlYXZldGZmLmM6CgkgIGRlaW50ZXJsYWNlOiBGaXggbGljZW5zZSBhbmQgY29weXJpZ2h0IGhlYWRlcnMKCjIwMTAtMDEtMTggMTQ6NTc6NDIgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmg6CgkgIHY0bDI6IG1vdmUgR19FTkRfREVDTFMgdG8gdGhlIGVuZAoKMjAxMC0wMS0xOCAxNDo1NTozOCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuaDoKCSAgdjRsMjogZml4IGJ1ZmZlcnBvb2wgZmlsZSBuYW1lcyBpbiBoZWFkZXIgY29tbWVudAoKMjAxMC0wMS0xNSAxODoxNToxNCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IGF2b2lkIHNvbWUgdHlwZWNhc3RpbmcKCjIwMTAtMDEtMTUgMTg6MTM6MjQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBhdm9pZCBzb21lIHR5cGUgY2hlY2tzCgoyMDEwLTAxLTE1IDE4OjA5OjE1ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4Lmg6CgkgIGF2aWRlbXV4OiBmYWxsYmFjayB0byBhdmloIGR1cmF0aW9uCgkgIHdoZW4gd2UgaGF2ZSBub3QgeWV0IHBhcnNlZCB0aGUgaW5kZXhlcyAoaW4gcHVzaCBtb2RlLCBmb3IgZXhhbXBsZSkgdXNlCgkgIHRoZSBkdXJhdGlvbiBhcyBnaXZlbiBpbiB0aGUgYXZpaCBoZWFkZXIgaW5zdGVhZCBvZiAtMS4KCjIwMTAtMDEtMTUgMTM6MzI6MzIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBnX2ZyZWUgaXMgTlVMTCBzYWZlCgoyMDEwLTAxLTE1IDEzOjI3OjQwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogdXNlIERFTVVYIGVycm9ycywgaW5zdGVhZCBvZiBERUNPREUKCSAgcXRkZW11eCBzaG91bGQgdXNlIERFTVVYIGVycm9ycywgYW5kIG5vdCBERUNPREUKCSAgQ29uZmxpY3RzOgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmMKCjIwMTAtMDEtMTQgMTk6MTY6MTkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBNaW5vciByZWZhY3RvcgoJICBSZXBsYWNlIHJlcGVhdGVkIGNvZGUgd2l0aCBhIGZ1bmN0aW9uIGNhbGwKCjIwMTAtMDEtMTQgMTc6MTE6MTMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4X2ZvdXJjYy5oOgoJICBxdGRlbXV4OiBIYW5kbGUgYW5vdGhlciBraW5kIG9mIHJlZGlyZWN0IHRyYWsKCSAgU29tZSB0cmFrcyBtaWdodCBjb250YWluIGEgcmVkaXJlY3QgcnRzcCB1cmkgaW5zaWRlCgkgIGhuZGwgYXRvbSAod2hpY2ggaXMgYSBkcmVmIGF0b20gZW50cnkpLiBUaGlzIGNvbW1pdCBtYWtlcyBxdGRlbXV4CgkgIHBvc3QgYSBtZXNzYWdlIHdoZW4gaXQgZmluZHMgb25lIG9mIHRoZXNlIHRyYWtzIGFuZCB0aGVyZSBhcmUKCSAgbm8gb3RoZXIgdHJha3MuCgkgIEZpeGVzICM1OTc0OTcKCjIwMTAtMDEtMTQgMTY6MTM6MDggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4Lmg6CgkgIHF0ZGVtdXg6IFBvc3QgZXJyb3Igd2hlbiByZWFjaGluZyBFT1Mgd2l0aG91dCBwYWRzCgkgIFBvc3QgYW4gZXJyb3Igd2hlbiBFT1MgaXMgcmVhY2hlZCBhbmQgdGhlcmUgYXJlIG5vIHNyYyBwYWRzCgoyMDEwLTAxLTE0IDE0OjEzOjUwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogRG8gbm90IHBvc3QgZW1wdHkgcmVkaXJlY3QgbWVzc2FnZXMKCSAgU29tZSBtaXNpbnRlcnByZXRlZCBkYXRhIGNvdWxkIHJlc3VsdCBpbiBwb3N0aW5nIHJlZGlyZWN0IG1lc3NhZ2VzCgkgIHdpdGggZW1wdHkgcmVkaXJlY3Qgc3RyaW5ncy4gSXQgaXMgYmV0dGVyIG5vdCB0byBwb3N0IHRoZW0uCgkgIEFuIGV4YW1wbGUgaXMgdGhlIGZpbGUgb24gYnVnICM1OTc0OTcKCjIwMTAtMDEtMTQgMTg6MTk6MjUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IHBvbGlzaCBsYXN0IGJ1ZmZlciBlbmQgdGltZSB1c2FnZQoJICBUaGF0IGlzLCByZXNldCBpdCB1cG9uIHNlZWssIGFuZCBub3RlIHRoYXQgKHJhcmVseSkgbGFzdCBwdXNoZWQgYnVmZmVyCgkgIHRpbWUgbWlnaHQgcHJlY2VkZSBzZWdtZW50IHN0YXJ0LgoKMjAxMC0wMS0xMyAxNjo0ODo0NiArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRfbW14Lmg6CgkgIHZpZGVvbWl4ZXI6IHVzZSAncScgY29uc3RyYWludCBpbnN0ZWFkIG9mICdyJwoJICBUaGlzIGF2b2lkcyB0aGUgImJhZCByZWdpc3RlciBuYW1lIGAlZGlsJyIgY29tcGlsYXRpb24gZXJyb3JzIG9uIDMyYml0IHdoZXJlCgkgIGJlY2F1c2Ugb2YgJ3InIGdjYyBwdXRzIHRoZSB2YWx1ZSBpbiBhIGdlbmVyYWwgcHVycG9zZSByZWdpc3RlciBhbmQgdGhlbiB0cmllcwoJICB0byBhY2Nlc3MgdGhlIGxvd2VyIHBhcnQgYXMgJWRpbC8lc2lsIHdoaWNoIGlzIG5vdCBleGlzdGluZyBvbiAzMmJpdC4gJ3EnIHJlcXVlc3RzCgkgIGEtZCByZWdpc3RlcnMKCjIwMTAtMDEtMTMgMTY6NDQ6NTggKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpOiBhZGQgbWlzc2luZyBpbmNsdWRlIGZvciBzc2NhbmYKCjIwMTAtMDEtMTMgMDk6MzY6MDMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIxMGJhbmRzLmM6CgkgIGVxdWFsaXplcjogRml4IHByb3BlcnR5IGRlc2NyaXB0aW9uIGZvciB0aGUgM3JkIGJhbmQgb2YgdGhlIDEwYmFuZCBlcXVhbGl6ZXIKCSAgVGhlIGZyZXF1ZW5jeSBpcyBhY3R1YWxseSAyMzcgSHosIG5vdCAyMjcgSHouCgkgIEZpeGVzIGJ1ZyAjNjA2NjkyLgoKMjAxMC0wMS0xMyAwOToyMjoyMCArMDEwMCAgS2lwcCBDYW5ub24gPGtjYW5ub25AbGlnby5jYWx0ZWNoLmVkdT4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvYW1wbGlmeS5jOgoJICBhdWRpb2FtcGxpZnk6IEFsbG93IG5lZ2F0aXZlIGFtcGxpZmljYXRpb25zCgkgIEZpeGVzIGJ1ZyAjNjA2ODA3LgoKMjAxMC0wMS0xMyAwOToxNzowNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdGFnbGliL2dzdGFwZXYybXV4LmNjOgoJICBhcGV2Mm11eDogRG9uJ3QgY2FsbCBjb25zdHJ1Y3RvcnMgZGlyZWN0bHksIHRoaXMgbGVhZHMgdG8gY29tcGlsZXIgZXJyb3JzIHdpdGggZ2NjIDQuNQoKMjAxMC0wMS0xMiAxNzozOTowNSArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogdXNlIEdfR1NJWkVfRk9STUFUIGZvciBwbGF0Zm9ybSBpbmRlcGVuZGVudCBnc2l6ZSBxdWFsaWZpZXIKCSAgRml4ZXMgYnVpbGQgb24gbWFjb3N4CgoyMDEwLTAxLTExIDE5OjAyOjM0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiByZWZhY3RvciBlb3Mgc2VuZGluZyB3aGVuIHBhdXNpbmcgbG9vcAoJICBBbHNvLCBwcmV2ZW50IGhhbmdpbmcgaWYgbm8gcGFkcyB5ZXQgb24gd2hpY2ggdG8gc2VuZCBlb3MgYnkKCSAgcG9zdGluZyBhIG1lc3NhZ2UgaW5zdGVhZC4KCjIwMTAtMDEtMTEgMTc6NTA6MzUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IHN0YW5kYXJkaXplIHNlZWsgaGFuZGxpbmcKCSAgLi4uIHdoaWNoIGltcGxpZXMgZml4aW5nIHNvbWUgY29ybmVyIGNhc2VzLgoKMjAxMC0wMS0xMSAxNToxNDowNiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiB1c2UgbW9yZSBnZW5lcmljIHhpcGhOX3N0cmVhbWhlYWRlcl90b19jb2RlY2RhdGEgaGVscGVyCgoyMDEwLTAxLTExIDE3OjUwOjA0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IHJlZmxvdyBhdWRpbyBhbmQgdmlkZW8gc2V0Y2FwcyBhbmQgaW1wcm92ZSBsb2dnaW5nCgkgIEFsc28gZW5zdXJlIHdpZHRoIGFuZCBoZWlnaHQgYXJlIGF2YWlsYWJsZSBhcyB0aGV5IGFyZSBtYW5kYXRvcnkKCSAgaW4gbWF0cm9za2Egc3BlY3MuCgoyMDEwLTAxLTExIDExOjQyOjQzIC0wODAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZml4IG9mZnNldCBmb3IgdHlwZSAyIG1wNGEgc291bmQgc2FtcGxlIGRlc2NyaXB0aW9ucy4KCSAgQWxsb3dzIHVzIHRvIGNvcnJlY3RseSBmaW5kIHRoZSBlc2RzIChhbmQgdGh1cyB0aGUgY29kZWMgZGF0YSkgZm9yIHN1Y2gKCSAgbXA0YSBmaWxlcy4KCjIwMTAtMDEtMTEgMTU6NDU6NDkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBtcDRnZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRncGF5LmM6CgkgIHJ0cG1wNGcoZGUpcGF5OiBPbmx5IGhhbmRsZSByYXcgYWFjCgkgIHJ0cG1wNGcoZGUpcGF5IHNob3VsZCBvbmx5IGhhbmRsZSByYXcgQUFDIHN0cmVhbXMKCjIwMTAtMDEtMTEgMTg6NTk6NDMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmg6CgkgIHZpZGVvbWl4ZXI6IEltcGxlbWVudCBiYXNpYyBRb1MKCSAgVGhpcyBkcm9wcyBmcmFtZXMgaWYgdGhleSdyZSB0b28gbGF0ZSBhbnl3YXkgYmVmb3JlIGJsZW5kaW5nIGFuZCBhbGwKCSAgdGhhdCBzdGFydHMgYnV0IFFvUyBldmVudHMgYXJlIG5vdCBmb3J3YXJkZWQgdXBzdHJlYW0uIEluIHRoZSBmdXR1cmUKCSAgdGhlIFFvUyBldmVudHMgc2hvdWxkIGJlIHRyYW5zZm9ybWVkIHNvbWVob3cgYW5kIGZvcndhcmRlZCB1cHN0cmVhbS4KCjIwMTAtMDEtMTEgMTQ6NDg6MjYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBtcDRhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRhcGF5LmM6CgkgIHJ0cG1wNGEoZGUpcGF5OiBPbmx5IGFjY2VwdCByYXcgYWFjCgkgIHJ0cG1wNGEoZGUpcGF5IHNob3VsZCBvbmx5IGhhbmRsZSByYXcgYWFjIHRvIGNvbmZvcm0gdG8gdGhlIFJGQwoKMjAxMC0wMS0xMSAxODozNTo0NyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZC5jOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZF9tbXguaDoKCSAgdmlkZW9taXhlcjogQWRkIE1NWCBpbXBsZW1lbnRhdGlvbnMgZm9yIEk0MjAgYW5kIGFsbCBub24tYWxwaGEgUkdCIGZvcm1hdHMKCjIwMTAtMDEtMDQgMTA6MjQ6NDUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb21peGVyL2JsZW5kLmM6CgkqIGdzdC92aWRlb21peGVyL2JsZW5kLmg6CgkqIGdzdC92aWRlb21peGVyL2JsZW5kX2F5dXYuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRfYmdyYS5jOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZF9pNDIwLmM6CgkqIGdzdC92aWRlb21peGVyL2JsZW5kX21teC5oOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZF9yZ2IuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmg6CgkgIHZpZGVvbWl4ZXI6IFJlZmFjdG9yIHByb2Nlc3NpbmcgZnVuY3Rpb25zCgkgIFRoaXMgYWxsb3dzIGVhc2llciBwbHVnZ2luZyBvZiBvcHRpbWl6ZWQgcHJvY2Vzc2luZyBmdW5jdGlvbnMKCSAgaW4gdGhlIGZ1dHVyZSwgbGlrZSBmb3IgU1NFIG9yIEFsdGlWZWMuCgoyMDEwLTAxLTExIDEzOjI2OjMyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgYXZpbXV4OiBtYXRyb3NrYW11eDogcmVuYW1lIGFhYydzIHN0cmVhbS1mb3JtYXQgdG8gcmF3CgkgIEFBQydzIG5vbmUgc3RyZWFtLWZvcm1hdCBoYXMgYmVlbiByZW5hbWVkIHRvIHJhdywgcmVuYW1lCgkgIG9uIGF2aW11eCBhbmQgbWF0cm9za2FtdXggYXMgd2VsbAoKMjAxMC0wMS0xMSAxMjowNzoyOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBPbmx5IGFjY2VwdCByYXcgYWFjCgkgIG1ha2VzIG1hdHJvc2thbXV4IHJlamVjdCBhYWMgc3RyZWFtcyB0aGF0IGFyZSBub3QKCSAgaW4gcmF3IGZvcm1hdCAoc3RyZWFtLWZvcm1hdD1ub25lKQoJICBGaXhlcyAjNTk4MzUwCgoyMDEwLTAxLTExIDEyOjA4OjU1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkgIGF2aW11eDogT25seSBhY2NlcHQgcmF3IGFhYwoJICBtYWtlcyBhdmltdXggcmVqZWN0IGFhYyBzdHJlYW1zIHRoYXQgYXJlIG5vdAoJICBpbiByYXcgZm9ybWF0IChzdHJlYW0tZm9ybWF0PW5vbmUpCgkgIEZpeGVzICM1OTgzNTAKCjIwMTAtMDEtMTEgMTA6Mzg6MTAgKzAxMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogT29wcy4gVGhlIGdwb2ludGVyIGNhc3QgaXMgbmVlZGVkIGJlY2F1c2Ugb2YgdGhlIGNvbnN0IHF1YWxpZmllcnMgb24gdGhlIGRhdGEgZWxlbWVudHMKCjIwMTAtMDEtMTEgMTA6MTc6NTQgKzAxMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogRGVidWcgLT4gaW5mbyBsZXZlbCBmb3IgYSBtZXNzYWdlIGZvciBiZW5jaG1hcmtpbmcgaW5kZXggcGFyc2luZwoJICBUaGUgZXh0cmEgbWVzc2FnZSBvdXRwdXQgYXQgaGlnaGVyIGxldmVscyBhZmZlY3RzIHRoZSBhY2N1cmFjeSBvZiB0aGUKCSAgYmVuY2htYXJrLgoKMjAxMC0wMS0xMSAxMDowNToxMCArMDEwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBEb24ndCBjaGVjayBmb3IgTlVMTCBwb2ludGVycyBvciBjYXN0IHRvIGdwb2ludGVyIGFzIHRoaXMgaXMgbm90IG5lZWRlZAoKMjAxMC0wMS0wOCAxMzo1NTowNSArMDEwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBSZWZhY3RvciBzdGJsIHN1Yi1hdG9tIGZyZWVpbmcuIEZyZWUgd2hlbiBpbmRleCBoYXMgYmVlbiBjb21wbGV0ZWx5IHBhcnNlZC4KCjIwMTAtMDEtMDggMTQ6MzI6MDYgKzAxMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogQXZvaWQgd2hpdGVzcGFjZSBjb21taXRzIGR1ZSB0byBpbmNvbnNpc3RlbnQgR05VIGluZGVudCBiZWhhdmlvdXIKCjIwMTAtMDEtMTEgMDA6MTA6MzQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiByZW1vdmUgbmV3bGluZSBhdCBlbmQgb2YgZGVidWcgc3RhdGVtZW50CgoyMDEwLTAxLTA4IDE5OjI2OjIxICswMTAwICBIYXZhcmQgR3JhZmYgPGhhdmFyZC5ncmFmZkB0YW5kYmVyZy5jb20+CgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJICBtdWx0aXVkcHNpbms6IENvbXBpbGVyIHdhcm5pbmcgZml4ZXMgZm9yIFdpbmRvd3MKCSAgSnVzdCBzaW1wbGUgbWlzc2luZyBjYXN0cwoJICBGaXhlcyBidWcgIzYwNjQzOC4KCjIwMTAtMDEtMDggMTg6MDQ6MTQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJICBmbGFjZW5jOiBmaXggc2Vla3BvaW50cyBwcm9wZXJ0eSBjb3B5LWFuZC1wYXN0ZSBkb2N1bWVudGF0aW9uCgoyMDEwLTAxLTA2IDE3OjA2OjUzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5oOgoJICBmbGFjZW5jOiBvcHRpb25hbGx5IGFkZCBhIHNlZWsgdGFibGUKCSAgQVBJOiBHc3RGbGFjRW5jOnNlZWtwb2ludHMKCSAgRml4ZXMgIzM1MTU5NS4KCjIwMTAtMDEtMDggMTE6MzM6MDIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogVXNlIG1vcmUgZ2xpYiBhbmQgYmUgc2FmZXIKCSAgQmUgc2FmZXIgb24gc3NjYW5mIGJ5IGxpbWl0aW5nIHN0cmluZyBmb3JtYXQgc2l6ZXMuCgkgIFJlbW92ZSB1c2VsZXNzIHBhcmFtZXRlciBhbmQgdXNlIGdfc3RybmR1cC4KCjIwMTAtMDEtMDggMTA6NDQ6NDQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogU2ltcGxpZnlpbmcgY29kZQoJICBHcmVhdGx5IHNpbXBsaWZ5IHRoZSBJRElUIGNodW5rIGhhbmRsaW5nIGJ5IHVzaW5nIHNzY2FuZgoJICBpbnN0ZWFkIG9mICdtYW51YWxseScgcGFyc2luZy4gQWxzbyByZXBsYWNlcyBzdHJuY2FzZWNtcCBhbmQKCSAgaXNfYWxwaGEvaXNfZGlnaXQgd2l0aCBnbGliIHZlcnNpb25zLgoKMjAxMC0wMS0wOCAxMDoxODozMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBpdCdzIGZlYiBmb3IgZmVicnVhcnkKCSAgRml4IHR5cG8gaW4gbGFzdCBjb21taXQuCgoyMDEwLTAxLTA4IDA5OjE3OjIyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IFBhcnNlIGFuZCBwb3N0IElESVQgZGF0ZXMKCSAgUGFyc2VzIGFuZCBwb3N0IGRhdGUgdGFncyBjb250YWluZWQgaW4gSURJVCBjaHVua3MuCgkgIEZpeGVzICM1MDM1ODIKCjIwMTAtMDEtMDcgMTc6MjU6MDUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9maXJmaWx0ZXIuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9meGJhc2VmaXJmaWx0ZXIuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9meGJhc2VmaXJmaWx0ZXIuaDoKCSAgYXVkaW9meGJhc2VmaXJmaWx0ZXI6IEFkZCBwcm9wZXJ0eSBmb3Igbm90IGRyYWluaW5nIHRoZSBoaXN0b3J5IG9uIGtlcm5lbCBjaGFuZ2VzCgkgIEN1cnJlbnRseSB0aGlzIG9ubHkgd29ya3MgaWYgdGhlIGtlcm5lbCBzaXplIGRvZXNuJ3QgY2hhbmdlLCBpbiB0aGUgZnV0dXJlCgkgIGl0IHdpbGwgYmUgcG9zc2libGUgdG8gY2hhbmdlIHRoZSBrZXJuZWwgc2l6ZSB0b28gd2l0aG91dCBkcmFpbmluZwoJICB0aGUgY29tcGxldGUgaGlzdG9yeSBhbmQgd2l0aG91dCBsb29zaW5nIGFueXRoaW5nLgoJICBQYXJ0aWFsbHkgYmFzZWQgb24gYSBwYXRjaCBieQoJICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCjIwMTAtMDEtMDcgMTY6NTg6NTUgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSAgcnRwaDI2NHBheTogcmVtb3ZlIHdlaXJkIG1lbWNtcCBjb2RlCgkgIFVzZSBwbGFpbiBtZW1jbXAgZm9yIGNvbXBhcmluZyBtZW1vcnkgaW5zdGVhZCBvZiB0aGUgY3VzdG9tIGJ1Z2d5IG9uZS4KCSAgRml4ZXMgIzYwNjE5OAoKMjAxMC0wMS0wNyAxNTozODozNiArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOgoJICBsZXZlbDogZml4IHR5cG8gaW4gJ21lc3NhZ2UnIHByb3BlcnR5IGRlc2NyaXB0aW9uCgoyMDEwLTAxLTA2IDE0OjA2OjE0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSAgZmxhY2RlYzogcmVhbGx5IHVzZSB1cHN0cmVhbSB0aW1lc3RhbXAgaWYgdGhlcmUgaXMgb25lCgkgIFNlZS9maXhlcyAjNjAzNDcxLgoKMjAxMC0wMS0wNiAxMzo0NTo1OSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwZzcyOXBheS5jOgoJICBydHBnNzI4cGF5OiByZW1vdmUgdW51c2VkIGFkYXB0ZXIgcGVlawoKMjAxMC0wMS0wNSAxOTowMDozNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogSW1wcm92ZSBwYXNzdGhyb3VnaCB0ZXN0cwoJICBJbXByb3ZlIHBhc3N0aHJvdWdoIHRlc3RzIGJ5IGZvcmNpbmcgbW9yZSBzcGVjaWZpYwoJICBpbnRlcmxhY2VkL2RlaW50ZXJsYWNlZCBjYXBzIHRvIGJlIHRlc3RlZAoKMjAxMC0wMS0wNSAxODoyMjo0OSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogQWRkcyBzb21lIGRvY3MgdG8gdGhlIG5ldyB0ZXN0cwoJICBBZGRzIHNvbWUgZG9jcyBleHBsYWluaW5nIHRoZSB1dGlsaXR5IGZ1bmN0aW9ucyBvZiB0aGUgY2hlY2sKCSAgdGVzdHMgb2YgZGVpbnRlcmxhY2UKCjIwMTAtMDEtMDUgMTg6MTQ6MDggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IEFkZHMgdGVzdHMgZm9yIHBhc3N0aHJvdWdoCgkgIEFkZHMgdGVzdHMgZm9yIGNoZWNraW5nIGlmIHRoZSBlbGVtZW50IHJlYWxseSBkb2VzCgkgIHBhc3N0aHJvdWdoIGluIGRpc2FibGVkIG1vZGUgYW5kIGluIGF1dG8gKGlmIHRoZSBpbnB1dCBpcwoJICBub3QgaW50ZXJsYWNlZCkKCjIwMTAtMDEtMDUgMDc6NTA6NTEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2RlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBBZGRzIHRlc3RzIGZvciBjYXBzIGFjY2VwdGFuY2UKCSAgQWRkcyBjaGVjayB1bml0IHRlc3RzIGZvciBkZWludGVybGFjZSBmb3IgdmFsaWRhdGluZwoJICBjYXBzIGFjY2VwdGluZyBhbmQgdGhlIGV4cGVjdGVkIGNhcHMgb3V0cHV0IG9uIHRoZQoJICBvdGhlciBwYWQKCjIwMTAtMDEtMDQgMTM6NDM6MDAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2RlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBBZGRzIGJhc2ljIGNoZWNrIHRlc3QKCSAgQWRkcyBhIGJhc2ljIGNoZWNrIHRlc3QgZm9yIGRlaW50ZXJsYWNlIGVsZW1lbnQKCjIwMTAtMDEtMDQgMTU6NDQ6MjggLTA4MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogZ3N0L3F0ZGVtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogQWRkIHN1cHBvcnQgZm9yIHdhdmUtc3R5bGUgYXVkaW8gaW4gcXQuCgkgIFVzZXMgZ3N0cmlmZiB0byBwYXJzZSB0aGUgd2F2ZSBoZWFkZXJzIGFwcHJvcHJpYXRlbHkuIFRlc3RlZCB3aXRoIE1TLUFEUENNCgkgIGNvbnRlbnQuCgoyMDA5LTEyLTMxIDE3OjA5OjAzIC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHAtcGF5bG9hZGluZy5jOgoJICB0ZXN0czogQWRkIEcuNzI5IFJUUCBwYXlsb2FkZXIvZGVwYXlsb2FkZXIgdGVzdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjA2MDUwCgoyMDA5LTEyLTMxIDE2OjUyOjMwIC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjlwYXkuYzoKCSAgcnRwZzcyOXBheTogU2ltcGxpZnkgYWRhcHRlciB1c2FnZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjA2MDUwCgoyMDA5LTEyLTMxIDE2OjI3OjMwIC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjlwYXkuYzoKCSAgcnRwZzcyOXBheTogU3VwcG9ydCBwdGltZSBmcm9tIGNhcHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYwNjA1MAoKMjAwOS0xMi0wMiAxOTozNToyMSArMDUzMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9SRUFETUU6CgkgIHJ0cDogQWRkIG1heHB0aW1lIHRvIHRoZSBSRUFETUUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYwNjA1MAoKMjAxMC0wMS0wNSAxOTowMzowNiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHAvZ3N0cnRwLmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyM2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyM2RlcGF5Lmg6CgkgIHJ0cGc3MjNkZXBheTogYWRkIEc3MjMgZGVwYXlsb2FkZXIKCjIwMTAtMDEtMDUgMTk6MDI6MzkgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjlkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjlkZXBheS5oOgoJICBydHBnNzI5ZGVwYXk6IHJlbW92ZSB1bnVzZWQgdmFyaWFibGUKCjIwMTAtMDEtMDUgMTg6MzM6MjUgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzIzcGF5Lmg6CgkgIHJ0cGc3MjNwYXk6IHJld3JpdGUgcGF5bG9hZGVyCgkgIEhhbmRsZSBhbGwgMyBwYWNrZXQgc2l6ZXMgYWNjb3JkaW5nIHRvIFJGQyAzNTUxLgoJICBUb3RhbGx5IHVudGVzdGVkLCB3ZSBkb24ndCBoYXZlIGEgRzcyMyBlbmNvZGVyLgoJICBGaXhlcyAjNjA1ODgyCgoyMDEwLTAxLTA1IDExOjQ3OjIwICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBmaXggY2h1bmsgY291bnRlcgoKMjAxMC0wMS0wNCAxOTo0NDo1MyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogbW9yZSB3b3JrIGF0IHJlZHVjaW5nIGxvb3Agb3ZlcmhlYWQKCSAgVHJ5IHRvIGF2b2lkIGRlcmVmcyB3aGVuIHBhcnNpbmcgdGhlIGluZGV4LiBTYXZlIHRoZSBzdGF0ZSBpbnRvIHRoZSBzdHJ1Y3R1cmVzCgkgIHdoZW4gd2UgZXhpdCB0aGUgbG9vcCBpbnN0ZWFkIG9mIGZvciBlYWNoIGl0ZXJhdGlvbi4KCjIwMTAtMDEtMDQgMTY6MzM6MzAgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGNsZWFudXBzIGFuZCBtYWtlIGR1cmF0aW9uIG1vcmUgYWNjdXJhdGUKCSAgTWFrZSB0aGUgUXREZW11eFNhbXBsZSBzdHJ1Y3Qgc21hbGxlciBieSBrZWVwaW5nIHRoZSBkdXJhdGlvbiBhbmQgdGhlIHB0c19vZmZzZXQKCSAgYXMgdGhlaXIgMzIgYml0IHZhbHVlcy4KCSAgTWFrZSBzb21lIG1hY3JvcyB0byBjYWxjdWxhdGUgUFRTLCBEVFMgYW5kIGR1cmF0aW9uIG9mIGEgc2FtcGxlLgoJICBEZXJlZiB0aGUgc2FtcGxlIGluZGV4IGxlc3Mgb2Z0ZW4gYnkga2VlcGluZyBhIHJlZiB0byB0aGUgc2FtcGxlIHdlJ3JlIGRlYWxpbmcKCSAgd2l0aC4KCjIwMTAtMDEtMDQgMTM6NDE6MTggKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHNpbXBsaWZ5IGxvZ2ljIHRvIGNhbGN1bGF0ZSBkdXJhdGlvbgoJICBTaW5jZSB3ZSBubyBsb25nZXIgc3RvcmUgdGhlIHRpbWVzdGFtcCBhbmQgZHVyYXRpb24gaW4gbmFub3NlY29uZHMsIHdlIGNhbiBub3cKCSAgc2ltcGx5IHN0b3JlIHRoZSBkdXJhdGlvbiBhcy1pcy4KCjIwMTAtMDEtMDEgMTY6NDI6NTcgKzAxMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogU3RvcmUgdGltZXN0YW1wcyBpbiBtb3YgZm9ybWF0IGluIHRoZSBpbmRleAoJICBUaGlzIGFsbG93cyBmYXN0ZXIgYnVpbGRpbmcgb2YgdGhlIGluZGV4IHVwb24gc2Vla3Mgc28gdGhhdCBzY2FsaW5nIG9mCgkgIHRpbWVzdGFtcHMgb25seSBvY2N1cnMgd2hlbiBhY3R1YWxseSBuZWVkZWQuCgoyMDA5LTEyLTE4IDEzOjU0OjQ2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBtYWtlIHNlZWtpbmcgaW4gcHVzaCBtb2RlIHdvcmsKCSAgTW92ZSBzYW1wbGUgcG9zaXRpb24gY2hlY2tzIGludG8gcXRkZW11eF9wYXJzZV9zYW1wbGVzIHdoZXJlIHdlIGNhbiBwcm90ZWN0IGl0CgkgIHdpdGggYSBsb2NrLgoJICBSZWZhY3RvciBhbmQgbWFrZSBhbiBxdGRlbXV4X2Vuc3VyZV9pbmRleCBmdW5jdGlvbi4KCSAgUmVuYW1lIHF0ZGVtdXhfZG9fcHVzaF9zZWVrIHRvIHF0ZGVtdXhfc2Vla19vZmZzZXQgaW4gb3JkZXIgdG8gYXZvaWQgY29uZnVzaW9uCgkgIHdpdGggZ3N0X3F0ZGVtdXhfZG9fcHVzaF9zZWVrLgoKMjAwOS0xMi0xOCAxMjo0NDoyNyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogbW92ZSBlcnJvciBjb2RlIG91dCBvZiBub3JtYWwgZmxvdwoKMjAwOS0xMS0yNCAxNjoyNzoyNiArMDEwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4Lmg6CgkgIHF0ZGVtdXg6IEFkZCBwdXNoIG1vZGUgc2VlayBzdXBwb3J0IGZvciBzZWVraW5nIHRvIG9idGFpbiB0aGUgbW9vdiBhdG9tCgoyMDEwLTAxLTA1IDEyOjIyOjA5ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBmaXggb24tbnB0LXN0b3Agc2lnbmFsIHdhcm5pbmdzIGZvciBSRFQKCSAgVGhlIFJEVCBtYW5hZ2VyIGRvZXMgbm90IGltcGxlbWVudCB0aGlzIHNpZ25hbCBzbyB3ZSBuZWVkIHRvIGNoZWNrIGZvciBpdCBiZWZvcmUKCSAgdHJ5aW5nIHRvIGNvbm5lY3QgdG8gaXQuCgoyMDEwLTAxLTA1IDA5OjQ3OjAwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgdjRsMnNyYzogZml4IG1lbW9yeSBsZWFrIGluIG5ldyB1cmkgaGFuZGxlciBjb2RlCgkgIERvbid0IGxlYWsgYSBzdHJpbmcgZXZlcnl0aW1lIGdldF91cmkoKSBpcyBjYWxsZWQgYW5kIGEgZGV2aWNlCgkgIGhhcyBiZWVuIHNldC4gVGhlcmUncyBhIGxpbWl0ZWQgbnVtYmVyIG9mIGRldmljZXMsIHNvIGp1c3QKCSAgaW50ZXJuIHRoZSBzdHJpbmcgaW5zdGVhZCBvZiBkb2luZyBtb3JlIGVsYWJvcmF0ZSBob3VzZWtlZXBpbmcKCSAgYW5kIHN0b3JpbmcgaXQgaW4gdGhlIGluc3RhbmNlIHN0cnVjdCBvciBzby4KCjIwMTAtMDEtMDEgMTQ6MTA6NDkgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkgIGF2aW11eDogZml4IHR5cG8gaW4gd2FybmluZyBtZXNzYWdlCgoyMDEwLTAxLTA0IDA5OjI4OjM2IC0wMzAwICBSb2JlcnQgV2VpZGxpY2ggPGdub21lYnVnemlsbGFAcm9iZXJ0LndlaWRsaWNoLmNjPgoKCSogZXh0L3Nob3V0Mi9nc3RzaG91dDIuYzoKCSogZXh0L3Nob3V0Mi9nc3RzaG91dDIuaDoKCSAgc2hvdXQyc2VuZDogQWRkICdwdWJsaWMnIHByb3BlcnR5CgkgIEFkZHMgYSBwcm9wZXJ0eSB0byBzZXQgJ3B1YmxpYycgZmxhZyBvbiBsaWJzaG91dCwgbWFraW5nCgkgIHRoZSBzdHJlYW0gbGlzdGVkIG9uIHRoZSBzZXJ2ZXIncyBzdHJlYW0gZGlyZWN0b3J5LgoJICBGaXhlcyAjNjA1MjY5CgoyMDA5LTEyLTMwIDE0OjE0OjU1ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogQWRkIHRhZ3MgZm9yIGF2ZXJhZ2UgYW5kIG1heGltdW0gYml0cmF0ZQoJICBGaXhlcyAjNTk5MzAwLgoKMjAwOS0xMi0yNiAxNjo1OToxNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWZpcmZpbHRlci5jOgoJICBhdWRpb2Z4YmFzZWZpcmZpbHRlcjogZG8gbm90IHRyeSB0byBhbGxvYyByZWFsbHkgbGFyZ2UgYnVmZmVycwoJICBXaGVuIG5zYW1wbGVzX291dCBpcyBsYXJnZXIgdGhhbiBuc2FtcGxlc19pbiwgdXNpbmcgdW5zaWduZWQKCSAgaW50cyBsZWFkIHRvIGEgb3ZlcmZsb3cgYW5kIHRoZSByZXN1bHRpbmcgdmFsdWUgaXMgd3JvbmcgYW5kCgkgIHdheSB0b28gbGFyZ2UgZm9yIGFsbG9jYXRpbmcgYSBidWZmZXIuIFVzZSBzaWduZWQgaW50ZWdlcnMKCSAgYW5kIHJldHVybmluZyBpbW1lZGlhdGVsbHkgd2hlbiB0aGF0IGhhcHBlbnMuCgoyMDA5LTEyLTI1IDEyOjM4OjM1ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRfYXl1di5jOgoJICB2aWRlb21peGVyOiBvcHRpbWl6ZSBibGVuZCBjb2RlIHNvbWUgbW9yZQoJICBVc2UgbW9yZSBlZmZpY2llbnQgZm9ybXVsYSB0aGF0IHVzZXMgbGVzcyBtdWx0aXBsaWVzLgoJICBSZWR1Y2UgdGhlIGFtb3VudCBvZiBzY2FsYXIgY29kZSwgdXNlIE1NWCB0byBjYWxjdWxhdGUgdGhlIGRlc2lyZWQKCSAgYWxwaGEgdmFsdWUuCgkgIFVucm9sbCBhbmQgaGFuZGxlIDIgcGl4ZWxzIGluIG9uZSBpdGVyYXRpb24gZm9yIGltcHJvdmVkIHBhaXJpbmcuCgoyMDA5LTEyLTI0IDIyOjU5OjA5ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRfYXl1di5jOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZF9iZ3JhLmM6CgkqIGdzdC92aWRlb21peGVyL2JsZW5kX2k0MjAuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRfcmdiLmM6CgkgIHZpZGVvbWl4ZXI6IHNjYWxlIGFuZCBjbGFtcAoJICBTY2FsZSBhbmQgY2xhbXAgdG8gdGhlIG1heCBhbHBoYSB2YWx1ZXMuCgoyMDA5LTEyLTI0IDIyOjUwOjMxICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FscGhhL2dzdGFscGhhLmM6CgkgIGFscGhhOiBzY2FsZSBhbmQgY2xhbXAgYWxwaGEgdG8gaXRzIGZ1bGwgZXh0ZW5kCgkgIENvbnZlcnQgdGhlIGFscGhhIHZhbHVlIHRvIDAtPjI1NSB3aGVuIHNldHRpbmcgYW5kIHRvIDAtPjI1NiB3aGVuIHVzaW5nIGFzCgkgIGEgc2NhbGluZyBmYWN0b3IuIFRoaXMgbWFrZXMgc3VyZSB3ZSBjYW4gcmVhY2ggdGhlIGZ1bGwgb3BhY2l0eSB2YWx1ZSBvZiAweGZmIGluCgkgIGFsbCBjYXNlcy4KCjIwMDktMTItMjQgMjI6MjM6MDEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGZpeCBzb21lIGNvbW1lbnRzLCByZW1vdmUgcHJvcGVydHkgY2hlY2sKCSAgRml4IHNvbWUgY29tbWVudHMsIGNsYXJpZnkgc29tZSBGSVhNRXMKCSAgUmVtb3ZlIHRoZSBvbi1udHAtc3RvcCBzaWduYWwgY2hlY2sgbm93IHRoYXQgdGhlIGppdHRlcmJ1ZmZlciBpcyBpbgoJICAtZ29vZCBhbmQgd2Uga25vdyB0aGF0IGl0IHN1cHBvcnRzIHRoaXMgc2lnbmFsLgoKMjAwOS0xMi0yNCAyMDoyNzo1NyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSAgdmlkZW9taXhlcjogc29tZSB0cml2aWFsIGNsZWFudXBzCgoyMDA5LTEyLTI0IDE3OjA0OjI4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogUGFyc2UgYWxsIHJ0cGluZm8gZW50cmllcwoJICBEbyBub3QgZm9yZ2V0IHRvIHBhcnNlIGFsbCBydHAtaW5mbyBlbnRyaWVzLCBpbnN0ZWFkIG9mCgkgIHBhcnNpbmcgdGhlIGZpcnN0IG9uZSBvbmx5LgoJICBGaXhlcyAjNjA1MjIyCgoyMDA5LTEyLTIyIDEyOjQ0OjUwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogcGVyZiB0YWcgc2hvdWxkIG1hcCB0byBHU1RfVEFHX0FSVElTVAoKMjAwOS0xMi0yNCAxNzowMzowMiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzoKCSAgaW50ZXJsZWF2ZTogZml4IHdlaXJkIGluZGVudGF0aW9uCgoyMDA5LTEyLTI0IDE3OjAxOjU0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcHBheS5jOgoJICBydHBoMjYzcHBheTogdXNlIGZhc3RlciBfYWRhcHRlcl9jb3B5KCkgd2hlbSBwb3NzaWJsZQoKMjAwOS0xMi0yNCAxNzowMToxNSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL2F1ZGlvZngvZmlyZmlsdGVyLWV4YW1wbGUuYzoKCSAgdGVzdHM6IHVzZSByaWdodCB0eXBlIHdoZW4gcGFzc2luZyB2YXJhcmcgdmFsdWUKCjIwMDktMTItMjMgMTc6NTA6MzQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmg6CgkgIGZsYWNkZWM6IHVzZSBhIHNpbmdsZSBkZWNvZGVyIGZpZWxkIGZvciBib3RoIHB1c2ggYW5kIHB1bGwgbW9kZQoKMjAwOS0xMi0yMyAxNzowMzozMiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkgIGZsYWNkZWM6IGZpeCBwb3NzaWJsZSBoYW5naW5nIGluIHB1bGwgbW9kZSBzZWVraW5nCgkgIEEgc2VlayBpbiBtdWx0aS1zaW5rIHBpcGVsaW5lIHR5cGljYWxseSBsZWFkcyB0byBzZXZlcmFsIHNlZWsgZXZlbnRzIGluIGEgcm93LAoJICB3aGljaCBjb3VsZCBsZWFkIHRvIHNlbmRpbmcgc2V2ZXJhbCBuZXdzZWdtZW50cyBpbiBhIHJvdyB3aXRob3V0IGludGVybWVkaWF0ZQoJICBmbHVzaGluZy4gIFRoZXNlIHdvdWxkIHRoZW4gYWNjdW11bGF0ZSwgZGlzdG9ydCByZW5kZXJpbmcgdGltZXMgYW5kIGFzIHN1Y2gKCSAgbGVhZCB0byAnaGFuZ2luZycuCgoyMDA5LTEyLTIzIDE5OjM5OjA1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJICBydHBoMjY0cGF5OiBmaXggdW5pbml0aWFsaXplZCB2YXJpYWJsZQoKMjAwOS0xMi0yMyAxMzowOTo1NCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0YXN0ZXJpc2toMjYzLmM6CgkqIGdzdC9ydHAvZ3N0cnRwTDE2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhYzNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYW1ycGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYnZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjlkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGlsYmNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqcGVnZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDFzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDJ0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRhcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcGFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wdmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtdWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtdXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHFkbWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc2lyZW5wYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzdjN2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2cmF3ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2cmF3cGF5LmM6CgkgIHJ0cDogdXNlIGJvaWxlcnBsYXRlCgoyMDA5LTEyLTIzIDAwOjM4OjA1ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBMMTZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBMMTZwYXkuaDoKCSAgcnRwTDE2cGF5OiBjb252ZXJ0IHRvIGJhc2VhdWRpb3BheWxvYWQKCSAgVXNlIEdzdFJUUEJhc2VBdWRpb1BheWxvYWQgYXMgdGhlIGJhc2UgY2xhc3MuIFRoaXMgc2F2ZXMgYSBsb3Qgb2YgY29kZSBhbmQgZml4ZXMKCSAgYSBidW5jaCBvZiBwcm9ibGVtcyB0aGF0IHdlcmUgYWxyZWFkeSBzb2x2ZWQgaW4gdGhlIGJhc2UgY2xhc3MuCgkgIEZpeGVzICM4NTMzNjcKCjIwMDktMTItMjMgMDA6MzA6NDkgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cHBjbWFwYXkuYzoKCSAgcnRwcGNtYXBheTogdGhlIGJvaWxlcnBsYXRlIG1hY3JvIHNldHMgcGFyZW50X2NsYXNzCgoyMDA5LTEyLTIyIDIyOjI3OjIxICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmg6CgkgIHJ0cGJpbjogYXZvaWQgc29tZSBzdHJ1Y3R1cmUgY29waWVzCgkgIERvbid0IG1ha2UgY29waWVkIGluIHRoZSBnZXR0ZXIgYW5kIHNldHRlciBmb3IgU0RFUyBpbiB0aGUgUlRQU291cmNlLiBUaGlzCgkgIGF2b2lkcyBhIGNvdXBsZSBvZiBjb3BpZXMgb2YgdGhlIFNERVMgc3RydWN0dXJlIHdoZW4gZ2VuZXJhdGluZyBSVENQCgkgIHBhY2tldHMuCgoyMDA5LTA4LTMxIDE4OjQyOjI1ICswMjAwICBQYXNjYWwgQnVobGVyIDxwYXNjYWwuYnVobGVyQHRhbmRiZXJnLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5oOgoJICBydHBtYW5hZ2VyOiBpbXByb3ZlIFNERVMgaGFuZGxpbmcKCSAgU3RvcmUgU0RFUyBpbnRlcm5hbGx5IGFzIGEgc3RydWN0IHRvIHN1cHBvcnQgbXVsdGlwbGUgUFJJViB2YWx1ZXMuCgkgIEluY2x1ZGUgYWxsIHZhbHVlcyBzZXQgaW4gU0RFUyBzdHJ1Y3Qgd2hlbiBzZW5kaW5nIFJUQ1AgU0RFUy4KCjIwMDktMTItMjIgMTQ6NDE6MzUgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNkZXBheS5jOgoJICBydHBoMjYzZGVwYXk6IGFkZCBzb21lIGZpeG1lcwoKMjAwOS0xMi0yMiAxNDozNToxMyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2M2RlcGF5LmM6CgkgIHJ0cGgyNjNkZXBheTogYmFzZWNsYXNzIGhhbmRsZXMgdGltZXN0YW1wcyBmb3IgdXMKCjIwMDktMTItMjIgMTQ6Mjc6NDAgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNkZXBheS5jOgoJICBydHBoMjYzZGVwYXk6IHJlc2V0IHN0YXJ0IHZhcmlhYmxlIHByb3Blcmx5CgoyMDA5LTA1LTI5IDE1OjQ5OjI3ICswMzAwICBNYXJjbyBCYWxsZXNpbyA8bWFyY28uYmFsbGVzaW9Abm9raWEuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjYzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzZGVwYXkuaDoKCSAgRHJvcCB0aGUgd2hvbGUgZnJhbWUgaWYgYSBwYWNrZXQgaXMgbG9zdC4KCSAgRml4ZXMgIzU4MjU3NQoKMjAwOS0xMi0yMSAyMDozOTo1MyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuaDoKCSAgcnRwaDI2NHBheTogYWRkIG9wdGlvbiB0byBpbnNlcnQgUFBTL1NQUyBpbiBzdHJlYW1zCgkgIEFkZCBhIG5ldyBzcHNwcHMtaW50ZXJ2YWwgcHJvcGVydHkgdG8gaW5zdHJ1Y3QgdGhlIHBheWxvYWRlciB0byBpbnNlcnQKCSAgU1BTIGFuZCBQUFMgYXQgcGVyaW9kaWMgaW50ZXJ2YWxzIGluIHRoZSBzdHJlYW0uCgkgIFJld29yayB0aGUgU1BTL1BQUyBoYW5kbGluZyBzbyB0aGF0IGJ5dGVzdHJlYW0gYW5kIEFWQyBzYW1wbGUgY29kZSBib3RoIHVzZSB0aGUKCSAgc2FtZSBjb2RlIHBhdGhzIHRvIGhhbmRsZSBzcHJvcC1wYXJhbWV0ZXItc2V0cy4gVGhpcyBhbHNvIGFsbG93cyB0byBoYXZlIHRoZSBBVkMKCSAgY29kZSB0byBpbnNlcnQgU1BTL1BQUyBsaWtlIHRoZSBieXRlc3RyZWFtIGNvZGUuCgkgIEZpeGVzICM2MDQ5MTMKCjIwMDktMTItMjEgMTk6MTI6MjIgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA0N2NiMjNhIHRvIDE0Y2VjODkKCjIwMDktMTItMjEgMTI6MDE6NTMgLTAzMDAgIEpvbmF0aGFuIENvbmRlciA8akBza3Vydnkubm8taXAub3JnPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4X2ZvdXJjYy5oOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4X3R5cGVzLmM6CgkgIHF0ZGVtdXg6IEFkZHMgbmV3IHRhZ3MKCSAgQWRkcyBzb21lIG5ldyB0YWdzIG1hcHBpbmcgdG8gcXRkZW11eC4KCSAgRml4ZXMgIzU5OTc1OQoKMjAwOS0xMi0yMSAxNTowNTowOSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IGFkZCBwcm9wZXJ0eSB0byByZW1vdmUgcGFkcyBhdXRvbWF0aWNhbGx5CgkgIEFkZCBhIHByb3BlcnR5IGNhbGxlZCBhdXRvcmVtb3ZlIHRvIGF1dG9tYXRpY2FsbHkgcmVtb3ZlIHRoZSBwYWRzIG9mIHNvdXJjZXMKCSAgdGhhdCB0aW1lZCBvdXQuCgkgIEZpeGVzICM1NTQ4MzkKCjIwMDktMTItMjEgMTQ6NTU6MTYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSAgc3NyY2RlbXV4OiBmaXggY29tcGFyaXNvbgoJICBBIE5VTEwgbWVhbnMgbm8gcGFkIHdhcyBmb3VuZC4KCjIwMDktMTEtMDggMTE6NDk6MTQgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIHY0bDJzcmM6IEFkZCBHc3RVUklIYW5kbGVyIGludGVyZmFjZS4gRml4ZXMgIzYwMTE0MwoJICBUaGlzIGFsbG93cyB1c2luZyB2NGwyOi8vWzxkZXZpY2U+XQoKMjAwOS0xMi0yMCAxNzoyNDo0NyAtMDgwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSAgbXVsdGl1ZHBzaW5rOiBwYXNzIGxlbmd0aCBwYXJhbWV0ZXIgdG8gZ19jb252ZXJ0CgoyMDA5LTEyLTE4IDEyOjQ0OjUwICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thOiBGaXggdW5pdGlhbGl6ZWQgdmFyaWFibGUuCgkgIFllcywgaXQncyBzdHVwaWQsIGJ1dCBtYWNvc3ggY29tcGlsZXJzIGFyZSBldmVuIG1vcmUgc3R1cGlkLgoKMjAwOS0xMi0xNyAxNjowMToyNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZF9heXV2LmM6CgkgIHZpZGVvbWl4ZXI6IEZpeCBhc3NlbWJseSBjb21waWxhdGlvbiBvbiB4ODYKCSAgRml4ZXMgYnVnICM2MDQ4MTQuCgoyMDA5LTEyLTE3IDE3OjM3OjAzICswMTAwICBCcmFua28gxIxpYmVqIDxicmFuZSBhdCB4YmMubnU+CgoJKiBnc3QvcmVwbGF5Z2Fpbi9yZ2FuYWx5c2lzLmM6CgkgIHJnYW5hbHlzaXM6IGZpeCB0aW1lc3RhbXAgcm91bmRpbmcKCSAgVXNlIHNjYWxpbmcgZnVuY3Rpb24gdG8gcm91bmQgYW5kIGF2b2lkIG92ZXJmbG93cy4KCSAgRml4ZXMgIzYwNDM1MgoKMjAwOS0xMi0xNyAxNzoyNzo0MiArMDEwMCAgVGlhZ28gS2F0Y2lwaXMgPHRpYWdvLmthdGNpcGlzQGRpZ2l0cm8uY29tLmJyPgoKCSogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cC9nc3RydHAuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzIzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyM3BheS5oOgoJICBydHA6IGFkZCBHNzIzIHBheWxvYWRlcgoJICBGaXhlcyAjNTk3ODIzCgoyMDA5LTEyLTE3IDE2OjIyOjU2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4X3R5cGVzLmM6CgkgIHF0ZGVtdXg6IEZpeCBBTEFDIGNvZGVjX2RhdGEgcGFyc2luZwoJICBGaXhlcyAjNjA0NjExCgoyMDA5LTEyLTE2IDE3OjI4OjMwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogUmVtb3ZlIGNwcCBzdHlsZSBjb21lbnRzCgkgIFJlbW92ZXMgLy8gY29tbWVudHMgYW5kIHJlcGxhY2UgdGhlbSB3aXRoIC8qICovIGNvbW1lbnRzCgoyMDA5LTEyLTE2IDEyOjQ4OjAyICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguaDoKCSAgbWF0cm9za2FkZW11eDogYWxzbyBjb25zaWRlciBCbG9ja051bWJlciBpbmRpY2F0ZWQgaW4gaW5kZXggd2hlbiBzZWVraW5nCgoyMDA5LTEyLTE2IDEyOjQzOjI3ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9lYm1sLXJlYWQuYzoKCSogZ3N0L21hdHJvc2thL2VibWwtcmVhZC5oOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4Lmg6CgkgIG1hdHJvc2thZGVtdXg6IHN1cHBvcnQgcHVzaCBiYXNlZCBtb2RlCgkgIEZpeGVzICM1OTg2MTAuCgoyMDA5LTEyLTE2IDEyOjQ0OjM2ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9lYm1sLXJlYWQuYzoKCSAgbWF0cm9za2FkZW11eDogZml4IGVibWwgcmVhZCBjYWNoZSB1c2FnZQoKMjAwOS0xMi0xNiAxMDo1MDozMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZF9heXV2LmM6CgkgIHZpZGVvbWl4ZXI6IFVzZSBtb3Z6YmwgaW5zdGVhZCBvZiBtb3Z6eGIgZm9yIG1vdmluZyBvbmUgYnl0ZSB0byBhIGwgcmVnaXN0ZXIKCSAgRm9yIHNvbWUgcmVhc29uIGxhdGVzdCBnY2MvYmludXRpbHMgYWNjZXB0IG1vdnp4YiBoZXJlIHdoaWxlCgkgIG1vdnpibCB3b3VsZCBiZSBjb3JyZWN0IGFuZCBpcyB0aGUgb25seSB0aGluZyBhY2NlcHRlZCBieSBvbGRlcgoJICBnY2MvYmludXRpbHMuCgkgIEZpeGVzIGJ1ZyAjNjA0Njc5LgoKMjAwOS0xMi0xNiAwNjo1OTowMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZF9heXV2LmM6CgkgIHZpZGVvbWl4ZXI6IHNyYy9kZXN0IGFyZSBpbnB1dCBhbmQgb3V0cHV0IG9mIHRoZSBBWVVWIGJsZW5kaW5nIE1NWCBhc3NlbWJsZXIKCjIwMDktMTItMTUgMTg6MTg6NTQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW93c2luY2JhbmQuYzoKCSAgYXVkaW93c2luY2JhbmQ6IFVzZSB0aGUgc2FtZSB1cHBlciBsZW5ndGggbGltaXQgYXMgYXVkaW93c2luY2xpbWl0CgoyMDA5LTEyLTEyIDE3OjAwOjUwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvd3NpbmNiYW5kLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvd3NpbmNsaW1pdC5jOgoJICBhdWRpb3dzaW5je2xpbWl0LGJhbmR9OiBBbGxvdyBtdWNoIGxhcmdlciBmaWx0ZXIgbGVuZ3RocyBub3cKCjIwMDktMTItMTEgMTI6Mjc6MzIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9meGJhc2VmaXJmaWx0ZXIuYzoKCSAgYXVkaW9meGJhc2VmaXJmaWx0ZXI6IEZpeCBmcmVxdWVuY3kgcmVzcG9uc2UgY2FsY3VsYXRpb24KCjIwMDktMTItMDggMTQ6NTc6MDIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9meGJhc2VmaXJmaWx0ZXIuYzoKCSAgYXVkaW9meGJhc2VmaXJmaWx0ZXI6IFJlbW92ZSBkZWFkIGFzc2lnbm1lbnRzCgoyMDA5LTEyLTA2IDE2OjU4OjUxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZnhiYXNlZmlyZmlsdGVyLmM6CgkgIGF1ZGlvZnhiYXNlZmlyZmlsdGVyOiBBZGQgc3BlY2lhbCBwcm9jZXNzaW5nIGZ1bmN0aW9ucyBmb3IgTW9uby9TdGVyZW8KCSAgVGhpcyBwcm92aWRlcyBhbm90aGVyIDclIHNwZWVkdXAgZm9yIHRoZSB0aW1lIGRvbWFpbiBjb252b2x1dGlvbiBhbmQgMS41JQoJICBzcGVlZHVwIGZvciB0aGUgRkZUIGNvbnZvbHV0aW9uIG9uIE1vbm8gaW5wdXQuCgkgIFRoaXMgb3B0aW1pemF0aW9uIGFzc3VtZXMgdGhhdCB0aGUgY29tcGlsZXIgc2ltcGxpZmllcyBjYWxjdWxhdGlvbnMKCSAgYW5kIGNvbmRpdGlvbnMgb24gY29uc3RhbnQgbnVtYmVycyBhbmQgdW5yb2xscyBsb29wcyB3aXRoIGEgY29uc3RhbnQKCSAgbnVtYmVyIG9mIHJlcGVhdHMuCgoyMDA5LTEyLTA0IDA5OjI1OjQ5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZnhiYXNlZmlyZmlsdGVyLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZnhiYXNlZmlyZmlsdGVyLmg6CgkgIGF1ZGlvZnhiYXNlZmlyZmlsdGVyOiBBZGQgYSAibG93LWxhdGVuY3kiIG1vZGUKCSAgVGhpcyB3aWxsIGFsd2F5cyB1c2UgdGltZS1kb21haW4gY29udm9sdXRpb24sIHdoaWNoIGxvd2VycyB0aGUgbGF0ZW5jeS4KCSAgV2l0aCBGRlQgY29udm9sdXRpb24gaXQncyBhbHdheXMgYSBtdWx0aXBsZSBvZiB0aGUga2VybmVsIGxlbmd0aCwKCSAgd2l0aCB0aW1lIGRvbWFpbiBjb252b2x1dGlvbiBpdCdzIG9ubHkgdGhlIHByZS1sYXRlbmN5IG9mIHRoZSBmaWx0ZXIga2VybmVsLgoKMjAwOS0xMi0wNCAwOTowMDoyMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWZpcmZpbHRlci5jOgoJICBhdWRpb2Z4YmFzZWZpcmZpbHRlcjogUmVtb3ZlIG9ic29sZXRlIFRPRE8gY29tbWVudHMKCjIwMDktMTItMDMgMjA6MTI6MDEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9meGJhc2VmaXJmaWx0ZXIuYzoKCSAgYXVkaW9meGJhc2VmaXJmaWx0ZXI6IFVzZSBzYW1wbGVzIGV2ZXJ5d2hlcmUgaW5zdGVhZCBvZiBzYW1wbGVzKmNoYW5uZWxzIHNvbWV0aW1lcwoKMjAwOS0xMi0wMyAxNzoyNzoxMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9meC9NYWtlZmlsZS5hbToKCSogZ3N0L2F1ZGlvZngvYXVkaW9meGJhc2VmaXJmaWx0ZXIuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9meGJhc2VmaXJmaWx0ZXIuaDoKCSAgYXVkaW9meGJhc2VmaXJmaWx0ZXI6IEZGVCBjb252b2x1dGlvbiBpbXBsZW1lbnRhdGlvbgoJICBUaGlzIHByb3ZpZGVzIGEgZ3JlYXQgc3BlZWR1cCwgZXNwZWNpYWxseSB0aGUgcmVsYXRpb25zaGlwIGJldHdlZW4ga2VybmVsCgkgIGxlbmd0aCBhbmQgcHJvY2Vzc2luZyBzaXplIGlzIG5vdyBsb2dhcml0aG1pYyBpbnN0ZWFkIG9mIGxpbmVhci4gQmVsb3cgYQoJICBrZXJuZWwgc2l6ZSBvZiAzMiBpdCdzIGEgYml0IHNsb3dlciwgYWZ0ZXJ3YXJkcyBpdCdzIG11Y2ggZmFzdGVyOgoJICAxNyAgICAgMC43ODgwMDAgLT4gMC45NTAwMDAKCSAgMzMgICAgIDEuMjA4MDAwIC0+IDEuMTQ2MDAwCgkgIDY1ICAgICAyLjE2NjAwMCAtPiAxLjE0NjAwMAoJICAuLi4KCSAgNDA5NyAxMDcuNDQ0MDAwIC0+IDEuNTA4MDAwCgkgIEZvciBzaXplcyBzbWFsbGVyIDMyIHRoZSBub3JtYWwgdGltZS1kb21haW4gY29udm9sdXRpb24gaXMgY2hvc2VuLAoJICBmb3IgbGFyZ2VyIHNpemVzIHRoZSBGRlQgY29udm9sdXRpb24gaXMgYXV0b21hdGljYWxseSB1c2VkLgoJICBGaXhlcyBidWcgIzU5NDM4MS4KCjIwMDktMTEtMjcgMjA6MzM6MTQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9meGJhc2VmaXJmaWx0ZXIuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9meGJhc2VmaXJmaWx0ZXIuaDoKCSAgYXVkaW9meGJhc2VmaXJmaWx0ZXI6IE1ha2UgbW9zdCBjb2RlIHBhcnRzIGluZGVwZW5kZW50IG9mIHRoZSBwcm9jZXNzaW5nIGZ1bmN0aW9ucyBhbmQgdXNlZCBjb252b2x1dGlvbiBhbGdvcml0aG0KCSAgT25seSByZW1haW5pbmcgcGFydCBpcyB0aGUgcmVzaWR1ZSBwdXNoaW5nLCB3aGljaCB3aWxsIGJlIGZpeGVkIGxhdGVyLgoKMjAwOS0xMS0yNiAxNToxNzoyNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWZpcmZpbHRlci5jOgoJICBhdWRpb2Z4YmFzZWZpcmZpbHRlcjogT3B0aW1pemUgdGltZS1kb21haW4gY29udm9sdXRpb24KCSAgUmVtb3ZlIHNvbWUgcmVkdW5kYW50IGNhbGN1bGF0aW9ucywgbW92ZSBjb21wYXJpc2lvbnMgb3V0IG9mCgkgIGlubmVyIGxvb3BzLCBldGMuCgkgIFRoaXMgbWFrZXMgdGhlIGNvbnZvbHV0aW9uIGFib3V0IDMgKCEpIHRpbWVzIGZhc3RlciBidXQKCSAgcHJvY2Vzc2luZyB0aW1lIGlzIG9mIGNvdXJzZSBzdGlsbCBwcm9wb3J0aW9uYWwgdG8gdGhlCgkgIGZpbHRlciBzaXplLgoKMjAwOS0xMS0yNiAxMDo0NTozNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWZpcmZpbHRlci5jOgoJICBhdWRpb2Z4YmFzZWZpcmZpbHRlcjogVXNlIF9DQVNUIG1hY3JvcyBpbiBzb21lIHBsYWNlcyBhbmQgZG8gc29tZSBjYWxjdWxhdGlvbnMgb25seSBvbmNlCgoyMDA5LTExLTI1IDE4OjEyOjA1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZnhiYXNlZmlyZmlsdGVyLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZnhiYXNlZmlyZmlsdGVyLmg6CgkgIGF1ZGlvZnhiYXNlZmlyZmlsdGVyOiBSZXdyaXRlIHRpbWVzdGFtcCB0cmFja2luZwoJICBJdCdzIG11Y2ggc2ltcGxlciBub3cgYW5kIGRvZXNuJ3QgaW50cm9kdWNlIGFjY3VtdWxhdGluZyByb3VuZGluZwoJICBlcnJvcnMuCgoyMDA5LTExLTI1IDE3OjM5OjUzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZnhiYXNlZmlyZmlsdGVyLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZnhiYXNlZmlyZmlsdGVyLmg6CgkgIGF1ZGlvZnhiYXNlZmlyZmlsdGVyOiBSZW5hbWUgc29tZSB2YXJpYWJsZXMgYW5kIGNoYW5nZSBjb21tZW50cwoKMjAwOS0xMS0yNCAyMDowNjoyNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWZpcmZpbHRlci5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWZpcmZpbHRlci5oOgoJICBhdWRpb2Z4YmFzZWZpcmZpbHRlcjogQWRkIGNvbnN0IHF1YWxpZmllciB0byB0aGUgc291cmNlIGRhdGEgYXJyYXkKCjIwMDktMTItMTQgMjA6MDg6MDYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb21peGVyL2JsZW5kX2F5dXYuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJICB2aWRlb21peGVyOiBBZGQgTU1YIGltcGxlbWVudGF0aW9ucyBvZiB0aGUgQVlVViBibGVuZGluZyBhbmQgY29sb3IgZmlsbGluZyBmdW5jdGlvbnMKCSAgVGhpcyBwcm92aWRlcyBhIDIwJSBzcGVlZHVwIGZvciBibGVuZGluZyBhbmQgMTAwJSBmb3IgY29sb3IgZmlsbGluZy4KCSAgVGhlIGJsZW5kaW5nIGNhbiBwcm9iYWJseSBiZSBvcHRpbWl6ZWQgZXZlbiBtb3JlLgoKMjAwOS0xMi0xMyAxMzoxOTo0MyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaWQzZGVtdXgvaWQzdjJmcmFtZXMuYzoKCSAgaWQzZGVtdXg6IHByZWZlciB0d28gbGV0dGVyIElTTyA2MzktMSBjb2RlIGZvciBleHRlbmRlZCBjb21tZW50CgoyMDA5LTEyLTEzIDEzOjEwOjEyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZml4IHVwIGxhbmd1YWdlIGNvZGUgZXh0cmFjdGlvbiBzb21lIG1vcmUKCSAgUXVpY2t0aW1lIHVzZXMgSVNPIDYzOS0yIGZvciBsYW5ndWFnZSBjb2RlcywgYnV0IEdTVF9UQUdfTEFOR1VBR0UKCSAgaXMgc3VwcG9zZWQgdG8gaG9sZCBhIElTTyA2MzktMSBjb2RlLCBzbyBjb252ZXJ0IGFzIG5lZWRlZCB1c2luZwoJICB0aGUgbmV3IEFQSSBmcm9tIC1iYXNlLgoJICBTZWUgIzYwMjEyNi4KCjIwMDktMTItMTMgMTI6NDU6MjIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2E6IGZpeCBsYW5ndWFnZSBjb2RlIHdyaXRpbmcgYW5kIGV4dHJhY3Rpb24KCSAgTWF0cm9za2EgdXNlcyB0aHJlZS1sZXR0ZXIgSVNPIDYzOS0yQiBjb2RlcywgYnV0IEdTVF9UQUdfTEFOR1VBR0UgaXMKCSAgc3VwcG9zZWQgdG8gY29udGFpbiB0d28tbGV0dGVyIElTTyA2MzktMSBjb2Rlcywgc28gdXNlIG5ldyBsYW5ndWFnZQoJICBjb2RlIG1hcHBpbmcgZnVuY3Rpb25zIGluIC1iYXNlIHRvIGNvbnZlcnQgYmV0d2VlbiB0aG9zZSB0d28gYXMKCSAgbmVlZGVkLgoJICBGaXhlcyAjNTA1ODIzLgoKMjAwOS0xMi0wNyAyMDo1NDowNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBtaW5vciBkZWJ1ZyBtZXNzYWdlIGNoYW5nZXMKCSAgRml4IHVwIGEgZmV3IGRlYnVnIG1lc3NhZ2VzIHNvIHRoYXQgaXQncyBjbGVhcmVyIHdoYXQgdGhleSBtZWFuLgoKMjAwOS0xMi0xMiAxNzo0NDowNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIFJldmVydCAicXRkZW11eDogQ29ycmVjdGx5IHBhcnNlIGNsYXNzaWZpY2F0aW9uIHRhZ3MiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgY2Q4ODNhYTYwYzExMzMxOTZhNmFlMDUyODg0ZDE1YzI5NWMzN2RkZS4KCSAgUHJldmlvdXMgY29kZSB3YXMgY29ycmVjdCwgNCBpcyBkdWUgdG8gdGFibGUgYW5kIGxhbmd1YWdlIGNvZGUsCgkgIG5vdCBvbmx5IGxhbmd1YWdlIGNvZGUKCjIwMDktMTItMTIgMTY6Mjg6MzYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBDb3JyZWN0bHkgcGFyc2UgY2xhc3NpZmljYXRpb24gdGFncwoJICBJbiBjbHNmIGF0b21zLCB0aGUgbGFuZ3VhZ2UgY29kZSBpcyAyIGJ5dGVzIGxvbmcsIG5vdCA0LgoKMjAwOS0xMi0xMiAxNjo1NToxMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkgIHZpZGVvbWl4ZXI6IERlcXVldWUgY3VycmVudCBidWZmZXIgb24gRkxVU0hfU1RPUCBhbmQgZG9uJ3QgdW5yZWYgTlVMTCBidWZmZXJzCgkgIC4uLiBOVUxMIGJ1ZmZlcnMgc2hvdWxkbid0IHJlYWxseSBoYXBwZW4gYW55bW9yZSB3aGVuIHBvcHBpbmcgdGhlCgkgIGJ1ZmZlciBmcm9tIEdzdENvbGxlY3RQYWRzIGJ1dCBiZXR0ZXIgY2hlY2sgZm9yIHRoaXMgYW5kIHByaW50IGEgd2FybmluZy4KCjIwMDktMTItMTEgMTM6MTE6MTIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRfaTQyMC5jOgoJICB2aWRlb21peGVyOiBGaXggc3R1cGlkIG1pc3Rha2UgaW4gbGFzdCBjb21taXQKCjIwMDktMTItMTEgMTI6MzU6NTkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRfaTQyMC5jOgoJICB2aWRlb21peGVyOiBEb24ndCBkbyBmbG9hdGluZyBwb2ludCBtYXRoIGluIHRoZSBpbm5lciBwcm9jZXNzaW5nIGxvb3AgZm9yIEk0MjAgYmxlbmRpbmcKCjIwMDktMTItMTAgMTg6NDM6NDQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGhhbmRsZSBOVUxMIGFuZCBlbXB0eSB0cmFuc3BvcnQgc3RyaW5ncwoJICBXaGVuIGFuIFJUU1AgZXh0ZW5zaW9uIHJldHVybnMgTlVMTCBvciBhbiBlbXB0eSB0cmFuc3BvcnQgc3RyaW5nLCBqdXN0IGlnbm9yZSBpdAoJICBhbmQgdHJ5IHRvIGdldCB0aGUgbmV4dCBwb3NzaWJsZSB0cmFuc3BvcnQuIEZpeGVzIHBsYXliYWNrIG9mIFJlYWxNZWRpYSBzdHJlYW1zLgoKMjAwOS0xMi0xMCAxODo0Mjo1MSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogaW5zdGFsbCBldmVudCBmdW5jdGlvbiBvbiBpbnRlcm5hbCBSVENQIHBhZAoJICBJbnN0YWxsIGEgY3VzdG9tIGV2ZW50IGZ1bmN0aW9uIG9uIHRoZSBpbnRlcm5hbCBSVENQIHBhZCBzbyB0aGF0IHdlIGNhbiByZXBseQoJICBUUlVFIHRvIGEgbGF0ZW5jeSBldmVudC4KCjIwMDktMTItMTAgMTA6NDg6NDkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRfYXl1di5jOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZF9iZ3JhLmM6CgkqIGdzdC92aWRlb21peGVyL2JsZW5kX3JnYi5jOgoJICB2aWRlb21peGVyOiBSZW1vdmUgd3JvbmcgY29tbWVudHMsIGNvcGllZCBmcm9tIHRoZSBJNDIwIGJsZW5kIGZ1bmN0aW9uCgoyMDA5LTEyLTA5IDIxOjE1OjA3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSAgdmlkZW9taXhlcjogVGhlIHF1ZXVlZCBkdXJhdGlvbiBpcyBhIHNpZ25lZCBpbnRlZ2VyCgkgIC4uLmFuZCBpdCB3aWxsIHJlYWxseSBiZSBuZWdhdGl2ZSBzb21ldGltZXMuCgoyMDA5LTEyLTA5IDIxOjAzOjU3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSAgdmlkZW9taXhlcjogT25seSBwb3AgYnVmZmVycyBmcm9tIGNvbGxlY3RwYWRzIGFmdGVyIHRoZXkncmUgZnVsbHkgY29uc3VtZWQKCSAgVGhpcyBkZWNyZWFzZXMgbGF0ZW5jeSBhbmQgbWVtb3J5IHVzYWdlIGJlY2F1c2UgbmV3IGJ1ZmZlcnMgYXJlIG9ubHkKCSAgYWNjZXB0ZWQgYnkgY29sbGVjdHBhZHMgaWYgdGhlcmUncyBubyBxdWV1ZWQgYnVmZmVyLgoKMjAwOS0xMi0wOSAyMDo0Mjo0NCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4Lmg6CgkgIG1hdHJvc2thZGVtdXg6IENsZWFuIHVwIHBvc2l0aW9uL2R1cmF0aW9uIGhhbmRsaW5nCgkgIEFsc28gdXNlIHRoZSBsYXN0IGVuZCB0aW1lIGZvciBjbG9zaW5nIHRoZSBzZWdtZW50LCBub3QgdGhlCgkgIHN0YXJ0IHRpbWUgb2YgdGhlIGxhc3QgYnVmZmVyLgoKMjAwOS0xMi0wOSAxNjo1MDowMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogQ2xvc2UgdGhlIHNlZ21lbnQgb24gRU9TIGlmIHRoZSByZWFsIGR1cmF0aW9uIGlzIGtub3duCgoyMDA5LTEyLTA5IDE2OjQ2OjE4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBVcGRhdGUgZHVyYXRpb24gaWYgY3VycmVudCBidWZmZXIgaXMgYWxyZWFkeSBhZnRlciB0aGUgb2xkIGR1cmF0aW9uCgoyMDA5LTEyLTA5IDE2OjQzOjQxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBEcm9wIGJ1ZmZlcnMgdGhhdCBhcmUgYWZ0ZXIgc2VnbWVudCBzdG9wCgkgIC4uLmFuZCBpZiB0aGlzIGhhcHBlbmVkIGZvciBhbGwgc3RyZWFtcyBnbyBFT1MuCgoyMDA5LTEyLTA5IDE2OjQxOjA0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBGaXggcG9zaXRpb24gdHJhY2tpbmcgYW5kIHNlbmRpbmcgb2YgZmlsbGVyIHNlZ21lbnRzCgoyMDA5LTEyLTA5IDE2OjE1OjA5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSAgdmlkZW9taXhlcjogVXNlIGdzdF91dGlsX3VpbnQ2NF9zY2FsZV9pbnQoKSBmb3IgZnBzIHRvIHNlY29uZHMgcGVyIGZyYW1lIGNhbGN1bGF0aW9ucwoKMjAwOS0xMi0wOCAxNzozNDoxNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogS2VlcCB0aGUgc2VnbWVudCBzdG9wIHBvc2l0aW9uIGZvciB1cGRhdGUgbmV3c2VnbWVudCBldmVudHMKCjIwMDktMTItMDQgMTQ6NDI6NDkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9sYWRzcGEvTWFrZWZpbGUuYW06CgkqIGV4dC9sYWRzcGEvZ3N0bGFkc3BhLmM6CgkqIGV4dC9sYWRzcGEvZ3N0bGFkc3BhLmg6CgkqIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmM6CgkqIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmg6CgkqIGV4dC9sYWRzcGEvbG9hZC5jOgoJKiBleHQvbGFkc3BhL3NlYXJjaC5jOgoJKiBleHQvbGFkc3BhL3V0aWxzLmg6CgkgIGxhZHNwYTogUmVtb3ZlIHRoZSBzb3VyY2VzIGZyb20gZ3N0LXBsdWdpbnMtZ29vZAoJICBJdCdzIGRpc2FibGVkIGFueXdheSBhbmQgdGhlIGxhdGVzdCB2ZXJzaW9uIG9mIGl0IGlzIGluCgkgIGdzdC1wbHVnaW5zLWJhZC4gRml4ZXMgYnVnICM2MDM3NzkuCgoyMDA5LTEyLTA0IDEzOjUwOjU5ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogaW5pdCBjdXJyZW50X2VudHJ5IGluIHB1c2ggbW9kZQoJICBTZXQgdGhlIGN1cnJlbnRfZW50cnkgdG8gMCAoaW5zdGVhZCBvZiAtMSkgaW4gcHVzaCBtb2RlIHNvIHRoYXQgd2UgY29ycmVjdGx5CgkgIGNhbGN1bGF0ZSB0aGUgY3VycmVudCBmcmFtZSBudW1iZXIgYW5kIHRpbWVzdGFtcC4KCSAgQWRkIHNvbWUgbW9yZSBkZWJ1ZyBpbmZvIGFuZCBmaWMgdGhlIGR1cmF0aW9uIGRlYnVnLgoKMjAwOS0xMi0wNCAxMToxNDowMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGZpeCBtYWpvciBtZW1vcnkgbGVhayB3aGVuIHBsYXlpbmcgYmFjayBydHNwIHZpZGVvIHN0cmVhbXMKCSAgRG9uJ3QgZm9yZ2V0IHRvIHVucmVmIFFvUywgbmF2aWdhdGlvbiBhbmQgbGF0ZW5jeSBldmVudHMgd2hlbgoJICBkcm9wcGluZyB0aGVtLgoKMjAwOS0xMi0wMyAwODo1ODowOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogb25seSBzZW5kIHBlbmRpbmcgdGFncyB3aXRoIG5ld3NlZ21lbnQgZXZlbnRzCgkgIFNlbmQgcGVuZGluZyB0YWdzIG9ubHkgZnJvbSB0aGUgc3RyZWFtaW5nIHRocmVhZCwganVzdCBhZnRlciB3ZSd2ZSBzZW50CgkgIHRoZSBuZXdzZWdtZW50IGV2ZW50LCBub3Qgd2l0aCBlLmcuIGZsdXNoLXN0YXJ0LiBUaGlzIG5vdCBvbmx5IGRvZXMgdGhlCgkgIHJpZ2h0IHRoaW5nLCBidXQgYWxzbyBtYWtlcyBzdXJlIHdlJ3JlIG5vdCB0cmFtcGxpbmcgb3ZlciB2YXJpYWJsZXMgc2V0CgkgIHVwIGluIHRoZSBzdHJlYW1pbmcgdGhyZWFkIGZyb20gdGhlIHNlZWtpbmcgdGhyZWFkIGluIGNhc2Ugc29tZW9uZSB0cmllcwoJICB0byBpc3N1ZSBhIHNlZWsganVzdCBhcyB0aGUgZGVtdXhlciBpcyBwYXJzaW5nIHRoZSBoZWFkZXJzLgoJICBGaXhlcyAjNjAxNjE3LiBTcG90dGVkIGJ5IE9nbnlhbiBUb25jaGV2LgoKMjAwOS0xMi0wMyAxNzo0OTo1NSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGZpeCBkZWJ1ZyBtZXNzYWdlIHByaW50ZiBhcmdzCgkgIEZpeGVzIGRlYnVnIG1lc3NhZ2UgcHJpbnRmIGZvcm1hdCB0byBtYWtlIGl0IGJ1aWxkIGluIG1hYydzIGdjYwoKMjAwOS0xMi0wMiAxMzozMzoyMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc2hvdXQyL2dzdHNob3V0Mi5jOgoJICBzaG91dDI6IENvbnZlcnQgZGVsYXkgY29ycmVjdGx5CgkgIFVzZSBHU1RfTVNFQ09ORCB0byBjb252ZXJ0IGRlbGF5IGluIG1zZWNzIHRvIG5hbm9zZWNzCgkgIEZpeGVzICM2MDM1NDcKCjIwMDktMTItMDEgMTk6MjQ6MDIgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgIGpwZWdkZWM6IHJlc2V0IHNlZ21lbnQgaW5mbyBhZnRlciBmbHVzaAoJICBSZXNldCB0aGUgc2VnbWVudCBpbmZvIGFmdGVyIGEgZmx1c2guIFdlIHVzZSB0aGUgc2VnbWVudCBmb3IgaGFuZGxpbmcgUW9TIGFuZCBpZgoJICB3ZSBkb24ndCByZXNldCB0aGUgc2VnbWVudCwgUW9TIGlzIGJhc2ljYWxseSBkaXNhYmxlZCBhZnRlciBhIGZsdXNoaW5nIHNlZWsuCgoyMDA5LTEyLTAxIDE1OjA3OjA2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gODdiZjQyOCB0byA0N2NiMjNhCgoyMDA5LTEyLTAxIDE0OjE1OjQ2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gZGE0Yzc1YyB0byA4N2JmNDI4CgoyMDA5LTExLTMwIDE1OjU5OjUwICswMTAwICBBdXJlbGllbiBHcmltYXVkIDxnc3RlbHp6IGF0IHlhaG9vIGRvdCBmcj4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogYXZvaWQgYnVmZmVyIHJlZi91bnJlZiBwYWlycyBmb3IgQ1NSQ3MKCSAgV2UgcmVmIHRoZSBidWZmZXIgYmVmb3JlIHB1c2hpbmcgaXQgZG93bnN0cmVhbSBpbiBvcmRlciB0byBnZXQgdGhlIENTUkNzIG9mIGl0CgkgIGFmdGVyIHB1c2hpbmcuIFRoaXMgY2F1c2VzIHBlcmZvcm1hbmNlIHByb2JsZW1zIHdoZW4gZG93bnN0cmVhbSBlbGVtZW50cyB3YW50IHRvCgkgIGNoYW5nZSB0aGUgbWV0YWRhdGEgYmVjYXVzZSB0aGUgYnVmZmVyIG5lZWRzIHRvIGJlIHN1YmJ1ZmZlcmVkLgoJICBJbnN0ZWFkLCByZWFkIGFuZCBzdG9yZSB0aGUgQ1NSQ3Mgb2YgdGhlIGJ1ZmZlciBpbiBhbiBhcnJheSBiZWZvcmUgcHVzaGluZyBpdAoJICBhbmQgcHJvY2VzcyB0aGUgYXJyYXkgYWZ0ZXIgcHVzaGluZyB0aGUgYnVmZmVyLiBUaGlzIGFsbG93cyB1cyB0byByZW1vdmUgdGhlCgkgIHJlZi91bnJlZiBwYWlyLgoJICBGaXhlcyAjNjAzMzc2CgoyMDA5LTExLTI4IDE5OjIzOjI2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3Nob3V0Mi9nc3RzaG91dDIuYzoKCSogZXh0L3Nob3V0Mi9nc3RzaG91dDIuaDoKCSAgc2hvdXQyOiB1c2UgZ3N0cG9sbCBmb3IgdGltZW91dHMKCSAgVXNlIG91ciBvd24gR3N0UG9sbCBiYXNlZCB0aW1lb3V0IGluc3RlYWQgb2YgdGhlIHNob3V0IHNsZWVwIHNvIHRoYXQgd2UgY2FuCgkgIGludGVycnVwdCB3aGVuIGRvaW5nIGEgc3RhdGUgY2hhbmdlIGFuZCBzaHV0dGluZyBkb3duLgoJICBGaXhlcyAjNjAyODg3CgoyMDA5LTExLTI4IDEyOjI1OjA2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwaml0dGVyYnVmZmVyLmM6CgkgIGNoZWNrOiBmaXggaml0dGVyYnVmZmVyIGNoZWNrCgkgIE1ha2Ugc3VyZSB3ZSBzZXQgYSBiYXNlX3RpbWUgb24gdGhlIGVsZW1lbnQuCgkgIEZpeCB0aGUgdGltZW91dCB0byBhdCBsZWFzdCB0d2ljZSB0aGUgaml0dGVyYnVmZmVyIGxhdGVuY3kuCgkgIEVuYWJsZSBwcmV2aW91c2x5IGZhaWxpbmcgdGVzdHMuCgkgIFJlbW92ZSBpbXBvc3NpYmxlIGNoZWNrcy4KCjIwMDktMTEtMjcgMTg6NTU6MjAgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDUzYTI0ODUgdG8gZGE0Yzc1YwoKMjAwOS0xMS0yNiAxNjoxNDozMCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5oOgoJICBydHBoMjY0ZGVwYXk6IG9wdGlvbmFsbHkgbWVyZ2UgTkFMVXMgaW50byBBY2Nlc3MgVW5pdHMKCSAgLi4uIHdoaWNoIG1heSBiZSBleHBlY3RlZC9kZXNpcmVkIGJ5IHNvbWUgZG93bnN0cmVhbSBkZWNvZGVycwoJICAoYW5kIHNwZWMtd2lzZSBoaWdobHkgcmVjb21tZW5kZWQgZm9yIGF0IGxlYXN0IG5vbi1ieXRlc3RyZWFtIG1vZGUpLgoKMjAwOS0xMS0yNiAxNzoyOTowMyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGZpeCB0aW1lc3RhbXAgZGF0YXR5cGUKCjIwMDktMTEtMjUgMTA6Mzg6MjMgLTA2MDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBhdm9pZCB1c2luZyB3cm9uZyBjbG9jay1yYXRlCgkgIENoZWNrIGZvciBhIHZhbGlkIGNsb2NrLXJhdGUgYmVmb3JlIGF0dGVtcHRpbmcgdG8gZXN0aW1hdGUgdGhlIG5wdAoJICBzdG9wIHRpbWUuCgoyMDA5LTExLTI1IDEwOjM3OjMwIC0wNjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogZml4IHR5cG8gaW4gY29tbWVudHMKCjIwMDktMTEtMjUgMTY6MDU6MTAgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXJ0ZXN0OiBhZGQgb25lIG1vcmUgdGVzdCBhbmQgZmlsZSBhIGJ1ZyBub3cKCSAgQ0hhbmdlIHRoZSBiYWNrd2FyZHMgdGVzdCB0byBhbHdheXMgc2VuZCBmaXJzdCBidWZmZXIgZmlyc3QgdG8gaGF2ZSBhIGRlZmluZQoJICBiYXNldGltZS4gQWRkIGFub3RoZXIgdGVzdCB0aGF0IHNlbmRzIGJ1ZmZlcnMgYmFja3dhcmRzIHRvIGFzc2VydCB0aGF0IG9ubHkKCSAgZmlyc3Qgc2VudCBidWZmZXIgaXMga2VlcCBhbmQgdXNlZCBhcyBiYXNldGltZS4gRGlzYWJsZWQgdGhvc2UgdGVzdHMgc3RpbGwsCgkgIGFzIGl0cyBub3QgcGFzc2luZy9mYWlsaW5nIGNvbnNpdGVudGx5IGFuZCBmaWxlIGEgYnVnIGZvciBqaXR0ZXJidWZmZXIuCgoyMDA5LTExLTI1IDEwOjE3OjM0ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVydGVzdDogaW1wcm92ZSB0aGUgdGVzdAoJICB0aGUgdGVzdHMgYXJlIGEgYml0IG1vcmUgc29saWQgbm93IGJ1dCBzdGlsbCBub3QgcHJvZHVjZSByZWxpYWJsZSByZXN1bHRzLgoJICBXb25kZXIgaWYgdGhleSBhcmUgc3RpbGwgZmxhd2t5IG9yIGlmIGl0cyBhIGJ1ZyBpbiBqaXR0ZXJidWZmZXIuCgoyMDA5LTExLTI0IDExOjEzOjA2IC0wODAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkgIG11bHRpdWRwc2luazogcmV0dXJuIGVycm9yIG1lc3NhZ2Ugb24gd2luZG93cyB0b28uCgoyMDA5LTExLTI0IDEwOjU4OjQ5IC0wODAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkgIG11bHRpdWRwc2luazogZmlyc3QgcGhhc2Ugb2YgZml4aW5nIHVwIGVycm9yIHJlcG9ydGluZyBmb3Igd2luZG93cy4KCjIwMDktMTAtMzAgMDM6MTM6NTQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSAgYXZpbXV4OiBhbHNvIHNldCB0aGUgc3VnZ2VzdGVkIGJ1ZiBzaXplIGZvciBhdWRpbwoJICBXZSB3ZXJlIG9ubHkgc2V0dGluZyB0aGUgc3VnZ2VzdGVkIGJ1ZiBzaXplIGZvciB2aWRlbywKCSAgd2UgY2FuIHNldCBpdCBmb3IgYXVkaW8gYXMgd2VsbC4KCSAgVGhpcyBhbmQgMTk1ZTE0NTI5ZDgwZWYzMThjZTNhNzc4YzE5OTVlZmIxMWYyNjZjZAoJICBmaXggYW4gaXNzdWUgdGhhdCBwcmV2ZW50ZWQgc2Vla2luZyBvbiBsYXJnZSBhdmkgZmlsZXMKCSAgb24gV01QIChub24tcmVjZW50IHZlcnNpb25zKS4KCjIwMDktMTEtMDQgMTY6MTA6MjMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSogZ3N0L2F2aS9nc3RhdmltdXguaDoKCSAgYXZpbXV4OiBmaXggaW5keCBkdXJhdGlvbiBmb3IgUENNIGF1ZGlvCgkgIEdzdEJ1ZmZlcnMgZm9yIFBDTSBhdWRpbyB1c3VhbGx5IGNvbnRhaW5zIG1vcmUgdGhhbgoJICAxIHNhbXBsZSwgd2UgbmVlZCB0byBnZXQgdGhlIHRvdGFsIG51bWJlciBvZiBzYW1wbGVzIHRvIHNldAoJICB0aGUgaW5keCBkdXJhdGlvbi4KCjIwMDktMTEtMDQgMTY6MDQ6MTAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSAgYXZpbXV4OiBBdWRpbyBidWZmZXJzIHNob3VsZCBiZSBwaWNrZWQgZWFybGllcgoJICBBZGRzIGEgMC41cyBhZHZhbnRhZ2UgZm9yIGF1ZGlvIGJ1ZmZlcnMgdG8gYmVpbmcKCSAgcGlja2VkIGVhcmxpZXIgZm9yIG11eGluZy4KCjIwMDktMTEtMjQgMTY6NDA6MTkgKzAxMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogRml4IHB1c2ggbW9kZSBieSBtYWtpbmcgc3VyZSBzdGJsIGluZm9ybWF0aW9uIGlzIGF2YWlsYWJsZSBpbiBuZXh0X2VudHJ5X3NpemUgKCkKCjIwMDktMTEtMjQgMTY6MzU6MjAgKzAxMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogRml4IG9yZGVyIG9mIGFyZ3VtZW50cyBpbiBsb2cgbWVzc2FnZQoKMjAwOS0xMS0yNCAxNTo1MToyMSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJICBqcGVnZW5jOiBmaXggc3BlbGxpbmcgaW4gY29tbWVudAoKMjAwOS0xMS0yMyAxNzo1ODoxNyArMDEwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBidWlsZCBzeXN0ZW06IEZpeCB3cm9uZ2x5IGNvbW1pdHRlZCBjaGFuZ2UgdG8gY29tbW9uLwoKMjAwOS0xMS0xMCAxMDoyNjowNyArMDEwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBFYXNlIGRlYnVnZ2luZyBieSByZW1vdmluZyBhIGdvdG8gZm9yIGFuIGVycm9yIG1lc3NhZ2UKCjIwMDktMTEtMTQgMTU6NTI6MDkgKzAxMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBQYXJzZSBwZXIgc2FtcGxlIHJhdGhlciB0aGFuIGFsbCBhdCBvbmNlIGJ1dCBidWlsZCBjb21wbGV0ZSBpbmRleCB3aGVuIHNlZWtpbmcKCjIwMDktMTEtMDQgMTc6MzE6MTUgKzAxMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogU2F2ZSBhdG9tIGRhdGEgZm9yIGxhdGVyIHVzZSBzbyBpdCBkb2Vzbid0IGdldCBmcmVlZCBhZnRlciBpbml0aWFsIHBhcnNpbmcKCjIwMDktMTEtMDYgMTE6MDA6MDQgKzAxMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogUGFyc2UgZnJvbSB0aGUgcHJldmlvdXNseSBwYXJzZWQgc2FtcGxlIHVwIHRvIHNhbXBsZSBuCgoyMDA5LTExLTA0IDE3OjA0OjIyICswMTAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IE1ha2UgcXRkZW11eF9wYXJzZV9zYW1wbGVzICgpIHBhcnNlIHVwIHRvIG4gc2FtcGxlcwoKMjAwOS0xMC0yOCAxNzo0OTowMiArMDAwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBTZXBhcmF0ZSBvZmYgc3RibCBzdWItYXRvbSBpbml0aWFsaXNhdGlvbgoKMjAwOS0xMC0yNiAyMjo0MjozNiArMDAwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBNb3ZlIHZhcmlhYmxlcyBpbnRvIGNvbnRleHQgaW4gcHJlcGFyYXRpb24gZm9yIHJlZmFjdG9yaXNhdGlvbgoKMjAwOS0xMC0yNiAyMDozNjowOCArMDAwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBGaXggYnVnIHdoZXJlIHN0cHMgaXMgbmV2ZXIgcGFyc2VkIGR1ZSB0byBsb2dpYyBlcnJvcgoKMjAwOS0xMS0wNCAxNzozMToxNSArMDEwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBQb3J0IGN0dHMgZnJvbSBHbm9kZSAqIHRvIEdzdEJ5dGVSZWFkZXIKCjIwMDktMTAtMjMgMTM6MDY6NDQgKzAxMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGdtYWlsLmNvbT4KCgkqIGdzdC9xdGRlbXV4L3F0YXRvbXBhcnNlci5oOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfZHVtcC5jOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4X2R1bXAuaDoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eF90eXBlcy5oOgoJICBxdGRlbXV4OiBTd2l0Y2ggZnJvbSBRdEF0b21QYXJzZXIgdG8gR3N0Qnl0ZVJlYWRlcgoKMjAwOS0xMS0yMyAxMjo1Mzo1MCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZml4IHR5cG8gYW5kIGdyYW1tYXIKCjIwMDktMTEtMjIgMTk6MzA6NTggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvTWFrZWZpbGUuYW06CgkgIENsZWFuIHVwIExERkxBR1MsIExJQlMsIENGTEFHUwoJICBGaXggb3JkZXIsIGZpeCB2YXJpYWJsZXMgdGhhdCBkb24ndCBleGlzdCwgbGlrZSBHU1RfTElCU19MSUJTLAoJICB1c2UgJChMSUJNKSBpbnN0ZWFkIG9mIC1sbSwgYW5kIG1vdmUgX0xJQlMgZnJvbSBMREZMQUdTIHRvIExJQkFERC4KCSAgU3BvdHRlZCBieSBIYXZhcmQgR3JhZmYuCgoyMDA5LTExLTIwIDEwOjMxOjQ3IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8dGVzdGVyQHRlc3Rlci5jYT4KCgkqIGdzdC9kdG1mL3RvbmVfZGV0ZWN0Lmg6CgkgIGR0bWY6IFVzZSBfc3RkaW50LmggZnJvbSBjb25maWd1cmUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYwMjQ2NQoKMjAwOS0xMS0yMCAxMDozMDowMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IGZpeCB0eXBvIGluIG1vZGUgZW51bSBkZXNjcmlwdGlvbgoKMjAwOS0xMS0yMCAxMToyNTo0OSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIGRvY3M6IG1vcmUgbGlua3MgYW5kIGJldHRlciBzaG9ydCBkZXNjcmlwdGlvbgoJICBGaXggc3BlbGxpbmcgb2YgR3N0UnRwU3NyY0RlbXV4IHRvIGdldCBpdCBsaW5rZWQuIEFkZCBtb3JlIGxpbmtzLiBDaGFuZ2UKCSAgdGhlIHNob3J0IGRlc2NyaXB0aW9uIHRvIGJlIG1vcmUgbWVhbmluZ2Z1bC4KCjIwMDktMTEtMjAgMDk6NTg6MjYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvd2F2cGFja3BhcnNlLmM6CgkgIHdhdnBhY2twYXJzZTogRml4IHVuaXQgdGVzdCBmb3IgcmVjZW50IHBvc2l0aW9uIHJlcG9ydGluZyBjaGFuZ2VzCgoyMDA5LTExLTE5IDIwOjMzOjA3IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi90b25lX2RldGVjdC5jOgoJKiBnc3QvZHRtZi90b25lX2RldGVjdC5oOgoJICBkdG1mOiBVcGRhdGUgZHRtZmRldGVjdCB0byBtYWtlIGl0IE1TVkMgZnJpZW5kbHkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYwMjQ2NQoKMjAwOS0xMS0xOSAxNjowOTozOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzoKCSAgd2F2cGFja3BhcnNlOiBBZnRlciBwdXNoaW5nIGEgZnJhbWUsIHVwZGF0ZSBsYXN0X3N0b3AgdG8gdGhlIGVuZCBvZiB0aGUgZnJhbWUKCSAgVGhpcyBpbXByb3ZlcyBwb3NpdGlvbiByZXBvcnRpbmcsIGVzcGVjaWFsbHkgYmVjYXVzZSBvZiB0aGUgZmFjdCB0aGF0CgkgIFdhdlBhY2sgZnJhbWVzIGFyZSB1c3VhbGx5IDAuNS0xLjAgc2Vjb25kcyBsb25nLgoKMjAwOS0xMS0xOSAxNjowODozMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzoKCSAgd2F2cGFja3BhcnNlOiBBbGxvdyBwdWxsaW5nIHRoZSBsYXN0IFdhdlBhY2sgZnJhbWUgb2YgYSBmaWxlCgkgIEJlY2F1c2Ugb2YgYSA+PSBpbnN0ZWFkIG9mIGEgPiwgdGhhdCBsYXN0IGZyYW1lIG9mIGEgV2F2UGFjayBmaWxlCgkgIHdvdWxkIG5ldmVyIGJlIHBhcnNlZCBpbiBwdWxsIG1vZGUuCgoyMDA5LTExLTE5IDEwOjMwOjQzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gMDcwMmZlMSB0byA1M2EyNDg1CgoyMDA5LTEwLTI5IDA4OjI5OjM4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eF9mb3VyY2MuaDoKCSAgcXRkZW11eDogQWRkIG1vcmUgZmllbGRzIHRvIFNWUTMgY2FwcwoJICBxdGRlbXV4IG9ubHkgYWRkZWQgdGhlIHdob2xlIHN0c2QgYXRvbSBhcyAnY29kZWNfZGF0YScKCSAgaW4gaXRzIG91dHB1dCBjYXBzIGZvciBTVlEzLiBUaGlzIHBhdGNoIG1ha2VzIGl0IGFkZAoJICB0aGUgU0VRSCAoaW5zaWRlIGEgU01JIGF0b20pIGFuZCBhIGdhbW1hIGZpZWxkICh0YWtlbgoJICBmcm9tIHRoZSBnYW1hIGF0b20pIGlmIGF2YWlsYWJsZS4KCSAgRml4ZXMgIzU4NzkyMgoKMjAwOS0xMS0xOCAxNzo1NTo0MiArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmM6CgkgIHdhdmVuYzogUmFpc2UgcmFuayBvZiBtdXhlciB0byBQUklNQVJZCgoyMDA5LTExLTE4IDE3OjU0OjE2ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzoKCSAgeTRtOiBSYWlzZSByYW5rIG9mIGVuY29kZXIgdG8gUFJJTUFSWQoKMjAwOS0xMS0xOCAxNzo1NDowMiArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9sYXcvYWxhdy5jOgoJKiBnc3QvbGF3L211bGF3LmM6CgkgIGxhdzogUmFpc2UgcmFuayBvZiBlbmNvZGVycyB0byBQUklNQVJZCgoyMDA5LTExLTEyIDE5OjExOjE4ICswMDAwICBCYXN0aWVuIE5vY2VyYSA8aGFkZXNzQGhhZGVzcy5uZXQ+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgQWRkIHVzZXItaWQgYW5kIHVzZXItcHcgcHJvcGVydGllcwoJICBTbyB0aGF0IG9uZSBkb2Vzbid0IG5lZWQgdG8gbW9kaWZ5IHRoZSBVUkwgdG8gaGF2ZSBhY2Nlc3MKCSAgdG8gYXV0aGVudGljYXRlZCBSVFNQIHN0cmVhbXMuCgkgIGZpeGVzICM2MDE3MjgKCjIwMDktMTEtMTggMTI6MjI6MTAgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogdXNlIGFjcXVpcmVkIGZsYWcgd2hlbiBjaGVja2luZyB2YWxpZCBzdGF0ZQoJICBVc2UgdGhlIGFjcXVpcmVkIGZpZWxkIG9mIHRoZSByaW5nYnVmZmVyIGluIGdldF90aW1lIHRvIGtub3cgd2hlbiB3ZSBhcmUgaW4gYW4KCSAgaW52YWxpZCBzdGF0ZS4gV2UgZG9uJ3QgY2xlYXIgdGhlIHJhdGUgZmxhZyB3aGVuIHJlbGVhc2luZyB0aGUgcmluZ2J1ZmZlciBzbwoJICB0aGlzIHZhbHVlcyBpcyBub3QgdXNhYmxlLgoJICBBdm9pZHMgc29tZSBlcnJvciBtZXNzYWdlcyBiZWluZyBwb3N0ZWQgYmVjYXVzZSB0aGUgcHVsc2VhdWRpbyBjb25uZWN0aW9uIGlzCgkgIGRvd24uCgoyMDA5LTExLTE4IDEwOjE3OjAyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBidW1wIGNvcmUgcmVxdWlyZW1lbnQgdG8gMC4xMC4yNS4xIGFzIHdlbGwKCSAgTWFrZSBpbXBsaWNpdCByZXF1aXJlbWVudCBleHBsaWNpdC4KCjIwMDktMTEtMTggMTI6NTM6NDQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBmaXggYm9ndXMgbWVtb3J5IGNodW5rIHNpemUgY2hlY2sKCjIwMDktMTEtMTggMTI6MDE6NTIgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogaW1wbGVtZW50IHNvbWUgbW9yZSBjYWxsYmFja3MKCSAgSW1wbGVtZW50IHNvbWUgbW9yZSBjYWxsYmFja3MgZm9yIGRlYnVnZ2luZyBwdXJwb3Nlcy4KCjIwMDktMTEtMTEgMTU6NTA6MTkgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiByZWxlYXNlIGxvY2sgYmVmb3JlIGVtaXRpbmcgc2lnbmFscwoJICBSZWxlYXNlIHRoZSBqYnVmIGxvY2sgYmVmb3JlIGVtaXRpbmcgdGhlIHJlcXVlc3QtcHQtbWFwIHNpZ25hbCB0byBhdm9pZAoJICBkZWFkbG9ja3MuIFdlIGFsc28gbmVlZCB0byBjYXRjaCB0aGUgc2h1dGRvd24gY2FzZSB3aGVuIGxvY2tpbmcgYWdhaW4uCgkgIEZpeGVzICM1OTMzNTQKCjIwMDktMTEtMTEgMTE6NTk6MTYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwL2dzdHJ0cC5jOgoJKiBnc3QvcnRwL2dzdHJ0cGJ2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBidmRlcGF5Lmg6CgkgIHJ0cDogYWRkIEJyb2FkY29tVm9pY2UgZGVwYXlsb2FkZXIKCjIwMDktMTEtMTEgMTE6Mzg6MzYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGJ2cGF5LmM6CgkgIHJ0cGJ2cGF5OiBhZGQgcmZjIHJlZmVyZW5jZQoKMjAwOS0xMS0xMSAxMTozNzowNyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHAvZ3N0cnRwLmM6CgkqIGdzdC9ydHAvZ3N0cnRwYnZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBidnBheS5oOgoJICBydHA6IGFkZCBCcm9hZGNvbVZvaWNlIHBheWxvYWRlcgoKMjAwOS0xMS0wOSAxMjoxNzozNCArMDEwMCAgSmFuIFVyYmHFhHNraSA8d3VsY3plckB3dWxjemVyLm9yZz4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkgIGZsdm11eDogcHJvcGVybHkgZmluaXNoIHRoZSBFQ01BIGFycmF5CgkgIFRoZSBFQ01BIGFycmF5IHdpdGggdGhlIGZpbGUgaW5kZXggd2FzIG1pc3NpbmcgYSBtYW5kYXRvcnkgZW5kIG1hcmtlci4KCSAgRml4ZXMgYnVnICM2MDEyNDIuCgoyMDA5LTExLTE4IDAyOjE1OjE1ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgVXNlIG5ldyBzdGlsbC1mcmFtZSBBUEkgZnJvbSBnc3QtcGx1Z2lucy1iYXNlCgoyMDA5LTExLTE4IDAyOjE0OjQ2ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkgIEJ1bXAgZ3N0LXBsdWdpbnMtYmFzZSByZXF1aXJlbWVudCB0byAwLjEwLjI1LjEKCjIwMDktMTEtMTcgMTc6NTk6MTMgLTA4MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBpZGVudGlmeSBJTUEgYWRwY20gaW4gcXQgcHJvcGVybHkuCgoyMDA5LTExLTE4IDAxOjI3OjM3ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgQmFjayB0byBkZXZlbG9wbWVudCAtPiAwLjEwLjE3LjEKCjIwMDktMTEtMTcgMDE6NTM6MDggKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSAgQWRkIHJlbGVhc2UgMC4xMC4xNyB0byB0aGUgZG9hcCBmaWxlCgo9PT0gcmVsZWFzZSAwLjEwLjE3ID09PQoKMjAwOS0xMS0xNyAwMToyNTozMCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLnNpZ25hbHM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2FtbWEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGFsZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vbm9zY29wZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF1aWNrdGltZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JhbGFuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmxpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJICBSZWxlYXNlIDAuMTAuMTcKCjIwMDktMTEtMTcgMDA6MTg6MjIgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHBvL3poX0hLLnBvOgoJKiBwby96aF9UVy5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAwOS0xMS0xMyAwMjowNzoyNSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgMC4xMC4xNi4zIHByZS1yZWxlYXNlCgoyMDA5LTExLTEwIDExOjUyOjI0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMjogTWFrZSBzdXJlIHRvIGluaXRpYWxpemUgdmFyaWFibGVzIGJlZm9yZSB1c2luZyB0aGVtCgoyMDA5LTExLTA5IDIwOjA2OjAzICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbmZpZ3VyZS5hYzoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIDAuMTAuMTYuMiBwcmUtcmVsZWFzZQoKMjAwOS0xMS0wOSAxNToyMDowMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgIGpwZWdkZWM6IGZyZWUgdGVtcG9yYXJ5IGJ1ZmZlciB3aGVuIGNoYW5naW5nIHN0YXRlIHRvIE5VTEwKCSAgRnJlZSB0ZW1wb3JhcnkgYWxsb2NhdGlvbnMgaW4gdGhlIHN0YXRlIGNoYW5nZSBmdW5jdGlvbiBhbmQgbm90CgkgIG9ubHkgd2hlbiB0aGUgb2JqZWN0IGlzIGZpbmFsaXNlZC4KCjIwMDktMTEtMDkgMTE6NDA6MjUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmg6CgkgIGpwZWdkZWM6IG9ubHkgYWxsb2NhdGUgYXMgbXVjaCB0ZW1wb3JhcnkgbWVtb3J5IGFzIG5lZWRlZCBmb3IgaW5kaXJlY3QgZGVjb2RpbmcKCSAgV2hlbiB3ZSBjYW4ndCBkZWNvZGUgZGlyZWN0bHkgaW50byB0aGUgb3V0cHV0IGJ1ZmZlciwgbWFrZSBvdXIgdGVtcCBidWZmZXJzCgkgIG9ubHkgYXMgYmlnIGFzIG5lZWRlZCBpbnN0ZWFkIG9mIGFsbG9jYXRpbmcgZm9yIHRoZSB3b3JzdCBjYXNlIHNjZW5hcmlvICh3ZWxsLAoJICB3ZSBzdGlsbCBhbGxvYyBtb3JlIHRoYW4gc3RyaWN0bHkgbmVlZGVkIGZvciBzb21lIGNhc2VzLCBidXQgc2lnbmlmaWNhbnRseQoJICBsZXNzIHRoYW4gYmVmb3JlKS4KCjIwMDktMTEtMDUgMjM6NDY6NTggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IHByaW50ZiBmb3JtYXQgZml4CgoyMDA5LTExLTA1IDIzOjQ0OjI3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9yYXcxMzk0L2dzdDEzOTRjbG9jay5jOgoJKiBleHQvcmF3MTM5NC9nc3RoZHYxMzk0c3JjLmM6CgkgIHJhdzEzOTQ6IHByaW50ZiBmb3JtYXQgZml4ZXMKCjIwMDktMTEtMDUgMjM6NDA6MTUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzoKCSAgZXF1YWxpemVyOiBwcmludGYgZm9ybWF0IGZpeAoKMjAwOS0xMS0wNCAyMjoxOTo1OCAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvTWFrZWZpbGUuYW06CgkqIGdzdC9kdG1mL2dzdGR0bWYuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZmRldGVjdC5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mZGV0ZWN0Lmg6CgkqIGdzdC9kdG1mL3RvbmVfZGV0ZWN0LmM6CgkqIGdzdC9kdG1mL3RvbmVfZGV0ZWN0Lmg6CgkgIGR0bWZkZXRlY3Q6IEFkZCBEVE1GIHRvbmUgZGV0ZWN0b3IKCSAgSXQgbG9va3MgYXQgcmF3IGF1ZGlvIGRhdGEgYW5kIGVtaXRzIG1lc3NhZ2VzIHdoZW4gRFRNRiBpcyBkZXRlY3RlZC4KCSAgVGhlIGR0bWYgZGV0ZWN0b3IgaXMgdGhlIHNhbWUgR29lcnR6ZWwgaW1wbGVtZW50YXRpb24gdXNlZCBpbiBGcmVlU3dpdGNoCgkgIGFuZCBBc3Rlcmlzay4gSXQgaXMgaW4gdGhlIHB1YmxpYyBkb21haW4uCgoyMDA5LTExLTA1IDEyOjEzOjQ0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkgIGF2aW11eDogZG8gbm90IHdyaXRlIGVtcHR5IElORk8gbGlzdAoJICBhdm9pZCB3cml0aW5nIGFuIGVtcHR5IElORk8gbGlzdCBjaHVuaywgYm90aCBiZWNhdXNlCgkgIGl0IGlzIHVzZWxlc3MgYW5kIGJlY2F1c2UgdmxjIHJlZnVzZXMgdG8gcGxheSB0aGUKCSAgcmVzdWx0aW5nIGZpbGUuCgoyMDA5LTExLTA1IDEwOjU0OjEyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6CgkgIGVxdWFsaXplcjogTm90aWZ5IGFib3V0IGJhbmQgcHJvcGVydHkgY2hhbmdlcyBjYXVzZWQgYnkgY2hhbmdpbmcgbnVtYmVyIG9mIGJhbmRzCgoyMDA5LTExLTA1IDEwOjQ1OjU5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6CgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmg6CgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVybmJhbmRzLmM6CgkgIGVxdWFsaXplcjogTWFrZSBjaGFuZ2VzIHRvIGJhbmQgcHJvcGVydGllcyBhbmQgdGhlIG51bWJlciBvZiBiYW5kcyB0aHJlYWRzYWZlCgoyMDA5LTExLTA1IDEwOjMwOjQ2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6CgkgIGVxdWFsaXplcjogRml4IHN0dXBpZCBvZmYgYnkgdHdvIGJ1ZwoKMjAwOS0xMS0wNSAwODoxODowNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOgoJICBlcXVhbGl6ZXI6IEFkZCBiYW5kIHByb3BlcnR5IHRvIHNlbGVjdCB0aGUgYmFuZCBmaWx0ZXIgdHlwZQoJICBUaGlzIGFsbG93cyBwZXIgYmFuZCBjb25maWd1cmF0aW9uIG9mIGEgcGVhaywgbG93IHNoZWxmIG9yCgkgIGhpZ2ggc2hlbGYgZmlsdGVyLCB3aGljaCBjYW4gYmUgdmVyeSB1c2VmdWwgaWYgdGhlIGJhbmQgZnJlcXVlbmNpZXMKCSAgYW5kIHdpZHRocyBhcmUgbWFudWFsbHkgY29uZmlndXJlZC4KCjIwMDktMTEtMDUgMDg6MTc6NTMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzoKCSAgZXF1YWxpemVyOiBGaXggY29kZSBzdHlsZQoKMjAwOS0xMS0wNSAwODowMzoxMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcjEwYmFuZHMuYzoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIzYmFuZHMuYzoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXJuYmFuZHMuYzoKCSAgZXF1YWxpemVyOiBTb21lIGNsZWFudXAKCjIwMDktMTEtMDQgMjI6MjE6MzUgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSAgZHRtZnNyYzogUmVqZWN0IGVtcHR5IGNhcHMKCjIwMDktMTEtMDQgMjI6MjE6MjIgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSAgZHRtZnNyYzogVXNlIGxvZyBsZXZlbCBmb3IgcmVwZWF0ZWQgZGVidWcgbWVzc2FnZXMKCjIwMDktMTEtMDQgMjA6MDU6MTcgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSAgZHRtZnNyYzogQWxsb3cgZm9yIGFueSBzYW1wbGVyYXRlCgoyMDA5LTEwLTA3IDA5OjMxOjE5IC0wNDAwICBHYWJyaWVsIE1pbGxhaXJlIDxnYWJyaWVsLm1pbGxhaXJlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwY2VsdGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwY2VsdHBheS5jOgoJICBjZWx0cGF5L2RlcGF5IDogY2hhbmdlIEdTVF9ERUJVR19PQkpFQ1QgdG8gR1NUX0xPR19PQkpFQ1QgaW4gcGF5X2hhbmRsZV9idWZmZXIgYW5kIGRlcGF5X3Byb2Nlc3MKCjIwMDktMTAtMDIgMTc6MDQ6NDMgLTA0MDAgIEdhYnJpZWwgTWlsbGFpcmUgPGdhYnJpZWwubWlsbGFpcmVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBjZWx0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBjZWx0ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBjZWx0cGF5LmM6CgkgIGNlbHRwYXkvZGVwYXk6IE5lZ290aWF0ZSBwYXJhbWV0ZXJzIHRocm91Z2ggY2FwcwoJICBjZWx0ZGVwYXkgOiBhZGRlZCBkZWZhdWx0IGZyYW1lc2l6ZSg0ODApIGNoYW5uZWxzKDEpIGFuZCBjbG9ja3JhdGUoMzIwMDApCgkgIGRlcGF5X3NldGNhcHMgOiBub3cgZ2V0cyBjaGFubmVscyBhbmQgZnJhbWVzaXplIGZyb20gc3RyaW5nIHdpdGggZGVmYXVsdCB2YWx1ZQoJICBkZXBheV9wcm9jZXNzIDogbm93IGFkZHMgdGltZXN0YW1wIHRvIG91dGJ1ZgoJICBBZGRlZCBmcmFtZV9zaXplIHRvIEdzdFJ0cENlbHREZXBheQoJICBDaGFuZ2VkIHNvbWUgR1NUX0RFQlVHIHRvIEdTVF9ERUJVR19PQkpFQ1Qgb3IgR1NUX0xPR19PQkpFQ1QKCSAgY2VsdHBheSA6IGdldGNhcHMgOiBnZXRzIGNoYW5uZWwgYW5kIGZyYW1lc2l6ZSBhbmQgc2V0cyBjYXBzCgkgIEFkZGVkIGZyYW1lLXNpemUgdG8gc3RhdGljIGNhcHMgZm9yIGF1ZGlvL3gtY2VsdAoKMjAwOS0xMS0wNCAxNTo1ODozNCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L2RlaW50ZXJsYWNlL01ha2VmaWxlLmFtOgoJICBkZWludGVybGFjZTogUHVsbCBpbiBDRkxBR1MgYW5kIExJQlMgZmxhZ3MgZnJvbSAtYmFzZSBiZWZvcmUgY29yZSBiZWZvcmUgc3lzdGVtLgoKMjAwOS0xMC0xNSAxNjozMzoyNCArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogcG8vTWFrZXZhcnM6CgkgIHBvOiBEb24ndCBjcmVhdGUgYmFja3VwIC5wbyBmaWxlcwoJICBBcyB3ZWxsIGFzIHByZXZlbnRpbmcgY3JlYXRpb24gb2YgdXNlbGVzcyBiYWNrdXAgZmlsZXMsIGl0IHdvcmtzCgkgIGFyb3VuZCBhIGJ1ZyBpbiBnZXR0ZXh0IDAuMTcgb24gT1MvWAoKMjAwOS0xMS0wNCAxNjo0Nzo0MiArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBpaGF0ZXN0ZXZlLmxvY2FsPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eF9kdW1wLmM6CgkgIHF0ZGVtdXg6IGluaXQgdmFyaWFibGVzIHRvIG1ha2UgY29tcGlsZXIgb24gb3N4IGJ1aWxkIGJvdCBoYXBweQoKMjAwOS0xMS0wMyAxNjowNDozNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4X2R1bXAuYzoKCSAgcXRkZW11eDogaW5pdCB2YXJpYWJsZXMgdG8gbWFrZSBjb21waWxlciBvbiBvc3ggYnVpbGQgYm90IGhhcHB5CgoyMDA5LTExLTAzIDE3OjM1OjE1ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuaDoKCSAganBlZ2RlYzogZG9uJ3QgYWxsb2NhdGUgYmlnIGFycmF5cyBvbiB0aGUgc3RhY2sKCSAgQWRkIHRoZSBhcnJheXMgdG8gdGhlIGluc3RhbmNlIGRhdGEgYW5kIGFsbG9jYXRlIG9uIGZpcnN0IHVzZS4KCjIwMDktMTEtMDEgMTU6NTc6NDQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiByZW1vdmUgcG9pbnRsZXNzIGNhbGwgdG8gZ3N0X2VsZW1lbnRfbm9fbW9yZV9wYWRzKCkKCjIwMDktMTEtMDEgMDA6Mjk6NTcgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOgoJICBsZXZlbDogZml4IGRlY2F5IHRvIGJlIHNtb290aAoJICBUaGUgbGVuZ3RoIG5vdCBoYXZpbmcgYW55IGZyYWN0aW9uYWwgcGFydCBhcyBpdCB3YXMgcHJvbW90ZWQgdG8gZ2RvdWJsZSBhZnRlcgoJICBkaXZpZGluZyB0d28gZ3VpbnQ2NC4KCjIwMDktMTEtMDEgMDA6Mjk6MjQgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOgoJKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuaDoKCSAgbGV2ZWw6IGNhbGN1bGF0ZSB0aGUgbWVzc2FnZS1pbnRlcnZhbGwgd2hlbiBpdCBjaGFuZ2VzCgoyMDA5LTExLTAxIDAwOjE0OjA4ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzoKCSAgbGV2ZWw6IGNsb2NrdGltZSBpcyBhIGd1aW50NjQsIHVzZSByaWdodCBtYWNybyB0byBpbml0IGZpZWxkcwoKMjAwOS0xMS0wMSAwMDoxMDowMSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2xldmVsL2dzdGxldmVsLmM6CgkgIGxldmVsOiB1c2UgbW9yZSBnLXN0eWxlIHR5cGVzCgoyMDA5LTEwLTMwIDA5OjI3OjU5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IE9ubHkgc2V0IHRoZSB2b2x1bWUgb24gc3RyZWFtIGNvbm5lY3Rpb24gaWYgcHVsc2UgPj0gMC45LjIwIGlzIGF2YWlsYWJsZQoJICBJbiBvbGRlciB2ZXJzaW9ucyB0aGUgdm9sdW1lIHNldCBkdXJpbmcgc3RyZWFtIGNvbm5lY3Rpb24gaGFkCgkgIG5vIGRlZmluZWQgc2VtYXRpYyBhbmQgdXN1YWxseSBpdCB3YXMgYSByZWxhdGl2ZSB2b2x1bWUuIFdoYXQKCSAgd2FzIG5lZWRlZCBmb3Igb3VyIHVzZSBjYXNlIGlzIGFuIGFic29sdXRlIHZvbHVtZSB0aG91Z2gsIG90aGVyd2lzZQoJICB0aGUgdm9sdW1lIHdpbGwgYmUgYWx3YXlzIGRlY3JlYXNlZCBvbiBzdHJlYW0gY29ubmVjdGlvbiBpZiBpdCdzCgkgIGxlc3MgdGhhbiAxMDAlLgoJICBTaW5jZSBwdWxzZSAwLjkuMjAgdGhhdCB2b2x1bWUgaXMgYWx3YXlzIGFuIGFic29sdXRlIHZvbHVtZSBpZgoJICBmbGF0IHZvbHVtZXMgYXJlIHVzZWQgYW5kIHJlbGF0aXZlIG90aGVyd2lzZSwgd2hpY2ggaXMgdGhlIHNhbWUKCSAgYXMgZm9yIHBhX2NvbnRleHRfc2V0X3NpbmtfaW5wdXRfdm9sdW1lKCkuCgkgIFJlbGV2YW50IHB1bHNlIGNoYW5nZXNldHM6CgkgIGh0dHA6Ly9naXQuMHBvaW50ZXIuZGUvP3A9cHVsc2VhdWRpby5naXQ7YT1jb21taXQ7aD1mMjdhNTA2OTFjOGZlNDViYWM3ZGQ2YjIxZmFjOTFhMzU5ZGVmM2ExCgkgIGh0dHA6Ly9naXQuMHBvaW50ZXIuZGUvP3A9cHVsc2VhdWRpby5naXQ7YT1jb21taXQ7aD0yNTAxNjg3NTc5ZTM1OWQ1MDMyYTRkMTY1YjJmZmM4ZjViMWI4YmE2CgoyMDA5LTEwLTI3IDE4OjA3OjE4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogdXNlIHNlZ21lbnRfZnVsbCB3aGVuIHdlIGNhbgoJICBVc2Ugc2VnbWVudF9mdWxsIHNvIHRoYXQgd2UgY2FuIHBhc3MgdGhlIGFwcGxpZWQgcmF0ZSB0byB0aGUgc2VnbWVudCB2YWx1ZXMuIFdlCgkgIHdpbGwgY2hhbmdlIHRoZSBhcHBsaWVkIHJhdGUgd2hlbiB3ZSBpbXBsZW1lbnQgc2tpcCBtb2RlLgoKMjAwOS0xMC0xOCAwMDoxNjowNiArMDEwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AZ21haWwuY29tPgoKCSogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuYzoKCSAgd2F2ZW5jOiBGaXggYnVmZmVyIG9mZnNldCBieSBtb3ZpbmcgbGVuZ3RoIGluY3JlbWVudGF0aW9uCgoyMDA5LTEwLTIzIDE4OjMxOjE0IC0wNzAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgb3N4dmlkZW9zaW5rOiBDcmVhdGUgdGhlIHZpZGVvIE5TVmlldyBpbiBSRUFEWS0+UEFVU0VEIHJhdGhlciB0aGFuIE5VTEwtPlJFQURZCgoyMDA5LTEwLTIzIDE4OjI4OjIyIC0wNzAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIHN5cy9vc3h2aWRlby9NYWtlZmlsZS5hbToKCSAgb3N4dmlkZW86IGV4cGxpY2l0bHkgbGluayB0byBHU1RfTElCUwoKMjAwOS0xMC0yMyAxODowOTo0MyAtMDcwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiBnc3QvYXZpL01ha2VmaWxlLmFtOgoJKiBnc3QvbWF0cm9za2EvTWFrZWZpbGUuYW06CgkqIGdzdC93YXZwYXJzZS9NYWtlZmlsZS5hbToKCSAgQWRkIGRlcGVuZGVuY2llcyBvZiBnc3RyaWZmIHRvIHRoaW5ncyB0aGF0IGxpbmsgdG8gZ3N0cmlmZiwgbmVlZGVkIG9uIFdpbjMyLgoKMjAwOS0xMC0yMyAxNzoyNToxNyAtMDcwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvY2xpZW50LVBDTUEuYzoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL3NlcnZlci1hbHNhc3JjLVBDTUEuYzoKCSAgcnRwIGV4YW1wbGVzOiByZW1vdmUgZXhlY3V0YWJsZSBiaXRzIGZyb20gQyBmaWxlcy4KCjIwMDktMTAtMjMgMTE6MjE6NDQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwaml0dGVyYnVmZmVyLmM6CgkgIHRlc3RzOiBkaXNhYmxlIGFsbCBqaXR0ZXJidWZmZXIgdGVzdHMgZm9yIG5vdwoJICBTaW5jZSBldmVuIHRoZSBvbmUgZW5hYmxlZCBzZWVtcyB0byBmYWlsLgoKMjAwOS0xMC0yMiAxMzozOTo1OCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwaml0dGVyYnVmZmVyLmM6CgkgIHRlc3RzOiBhbHNvIGluY2x1ZGUgdGhlIG5ldyB0ZXN0IGZvciBwcmV2IGNvbW1pdAoKMjAwOS0xMC0yMiAxMzoxOTowNyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJICB0ZXN0czogYWRkIGEgaml0dGVyYnVmZmVyIHRlc3QKCSAgVGVzdHMgcHVzaGluZyBhIGZldyBidWZmZXJzIGluIHZhcmlvdXMgb3JkZXIgYW5kIGFzc2VydGluZyB0aGUgb3JkZXIgc2VudCBieSB0aGUKCSAgaml0dGVyYnVmZmVyLiBDb250YWlucyB0d28gZGlzYWJsZWQgdGVzdHMgdGhhdCBuZWVkIG1vcmUgd29yay4KCjIwMDktMTAtMjIgMTI6MzA6MTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogRGlyYWMgIm11eGluZyIgdW5pdHMgZW5kIG9uIEVPUyB0b28KCSAgQSBEaXJhYyBtdXhpbmcgdW5pdCBhcmUgYWxsIG5vbi1waWN0dXJlLCBub24tZW5kLW9mLXNlcXVlbmNlCgkgIHBhY2tldHMgdXAgdG8gYW5kIGluY2x1ZGluZyB0aGUgZmlyc3QgcGljdHVyZSBvciBlb3MgcGFja2V0LgoJICBTZWUgaHR0cDovL3d3dy5kaXJhY3ZpZGVvLm9yZy93aWtpL2luZGV4LnBocC9Db250YWluZXJGb3JtYXRNYXBwaW5nR3VpZGVsaW5lcwoKMjAwOS0xMC0yMiAwMjowOTowOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBmaXggY29tcGlsYXRpb24gd2l0aCBkZWJ1Z2dpbmcgZGlzYWJsZWQKCSAgdG90YWxfaWR4IGlzIGFsd2F5cyBldmFsdWF0ZWQuCgoyMDA5LTEwLTE5IDIxOjU5OjQ2ICswMzAwICBQcmlpdCBMYWVzIDxwbGFlc0BwbGFlcy5vcmc+CgoJKiBleHQvbGliY2FjYS9nc3RjYWNhc2luay5oOgoJICBjYWNhc2luazogbWlub3IgY2xlYW51cHMgZm9yIGhlYWRlci4KCSAgVXNlIEdfQkVHSU5fREVDTFMgbWFjcm9zLCByZW1vdmUgdW51c2VkIHZhcmlhYmxlcyBhbmQgZml4IHR5cG8uCgkgIFNlZSAjNTk5MDE4LgoKMjAwOS0xMC0xOSAyMTo1OToyMyArMDMwMCAgUHJpaXQgTGFlcyA8cGxhZXNAcGxhZXMub3JnPgoKCSogZXh0L2xpYmNhY2EvZ3N0Y2FjYXNpbmsuYzoKCSAgY2FjYXNpbms6IGV4aXQgcHJvcGVybHkgd2hlbiBpbnZhbGlkIGRyaXZlciBoYXMgYmVlbiBzZWxlY3RlZC4KCSAgU2VlICM1OTkwMTguCgoyMDA5LTEwLTIwIDE4OjIzOjI4ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogU3RvcCBzY2FubmluZyBhdCB0aGUgbGFzdCBlbnRyeS4uLiBhbmQgbm90IHRoZSBvbmUgYmVmb3JlIDopCgkgIFRoaXMgZW5zdXJlcyB3ZSBhY3R1YWxseSBwdXNoIG91dCBldmVyeXRoaW5nCgoyMDA5LTEwLTIwIDE3OjIwOjU1ICswMjAwICBBbmR5IFdpbmdvIDx3aW5nb0BvYmxvbmcubmV0PgoKCSAgcXRkZW11eDogdW5wYWNrIG1vcmUgaW5mb3JtYXRpb24gaW50byBpbWFnZS94LWoyYyBjYXBzCgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eF9mb3VyY2MuaDogQWRkIG5ldyBmb3VyY2NzIGZvciB1c2UgYnkgdGhlIG1qMgoJICB1bnBhY2tlci4KCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmMgKHF0ZGVtdXhfcGFyc2VfdHJhayk6IFVucGFjayBKUEVHMjAwMCBjb21wb25lbnQKCSAgbWFwcGluZyBhbmQgY2hhbm5lbCBkZWZpbml0aW9ucyBmcm9tIHRoZSBqcDJoIGhlYWRlci4gV2lsbCBhZGQKCSAgY29tcG9uZW50LW1hcCBhbmQgY2hhbm5lbC1kZWZpbml0aW9ucyBlbGVtZW50cyB0byB0aGUgY2FwcyBpZiB0aGUKCSAgY29tcG9uZW50IG1hcHMgb3IgY2hhbm5lbCBkZWZpbml0aW9ucyBhcmUgbm9uc3RhbmRhcmQsIHdoZXJlIHN0YW5kYXJkCgkgIG9yZGVyIG1lYW5zIFJHQiwgNDQ0IHBhY2tlZCBZVVYsIG9yIGdyZXlzY2FsZSwgd2l0aCBubyBhbHBoYSBjaGFubmVsLgoJICBGaXhlcyAjNTk4OTE1LgoKMjAwOS0xMC0yMCAxNzozMzo0MSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGVpbnRlcmxlYXZlLmM6CgkgIHRlc3RzOiBpbmNsdWRlIHN0ZGlvLmggZm9yIHNzY2FuZgoKMjAwOS0xMC0xOSAxNToyMTo1NyArMDEwMCAgQmFzdGllbiBOb2NlcmEgPGhhZGVzc0BoYWRlc3MubmV0PgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBGaXggdGhlIFN0cmVhbVZvbHVtZSBpbnRlcmZhY2Ugbm90IGJlaW5nIGFkdmVydGlzZWQKCSAgZ3N0X3B1bHNlc2lua19pbnRlcmZhY2Vfc3VwcG9ydGVkKCkgd2FzIG1pc3NpbmcgYSBjaGVjayBmb3IgaXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD01OTg5MzMKCjIwMDktMTAtMTYgMjE6MTQ6MTQgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOgoJICBsZXZlbDogY29kZSBjbGVhbnVwCgkgIFVzZSBnZG91YmxlIGluc3RlYWQgb2YgZG91YmxlLiBDYWxjdWxhdGUgZmFsbG9mZl90aW1lIG9uY2UgaW5zdGVhZCBvZiB0d2ljZS4KCjIwMDktMTAtMTggMTU6NTI6MDIgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBNRU1EVU1QIHRoZSBqdW5rIGJsb2JzCgkgIEl0IHdpbGwgb25seSBhY3R1YWxseSBwdWxsIHRoZSBqdW5rIGJsb2JzIGZyb20gdXBzdHJlYW0gaWYgdGhlIG1lbWR1bXAKCSAgbGV2ZWwgaXMgYWN0aXZhdGVkCgoyMDA5LTEwLTE4IDE1OjUxOjM0ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogU29tZSBhdmkgZmlsZXMgaGF2ZSBJTkZPIGxpc3RzIGluIHRoZSBoZWFkZXJzLgoKMjAwOS0xMC0xOCAxNjowMjowMSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IERvbid0IHNlZWsgb24gZW1wdHkgc3RyZWFtcwoKMjAwOS0xMC0xOCAxNTo1MDozOSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IEVuc3VyZSBfY2FsY3VsYXRlX2R1cmF0aW9uc19mcm9tX2luZGV4IG9ubHkgdXNlcyB2YWxpZCBzdHJlYW1zCgoyMDA5LTEwLTE4IDE1OjQ5OjI5ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogT25seSBjYWxsIGNvbnZlcnQgZnVuY3Rpb24gaWYgd2UgaGF2ZSBzdHJmLmF1ZHMKCjIwMDktMTAtMTggMTU6NDg6MDYgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguaDoKCSAgYXZpZGVtdXg6IFVzZSBmaXJzdCBpbmRleGVkIHN0cmVhbSBmb3Igc2Vla2luZy4KCSAgSW4gdGhlIGZ1dHVyZSwgbWFpbl9zdHJlYW0gY2FuIGJlIGFkanVzdGVkIHRvIGNvbnRhaW4gdGhlIG9wdGltYWwgc3RyZWFtCgkgIGFzIG1lbnRpb25uZWQgaW4gdGhlIEZJWE1FIGxpbmUgMzQ0MAoKMjAwOS0xMC0xOCAxNTo0Njo0OCArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5oOgoJICBhdmlkZW11eDogT25seSBleHBvc2Ugc3RyZWFtcyB0aGF0IGFjdHVhbGx5IGhhdmUgc29tZXRoaW5nIGluIGl0LgoJICBUaGlzIGd1YXJhbnRlZXMgdGhhdCBpbiBwdWxsLW1vZGUsIGFsbCBzdHJlYW1zIGhhdmUgYSB2YWxpZCBpbmRleCB0bwoJICB3b3JrIHdpdGguCgoyMDA5LTEwLTE4IDE1OjQwOjM3ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogUHJvcGVybHkgbWFyayBwcmVzZW5jZSBvZiBpbmRleC4KCSAgSW5zdGVhZCBvZiBibGluZGx5IHNheWluZyB3ZSBoYXZlIGFuIGluZGV4LCBvbmx5IGRvIHNvIGlmIHdlIGhhdmUgYQoJICBub24tZW1wdHkgaW5kZXguCgoyMDA5LTEwLTE3IDAyOjE4OjUzICswMjAwICBMZW5uYXJ0IFBvZXR0ZXJpbmcgPGxlbm5hcnRAcG9ldHRlcmluZy5uZXQ+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlOiBuZXZlciBhcHBseSB2b2x1bWUgbW9yZSB0aGFuIG9uY2UKCSAgR2VuZXJhbGx5IGRlY2lzaW9ucyBvbiB0aGUgdm9sdW1lIG9mIHRoZSBzdHJlYW0gc2hvdWxkIGJlIGRvbmUgaW5zaWRlIG9mCgkgIFBBLCBub3QgaW5zaWRlIG9mIEdzdC4gT25seSBQQSBrbm93cyBob3cgdm9sdW1lcyB0cmFuc2xhdGUgYmV0d2VlbgoJICBkZXZpY2VzIGFuZCBzIG9uLgoJICBUaGlzIHBhdGNoIG1ha2VzIHN1cmUgdGhhdCBhbGwgdm9sdW1lcyBzZXQgdmlhIHRoZSB2b2x1bWUgcHJvcGVydHkgYXJlCgkgIG9ubHkgYXBwbGllZCAqb25jZSogdG8gdGhlIHVuZGVybHlpbmcgc3RyZWFtLiBBZnRlciBhcHBseWluZyB0aGVtIHRoZQoJICBjbGllbnQgc2lkZSB3aWxsIG5vdCBzdG9yZSB0aGVtIGFueW1vcmUuIFRoaXMgc2hvdWxkIG1ha2Ugc3VyZSB0aGF0CgkgIHJlYWxseSBvbmx5IHVzZXItdHJpZ2dlcmVkIHZvbHVtZSBjaGFuZ2VzIGFyZSBmb3J3YXJkZWQgdG8gc2VydmVyLCBidXQKCSAgdGhlIGNsaWVudCBuZXZlciB0cmllcyB0byBzYXZlL3Jlc3RvcmUgdGhlIHZvbHVtZSBpbnRlcm5hbGx5LgoJICBGaXhlcyBidWcgIzU5NTIzMS4KCjIwMDktMTAtMTcgMDg6NTU6MTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3BsdWdpbi5jOgoJICBwdWxzZXNpbms6IEluaXRpYWxpemUgZ2V0dGV4dCBmb3IgdGhlIHRyYW5zbGF0ZWQgc3RyaW5ncyBpbiBwbHVnaW5faW5pdCgpCgoyMDA5LTEwLTE3IDAwOjEwOjMwICswMjAwICBMZW5uYXJ0IFBvZXR0ZXJpbmcgPGxlbm5hcnRAcG9ldHRlcmluZy5uZXQ+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlOiB1c2UgJ3BlcmZvcm1lcicgYXMgYSBmYWxsYmFjayBmb3IgJ2FydGlzdCcgdGFnCgoyMDA5LTEwLTE3IDAwOjA5OjM2ICswMjAwICBMZW5uYXJ0IFBvZXR0ZXJpbmcgPGxlbm5hcnRAcG9ldHRlcmluZy5uZXQ+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkqIHBvL1BPVEZJTEVTLmluOgoJICBwdWxzZTogd2hlbiBjb25zdHJ1Y3RpbmcgYSBzdHJlYW0gdGl0bGUgZnJvbSB0YWcgZGF0YSBtYWtlIHN1cmUgaXQgaXMgdHJhbnNsYXRhYmxlCgoyMDA5LTEwLTE3IDAwOjA2OjE1ICswMjAwICBMZW5uYXJ0IFBvZXR0ZXJpbmcgPGxlbm5hcnRAcG9ldHRlcmluZy5uZXQ+CgoJKiBleHQvcHVsc2UvcHVsc2VtaXhlcmN0cmwuYzoKCSAgcHVsc2U6IGxvb3Agd2hpbGUgY29ubmVjdGluZyB0byBzZXJ2ZXIKCSAgcHRocmVhZCBkb2VzIG5vdCBndWFyYW50ZWUgdGhhdCB0aGVyZSBhcmUgbm8gc3B1cmlvdXMgY29uZGl0aW9uIHZhcmlhYmxlCgkgIHdha2V1cHMsIG5laXRoZXIgZG9lcyBwYV90aHJlYWRlZF9tYWlubG9vcF94eHgoKSB3aGljaCBpcyBhIHdyYXBwZXIKCSAgYXJvdW5kIGl0LiBTbyB3ZSBuZWVkIHRvIGxvb3AgYXJvdW5kIHRoZSBfd2FpdCgpIGZ1bmN0aW9uIHRvIG1ha2Ugc3VyZQoJICB3ZSBnZXQgdGhlIHJpZ2h0IHdha2V1cC4KCSAgQWxzbywgdW5pZnkgdGhlIG9yZGVyIG9mIHRoZSB3YWl0IGxvb3BzIGFjcm9zcyB0aGUgZmlsZS4KCjIwMDktMTAtMTcgMDA6MDU6MTAgKzAyMDAgIExlbm5hcnQgUG9ldHRlcmluZyA8bGVubmFydEBwb2V0dGVyaW5nLm5ldD4KCgkqIGV4dC9wdWxzZS9wdWxzZW1peGVyY3RybC5jOgoJKiBleHQvcHVsc2UvcHVsc2Vwcm9iZS5jOgoJICBwdWxzZTogbWFpbmxvb3AgY3JlYXRpb24gY2FuIGZhaWwgdG9vLCBzbyBoYW5kbGUgdGhhdAoKMjAwOS0xMC0xNyAwMDowMzowNiArMDIwMCAgTGVubmFydCBQb2V0dGVyaW5nIDxsZW5uYXJ0QHBvZXR0ZXJpbmcubmV0PgoKCSogZXh0L3B1bHNlL3B1bHNlbWl4ZXJjdHJsLmM6CgkgIHB1bHNlOiBhZGp1c3QgQ0hFQ0tfREVBRF9HT1RPIG1hY3JvIHRvIGdsaWIgc3R5bGUKCjIwMDktMTAtMTYgMTc6Mjg6NDIgKzAyMDAgIExlbm5hcnQgUG9ldHRlcmluZyA8bGVubmFydEBwb2V0dGVyaW5nLm5ldD4KCgkqIGV4dC9wdWxzZS9wdWxzZW1peGVyY3RybC5jOgoJKiBleHQvcHVsc2UvcHVsc2VtaXhlcmN0cmwuaDoKCSogZXh0L3B1bHNlL3B1bHNlcHJvYmUuYzoKCSogZXh0L3B1bHNlL3B1bHNlcHJvYmUuaDoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmg6CgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5oOgoJICBwdWxzZTogbWFrZSBhIGZldyB0aGluZ3Mgc21hbGxlciBieSBtYWtpbmcgdGhlbSBiaXRmaWVsZHMKCjIwMDktMTAtMTYgMTc6MjY6NDEgKzAyMDAgIExlbm5hcnQgUG9ldHRlcmluZyA8bGVubmFydEBwb2V0dGVyaW5nLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgcHVsc2U6IGJ1bXAgbWluaW11bSBsaWJwdWxzZSB2ZXJzaW9uIHRvIDAuOS4xMAoJICBPbGRlciB2ZXJzaW9ucyB0aGFuIDAuOS4xMCBhcmUgcmVhbGx5IHJlYWxseSBvbGQgYW5kIGJ1Z2d5LiBEcm9wCgkgIGNvbXBhdGliaWxpdHkgd2l0aCB0aGVtLiBOb2JvZHkgc2hvdWxkIHJ1biBhbnl0aGluZyB0aGF0IG9sZC4KCSAgQWxzbyBzZWU6IGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD01OTUwMjkKCjIwMDktMTAtMTYgMTg6MTg6MzEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0ZGVidWcuYzoKCSAgZGVidWd1dGlsczogcmVnaXN0ZXIgcHVzaGZpbGVzcmMgZWxlbWVudAoKMjAwOS0xMC0xNiAxNzoyODowOSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aW11eC5oOgoJICBhdmltdXg6IHN1cHBvcnQgKHNvbWUpIFZCUiBhdWRpbyBtdXhpbmcKCSAgQVZJIGZvcm1hdCBjYW4gaGFuZGxlIFZCUiBhdWRpbyBwcm92aWRlZCBhdWRpbyBjaHVua3MgYXJlIG9mIGZpeGVkIGR1cmF0aW9uCgkgIChjZnIgZml4ZWQgZHVyYXRpb24gdmlkZW8gZnJhbWVzKS4gIEFwcGx5IHRoaXMgYXBwcm9hY2ggdG8gKGFsd2F5cykgcGFyc2VkCgkgIHJhdyBBQUMgYW5kIChpZiBwYXJzZWQpIHRvIE1QRUctMS8yIGF1ZGlvLgoJICBTZWUgIzM2ODY4MS4KCjIwMDktMTAtMTYgMTM6NDE6NDUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnZGVjOiBmaXggYnJhbmNoIGhpbnRzCgkgIFJlbW92ZSBpbmFwcHJvcHJpYXRlIGJyYW5jaGluZyBoaW50cyBhbmQgYWRkIHNvbWUgbmV3IG9uZXMuCgoyMDA5LTEwLTE2IDEyOjMzOjA0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogZml4IHJlZ3Jlc3Npb24gaW4gaW5kaXJlY3QgZGVjb2RlIHBhdGgKCSAgUmV2ZXJ0IHZhcmlhYmxlIG5hbWUgYmFjayB0byB3aGF0IGl0IHdhcyBiZWZvcmUgdGhlIEdfTElLRUxZIHdhcwoJICBhZGRlZCAoaW4gY29tbWl0IDY5YzI0ZmI5KS4gVGhlIGNvZGUgd29ya3MgYmV0dGVyIHRoYXQgd2F5LgoKMjAwOS0xMC0xNiAwMjo0NzozOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgIGpwZWdkZWM6IGZpeCByZWdyZXNzaW9uIHdpdGggY2VydGFpbiBmb3JtYXRzCgkgIEZpeCByZWdyZXNzaW9uIGludHJvZHVjZWQgYnkgcHJldmlvdXMgY29tbWl0ICgjNTk4NTE3KS4KCjIwMDktMTAtMTUgMTk6NDk6NTUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnZGVjOiBkb24ndCB1c2UgZGVjb21wcmVzcyBzdHJ1Y3R1cmUgbWVtYmVycyB3ZSBzaG91bGRuJ3QgYmUgdXNpbmcKCjIwMDktMTAtMTQgMTc6NTM6NTIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5oOgoJICBqcGVnZGVjOiByZW1vdmUgc29tZSB1bnVzZWQgbWVtYmVycyBmcm9tIGpwZWdkZWMgaW5zdGFuY2Ugc3RydWN0dXJlCgoyMDA5LTEwLTE2IDExOjUzOjM4ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvcnRwbWFuYWdlci9NYWtlZmlsZS5hbToKCSogZ3N0L3VkcC9NYWtlZmlsZS5hbToKCSAgYnVpbGQ6IHVzZSBnc3QtZ2xpYi1nZW4ubWFrIHRvIGZpeCB0aGUgZ2xpYiBidWlsZCBydWxlcy4KCSAgVGhlIGJ1aWxkIHJ1bGVzIGluIGdsaWItZ2VuLm1hayB3ZXJlIHVzaW5nIHBhdHRlcm4gcnVsZXMgaW4gYSBub24gc2F2ZSB3YXkuCgoyMDA5LTEwLTE2IDEwOjE1OjM1ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDg1ZDE1MzAgdG8gMDcwMmZlMQoKMjAwOS0xMC0xNSAyMTowNDowMiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBhZGp1c3QgZmxvdyByZXR1cm4gYWdncmVnYXRpb24gdG8gdXBkYXRlZCBsb29wX2RhdGEKCSAgSW4gcGFydGljdWxhciwgZWFjaCBzdHJlYW0gaXMgbm93IHRyZWF0ZWQgc2VwYXJhdGVseSwgYW5kIG9uZSBzdHJlYW0ncwoJICBFT1Mgc2hvdWxkIG5vdCBsZWFkIHRvIG92ZXJhbGwgRU9TLgoKMjAwOS0xMC0xNSAxMTo1MjozNSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGNoZWNrIHNvbWUgbW9yZSBhdG9tIHNpemVzIHByaW9yIHRvIHBhcnNpbmcKCjIwMDktMTAtMTUgMTM6MTk6MTMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3A6IGhhbmRsZSBldmVudHMgaW4gVENQIG1vZGUKCSAgV2UgbmVlZCB0byBoYW5kbGUgZXZlbnRzIGluIFRDUCBtb2RlIHNvIHRoYXQgd2UgY2FuIHJlcGx5IHRvIHRoZSBMQVRFTkNZIGV2ZW50CgkgIHdpdGggVFJVRS4KCjIwMDktMTAtMTUgMTE6MjQ6NDUgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogYWRkIG1pc3NpbmcgYXJndW1lbnQgaW4gZGVidWcgbWVzc2FnZQoKMjAwOS0xMC0xNCAxODo1ODowNiArMDIwMCAgTWFydmluIFNjaG1pZHQgPG1hcnZAZXhoZXJiby5vcmc+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9mbHZtdXguYzoKCSAgZmx2bXV4OiBVc2UgbG9vcCB0ZXN0IHRvIHByZXZlbnQgdGltZW91dCBvbiBzbG93IG1hY2hpbmVzCgkgIFBhcnRpYWxseSBmaXhlcyBidWcgIzU5NzczOS4KCjIwMDktMTAtMTQgMTY6MTU6NDggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGZvcndhcmQgZXZlbnRzIGludG8gdGhlIHJ0cGJpbgoJICBPbmx5IGNhdGNoIHRoZSBTRUVLIGV2ZW50IG9uIHRoZSBzcmNwYWQgYW5kIGxldCBvdGhlciBldmVudHMgZW50ZXIgdGhlIHJ0cGJpbi4KCjIwMDktMTAtMTQgMTE6MzM6MjQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQGVtYmVkZGVkLnVmY2cuZWR1LmJyPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IEZpeCBsYXRlIHRhZ3MgZmluZGluZwoJICBVc2UgdGhlIGNvcnJlY3QgdGFnbGlzdCB2YXJpYWJsZSB3aGVuIG5vdGlmeWluZyBvZiBsYXRlIHRhZ3MuCgoyMDA5LTEwLTE0IDEzOjA5OjAzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5oOgoJICBhdmlkZW11eDogdXNlIEdzdEluZGV4IGZvciAobGltaXRlZCkgc2Vla2luZyBpbiBwdXNoIG1vZGUKCSAgLi4uIGJ1dCBkaXNhYmxlIHRoaXMgZm9yIG5vdy4gIEFsdGhvdWdoIGl0IGJhc2ljYWxseSB3b3JrcyBmaW5lLAoJICB1c2VyIGV4cGVyaWVuY2UgbWlnaHQgYmUgc2hha3kgKGRlcGVuZGluZyBvbiB0YXN0ZSksIHNpbmNlIHRoZXJlCgkgIGlzIG5vIGtleWZyYW1lIGluZm8gaW4gcHVzaCBtb2RlLgoKMjAwOS0xMC0xNCAxMzowODo0NyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguaDoKCSAgYXZpZGVtdXg6IGFkZCBHc3RJbmRleCBzdXBwb3J0CgoyMDA5LTEwLTE0IDExOjU1OjMzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IGFsc28gZGV0ZXJtaW5lIGR1cmF0aW9uIGluIHB1c2ggbW9kZQoKMjAwOS0xMC0xNCAxMTo1NDo0NCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguaDoKCSAgcXRkZW11eDogYWRkIEdzdEluZGV4IHN1cHBvcnQKCjIwMDktMTAtMTQgMDc6Mzg6MjYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQGVtYmVkZGVkLnVmY2cuZWR1LmJyPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICB2NGwyc3JjOiBTZXQgZHVyYXRpb24gb24gYnVmZmVycwoJICBVc2UgZnJhbWVyYXRlIHRvIGVzdGltYXRlIGR1cmF0aW9uIG9mIGJ1ZmZlcnMuCgkgIEZpeGVzICM1OTAzNjIKCjIwMDktMTAtMTQgMTI6Mjg6NTUgKzAyMDAgIEjDpXZhcmQgR3JhZmYgPGhhdmFyZC5ncmFmZiBhdCB0YW5kYmVyZy5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6CgkgIHJ0cHB0ZGVtdXg6IG9ubHkgZm9yd2FyZCB0aGUgbG9zdC1ldmVudCB0byB0aGUgbGFzdCBzZWVuIHB0LW51bWJlcgoJICBmb3J3YXJkIGFsbCBldmVudHMgb24gYWxsIHBhZHMgZXhjZXB0IGZvciB0aGUgUGFja2V0TG9zdCBldmVudCwgd2hpY2ggd2Ugd2FudCB0bwoJICBmb3J3YXJkIHRvIHRoZSBsYXN0IHNlZW4gcHQgcGFkLgoJICBGaXhlcyAjNTk4Mzc3CgoyMDA5LTEwLTA2IDIyOjI4OjUwICswMzAwICBSZW7DqSBTdGFkbGVyIDxtYWlsQHJlbmVzdGFkbGVyLmRlPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IHNldCBkZXNpcmVkIG1pbnJlcSB2YWx1ZSB0byBzZWdzaXplL2xhdGVuY3ktdGltZQoJICBJZiB3ZSBsZXQgdGhlIGRhZW1vbiBkZWNpZGUgZnJlZWx5IGJ5IHBhc3NpbmcgLTEsIHdlIGVuZCB1cCBhbHdheXMgZ2V0dGluZyAyMG1zLgoJICBXZSB3YW50IHRvIHNldCB0aGlzIHZhbHVlIGJlY2F1c2UgaW4gc29tZSBjYXNlcyB3ZSB3YW50IHRvIHNlbGVjdCBhIGhpZ2hlcgoJICBsYXRlbmN5LXRpbWUgaW4gb3JkZXIgdG8gc2F2ZSBwb3dlci4KCSAgRml4ZXMgIzU5NzYwMQoKMjAwOS0xMC0xNCAxMDo0MToyMSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gYTNlM2NlNCB0byA4NWQxNTMwCgoyMDA5LTEwLTEzIDE4OjMzOjM0ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL2ZsYWNkZWMuYzoKCSAgdGVzdHMvcGlwZWxpbmUvZmxhYzogRml4IGJ1aWxkIG9uIG1hY29zeCAxMC41CgoyMDA5LTEwLTEzIDE4OjE5OjMyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogZGVtb3RlIHNvbWUgd2FybmluZ3MgdG8gZGVidWcKCjIwMDktMTAtMTMgMTc6NDc6NDAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2F2aS1pZHMuaDoKCSAgYXZpOiBhZGQgbmV3IGF2aSBmbGFnIHdlIG1pZ2h0IHdhbnQgdG8gdXNlCgoyMDA5LTEwLTEzIDE3OjQ2OjIyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSAgYXZpbXV4OiBjYWxjdWxhdGUgc3VnZ2VzdGVkIGJ1ZmZlciBzaXplCgkgIENhbGN1bGF0ZSB0aGUgc3VnZ2VzdGVkIGJ1ZmZlciBzaXplIGJhc2VkIG9uIHRoZSBsYXJnZXN0IGNodW5rIGluIHRoZSBmaWxlLgoJICBTZWUgIzU5Nzg0NwoKMjAwOS0xMC0xMyAxNzo0NToxNCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkgIGF2aW11eDogYWRkIGpwZWcyMDAwIHRvIGFsbG93ZWQgY2FwcwoKMjAwOS0xMC0xMyAxNzo0MToxMyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IGFkZCBkZWJ1ZyBmb3IgdGhlIHN1cGVyaW5kZXggb2Zmc2V0cwoKMjAwOS0xMC0xMyAxNjowMjozNyArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBGaXggdW5pbml0aWFsaXplZCB2YXJpYWJsZSB3YXJuaW5nCgkgIEZpeCBhbm90aGVyIGJvZ3VzIG1heS1iZS11c2VkLXVuaW5pdGlhbGl6ZWQgd2FybmluZyBpbiBxdGRlbXV4CgoyMDA5LTEwLTEzIDEzOjA4OjMzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSogZ3N0L2F2aS9nc3RhdmltdXguaDoKCSAgYXZpOiBsb3dlciBtYXggZmlsZSBzaXplCgkgIE1ha2UgYSBjb25zdGFudCBvZiB0aGUgbWF4IGZpbGUgc2l6ZSBhbmQgbG93ZXIgdGhlIHZhbHVlIHRvIHdoYXQgZmZtcGVnIGRvZXMsCgkgIGhvcGVmdWxseSBpbXByb3ZpbmcgY29tcGF0aWJpbGl0eSB3aXRoIHdpbmRvd3MgbWVkaWEgcGxheWVyLgoJICBTZWUgIzU5Nzg0NwoKMjAwOS0xMC0xMyAwMTowMjoxNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgIGpwZWdkZWM6IGZpeCBib2d1cyB3YXJuaW5nIGFib3V0IGRpc2NvbnQgZmxhZyBvbiBmaXJzdCBidWZmZXIKCSAgVGhlIHZlcnkgZmlyc3QgYnVmZmVyIHNob3VsZCBhbHdheXMgaGF2ZSB0aGUgRElTQ09OVCBmbGFnIHNldCwgbm8KCSAgbmVlZCB0byB3YXJuIGFib3V0IHRoYXQuIE9ubHkgd2FybiBpZiB3ZSBnZXQgYSBESVNDT05UIGJ1ZmZlciBpbgoJICBub24tcGFja2V0aXNlZCBtb2RlIGFuZCB3ZSBhbHJlYWR5IGhhdmUgc29tZSBkYXRhLgoKMjAwOS0xMC0xMyAwMDo0MTo1NyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgIGpwZWdkZWM6IGZpeCBjcmFzaCBmb3IgdW51c3VhbCB2ZXJ0aWNhbCBjaHJvbWEgc3Vic2FtcGxpbmcgZmFjdG9ycwoJICBGaXhlcyAjNTk3MzUxLgoKMjAwOS0xMC0xMyAwMDoxMjo0MiArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBGaXggdW5pbml0aWFsaXplZCB2YXJpYWJsZSB3YXJuaW5ncwoJICBUaGUgZ2NjIG9uIHRoZSBPUy9YIGJ1aWxkYm90IGNvbXBsYWlucyBhYm91dCB0aGVzZSB2YXJpYWJsZXMgbm90IGJlaW5nCgkgIGluaXRpYWxpemVkLCBldmVuIHRob3VnaCB0aGV5IGNhbid0IHBvc3NpYmx5IGFjdHVhbGx5IGJlIHVzZWQKCSAgdW5pbml0aWFsaXplZC4KCjIwMDktMTAtMTEgMTE6MzU6MjMgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5jOgoJICBkdG1mOiBmaXggd2FybmluZ3MgaW4gbWFjb3N4IHNub3cgbGVvcGFyZAoKMjAwOS0xMC0xMCAwMDozNzowOCArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnZGVjOiBmaXhlcyB3YXJuaW5nIGJ1aWxkaW5nIGluIHNub3cgbGVvcGFyZAoKMjAwOS0xMC0wOSAxNzoxMjo0NiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGFsc28gY29uc2lkZXIgUXVpY2t0aW1lIHRleHQgc3VidGl0bGVzCgoyMDA5LTEwLTA5IDE3OjAyOjU3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogcHJvdmlkZSBsYW5ndWFnZSB0YWcgZm9yIHN0cmVhbQoKMjAwOS0xMC0wOSAxNjozMDo1NyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHJlZmFjdG9yIGNvbW1vbiBwYXJ0cyBpbiB0cmFjayBwYXJzaW5nCgoyMDA5LTEwLTA5IDE2OjIxOjAzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5oOgoJICBxdGRlbXV4OiByZWZhY3RvciBidWZmZXIgcHJvY2Vzc2luZyBhbmQgc2VuZGluZwoJICAuLi4gc28gaXQgY2FuIGJlIHVzZWQgaW4gYm90aCBwdWxsIGFuZCBwdXNoIGJhc2VkIG1vZGUuCgoyMDA5LTEwLTA4IDEzOjM5OjI1ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZXh0cmFjdCBwYWxldHRlIGRhdGEgZm9yIGR2ZCBzdWJwaWN0dXJlIHN0cmVhbXMKCSAgLi4uIGFuZCBzZW5kIGl0IGRvd25zdHJlYW0gdXNpbmcgY3VzdG9tIGR2ZCBldmVudAoKMjAwOS0xMC0wNyAxNDowMzoxNyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguaDoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eF9mb3VyY2MuaDoKCSAgcXRkZW11eDogc3VwcG9ydCAzR1BQIHRpbWVkIHRleHQgc3VidGl0bGVzCgkgIEluIHBhcnRpY3VsYXIsIGFsc28gbWFrZSBzdWJ0aXRsZSBzdXBwb3J0IGxlc3Mgc3VicChpY3R1cmUpLWNlbnRyaWMuCgoyMDA5LTEwLTA3IDE2OjE1OjU1ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogTlVMTCBpcyBub3QgYSB2YWxpZCB0YWdsaXN0CgoyMDA5LTA5LTIzIDE3OjIwOjI1ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eF9mb3VyY2MuaDoKCSAgcXRkZW11eDogcmVjb2duaXplIHNvbWUgbW9yZSBlbmN5cHRlZCB0cmFjayBjYXNlcwoKMjAwOS0xMC0wOSAxNTo1OToyNSArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZ3N0L2lkM2RlbXV4L2lkM3RhZ3MuYzoKCSAgaWQzOiBmaXhlcyB3YXJuaW5ncyBidWlsZGluZyBvbiBtYWNvc3gKCSAgQW5vdGhlciByb3VuZCBvbiB0aGUgZm9ybWF0aW5nIG9mIHRoYXQgZGVidWcgbGluZS4KCjIwMDktMTAtMDkgMTQ6NDQ6MDIgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9pZDNkZW11eC9pZDN0YWdzLmM6CgkgIGlkMzogY2FzdCBwb2ludGVyIG1hdGggcmVzdWx0cyB0byBnbG9uZwoKMjAwOS0xMC0wOSAxNDozNzozMiArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJICBmbGFjOiBhcHBhcmVudGx5IG9uIHNvbWUgcGxhdGZvcm1zIGEgRkxBQ19fdWludDY0IT1ndWludDY0CgoyMDA5LTEwLTA5IDE0OjIxOjA5ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2cmF3cGF5LmM6CgkgIGJ1aWtkOiBleHBsaWNpdGVseSBjYXN0LCB0byB0ZWxsIHNvbWUgY29tcGlsZXJzIHRoYXQgdGhpcyBpcyBub3QgbG9uZyBpbnQKCjIwMDktMTAtMDkgMTM6Mzg6MTcgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSogZ3N0L2lkM2RlbXV4L2lkM3RhZ3MuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnJhd3BheS5jOgoJICBidWlsZDogZG9uJ3QgY2FzdCwgYnV0IHVzZSB0aGUgcmlnaHQgZm9ybWF0IHNwZWNpZmllZCBpbnN0ZWFkCgkgIFRoaXMgY29ycmVjdCBzb21lIG9mIHRoZSBwcmV2aW91cyBtYWNvcyBmaXhlcy4KCjIwMDktMTAtMDkgMTI6NDA6NDcgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGV4dC9kdi9nc3RkdmRlbXV4LmM6CgkgIGR2OiBmaXggd2FybmluZ3Mgb24gbWFjb3N4CgoyMDA5LTEwLTA5IDEyOjI1OjE5ICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSAgZmxhYzogZml4IHdhcm5pbmdzIG9uIG1hY29zeAoKMjAwOS0xMC0wOSAxMjoxOTozNSArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZXh0L2Fubm9kZXgvZ3N0Y21tbGRlYy5jOgoJKiBleHQvYW5ub2RleC9nc3RjbW1sZW5jLmM6CgkgIGFubm9kZXg6IGZpeCB3YXJuaW5ncyBpbiBtYWNvc3gKCjIwMDktMTAtMDkgMTI6MTQ6MjIgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIHN5cy9vc3h2aWRlby9jb2NvYXdpbmRvdy5tOgoJICBvc3h2aWRlbzogZml4IGEgd2FybmluZyBkb2luZyBhIGNhc3QKCjIwMDktMTAtMDkgMTI6MTE6MTIgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hyaW5nYnVmZmVyLmM6CgkgIG9zeGF1ZGlvOiBmaXggd2FybmluZ3Mgb24gbWFjb3N4CgoyMDA5LTEwLTA5IDEyOjAxOjEwICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdwYXkuYzoKCSAgcnRwdnJhd3BheTogZml4IHdhcm5pbmcgb24gbWFjb3N4CgoyMDA5LTEwLTA5IDExOjU3OjU5ICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuYzoKCSAgcnRwaDI2M3BheTogZml4IHdhcm5pbmcgb24gbWFjb3N4CgoyMDA5LTEwLTA5IDExOjU0OjAzICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGZpeCB3YXJuaW5ncyBidWlsZGluZyBvbiBtYWNvc3gKCjIwMDktMTAtMDkgMTE6NDI6MzYgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGdzdC9pZDNkZW11eC9pZDN0YWdzLmM6CgkgIGlkM2RlbXV4OiBmaXggcHJpbnRmIHdhcm5pbmdzIG9uIG1hY29zeAoKMjAwOS0xMC0wOSAxMTozMDowMCArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogZml4IHdhcm5pbmcgaW4gbWFjb3N4IG1ha2luZyB0aGUgZm9ybWF0IHBvcnRhYmxlCgoyMDA5LTEwLTA5IDEwOjUxOjI5ICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWZpcmZpbHRlci5jOgoJICBhdWRpb2Z4OiB1c2UgR19HVUlOVDY0X0ZPUk1BVCB0byBmaXggd2FybmluZ3Mgb24gT1NYCgoyMDA5LTEwLTA5IDEwOjExOjM4ICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4cmluZ2J1ZmZlci5jOgoJICBvc3hhdWRpbzogRml4ZXMgYnVpbGQgb24gbWFjb3N4IHNub3cgbGVvcGFyZC4KCjIwMDktMTAtMDkgMTE6MzQ6MTYgKzAyMDAgIFBhdSBHYXJjaWEgaSBRdWlsZXMgPHBncXVpbGVzQGVscGF1ZXIub3JnPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJICB2NGwyOiBJbmNsdWRlIHN5cy9pb2N0bC5oIGZvciB0aGUgVjRMIGlvY3RsIHJlcXVlc3RzCgkgIE9sZCB2aWRlb2RldmljZTIuaCBrZXJuZWwgaGVhZGVycyB1c2VkIGlvY3RsIHN0dWZmIHdpdGhvdXQKCSAgaW5jbHVkaW5nIGlvY3RsLmgsIG1ha2luZyBjb21waWxhdGlvbiBmYWlsIG9uIG9sZGVyIHN5c3RlbXMuCgkgIE5vdGU6IEluY2x1ZGluZyBpb2N0bC5oIGhlcmUgaXMgb25seSBhIHdvcmthcm91bmQgZm9yIG9sZCBrZXJuZWwKCSAgaGVhZGVycywgc2hvdWxkIGJlIHJlbW92ZWQgb25jZSBldmVyeWJvZHkgaGFzIG5ldyBlbm91Z2ggaGVhZGVycy4KCSAgRml4ZXMgYnVnICM1OTc4NjcuCgoyMDA5LTEwLTA5IDAwOjE0OjA3ICswMTAwICBKYW4gU2NobWlkdCA8amFuLnNjaG1pZHRAc3VuLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbGV2ZWwuYzoKCSAgY2hlY2s6IE1ha2UgdGhlIGxldmVsIHVuaXQgdGVzdCBzdWNjZWVkIG9uIFNvbGFyaXMgMTAKCSAgQWRkIGEgY29uZmlndXJlIGNoZWNrIGZvciBmdW5jdGlvbmFsIGlzaW5mKCkgYW5kIGZwY2xhc3MoKSwgYW5kCgkgIHVzZSBmcGNsYXNzKCkgd2hlcmUgcG9zc2libGUgd2hlbiBpc2luZigpIGlzIG5vdCBhdmFpbGFibGUuCgoyMDA5LTA1LTE2IDEzOjUyOjUwICswMzAwICBSZW7DqSBTdGFkbGVyIDxyZW5lLnN0YWRsZXJAbm9raWEuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IGZpeCBzdHJzdHIoKSB1c2FnZSBvbiBwb3NzaWJseSB1bnRlcm1pbmF0ZWQgc3RyaW5nCgoyMDA5LTEwLTA4IDE2OjE2OjE0ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbGV2ZWwuYzoKCSAgY2hlY2s6IExpbmsgYWdhaW5zdCBMSUJNIGFuZCBpbmNsdWRlIG1hdGguaCBmb3IgaXNpbmYoKQoKMjAwOS0xMC0wNyAyMTo1MTozOCArMDEwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkLnNpbW9uc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvb3NzL2dzdG9zc2F1ZGlvLmM6CgkgIG9zczogRG93bmdyYWRlIHRoZSByYW5rIG9mIG9zc3NyYyB0byBTRUNPTkRBUlkKCSAgd2hpY2ggaXMgdGhlIHNhbWUgcmFuayBhcyBvc3NzaW5rIGhhcy4KCSAgRml4ZXMgYnVnICM1OTc3MzAuCgoyMDA5LTEwLTA4IDEwOjU5OjUzICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDE5ZmE0ZjMgdG8gYTNlM2NlNAoKMjAwOS0xMC0wOCAxMDoyMDowOSArMDEwMCAgSmFuIFNjaG1pZHQgPGphbi5zY2htaWR0QHN1bi5jb20+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICBhdmkvd2F2OiBGaXggc29tZSBjb21waWxlciB3YXJuaW5ncyBhYm91dCBpbmNvbXBhdGlibGUgcG9pbnRlcnMuCgoyMDA5LTEwLTA1IDE3OjM2OjU1ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZS5jOgoJICBtdWx0aWZpbGU6IEZpeCBwbHVnaW4gZGVzY3JpcHRpb24KCjIwMDktMTAtMDcgMTQ6MDM6MjAgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9hbm5vZGV4L2dzdGNtbWx1dGlscy5jOgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmg6CgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuaDoKCSogZ3N0L2FwZXRhZy9nc3RhcGVkZW11eC5jOgoJKiBnc3QvZGVidWd1dGlscy90ZXN0cy5jOgoJKiBnc3QvaWQzZGVtdXgvaWQzdjJmcmFtZXMuYzoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdkZXBheS5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSogZ3N0L3J0c3AvZ3N0cnRwZGVjLmM6CgkqIHRlc3RzL2V4YW1wbGVzL3NwZWN0cnVtL2RlbW8tYXVkaW90ZXN0LmM6CgkqIHRlc3RzL2V4YW1wbGVzL3NwZWN0cnVtL2RlbW8tb3Nzc3JjLmM6CgkqIHRlc3RzL2V4YW1wbGVzL3NwZWN0cnVtL3NwZWN0cnVtLWV4YW1wbGUuYzoKCSAgYnVpbGQ6IGZwcmludGYsIHNwcmludGYsIHNzY2FuZiBuZWVkIHN0ZGlvLmgKCjIwMDktMTAtMDcgMDA6MzM6NDkgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6CgkgIGVxdWFsaXplcjogdXNlIHNoZWxmaW5nIGZpbHRlcnMgZm9yIGZpcnN0IGFuZCBsYXN0IGJhbmQKCSAgUmVmYWN0b3IgdGhlIGZpbHRlciBzZXR1cC4gQWRkIHR3byBuZXcgZmlsdGVycyB3aXRoIHNoZWxmIGNoYXJhY3RlcmlzdGljcyBmb3IKCSAgZmlyc3QgYW5kIGxhc3QgYmFuZC4gQ2hhbmdlIGdhaW4gY2FsY3VsYXRpb24gYXMgcmVjb21tZW5kZWQgaW4gdGhlIHF1b3RlZAoJICBkb2N1bWVudCAobm8gcXJ0IG5lZWRlZCkuIFJlbmFtZSB2YXJpYWJsZXMgdG8gbWF0Y2ggdGhlIGZvcm11bGFzIGluIHRoZQoJICBkb2N1bWVudC4KCjIwMDktMTAtMDIgMjM6NTE6MjkgKzAzMDAgIFJlbsOpIFN0YWRsZXIgPG1haWxAcmVuZXN0YWRsZXIuZGU+CgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSAgcHVsc2VzcmM6IGd1YXJkIGZyYWdtZW50IHNpemUgd2l0aCBhIGxvd2VyIGxpbWl0IGJhc2VkIG9uIGxhdGVuY3ktdGltZQoJICBJbiBjYXNlIHRoYXQgdGhlIHB1bHNlIGRhZW1vbiBydW5zIHRoZSBzb3VyY2UgZGV2aWNlIGF0IGEgcmVsYXRpdmVseSBsb3cgZml4ZWQKCSAgZnJhZ21lbnQgc2l6ZSBjb21wYXJlZCB0byB0aGUgcmVxdWVzdGVkIGxhdGVuY3ktdGltZSwgY29uZmlndXJlIHRoZSByaW5nIGJ1ZmZlcgoJICBzZWdzaXplIHRvIHRoZSBsYXJnZXN0IGludGVnZXIgbXVsdGlwbGUgb2YgdGhlIGZyYWdtZW50IHNpemUgdGhhdCBpcyBzdGlsbAoJICBzbWFsbGVyIHRoYW4gb3IgZXF1YWwgdG8gdGhlIHJlcXVlc3RlZCBsYXRlbmN5LXRpbWUuCgkgIEZpeGVzIGJ1ZyAjNTk3NDYzLgoKMjAwOS0xMC0wNiAxNzo0MDo0NyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnZGVjOiBjb21tZW50L2xvZ2dpbmcgY2xlYW51cHMgYW5kIG1vcmUgYnJhbmNoIGd1aWRlcwoKMjAwOS0xMC0wNSAyMjo0MzoxMSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzoKCSAgZXF1YWxpemVyOiBmaXggZmlsdGVyIGhpc3RvcnkgdXNhZ2UuIEZpeGVzICM1OTczOTcKCSAgVGhlIHByb2Nlc3MgZnVuY3Rpb25zIHdoZXJlIG92ZXJ3cml0aW5nIHRoZSBoaXN0b3J5IGZvciBlYWNoIGNoYW5uZWwuIEFsc28gcHVsbAoJICBzb21lIHN0YXRpYyB0aGluZ3Mgb3V0IG9mIHRoZSBpbm5lciBsb29wLgoKMjAwOS0xMC0wNSAxNjowNzoyNCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IHVzZSBsb2NraW5nIGFyb3VuZCB0aGUgc2Vzc2lvbnMKCjIwMDktMTAtMDUgMTE6NDY6MDggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBtYWtlIHN1cmUgY29tcGF0aWJsZSBicmFuZHMgYnVmZmVyIGV4aXN0cyBiZWZvcmUgZGVyZWZlcmVuY2luZyBpdAoKMjAwOS0xMC0wNCAyMTo1OToyNCArMDIwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AZ21haWwuY29tPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBmaXggcHJpbnRmIHdhcm5pbmdzIG9uIE9TWAoJICBDYXN0IHZhcmlhYmxlcyBwYXNzZWQgdG8gcHJpbnRmIHRvIGF2b2lkIHdhcm5pbmdzIGFib3V0IGluY29ycmVjdAoJICBmb3JtYXRzIChtb3N0IGxpa2VseSBjYXVzZWQgYnkgc2l6ZW9mIHJldHVybmluZyBhIHNpemVfdCkuCgkgIEZpeGVzICM1OTczNDguCgoyMDA5LTEwLTAyIDAwOjIzOjM0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogcmVtb3ZlIGludGVybmFsIGdlbnJlIHRhYmxlCgkgIE5vIG5lZWQgdG8gbWFpbnRhaW4gb3VyIG93biBnZW5yZSB0YWJsZSBpbiBxdGRlbXV4LiBUaGUgZ2VucmVzIGFyZQoJICBpZGVudGljYWwgdG8gdGhlIElEMyBnZW5yZXMsIHNvIHdlIGNhbiBqdXN0IHVzZSBsaWJnc3R0YWcncwoJICBnc3RfdGFnX2lkM19nZW5yZV9nZXQoKSB0byBsb29rIHRoZW0gdXAuCgoyMDA5LTEwLTAzIDE3OjE4OjI4ICswMjAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBnbWFpbC5jb20+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIEZpeCBwcmludGYgZm9ybWF0cyB0byBhdm9pZCB3YXJuaW5ncyBpbiBhdmlkZW11eC4gRml4ZXMgIzU5NzIxNAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTk3MjE0CgoyMDA5LTEwLTAzIDA5OjUyOjU3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBDaGFuZ2Ugb25lIEdTVF9XQVJOSU5HIHRvIGEgR1NUX0RFQlVHCgoyMDA5LTEwLTAyIDE0OjM3OjU0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5oOgoJKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6CgkgIGZsdmRlbXV4OiBJZiB0aGVyZSdzIG5vIGF1ZGlvIHN0cmVhbSBhZnRlciA2IHNlY29uZHMgb2YgdmlkZW8gc2lnbmFsIG5vLW1vcmUtcGFkcwoJICAuLi5hbmQgdGhlIG90aGVyIHdheSBhcm91bmQuIEFsc28gaWdub3JlIGFueSBhdWRpby92aWRlbyBzdHJlYW1zIHRoYXQgYXBwZWFyCgkgIGFmdGVyIG5vLW1vcmUtcGFkcy4KCSAgRml4ZXMgYnVnICM1OTcwOTEuCgoyMDA5LTEwLTAyIDE0OjM3OjQwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5oOgoJKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6CgkgIGZsdmRlbXV4OiBNYWtlIHN1cmUgdG8gb25seSBzaWduYWwgbm8tbW9yZS1wYWRzIGEgc2luZ2xlIHRpbWUKCjIwMDktMTAtMDIgMjI6NTU6NDUgKzAzMDAgIFJlbsOpIFN0YWRsZXIgPG1haWxAcmVuZXN0YWRsZXIuZGU+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJICBwdWxzZTogcmVuYW1lIHBhX2J1ZmZlcl9hdHRyIHZhcmlhYmxlcwoJICBNYWtlcyBpdCBtdWNoIGVhc2llciB0byBzZWUgd2hhdCBpcyBnb2luZyBvbiBhbmQgaXMgYSBsb3QgbGVzcyBlcnJvciBwcm9uZS4KCjIwMDktMTAtMDIgMTg6MjU6MTYgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9ydHAvZ3N0cnRwanBlZ2RlcGF5LmM6CgkgIHJ0cDogYWRkIG1pc3NpbmcgaW5jbHVkZSB0byBmaXggdGhlIGJ1aWxkCgoyMDA5LTEwLTAyIDEzOjE1OjU5ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0Z2FtbWEuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvYmFsYW5jZS5jOgoJICB2aWRlb2ZpbHRlcjogYWRkIEdfT0JKRUNUX1dBUk5fSU5WQUxJRF9QUk9QRVJUWV9JRCB0byBwcm9wZXJ0eSBzZXR0ZXIKCjIwMDktMTAtMDIgMTM6MTA6NDQgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOgoJICBsZXZlbDogZG9uJ3QgZ2l2ZSB3cm9uZyBudW1iZXIgb2YgZmllbGRzIGluIHRoZSBtZXNzYWdlIGRvY3MKCjIwMDktMTAtMDEgMTI6NTI6NDAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBjYWNoZSBsYXRlbmN5IGluIG5hbm9zZWNvbmRzCgkgIENhY2hlIHRoZSBsYXRlbmN5IGluIG5hbm9zZWNvbmRzIHVuaXRzIHRvIGF2b2lkIGhhdmluZyB0byBjb252ZXJ0IHRoZQoJICBtaWxsaXNlY29uZHMgdmFsdWUgdG8gbmFub3NlY29uZHMgYWxsIHRoZSB0aW1lLgoKMjAwOS0xMC0wMSAxMjoxMjowOSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IGhhbmRsZSAtMSBpbnB1dCB0aW1lc3RhbXBzCgkgIERvbid0IHRyeSB0byBjaGVjayBhIC0xIHRpbWVzdGFtcCBhZ2FpbnN0IHRoZSBtYXggZGVsYXkuCgoyMDA5LTEwLTAxIDEwOjU0OjU1ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aTogZG9uJ3QgbWlzdWVzIHBlcmYtY2F0ZWdvcnkgYW5kIHJlbW92ZSB1bnVzZWQgZXh0IGNhdGVnb3J5CgkgIFRoZSBwZXJmb3JtYW5jZSBjYXRlZ29yeSBpcyBtZWFudCB0byBiZSB1c2VkIHRvIGF1ZGl0IGNvZGVwYXRocyB0aGF0IGxlYWQgdG8gYmFkCgkgIHBlcmZvcm1hbmNlIChlLmcuIGNvcGllcywgY29udmVyc2lvbiB0aGF0IGNhbiBiZSBhdm9pZGVkKS4KCSAgUmVtb3ZlIHRoZSBldmVudCBjYXRlZ29yeSB3aGljaCBpcyBub3QgdXNlZC4KCjIwMDktMDktMTYgMTQ6MjM6MjQgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwZzcyOWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyOXBheS5jOgoJICBydHBnNzI5cGF5L2RlcGF5OiBEZW1vdGUgcGVyLWJ1ZmZlciBkZWJ1ZyBtZXNzYWdlcyB0byBsb2cgbGV2ZWwKCjIwMDktMDktMTYgMTQ6MTY6MjcgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwZzcyOXBheS5jOgoJICBydHBnNzI5cGF5OiBEb24ndCBsZWFrIGluY29taW5nIGJ1ZmZlcnMgYWZ0ZXIgc3ViYnVmZmVyaW5nIHRoZW0KCjIwMDktMDktMTYgMTM6NTc6MDUgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwZzcyOWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyOXBheS5jOgoJICBydHBnNzI5cGF5L2RlcGF5OiBBZGQgZGVidWcgY2F0ZWdvcmllcwoKMjAwOS0wOS0xNiAxMzo1NToxOSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBnNzI5cGF5LmM6CgkgIHJ0cGc3MjlwYXk6IFJlbW92ZSBsb25nIHVubmVlZGVkIGRlZmluZSByZXBsYWNlbWVudAoKMjAwOS0wOS0zMCAxODowNjowNyArMDEwMCAgQ2hyaXN0aWFuIEYuSy4gU2NoYWxsZXIgPGNocmlzdGlhbi5zY2hhbGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZHYvTWFrZWZpbGUuYW06CgkgIFVwZGF0ZSBtYWtlZmlsZSB3aXRoIG1pc3NpbmcgaGVhZGVyIGZpbGUKCjIwMDktMDktMzAgMTg6NDU6MTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL2NsaWVudC1IMjYzcC1BTVIuc2g6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9jbGllbnQtSDI2M3AtUENNQS5zaDoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL2NsaWVudC1IMjY0LVBDTUEuc2g6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9jbGllbnQtUENNQS5zaDoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL3NlcnZlci1hbHNhc3JjLVBDTUEuc2g6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9zZXJ2ZXItdjRsMi1IMjYzcC1hbHNhc3JjLUFNUi5zaDoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL3NlcnZlci12NGwyLUgyNjQtYWxzYXNyYy1QQ01BLnNoOgoJICBydHA6IFVzZSBhdXRvYXVkaW97c2luayxzcmN9IGluc3RlYWQgb2YgYWxzYSBpbiB0aGUgZXhhbXBsZXMKCjIwMDktMDktMjkgMTc6NTE6MDQgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogZG9uJ3QgbGVhayBvdXRwdXQgYnVmZmVycyBvbiBkZWNvZGluZyBlcnJvcnMKCSAgVGhlIHNldGptcCBoYW5kbGVzIGxpYmpwZWcgZXJyb3IuIEZyZWUgdGhlIG91dHB1dGJmZmVyIGlmIHdlIGRvbid0IG5lZWQgaXQuCgoyMDA5LTA5LTI5IDAwOjAxOjU5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogZml4ICd1bnVzZWQgdmFyaWFibGUnIGNvbXBpbGVyIHdhcm5pbmcgd2hlbiBjb21waWxpbmcgd2l0aCBHU1RfRElTQUJMRV9HU1RfREVCVUcKCjIwMDktMDktMjMgMTQ6MjU6MDggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aTogc21hbGwgY2xlYW51cHMKCjIwMDktMDktMjMgMTM6NTc6MDIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aTogZml4IHRpbWVzdGFtcGluZyBpbiBzb21lIGF1ZGlvIHN0cmVhbXMKCSAgRm9yIHZiciBhdWRpbyBzdHJlYW1zIHdlIG5lZWQgdG8gdXNlIHRoZSBudW1iZXIgb2YgYmxvY2tzIHRvIGNhbGN1bGF0ZSB0aGUKCSAgdGltZXN0YW1wcy4KCSAgV2hlbiB0aGUgYWxsb2NhdGlvbiBvZiBhZGRpdGlvbmFsIGluZGV4IG1lbW9yeSBmYWlscywgZG9uJ3QgdGhyb3cgYXdheSB3aGF0CgkgIHdlIGhhZCBiZWZvcmUuCgkgIFZhcmlvdXMgY2xlYW51cHMuCgoyMDA5LTA5LTIzIDEyOjU2OjA3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmk6IGFkZCBzdXBwb3J0IGZvciBPRE1MIGluZGV4ZXMgYWdhaW4KCjIwMDktMDktMjIgMjI6MTI6NTggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguaDoKCSAgYXZpOiBpbXBsZW1lbnQgaW5kZXggc2Nhbm5pbmcKCSAgSW1wbGVtZW50IHNjYW5uaW5nIG9mIHRoZSBmaWxlIHdoZW4gd2UgY2FuIHBhcnNlIHRoZSBpbmRleC4KCSAgU29tZSByZWZhY3RvcmluZyBvZiBjb21tb24gY29kZS4KCSAgQ2xlYW51cHMgYW5kIGNvbW1lbnRzLgoJICBSZW1vdmUgc29tZSByZWltcGxlbWVudGVkIGNvZGUuCgkgIFJlbW92ZSBpbmRleCBtYXNzYWdlIGNvZGUgYW5kIHB1dCBhIEZJWE1FIHdoZXJlIHdlIHNob3VsZCBkbyBzb21ldGhpbmcKCSAgZXF1aXZhbGVudCBsYXRlci4KCjIwMDktMDktMjIgMTg6MTg6MjAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aTogZml4IHJldmVyc2UgcGxheWJhY2sKCjIwMDktMDktMjIgMTc6NDI6NDggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aTogZml4IHByZXYga2V5ZnJhbWUgc2VhcmNoIGFuZCBjbGVhbnVwcwoKMjAwOS0wOS0yMiAxNDo1MTozMCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpOiByZW1vdmUgY29kZSB0aGF0IGdvdCBjb252ZXJ0ZWQKCjIwMDktMDktMjIgMTQ6NDQ6NDIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguaDoKCSAgYXZpOiBtb3JlIGNsZWFudXBzCgkgIFJlbW92ZSBzb21lIGR1cGxpY2F0ZSBjb3VudGVycy4KCSAgQmUgc21hcnRlciB3aGVuIHVwZGF0ZWluZyB0aGUgY3VycmVudCB0aGUgdGltZXN0YW1wIGFuZCBvZmZzZXQgaW4gdGhlIHN0cmVhbQoJICBiZWNhdXNlIHdlIGNhbiByZXVzZSBwcmV2aW91c2x5IGNhbGN1bGF0ZWQgdmFsdWVzIHdoZW4gc2ltcGx5IGdvIGZvcndhcmQgb25lCgkgIHN0ZXAuCgkgIENvcnJlY3RseSBzZXQgbWV0YWRhdGEgb24gb3V0Z29pbmcgYnVmZmVycy4KCjIwMDktMDktMjIgMTI6MzU6MzAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguaDoKCSAgYXZpZGVtdXg6IHNtYWxsIGNsZWFudXBzCgoyMDA5LTA5LTIyIDAxOjI4OjU0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmk6IGZpeCByZWFkIG9mZnNldCBhbmQgY2xlYW51cHMKCjIwMDktMDktMjEgMTg6MDQ6MjUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguaDoKCSAgYXZpOiByZXdyaXRlIGluZGV4IHBsYXliYWNrCgkgIGRpc2FibGUgY29kZSwgc3RhcnQgb24gcmVpbXBsZW1lbnRpbmcgbG9vcCBiYXNlZCBvcGVyYXRpb24uCgkgIFJld3JpdGUgdGhlIGluZGV4IGhhbmRsaW5nIHNvIHRoYXQgYWxsIHN0cmVhbXMgdXNlIHRoZWlyIG93biBpbmRleCBmb3IgZGVjb2RpbmcKCSAgbWVkaWEuCgoyMDA5LTA5LTIxIDE1OjM1OjU1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4Lmg6CgkgIGF2aWRlbXV4OiBhZGQgbmV3IGluZGV4IHBhcnNpbmcgY29kZQoJICBBZGQgYSBuZXcgZnVuY3Rpb24gYW5kIGRhdGFzdHJ1Y3R1cmUgdG8gcGFyc2UgYW5kIGhvbGQgdGhlIGluZGV4IGVudHJpZXMgb24gYQoJICBwZXIgc3RyZWFtIGJhc2UuIEFsc28gYXZvaWQgZG9pbmcgdG9vIG11Y2ggd29yayB0cnlpbmcgdG8gZmlndXJlIG91dCB0aGUKCSAgdGltZXN0YW1wcyBhbmQgZHVyYXRpb25zIGFzIHdlIGNhbiB0cml2aWFsbHkgZG8gdGhhdCBsYXRlci4KCSAgTGVzcyBpbmZvcm1hdGlvbiBpbiB0aGUgZW50cmllcyBtYWtlcyB0aGVtIDIgdGltZXMgc21hbGxlciBhbmQgbm90IGRvaW5nIHRvbwoJICBtdWNoIHdvcmsgbWFrZXMgdGhpcyBjb2RlIGFib3V0IDEyIHRpbWVzIGZhc3RlciB0aGFuIHRoZSByZWd1bGFyIGNhc2UuCgkgIEhvb2sgaW4gdGhlIG5ldyBmdW5jdGlvbiBhbG9uZ3NpZGUgdGhlIGV4aXN0aW5nIGZ1bmN0aW9uIGZvciBjb21wYXJpc29uIHVudGlsCgkgIHRoZSByZXN0IG9mIHRoZSBjb2RlIGlzIHVwZGF0ZWQgdG8gaGFuZGxlIHRoZSBuZXcgaW5kZXggZGF0YXN0cnVjdHVyZS4KCjIwMDktMDktMjggMTY6Mjk6NDUgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZzogaGFuZGxlIG1vcmUgbGlianBlZyByZXR1cm4gdmFsdWVzLCBhZGQgc29tZSBtb3JlIGJyYW5jaCBoaW50cwoJICBBbHNvIHJlbW92ZSB1bnVzZWQgc2l6ZSB2YXJpYWJsZSBpbiBfY2hhaW4oKS4KCjIwMDktMDktMjUgMTk6MjE6MzIgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBzb21lIG9wdGlvbmFsIFFUIHNwZWNpZmllZCBzdHNkIE1QRUctNCBhdG9tcyBhbHNvIGFwcGx5IHRvIEgyNjQKCSAgRml4ZXMgIzU5NjMxOS4KCjIwMDktMDktMjUgMTY6NDA6MzEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBvbmx5IHNlbmQgdGFnIGV2ZW50cyBkb3duc3RyZWFtIGFmdGVyIG5ld3NlZ21lbnQKCjIwMDktMDktMjUgMTQ6MTQ6MDMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBpZiB0cmFuc3BvcnQgcHJvdG9jb2wgdW5zdXBwb3J0ZWQsIHRyeSBhbm90aGVyIG9uZQoJICBBbHNvIGNoYW5nZSBlcnJvciBtZXNzYWdlIHRvIG1vcmUgYWNjdXJhdGVseSByZWZsZWN0IGNhc2VzIGluIHdoaWNoCgkgIGl0IGNhbiBvY2N1ci4KCjIwMDktMDktMjUgMTE6NTQ6MDYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGFkZCBkdXJhdGlvbnMgbW9kdWxvIDE8PDMyCgkgIEZvciBjYWxjdWxhdGluZyB0aGUgZHVyYXRpb25zIG9mIGVhY2ggc2FtcGxlLCB3ZSBhcmUgc3VwcG9zZWQgdG8gYWRkIGVhY2gKCSAgZHVyYXRpb24gbW9kdWxvIDE8PDMyIHNvIG1ha2UgdGhlIGVsYXBzZWQgdGltZSBjb3VudGVyIGEgdWludDMyLgoJICBGaXhlcyAjNTk1OTQyCgoyMDA5LTA5LTI0IDIwOjM4OjU0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBzbWFsbCBjbGVhbnVwCgoyMDA5LTA5LTI0IDE5OjMzOjM5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0YXRvbXBhcnNlci5oOgoJICBxdGRlbXV4OiBkb24ndCB1c2UgY29yZSBBUEkgdGhhdCBkb2Vzbid0IGV4aXN0IHlldAoJICBUaGVyZSdzIG5vIGdzdF9ieXRlX3JlYWRlcl9oYXNfcmVtYWluaW5nKCkgeWV0LiBGaXhlcyBidWlsZC4KCjIwMDktMDktMjQgMTM6MjA6NTAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRhdG9tcGFyc2VyLmg6CgkgIHF0ZGVtdXg6IG1hcCBzb21lIGF0b21wYXJzZXIgZnVuY3Rpb25zIHRvIHRoZWlyIG5ldyBieXRlcmVhZGVyIGVxdWl2YWxlbnRzCgkgIE5vdyB0aGF0IEdzdEJ5dGVSZWFkZXIgaGFzIHVuY2hlY2tlZCBhbmQgaW5saW5lZCB2YXJpYW50cyBhcyB3ZWxsLCBtYXAKCSAgYXRvbXBhcnNlciBmdW5jdGlvbnMgdG8gdGhlaXIgcmVzcGVjdGl2ZSBieXRlcmVhZGVyIGVxdWl2YWxlbnRzLgoKMjAwOS0wOC0yNSAxMjoxMToyOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGF0b21wYXJzZXIuaDoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4X2R1bXAuYzoKCSAgcXRkZW11eDogYWRkIHF0X2F0b21fcGFyc2VyX2hhc19jaHVua3MoKSBhbmQgZml4IGluZGVudGF0aW9uCgoyMDA5LTA4LTIwIDE4OjIxOjU5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogYmFpbCBvdXQgaW5zdGVhZCBvZiB0cnlpbmcgdG8gYWxsb2Mgc2lsbHkgaW5kZXggc2l6ZXMKCSAgSWYgaXQgbG9va3MgbGlrZSB3ZSB3b3VsZCBiZSBhbGxvY2F0aW5nIGEgc2lsbHkgc2l6ZSBmb3Igb3VyIHNhbXBsZQoJICBpbmRleCwganVzdCBiYWlsIG91dCBpbnN0ZWFkIG9mIHRyeWluZyB0byBhbGxvY2F0ZSBpdC4gSGVscHMgd2l0aAoJICBicm9rZW4gb3IgZnV6emVkIGZpbGVzIHdoZXJlIHdlIG1pZ2h0IGVuZCB1cCB0cnlpbmcgdG8gbWFsbG9jIGEKCSAgY291cGxlIG9mIGh1bmRyZWQgTUJzIG90aGVyd2lzZS4KCjIwMDktMDgtMjAgMTY6NDc6MjUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBlcnJvciBvdXQgY29ycmVjdGx5IGlmIHdlIGRvbid0IGV2ZW4gaGF2ZSBlbm91Z2ggYnl0ZXMgZm9yIGFuIGF0b20gaGVhZGVyCgoyMDA5LTA4LTIwIDE1OjM5OjAwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogaW5pdCBmb3VyY2MgdG8gMCBhcyB3ZWxsIHRvIGF2b2lkIGludmFsaWQgcmVhZHMgd2hlbiBwcmludGYnaW5nIGVycm9yIG1lc3NhZ2UKCjIwMDktMDgtMjAgMDE6Mzk6MTcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRhdG9tcGFyc2VyLmg6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eF9kdW1wLmM6CgkgIHF0ZGVtdXg6IGFkZCBxdF9hdG9tX3BhcnNlX2hhc19yZW1haW5pbmcoKSB0byBhdm9pZCBvdmVyZmxvd3Mgd2l0aCBfZ2V0X3JlbWFpbmluZygpCgoyMDA5LTA4LTIwIDAxOjIxOjA0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogdXNlIEdzdEJ5dGVSZWFkZXIgd2hlbiBwYXJzaW5nIHRraGQgYXRvbQoKMjAwOS0wOC0xOSAxOToxMzozOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHVzZSB1bnNpZ25lZCBpbnRzIGZvciBub2RlIGxlbmd0aCBhbmQgZG8gbW9yZSBzYW5pdHkgY2hlY2tpbmcgb2YgdGhlIGF0b20gbGVuZ3RoCgoyMDA5LTA4LTE5IDAxOjM2OjMzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0YXRvbXBhcnNlci5oOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4X2R1bXAuYzoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eF9kdW1wLmg6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfdHlwZXMuaDoKCSAgcXRkZW11eDogdXNlIEdzdEJ5dGVSZWFkZXIgZm9yIGF0b20gZHVtcGluZyBhbmQgZml4IGEgZmV3IGJ1Z3MKCjIwMDktMDgtMjEgMTQ6MjE6MDggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBtb3ZlIHN0Y28sIHN0dHMsIHN0c3MgYW5kIHN0cHMgYXRvbSBwYXJzaW5nIG92ZXIgdG8gR3N0Qnl0ZVJlYWRlcgoJICBNYWtlIHN1cmUgd2UgZG9uJ3QgcmVhZCBiZXlvbmQgdGhlIGF0b20gYm91bmRhcnkuIE5vdGUgdGhhdCB0aGUgY29kZQoJICBiZWhhdmVzIHNsaWdodGx5IGRpZmZlcmVudGx5IGluIHRoZSBjb3JuZXIgY2FzZSB3aGVyZSB0aGVyZSBpcyBub3QKCSAgZW5vdWdoIGF0b20gZGF0YSBmb3IgdGhlIHNwZWNpZmllZCBudW1iZXIgb2Ygc2FtcGxlcyAobl9zYW1wbGVzX3RpbWUpCgkgIGluIHRoZSBhdG9tLCBidXQgc3RpbGwgZW5vdWdoIGRhdGEgdG8gZmlsbCB0aGUgcHJlLWFsbG9jYXRlZCBpbmRleCBvZgoJICBuX3NhbXBsZXMgZW50cmllczogYmVmb3JlIHdlIHdvdWxkIGp1c3Qgc3RvcCBwYXJzaW5nIHRoZSBzdHRzIGRhdGEKCSAgYW5kIGNvbnRpbnVlLCB3aGVyZWFzIG5vdyB3ZSB3aWxsIGxpa2VseSBlcnJvciBvdXQuIFRoaXMgc2hvdWxkIG5vdAoJICBiZSBhIHByb2JsZW0gaW4gcHJhY3RpY2UgdGhvdWdoLiBXZSBjb3VsZCBtYWludGFpbiB0aGUgb2xkIGJlaGF2aW91cgoJICBieSBkb2luZyByZWFkcyB3aXRoIGEgc2l6ZSBjaGVjayBpbnNpZGUgdGhlIGxvb3AgaWYgbmVlZGVkLgoKMjAwOS0wNi0zMCAxOTo1MToxNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHVzZSBieXRlcmVhZGVyIHRvIHBhcnNlIHN0c3ogYW5kIHN0c2MgYXRvbXMKCSAgVXNlIEdzdEJ5dGVSZWFkZXIgdG8gcGFyc2Ugc3RzeiBhbmQgc3RzYyBjaHVua3MsIGFuZCBjaGVjayBzaXplIG9mCgkgIGF2YWlsYWJsZSBkYXRhIGJlZm9yZSBwYXJzaW5nIGl0LCBpbnN0ZWFkIG9mIGJsaW5kbHkgYXNzdW1pbmcgdGhlcmUKCSAgd2lsbCBiZSBlbm91Z2ggZGF0YS4gRml4ZXMgY3Jhc2hlcyB3aXRoIHNvbWUgZnV6emVkL2Jyb2tlbiBmaWxlcy4KCjIwMDktMDgtMTUgMjA6Mzg6NDAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRhdG9tcGFyc2VyLmg6CgkgIHF0ZGVtdXg6IGFkZCBxdF9hdG9tX3BhcnNlcl9nZXRfb2Zmc2V0KCkgYW5kIG9wdGltaXNlIF9wZWVrX3N1YigpCgoyMDA5LTA3LTAxIDEzOjQ5OjU3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvcXRkZW11eC9xdGF0b21wYXJzZXIuaDoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBhZGQgUXRBdG9tUGFyc2VyLCBhbiBpbmxpbmVkIEdzdEJ5dGVSZWFkZXIgdmFyaWFudAoKMjAwOS0wOS0yMyAxNzoxOTozNCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4Lmg6CgkgIG1hdHJvc2thZGVtdXg6IHVzZSBwcm9wZXIgb3JkZXIgZm9yIG5vLW1vcmUtcGFkcyBhbmQgbmV3c2VnbWVudCBhbmQgdGFnIHNlbmRpbmcKCjIwMDktMDktMjMgMDk6NTA6MzcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IHNwcmlua2xlIGEgZmV3IGJyYW5jaCBwcmVkaWN0aW9uIG1hY3JvcwoKMjAwOS0wOS0yMiAxNTowMzoyMCArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOgoJKiBnc3QvaWQzZGVtdXgvaWQzdjJmcmFtZXMuYzoKCSAgRml4IGNvbXBpbGUgd2FybmluZ3Mgd2l0aCBnY2MgNC4wLjEuCgoyMDA5LTA5LTIyIDExOjQ4OjUwICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBEb24ndCBnZXQgc3R1Y2sgaW4gYW4gaW5maW5pdGUgbG9vcCB3aXRoIERpcmFjCgkgIEF0IHRoZSBlbmQsIERpcmFjIHN0cmVhbXMgaGF2ZSBhbiBFT1MgcGFja2V0IHdpdGggMCBsZW5ndGguCgkgIERvbid0IGV2ZXIgc2l0IGluIGFuIGluZmluaXRlIGxvb3Agd2hlbiBwcm9jZXNzaW5nIG9uZS4gQWxsb3dzCgkgIG11eGluZyBEaXJhYyBpbnRvIG1rdiB0byBjb21wbGV0ZSBzdWNjZXNzZnVsbHkuCgoyMDA5LTA5LTIyIDExOjAzOjQ2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIC5naXRpZ25vcmU6CgkgIFVwZGF0ZSAuZ2l0aWdub3JlCgoyMDA5LTA5LTIyIDExOjAyOjAyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL01ha2VmaWxlLmFtOgoJICB2aWRlb21peGVyOiBmaXggdXAgTWFrZWZpbGUgc29tZSBtb3JlCgkgIFJlbW92ZSBDRkxBR1MgZnJvbSBMSUJBREQgYW5kIG1ha2Ugb3JkZXIgb2YgdGhlIHZhcmlvdXMgQ0ZMQUdTIGFuZAoJICBMSUJTIGF0IGxlYXN0IGNvbnNpc3RlbnQgd2l0aCBlYWNoIG90aGVyLgoKMjAwOS0wOS0yMiAwODowMjo0OCArMDIwMCAgQnJpYW4gQ2FtZXJvbiA8YnJpYW4uY2FtZXJvbkBzdW4uY29tPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvTWFrZWZpbGUuYW06CgkgIHZpZGVvbWl4ZXI6IEFkZCAkKEdTVF9QTFVHSU5TX0JBU0VfTElCUykgdG8gTERGTEFHUyBmb3IgbGlua2luZyBsaWJnc3R2aWRlbwoJICBGaXhlcyBidWcgIzU5NTg5Ny4KCjIwMDktMDktMjEgMTg6MDk6MTIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aTogZml4IHRpbWVzdGFtcHMgaW4gcHVzaCBtb2RlCgoyMDA5LTA5LTE4IDE3OjI2OjQyICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgIGpwZWdkZWM6IGFkZCBhIEdfVU5MSUtFTFkgYW5kIHB1dCBwZXJmLWNhdCBsb2cgdG8gY29kZSBwYXRoIHRoYXQgY29waWVzCgoyMDA5LTA5LTIxIDEyOjMyOjUxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmk6IGFkZCBzb21lIHBlcmZvcm1hbmNlIG1lYXN1cmVtZW50cwoJICBNZWFzdXJlIHRoZSBwZXJmb3JtYW5jZSBvZiB2YXJpb3VzIGluZGV4IGFuZCBoZWFkZXIgcGFyc2luZyBzdGVwcyB0byB0aGUKCSAgUEVSRk9STUFOQ0UgZGVidWcgY2F0ZWdvcnkuCgoyMDA5LTA5LTE4IDExOjUzOjEyICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOgoJICBzcGVleGRlYzogYWxsb3cgZm9yIHVua25vd24gdmFyeWluZyBudW1iZXIgb2YgZnJhbWVzIHBlciBidWZmZXIKCSAgSW4gcGFydGljdWxhciwgdGhpcyBjYXRlcnMgZm9yIFJUUCBwYXlsb2FkcyB3aXRoIG11bHRpcGxlIGZyYW1lcwoJICBwZXIgcGFja2V0LgoKMjAwOS0wOS0xOCAxMTo0NTowNiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzoKCSAgc3BlZXhkZWM6IHVzZSBjb3JyZWN0IHNhbXBsZSBzaXplIGluIGNvbnZlcnNpb25zCgoyMDA5LTA5LTE4IDExOjQzOjQ2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOgoJICBzcGVleGVuYzogZml4IGJ1ZmZlciB0aW1lIGFuZCBkdXJhdGlvbiBmb3IgbXVsdGlwbGUgZnJhbWVzIHBlciBwYWNrZXQKCjIwMDktMDktMTggMTQ6MjI6MDIgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IHNvbWUgbG9nZ2luZyBjbGVhbnVwIHRvIGhlbHAgdW5kZXJzdGFuZGluZyB0aGUgaW5kZXggcGFyc2luZyBvdmVyaGVhZAoKMjAwOS0wOS0xNiAxMzoyODoyNyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBzeXMvb3N4YXVkaW8vTWFrZWZpbGUuYW06CgkgIG9zeGF1ZGlvOiBsaW5rIGFnYWluc3QgR1NUX0JBU0VfTElCUwoKMjAwOS0wOS0xNSAxNzoyNDoyNCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBnNzI5cGF5LmM6CgkgIHJ0cGc3MjlwYXk6IEZpeCBhZGFwdGVyIGxlYWsKCSAgVGhlIGFkYXB0ZXIgd291bGQgYmUgbGVha2VkIGlmIGl0IHdhcyBlbXB0eSBhbmQgdGhlIGRhdGEgY291bGQgYmUgcHVzaGVkIG91dCBkaXJlY3RseS4KCjIwMDktMDktMTUgMTA6MDQ6MzAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkgIHB1bHNlc3JjOiBEb24ndCBkZXJlZmVyZW5jZSBOVUxMIHBvaW50ZXJzCgkgIHBhX3N0cmVhbV9nZXRfdGltaW5nX2luZm8oKSBjYW4gcmV0dXJuIE5VTEwuCgkgIEZpeGVzIGJ1ZyAjNTk1MjIwLgoKMjAwOS0wOS0xNSAxMDowMTo1NCArMDIwMCAgRGF2aWQgSGVubmluZ3Nzb24gPGdub21lLndlYkBlcG9zdC5kaXdpYy5zZT4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBEb24ndCBkZXJlZmVyZW5jZSBOVUxMIHBvaW50ZXJzCgkgIHBhX3N0cmVhbV9nZXRfdGltaW5nX2luZm8oKSBjYW4gcmV0dXJuIE5VTEwuCgkgIEZpeGVzIGJ1ZyAjNTk1MjIwLgoKMjAwOS0wOS0xNCAxNjowNTozMCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBoYW5kbGUgc3RyZWFtIGV2ZW50cwoJICBIYW5kbGUgc3RyZWFtIGV2ZW50cyBhbmQgcmVxdWVzdCBhIFBBVVNFL1BMQVkgc3RhdGUgY2hhbmdlIGZyb20gdGhlIGFwcGxpY2F0aW9uCgkgIHdoZW4gd2UgcmVjZWl2ZSBhIENPUksvVU5DT1JLIGV2ZW50LgoKMjAwOS0wOS0xMyAxMjozMDozNCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmg6CgkgIG11bHRpZmlsZXNpbms6IEFkZCBuZXh0LWZpbGUgcHJvcGVydHkKCSAgQWRkIGEgcHJvcGVydHkgdG8gYWxsb3cgY29udHJvbCBvdmVyIHdoYXQgZXZlbnQgY2F1c2VzIGEgZmlsZQoJICB0byBmaW5pc2ggYmVpbmcgd3JpdHRlbiBhbmQgYSBuZXcgZmlsZSBzdGFydC4gIFRoZSBkZWZhdWx0IGlzCgkgIHRoZSBzYW1lIGFzIGJlZm9yZSAtLSBlYWNoIGJ1ZmZlciBjYXVzZXMgYSBuZXcgZmlsZSB0byBiZQoJICB3cml0dGVuLiAgQWRkZWQgaXMgYSBjYXNlIHdoZXJlIGJ1ZmZlcnMgYXJlIHdyaXR0ZW4gdG8gdGhlCgkgIHNhbWUgZmlsZSB1bnRpbCBhIGRpc2NvbnRpbnVpdHkgaW4gdGhlIHN0cmVhbS4KCjIwMDktMDktMTMgMTU6NTU6MDIgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2R2L2dzdGR2ZGVtdXguYzoKCSogZXh0L2R2L2dzdGR2ZGVtdXguaDoKCSAgZHZkZW11eDogVXNlIHZhbHVlcyBmcm9tIGRlY29kZXIgc3RydWN0dXJlIGRpcmVjdGx5CgkgIERvbid0IHN0b3JlIHRoZSBzYW1lIHZhbHVlcyBpbiB0aGUgR3N0RHZEZW11eC4gIFRoaXMKCSAgZml4ZXMgYSBidWcgd2hlcmUgZHZkZW11eCB3b3VsZCBkZXRlY3QgYSBzdHJlYW0gYXMgUEFMCgkgIGluc3RlYWQgb2YgTlRTQywgYW5kIHNpbGVudGx5IHBhcnNlIGl0IHdyb25nLgoKMjAwOS0wOS0xMyAxMjoyMDoyMyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvZHYvTWFrZWZpbGUuYW06CgkqIGV4dC9kdi9nc3RzbXB0ZXRpbWVjb2RlLmM6CgkqIGV4dC9kdi9nc3RzbXB0ZXRpbWVjb2RlLmg6CgkqIGV4dC9kdi9zbXB0ZV90ZXN0LmM6CgkgIGR2ZGVtdXg6IEFkZCBjb2RlIHRvIHBhcnNlIFNNUFRFIHRpbWUgY29kZXMKCSAgQ29kZSB0byBjb252ZXJ0IHRpbWUgY29kZXMgdG8vZnJvbSB0aW1lc3RhbXBzIGFuZCBmcmFtZSBudW1iZXJzLgoKMjAwOS0wOS0xMyAxMjowMToyNyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvZHYvZ3N0ZHZkZW11eC5jOgoJKiBleHQvZHYvZ3N0ZHZkZW11eC5oOgoJICBkdmRlbXV4OiBGaXggZGV0ZWN0aW9uIG9mIG5ldyBtZWRpYQoJICBUaGVyZSBhcmUgNSBvciA2IEFBVVggc291cmNlIGNvbnRyb2wgcGFja3MgaW4gYSBmcmFtZSwgYW5kIGFueQoJICBvZiB0aGVtIGNvdWxkIGhhdmUgUkVDX1NUIGNsZWFyZWQsIGluZGljYXRpbmcgYSByZWNvcmRpbmcgc3RhcnQKCSAgcG9pbnQuICBsaWJkdiBvbmx5IGNoZWNrcyB0aGUgZmlyc3QuCgoyMDA5LTA5LTEyIDE5OjI1OjM2ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZXh0L2R2L2dzdGR2ZGVtdXguYzoKCSAgZHZkZW11eDogU2V0IERJU0NPTlQgZmxhZyBvbiBidWZmZXJzIHdoZW4gUkVDX1NUIGZsYWcgaXMgc2V0LgoJICBBbHNvIGFkZCBhIGZldyBicmFuY2ggcHJlZGljdGlvbiBtYWNyb3MKCjIwMDktMDktMTIgMDA6MTM6MDQgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NvdXBodHRwc3JjLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3k0bWVuYy5jOgoJICBjaGVjazogRml4IGEgY291cGxlIG9mIHRlc3RzLgoJICBUaGUgc291cGh0dHBzcmMgdGVzdCB3YXNuJ3QgY29tcGlsaW5nLiBUaGUgc291cC1taXNjLmggaGVhZGVyIGlzIG5lZWRlZCBmb3IKCSAgc291cF9zc2xfc3VwcG9ydGVkLgoJICBGaXggdGhlIHk0bWVuYyB0ZXN0IHRvIHVzZSBhICdwcm9ncmVzc2l2ZScgaGVhZGVyIGZvciB0aGUgdGVzdCBkYXRhIG5vdyB0aGF0CgkgIHRoZSBlbGVtZW50IG91dHB1dHMgY29ycmVjdCBpbnRlcmxhY2luZyBpbmZvLgoKMjAwOS0wOS0xMSAxMzozMjozOSAtMDcwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgd2F2cGFyc2U6IHRyZWF0IGEgemVyby1zaXplZCBkYXRhIGNodW5rIGFzIGV4dGVuZGluZyB0byB0aGUgZW5kIG9mIHRoZSBmaWxlLgoJICBUaGlzIGZpeGVzIHBsYXliYWNrIG9mIHNvbWUgZmlsZXMgdGhhdCBkb24ndCBoYXZlIGEgdmFsaWQgZGF0YSBjaHVuayBsZW5ndGgsCgkgIGFwcGFyZW50bHkgc29tZSBwcm9ncmFtIGNyZWF0ZXMgdGhlc2UuCgoyMDA5LTA5LTExIDIyOjI0OjQ3ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuaDoKCSAgdjRsMnNyYzogYWRkIGEgZnVuY3Rpb24gcG9pbnRlciBmb3IgZ2V0X2ZyYW1lIGZ1bmN0aW9uIGFuZCBvcHRpbWl6ZSBhIGJpdAoJICBVc2UgYSBmdW5jdGlvbi1wb2ludGVyIGZvciBtbWFwL3JlYWQsIGFzIHRoaXMgY2FuJ3QgY2hhbmdlIGR1cmluZyBjYXB0dXJlLiBBbHNvCgkgIHNwcmlua2xlIGEgZmV3IEdfTElLRUxZL1VOTElLRUxZIHRvIGltcHJvdmUgdGhlIGVycm9yLWxlc3MgY29kZSBwYXRoLgoKMjAwOS0wOS0xMSAyMjoxNTowMSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogc3lzL3Y0bDIvZ3N0djRsMi5jOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkgIHY0bDI6IGxvZyBidWZmZXIgY29waWVzIG9uIHF1ZXVlIHVuZGVycnVuIGluIHBlcmYgY2F0ZWdvcnkKCSAgdjRsMnNyYyBoYXMgYSBzbG93IHBhdGggd2hlcmUgaXQgZG9lcyBidWZmZXItY29waWVzIHdoZW4gaXQgcnVucyBvdXQgb2YgcXVldWVkCgkgIGJ1ZmZlcnMuIExvZyB0aGlzIHRvIHBlcmZvcm1hbmNlIGNhdGVnb3J5IHRvIGhlbHAgbW9uaXRvcmluZyBpdC4KCjIwMDktMDktMTEgMTU6MTQ6MTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IEltcGxlbWVudCBHc3RTdHJlYW1Wb2x1bWUgaW50ZXJmYWNlCgoyMDA5LTA5LTExIDE2OjA5OjQwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5oOgoJICBwdWxzZXNpbms6IEltcGxlbWVudCBtdXRlIHByb3BlcnR5CgoyMDA5LTA5LTExIDEzOjMzOjMxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmc2luay5jOgoJICBnZGtwaXhidWZzaW5rOiBmaXggZG9jcyByZWZlcmluZyB0byBzZW5kLW1lc3NhZ2VzCgoyMDA5LTA5LTExIDEzOjI4OjM1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5oOgoJICBzcGVjdHJ1bTogYWRkIHBvc3QtbWVzc2FnZXMgcHJvcGVydHkKCSAgQWRkIGEgcG9zdC1tZXNzYWdlcyBwcm9wZXJ0eSBhbmQgZGVwcmVjYXRlIHRoZSBsZXNzIGRlc2NyaXB0aXZlIG1lc3NhZ2UKCSAgcHJvcGVydHkuCgoyMDA5LTA5LTExIDEzOjIwOjA2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmc2luay5jOgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWZzaW5rLmg6CgkgIHBpeGJ1ZnNpbms6IGFkZCBwb3N0LW1lc3NhZ2VzIHByb3BlcnR5CgkgIEFkZCBwb3N0LW1lc3NhZ2VzIGFuZCBkZXByZWNhdGUgc2VuZC1tZXNzYWdlcyBhcyB0aGUgZm9ybWVyIGlzIG1vcmUKCSAgZGVzY3JpcHRpdmUgb2Ygd2hhdCBhY3R1YWxseSBoYXBwZW5zLgoKMjAwOS0wOS0xMSAxMzoxMjo1NCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuaDoKCSAgbXVsdGlmaWxlc2luazogcmVuYW1lIHNpbGVudCB0byBwb3N0LW1lc3NhZ2VzCgkgIFVzZSB0aGUgcG9zdC1tZXNzYWdlcyBwcm9wZXJ0eSBuYW1lIGluc3RlYWQgb2Ygc2lsZW50IGFzIGl0IGlzIG1vcmUKCSAgZGVzY3JpcHRpdmUuCgoyMDA5LTA5LTExIDEyOjE2OjE4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5oOgoJICBtdWx0aWZpbGVzaW5rOiBwb3N0IG1lc3NhZ2VzIGZvciBlYWNoIGJ1ZmZlcgoJICBBZGQgYSBzaWxlbnQgcHJvcGVydHkgdGhhdCBjYW4gYmUgc2V0IHRvIEZBTFNFIHRvIHBvc3QgbWVzc2FnZXMgb24gdGhlIGJ1cyBmb3IKCSAgZWFjaCB3cml0dGVuIGZpbGUuCgkgIERvIHNvbWUgbW9yZSBjbGVhbnVwcy4KCSAgQWRkIHNvbWUgZG9jcy4KCSAgRml4ZXMgIzU5NDY2MwoKMjAwOS0wOS0wOSAxODoxMzoyOSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGF5LmM6CgkgIHJ0cGgyNjNwYXk6IEFsbG9jYXRlIEJvdW5kcnkgc3RydWN0cyBvbiB0aGUgc3RhY2sgaW5zdGVhZCBvZiB0aGUgaGVhcCB0byBhdm9pZCBsZWFrcwoJICBGaXhlcyBidWcgIzU5NDY5MS4KCjIwMDktMDktMTAgMTA6Mjg6NDggKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6CgkgIGRvY3M6IGZpeCBndGstZG9jIHdhcm5pbmdzCgoyMDA5LTA5LTEwIDEwOjI2OjIzICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmg6CgkgIGRvY3M6IGZpeCBndGstZG9jIHdhcm5pbmdzCgoyMDA5LTA5LTA5IDE3OjUxOjE5IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9yYXcxMzk0L01ha2VmaWxlLmFtOgoJKiBleHQvcmF3MTM5NC9nc3QxMzk0Y2xvY2suYzoKCSogZXh0L3JhdzEzOTQvZ3N0MTM5NGNsb2NrLmg6CgkqIGV4dC9yYXcxMzk0L2dzdGR2MTM5NHNyYy5jOgoJKiBleHQvcmF3MTM5NC9nc3RkdjEzOTRzcmMuaDoKCSAgZHYxMzk0c3JjOiBBZGQgYSBjbG9jayBiYXNlZCBvbiBpc29jaHJvbm91cyBjeWNsZSBjb3VudGVyCgkgIFBhcnRpYWwgZml4IGZvciAjMTY5MzgzLgoKMjAwOS0wOS0wOSAxNjowMjowMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzoKCSAgdmlkZW9ib3g6IEZpeCBBWVVWLT5JNDIwIGNvbnZlcnNpb24KCSAgRm9yIHRoaXMgZml4IHRoZSBhdmVyYWdpbmcgb2YgdGhlIGNocm9tYSB2YWx1ZXMuIEl0IHNob3VsZCd0IGJlIChhLzIgKyBiKS8yCgkgIGJ1dCBqdXN0IChhICsgYikvMi4KCSAgRml4ZXMgYnVnICM1OTQ1OTkuCgoyMDA5LTA5LTA5IDE2OjI1OjA2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogcmVtb3ZlIHJpbmdidWZmZXIgcmVzZXQgY29tcGVuc2F0aW9uCgkgIFJlbW92ZSB0aGUgY29kZSB0byBkZWFsIHdpdGggYSByaW5nYnVmZmVyIHJlc2V0IGFzIHRoaXMgY29kZSBpcyBub3cgaW4gdGhlIGJhc2UKCSAgY2xhc3MuCgkgIEJ1bXAgdGhlIC1iYXNlIHJlcXVpcmVtZW50IGFzIHdlIG5lZWQgdGhlIG5ldyBiYXNlYXVkaW9zaW5rIGNvZGUgdG8gZnVuY3Rpb24KCSAgcHJvcGVybHkuCgoyMDA5LTA5LTA5IDE2OjI0OjQ5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5oOgoJICBwdWxzZXNpbms6IHdoaXRlc3BhY2UgZml4ZXMKCjIwMDktMDktMDkgMTA6Mjc6NTUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyY29sb3JiYWxhbmNlLmg6CgkgIHdoaXRlc3BhY2UgZml4ZXMKCjIwMDktMDktMDggMTk6MzQ6MDkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VtaXhlci5jOgoJKiBleHQvcHVsc2UvcHVsc2VtaXhlcmN0cmwuYzoKCSogZXh0L3B1bHNlL3B1bHNlcHJvYmUuYzoKCSAgcHVsc2U6IHNtYWxsIGNsZWFudXBzCgkgIEFkZCBzb21lIGRlYnVnIGluZm8KCSAgRml4IHRoZSBzdGF0ZSBjaGFuZ2VzCgoyMDA5LTA5LTA4IDE4OjI5OjM1ICswMjAwICBNYXJjLUFuZHLDqSBMdXJlYXUgPG1sdXJlYXVAZmx1bW90aW9uLmNvbT4KCgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0bXV4LmM6CgkgIG11bHRpcGFydG11eDogbWFyayBkYXRhIGJ1ZmZlciBhcyBkZWx0YS11bml0CgkgIFNvIHRoYXQgbXVsdGlmZHNpbmsgYWx3YXlzIHN0YXJ0IHNlbmRpbmcgaGVhZGVyIGJ1ZmZlciBmaXJzdAoJICBGaXhlcyAjNTk0NTIwCgoyMDA5LTA5LTA4IDE3OjM3OjE1ICswMjAwICBNYXJjIExlZW1hbiA8bWFyYy5sZWVtYW5AZ21haWwuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJICBydHBiaW46IGFkZCBpZ25vcmUtcHQgcGFyYW1ldGVyCgkgIEFkZCBhIHBhcmFtZXRlciAnaWdub3JlLXB0JyB0aGF0IGRpc2FibGVzIGNyZWF0aW5nIGEgZ3N0cnRwcHRkZW11eCBtb2R1bGUgYW5kCgkgIGdob3N0cyB0aGUgcGFkcyBvZiBnc3RydHBqaXR0ZXJidWZmZXIgaW5zdGVhZCBvZiB0aGUgb25lcyBvZiBnc3RydHBwdGRlbXV4LgoJICBGaXhlcyAjNTk0NDkwCgoyMDA5LTA5LTA0IDEzOjUxOjM3ICswMjAwICBNYXJ2aW4gU2NobWlkdCA8bWFydmluX3NjaG1pZHRAZ214Lm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NvdXBodHRwc3JjLmM6CgkgIGNoZWNrczogb25seSBydW4gSFRUUFMgdGVzdCBpZiBsaWJzb3VwIGhhcyBTU0wgc3VwcG9ydAoKMjAwOS0wOS0wOCAxMzo1OTo1NiArMDIwMCAgSMOldmFyZCBHcmFmZiA8aGF2YXJkLmdyYWZmQHRhbmRiZXJnLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaDoKCSAgcnRwYmluOiBwcm9wYWdhdGUgcGF5bG9hZC10eXBlLWNoYW5nZSBzaWduYWwgZnJvbSBkZW11eGVyCgkgIGZpeGVzICM1OTQyNTQKCjIwMDktMDgtMzEgMTg6NDY6MjUgKzAyMDAgIEhhdmFyZCBHcmFmZiA8aGF2YXJkLmdyYWZmQHRhbmRiZXJnLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IGNoYW5nZSBzZXZlcml0eSBvZiBjbG9jay1yYXRlIGNoYW5nZSBkZWJ1ZwoJICBNYWtlIGxvZyBHU1RfREVCVUcgdW5kZXIgbm9ybWFsIGNpcmN1bXN0YW5jZXMsIEdTVF9XQVJOSU5HIG90aGVyd2lzZS4KCSAgRml4ZXMgIzU5NDI1MwoKMjAwOS0wOS0wOCAxMzozOTozMSArMDIwMCAgSMOldmFyZCBHcmFmZiA8aGF2YXJkLmdyYWZmQHRhbmRiZXJnLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IGF2b2lkIHRocm93aW5nIHJlb3JkZXJlZCBidWZmZXJzIHdpdGggc2FtZSB0aW1lc3RhbXBzCgkgIFdoZW4gd2UgcmVjZWl2ZSBhIHJlb3JkZXJlZCBwYWNrZXQgd2l0aCB0aGUgc2FtZSB0aW1lc3RhbXAgYXMgdGhlIHByZXZpb3VzIG9uZQoJICAod2hpY2ggY2FuIGhhcHBlbiBmb3IgZnJhZ21lbnRlZCBwYWNrZXRzKSBkb24ndCBjb25zaWRlciB0aGUgcGFja2V0IGFzIGxvc3QgYnV0CgkgIGluc3RlYWQgd2FpdCBmb3IgdGhlIHJlb3JkZXJlZCBwYWNrZXQgdG8gYXJyaXZlLgoJICBTd2l0Y2ggdGhlIHdhcm5pbmctbGV2ZWwsIHNvIHRoYXQgYSByZW9yZGVyaW5nIGRvZXMgbm90IGdldCBhIHdhcm5pbmcsIG9ubHkKCSAgYW4gYWN0dWFsIHByb2R1Y2VkIGxvc3QtcGFja2V0LgoJICBGaXhlcyAjNTk0MjUxCgoyMDA5LTA4LTMxIDIxOjE2OjU0ICswMjAwICBIYXZhcmQgR3JhZmYgPGhhdmFyZC5ncmFmZkB0YW5kYmVyZy5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdkZXBheS5jOgoJICBydHBqcGVnZGVwYXk6IGFkZCBtaXNzaW5nIG1hdGguaCBpbmNsdWRlCgkgIEZpeGVzICM1OTQyNDcKCjIwMDktMDktMDggMTM6MzA6MjkgKzAyMDAgIEFybm91dCBWYW5kZWNhcHBlbGxlIDxhcm5vdXRAbWluZC5iZT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogZml4IG1lbW9yeSBsZWFrCgkgIEluIGdzdF9ydHNwc3JjX3BhcnNlX2RpZ2VzdF9jaGFsbGVuZ2UoKSwgcnRzcHNyYyBkb2VzIGEgZ19zdHJuZHVwIG9mIHRoZSBhdXRoCgkgIGhlYWRlciBpdGVtcyBhbmQgdGhlbiBwYXNzZXMgdGhlbSB0byBnc3RfcnRzcF9jb25uZWN0aW9uX3NldF9hdXRoX3BhcmFtKCkKCSAgd2l0aG91dCBmcmVlaW5nLgoJICBGaXhlcyAjNTk0MTMzCgoyMDA5LTA5LTA4IDEzOjE4OjI5ICswMjAwICBTdGlnIFNhbmRuZXMgPHN0aWcuc2FuZG5lc0B0YW5kYmVyZy5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiBtYWtlIGZyZWVfc2Vzc2lvbigpIHJlbW92ZSBzdHJlYW0gcmVmZXJlbmNlcwoJICBXaGVuIHJlY2VpdmluZyBhIHN5bmMtcGFja2V0LCBhbGwgc2Vzc2lvbnMgd2l0aCB0aGUgc2FtZSBjbmFtZSB3aWxsIGJlIGNvbXBhcmVkCgkgIGFuZCBzeW5jZWQgdG9nZXRoZXIuIEluIHRoaXMgcHJvY2VzcywgdGhlcmUgY291bGQgc3RpbGwgYmUgcmVmZXJlbmNlcyB0byBhCgkgIHNlc3Npb24gdGhhdCBoYXMgYmVlbiBzaHV0IGRvd24gaW4gdGhlIG1lYW53aGlsZS4KCSAgVGhpcyBwYXRjaCBtYWtlcyBzdXJlIHRoYXQgdGhlc2UgcmVmZXJlbmNlcyBhcmUgcmVtb3ZlZCB3aGVuIHNodXR0aW5nIGRvd24gYQoJICBzZXNzaW9uLCBzbyB0aGF0IHRoZSBzeW5jaW5nIGNhbiBiZSBkb25lIHNhZmVseS4KCSAgRml4ZXMgIzU5NDI4MwoKMjAwOS0wOC0zMSAxODo0Njo1MSArMDIwMCAgSGF2YXJkIEdyYWZmIDxoYXZhcmQuZ3JhZmZAdGFuZGJlcmcuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogdXNlIGxvY2tlZCBzdGF0ZSBvbiBpbnRlcm5hbCBiaW5zCgkgIFNldCB0aGUgbG9ja2VkIHN0YXRlIG9uIGludGVybmFsIGVsZW1lbnRzIHRvIG1ha2Ugc3VyZSB0aGF0IHRoZXkgZG9uJ3QgY2hhbmdlCgkgIGJhY2sgdG8gYW5vdGhlciBzdGF0ZSB3aGVuIHNodXR0aW5nIGRvd24uCgkgIEZpeGVzICM1OTQyNDgKCjIwMDktMDktMDcgMTg6Mjg6NTEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJICB2NGwyc3JjOiBhZGQgc3VwcG9ydCBmb3IgbXBlZyBmb3JtYXRzCgoyMDA5LTA5LTA1IDIwOjUxOjE0IC0wNzAwICBaYWhlZXIgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzoKCSogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuaDoKCSAgeTRtZW5jOiBBZGQgaW50ZXJsYWNlZCBzdXBwb3J0CgkgIEZpeGVzICM1OTE3MTMKCSAgU2lnbmVkLW9mZi1ieTogRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoyMDA5LTA4LTI0IDEzOjQyOjQyIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9nY29uZi9nc3RnY29uZmF1ZGlvc2luay5jOgoJKiBleHQvZ2NvbmYvZ3N0Z2NvbmZhdWRpb3NyYy5jOgoJKiBleHQvZ2NvbmYvZ3N0Z2NvbmZ2aWRlb3NpbmsuYzoKCSogZXh0L2djb25mL2dzdGdjb25mdmlkZW9zcmMuYzoKCSogZ3N0L2FwZXRhZy9nc3RhcGVkZW11eC5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zaW5rLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NyYy5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zaW5rLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NyYy5jOgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgUmVtb3ZlIFJvbmFsZCBCdWx0amUgZnJvbSBBdXRob3JzIGZpZWxkCgkgIFJlcGxhY2VkIHdpdGggIkdTdHJlYW1lciBtYWludGFpbmVycwoJICA8Z3N0cmVhbWVyLWRldmVsQGxpc3RzLnNvdXJjZWZvcmdlLm5ldD4iIG9yIGp1c3QgcmVtb3ZlZCwKCSAgZGVwZW5kaW5nIG9uIHRoZSBudW1iZXIgb2Ygb3RoZXIgYXV0aG9ycy4KCjIwMDktMDktMDUgMTA6MjE6MzEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSAwMGE4NTllIHRvIDE5ZmE0ZjMKCjIwMDktMDktMDQgMTM6NDI6NDMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBwcmV2ZW50IGEgc3B1cmlvdXMgZGVidWcgd2FybmluZwoKMjAwOS0wOS0wNCAwOTozMjo0MiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDI6IERlZmluZSBWNEwyX0ZNVF9GTEFHX0VNVUxBVEVEIGlmIGl0J3Mgbm90IGRlZmluZWQgeWV0CgkgIGxpYnY0bDIgYWxyZWFkeSB1c2VzIHRoaXMgZmxhZywgZXZlbiBvbiBMaW51eCBrZXJuZWwgdmVyc2lvbnMKCSAgYmVmb3JlIDIuNi4zMi4KCjIwMDktMDktMDQgMDc6MTA6MDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IENvcnJlY3RseSBoYW5kbGUgTlVMTCBHc3RJbmRleAoKMjAwOS0wOS0wMyAyMDo0MDoxNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDI6IEZpeCBzdHVwaWQgdHlwbyBpbiBsYXN0IGNvbW1pdAoKMjAwOS0wOS0wMyAyMDozODo1MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDI6IFB1dCBlbXVsYXRlZCBmb3JtYXRzIGJlaGluZCBuYXRpdmUgZm9ybWF0cwoJICBGaXhlcyBidWcgIzU5Mzc2NC4KCjIwMDktMDktMDMgMTk6Mzc6MTAgKzAyMDAgIExhdXJlbnQgR2xheWFsIDxzcGdsZWdsZSBhdCB5YWhvby5mcj4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJICBydHBzb3VyY2U6IGZpeCBtZW1sZWFrCgkgIERvbid0IGxlYWsgdGhlIGlucHV0IGJ1ZmZlciB3aGVuIHRoZSByZWNlaXZlZCBhbmQgZXhwZWN0ZWQgc2VxbnVtIGFyZSBkaWZmZXJlbnQgd2hlbgoJICBpbiBwcm9iYXRpb24uCgkgIGZpeGVzICM1OTQwMzkKCjIwMDktMDktMDIgMTU6MjE6MDIgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IExvY2sgY2xvY2tfcmF0ZSB2YXJpYWJsZQoJICBUaGUgcHJpdi0+Y2xvY2tfcmF0ZSB2YXJpYWJsZSBjb3VsZCBiZWNvbWUgLTEgYmV0d2VlbiB3aGVuIGl0cyBjaGVja2VkIHRvIG5vdAoJICBiZSAtMSBhbmQgd2hlbiBpdHMgdXNlZCwgY2F1c2luZyBhbiBhc3NlcnRpb24uIEZpeGVkIGJ5IHRha2luZyB0aGUgbXV0ZXgKCSAgZWFybGllciBpbiB0aGUgY2hhaW4oKSBmdW5jdGlvbi4KCSAgRml4ZXMgIzU5Mzk1NQoKMjAwOS0wOS0wMyAxOToxMjozOSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJICBydHBzb3VyY2U6IHdoaXRlc3BhY2UgZml4ZXMKCjIwMDktMDktMDMgMTk6MDk6MTIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wYXBheS5jOgoJICBydHBtcGFwYXk6IHdoaXRlc3BhY2UgZml4ZXMKCjIwMDktMDktMDMgMTk6MDg6NTMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IHdoaXRlc3BhY2UgZml4ZXMKCjIwMDktMDktMDMgMTc6MzM6MjggKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgIGpwZWdkZWM6IEF2b2lkIHVubmVjZXNzYXJ5IHByb2Nlc3NpbmcgdW50aWwgd2UgaGF2ZSBhIGZ1bGwgcGljdHVyZS4KCSAgVGhpcyBpcyBmb3Igbm9uLXBhY2tldGl6ZWQgbW9kZSwgd2hlbiB3ZSBrbm93IHRoZSB1cHN0cmVhbSBzaXplIGluIGJ5dGVzLgoKMjAwOS0wOS0wMyAxNDo0MDoyMCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSAgZmx2bXV4OiBmdWxseSB1c2UgdGFnc2V0dGVyIHRvIG1hbmFnZSB0aGUgdGFncy4gRml4ZXMgIzU2MzIyMQoJICBUaGVyZSBpcyBubyBuZWVkIHRvIG1hbmFnZSBhIHNlcGFyYXRlIHRhZ2xpc3QuCgoyMDA5LTA5LTAzIDE0OjEzOjQzICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzoKCSAgc3BlZXhlbmM6IHNtYWxsIHRhZ2xpc3QgaGFuZGxpbmcgY2xlYW51cAoJICBEb24ndCBldmVudHVhbHkgbGVhayB0aGUgbGlzdCBhbmQgaW5zdGVhZCBhc3NlcnQgKGxpa2UgaW4gb3RoZXIgZWxlbWVudHMpLgoKMjAwOS0wOS0wMiAyMzoxMjo0MSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IGFsc28gZ3VhcmQgcmVzZXRpbmcgc3Vic2NyaWJlIGNhbGxiYWNrIHdpdGggaWZkZWZzCgkgIEl0IGlzIGNvbmRpdGlvbmFseSBzZXQsIHNvIGRvIHRoZSBzYW1lIHdoZW4gdW5zZXR0aW5nLgoKMjAwOS0wOS0wMSAxNTowNjo0NiArMDIwMCAgUGV0ZXIgS2plbGxlcnN0ZWR0IDxwa2pAYXhpcy5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIHJ0cG1hbmFnZXI6IEZpeGVkIGEgY29weSAmIHBhc3RlIGVycm9yCgoyMDA5LTA5LTAxIDEzOjIxOjIzICswMjAwICBQZXRlciBLamVsbGVyc3RlZHQgPHBrakBheGlzLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgcnRwbWFuYWdlcjogUmVtb3ZlZCB1bnVzZWQgdmFyaWFibGUgcHJpdgoJICBUaGUgdmFyaWFibGUgcHJpdiB3YXMgaW5pdGlhbGl6ZWQgaW4gYSBsb3Qgb2YgZnVuY3Rpb25zIGJ1dCB0aGVuIG5ldmVyCgkgIHVzZWQgZm9yIGFueXRoaW5nLgoKMjAwOS0wOS0wMSAxMzowMzo1NyArMDIwMCAgUGV0ZXIgS2plbGxlcnN0ZWR0IDxwa2pAYXhpcy5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIHJ0cG1hbmFnZXI6IEEgbGl0dGxlIGNsZWFuIHVwCgkgIE1ha2UgdGhlIGNvZGUgZmxvdyBvZiBnc3RfcnRwX3Nlc3Npb25fc2VuZF9ydGNwKCkgYW5kCgkgIGdzdF9ydHBfc2Vzc2lvbl9zeW5jX3J0Y3AoKSBpZGVudGljYWwuCgoyMDA5LTA5LTAxIDEyOjQ3OjUxICswMjAwICBQZXRlciBLamVsbGVyc3RlZHQgPHBrakBheGlzLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgcnRwbWFuYWdlcjogTWFrZSBzdXJlIHRoYXQgdXNlZCBjYXBzIGFyZSBub3QgZnJlZWQgYWxyZWFkeSAodGFrZSAyKQoJICBUaGlzIHJlaW50cm9kdWNlcyB0aGUgZml4IGZvciBidWcgIzU5MzM5MS4gSXQgYWxzbyBhcHBsaWVzIGl0IGluCgkgIGdzdF9ydHBfc2Vzc2lvbl9zeW5jX3J0Y3AoKSB3aGljaCBoYXMgdmVyeSBzaW1pbGFyIGNvZGUgdG8KCSAgZ3N0X3J0cF9zZXNzaW9uX3NlbmRfcnRjcCgpLgoKMjAwOS0wOS0wMSAxMjo0MTozNiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmg6CgkgIGppdHRlcmJ1ZmZlcjogbWFrZSBzdXJlIHRpbWUgZG9lcyBub3QgZ28gYmFja3dhcmRzCgkgIFdoZW4gd2UgY29uc3RydWN0IGEgdGltZXN0YW1wIHRoYXQgd291bGQgcmVzdWx0IGluIGEgdGltZXN0YW1wIHRoYXQgaXMgZWFybGllcgoJICB0aGFuIHdoZW4gdGhlIHBhY2tldCB3YXMgcmVjZWl2ZWQsIHJlc2V0IHRoZSBza2V3IGNhbGN1bGF0aW9uIGFzIHRoaXMgaXMKCSAgcHJvYmFibHkgYSBzaWduIHRoYXQgdGhlIHNlbmRlciByZXN0YXJ0ZWQgb3IgcGF1c2VkLgoJICBGaXhlcyAjNTkzMzU0CgoyMDA5LTA5LTAxIDExOjMyOjQxICswMjAwICBQZXRlciBLamVsbGVyc3RlZHQgPHBrakBheGlzLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgcnRwbWFuYWdlcjogU2V0IGNhcHMgaW4gZ3N0X3J0cF9zZXNzaW9uX3NlbmRfcnRjcCgpIGNvcnJlY3RseSBhZ2FpbgoJICBUaGUgdGVzdCBmb3Igd2hlbiB0byBzZXQgYW4gUlRDUCBjYXBzIG9uIHRoZSBvdXRwdXQgcGFkIGluCgkgIGdzdF9ydHBfc2Vzc2lvbl9zZW5kX3J0Y3AoKSBhY2NpZGVudGFsbHkgZ290IGludmVydGVkIGluIHRoZSBsYXN0IGNvbW1pdC4KCjIwMDktMDktMDEgMTA6MjY6NDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBBZGQgc3VwcG9ydCBmb3IgUUNFTFAgYXVkaW8KCSAgRml4ZXMgYnVnICM1OTM3NTcuCgoyMDA5LTA4LTMxIDE4OjEwOjExICswMjAwICBQZXRlciBLamVsbGVyc3RlZHQgPHBrakBheGlzLmNvbT4KCgkqIGdzdC9lZmZlY3R2L2dzdGFnaW5nLmM6CgkqIGdzdC9lZmZlY3R2L2dzdGVkZ2UuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0b3AuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0cmFkaW9hYy5jOgoJKiBnc3QvZWZmZWN0di9nc3RyZXYuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0c2hhZ2FkZWxpYy5jOgoJKiBnc3QvZWZmZWN0di9nc3R2ZXJ0aWdvLmM6CgkgIGVmZmVjdHY6IEZpeCBjb21waWxhdGlvbiB3aXRoIGdjYyAzCgkgIFJlY2VudCBjaGFuZ2VzIGluIGdzdC1wbHVnaW5zLWdvb2QvZ3N0L2VmZmVjdHYgcHJldmVudHMgaXQgZnJvbSBiZWluZyBjb21waWxlZAoJICB3aXRoIGdjYyAzLiBUaGUgcHJvYmxlbSBpcyB0aGF0IHRoZSBuZXcgY29kZSB1c2VzIHByZXByb2Nlc3NvciBjb25kaXRpb25hbHMKCSAgd2l0aGluIGEgbWFjcm8gY2FsbCB3aGljaCBkb2VzIG5vdCB3b3JrIHdpdGggb2xkZXIgdmVyc2lvbnMgb2YgZ2NjLgoJICBGaXhlcyBidWcgIzU5MzY4OC4KCjIwMDktMDgtMzEgMTY6MjA6NTkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgIGRvY3M6IHNtYWxsIGNsZWFuLXVwcyBpbiAtc2VjdGlvbnMudHh0CgkgIFJlbW92ZSBkdXBsaWNhdGUgZW50cnkgZm9yIHdhcnB0djsgdGhlcmUgaXMgbm8gdGFnbGlibXV4IGVsZW1lbnQuCgoyMDA5LTA4LTI3IDE1OjQ2OjUyICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z2RlcGF5LmM6CgkgIHJ0cG1wNGdkZXBheTogY29uc2lkZXIgKG9wdGlvbmFsKSBhdXhpbGlhcnkgZGF0YSB3aGVuIHBhcnNpbmcKCjIwMDktMDgtMjcgMTU6NDY6MTUgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBtcDRnZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRnZGVwYXkuaDoKCSAgcnRwbXA0Z2RlcGF5OiBoYW5kbGUgYnJva2VuIEFVLUluZGV4IGluIG5vbi1pbnRlcmxlYXZlZCBzdHJlYW1zCgkgIEluIGNhc2Ugb2Ygbm9uLWludGVybGVhdmVkICg9IHNlcXVlbnRpYWxseSBwYXlsb2FkZWQpIHN0cmVhbXMsCgkgIHRoZSBBVS1JbmRleCBzZXJ2ZXMgbGl0dGxlIHB1cnBvc2UgKHRoYXQgaXMgbm90IGFscmVhZHkgY292ZXJlZCBieQoJICBSVFAgZmllbGRzKS4gIChCcm9rZW4pIFBheWxvYWRlcnMgbWlnaHQgY29uc2lkZXIgdGhpcyBmaWVsZCB0aGVuCgkgIHRvIGJlIGRpc3JlZ2FyZGVkIGFuZCBoYXZlIG5vbiBzcGVjIGNvbXBsaWFudCB2YWx1ZXMsIGUuZy4gZWFjaAoJICBSVFAgcGFja2V0IGhhdmluZyBBVS1JbmRleCAyIChyYXRoZXIgdGhhbiAwKS4gIEFzIHN1Y2gsIGVuc3VyZS9mb3JjZQoJICBzaW1wbGUgc2VxdWVudGlhbCBzZW5kaW5nIG9mIG5vbi1pbnRlcmxlYXZlZCBzdHJlYW1zLgoKMjAwOS0wOC0xOCAxNzoxNzoyOCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGFsc28gZXh0cmFjdCBmdHlwIGluZm8gaW4gcHVzaCBtb2RlCgoyMDA5LTA4LTEzIDE2OjExOjU5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5oOgoJICBxdGRlbXV4OiBjb25zaWRlciAzZ3BwIHN0eWxlIHRhZyBwYXJzaW5nIGluIHNvbWUgbW9yZSBjYXNlcwoJICAzR1BQIHNwZWNzIGRlZmluZSBhIG51bWJlciBvZiB0YWdzIGFsb25nIHdpdGggcHJlY2lzZSBsYXlvdXQuIFdoaWxlIHRoZXNlCgkgIGFyZSBub3JtYWxseSBleHBlY3RlZCB0byBiZSBmb3VuZCBpbiBhIGNvbnRhaW5lciB3aG9zZSBtYWpvciBicmFuZCBpcyBhCgkgIDNHUFAgYnJhbmQsIHRoaXMgbWF5IGFsc28gaGFwcGVuIHdoZW4gYSAzR1BQIGJyYW5kIGlzIG9ubHkgbWVudGlvbmVkIGFzIGEKCSAgY29tcGF0aWJsZSBicmFuZC4gIEFwcGx5IHNvbWUgY2hlY2tzLCBoZXVyaXN0aWMgYW5kIGZhbGxiYWNrcyB0byBleHRyYWN0CgkgIHN1Y2ggdGFncyBhcyB3ZWxsLgoKMjAwOS0wOC0xMSAxMzo1Njo0MyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgd2F2cGFyc2U6IHJlZmxvdyBleGl0LCBhbmQgZml4IHNvbWUgbGVha3MKCjIwMDktMDgtMTEgMTM6NTQ6NTYgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIHdhdnBhcnNlOiBwdXNoIG1vZGU7IGFkZCBwYWQgaWYgbmVlZGVkIHNvIGRvd25zdHJlYW0gZ2V0cyBFT1MKCjIwMDktMDgtMTAgMTY6MTk6MDMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5oOgoJICB3YXZwYXJzZTogcHVzaCBtb2RlOyBmaXgvaW1wcm92ZSBjaHVuayBoYW5kbGluZwoJICBIYW5kbGUgbGFyZ2UsIGludmFsaWQgb3Igb3RoZXJ3aXNlIHVudXN1YWwgY2h1bmsgc2l6ZXMuCgkgIFZlcmlmeSBzb21lIGNodW5rIHNpemVzIHRvIGJlIGF0IGxlYXN0IHRoZSBzaXplIHRoZXkgYXJlCgkgIGV4cGVjdGVkIHRvIGJlIGFuZCByb3VuZCB1cCBzb21lIHNpemVzIHRvIGV2ZW4gbnVtYmVyIGZvcgoJICBlLmcuIG9mZnNldCBhZG1pbmlzdHJhdGlvbiwgd2hpY2ggbXVzdCBhbHNvIGJlIHByb3Blcmx5CgkgIHRyYWNrZWQgaW4gcHVzaCBtb2RlLgoKMjAwOS0wOC0wOCAyMTo1NDowMCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguaDoKCSAgYXZpZGVtdXg6IHB1c2ggbW9kZTsgY2F0ZXIgZm9yIHVudXN1YWwgY2h1bmsgc2l6ZXMKCjIwMDktMDgtMzEgMTY6MzQ6MTQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IHVzZSBwcm9wZXIgbG9ja2luZyBmb3IgcGFkcyBhbmQgY2FwcwoJICBVc2UgdGhlIHNlc2lvbiBsb2NrIGFuZCBzaG90ZG93biB2YXJpYWJsZSB0byBwcm90ZWN0IGFuZCByZWYgdGhlIHBhZHMgd2UgYXJlCgkgIGdvaW5nIHRvIHB1c2ggb24uCgkgIGZpeGVzICM1NjE4MjUKCjIwMDktMDgtMzEgMTY6MzM6MjYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiB3aGl0ZXNwYWNlIGZpeGVzCgoyMDA5LTA4LTMxIDEzOjM4OjA4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICB3YXZwYXJzZTogY2xlYW4gdXAgYWRhcHRlciBwcm9wZXJseQoJICBSZWZsb3cgY29kZSBzbyB3ZSBkb24ndCB0cnkgdG8gY2xlYXIgb3IgcmUtdXNlIGFuIGFscmVhZHktZnJlZWQgYWRhcHRlci4KCjIwMDktMDgtMzEgMTM6MDc6NTMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY3RhZy5jOgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgZmxhY3RhZywgd2F2cGFyc2U6IEdzdEFkYXB0ZXIgaXMgbm90IGEgR3N0T2JqZWN0CgoyMDA5LTA4LTMxIDEyOjI4OjUyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2FtbWEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGFsZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vbm9zY29wZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF1aWNrdGltZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JhbGFuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmxpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJICBkb2NzOiB1cGRhdGUgcGx1Z2luIGRvY3MgdG8gZ2l0IHZlcnNpb24KCjIwMDktMDgtMzEgMTE6MzI6MzkgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx2ZGVtdXg6IEZpeCB0ZXN0cyB3YXJuaW5nIGZyb20gc2V0dGluZyBhIE5VTEwgaW5kZXgKCSAgU2V0dGluZyBhIG51bGwgaW5kZXggaW4gdGhlIHRlc3RzIHdhcyBjYXVzaW5nIHdhcm5pbmdzIGJ5IHVucmVmZmluZwoJICBOVUxMIHBvaW50ZXJzLiBUaGlzIGlzIGEgYnVnIGV4cG9zZWQgYnkgYSByZWNlbnQgY2hhbmdlIGluIGNvcmUsIGl0CgkgIHNlZW1zLgoKMjAwOS0wOC0zMSAxMzowMjoxNiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IGFkZCBzbG9wZSBlc3RpbWF0aW9uIGNvZGUgYW5kIGRlYnVnCgkgIEFkZCBzb21lIGNvZGUgdG8gbWVhc3VyZSB0aGUgc2VuZGVyIHNwZWVkIHZzIHRoZSByZWNlaXZlciBzcGVlZC4gVGhpcyBjYW4gYmUKCSAgdXNlZCB0byBkZXRlY3QgYnVyc3RzLgoKMjAwOS0wOC0zMSAxMjo1NzozMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IHJlc2V0IHNrZXcgd2hlbiB0aW1lc3RhbXBzIGNoYW5nZQoJICBSZWZhY3RvciB0aGUgaml0dGVyYnVmZmVyIHJlc3luYyBjb2RlLgoJICBSZXNldCB0aGUgc2tldyBjb3JyZWN0aW9uIHdoZW4gd2UgZGV0ZWN0IGEgYmlnIHRpbWVzdGFtcCBkaXNjb250LgoJICBTZWUgIzU5MzM1NAoKMjAwOS0wOC0zMSAxMjo0NzoxNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IG1ha2Ugc3VyZSB0aW1lIG5ldmVyIGdvZXMgaW52YWxpZAoJICBTaW5jZSB0aGUgc2tldyBjYW4gYmUgbmVnYXRpdmUsIHdlIG1pZ2h0IGVuZCB1cCB3aXRoIGludmFsaWQgdGltZXN0YW1wcy4gQ2hlY2sKCSAgZm9yIG5lZ2F0aXZlIHJlc3VsdHMgYW5kIGNsYW1wIHRvIDAuCgkgIFNlZSAjNTkzMzU0CgoyMDA5LTA4LTMxIDEyOjE2OjAxICswMjAwICBKYXJra28gUGFsdmlhaW5lbiA8amFya2tvLnBhbHZpYWluZW4gYXQgc2VzY2EuY29tPgoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuaDoKCSogZ3N0L3VkcC9nc3R1ZHBuZXR1dGlscy5jOgoJICB1ZHBzaW5rOiBBZGQgdHRsIG11bHRpY2FzdCBwcm9wZXJ0eQoJICBBZGQgYSBuZXcgdHRsLW1jIHByb3BlcnR5IHRvIGNvbnRyb2wgdGhlIFRUTCBvbiBtdWx0aWNhc3QgYWRkcmVzc2VzLgoJICBGaXhlcyAjNTg4MjQ1CgoyMDA5LTA4LTMxIDEyOjEzOjA3ICswMjAwICBKYXJra28gUGFsdmlhaW5lbiA8amFya2tvLnBhbHZpYWluZW4gYXQgc2VzY2EuY29tPgoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3R1ZHBuZXR1dGlscy5jOgoJKiBnc3QvdWRwL2dzdHVkcG5ldHV0aWxzLmg6CgkgIHVkcDogc3BsaXQgb3V0IFRUTCBhbmQgbG9vcCBvcHRpb25zCgkgIFNwbGl0IHNldHRpbmcgdGhlIFRUTCBhbmQgbG9vcCBwYXJhbWV0ZXJzIGluIDIgbWV0aG9kcyBhcyB0aGV5IGFyZSBub3QgcmVsYXRlZC4KCSAgRml4IHNldHRpbmcgdGhlIFRUTCBjb3JyZWN0bHkgZm9yIG11bHRpY2FzdCBzdHJlYW1zLgoJICBTZWUgIzU4ODI0NQoKMjAwOS0wOC0yNyAxMjozNjozNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhbXJwYXkuYzoKCSAgcnRwOiB3aGl0ZXNwYWNlIGZpeGVzCgoyMDA5LTA4LTE0IDEzOjQ1OjIyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJICB2aWRlb2JveDogQ29ycmVjdGx5IGFkZCB0byB0aGUgZG9jcwoKMjAwOS0wOC0xNCAxMzo0MDoyMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9ib3gvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guaDoKCSAgdmlkZW9ib3g6IFNwbGl0IGRlY2xhcmF0aW9ucyBpbnRvIGEgaGVhZGVyIGZpbGUgYW5kIGFkZCBhdXRvY3JvcCBzdHVmZiB0byB0aGUgZG9jcwoKMjAwOS0wOC0xNCAxMzoyNjozNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzoKCSAgdmlkZW9ib3g6IFJlY29uZmlndXJlIGJhc2V0cmFuc2Zvcm0gaWYgc29tZXRoaW5nIGNoYW5nZXMgYWdhaW4KCSAgRm9yIHRoaXMgaW52ZW50IGEgbmV3IGxvY2sgYW5kIGRvbid0IGFidXNlIHRoZSBiYXNldHJhbnNmb3JtIGxvY2ssCgkgIG90aGVyd2lzZSB3ZSdsbCBlbmQgdXAgaW4gZGVhZGxvY2tzLgoKMjAwOS0wOC0xNCAxMzoxNTo1NyArMDIwMCAgU3RlcGhlbiBKdW5nZWxzIDxzdGVwaGVuQGp1bmdlbHMubmV0PgoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6CgkgIHZpZGVvYm94OiBBZGQgc3VwcG9ydCBmb3IgYXV0b2Nyb3BwaW5nIGFjY29yZGluZyB0byB0aGUgY2FwcwoJICBGaXhlcyBidWcgIzU4MjIzOC4KCjIwMDktMDgtMzAgMjE6NTc6NTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBNYWtlIHN1cmUgdGhhdCB1c2VkIGNhcHMgYXJlIG5vdCBmcmVlZCBhbHJlYWR5CgkgIEZpeGVzIGJ1ZyAjNTkzMzkxLgoKMjAwOS0wOC0yNiAxNzowMjo0NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5jOgoJICBydHA6IFVzZSBuZXcgZ3N0X2l0ZXJhdG9yX25ld19zaW5nbGUoKSBmb3IgdGhlIGludGVybmFsIGxpbmtlZCBwYWRzIGl0ZXJhdGlvbgoKMjAwOS0wOC0xOSAxNjo1NzowNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IFVzZSBpdGVyYXRlIGludGVybmFsIGxpbmtzIGluc3RlYWQgb2YgZGVwcmVjYXRlZCBnZXQgaW50ZXJuYWwgbGlua3MKCjIwMDktMDgtMTkgMTY6NDg6MjUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogVXNlIGl0ZXJhdGUgaW50ZXJuYWwgbGlua3MgaW5zdGVhZCBvZiBkZXByZWNhdGVkIGdldCBpbnRlcm5hbCBsaW5rcwoKMjAwOS0wOC0xOSAxNjozNzoxMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSAgcnRwc3NyY2RlbXV4OiBVc2UgaXRlcmF0ZSBpbnRlcm5hbCBsaW5rcyBpbnN0ZWFkIG9mIGRlcHJlY2F0ZWQgZ2V0IGludGVybmFsIGxpbmtzCgoyMDA5LTA4LTMwIDIzOjI3OjA5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgVXBkYXRlIGNvbW1vbgoKMjAwOS0wOC0zMCAyMzoyNjo0OCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIEJhY2sgdG8gaGFja2luZyAtPiAwLjEwLjE2LjEKCj09PSByZWxlYXNlIDAuMTAuMTYgPT09CgoyMDA5LTA4LTI5IDEyOjA1OjQwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFubm9kZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhbW1hLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhhbGVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF1aWNrdGltZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JhbGFuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmxpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiBnc3QtcGx1Z2lucy1nb29kLmRvYXA6CgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHBvL3poX0hLLnBvOgoJKiBwby96aF9UVy5wbzoKCSAgUmVsZWFzZSAwLjEwLjE2CgoyMDA5LTA4LTI2IDAwOjU4OjQ1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgMC4xMC4xNS41IHByZS1yZWxlYXNlCgoyMDA5LTA4LTI1IDE2OjUzOjI5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IGRvbid0IHVzZSByZWxhdGl2ZSBzZWVrcwoJICBEb24ndCB1c2UgcmVsYXRpdmUgc2Vla3MsIGl0J3MgdG9vIGhhcmQgdG8gdHJhY2sgd2hlcmUgd2UgYXJlIGFmdGVyIGEgZmx1c2gKCSAgZXRjLgoJICBmaXhlcyAjNTkzMDE1CgoyMDA5LTA4LTI0IDE3OjUwOjI5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogcG8vTElOR1VBUzoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJICAwLjEwLjE1LjQgcHJlLXJlbGVhc2UKCjIwMDktMDgtMjQgMTY6MjI6NDcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSAgcHVsc2VzcmM6IGRvbid0IGRpc2NhcmQgdGhlIHJlc3VsdCBvZiBfc2V0X2NhcHMoKQoJICBVc2UgdGhlIHJlc3VsdCBvZiBnc3RfcGFkX3NldF9jYXBzKCkgaW5zdGVhZCBvZiBhc3N1bWluZyBzdWNjZXNzLgoJICBTZWUgIzU5MDY3OAoKMjAwOS0wOC0yMSAxMTo0NDo0MyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eF9mb3VyY2MuaDoKCSAgcXRkZW11eDogYWRkIHN1cHBvcnQgZm9yIGFnc20KCSAgRml4ZXMgIzU5MjUzMAoKMjAwOS0wOC0xOCAxNzoxNjoxMSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGZpeCBxdCBzdHlsZSBzdHJpbmcgdGFnIGV4dHJhY3Rpb24KCSAgUVQgc3R5bGUgdGFncyBhcmUgdGVzdGVkIG9uIHN0YXJ0aW5nIHdpdGggKEMpIHN5bWJvbCB1c2luZyA+PiwKCSAgYW5kICh1bnNpZ25lZCkgaW50IChtYXkpIGhhdmUgZGlmZmVyZW50ID4+IGJlaGF2aW91ci4KCSAgRml4ZXMgIzU5MjIzMi4KCjIwMDktMDgtMTcgMTU6NDg6MjAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvc21va2Vjb2RlYy5jOgoJICBzbW9rZWVuYzogZG9uJ3QgY3Jhc2ggd2hlbiBjb21waWxlZCBhZ2FpbnN0IGxpYmpwZWc3CgkgIFNldCBwYXJhbWV0ZXJzIHNvIHRoYXQgd2UgZG9uJ3QgY3Jhc2ggd2l0aCBsaWJqcGVnNy4gQmFzZWQgb24KCSAgU3RlZmFuIEtvc3QncyBmaXggZm9yIGpwZWdlbmMuIEZpeGVzICM1OTE5NTEuCgoyMDA5LTA4LTE0IDIwOjE4OjA0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2x0LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkgIDAuMTAuMTUuMyBwcmUtcmVsZWFzZQoKMjAwOS0wOC0xNCAxMzo0NTowOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBiaW4uYzoKCSAgY2hlY2tzOiBhZGQgdGVzdCBmb3IgbGVhayB0byBydHBiaW4gdW5pdCB0ZXN0CgkgIFNlZSAjNTkxNDc2LgoKMjAwOS0wOC0xMSAxNDo0NzoxMiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogRml4IHJlZmVyZW5jZSBsZWFrCgkgIEZpeGVzICM1OTE0NzYuCgoyMDA5LTA4LTE0IDEzOjM0OjUzICswMTAwICBaYWhlZXIgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSogZXh0L2R2L2dzdGR2ZGVjLmM6CgkgIGR2ZGVjOiBzZXQgYm90dG9tIGZpZWxkIGZpcnN0IG9uIFBBTCBpbnRlcmxhY2VkIGNvbnRlbnQsIG5vdCB0b3AgZmllbGQgZmlyc3QKCSAgRFYgaW50ZXJsYWNlZCBjb250ZW50IGlzIGFsd2F5cyBib3R0b20gZmllbGQgZmlyc3QuIEZpeGVzICM1OTE3MTIuCgoyMDA5LTA4LTE0IDEyOjQ0OjA2ICswMTAwICBIYW5zIGRlIEdvZWRlIDxqd3JkZWdvZWRlQGZlZG9yYXByb2plY3Qub3JnPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICB2NGwyc3JjOiBmaXggJ2hhbmcnIHdpdGggc29tZSBjYW1lcmFzIGNhdXNlZCBieSBiYWQgdGltZXN0YW1waW5nIGlmIG5vIGZyYW1lcmF0ZSBpcyBhdmFpbGFibGUKCSAgRm9yIGNhbWVyYXMvZHJpdmVycyB0aGF0IGRvbid0IHN1cHBvcnQgZS5nLiBWSURJT0NfR19QQVJNIHdlJ2QgZW5kIHVwIHdpdGhvdXQKCSAgYSBmcmFtZXJhdGUgYW5kIHdvdWxkIHRyeSB0byBkaXZpZGUgYnkgMCwgY2F1c2luZyBydW4tdGltZSB3YXJuaW5ncyBhbmQgYWxsCgkgIGZyYW1lcyB0byBiZSB0aW1lc3RhbXBlZCB3aXRoIDAsIHdoaWNoIG1ha2VzIHNpbmtzIHRoYXQgc3luYyBhZ2FpbnN0IHRoZSBjbG9jawoJICBkcm9wIHRoZW0sIGNhdXNpbmcgJ2hhbmdzJyAob2JzZXJ2ZWQgd2l0aCB0aGUgcHdjIGRyaXZlciBhbmQgYSBMb2dpdGVjaCBRdWlja0NhbQoJICBQcm8gNDAwMCkuIFNvIGlmIHdlIGRvIG5vdCBrbm93IHRoZSBmcmFtZXJhdGUsIHNpbXBseSBkb24ndCBhZGp1c3QgdGhlCgkgIHRpbWVzdGFtcHMuIEZpeGVzICM1OTE0NTEuCgoyMDA5LTA4LTE0IDEwOjExOjI1ICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICB2NGwyc3JjOiBjbGVhciBmb3JtYXQgbGlzdCBpbiBSRUFEWS0+TlVMTAoJICBDbGVhciBmb3JtYXQgbGlzdCBhbmQgcHJvYmVkIGNhcHMgd2hlbiBnb2luZyB0byBOVUxMIHNvIGlmIGEgbmV3IGRldmljZQoJICBpcyBzZXQgd2UnbGwgcHJvYmUgdGhlIGZvcm1hdHMgYWdhaW4gaW5zdGVhZCBvZiB1c2luZyBwcmV2aW91c2x5CgkgIGRldGVjdGVkIG9uZXMuIEZpeGVzIGJ1ZyAjNTkxNzQ3LgoKMjAwOS0wOC0xMSAxNjo0Mjo1MSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJICBkdG1mc3JjOiBFbXB0eSBldmVudCBxdWV1ZSBvbiBmaW5hbGl6ZQoKMjAwOS0wOC0xMSAxNjozOTo0MiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIGR0bWY6IFVzZSBHU2xpY2UgZm9yIGludGVybmFsIGV2ZW50IHN0cnVjdHVyZXMKCjIwMDktMDgtMTEgMTY6MjM6MjAgLTA0MDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBydHBkdG1mc3JjOiBDbGVhbnVwIGV2ZW50cyBvbiBmaW5hbGl6ZQoJICBQcm9ibGVtIGZvdW5kIGJ5IExhdXJlbnQgR2xheWFsCgkgIEZpeGVzIGJ1ZyAjNTkxNDQwCgoyMDA5LTA4LTExIDE2OjIzOjIwIC0wNDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgcnRwZHRtZnNyYzogQ2xlYW51cCBldmVudHMgb24gZmluYWxpemUKCSAgUHJvYmxlbSBmb3VuZCBieSBMYXVyZW50IEdsYXlhbAoJICBGaXhlcyBidWcgIzU5MTQ0MAoKMjAwOS0wOC0xMSAxNzozMDo0MSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHBvL0xJTkdVQVM6CgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJICAwLjEwLjE1LjIgcHJlLXJlbGVhc2UKCjIwMDktMDgtMTEgMTU6MjU6MzkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogTUFJTlRBSU5FUlM6CgkgIEFkZCBteXNlbGYgdG8gTUFJTlRBSU5FUlMgZmlsZSBhbmQgdXBkYXRlIFdpbSdzIGUtbWFpbC4KCjIwMDktMDgtMTEgMDM6MDg6MDEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvTWFrZWZpbGUuYW06CgkgIHY0bDI6IGZpeCBtYWtlIGRpc3RjaGVjayBieSBkaXN0aW5nIHNvbWUgbW9yZSBoZWFkZXJzCgoyMDA5LTA4LTExIDAyOjQyOjE2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLnNpZ25hbHM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSAgZG9jczogdXBkYXRlCgoyMDA5LTA4LTExIDAyOjMxOjQ0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSogZ3N0LXBsdWdpbnMtZ29vZC5zcGVjLmluOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzLy5naXRpZ25vcmU6CgkgIE1vdmUgcnRwbWFuYWdlciBmcm9tIC1iYWQgdG8gLWdvb2QuCgkgIEhvb2sgdXAgYnVpbGQgaW5mcmFzdHJ1Y3R1cmUgKGF1dG90b29scywgZG9jcywgdW5pdCB0ZXN0KS4KCjIwMDktMDgtMDYgMTk6MjY6MjEgKzAyMDAgIHJpYyA8Y3N4bmp1IGF0IHNvZ291LmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJICBydHBzb3VyY2U6IGF2b2lkIGJ1ZmZlciBsZWFrIG9uIGJhZCBzZXFudW0KCSAgRml4ZXMgIzU5MDc5NwoKMjAwOS0wNy0yOCAxODoxODoyMCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJICBydHBzb3VyY2U6IGFsbG93IGZvciBOVUxMIGNhcHMgb24gYnVmZmVycwoJICBBZGQgdGhlIE5VTEwgY2FwcyBjaGVjayB3aGVyZSBpdCBtYXR0ZXJzIGFuZCBhbHNvIGNvdmVyIGFub3RoZXIgY2FzZSBvZgoJICBwb3RlbnRpYWwgTlVMTCBjYXBzLgoJICBGaXhlcyAjNTkwMDMwCgoyMDA5LTA3LTI4IDExOjU5OjU2IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSAgcnRwc291cmNlOiBJbmNvbWluZyBidWZmZXJzIGRvIG5vdCBhbHdheXMgaGF2ZSBjYXBzCgoyMDA5LTA3LTI3IDE1OjQ2OjIzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBhdm9pZCBkb2luZyBsaXAtc3luYyBpbiBCWUUKCSAgV2hlbiB3ZSBnZXQgYSBCWUUgcGFja2V0LCBkb24ndCBkbyBsaXAtc3luYyB3aXRoIHRoZSBTUiBpbnNpZGUgYmVjYXVzZSBzb21lCgkgIHNlbmRlcnMgaGF2ZSB0cm91YmxlIGNvbnN0cnVjdGluZyB2YWxpZCBTUiBwYWNrZXRzIGFmdGVyIEJZRS4KCjIwMDktMDctMjcgMTM6MTc6MjAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cGJpbjogZG9uJ3QgZG8gbGlwLXN5bmMgYWZ0ZXIgYSBCWUUKCSAgQWZ0ZXIgYSBCWUUgcGFja2V0IGZyb20gYSBzb3VyY2UsIHN0b3AgZm9yd2FyZGluZyB0aGUgU1IgcGFja2V0cyBmb3IgbGlwLXN5bmMKCSAgdG8gcnRwYmluLiBTb21lIHNlbmRlcnMgZG9uJ3QgdXBkYXRlIHRoZWlyIFNSIHBhY2tldHMgY29ycmVjdGx5IGFmdGVyIHNlbmRpbmcgYQoJICBCWUUgYW5kIHRoZW4gd2UgYnJlYWsgbGlwLXN5bmMuIFdlIHByZWZlciB0byBsZXQgdGhlIGppdHRlcmJ1ZmZlcnMgZHJhaW4gd2l0aAoJICB0aGUgY3VycmVudCBsaXAtc3luYyBpbnN0ZWFkLgoKMjAwOS0wNy0yNyAxMjo0MzowMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwYmluOiBvbmx5IHJlY29uc2lkZXIgb25jZSBmb3IgQllFCgkgIFdoZW4gaXRlcmF0aW5nIHRoZSBzb3VyY2VzIG9mIGEgQllFIHBhY2tldCwgZG9uJ3Qgc2lnbmFsIGEgcmVjb25zaWRlcmF0aW9uIGZvcgoJICBlYWNoIG9mIHRoZW0gYnV0IHNpZ25hbCBhZnRlciB3ZSBoYW5kbGVkIGFsbCBzb3VyY2VzLgoKMjAwOS0wNy0yMSAxNTozMzo0MSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBGcmVlIGNvbmZsaWN0aW5nIGFkZHJlc3NlcyBvbiBmaW5hbGl6ZQoKMjAwOS0wNy0wMSAxMjo1NTowMyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJICBydHBiaW46IHVzZSBuZXcgbWV0aG9kIGZvciBuZXRhZGRyZXNzIHRvIHN0cmluZwoKMjAwOS0wNi0yOSAxODo0ODozMyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBiaW4uYzoKCSAgcnRwYmluOiBkbyBiZXR0ZXIgY2xlYW51cCBvZiB0aGUgc3JjIGdob3N0cGFkcwoJICBDb25uZWN0IHRvIHRoZSBwYWQtcmVtb3ZlZCBzaWduYWwgb2YgdGhlIHB0ZGVtdXggZWxlbWVudHMgc28gdGhhdCB3ZSByZW1vdmUgdGhlCgkgIGdob3N0cGFkcyBmb3IgdGhlbS4gRml4ZXMgY2xlYW51cCB3aGVuIGdvaW5nIHRvIE5VTEwgYXMgd2VsbCBhcyB3aGVuIHJlbGVhc2luZwoJICB0aGUgc2lua3BhZHMuCgkgIEZpeGVzICM1NjE3NTIKCjIwMDktMDUtMjggMTk6MDg6NDAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IGFkZCBhIGNvbW1lbnQKCjIwMDktMDYtMjkgMTY6Mzc6NTQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgcnRwYmluOiBhZGQgU0RFUyBwcm9wZXJ0eQoJICBSZW1vdmUgYWxsIGluZGl2aWR1YWwgU0RFUyBwcm9wZXJ0aWVzIGFuZCB1c2Ugb25lIHNkZXMgcHJvcGVydHkgdGhhdCB0YWtlcyBhCgkgIEdzdFN0cnVjdHVyZSBpbnN0ZWFkLiBUaGlzIHdpbGwgYWxsb3cgdXMgdG8gYWRkIG1vcmUgY3VzdG9tIHN0dWZmIHRvIHRoZSBTREVTCgkgIG1lc3NhZ2VzIGxhdGVyLgoKMjAwOS0wNi0yOSAxNjoyMTowNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmg6CgkgIHJ0cGJpbjogYWRkIFNERVMgcHJvcGVydHkgdGhhdCB0YWtlcyBHc3RTdHJ1Y3R1cmUKCSAgUmVtb3ZlIGFsbCBpbmRpdmlkdWFsIFNERVMgcHJvcGVydGllcyBhbmQgdXNlIG9uZSBzZGVzIHByb3BlcnR5IHRoYXQgdGFrZXMgYQoJICBHc3RTdHJ1Y3R1cmUgaW5zdGVhZC4gVGhpcyB3aWxsIGFsbG93IHVzIHRvIGFkZCBtb3JlIGN1c3RvbSBzdHVmZiB0byB0aGUgU0RFUwoJICBtZXNzYWdlcyBsYXRlci4KCjIwMDktMDYtMDIgMTc6NDY6MDggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwY2xpZW50LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGNsaWVudC5oOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtYW5hZ2VyLmM6CgkgIHJ0cGJpbjogcmVtb3ZlZCBvbGQgZ3N0cnRwY2xpZW50CgoyMDA5LTA2LTE5IDE5OjA5OjE5ICswMjAwICBCcmFua28gU3ViYXNpYyA8YnJhbmtvLnN1YmFzaWMgYXQgYXhpcy5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGJpbl9idWZmZXJfbGlzdC5jOgoJICBydHBiaW46IGFkZCBzdXBwb3J0IGZvciBidWZmZXItbGlzdAoJICBBZGQgc3VwcG9ydCBmb3Igc2VuZGluZyBidWZmZXItbGlzdHMuCgkgIEFkZCB1bml0IHRlc3QgZm9yIHRlc3RpbmcgdGhhdCB0aGUgYnVmZmVyLWxpc3QgcGFzc2VkIHRocm91Z2ggcnRwYmluLgoJICBmaXhlcyAjNTg1ODM5CgoyMDA5LTA2LTE5IDE2OjIxOjI4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBNYWtlIGJ1aWxkIHdpdGhvdXQgd2FybmluZ3Mgd2l0aCBkZWJ1Z2dpbmcgZGlzYWJsZWQKCjIwMDktMDUtMjggMTc6Mzc6NDQgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IFRyYW5zZm9ybSB0aGUgcmlnaHQgc2Vzc2lvbiBzZGVzIG1lc3NhZ2UKCSAgRml4ZXMgIzU4NDE2NQoKMjAwOS0wNS0yOCAxNzozMzoxMCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkgIEFkZCBzc3JjIHRvIGFwcGxpY2F0aW9uL3gtcnRwLXNvdXJjZS1zZGVzIHN0cnVjdHVyZQoKMjAwOS0wNS0yNyAxMTowMzoxNCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJICBydHBzb3VjZTogdGhlIG5ldHdvcmsgYWRkcmVzcyBpcyBpbiBuZXR3b3JrIG9yZGVyCgkgIEJyaW5nIHRoZSBuZXR3b3JrIGFkZHJlc3MgaW4gbmV0b3drciBieXRlIG9yZGVyIHRvIHRoZSBob3N0IG9yZGVyLgoKMjAwOS0wNS0yNiAxNTo0MDo1MiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJICBydHBzb3VyY2U6IGJ5dGVzd2FwIHRoZSBwb3J0IGZyb20gR3N0TmV0QWRkcmVzcwoJICBTaW5jZSB0aGUgcG9ydCBpbiBHc3ROZXRBZGRyZXNzIGlzIGluIG5ldHdvcmsgb3JkZXIgd2UgbWlnaHQgbmVlZCB0byBieXRlc3dhcCBpdAoJICBiZWZvcmUgYWRkaW5nIGl0IHRvIHRoZSBzb3VyY2Ugc3RhdGlzdGljcy4KCjIwMDktMDUtMjUgMTM6NDY6MjkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiByZW1vdmUgcHRkZW11eCBnaG9zdHBhZHMKCjIwMDktMDUtMjUgMTM6MzM6MjAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBiaW4uYzoKCSAgdGVzdHM6IGFkZCByZWNlaXZlIHJ0cGJpbiB1bml0IHRlc3QKCjIwMDktMDUtMjIgMTY6NDE6MTkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiBhZGQgdG8gbmV3IHNpZ25hbCB0byByZW1vdmUgU1NSQyBwYWRzCgoyMDA5LTA1LTIyIDE2OjM1OjIwICswMjAwICBBbGkgU2FiaWwgPGFsaS5zYWJpbCBhdCBnbWFpbC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4tbWFyc2hhbC5saXN0OgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4Lmg6CgkgIHNzcmNkZW11eDogZW1pdCBzaWduYWwgd2hlbiBwYWRzIGFyZSByZW1vdmVkCgkgIEFkZCBhY3Rpb24gc2lnbmFsIHRvIGNsZWFyIGFuIFNTUkMgaW4gdGhlIHNzcmMgZGVtdXhlci4KCSAgQWRkIHNpZ25hbCB0byBub3RpZnkgb2YgcmVtb3ZlZCBzc3JjLgoJICBTZWUgIzU1NDgzOQoKMjAwOS0wNS0yMiAxNTo0NToxOSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IHVzZSBvdXIgZ2hvc3RwYWRzIGluc3RlYWQgb2YgaXRzIHRhcmdldAoJICBTaW5jZSB3ZSBrZWVwIGEgcmVmZXJlbmNlIHRvIG91ciBnaG9zdHBhZHMsIHdlIGNhbiB1c2UgdGhlbSB0byB0cmFjayBzZXNzaW9ucy4KCSAgVGhpcyBhdm9pZCB1cyBoYXZpbmcgdG8gbWVzcyB3aXRoIHRoZSB0YXJnZXQgb2YgdGhlIGdob3N0cGFkLgoKMjAwOS0wNS0yMiAxNTozNzoyOSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGJpbi5jOgoJICB0ZXN0czogbW9yZSBydHBiaW4gY2hlY2tzCgoyMDA5LTA1LTIyIDE1OjM2OjE3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogZG9uJ3Qgd2FybiB3aGVuIGdldHRpbmcgcmVxdWVzdCBwYWRzIHR3aWNlCgkgIEFsbG93IGdldHRpbmcgdGhlIHJlcXVlc3QgcGFkcyBtdWx0aXBsZSB0aW1lcywganVzdCByZXR1cm4gdGhlIHByZXZpb3VzbHkKCSAgY3JlYXRlZCBwYWRzLgoKMjAwOS0wNS0yMiAxMzo0NzozMCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJICBydHBzb3VyY2U6IGFkZCBSVFAgYW5kIFJUQ1Agc291cmNlIGFkZHJlc3MKCSAgQWRkIHRoZSBSVFAgYW5kIFJUQ1Agc2VuZGVyIGFkZHJlc3NlcyBpbiB0aGUgc3RhdHMgc3RydWN0dXJlLgoKMjAwOS0wNS0yMiAxMzo0NToxNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogcmV1c2Ugc291cmNlIGNvZGUgZm9yIFNERVMKCSAgUmV1c2UgdGhlIFJUUFNvdXJjZSBvYmplY3QgcHJvcGVydHkgaW5zdGVhZCBvZiBkdXBsaWNhdGluZyBjb2RlLgoKMjAwOS0wNS0yMiAxMzo0NDoxNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGJpbi5jOgoJICB0ZXN0czogYWRkIG1vcmUgcnRwYmluIHRlc3RzCgoyMDA5LTA1LTIyIDEyOjIzOjI3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwYmluLmM6CgkgIHRlc3RzOiBhZGQgcnRwYmluIHVuaXQgdGVzdAoJICBBZGQgdGhlIGJlZ2lubmluZ3Mgb2YgYW4gcnRwYmluIHVuaXQgdGVzdAoJICBBZGQgc29tZSBtb3JlIHN0dWZmIHRvIC5naXRpZ25vcmUKCjIwMDktMDUtMjIgMTI6MjA6MTMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiBzZXQgdGFyZ2V0IHN0YXRlIG9uIG5ldyBlbGVtZW50cwoJICBTZXQgdGhlIHN0YXRlIG9uIG5ld2x5IGFkZGVkIGVsZW1lbnRzIHRvIHRoZSBzdGF0ZSBvZiB0aGUgcGFyZW50LgoJICBBZGQgc29tZSBkZWJ1ZyBpbmZvIGFuZCBkbyBzb21lIGNsZWFudXBzCgoyMDA5LTA1LTIyIDExOjU5OjE3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogdW5yZWYgcmVxdWVzdHMgcGFkcyBhZnRlciByZWxlYXNpbmcKCjIwMDktMDUtMjIgMDE6NDM6NTAgKzAyMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IEltcGxlbWVudCByZWxlYXNpbmcgdGhlIHN0cmVhbXMKCSAgU2VlICM1NjE3NTIKCjIwMDktMDUtMjIgMDE6MTY6MTEgKzAyMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IEtlZXAgamIgc2lnbmFscyBoYW5kbGVyCgkgIEtlZXAgdGhlIHNpZ25hbCBoYW5kbGVycyBzbyB0aGV5IGNhbiBiZSBkaXNjb25uZWN0ZWQgYXQgcmVsZWFzZSB0aW1lCgkgIFNlZSAjNTYxNzUyCgoyMDA5LTA1LTIyIDAxOjEyOjU3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogdXNlIHRoZSByaWdodCBsb2NrIGZvciB0aGUgc2Vzc2lvbnMKCSAgVXNlIHRoZSByaWdodCBsb2NrIHdoZW4gaXRlcmF0aW5nIHRoZSBzZXNzaW9ucy4KCjIwMDktMDUtMjIgMDE6MDM6NTUgKzAyMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IEZyZWUgc2Vzc2lvbiBpZiByZXF1ZXN0IHBhZHMgYXJlIHJlbGVhc2VkCgkgIEZyZWUgdGhlIHNlc3Npb24gd2hlbiBhbGwgdGhlIHJlcXVlc3QgcGFkcyBhcmUgcmVsZWFzZWQuCgkgIERvbid0IG1lc3Mgd2l0aCB0aGUgc2Vzc2lvbiBsaXN0IGluIGZyZWVfc2Vzc2lvbiBhcyBpdCBpcyBjYWxsZWQgZnJvbSBhIGZvcmVhY2gKCSAgb24gdGhhdCBsaXN0LgoJICBTZXQgdGhlIHN0YXRlIG9mIHRoZSB1cHN0cmVhbSBlbGVtZW50IHRvIE5VTEwgZmlyc3QuCgkgIFNlZSAjNTYxNzUyCgoyMDA5LTA1LTIyIDAwOjUxOjUzICswMjAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiBJbXBsZW1lbnQgcmVsYXNpbmcgb2YgdGhlIHJ0cCByZWN2IHBhZAoKMjAwOS0wNS0yMiAwMDo0NDo1MSArMDIwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogSW1wbGVtZW50IHJlbGVhc2luZyBvZiBydHAgc2VuZCBwYWRzCgoyMDA5LTA1LTIyIDAwOjM0OjM2ICswMjAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiBJbXBsZW1lbnQgcmVsZWFzZSBvZiB0aGUgcmVjdiBydGNwIHBhZAoJICBTZWUgIzU2MTc1MgoKMjAwOS0wNS0yMiAwMDoxNjoxOSArMDIwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogSW1wbGVtZW50IHJlbGVhc2luZyBvZiBydGNwIHNyYyBwYWQKCSAgU2VlICM1NjE3NTIKCjIwMDktMDUtMDUgMTY6NDg6MzcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSAgcnRwc3NyY2RlbXV4OiBkcm9wIHVuZXhwZWN0ZWQgUlRDUCBwYWNrZXRzCgkgIFdlIHVzdWFsbHkgb25seSBnZXQgU1IgcGFja2V0cyBpbiBvdXIgY2hhaW4gZnVuY3Rpb24gYnV0IGlmIGFuIGludmFsaWQgcGFja2V0CgkgIGNvbnRhaW5zIHRoZSBTUiBwYWNrZXQgYWZ0ZXIgdGhlIFJSIHBhY2tldCwgd2UgbXVzdCBub3QgZmFpbCBidXQgc2ltcGx5IGlnbm9yZQoJICB0aGUgbWFsZm9ybWVkIHBhY2tldC4KCSAgRml4ZXMgIzU4MTM3NQoKMjAwOS0wNC0yNyAxMTowOTowOCArMDIwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSAgcnRwc291Y2U6IG1ha2UgV0FSTklORyBpbnRvIExPRwoJICBTaW5jZSBuZWl0aGVyIHJ0cG1hbmFnZXIgbm9yIGFueSBvZiB0aGUgcGF5bG9hZGVycyBwcm9wZXJseSBpbXBsZW1lbnQKCSAgcGFkIGFsbG9jYXRpb24sIHRoZXJlIGlzIG5vIHdheSBmb3IgdGhlIHJ0cG1hbmFnZXIgdG8gaW5mb3JtIGRvd25zdHJlYW0gZWxlbWVudHMKCSAgb2YgdGhlIG5ldyBTU1JDIGlmIHRoZXJlIGlzIGFuIFNTUkMgY29sbGlzaW9uLiBTbyB0aGUgd2FybmluZyBpcyBlbWl0dGVkIGFsbCB0aGUKCSAgdGltZSBhbmQgaXQgaXMgY29uZnVzaW5nLgoJICBGaXhlcyAjNTgwMTQ0CgoyMDA5LTA0LTI3IDExOjA2OjAxICswMjAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogbm90aWZ5IHdoZW4gU1NSQyBjaGFuZ2VzCgkgIEVtaXQgYSBnX29iamVjdF9ub3RpZnkgd2hlbiB0aGUgU1NSYyBjaGFuZ2VzIGJlY2F1c2Ugb2YgYSBjb2xsaXNpb24uCgkgIEZpeGVzICM1ODAxNDQKCjIwMDktMDQtMTcgMTY6MTY6MjkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IGpvaW4gdGhlIFJUQ1AgdGhyZWFkCgkgIEF2b2lkIGEgY2FzZSB3aGVyZSBhIGpvaW5hYmxlIHRocmVhZCB3b3VsZCBiZSBsZWZ0IHVuam9pbmVkLCB3aGljaCBsZWFrZWQgdGhlCgkgIHRocmVhZCBzdHJ1Y3R1cmUuCgkgIEZpeGVzICM1NzczMTguCgoyMDA5LTA0LTE1IDE4OjE0OjQ4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogcHJldmVudCBvdmVyZmxvdyBpbiBFT1MgZXN0aW1hdGlvbgoJICBVc2UgYSBndWludDY0IGluc3RlYWQgb2YgYSBndWludCB0byBob2xkIGEgNjRiaXQgdmFsdWUgdG8gcHJldmVudCBjb21wbGV0ZWx5CgkgIGJvZ3VlcyBFT1MgZXN0aW1hdGlvbiB2YWx1ZXMgZHVlIHRvIG92ZXJmbG93cy4KCjIwMDktMDQtMTUgMTc6NDQ6MTcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkgIHJ0cGJpbjogd2Ugc2hvdWxkIG5vdCBwcm92aWRlIGEgY2xvY2sKCSAgVGhlcmUgaXMgbm8gbmVlZCB0byBwcm92aWRlIGEgY2xvY2suCgoyMDA5LTA0LTE1IDE3OjI4OjU2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogbW9yZSBlc3RpbWF0ZWQgRU9TIGZpeGVzCgkgIERvIG1vcmUgYWNjdXJhdGUgRU9TIGVzdGltYXRlIGFuZCBndWFyZCBhZ2FpbnN0IGJhY2t3YXJkIHRpbWVzdGFtcHMuCgoyMDA5LTA0LTE1IDE3OjI1OjAyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogcmVsZWFzZSBsb2NrIGJlZm9yZSBwdXNoaW5nIEVPUwoJICBNYWtlIHN1cmUgd2UgcmVsZWFzZSB0aGUgaml0dGVyYnVmZmVyIGxvY2sgYmVmb3JlIHdlIHN0YXJ0IHB1c2hpbmcgb3V0IGRhdGEKCSAgYmVjYXVzZSBlbHNlIHdlIG1pZ2h0IGRlYWRsb2NrLgoKMjAwOS0wMy0yNyAxNzo0NDo1NyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaDoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5oOgoJICBydHBiaW46IGFkZCBvbl9ucHRfc3RvcCBzaWduYWwKCSAgQWRkIHRoZSBvbl9ucHRfc3RvcCBzaWduYWwgdG8gcnRwYmluIGFuZCBydHBqaXR0ZXJidWZmZXIgdG8gbm90aWZ5IHRoZQoJICBhcHBsaWNhdGlvbiB0aGF0IHRoZSBOUFQgc3RvcCBwb3NpdGlvbiBoYXMgYmVlbiByZWFjaGVkLgoKMjAwOS0wMy0xMyAxNTo1OTozNyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgcnRwYmluOiBkb24ndCByZXR1cm4gRkFMU0Ugb24gc2VlayBldmVudHMKCSAgU2lsZW50bHkgaWdub3JlIHRoZSBzZWVrIGV2ZW50IGluc3RlYWQgb2YgcmV0dXJuaW5nIEZBTFNFLgoKMjAwOS0wMi0yNiAxMzoxMDoyOSArMDEwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICBnc3RydHBiaW46IERvbid0IGZvcndhcmQgcmV2YyBldmVudHMgdG8gc2VuZGVyCgkgIERvbid0IHNlbmQgZXZlbnRzIGZyb20gdGhlIHJlY2VpdmVyIHRvIHRoZSBzZW5kZXIgc2lkZS4KCSAgRml4ZXMgIzU3MjkwMC4KCjIwMDktMDItMjUgMTE6NDU6MDUgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBkb2NzOiB2YXJpb3VzIGRvYyBmaXhlcwoJICBObyBzaG9ydC1kZXNjIGFzIHdlIGhhdmUgdGhlbSBpbiB0aGUgZWxlbWVudCBkZXRhaWxzLgoJICBBbHNvIGtlZXAgdGhpbmdzIChNYWtlZmlsZS5hbSBhbmQgc2VjdGlvbnMudHh0KSBzb3J0ZWQuCgkgIFJld29yZCBhbWJpZ291cyByZXR1cm5zLiBObyB0ZXh0IGFmdGVyIHNpbmNlIHBsZWFzZS4KCjIwMDktMDEtMjMgMTI6MTM6MDAgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5jOgoJICBTZW5kIEJZRSBwYWNrZXRzIGltbWVkaWF0bHkgZm9yIHNtYWxsIHNlc3Npb25zCgkgIFdoZW4gdGhlIG51bWJlciBvZiBwYXJ0aWNpcGFudHMgaXMgbGVzcyB0aGFuIDUwLCB0aGUgUkZDIGFsbG93cyBmb3Igc2VuZGluZyB0aGUKCSAgQllFIHBhY2tldCBpbW1lZGlhdGx5IGluc3RlYWQgb2YgdXNpbmcgdGhlIHJlZ3VsYXIgQllFIHRpbWVvdXQuCgkgIEZpeGVzICM1Njc4MjguCgoyMDA5LTAxLTIyIDEzOjMzOjE0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIFVubG9jayB0aGUgaml0dGVyYnVmZmVyIGJlZm9yZSBwdXNoaW5nIG91dCB0aGUgcGFja2V0LWxvc3QgZXZlbnRzLiBNb3ZlIHNvbWUgY29kZSBiZWZvcmUgd2UgZG8gdGhlIHVubG9jayB0byBtYWtlIHRoZSBqaXR0ZXJidWZmZXIgc3RhdGUgY29uc2lzdGVudCB3aGlsZSB3ZSBhcmUgdW5sb2NrZWQuCgoyMDA5LTAxLTAyIDE3OjQwOjA2ICswMDAwICBPbGl2aWVyIENyZXRlIDx0ZXN0ZXJAdGVzdGVyLmNhPgoKCSAgZ3N0L3J0cG1hbmFnZXIvOiBXaGVuIGFuIFNTUkMgaXMgZm91bmQgb24gdGhlIGNhcHMgb2YgdGhlIHNlbmRlciBSVFAsIHVzZSB0aGlzIGFzIHRoZSBpbnRlcm5hbCBTU1JDLiBGaXhlcyAjNTY1OTEwLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE9saXZpZXIgQ3JldGUgPHRlc3RlciBhdCB0ZXN0ZXIgZG90IGNhPgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgKGdzdF9ydHBfc2Vzc2lvbl9zZXRjYXBzX3NlbmRfcnRwKSwgKGNyZWF0ZV9zZW5kX3J0cF9zaW5rKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChydHBfc2Vzc2lvbl9zZXRfaW50ZXJuYWxfc3NyYyk6CgkgIFdoZW4gYW4gU1NSQyBpcyBmb3VuZCBvbiB0aGUgY2FwcyBvZiB0aGUgc2VuZGVyIFJUUCwgdXNlIHRoaXMgYXMgdGhlCgkgIGludGVybmFsIFNTUkMuIEZpeGVzICM1NjU5MTAuCgoyMDA5LTAxLTAyIDE2OjUwOjUzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvOiBSZW5hbWUgYSBtZXRob2QgdG8gYmV0dGVyIHJlZmxlY3Qgd2hhdCBpdCByZWFsbHkgZG9lcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICAoZ3N0X3J0cF9zZXNzaW9uX2V2ZW50X3NlbmRfcnRwX3NpbmspLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2dldGNhcHNfc2VuZF9ydHApOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKGNoZWNrX2NvbGxpc2lvbiksCgkgIChydHBfc2Vzc2lvbl9zY2hlZHVsZV9ieWVfbG9ja2VkKSwgKHJ0cF9zZXNzaW9uX3NjaGVkdWxlX2J5ZSk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBSZW5hbWUgYSBtZXRob2QgdG8gYmV0dGVyIHJlZmxlY3Qgd2hhdCBpdCByZWFsbHkgZG9lcy4KCjIwMDgtMTItMjkgMTU6NDk6MzcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IFVzZSBtZXRob2QgdG8gZ2V0IHRoZSBpbnRlcm5hbCBTU1JDLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIChnc3RfcnRwX3Nlc3Npb25fZ2V0Y2Fwc19zZW5kX3J0cCk6CgkgIFVzZSBtZXRob2QgdG8gZ2V0IHRoZSBpbnRlcm5hbCBTU1JDLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKHJ0cF9zZXNzaW9uX2NsYXNzX2luaXQpLAoJICAocnRwX3Nlc3Npb25fc2V0X3Byb3BlcnR5KSwgKHJ0cF9zZXNzaW9uX2dldF9wcm9wZXJ0eSk6CgkgIEFkZCBwcm9wZXJ0eSB0byBjb25naXVyZSB0aGUgaW50ZXJuYWwgU1NSQyBvZiB0aGUgc2Vzc2lvbi4KCSAgRml4ZXMgIzU2NTkxMC4KCjIwMDgtMTItMjkgMTU6MjE6NTggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IE9ubHkgY2hhbmdlIHRoZSBTU1JDIG9mIHRoZSBzZXNzaW9uIGFuZCByZXNldCB0aGUgaW50ZXJuYWwgc291cmNlIHdoZW4gdGhlIFNTUkMgYWN0dWFsbHkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAocnRwX3Nlc3Npb25fc2V0X2ludGVybmFsX3NzcmMpOgoJICBPbmx5IGNoYW5nZSB0aGUgU1NSQyBvZiB0aGUgc2Vzc2lvbiBhbmQgcmVzZXQgdGhlIGludGVybmFsIHNvdXJjZSB3aGVuCgkgIHRoZSBTU1JDIGFjdHVhbGx5IGNoYW5nZWQuIFNlZSAjNTY1OTEwLgoKMjAwOC0xMi0yOSAxNDoyMTo0NyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS4qOiBXaGVuIG5vIHBheWxvYWQgd2FzIHNwZWNpZmllZCBvbiB0aGUgY2FwcyBidXQgdGhlcmUgd2FzIGEgY2xvY2stcmF0ZSwgYXNzdW1lIHRoZSBjbG9jay1yYS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzogKHJ0cF9zb3VyY2VfaW5pdCksCgkgIChydHBfc291cmNlX3VwZGF0ZV9jYXBzKSwgKGdldF9jbG9ja19yYXRlKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuaDoKCSAgV2hlbiBubyBwYXlsb2FkIHdhcyBzcGVjaWZpZWQgb24gdGhlIGNhcHMgYnV0IHRoZXJlIHdhcyBhIGNsb2NrLXJhdGUsCgkgIGFzc3VtZSB0aGUgY2xvY2stcmF0ZSBjb3JyZXNwb25kcyB0byB0aGUgZmlyc3QgcGF5bG9hZCB0eXBlIGZvdW5kIGluIHRoZQoJICBSVFAgcGFja2V0cy4gRml4ZXMgIzU2NTUwOS4KCjIwMDgtMTItMjMgMTE6Mzk6NTkgKzAwMDAgIEFybm91dCBWYW5kZWNhcHBlbGxlIDxhcm5vdXRAbWluZC5iZT4KCgkgIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci4qOiBLZWVwIHRyYWNrIG9mIHRoZSBsYXN0IG91dGdvaW5nIHRpbWVzdGFtcCBhbmQgb2YgdGhlIGxhc3Qgc2VuZGVyLXNpZGUgdGltZS4gIFRpbWVzdC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEFybm91dCBWYW5kZWNhcHBlbGxlIDxhcm5vdXQgYXQgbWluZCBkb3QgYmU+CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6IChydHBfaml0dGVyX2J1ZmZlcl9yZXNldF9za2V3KSwKCSAgKGNhbGN1bGF0ZV9za2V3KToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuaDoKCSAgS2VlcCB0cmFjayBvZiB0aGUgbGFzdCBvdXRnb2luZyB0aW1lc3RhbXAgYW5kIG9mIHRoZSBsYXN0IHNlbmRlci1zaWRlCgkgIHRpbWUuICBUaW1lc3RhbXBzIGNhbiBvbmx5IGdvIGZvcndhcmQgaWYgdGhleSBkbyBhdCB0aGUgc2VuZGVyCgkgIHNpZGUsIGNhbiBvbmx5IGdvIGJhY2sgaWYgdGhleSBkbyBhdCB0aGUgc2VuZGVyIHNpZGUsIGFuZCByZW1haW4gdGhlCgkgIHNhbWUgaWYgdGhleSByZW1haW4gdGhlIHNhbWUgYXQgdGhlIHNlbmRlciBzaWRlLiBGaXhlcyAjNTY1MzE5LgoKMjAwOC0xMS0yNiAxMjo0MDoxOCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogTWFrZSBvYnRhaW5fc291cmNlIHJldHVybiBhbiBhZGl0aW9uYWwgcmVmIHNvIHRoYXQgd2UgZG9uJ3QgbG9zZSBvdXIgcmVmIHRvIGl0IHdoZW4gYSBzZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChvYnRhaW5fc291cmNlKSwKCSAgKHJ0cF9zZXNzaW9uX2NyZWF0ZV9zb3VyY2UpLCAocnRwX3Nlc3Npb25fcHJvY2Vzc19ydHApLAoJICAocnRwX3Nlc3Npb25fcHJvY2Vzc19zciksIChydHBfc2Vzc2lvbl9wcm9jZXNzX3JyKSwKCSAgKHJ0cF9zZXNzaW9uX3Byb2Nlc3Nfc2RlcyksIChydHBfc2Vzc2lvbl9wcm9jZXNzX2J5ZSk6CgkgIE1ha2Ugb2J0YWluX3NvdXJjZSByZXR1cm4gYW4gYWRpdGlvbmFsIHJlZiBzbyB0aGF0IHdlIGRvbid0IGxvc2Ugb3VyIHJlZgoJICB0byBpdCB3aGVuIGEgc2Vzc2lvbiBjbGVhbnVwIG9jY3VycyB3aGVuIHdlIGFyZSBlbWl0aW5nIGEgc2lnbmFsLgoJICBFbWl0IHRoZSBvbl9uZXdfc3NyYyBzaWduYWwgZm9yIHRoZSBDU1JDLCBub3QgdGhlIFNTUkMuCgkgIEZpeGVzICM1NjIzMTkuCgoyMDA4LTExLTI2IDEyOjAyOjIxICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IFJlc2V0IHRoZSBzeW5jIHBhcmFtZXRlcnMgd2hlbiBjbGVhcmluZyB0aGUgcGF5bG9hZCB0eXBlIG1hcCB0b28uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoZ3N0X3J0cF9iaW5fcmVzZXRfc3luYyksCgkgIChnc3RfcnRwX2Jpbl9jbGVhcl9wdF9tYXApOgoJICBSZXNldCB0aGUgc3luYyBwYXJhbWV0ZXJzIHdoZW4gY2xlYXJpbmcgdGhlIHBheWxvYWQgdHlwZSBtYXAgdG9vLgoJICBGaXhlcyAjNTYyMzEyLgoKMjAwOC0xMS0yNiAxMTo0NDozNyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi4qOiBSZW1vdmUgYSBsb3Qgb2YgcGVyIHN0cmVhbSBzdGF0ZSB0aGF0IGlzIG5vdCBuZWVkZWQgYW5kIHBhc3MgbmV3IGluZm8gaW4gdGhlIG1ldGhvZCBjYWxsLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGdldF9jbGllbnQpLAoJICAoZ3N0X3J0cF9iaW5fcmVzZXRfc3luYyksIChnc3RfcnRwX2Jpbl9hc3NvY2lhdGUpLAoJICAoZ3N0X3J0cF9iaW5faGFuZGxlX3N5bmMpLCAoY3JlYXRlX3N0cmVhbSksCgkgIChnc3RfcnRwX2Jpbl9jbGFzc19pbml0KSwgKG5ld19zc3JjX3BhZF9mb3VuZCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkgIFJlbW92ZSBhIGxvdCBvZiBwZXIgc3RyZWFtIHN0YXRlIHRoYXQgaXMgbm90IG5lZWRlZCBhbmQgcGFzcyBuZXcgaW5mbyBpbgoJICB0aGUgbWV0aG9kIGNhbGwuCgkgIEFkZCBzaWduYWwgdG8gcmVzZXQgc3luYyBwYXJhbWV0ZXJzLgoJICBBdm9pZCBwYXJzaW5nIHRoZSBjYXBzIHRvIGdldCBhIGNsb2NrX2Jhc2UsIHdlIGdldCB0aGlzIGZyb20gdGhlIHN5bmMKCSAgc2lnbmFsIG5vdy4KCjIwMDgtMTEtMjUgMTU6MTI6MDYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IEZpeCBldmVudCBsZWFrLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIChnc3RfcnRwX3Nlc3Npb25fZXZlbnRfc2VuZF9ydGNwX3NyYyk6CgkgIEZpeCBldmVudCBsZWFrLgoKMjAwOC0xMS0yMiAxNTozMTozNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogQWRkIHByb3BlcnR5IHRvIGNvbmZpZ3VyZSB0aGUgUlRDUCBNVFUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKHJ0cF9zZXNzaW9uX2NsYXNzX2luaXQpLAoJICAocnRwX3Nlc3Npb25faW5pdCksIChydHBfc2Vzc2lvbl9zZXRfcHJvcGVydHkpLAoJICAocnRwX3Nlc3Npb25fZ2V0X3Byb3BlcnR5KToKCSAgQWRkIHByb3BlcnR5IHRvIGNvbmZpZ3VyZSB0aGUgUlRDUCBNVFUuCgoyMDA4LTExLTIyIDE1OjI0OjQ3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiBBZGQgR19QQVJBTV9TVEFUSUNfU1RSSU5HUy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAocnRwX3Nlc3Npb25fY2xhc3NfaW5pdCksCgkgIChjb3B5X3NvdXJjZSksIChydHBfc2Vzc2lvbl9jcmVhdGVfc291cmNlcyksCgkgIChydHBfc2Vzc2lvbl9nZXRfcHJvcGVydHkpOgoJICBBZGQgR19QQVJBTV9TVEFUSUNfU1RSSU5HUy4KCSAgQWRkIHByb3BlcnR5IHRvIHJldHVybiBhIEdWYWx1ZUFycmF5IG9mIGFsbCBrbm93biBSVFBTb3VyY2VzIGluIHRoZQoJICBzZXNzaW9uLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOiAocnRwX3NvdXJjZV9jbGFzc19pbml0KSwKCSAgKHJ0cF9zb3VyY2VfY3JlYXRlX3NkZXMpLCAocnRwX3NvdXJjZV9zZXRfcHJvcGVydHkpLAoJICAocnRwX3NvdXJjZV9nZXRfcHJvcGVydHkpOgoJICBSZW1vdmUgcHJvcGVydGllcyB0byBzZXQgdGhlIHZhcmlvdXMgU0RFUyBpdGVtcywgYW4gYXBwbGljYXRpb24gaXMgbmV2ZXIKCSAgc3VwcG9zZWQgdG8gY2hhbmdlIHRoZSBSVFBTb3VyY2UgZGF0YS4KCSAgQ2hhbmdlIHRoZSBTREVTIGdldHRlciBwcm9wZXJ0aWVzIHRvIG9uZSBTREVTIHByb3BlcnR5IHRoYXQgcmV0dXJucyBhbGwKCSAgU0RFUyBpdGVtcyBpbiBhIEdzdFN0cnVjdHVyZS4KCjIwMDgtMTEtMjIgMTM6MTc6MjQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogQWxzbyB1bnJlZiB0aGUgdGFyZ2V0IHBhZCBmb3IgdW5rbm93biBwYWRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGdzdF9ydHBfYmluX3JlbGVhc2VfcGFkKToKCSAgQWxzbyB1bnJlZiB0aGUgdGFyZ2V0IHBhZCBmb3IgdW5rbm93biBwYWRzLgoKMjAwOC0xMS0yMSAxNjoxNzoyMiArMDAwMCAgT2xpdmllciBDcmV0ZSA8dGVzdGVyQHRlc3Rlci5jYT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiBSZWxlYXNlIHRoZSByaWdodCBwYWRzIG9uIHJ0cGJpbi4gRml4ZXMgIzU2MTc1Mi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBPbGl2aWVyIENyZXRlIDx0ZXN0ZXIgYXQgdGVzdGVyIGRvdCBjYT4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGdzdF9ydHBfYmluX3JlbGVhc2VfcGFkKToKCSAgUmVsZWFzZSB0aGUgcmlnaHQgcGFkcyBvbiBydHBiaW4uIEZpeGVzICM1NjE3NTIuCgoyMDA4LTExLTIwIDE4OjQxOjM0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiBQYXNzIHRoZSBydW5uaW5nIHRpbWUgdG8gdGhlIHNlc3Npb24gd2hlbiBwcm9jZXNzaW5nIFJUUCBwYWNrZXRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChnZXRfY3VycmVudF90aW1lcyksCgkgIChydGNwX3RocmVhZCksIChnc3RfcnRwX3Nlc3Npb25fY2hhaW5fcmVjdl9ydHApOgoJICBQYXNzIHRoZSBydW5uaW5nIHRpbWUgdG8gdGhlIHNlc3Npb24gd2hlbiBwcm9jZXNzaW5nIFJUUCBwYWNrZXRzLgoJICBJbXByb3ZlIHRoZSB0aW1lIGZ1bmN0aW9uIHRvIHByb3ZpZGUgbW9yZSBpbmZvLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKHJ0cF9zZXNzaW9uX2NsYXNzX2luaXQpLAoJICAocnRwX3Nlc3Npb25faW5pdCksICh1cGRhdGVfYXJyaXZhbF9zdGF0cyksCgkgIChydHBfc2Vzc2lvbl9wcm9jZXNzX3J0cCksIChydHBfc2Vzc2lvbl9wcm9jZXNzX3NkZXMpLAoJICAocnRwX3Nlc3Npb25fcHJvY2Vzc19ydGNwKSwgKHNlc3Npb25fc3RhcnRfcnRjcCksCgkgIChydHBfc2Vzc2lvbl9vbl90aW1lb3V0KToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIE1hcmsgdGhlIGludGVybmFsIHNvdXJjZSB3aXRoIGEgZmxhZy4KCSAgVXNlIHJ1bm5pbmdfdGltZSBpbnN0ZWFkIG9mIHRoZSBtb3JlIHVzZWxlc3MgdGltZXN0YW1wLgoJICBWYWxpZGF0ZSBhIHNvdXJjZSB3aGVuIGEgdmFsaWQgU0RFUyBoYXMgYmVlbiByZWNlaXZlZC4KCSAgUGFzcyB0aGUgY3VycmVudCBzeXN0ZW0gdGltZSB3aGVuIHByb2Nlc3NpbmcgU1IgcGFja2V0cy4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzogKHJ0cF9zb3VyY2VfY2xhc3NfaW5pdCksCgkgIChydHBfc291cmNlX2luaXQpLCAocnRwX3NvdXJjZV9jcmVhdGVfc3RhdHMpLAoJICAocnRwX3NvdXJjZV9nZXRfcHJvcGVydHkpLCAocnRwX3NvdXJjZV9zZW5kX3J0cCksCgkgIChydHBfc291cmNlX3Byb2Nlc3NfcmIpLCAocnRwX3NvdXJjZV9nZXRfbmV3X3JiKSwKCSAgKHJ0cF9zb3VyY2VfZ2V0X2xhc3RfcmIpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5oOgoJICBBZGQgcHJvcGVydHkgdG8gZ2V0IHNvdXJjZSBzdGF0cy4KCSAgTWFyayBwYXJhbXMgYXMgU1RBVElDX1NUUklOR1MuCgkgIENhbGN1bGF0ZSB0aGUgYml0cmF0ZSBhdCB0aGUgc2VuZGVyIFNTUkMuCgkgIEF2b2lkIG5lZ2F0aXZlIHZhbHVlcyBpbiB0aGUgcm91bmQgdHJpcCB0aW1lIGNhbGN1bGF0aW9ucy4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5oOgoJICBVcGRhdGUgc29tZSBkb2NzIGFuZCBjaGFuZ2Ugc29tZSB2YXJpYWJsZSBuYW1lIHRvIG1vcmUgY2xvc2VseSByZWZsZWN0CgkgIHdoYXQgaXQgY29udGFpbnMuCgoyMDA4LTExLTIwIDA4OjE5OjE1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzogSW5pdGlhbGl6ZSByZXR1cm4gdmFsdWUgdG8gZml4IGNvbXBpbGVyIHdhcm5pbmcgYWJvdXQgdW5pbml0aWFsaXplZCB2YXJpYWJsZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2hhaW5fcnRjcCk6CgkgIEluaXRpYWxpemUgcmV0dXJuIHZhbHVlIHRvIGZpeCBjb21waWxlciB3YXJuaW5nIGFib3V0IHVuaW5pdGlhbGl6ZWQKCSAgdmFyaWFibGUuCgoyMDA4LTExLTE5IDE2OjQ4OjM4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6IE1hcmsgc2lnbmFsIGFyZyBhcyBzdGF0aWMgc2NvcGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NsYXNzX2luaXQpOgoJICBNYXJrIHNpZ25hbCBhcmcgYXMgc3RhdGljIHNjb3BlLgoKMjAwOC0xMS0xOSAwOTowNjoyOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiBSZW1vdmUgaW50ZXJuYWwgc3luYyBwYWQsIHVzZSBzaWduYWxzIGluc3RlYWQgdG8gZ2V0IGxpcC1zeW5jIG5vdGlmaWNhdGlvbnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoZ3N0X3J0cF9iaW5fYXNzb2NpYXRlKSwKCSAgKGdzdF9ydHBfYmluX2hhbmRsZV9zeW5jKSwgKGNyZWF0ZV9zdHJlYW0pLCAoZnJlZV9zdHJlYW0pLAoJICAobmV3X3NzcmNfcGFkX2ZvdW5kKToKCSAgUmVtb3ZlIGludGVybmFsIHN5bmMgcGFkLCB1c2Ugc2lnbmFscyBpbnN0ZWFkIHRvIGdldCBsaXAtc3luYwoJICBub3RpZmljYXRpb25zLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2Jhc2VfaW5pdCksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfaW50ZXJuYWxfbGlua3MpLCAoY3JlYXRlX3J0Y3Bfc2luayksCgkgIChyZW1vdmVfcnRjcF9zaW5rKSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9yZXF1ZXN0X25ld19wYWQpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX3JlbGVhc2VfcGFkKSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9zaW5rX3J0Y3BfZXZlbnQpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NoYWluX3J0Y3ApLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2dldF9wcm9wZXJ0eSk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmg6CgkgIE1ha2UgaXQgcG9zc2libGUgdG8gc2VuZCBTUiBwYWNrZXRzIHRvIHRoZSBqaXR0ZXJidWZmZXIuCgkgIENoZWNrIGlmIHRoZSBTUiB0aW1lc3RhbXBzIGFyZSB2YWxpZCBieSBjb21wYXJpbmcgdGhlbSB0byB0aGUgUlRQCgkgIHRpbWVzdGFtcHMuCgkgIFNpZ25hbCB0aGUgU1IgcGFja2V0IGFuZCB0aGUgdGltaW5nIGluZm9ybWF0aW9uIHRvIGxpc3RlbmVycy4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzogKGNyZWF0ZV9kZW11eF9wYWRfZm9yX3NzcmMpLAoJICAoZ3N0X3J0cF9zc3JjX2RlbXV4X3J0Y3BfY2hhaW4pLCAoZ3N0X3J0cF9zc3JjX2RlbXV4X3NyY19xdWVyeSk6CgkgIFJlbW92ZSBzb21lIHVudXNlZCBjb2RlLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOiAocnRwX2ppdHRlcl9idWZmZXJfcmVzZXRfc2tldyksCgkgIChjYWxjdWxhdGVfc2tldyksIChydHBfaml0dGVyX2J1ZmZlcl9nZXRfc3luYyk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmg6CgkgIEtlZXAgdHJhY2sgb2YgdGhlIGxhc3Qgc2VlbiBSVFAgdGltZXN0YW1wIHNvIHRoYXQgd2UgY2FuIGZpbHRlciBvdXQKCSAgaW52YWxpZCBTUiBwYWNrZXRzLgoKMjAwOC0xMS0xNyAxOTo0NzozMiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6IEZpeCBHU1RfREVCVUcgY2FsbCB0byBvbmx5IGhhdmUgYXMgbWFueSBhcmd1bWVudHMgYXMgcmVxdWlyZWQgYnkgdGhlIGZvcm1hdCBzdHJpbmcuIEZpeGVzLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOiAoZ2V0X2Nsb2NrX3JhdGUpOgoJICBGaXggR1NUX0RFQlVHIGNhbGwgdG8gb25seSBoYXZlIGFzIG1hbnkgYXJndW1lbnRzIGFzIHJlcXVpcmVkCgkgIGJ5IHRoZSBmb3JtYXQgc3RyaW5nLiBGaXhlcyBhIGNvbXBpbGVyIHdhcm5pbmcuCgoyMDA4LTExLTE3IDE1OjE3OjUyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IERvIG5vdCB0cnkgdG8ga2VlcCB0cmFjayBvZiB0aGUgY2xvY2stcmF0ZSBvdXJzZWx2ZXMgYnV0IHNpbXBseSBnZXQgdGhlIHZhbHVlIGZyb20gdGhlIGppLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoZ3N0X3J0cF9iaW5fYXNzb2NpYXRlKSwKCSAgKGdzdF9ydHBfYmluX3N5bmNfY2hhaW4pLCAoY3JlYXRlX3N0cmVhbSksIChuZXdfc3NyY19wYWRfZm91bmQpOgoJICBEbyBub3QgdHJ5IHRvIGtlZXAgdHJhY2sgb2YgdGhlIGNsb2NrLXJhdGUgb3Vyc2VsdmVzIGJ1dCBzaW1wbHkgZ2V0IHRoZQoJICB2YWx1ZSBmcm9tIHRoZSBqaXR0ZXJidWZmZXIuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3Rfaml0dGVyX2J1ZmZlcl9zaW5rX3BhcnNlX2NhcHMpLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NoYWluKSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9nZXRfc3luYyk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmg6CgkgIEFkZCBzb21lIGRlYnVnIGluZm8uCgkgIFBhc3MgdGhlIGNsb2NrLXJhdGUgdG8gdGhlIGppdHRlcmJ1ZmZlci4KCSAgQWxzbyBwYXNzIHRoZSBjbG9jay1yYXRlIGFsb25nIHdpdGggdGhlIHJ0cCB0aW1lc3RhbXAgd2hlbiBnZXR0aW5nIHRoZQoJICBzeW5jIHBhcmFtZXRlcnMuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOiAoZ3N0X3J0cF9wdF9kZW11eF9jaGFpbik6CgkgIEZpeCBzb21lIGRlYnVnLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOiAocnRwX2ppdHRlcl9idWZmZXJfcmVzZXRfc2tldyksCgkgIChjYWxjdWxhdGVfc2tldyksIChydHBfaml0dGVyX2J1ZmZlcl9nZXRfc3luYyk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmg6CgkgIEtlZXAgdHJhY2sgb2YgY2xvY2stcmF0ZSBjaGFuZ2VzIGFuZCByZXR1cm4gdGhlIGNsb2NrLXJhdGUgdG9nZXRoZXIgd2l0aAoJICB0aGUgcnRwIHRpbWVzdGFtcHMgdXNlZCBmb3Igc3luYy4KCSAgRG9uJ3QgdHJ5IHRvIGNvbnN0cnVjdCB0aW1lc3RhbXBzIHdoZW4gd2UgaGF2ZSBubyBiYXNlX3RpbWUuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6IChnZXRfY2xvY2tfcmF0ZSk6CgkgIFJlcXVlc3QgYSBuZXcgY2xvY2stcmF0ZSB3aGVuIHRoZSBwYXlsb2FkIHR5cGUgY2hhbmdlcy4KCSAgUmVzZXQgdGhlIGppdHRlciBjYWxjdWxhdGlvbiB3aGVuIHRoZSBjbG9jay1yYXRlIGNoYW5nZXMuCgoyMDA4LTExLTEzIDE1OjQ4OjU0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvOiBTbWFsbCBjbGVhbnVwcyBhbmQgc29tZSBtb3JlIGRlYnVnIGluZm8uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X2ppdHRlcl9idWZmZXJfc2lua19wYXJzZV9jYXBzKSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9mbHVzaF9zdG9wKSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jaGFpbik6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6IChydHBfaml0dGVyX2J1ZmZlcl9yZXNldF9za2V3KSwKCSAgKGNhbGN1bGF0ZV9za2V3KToKCSAgU21hbGwgY2xlYW51cHMgYW5kIHNvbWUgbW9yZSBkZWJ1ZyBpbmZvLgoKMjAwOC0xMS0xMCAxNToyNjo0MCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOiBBbHNvIGNvbmZpZ3VyZSB0aGUgbmV4dCBleHBlY3RlZCBvdXRwdXQgc2VxbnVtIHdoZW4gd2UgZ2V0IGEgc2VxbnVtLWJhc2Ugb24gdGhlIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9qaXR0ZXJfYnVmZmVyX3NpbmtfcGFyc2VfY2FwcyksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2hhaW4pOgoJICBBbHNvIGNvbmZpZ3VyZSB0aGUgbmV4dCBleHBlY3RlZCBvdXRwdXQgc2VxbnVtIHdoZW4gd2UgZ2V0IGEgc2VxbnVtLWJhc2UKCSAgb24gdGhlIGNhcHMuCgoyMDA4LTExLTA0IDEyOjQyOjMwICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBEb24ndCBpbnN0YWxsIHN0YXRpYyBsaWJzIGZvciBwbHVnaW5zLiBGaXhlcyAjNTUwODUxIGZvciAtYmFkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYWxzYXNwZGlmL01ha2VmaWxlLmFtOgoJICAqIGV4dC9hbXJ3Yi9NYWtlZmlsZS5hbToKCSAgKiBleHQvYXBleHNpbmsvTWFrZWZpbGUuYW06CgkgICogZXh0L2FydHMvTWFrZWZpbGUuYW06CgkgICogZXh0L2FydHNkL01ha2VmaWxlLmFtOgoJICAqIGV4dC9hdWRpb2ZpbGUvTWFrZWZpbGUuYW06CgkgICogZXh0L2F1ZGlvcmVzYW1wbGUvTWFrZWZpbGUuYW06CgkgICogZXh0L2J6Mi9NYWtlZmlsZS5hbToKCSAgKiBleHQvY2RhdWRpby9NYWtlZmlsZS5hbToKCSAgKiBleHQvY2VsdC9NYWtlZmlsZS5hbToKCSAgKiBleHQvZGMxMzk0L01ha2VmaWxlLmFtOgoJICAqIGV4dC9kaXJhYy9NYWtlZmlsZS5hbToKCSAgKiBleHQvZGlyZWN0ZmIvTWFrZWZpbGUuYW06CgkgICogZXh0L2RpdngvTWFrZWZpbGUuYW06CgkgICogZXh0L2R0cy9NYWtlZmlsZS5hbToKCSAgKiBleHQvZmFhYy9NYWtlZmlsZS5hbToKCSAgKiBleHQvZmFhZC9NYWtlZmlsZS5hbToKCSAgKiBleHQvZ3NtL01ha2VmaWxlLmFtOgoJICAqIGV4dC9oZXJtZXMvTWFrZWZpbGUuYW06CgkgICogZXh0L2l2b3JiaXMvTWFrZWZpbGUuYW06CgkgICogZXh0L2phY2svTWFrZWZpbGUuYW06CgkgICogZXh0L2pwMmsvTWFrZWZpbGUuYW06CgkgICogZXh0L2xhZHNwYS9NYWtlZmlsZS5hbToKCSAgKiBleHQvbGNzL01ha2VmaWxlLmFtOgoJICAqIGV4dC9saWJmYW1lL01ha2VmaWxlLmFtOgoJICAqIGV4dC9saWJtbXMvTWFrZWZpbGUuYW06CgkgICogZXh0L21ldGFkYXRhL01ha2VmaWxlLmFtOgoJICAqIGV4dC9tcGVnMmVuYy9NYWtlZmlsZS5hbToKCSAgKiBleHQvbXBsZXgvTWFrZWZpbGUuYW06CgkgICogZXh0L211c2VwYWNrL01ha2VmaWxlLmFtOgoJICAqIGV4dC9tdXNpY2JyYWluei9NYWtlZmlsZS5hbToKCSAgKiBleHQvbXl0aHR2L01ha2VmaWxlLmFtOgoJICAqIGV4dC9uYXMvTWFrZWZpbGUuYW06CgkgICogZXh0L25lb24vTWFrZWZpbGUuYW06CgkgICogZXh0L29mYS9NYWtlZmlsZS5hbToKCSAgKiBleHQvcG9seXAvTWFrZWZpbGUuYW06CgkgICogZXh0L3Jlc2luZHZkL01ha2VmaWxlLmFtOgoJICAqIGV4dC9zZGwvTWFrZWZpbGUuYW06CgkgICogZXh0L3Nob3V0L01ha2VmaWxlLmFtOgoJICAqIGV4dC9zbmFwc2hvdC9NYWtlZmlsZS5hbToKCSAgKiBleHQvc25kZmlsZS9NYWtlZmlsZS5hbToKCSAgKiBleHQvc291bmR0b3VjaC9NYWtlZmlsZS5hbToKCSAgKiBleHQvc3BjL01ha2VmaWxlLmFtOgoJICAqIGV4dC9zd2ZkZWMvTWFrZWZpbGUuYW06CgkgICogZXh0L3Rhcmtpbi9NYWtlZmlsZS5hbToKCSAgKiBleHQvdGhlb3JhL01ha2VmaWxlLmFtOgoJICAqIGV4dC90aW1pZGl0eS9NYWtlZmlsZS5hbToKCSAgKiBleHQvdHdvbGFtZS9NYWtlZmlsZS5hbToKCSAgKiBleHQveDI2NC9NYWtlZmlsZS5hbToKCSAgKiBleHQveGluZS9NYWtlZmlsZS5hbToKCSAgKiBleHQveHZpZC9NYWtlZmlsZS5hbToKCSAgKiBnc3QtbGlicy9nc3QvYXBwL01ha2VmaWxlLmFtOgoJICAqIGdzdC1saWJzL2dzdC9kc2hvdy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYWlmZnBhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9hcHAvTWFrZWZpbGUuYW06CgkgICogZ3N0L2F1ZGlvYnVmZmVyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9iYXllci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvY2R4YXBhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9jaGFydC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvY29sb3JzcGFjZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZGNjcC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZGVpbnRlcmxhY2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZHZkc3B1L01ha2VmaWxlLmFtOgoJICAqIGdzdC9mZXN0aXZhbC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZmlsdGVyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9mbGFjcGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L2Zsdi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZ2FtZXMvTWFrZWZpbGUuYW06CgkgICogZ3N0L2gyNjRwYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbGlicmZiL01ha2VmaWxlLmFtOgoJICAqIGdzdC9taXhtYXRyaXgvTWFrZWZpbGUuYW06CgkgICogZ3N0L21vZHBsdWcvTWFrZWZpbGUuYW06CgkgICogZ3N0L21wZWcxc3lzL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tcGVnNHZpZGVvcGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L21wZWdkZW11eC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXBlZ3RzbXV4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9tcGVndmlkZW9wYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXZlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9uc2YvTWFrZWZpbGUuYW06CgkgICogZ3N0L251dmRlbXV4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9vdmVybGF5L01ha2VmaWxlLmFtOgoJICAqIGdzdC9wYXNzdGhyb3VnaC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcGNhcHBhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9wbGF5b25kZW1hbmQvTWFrZWZpbGUuYW06CgkgICogZ3N0L3Jhd3BhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9yZWFsL01ha2VmaWxlLmFtOgoJICAqIGdzdC9ydGpwZWcvTWFrZWZpbGUuYW06CgkgICogZ3N0L3J0cG1hbmFnZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L3NjYWxldGVtcG8vTWFrZWZpbGUuYW06CgkgICogZ3N0L3NkcC9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc2VsZWN0b3IvTWFrZWZpbGUuYW06CgkgICogZ3N0L3Ntb290aC9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc21vb3Rod2F2ZS9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc3BlZWQvTWFrZWZpbGUuYW06CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvTWFrZWZpbGUuYW06CgkgICogZ3N0L3N0ZXJlby9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc3ViZW5jL01ha2VmaWxlLmFtOgoJICAqIGdzdC90dGEvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZiaWRlYy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdmlkZW9kcm9wL01ha2VmaWxlLmFtOgoJICAqIGdzdC92aWRlb3NpZ25hbC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdmlydHVhbGR1Yi9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvdm1uYy9NYWtlZmlsZS5hbToKCSAgKiBnc3QveTRtL01ha2VmaWxlLmFtOgoJICAqIHN5cy9hY21lbmMvTWFrZWZpbGUuYW06CgkgICogc3lzL2Nkcm9tL01ha2VmaWxlLmFtOgoJICAqIHN5cy9kc2hvd2RlY3dyYXBwZXIvTWFrZWZpbGUuYW06CgkgICogc3lzL2RzaG93c3Jjd3JhcHBlci9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZHZiL01ha2VmaWxlLmFtOgoJICAqIHN5cy9keHIzL01ha2VmaWxlLmFtOgoJICAqIHN5cy9mYmRldi9NYWtlZmlsZS5hbToKCSAgKiBzeXMvb3NzNC9NYWtlZmlsZS5hbToKCSAgKiBzeXMvcWNhbS9NYWtlZmlsZS5hbToKCSAgKiBzeXMvcXR3cmFwcGVyL01ha2VmaWxlLmFtOgoJICAqIHN5cy92Y2QvTWFrZWZpbGUuYW06CgkgICogc3lzL3dpbmluZXQvTWFrZWZpbGUuYW06CgkgICogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBEb24ndCBpbnN0YWxsIHN0YXRpYyBsaWJzIGZvciBwbHVnaW5zLiBGaXhlcyAjNTUwODUxIGZvciAtYmFkLgoKMjAwOC0xMC0xNiAxMzowNTozNyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOiBGaXggcHJvYmxlbSB3aXRoIHVzaW5nIHRoZSBvdXRwdXQgc2VxbnVtIGNvdW50ZXIgdG8gY2hlY2sgZm9yIGlucHV0IHNlcW51bSBkaXNjby4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9qaXR0ZXJfYnVmZmVyX3NpbmtfcGFyc2VfY2FwcyksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfZmx1c2hfc3RhcnQpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2ZsdXNoX3N0b3ApLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NoYWluKSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9sb29wKToKCSAgRml4IHByb2JsZW0gd2l0aCB1c2luZyB0aGUgb3V0cHV0IHNlcW51bSBjb3VudGVyIHRvIGNoZWNrIGZvciBpbnB1dAoJICBzZXFudW0gZGlzY29udGludWl0aWVzLgoJICBJbXByb3ZlIGdhcCBkZXRlY3Rpb24gYW5kIHJlY292ZXJ5LCByZXNldCBhbmQgZmx1c2ggdGhlIGppdHRlcmJ1ZmZlciBvbgoJICBzZXFudW0gcmVzdGFydC4gRml4ZXMgIzU1NjUyMC4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzogKHJ0cF9qaXR0ZXJfYnVmZmVyX2luc2VydCk6CgkgIEZpeCB3cm9uZyBHX0xJS0VMWS4KCjIwMDgtMTAtMTYgMDk6NTE6MjggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IEluc3RhbGwgZXZlbnQgaGFuZGxlciBvbiB0aGUgcnRjcF9zcmMgcGFkLCBtYWtlIExBVEVOQ1kgZXZlbnQgcmV0dXJuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgKGdzdF9ydHBfc2Vzc2lvbl9ldmVudF9zZW5kX3J0Y3Bfc3JjKSwgKGNyZWF0ZV9zZW5kX3J0Y3Bfc3JjKToKCSAgSW5zdGFsbCBldmVudCBoYW5kbGVyIG9uIHRoZSBydGNwX3NyYyBwYWQsIG1ha2UgTEFURU5DWSBldmVudCByZXR1cm4KCSAgVFJVRS4KCjIwMDgtMTAtMDcgMTg6NTQ6NDEgKzAwMDAgIEjDpXZhcmQgR3JhZmYgPGhhdmFyZC5ncmFmZkB0YW5kYmVyZy5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4tbWFyc2hhbC5saXN0OiBBZGQgbWFyc2hhbGxlciBmb3IgbmV3IGFjdGlvbiBzaWduYWwuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogSMOldmFyZCBHcmFmZiA8aGF2YXJkIGRvdCBncmFmZiBhdCB0YW5kYmVyZyBkb3QgY29tPgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi1tYXJzaGFsLmxpc3Q6CgkgIEFkZCBtYXJzaGFsbGVyIGZvciBuZXcgYWN0aW9uIHNpZ25hbC4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGdzdF9ydHBfYmluX2dldF9pbnRlcm5hbF9zZXNzaW9uKSwKCSAgKGdzdF9ydHBfYmluX2NsYXNzX2luaXQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJICBBZGQgYWN0aW9uIHNpZ25hbCB0byByZXRyaWV2ZSB0aGUgaW50ZXJuYWwgUlRQU2Vzc2lvbiBvYmplY3QuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAoZ3N0X3J0cF9zZXNzaW9uX2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2dldF9wcm9wZXJ0eSksIChnc3RfcnRwX3Nlc3Npb25fcmVsZWFzZV9wYWQpOgoJICBBZGQgcHJvcGVydHkgdG8gYWNjZXNzIHRoZSBpbnRlcm5hbCBSVFBTZXNzaW9uIG9iamVjdC4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChydHBfc2Vzc2lvbl9jbGFzc19pbml0KSwKCSAgKGNoZWNrX2NvbGxpc2lvbik6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBBZGQgYWN0aW9uIHNpZ25hbCB0byByZXRyaWV2ZSBhbiBSVFBTb3VyY2Ugb2JqZWN0IGJ5IFNTUkMuCgkgIFNlZSAjNTU1Mzk2LgoKMjAwOC0xMC0wNyAxMTozMzoxMCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiBSZWxlYXNlIHBhZHMgb2YgdGhlIHNlc3Npb24gbWFuYWdlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChmaW5kX3Nlc3Npb25fYnlfcGFkKSwKCSAgKGZyZWVfc2Vzc2lvbiksIChnc3RfcnRwX2Jpbl9kaXNwb3NlKSwgKHJlbW92ZV9yZWN2X3J0cCksCgkgIChyZW1vdmVfcmVjdl9ydGNwKSwgKHJlbW92ZV9zZW5kX3J0cCksIChyZW1vdmVfcnRjcCksCgkgIChnc3RfcnRwX2Jpbl9yZWxlYXNlX3BhZCk6CgkgIFJlbGVhc2UgcGFkcyBvZiB0aGUgc2Vzc2lvbiBtYW5hZ2VyLgoJICBTdGFydCBpbXBsZW1lbnRpbmcgcmVsZWFzaW5nIHBhZHMgb2YgZ3N0cnRwYmluLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKHJlbW92ZV9yZWN2X3J0cF9zaW5rKSwKCSAgKHJlbW92ZV9yZWN2X3J0Y3Bfc2luayksIChyZW1vdmVfc2VuZF9ydHBfc2luayksCgkgIChyZW1vdmVfc2VuZF9ydGNwX3NyYyksIChnc3RfcnRwX3Nlc3Npb25fcmVsZWFzZV9wYWQpOgoJICBJbXBsZW1lbnQgcmVsZWFzaW5nIHBhZHMgaW4gZ3N0cnRwc2Vzc2lvbi4KCjIwMDgtMTAtMDcgMTA6MDI6MjAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzogT25seSB1cGRhdGUgdGhlIHNlcW51bS1iYXNlIHdoZW4gaXQgd2FzIG5vdCBhbHJlYWR5IGNvbmZpZ3VyZWQgZm9yIHRoZSBzdHJlYW1zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9qaXR0ZXJfYnVmZmVyX3NpbmtfcGFyc2VfY2Fwcyk6CgkgIE9ubHkgdXBkYXRlIHRoZSBzZXFudW0tYmFzZSB3aGVuIGl0IHdhcyBub3QgYWxyZWFkeSBjb25maWd1cmVkIGZvciB0aGUKCSAgc3RyZWFtcy4KCjIwMDgtMDktMzAgMTU6MDg6NTIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IFJlZiB0aGUgcnRwc291cmNlIG9iamVjdCBiZWZvcmUgd2UgcmVsZWFzZSB0aGUgc2Vzc2lvbiBsb2NrIHdoZW4gd2UgZW1pdCB0aGUgc2lnbmFscy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAob25fbmV3X3NzcmMpLCAob25fc3NyY19jb2xsaXNpb24pLAoJICAob25fc3NyY192YWxpZGF0ZWQpLCAob25fc3NyY19hY3RpdmUpLCAob25fc3NyY19zZGVzKSwKCSAgKG9uX2J5ZV9zc3JjKSwgKG9uX2J5ZV90aW1lb3V0KSwgKG9uX3RpbWVvdXQpLCAob25fc2VuZGVyX3RpbWVvdXQpOgoJICBSZWYgdGhlIHJ0cHNvdXJjZSBvYmplY3QgYmVmb3JlIHdlIHJlbGVhc2UgdGhlIHNlc3Npb24gbG9jayB3aGVuIHdlIGVtaXQKCSAgdGhlIHNpZ25hbHMuCgoyMDA4LTA5LTIzIDE4OjEzOjMxICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvOiBGaXggc29tZSBkb2NzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzogKHJ0cF9qaXR0ZXJfYnVmZmVyX2luc2VydCksCgkgIChydHBfaml0dGVyX2J1ZmZlcl9nZXRfc3luYyk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAob25fc2VuZGVyX3RpbWVvdXQpLAoJICAoc2Vzc2lvbl9jbGVhbnVwKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSAgRml4IHNvbWUgZG9jcy4KCjIwMDgtMDktMTcgMTM6NTk6MjEgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgRml4IGNvbXBpbGVyIHdhcm5pbmdzIG9uIE9TL1gKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOiAoamFja19wcm9jZXNzX2NiKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzogKGNhbGN1bGF0ZV9za2V3KToKCSAgRml4IGNvbXBpbGVyIHdhcm5pbmdzIG9uIE9TL1gKCjIwMDgtMDktMTMgMDE6Mzc6NTAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogRG8gbm90IHRyeSB0byBhZGp1c3QgdGhlIG9mZnNldCBvZiBzdHJlYW1zIGZvciB3aGljaCB3ZSBoYXZlIG5vdCB5ZXQgc2VlbiBhbiBTUiBwYWNrZXQuIEEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChjcmVhdGVfc2Vzc2lvbiksCgkgIChnc3RfcnRwX2Jpbl9hc3NvY2lhdGUpLCAoZ3N0X3J0cF9iaW5fc3luY19jaGFpbik6CgkgIERvIG5vdCB0cnkgdG8gYWRqdXN0IHRoZSBvZmZzZXQgb2Ygc3RyZWFtcyBmb3Igd2hpY2ggd2UgaGF2ZSBub3QgeWV0CgkgIHNlZW4gYW4gU1IgcGFja2V0LiBBdm9pZHMgbGFyZ2UgdHMtb2Zmc2V0cyBpbiBzb21lIGNhc2VzLgoKMjAwOC0wOS0wNSAxMzo1MjozNCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi4qOiBBZGQgc2lnbmFsIHRvIG5vdGlmeSBsaXN0ZW5lcnMgd2hlbiBhIHNlbmRlciBiZWNvbWVzIGEgcmVjZWl2ZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAob25fc2VuZGVyX3RpbWVvdXQpLAoJICAoY3JlYXRlX3Nlc3Npb24pLCAoZ3N0X3J0cF9iaW5fYXNzb2NpYXRlKSwKCSAgKGdzdF9ydHBfYmluX3N5bmNfY2hhaW4pLCAoZ3N0X3J0cF9iaW5fY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwX2Jpbl9yZXF1ZXN0X25ld19wYWQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJICBBZGQgc2lnbmFsIHRvIG5vdGlmeSBsaXN0ZW5lcnMgd2hlbiBhIHNlbmRlciBiZWNvbWVzIGEgcmVjZWl2ZXIuCgkgIFR3ZWFrIGxpcC1zeW5jIGNvZGUsIGRvbid0IHN0b3JlIG91ciBvd24gY29weSBvZiB0aGUgdHMtb2Zmc2V0IG9mIHRoZQoJICBqaXR0ZXJidWZmZXIsIGRvbid0IGFkanVzdCBzeW5jIGlmIHRoZSBjaGFuZ2UgaXMgbGVzcyB0aGFuIDRtc2VjLgoJICBHZXQgdGhlIFJUUCB0aW1lc3RhbXAgPC0+IEdTdHJlYW1lciB0aW1lc3RhbXAgcmVsYXRpb24gZGlyZWN0bHkgZnJvbQoJICB0aGUgaml0dGVyYnVmZmVyIGluc3RlYWQgb2Ygb3VyIGluYWNjdXJhdGUgdmVyc2lvbiBmcm9tIHRoZSBzb3VyY2UuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2hhaW4pLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2xvb3ApLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2dldF9zeW5jKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuaDoKCSAgQWRkIEdfTElLRUxZIG1hY3JvcywgdXNlIGdsb2JhbCBkZWZpbmVzIGZvciBtYXggcGFja2V0IHJlb3JkZXIgYW5kCgkgIGRyb3BvdXRzLgoJICBSZXNldCB0aGUgaml0dGVyYnVmZmVyIGNsb2NrIHNrZXcgZGV0ZWN0aW9uIHdoZW4gcGFja2V0cyBzZXFudW1zIGFyZQoJICBjaGFuZ2VkIHVuZXhwZWN0ZWRseS4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChvbl9zZW5kZXJfdGltZW91dCksCgkgIChnc3RfcnRwX3Nlc3Npb25fY2xhc3NfaW5pdCksIChnc3RfcnRwX3Nlc3Npb25faW5pdCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5oOgoJICBBZGQgc2VuZGVyIHRpbWVvdXQgc2lnbmFsLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOiAocnRwX2ppdHRlcl9idWZmZXJfcmVzZXRfc2tldyksCgkgIChjYWxjdWxhdGVfc2tldyksIChydHBfaml0dGVyX2J1ZmZlcl9pbnNlcnQpLAoJICAocnRwX2ppdHRlcl9idWZmZXJfZ2V0X3N5bmMpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5oOgoJICBBZGQgc29tZSBHX0xJS0VMWSBtYWNyb3MuCgkgIEtlZXAgdHJhY2sgb2YgdGhlIGV4dGVuZGVkIFJUUCB0aW1lc3RhbXAgc28gdGhhdCB3ZSBjYW4gcmVwb3J0IHRoZSBSVFAKCSAgdGltZXN0YW1wIDwtPiBHU3RyZWFtZXIgdGltZXN0YW1wIHJlbGF0aW9uIGZvciBsaXAtc3luYy4KCSAgUmVtb3ZlIHNlcnZlciB0aW1lc3RhbXAgZ2FwIGRldGVjdGlvbiBjb2RlLCB0aGUgc2VydmVyIGNhbiBzb21ldGltZXMKCSAgbWFrZSBhIGh1Z2UgZ2FwIGluIHRpbWVzdGFtcHMgKHRhbGsgc3B1cnRzLC4uLikgc2VlICM1NDk3NzQuCgkgIERldGVjdCB0aW1ldGFtcCB3ZWlyZG5lc3MgaW5zdGVhZCBieSBvYnNlcnZpbmcgdGhlIHNlbmRlci9yZWNlaXZlcgoJICB0aW1lc3RhbXAgcmVsYXRpb24gYW5kIHJlc3luYyBpZiBpdCBjaGFuZ2VzIG1vcmUgdGhhbiAxIHNlY29uZC4KCSAgQWRkIG1ldGhvZCB0byByZXBvcnQgYWJvdXQgdGhlIGN1cnJlbnQgcnRwIDwtPiBnc3QgdGltZXN0YW1wIHJlbGF0aW9uCgkgIHdoaWNoIGlzIG5lZWRlZCBmb3IgbGlwLXN5bmMuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAocnRwX3Nlc3Npb25fY2xhc3NfaW5pdCksCgkgIChvbl9zZW5kZXJfdGltZW91dCksIChjaGVja19jb2xsaXNpb24pLCAocnRwX3Nlc3Npb25fcHJvY2Vzc19zciksCgkgIChzZXNzaW9uX2NsZWFudXApOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgQWRkIHNlbmRlciB0aW1lb3V0IHNpZ25hbC4KCSAgUmVtb3ZlIGluYWNjdXJhdGUgcnRwIDwtPiBnc3QgdGltZXN0YW1wIHJlbGF0aW9uIGNvZGUsIHRoZQoJICBqaXR0ZXJidWZmZXIgY2FuIG5vdyBkbyBhbiBhY2N1cmF0ZSByZXBvcnRpbmcgYWJvdXQgdGhpcy4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzogKHJ0cF9zb3VyY2VfaW5pdCksCgkgIChydHBfc291cmNlX3VwZGF0ZV9jYXBzKSwgKGNhbGN1bGF0ZV9qaXR0ZXIpLAoJICAocnRwX3NvdXJjZV9wcm9jZXNzX3J0cCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmg6CgkgIFJlbW92ZSBpbmFjY3VyYXRlIHJ0cCA8LT4gZ3N0IHRpbWVzdGFtcCByZWxhdGlvbiBjb2RlLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmg6CgkgIERlZmluZSBnbG9iYWwgbWF4LXJlb3JkZXIgYW5kIG1heC1kcm9wb3V0IGNvbnN0YW50cyBmb3IgdXNlIGluIHZhcmlvdXMKCSAgc3Vic3lzdGVtcy4KCjIwMDgtMDgtMjggMTU6MjE6NDUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IFNlbmQgRU9TIHdoZW4gdGhlIHNlc3Npb24gb2JqZWN0IGluc3RydWN0cyB1cyB0by4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAoZ3N0X3J0cF9zZXNzaW9uX3NlbmRfcnRjcCksCgkgIChnc3RfcnRwX3Nlc3Npb25fZXZlbnRfc2VuZF9ydHBfc2luayk6CgkgIFNlbmQgRU9TIHdoZW4gdGhlIHNlc3Npb24gb2JqZWN0IGluc3RydWN0cyB1cyB0by4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChydHBfc2Vzc2lvbl9vbl90aW1lb3V0KToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIE1ha2UgaXQgcG9zc2libGUgZm9yIHRoZSBzZXNzaW9uIG1hbmFnZXIgdG8gaW5zdHJ1Y3QgdXMgdG8gc2VuZCBFT1MuIFdlCgkgIGN1cnJlbnRseSB3aWxsIEVPUyB3aGVuIHRoZSBzZXNzaW9uIGlzIGEgc2VuZGVyIGFuZCB3aGVuIHRoZSBzZW5kZXIgcGFydAoJICBnb2VzIEVPUy4gVGhpcyBpcyBub3QgZW50aXJlbHkgY29ycmVjdCBiZWhhdmlvdXIgYmVjYXVzZSB0aGUgc2Vzc2lvbgoJICBjb3VsZCBzdGlsbCBwYXJ0aWNpcGF0ZSBhcyBhIHJlY2VpdmVyLgoJICBGaXhlcyAjNTQ5NDA5LgoKMjAwOC0wOC0xMyAxNDozMTowMiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiBSZXNldCBydHAgdGltZXN0YW1wIGludGVycG9sbGF0aW9uIHdoZW4gd2UgZGV0ZWN0IGEgZ2FwIHdoZW4gdGhlIGNsb2NrX2Jhc2UgY2hhbmdlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChnc3RfcnRwX2Jpbl9hc3NvY2lhdGUpLAoJICAoZ3N0X3J0cF9iaW5fc3luY19jaGFpbiksIChuZXdfc3NyY19wYWRfZm91bmQpOgoJICBSZXNldCBydHAgdGltZXN0YW1wIGludGVycG9sbGF0aW9uIHdoZW4gd2UgZGV0ZWN0IGEgZ2FwIHdoZW4gdGhlCgkgIGNsb2NrX2Jhc2UgY2hhbmdlZC4KCSAgRG9uJ3QgdHJ5IHRvIGFkanVzdCB0aGUgdHMtb2Zmc2V0IHdoZW4gaXQncyB0b28gYmlnICg+IDNzZWNvbmRzKQoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKGdzdF9ydHBfc2Vzc2lvbl9zZXRfc3NyYyk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5oOgoJICBBZGQgbWV0aG9kIHRvIHNldCBzZXNzaW9uIFNTUkMuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAoY2hlY2tfY29sbGlzaW9uKSwKCSAgKHJ0cF9zZXNzaW9uX3NldF9pbnRlcm5hbF9zc3JjKSwgKHJ0cF9zZXNzaW9uX2dldF9pbnRlcm5hbF9zc3JjKSwKCSAgKHJ0cF9zZXNzaW9uX29uX3RpbWVvdXQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgQWRkZWQgZGVidWdnaW5nIGZvciB0aGUgY29sbGlzaW9uIGNoZWNrcy4KCSAgQWRkIG1ldGhvZCB0byBjaGFuZ2UgdGhlIGludGVybmFsIFNTUkMgb2YgdGhlIHNlc3Npb24uCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6IChydHBfc291cmNlX3Byb2Nlc3NfcnRwKToKCSAgUmVzZXQgdGhlIGNsb2NrIGJhc2Ugd2hlbiB3ZSBkZXRlY3QgbGFyZ2UganVtcHMgaW4gdGhlIHNlcW51bXMuCgoyMDA4LTA4LTExIDA3OjIwOjE1ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogUHJpbnQgdGhlIHBhZC1uYW1lIGluIGRlYnVnIGxvZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIFByaW50IHRoZSBwYWQtbmFtZSBpbiBkZWJ1ZyBsb2cuCgkgICogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvc3JjLmM6CgkgICogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvc3JjLmM6CgkgIFVzZSAiLSIgaW5zdGVhZCBvZiAiXyIgaW4gcHJvcGVydHkgbmFtZXMuIENhbiB3ZSBjYWxsIHRoZW0ganVzdAoJICAiZGV2aWNlIiBsaWtlIGV2ZXJ5d2hlcmUgZWxzZT8KCjIwMDgtMDgtMDUgMDk6NDI6NTMgKzAwMDAgIE9saXZpZXIgQ3JldGUgPHRlc3RlckB0ZXN0ZXIuY2E+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzogTWFrZSB0aGUgYnVmZmVyIG1ldGFkYXRhIHdyaXRhYmxlIGJlZm9yZSBpbnNlcnRpbmcgaXQgaW4gdGhlIGppdHRlcmJ1ZmZlciBiZWNhdXMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEJhc2VkIG9uIHBhdGNoIGJ5OiBPbGl2aWVyIENyZXRlIDx0ZXN0ZXIgYXQgdGVzdGVyIGRvdCBjYT4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jaGFpbiksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfbG9vcCk6CgkgIE1ha2UgdGhlIGJ1ZmZlciBtZXRhZGF0YSB3cml0YWJsZSBiZWZvcmUgaW5zZXJ0aW5nIGl0IGluIHRoZQoJICBqaXR0ZXJidWZmZXIgYmVjYXVzZSB0aGUgaml0dGVyYnVmZmVyIHdpbGwgbW9kaWZ5IHRoZSB0aW1lc3RhbXBzLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBVcGRhdGUgbWV0aG9kIGNvbW1lbnQgYWJvdXQgcmVxdWlyaW5nIHdyaXRhYmxlIG1ldGFkYXRhIG9uIGJ1ZmZlcnMuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAocnRwX3Nlc3Npb25fcHJvY2Vzc19zciksCgkgIChydHBfc2Vzc2lvbl9wcm9jZXNzX3J0Y3ApOgoJICBNYWtlIHRoZSBSVENQIGJ1ZmZlciBtZXRhZGF0YSB3cml0YWJsZSBiZWNhdXNlIHdlIHdhbnQgdG8gbW9kaWZ5IHRoZQoJICBtZXRhZGF0YS4KCSAgRml4ZXMgIzU0NjMxMi4KCjIwMDgtMDgtMDUgMDk6MDA6NTAgKzAwMDAgIEjDpXZhcmQgR3JhZmYgPGhhdmFyZC5ncmFmZkB0YW5kYmVyZy5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzogRml4IGRlYnVnIGJ5IGxvZ2dpbmcgdGhlIHJpZ2h0IHNlcW51bS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBIw6V2YXJkIEdyYWZmIDxoYXZhcmQgZG90IGdyYWZmIGF0IHRhbmRiZXJnIGRvdCBjb20+CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2hhaW4pOgoJICBGaXggZGVidWcgYnkgbG9nZ2luZyB0aGUgcmlnaHQgc2VxbnVtLgoKMjAwOC0wOC0wNSAwODo1ODoyNyArMDAwMCAgT2xpdmllciBDcmV0ZSA8dGVzdGVyQHRlc3Rlci5jYT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiBSZWxlYXNlIGxvY2sgYmVmb3JlIGVtaXR0aW5nIHRoZSByZXF1ZXN0LXB0LW1hcCBzaWduYWwuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogT2xpdmllciBDcmV0ZSA8dGVzdGVyIGF0IHRlc3RlciBkb3QgY2E+CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChnZXRfcHRfbWFwKToKCSAgUmVsZWFzZSBsb2NrIGJlZm9yZSBlbWl0dGluZyB0aGUgcmVxdWVzdC1wdC1tYXAgc2lnbmFsLgoJICBGaXhlcyAjNTQzNDgwLgoKMjAwOC0wNy0wMyAxNDo0NDo1MSArMDAwMCAgUGV0ZXIgS2plbGxlcnN0ZWR0IDxwa2pAYXhpcy5jb20+CgoJICBnc3QvcnRwbWFuYWdlci86IENvcnJlY3RlZCBhIHR5cG8gKGludGVycG9sbGF0ZSAtPiBpbnRlcnBvbGF0ZSkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIENoYW5nZUxvZzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzogKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9sb29wKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzogKHJ0cF9zb3VyY2VfZ2V0X25ld19zcik6CgkgIENvcnJlY3RlZCBhIHR5cG8gKGludGVycG9sbGF0ZSAtPiBpbnRlcnBvbGF0ZSkuCgoyMDA4LTA3LTAzIDE0OjMxOjEwICswMDAwICBQZXRlciBLamVsbGVyc3RlZHQgPHBrakBheGlzLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyLzogQ2hhbmdlZCBzb21lIEdTVF9ERUJVRygpIHRvIEdTVF9MT0coKSB0byByZWR1Y2UgdGhlIHNwYW0gd2hlbiBhIHBpcGVsaW5lIGlzIHJ1bm5pbmcgbm9ybWFsbHkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKGdzdF9ydHBfc2Vzc2lvbl9wcm9jZXNzX3J0cCksCgkgIChnc3RfcnRwX3Nlc3Npb25fc2VuZF9ydHApLCAoZ3N0X3J0cF9zZXNzaW9uX3NlbmRfcnRjcCksCgkgIChnc3RfcnRwX3Nlc3Npb25fc3luY19ydGNwKSwgKGdzdF9ydHBfc2Vzc2lvbl9jaGFpbl9yZWN2X3J0cCksCgkgIChnc3RfcnRwX3Nlc3Npb25fY2hhaW5fcmVjdl9ydGNwKSwgKGdzdF9ydHBfc2Vzc2lvbl9jaGFpbl9zZW5kX3J0cCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAoc291cmNlX3B1c2hfcnRwKSwKCSAgKHJ0cF9zZXNzaW9uX3NlbmRfcnRwKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzogKHB1c2hfcGFja2V0KSwgKGNhbGN1bGF0ZV9qaXR0ZXIpLAoJICAocnRwX3NvdXJjZV9wcm9jZXNzX3J0cCksIChydHBfc291cmNlX3NlbmRfcnRwKToKCSAgQ2hhbmdlZCBzb21lIEdTVF9ERUJVRygpIHRvIEdTVF9MT0coKSB0byByZWR1Y2UgdGhlIHNwYW0gd2hlbiBhCgkgIHBpcGVsaW5lIGlzIHJ1bm5pbmcgbm9ybWFsbHkuCgoyMDA4LTA3LTAzIDEzOjQ3OjE5ICswMDAwICBQZXRlciBLamVsbGVyc3RlZHQgPHBrakBheGlzLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyLzogRG8gbm90IG1peCB0aGUgdXNlIG9mIGdfZ2V0X2N1cnJlbnRfdGltZSgpIHdpdGggZ3N0X2Nsb2NrX2dldF90aW1lKCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKGdzdF9ydHBfc2Vzc2lvbl9pbml0KSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9maW5hbGl6ZSksIChydGNwX3RocmVhZCksCgkgIChnc3RfcnRwX3Nlc3Npb25fY2hhaW5fcmVjdl9ydHApLCAoZ3N0X3J0cF9zZXNzaW9uX2NoYWluX3JlY3ZfcnRjcCksCgkgIChnc3RfcnRwX3Nlc3Npb25fZXZlbnRfc2VuZF9ydHBfc2luayksCgkgIChnc3RfcnRwX3Nlc3Npb25fY2hhaW5fc2VuZF9ydHApOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKGNoZWNrX2NvbGxpc2lvbiksCgkgICh1cGRhdGVfYXJyaXZhbF9zdGF0cyksIChydHBfc2Vzc2lvbl9wcm9jZXNzX3J0cCksCgkgIChydHBfc2Vzc2lvbl9wcm9jZXNzX3J0Y3ApLCAocnRwX3Nlc3Npb25fc2VuZF9ydHApLAoJICAocnRwX3Nlc3Npb25fc2VuZF9ieWVfbG9ja2VkKSwgKHJ0cF9zZXNzaW9uX3NlbmRfYnllKSwKCSAgKHJ0cF9zZXNzaW9uX25leHRfdGltZW91dCksIChzZXNzaW9uX3JlcG9ydF9ibG9ja3MpLCAoc2Vzc2lvbl9jbGVhbnVwKSwKCSAgKGlzX3J0Y3BfdGltZSksIChydHBfc2Vzc2lvbl9vbl90aW1lb3V0KToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIERvIG5vdCBtaXggdGhlIHVzZSBvZiBnX2dldF9jdXJyZW50X3RpbWUoKSB3aXRoIGdzdF9jbG9ja19nZXRfdGltZSgpLgoKMjAwOC0wNi0xNiAwNzozMDozNCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgRmluYWwgcm91bmQgb2YgZG9jIHVwZGF0ZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAqIGdzdC9zcGVlZC9nc3RzcGVlZC5jOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL2dzdHNwZWV4cmVzYW1wbGUuYzoKCSAgKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9hbmFseXNlLmM6CgkgICogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvZGV0ZWN0LmM6CgkgICogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvbWFyay5jOgoJICAqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgICogc3lzL29zczQvb3NzNC1taXhlci5jOgoJICAqIHN5cy9vc3M0L29zczQtc2luay5jOgoJICAqIHN5cy9vc3M0L29zczQtc291cmNlLmM6CgkgICogc3lzL3dpbmluZXQvZ3N0d2luaW5ldHNyYy5jOgoJICBGaW5hbCByb3VuZCBvZiBkb2MgdXBkYXRlcy4KCjIwMDgtMDYtMTYgMDc6MDM6NTggKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC86IE1vcmUgZG9jIHVwZGF0ZXMuIE1vcmUgeHJlZnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGNsaWVudC5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkgICogZ3N0L3NkcC9nc3RzZHBkZW11eC5jOgoJICBNb3JlIGRvYyB1cGRhdGVzLiBNb3JlIHhyZWZzLgoKMjAwOC0wNi0xMiAxNDo0OToxOCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgRG8gbm90IHVzZSBzaG9ydF9kZXNjcmlwdGlvbiBpbiBzZWN0aW9uIGRvY3MgZm9yIGVsZW1lbnRzLiBXZSBleHRyYWN0IHRoZW0gZnJvbSBlbGVtZW50IGRldGFpbHMgYW5kIHRoZXJlIHdpbGwgYmUgd2FyLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9kYzEzOTQvZ3N0ZGMxMzk0LmM6CgkgICogZXh0L2l2b3JiaXMvdm9yYmlzZGVjLmM6CgkgICogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOgoJICAqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YWRlbXV4LmM6CgkgICogZXh0L215dGh0di9nc3RteXRodHZzcmMuYzoKCSAgKiBleHQvdGhlb3JhL3RoZW9yYWRlYy5jOgoJICAqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc2luay5jOgoJICAqIGdzdC9iYXllci9nc3RiYXllcjJyZ2IuYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgKiBnc3QvcmF3cGFyc2UvZ3N0YXVkaW9wYXJzZS5jOgoJICAqIGdzdC9yYXdwYXJzZS9nc3R2aWRlb3BhcnNlLmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwY2xpZW50LmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSAgKiBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5jOgoJICAqIGdzdC9zZWxlY3Rvci9nc3RvdXRwdXRzZWxlY3Rvci5jOgoJICAqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb2FuYWx5c2UuYzoKCSAgKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9kZXRlY3QuYzoKCSAgKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9tYXJrLmM6CgkgICogc3lzL29zczQvb3NzNC1taXhlci5jOgoJICAqIHN5cy9vc3M0L29zczQtc2luay5jOgoJICAqIHN5cy9vc3M0L29zczQtc291cmNlLmM6CgkgIERvIG5vdCB1c2Ugc2hvcnRfZGVzY3JpcHRpb24gaW4gc2VjdGlvbiBkb2NzIGZvciBlbGVtZW50cy4gV2UgZXh0cmFjdAoJICB0aGVtIGZyb20gZWxlbWVudCBkZXRhaWxzIGFuZCB0aGVyZSB3aWxsIGJlIHdhcm5pbmdzIGlmIHRoZXkgZGlmZmVyLgoJICBBbHNvIGZpeGluZyB1cCB0aGUgQ2hhbmdlTG9nIG9yZGVyLgoKMjAwOC0wNi0wNiAxMzowMTowNSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiBGaXggZGVhZGxvY2sgd2hlbiBzaHV0dGluZyBkb3duLCB1c2UgYSBuZXcgbG9jayBpbnN0ZWFkIHRvIHByb3Blcmx5IHNodXRkb3duLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGdzdF9ydHBfYmluX2luaXQpLAoJICAoZ3N0X3J0cF9iaW5fZmluYWxpemUpLCAoZ3N0X3J0cF9iaW5fY2hhbmdlX3N0YXRlKToKCSAgRml4IGRlYWRsb2NrIHdoZW4gc2h1dHRpbmcgZG93biwgdXNlIGEgbmV3IGxvY2sgaW5zdGVhZCB0byBwcm9wZXJseQoJICBzaHV0ZG93bi4KCjIwMDgtMDUtMjcgMTY6NDg6MTAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogQnJlYWsgb3V0IG9mIGNhbGxiYWNrcyB3aGVuIHdlIGFyZSBzaHV0dGluZyBkb3duLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgKGdzdF9ydHBfYmluX3Byb3BhZ2F0ZV9wcm9wZXJ0eV90b19qaXR0ZXJidWZmZXIpLAoJICAoZ3N0X3J0cF9iaW5fY2hhbmdlX3N0YXRlKSwgKG5ld19wYXlsb2FkX2ZvdW5kKSwKCSAgKG5ld19zc3JjX3BhZF9mb3VuZCk6CgkgIEJyZWFrIG91dCBvZiBjYWxsYmFja3Mgd2hlbiB3ZSBhcmUgc2h1dHRpbmcgZG93bi4KCSAgTWFrZSBzdXJlIG5vIHN0YXRlIGNoYW5nZXMgY2FuIGhhcHBlbiB3aGVuIHdlIHJlY29uZmlndXJlLgoKMjAwOC0wNS0yNiAxMDowOToyOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOiBXaGVuIGNoZWNraW5nIHRoZSBzZXFudW0sIHJlc2V0IHRoZSBqaXR0ZXJidWZmZXIgaWYgdGhlIGdhcCBpcyB0b28gYmlnLCB3ZSBuZWVkIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jaGFpbiksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfbG9vcCk6CgkgIFdoZW4gY2hlY2tpbmcgdGhlIHNlcW51bSwgcmVzZXQgdGhlIGppdHRlcmJ1ZmZlciBpZiB0aGUgZ2FwIGlzIHRvbyBiaWcsCgkgIHdlIG5lZWQgdG8gZG8gdGhpcyBzbyB0aGF0IHdlIGNhbiBiZXR0ZXIgaGFuZGxlIGEgcmVzdGFydGVkIHNvdXJjZS4KCSAgRml4IHNvbWUgY29tbWVudHMuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6IChjYWxjdWxhdGVfc2tldyksCgkgIChydHBfaml0dGVyX2J1ZmZlcl9pbnNlcnQpOgoJICBUd2VhayB0aGUgc2tldyByZXN5bmMgZGlmZi4KCSAgVXNlIG91ciB3b3JraW5nIHNlcW51bSBjb21wYXJlIGZ1bmN0aW9uIGluIC1iYXNlLgoJICBSZXdvcmsgdGhlIGppdHRlcmJ1ZmZlciBpbnNlcnQgY29kZSB0byBtYWtlIGl0IGNsZWFyZXIgYW5kIG1vcmUKCSAgcGVyZm9ybWFudCBieSBvbmx5IHJldHJpZXZpbmcgdGhlIHNlcW51bSBvZiB0aGUgaW5wdXQgYnVmZmVyIG9uY2UgYW5kIGJ5CgkgIGFkZGluZyBzb21lIEdfTElLRUxZIGNvbXBpbGVyIGhpbnRzLgoJICBJbXByb3ZlIGRlYnVnZ2luZyBmb3IgZHVwbGljYXRlIHBhY2tldHMuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6IChydHBfc291cmNlX3Byb2Nlc3NfcnRwKToKCSAgRml4IGEgY29tbWVudCwgd2UgZG9uJ3QgZG8gc2tldyBjb3JyZWN0aW9uIGhlcmUuLgoKMjAwOC0wNS0yNiAxMDowMDoyNCArMDAwMCAgSMOldmFyZCBHcmFmZiA8aGF2YXJkLmdyYWZmQHRhbmRiZXJnLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiBQcm9wYWdhdGUgdGhlIGRvLWxvc3QgYW5kIGxhdGVuY3kgcHJvcGVydGllcyB0byB0aGUgaml0dGVyYnVmZmVycyB3aGVuIHRoZXkgYXJlIGNoYW5nZWQgby4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEjDpXZhcmQgR3JhZmYgPGhhdmFyZCBkb3QgZ3JhZmYgYXQgdGFuZGJlcmcgZG90IGNvbT4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgKGdzdF9ydHBfYmluX3Byb3BhZ2F0ZV9wcm9wZXJ0eV90b19qaXR0ZXJidWZmZXIpLAoJICAoZ3N0X3J0cF9iaW5fc2V0X3Byb3BlcnR5KToKCSAgUHJvcGFnYXRlIHRoZSBkby1sb3N0IGFuZCBsYXRlbmN5IHByb3BlcnRpZXMgdG8gdGhlIGppdHRlcmJ1ZmZlcnMgd2hlbgoJICB0aGV5IGFyZSBjaGFuZ2VkIG9uIHJ0cGJpbi4KCjIwMDgtMDUtMjYgMDk6NTc6NDAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBEb24ndCB1c2UgX2dzdF9wYWQoKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXhhbXBsZXMvc3dpdGNoL3N3aXRjaGVyLmM6IChzd2l0Y2hfdGltZXIpOgoJICAqIGdzdC9yZXBsYXlnYWluL2dzdHJndm9sdW1lLmM6IChnc3Rfcmdfdm9sdW1lX2luaXQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGNsaWVudC5jOiAoY3JlYXRlX3N0cmVhbSk6CgkgICogZ3N0L3NkcC9nc3RzZHBkZW11eC5jOiAoZ3N0X3NkcF9kZW11eF9zdHJlYW1fY29uZmlndXJlX3VkcCksCgkgIChnc3Rfc2RwX2RlbXV4X3N0cmVhbV9jb25maWd1cmVfdWRwX3NpbmspOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2RlaW50ZXJsZWF2ZS5jOiAoR1NUX1NUQVJUX1RFU1QpLAoJICAocGFkX2FkZGVkX3NldHVwX2RhdGFfY2hlY2tfZmxvYXQzMl84Y2hfY2IpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnYW5hbHlzaXMuYzogKHNlbmRfZW9zX2V2ZW50KSwKCSAgKHNlbmRfdGFnX2V2ZW50KToKCSAgRG9uJ3QgdXNlIF9nc3RfcGFkKCkuCgoyMDA4LTA1LTE2IDE5OjU2OjMwICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGRvY3MvTWFrZWZpbGUuYW06IERvbid0IGF0dGVtcHQgdG8gYnVpbGQgcGx1Z2luIGRvY3Mgd2hlbiB0aGV5J3JlIGRpc2FibGVkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL01ha2VmaWxlLmFtOgoJICBEb24ndCBhdHRlbXB0IHRvIGJ1aWxkIHBsdWdpbiBkb2NzIHdoZW4gdGhleSdyZSBkaXNhYmxlZC4KCSAgKiBnc3QvYmF5ZXIvTWFrZWZpbGUuYW06CgkgIEFkZCBsaWJnc3R2aWRlbyB0byB0aGUgbGluay4KCSAgKiBnc3QvcnRwbWFuYWdlci9NYWtlZmlsZS5hbToKCSAgRml4IGxpbmsgb3JkZXIsIGFuZCBtb3ZlIExJQlMgdGhpbmdzIHRvIF9MSUJTCgoyMDA4LTA1LTE0IDIxOjAyOjE5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6IFNpbXBseSBkcm9wIGJhZCBSVFAgcGFja2V0cyB3aXRoIGEgd2FybmluZyBpbnN0ZWFkIG9mIGp1c3QgcG9zdGluZyBhbiBlcnJvciBhbmQgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NoYWluKToKCSAgU2ltcGx5IGRyb3AgYmFkIFJUUCBwYWNrZXRzIHdpdGggYSB3YXJuaW5nIGluc3RlYWQgb2YganVzdCBwb3N0aW5nIGFuCgkgIGVycm9yIGFuZCBzdG9wcGluZy4gVGhpcyBpcyBhIHBlcmZlY3RseSByZWNvdmVyYWJsZSBldmVudCBhbmQgd2UgZG9uJ3QKCSAgZm9yY2UgcGVvcGxlIHRvIHVzZSBhbiBydHBiaW4gdG8gZmlsdGVyIG91dCBiYWQgcGFja2V0cyBmaXJzdC4KCjIwMDgtMDUtMTMgMDk6MDY6NTEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogQWN0dWFsbHkgYWRkIHRoZSBkby1sb3N0IHByb3BlcnR5IHRvIHRoZSBvYmplY3QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoZ3N0X3J0cF9iaW5fY2xhc3NfaW5pdCk6CgkgIEFjdHVhbGx5IGFkZCB0aGUgZG8tbG9zdCBwcm9wZXJ0eSB0byB0aGUgb2JqZWN0LgoKMjAwOC0wNS0xMiAxODo0Mzo0MSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOiBBdm9pZCB3YWl0aW5nIGZvciBhIG5lZ2F0aXZlIChodWdlKSBkdXJhdGlvbiB3aGVuIHRoZSBsYXN0IHBhY2tldCBoYXMgYSBsb3dlciB0aS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9sb29wKToKCSAgQXZvaWQgd2FpdGluZyBmb3IgYSBuZWdhdGl2ZSAoaHVnZSkgZHVyYXRpb24gd2hlbiB0aGUgbGFzdCBwYWNrZXQgaGFzIGEKCSAgbG93ZXIgdGltZXN0YW1wIHRoYW4gdGhlIGN1cnJlbnQgcGFja2V0LgoKMjAwOC0wNS0xMiAxNDoyODowOSArMDAwMCAgUGV0ZXIgS2plbGxlcnN0ZWR0IDxwa2pAYXhpcy5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IE1ha2Ugc3VyZSB0byB1bnJlZiB0aGUgcnRwc2Vzc2lvbiByZXR1cm5lZCBieSBnc3RfcGFkX2dldF9wYXJlbnQoKSB0byBwcmV2ZW50IGEgbWVtb3IuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAoZ3N0X3J0cF9zZXNzaW9uX3F1ZXJ5X3NlbmRfcnRjcF9zcmMpOgoJICBNYWtlIHN1cmUgdG8gdW5yZWYgdGhlIHJ0cHNlc3Npb24gcmV0dXJuZWQgYnkgZ3N0X3BhZF9nZXRfcGFyZW50KCkgdG8KCSAgcHJldmVudCBhIG1lbW9yeSBsZWFrLgoKMjAwOC0wNS0xMiAxNDoxMjowOCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzogSW5pdGlhbGlzZSB3aXRoIEdTVF9DTE9DS19USU1FX05PTkUgdG8gYXZvaWQgY29tcGlsZXIgd2FybmluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfbG9vcCk6CgkgIEluaXRpYWxpc2Ugd2l0aCBHU1RfQ0xPQ0tfVElNRV9OT05FIHRvIGF2b2lkIGNvbXBpbGVyIHdhcm5pbmcuCgoyMDA4LTA1LTA5IDA3OjQxOjU4ICswMDAwICBQZXRlciBLamVsbGVyc3RlZHQgPHBrakBheGlzLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOiBNYWtlIHN1cmUgdG8gdW5yZWYgdGhlIGNhcHMgdXNlZCBieSBSVFBTb3VyY2UgdG8gcHJldmVudCBhIG1lbW9yeSBsZWFrLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzogKHJ0cF9zb3VyY2VfZmluYWxpemUpOgoJICBNYWtlIHN1cmUgdG8gdW5yZWYgdGhlIGNhcHMgdXNlZCBieSBSVFBTb3VyY2UgdG8gcHJldmVudCBhIG1lbW9yeSBsZWFrLgoKMjAwOC0wNS0wOCAwOTo0MzozMyArMDAwMCAgT2xpdmllciBDcmV0ZSA8dGVzdGVyQHRlc3Rlci5jYT4KCgkgIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogVW5sb2NrIHRoZSBzZXNzaW9uIGxvY2sgd2hlbiBjYWxsaW5nIG9uZSBvZiBvdXIgY2FsbGJhY2tzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE9saXZpZXIgQ3JldGUgPHRlc3RlciBhdCB0ZXN0ZXIgZG90IGNhPgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKHNvdXJjZV9jbG9ja19yYXRlKSwKCSAgKHJ0cF9zZXNzaW9uX3Byb2Nlc3NfYnllKSwgKHJ0cF9zZXNzaW9uX3NlbmRfYnllX2xvY2tlZCk6CgkgIFVubG9jayB0aGUgc2Vzc2lvbiBsb2NrIHdoZW4gY2FsbGluZyBvbmUgb2Ygb3VyIGNhbGxiYWNrcy4KCSAgRml4ZXMgIzUzMjAxMS4KCjIwMDgtMDUtMDggMDY6MjM6MzkgKzAwMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZEBsdW9uLm5ldD4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogU2VuZCBSVFAgQllFIGNvbW1hbmQgb24gRU9TLiBGaXhlcyBidWcgIzUzMTk1NS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBTam9lcmQgU2ltb25zIDxzam9lcmQgYXQgbHVvbiBkb3QgbmV0PgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgKGdzdF9ydHBfc2Vzc2lvbl9ldmVudF9zZW5kX3J0cF9zaW5rKToKCSAgU2VuZCBSVFAgQllFIGNvbW1hbmQgb24gRU9TLiBGaXhlcyBidWcgIzUzMTk1NS4KCjIwMDgtMDQtMjUgMTE6MzI6MDkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uKjogRXhwb3NlIG5ldyBqaXR0ZXJidWZmZXIgcHJvcGVydHkgaW4gcnRwYmluIHRvby4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChjcmVhdGVfc3RyZWFtKSwgKGdzdF9ydHBfYmluX2luaXQpLAoJICAoZ3N0X3J0cF9iaW5fc2V0X3Byb3BlcnR5KSwgKGdzdF9ydHBfYmluX2dldF9wcm9wZXJ0eSk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkgIEV4cG9zZSBuZXcgaml0dGVyYnVmZmVyIHByb3BlcnR5IGluIHJ0cGJpbiB0b28uCgoyMDA4LTA0LTI1IDExOjIyOjEzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6IERpc2FibGUgc2VuZGluZyBvdXQgcnRwIHBhY2tldCBsb3N0IGV2ZW50cyBieSBkZWZhdWx0IGFuZCBtYWtlIGEgcHJvcGVydHkgdG8gZW5hLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NsYXNzX2luaXQpLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2luaXQpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2xvb3ApLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfZ2V0X3Byb3BlcnR5KToKCSAgRGlzYWJsZSBzZW5kaW5nIG91dCBydHAgcGFja2V0IGxvc3QgZXZlbnRzIGJ5IGRlZmF1bHQgYW5kIG1ha2UgYQoJICBwcm9wZXJ0eSB0byBlbmFiZSBpdC4gV2Ugd2lsbCBsaWtlbHkgZW5hYmxlIGl0IGJ5IGRlZmF1bHQgd2hlbiB0aGUgYmFzZQoJICBkZXBheWxvYWRlcnMgaGF2ZSBhIGRlZmF1bHQgaGFuZGxlciBmb3IgdGhlbSBzbyB0aGF0IHdlIGRvbid0IHNlbmQgdGhlc2UKCSAgZXZlbnRzIGFsbCB0aHJvdWdoIHRoZSBwaXBlbGluZSBmb3Igbm93LgoKMjAwOC0wNC0yNSAwOTozNTo0MyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOiBSZW1vdmUgcHJpdmF0ZSB2ZXJzaW9uIG9mIGEgZnVuY3Rpb24gdGhhdCBpcyBpbiAtYmFzZSBub3cuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2luaXQpLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2ZsdXNoX3N0b3ApLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX3NyY19ldmVudCksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2hhaW4pLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2xvb3ApOgoJICBSZW1vdmUgcHJpdmF0ZSB2ZXJzaW9uIG9mIGEgZnVuY3Rpb24gdGhhdCBpcyBpbiAtYmFzZSBub3cuCgkgIEFkZCBzcmMgZXZlbnQgaGFuZGxlci4KCSAgUmV3b3JrIHRoZSBqaXR0ZXJidWZmZXIgcHVzaGluZyBsb29wIHNvIHRoYXQgaXQgY2FuIHF1aWNrbHkgcmVhY3QgdG8KCSAgbG9zdCBwYWNrZXRzIGFuZCBpbnN0cnVjdCB0aGUgZGVwYXlsb2FkZXIgb2YgdGhlbS4gVGhpcyBjYW4gdGhlbiBiZSB1c2VkCgkgIHRvIGltcGxlbWVudCBlcnJvciBjb25jZWFsbWVudCBkYXRhLgoKMjAwOC0wNC0yNSAwODoyMTowNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogU2V0IHVwIHNvbWUgaW50ZXJuYWwgbGlua3MgZnVuY3Rpb25zIGZvciB0aGUgUlRDUCBhbmQgc3luYyBwYWRzIGJlY2F1c2UgdGhlIGRlZmF1bHRzIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIChnc3RfcnRwX3Nlc3Npb25fcXVlcnlfc2VuZF9ydGNwX3NyYyksIChjcmVhdGVfcmVjdl9ydGNwX3NpbmspLAoJICAoY3JlYXRlX3NlbmRfcnRjcF9zcmMpOgoJICBTZXQgdXAgc29tZSBpbnRlcm5hbCBsaW5rcyBmdW5jdGlvbnMgZm9yIHRoZSBSVENQIGFuZCBzeW5jIHBhZHMgYmVjYXVzZQoJICB0aGUgZGVmYXVsdHMgYXJlIHJlYWxseSBub3QgY29ycmVjdC4KCSAgSW1wbGVtZW50IGEgcXVlcnkgaGFuZGxlciBmb3IgdGhlIFJUQ1Agc3JjIHBhZCwgbW9zdGx5IHRvIGNvcnJlY3RseQoJICByZXBvcnQgYWJvdXQgdGhlIGxhdGVuY3kuCgoyMDA4LTA0LTI1IDA4OjE1OjU4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvOiBBbHNvIGtlZXAgdHJhY2sgb2YgdGhlIGZpcnN0IGJ1ZmZlciB0aW1lc3RhbXAgdG9nZXRoZXIgd2l0aCB0aGUgZmlyc3QKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChnc3RfcnRwX2Jpbl9hc3NvY2lhdGUpLAoJICAoZ3N0X3J0cF9iaW5fc3luY19jaGFpbik6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAodXBkYXRlX2Fycml2YWxfc3RhdHMpLAoJICAocnRwX3Nlc3Npb25fcHJvY2Vzc19zciksIChydHBfc2Vzc2lvbl9vbl90aW1lb3V0KToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzogKHJ0cF9zb3VyY2VfaW5pdCksCgkgIChjYWxjdWxhdGVfaml0dGVyKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5oOgoJICBBbHNvIGtlZXAgdHJhY2sgb2YgdGhlIGZpcnN0IGJ1ZmZlciB0aW1lc3RhbXAgdG9nZXRoZXIgd2l0aCB0aGUgZmlyc3QKCSAgUlRQIHRpbWVzdGFtcCBhcyB0aGV5IGJvdGggYXJlIG5lZWRlZCB0byBjb25zdHJ1Y3QgdGhlIHRpbWluZyBvZgoJICBvdXRnb2luZyBwYWNrZXRzIGluIHRoZSBqaXR0ZXJidWZmZXIgYW5kIGFyZSB0aGVyZWZvcmUgYWxzbyBuZWVkZWQgdG8KCSAgbWFuYWdlIGxpcC1zeW5jLiBUaGlzIGZpeGVzIGxpcC1zeW5jIGlmIHRoZSBmaXJzdCBSVFAgcGFja2V0cyBhcnJpdmUKCSAgd2l0aCBhIHdpbGRseSBkaWZmZXJlbnQgZ2FwLgoKMjAwOC0wNC0yMSAwODoyNjozNyArMDAwMCAgT2xpdmllciBDcmV0ZSA8dGVzdGVyQHRlc3Rlci5jYT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiBSZWYgY2FwcyB3aGVuIGluc2VydGluZyBpbnRvIHRoZSBjYWNoZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBPbGl2aWVyIENyZXRlIDx0ZXN0ZXIgYXQgdGVzdGVyIGRvdCBjYT4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGNyZWF0ZV9zZXNzaW9uKSwgKGdldF9wdF9tYXApLAoJICAobmV3X3NzcmNfcGFkX2ZvdW5kKToKCSAgUmVmIGNhcHMgd2hlbiBpbnNlcnRpbmcgaW50byB0aGUgY2FjaGUuCgkgIERvbid0IGxlYWsgcGFkcy4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9nZXRfY2xvY2tfcmF0ZSksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfcXVlcnkpOgoJICBBdm9pZCBhIGNhcHMgbGVhay4KCSAgRG9uJ3QgbGVhayByZWZjb3VudCBpbiBxdWVyeS4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6IChnc3RfcnRwX3B0X2RlbXV4X2dldF9jYXBzKSwKCSAgKGdzdF9ydHBfcHRfZGVtdXhfY2hhaW4pOgoJICBBdm9pZCBjYXBzIGxlYWtzLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKHNvdXJjZV9nZXRfc2Rlc19zdHJ1Y3R1cmUpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2luaXQpLCAocmV0dXJuX3RydWUpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2NsZWFyX3B0X21hcCksIChnc3RfcnRwX3Nlc3Npb25fY2FjaGVfY2FwcyksCgkgIChnc3RfcnRwX3Nlc3Npb25fY2xvY2tfcmF0ZSk6CgkgIFJlZiBjYXBzIHdoZW4gaW5zZXJ0aW5nIGludG8gdGhlIGNhY2hlLgoJICBGaXggc29tZSBtb3JlIGNhcHMgbGVha3MuIEZpeGVzICM1MjgyNDUuCgoyMDA4LTA0LTE3IDA3OjMxOjQ0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvOiBVbnNldCBHVmFsdWVzIGFmdGVyIGdfc2lnbmFsX2VtaXR2IHNvIHRoYXQgd2UgYXZvaWQgYSByZWZjb3VudCBsZWFrLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGdldF9wdF9tYXApLCAoZnJlZV9jbGllbnQpLAoJICAoZ3N0X3J0cF9iaW5fYXNzb2NpYXRlKSwgKGdzdF9ydHBfYmluX2dldF9mcmVlX3BhZF9uYW1lKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9nZXRfY2xvY2tfcmF0ZSk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOiAoZ3N0X3J0cF9wdF9kZW11eF9nZXRfY2Fwcyk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAoZ3N0X3J0cF9zZXNzaW9uX2Nsb2NrX3JhdGUpOgoJICBVbnNldCBHVmFsdWVzIGFmdGVyIGdfc2lnbmFsX2VtaXR2IHNvIHRoYXQgd2UgYXZvaWQgYSByZWZjb3VudCBsZWFrLgoJICBEb24ndCBsZWFrIGEgcGFkbmFtZS4KCSAgRG9uJ3QgbGVhayBjbGllbnQgc3RyZWFtcyBsaXN0LgoJICBMb2NrIHJ0cGJpbiB3aGVuIGFzc29jaWF0aW5nIHN0cmVhbXMuIEZpeGVzICM1MjgyNDUuCgoyMDA4LTA0LTA5IDIyOjI3OjUwICswMDAwICBQZXRlciBLamVsbGVyc3RlZHQgPHBrakBheGlzLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyLzogQXZvaWQgbGVha2luZyBwYWRzIGluIHRoZSBSVFAgbWFuYWdlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChmcmVlX3Nlc3Npb24pOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKGdzdF9ydHBfc2Vzc2lvbl9maW5hbGl6ZSk6CgkgIEF2b2lkIGxlYWtpbmcgcGFkcyBpbiB0aGUgUlRQIG1hbmFnZXIuCgoyMDA4LTAzLTExIDEyOjQwOjU4ICswMDAwICBPbGl2aWVyIENyZXRlIDx0ZXN0ZXJAdGVzdGVyLmNhPgoKCSAgZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi4qOiBJbXBsZW1lbnQgY29sbGlzaW9uIGFuZCBsb29wIGRldGVjdGlvbiBpbiBydHBtYW5hZ2VyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE9saXZpZXIgQ3JldGUgPHRlc3RlciBhdCB0ZXN0ZXIgZG90IGNhPgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKGZpbmRfYWRkX2NvbmZsaWN0aW5nX2FkZHJlc3NlcyksCgkgIChjaGVja19jb2xsaXNpb24pLCAob2J0YWluX3NvdXJjZSksIChydHBfc2Vzc2lvbl9jcmVhdGVfbmV3X3NzcmMpLAoJICAocnRwX3Nlc3Npb25fY3JlYXRlX3NvdXJjZSksIChydHBfc2Vzc2lvbl9wcm9jZXNzX3J0cCksCgkgIChydHBfc2Vzc2lvbl9wcm9jZXNzX3NyKSwgKHJ0cF9zZXNzaW9uX3Byb2Nlc3NfcnIpLAoJICAocnRwX3Nlc3Npb25fcHJvY2Vzc19zZGVzKSwgKHJ0cF9zZXNzaW9uX3Byb2Nlc3NfYnllKSwKCSAgKHJ0cF9zZXNzaW9uX3NlbmRfYnllX2xvY2tlZCksIChydHBfc2Vzc2lvbl9zZW5kX2J5ZSksCgkgIChydHBfc2Vzc2lvbl9vbl90aW1lb3V0KToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIEltcGxlbWVudCBjb2xsaXNpb24gYW5kIGxvb3AgZGV0ZWN0aW9uIGluIHJ0cG1hbmFnZXIuCgkgIEZpeGVzICM1MjA2MjYuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6IChydHBfc291cmNlX3Jlc2V0KSwKCSAgKHJ0cF9zb3VyY2VfaW5pdCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmg6CgkgIEFkZCBtZXRob2QgdG8gcmVzZXQgc3RhdHMuCgoyMDA4LTAzLTExIDExOjM2OjAzICswMDAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9sZS5hbmRyZS5yYXZuYXNAdGFuZGJlcmcuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiBBdm9pZCBhIGRlYWRsb2NrIHdoZW4gam9pbmluZyB0aGUgUlRDUCB0aHJlYWQgaW4gUEFVU0VEIGJlY2F1c2UgaXQgbWlnaHQgYmUgYmxvY2tlZCBkLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBCYXNlZCBvbiBwYXRjaCBieTogT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzICA8b2xlLmFuZHJlLnJhdm5hc0B0YW5kYmVyZy5jb20+CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAoZ3N0X3J0cF9zZXNzaW9uX2luaXQpLAoJICAocnRjcF90aHJlYWQpLCAoc3RhcnRfcnRjcF90aHJlYWQpLCAoc3RvcF9ydGNwX3RocmVhZCksCgkgIChqb2luX3J0Y3BfdGhyZWFkKSwgKGdzdF9ydHBfc2Vzc2lvbl9jaGFuZ2Vfc3RhdGUpOgoJICBBdm9pZCBhIGRlYWRsb2NrIHdoZW4gam9pbmluZyB0aGUgUlRDUCB0aHJlYWQgaW4gUEFVU0VEIGJlY2F1c2UgaXQgbWlnaHQKCSAgYmUgYmxvY2tlZCBkb3duc3RyZWFtLiBBbHNvIGF2b2lkIHNwYXduaW5nIG11bHRpcGxlIHJ0Y3AgdGhyZWFkcy4KCSAgRml4ZXMgIzUyMDg5NC4KCjIwMDgtMDMtMTEgMTA6NDM6MzIgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkgIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOiBEb24ndCB0cnkgdG8gcmVzZXQgdGhlIGNsb2NrIHNrZXcgd2hlbiB3ZSBoYXZlIG5vIHRpbWVzdGFtcHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOiAoY2FsY3VsYXRlX3NrZXcpOgoJICBEb24ndCB0cnkgdG8gcmVzZXQgdGhlIGNsb2NrIHNrZXcgd2hlbiB3ZSBoYXZlIG5vIHRpbWVzdGFtcHMuCgkgIEZpeGVzICM1MTkwMDUuCgoyMDA4LTAyLTIwIDA5OjMzOjI1ICswMDAwICBPbGl2aWVyIENyZXRlIDx0ZXN0ZXJAdGVzdGVyLmNhPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IEZpeCBzbWFsbCBtZW1vcnkgbGVhaywgbGVha2luZyBjYXBzLiBGaXhlcyAjYnVnIDUxNzU3MS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBPbGl2aWVyIENyZXRlIDx0ZXN0ZXIgYXQgdGVzdGVyIGRvdCBjYT4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKG5ld19zc3JjX3BhZF9mb3VuZCk6CgkgIEZpeCBzbWFsbCBtZW1vcnkgbGVhaywgbGVha2luZyBjYXBzLiBGaXhlcyAjYnVnIDUxNzU3MS4KCjIwMDgtMDItMTQgMTY6MjU6NTEgKzAwMDAgIE9saXZpZXIgQ3JldGUgPHRlc3RlckB0ZXN0ZXIuY2E+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogSWdub3JlIHN0cmVhbXMgdGhhdCBkaWQgbm90IHJlY2VpdmUgYW4gU1IgcGFja2V0IHdoZW4gZG9pbmcgc3luY2hyb25pc2F0aW9uLiBGaXhlcyAjNTE2MTYwLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE9saXZpZXIgQ3JldGUgPHRlc3RlckB0ZXN0ZXIuY2E+CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChnc3RfcnRwX2Jpbl9hc3NvY2lhdGUpOgoJICBJZ25vcmUgc3RyZWFtcyB0aGF0IGRpZCBub3QgcmVjZWl2ZSBhbiBTUiBwYWNrZXQgd2hlbiBkb2luZwoJICBzeW5jaHJvbmlzYXRpb24uIEZpeGVzICM1MTYxNjAuCgoyMDA4LTAxLTI5IDE4OjU3OjI3ICswMDAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6IFRyeSB0byBnZXQgdGhlIG5ldyBjbG9jay1yYXRlIGZyb20gdGhlIGJ1ZmZlciBjYXBzIHdoZW4gd2UgcmVjZWl2ZSBhIG5ldyBwYXlsb2FkLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogVGhpanMgVmVybWVpciAgPHRoaWpzdmVybWVpciBhdCBnbWFpbCBkb3QgY29tPgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NoYWluKToKCSAgVHJ5IHRvIGdldCB0aGUgbmV3IGNsb2NrLXJhdGUgZnJvbSB0aGUgYnVmZmVyIGNhcHMgd2hlbiB3ZSByZWNlaXZlIGEgbmV3CgkgIHBheWxvYWQgdHlwZSBpbnN0ZWFkIG9mIGFsd2F5cyBmaXJpbmcgdGhlIHNpZ25hbC4gRml4ZXMgIzUxMjc3NC4KCjIwMDgtMDEtMjUgMTY6NTg6MDAgKzAwMDAgIE9saXZpZXIgQ3JldGUgPHRlc3RlckB0ZXN0ZXIuY2E+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogQWxzbyBoYW5kbGUgbGlwLXN5bmMgd2hlbiB0aGUgY2xvY2stcmF0ZSBpcyBub3QgcHJvdmlkZWQgd2l0aCBjYXBzIGJ1dCB3aXRoIGEgc2lnbmFsLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE9saXZpZXIgQ3JldGUgPHRlc3RlckB0ZXN0ZXIuY2E+CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChnc3RfcnRwX2Jpbl9hc3NvY2lhdGUpLAoJICAoY3JlYXRlX3N0cmVhbSksIChwYXlsb2FkX3R5cGVfY2hhbmdlKSwgKG5ld19zc3JjX3BhZF9mb3VuZCk6CgkgIEFsc28gaGFuZGxlIGxpcC1zeW5jIHdoZW4gdGhlIGNsb2NrLXJhdGUgaXMgbm90IHByb3ZpZGVkIHdpdGggY2FwcyBidXQKCSAgd2l0aCBhIHNpZ25hbC4KCjIwMDgtMDEtMjUgMTY6MDA6NTIgKzAwMDAgIE9saXZpZXIgQ3JldGUgPHRlc3RlckB0ZXN0ZXIuY2E+CgoJICBnc3QvcnRwbWFuYWdlci86IFJlbW92ZSB0aGUgZml4ZWQgY2xvY2stcmF0ZSBmcm9tIHRoZSBqaXR0ZXJidWZmZXIgYW5kIGV4dGVuZCBpdCBzbyB0aGF0IGEgY2xvY2stcmF0ZSBjYW4gYmUgcHJvdmlkZWQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBPbGl2aWVyIENyZXRlIDx0ZXN0ZXJAdGVzdGVyLmNhPgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X2ppdHRlcl9idWZmZXJfc2lua19wYXJzZV9jYXBzKSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jaGFpbik6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6IChjYWxjdWxhdGVfc2tldyksCgkgIChydHBfaml0dGVyX2J1ZmZlcl9pbnNlcnQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5oOgoJICBSZW1vdmUgdGhlIGZpeGVkIGNsb2NrLXJhdGUgZnJvbSB0aGUgaml0dGVyYnVmZmVyIGFuZCBleHRlbmQgaXQgc28gdGhhdAoJICBhIGNsb2NrLXJhdGUgY2FuIGJlIHByb3ZpZGVkIHdpdGggZWFjaCBidWZmZXIgaW5zdGVhZC4gRml4ZXMgIzUxMTY4Ni4KCjIwMDgtMDEtMjUgMTU6NDk6NTUgKzAwMDAgIE9saXZpZXIgQ3JldGUgPHRlc3RlckB0ZXN0ZXIuY2E+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzogUmVtb3ZlIG9sZCB1bnVzZWQgdmFyaWFibGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogT2xpdmllciBDcmV0ZSA8dGVzdGVyQHRlc3Rlci5jYT4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9pbml0KSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NoYWluKSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9sb29wKToKCSAgUmVtb3ZlIG9sZCB1bnVzZWQgdmFyaWFibGUuCgkgIFRyYWNrIHB0IG9uIGlucHV0IGJ1ZmZlcnMgYW5kIGdldCB0aGUgY2xvY2stcmF0ZSB3aGVuIGl0IGNoYW5nZXMuCgkgIElnbm9yZSBwYWNrZXRzIHdpdGggdW5rbm93biBjbG9jay1yYXRlLiBTZWUgIzUxMTY4Ni4KCjIwMDgtMDEtMjUgMDE6NDQ6MjcgKzAwMDAgIE9saXZpZXIgQ3JldGUgPHRlc3RlckB0ZXN0ZXIuY2E+CgoJICBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzogRml4IHVucmVmIG9mIGJ1ZmZlciB1c2luZyB0aGUgd3JvbmcgZnVuY3Rpb24uICBGaXhlcyAjNTExOTIwCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogT2xpdmllciBDcmV0ZSA8dGVzdGVyQHRlc3Rlci5jYT4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzogRml4IHVucmVmIG9mIGJ1ZmZlciB1c2luZyB0aGUKCSAgd3JvbmcgZnVuY3Rpb24uICBGaXhlcyAjNTExOTIwCgoyMDA4LTAxLTExIDE3OjAyOjMwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiBJZiB3ZSBmaW5kIHRoZSBjYXBzIGluIHRoZSBjYWNoZSwgdXNlIGl0IHRvIHBhcnNlIHRoZSBjbG9jay1yYXRlIGluc3RlYWQgb2YgcmV0dXJuaW5nLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKGdzdF9ydHBfc2Vzc2lvbl9jbG9ja19yYXRlKToKCSAgSWYgd2UgZmluZCB0aGUgY2FwcyBpbiB0aGUgY2FjaGUsIHVzZSBpdCB0byBwYXJzZSB0aGUgY2xvY2stcmF0ZSBpbnN0ZWFkCgkgIG9mIHJldHVybmluZyBhbiBlcnJvci4gRml4ZXMgYSBUT0RPIGFzIGZvdW5kIGJ5IFlvdW5lc3MgQWxhb3VpLgoKMjAwOC0wMS0xMSAxNjo0NTo1NyArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkgIGdzdC9ydHBtYW5hZ2VyLzogTWFrZSBpdCBwb3NzaWJsZSB0byB1c2UgZGlmZmVyZW50IHVzZXJfZGF0YSBmb3IgZWFjaCBvZiB0aGUgY2FsbGJhY2tzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzIGRvdCBhbGFvdWkgYXQgY29sbGFib3JhIGRvdCBjbyBkb3QgdWs+CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAoZ3N0X3J0cF9zZXNzaW9uX2Nsb2NrX3JhdGUpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKHJ0cF9zZXNzaW9uX3NldF9jYWxsYmFja3MpLAoJICAocnRwX3Nlc3Npb25fc2V0X3Byb2Nlc3NfcnRwX2NhbGxiYWNrKSwKCSAgKHJ0cF9zZXNzaW9uX3NldF9zZW5kX3J0cF9jYWxsYmFjayksCgkgIChydHBfc2Vzc2lvbl9zZXRfc2VuZF9ydGNwX2NhbGxiYWNrKSwKCSAgKHJ0cF9zZXNzaW9uX3NldF9zeW5jX3J0Y3BfY2FsbGJhY2spLAoJICAocnRwX3Nlc3Npb25fc2V0X2Nsb2NrX3JhdGVfY2FsbGJhY2spLAoJICAocnRwX3Nlc3Npb25fc2V0X3JlY29uc2lkZXJfY2FsbGJhY2spLCAoc291cmNlX3B1c2hfcnRwKSwKCSAgKHNvdXJjZV9jbG9ja19yYXRlKSwgKHJ0cF9zZXNzaW9uX3Byb2Nlc3NfYnllKSwKCSAgKHJ0cF9zZXNzaW9uX3Byb2Nlc3NfcnRjcCksIChydHBfc2Vzc2lvbl9zZW5kX2J5ZSksCgkgIChydHBfc2Vzc2lvbl9vbl90aW1lb3V0KToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIE1ha2UgaXQgcG9zc2libGUgdG8gdXNlIGRpZmZlcmVudCB1c2VyX2RhdGEgZm9yIGVhY2ggb2YgdGhlIGNhbGxiYWNrcy4KCSAgRml4ZXMgIzUwODU4Ny4KCjIwMDgtMDEtMTAgMjA6NTc6MTcgKzAwMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogRml4IGRvY3VtZW50YXRpb24gZm9yIGxhdGVzdCBwYXRjaAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgRml4IGRvY3VtZW50YXRpb24gZm9yIGxhdGVzdCBwYXRjaAoKMjAwOC0wMS0xMCAxNDozNDozMCArMDAwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiBBbGxvdyByZXF1ZXN0X25ld19wYWQgd2l0aCBuYW1lIE5VTEwgKGJ1ZyAjNTA4NTE1KQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgQWxsb3cgcmVxdWVzdF9uZXdfcGFkIHdpdGggbmFtZSBOVUxMIChidWcgIzUwODUxNSkKCjIwMDgtMDEtMDkgMTQ6Mzk6NDQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IERvbid0IHNldCBmaXhlZCBjYXBzLCB3ZSBjYW4gYmFzaWNhbGx5IGRvIGV2ZXJ5dGhpbmcgdGhlIHVwc3RlYW0gcGVlciBwYWQgY2FuIHJlbmVnb3QuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAoY3JlYXRlX3NlbmRfcnRwX3NpbmspOgoJICBEb24ndCBzZXQgZml4ZWQgY2Fwcywgd2UgY2FuIGJhc2ljYWxseSBkbyBldmVyeXRoaW5nIHRoZSB1cHN0ZWFtIHBlZXIKCSAgcGFkIGNhbiByZW5lZ290aWF0ZSB0by4gRml4ZXMgIzUwNzk0MC4KCjIwMDgtMDEtMDQgMTg6NDc6NTcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzogRG9uJ3QgdW5yZWYgdGhlIHBvcHBlZCBidWZmZXIgd2hlbiB3ZSBkb24ndCBoYXZlIG93bmVyc2hpcC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfbG9vcCk6CgkgIERvbid0IHVucmVmIHRoZSBwb3BwZWQgYnVmZmVyIHdoZW4gd2UgZG9uJ3QgaGF2ZSBvd25lcnNoaXAuCgkgIEZpeGVzICM1MDcwMjAuCgoyMDA3LTEyLTMxIDEzOjEyOjA2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6IERvbid0IGNsZWFuIHVwIHBhZHMgd2hlbiBnb2luZyB0byBQQVVTRUQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJICAoZ3N0X3J0cF9zc3JjX2RlbXV4X2NoYW5nZV9zdGF0ZSk6CgkgIERvbid0IGNsZWFuIHVwIHBhZHMgd2hlbiBnb2luZyB0byBQQVVTRUQuCgoyMDA3LTEyLTEyIDE2OjU5OjAzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvOiBDbGVhbiB1cCB0aGUgZHluYW1pYyBwYWRzIHdoZW4gZ29pbmcgdG8gUkVBRFkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzogKGdzdF9ydHBfcHRfZGVtdXhfZmluYWxpemUpLAoJICAoZ3N0X3J0cF9wdF9kZW11eF9zZXR1cCksIChnc3RfcnRwX3B0X2RlbXV4X3JlbGVhc2UpLAoJICAoZ3N0X3J0cF9wdF9kZW11eF9jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOiAoZ3N0X3J0cF9zc3JjX2RlbXV4X3Jlc2V0KSwKCSAgKGdzdF9ydHBfc3NyY19kZW11eF9kaXNwb3NlKSwgKGdzdF9ydHBfc3NyY19kZW11eF9zcmNfcXVlcnkpLAoJICAoZ3N0X3J0cF9zc3JjX2RlbXV4X2NoYW5nZV9zdGF0ZSk6CgkgIENsZWFuIHVwIHRoZSBkeW5hbWljIHBhZHMgd2hlbiBnb2luZyB0byBSRUFEWS4KCjIwMDctMTItMTIgMTI6MTE6NTMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci86IEZpeCBzb21lIGxlYWtzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGdzdF9ydHBfYmluX2ZpbmFsaXplKSwKCSAgKGdzdF9ydHBfYmluX3NldF9zZGVzX3N0cmluZyksIChnc3RfcnRwX2Jpbl9nZXRfc2Rlc19zdHJpbmcpLAoJICAoZ3N0X3J0cF9iaW5faGFuZGxlX21lc3NhZ2UpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKHJ0cF9zZXNzaW9uX2ZpbmFsaXplKSwKCSAgKHJ0cF9zZXNzaW9uX3NlbmRfYnllKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzogKHJ0cF9zb3VyY2VfZmluYWxpemUpOgoJICBGaXggc29tZSBsZWFrcy4KCjIwMDctMTItMTAgMTg6MzY6MDQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci86IFBvc3QgYSBtZXNzYWdlIHdoZW4gdGhlIFNERVMgaW5mb3IgY2hhbmdlcyBmb3IgYSBzb3VyY2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoZ3N0X3J0cF9iaW5fY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwX2Jpbl9oYW5kbGVfbWVzc2FnZSk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAoc291cmNlX2dldF9zZGVzX3N0cnVjdHVyZSksCgkgIChvbl9zc3JjX3NkZXMpOgoJICBQb3N0IGEgbWVzc2FnZSB3aGVuIHRoZSBTREVTIGluZm9yIGNoYW5nZXMgZm9yIGEgc291cmNlLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSAgVXBkYXRlIHNvbWUgY29tbWVudHMuCgoyMDA3LTEyLTEwIDE1OjM0OjE5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvOiBBZGQgc2lnbmFsIHRvIG5vdGlmeSBvZiBhbiBTREVTIGNoYW5nZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChvbl9zc3JjX3NkZXMpLCAoY3JlYXRlX3Nlc3Npb24pLAoJICAoZ3N0X3J0cF9iaW5fY2xhc3NfaW5pdCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwY2xpZW50LmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwY2xpZW50Lmg6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmg6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbWFuYWdlci5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4Lmg6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAob25fc3NyY19zZGVzKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9jbGFzc19pbml0KSwgKGdzdF9ydHBfc2Vzc2lvbl9pbml0KToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmg6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4Lmg6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmg6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAocnRwX3Nlc3Npb25fY2xhc3NfaW5pdCksCgkgIChvbl9zc3JjX3NkZXMpLCAocnRwX3Nlc3Npb25fcHJvY2Vzc19zZGVzKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmg6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc3RhdHMuYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5oOgoJICBBZGQgc2lnbmFsIHRvIG5vdGlmeSBvZiBhbiBTREVTIGNoYW5nZS4KCSAgRml4IG9iamVjdCB0eXBlIGluIHRoZSBzaWduYWwgY2FsbGJhY2tzLgoKMjAwNy0xMi0xMCAxNDowMzozMiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi4qOiBFeHBvc2UgU0RFUyBpdGVtcyBhcyBwcm9wZXJ0aWVzIGFuZCBjb25maWd1cmUgdGhlIHNlc3Npb24gbWFuYWdlcnMgd2l0aCB0aGVtLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGNyZWF0ZV9zZXNzaW9uKSwKCSAgKGdzdF9ydHBfYmluX2NsYXNzX2luaXQpLCAoZ3N0X3J0cF9iaW5faW5pdCksIChzZGVzX3R5cGVfdG9fbmFtZSksCgkgIChnc3RfcnRwX2Jpbl9zZXRfc2Rlc19zdHJpbmcpLCAoZ3N0X3J0cF9iaW5fZ2V0X3NkZXNfc3RyaW5nKSwKCSAgKGdzdF9ydHBfYmluX3NldF9wcm9wZXJ0eSksIChnc3RfcnRwX2Jpbl9nZXRfcHJvcGVydHkpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJICBFeHBvc2UgU0RFUyBpdGVtcyBhcyBwcm9wZXJ0aWVzIGFuZCBjb25maWd1cmUgdGhlIHNlc3Npb24gbWFuYWdlcnMgd2l0aAoJICB0aGVtLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOiAocnRwX3NvdXJjZV9jbGFzc19pbml0KSwKCSAgKHJ0cF9zb3VyY2Vfc2V0X3Byb3BlcnR5KToKCSAgRml4IFNTUkMgcHJvcGVydHkuCgoyMDA3LTEyLTEwIDExOjA4OjExICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvOiBVcGRhdGUgY29tbWVudC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChjcmVhdGVfc2Vzc2lvbik6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6CgkgIFVwZGF0ZSBjb21tZW50LgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKGdzdF9ydHBfc2Vzc2lvbl9jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9zZXRfcHJvcGVydHkpLCAoZ3N0X3J0cF9zZXNzaW9uX2dldF9wcm9wZXJ0eSk6CgkgIERlZmluZSBzb21lIEdPYmplY3QgcHJvcGVydGllcyB0byBzZXQgU0RFUyBhbmQgb3RoZXIgY29uZmlndXJhdGlvbi4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChydHBfc2Vzc2lvbl9jbGFzc19pbml0KSwKCSAgKHJ0cF9zZXNzaW9uX2luaXQpLCAocnRwX3Nlc3Npb25fZmluYWxpemUpLAoJICAocnRwX3Nlc3Npb25fc2V0X3Byb3BlcnR5KSwgKHJ0cF9zZXNzaW9uX2dldF9wcm9wZXJ0eSksCgkgIChvbl9zc3JjX3NkZXMpLCAocnRwX3Nlc3Npb25fc2V0X2JhbmR3aWR0aCksCgkgIChydHBfc2Vzc2lvbl9nZXRfYmFuZHdpZHRoKSwgKHJ0cF9zZXNzaW9uX3NldF9ydGNwX2ZyYWN0aW9uKSwKCSAgKHJ0cF9zZXNzaW9uX2dldF9ydGNwX2ZyYWN0aW9uKSwgKHJ0cF9zZXNzaW9uX3NldF9zZGVzX3N0cmluZyksCgkgIChydHBfc2Vzc2lvbl9nZXRfc2Rlc19zdHJpbmcpLCAob2J0YWluX3NvdXJjZSksCgkgIChydHBfc2Vzc2lvbl9nZXRfaW50ZXJuYWxfc291cmNlKSwgKHJ0cF9zZXNzaW9uX3Byb2Nlc3Nfc2RlcyksCgkgIChydHBfc2Vzc2lvbl9zZW5kX3J0cCksIChydHBfc2Vzc2lvbl9uZXh0X3RpbWVvdXQpLCAoc2Vzc2lvbl9zZGVzKSwKCSAgKGlzX3J0Y3BfdGltZSk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBBZGQgc2lnbmFsIHdoZW4gbmV3IFNERVMgaW5mb3IgaGFzIGJlZW4gZm91bmQgZm9yIGEgc291cmNlLgoJICBDcmVhdGUgcHJvcGVydGllcyBmb3IgU0RFUyBhbmQgb3RoZXIgaW5mby4KCSAgU2ltcGxpZnkgdGhlIFNERVMgQVBJLgoJICBBZGQgbWV0aG9kIGZvciBnZXR0aW5nIHRoZSBpbnRlcm5hbCBzb3VyY2Ugb2JqZWN0IG9mIHRoZSBzZXNzaW9uLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOiAocnRwX3NvdXJjZV9jbGFzc19pbml0KSwKCSAgKHJ0cF9zb3VyY2VfZmluYWxpemUpLCAocnRwX3NvdXJjZV9zZXRfcHJvcGVydHkpLAoJICAocnRwX3NvdXJjZV9nZXRfcHJvcGVydHkpLCAocnRwX3NvdXJjZV9zZXRfY2FsbGJhY2tzKSwKCSAgKHJ0cF9zb3VyY2VfZ2V0X3NzcmMpLCAocnRwX3NvdXJjZV9zZXRfYXNfY3NyYyksCgkgIChydHBfc291cmNlX2lzX2FzX2NzcmMpLCAocnRwX3NvdXJjZV9pc19hY3RpdmUpLAoJICAocnRwX3NvdXJjZV9pc192YWxpZGF0ZWQpLCAocnRwX3NvdXJjZV9pc19zZW5kZXIpLAoJICAocnRwX3NvdXJjZV9yZWNlaXZlZF9ieWUpLCAocnRwX3NvdXJjZV9nZXRfYnllX3JlYXNvbiksCgkgIChydHBfc291cmNlX3NldF9zZGVzKSwgKHJ0cF9zb3VyY2Vfc2V0X3NkZXNfc3RyaW5nKSwKCSAgKHJ0cF9zb3VyY2VfZ2V0X3NkZXMpLCAocnRwX3NvdXJjZV9nZXRfc2Rlc19zdHJpbmcpLAoJICAocnRwX3NvdXJjZV9nZXRfbmV3X3NyKSwgKHJ0cF9zb3VyY2VfZ2V0X25ld19yYik6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmg6CgkgIEFkZCBHT2JqZWN0IHByb3BlcnRpZXMgZm9yIHZhcmlvdXMgdGhpbmdzLgoJICBEb24ndCBsZWFrIHRoZSBieWUgcmVhc29uLgoKMjAwNy0xMS0yMiAwOTowODoyNyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOiBqaXR0ZXJidWZmZXIgY2FuIGJ1ZmZlciBhbiB1bmxpbWl0ZWQgYW1vdW50IG9mIHRpbWUgYW5kIHRodXMgaGFzIG5vIG1heF9sYXRlbmN5IC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9xdWVyeSk6CgkgIGppdHRlcmJ1ZmZlciBjYW4gYnVmZmVyIGFuIHVubGltaXRlZCBhbW91bnQgb2YgdGltZSBhbmQgdGh1cyBoYXMgbm8KCSAgbWF4X2xhdGVuY3kgcmVxdWlyZW1lbnRzLgoKMjAwNy0xMS0wMiAyMTo0NTozOCArMDAwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvbGUuYW5kcmUucmF2bmFzQHRhbmRiZXJnLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogRml4IGJhZCBmdW5jdGlvbiBzaWduYXR1cmVzICgjNDkyNzk4KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgIDxvbGUuYW5kcmUucmF2bmFzQHRhbmRiZXJnLmNvbT4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIEZpeCBiYWQgZnVuY3Rpb24gc2lnbmF0dXJlcyAoIzQ5Mjc5OCkuCgoyMDA3LTEwLTA5IDEwOjAxOjM5ICswMDAwICBMYXVyZW50IEdsYXlhbCA8c3BnbGVnbGVAeWFob28uZnI+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogRml4IG1lbWxlYWsuIEZpeGVzICM0ODQ5OTAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogTGF1cmVudCBHbGF5YWwgPHNwZ2xlZ2xlIGF0IHlhaG9vIGRvdCBmcj4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGNyZWF0ZV9zdHJlYW0pLAoJICAoZ3N0X3J0cF9iaW5fY2xhc3NfaW5pdCk6CgkgIEZpeCBtZW1sZWFrLiBGaXhlcyAjNDg0OTkwLgoKMjAwNy0xMC0wOCAxNzo0Njo0NSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvOiBGaXggY29tcGlsZXIgd2FybmluZ3Mgc2hvd24gYnkgRm9ydGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9saWJyZmIvcmZiYnVmZmVyLmM6IChyZmJfYnVmZmVyX25ld19hbmRfYWxsb2MpOgoJICAqIGdzdC9saWJyZmIvcmZiYnVmZmVyLmg6CgkgICogZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmM6IChyZmJfc29ja2V0X2dldF9idWZmZXIpOgoJICAqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVndmlkZW9wYXJzZS5jOiAoZ3N0X21wZWd2aWRlb3BhcnNlX2NoYWluKToKCSAgKiBnc3QvbnNmL25lczY1MDIuYzogKG5lczY1MDJfZXhlY3V0ZSk6CgkgICogZ3N0L3JlYWwvZ3N0cmVhbGF1ZGlvZGVjLmM6IChnc3RfcmVhbF9hdWRpb19kZWNfc2V0Y2Fwcyk6CgkgICogZ3N0L3JlYWwvZ3N0cmVhbHZpZGVvZGVjLmM6IChvcGVuX2xpYnJhcnkpOgoJICAqIGdzdC9yZWFsL2dzdHJlYWx2aWRlb2RlYy5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKGNyZWF0ZV9yZWN2X3J0cF9zaW5rKSwKCSAgKGNyZWF0ZV9yZWN2X3J0Y3Bfc2luayksIChjcmVhdGVfc2VuZF9ydHBfc2luayk6CgkgIEZpeCBjb21waWxlciB3YXJuaW5ncyBzaG93biBieSBGb3J0ZS4KCjIwMDctMTAtMDggMTA6Mzk6MzUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogRml4IGNhcHMgcmVmY291bnRpbmcgZm9yIHBheWxvYWQgbWFwcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChnZXRfcHRfbWFwKSwKCSAgKGdzdF9ydHBfYmluX2NsZWFyX3B0X21hcCksIChnc3RfcnRwX2Jpbl9jbGFzc19pbml0KToKCSAgRml4IGNhcHMgcmVmY291bnRpbmcgZm9yIHBheWxvYWQgbWFwcy4KCSAgV2hlbiBjbGVhcmluZyBwYXlsb2FkIG1hcHMsIGFsc28gY2xlYXIgc2Vzc2lvbnMgYW5kIHN0cmVhbXMgcGF5bG9hZAoJICBtYXBzLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzogKGdzdF9ydHBfcHRfZGVtdXhfZ2V0X2NhcHMpLAoJICAoZ3N0X3J0cF9wdF9kZW11eF9jbGVhcl9wdF9tYXApLCAoZ3N0X3J0cF9wdF9kZW11eF9jaGFpbiksCgkgIChmaW5kX3BhZF9mb3JfcHQpOgoJICBJbXBsZW1lbnQgY2xlYXJpbmcgdGhlIHBheWxvYWQgbWFwLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgKGdzdF9ydHBfc2Vzc2lvbl9ldmVudF9zZW5kX3J0cF9zaW5rKToKCSAgRm9yd2FyZCBmbHVzaCBldmVudHMgaW5zdGVhZCBvZiBsZWFraW5nIHRoZW0uCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkgIChnc3RfcnRwX3NzcmNfZGVtdXhfcnRjcF9zaW5rX2V2ZW50KToKCSAgQ29ycmVjdGx5IHJlZmNvdW50IGV2ZW50cyBiZWZvcmUgcHVzaGluZyB0aGVtLgoKMjAwNy0xMC0wNSAxNzoyNjoxNCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogV2hlbiByZWNvbnNpZGVyaW5nIFJUQ1AgdGltZW91dHMsIHNldCB0aGUgbmV4dCB0aW1lb3V0IGFnYWluc3QgdGhlIGxhc3QgcmVwb3J0IHRpbWUgaW5zdC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChydHBfc2Vzc2lvbl9uZXh0X3RpbWVvdXQpLAoJICBXaGVuIHJlY29uc2lkZXJpbmcgUlRDUCB0aW1lb3V0cywgc2V0IHRoZSBuZXh0IHRpbWVvdXQgYWdhaW5zdCB0aGUgbGFzdAoJICByZXBvcnQgdGltZSBpbnN0ZWFkIG9mIHRoZSBjdXJyZW50IGNsb2NrIHRpbWUgc28gdGhhdCB3ZSBkb24ndCBlbmQgdXAKCSAgcmVjb25zaWRlcmluZyBmb3JldmVyLgoKMjAwNy0xMC0wNSAxMjowNzozNyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOiBPbmx5IHBlZWsgYXQgdGhlIHRhaWwgZWxlbWVudCBpbnN0ZWFkIG9mIHBvcHBpbmcgaXQgb2ZmLCB3aGljaCBhbGxvd3MgdXMgdG8gZ3JlYS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jaGFpbiksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfbG9vcCk6CgkgIE9ubHkgcGVlayBhdCB0aGUgdGFpbCBlbGVtZW50IGluc3RlYWQgb2YgcG9wcGluZyBpdCBvZmYsIHdoaWNoIGFsbG93cwoJICB1cyB0byBncmVhdGx5IHNpbXBsaWZ5IHRoaW5ncyB3aGVuIHRoZSB0YWlsIGVsZW1lbnQgY2hhbmdlcy4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIChnc3RfcnRwX3Nlc3Npb25fZXZlbnRfcmVjdl9ydHBfc2luayk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkgIChnc3RfcnRwX3NzcmNfZGVtdXhfc2lua19ldmVudCk6CgkgIEZvcndhcmQgRkxVU0ggZXZlbnRzIGluc3RlYWQgb2YgbGVha2luZyB0aGVtLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOiAocnRwX2ppdHRlcl9idWZmZXJfcmVzZXRfc2tldyksCgkgIChjYWxjdWxhdGVfc2tldyksIChydHBfaml0dGVyX2J1ZmZlcl9pbnNlcnQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5oOgoJICBSZW1vdmUgdGhlIHRhaWwtY2hhbmdlZCBjYWxsYmFjayBpbiBmYXZvdXIgb2YgYSBzaW1wbGUgYm9vbGVhbiB3aGVuIHdlCgkgIGluc2VydCBhIGJ1ZmZlciBpbiB0aGUgcXVldWUuCgkgIEFkZCBtZXRob2QgdG8gcGVlayB0aGUgdGFpbCBvZiB0aGUgYnVmZmVyLgoKMjAwNy0xMC0wMiAxMDoyNzo0NSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOiBSZW1vdmUgc29tZSBvbGQgdW51c2VkIHZhcmlhYmxlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfZmx1c2hfc3RhcnQpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2ZsdXNoX3N0b3ApLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NoYW5nZV9zdGF0ZSksIChhcHBseV9vZmZzZXQpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2xvb3ApOgoJICBSZW1vdmUgc29tZSBvbGQgdW51c2VkIHZhcmlhYmxlcy4KCSAgRG9uJ3QgYWRkIHRoZSBsYXRlbmN5IHRvIHRoZSBza2V3IGNvcnJlY3RlZCB0aW1lc3RhbXAsIGxhdGVuY3kgaXMgb25seQoJICB1c2VkIHRvIHN5bmMgYWdhaW5zdCB0aGUgY2xvY2suCgkgIEltcHJvdmUgZGVidWdnaW5nLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOiAocnRwX2ppdHRlcl9idWZmZXJfaW5pdCksCgkgIChydHBfaml0dGVyX2J1ZmZlcl9yZXNldF9za2V3KSwgKGNhbGN1bGF0ZV9za2V3KToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuaDoKCSAgSGFuZGxlIGNhc2Ugd2hlcmUgc2VydmVyIHRpbWVzdGFtcCBnb2VzIGJhY2t3YXJkcyBvciB3aWxkbHkganVtcHMgYnkKCSAgdGVtcG9yYXJpbHkgcGF1c2luZyB0aGUgc2tldyBjb3JyZWN0aW9uLgoJICBJbXByb3ZlIGRlYnVnZ2luZy4KCjIwMDctMDktMjggMTQ6NTE6NTggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogRml4IGNyYXNoZXIgaW4gZGlzcG9zZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChmcmVlX2NsaWVudCk6CgkgIEZpeCBjcmFzaGVyIGluIGRpc3Bvc2UuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6IChjYWxjdWxhdGVfc2tldyk6CgkgIEhhbmRsZSBjYXNlcyB3aGVyZSBpbnB1dCBidWZmZXJzIGhhdmUgbm8gdGltZXN0YW1wcyBzbyB0aGF0IG5vIGNsb2NrCgkgIHNrZXcgY2FuIGJlIGNhbGN1bGF0ZWQsIGluIHRoaXMgY2FzZSBpbnRlcnBvbGxhdGUgdGltZXN0YW1wcyBiYXNlZCBvbgoJICBydHAgdGltZXN0YW1wIGFuZCBhc3N1bWUgYSAwIGNsb2NrIHNrZXcuCgoyMDA3LTA5LTI4IDExOjE3OjM1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6IFJlbW92ZSBqaXR0ZXIgY29ycmVjdGlvbiBjb2RlLCBpdCdzIG5vdyBpbiB0aGUgbG93ZXIgbGV2ZWwgb2JqZWN0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzogKGFwcGx5X2xhdGVuY3kpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2xvb3ApLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX3F1ZXJ5KToKCSAgUmVtb3ZlIGppdHRlciBjb3JyZWN0aW9uIGNvZGUsIGl0J3Mgbm93IGluIHRoZSBsb3dlciBsZXZlbCBvYmplY3QuCgkgIFVzZSBuZXcgLWNvcmUgbWV0aG9kIGZvciBkb2luZyBhIHBlZXIgcXVlcnkuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6IChydHBfaml0dGVyX2J1ZmZlcl9pbml0KSwKCSAgKGNhbGN1bGF0ZV9za2V3KSwgKHJ0cF9qaXR0ZXJfYnVmZmVyX2luc2VydCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmg6CgkgIE1vdmUgaml0dGVyIGNvcnJlY3Rpb24gdG8gdGhlIGxvd2xldmVsIGppdHRlcmJ1ZmZlci4KCSAgSW5jcmVhc2UgdGhlIG1heCB3aW5kb3cgc2l6ZS4KCSAgV2hlbiBmaWxsaW5nIHRoZSB3aW5kb3csIGFscmVhZHkgc3RhcnQgZXN0aW1hdGluZyB0aGUgc2tldyB1c2luZyBhCgkgIHBhcmFib2xpYyB3ZWlnaHRpbmcgZmFjdG9yIHNvIHRoYXQgd2UgaGF2ZSBhIG11Y2ggYmV0dGVyIHN0YXJ0dXAKCSAgYmVoYXZpb3VyIHRoYXQgZ2V0cyBtb3JlIGFjY3VyYXRlIHdpdGggdGhlIG1vcmUgc2FtcGxlcyB3ZSBoYXZlLgoJICBJbmNyZWFzZSB0aGUgZGVmYXVsdCB3ZWlnaHRpbmcgZmFjdG9yIGZvciB0aGUgc3RlYWR5IHN0YXRlIHRvIGdldAoJICBzbW9vdGhlciB0aW1lc3RhbXBzLgoKMjAwNy0wOS0yNiAyMDowODoyOCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiBGaXggY2xlYW51cCBjcmFzaGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGdzdF9ydHBfYmluX2Rpc3Bvc2UpLAoJICAoZ3N0X3J0cF9iaW5fZmluYWxpemUpOgoJICBGaXggY2xlYW51cCBjcmFzaGVyLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOiAocnRwX2ppdHRlcl9idWZmZXJfaW5pdCksCgkgIChjYWxjdWxhdGVfc2tldyk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmg6CgkgIER5bmFtaWNhbGx5IGFkanVzdCB0aGUgc2tldyBjYWxjdWxhdGlvbiB3aW5kb3cgc28gdGhhdCB3ZSBjYWxjdWxhdGUgaXQKCSAgb3ZlciBhIHBlcmlvZCBvZiBhcm91bmQgMiBzZWNvbmRzLgoKMjAwNy0wOS0yMCAxNDozNDo1NyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyLzogQWRkIG5vdGlmaWNhdGlvbiBvZiBhY3RpdmUgU1NSQ3MgdG8gdmFyaW91cyBSVFAgZWxlbWVudHMuIEZpeGVzICM0Nzg1NjYuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAob25fc3NyY19hY3RpdmUpLCAoY3JlYXRlX3Nlc3Npb24pLAoJICAoZ3N0X3J0cF9iaW5fY2xhc3NfaW5pdCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAob25fc3NyY19hY3RpdmUpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2NsYXNzX2luaXQpLCAoZ3N0X3J0cF9zZXNzaW9uX2luaXQpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2V2ZW50X3NlbmRfcnRwX3NpbmspOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChydHBfc2Vzc2lvbl9jbGFzc19pbml0KSwKCSAgKG9uX3NzcmNfYWN0aXZlKSwgKHJ0cF9zZXNzaW9uX3Byb2Nlc3NfcmIpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgQWRkIG5vdGlmaWNhdGlvbiBvZiBhY3RpdmUgU1NSQ3MgdG8gdmFyaW91cyBSVFAgZWxlbWVudHMuIEZpeGVzICM0Nzg1NjYuCgoyMDA3LTA5LTE3IDAyOjAxOjQxICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IExpbmsgdG8gdGhlIHJpZ2h0IHBhZHMgcmVnYXJkbGVzcyBvZiB3aGljaCBvbmUgd2FzIGNyZWF0ZWQgZmlyc3QgaW4gdGhlIHNzcmMgZGVtdXhlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChuZXdfc3NyY19wYWRfZm91bmQpOgoJICBMaW5rIHRvIHRoZSByaWdodCBwYWRzIHJlZ2FyZGxlc3Mgb2Ygd2hpY2ggb25lIHdhcyBjcmVhdGVkIGZpcnN0IGluIHRoZQoJICBzc3JjIGRlbXV4ZXIuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2hhaW4pLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2xvb3ApOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKGdzdF9ydHBfc2Vzc2lvbl9wcm9jZXNzX3J0cCksCgkgIChnc3RfcnRwX3Nlc3Npb25fY2hhaW5fcmVjdl9ydHApLCAoZ3N0X3J0cF9zZXNzaW9uX2NoYWluX3NlbmRfcnRwKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzogKGNhbGN1bGF0ZV9qaXR0ZXIpOgoJICBJbXByb3ZlIGRlYnVnZ2luZy4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzogKGNyZWF0ZV9kZW11eF9wYWRfZm9yX3NzcmMpLAoJICAoZ3N0X3J0cF9zc3JjX2RlbXV4X2luaXQpLCAoZ3N0X3J0cF9zc3JjX2RlbXV4X2ZpbmFsaXplKSwKCSAgKGdzdF9ydHBfc3NyY19kZW11eF9zaW5rX2V2ZW50KSwKCSAgKGdzdF9ydHBfc3NyY19kZW11eF9ydGNwX3NpbmtfZXZlbnQpLCAoZ3N0X3J0cF9zc3JjX2RlbXV4X2NoYWluKSwKCSAgKGdzdF9ydHBfc3NyY19kZW11eF9ydGNwX2NoYWluKSwKCSAgKGdzdF9ydHBfc3NyY19kZW11eF9pbnRlcm5hbF9saW5rcyk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4Lmg6CgkgIEZpeCByYWNlIGluIGNyZWF0aW5nIHRoZSBSVFAgYW5kIFJUQ1AgcGFkcyB3aGVuIGEgbmV3IFNTUkMgaXMgZGV0ZWN0ZWQuCgoyMDA3LTA5LTE2IDE5OjQwOjMxICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IFVzZSBsb2NrIHRvIHByb3RlY3QgdmFyaWFibGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoZ3N0X3J0cF9iaW5fc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9ydHBfYmluX2dldF9wcm9wZXJ0eSk6CgkgIFVzZSBsb2NrIHRvIHByb3RlY3QgdmFyaWFibGUuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2xhc3NfaW5pdCksCgkgIChnc3Rfaml0dGVyX2J1ZmZlcl9zaW5rX3BhcnNlX2NhcHMpLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NoYWluKSwKCSAgKGNvbnZlcnRfcnRwdGltZV90b19nc3R0aW1lKSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9sb29wKToKCSAgUmVjb25zdHJ1Y3QgR1NUIHRpbWVzdGFtcCBmcm9tIFJUUCB0aW1lc3RhbXBzIGJhc2VkIG9uIG1lYXN1cmVkIGNsb2NrCgkgIHNrZXcgYW5kIHN5bmMgb2Zmc2V0LgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOiAocnRwX2ppdHRlcl9idWZmZXJfaW5pdCksCgkgIChydHBfaml0dGVyX2J1ZmZlcl9zZXRfdGFpbF9jaGFuZ2VkKSwKCSAgKHJ0cF9qaXR0ZXJfYnVmZmVyX3NldF9jbG9ja19yYXRlKSwKCSAgKHJ0cF9qaXR0ZXJfYnVmZmVyX2dldF9jbG9ja19yYXRlKSwgKGNhbGN1bGF0ZV9za2V3KSwKCSAgKHJ0cF9qaXR0ZXJfYnVmZmVyX2luc2VydCksIChydHBfaml0dGVyX2J1ZmZlcl9wZWVrKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuaDoKCSAgTWVhc3VyZSBjbG9jayBza2V3LgoJICBBZGQgY2FsbGJhY2sgdG8gYmUgbm90ZmllZCB3aGVuIGEgbmV3IHBhY2tldCB3YXMgaW5zZXJ0ZWQgYXQgdGhlIHRhaWwuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6IChydHBfc291cmNlX2luaXQpLAoJICAoY2FsY3VsYXRlX2ppdHRlciksIChydHBfc291cmNlX3NlbmRfcnRwKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuaDoKCSAgUmVtb3ZlIGNsb2NrIHNrZXcgZGV0ZWN0aW9uLCBpdCdzIG1vdmUgdG8gdGhlIGppdHRlcmJ1ZmZlciBub3cuCgoyMDA3LTA5LTE1IDE4OjQ4OjAzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IEFsc28gc2V0IE5UUCBiYXNlIHRpbWUgb24gbmV3IHNlc3Npb25zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGNyZWF0ZV9zZXNzaW9uKToKCSAgQWxzbyBzZXQgTlRQIGJhc2UgdGltZSBvbiBuZXcgc2Vzc2lvbnMuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfbG9vcCksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfcXVlcnkpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfZ2V0X3Byb3BlcnR5KToKCSAgVXNlIHRoZSByaWdodCBsb2NrIHRvIHByb3RlY3Qgb3VyIHZhcmlhYmxlcy4KCSAgRml4IHNvbWUgY29tbWVudC4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIChnc3RfcnRwX3Nlc3Npb25fZ2V0Y2Fwc19zZW5kX3J0cCksCgkgIChnc3RfcnRwX3Nlc3Npb25fY2hhaW5fc2VuZF9ydHApLCAoY3JlYXRlX3NlbmRfcnRwX3NpbmspOgoJICBJbXBsZW1lbnQgZ2V0Y2FwcyBvbiB0aGUgc2VuZGVyIHNpbmtwYWQgc28gdGhhdCBwYXlsb2FkZXJzIGNhbiBuZWdvdGlhdGUKCSAgdGhlIHJpZ2h0IFNTUkMuCgoyMDA3LTA5LTEyIDIxOjIzOjQ3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvOiBWYXJpb3VzIGxlYWsgZml4ZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoY3JlYXRlX3Nlc3Npb24pLCAoZnJlZV9zZXNzaW9uKSwKCSAgKGdldF9jbGllbnQpLCAoZnJlZV9jbGllbnQpLCAoZ3N0X3J0cF9iaW5fYXNzb2NpYXRlKSwKCSAgKGZyZWVfc3RyZWFtKSwgKGdzdF9ydHBfYmluX2NsYXNzX2luaXQpLCAoZ3N0X3J0cF9iaW5fZGlzcG9zZSksCgkgIChnc3RfcnRwX2Jpbl9maW5hbGl6ZSk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfZmluYWxpemUpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzogKGdzdF9ydHBfcHRfZGVtdXhfcmVsZWFzZSk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAoZ3N0X3J0cF9zZXNzaW9uX2ZpbmFsaXplKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9zZXRfcHJvcGVydHkpLCAoZ3N0X3J0cF9zZXNzaW9uX2NoYWluX3JlY3ZfcnRwKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9jaGFpbl9zZW5kX3J0cCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkgIChnc3RfcnRwX3NzcmNfZGVtdXhfY2xhc3NfaW5pdCksIChnc3RfcnRwX3NzcmNfZGVtdXhfZGlzcG9zZSk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAocnRwX3Nlc3Npb25fZmluYWxpemUpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgVmFyaW91cyBsZWFrIGZpeGVzLgoKMjAwNy0wOS0xMiAxODowNDozMiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiBDYWxjdWxhdGUgYW5kIGNvbmZpZ3VyZSB0aGUgTlRQIGJhc2UgdGltZSBzbyB0aGF0IHdlIGNhbiBnZW5lcmF0ZSBiZXR0ZXIKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChjYWxjX250cF9uc19iYXNlKSwKCSAgKGdzdF9ydHBfYmluX2NoYW5nZV9zdGF0ZSksIChuZXdfcGF5bG9hZF9mb3VuZCksIChjcmVhdGVfc2VuZF9ydHApOgoJICBDYWxjdWxhdGUgYW5kIGNvbmZpZ3VyZSB0aGUgTlRQIGJhc2UgdGltZSBzbyB0aGF0IHdlIGNhbiBnZW5lcmF0ZSBiZXR0ZXIKCSAgTlRQIHRpbWVzIGluIFNSIHBhY2tldHMuCgkgIFNldCBjYXBzIG9uIG5ldyBnaG9zdHBhZC4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9sb29wKToKCSAgQ2xlYW4gZGVidWcgc3RhdGVtZW50LgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKGdzdF9ydHBfc2Vzc2lvbl9jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9pbml0KSwgKGdzdF9ydHBfc2Vzc2lvbl9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2dldF9wcm9wZXJ0eSksIChnZXRfY3VycmVudF9udHBfbnNfdGltZSksCgkgIChydGNwX3RocmVhZCksIChnc3RfcnRwX3Nlc3Npb25fZXZlbnRfcmVjdl9ydHBfc2luayksCgkgIChnc3RfcnRwX3Nlc3Npb25faW50ZXJuYWxfbGlua3MpLCAoZ3N0X3J0cF9zZXNzaW9uX2NoYWluX3JlY3ZfcnRwKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9ldmVudF9zZW5kX3J0cF9zaW5rKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9jaGFpbl9zZW5kX3J0cCksIChjcmVhdGVfcmVjdl9ydHBfc2luayksCgkgIChjcmVhdGVfc2VuZF9ydHBfc2luayk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5oOgoJICBBZGQgbnRwLW5zLWJhc2UgcHJvcGVydHkgdG8gY29udmVydCBydW5uaW5nX3RpbWUgdG8gTlRQIHRpbWUuCgkgIEhhbmRsZSBORVdTRUdNRU5UIGV2ZW50cyBvbiBzZW5kIGFuZCByZWN2IFJUUCBwYWRzIHNvIHRoYXQgd2UgY2FuCgkgIGNhbGN1bGF0ZSB0aGUgcnVubmluZyB0aW1lIGFuZCB0aHVzIE5UUCB0aW1lIG9mIHRoZSBwYWNrZXRzLgoJICBTaW1wbGlmeSBnZXR0aW5nIHRoZSBjdXJyZW50IE5UUCB0aW1lIHVzaW5nIHRoZSBwaXBlbGluZSBjbG9jay4KCSAgSW1wbGVtZW50IGludGVybmFsIGxpbmtzIGZ1bmN0aW9ucy4KCSAgVXNlIHRoZSBidWZmZXIgdGltZXN0YW1wIHRvIGNhbGN1bGF0ZSB0aGUgTlRQIHRpbWUgaW5zdGVhZCBvZiB0aGUgY2xvY2suCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6IChjcmVhdGVfZGVtdXhfcGFkX2Zvcl9zc3JjKSwKCSAgKGdzdF9ydHBfc3NyY19kZW11eF9pbml0KSwgKGdzdF9ydHBfc3NyY19kZW11eF9zaW5rX2V2ZW50KSwKCSAgKGdzdF9ydHBfc3NyY19kZW11eF9jaGFpbiksIChnc3RfcnRwX3NzcmNfZGVtdXhfcnRjcF9jaGFpbiksCgkgIChnc3RfcnRwX3NzcmNfZGVtdXhfaW50ZXJuYWxfbGlua3MpLAoJICAoZ3N0X3J0cF9zc3JjX2RlbXV4X3NyY19xdWVyeSk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4Lmg6CgkgIEltcGxlbWVudCBpbnRlcm5hbCBsaW5rcyBmdW5jdGlvbi4KCSAgQ2FsY3VsYXRlIHRoZSBkaWZmIGJldHdlZW4gZGlmZmVyZW50IHN0cmVhbXMsIHRoaXMgbWlnaHQgYmUgdXNlZCBsYXRlcgoJICB0byBnZXQgdGhlIGludGVyIHN0cmVhbSBsYXRlbmN5LgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKHJ0cF9zZXNzaW9uX3NlbmRfcnRwKToKCSAgU2ltcGxlIGNsZWFudXAuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6IChydHBfc291cmNlX2luaXQpLAoJICAoY2FsY3VsYXRlX2ppdHRlciksIChydHBfc291cmNlX3NlbmRfcnRwKSwgKHJ0cF9zb3VyY2VfZ2V0X25ld19zcik6CgkgIE1ha2UgdGhlIGNsb2NrIHNrZXcgd2luZG93IGEgbGl0dGxlIGJpZ2dlci4KCSAgQXBwbHkgdGhlIGNsb2NrIHNrZXcgdG8gYWxsIGJ1ZmZlcnMsIG5vdCBqdXN0IG9uZSB3aXRoIGEgbmV3IHRpbWVzdGFtcC4KCSAgQ2FsY3VsYXRlIGFuZCBkZWJ1ZyBzZW5kZXIgY2xvY2sgZHJpZnQuCgkgIFVzZSBleHRlbmRlZCBsYXN0IHRpbWVzdGFtcCB0byBpbnRlcnBvbGxhdGUgZm9yIFNSIHJlcG9ydHMuCgoyMDA3LTA5LTA0IDE1OjIzOjM0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiBNYWtlIGNvbXBpbGVyIGhhcHB5OiBmaXggY29tcGlsYXRpb24gd2l0aCAtV2FsbCAtV2Vycm9yICgjNDczNTYyKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICBNYWtlIGNvbXBpbGVyIGhhcHB5OiBmaXggY29tcGlsYXRpb24gd2l0aCAtV2FsbCAtV2Vycm9yCgkgICgjNDczNTYyKS4KCjIwMDctMDktMDMgMjE6MTk6MzQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci86IFVwZGF0ZWQgZXhhbXBsZSBwaXBlbGluZXMgaW4gZG9jcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLW1hcnNoYWwubGlzdDoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGdzdF9ydHBfYmluX2dldF9jbGllbnQpLAoJICAoZ3N0X3J0cF9iaW5fYXNzb2NpYXRlKSwgKGdzdF9ydHBfYmluX3N5bmNfY2hhaW4pLCAoY3JlYXRlX3N0cmVhbSksCgkgIChnc3RfcnRwX2Jpbl9pbml0KSwgKGNhcHNfY2hhbmdlZCksIChuZXdfc3NyY19wYWRfZm91bmQpLAoJICAoY3JlYXRlX3JlY3ZfcnRwKSwgKGNyZWF0ZV9yZWN2X3J0Y3ApLCAoY3JlYXRlX3NlbmRfcnRwKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaDoKCSAgVXBkYXRlZCBleGFtcGxlIHBpcGVsaW5lcyBpbiBkb2NzLgoJICBIYW5kbGUgc3luY19ydGNwIGJ1ZmZlcnMgZnJvbSB0aGUgU1NSQyBkZW11eGVyIHRvIHBlcmZvcm0gbGlwLXN5bmMuCgkgIFNldCB0aGUgZGVmYXVsdCBsYXRlbmN5IGNvcnJlY3RseS4KCSAgQWRkIHNvbWUgbW9yZSBwb2ludHMgd2hlcmUgd2UgY2FuIGdldCBjYXBzLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NsYXNzX2luaXQpLAoJICAoZ3N0X2ppdHRlcl9idWZmZXJfc2lua19wYXJzZV9jYXBzKSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9sb29wKSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9xdWVyeSksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9nZXRfcHJvcGVydHkpOgoJICBBZGQgdHMtb2Zmc2V0IHByb3BlcnR5IHRvIGNvbnRyb2wgdGltZXN0YW1waW5nLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKGdzdF9ydHBfc2Vzc2lvbl9jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9pbml0KSwgKGdzdF9ydHBfc2Vzc2lvbl9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2dldF9wcm9wZXJ0eSksIChnZXRfY3VycmVudF9udHBfbnNfdGltZSksCgkgIChydGNwX3RocmVhZCksIChzdG9wX3J0Y3BfdGhyZWFkKSwgKGdzdF9ydHBfc2Vzc2lvbl9jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX3NlbmRfcnRjcCksIChnc3RfcnRwX3Nlc3Npb25fc3luY19ydGNwKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9jYWNoZV9jYXBzKSwgKGdzdF9ydHBfc2Vzc2lvbl9jbG9ja19yYXRlKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9zaW5rX3NldGNhcHMpLCAoZ3N0X3J0cF9zZXNzaW9uX2NoYWluX3JlY3ZfcnRwKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9ldmVudF9zZW5kX3J0cF9zaW5rKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9jaGFpbl9zZW5kX3J0cCksIChjcmVhdGVfcmVjdl9ydHBfc2luayksCgkgIChjcmVhdGVfcmVjdl9ydGNwX3NpbmspLCAoY3JlYXRlX3NlbmRfcnRwX3NpbmspLAoJICAoY3JlYXRlX3NlbmRfcnRjcF9zcmMpOgoJICBWYXJpb3VzIGNsZWFudXBzLgoJICBGZWVkIHJ0cHNlc3Npb24gbWFuYWdlciB3aXRoIE5UUCB0aW1lIGJhc2VkIG9uIHBpcGVsaW5lIGNsb2NrIHdoZW4KCSAgaGFuZGxpbmcgUlRQIHBhY2tldHMgYW5kIFJUQ1AgdGltZW91dHMuCgkgIFBlcmZvcm0gYWxsIFJUQ1Agd2l0aCB0aGUgc3lzdGVtIGNsb2NrLgoJICBTZXQgY2FwcyBvbiBSVENQIG91dGdvaW5nIGJ1ZmZlcnMuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6IChmaW5kX2RlbXV4X3BhZF9mb3Jfc3NyYyksCgkgIChjcmVhdGVfZGVtdXhfcGFkX2Zvcl9zc3JjKSwgKGdzdF9ydHBfc3NyY19kZW11eF9iYXNlX2luaXQpLAoJICAoZ3N0X3J0cF9zc3JjX2RlbXV4X2luaXQpLCAoZ3N0X3J0cF9zc3JjX2RlbXV4X3NpbmtfZXZlbnQpLAoJICAoZ3N0X3J0cF9zc3JjX2RlbXV4X3J0Y3Bfc2lua19ldmVudCksIChnc3RfcnRwX3NzcmNfZGVtdXhfY2hhaW4pLAoJICAoZ3N0X3J0cF9zc3JjX2RlbXV4X3J0Y3BfY2hhaW4pOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5oOgoJICBBbHNvIGRlbXV4IFJUQ1AgbWVzc2FnZXMuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAocnRwX3Nlc3Npb25fc2V0X2NhbGxiYWNrcyksCgkgICh1cGRhdGVfYXJyaXZhbF9zdGF0cyksIChydHBfc2Vzc2lvbl9wcm9jZXNzX3J0cCksCgkgIChydHBfc2Vzc2lvbl9wcm9jZXNzX3JiKSwgKHJ0cF9zZXNzaW9uX3Byb2Nlc3Nfc3IpLAoJICAocnRwX3Nlc3Npb25fcHJvY2Vzc19yciksIChydHBfc2Vzc2lvbl9wcm9jZXNzX3J0Y3ApLAoJICAocnRwX3Nlc3Npb25fc2VuZF9ydHApLCAocnRwX3Nlc3Npb25fc2VuZF9ieWUpLAoJICAoc2Vzc2lvbl9zdGFydF9ydGNwKSwgKHNlc3Npb25fcmVwb3J0X2Jsb2NrcyksIChzZXNzaW9uX2NsZWFudXApLAoJICAocnRwX3Nlc3Npb25fb25fdGltZW91dCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBSZW1vdmUgdGhlIGdldF90aW1lIGNhbGxiYWNrLCB0aGUgR1N0cmVhbWVyIHBhcnQgd2lsbCBmZWVkIHVzIHdpdGgKCSAgZW5vdWdoIHRpbWluZyBpbmZvcm1hdGlvbi4KCSAgU3BsaXQgc3luYyB0aW1pbmcgYW5kIFJUQ1AgdGltaW5nIGluZm9ybWF0aW9uLgoJICBGYWN0b3Igb3V0IGNvbW1vbiBSQiBoYW5kbGluZyBmb3IgU1IgYW5kIFJSLgoJICBTZW5kIG91dCBTUiBSVENQIHBhY2tldHMgZm9yIGxpcC1zeW5jLgoJICBNb3ZlIFNSIGFuZCBSUiBwYWNrZXQgaW5mbyBnZW5lcmF0aW9uIHRvIHRoZSBzb3VyY2UuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6IChydHBfc291cmNlX2luaXQpLAoJICAocnRwX3NvdXJjZV91cGRhdGVfY2FwcyksIChnZXRfY2xvY2tfcmF0ZSksIChjYWxjdWxhdGVfaml0dGVyKSwKCSAgKHJ0cF9zb3VyY2VfcHJvY2Vzc19ydHApLCAocnRwX3NvdXJjZV9zZW5kX3J0cCksCgkgIChydHBfc291cmNlX3Byb2Nlc3Nfc3IpLCAocnRwX3NvdXJjZV9wcm9jZXNzX3JiKSwKCSAgKHJ0cF9zb3VyY2VfZ2V0X25ld19zciksIChydHBfc291cmNlX2dldF9uZXdfcmIpLAoJICAocnRwX3NvdXJjZV9nZXRfbGFzdF9zcik6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmg6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc3RhdHMuaDoKCSAgVXNlIGNhcHMgb24gaW5jb21taW5nIGJ1ZmZlcnMgdG8gZ2V0IHRpbWluZyBpbmZvcm1hdGlvbiB3aGVuIHRoZXkgYXJlCgkgIHRoZXJlLgoJICBDYWxjdWxhdGUgY2xvY2sgc2NldyBvZiB0aGUgcmVjZWl2ZXIgY29tcGFyZWQgdG8gdGhlIHNlbmRlciBhbmQgYWRqdXN0CgkgIHRoZSBydHAgdGltZXN0YW1wcy4KCSAgQ2FsY3VsYXRlIHRoZSByb3VuZCB0cmlwIGluIHNvdXJjZXMuCgkgIERvIFNSIGFuZCBSUiBjYWxjdWxhdGlvbnMgaW4gdGhlIHNvdXJjZS4KCjIwMDctMDgtMzEgMTU6MjY6MTQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzogVXNlIGV4dGVuZGVkIHRpbWVzdGFtcCB0byByZWxlYXNlIGJ1ZmZlcnMgZnJvbSB0aGUgaml0dGVyYnVmZmVyIHNvIHRoYXQgd2UgY2FuIGguLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfZmx1c2hfc3RvcCksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2hhbmdlX3N0YXRlKSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9sb29wKToKCSAgVXNlIGV4dGVuZGVkIHRpbWVzdGFtcCB0byByZWxlYXNlIGJ1ZmZlcnMgZnJvbSB0aGUgaml0dGVyYnVmZmVyIHNvIHRoYXQKCSAgd2UgY2FuIGhhbmRsZSB0aGUgcnRwIHdyYXBhcm91bmQgY29ycmVjdGx5LgoKMjAwNy0wOC0yOSAxNjo1NjoyNyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOiBJbXByb3ZlIENvbW1lbnRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9sb29wKToKCSAgSW1wcm92ZSBDb21tZW50cy4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChzdG9wX3J0Y3BfdGhyZWFkKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9jaGFuZ2Vfc3RhdGUpLCAoZ3N0X3J0cF9zZXNzaW9uX3BhcnNlX2NhcHMpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2Nsb2NrX3JhdGUpLCAoZ3N0X3J0cF9zZXNzaW9uX3Npbmtfc2V0Y2FwcyksCgkgIChnc3RfcnRwX3Nlc3Npb25fZXZlbnRfc2VuZF9ydHBfc2luayksIChjcmVhdGVfcmVjdl9ydHBfc2luayksCgkgIChjcmVhdGVfc2VuZF9ydHBfc2luayk6CgkgIEFsc28gcGFyc2UgdGhlIHNpbmsgY2FwcyBmb3IgY2xvY2stcmF0ZSBpbnN0ZWFkIG9mIG9ubHkgcmVseWluZyBvbiB0aGUKCSAgcmVzdWx0IG9mIHRoZSBzaWduYWwuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6IChydHBfc291cmNlX3NlbmRfcnRwKToKCSAgTWFrZSBzdXJlIHdlIGZldGNoIHRoZSBjbG9jayByYXRlIGZvciBwYXlsb2FkcyB3ZSBhcmUgc2VuZGluZyBvdXQgc28KCSAgdGhhdCB3ZSBjYW4gdXNlIGl0IGZvciBTUiByZXBvcnRzLgoKMjAwNy0wOC0yOSAwMToyMjo0MyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uKjogRGlzdHJpYnV0ZSBzeW5jaHJvbmlzYXRpb24gcGFyYW1ldGVycyB0byB0aGUgc2Vzc2lvbiBtYW5hZ2VyIHNvIHRoYXQgaXQgY2FuIGdlbmVyYXRlIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChzdG9wX3J0Y3BfdGhyZWFkKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2V2ZW50X3NlbmRfcnRwX3NpbmspOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uaDoKCSAgRGlzdHJpYnV0ZSBzeW5jaHJvbmlzYXRpb24gcGFyYW1ldGVycyB0byB0aGUgc2Vzc2lvbiBtYW5hZ2VyIHNvIHRoYXQgaXQKCSAgY2FuIGdlbmVyYXRlIGNvcnJlY3QgU1IgcGFja2V0cyBmb3IgbGlwLXN5bmMuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAocnRwX3Nlc3Npb25fc2V0X2Jhc2VfdGltZSksCgkgIChydHBfc2Vzc2lvbl9zZXRfdGltZXN0YW1wX3N5bmMpLCAoc2Vzc2lvbl9zdGFydF9ydGNwKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIEFkZCBtZXRob2RzIGZvciBzZXR0aW5nIHN5bmMgcGFyYW1ldGVycy4KCSAgU2V0IGNvcnJlY3QgUlRQIHRpbWUgaW4gU1IgcGFja2V0cyB1c2luZyB0aGUgc3luYyBwYXJhbXMuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6IChydHBfc291cmNlX3NlbmRfcnRwKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuaDoKCSAgUmVjb3JkIGxhc3QgUlRQIDwtPiBHU1QgdGltZXN0YW1wIHNvIHRoYXQgd2UgY2FuIHVzZSB0aGVtIHRvIGNvbnZlcnQgTlRQCgkgIHRvIFJUUCB0aW1lc3RhbXBzIGluIFNSIHBhY2tldHMuCgoyMDA3LTA4LTI4IDIwOjMwOjE2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IEFkZCBzb21lIG1vcmUgYWR2YW5jZWQgZXhhbXBsZSBwaXBlbGluZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoZ3N0X3J0cF9iaW5fY2xlYXJfcHRfbWFwKToKCSAgQWRkIHNvbWUgbW9yZSBhZHZhbmNlZCBleGFtcGxlIHBpcGVsaW5lcy4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChydGNwX3RocmVhZCksCgkgIChzdG9wX3J0Y3BfdGhyZWFkKSwgKGdzdF9ydHBfc2Vzc2lvbl9zZW5kX3J0Y3ApOgoJICBBZGQgc29tZSBkZWJ1ZyBhbmQgRklYTUUuCgkgIFJlbGVhc2UgTE9DSyB3aGVuIHBlcmZvcm1pbmcgc2Vzc2lvbiBjbGVhbnVwLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKHNlc3Npb25fcmVwb3J0X2Jsb2Nrcyk6CgkgIEFkZCBzb21lIGRlYnVnLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOiAoY2FsY3VsYXRlX2ppdHRlciksCgkgIChydHBfc291cmNlX3NlbmRfcnRwKToKCSAgTWFrZSBzdXJlIHdlIGFsd2F5cyBzZW5kIFJUUCBwYWNrZXRzIHdpdGggdGhlIHNlc3Npb24gU1NSQy4KCjIwMDctMDgtMjcgMjE6MTc6MjEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzogV2hlbiBzeW5jaHJvbml6aW5nIGJ1ZmZlcnMsIHRha2UgcGVlciBsYXRlbmN5IGludG8gYWNjb3VudC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2hhbmdlX3N0YXRlKSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9sb29wKSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9xdWVyeSk6CgkgIFdoZW4gc3luY2hyb25pemluZyBidWZmZXJzLCB0YWtlIHBlZXIgbGF0ZW5jeSBpbnRvIGFjY291bnQuCgkgIERvbid0IHRyeSB0byBhZGQgb3VyIGxhdGVuY3kgdG8gaW52YWxpZCBwZWVyIG1heCBsYXRlbmN5IHZhbHVlcy4KCjIwMDctMDgtMjMgMjE6Mzk6NTggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBSZW5hbWUgYWxsIEdzdFJUUEZvbyBzdHJ1Y3RzIHRvIEdzdFJ0cEZvbyBzbyB0aGF0IEdTVF9CT0lMRVJQTEFURSByZWdpc3RlcnMgYSBHVHlwZSB0aGF0J3MgZGlmZmVyZW50IHRoYW4gdGhlIEdzdFJUUEYuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5zaWduYWxzOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGNsaWVudC5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGNsaWVudC5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4Lmg6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguaDoKCSAgUmVuYW1lIGFsbCBHc3RSVFBGb28gc3RydWN0cyB0byBHc3RSdHBGb28gc28gdGhhdCBHU1RfQk9JTEVSUExBVEUKCSAgcmVnaXN0ZXJzIGEgR1R5cGUgdGhhdCdzIGRpZmZlcmVudCB0aGFuIHRoZSBHc3RSVFBGb28gdHlwZXMgdGhhdAoJICBmYXJzaWdodCByZWdpc3RlcnMgKGx1Y2tpbHkgR1R5cGUgbmFtZXMgYXJlIGNhc2Ugc2Vuc2l0aXZlKS4gU2hvdWxkCgkgIGZpbmFsbHkgZml4ICM0MzA2NjQuCgoyMDA3LTA4LTIxIDE3OjE4OjI5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6IFdoZW4gZHJvcC1vbi1sYXRlbmN5IGlzIHNldCBidXQgd2UgaGF2ZSBubyBsYXRlbmN5IGNvbmZpZ3VyZWQsIGp1c3QgcHVzaCB0aGUgYnVmLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NoYWluKSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9zZXRfcHJvcGVydHkpOgoJICBXaGVuIGRyb3Atb24tbGF0ZW5jeSBpcyBzZXQgYnV0IHdlIGhhdmUgbm8gbGF0ZW5jeSBjb25maWd1cmVkLCBqdXN0IHB1c2gKCSAgdGhlIGJ1ZmZlciBhcyBmYXN0IGFzIHBvc3NpYmxlLgoJICBGaXggdHlwbyBpbiBjb21tZW50LgoKMjAwNy0wOC0yMSAxNjowNDo0NyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci4qOiBGaXggdW5kZWZpbmVkIG92ZXJmbG93IHByb25lIHRzX2RpZmYgaGFuZGxpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJICAocnRwX2ppdHRlcl9idWZmZXJfZ2V0X3RzX2RpZmYpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5oOgoJICBGaXggdW5kZWZpbmVkIG92ZXJmbG93IHByb25lIHRzX2RpZmYgaGFuZGxpbmcuCgoyMDA3LTA4LTE2IDExOjQwOjE2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6IEZpeCBFT1MgaGFuZGxpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX3NpbmtfZXZlbnQpLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NoYWluKSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9sb29wKToKCSAgRml4IEVPUyBoYW5kbGluZy4KCSAgQ29udmVydCBzb21lIERFQlVHIGludG8gV0FSTklOR3MuCgkgIFBhdXNlIHRhc2sgd2hlbiBmbHVzaGluZy4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChnc3RfcnRwX3Nlc3Npb25fY2xhc3NfaW5pdCksCgkgIChydGNwX3RocmVhZCksIChnc3RfcnRwX3Nlc3Npb25fZXZlbnRfcmVjdl9ydGNwX3NpbmspOgoJICBVc2Ugc3lzdGVtIGNsb2NrIGZvciBSVENQIHNlc3Npb24gbWFuYWdlbWVudCB0aW1lb3V0cy4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChvbl9uZXdfc3NyYyksIChvbl9zc3JjX2NvbGxpc2lvbiksCgkgIChvbl9zc3JjX3ZhbGlkYXRlZCksIChvbl9ieWVfc3NyYyksIChvbl9ieWVfdGltZW91dCksIChvbl90aW1lb3V0KToKCSAgUmVsZWFzZSB0aGUgc2Vzc2lvbiBsb2NrIHdoZW4gZW1pdGluZyBzaWduYWxzLgoKMjAwNy0wOC0xMyAwNjoxNjo0MCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6IEluY2x1ZGUgc3RkbGliLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgSW5jbHVkZSBzdGRsaWIuCgoyMDA3LTA4LTEwIDE3OjE2OjUzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvOiBSZW1vdmUgY29tcGxpY2F0ZWQgYXN5bmMgcXVldWUgYW5kIHJlcGxhY2Ugd2l0aCBtb3JlIHNpbXBsZSBqaXR0ZXJidWZmZXIgY29kZSB3aGlsZSBhbHNvIGZpeGluZyBzb21lLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2FzeW5jX2ppdHRlcl9xdWV1ZS5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2FzeW5jX2ppdHRlcl9xdWV1ZS5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOiAocnRwX2ppdHRlcl9idWZmZXJfY2xhc3NfaW5pdCksCgkgIChydHBfaml0dGVyX2J1ZmZlcl9pbml0KSwgKHJ0cF9qaXR0ZXJfYnVmZmVyX2ZpbmFsaXplKSwKCSAgKHJ0cF9qaXR0ZXJfYnVmZmVyX25ldyksIChjb21wYXJlX3NlcW51bSksCgkgIChydHBfaml0dGVyX2J1ZmZlcl9pbnNlcnQpLCAocnRwX2ppdHRlcl9idWZmZXJfcG9wKSwKCSAgKHJ0cF9qaXR0ZXJfYnVmZmVyX2ZsdXNoKSwgKHJ0cF9qaXR0ZXJfYnVmZmVyX251bV9wYWNrZXRzKSwKCSAgKHJ0cF9qaXR0ZXJfYnVmZmVyX2dldF90c19kaWZmKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuaDoKCSAgUmVtb3ZlIGNvbXBsaWNhdGVkIGFzeW5jIHF1ZXVlIGFuZCByZXBsYWNlIHdpdGggbW9yZSBzaW1wbGUgaml0dGVyYnVmZmVyCgkgIGNvZGUgd2hpbGUgYWxzbyBmaXhpbmcgc29tZSBidWdzLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi1tYXJzaGFsLmxpc3Q6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChvbl9uZXdfc3NyYyksIChvbl9zc3JjX2NvbGxpc2lvbiksCgkgIChvbl9zc3JjX3ZhbGlkYXRlZCksIChvbl9ieWVfc3NyYyksIChvbl9ieWVfdGltZW91dCksIChvbl90aW1lb3V0KSwKCSAgKGNyZWF0ZV9zZXNzaW9uKSwgKGdzdF9ydHBfYmluX2NsYXNzX2luaXQpLCAoY3JlYXRlX3JlY3ZfcnRwKSwKCSAgKGNyZWF0ZV9zZW5kX3J0cCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfaW5pdCksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfZGlzcG9zZSksCgkgIChnc3Rfaml0dGVyX2J1ZmZlcl9zaW5rX3BhcnNlX2NhcHMpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2ZsdXNoX3N0YXJ0KSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9mbHVzaF9zdG9wKSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX3NpbmtfZXZlbnQpLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NoYWluKSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9sb29wKSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9zZXRfcHJvcGVydHkpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKG9uX25ld19zc3JjKSwKCSAgKG9uX3NzcmNfY29sbGlzaW9uKSwgKG9uX3NzcmNfdmFsaWRhdGVkKSwgKG9uX2J5ZV9zc3JjKSwKCSAgKG9uX2J5ZV90aW1lb3V0KSwgKG9uX3RpbWVvdXQpLCAoZ3N0X3J0cF9zZXNzaW9uX2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2luaXQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChvbl9ieWVfc3NyYyksIChzZXNzaW9uX2NsZWFudXApOgoJICBVc2UgbmV3IGppdHRlcmJ1ZmZlciBjb2RlLgoJICBFeHBvc2Ugc29tZSBuZXcgc2lnbmFscyBpbiBwcmVwYXJhdGlvbiBmb3IgaGFuZGxpbmcgRU9TLgoKMjAwNy0wNy0xOCAwNzozNTozMiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgQWRkIHN0ZGxpYiBpbmNsdWRlIChmcmVlLCBhdG9pLCBleGl0KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXhhbXBsZXMvYXBwL2FwcHNyY19leC5jOgoJICAqIGV4YW1wbGVzL3N3aXRjaC9zd2l0Y2hlci5jOgoJICAqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6CgkgICogZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLmM6CgkgICogZXh0L3gyNjQvZ3N0eDI2NGVuYy5jOgoJICAqIGdzdC9tdmUvbXZlYXVkaW9lbmMuYzogKG12ZV9jb21wcmVzc19hdWRpbyk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwY2xpZW50LmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgICogZ3N0L3NwZWN0cnVtL2RlbW8tYXVkaW90ZXN0LmM6CgkgICogZ3N0L3NwZWN0cnVtL2RlbW8tb3Nzc3JjLmM6CgkgICogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgQWRkIHN0ZGxpYiBpbmNsdWRlIChmcmVlLCBhdG9pLCBleGl0KS4KCjIwMDctMDYtMjIgMjA6MjM6MTggKzAwMDAgIEplbnMgR3JhbnNldWVyIDxqZW5zZ3JAZ214Lm5ldD4KCgkgIGdzdC86IEJ1aWxkIGZpeGVzIGZvciBnY2MtMi45eCAobm8gbWlkLWJsb2NrIHZhcmlhYmxlIGRlY2xhcmF0aW9ucyBldGMuKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBKZW5zIEdyYW5zZXVlciAgPGplbnNnciBhdCBnbXggbmV0PgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIxMGJhbmRzLmM6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIzYmFuZHMuYzoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcm5iYW5kcy5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2FzeW5jX2ppdHRlcl9xdWV1ZS5jOgoJICAoYXN5bmNfaml0dGVyX3F1ZXVlX3B1c2hfc29ydGVkKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jaGFpbik6CgkgICogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guYzogKGdzdF9zd2l0Y2hfY2hhaW4pOgoJICBCdWlsZCBmaXhlcyBmb3IgZ2NjLTIuOXggKG5vIG1pZC1ibG9jayB2YXJpYWJsZSBkZWNsYXJhdGlvbnMgZXRjLikuCgkgIEZpeGVzICM0NTAxODUuCgoyMDA3LTA1LTI4IDE2OjM3OjQ3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgUmVuYW1lIGVsZW1lbnRzIHRvIGF2b2lkIGNvbmZsaWN0IHdpdGggZmFyc2lnaHQgZWxlbWVudHMgd2l0aCB0aGUgc2FtZSBuYW1lLiBGaXhlcyAjNDMwNjY0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChjcmVhdGVfc2Vzc2lvbiksIChjcmVhdGVfc3RyZWFtKSwKCSAgKGdzdF9ydHBfYmluX2NsYXNzX2luaXQpLCAoY3JlYXRlX3JlY3ZfcnRwKSwgKGNyZWF0ZV9yZWN2X3J0Y3ApLAoJICAoY3JlYXRlX3NlbmRfcnRwKSwgKGNyZWF0ZV9ydGNwKSwgKGdzdF9ydHBfYmluX3JlcXVlc3RfbmV3X3BhZCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwY2xpZW50LmM6IChjcmVhdGVfc3RyZWFtKSwKCSAgKGdzdF9ydHBfY2xpZW50X3JlcXVlc3RfbmV3X3BhZCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2xlYXJfcHRfbWFwKSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9sb29wKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtYW5hZ2VyLmM6IChwbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKGdzdF9ydHBfc2Vzc2lvbl9jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9yZXF1ZXN0X25ld19wYWQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJICBSZW5hbWUgZWxlbWVudHMgdG8gYXZvaWQgY29uZmxpY3Qgd2l0aCBmYXJzaWdodCBlbGVtZW50cyB3aXRoIHRoZSBzYW1lCgkgIG5hbWUuIEZpeGVzICM0MzA2NjQuCgoyMDA3LTA1LTIzIDEzOjA4OjUyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgRG9jdW1lbnQgc3R1ZmYuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChnc3RfcnRwX2Jpbl9jbGFzc19pbml0KToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBjbGllbnQuYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jbGVhcl9wdF9tYXApLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2xvb3ApOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzogKGdzdF9ydHBfcHRfZGVtdXhfY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwX3B0X2RlbXV4X2NsZWFyX3B0X21hcCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKGdzdF9ydHBfc2Vzc2lvbl9jbGFzc19pbml0KSwKCSAgKHJ0Y3BfdGhyZWFkKSwgKGdzdF9ydHBfc2Vzc2lvbl9jbGVhcl9wdF9tYXApOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSAgKGdzdF9ydHBfc3NyY19kZW11eF9jbGFzc19pbml0KToKCSAgRG9jdW1lbnQgc3R1ZmYuCgkgIEFkZCBjbGVhci1wdC1tYXAgYWN0aW9uIHNpZ25hbCB3aGVyZSBuZWVkZWQuCgoyMDA3LTA1LTE1IDEzOjI5OjUzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOiBXZSBhbHdheXMgdXNlIGZpeGVkIGNhcHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzogKGdzdF9ydHBfcHRfZGVtdXhfY2hhaW4pOgoJICBXZSBhbHdheXMgdXNlIGZpeGVkIGNhcHMuCgoyMDA3LTA1LTE1IDAzOjQ1OjQ1ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiBnX2hhc2hfdGFibGVfcmVtb3ZlX2FsbCgpIG9ubHkgZXhpc3RzIGluIDIuMTIuICBXb3JrIGFyb3VuZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIGdfaGFzaF90YWJsZV9yZW1vdmVfYWxsKCkgb25seSBleGlzdHMgaW4gMi4xMi4gIFdvcmsgYXJvdW5kLgoKMjAwNy0wNS0xNCAxNToyODozNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2FzeW5jX2ppdHRlcl9xdWV1ZS5jOiBGaXggbGVhayB3aGVuIGZsdXNoaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9hc3luY19qaXR0ZXJfcXVldWUuYzoKCSAgKGFzeW5jX2ppdHRlcl9xdWV1ZV9zZXRfZmx1c2hpbmdfdW5sb2NrZWQpOgoJICBGaXggbGVhayB3aGVuIGZsdXNoaW5nLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoZ3N0X3J0cF9iaW5fY2xlYXJfcHRfbWFwKSwKCSAgKGdzdF9ydHBfYmluX2NsYXNzX2luaXQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJICBBZGQgY2xlYXItcHQtbWFwIHNpZ25hbC4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9mbHVzaF9zdG9wKSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9zaW5rX2V2ZW50KSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9sb29wKToKCSAgSW5pdCBjbG9jay1yYXRlIHRvIC0xIHRvIG1hcmsgdW5rbm93IGNsb2NrIHJhdGUuCgkgIEZpeCBmbHVzaGluZy4KCjIwMDctMDUtMTAgMTQ6MDI6MDcgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYyAoZ3N0X3F0ZGVtdXhfbW92ZV9zdHJlYW0sIGdzdF9xdGRlbXV4X2xvb3Bfc3RhdGVfaGVhZGVyLCBnc3RfcXRkZW11eF9hY3RpdmF0ZV9zZWdtZW50LCBnc3RfcXRkZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmMgKGdzdF9xdGRlbXV4X21vdmVfc3RyZWFtLAoJICBnc3RfcXRkZW11eF9sb29wX3N0YXRlX2hlYWRlciwgZ3N0X3F0ZGVtdXhfYWN0aXZhdGVfc2VnbWVudCwKCSAgZ3N0X3F0ZGVtdXhfcHJlcGFyZV9jdXJyZW50X3NhbXBsZSwgZ3N0X3F0ZGVtdXhfY29tYmluZV9mbG93cywKCSAgZ3N0X3F0ZGVtdXhfbG9vcF9zdGF0ZV9tb3ZpZSwgZ3N0X3F0ZGVtdXhfbG9vcCwKCSAgcXRkZW11eF9wYXJzZV9zZWdtZW50cywgcXRkZW11eF9wYXJzZV90cmFrKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmMgKHJ0cF9zZXNzaW9uX2dldF9iYW5kd2lkdGgsCgkgIHJ0cF9zZXNzaW9uX2dldF9ydGNwX2JhbmR3aWR0aCwgcnRwX3Nlc3Npb25fZ2V0X2NuYW1lLAoJICBydHBfc2Vzc2lvbl9nZXRfbmFtZSwgcnRwX3Nlc3Npb25fZ2V0X2VtYWlsLCBydHBfc2Vzc2lvbl9nZXRfcGhvbmUsCgkgIHJ0cF9zZXNzaW9uX2dldF9sb2NhdGlvbiwgcnRwX3Nlc3Npb25fZ2V0X3Rvb2wsCgkgIHJ0cF9zZXNzaW9uX3Byb2Nlc3NfYnllLCBzZXNzaW9uX3JlcG9ydF9ibG9ja3MpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jIChydHBfc291cmNlX3Byb2Nlc3NfcnRwLAoJICBydHBfc291cmNlX3NlbmRfcnRwLCBydHBfc291cmNlX3Byb2Nlc3Nfc3IsIHJ0cF9zb3VyY2VfcHJvY2Vzc19yYik6CgkgIE1vcmUgZm9ybWF0IGFyZyBmaXhpbmcgKHNwb3R0ZWQgYnkgQWxpIFNhYmlsIDxhbGkuc2FiaWxAZ21haWwuY29tPikuCgkgICogZ3N0L3N3aXRjaC9NYWtlZmlsZS5hbToKCSAgQWRkIHJlcXVpcmUgbGlicmFyaWVzKHNwb3R0ZWQgYnkgQWxpIFNhYmlsIDxhbGkuc2FiaWxAZ21haWwuY29tPikuCgoyMDA3LTA1LTEwIDEyOjM4OjQ5ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiBnc3QvcnRwbWFuYWdlci9hc3luY19qaXR0ZXJfcXVldWUuYzoKCSAgZ3N0L3J0cG1hbmFnZXIvYXN5bmNfaml0dGVyX3F1ZXVlLmMgKHRhaWxfYnVmZmVyX2R1cmF0aW9uLCBhc3luY19qaXR0ZXJfcXVldWVfcmVmLCBhc3luY19qaXR0ZXJfcXVldWVfcmVmX3VubG9ja2VkLCBhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2FzeW5jX2ppdHRlcl9xdWV1ZS5jICh0YWlsX2J1ZmZlcl9kdXJhdGlvbiwKCSAgYXN5bmNfaml0dGVyX3F1ZXVlX3JlZiwgYXN5bmNfaml0dGVyX3F1ZXVlX3JlZl91bmxvY2tlZCwKCSAgYXN5bmNfaml0dGVyX3F1ZXVlX3NldF9sb3dfdGhyZXNob2xkLAoJICBhc3luY19qaXR0ZXJfcXVldWVfbGVuZ3RoX3RzX3VuaXRzX3VubG9ja2VkLAoJICBhc3luY19qaXR0ZXJfcXVldWVfdW5yZWZfYW5kX3VubG9jaywgYXN5bmNfaml0dGVyX3F1ZXVlX3VucmVmLAoJICBhc3luY19qaXR0ZXJfcXVldWVfbG9jaywgYXN5bmNfaml0dGVyX3F1ZXVlX3B1c2gsCgkgIGFzeW5jX2ppdHRlcl9xdWV1ZV9wdXNoX3VubG9ja2VkLCBhc3luY19qaXR0ZXJfcXVldWVfcHVzaF9zb3J0ZWQsCgkgIGFzeW5jX2ppdHRlcl9xdWV1ZV9wb3BfaW50ZXJuX3VubG9ja2VkLCBhc3luY19qaXR0ZXJfcXVldWVfcG9wLAoJICBhc3luY19qaXR0ZXJfcXVldWVfcG9wX3VubG9ja2VkLCBhc3luY19qaXR0ZXJfcXVldWVfbGVuZ3RoX3VubG9ja2VkLAoJICBhc3luY19qaXR0ZXJfcXVldWVfc2V0X2ZsdXNoaW5nX3VubG9ja2VkLAoJICBhc3luY19qaXR0ZXJfcXVldWVfdW5zZXRfZmx1c2hpbmdfdW5sb2NrZWQpOgoJICBGb3JtYXQgYXJnIGZpeCAoc3BvdHRlZCBieSBBbGkgU2FiaWwgPGFsaS5zYWJpbEBnbWFpbC5jb20+KQoKMjAwNy0wNS0wOSAxMToyNDoyMiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOiBQYXNzIHF1ZXJpZXMgdXBzdHJlYW0uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX3F1ZXJ5KToKCSAgUGFzcyBxdWVyaWVzIHVwc3RyZWFtLgoKMjAwNy0wNS0wNCAxMjozMjoyNyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOiBBZGQgc29tZSBkZWJ1ZyBpbmZvLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9xdWVyeSk6CgkgIEFkZCBzb21lIGRlYnVnIGluZm8uCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAocnRwX3Nlc3Npb25faW5pdCksCgkgIChydHBfc2Vzc2lvbl9zZW5kX3J0cCk6CgkgIFN0b3JlIHJlYWwgdXNlciBuYW1lIGluIHRoZSBzZXNzaW9uLgoKMjAwNy0wNC0zMCAxMzo0MTozMCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2FzeW5jX2ppdHRlcl9xdWV1ZS5jOiBGaXggdGhlIGNhc2Ugd2hlcmUgdGhlIGJ1ZmZlciB1bmRlcnJ1bnMgYW5kIGRvZXMgbm90IGJsb2NrLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9hc3luY19qaXR0ZXJfcXVldWUuYzogKHNpZ25hbF93YWl0aW5nX3RocmVhZHMpLAoJICAoYXN5bmNfaml0dGVyX3F1ZXVlX3BvcF9pbnRlcm5fdW5sb2NrZWQpOgoJICBGaXggdGhlIGNhc2Ugd2hlcmUgdGhlIGJ1ZmZlciB1bmRlcnJ1bnMgYW5kIGRvZXMgbm90IGJsb2NrLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoZ3N0X3J0cF9iaW5fYmFzZV9pbml0KSwKCSAgKGNyZWF0ZV9yZWN2X3J0Y3ApLCAoY3JlYXRlX3NlbmRfcnRwKSwgKGNyZWF0ZV9ydGNwKSwKCSAgKGdzdF9ydHBfYmluX3JlcXVlc3RfbmV3X3BhZCk6CgkgIFJlbmFtZSBSVENQIHNlbmQgcGFkLCBsaWtlIGluIHRoZSBzZXNzaW9uIG1hbmFnZXIuCgkgIEFsbG93IGdldHRpbmcgYW4gUlRDUCBwYWQgZm9yIHJlY2VpdmluZyBldmVuIGlmIHdlIGRvbid0IHJlY2VpdmUgUlRQLgoJICBmaXggaGFuZGxpbmcgb2Ygc2VuZF9ydHBfc3JjIHBhZC4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6IChnc3RfcnRwX3B0X2RlbXV4X2NoYWluKToKCSAgV2hlbiBubyBwdCBtYXAgY291bGQgYmUgZm91bmQsIGZhbGwgYmFjayB0byB0aGUgc2lua3BhZCBjYXBzLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKGdzdF9ydHBfc2Vzc2lvbl9wcm9jZXNzX3J0cCksCgkgIChnc3RfcnRwX3Nlc3Npb25fc2VuZF9ydHApLCAoY3JlYXRlX3JlY3ZfcnRwX3NpbmspLAoJICAoY3JlYXRlX3JlY3ZfcnRjcF9zaW5rKSwgKGNyZWF0ZV9zZW5kX3J0cF9zaW5rKSwKCSAgKGNyZWF0ZV9zZW5kX3J0Y3Bfc3JjKToKCSAgRml4IHBhZCBuYW1lcy4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChzb3VyY2VfcHVzaF9ydHApLAoJICAocnRwX3Nlc3Npb25fY3JlYXRlX3NvdXJjZSksIChydHBfc2Vzc2lvbl9wcm9jZXNzX3NyKSwKCSAgKHJ0cF9zZXNzaW9uX3NlbmRfcnRwKSwgKHNlc3Npb25fc3RhcnRfcnRjcCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBVbmxvY2sgc2Vzc2lvbiB3aGVuIHBlcmZvcm1pbmcgYSBjYWxsYmFjay4KCSAgQWRkIGNhbGxiYWNrcyBmb3IgdGhlIGludGVybmFsIHNlc3Npb24gb2JqZWN0LgoJICBGaXggc2VuZGluZyBvZiBSVFAgcGFja2V0cy4KCSAgZmlyc3QgYXR0ZW1wdCBhdCBhZGRpbmcgTlRQIHRpbWVzIGluIHRoZSBTUiBwYWNrZXRzLgoJICBTbWFsbCBkZWJ1ZyBhbmQgZG9jIGltcHJvdmVtZW50cy4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzogKHJ0cF9zb3VyY2Vfc2VuZF9ydHApOgoJICBVcGRhdGUgc3RhdHMgZm9yIFNSIHJlcG9ydHMuCgoyMDA3LTA0LTI5IDE0OjQ2OjI3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiBSZW1vdmUgZGVidWcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKGdzdF9ydHBfc2Vzc2lvbl9zZW5kX3J0Y3ApOgoJICBSZW1vdmUgZGVidWcuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAocnRwX3Nlc3Npb25fcHJvY2Vzc19zciksCgkgIChydHBfc2Vzc2lvbl9wcm9jZXNzX3NkZXMpLCAoY2FsY3VsYXRlX3J0Y3BfaW50ZXJ2YWwpLAoJICAocnRwX3Nlc3Npb25fbmV4dF90aW1lb3V0KSwgKHNlc3Npb25fcmVwb3J0X2Jsb2Nrcyk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc3RhdHMuYzogKHJ0cF9zdGF0c19jYWxjdWxhdGVfcnRjcF9pbnRlcnZhbCk6CgkgIEltcHJvdmUgZGVidWdnaW5nCgkgIEZpeCBpbnRlcnZhbCBmb3IgQllFL1JUQ1AgcGFja2V0cy4KCjIwMDctMDQtMjcgMTU6MDk6MTIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IE1vdmUgcmVjb25zaWRlcmF0aW9uIGNvZGUgdG8gdGhlIHJ0cHNlc3Npb24gb2JqZWN0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChydGNwX3RocmVhZCksCgkgIChnc3RfcnRwX3Nlc3Npb25fc2VuZF9ydGNwKSwgKGdzdF9ydHBfc2Vzc2lvbl9yZWNvbnNpZGVyKToKCSAgTW92ZSByZWNvbnNpZGVyYXRpb24gY29kZSB0byB0aGUgcnRwc2Vzc2lvbiBvYmplY3QuCgkgIFNpbXBsaWZ5IHRpbW91dCBoYW5kbGluZyBhbmQgYWRkIHJlY29uc2lkZXJhdGlvbi4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChydHBfc2Vzc2lvbl9jbGFzc19pbml0KSwKCSAgKHJ0cF9zZXNzaW9uX2luaXQpLCAocnRwX3Nlc3Npb25fZmluYWxpemUpLCAob25fYnllX3NzcmMpLAoJICAob25fYnllX3RpbWVvdXQpLCAob25fdGltZW91dCksIChydHBfc2Vzc2lvbl9zZXRfY2FsbGJhY2tzKSwKCSAgKG9idGFpbl9zb3VyY2UpLCAocnRwX3Nlc3Npb25fY3JlYXRlX3NvdXJjZSksCgkgICh1cGRhdGVfYXJyaXZhbF9zdGF0cyksIChydHBfc2Vzc2lvbl9wcm9jZXNzX3J0cCksCgkgIChydHBfc2Vzc2lvbl9wcm9jZXNzX3NyKSwgKHJ0cF9zZXNzaW9uX3Byb2Nlc3NfcnIpLAoJICAocnRwX3Nlc3Npb25fcHJvY2Vzc19ieWUpLCAocnRwX3Nlc3Npb25fcHJvY2Vzc19ydGNwKSwKCSAgKGNhbGN1bGF0ZV9ydGNwX2ludGVydmFsKSwgKHJ0cF9zZXNzaW9uX3NlbmRfYnllKSwKCSAgKHJ0cF9zZXNzaW9uX25leHRfdGltZW91dCksIChzZXNzaW9uX3N0YXJ0X3J0Y3ApLAoJICAoc2Vzc2lvbl9yZXBvcnRfYmxvY2tzKSwgKHNlc3Npb25fY2xlYW51cCksIChzZXNzaW9uX3NkZXMpLAoJICAoc2Vzc2lvbl9ieWUpLCAoaXNfcnRjcF90aW1lKSwgKHJ0cF9zZXNzaW9uX29uX3RpbWVvdXQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgSGFuZGxlIHRpbWVvdXQgb2YgaW5hY3RpdmUgc291cmNlcyBhbmQgc2VuZGVycy4KCSAgSW1wbGVtZW50IEJZRSBzY2hlZHVsaW5nLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOiAoY2FsY3VsYXRlX2ppdHRlciksCgkgIChydHBfc291cmNlX3Byb2Nlc3Nfc3IpLCAocnRwX3NvdXJjZV9nZXRfbGFzdF9zciksCgkgIChydHBfc291cmNlX2dldF9sYXN0X3JiKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuaDoKCSAgQWRkIG1lbWJlcnMgdG8gY2hlY2sgZm9yIHRpbWVvdXRzLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmM6IChydHBfc3RhdHNfaW5pdF9kZWZhdWx0cyksCgkgIChydHBfc3RhdHNfY2FsY3VsYXRlX3J0Y3BfaW50ZXJ2YWwpLCAocnRwX3N0YXRzX2FkZF9ydGNwX2ppdHRlciksCgkgIChydHBfc3RhdHNfY2FsY3VsYXRlX2J5ZV9pbnRlcnZhbCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc3RhdHMuaDoKCSAgVXNlIFJGQyBhbGdvcml0aG0gZm9yIGNhbGN1bGF0aW5nIHRoZSByZXBvcnRpbmcgaW50ZXJ2YWwuCgoyMDA3LTA0LTI1IDE2OjM4OjAzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiBJbXBsZW1lbnQgZm9yd2FyZCBhbmQgcmV2ZXJzZSByZWNvbnNpZGVyYXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKHJ0Y3BfdGhyZWFkKToKCSAgSW1wbGVtZW50IGZvcndhcmQgYW5kIHJldmVyc2UgcmVjb25zaWRlcmF0aW9uLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKHJ0cF9zZXNzaW9uX2dldF9udW1fc291cmNlcyksCgkgIChydHBfc2Vzc2lvbl9nZXRfbnVtX2FjdGl2ZV9zb3VyY2VzKSwgKHJ0cF9zZXNzaW9uX3Byb2Nlc3Nfc3IpLAoJICAoc2Vzc2lvbl9yZXBvcnRfYmxvY2tzKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIFNtYWxsIGNsZWFudXBzLgoKMjAwNy0wNC0yNSAxNTo0ODo0NiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi4qOiBNYWtlIGRlZmF1bHQgaml0dGVyYnVmZmVyIGxhdGVuY3kgY29uZmlndXJhYmxlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmV2aWV3ZWQgYnk6IDxkZWxldGUgaWYgbm90IHVzaW5nIGEgYnVkZHk+CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChjcmVhdGVfc3RyZWFtKSwKCSAgKGdzdF9ydHBfYmluX2NsYXNzX2luaXQpLCAoZ3N0X3J0cF9iaW5fc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9ydHBfYmluX2dldF9wcm9wZXJ0eSk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkgIE1ha2UgZGVmYXVsdCBqaXR0ZXJidWZmZXIgbGF0ZW5jeSBjb25maWd1cmFibGUuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2xhc3NfaW5pdCksCgkgIChnc3Rfaml0dGVyX2J1ZmZlcl9zaW5rX3BhcnNlX2NhcHMpLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2xvb3ApLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfZ2V0X3Byb3BlcnR5KToKCSAgRGVidWdpbmcgY2xlYW51cHMuCgoyMDA3LTA0LTI1IDEzOjE5OjM2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6IFJlcG9ydCBOT19QUkVST0xMIHdoZW4gZ29pbmcgdG8gUEFVU0VELgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jaGFuZ2Vfc3RhdGUpOgoJICBSZXBvcnQgTk9fUFJFUk9MTCB3aGVuIGdvaW5nIHRvIFBBVVNFRC4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChydGNwX3RocmVhZCk6CgkgIERvbid0IHNlbmQgUlRDUCByaWdodCBiZWZvcmUgd2UgYXJlIHNodXR0aW5nIGRvd24uCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAocnRwX3Nlc3Npb25fcHJvY2Vzc19ydHApLAoJICAocnRwX3Nlc3Npb25fcHJvY2Vzc19zciksIChzZXNzaW9uX3JlcG9ydF9ibG9ja3MpLAoJICAocnRwX3Nlc3Npb25fcGVyZm9ybV9yZXBvcnRpbmcpOgoJICBJbXByb3ZlIHJlcG9ydCBibG9ja3MuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6IChjYWxjdWxhdGVfaml0dGVyKSwgKGluaXRfc2VxKSwKCSAgKHJ0cF9zb3VyY2VfcHJvY2Vzc19ydHApLCAocnRwX3NvdXJjZV9wcm9jZXNzX3NyKSwKCSAgKHJ0cF9zb3VyY2VfcHJvY2Vzc19yYiksIChydHBfc291cmNlX2dldF9sYXN0X3NyKSwKCSAgKHJ0cF9zb3VyY2VfZ2V0X2xhc3RfcmIpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmg6CgkgIENsZWFudXBzLCBhZGQgbWV0aG9kcyB0byBhY2Nlc3Mgc3RhdHMuCgoyMDA3LTA0LTI1IDA4OjMwOjQ4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IGZpeCBmb3IgcGFkIG5hbWUgY2hhbmdlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoY3JlYXRlX3J0Y3ApOgoJICBmaXggZm9yIHBhZCBuYW1lIGNoYW5nZQoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKHJ0Y3BfdGhyZWFkKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9zZW5kX3J0Y3ApLCAoZ3N0X3J0cF9zZXNzaW9uX2Nsb2NrX3JhdGUpOgoJICBGaXggZm9yIHJlbmFtZWQgbWV0aG9kcy4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChydHBfc2Vzc2lvbl9pbml0KSwKCSAgKHJ0cF9zZXNzaW9uX2ZpbmFsaXplKSwgKHJ0cF9zZXNzaW9uX3NldF9jbmFtZSksCgkgIChydHBfc2Vzc2lvbl9nZXRfY25hbWUpLCAocnRwX3Nlc3Npb25fc2V0X25hbWUpLAoJICAocnRwX3Nlc3Npb25fZ2V0X25hbWUpLCAocnRwX3Nlc3Npb25fc2V0X2VtYWlsKSwKCSAgKHJ0cF9zZXNzaW9uX2dldF9lbWFpbCksIChydHBfc2Vzc2lvbl9zZXRfcGhvbmUpLAoJICAocnRwX3Nlc3Npb25fZ2V0X3Bob25lKSwgKHJ0cF9zZXNzaW9uX3NldF9sb2NhdGlvbiksCgkgIChydHBfc2Vzc2lvbl9nZXRfbG9jYXRpb24pLCAocnRwX3Nlc3Npb25fc2V0X3Rvb2wpLAoJICAocnRwX3Nlc3Npb25fZ2V0X3Rvb2wpLCAocnRwX3Nlc3Npb25fc2V0X25vdGUpLAoJICAocnRwX3Nlc3Npb25fZ2V0X25vdGUpLCAoc291cmNlX3B1c2hfcnRwKSwgKG9idGFpbl9zb3VyY2UpLAoJICAocnRwX3Nlc3Npb25fYWRkX3NvdXJjZSksIChydHBfc2Vzc2lvbl9nZXRfc291cmNlX2J5X3NzcmMpLAoJICAocnRwX3Nlc3Npb25fY3JlYXRlX3NvdXJjZSksIChydHBfc2Vzc2lvbl9wcm9jZXNzX3J0cCksCgkgIChydHBfc2Vzc2lvbl9wcm9jZXNzX3NyKSwgKHJ0cF9zZXNzaW9uX3Byb2Nlc3Nfc2RlcyksCgkgIChydHBfc2Vzc2lvbl9wcm9jZXNzX3J0Y3ApLCAocnRwX3Nlc3Npb25fc2VuZF9ydHApLAoJICAocnRwX3Nlc3Npb25fZ2V0X3JlcG9ydGluZ19pbnRlcnZhbCksIChzZXNzaW9uX3JlcG9ydF9ibG9ja3MpLAoJICAoc2Vzc2lvbl9zZGVzKSwgKHJ0cF9zZXNzaW9uX3BlcmZvcm1fcmVwb3J0aW5nKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIFByZXBhcmUgZm9yIGltcGxlbWVudGluZyBTU1JDIHNhbXBsaW5nLgoJICBDcmVhdGUgU1NSQyBmb3IgdGhlIHNlc3Npb24uCgkgIEFkZCBtZXRob2RzIHRvIHNldCB0aGUgU0RFUyBlbnRyaWVzLgoJICBmaXggYWNjb3VudGluZyBvZiBzZW5kZXJzL3JlY2VpdmVycy4KCSAgSW1wbGVtZW50IFNSL1JSL1NERVMgUlRDUCByZXBvcnRpbmcuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6IChydHBfc291cmNlX2luaXQpLCAoaW5pdF9zZXEpLAoJICAocnRwX3NvdXJjZV9wcm9jZXNzX3J0cCksIChydHBfc291cmNlX3Byb2Nlc3Nfc3IpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5oOgoJICBJbXBsZW1lbnQgZXh0ZW5kZWQgc2VxdWVuY2UgbnVtYmVyLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmM6IChydHBfc3RhdHNfY2FsY3VsYXRlX3J0Y3BfaW50ZXJ2YWwpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmg6CgkgIFJlbmFtZSBzb21lIGZpZWxkcy4KCjIwMDctMDQtMjEgMTk6MjE6NDkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IERvbid0IHVzZSBHTGliLTIuMTAgQVBJLCB3ZSBvbmx5IHJlcXVpcmUgR0xpYiAyLjggYXQgdGhlIG1vbWVudC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAocnRwX3Nlc3Npb25fZmluYWxpemUpOgoJICBEb24ndCB1c2UgR0xpYi0yLjEwIEFQSSwgd2Ugb25seSByZXF1aXJlIEdMaWIgMi44IGF0IHRoZSBtb21lbnQuCgoyMDA3LTA0LTE4IDE4OjU4OjUzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgY29uZmlndXJlLmFjOiBEaXNhYmxlIHJ0cG1hbmFnZXIgZm9yIG5vdyBiZWNhdXNlIGl0IGRlcGVuZHMgb24gQ1ZTIC1iYXNlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIERpc2FibGUgcnRwbWFuYWdlciBmb3Igbm93IGJlY2F1c2UgaXQgZGVwZW5kcyBvbiBDVlMgLWJhc2UuCgkgICogZ3N0L3J0cG1hbmFnZXIvTWFrZWZpbGUuYW06CgkgIEFkZGVkIG5ldyBmaWxlcyBmb3Igc2Vzc2lvbiBtYW5hZ2VyLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoY3JlYXRlX3Nlc3Npb24pLCAoZ2V0X3B0X21hcCksCgkgIChjcmVhdGVfc3RyZWFtKSwgKHB0X21hcF9yZXF1ZXN0ZWQpLCAobmV3X3NzcmNfcGFkX2ZvdW5kKToKCSAgU29tZSBjbGVhbnVwcy4KCSAgdGhlIHNlc3Npb24gbWFuYWdlciBjYW4gbm93IGFsc28gcmVxdWVzdCBhIHB0LW1hcC4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChnc3RfcnRwX3Nlc3Npb25fYmFzZV9pbml0KSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9jbGFzc19pbml0KSwgKGdzdF9ydHBfc2Vzc2lvbl9pbml0KSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9maW5hbGl6ZSksIChydGNwX3RocmVhZCksIChzdGFydF9ydGNwX3RocmVhZCksCgkgIChzdG9wX3J0Y3BfdGhyZWFkKSwgKGdzdF9ydHBfc2Vzc2lvbl9jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX3Byb2Nlc3NfcnRwKSwgKGdzdF9ydHBfc2Vzc2lvbl9zZW5kX3J0cCksCgkgIChnc3RfcnRwX3Nlc3Npb25fc2VuZF9ydGNwKSwgKGdzdF9ydHBfc2Vzc2lvbl9jbG9ja19yYXRlKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9nZXRfdGltZSksIChnc3RfcnRwX3Nlc3Npb25fZXZlbnRfcmVjdl9ydHBfc2luayksCgkgIChnc3RfcnRwX3Nlc3Npb25fY2hhaW5fcmVjdl9ydHApLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2V2ZW50X3JlY3ZfcnRjcF9zaW5rKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9jaGFpbl9yZWN2X3J0Y3ApLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2V2ZW50X3NlbmRfcnRwX3NpbmspLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2NoYWluX3NlbmRfcnRwKSwgKGNyZWF0ZV9zZW5kX3J0Y3Bfc3JjKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9yZXF1ZXN0X25ld19wYWQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uaDoKCSAgV2UgY2FuIGFzayBmb3IgcHQtbWFwIG5vdyB0b28gd2hlbiB0aGUgc2Vzc2lvbiBtYW5hZ2VyIG5lZWRzIGl0LgoJICBIb29rIHVwIHRvIHRoZSBuZXcgc2Vzc2lvbiBtYW5hZ2VyLCBpbXBsZW1lbnQgdGhlIG5lZWRlZCBjYWxsYmFja3MgZm9yCgkgIHB1c2hpbmcgZGF0YSwgZ2V0dGluZyBjbG9jayB0aW1lIGFuZCByZXF1ZXN0aW5nIGNsb2NrLXJhdGVzLgoJICBSZW5hbWUgcnRjcF9zcmMgdG8gc2VuZF9ydGNwX3NyYyB0byBtYWtlIGl0IGNsZWFyIHRoYXQgdGhpcyBSVENQIGlzIHRvCgkgIGJlIHNlbmQgdG8gY2xpZW50cy4KCSAgQWRkIGNvZGUgdG8gc3RhcnQgYW5kIHN0b3AgdGhlIHRocmVhZCB0aGF0IHdpbGwgc2NoZWR1bGUgUlRDUCB0aHJvdWdoCgkgIHRoZSBzZXNzaW9uIG1hbmFnZXIuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAocnRwX3Nlc3Npb25fY2xhc3NfaW5pdCksCgkgIChydHBfc2Vzc2lvbl9pbml0KSwgKHJ0cF9zZXNzaW9uX2ZpbmFsaXplKSwKCSAgKHJ0cF9zZXNzaW9uX3NldF9wcm9wZXJ0eSksIChydHBfc2Vzc2lvbl9nZXRfcHJvcGVydHkpLAoJICAob25fbmV3X3NzcmMpLCAob25fc3NyY19jb2xsaXNpb24pLCAob25fc3NyY192YWxpZGF0ZWQpLAoJICAob25fYnllX3NzcmMpLCAocnRwX3Nlc3Npb25fbmV3KSwgKHJ0cF9zZXNzaW9uX3NldF9jYWxsYmFja3MpLAoJICAocnRwX3Nlc3Npb25fc2V0X2JhbmR3aWR0aCksIChydHBfc2Vzc2lvbl9nZXRfYmFuZHdpZHRoKSwKCSAgKHJ0cF9zZXNzaW9uX3NldF9ydGNwX2JhbmR3aWR0aCksIChydHBfc2Vzc2lvbl9nZXRfcnRjcF9iYW5kd2lkdGgpLAoJICAoc291cmNlX3B1c2hfcnRwKSwgKHNvdXJjZV9jbG9ja19yYXRlKSwgKGNoZWNrX2NvbGxpc2lvbiksCgkgIChvYnRhaW5fc291cmNlKSwgKHJ0cF9zZXNzaW9uX2FkZF9zb3VyY2UpLAoJICAocnRwX3Nlc3Npb25fZ2V0X251bV9zb3VyY2VzKSwKCSAgKHJ0cF9zZXNzaW9uX2dldF9udW1fYWN0aXZlX3NvdXJjZXMpLAoJICAocnRwX3Nlc3Npb25fZ2V0X3NvdXJjZV9ieV9zc3JjKSwKCSAgKHJ0cF9zZXNzaW9uX2dldF9zb3VyY2VfYnlfY25hbWUpLCAocnRwX3Nlc3Npb25fY3JlYXRlX3NvdXJjZSksCgkgICh1cGRhdGVfYXJyaXZhbF9zdGF0cyksIChydHBfc2Vzc2lvbl9wcm9jZXNzX3J0cCksCgkgIChydHBfc2Vzc2lvbl9wcm9jZXNzX3NyKSwgKHJ0cF9zZXNzaW9uX3Byb2Nlc3NfcnIpLAoJICAocnRwX3Nlc3Npb25fcHJvY2Vzc19zZGVzKSwgKHJ0cF9zZXNzaW9uX3Byb2Nlc3NfYnllKSwKCSAgKHJ0cF9zZXNzaW9uX3Byb2Nlc3NfYXBwKSwgKHJ0cF9zZXNzaW9uX3Byb2Nlc3NfcnRjcCksCgkgIChydHBfc2Vzc2lvbl9zZW5kX3J0cCksIChydHBfc2Vzc2lvbl9nZXRfcnRjcF9pbnRlcnZhbCksCgkgIChydHBfc2Vzc2lvbl9wcm9kdWNlX3J0Y3ApOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgVGhlIGFkdmFuY2VkIGJlZ2lubmluZ3Mgb2YgdGhlIG1haW4gc2Vzc2lvbiBtYW5hZ2VyIHRoYXQgaGFuZGxlcyB0aGUKCSAgcGFydGljaXBhbnQgZGF0YWJhc2Ugb2YgUlRQU291cmNlcywgU1NSQyBwcm9iYXRpb24sIFNTUkMgY29sbGlzaW9ucywKCSAgcGFyc2UgUlRDUCB0byB1cGRhdGUgc291cmNlIHN0YXRzLiBldGMuLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOiAocnRwX3NvdXJjZV9jbGFzc19pbml0KSwKCSAgKHJ0cF9zb3VyY2VfaW5pdCksIChydHBfc291cmNlX2ZpbmFsaXplKSwgKHJ0cF9zb3VyY2VfbmV3KSwKCSAgKHJ0cF9zb3VyY2Vfc2V0X2NhbGxiYWNrcyksIChydHBfc291cmNlX3NldF9hc19jc3JjKSwKCSAgKHJ0cF9zb3VyY2Vfc2V0X3J0cF9mcm9tKSwgKHJ0cF9zb3VyY2Vfc2V0X3J0Y3BfZnJvbSksCgkgIChwdXNoX3BhY2tldCksIChnZXRfY2xvY2tfcmF0ZSksIChjYWxjdWxhdGVfaml0dGVyKSwKCSAgKHJ0cF9zb3VyY2VfcHJvY2Vzc19ydHApLCAocnRwX3NvdXJjZV9wcm9jZXNzX2J5ZSksCgkgIChydHBfc291cmNlX3NlbmRfcnRwKSwgKHJ0cF9zb3VyY2VfcHJvY2Vzc19zciksCgkgIChydHBfc291cmNlX3Byb2Nlc3NfcmIpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5oOgoJICBPYmplY3QgdGhhdCBlbmNhcHN1bGF0ZXMgYW4gU1NSQyBhbmQgaXRzIHN0YXRlIGluIHRoZSBkYXRhYmFzZS4KCSAgQ2FsY3VsYXRlcyB0aGUgaml0dGVyIGFuZCB0cmFuc2l0IHRpbWVzIG9mIGRhdGEgcGFja2V0cy4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5jOiAocnRwX3N0YXRzX2luaXRfZGVmYXVsdHMpLAoJICAocnRwX3N0YXRzX2NhbGN1bGF0ZV9ydGNwX2ludGVydmFsKSwgKHJ0cF9zdGF0c19hZGRfcnRjcF9qaXR0ZXIpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmg6CgkgIFZhcmlvdXMgc3RhdHMgcmVnYXJkaW5nIHRoZSBzZXNzaW9uIGFuZCBzb3VyY2VzLgoJICBVc2VkIHRvIGNhbGN1bGF0ZSB0aGUgUlRDUCBpbnRlcnZhbC4KCjIwMDctMDQtMTMgMDk6MjA6NTUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci86IFByb3RlY3QgbGlzdHMgYW5kIHN0cnVjdHVyZXMgd2l0aCBsb2Nrcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChjcmVhdGVfc2Vzc2lvbiksIChnZXRfcHRfbWFwKSwKCSAgKGdzdF9ydHBfYmluX2luaXQpLCAoZ3N0X3J0cF9iaW5fZmluYWxpemUpLCAobmV3X3NzcmNfcGFkX2ZvdW5kKSwKCSAgKGNyZWF0ZV9yZWN2X3J0cCksIChnc3RfcnRwX2Jpbl9yZXF1ZXN0X25ld19wYWQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGNsaWVudC5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKGdzdF9ydHBfc2Vzc2lvbl9jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9pbml0KSwgKGdzdF9ydHBfc2Vzc2lvbl9maW5hbGl6ZSksCgkgIChnc3RfcnRwX3Nlc3Npb25fZXZlbnRfcmVjdl9ydHBfc2luayksCgkgIChnc3RfcnRwX3Nlc3Npb25fZXZlbnRfcmVjdl9ydGNwX3NpbmspLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2NoYWluX3JlY3ZfcnRjcCksCgkgIChnc3RfcnRwX3Nlc3Npb25fcmVxdWVzdF9uZXdfcGFkKToKCSAgUHJvdGVjdCBsaXN0cyBhbmQgc3RydWN0dXJlcyB3aXRoIGxvY2tzLgoJICBSZXR1cm4gRkxPV19PSyBmcm9tIFJUQ1AgbWVzc2FnZXMgZm9yIG5vdy4KCjIwMDctMDQtMTIgMDg6MTg6MzIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogRW1pdCBwdCBtYXAgcmVxdWVzdHMgYW5kIGNhY2hlIHJlc3VsdHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoY3JlYXRlX3Nlc3Npb24pLCAoZ2V0X3B0X21hcCksCgkgIChjcmVhdGVfc3RyZWFtKSwgKGdzdF9ydHBfYmluX2NsYXNzX2luaXQpLCAocHRfbWFwX3JlcXVlc3RlZCk6CgkgIEVtaXQgcHQgbWFwIHJlcXVlc3RzIGFuZCBjYWNoZSByZXN1bHRzLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NsYXNzX2luaXQpLAoJICAoZ3N0X2ppdHRlcl9idWZmZXJfc2lua19wYXJzZV9jYXBzKSwKCSAgKGdzdF9qaXR0ZXJfYnVmZmVyX3Npbmtfc2V0Y2FwcyksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfZ2V0X2Nsb2NrX3JhdGUpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NoYWluKSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9sb29wKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6IChnc3RfcnRwX3B0X2RlbXV4X2NoYWluKToKCSAgRW1pdCByZXF1ZXN0LXB0LW1hcCBzaWduYWxzLgoKMjAwNy0wNC0xMSAxMzo0OTo1NCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi1tYXJzaGFsLmxpc3Q6IFNvbWUgbW9yZSBjdXN0b20gbWFyc2hhbGxlcnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi1tYXJzaGFsLmxpc3Q6CgkgIFNvbWUgbW9yZSBjdXN0b20gbWFyc2hhbGxlcnMuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChjcmVhdGVfc2Vzc2lvbiksIChnZXRfcHRfbWFwKSwKCSAgKGNsb2NrX3JhdGVfcmVxdWVzdCksIChjcmVhdGVfc3RyZWFtKSwgKGdzdF9ydHBfYmluX2NsYXNzX2luaXQpLAoJICAocHRfbWFwX3JlcXVlc3RlZCksIChuZXdfc3NyY19wYWRfZm91bmQpLCAoY3JlYXRlX3JlY3ZfcnRwKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaDoKCSAgUHJlcGFyZSBmb3IgY2FjaGluZyBwdCBtYXBzLgoJICBDb25uZWN0IHRvIHNpZ25hbHMgdG8gY29sbGVjdCBwdCBtYXBzLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NsYXNzX2luaXQpLAoJICAoZ3N0X2ppdHRlcl9idWZmZXJfc2lua19zZXRjYXBzKSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9sb29wKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuaDoKCSAgQWRkIHJlcXVlc3RfY2xvY2tfcmF0ZSBzaWduYWwuCgkgIFVzZSBzY2FsZSBpbnN0ZWF0IG9mIHNjYWxlX2ludCBiZWNhdXNlIHRoZSBsYXRlciBkb2VzIG5vdCBkZWFsIHdpdGgKCSAgbmVnYXRpdmUgbnVtYmVycy4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6IChnc3RfcnRwX3B0X2RlbXV4X2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cF9wdF9kZW11eF9jaGFpbik6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5oOgoJICBJbXBsZW1lbnQgcmVxdWVzdC1wdC1tYXAgc2lnbmFsLgoKMjAwNy0wNC0xMCAwOToxNDowNyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyLzogQWRkZWQgY3VzdG9tIG1hcnNoYWxsZXJzIGZvciBzaWduYWxzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci8uY3ZzaWdub3JlOgoJICAqIGdzdC9ydHBtYW5hZ2VyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi1tYXJzaGFsLmxpc3Q6CgkgIEFkZGVkIGN1c3RvbSBtYXJzaGFsbGVycyBmb3Igc2lnbmFscy4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGdzdF9ydHBfYmluX2NsYXNzX2luaXQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJICBQcmVwYXJlIGZvciBlbWl0aW5nIHB0IG1hcCBzaWduYWxzLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzogKGdzdF9ydHBfcHRfZGVtdXhfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkgIChnc3RfcnRwX3NzcmNfZGVtdXhfY2xhc3NfaW5pdCk6CgkgIEZpeCBzaWduYWxzLgoKMjAwNy0wNC0wNiAxMjoyODoyOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi4qOiBQcm92aWRlIGEgY2xvY2suCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoZ3N0X3J0cF9iaW5fY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwX2Jpbl9pbml0KSwgKGdzdF9ydHBfYmluX3Byb3ZpZGVfY2xvY2spOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJICBQcm92aWRlIGEgY2xvY2suCgoyMDA3LTA0LTA2IDEyOjA3OjMwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IEZpeCBwYWQgdGVtcGxhdGUgbmFtZSBwYXJzaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGNyZWF0ZV9ydGNwKToKCSAgRml4IHBhZCB0ZW1wbGF0ZSBuYW1lIHBhcnNpbmcuCgoyMDA3LTA0LTA1IDE2OjEwOjI0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6IEFkZCBzb21lIGRlYnVnIGFuZCBjb21tZW50cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3Rfaml0dGVyX2J1ZmZlcl9zaW5rX3NldGNhcHMpLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NoYWluKSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9sb29wKToKCSAgQWRkIHNvbWUgZGVidWcgYW5kIGNvbW1lbnRzLgoJICBGaXggZG91YmxlIHVucmVmKCkgaW4gZXJyb3IgY2FzZXMuCgoyMDA3LTA0LTA1IDEzOjU0OjIzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLio6IEFkZCBkZWJ1Z2dpbmcgY2F0ZWdvcnkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoZmluZF9zZXNzaW9uX2J5X2lkKSwKCSAgKGNyZWF0ZV9zZXNzaW9uKSwgKGZpbmRfc3RyZWFtX2J5X3NzcmMpLCAoY3JlYXRlX3N0cmVhbSksCgkgIChnc3RfcnRwX2Jpbl9jbGFzc19pbml0KSwgKG5ld19wYXlsb2FkX2ZvdW5kKSwKCSAgKG5ld19zc3JjX3BhZF9mb3VuZCksIChjcmVhdGVfcmVjdl9ydHApLCAoY3JlYXRlX3JlY3ZfcnRjcCksCgkgIChjcmVhdGVfc2VuZF9ydHApLCAoY3JlYXRlX3J0Y3ApOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJICBBZGQgZGVidWdnaW5nIGNhdGVnb3J5LgoJICBBZGRlZCBSVFBTdHJlYW0gdG8gbWFuYWdlIHN0cmVhbSBwZXIgU1NSQywgZWFjaCB3aXRoIGl0cyBvd24KCSAgaml0dGVyYnVmZmVyIGFuZCBwdGRlbXV4LgoJICBBZGRlZCBTU1JDRGVtdXguCgkgIENvbm5lY3QgdG8gdmFyaW91cyBTU1JDIGFuZCBQVCBzaWduYWxzIGFuZCBjcmVhdGUgZ2hvc3RwYWRzLCBsaW5rIHN0dWZmLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG1hbmFnZXIuYzogKHBsdWdpbl9pbml0KToKCSAgQWRkZWQgcnRwYmluIHRvIGVsZW1lbnRzLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzogKGdzdF9ydHBfcHRfZGVtdXhfY2hhaW4pOgoJICBGaXggY2FwcyBhbmQgZm9yd2FyZCBHc3RGbG93UmV0dXJuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAoZ3N0X3J0cF9zZXNzaW9uX2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2V2ZW50X3JlY3ZfcnRwX3NpbmspLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2NoYWluX3JlY3ZfcnRwKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9ldmVudF9yZWN2X3J0Y3Bfc2luayksCgkgIChnc3RfcnRwX3Nlc3Npb25fY2hhaW5fcmVjdl9ydGNwKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9ldmVudF9zZW5kX3J0cF9zaW5rKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9jaGFpbl9zZW5kX3J0cCksIChjcmVhdGVfcmVjdl9ydHBfc2luayksCgkgIChjcmVhdGVfcmVjdl9ydGNwX3NpbmspLCAoY3JlYXRlX3NlbmRfcnRwX3NpbmspLCAoY3JlYXRlX3J0Y3Bfc3JjKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9yZXF1ZXN0X25ld19wYWQpOgoJICBBZGQgZGVidWcgY2F0ZWdvcnkuCgkgIEFkZCBldmVudCBoYW5kbGluZwoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOiAoZmluZF9ydHBfcGFkX2Zvcl9zc3JjKSwKCSAgKGNyZWF0ZV9ydHBfcGFkX2Zvcl9zc3JjKSwgKGdzdF9ydHBfc3NyY19kZW11eF9jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBfc3NyY19kZW11eF9pbml0KSwgKGdzdF9ydHBfc3NyY19kZW11eF9jaGFpbiksCgkgIChnc3RfcnRwX3NzcmNfZGVtdXhfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguaDoKCSAgQWRkIGRlYnVnIGNhdGVnb3J5LgoJICBBZGQgbmV3LXB0LXBhZCBzaWduYWwuCgoyMDA3LTA0LTA0IDEwOjIzOjE1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvOiBBZGRlZCBzaW1wbGUgU1NSQyBkZW11eGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtYW5hZ2VyLmM6IChwbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6IChmaW5kX3BhZF9mb3Jfc3NyYyksCgkgIChjcmVhdGVfcGFkX2Zvcl9zc3JjKSwgKGdzdF9ydHBfc3NyY19kZW11eF9iYXNlX2luaXQpLAoJICAoZ3N0X3J0cF9zc3JjX2RlbXV4X2NsYXNzX2luaXQpLCAoZ3N0X3J0cF9zc3JjX2RlbXV4X2luaXQpLAoJICAoZ3N0X3J0cF9zc3JjX2RlbXV4X2ZpbmFsaXplKSwgKGdzdF9ydHBfc3NyY19kZW11eF9zaW5rX2V2ZW50KSwKCSAgKGdzdF9ydHBfc3NyY19kZW11eF9jaGFpbiksIChnc3RfcnRwX3NzcmNfZGVtdXhfc3JjX2V2ZW50KSwKCSAgKGdzdF9ydHBfc3NyY19kZW11eF9jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5oOgoJICBBZGRlZCBzaW1wbGUgU1NSQyBkZW11eGVyLgoKMjAwNy0wNC0wMyAxMTozNTozOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyLzogU29tZSBtb3JlIGdob3N0cGFkIG1hZ2ljLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGZpbmRfc2Vzc2lvbl9ieV9pZCksCgkgIChjcmVhdGVfc2Vzc2lvbiksIChnc3RfcnRwX2Jpbl9iYXNlX2luaXQpLCAoY3JlYXRlX3JlY3ZfcnRwKSwKCSAgKGNyZWF0ZV9yZWN2X3J0Y3ApLCAoY3JlYXRlX3NlbmRfcnRwKSwgKGNyZWF0ZV9ydGNwKSwKCSAgKGdzdF9ydHBfYmluX3JlcXVlc3RfbmV3X3BhZCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwY2xpZW50LmM6CgkgIFNvbWUgbW9yZSBnaG9zdHBhZCBtYWdpYy4KCjIwMDctMDQtMDMgMDk6NTE6MTMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9NYWtlZmlsZS5hbTogQWRkIC5oIGZpbGUgc28gaXQgY2FuIGJlIGRpc3RlZCBwcm9wZXJseS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvTWFrZWZpbGUuYW06CgkgIEFkZCAuaCBmaWxlIHNvIGl0IGNhbiBiZSBkaXN0ZWQgcHJvcGVybHkuCgoyMDA3LTA0LTAzIDA5OjEzOjE3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgQWRkIFJUUCBzZXNzaW9uIG1hbmFnZW1lbnQgZWxlbWVudHMuIFN0aWxsIGluIHByb2dyZXNzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L3J0cG1hbmFnZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L3J0cG1hbmFnZXIvYXN5bmNfaml0dGVyX3F1ZXVlLmM6IChhc3luY19qaXR0ZXJfcXVldWVfbmV3KSwKCSAgKHNpZ25hbF93YWl0aW5nX3RocmVhZHMpLCAoYXN5bmNfaml0dGVyX3F1ZXVlX3JlZiksCgkgIChhc3luY19qaXR0ZXJfcXVldWVfcmVmX3VubG9ja2VkKSwKCSAgKGFzeW5jX2ppdHRlcl9xdWV1ZV9zZXRfbG93X3RocmVzaG9sZCksCgkgIChhc3luY19qaXR0ZXJfcXVldWVfc2V0X2hpZ2hfdGhyZXNob2xkKSwKCSAgKGFzeW5jX2ppdHRlcl9xdWV1ZV9zZXRfbWF4X3F1ZXVlX2xlbmd0aCksCgkgIChhc3luY19qaXR0ZXJfcXVldWVfZ2V0X2dfcXVldWUpLCAoY2FsY3VsYXRlX3RzX2RpZmYpLAoJICAoYXN5bmNfaml0dGVyX3F1ZXVlX2xlbmd0aF90c191bml0c191bmxvY2tlZCksCgkgIChhc3luY19qaXR0ZXJfcXVldWVfdW5yZWZfYW5kX3VubG9jayksIChhc3luY19qaXR0ZXJfcXVldWVfdW5yZWYpLAoJICAoYXN5bmNfaml0dGVyX3F1ZXVlX2xvY2spLCAoYXN5bmNfaml0dGVyX3F1ZXVlX3VubG9jayksCgkgIChhc3luY19qaXR0ZXJfcXVldWVfcHVzaCksIChhc3luY19qaXR0ZXJfcXVldWVfcHVzaF91bmxvY2tlZCksCgkgIChhc3luY19qaXR0ZXJfcXVldWVfcHVzaF9zb3J0ZWQpLAoJICAoYXN5bmNfaml0dGVyX3F1ZXVlX3B1c2hfc29ydGVkX3VubG9ja2VkKSwKCSAgKGFzeW5jX2ppdHRlcl9xdWV1ZV9pbnNlcnRfYWZ0ZXJfdW5sb2NrZWQpLAoJICAoYXN5bmNfaml0dGVyX3F1ZXVlX3BvcF9pbnRlcm5fdW5sb2NrZWQpLCAoYXN5bmNfaml0dGVyX3F1ZXVlX3BvcCksCgkgIChhc3luY19qaXR0ZXJfcXVldWVfcG9wX3VubG9ja2VkKSwgKGFzeW5jX2ppdHRlcl9xdWV1ZV9sZW5ndGgpLAoJICAoYXN5bmNfaml0dGVyX3F1ZXVlX2xlbmd0aF91bmxvY2tlZCksCgkgIChhc3luY19qaXR0ZXJfcXVldWVfc2V0X2ZsdXNoaW5nX3VubG9ja2VkKSwKCSAgKGFzeW5jX2ppdHRlcl9xdWV1ZV91bnNldF9mbHVzaGluZ191bmxvY2tlZCksCgkgIChhc3luY19qaXR0ZXJfcXVldWVfc2V0X2Jsb2NraW5nX3VubG9ja2VkKToKCSAgKiBnc3QvcnRwbWFuYWdlci9hc3luY19qaXR0ZXJfcXVldWUuaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGdzdF9ydHBfYmluX2Jhc2VfaW5pdCksCgkgIChnc3RfcnRwX2Jpbl9jbGFzc19pbml0KSwgKGdzdF9ydHBfYmluX2luaXQpLAoJICAoZ3N0X3J0cF9iaW5fZmluYWxpemUpLCAoZ3N0X3J0cF9iaW5fc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9ydHBfYmluX2dldF9wcm9wZXJ0eSksIChnc3RfcnRwX2Jpbl9jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X3J0cF9iaW5fcmVxdWVzdF9uZXdfcGFkKSwgKGdzdF9ydHBfYmluX3JlbGVhc2VfcGFkKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBjbGllbnQuYzogKG5ld19wYWQpLCAoY3JlYXRlX3N0cmVhbSksCgkgIChmcmVlX3N0cmVhbSksIChmaW5kX3N0cmVhbV9ieV9zc3JjKSwgKGdzdF9ydHBfY2xpZW50X2Jhc2VfaW5pdCksCgkgIChnc3RfcnRwX2NsaWVudF9jbGFzc19pbml0KSwgKGdzdF9ydHBfY2xpZW50X2luaXQpLAoJICAoZ3N0X3J0cF9jbGllbnRfZmluYWxpemUpLCAoZ3N0X3J0cF9jbGllbnRfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9ydHBfY2xpZW50X2dldF9wcm9wZXJ0eSksIChnc3RfcnRwX2NsaWVudF9jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X3J0cF9jbGllbnRfcmVxdWVzdF9uZXdfcGFkKSwgKGdzdF9ydHBfY2xpZW50X3JlbGVhc2VfcGFkKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBjbGllbnQuaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9iYXNlX2luaXQpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NsYXNzX2luaXQpLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2luaXQpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2Rpc3Bvc2UpLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2dldGNhcHMpLAoJICAoZ3N0X2ppdHRlcl9idWZmZXJfc2lua19zZXRjYXBzKSwgKGZyZWVfZnVuYyksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfZmx1c2hfc3RhcnQpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2ZsdXNoX3N0b3ApLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX3NyY19hY3RpdmF0ZV9wdXNoKSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jaGFuZ2Vfc3RhdGUpLCAocHJpdl9jb21wYXJlX3J0cF9zZXFfbHQpLAoJICAoY29tcGFyZV9ydHBfYnVmZmVyc19zZXFfbnVtKSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9zaW5rX2V2ZW50KSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jaGFpbiksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfbG9vcCksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfcXVlcnkpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfZ2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtYW5hZ2VyLmM6IChwbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOiAoZ3N0X3J0cF9wdF9kZW11eF9iYXNlX2luaXQpLAoJICAoZ3N0X3J0cF9wdF9kZW11eF9jbGFzc19pbml0KSwgKGdzdF9ydHBfcHRfZGVtdXhfaW5pdCksCgkgIChnc3RfcnRwX3B0X2RlbXV4X2ZpbmFsaXplKSwgKGdzdF9ydHBfcHRfZGVtdXhfY2hhaW4pLAoJICAoZ3N0X3J0cF9wdF9kZW11eF9nZXRjYXBzKSwgKGZpbmRfcGFkX2Zvcl9wdCksCgkgIChnc3RfcnRwX3B0X2RlbXV4X3NldHVwKSwgKGdzdF9ydHBfcHRfZGVtdXhfcmVsZWFzZSksCgkgIChnc3RfcnRwX3B0X2RlbXV4X2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKGdzdF9ydHBfc2Vzc2lvbl9iYXNlX2luaXQpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2NsYXNzX2luaXQpLCAoZ3N0X3J0cF9zZXNzaW9uX2luaXQpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2ZpbmFsaXplKSwgKGdzdF9ydHBfc2Vzc2lvbl9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2dldF9wcm9wZXJ0eSksIChnc3RfcnRwX3Nlc3Npb25fY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9jaGFpbl9yZWN2X3J0cCksCgkgIChnc3RfcnRwX3Nlc3Npb25fY2hhaW5fcmVjdl9ydGNwKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9jaGFpbl9zZW5kX3J0cCksIChjcmVhdGVfcmVjdl9ydHBfc2luayksCgkgIChjcmVhdGVfcmVjdl9ydGNwX3NpbmspLCAoY3JlYXRlX3NlbmRfcnRwX3NpbmspLCAoY3JlYXRlX3J0Y3Bfc3JjKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9yZXF1ZXN0X25ld19wYWQpLCAoZ3N0X3J0cF9zZXNzaW9uX3JlbGVhc2VfcGFkKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmg6CgkgIEFkZCBSVFAgc2Vzc2lvbiBtYW5hZ2VtZW50IGVsZW1lbnRzLiBTdGlsbCBpbiBwcm9ncmVzcy4KCjIwMDktMDgtMTAgMTM6MzA6MjMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogcHVzaCBtb2RlOyBjYXRlciBmb3IgY2h1bmsgcGFkZGluZwoKMjAwOS0wOC0wNCAxOTo0NTo0MyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBvbmx5IHVzZSBzdHJlYW0ncyBwYWQgYWZ0ZXIgaGF2aW5nIGNoZWNrZWQgaXQgZXhpc3RzCgoyMDA5LTA4LTA0IDEzOjM4OjA5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IHNwcmlua2xlIHNvbWUgbW9yZSBHU1RfREVCVUdfRlVOQ1BUUgoKMjAwOS0wOC0wNCAxMzozNjozNiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBwb3N0IGVycm9yIG1lc3NhZ2UgaWYgbm8gcGFkcyB0byBwdXNoIEVPUyBldmVudCBvbgoKMjAwOS0wOC0wNCAxMTozOTo1OSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBmaXggdHlwbyBpbiB3YXJuaW5nIG1lc3NhZ2UKCjIwMDktMDgtMDQgMTE6Mzk6MzkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogZml4IHNvbWUgYnVmZmVyIHJlZiBoYW5kbGluZwoKMjAwOS0wOC0wNCAxMTozNzoxNiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBkbyBub3QgZXhjZWVkIG1heGltdW0gbnVtYmVyIG9mIHN1cHBvcnRlZCBzdHJlYW1zCgoyMDA5LTA4LTA0IDExOjM1OjE4ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IHByZXZlbnQgZG91YmxlIHVucmVmOyBnc3RfYXZpX2RlbXV4X3BhcnNlX2F2aWggYWxyZWFkeSB1bnJlZnMKCjIwMDktMDgtMDQgMTE6MzI6MjcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogdmVyaWZ5IHNpemUgb2YgSU5GTyBMSVNUIHRvIHNhdGlzZnkgc3Vic2VxdWVudCBleHBlY3RhdGlvbnMKCjIwMDktMDctMjkgMTU6MjU6MzggKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogY2hlY2sgdmlkZW8gc3RyZWFtIGZyYW1lcmF0ZSBhZ2FpbnN0IGF2aSBoZWFkZXIgZnJhbWUgZHVyYXRpb24KCSAgVGhlIGZvcm1lciBtaWdodCBiZSBib2d1cyBpbiBzaWxseSBjYXNlcywgYW5kIHRoZSBsYXR0ZXIgc2VlbXMgdG8KCSAgY2FycnkgbW9yZSB3ZWlnaHQuCgoyMDA5LTA4LTA0IDEyOjE2OjEzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IHN0cmVhbWxpbmUgc3RyZWFtIGR1cmF0aW9uIGNhbGN1bGF0aW9uCgoyMDA5LTA3LTAzIDE0OjA0OjEzICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZXh0L3JhdzEzOTQvZ3N0ZHYxMzk0c3JjLmM6CgkgIGR2MTM5NHNyYzogRml4IGVsZW1lbnQgZm9yIGxpdmUgdXNhZ2UuLi4gd2hpY2ggaGFzIGJlZW4gYnJva2VuIGZvciAyIHllYXJzIDooCgkgIFRoaXMgaXMgYSBsaXZlIHNvdXJjZSwgdGhlcmVmb3JlOgoJICAqIFVzZSBHU1RfRk9STUFUX1RJTUUgYXMgdGhlIGRlZmF1bHQgZm9ybWF0CgkgICogc2V0X3RpbWVzdGFtcCB0byBUcnVlCgkgICogcHJvcGVybHkgaW1wbGVtZW50IHF1ZXJ5IGxhdGVuY3kuCgkgIFRoaXMgYWxsb3dzIGV4cGVjdGVkIGxpdmUgdXNhZ2UgbGlrZSA6IHBsYXliaW4yIHVyaT1kdjovLwoKMjAwOS0wOC0wOSAwOTo0Mzo0MSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGV4dC9yYXcxMzk0L2dzdGR2MTM5NHNyYy5jOgoJICByYXcxMzk0OiBSZW1vdmUgdW5uZWVkZWQgdmFyaWFibGUKCjIwMDktMDgtMDkgMDk6NDM6MjkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2E6IHJlbW92ZSBkZWFkIGFzc2lnbm1lbnRzCgoyMDA5LTA4LTA5IDA5OjQzOjAwICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBhYzNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGNlbHRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGoya2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwajJrcGF5LmM6CgkgIHJ0cDogUmVtb3ZlIGRlYWQgYXNzaWdubWVudHMgYW5kIHJlc3VsdGluZyB1bm5lZWRlZCB2YXJpYWJsZXMuCgoyMDA5LTA4LTEwIDA5OjUzOjI4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L3dhdnBhY2svTWFrZWZpbGUuYW06CgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5oOgoJKiBleHQvd2F2cGFjay9tZDUuYzoKCSogZXh0L3dhdnBhY2svbWQ1Lmg6CgkgIHdhdnBhY2s6IFVzZSBHTGliIEdDaGVja3N1bSBpbnN0ZWFkIG9mIG91ciBvd24gTUQ1IGltcGxlbWVudGF0aW9uCgkgIFRoaXMgcmVxdWlyZXMgR0xpYiAyLjE2IGJ1dCB0aGF0IHZlcnNpb24gaXMgYWxyZWFkeSByZXF1aXJlZCBieSBjb3JlIGFueXdheS4KCjIwMDktMDgtMDggMDA6NDc6NDggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQGVtYmVkZGVkLnVmY2cuZWR1LmJyPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5oOgoJICBtYXRyb3NrYTogQWRkcyBzdXBwb3J0IHRvIG11eGluZy9kZW11eGluZyBXTUEKCSAgQWRkcyBzdXBwb3J0IGZvciBtdXhpbmcgd21hIGF1ZGlvIGZhbWlseSBhbmQgZml4ZXMKCSAgZGVtdXhpbmcgb2Ygd21hIGZhbWlseSBpbiBtYXRyb3NrYWRlbXV4LiBtYXRyb3NrYWRlbXV4CgkgIHdhcyBicm9rZW4gYmVjYXVzZSBpdCBtaXNzZWQgY29kZWNfZGF0YS4KCjIwMDktMDgtMDYgMjA6MTU6MTcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQGVtYmVkZGVkLnVmY2cuZWR1LmJyPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogYWRkcyBzdXBwb3J0IGZvciB3bXYgZmFtaWx5CgkgIEFkZHMgc3VwcG9ydCB0byBXTVYxLCBXTVYyLCBXTVYzIGFuZCBvdGhlciBmYW1pbHkgZm9ybWF0cyB0aGF0CgkgIGFyZSBzaWduYWxlZCBieSB0aGUgJ2Zvcm1hdCcgZmllbGQgaW4gdGhlIGNhcHMgKGkuZS4gV1ZDMSkuCgkgIFBhcnRpYWxseSBmaXhlcyAjNTc2Mzc4CgoyMDA5LTA4LTA5IDE0OjE5OjQyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMnNyYzogaWYgbWF4ID09IG1pbiB3aWR0aC9oZWlnaHQgcHV0IGFuIGludCBpbiB0aGUgcHJvYmVkIGNhcHMsIG5vdCBhbiBpbnQgcmFuZ2UKCSAgRml4ZXMgIzU2MDAzMy4KCjIwMDktMDgtMDkgMTM6NTg6MDcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc3JjLmM6CgkgIG9zeGF1ZGlvc3JjOiBpZiBtYXhfY2hhbm5lbHMgPT0gbWluX2NoYW5uZWxzLCB1c2UgYW4gaW50IGluc3RlYWQgb2YgYW4gaW50IHJhbmdlIGluIHRoZSBjYXBzCgoyMDA5LTA4LTA5IDEyOjUyOjE3ICswMjAwICBMb25lU3RhciA8bG9uZUBhdXZ0ZWNoLmNvbT4KCgkqIGdzdC9pZDNkZW11eC9pZDN2MmZyYW1lcy5jOgoJICBpZDNkZW11eDogVHJ5IEdTVF8qX1RBR19FTkNPRElORyBhbmQgbG9jYWxlIGVuY29kaW5nIGlmIHRhZ3MgYXJlIG5vdCBVVEY4CgkgIEZpeGVzIGJ1ZyAjNDk5MjQyLgoKMjAwOS0wOC0wOSAwMToyOTo1MCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogYnVtcCBjb3JlL2Jhc2UgcmVxdWlyZW1lbnRzIHRvIGxhdGVzdCByZWxlYXNlCgkgIFRvIGF2b2lkIGNvbmZ1c2lvbi4KCjIwMDktMDgtMDkgMDE6Mjc6MDEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZmx2bXV4LmM6CgkgIGNoZWNrOiBmaXggZmx2bXV4IHVuaXQgdGVzdCBvbiBiaWcgZW5kaWFuIG1hY2hpbmVzCgkgIGZsdm11eCBvbmx5IGFjY2VwdHMgcmF3IGF1ZGlvIGluIGxpdHRsZSBlbmRpYW4sIGJ1dCBhdWRpb3Rlc3RzcmMKCSAgcHJvZHVjZXMgYXVkaW8gaW4gdGhlIG5hdGl2ZSBlbmRpYW5uZXNzLCB3aGljaCBtYWtlcyBsaW5raW5nCgkgIGJldHdlZW4gYXVkaW90ZXN0c3JjIGFuZCBmbHZtdXggZmFpbCBvbiBiaWcgZW5kaWFuIG1hY2hpbmVzLiBBZGQKCSAgYW4gYXVkaW9jb252ZXJ0IGVsZW1lbnQgaW4gYmV0d2VlbiB0aGUgdHdvIHRvIGZpeCB0aGlzLgoKMjAwOS0wMi0xNSAxODo0OTo0NCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDxvZ2cuay5vZ2cua0Bnb29nbGVtYWlsLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmg6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2E6IGFkZCBrYXRlIHN1YnRpdGxlIHN1cHBvcnQgdG8gbWF0cm9za2EgbXV4ZXIgYW5kIGRlbXV4ZXIKCSAgU2VlICM1MjU3NDMuCgoyMDA5LTA4LTA3IDE2OjUxOjQ1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pZDNkZW11eC9pZDN2Mi4zLjAuaHRtbDoKCSAgaWQzZGVtdXg6IGFkZCBJRDMgdjIuMyBzcGVjIGFzIHdlbGwKCjIwMDktMDgtMDcgMTY6NDI6MzkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lkM2RlbXV4L2lkM3YyZnJhbWVzLmM6CgkgIGlkM2RlbXV4OiBzaXplcyBpbiBJRDMgdjIuMyBhcmUgdW5saWtlbHkgdG8gYmUgc3luYy1zYWZlIGludGVnZXJzCgkgIEluIElEMyB2Mi4zIGNvbXByZXNzZWQgZnJhbWVzIHdpbGwgaGF2ZSBhIDQtYnl0ZSBkYXRhIGxlbmd0aCBpbmRpY2F0b3IKCSAgYWZ0ZXIgdGhlIGZyYW1lIGhlYWRlciB0byBpbmRpY2F0ZSB0aGUgc2l6ZSBvZiB0aGUgZGVjb21wcmVzc2VkIGRhdGEuCgkgIFRoaXMgaW50ZWdlciBpcyB1bmxpa2VseSB0byBiZSBhIHN5bmMtc2FmZSBpbnRlZ2VyIGZvciB2Mi4zIHRhZ3MsCgkgIG9ubHkgaW4gdjIuNCBpdCdzIHN5bmMtc2FmZS4KCjIwMDktMDgtMDcgMTY6MzY6NTUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lkM2RlbXV4L2lkM3RhZ3MuYzoKCSAgaWQzZGVtdXg6IGZpeCB0eXBvIGluIGRlYnVnIG1lc3NhZ2UKCjIwMDktMDgtMDcgMTY6MDI6MjMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lkM2RlbXV4L2lkM3RhZ3MuYzoKCSogZ3N0L2lkM2RlbXV4L2lkM3RhZ3MuaDoKCSogZ3N0L2lkM2RlbXV4L2lkM3YyZnJhbWVzLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2lkM2RlbXV4LmM6CgkqIHRlc3RzL2ZpbGVzL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9maWxlcy9pZDMtNTg4MTQ4LXVuc3luY2VkLXYyNC50YWc6CgkgIGlkM2RlbXV4OiBmaXggcGFyc2luZyBvZiB1bnN5bmMnZWQgSUQzIHYyLjQgdGFncyBhbmQgZnJhbWVzCgkgIFJldmVyc2luZyB0aGUgdW5zeW5jaHJvbmlzYXRpb24gc2VlbXMgdG8gd29yayBzbGlnaHRseSBkaWZmZXJlbnRseQoJICBmb3IgSUQzIHYyLjMgdGFncyBhbmQgdjIuNCB0YWdzOiB2Mi4zIHRhZ3MgZG9uJ3QgaGF2ZSBzeW5jc2FmZSBmcmFtZQoJICBzaXplcyBpbiB0aGUgZnJhbWUgaGVhZGVyLCBzbyB0aGUgdW5zeW5jaHJvbmlzYXRpb24gaXMgYXBwbGllZCB0bwoJICB0aGUgd2hvbGUgZnJhbWUgZGF0YSBpbmNsdWRpbmcgYWxsIHRoZSBmcmFtZSBoZWFkZXJzLiB2Mi40IGZyYW1lcwoJICBoYXZlIHN5bmMtc2FmZSBzaXplcywgaG93ZXZlciwgc28gdGhlIHVuc3luY2hyb25pc2F0aW9uIG9ubHkgbmVlZHMKCSAgdG8gYmUgYXBwbGllZCB0byB0aGUgYWN0dWFsIGZyYW1lIGRhdGEsIGFuZCBpdCBzZWVtcyB0aGF0J3Mgd2hhdCdzCgkgIGJlaW5nIGRvbmUgYXMgd2VsbC4gU28gd2UgbmVlZCB0byB1bmRvIHRoZSB1bnN5bmNocm9uaXNhdGlvbiBvbiBhCgkgIHBlci1mcmFtZSBiYXNpcyBmb3IgdjIuNCB0YWdzIGZvciB0aGluZ3MgdG8gd29yayBwcm9wZXJseS4KCSAgRml4ZXMgZXh0cmFjdGlvbiBvZiBjb3ZlcmFydC9pbWFnZXMgZnJvbSBBUElDIGZyYW1lcyBpbiBJRDMgdjIuNAoJICB0YWdzICgjNTg4MTQ4KS4KCSAgQWRkIHVuaXQgdGVzdCBmb3IgdGhpcyBhcyB3ZWxsLgoKMjAwOS0wOC0wNiAyMToyNDoxNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwaHR0cHNyYzogVXNlIFNPVVBfTUVUSE9EX0dFVCBpbnN0ZWFkIG9mICJHRVQiIHN0cmluZwoJICBGaXhlcyBidWcgIzU5MDk3MC4KCjIwMDktMDgtMDYgMTM6MDA6NTkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSAgcHVsc2VzcmM6IHNldCB0aGUgZGVmYXVsdCBzbGF2ZSBtZXRob2QgdG8gc2tldwoJICBTZXQgdGhlIGRlZmF1bHQgc2xhdmUgbWV0aG9kIHRvIHRoZSBtdWNoIGJldHRlciBza2V3IGFsZ29yaXRobS4gVGhpcyBpcyB0aGUKCSAgZGVmYXVsdCBpbiB0aGUgbmV3IGJhc2UgY2xhc3MgYnV0IHdlIG92ZXJyaWRlIHRoaXMgaGVyZSBhcyB3ZWxsIGZvciB0aGUKCSAgdXBjb21taW5nIHJlbGVhc2UuCgoyMDA5LTA4LTA2IDEwOjIwOjM0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJICBwdWxzZXNyYzogZml4IGNvbXBpbGF0aW9uIHdpdGggLS1kaXNhYmxlLWdzdC1kZWJ1ZwoKMjAwOS0wOC0wMyAxODo1OTozMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuaDoKCSAgcnRwaDI2NHBheTogdXNlIGFycmF5IGluc3RlYWQgb2YgcXVldWUKCjIwMDktMDgtMDMgMTg6NTU6MTkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5oOgoJICBydHBoMjY0cGF5OiBwdXNoIE5BTHMgb25seSBhZnRlciBTUFMvUFBTCgkgIHBhcnNlIGNvbXBsZXRlIChieXRlc3RyZWFtKSBidWZmZXIgZm9yIFNQUy9QUFMgYmVmb3JlIHB1c2hpbmcgTkFMcy4KCSAgRml4ZXMgIzU2NDUwMS4KCjIwMDktMDgtMDQgMTQ6NDQ6MzYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5oOgoJICB2NGwyOiBEaXJlY3RseSB1c2UgR1NUX1BUUl9GT1JNQVQgZm9yIHByaW50aW5nIGNhcHMgd2l0aCB0aGUgTE9HX0NBUFMgbWFjcm8KCjIwMDktMDgtMDQgMTE6MTc6MTcgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHFkbWRlcGF5LmM6CgkgIHJ0cHFkbTJkZXBheTogRml4IGRlYnVnIHN0YXRlbWVudC4KCjIwMDktMDgtMDQgMDk6MzI6MDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5oOgoJICB2NGwyOiBSZW1vdmUgc29tZSBPTUFQIHNwZWNpZmljIGhhY2tzCgkgIFRoZXkgcmVxdWlyZSBzcGVjaWFsIGJ1aWxkIGZsYWdzIGFuZCBhcmUgbm90IHVzZWZ1bCBpbiBnZW5lcmFsLgoKMjAwOS0wOC0wNCAwOToyMjoyOSArMDIwMCAgUm9iIENsYXJrIDxyb2JAdGkuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJICB2NGwyc2luazogY2hhbmdlIHdoZXJlIGJ1ZmZlcnMgZ2V0IGRlcXVldWVkCgkgIEl0IHNlZW1zIHRvIGNhdXNlIHN0cmFuZ2Ugb2NjYXNpb25hbCBoaWdoIGxhdGVuY2llcyAoYWxtb3N0IDIwMG1zKSB3aGVuIGRlcXVldWluZyBidWZmZXJzIGZyb20gX2J1ZmZlcl9hbGxvYygpLiAgSXQgaXMgc2ltcGxlciBhbmQgc2VlbXMgdG8gd29yayBtdWNoIGJldHRlciB0byBkcWJ1ZiBmcm9tIHRoZSBzYW1lIHRocmVhZCB0aGF0IGlzIHF1ZXVpbmcgdGhlIG5leHQgYnVmZmVyLgoKMjAwOS0wOC0wNCAwOToxNDoyMCArMDIwMCAgUm9iIENsYXJrIDxyb2JAdGkuY29tPgoKCSogc3lzL3Y0bDIvTWFrZWZpbGUuYW06CgkqIHN5cy92NGwyL2dzdHY0bDIuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5oOgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuaDoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmg6CgkgIHY0bDI6IEFkZCB2NGwyc2luayBlbGVtZW50CgkgIFRoaXMgYWxzbyBkb2VzIHRoZSBmb2xsb3dpbmcgY2hhbmdlczoKCSAgKDEpIHB1bGwgdGhlIGJ1ZmZlcnBvb2wgY29kZSBvdXQgaW50byBnc3R2NGwyYnVmZmVycG9vbC5jLCBhbmQgbWFrZSBhCgkgIGJpdCBtb3JlIGdlbmVyaWMgc28gaXQgY2FuIGJlIHVzZWQgYm90aCBmb3IgdjRsMnNyYyBhbmQgdjRsMnNpbmsKCSAgKDIpIG1vdmUgc29tZSBvZiB0aGUgZGV2aWNlIHByb2JpbmcvY29uZmlndXJhdGlvbi9jYXBzIHN0dWZmIGludG8KCSAgZ3N0djRsMm9iamVjdC5jIHNvIGl0IGRvZXMgbm90IGhhdmUgdG8gYmUgZHVwbGljYXRlZCBiZXR3ZWVuCgkgIHY0bDJzcmMgYW5kIHY0bDJzaW5rCgkgIEZpeGVzIGJ1ZyAjNTkwMjgwLgoKMjAwOS0wOC0wNCAwNzowNzo0NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgZmx2bXV4OiBFbmFibGUgdW5pdCB0ZXN0IG5vdyB0aGF0IGl0IHBhc3NlcwoKMjAwOS0wOC0wMyAyMToyMTozOSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwcWRtZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzdjN2ZGVwYXkuYzoKCSAgcnRwcWRtMmRlcGF5LHJ0cHN2M3ZkZXBheTogQWRkIGRlYnVnZ2luZyBjYXRlZ29yeS4KCjIwMDktMDgtMDMgMjE6MjI6NDggKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHFkbWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcWRtZGVwYXkuaDoKCSAgcnRwcWRtMmRlcGF5OiBIYW5kbGUgZ2FwcyBpbiBpbmNvbWluZyBwYWNrZXRzLgoJICBXaGVuZXZlciB3ZSBzZWUgYSBnYXAsIHdlIGZsdXNoIHRoZSB0ZW1wb3JhcnkgcGFja2V0cyAoYnV0IG5vdCB0aGUgYWRhcHRlcikuIElmIHdlCgkgIGhhZCBzb21lIGRhdGEgdGVtcG9yYXJpbHkgc3RvcmVkIGl0IHdpbGwgYmUgb3V0cHV0dGVkICh0aGUgc291bmQgd2lsbCBzb3VuZCBhIGJpdAoJICBnYXJibGVkLi4uIGJ1dCB0aGF0J3MgaG93IGl0IHNvdW5kcyBvbiBNYWNPU1ggOikKCjIwMDktMDgtMDMgMTk6MDE6MDcgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHFkbWRlcGF5LmM6CgkgIHJ0cHFkbWRlcGF5OiBGaXggQ1JDIGNhbGN1bGF0aW9uIGFuZCByZW1vdmUgY29tbWVudGVkIGNvZGUuCgoyMDA5LTA4LTAyIDEzOjQyOjEyICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cC9nc3RydHAuYzoKCSogZ3N0L3J0cC9nc3RydHBxZG1kZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHFkbWRlcGF5Lmg6CgkgIHJ0cDogTmV3IFFETTIgcnRwIGRlcGF5bG9hZGVyLgoJICBSZXZlcnNlLWVuZ2luZWVyZWQgYnkgY29tcGFyaW5nOgoJICAqIEEgcnRwIGhpbnRlZCBmaWxlIHByb3ZpZGVkIGJ5IERhcndpblN0cmVhbWluZ1NlcnZlcgoJICAqIFRoZSBvdXRwdXQgcHJvY3VlZCBieSBEU1MgZm9yIHRoYXQgc2FtZSBmaWxlCgkgIEFsc28gdXNlZCB2YXJpb3VzIHN0cmVhbWluZyBzb3VyY2VzIGF2YWlsYWJsZSBvbiB0aGUgaW50ZXJuZXQgdG8gZmluZS10dW5lCgkgIHRoZSBjb2RlLgoJICBUaGUgaGVhZGVyL2NvZGVjX2RhdGEgZXh0cmFjdGlvbiBtZXRob2RzIGFyZSBmcm9tIEZGTXBlZyAoTEdQTCkuCgoyMDA5LTA4LTAzIDIxOjI0OjQ0ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBzdjN2ZGVwYXkuYzoKCSAgcnRwc3YzdmRlcGF5OiBQcm9wZXJseSBmaWxsIGNvZGVjX2RhdGEgYW5kIGNsZWFudXAgY29kZSBhIGJpdGUgbW9yZS4KCjIwMDktMDgtMDMgMTk6MDI6MTcgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHN2M3ZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHN2M3ZkZXBheS5oOgoJICBydHBzdjN2ZGVwYXk6IE9ubHkgb3V0cHV0IGJ1ZmZlcnMgb25jZSB3ZSdyZSBjb25maWd1cmVkLgoKMjAwOS0wOC0wMyAxOTowMjowMCArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwc3YzdmRlcGF5LmM6CgkgIHJ0cHN2M3ZkZXBheTogQWRkIG1vcmUgZW5jb2RpbmctbmFtZSB2YXJpYW50cwoKMjAwOS0wOC0wMyAyMDowODozMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9mbHZtdXguYzoKCSAgZmx2bXV4OiBGaXggdW5pdCB0ZXN0IHRvIGNvcnJlY3RseSBoYW5kbGUgcmVxdWVzdCBwYWRzCgkgIFJlcXVlc3QgcGFkcyBhcmUgcmVtb3ZlZCBieSB0aGUgZWxlbWVudCBpbnN0YW5jZSBpbiBQQVVTRUQtPlJFQURZCgkgIHNvIHdlIG5lZWQgdG8gcmUtcmVxdWVzdCBwYWRzIGZvciBldmVyeSBydW4gYW5kIGxpbmsgdGhlbSBhZ2Fpbi4KCSAgTGFzdCBmaXggZm9yIGJ1ZyAjNTkwNDQ3LgoKMjAwOS0wOC0wMyAyMDowODowMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJICBmbHZtdXg6IEZpeCB3cml0aW5nIG9mIHRoZSBpbmRleCBmb3IgPCAxMjggYnVmZmVycwoJICBQYXJ0aWFsbHkgZml4ZXMgYnVnICM1OTA0NDcuCgoyMDA5LTA4LTAzIDIwOjA3OjAwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkgIGZsdm11eDogRml4IHJlc2V0dGluZyBvZiB0aGUgZWxlbWVudAoJICBSZXNldCB0aGUgaGF2ZV92aWRlby9oYXZlX2F1ZGlvIGZsYWdzIGFuZCBtYWtlIHN1cmUgdG8KCSAgcHJvcGVybHkgcmVsZWFzZSB0aGUgcmVxdWVzdCBwYWRzLgoJICBQYXJ0aWFsbHkgZml4ZXMgYnVnICM1OTA0NDcuCgoyMDA5LTA4LTAzIDE4OjEzOjQ2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBkb24ndCBhZGQgbm9uLXV0ZjggY2hhcnMgdG8gc3RydWN0dXJlcwoKMjAwOS0wOC0wMyAxODowMjozMSArMDIwMCAgTHVjIERlc2NoZW5hdXggPGx1Yy5kZXNjaGVuYXV4IGF0IGZyZWVzdXJmLmNoPgoKCSogZ3N0L3J0cC9nc3RydHBqcGVnZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqcGVnZGVwYXkuaDoKCSAganBlZ2RlcGF5OiB1c2UgYXR0cmlidXRlcyBmb3IgZXh0cmEgcHJvcGVydGllcwoJICBVc2Ugc29tZSBvZiB0aGUgU0RQIGF0dHJpYnV0ZXMgd2hlbiB0aGV5IGFyZSBwcmVzZW50IHRvIHNwZWNpZnkgdGhlIG91dHB1dAoJICBkaW1lbnNpb24gYW5kIGZyYW1lcmF0ZS4gVGhpcyBhbGxvd3MgdXMgdG8gcmVjZWl2ZSBqcGVnIGZyYW1lcyBsYXJnZXIgdGhhbgoJICAyMDQwIHdpZHRoL2hlaWdodC4KCSAgRml4ZXMgIzU2NDQzNwoKMjAwOS0wOC0wMyAxODowMToyNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvUkVBRE1FOgoJICBSVFAgZG9jczogdXBkYXRlIHdpdGggYXR0cmlidXRlcyBpbiBjYXBzCgoyMDA5LTA4LTAzIDE3OjIxOjQ0ICswMjAwICBMdWMgRGVzY2hlbmF1eCA8bHVjLmRlc2NoZW5hdXggYXQgZnJlZXN1cmYuY2g+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IHB1dCBhbGwgU0RQIGF0dHJpYnV0ZXMgb24gY2FwcwoJICBQdXQgdGhlIFNEUCBhdHRyaWJ1dGVzIG9uIHRoZSBjYXBzIHRvbyBzbyB0aGF0IHRoZXkgY2FuIGJlIHVzZWQgYnkKCSAgZGVwYXlsb2FkZXJzLgoJICBTZWUgIzU2NDQzNwoKMjAwOS0wOC0wMyAxMzozMjoxMiArMDIwMCAgSm9uYXRoYW4gVGVsbGllciA8am9uYXRoYW4udGVsbGllciBhdCBnbWFpbC5jb20+CgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSAgcHVsc2VzcmM6IGluaXRpYWxpemUgdGhlIHByb2JlIHdpdGggdGhlIHNlcnZlcgoJICBXaGVuIGNyZWF0aW5nIGEgbmV3IHByb2JlLCBwYXNzIHRoZSBzZXJ2ZXIgaW5zdGVhZCBvZiB0aGUgZGV2aWNlIHN0cmluZy4KCSAgZml4ZXMgIzU5MDQwMQoKMjAwOS0wOC0wMiAxMTo0NDowMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJICBtdWx0aXVkcHNpbms6IGRvbid0IGRvIHRoaW5ncyB3aXRoIHNpZGUtZWZmZWN0cyBpbnNpZGUgZ19yZXR1cm5fdmFsX2lmX2ZhaWwoKQoJICBTb21lb25lIG1pZ2h0IGNvbXBpbGUgdGhpcyBjb2RlIHdpdGggLURHX0RJU0FCTEVfQVNTRVJUIHNvbWUgZGF5LgoKMjAwOS0wOC0wMSAyMTozOTozMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogZG9uJ3QgZG8gbG9naWMgd2l0aGluIGdfYXNzZXJ0KCkgc3RhdGVtZW50cwoJICBPdGhlcndpc2UgdGhhdCBjb2RlIHdpbGwganVzdCBiZSBleHBhbmRlZCB0byBub3RoaW5nIHdoZW4gY29tcGlsZWQKCSAgLURHX0RJU0FCTEVfQVNTRVJUIChQUzogd2h5IGlzIG1haW5sb29wX3N0YXJ0KCkgY2FsbGVkIGluIHRoZSBpbml0CgkgIGZ1bmN0aW9uIGFuZCBub3Qgd2hlbiBjaGFuZ2luZyBzdGF0ZSB0byBSRUFEWT8pCgoyMDA5LTA4LTAxIDE3OjA3OjQyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSAgZmxhY2RlYzogc2VuZCBuZXdzZWdtZW50IGV2ZW50IHdoZW4gb3BlcmF0aW5nIHB1c2gtYmFzZWQgYW5kIHVuZnJhbWVkCgkgIEZvciBzb21lIHJlYXNvbiBmbGFjIGRvZXNuJ3QgY2FsbCBvdXIgbWV0YWRhdGEgY2FsbGJhY2sgd2hlbiB3ZSBvcGVyYXRlCgkgIGluIHB1c2ggbW9kZSB3aXRoIHVuZnJhbWVkIGlucHV0LCBidXQgdGhhdCdzIHdoZXJlIHdlIHNldCB1cCB0aGUKCSAgbmV3c2VnbWVudCBldmVudCAoc2luY2UgdGhhdCdzIHdoZXJlIHdlJ2QgZ2V0IHRoZSBkdXJhdGlvbiBmcm9tIHRoZQoJICBzdHJlYW0gaW5mbyBoZWFkZXIpLCBzbyB3ZSBkaWRuJ3Qgc2VuZCBhIG5ld3NlZ21lbnQgZXZlbnQgYXQgYWxsIGluIHRoaXMKCSAgY2FzZS4gSGFjayBhcm91bmQgdGhpcyBieSBzdG9yaW5nIGEgZ2VuZXJpYyBuZXdzZWdtZW50IGV2ZW50IGZvciBub3cKCSAgd2hpY2ggd2lsbCBiZSB1c2VkIGlmIHdlIGRvbid0IHJlcGxhY2UgaXQgd2l0aCBhIGJldHRlciBvbmUgdGhhdAoJICBpbmNsdWRlcyB0aGUgZHVyYXRpb24uCgoyMDA5LTA4LTAxIDE2OjQ4OjM2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSAgZmxhY2RlYzogc21hbGwgY2xlYW51cHMKCSAgUmVtb3ZlIHNvbWUgY2FsbGJhY2sgaW5kaXJlY3Rpb25zIHdoaWNoIGFyZSBubyBsb25nZXIgbmVlZGVkIGJlY2F1c2UKCSAgdGhlcmUncyBvbmx5IG9uZSBkZWNvZGVyIG9iamVjdCB0eXBlIG5vdy4gQWxzbyByZW1vdmUgdW51c2VkIHZhcmlhYmxlLgoKMjAwOS0wOC0wMSAxNToyMjo0OSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkgIGZsYWNkZWM6IHVzZSBnc3RfYWRhcHRlcl9jb3B5KCkgdG8gYXZvaWQgdW5uZWNlc3NhcnkgYnVmZmVyIG1lcmdlcwoJICBnc3RfYWRhcHRlcl9wZWVrKCkgd2lsbCBtZXJnZSBidWZmZXJzIGFzIG5lZWRlZCwgd2hpY2ggd2UgY2FuIGF2b2lkCgkgIGhlcmUgc2luY2Ugd2UncmUgZG9pbmcgYSBtZW1jcHkgYW55d2F5IGFuZCB0aGVuIGZsdXNoIHRoZSBjb3BpZWQKCSAgZGF0YSBmcm9tIHRoZSBhZGFwdGVyIHJpZ2h0IGF3YXkuCgoyMDA5LTA4LTAxIDAwOjAwOjQxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSAgZmxhY2RlYzogcmVwYWlyIHNvbWUgYnJva2VuIGluZGVudGluZwoKMjAwOS0wOC0wMSAxMjoxOTo0MSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZmx2bXV4LmM6CgkgIGNoZWNrczogYWRkIGJhc2ljIHVuaXQgdGVzdCBmb3IgZmx2bXV4LCBidXQgZGlzYWJsZSBpdCBmb3Igbm93CgkgIEJhc2ljIHVuaXQgdGVzdCBmb3IgZmx2bXV4LiBGYWlscyBtaXNlcmFibHksIGhlbmNlIGRpc2FibGVkIGZvciBub3cuCgoyMDA5LTA3LTMxIDIzOjI4OjEyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9mbHZkZW11eC5jOgoJKiB0ZXN0cy9maWxlcy9NYWtlZmlsZS5hbToKCSogdGVzdHMvZmlsZXMvcGNtMTZzaW5lLmZsdjoKCSAgY2hlY2s6IGFkZCBiYXNpYyB1bml0IHRlc3QgZm9yIGZsdmRlbXV4CgkgIEluIHBhcnRpY3VsYXIsIHRlc3QgcmUtdXNlIG9mIGZsdmRlbXV4IGluIGJvdGggcHVsbCBhbmQgcHVzaCBtb2RlCgkgIChzZWUgIzU4MzAzMCkuCgoyMDA5LTA3LTMxIDIwOjI1OjE3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkgIGZsdm11eDogZml4IGludmFsaWQgd3JpdGUgY2F1c2VkIGJ5IHVzaW5nIHNpemVvZigic3RyaW5nIikgYXMgbGVuZ3RoCgkgIHNpemVvZigiZm9vIikgaW5jbHVkZXMgdGhlIHN0cmluZydzIE5VTC10ZXJtaW5hdG9yIGluIHRoZSBzaXplIHJldHVybmVkLAoJICBidXQgd2UncmUgd3JpdGluZyBzdHJpbmdzIGhlcmUgd2l0aCBhbiBleHBsaWNpdCBzaXplIGF0IHRoZSBiZWdpbm5pbmcKCSAgYW5kIG5vIE5VTC10ZXJtaW5hdG9yLiBJbiBtb3N0IGNhc2VzIHVzaW5nIHNpemVvZigiZm9vIikgYXMgbGVuZ3RoIGluCgkgIG1lbWNweSBpcyBub3QgaGFybWZ1bCwgYnV0IGl0IGlzIHdoZXJlIHRoZSBzdHJpbmcgZ29lcyByaWdodCBhdCB0aGUKCSAgZW5kIG9mIG91ciBidWZmZXIgdG8gd3JpdGUsIHNpbmNlIHdlIGRvbid0IGFsbG9jYXRlIHNwYWNlIGZvciB0aGF0CgkgIE5VTCB0ZXJtaW5hdG9yLgoKMjAwOS0wNy0yNyAxODo0NDo0NSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXA6IFVzZSAiR0VUIiBpbnN0ZWFkIG9mIFNPVVBfTUVUSE9EX0dFVC4gRml4ZXMgYnVpbGQgd2l0aCBsaWJzb3VwLTIuNy4qCgkgIFRoaXMgaXMgZHVlIHRvIGEgcXVhbGl0eSBBUEkgY2hhbmdlIGluIGxpYnNvdXAgMi43LiBTT1VQX01FVEhPRF8qIGFyZSBub3cKCSAgaW50ZWdlcnMgYW5kIG5vdCBzdHJpbmdzLi4uIHRoZXkgY291bGQgaGF2ZSBjaGFuZ2VkIHRoZSBuYW1lcy4KCjIwMDktMDctMzAgMTc6NTc6NTMgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJICBqcGVnOiB1c2UgbG9uZ2VyIG1hY3JvIG5hbWVzIHRvIG5vdCBjbGFzaCB3aXRoIHNvbWUgc3R1cGlkIHdpbmRvd3MgZGVmaW5lcwoJICBsaWJqcGVnIGhlYWRlcnMgcHVsbCBzb21lIHdpbmRvd3Mgc3lzdGVtIGlubGN1ZGVzIChvbiB3aW5kb3dzKSB0aGF0IGNvbnRhaW4gYQoJICBkZWZpbmUgZm9yIERFRkFVTFRfUVVBTElUWS4KCjIwMDktMDctMjkgMTQ6MzE6NDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogRml4IGxhc3QgY29tbWl0IGFuZCBpbXByb3ZlIHJlYWRhYmlsaXR5CgoyMDA5LTA3LTI0IDE5OjA0OjMxICswNDAwICDQoNGD0YHQu9Cw0L0g0JjQttCx0YPQu9Cw0YLQvtCyIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgRml4ZWQgdGhlIGZpeCBmb3IgVElNRS0+REVGQVVMVCBjb252ZXJzaW9uLgoJICBGaXhlcyBidWcgIzU3ODA1MiBhZ2Fpbi4KCjIwMDktMDctMjkgMTM6Mzg6MDMgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHN2M3ZkZXBheS5jOgoJICBydHBzdjNkZXBheTogRml4IHdpZHRoL2hlaWdodCBjYWxjdWxhdGlvbiwgYnJpbmcgdXAgdG8gbWFyZ2luYWwgcmFuay4KCSAgQmFzZWQgb24gZG9jdW1lbnRhdGlvbiBmb3VuZCBvbiBodHRwOi8vd2lraS5tdWx0aW1lZGlhLmN4LwoKMjAwOS0wNy0yOSAxMjoxMzoyMCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkgIHB1bHNlOiBjb25kaXRpb25hbGx5IGNvbXBpbGUgbmV3ZXIgc3R1ZmYKCSAgY29uZmlndXJlZF9zaW5rL3NvdXJjZV91c2VjIGluIHRoZSB0aW1pbmdfaW5mbyBpcyBvbmx5IHNpbmNlIDAuOS4xMSBzbwoJICBjb25kaXRpb25hbGx5IGNvbXBpbGUgdGhpcyBpbmZvcm1hdGlvbi4KCSAgZml4ZXMgIzU5MDAzOAoKMjAwOS0wNy0yOCAxODoyOTowNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuaDoKCSAgcHVsc2VzcmM6IGNsZWFudXBzCgkgIEtlZXAgdHJhY2sgb2YgdGhlIHBhdXNlZCBzdGF0ZSBvZiB0aGUgc291cmNlIGFuZCBsZWF2ZSB0aGUgcmVhZCBmdW5jdGlvbiB3aGVuCgkgIHBhdXNlZC4KCSAgZG9uJ3Qgd2FpdCBmb3IgYSBsYXRlbmN5IHVwZGF0ZSB3aGVuIHRoZSBkZWxheSBpcyBub3QgeWV0IGtub3duIGJ1dCBzaW1wbHkKCSAgcmV0dXJuIDAgaW5zdGVhZCBvZiBibG9ja2luZy4KCSAgS2VlcCB0cmFjayBvZiB0aGUgY29ya2VkIHN0YXRlIG9mIHRoZSBzdHJlYW0uCgkgIEZpeCB0aGUgc3RhdGUgY2hhbmdlcy4KCjIwMDktMDctMjggMTY6MTE6MTggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSAgcHVsc2VzcmM6IHNldCBtYXhsZW5ndGggYWx3YXlzIHRvIC0xCgoyMDA5LTA3LTI4IDE1OjUzOjU3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5oOgoJICBwdWxzZXNyYzsgY2xlYW51cHMsIHJlcG9ydCByZWFsIGxhdGVuY3kKCSAgQWRkIHNvbWUgbW9yZSBkZWJ1ZyBpbmZvCgkgIEF2b2lkIHNvbWUgdHlwZSBjYXN0cwoJICBSZXBvcnQgdGhlIHJlYWwgbGF0ZW5jeSB0byB0aGUgYXBwbGljYXRpb24uCgoyMDA5LTA3LTI4IDE2OjExOjM2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogd2hlbiBzY2FubmluZyBmb3IgMHhmZiBtYXJrZXIgZW5kcywgZW5zdXJlIGRlc2lyZWQgcmVzdWx0CgkgIE90aGVyd2lzZSwgYW55IG5vbiAweGZmIGJ5dGUgYXQgZW5kIG9mIGRhdGEgd291bGQgYmUgbWlzdGFrZW4gZm9yCgkgIGEgdGFnIGJ5dGUsIGFuZCBpbiBjYXNlIG9mIGEgZnJhbWVfbGVuIDAgdGFnIHN1YnNlcXVlbnRseSBsZWFkIHRvIGFuCgkgIGluZmluaXRlIGxvb3AuCgoyMDA5LTA3LTI4IDAwOjMwOjQzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0BlbWJlZGRlZC51ZmNnLmVkdS5icj4KCgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkgIGF2aW11eDogYWRkcyBzdXBwb3J0IHRvIHdtYQoKMjAwOS0wNy0yOCAwMDowNzoxNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAZW1iZWRkZWQudWZjZy5lZHUuYnI+CgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJICBhdmltdXg6IGFkZHMgc3VwcG9ydCB0byB3bXYKCjIwMDktMDctMjcgMjE6MzQ6MjIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQGVtYmVkZGVkLnVmY2cuZWR1LmJyPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBEb3duZ3JhZGUgd2FybmluZyBtZXNzYWdlIHRvIGRlYnVnCgoyMDA5LTA3LTI3IDExOjUxOjM5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IGF2b2lkIHVzaW5nIGl2YWxpZCBzdHJlYW0gaW5kZXhlcwoJICB3aGVuIHdlIGdldCBhbiBpbnZhbGlkIHN0cmVhbSBpbmRleCBmcm9tIHB1bHNlIGJlY2F1c2Ugd2Ugd2VyZSBqdXN0IHN0YXJ0aW5nLAoJICBhdm9pZCB1c2luZyBpdCBmb3IgZ2V0dGluZyBhbmQgc2V0dGluZyB0aGUgdm9sdW1lLgoJICBGaXhlcyAjNTg5MzY1CgoyMDA5LTA3LTI0IDE5OjM4OjA3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lZmZlY3R2L2dzdGFnaW5nLmM6CgkqIGdzdC9lZmZlY3R2L2dzdGRpY2UuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0cXVhcmsuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0cmFkaW9hYy5jOgoJKiBnc3QvZWZmZWN0di9nc3RyaXBwbGUuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0c2hhZ2FkZWxpYy5jOgoJKiBnc3QvZWZmZWN0di9nc3RzdHJlYWsuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0dmVydGlnby5jOgoJKiBnc3QvZWZmZWN0di9nc3R3YXJwLmM6CgkgIGVmZmVjdHY6IERvbid0IGFsbG93IGNhcHMgY2hhbmdlcyBmb3Igc29tZSBlZmZlY3R2IGZpbHRlcnMKCSAgVGhlc2UgZmlsdGVycyB1c2UgaW5mb3JtYXRpb24gZnJvbSBwcmV2aW91cyBmcmFtZXMgdG8KCSAgZ2VuZXJhdGUgdGhlIGN1cnJlbnQgZnJhbWUgYW5kIGEgY2FwcyBjaGFuZ2Ugd2lsbCBtYWtlCgkgIHRoZSBlZmZlY3Qgc3RhcnQgZnJvbSB0aGUgYmVnaW5uaW5nIGFnYWluLgoKMjAwOS0wNy0yNCAxOTozNzowOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZWZmZWN0di9nc3R3YXJwLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHdhcnAuaDoKCSAgd2FycHR2OiBNYWtlIHRoZSBzaW5lIHRhYmxlIGdsb2JhbCBpbnN0ZWFkIG9mIGhhdmluZyBpdCBpbiBldmVyeSBpbnN0YW5jZQoKMjAwOS0wNy0yNCAxMDo0Nzo0NCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJICBqcGVnOiBtYWtlIGVuY29kZXIgd29yayB3aXRoIGxpYmpwZWcgdjcKCSAgV2UgaGF2ZSB0byBzcGVjaWZ5IGRvX2ZhbmN5X2Rvd25zYW1wbGluZyA9IEZBTFNFIGluIHRoZSBlbmNvZGVyIHdpdGggZGlkIG5vdCBleGlzdCBiZWZvcmUuCgoyMDA5LTA3LTI0IDAwOjQyOjMzICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGZlZGFhZWUgdG8gOTRmOTVlMwoKMjAwOS0wNy0yMyAxMjowNjoyNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkgIGZsYWNkZWM6IEltcGxlbWVudCBTRUVLSU5HIHF1ZXJ5CgkgIEZpeGVzIGJ1ZyAjNTg5NDIzLgoKMjAwOS0wNy0yMiAxMToxNjowNiArMDEwMCAgQ29saW4gR3V0aHJpZSA8Y2d1dGhyaWVAbWFuZHJpdmEub3JnPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IEZpeCBhIGNvdXBsZSBlcnJvciBtZXNzYWdlcyB0aGF0IG1lbnRpb25lZCBpbmNvcnJlY3QgZnVuY3Rpb24gbmFtZXMuCgkgIEZpeGVzICM1ODk0NTkuCgoyMDA5LTA3LTIzIDExOjUwOjE2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOgoJICBmbHZkZW11eDogSW1wbGVtZW50IFNFRUtJTkcgcXVlcnkKCSAgQWxzbyBhZGQgc29tZSBtb3JlIHF1ZXJ5IHR5cGVzIHRvIHRoZSBhbnN3ZXIgb2YgdGhlIHF1ZXJ5IHR5cGUgZnVuY3Rpb24uCgkgIEZpeGVzIGJ1ZyAjNTg5NDI0LgoKMjAwOS0wNy0yMSAxOTo0Njo1NSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuaDoKCSAgZmxhY2RlYzogZml4IGludGVybWl0dGVudCBGTEFDX19TVFJFQU1fREVDT0RFUl9BQk9SVEVEIGVycm9ycyB3aGVuIHNlZWtpbmcKCSAgV2hlbiBzZWVraW5nIGluIGEgbG9jYWwgZmxhYyBmaWxlIChpZS4gb3BlcmF0aW5nIHB1bGwtYmFzZWQpLCB0aGUgZGVjb2RlcgoJICB3b3VsZCBvZnRlbiBqdXN0IGVycm9yIG91dCBhZnRlciB0aGUgbG9vcCBmdW5jdGlvbiBzZWVzIGEgREVDT0RFUl9BQk9SVEVECgkgIHN0YXR1cy4gVGhpcywgaG93ZXZlciwgaXMgdGhlIHJlYWQgY2FsbGJhY2sncyB3YXkgb2YgdGVsbGluZyBvdXIgbG9vcAoJICBmdW5jdGlvbiB0aGF0IHB1bGxfcmFuZ2UgZmFpbGVkIGFuZCBzdHJlYW1pbmcgc2hvdWxkIHN0b3AsIGluIHRoaXMgY2FzZQoJICBiZWNhdXNlIG9mIHRoZSBmbHVzaC1zdGFydCBldmVudCB0aGF0IHRoZSBzZWVrIGhhbmRsZXIgcHVzaGVkIHVwc3RyZWFtCgkgIGZyb20gdGhlIHNlZWtpbmcgdGhyZWFkLiBIYW5kbGUgdGhpcyBzbGlnaHRseSBiZXR0ZXIgYnkgc3RvcmluZyB0aGUgbGFzdAoJICBmbG93IHJldHVybiBmcm9tIHB1bGxfcmFuZ2UsIHNvIHRoZSBsb29wIGZ1bmN0aW9uIGNhbiBldmFsdWF0ZSBpdCBwcm9wZXJseQoJICB3aGVuIGl0IGVuY291bnRlcnMgYSBERUNPREVSX0FCT1JURUQgYW5kIHRha2UgdGhlIHJpZ2h0IGFjdGlvbi4KCSAgRml4ZXMgIzU3ODYxMi4KCjIwMDktMDctMjEgMTA6MDc6MDAgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzoKCSAgaW50ZXJsZWF2ZTogZml4IGluZGVudGluZyBhbmQgdXBncmFkZSB0d28gZGVidWdzIHRvIHdhcm5pbmdzLgoJICBGaXggbmV3bGluZXMgaW4gdmFyaWFibGUgZGVjbHMuIENoYW5nZSB0d28gZGVidWdzIHRvIGJlY29tZSB3YXJuaW5ncyBhcyB0aGV5CgkgIGluZGljYXRlIHRoYXQgdGhpbmdzIHdpbGwgbm90IHdvcmsuCgoyMDA5LTA3LTIxIDEwOjA0OjM2ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvanBlZy9nc3RqcGVnLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmg6CgkgIGpwZWc6IGNvZGUgY2xlYW51cHMgZm9yIGVuY29kZXIKCSAgUmVtb3ZlIHNvbWUgZGlzYWJsZWQgY29kZSBpbiBlbmNvZGVyLiBUcnkgI2lmIDAnZWQgY29kZSBhbmQgYWRkIGNvbW1lbnRzIGFib3V0CgkgIHdoeSBpdCBpcyBkaXNhYmxlZC4gTW92ZSBpZGN0LW1ldGhvZCBlbnVtIHRvIGpwZWcuYyBhbmQgdXNlIGluIGJvdGggZW5jb2RlciBhbmQKCSAgZGVjb2Rlci4gQWRkIGlkY3QtbWV0aG9kIHByb3BlcnR5IHRvIGVuY29kZXIuCgoyMDA5LTA3LTIxIDA3OjUwOjQ2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBBbnN3ZXIgU0VFS0lORyBxdWVyaWVzIGluIHRoZSBvcmlnaW5hbCBmb3JtYXQKCjIwMDktMDctMjEgMDE6MTI6NDQgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGdzdC91ZHAvZ3N0dWRwbmV0dXRpbHMuYzoKCSAgdWRwdXRpbHM6IGluaXRpYWxpemUgc3RydWN0IGNvbnRlbnQgd2l0aCAwLgoJICBGaXhlcyBzb21lIHJhbmRvbSBjcmFzaGVzLgoKMjAwOS0wNy0yMCAxOTowOToxOSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBzZXQgc29tZSB2YWx1ZXMgdG8gdGhlaXIgZGVmYXVsdHMKCSAgU2V0IHRoZSBtaW5yZXEgYW5kIG1heGxlbmd0aCBidWZmZXIgYXR0cmlidXRlcyB0byAtMSB0byBsZXQgcHVsZXNlYXVkaW8gc2VsZWN0IGEKCSAgc2Vuc2libGUgdmFsdWUuCgoyMDA5LTA3LTIwIDE5OjA0OjA5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IGRvbid0IHdhaXQgZm9yIHBvc3RlZCBtZXNzYWdlCgkgIFdlIGNhbid0IHdhaXQgZm9yIHRoZSBFTlRFUi9MRUFWRSBtZXNzYWdlcyB0byBiZSBiZSBwb3N0ZWQgYmVjYXVzZSB0aGUgYmFzZQoJICBjbGFzcyBzb21ldGltZXMgY2FsbHMgdGhlIHN0YXJ0IG1ldGhvZCB3aXRoIHRoZSBvYmplY3QgbG9jaywgd2hpY2ggd291bGQgYmxvY2sKCSAgdGhlIG1lc3NhZ2UgcG9zdGluZy4KCSAgSW5zdGVhZCwganVzdCBhc3N1bWUgdGhhdCB0aGUgbWVzc2FnZSB3aWxsIGJlIHBvc3RlZCBzb29uIGFuZCBjb250aW51ZS4gV2UnbGwKCSAgaGF2ZSB0byBmaXggdGhpcyBpbiB0aGUgYmFzZSBjbGFzcy4KCjIwMDktMDctMjAgMTg6MTE6MzMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogdXNlIHJlbGF0aXZlIHNlZWtzCgkgIFVzZSByZWxhdGl2ZSBzZWVrcyBiZWNhdXNlIEkgd2FzIHRvbGQgdGhhdCBhYnNvbHV0ZSBzZWVrcyBkb24ndCB3b3JrLgoKMjAwOS0wNy0yMCAxNjo1MjoxOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogSW1wbGVtZW50IFNFRUtJTkcgcXVlcnkKCjIwMDktMDctMjAgMDg6MDc6MTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NhaXJvL2dzdGNhaXJvcmVuZGVyLmM6CgkgIGNhaXJvcmVuZGVyOiBBZGQgc3VwcG9ydCBmb3IgQVJHQi9CR1JBIGlucHV0CgkgIE5vdGUgdGhhdCB2aWRlb3Rlc3RzcmMgb3V0cHV0cyAxMDAlIHRyYW5zcGFyZW50IHZpZGVvCgkgIHdoaWNoIHdpbGwgcmVzdWx0IGluIHdoaXRlIG91dHB1dCBmcm9tIGNhaXJvcmVuZGVyLgoKMjAwOS0wNy0xNyAxMzoyMjo1NyArMDEwMCAgRWxhaW5lIFhpb25nIDxFbGFpbmUuWGlvbmdAU3VuLkNPTT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSAgdjRsMjogRml4IHY0bDJzcmMgb24gT3BlblNvbGFyaXMKCSAgVGhlIHY0bDIgZHJpdmVyIGZvciBVU0Igd2ViY2FtcyBvbiBPcGVuU29sYXJpcyBkb2VzIG5vdCBzdXBwb3J0IHNlbGVjdCgpCgkgIGNhbGxzLiBEZXRlY3Qgd2hlbiBzZWxlY3QoKSBmYWlscywgYW5kIHNraXAgcG9sbGluZyB0aGUgZGV2aWNlIGFmdGVyd2FyZCwKCSAgd2hpY2ggcmVzdG9yZXMgdGhlIHByZSAwLjEwLjE0IGJlaGF2aW91ciBvbiBPcGVuU29sYXJpcy4KCSAgU2lnbmVkLW9mZi1ieTogSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKMjAwOS0wNy0xNyAxMToyMjowNiArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogdGVzdHMvZXhhbXBsZXMvdjRsMi8uZ2l0aWdub3JlOgoJICBnaXRpZ25vcmU6IElnbm9yZSBzb21lIG5ldyBiaW5hcmllcwoKMjAwOS0wNy0xNyAxMzo0OToyMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZXh0L2NhaXJvL2dzdGNhaXJvcmVuZGVyLmM6CgkgIGNhaXJvcmVuZGVyOiBBZGQgdG8gdGhlIGRvY3VtZW50YXRpb24KCjIwMDktMDctMTcgMTM6NDI6NDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NhaXJvL2dzdGNhaXJvcmVuZGVyLmM6CgkgIGNhaXJvcmVuZGVyOiBSZXR1cm4gbm90LW5lZ290aWF0ZWQgaWYgd2UgaGF2ZSBubyBjYXBzCgoyMDA5LTA3LTE3IDEzOjQxOjE5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jYWlyby9nc3RjYWlyb3JlbmRlci5jOgoJKiBleHQvY2Fpcm8vZ3N0Y2Fpcm9yZW5kZXIuaDoKCSAgY2Fpcm9yZW5kZXI6IEZpeCBjYXBzIGFuZCBjb2xvcnNwYWNlIGhhbmRsaW5nCgoyMDA5LTA3LTE3IDEzOjMwOjAyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jYWlyby9nc3RjYWlyb3JlbmRlci5jOgoJICBjYWlyb3JlbmRlcjogVXNlIGNvcnJlY3QgbWltZXR5cGVzIGZvciBQREYgYW5kIFNWRwoKMjAwOS0wNy0xNyAxMzoyNDoyOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY2Fpcm8vZ3N0Y2Fpcm9yZW5kZXIuYzoKCSAgY2Fpcm9yZW5kZXI6IFJlbW92ZSBwdWxsIG1vZGUsIGl0IG9ubHkgYWRkcyBjb21wbGV4aXR5IGJ1dCBub3QgYWR2YW50YWdlcwoKMjAwOS0wNy0xNiAyMTo1NTozMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY2Fpcm8vZ3N0Y2Fpcm9yZW5kZXIuYzoKCSAgY2Fpcm9yZW5kZXI6IEZpeCBjYXBzIG5lZ290aWF0aW9uIGFuZCBjYWlybyBzdXJmYWNlIGNyZWF0aW9uCgoyMDA5LTA3LTE2IDIxOjQyOjIxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jYWlyby9nc3RjYWlyb3JlbmRlci5jOgoJICBjYWlyb3JlbmRlcjogQ29ycmVjdGx5IHNldCBzcmNjYXBzCgoyMDA5LTA3LTE2IDIxOjMxOjQzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jYWlyby9nc3RjYWlyb3JlbmRlci5jOgoJKiBleHQvY2Fpcm8vZ3N0Y2Fpcm9yZW5kZXIuaDoKCSAgY2Fpcm9yZW5kZXI6IE1vdmUgaW5zdGFuY2UvY2xhc3Mgc3RydWN0IGRlZmluaXRpb25zIHRvIHRoZSBoZWFkZXIKCjIwMDktMDctMTYgMjE6MzA6MDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NhaXJvL2dzdGNhaXJvcmVuZGVyLmM6CgkqIGV4dC9jYWlyby9nc3RjYWlyb3JlbmRlci5oOgoJICBjYWlyb3JlbmRlcjogQWRkIEx1dHonIGNvcHlyaWdodCB0byB0aGUgZmlsZSBoZWFkZXIKCjIwMDktMDctMTYgMjE6Mjc6NDUgKzAyMDAgIEx1dHogTXVlbGxlciA8bHV0ekB0b3Bmcm9zZS5kZT4KCgkqIGV4dC9jYWlyby9NYWtlZmlsZS5hbToKCSogZXh0L2NhaXJvL2dzdGNhaXJvLmM6CgkqIGV4dC9jYWlyby9nc3RjYWlyb3JlbmRlci5jOgoJKiBleHQvY2Fpcm8vZ3N0Y2Fpcm9yZW5kZXIuaDoKCSAgY2Fpcm86IEFkZCBjYWlyby1iYXNlZCBQREYvUFMvU1ZHIGVuY29kZXIgZWxlbWVudAoJICBGaXhlcyBidWcgIzMzMTQyMC4KCjIwMDktMDctMTYgMjA6NDQ6NDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmg6CgkgIGZsYWNlbmM6IE9wdGlvbmFsbHkgd3JpdGUgYSBQQURESU5HIGJsb2NrCgkgIFRoZSBzaXplIG9mIHRoZSBQQURESU5HIGJsb2NrIGlzIHNwZWNpZmllZCBieSBhIG5ldwoJICAicGFkZGluZyIgcHJvcGVydHkuCgkgIEZpeGVzIGJ1ZyAjNTg4NDgzLgoKMjAwOS0wNy0xNiAxOTozNTo0NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwaHR0cHNyYzogT25seSBhc3N1bWUgc2Vla2FiaWxpdHkgaWYgdGhlIHNlcnZlciBwcm92aWRlcyBDb250ZW50LUxlbmd0aAoJICBQcmV2aW91c2x5IHNlZWthYmlsaXR5IHdheSBhbHdheXMgYXNzdW1lZCB1bnRpbCB0aGUgZmlyc3Qgc2VlayBhY3R1YWxseQoJICBmYWlsZWQuIE5vdyB3ZSBhc3N1bWUgdGhhdCBhbGwgc2VydmVycyBhcmUgbm90IHNlZWthYmxlIHVubGVzcyB0aGV5IHByb3ZpZGUKCSAgYSBDb250ZW50LUxlbmd0aCBoZWFkZXIuIElmIGEgc2VlayBmYWlscyBhZnRlciB0aGF0IHdlIGNvbnRpbnVlIHRvCgkgIGFzc3VtZSBubyBzZWVrYWJpbGl0eS4gRml4ZXMgYnVnICM1ODU1NzYuCgoyMDA5LTA3LTE2IDE1OjE0OjQzICswMjAwICBBcm5vdXQgVmFuZGVjYXBwZWxsZSA8YXJub3V0QG1pbmQuYmU+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwaHR0cHNyYzogZG9uJ3QgdHJ5IHRvIGF1dGhlbnRpY2F0ZSBpZiBubyB1c2VybmFtZS9wYXNzd29yZCBpcyBzZXQuCgoyMDA5LTA3LTE2IDE3OjEwOjIxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lZmZlY3R2L2dzdHdhcnAuYzoKCSAgZWZmZWN0djogQ2hhaW4gdXAgZmluYWxpemUgdG8gdGhlIHBhcmVudCBjbGFzcyBpbiB3YXJwdHYKCSAgRml4ZXMgYSBtZW1vcnkgbGVhay4KCjIwMDktMDctMTYgMTI6NTU6NDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9lZmZlY3R2LmM6CgkgIGVmZmVjdHY6IEFkZCB1bml0IHRlc3QgZm9yIGFsbCBlZmZlY3R2IGVsZW1lbnRzCgoyMDA5LTA3LTE2IDEyOjE3OjMyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkgIGVmZmVjdHY6IEFkZCBuZXcgZWZmZWN0diBlbGVtZW50cyB0byB0aGUgZG9jcwoKMjAwOS0wNy0xNSAxNDozNzoxOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZWZmZWN0di9NYWtlZmlsZS5hbToKCSogZ3N0L2VmZmVjdHYvZ3N0ZWZmZWN0di5jOgoJKiBnc3QvZWZmZWN0di9nc3RyaXBwbGUuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0cmlwcGxlLmg6CgkgIGVmZmVjdHY6IEFkZCByaXBwbGV0diBlbGVtZW50CgkgIFRoaXMgcHJvZHVjZXMgYSB3YXRlciByaXBwbGUgZWZmZWN0IG9uIHRoZSB2aWRlbyBpbnB1dCwKCSAgYmFzZWQgb24gbW90aW9uIG9yIGEgcmFpbiBkcm9wIGFsZ29yaXRobS4KCSAgS2luZGx5IHJlbGljZW5zZWQgdG8gTEdQTDIrIGJ5IEtlbnRhcm8gRnVrdWNoaSA8ZnVrdWNoaUBtZWdhdWkubmV0Pi4KCSAgRml4ZXMgYnVnICM1ODg2OTUuCgoyMDA5LTA3LTEyIDE1OjQyOjM1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lZmZlY3R2L01ha2VmaWxlLmFtOgoJKiBnc3QvZWZmZWN0di9nc3RlZmZlY3R2LmM6CgkqIGdzdC9lZmZlY3R2L2dzdHN0cmVhay5jOgoJKiBnc3QvZWZmZWN0di9nc3RzdHJlYWsuaDoKCSAgZWZmZWN0djogQWRkIHN0cmVha3R2IGVmZmVjdCBmaWx0ZXIgZWxlbWVudAoJICBUaGlzIGNvbWJpbmVzIHRoZSBTdHJlYWtUViBhbmQgQmFsdGFuVFYgZmlsdGVycyBmcm9tIHRoZQoJICBlZmZlY3R2IHByb2plY3QuCgkgIEtpbmRseSByZWxpY2Vuc2VkIHRvIExHUEwyKyBieSBLZW50YXJvIEZ1a3VjaGkgPGZ1a3VjaGlAbWVnYXVpLm5ldD4uCgkgIEZpeGVzIGJ1ZyAjNTg4MzY4LgoKMjAwOS0wNy0xMiAxMjozMToxNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZWZmZWN0di9nc3RhZ2luZy5jOgoJKiBnc3QvZWZmZWN0di9nc3RlZGdlLmM6CgkqIGdzdC9lZmZlY3R2L2dzdG9wLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHF1YXJrLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHJhZGlvYWMuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0cmV2LmM6CgkqIGdzdC9lZmZlY3R2L2dzdHNoYWdhZGVsaWMuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0dmVydGlnby5jOgoJICBlZmZlY3R2OiBGaXggcHJvY2Vzc2luZyBvbiBiaWcgZW5kaWFuIGFyY2hpdGVjdHVyZXMKCjIwMDktMDctMTIgMTE6NTI6MDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VmZmVjdHYvTWFrZWZpbGUuYW06CgkqIGdzdC9lZmZlY3R2L2dzdGVmZmVjdHYuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0cmFkaW9hYy5jOgoJKiBnc3QvZWZmZWN0di9nc3RyYWRpb2FjLmg6CgkgIGVmZmVjdHY6IEFkZCByYWRpb2FjdHYgZWZmZWN0IGZpbHRlcgoJICBUaGlzIGZpbHRlciBhZGRzIGEgcmFkaWF0aW9uLWxpa2UgbW90aW9uIGJsdXIgZWZmZWN0CgkgIHRvIHRoZSB2aWRlbyBzdHJlYW0uCgkgIEtpbmRseSByZWxpY2Vuc2VkIHRvIExHUEwyKyBieSBLZW50YXJvIEZ1a3VjaGkgPGZ1a3VjaGlAbWVnYXVpLm5ldD4uCgkgIEZpeGVzIGJ1ZyAjNTg4MzU5LgoKMjAwOS0wNy0xMiAxMToyNjo1NyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZWZmZWN0di9nc3RvcC5jOgoJKiBnc3QvZWZmZWN0di9nc3RvcC5oOgoJICBlZmZlY3R2OiBNYWtlIHRoZSBvcHR2IHRocmVzaG9sZCBwcm9wZXJ0eSBhbiB1aW50CgoyMDA5LTA3LTEyIDEwOjM5OjAyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lZmZlY3R2L01ha2VmaWxlLmFtOgoJKiBnc3QvZWZmZWN0di9nc3RlZmZlY3R2LmM6CgkqIGdzdC9lZmZlY3R2L2dzdG9wLmM6CgkqIGdzdC9lZmZlY3R2L2dzdG9wLmg6CgkgIGVmZmVjdDogQWRkIG9wdHYgZWZmZWN0IGZpbHRlciBmcm9tIHRoZSBlZmZlY3R2IHByb2plY3QKCSAgVGhpcyBmaWx0ZXIgYmluYXJpemVzIGlucHV0IGZyYW1lcyBhbmQgY29tYmluZXMgdGhlbSB3aXRoIHZhcmlvdXMKCSAgb3B0aWNhbCBwYXR0ZXJuLgoJICBLaW5kbHkgcmVsaWNlbnNlZCB0byBMR1BMMisgYnkgS2VudGFybyBGdWt1Y2hpIDxmdWt1Y2hpQG1lZ2F1aS5uZXQ+LgoJICBGaXhlcyBidWcgIzU4ODM0OS4KCjIwMDktMDctMDMgMDU6MTE6MjYgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBFbWl0IHN0cmVhbS1zdGF0dXMgbGVhdmUgbWVzc2FnZQoJICBGaXhlcyAjNTg3Njk1CgoyMDA5LTA3LTAzIDA1OjA2OjQ1IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuaDoKCSAgcHVsc2VzaW5rOiBFbWl0IHN0cmVhbS1zdGF0dXMgZW50ZXIgbWVzc2FnZQoJICBFbWl0IHN0cmVhbS1zdGF0dXMgbWVzc2FnZXMgZm9yIHRoZSBwdWxzZSB0aHJlYWQuCgkgIERvbid0IHVzZSBvdXIgb3duIEdDb25kIGZvciBzaWduYWxpbmcgYnV0IHNpbXBseSB1c2UgdGhlIHB1bHNlIG1haW5sb29wCgkgIG1lY2hhbmlzbXMgZm9yIHN5bmNocm9uaXNhdGlvbi4KCSAgU2VlICM1ODc2OTUKCjIwMDktMDctMTQgMTg6MTU6NTkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogZGVidWcgdGhlIGxhdGVuY3kgdXBkYXRlIHZhbHVlcwoKMjAwOS0wNy0xNCAxNjoxMjo1NSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJKiBleHQvcHVsc2UvcHVsc2V1dGlsLmM6CgkgIHB1bHNlc2luazogYWRkIDI0Yml0IHNhbXBsZSBmb3JtYXRzCgkgIEFkZCBjaGVjayBmb3IgcHVsc2VhdWRpbyAwLjkuMTUgYW5kIGVuYWJsZSAyNGJpdHMgc2FtcGxlcyBpbiB0aGF0IGNhc2UuCgoyMDA5LTA3LTEzIDEyOjIzOjM3IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDU4NDViNjMgdG8gZmVkYWFlZQoKMjAwOS0wNy0xMyAxNzo1MzoyNSArMDIwMCAgTWFyYyBMZWVtYW4gPG1hcmMubGVlbWFuIGF0IGdtYWlsLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwbXB2cGF5LmM6CgkgIG1wdnBheTogUmV3b3JrIHRoZSB0aW1lc3RhbXBpbmcKCSAgUmV3b3JrIHRoZSB0aW1lc3RhbXBpbmcgaW4gdGhlIG1wdiBwYXlsb2FkZXIgc28gdGhhdCB0aGUgdGltZXN0YW1wcyBhcmUgbW9yZQoJICBhY2N1cmF0ZS4KCSAgRml4ZXMgIzU4NzY4MAoKMjAwOS0wNy0wMyAwODo0NzoxMiArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIHRlc3RzL2V4YW1wbGVzL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy92NGwyL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy92NGwyL3Byb2JlLmM6CgkgIHY0bDJzcmM6IGFkZCBhIHNpbXBsZSB0ZXN0IGNhc2UgZm9yIGRldmljZSBwcm9iaW5nCgoyMDA5LTA3LTAzIDA4OjM4OjQzICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL3Y0bDIvTWFrZWZpbGUuYW06CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMnNyYzogb3B0aW9uYWwgc3VwcG9ydCBmb3IgZGV2aWNlIHByb2Jpbmcgd2l0aCBndWRldgoJICBFbnVtZXJhdGUgdjRsMiBkZXZpY2VzIHVzaW5nIGd1ZGV2IGlmIGF2YWlsYWJsZS4KCSAgRml4ZXMgYnVnICM1ODM2NDAuCgoyMDA5LTA3LTEwIDE5OjU0OjI1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSAgdmlkZW9taXhlcjogUmFuZG9tIGNsZWFudXAKCjIwMDktMDctMTAgMTk6NTQ6MTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJICB2aWRlb21peGVyOiBTZW5kIHF1ZXJpZXMgdG8gdGhlIG1hc3RlciBwYWQgYnkgZGVmYXVsdCBpbnN0ZWFkIG9mIGFsbCBwYWRzCgoyMDA5LTA3LTEwIDE5OjM0OjQxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZF9yZ2IuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJICB2aWRlb21peGVyOiBBZGQgUkdCLCBCR1IsIHhSR0IsIFJHQngsIHhCR1IsIEJHUnggc3VwcG9ydAoKMjAwOS0wNy0xMCAxNzo0MzowNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkgIHZpZGVvbWl4ZXI6IENsZWFuIHVwIGRlYnVnZ2luZyBhIGJpdAoKMjAwOS0wNy0xMCAxNzoyNTo0OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkgIHZpZGVvbWl4ZXI6IFJlbW92ZSBzb21lIHJlZHVuZGFudCBjaGVja3MgYW5kIGVycm9yIG91dCBpbW1lZGlhdGVseSBpZiBub3QgbmVnb3RpYXRlZAoJICBBbHNvIHN0b3AgbGVha2luZyB0aGUgb3V0cHV0IGJ1ZmZlciBpbiBzb21lIGVycm9yIGNhc2VzLgoKMjAwOS0wNy0xMCAxNzoyMzowMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZF9heXV2LmM6CgkqIGdzdC92aWRlb21peGVyL2JsZW5kX2JncmEuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRfaTQyMC5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuaDoKCSAgdmlkZW9taXhlcjogUmVtb3ZlIHRoZSBjYWxjdWxhdGVfZnJhbWVfc2l6ZSgpIGZ1bmN0aW9uIGFuZCB1c2UgbGliZ3N0dmlkZW8gaW5zdGVhZAoKMjAwOS0wNi0zMCAxNToxMzo0NCArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSAgdmlkZW9taXhlcjogUmVtb3ZlIHVudXNlZCBsaW5rL3VubGluayBwYWQgbWV0aG9kcwoKMjAwOS0wNi0zMCAxMjo0MzowNCArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC92aWRlb21peGVyL2JsZW5kX2k0MjAuYzoKCSAgdmlkZW9taXhlcjogSTQyMCBtb2RlOiBBZGQgZmFzdCBwYXRoIGZvciAwLjAgYW5kIDEuMCBhbHBoYQoJICBJZiB0aGUgc291cmNlIGFscGhhIGlzIDAuMCwgd2UgdGFrZSBub3RoaW5nLgoJICBJZiB0aGUgc291cmNlIGFscGhhIGlzIDEuMCwgd2Ugb3ZlcndyaXRlIGV2ZXJ5dGhpbmcuCgoyMDA5LTA2LTMwIDEyOjQwOjAyICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRfaTQyMC5jOgoJICB2aWRlb21peGVyOiBJNDIwIGJsZW5kaW5nIDogRml4IG1haW4gYWxnb3JpdGhtLgoJICBXaGVuIGJsZW5kaW5nIGEgc291cmNlIGxheWVyIHdpdGggYW4gYWxwaGEgb2YgJ2EnIG9uIHRvcCBvZiBhbm90aGVyCgkgIGRlc3RpbmF0aW9uIGxheWVyIHdlIHRha2UgdGhlIHN1bSBvZjoKCSAgKiAnYScgcGVyY2VudCBvZiB0aGUgc291cmNlIGxheWVyCgkgICogKDEwMCAtICdhJykgcGVyY2VudCBvZiB0aGUgZGVzdGluYXRpb24gbGF5ZXIgKHRoZSByZW1haW5kZXIpCgoyMDA5LTA2LTMwIDEyOjM5OjE5ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRfaTQyMC5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuaDoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcnBhZC5oOgoJICB2aWRlb21peGVyOiBNYWtlIGRlYnVnZ2luZyBjYXRlZ29yeSBnbG9iYWwgdG8gYWxsIHRoZSBjb2RlLgoKMjAwOS0wNi0yOSAxOToyMzo0MSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSAgdmlkZW9taXhlcjogaW1wcm92ZSByZWFkYWJpbGl0eSBvZiBkZWJ1Z2dpbmcgc3RhdGVtZW50cy4KCjIwMDktMDctMDggMTM6Mzg6NTMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBkbyBub3QgbGVhayB0aW1lb3V0IG1lc3NhZ2UKCjIwMDktMDctMDkgMDc6MTQ6MjMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmk6IERvbid0IGZvcndhcmQgTkVXU0VHTUVOVCBldmVudHMgZnJvbSB1cHN0cmVhbQoJICBOZXcgb25lcyBhcmUgZ2VuZXJhdGVkIGxhdGVyIGFuZCBzaW1wbHkgZm9yd2FyZGluZyB0aGVtIGNhbgoJICByZXN1bHQgaW4gTkVXU0VHTUVOVCBldmVudHMgb2YgZGlmZmVyZW50IGZvcm1hdCBnb2luZyBkb3duc3RyZWFtLgoJICBGaXhlcyBidWcgIzU4Nzk4My4KCjIwMDktMDctMDggMTg6MTk6NDUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRfYXl1di5jOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZF9pNDIwLmM6CgkgIHZpZGVvbWl4ZXI6IE1ha2UgY2hlY2tlciBwYXR0ZXJuIGxvb2t1cCB0YWJsZSBjb25zdGFudAoKMjAwOS0wNy0wOCAxODoxNzo0OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRfYmdyYS5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkgIHZpZGVvbWl4ZXI6IEFkZCBzdXBwb3J0IGZvciBBUkdCCgkgIEFuZCBjbGVhbiB1cCB0aGUgY2FwcyBwYXJzaW5nLgoKMjAwOS0wNy0wOCAxNToxNzo0MSArMDIwMCAgQmVuamFtaW4gR2FpZ25hcmQgPGJlbmphbWluQGdhaWduYXJkLm5ldD4KCgkqIGdzdC91ZHAvZ3N0dWRwbmV0dXRpbHMuYzoKCSAgdWRwOiBJbml0aWFsaXplIHBvaW50ZXIgdG8gTlVMTAoJICBPdGhlcndpc2Ugd2UncmUgY2FsbGluZyBmcmVlKCkgd2l0aCBzb21lIHJhbmRvbQoJICBtZW1vcnkgYWRkcmVzcyBpbiBlcnJvciBjYXNlcy4KCSAgRml4ZXMgYnVnICM1ODc5ODIuCgoyMDA5LTA3LTA3IDE2OjM1OjI0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogc3ByaW5rbGUgc29tZSBtb3JlIGNvbnN0CgoyMDA5LTA3LTA3IDE1OjU3OjU1ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogcGVyZm9ybSBzb21lIG1vcmUgKGNhcmVmdWwpIGRhdGEgYnVmZmVyaW5nCgkgIE9uY2UgYnVmZmVyaW5nIGhhcyBzdGFydGVkICh3aXRoIGFuIG1kYXQgYXRvbSksIGNvbnRpbnVlIGJ1ZmZlcmluZwoJICB1bnRpbCBtb292IGF0b20gaXMgcmVhY2hlZCwgd2hpY2ggaGFuZGxlcyBjYXNlcyB3aXRoIG11bHRpcGxlCgkgIG1kYXQgYXRvbXMuICBBbHNvIGtlZXAgYWRhcHRlci9vZmZzZXQgYmV0dGVyIGluIHN5bmMgd2l0aCB1cHN0cmVhbQoJICBhbmQgZml4IHNvbWUgZGVidWcgc3RhdGVtZW50cy4gIEZpeGVzICM1ODc0MjYuCgoyMDA5LTA3LTA2IDEwOjQwOjMxICswMjAwICBQaGlsaXAgSuRnZW5zdGVkdCA8cGhpbGlwakBvcGVyYS5jb20+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBSZXBsYWNlIGRlcHJlY2F0ZWQgR1NUX0RJU0FCTEVfREVCVUcgd2l0aCBjb3JyZWN0IG1hY3JvLiBGaXhlcyAjNTg3ODI2CgoyMDA5LTA3LTAxIDEzOjA3OjQ4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZXJyb3Igb3V0IGluc3RlYWQgb2YgZGl2aWRpbmcgYnkgMAoJICBFcnJvciBvdXQgaWYgdGltZXNjYWxlIGlzIDAuCgoyMDA5LTA3LTAxIDA5OjMyOjQyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgUmV2ZXJ0ICJxdGRlbXV4OiBNYWtlIHN1cmUgd2UgZG9uJ3QgYmxhY2tsaXN0IHN0cmVhbXMgYnkgd3JvbmdseSBjb21wYXJpbmcgdGhlaXIiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgNTUwM2E1OWE1Nzc5YjY3NDUxZDhhMjcxMDAwMTgxNzkwZWU3NmJjNy4KCSAgUmV2ZXJ0aW5nIHRoaXMgc2luY2UgaXQgY2F1c2VzIHJlZ3Jlc3Npb25zIHdpdGggYSBsb3Qgb2Ygc2FtcGxlIGZpbGVzCgkgIEkgaGF2ZSwgYWxsIG9mIHdoaWNoIHdvcmtlZCBmaW5lIHdpdGggdGhlIGxhc3QgLWdvb2QgcmVsZWFzZSAoIzU4Njg5MSkuCgoyMDA5LTA2LTMwIDE1OjU0OjQ3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogY29tbWVudCBvdXQgdW51c2VkIHN0cnVjdHVyZQoKMjAwOS0wNi0zMCAxMzoxMjowOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IG1vcmUgc2l6ZSBjaGVja3MsIGFuZCB1c2UgZ190cnlfbmV3MCgpIGluc3RlYWQgb2YgZ19uZXcwKCkKCSAgV2hlbmV2ZXIgd2UgYWxsb2Mgc29tZXRoaW5nIGJhc2VkIG9uIGEgdXNlci1zdXBwbGllZCBzaXplLCB3ZSBzaG91bGQKCSAgcmVhbGx5IHVzZSBnX3RyeV9uZXcoKSwgb3RoZXJ3aXNlIHdlIGNhbiBlYXNpbHkgYmUgbWFkZSB0byBhYm9ydCBieQoJICBwYXNzaW5nIGEgcmlkaWN1bG91c2x5IGxhcmdlIG51bWJlciB0byB1cyBmb3IgYWxsb2NpbmcuIEZpeGVzCgkgIHByb2JsZW1zIHdpdGggc29tZSBmdXp6ZWQgZmlsZXMuCgoyMDA5LTA2LTI5IDE4OjU4OjMzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZ3VhcmQgYWdhaW5zdCBib2d1cyBhdG9tIHNpemVzIGFuZCBzaG9ydCByZWFkcwoJICBDaGVjayB0aGUgcG9zc2libHkgNjQtYml0IGF0b20gc2l6ZSBtb3JlIGNhcmVmdWxseSBiZWZvcmUgY2FzdGluZyBpdAoJICB0byBhbiBpbnQgYW5kIHBhc3NpbmcgaXQgdG8gZ3N0X3BhZF9wdWxsX3JhbmdlKCksIG90aGVyd2lzZSB3ZSBtaWdodAoJICBlbmQgdXAgcHVsbGluZyAwIGJ5dGVzLCBnZXR0aW5nIGFuIGVtcHR5IGJ1ZmZlciBhcyByZXF1ZXN0ZWQgYW5kCgkgIGRlcmVmZXJlbmNpbmcgbm90IGF2YWlsYWJsZSBkYXRhIHdoaWxzdCB0aGlua2luZyB3ZSBhY3R1YWxseSBhc2tlZAoJICBmb3IgYW5kIGdvdCAweDEwMDAwMDAwMDAwMDAgYnl0ZXMuIFNpbWlsYXIgZml4IGZvciBwdXNoIG1vZGUgb3BlcmF0aW9uCgkgIHdoZXJlIG5lZWRlZGJ5dGVzIGVuZHMgdXAgYmVpbmcgMCBieXRlcywgd2hpY2ggbWFrZXMgdXMgYXNzZXJ0LiBGaXhlcwoJICBjcmFzaCB3aXRoIGJyb2tlbiBvciBmdXp6ZWQgZmlsZSAoTkIgIzEyMjM3OCkuCgoyMDA5LTA2LTI5IDE2OjUyOjQxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogdXNlIDB4IHByZWZpeCB3aGVuIGxvZ2dpbmcgbnVtYmVycyBpbiBoZXgKCjIwMDktMDctMDEgMDg6NDA6NDAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkgIGZsYWNkZWM6IERvbid0IHNlbmQgZW1wdHkgc3RyaW5nIHRhZ3MKCjIwMDktMDYtMzAgMjE6MzU6MzcgKzA0MDAgIExSTiA8bHJuMTk4NiBhdCBnbWFpbC5jb20+CgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJICBEb24ndCB1c2Ugc2VuZG1zZygpLWRlcGVuZGVudCBjb2RlIG9uIFdpbmRvd3MKCSAgRml4ZXMgIzU4NTg0MgoKMjAwOS0wNi0zMCAxNTo1OToyMCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9sYXcvYWxhdy1kZWNvZGUuYzoKCSogZ3N0L2xhdy9hbGF3LWVuY29kZS5jOgoJKiBnc3QvbGF3L2FsYXcuYzoKCSogZ3N0L2xhdy9tdWxhdy1kZWNvZGUuYzoKCSogZ3N0L2xhdy9tdWxhdy1lbmNvZGUuYzoKCSogZ3N0L2xhdy9tdWxhdy5jOgoJICBsYXc6IGZpeCBjYXBzIGFuZCBuZWdvdGlhdGlvbgoJICBGaXggdGhlIGNhcHMgdG8gaW5jbHVkZSB0aGUgZGVwdGggKGluc3RlYWQgb2Ygd2lkdGggdHdpY2UpIGluIHRoZSBjYXBzIG9mCgkgIGF1ZGlvL3gtcmF3LWludC4KCSAgRml4IG5lZ290aWF0aW9uIHRvIG5vdCBvbmx5IGNvcHkgdGhlIHJhdGUvY2hhbm5lbHMgb2YgdGhlIGZpcnN0IHN0cnVjdHVyZS4KCjIwMDktMDYtMzAgMTQ6NDg6MDkgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBpbmNsdWRlICIxLjA9MTAwJSIgaW4gdm9sdW1lIGFuZCBjaGFuZ2UgdXBwZXIgbGltaXQKCSAgVXBwZXIgdm9sdW1lIGxpbW1pdCB3YXMgMTAwMC4gVGhhdCBhcHBlYXIgdW5uZWNlYXNyaWx5IGhpZ2guIEl0IHdvdWxkIGFsc28gY2F1c2UKCSAgc2V2ZXIgZGlzdG9ydGlvbiBpZiBhY2NpZGVudGlhbHkgdXNlZC4gTm93IGl0cyAxMCAofiArMTVkYikgd2hpY2ggaXMgYWxzbyBpbgoJICBzeW5jIHdpdGggdm9sdW1lIGFuZCBwbGF5YmluMi4KCjIwMDktMDYtMjkgMTU6Mzk6NDMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSAgcHVsc2U6IHNvbWUgbW9yZSB0cml2aWFsIGNsZWFudXBzCgoyMDA5LTA2LTI5IDE1OjM4OjQ5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlbWl4ZXIuYzoKCSAgcHVsc2U6IHRyaXZpYWwgY2xlYW51cHMKCjIwMDktMDYtMjkgMTU6MjA6MzEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogY2xlYXIgcmluZ2J1ZmZlciB3aGVuIGFza2VkIHRvCgkgIFNpbmNlIHdlIG1hcCB0aGUgcmluZ2J1ZmZlciB0byB0aGUgcHVsc2VhdWRpbyBpbnRlcm5hbCByaW5nYnVmZmVyLCBmbHVzaCB0aGUKCSAgcHVsc2VhdWRpbyBidWZmZXIgd2hlbiB3ZSBhcmUgYXNrZWQgdG8gY2xlYXIgdGhlIHJpbmdidWZmZXIuCgkgIFRoaXMgYXZvaWRzIHNvbWUgbGVmdG92ZXIgYXVkaW8gYWZ0ZXIgYSBzZWVrLgoKMjAwOS0wNi0yNiAxNTowMDoxNCArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogYXV0b2dlbi5zaDoKCSAgYXV0b2dlbi5zaDogQWN0dWFsbHkgZG8gdGhlICdlY2hvIC1uJyAtPiBwcmludGYgY2hhbmdlLgoKMjAwOS0wNi0yNiAxNDo0MDoxNCArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogYXV0b2dlbi5zaDoKCSAgYXV0b2dlbi5zaDogVXNlIHByaW50ZiBpbnN0ZWFkIG9mICdlY2hvIC1uJy4gQ2hlY2sgZm9yIGF1dG9tYWtlLTEuMVswMV0KCSAgQ2hlY2sgZm9yIG1vcmUgYXV0b21ha2UgY29tbWFuZCB2YXJpYW50cy4gVXNlIHByaW50ZiBpbnN0ZWFkIG9mICdlY2hvIC1uJwoJICBmb3IgcG9ydGFiaWxpdHkKCjIwMDktMDYtMjYgMTM6NDI6MDkgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gZjgxMDAzMCB0byA1ODQ1YjYzCgoyMDA5LTA2LTI2IDEzOjE5OjA0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZG9uJ3QgcHJvY2VzcyB0cmFja19udW0vdHJhY2tfY291bnQgdGFncyB3aXRoIGEgMCB2YWx1ZQoJICBOdW1iZXIvY291bnQgdmFsdWVzIG9mIDAgbWVhbiB0aGV5J3JlIG5vdCBzZXQuIERvbid0IHB1dCB0aG9zZSBpbiB0aGUKCSAgdGFnbGlzdC4KCjIwMDktMDYtMjUgMTg6NTE6MTIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3dhdmVmb3JtL2dzdHdhdmVmb3Jtc2luay5jOgoJICB3YXZlZm9ybXNpbms6IHVzZSAnZ3VpbnQ4JyBpbnN0ZWFkIG9mICdieXRlJyB0byBmaXggY29tcGlsYXRpb24gd2l0aCBNU1ZDOAoJICBXZSBuZWVkIGEgY2FzdCBoZXJlIGZvciBwb2ludGVyIGFyaXRobWV0aWMgdG8gd29yayBjb3JyZWN0bHksIGJ1dCBzb21lCgkgIE1TVkMgdmVyc2lvbnMgZG9uJ3Qgc2VlbSB0byBsaWtlICdieXRlJywgc28gdXNlIGd1aW50OCBoZXJlLiBIb3BlZnVsbHkKCSAgZml4ZXMgIzU4NTM2MS4KCjIwMDktMDYtMjUgMTk6Mzk6MzcgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSAgdjRsMnNyYzogc2V0IHN0cnVjdHMgdG8gemVybyBiZWZvcmUgdXNpbmcgdGhlbSBpbiBpb2N0bHMKCSAgVGhpcyBmaXhlcyB2YWxncmluZCB3YXJuaW5ncy4KCjIwMDktMDYtMjUgMTM6MjM6NDAgKzAyMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBmbHVlbmRvLmNvbT4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogTWFrZSBzdXJlIHdlIGRvbid0IGJsYWNrbGlzdCBzdHJlYW1zIGJ5IHdyb25nbHkgY29tcGFyaW5nIHRoZWlyIGR1cmF0aW9uIHdpdGggZW50aXJlIGNsaXAgZHVyYXRpb24uCgoyMDA5LTA2LTI1IDEzOjE4OjE0ICswMjAwICBLcnp5c3p0b2YgQsWCYXN6a293c2tpIDxrYiBhdCBzeXNtaWtyby5jb20ucGw+CgoJKiBnc3QvcnRzcC9nc3RydHBkZWMuYzoKCSAgcnRwZGVjOiBmaXggc29tZSBidWZmZXIgbGVha3MKCjIwMDktMDYtMjUgMDg6MTE6MDkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6CgkgIGZsdnBhcnNlOiBBZGQgbWlzc2luZyBicmVhayBpbiBzd2l0Y2gvY2FzZS4KCjIwMDktMDYtMjUgMDg6MTA6MzggKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdmRlbXV4OiBSZW1vdmUgdW51c2VkIHZhcmlhYmxlLCBoaW50IGJyYW5jaCBsaWtlbGluZXNzLCBhZGQgY29tbWVudHMuCgoyMDA5LTA2LTI1IDA4OjA5OjU3ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogUmVtb3ZlZCB1bnVzZWQgdmFyaWFibGUKCjIwMDktMDYtMjUgMDc6NDE6MDcgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IFJlbW92ZSBkZWFkIGFzc2lnbm1lbnRzIGFuZCB1bnVzZWQgdmFyaWFibGVzLgoJICBBbHNvIGFkZCBicmFuY2ggbGlrZWxpbmVzcyBtYWNyb3MuCgoyMDA5LTA2LTI1IDA3OjQwOjI2ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBGaXggdW5pbml0aWFsaXplZCB2YXJpYWJsZXMuIEZpeGVzIGJ1aWxkIG9uIG1hY29zeAoKMjAwOS0wNi0yNCAxNzo0MzoyNSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cGh0dHBzcmM6IGZyZWUgbWVtb3J5IGluIGZpbmFsaXplCgkgIGZpbmFsaXplIGlzIGNhbGxlZCBvbmx5IG9uY2UuIG5vIG5lZWQgdG8gY2xlYXIgcG9pbnRlcnMgdGhlcmUuIGRpc3Bvc2UgaXMgZm9yCgkgIHVucmVmZmluZy4KCjIwMDktMDYtMjQgMTU6MTQ6MTQgKzAxMDAgIEphbiBTY2htaWR0IDxqYW4uc2NobWlkdEBzdW4uY29tPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA2YWIxMWQxIHRvIGY4MTAwMzAKCjIwMDktMDYtMDggMTQ6NDY6NDggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogc2hvcnQtY2lyY3VpdCBnc3RfYXZpX2RlbXV4X3NyY19jb252ZXJ0KCkgd2hlbiBwYXJzaW5nIHRoZSBpbmRleAoJICBEb24ndCBjYWxsIGdzdF9hdmlfZGVtdXhfc3JjX2NvbnZlcnQoKSBmb3IgZWFjaCBzaW5nbGUgaW5kZXggZW50cnkuIE5vdAoJICBvbmx5IGRvIHdlIGFscmVhZHkgaGF2ZSB0aGUgcG9pbnRlciB0byB0aGUgc3RyZWFtIGNvbnRleHQsIHdlIGFsc28ga25vdwoJICB0aGUgZm9ybWF0cyB3ZSB3YW50IHRvIGNvbnZlcnQgZnJvbSBhbmQgdG8gYWxyZWFkeSwgc28gd2UgbWF5IGp1c3QgYXMKCSAgd2VsbCB1c2Ugb3B0aW1pc2VkIGNvbnZlcnNpb24gcm91dGluZXMgdGhhdCBieXBhc3Mgc29tZSBvZiB0aGUgY2hlY2tzCgkgIGFuZCBsb29rdXBzIG1hZGUgaW4gZ3N0X2F2aV9kZW11eF9zcmNfY29udmVydCgpLgoKMjAwOS0wNi0xNyAxNjozOTozNiArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogQW5vdGhlciByb3VuZCBvZiBHXypMSUtFTFkgbWljcm8tb3B0aW1pc2F0aW9ucy4KCjIwMDktMDYtMTcgMTY6MjA6MjUgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IFRha2UgbGFzdCBzYW1wbGUgZHVyYXRpb24gZm9yIGR1bW15IHNlZ21lbnQgY2FsY3VsYXRpb24uCgkgIFRoaXMgZml4ZXMgdGhlIGNhc2VzIHdoZXJlIGZpbGVzIHdpdGhvdXQgRURMIHdvdWxkbid0IG91dHB1dCB0aGVpcgoJICBsYXN0IGJ1ZmZlci4KCjIwMDktMDYtMjQgMTI6MzY6MzEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBTcHJpbmtsZSBicmFuY2ggbGlrZWxpbmVzcyBtYWNyb3Mgb3ZlciB0aGUgY29kZS4KCjIwMDktMDYtMjMgMTY6NTQ6MzIgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBleHQvcmF3MTM5NC9nc3RkdjEzOTRzcmMuYzoKCSogZXh0L3JhdzEzOTQvZ3N0aGR2MTM5NHNyYy5jOgoJICByYXcxMzk0OiBzcHJpbmtsZSBicmFuY2ggbGlrZWxpbmVzcyBtYWNyb3MgYWNjcm9zcyB0aGUgY29kZS4KCjIwMDktMDYtMTQgMTA6MzY6MTcgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEFkZCBHU1RfTUVNRFVNUCBzdGF0ZW1lbnRzIGZvciB1bmtub3duIGF0b21zLgoJICBUaGlzIGlzIHRvIGhlbHAgZGV2ZWxvcGVycyB0cmFjayBkb3duIGFuZCBpbXBsZW1lbnQgdW5oYW5kbGVkIGF0b21zIGZhc3Rlci4KCjIwMDktMDYtMjMgMTc6NTE6MzIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBSZW1vdmUgdGhlIGludGVybGFjZWQgZmllbGQgZnJvbSB0aGUgb3V0cHV0IGNhcHMgaWYgZGVpbnRlcmxhY2luZyBpcyBlbmFibGVkCgoyMDA5LTA2LTIzIDE3OjQ4OjQ3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvZ3JlZWR5aC5jOgoJICBkZWludGVybGFjZTogQ29weSB0aGUgY29ycmVjdCBsaW5lIGZyb20gY29ycmVjdCBwbGFjZSBpbiB0aGUgaGlzdG9yeQoKMjAwOS0wNi0yMyAxNjozNTozNiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogdXNlIHNhbWUgcHJvdG9jb2xzIGFmdGVyIHJlZGlyZWN0CgkgIEFmdGVyIGEgcmVkaXJlY3Qgd2Ugd2FudCB0byB1c2UgdGhlIHNhbWUgcHJvdG9jb2xzIHRoYXQgd2Ugd2VyZSB1c2luZyBmb3IgdGhlCgkgIGN1cnJlbnQgdXJsLgoKMjAwOS0wNi0yMyAxNTozNTozNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGRvbid0IGxlYWsgY292ZXIgYXJ0CgoyMDA5LTA2LTIzIDE0OjEwOjEwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC91ZHAvZ3N0dWRwbmV0dXRpbHMuYzoKCSAgdWRwOiBmaXggY29tcGlsZXIgd2FybmluZyBhYm91dCBFQUlfQUREUkZBTUlMWSBnZXR0aW5nIHJlZGVmaW5lZCBpbiBzb21lIGNhc2VzCgkgIEluY2x1ZGUgdGhlIGhlYWRlciBmcm9tIHdoZXJlIHdlIGluY2x1ZGUgYWxsIHRoZSBzeXN0ZW0gaGVhZGVycyB3aXRoIHRoZQoJICBzb2NrZXQgc3R1ZmYgYmVmb3JlIHdlIHRyeSB0byBkZWZpbmUgRUFJX0FERFJGQU1JTFkgb3Vyc2VsdmVzLCBvdGhlcndpc2UKCSAgd2UgZGVmaW5lIGl0IG91cnNlbHZlcyBhbmQgdGhlbiBnZXQgYSBjb21waWxlciB3YXJuaW5nIGlmIGEgc3lzdGVtIGhlYWRlcgoJICBkZWZpbmVzIGl0IGFzIHdlbGwgd2l0aG91dCBndWFyZGluZyBhZ2FpbnN0IGl0IGJlaW5nIGRlZmluZWQgYWxyZWFkeS4KCjIwMDktMDYtMjMgMTQ6Mzk6NTYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmg6CgkgIG1hdHJvc2thOiBhbmQgdGhlIG5ldyBoZWFkZXJzIHRvbwoKMjAwOS0wNi0yMyAxNDozMjo0MyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrZTogZml4IGNvbXBpbGVyIGVycm9yCgkgIGNoYW5nZSBncG9pbnRlciB0byBndWludDggKiBmb3IgY29kZWNfc3RhdGUgYW5kIGNvZGVjX3ByaXYgYXMgc29tZQoJICBmdW5jdGlvbnMgb3BlcmF0ZSBvbiB0aG9zZSB0eXBlcyBhbmQgaXQgYXZvaWRzIGJyZWFraW5nIHN0cmljdC1hbGlhc2luZwoJICBydWxlcy4KCjIwMDktMDYtMjMgMTI6NDI6MzMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogYXZvaWQgbGVha2luZyBidWZmZXJzCgkgIERvbid0IGxlYWsgYnVmZmVycyB3aGVuIHJlc3luY2luZyB0byBhIGtleWZyYW1lLgoJICBBdm9pZCBsZWFraW5nIGJ1ZmZlcnMgd2hlbiBleGl0aW5nIHRoZSBsb29wIG9uIGVycm9yIGNvbmRpdGlvbnMuCgkgIEFkZCBzb21lIG1vcmUgZGVidWcgaW5mby4KCSAgRml4ZXMgIzU4NTkxMQoKMjAwOS0wNi0yMiAxNTo1Njo1OCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICB2NGwyOiBvcGVuL2Nsb3NlIHRoZSBkZXZpY2UgaW4gUkVBRFkKCSAgVGhpcyBhbGxvd3MgdG8gcXVlcnkgdGhlIGRldmljZSBpbiBSRUFEWS4gQmVmb3JlIG9uZSBuZWVkIHRvIHN3aXRjaCBpdCB0byBQQVVTRUQKCSAgYW5kIHRoYXQgYWxzbyBzdGFydHMgc3RyZWFtaW5nLgoKMjAwOS0wNi0yMCAxNTo0MTo0NCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfZHVtcC5jOgoJICBxdGRlbXV4OiB1c2UgR1NUX01FTURVTVAKCjIwMDktMDYtMTkgMDA6MTY6NDEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FwZXRhZy9NYWtlZmlsZS5hbToKCSogZ3N0L2FwZXRhZy9nc3RhcGVkZW11eC5jOgoJICBhcGVkZW11eDogYWRkIGNvbnRhaW5lci1mb3JtYXQgdGFnCgkgIFVzZSBwYnV0aWxzIGhlcmUgYmVjYXVzZSB0aGUgc3RyaW5nIGlzIHRyYW5zbGF0ZWQuCgoyMDA5LTA2LTE5IDAwOjE1OjUxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pZDNkZW11eC9NYWtlZmlsZS5hbToKCSogZ3N0L2lkM2RlbXV4L2dzdGlkM2RlbXV4LmM6CgkgIGlkM2RlbXV4OiBhZGQgY29udGFpbmVyLWZvcm1hdCB0YWcKCSAgVXNpbmcgcGJ1dGlscyBoZXJlIGJlY2F1c2UgdGhlIHN0cmluZyBpcyB0cmFuc2xhdGVkLgoKMjAwOS0wNi0xOCAyMzo1MTo1MiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZHYvZ3N0ZHZkZW11eC5jOgoJICBkdmRlbXV4OiBwb3N0IGNvbnRhaW5lci1mb3JtYXQgdGFnCgkgIEFsc28gbWVyZ2UgdGhlIHR3byBhbG1vc3QgaWRlbnRpY2FsIF9hZGRfKl9wYWQoKSBmdW5jdGlvbnMgaW50byBvbmUuCgoyMDA5LTA2LTE4IDIzOjQzOjQ5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kdi9nc3RkdmRlbXV4LmM6CgkgIGR2ZGVtdXg6IGRvbid0IHNjcmV3IHVwIGZpcnN0IGF1ZGlvIGJ1ZmZlcgoJICBRdWVyeSB0aGUgYXVkaW8gZm9ybWF0LCBlc3AuIGR2ZGVtdXgtPm51bV9jaGFubmVscywgYmVmb3JlIHdlIHVzZSB0aGF0CgkgIHZhcmlhYmxlIHRvIGFsbG9jYXRlIHRoZSBpbml0aWFsIGJ1ZmZlci4gVGhhdCB3YXkgd2UgZG9uJ3QgYWNjaWRlbnRhbGx5CgkgIHB1c2ggYSB6ZXJvLXNpemVkIGJ1ZmZlciBhcyBmaXJzdCBhdWRpbyBidWZmZXIuCgoyMDA5LTA2LTE4IDIzOjM4OjMwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzoKCSAgbXVsdGlwYXJ0ZGVtdXg6IHBvc3QgY29udGFpbmVyLWZvcm1hdCB0YWcKCjIwMDktMDYtMTggMjM6Mzc6MTEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thLWRlbXV4OiBwb3N0IGNvbnRhaW5lci1mb3JtYXQgdGFncwoKMjAwOS0wNi0xOCAyMzozNjoyOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBwb3N0IGNvbnRhaW5lci1mb3JtYXQgdGFnCgoyMDA5LTA2LTE4IDIzOjM1OjI5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogcG9zdCBjb250YWluZXItZm9ybWF0IHRhZ3MKCjIwMDktMDYtMjEgMTc6MTM6NDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9hbXBsaWZ5LmM6CgkgIGF1ZGlvYW1wbGlmeTogRml4IGludGVnZXIgb3ZlcmZsb3dzIG9uIDMyIGJpdCBhcmNoaXRlY3R1cmVzCgoyMDA5LTA2LTIxIDA5OjUwOjU0ICswMjAwICBLaXBwIENhbm5vbiA8a2Nhbm5vbkBsaWdvLmNhbHRlY2guZWR1PgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9hbXBsaWZ5LmM6CgkgIGF1ZGlvYW1wbGlmeTogRG9uJ3QgZGVjbGFyZSBhIGxvb3AgaW5kZXggc3RhdGljCgkgIFRoZSBwcmV2aW91cyBwYXRjaCB0byBhZGQgc3VwcG9ydCBmb3IgYWRkaXRpb25hbCBzYW1wbGUgZm9ybWF0cyBwb3NzaWJseQoJICBpbnRyb2R1Y2VkIGEgcmVlbnRyYW5jeSBidWc6ICBhIHZhcmlhYmxlIHVzZWQgZm9yIGEgbG9vcCBpbmRleCB3YXMgZGVjbGFyZWQKCSAgc3RhdGljLiAgVGhpcyBwYXRjaCBmaXhlcyB0aGF0LCBhbmQgYWxzbyBhZGRzIGEgIi8qICpJTkRFTlQtT04qICovIiBhbm5vdGF0aW9uCgkgIGZvbGxvd2luZyB0aGUgbWFjcm8gYmxvY2suICAoSSBkb24ndCBrbm93IHdoYXQgdGhlIGFubm90YXRpb24gaXMgZm9yLCBidXQgdGhlCgkgIGFkZGVyLCB3aGVyZSBJIGNvcGllZCB0aGlzIGZyb20sIGhhcyBpdCkuCgoyMDA5LTA2LTE5IDIyOjM3OjI3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvYW1wbGlmeS5jOgoJICBhdWRpb2FtcGxpZnk6IEZpeCBvZmYtYnktb25lIGluIHdyYXAtcG9zaXRpdmUgbW9kZQoKMjAwOS0wNi0xOSAyMjoyMDo0NSArMDIwMCAgS2lwcCBDYW5ub24gPGtjYW5ub25AbGlnby5jYWx0ZWNoLmVkdT4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvYW1wbGlmeS5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2FtcGxpZnkuaDoKCSAgYXVkaW9hbXBsaWZ5OiBBZGQgbm9jbGlwIG1ldGhvZCBhbmQgc3VwcG9ydCBmb3IgbW9yZSBmb3JtYXRzCgkgIEZpeGVzIGJ1ZyAjNTg1ODI4IGFuZCAjNTg1ODMxLgoKMjAwOS0wNi0xOSAyMTo0Njo0MSArMDIwMCAgS29vcCBNYXN0IDxrd21AZnJlZWJzZC5vcmc+CgoJKiBnc3QvdWRwL2dzdHVkcG5ldHV0aWxzLmg6CgkgIHVkcDogRml4IGJ1aWxkIG9uIEZyZWVCU0QKCSAgRml4ZXMgYnVnICM1ODYzOTcuCgoyMDA5LTA2LTE5IDE4OjEyOjI3ICswMjAwICBPZ255YW4gVG9uY2hldiA8b2dueWFuLnRvbmNoZXYgYXQgYXhpcy5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHAtcGF5bG9hZGluZy5jOgoJICB0ZXN0czogYWRkIHVuaXQgdGVzdHMgZm9yIGJ1ZmZlci1saXN0IHBheWxvYWRlcnMKCSAgU2VlICM1ODU1NTkKCjIwMDktMDYtMTkgMTg6MDA6MzUgKzAyMDAgIE9nbnlhbiBUb25jaGV2IDxvZ255YW4udG9uY2hldiBhdCBheGlzLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuaDoKCSAgcnRwbXA0dnBheTogYWRkIHN1cHBvcnQgZm9yIGJ1ZmZlci1saXN0CgkgIFNlZSAjNTg1NTU5CgoyMDA5LTA2LTE5IDE3OjU3OjEyICswMjAwICBPZ255YW4gVG9uY2hldiA8b2dueWFuLnRvbmNoZXYgYXQgYXhpcy5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqcGVncGF5Lmg6CgkgIHJ0cGpwZWdwYXk6IGFkZCBzdXBwb3J0IGZvciBidWZmZXItbGlzdHMKCSAgU2VlICM1ODU1NTkKCjIwMDktMDYtMTkgMTc6NTM6MzIgKzAyMDAgIE9nbnlhbiBUb25jaGV2IDxvZ255YW4udG9uY2hldiBhdCBheGlzLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuaDoKCSAgcnRwaDI2NHBheTogYWRkIHN1cHBvcnQgZm9yIGJ1ZmZlci1saXN0cwoJICBTZWUgIzU4NTU1OQoKMjAwOS0wNi0xOCAxMTo1NDoyMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC91ZHAvZ3N0dWRwbmV0dXRpbHMuYzoKCSAgdWRwdXRpbHM6IGRvbid0IGZyZWUgaW52YWxpZCBtZW1vcnkKCSAgQXMgc3BvdHRlZCBieSBiZW5qaUcgaW4gSVJDLgoJICBkb24ndCBmcmVlIGludmFsaWQgbWVtb3J5IHdoZW4gZ2V0YWRkcmluZm8gZmFpbGVkLgoKMjAwOS0wNi0xNyAxNzo0ODozMSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2Vpbms6IGRvbid0IGxlYWsgZGV2aWNlX2Rlc2NyaXB0aW9uCgkgIGRvbid0IGxlYWsgdGhlIGRldmljZV9kZXNjcmlwdGlvbi4KCSAgc29tZSBjbGVhbnVwcy4KCjIwMDktMDYtMTkgMTQ6NDQ6NDAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbHQucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJICBwbzogdXBkYXRlIC5wbyBmaWxlcyBmb3Igc3VuYXVkaW9taXhlciBzdHJpbmcgY2hhbmdlcwoKMjAwOS0wNi0xOCAxNjo1ODoyNiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBzdHJlYW1pbmc7IGFkanVzdCBzaXplcyB0byBjYXRlciBmb3IgcGFkZGluZyBpbiBjaHVua3MKCjIwMDktMDYtMTcgMTE6NTQ6NTMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogc3RyZWFtaW5nIG1vZGU7IGhhbmRsZSBkYXRhIGNodW5rcyBncm91cGVkIGluIHJlYyBsaXN0cy4KCSAgRml4ZXMgIzU2Nzk4My4KCjIwMDktMDYtMTAgMTI6MzY6NTAgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBtYXAgc29tZSB0YWdzIHRvIENPTVBPU0VSIHJhdGhlciB0aGFuIEFSVElTVAoKMjAwOS0wNi0xMCAxMjozNDo0MyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGZpeCBzb21lIDNHUCB0YWcgZXh0cmFjdGlvbiAoa2V5d29yZHMsIGdlbnJlLCBsb2NhdGlvbikKCjIwMDktMDYtMDkgMTU6MzY6NTAgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4X2ZvdXJjYy5oOgoJICBxdGRlbXV4OiBleHRyYWN0IHBpeGVsLWFzcGVjdC1yYXRpbyBpbmZvcm1hdGlvbgoKMjAwOS0wNi0xNyAwNzoxNDowOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogRml4IGxlYWtpbmcgb2YgdGhlIE1hdHJvc2thIFRJVExFIGVsZW1lbnQKCjIwMDktMDYtMTYgMjA6Mzg6NDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFubm9kZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhbW1hLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oYWxlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9ub3Njb3BlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXVpY2t0aW1lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYmFsYW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9mbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIGdzdC9lZmZlY3R2L2dzdGFnaW5nLmM6CgkqIGdzdC9lZmZlY3R2L2dzdGFnaW5nLmg6CgkqIGdzdC9lZmZlY3R2L2dzdGRpY2UuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0ZGljZS5oOgoJKiBnc3QvZWZmZWN0di9nc3RlZGdlLmM6CgkqIGdzdC9lZmZlY3R2L2dzdGVkZ2UuaDoKCSogZ3N0L2VmZmVjdHYvZ3N0cXVhcmsuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0cXVhcmsuaDoKCSogZ3N0L2VmZmVjdHYvZ3N0cmV2LmM6CgkqIGdzdC9lZmZlY3R2L2dzdHJldi5oOgoJKiBnc3QvZWZmZWN0di9nc3RzaGFnYWRlbGljLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHNoYWdhZGVsaWMuaDoKCSogZ3N0L2VmZmVjdHYvZ3N0dmVydGlnby5jOgoJKiBnc3QvZWZmZWN0di9nc3R2ZXJ0aWdvLmg6CgkqIGdzdC9lZmZlY3R2L2dzdHdhcnAuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0d2FycC5oOgoJICBlZmZlY3R2OiBBZGQgYmFzaWMgZG9jdW1lbnRhdGlvbiBmb3IgdGhlIGVmZmVjdHYgZWxlbWVudHMKCjIwMDktMDYtMTYgMjA6MTY6MTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VmZmVjdHYvZ3N0YWdpbmcuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0ZGljZS5jOgoJKiBnc3QvZWZmZWN0di9nc3RlZmZlY3R2Lmg6CgkqIGdzdC9lZmZlY3R2L2dzdHF1YXJrLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHNoYWdhZGVsaWMuYzoKCSAgZWZmZWN0djogRGVmaW5lIHRoZSBmYXN0IFBSTkcgZnVuY3Rpb24gYXQgYSBjZW50cmFsIHBsYWNlCgoyMDA5LTA2LTE2IDIwOjEzOjM1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lZmZlY3R2L01ha2VmaWxlLmFtOgoJKiBnc3QvZWZmZWN0di9nc3RhZ2luZy5jOgoJKiBnc3QvZWZmZWN0di9nc3RhZ2luZy5oOgoJKiBnc3QvZWZmZWN0di9nc3RkaWNlLmM6CgkqIGdzdC9lZmZlY3R2L2dzdGRpY2UuaDoKCSogZ3N0L2VmZmVjdHYvZ3N0ZWRnZS5jOgoJKiBnc3QvZWZmZWN0di9nc3RlZGdlLmg6CgkqIGdzdC9lZmZlY3R2L2dzdGVmZmVjdHYuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0ZWZmZWN0di5oOgoJKiBnc3QvZWZmZWN0di9nc3RxdWFyay5jOgoJKiBnc3QvZWZmZWN0di9nc3RxdWFyay5oOgoJKiBnc3QvZWZmZWN0di9nc3RyZXYuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0cmV2Lmg6CgkqIGdzdC9lZmZlY3R2L2dzdHNoYWdhZGVsaWMuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0c2hhZ2FkZWxpYy5oOgoJKiBnc3QvZWZmZWN0di9nc3R2ZXJ0aWdvLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHZlcnRpZ28uaDoKCSogZ3N0L2VmZmVjdHYvZ3N0d2FycC5jOgoJKiBnc3QvZWZmZWN0di9nc3R3YXJwLmg6CgkgIGVmZmVjdHY6IE1vdmUgdHlwZSBkZWZpbml0aW9ucyBpbnRvIHNlcGFyYXRlIGhlYWRlcnMKCSAgVGhpcyBpcyBuZWVkZWQgZm9yIHRoZSBkb2NzIGxhdGVyLgoKMjAwOS0wNi0xNiAxOTo0MTowMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZWZmZWN0di9nc3RhZ2luZy5jOgoJKiBnc3QvZWZmZWN0di9nc3RkaWNlLmM6CgkqIGdzdC9lZmZlY3R2L2dzdGVkZ2UuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0cXVhcmsuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0cmV2LmM6CgkqIGdzdC9lZmZlY3R2L2dzdHNoYWdhZGVsaWMuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0dmVydGlnby5jOgoJKiBnc3QvZWZmZWN0di9nc3R3YXJwLmM6CgkgIGVmZmVjdHY6IFJlbW92ZSBnZXRfdW5pdF9zaXplIGltcGxlbWVudGF0aW9ucwoJICBUaGUgZGVmYXVsdCBvbiBmcm9tIEdzdFZpZGVvRmlsdGVyIGhhbmRsZXMgdGhpcyBhbHJlYWR5LgoKMjAwOS0wNi0xNiAxNDo1NDozNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogYnVtcCBjb3JlL2Jhc2UgcmVxdWlyZW1lbnRzIHRvIGdpdAoJICBOZWVkIGdpdCBjb3JlIGZvciBiYXNlc2luayBidWZmZXJsaXN0IGFkZGl0aW9uczsgLWJhc2UgcmVxdWlyZW1lbnQKCSAgYnVtcGVkIGdyYXR1aXRvdXNseS4KCjIwMDktMDYtMTYgMTU6MjU6NTQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy91ZHBzaW5rLmM6CgkgIHRlc3RzOiBhZGQgc29tZSBkZWJ1Zywgc2VuZCBuZXdzZWdtZW50CgoyMDA5LTA2LTE2IDE1OjA2OjUwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgdWRwc3JjOiBhZGQgZGVidWcgbGluZSBmb3IgdGhlIHNvY2tldAoKMjAwOS0wNi0xNiAxNTowNjoyNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9mbGFjZGVjLmM6CgkgIHRlc3RzOiB0dXJuIGdfcHJpbnQgaW50byBkZWJ1ZwoKMjAwOS0wNi0xNiAxNTowNDoxNSArMDIwMCAgT2dueWFuIFRvbmNoZXYgPG9nbnlhbkBheGlzLmNvbT4KCgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy91ZHBzaW5rLmM6CgkgIG11bHRpdWRwc2luazogYWRkIHN1cHBvcnQgZm9yIGJ1ZmZlciBsaXN0cwoJICBBZGQgc3VwcG9ydCBmb3IgQnVmZmVyTGlzdCBhbmQgYWRkIGEgdW5pdCB0ZXN0LgoJICBGaXhlcyAjNTg1ODQyCgoyMDA5LTA2LTE2IDAwOjAyOjQyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXBodHRwc3JjOiByZXNldCBzZXNzaW9uIHN0YXRlIHdoZW4gc3RvcHBpbmcKCSAgSW5jcmVhc2VzIHRoZSBjaGFuY2VzIHRoYXQgdGhlIGVsZW1lbnQgaXMgYWN0dWFsbHkgcmV1c2FibGUuCgoyMDA5LTA2LTE1IDIzOjQ5OjQ4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXBodHRwc3JjOiBsb2cgcmVzcG9uc2UgYW5kIHJlcXVlc3QgaGVhZGVycyBhbmQgZml4IHNvbWUgYnJva2VuIGluZGVudGluZwoKMjAwOS0wNi0xNSAyMjo0MDozNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z2RlcGF5LmM6CgkgIG1wNGdkZXBheTogZ3Vlc3MgY29uc3RhbnREdXJhdGlvbiBiZXR0ZXIKCSAgRG8gYSBiZXR0ZXIgam9iIGF0IGd1ZXNzaW5nIHRoZSBjb25zdGFudER1cmF0aW9uIHBhcmFtZXRlciB3aGVuIGl0IGlzIG5vdAoJICBwcmVzZW50IGluIHRoZSBjYXBzLgoJICBGaXhlcyAjNTg1MjA1CgoyMDA5LTA2LTE1IDIxOjA5OjQ3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lZmZlY3R2L2dzdHdhcnAuYzoKCSAgd2FycHR2OiBDbGVhbiB1cCB3YXJwdHYgZWxlbWVudCBhbmQgZml4IHNvbWUgbWlub3IgYnVncyBhbmQgbGVha3MKCjIwMDktMDYtMTUgMjA6NTM6MjMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VmZmVjdHYvZ3N0dmVydGlnby5jOgoJICB2ZXJ0aWdvdHY6IENsZWFuIHVwIHZlcnRpZ290diBlbGVtZW50IGFuZCBmaXggc29tZSBtaW5vciBidWdzIGFuZCBsZWFrcwoKMjAwOS0wNi0xNSAyMDozODowMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZWZmZWN0di9nc3RkaWNlLmM6CgkgIGRpY2V0djogVXNlIGd1aW50OCBpbnN0ZWFkIG9mIGNoYXIgKHdoaWNoIGNhbiBiZSBzaWduZWQgb3IgdW5zaWduZWQpCgoyMDA5LTA2LTE1IDIwOjM2OjM5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lZmZlY3R2L2dzdHNoYWdhZGVsaWMuYzoKCSAgc2hhZ2FkZWxpY3R2OiBVc2UgZ3VpbnQ4L2dpbnQ4IGluc3RlYWQgb2YgY2hhciAod2hpY2ggY2FuIGJlIHNpZ25lZCBvciB1bnNpZ25lZCkKCjIwMDktMDYtMTUgMjA6MzE6MzAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VmZmVjdHYvZ3N0c2hhZ2FkZWxpYy5jOgoJICBzaGFnYWRlbGljdHY6IENsZWFuIHVwIGVsZW1lbnQgYW5kIGZyZWUgYWxsIG1lbW9yeSBpbiBmaW5hbGl6ZQoKMjAwOS0wNi0xNSAyMDoyMTo1OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZWZmZWN0di9nc3RyZXYuYzoKCSAgcmV2dHY6IENsZWFuIHVwIHJldnR2IGVsZW1lbnQKCjIwMDktMDYtMTUgMjA6MDc6NDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VmZmVjdHYvZ3N0cXVhcmsuYzoKCSAgcXVhcmt0djogU2ltcGxpZnkgc29tZSBjb2RlCgoyMDA5LTA2LTE1IDIwOjA3OjEwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lZmZlY3R2L2dzdHF1YXJrLmM6CgkgIHF1YXJrdHY6IFVzZSB0aGUgaW5wdXQgZGF0YSBpZiBhIE5VTEwgYnVmZmVyIGlzIGNob3NlbiBpbnN0ZWFkIG9mIHRoZSB2YWx1ZSAwCgoyMDA5LTA2LTE1IDIwOjAwOjQzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lZmZlY3R2L2dzdHF1YXJrLmM6CgkgIHF1YXJrdHY6IEZpeCBzZXR0aW5nIHRoZSBwbGFuZXMgcHJvcGVydHkgb2YgcXVhcmt0dgoJICBTZXR0aW5nIGl0IHRvIGEgdmFsdWU8MTYgd291bGQgY2F1c2UgY3Jhc2hlcyBiZWZvcmUgYmVjYXVzZQoJICBjdXJyZW50X3BsYW5lIHdhcyBzZXQgdG8gdGhlIG9sZCBudW1iZXIgb2YgcGxhbmVzLTEuIEFsc28KCSAgZml4IGNhbGN1bGF0aW9ucyBmb3Igbm9uLTJebiBwbGFuZXMgdmFsdWVzLgoKMjAwOS0wNi0xNSAxNzo1MDo0MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZWZmZWN0di9nc3RxdWFyay5jOgoJICBxdWFya3R2OiBDbGVhbiB1cCB0aGUgcXVhcmt0diBlbGVtZW50CgoyMDA5LTA2LTE1IDE3OjM5OjIwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lZmZlY3R2L2dzdGVmZmVjdHYuYzoKCSAgZWZmZWN0djogTWFrZSBlbGVtZW50cyBsaXN0IGNvbnN0YW50CgoyMDA5LTA2LTE1IDE3OjM3OjUzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lZmZlY3R2L2dzdGVkZ2UuYzoKCSAgZWRnZXR2OiBDbGVhbiB1cCBlZGdldHYgZWxlbWVudCBhbmQgZml4IG1lbW9yeSBsZWFrCgoyMDA5LTA2LTE1IDE3OjIxOjU4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lZmZlY3R2L2dzdGRpY2UuYzoKCSAgZGljZXR2OiBDbGVhbiB1cCBkaWNldHYgZWxlbWVudCBhbmQgZml4IHNvbWUgc21hbGxlciBpc3N1ZXMKCSAgVGhpcyBmaXhlcyBhIG1lbW9yeSBsZWFrICh0aGUgZGljZSBtYXApIGFuZCBhIGNyYXNoIHdoZW4KCSAgc2V0dGluZyB0aGUgc3F1YXJlLWJpdHMgcHJvcGVydHkgYmVmb3JlIGNhcHMgYXJlIHNldC4KCjIwMDktMDYtMTUgMTc6MjA6MjEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VmZmVjdHYvTWFrZWZpbGUuYW06CgkqIGdzdC9lZmZlY3R2L2dzdGFnaW5nLmM6CgkgIGFnaW5ndHY6IEFjdHVhbGx5IHVzZSBHc3RDb250cm9sbGVyIGZvciBzeW5jaW5nIHRoZSBwcm9wZXJ0aWVzIHRvIHRpbWVzdGFtcHMKCjIwMDktMDYtMTUgMTc6MDM6MzggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VmZmVjdHYvZ3N0YWdpbmcuYzoKCSAgYWdpbmd0djogRXhwb3J0IHNvbWUgbW9yZSBhZ2luZ3R2IHByb3BlcnRpZXMgdmlhIEdPYmplY3QgcHJvcGVydGllcwoKMjAwOS0wNi0xNSAxNTowNjo1NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZWZmZWN0di9nc3RhZ2luZy5jOgoJICBhZ2luZ3R2OiBHZW5lcmFsIGNsZWFudXAgYW5kIHVwZGF0aW5nIG9mIGNvcHlyaWdodAoJICBBbHNvIG1ha2UgdGhlIHNjcmF0Y2gtbGluZXMgcHJvcGVydHkgZXhwb3J0ZWQgdmlhIGEgR09iamVjdAoJICBwcm9wZXJ0eSBhbmQgaW5pdGlhbGl6ZS9yZXNldCB0aGUgaW50ZXJuYWwgc3RhdGUgY29ycmVjdGx5LgoKMjAwOS0wNi0xNSAxNTowNTo1OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZWZmZWN0di9nc3RhZ2luZy5jOgoJICBhZ2luZ3R2OiBTdG9yZSBhbmQgdXBkYXRlIHN0YXRlIGluc2lkZSB0aGUgaW5zdGFuY2Ugc3RydWN0CgkgIFRoaXMgbWFrZXMgdGhlIGNvbG9yYWdpbmcgZWZmZWN0IGFuZCBwaXRzIGVmZmVjdCB2aXNpYmxlLgoKMjAwOS0wNi0xNSAxNTo1MTozMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogcmVmIGN1c3RvbSByaW5nIGJ1ZmZlciBjbGFzcyBhbmQgdHlwZSBpbiBjbGFzc19pbml0CgkgIEhhY2sgYXJvdW5kIHRocmVhZC1zYWZldHkgaXNzdWVzIGluIEdPYmplY3QgYW5kIG91ciByYWN5IF9nZXRfdHlwZSgpCgkgIGZ1bmN0aW9ucyAod2UgY291bGQgZWFzaWx5IGZpeCB0aGUgX2dldF90eXBlKCkgZnVuY3Rpb25zLCBidXQgd2Ugc3RpbGwKCSAgbmVlZCB0byBoYWNrIGFyb3VuZCB0aGUgR09iamVjdCBjbGFzcyByYWNlcyB1bnRpbCB3ZSByZXF1aXJlIGEgbmV3ZXIKCSAgR0xpYiB2ZXJzaW9uLCBJIHRoaW5rKS4KCjIwMDktMDYtMTQgMTk6MTk6MTkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2R2L2RlbW8tcGxheS5jOgoJKiB0ZXN0cy9vbGQvZXhhbXBsZXMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL29sZC9leGFtcGxlcy9sZXZlbC9NYWtlZmlsZS5hbToKCSogdGVzdHMvb2xkL2V4YW1wbGVzL2xldmVsL1JFQURNRToKCSogdGVzdHMvb2xkL2V4YW1wbGVzL2xldmVsL2RlbW8uYzoKCSogdGVzdHMvb2xkL2V4YW1wbGVzL2xldmVsL3Bsb3QuYzoKCSogdGVzdHMvb2xkL2V4YW1wbGVzL3N3aXRjaC8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9vbGQvZXhhbXBsZXMvc3dpdGNoL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9vbGQvZXhhbXBsZXMvc3dpdGNoL3N3aXRjaGVyLmM6CgkgIFJlbW92ZSBhIGZldyBvbGQgZXhhbXBsZSBhcHBzIGZyb20gdGhlIDAuOCBkYXlzCgkgIFNvbWUgaGF2ZSBiZWVuIHJlcGxhY2VkIGJ5IG5ld2VyIG9uZXMsIG90aGVycyBhcmUgZGVtb2luZyBlbGVtZW50cyB0aGF0CgkgIGRvbid0IGV4aXN0IGFueSBsb25nZXIgKG5vdCBpbiAtZ29vZCBhbnl3YXkpLCBhbmQgb3RoZXJzIGhhdmUgbm90IGJlZW4KCSAgdG91Y2hlZCBpbiBtYW55IHllYXJzIGFuZCBpdCBzZWVtIHBvaW50bGVzcyB0byBrZWVwIHRoZW0gYXJvdW5kLgoJICBSZW1vdmluZyB0aGVzZSBmaWxlcyBtYWtlcyBzdXJlIHdlIGRvbid0IGhhdmUgYW55IGNvZGUgaW4gb3VyIHJlcG9zaXRvcnkKCSAgdGhhdCB1c2VzIEd0aysgc3ltYm9scyB3aGljaCBhcmUgdG8gYmUgcmVtb3ZlZCBmb3IgR05PTUUzLCBhbmQgYXMgc3VjaAoJICB3aWxsIG1ha2Ugc29tZSBzY3JpcHQgdGhhdCBncmVwcyBmb3IgdGhpcyBraW5kIG9mIHN0dWZmIGdpdmUgdXMgYSBjbGVhbgoJICBiaWxsIG9mIGNvZGUgaGVhbHRoLiBGaXhlcyAjNTg1NzU3LgoKMjAwOS0wNi0xMyAyMTowMjo0NSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPHRlc3RlckB0ZXN0ZXIuY2E+CgoJKiBjb21tb246CgkqIGdzdC9ydHAvZ3N0cnRwc2lyZW5wYXkuYzoKCSAgcnRwc2lyZW5wYXk6IFJlbW92ZSBkZXByZWNhdGVkIHN5bWJvbAoJICBQYXRjaCBieTogTHVpcyBNZW5pbmEKCjIwMDktMDYtMTMgMTA6NDM6NTUgKzAyMDAgIE1hcnZpbiBTY2htaWR0IDxtYXJ2aW5fc2NobWlkdEBnbXgubmV0PgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHRlc3RzOiBEb24ndCBydW4gdGhlIGZsYWNkZWMgdGVzdCBpZiB0aGUgcGx1Z2luIGlzbid0IGJ1aWx0LiBGaXhlcyAjNTg1NjMwCgoyMDA5LTA2LTEyIDE2OjA2OjI4ICswMjAwICBQYXRyaWNrIFJhZGl6aSA8cGF0cmljay5yYWRpemkgYXQgYXhpcy5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgcnRzcHNyYzogQWRkIFJUUCBibG9ja3NpemUgZnVuY3Rpb25hbGl0eQoJICBBZGQgcHJvcGVydHkgdG8gbWFrZSB0aGUgY2xpZW50IHN1Z2dlc3QgYSBibG9ja3NpemUgdG8gdGhlIHNlcnZlci4KCSAgRml4ZXMgIzU4NTU0OQoKMjAwOS0wNi0xMSAyMjozMDowNiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvUkVBRE1FOgoJICBydHA6IHVwZGF0ZSBSRUFETUUsIGZpeCBzb21lIHR5cG9zLCBtZW50aW9uIGdzdHJ0cGJpbgoKMjAwOS0wNi0xMSAxOToxMDo1MyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBoYW5kbGUgYm9yZGVyIGNhc2VzIGluIHJlc2FtcGxlcgoKMjAwOS0wNi0xMSAxMzozMjoyMiArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogY29tbW9uOgoJKiBkb2NzL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvdXBsb2FkLm1hazoKCSAgZG9jczogQnVtcCBjb21tb24uIFVzZSB1cGxvYWQtZG9jLm1hayBpbnN0ZWFkIG9mIHVwbG9hZC5tYWsKCSAgUmVtb3ZlIHRoZSBsb2NhbCBjb3B5IG9mIHVwbG9hZC5tYWsgaW4gZmF2b3VyIG9mIHVzaW5nIHRoZSBzaGFyZWQKCSAgdXBsb2FkLWRvYy5tYWtlIGluIGNvbW1vbi8KCjIwMDktMDYtMTEgMTE6Mzk6MjUgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9nb29tL2dvb21fY29uZmlnX3BhcmFtLmg6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSAgZG9jczogUXVpZXRlbiBhIGNvdXBsZSBtb3JlIGRvY3Mgd2FybmluZ3MKCjIwMDktMDYtMTEgMTE6Mjc6MjYgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9tYXRyb3NrYS9sem8uYzoKCSAgZG9jczogUmVtb3ZlIGd0ay1kb2MgY29tbWVudCBtYXJrZXIKCSAgVGhlc2UgY29tbWVudCBibG9ja3MgYXJlbid0IGd0ay1kb2MgY29tbWVudHMgYW5kIGNhdXNlIGFubm95aW5nIG5vaXNlIGluCgkgIHRoZSBkb2NzIGJ1aWxkLgoKMjAwOS0wNi0xMSAxMDowNTozMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmg6CgkgIGRlaW50ZXJsYWNlOiBJbXBsZW1lbnQgdXBzdHJlYW0gbmVnb3RhdGlvbgoKMjAwOS0wNi0xMCAyMTo0Nzo0MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IEltcHJvdmUgZGVidWdnaW5nIGFuZCBjbGVhbiB1cCBzb21lIGNvZGUKCjIwMDktMDYtMTAgMTQ6NTU6MTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBDbGlwIGJ1ZmZlcnMgdG8gdGhlIGN1cnJlbnQgc2VnbWVudCBpZiBwb3NzaWJsZQoKMjAwOS0wNi0xMCAxNDo0NTowNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmg6CgkgIGRlaW50ZXJsYWNlOiBDbGVhbiB1cCBpbmNsdWRlcyBhbmQgY2xlYW4gdXAgb3JkZXIgb2YgaW5zdGFuY2Ugc3RydWN0IGZpZWxkcwoKMjAwOS0wNi0xMCAxNjowOTo1NiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGF5Lmg6CgkgIHJ0cGgyNjNwYXk6IERlZmF1bHQgdG8gZG9pbmcgQSwgQiBhbmQgQyBtb2Rlcywgbm90IG9ubHkgQQoKMjAwOS0wNi0xMCAwOTo1NjoxMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IEZpeCBRb1MgY2FsY3VsYXRpb25zCgkgIFRoZSBkaWZmIGlzIGEgc2lnbmVkIGludGVnZXIsIG5vdCBhbiB1bnNpZ25lZCBvbmUgb2YgY291cnNlLgoJICBJbiBtb2RlcyBvdGhlciB0aGFuIEdTVF9ERUlOVEVSTEFDRV9BTEwgZXZlcnkgZnJhbWUgaGFzIHR3aWNlIHRoZQoJICBkdXJhdGlvbiBvZiB0aGUgZmllbGQgZHVyYXRpb24uCgoyMDA5LTA2LTA5IDE0OjEzOjMxIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cHNpcmVucGF5LmM6CgkgIHJ0cHNpcmVucGF5OiBQdXQgdGhlIGJpdHJhdGUgaW4gdGhlIFJUUCBjYXBzCgkgIFRoZSBNUyBjb2RlIHNlZW1zIHRvIHJlcXVpcmUgdGhlIGJpdHJhdGUgdG8gaW50ZXJvcGVyYXRlIGFuZAoJICBkcmFmdC1pZXRmLWF2dC1ydHAtZzcyMjEtMDAgYWxzbyBoYXMgaXQuCgoyMDA5LTA2LTA5IDE5OjU1OjM2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuaDoKCSAgZGVpbnRlcmxhY2U6IEltcGxlbWVudCBiYXNpYyBRb1MKCSAgVGhpcyBjaGFuZ2UgaXMgYmFzZWQgb24gVGltJ3MgUW9TIGltcGxlbWVudGF0aW9uCgkgIGZvciBqcGVnZGVjLgoKMjAwOS0wNi0wOSAxOToyOTo1MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IERpcmVjdGx5IHByb3h5IGV2ZW50cy9xdWVyaWVzIHRvIHRoZSBwZWVyIHBhZHMKCSAgVGhpcyByZW1vdmVzIHNvbWUgb3ZlcmhlYWQgaW50cm9kdWNlZCBieSB0aGUgZGVmYXVsdCBoYW5kbGVycwoJICB0aGF0IG5lZWQgdG8gaXRlcmF0ZSBvdmVyIHRoZSBvdGhlciBwYWRzLgoKMjAwOS0wNi0wOSAxMDozODo1MiArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IGRlYnVnX21lbWR1bXAoKSB1bmtub3duIHRhZ3MuIFJlZmFjdG9yIGp1bmsgcGFyc2luZyBjb2RlLgoJICBUaGlzIG1ha2VzIGxpZmUgc2xpZ2h0bHkgZWFzaWVyIHdoZW4gZGVidWdnaW5nIGF2aSBmaWxlcy4KCjIwMDktMDYtMDggMDg6MjE6NDMgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJICBydHA6IERvbid0IGZvcmdldCB0byBkaXN0IHRoZSBoZWFkZXJzIGZvciB0aGUgQ0VMVCAoZGUpcGF5bG9hZGVycy4KCjIwMDktMDYtMDcgMjA6NTQ6MDYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIFJldmVydCAiUmV2ZXJ0ICJxdGRlbXV4OiBmaWxsIHRpbWVzdGFtcCB0YWJsZSBjb21wbGV0ZWx5IiIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCA5ZjAyMmM4YTg1MDNjMmNlMGZhNjE3ZmRiNTBlNDE3MDZkZDQxMmY1LgoJICBTb3JyeSwgSSB3YXMgdGhpbmtpbmcgYWJvdXQgdGhlIHdyb25nIG1vZHVsZS4KCjIwMDktMDYtMDcgMjA6NDk6NTAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIFJldmVydCAicXRkZW11eDogZmlsbCB0aW1lc3RhbXAgdGFibGUgY29tcGxldGVseSIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCA3OTBiMDUwZmM1MzAyY2FlODljZGRjZDIzYjI1ODA5Mzk2N2QwNWE5LgoJICBJIGZvcmdvdCB3ZSB3ZXJlIGZyb3plbi4KCjIwMDktMDYtMDcgMjA6NDY6NDUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGZpbGwgdGltZXN0YW1wIHRhYmxlIGNvbXBsZXRlbHkKCSAgV2hlbiB0aGVyZSBhcmUgbGVzcyB0aW1lc3RhbXBzIHRoYXQgdGhlcmUgYXJlIHNhbXBsZXMsIGZpbGwgdXAgdGhlIHNhbXBsZSB0YWJsZQoJICB3aXRoIHRoZSBsYXN0IGtub3cgdGltZXN0YW1wLiBUaGlzIHNpdHVhdGlvbiBjYW4gaGFwcGVuIHdoZW4gdGhlIGxhc3Qgc2FtcGxlCgkgIGRvZXMgbm90IGRlY29kZSBhbmQgZG9lc24ndCBuZWVkIGEgdGltZXN0YW1wLiBXZSBob3dldmVyIGNhbGN1bGF0ZSB0aGUgdG90YWwKCSAgdHJhY2sgbGVuZ3RoIHVzaW5nIHRoZSBsYXN0IHNhbXBsZSB0aW1lc3RhbXAgc28gd2UgbmVlZCB0byBoYXZlIHNvbWV0aGluZwoJICBzZW5zaWJsZSBpbiB0aGVyZS4KCSAgRml4ZXMgIzU4NTA1NgoKMjAwOS0wNi0wNyAxMzozNzowNCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICB3YXZwYXJzZTogaGFuZGxlIExJU1QgSU5GTyBvZiAwIHNpemUKCSAgSGFuZGxlIExJU1QgSU5GTyBjaHVua3Mgb2YgMCBzaXplIGluc3RlYWQgb2YgY2F1c2luZyBlcnJvcnMuCgkgIEZpeGVzICM1ODQ5ODEKCjIwMDktMDYtMDcgMTM6MjQ6NDUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgUmV2ZXJ0ICJ3YXZwYXJzZTogUmVtb3ZlIGRlYWQgYXNzaWdubWVudHMsIG1vdmUgdmFyaWFibGUgdG8gd2hlcmUgaXQncyBuZWVkZWQuIgoJICBSZXZlcnRzIGNvbW1pdCA0NDI1NmE3OGY4ZGQ3OWE5MWYzYmIyYWI3YzNhYTYyM2MwOTdiYjhhIGFuZCB1c2UgdGhlIHJlc3VsdCBpbgoJICBlcnJvciByZXBvcnRpbmcgc28gdGhhdCB3ZSBjYW4gc2VlIHdoYXQncyBnb2luZyBvbi4KCjIwMDktMDYtMDUgMTg6NTU6MDIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwL2dzdHJ0cC5jOgoJKiBnc3QvcnRwL2dzdHJ0cGNlbHRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGNlbHRkZXBheS5oOgoJICBjZWx0ZGVwYXk6IGFkZCBDRUxUIGRlcGF5bG9hZGVyCgoyMDA5LTA2LTA1IDE1OjMwOjUxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cC9nc3RydHAuYzoKCSogZ3N0L3J0cC9nc3RydHBjZWx0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwY2VsdHBheS5oOgoJICBydHBjZWx0cGF5OiBhZGQgQ0VMVCBSVFAgcGF5bG9hZGVyCgoyMDA5LTA2LTA1IDE2OjU0OjQ4ICswMTAwICBKYW4gU2NobWlkdCA8amFuLnNjaG1pZHRAc3VuLmNvbT4KCgkqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVyY3RybC5jOgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlcm9wdGlvbnMuYzoKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXJ0cmFjay5jOgoJICBzdW5hdWRpbzogRml4IHN3aXRjaCBzZXR0aW5nIG9uIHNvbWUgZGV2aWNlcy4gQWRkIGRlYnVnLiBGaXggYSBGSVhNRS4KCSAgRml4IHRoZSBzZXR0aW5nIG9mIHRvZ2dsZSBzd2l0Y2hlcyBvbiBzb21lIGJyb2tlbiBhdWRpbyBkcml2ZXJzIHdoaWNoCgkgIHJlcG9ydCB0aGF0IG5vIGF1ZGlvIHBvcnRzIGFyZSBzZXR0YWJsZSBieSBpZ25vcmluZyB0aGUgbW9kX3BvcnQgZmllbGQKCSAgdGhlcmUuCgkgIEFkZCBzb21lIGRlYnVnIHN0YXRlbWVudHMuCgkgIEZpeCBhIEZJWE1FIG5vdyB0aGF0IEdvb2QgcmVsaWVzIG9uIGEgbmV3IGVub3VnaCBnc3QtcGx1Z2lucy1iYXNlLgoKMjAwOS0wNi0wNCAxMjoyNzoxOSArMDEwMCAgSmFuIFNjaG1pZHQgPGphbi5zY2htaWR0QHN1bi5jb20+CgoJKiBzeXMvc3VuYXVkaW8vTWFrZWZpbGUuYW06CgkqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVyY3RybC5jOgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlcmN0cmwuaDoKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXJvcHRpb25zLmM6CgkqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVyb3B0aW9ucy5oOgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlcnRyYWNrLmM6CgkqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVydHJhY2suaDoKCSAgc3VuYXVkaW86IFN1cHBvcnQgbmV3IGZsYWdzIGZvciBvcHRpb25zIGFuZCBhY3Rpb25zCgkgIFVzZSBuZXcgYXVkaW8gbWl4ZXIgZmxhZ3MgYWRkZWQgaW4gQmFzZSAwLjEwLjIzIHRvIGV4cG9zZSBmbGFncyBhbmQgb3B0aW9ucwoJICBvbiB0aGUgU3VuQXVkaW8gZGV2aWNlcy4KCSAgRml4ZXM6ICM1ODM1OTMKCSAgUGF0Y2ggQnk6IEJyaWFuIENhbWVyb24gPGJyaWFuLmNhbWVyb25Ac3VuLmNvbT4KCSAgUGF0Y2ggQnk6IEdhcnJldHQgRCdBbW9yZSA8Z2FycmV0dC5kYW1vcmVAc3VuLmNvbT4KCjIwMDktMDUtMTUgMTE6NTA6MzggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5oOgoJICBkZWludGVybGFjZTogRmlyc3QgdHJ5IHRvIGhhbmRsZSBEVkQgc3RpbGwgZnJhbWVzIGNvcnJlY3RseQoJICBUaGlzIGhlbHBzIGEgYml0IHdpdGggYnVnICM1ODI3NDAgYnV0IHN0aWxsIGRvZXNuJ3QgbWFrZSBpdCB3b3JrLgoKMjAwOS0wNi0wNCAxNzozNzowMyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IG9ubHkgbm90aWZ5IGlmIGFsbCBjaGVja3MgcGFzc2VkCgkgIFJlcGxhY2UgZ290byBkb25lOiB3aXRoIHJldHVybiwgYXMgdGhvc2UgYXJlIGNoZWNrcyB3aGVuIHdlIGRvbid0IHdhbnQgdG8gZmxhZyBhCgkgIHBlbmRpbmcgbm90aWZ5LgoKMjAwOS0wNi0wNCAxNToxOTowNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogc2V0IHRoZSByaWdodCBzdGF0ZSBvbiBydHBiaW4KCSAgV2UgbmVlZCB0byBzZXQgdGhlIHN0YXRlIG9mIGdzdHJ0cGJpbiB0byB0aGUgc2FtZSBzdGF0ZSBhcyBvdXIgc291cmNlIGVsZW1lbnRzLgoJICBUaGlzIGZpeGVzIGZhbGxiYWNrIHRvIFRDUCBhZ2Fpbi4KCjIwMDktMDYtMDMgMTg6MjM6NTMgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBjaGVjayBwb2ludGVyIGJlZm9yZSBhY2Nlc3NpbmcKCSAgTW92ZSBleGlzdGluZyBjaGVjayBhIGZldyBsaW5lcyB1cCwgc28gdGhhdCB3ZSBjaGVjayBiZWZvcmUgYWNjZXNzaW5nIGZpZWxkcy4KCjIwMDktMDYtMDMgMTg6MjE6MTIgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiByZW5hbWUgZ3N0X3B1bHNlX3NpbmtfZ2V0X3RpbWUgdG8gZ3N0X3B1bHNlc2lua19nZXRfdGltZQoJICBSZW5hbWUgaW50ZXJuYWwgbWV0aG9kIGZvciBjb25zaXN0ZW5jeS4KCjIwMDktMDYtMDMgMTg6MTk6MjIgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiB1c2UgdmFsdWVzIGZyb20gcGFfc3RyZWFtX2dldF9idWZmZXJfYXR0cigpCgkgIFdlIHdlcmUgcHV0dGluZyB0aGUgcmVxdWVzdGVkIHZhbHVlcyBiYWNrIGludG8gcmluZ2J1ZmZlciBzcGVjLCBpbnN0ZWFkIG9mCgkgIHVzaW5nIHRoZSBxdWVyaWVkIHZhbHVlcy4KCjIwMDktMDYtMDIgMTk6MzI6MjEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdwYXkuYzoKCSAgdnJhd3BheTogdHJpbSBvdXRwdXQgYnVmZmVycwoJICBSZW1vdmUgdGhlIGxlZnRvdmVyIHVudXNlZCBieXRlcyBpbiB0aGUgb3V0cHV0IGJ1ZmZlci4KCSAgRml4ZXMgIzU4NDYxMwoKMjAwOS0wNi0wMiAxOTozMDozMCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwdnJhd2RlcGF5LmM6CgkgIHZyYXdkZXBheTogZml4IHBhcnNpbmcgb2Ygc2FtcGxpbmcgZmllbGQKCSAgY29tbWl0IGExMmQ5YTgwZjIyNWJlOTdiMzY3NGIxYTA1MDZhYzY2NTQ0ZGJmNDkgYnJva2UgdGhlIHBhcnNpbmcgb2YgdGhlCgkgIHNhbXBsaW5nLgoKMjAwOS0wNS0yNyAxNzowNjozNCArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzoKCSAgcG5nZGVjOiBBdm9pZCBwb3NzaWJsZSBvdmVyZmxvdyBpbiBjYWxjdWxhdGlvbnMKCSAgQSBtYWxmb3JtZWQgKG9yIHNpbXBseSBodWdlKSBQTkcgZmlsZSBjYW4gbGVhZCB0byBpbnRlZ2VyIG92ZXJmbG93IGluCgkgIGNhbGN1bGF0aW5nIHRoZSBzaXplIG9mIHRoZSBvdXRwdXQgYnVmZmVyLCBsZWFkaW5nIHRvIGNyYXNoZXMgb3IgYnVmZmVyCgkgIG92ZXJmbG93cyBsYXRlci4gRml4ZXMgU0EzNTIwNSBzZWN1cml0eSBhZHZpc29yeS4KCjIwMDktMDYtMDIgMDA6NDg6MDAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJICBmbGFjZW5jOiBzb21lIG1vcmUgbG9nZ2luZyAtIGR1bXAgaGVhZGVyIHBhY2tldHMKCSAgQWxzbywgdGhlIGZpbmFsIGZpeGluZyB1cCBvZiB0aGUgaGVhZGVycyBpcyBleHBlY3RlZCBhbmQgbm90IHNvbWV0aGluZwoJICB3ZSBzaG91bGQgd2FybiBhYm91dC4KCjIwMDktMDYtMDIgMDA6Mzc6MTUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJICBmbGFjZW5jOiBuZXZlciBldmVyIHBhc3MgdmFsdWVzID4zNmJpdHMgdG8gX3NldF90b3RhbF9zYW1wbGVzX2VzdGltYXRlKCkKCSAgTGV0J3MgYmUgcGFyYW5vaWQgYW5kIG1ha2Ugc3VyZSB3ZSBuZXZlciBwYXNzIGEgbnVtYmVyIHRoYXQgdGFrZXMgdXAKCSAgbW9yZSB0aGFuIDM2IGJpdHMgdG8gX3NldF90b3RhbF9zYW1wbGVzX2VzdGltYXRlKCksIHNpbmNlIGxpYkZMQUMKCSAgZXhwZWN0cyBhbGwgdGhlIG90aGVyIGJpdHMgdG8gYmUgemVybywgYW5kIGlmIHRoaXMgaXMgbm90IHRoZSBjYXNlCgkgIG5laWdoYm91cmluZyBmaWVsZHMgaW4gdGhlIGdsb2JhbCBzdHJlYW0gaW5mbyBoZWFkZXIgbWF5IGdldCBtZXNzZWQKCSAgdXAgaW5hZHZlcnRlbnRseSwgc28gdGhhdCBmbGFjIC1kIHJlZnVzZXMgdG8gZGVjb2RlIHRoZSBzdHJlYW0uCgkgIFNlZSAjNTg0NDU1LgoKMjAwOS0wNi0wMSAyMjozMzowMiArMDIwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzIChhdCkgYXBlc3RhYXJ0IChkb3QpIG9yZz4KCgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSAgQWRkcmVzcyBiYWQgRkxBQyBzYW1wbGUgbGVuZ3RoIGVuY29kaW5nIG9mICM1ODQ0NDU1CgkgIENvbW1pdCBkZjcwN2M2NjY0MzNhNzhkMzg3OGFmNmYwNTU2OThkNTc1NjIyNmM0CgkgIGludHJvZHVjZWQgYW4gb2J2aW91cyBidWcgaW4gdGhlIHNhbXBsZSBsZW5ndGggY2FsY3VsYXRpb24sCgkgIHVzaW5nIHRoZSB3cm9uZyBtYWNybyBmb3IgY29udmVyc2lvbi4KCjIwMDktMDYtMDEgMTE6NTg6MjEgLTA3MDAgIEJyaWFuIENhbWVyb24gPGJyaWFuLmNhbWVyb25Ac3VuLmNvbT4KCgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvbW14Lmg6CgkgIGRlaW50ZXJsYWNlOiBGaXggc3B1cmlvdXMgY29sb25zIGluIGFzbSBjb2RlCgkgIEZpeGVzICM1ODQxNzQuCgkgIFNpZ25lZC1vZmYtYnk6IERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKMjAwOS0wNi0wMSAwMDo0MDo1NSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBza2lwIEpVTksgY2h1bmtzIGluIGRhdGEgc2VjdGlvbiBpbiBzdHJlYW1pbmcgbW9kZQoJICBTa2lwIEpVTksgdGFncyBpbiBzdHJlYW1pbmcgbW9kZSBhcyB3ZWxsIGluc3RlYWQgb2YgRU9TaW5nCgkgIHByZW1hdHVyZWx5LiBGaXhlcyAjNTY0MTAwLgoKMjAwOS0wNS0yOCAxNDowMToxNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZF9iZ3JhLmM6CgkqIGdzdC92aWRlb21peGVyL2JsZW5kX2k0MjAuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJICB2aWRlb21peGVyOiBEb24ndCB1c2UgLy8gY29tbWVudHMKCjIwMDktMDUtMjggMTM6NTY6MTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRfYmdyYS5jOgoJICB2aWRlb21peGVyOiBGaXggYmFja2dyb3VuZCBibGl0dGluZyB3aGVuIGEgY29sb3IgbW9kZSBpcyBzZWxlY3RlZCB3aXRoIEJHUkEKCjIwMDktMDUtMjggMTM6NTQ6MTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRfYXl1di5jOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZF9iZ3JhLmM6CgkqIGdzdC92aWRlb21peGVyL2JsZW5kX2k0MjAuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmg6CgkgIHZpZGVvbWl4ZXI6IFNvbWUgY2xlYW51cCBhbmQgZml4IHRoZSBjYWxjdWxhdGlvbiBvZiB0aGUgZnJhbWUgc2l6ZSBpbiBieXRlcwoKMjAwOS0wNS0yOCAxMzozNTo1MiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZF9pNDIwLmM6CgkgIHZpZGVvbWl4ZXI6IEZpeCBJNDIwIGJsZW5kaW5nIHRvIGFjdHVhbGx5IGRvIHNvbWV0aGluZwoJICBGb3IgdGhpcyB3ZSBhKSBpbXBsZW1lbnQgdGhlIGNoZWNrZXJzIGZpbGxpbmcgYW5kIGIpCgkgIGFjdHVhbGx5IGJsZW5kIHRoZSBzcmMvZGVzdCBieSB1c2luZyB0aGUgc3JjIGFscGhhIHZhbHVlCgkgIGZyb20gdGhlIHBhZC4KCjIwMDktMDUtMjggMTM6MTQ6MTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRfYmdyYS5jOgoJICB2aWRlb21peGVyOiBGaXggQVJHQiBibGVuZGluZyB0byBhY3R1YWxseSB3b3JrCgoyMDA5LTA1LTI4IDEzOjA0OjUxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZF9iZ3JhLmM6CgkgIHZpZGVvbWl4ZXI6IEJsZW5kIEJHUkEgb3Vyc2VsdmVzIGluc3RlYWQgb2YgdXNpbmcgQ2Fpcm8KCjIwMDktMDUtMjggMTI6NTU6MTYgKzAyMDAgIEFsZXggVWdhcnRlIDxhbGV4dWdhcnRlQGdtYWlsLmNvbT4KCgkqIGdzdC92aWRlb21peGVyL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZF9heXV2LmM6CgkqIGdzdC92aWRlb21peGVyL2JsZW5kX2JncmEuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRfaTQyMC5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuaDoKCSAgdmlkZW9taXhlcjogQWRkIHN1cHBvcnQgZm9yIGJsZW5kaW5nIEJHUkEgYW5kIEFZVVYKCSAgRml4ZXMgYnVnICM1NzcwMTcuCgoyMDA5LTA1LTI4IDEyOjM5OjQ2ICswMjAwICBHaGlzbGFpbiAnQXVzJyBMYWNyb2l4IDxhdXNAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6CgkgIGVxdWFsaXplcjogVXNlIGZsb2F0aW5nIHBvaW50IGFyaXRobWV0aWMgaW50ZXJuYWxseSBmb3IgdGhlIGludDE2IG1vZGUKCSAgQnkgdXNpbmcgaW50MzIgYXJpdGhtZXRpYyB3ZSB3aWxsIGludHJvZHVjZSBkaXN0b3J0aW9ucyBhcyB0aGUKCSAgSUlSIGZpbHRlciBpcyB2ZXJ5IHNlbnNpdGl2ZSB0byByb3VuZGluZyBlcnJvcnMuIEZpeGVzIGJ1ZyAjNTgwMjE0LgoKMjAwOS0wNS0yOCAxMDo1NToxNiArMDEwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDxjaHJpc3RpYW4uc2NoYWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LXBsdWdpbnMtZ29vZC5zcGVjLmluOgoJICBVcGRhdGUgc3BlYyBmaWxlIHdpdGggbGF0ZXN0IHBsdWdpbnMKCjIwMDktMDUtMjYgMTc6MTk6MDggKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gODg4ZTBhMiB0byBjNTcyNzIxCgoyMDA5LTA1LTI2IDE2OjIwOjM1ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuaDoKCSAgdjRsMjogY2xlYW51cCBhbmQgY29tbWVudGluZwoJICBSZW1vdmUgbmV3bGluZXMgaW5zZXJ0ZWQgYnkgZ3N0LWluZGVudCBvbmNlLiBSZW1vdmUgdW51c2VkIHZhciBmcm9tIGluc3RhbmNlCgkgIHN0cnVjdC4gQWRkIGNvbW1lbnRzLiBBZGQgYW5vdGhlciAjZGVmaW5lIGZvciBkZWZhdWx0IHByb3BlcnR5IHZhbHVlLgoKMjAwOS0wNS0wNiAxMjo0MzozNSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIG1ha2VmaWxlOiBpZGVhIGFib3V0IG1ha2VpbmcgbW9yZSBzb3VyY2VzL3NpbmtzIHRlc3RhYmxlIGFnYWluCgoyMDA5LTA1LTI1IDE2OjMzOjM1ICswMjAwICBKb2huIEtlZXBpbmcgPGpvaG4ua2VlcGluZyBhdCBsaW5lb25lLm5ldD4KCgkqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6CgkgIHBuZ2RlYzogbWF0Y2ggZ19tYWxsb2MoKSB3aXRoIGdfZnJlZSgpCgkgIE1hdGNoaW5nIGdfbWFsbG9jKCkgd2l0aCBhIGdfZnJlZSgpIGlzIGltcG9ydGFudCB3aGVuIGEgY3VzdG9tIGFsbG9jYXRvciBpcwoJICBpbnN0YWxsZWQuCgkgIEZpeGVzICM1ODM4MDMKCjIwMDktMDUtMTIgMTg6Mzk6MjggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDR2cGF5Lmg6CgkgIHJ0cG1wNHZwYXk6IGRvbid0IGxvb2sgZm9yIGhlYWRlcnMgaW4gc29tZSBjYXNlcwoJICBJbiBzb21lIHN0cmVhbXMgKHN0YXJ0aW5nIHdpdGggMDAwMDAxMDApIGRvbid0IGxvb2sgZm9yIHRoZSBoZWFkZXJzIGJ1dCBwdXNoCgkgIGRhdGEgYXMgaXQgaXMuCgkgIEZpeGVzICM1ODIxNTMKCjIwMDktMDUtMTMgMTE6NTA6MjIgKzAyMDAgIFBhdHJpY2sgUmFkaXppIDxwYXRyaWNrLnJhZGl6aSBhdCBheGlzLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogZml4IG1lbW9yeSBsZWFrIG9mIG1lc3NhZ2VzCgkgIEZyZWUgbWVzc2FnZXMgY29ycmVjdGx5LgoJICBGaXhlcyAjNTc3MzE4CgoyMDA5LTA1LTI0IDE5OjMyOjE3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBtYWtlIGZha2VzcmMgc2lsZW50CgkgIE1ha2UgdGhlIGZha2VzcmMgdGhhdCBpcyByZXNwb25zaWJsZSBmb3Igc2VuZGluZyBkdW1teSBwYWNrZXRzIHNpbGVudC4KCjIwMDktMDUtMjQgMTY6MzM6NDIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGRvbid0IHNlbmQgdGVhcmRvd24gYmVmb3JlIHNldHVwCgkgIERvbid0IHNlbmQgYSBURUFSRE9XTiByZXF1ZXN0IHdoZW4gd2UgZGlkIG5vdCBtYW5hZ2UgdG8gc3VjY2Vzc2Z1bGx5IHNldHVwIGEKCSAgc3RyZWFtLgoKMjAwOS0wNS0xNCAxNDo0NjoxNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4Lmg6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuaDoKCSAgbWF0cm9za2FkZW11eDogUG9wdWxhdGUgYSBHc3RJbmRleCB0aGF0IGlzIHNldCBvbiBtYXRyb3NrYWRlbXV4CgoyMDA5LTA1LTE0IDEwOjM1OjIyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkgIGZsdm11eDogR2V0IHRoZSBtYXggZHVyYXRpb24gZnJvbSB1cHN0cmVhbSBpZiB0aGVyZSdzIG5vIGR1cmF0aW9uIHRhZwoKMjAwOS0wNS0xNCAxMDoyOTo0OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdm11eC5oOgoJICBmbHZtdXg6IFdyaXRlIGFuIGluZGV4IHRhYmxlIHRvIHRoZSBlbmQgb2YgdGhlIGZpbGUKCjIwMDktMDUtMjIgMDE6MTI6MzUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogYXV0b2dlbi5zaDoKCSogY29uZmlndXJlLmFjOgoJICBhdXRvdG9vbHM6IG1vdmUgdGhlIC1Xbm8tcG9ydGFiaWxpdHkgZnJvbSBhdXRvZ2VuLnNoIHRvIGNvbmZpZ3VyZS5hYwoJICBJZiB3ZSdyZSBsdWNreSBpdCdsbCBnZXQgdXNlZCBvbiBhdXRvbWF0aWMgcmVidWlsZHMgYXMgd2VsbCB0aGF0IHdheS4KCjIwMDktMDUtMjIgMDE6MTA6MTIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJKiBjb25maWd1cmUuYWM6CgkqIG00L2dzdC1maW9ucmVhZC5tNDoKCSAgbTQ6IGZpeCAnc3VzcGljaW91cyBjYWNoZSBpZCcgd2FybmluZ3MKCSAgYW5kIHVwZGF0ZSBjb21tb24gdG8gcHVsbCBpbiBhIHNpbWlsYXIgZml4LiBBbHNvIGNoZWNrIGluIGNvbmZpZ3VyZQoJICB3aGV0aGVyIHRoZSBjb21waWxlciBzdXBwb3J0cyBkbyB3aGlsZSBtYWNyb3MgKEdMaWIgd2FudHMgdGhpcwoJICBkZWZpbmVkIGFuZCBpdCBpcyBuZWVkZWQgdG8gYXZvaWQgd2FybmluZ3Mgd2l0aCBzb21lIGMrKyBjb21waWxlcnMKCSAgYXBwYXJlbnRseSkuCgoyMDA5LTA1LTIyIDAxOjM5OjMzICswMzAwICBaZWVzaGFuIEFsaSAoS2hhdHRhaykgPHplZXNoYW5ha0Bnbm9tZS5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkgIHNvdXBodHRwc3JjOiBCdW1wLXVwIGxpYnNvdXAtMi4yNCBkZXAgdG8gPj0gMi4yNgoJICBUaGUgaGVscGVyIGZ1bmN0aW9uIHNvdXBfbWVzc2FnZV9oZWFkZXJzX2dldF9jb250ZW50X3R5cGUgdGhhdCB3ZSBub3cgdXNlCgkgIHdhcyBhZGRlZCBpbiAyLjI2LgoKMjAwOS0wNS0yMCAxNzo1Nzo1OSArMDMwMCAgWmVlc2hhbiBBbGkgKEtoYXR0YWspIDx6ZWVzaGFuYWtAZ25vbWUub3JnPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cGh0dHBzcmM6IFNldCBjYXBzIGZvciBhdWRpby9MMTYgY29udGVudC10eXBlCgkgIFdoZW4gIkNvbnRlbnQtVHlwZSIgaGVhZGVyIGlzICJhdWRpby9MMTYiLCB3ZSBuZWVkIHRvIHNldCB0aGUgY2FwcyBvbiB0aGUKCSAgb3V0Z29pbmcgYnVmZmVycyBzbyB0aGF0IGRvd25zdHJlYW0gZWxlbWVudHMgY2FuIGhhdmUgbWVhbnMgdG8gZGV0ZWN0IHRoZQoJICBzdHJlYW0gdHlwZSBhbmQgaGFuZGxlIGl0IGFwcHJvcHJpYXRlbHkuIFRlc3RlZCB3aXRoIEhUVFAgc3RyZWFtIHByb3ZpZGVkCgkgIGJ5IHB1bHNlLWF1ZGlvJ3MgaHR0cCBtb2R1bGUgKGdpdCBtYXN0ZXIpLgoKMjAwOS0wNS0yMCAxNTowNjoyNSArMDMwMCAgWmVlc2hhbiBBbGkgKEtoYXR0YWspIDx6ZWVzaGFuYWtAZ25vbWUub3JnPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuaDoKCSAgc291cGh0dHBzcmM6IFJlbmFtZSBpY3lfY2FwcyB0byBzcmNfY2FwcwoKMjAwOS0wNS0yMSAyMzozOToxMyArMDIwMCAgUGhpbGlwcGUgTm9ybWFuZCA8cGhpbGlwcGUgYXQgZmx1ZW5kby5jb20+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgIGpwZWdkZWM6IGJ1bXAgbWF4IHNpemUgdG8gNjU1MzV4NjU1MzUKCSAgUmVtb3ZlIGFydGlmaWNpYWwganBlZyBpbWFnZSBsaW1pdHMuCgkgIEZpeGVzICM1ODMwNDguCgoyMDA5LTA1LTIxIDIxOjM2OjAyICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIHdpbjMyOiBVcGRhdGUgdGhlIHdpbjMyIGNvbmZpZy5oCgoyMDA5LTA1LTE5IDE1OjEyOjA5ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5oOgoJICBtYXRyb3NrYWRlbXV4OiBSZWNvZ25pc2UgUEdTIHN1YnBpY3R1cmUgc3RyZWFtcyAtIHRoZSBibHVyYXkgZm9ybWF0LgoJICBSZWNvZ25pc2UgYW5kIGFwcGx5IGFwcHJvcHJpYXRlIGNhcHMgdG8gUEdTIChQcmVzZW50YXRpb24gR3JhcGhpYyBTdHJlYW0pCgkgIHN1YnBpY3R1cmUgc3RyZWFtcy4KCjIwMDktMDUtMTUgMTA6NDI6MTkgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBDb252ZXJ0IGFuIGVycm9uZW91cyBhc3NlcnRpb24KCSAgT2NjYXNpb25hbGx5LCB3ZSBnZXQgYSBjaGFuZ2UgY2FsbGJhY2sgZm9yIGFuIG9sZCBzdHJlYW0sIHRyaWdnZXJpbmcKCSAgdGhlIGFzc2VydGlvbiB1bm5lY2Vzc2FyaWx5LiBKdXN0IGlnbm9yZSBzdWNoIGNhbGxiYWNrcy4KCjIwMDktMDUtMjAgMTY6MTQ6NDAgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2U6IFByaW50IGEgd2FybmluZyBvbiB1bmRlci9vdmVyZmxvd3MKCjIwMDktMDUtMjAgMTg6NDU6NDUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfZm91cmNjLmg6CgkgIHF0ZGVtdXg6IHBhcnNlIGluMjQgYm94ZXMgdG8gZ2V0IGVuZGlhbm5lc3MKCSAgaW4yNCBzYW1wbGVzIGFyZSBub3JtYWxseSBiaWctZW5kaWFuIGJ1dCBhbiBlbmRhIGJveCBjYW4gY2hhbmdlIHRoaXMgdG8KCSAgbGl0dGxlLWVuZGlhbi4gUmVjdXJzZSBpbnRvIHRoZSBpbjI0IGJveCBhbmQgZmluZCB0aGUgZW5kYSBib3ggc28gdGhhdCB3ZSBnZXQKCSAgdGhlIGVuZGlhbm5lc3MgcmlnaHQuCgkgIEZpeGVzICM1ODI1MTUKCjIwMDktMDUtMjAgMTQ6MTQ6MzEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4LmM6CgkgIG11bHRpcGFydGRlbXV4OiBhZGQgcHJvcGVyIHBhZHRlbXBsYXRlCgoyMDA5LTA1LTIwIDE0OjAyOjQzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOgoJICBtdWx0aXBhcnRkZW11eDogYWRkIG1vcmUgbWltZSB0eXBlcwoJICBBZGQgbWltZS10eXBlIGZvciBQYW5hc29uaWMgZzcyNiBhbmQgYWRkIG1vcmUgcmVxdWlyZWQgY2FwcyBwcm9wZXJ0aWVzIGZvciBvdGhlcgoJICBHNzI2IG1pbWUtdHlwZXMuCgkgIE1ha2UgbWltZS10eXBlcyBjYXNlIGluc2Vuc2l0aXZlLgoJICBTZWUgIzU4MjE2OQoKMjAwOS0wNS0yMCAxMzo0Nzo1MiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5oOgoJICBtdWx0aXBhcnRkZW11eDogYWRkIGZsb3cgYWdncmVnYXRpb24KCjIwMDktMDUtMjAgMTM6Mjk6MDIgKzAyMDAgIEFybm91dCBWYW5kZWNhcHBlbGxlIDxhcm5vdXRAbWluZC5iZT4KCgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzoKCSAgbXVsdGlwYXJ0ZGVtdXg6IGFsbG93IGNvbnRlbnQgdG8gYmUgZW1wdHkuCgkgIGdzdF9hZGFwdGVyX3Rha2VfYnVmZmVyIGRvZXNuJ3QgYWxsb3cgYnVmZmVyIHRvIGJlIGVtcHR5LgoJICBTaW1wbHkgc2tpcCBhbnkgcGFydCB3aGVyZSB0aGUgY29udGVudCBpcyBlbXB0eS4gIERvbid0CgkgIGNyZWF0ZSBhIHBhZCBmb3IgaXQgZWl0aGVyLgoJICBTZWUgIzU4MjE2OQoKMjAwOS0wNS0xOCAyMjoxOTozOSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwY2hhbm5lbHMuaDoKCSAgcnRwOiBmaXggY2hhbm5lbCBwb3NpdGlvbnMgZm9yIG1vbm8KCjIwMDktMDUtMjEgMjE6MDI6MTEgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgQmFjayB0byBoYWNraW5nIC0+IDAuMTAuMTUuMQoKPT09IHJlbGVhc2UgMC4xMC4xNSA9PT0KCjIwMDktMDUtMjAgMjI6MzQ6MTggKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYW1tYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGFsZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vbm9zY29wZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF1aWNrdGltZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JhbGFuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmxpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiBnc3QtcGx1Z2lucy1nb29kLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAwLjEwLjE1CgoyMDA5LTA1LTIwIDIyOjAzOjIxICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMDktMDUtMTYgMDI6NTk6MTQgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIENoYW5nZUxvZzoKCSogY29uZmlndXJlLmFjOgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgMC4xMC4xNC4zIHByZS1yZWxlYXNlCgoyMDA5LTA1LTE2IDAyOjM3OjA2ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvZmxhY2RlYy5jOgoJICBjaGVjazogRG9uJ3QgY2hhbmdlIGRpcmVjdG9yeSBpbiB0aGUgdGVzdAoJICBDaGFuZ2luZyBkaXJlY3RvcnkgaW52YWxpZGF0ZXMgdGhlIHBhdGhzIHRoZSByZWdpc3RyeSBoYXMgcGlja2VkCgkgIHVwIGZvciBvdXIgcGx1Z2lucywgYmVjYXVzZSB0aGUgdGVzdCBlbnZpcm9ubWVudCBzcGVjaWZpZXMgcmVsYXRpdmUKCSAgcGF0aHMuIEZpeGluZyB0aGF0IGlzIGEgc2VwYXJhdGUgcHJvYmxlbSwgaW4gdGhlIG1lYW50aW1lLCBidWlsZCBhCgkgIHBhdGggdG8gdGhlIHRlc3QgZmlsZXMgaW5zdGVhZCBvZiBjaGFuZ2luZyBkaXJlY3RvcnkuIEZpeGVzIHRoZQoJICBkaXN0Y2hlY2suCgoyMDA5LTA1LTE2IDAxOjUzOjQ2ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiB3aW4zMi9NQU5JRkVTVDoKCSAgd2luMzI6IFJlbW92ZSBkaXJlY3RkcmF3IHByb2plY3QgZmlsZXMgZnJvbSB0aGUgd2luMzIgbWFuaWZlc3QKCjIwMDktMDUtMTYgMDE6MjE6MzQgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnYW5hbHlzaXMuYzoKCSAgY2hlY2s6IFJlbW92ZSBhc3NlcnRpb24gdGhhdCBicmVha3MgY2hlY2sgYWdhaW4gZ2l0IG1hc3RlcgoJICBSZW1vdmUgdGhlIGFzc2VydGlvbiB0aGF0IHRoZSBzZW5kZXIgb2YgdGhlIHRhZ3MgbWVzc2FnZSBpcyB0aGUKCSAgZWxlbWVudCB1bnRpbCB3ZSBkZWNpZGUgd2hldGhlciB0aGF0J3MgZ29pbmcgdG8gYmUgdHJ1ZSBvciBub3QuCgoyMDA5LTA1LTE2IDAxOjExOjMzICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGlyZWN0ZHJhdy54bWw6CgkqIHN5cy9NYWtlZmlsZS5hbToKCSogc3lzL2RpcmVjdGRyYXcvTWFrZWZpbGUuYW06CgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdwbHVnaW4uYzoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuaDoKCSogd2luMzIvdnM2L2xpYmdzdGRpcmVjdGRyYXcuZHNwOgoJKiB3aW4zMi92czcvbGliZ3N0ZGlyZWN0ZHJhdy52Y3Byb2o6CgkqIHdpbjMyL3ZzOC9saWJnc3RkaXJlY3RkcmF3LnZjcHJvajoKCSAgTW92ZWQgJ2RpcmVjdGRyYXcnIGZyb20gLWdvb2QgdG8gLWJhZAoKMjAwOS0wNS0xNiAwMDoxODozNCArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzLy5naXRpZ25vcmU6CgkgIGlnbm9yZXM6IElnbm9yZSB0aGUgZmxhY2RlYyBjaGVjayBiaW5hcnkKCjIwMDktMDUtMTYgMDA6MTc6NTcgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJICBkb2NzOiBVcGRhdGUgaW5zcGVjdGlvbiBkZXRhaWxzIGZvciB0aGUgYXZpIHBsdWdpbgoKMjAwOS0wNS0xNiAwMDowMDowNyArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy95NG1lbmMuYzoKCSAgTW92ZWQgJ3k0bWVuYycgZnJvbSAtYmFkIHRvIC1nb29kCgoyMDA5LTA1LTEzIDE3OjU1OjQ2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzoKCSAgW01PVkVEIEZST00gQkFEXSB5NG1lbmM6IGNoYW5nZSBteSBlbWFpbAoJICBjaGFuZ2UgbXkgZW1haWwgdG8gc29tZXRoaW5nIG1vcmUgY3VycmVudAoJICBTZWUgIzU4MDc4MwoKMjAwOS0wNS0xMyAxNzo1NDo0NyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRF0geTRtZW5jOiBkb24ndCBzdHJpcCB0aW1lc3RhbXBzCgkgIEZpeGVzICM1ODI0ODMKCjIwMDgtMTEtMDQgMTI6NDI6MzAgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIFtNT1ZFRCBGUk9NIEJBRF0gRG9uJ3QgaW5zdGFsbCBzdGF0aWMgbGlicyBmb3IgcGx1Z2lucy4gRml4ZXMgIzU1MDg1MSBmb3IgLWJhZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2Fsc2FzcGRpZi9NYWtlZmlsZS5hbToKCSAgKiBleHQvYW1yd2IvTWFrZWZpbGUuYW06CgkgICogZXh0L2FwZXhzaW5rL01ha2VmaWxlLmFtOgoJICAqIGV4dC9hcnRzL01ha2VmaWxlLmFtOgoJICAqIGV4dC9hcnRzZC9NYWtlZmlsZS5hbToKCSAgKiBleHQvYXVkaW9maWxlL01ha2VmaWxlLmFtOgoJICAqIGV4dC9hdWRpb3Jlc2FtcGxlL01ha2VmaWxlLmFtOgoJICAqIGV4dC9iejIvTWFrZWZpbGUuYW06CgkgICogZXh0L2NkYXVkaW8vTWFrZWZpbGUuYW06CgkgICogZXh0L2NlbHQvTWFrZWZpbGUuYW06CgkgICogZXh0L2RjMTM5NC9NYWtlZmlsZS5hbToKCSAgKiBleHQvZGlyYWMvTWFrZWZpbGUuYW06CgkgICogZXh0L2RpcmVjdGZiL01ha2VmaWxlLmFtOgoJICAqIGV4dC9kaXZ4L01ha2VmaWxlLmFtOgoJICAqIGV4dC9kdHMvTWFrZWZpbGUuYW06CgkgICogZXh0L2ZhYWMvTWFrZWZpbGUuYW06CgkgICogZXh0L2ZhYWQvTWFrZWZpbGUuYW06CgkgICogZXh0L2dzbS9NYWtlZmlsZS5hbToKCSAgKiBleHQvaGVybWVzL01ha2VmaWxlLmFtOgoJICAqIGV4dC9pdm9yYmlzL01ha2VmaWxlLmFtOgoJICAqIGV4dC9qYWNrL01ha2VmaWxlLmFtOgoJICAqIGV4dC9qcDJrL01ha2VmaWxlLmFtOgoJICAqIGV4dC9sYWRzcGEvTWFrZWZpbGUuYW06CgkgICogZXh0L2xjcy9NYWtlZmlsZS5hbToKCSAgKiBleHQvbGliZmFtZS9NYWtlZmlsZS5hbToKCSAgKiBleHQvbGlibW1zL01ha2VmaWxlLmFtOgoJICAqIGV4dC9tZXRhZGF0YS9NYWtlZmlsZS5hbToKCSAgKiBleHQvbXBlZzJlbmMvTWFrZWZpbGUuYW06CgkgICogZXh0L21wbGV4L01ha2VmaWxlLmFtOgoJICAqIGV4dC9tdXNlcGFjay9NYWtlZmlsZS5hbToKCSAgKiBleHQvbXVzaWNicmFpbnovTWFrZWZpbGUuYW06CgkgICogZXh0L215dGh0di9NYWtlZmlsZS5hbToKCSAgKiBleHQvbmFzL01ha2VmaWxlLmFtOgoJICAqIGV4dC9uZW9uL01ha2VmaWxlLmFtOgoJICAqIGV4dC9vZmEvTWFrZWZpbGUuYW06CgkgICogZXh0L3BvbHlwL01ha2VmaWxlLmFtOgoJICAqIGV4dC9yZXNpbmR2ZC9NYWtlZmlsZS5hbToKCSAgKiBleHQvc2RsL01ha2VmaWxlLmFtOgoJICAqIGV4dC9zaG91dC9NYWtlZmlsZS5hbToKCSAgKiBleHQvc25hcHNob3QvTWFrZWZpbGUuYW06CgkgICogZXh0L3NuZGZpbGUvTWFrZWZpbGUuYW06CgkgICogZXh0L3NvdW5kdG91Y2gvTWFrZWZpbGUuYW06CgkgICogZXh0L3NwYy9NYWtlZmlsZS5hbToKCSAgKiBleHQvc3dmZGVjL01ha2VmaWxlLmFtOgoJICAqIGV4dC90YXJraW4vTWFrZWZpbGUuYW06CgkgICogZXh0L3RoZW9yYS9NYWtlZmlsZS5hbToKCSAgKiBleHQvdGltaWRpdHkvTWFrZWZpbGUuYW06CgkgICogZXh0L3R3b2xhbWUvTWFrZWZpbGUuYW06CgkgICogZXh0L3gyNjQvTWFrZWZpbGUuYW06CgkgICogZXh0L3hpbmUvTWFrZWZpbGUuYW06CgkgICogZXh0L3h2aWQvTWFrZWZpbGUuYW06CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9NYWtlZmlsZS5hbToKCSAgKiBnc3QtbGlicy9nc3QvZHNob3cvTWFrZWZpbGUuYW06CgkgICogZ3N0L2FpZmZwYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYXBwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9hdWRpb2J1ZmZlci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYmF5ZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2NkeGFwYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvY2hhcnQvTWFrZWZpbGUuYW06CgkgICogZ3N0L2NvbG9yc3BhY2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L2RjY3AvTWFrZWZpbGUuYW06CgkgICogZ3N0L2RlaW50ZXJsYWNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9kZWludGVybGFjZTIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2R2ZHNwdS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZmVzdGl2YWwvTWFrZWZpbGUuYW06CgkgICogZ3N0L2ZpbHRlci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZmxhY3BhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9mbHYvTWFrZWZpbGUuYW06CgkgICogZ3N0L2dhbWVzL01ha2VmaWxlLmFtOgoJICAqIGdzdC9oMjY0cGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L2xpYnJmYi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbWl4bWF0cml4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9tb2RwbHVnL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tcGVnMXN5cy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXBlZzR2aWRlb3BhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tcGVnZGVtdXgvTWFrZWZpbGUuYW06CgkgICogZ3N0L21wZWd0c211eC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L212ZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbnNmL01ha2VmaWxlLmFtOgoJICAqIGdzdC9udXZkZW11eC9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvb3ZlcmxheS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcGFzc3Rocm91Z2gvTWFrZWZpbGUuYW06CgkgICogZ3N0L3BjYXBwYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcGxheW9uZGVtYW5kL01ha2VmaWxlLmFtOgoJICAqIGdzdC9yYXdwYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcmVhbC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcnRqcGVnL01ha2VmaWxlLmFtOgoJICAqIGdzdC9ydHBtYW5hZ2VyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zY2FsZXRlbXBvL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zZHAvTWFrZWZpbGUuYW06CgkgICogZ3N0L3NlbGVjdG9yL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zbW9vdGgvTWFrZWZpbGUuYW06CgkgICogZ3N0L3Ntb290aHdhdmUvTWFrZWZpbGUuYW06CgkgICogZ3N0L3NwZWVkL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zdGVyZW8vTWFrZWZpbGUuYW06CgkgICogZ3N0L3N1YmVuYy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdHRhL01ha2VmaWxlLmFtOgoJICAqIGdzdC92YmlkZWMvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZpZGVvZHJvcC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdmlkZW9zaWduYWwvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZpcnR1YWxkdWIvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZtbmMvTWFrZWZpbGUuYW06CgkgICogZ3N0L3k0bS9NYWtlZmlsZS5hbToKCSAgKiBzeXMvYWNtZW5jL01ha2VmaWxlLmFtOgoJICAqIHN5cy9jZHJvbS9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZHNob3dkZWN3cmFwcGVyL01ha2VmaWxlLmFtOgoJICAqIHN5cy9kc2hvd3NyY3dyYXBwZXIvTWFrZWZpbGUuYW06CgkgICogc3lzL2R2Yi9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZHhyMy9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZmJkZXYvTWFrZWZpbGUuYW06CgkgICogc3lzL29zczQvTWFrZWZpbGUuYW06CgkgICogc3lzL3FjYW0vTWFrZWZpbGUuYW06CgkgICogc3lzL3F0d3JhcHBlci9NYWtlZmlsZS5hbToKCSAgKiBzeXMvdmNkL01ha2VmaWxlLmFtOgoJICAqIHN5cy93aW5pbmV0L01ha2VmaWxlLmFtOgoJICAqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgRG9uJ3QgaW5zdGFsbCBzdGF0aWMgbGlicyBmb3IgcGx1Z2lucy4gRml4ZXMgIzU1MDg1MSBmb3IgLWJhZC4KCjIwMDgtMDYtMjYgMTU6NTI6NDAgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSAgW01PVkVEIEZST00gQkFEXSBBZGQgZG9jdW1lbnRhdGlvbiBmb3IgWVVWNE1QRUcyIGVuY29kZXIgZWxlbWVudC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOgoJICBBZGQgZG9jdW1lbnRhdGlvbiBmb3IgWVVWNE1QRUcyIGVuY29kZXIgZWxlbWVudC4KCjIwMDctMDQtMjQgMTU6NDk6MTggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBbTU9WRUQgRlJPTSBCQURdIFBsdWcgc29tZSBsZWFrczsgdHJ5IHRvIG1ha2UgYnVpbGQgYm90IGhhcHB5IGFnYWluLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOiAoZ3N0X3k0bV9lbmNvZGVfaW5pdCksCgkgIChnc3RfeTRtX2VuY29kZV9zZXRjYXBzKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy95NG1lbmMuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgUGx1ZyBzb21lIGxlYWtzOyB0cnkgdG8gbWFrZSBidWlsZCBib3QgaGFwcHkgYWdhaW4uCgoyMDA2LTExLTEzIDE4OjU1OjU3ICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYW5hdXdAc2t5bmV0LmJlPgoKCSAgW01PVkVEIEZST00gQkFEXSBjb25maWd1cmUuYWM6IEVuYWJsZSBjZGF1ZGlvIGFuZCB5NG0uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogTWFyayBOYXV3ZWxhZXJ0cyA8bWFuYXV3IGF0IHNreW5ldCBiZT4KCSAgKiBjb25maWd1cmUuYWM6CgkgIEVuYWJsZSBjZGF1ZGlvIGFuZCB5NG0uCgkgICogZ3N0L3k0bS9NYWtlZmlsZS5hbToKCSAgKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOiAoZ3N0X3k0bV9lbmNvZGVfYmFzZV9pbml0KSwKCSAgKGdzdF95NG1fZW5jb2RlX2NsYXNzX2luaXQpLCAoZ3N0X3k0bV9lbmNvZGVfaW5pdCksCgkgIChnc3RfeTRtX2VuY29kZV9yZXNldCksIChnc3RfeTRtX2VuY29kZV9zZXRjYXBzKSwKCSAgKGdzdF95NG1fZW5jb2RlX2dldF9zdHJlYW1faGVhZGVyKSwKCSAgKGdzdF95NG1fZW5jb2RlX2dldF9mcmFtZV9oZWFkZXIpLCAoZ3N0X3k0bV9lbmNvZGVfY2hhaW4pLAoJICAoZ3N0X3k0bV9lbmNvZGVfc2V0X3Byb3BlcnR5KSwgKGdzdF95NG1fZW5jb2RlX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfeTRtX2VuY29kZV9jaGFuZ2Vfc3RhdGUpLCAocGx1Z2luX2luaXQpOgoJICAqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmg6CgkgIFBvcnQgb2YgeTRtZW5jb2RlIHRvIDAuMTAuCgoyMDA2LTA0LTI1IDIxOjU2OjM4ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBbTU9WRUQgRlJPTSBCQURdIERlZmluZSBHc3RFbGVtZW50RGV0YWlscyBhcyBjb25zdCBhbmQgYWxzbyBzdGF0aWMgKHdoZW4gZGVmaW5lZCBhcyBnbG9iYWwpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmRlYy5jOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmVuYy5jOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YnBhcnNlLmM6CgkgICogZXh0L2FydHMvZ3N0X2FydHMuYzoKCSAgKiBleHQvYXJ0c2QvZ3N0YXJ0c2RzaW5rLmM6CgkgICogZXh0L2F1ZGlvZmlsZS9nc3RhZnBhcnNlLmM6CgkgICogZXh0L2F1ZGlvZmlsZS9nc3RhZnNpbmsuYzoKCSAgKiBleHQvYXVkaW9maWxlL2dzdGFmc3JjLmM6CgkgICogZXh0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOgoJICAqIGV4dC9iejIvZ3N0YnoyZGVjLmM6CgkgICogZXh0L2J6Mi9nc3RiejJlbmMuYzoKCSAgKiBleHQvY2RhdWRpby9nc3RjZGF1ZGlvLmM6CgkgICogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOgoJICAqIGV4dC9kaXZ4L2dzdGRpdnhkZWMuYzoKCSAgKiBleHQvZGl2eC9nc3RkaXZ4ZW5jLmM6CgkgICogZXh0L2R0cy9nc3RkdHNkZWMuYzogKGdzdF9kdHNkZWNfYmFzZV9pbml0KToKCSAgKiBleHQvZmFhYy9nc3RmYWFjLmM6IChnc3RfZmFhY19iYXNlX2luaXQpOgoJICAqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSAgKiBleHQvZ3NtL2dzdGdzbWRlYy5jOgoJICAqIGV4dC9nc20vZ3N0Z3NtZW5jLmM6CgkgICogZXh0L2hlcm1lcy9nc3RoZXJtZXNjb2xvcnNwYWNlLmM6CgkgICogZXh0L2l2b3JiaXMvdm9yYmlzZmlsZS5jOgoJICAqIGV4dC9sY3MvZ3N0Y29sb3JzcGFjZS5jOgoJICAqIGV4dC9saWJmYW1lL2dzdGxpYmZhbWUuYzoKCSAgKiBleHQvbGlibW1zL2dzdG1tcy5jOiAoZ3N0X21tc19iYXNlX2luaXQpOgoJICAqIGV4dC9tdXNlcGFjay9nc3RtdXNlcGFja2RlYy5jOiAoZ3N0X211c2VwYWNrZGVjX2Jhc2VfaW5pdCk6CgkgICogZXh0L211c2ljYnJhaW56L2dzdHRybS5jOiAoZ3N0X211c2ljYnJhaW56X2Jhc2VfaW5pdCk6CgkgICogZXh0L25hcy9uYXNzaW5rLmM6IChnc3RfbmFzc2lua19iYXNlX2luaXQpOgoJICAqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6CgkgICogZXh0L3NkbC9zZGxhdWRpb3NpbmsuYzoKCSAgKiBleHQvc2RsL3NkbHZpZGVvc2luay5jOgoJICAqIGV4dC9zaG91dC9nc3RzaG91dC5jOgoJICAqIGV4dC9zbmFwc2hvdC9nc3RzbmFwc2hvdC5jOgoJICAqIGV4dC9zbmRmaWxlL2dzdHNmLmM6CgkgICogZXh0L3N3ZmRlYy9nc3Rzd2ZkZWMuYzoKCSAgKiBleHQvdGFya2luL2dzdHRhcmtpbmRlYy5jOgoJICAqIGV4dC90YXJraW4vZ3N0dGFya2luZW5jLmM6CgkgICogZXh0L3RoZW9yYS90aGVvcmFkZWMuYzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IChnc3Rfd2F2cGFja19kZWNfYmFzZV9pbml0KToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogKGdzdF93YXZwYWNrX3BhcnNlX2Jhc2VfaW5pdCk6CgkgICogZXh0L3h2aWQvZ3N0eHZpZGRlYy5jOgoJICAqIGV4dC94dmlkL2dzdHh2aWRlbmMuYzoKCSAgKiBnc3QvY2R4YXBhcnNlL2dzdGNkeGFwYXJzZS5jOiAoZ3N0X2NkeGFfcGFyc2VfYmFzZV9pbml0KToKCSAgKiBnc3QvY2R4YXBhcnNlL2dzdGNkeGFzdHJpcC5jOiAoZ3N0X2NkeGFzdHJpcF9iYXNlX2luaXQpOgoJICAqIGdzdC9jaGFydC9nc3RjaGFydC5jOgoJICAqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2UuYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOiAoZ3N0X2lpcl9lcXVhbGl6ZXJfYmFzZV9pbml0KToKCSAgKiBnc3QvZmVzdGl2YWwvZ3N0ZmVzdGl2YWwuYzoKCSAgKiBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuYzoKCSAgKiBnc3QvZmlsdGVyL2dzdGlpci5jOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOgoJICAqIGdzdC9mcmVlemUvZ3N0ZnJlZXplLmM6CgkgICogZ3N0L2dhbWVzL2dzdHB1enpsZS5jOiAoZ3N0X3B1enpsZV9iYXNlX2luaXQpOgoJICAqIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6CgkgICogZ3N0L21peG1hdHJpeC9taXhtYXRyaXguYzoKCSAgKiBnc3QvbXBlZzFzeXMvZ3N0bXBlZzFzeXN0ZW1lbmNvZGUuYzoKCSAgKiBnc3QvbXBlZzF2aWRlb3BhcnNlL2dzdG1wMXZpZGVvcGFyc2UuYzoKCSAgKiBnc3QvbXBlZzJzdWIvZ3N0bXBlZzJzdWJ0LmM6CgkgICogZ3N0L21wZWdhdWRpb3BhcnNlL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkgICogZ3N0L211bHRpZmlsZXNpbmsvZ3N0bXVsdGlmaWxlc2luay5jOgoJICAqIGdzdC9vdmVybGF5L2dzdG92ZXJsYXkuYzoKCSAgKiBnc3QvcGFzc3Rocm91Z2gvZ3N0cGFzc3Rocm91Z2guYzoKCSAgKiBnc3QvcGxheW9uZGVtYW5kL2dzdHBsYXlvbmRlbWFuZC5jOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgKiBnc3QvcnRqcGVnL2dzdHJ0anBlZ2RlYy5jOgoJICAqIGdzdC9ydGpwZWcvZ3N0cnRqcGVnZW5jLmM6CgkgICogZ3N0L3Ntb290aC9nc3RzbW9vdGguYzoKCSAgKiBnc3Qvc21vb3Rod2F2ZS9nc3RzbW9vdGh3YXZlLmM6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkgICogZ3N0L3NwZWVkL2dzdHNwZWVkLmM6CgkgICogZ3N0L3N0ZXJlby9nc3RzdGVyZW8uYzoKCSAgKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5jOgoJICAqIGdzdC90dGEvZ3N0dHRhZGVjLmM6IChnc3RfdHRhX2RlY19iYXNlX2luaXQpOgoJICAqIGdzdC90dGEvZ3N0dHRhcGFyc2UuYzogKGdzdF90dGFfcGFyc2VfYmFzZV9pbml0KToKCSAgKiBnc3QvdmJpZGVjL2dzdHZiaWRlYy5jOgoJICAqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmM6CgkgICogZ3N0L3ZpZGVvZHJvcC9nc3R2aWRlb2Ryb3AuYzoKCSAgKiBnc3QvdmlydHVhbGR1Yi9nc3R4c2hhcnBlbi5jOgoJICAqIGdzdC94aW5naGVhZGVyL2dzdHhpbmdtdXguYzogKGdzdF94aW5nX211eF9iYXNlX2luaXQpOgoJICAqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6CgkgICogc3lzL2Nkcm9tL2dzdGNkcGxheWVyLmM6CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkgICogc3lzL2dsc2luay9nbGltYWdlc2luay5jOgoJICAqIHN5cy9xY2FtL2dzdHFjYW1zcmMuYzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgICogc3lzL3ZjZC92Y2RzcmMuYzogKGdzdF92Y2RzcmNfYmFzZV9pbml0KToKCSAgKiBzeXMveGltYWdlc3JjL3hpbWFnZXNyYy5jOgoJICBEZWZpbmUgR3N0RWxlbWVudERldGFpbHMgYXMgY29uc3QgYW5kIGFsc28gc3RhdGljICh3aGVuIGRlZmluZWQgYXMKCSAgZ2xvYmFsKQoKMjAwNi0wNC0wOCAyMTo0ODowMSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgW01PVkVEIEZST00gQkFEXSBGaXggIzMzNzM2NSAoZ190eXBlX2NsYXNzX3JlZiA8LT4gZ190eXBlX2NsYXNzX3BlZWtfcGFyZW50KQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JkZWMuYzogKGdzdF9hbXJ3YmRlY19jbGFzc19pbml0KToKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JlbmMuYzogKGdzdF9hbXJ3YmVuY19jbGFzc19pbml0KToKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JwYXJzZS5jOiAoZ3N0X2FtcndicGFyc2VfY2xhc3NfaW5pdCk6CgkgICogZXh0L2FydHMvZ3N0X2FydHMuYzogKGdzdF9hcnRzX2NsYXNzX2luaXQpOgoJICAqIGV4dC9hcnRzZC9nc3RhcnRzZHNpbmsuYzogKGdzdF9hcnRzZHNpbmtfY2xhc3NfaW5pdCk6CgkgICogZXh0L2F1ZGlvZmlsZS9nc3RhZnNpbmsuYzogKGdzdF9hZnNpbmtfY2xhc3NfaW5pdCk6CgkgICogZXh0L2F1ZGlvZmlsZS9nc3RhZnNyYy5jOiAoZ3N0X2Fmc3JjX2NsYXNzX2luaXQpOgoJICAqIGV4dC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzoKCSAgKiBleHQvY2RhdWRpby9nc3RjZGF1ZGlvLmM6IChnc3RfY2RhdWRpb19jbGFzc19pbml0KToKCSAgKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6IChnc3RfZGZidmlkZW9zaW5rX2NsYXNzX2luaXQpOgoJICAqIGV4dC9kaXZ4L2dzdGRpdnhkZWMuYzogKGdzdF9kaXZ4ZGVjX2NsYXNzX2luaXQpOgoJICAqIGV4dC9oZXJtZXMvZ3N0aGVybWVzY29sb3JzcGFjZS5jOgoJICAoZ3N0X2hlcm1lc19jb2xvcnNwYWNlX2NsYXNzX2luaXQpOgoJICAqIGV4dC9pdm9yYmlzL3ZvcmJpc2ZpbGUuYzogKGdzdF9pdm9yYmlzZmlsZV9jbGFzc19pbml0KToKCSAgKiBleHQvamFjay9nc3RqYWNrLmM6IChnc3RfamFja19jbGFzc19pbml0KToKCSAgKiBleHQvamFjay9nc3RqYWNrYmluLmM6IChnc3RfamFja19iaW5fY2xhc3NfaW5pdCk6CgkgICogZXh0L2xjcy9nc3Rjb2xvcnNwYWNlLmM6IChnc3RfY29sb3JzcGFjZV9jbGFzc19pbml0KToKCSAgKiBleHQvbGliZmFtZS9nc3RsaWJmYW1lLmM6IChnc3RfZmFtZWVuY19jbGFzc19pbml0KToKCSAgKiBleHQvbXVzaWNicmFpbnovZ3N0dHJtLmM6IChnc3RfbXVzaWNicmFpbnpfY2xhc3NfaW5pdCk6CgkgICogZXh0L25hcy9uYXNzaW5rLmM6IChnc3RfbmFzc2lua19jbGFzc19pbml0KToKCSAgKiBleHQvc2hvdXQvZ3N0c2hvdXQuYzogKGdzdF9pY2VjYXN0c2VuZF9jbGFzc19pbml0KToKCSAgKiBleHQvc25hcHNob3QvZ3N0c25hcHNob3QuYzogKGdzdF9zbmFwc2hvdF9jbGFzc19pbml0KToKCSAgKiBleHQvc25kZmlsZS9nc3RzZi5jOiAoZ3N0X3NmX2NsYXNzX2luaXQpOgoJICAqIGV4dC9zd2ZkZWMvZ3N0c3dmZGVjLmM6IChnc3Rfc3dmZGVjYnVmZmVyX2NsYXNzX2luaXQpLAoJICAoZ3N0X3N3ZmRlY19jbGFzc19pbml0KToKCSAgKiBleHQvdGFya2luL2dzdHRhcmtpbmRlYy5jOiAoZ3N0X3RhcmtpbmRlY19jbGFzc19pbml0KToKCSAgKiBleHQvdGFya2luL2dzdHRhcmtpbmVuYy5jOiAoZ3N0X3RhcmtpbmVuY19jbGFzc19pbml0KToKCSAgKiBnc3QvY2R4YXBhcnNlL2dzdGNkeGFzdHJpcC5jOiAoZ3N0X2NkeGFzdHJpcF9jbGFzc19pbml0KToKCSAgKiBnc3QvY2hhcnQvZ3N0Y2hhcnQuYzogKGdzdF9jaGFydF9jbGFzc19pbml0KToKCSAgKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlLmM6IChnc3RfY29sb3JzcGFjZV9jbGFzc19pbml0KToKCSAgKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzogKGdzdF9kZWludGVybGFjZV9jbGFzc19pbml0KToKCSAgKiBnc3QvZmVzdGl2YWwvZ3N0ZmVzdGl2YWwuYzogKGdzdF9mZXN0aXZhbF9jbGFzc19pbml0KToKCSAgKiBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuYzogKGdzdF9icHdzaW5jX2NsYXNzX2luaXQpOgoJICAqIGdzdC9maWx0ZXIvZ3N0aWlyLmM6IChnc3RfaWlyX2NsYXNzX2luaXQpOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOiAoZ3N0X2xwd3NpbmNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2xpYnJmYi9nc3RyZmJzcmMuYzogKGdzdF9yZmJzcmNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L21peG1hdHJpeC9taXhtYXRyaXguYzogKGdzdF9taXhtYXRyaXhfY2xhc3NfaW5pdCk6CgkgICogZ3N0L21wZWcxc3lzL2dzdG1wZWcxc3lzdGVtZW5jb2RlLmM6CgkgIChnc3Rfc3lzdGVtX2VuY29kZV9jbGFzc19pbml0KToKCSAgKiBnc3QvbXBlZzF2aWRlb3BhcnNlL2dzdG1wMXZpZGVvcGFyc2UuYzoKCSAgKGdzdF9tcDF2aWRlb3BhcnNlX2NsYXNzX2luaXQpOgoJICAqIGdzdC9tcGVnMnN1Yi9nc3RtcGVnMnN1YnQuYzogKGdzdF9tcGVnMnN1YnRfY2xhc3NfaW5pdCk6CgkgICogZ3N0L21wZWdhdWRpb3BhcnNlL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkgIChnc3RfbXAzcGFyc2VfY2xhc3NfaW5pdCk6CgkgICogZ3N0L292ZXJsYXkvZ3N0b3ZlcmxheS5jOiAoZ3N0X292ZXJsYXlfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3Bhc3N0aHJvdWdoL2dzdHBhc3N0aHJvdWdoLmM6IChwYXNzdGhyb3VnaF9jbGFzc19pbml0KToKCSAgKiBnc3QvcGxheW9uZGVtYW5kL2dzdHBsYXlvbmRlbWFuZC5jOiAocGxheV9vbl9kZW1hbmRfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3J0anBlZy9nc3RydGpwZWdkZWMuYzogKGdzdF9ydGpwZWdkZWNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3J0anBlZy9nc3RydGpwZWdlbmMuYzogKGdzdF9ydGpwZWdlbmNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3Ntb290aC9nc3RzbW9vdGguYzogKGdzdF9zbW9vdGhfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3Ntb290aHdhdmUvZ3N0c21vb3Rod2F2ZS5jOiAoZ3N0X3Ntb290aHdhdmVfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IChnc3Rfc3BlY3RydW1fY2xhc3NfaW5pdCk6CgkgICogZ3N0L3N0ZXJlby9nc3RzdGVyZW8uYzogKGdzdF9zdGVyZW9fY2xhc3NfaW5pdCk6CgkgICogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guYzogKGdzdF9zd2l0Y2hfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3R0YS9nc3R0dGFkZWMuYzogKGdzdF90dGFfZGVjX2NsYXNzX2luaXQpOgoJICAqIGdzdC90dGEvZ3N0dHRhcGFyc2UuYzogKGdzdF90dGFfcGFyc2VfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3ZiaWRlYy9nc3R2YmlkZWMuYzogKGdzdF92YmlkZWNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuYzogKGdzdF92aWRlb19jcm9wX2NsYXNzX2luaXQpOgoJICAqIGdzdC92aXJ0dWFsZHViL2dzdHhzaGFycGVuLmM6IChnc3RfeHNoYXJwZW5fY2xhc3NfaW5pdCk6CgkgICogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzogKGdzdF95NG1lbmNvZGVfY2xhc3NfaW5pdCk6CgkgICogc3lzL2Nkcm9tL2dzdGNkcGxheWVyLmM6IChjZHBsYXllcl9jbGFzc19pbml0KToKCSAgKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkgIChnc3RfZGlyZWN0c291bmRzaW5rX2NsYXNzX2luaXQpOgoJICAqIHN5cy9keHIzL2R4cjNhdWRpb3NpbmsuYzogKGR4cjNhdWRpb3NpbmtfY2xhc3NfaW5pdCk6CgkgICogc3lzL2R4cjMvZHhyM3NwdXNpbmsuYzogKGR4cjNzcHVzaW5rX2NsYXNzX2luaXQpOgoJICAqIHN5cy9keHIzL2R4cjN2aWRlb3NpbmsuYzogKGR4cjN2aWRlb3NpbmtfY2xhc3NfaW5pdCk6CgkgICogc3lzL3FjYW0vZ3N0cWNhbXNyYy5jOiAoZ3N0X3FjYW1zcmNfY2xhc3NfaW5pdCk6CgkgICogc3lzL3Y0bDIvZ3N0djRsMmNvbG9yYmFsYW5jZS5jOgoJICAoZ3N0X3Y0bDJfY29sb3JfYmFsYW5jZV9jaGFubmVsX2NsYXNzX2luaXQpOgoJICAqIHN5cy92NGwyL2dzdHY0bDJ0dW5lci5jOiAoZ3N0X3Y0bDJfdHVuZXJfY2hhbm5lbF9jbGFzc19pbml0KSwKCSAgKGdzdF92NGwyX3R1bmVyX25vcm1fY2xhc3NfaW5pdCk6CgkgICogc3lzL3hpbWFnZXNyYy94aW1hZ2VzcmMuYzogKGdzdF94aW1hZ2VzcmNfY2xhc3NfaW5pdCk6CgkgIEZpeCAjMzM3MzY1IChnX3R5cGVfY2xhc3NfcmVmIDwtPiBnX3R5cGVfY2xhc3NfcGVla19wYXJlbnQpCgoyMDA2LTA0LTA4IDE5OjA0OjAxICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBbTU9WRUQgRlJPTSBCQURdIGdzdC86IEZpeCBtb3JlIGJyb2tlbiBHT2JqZWN0IG1hY3JvcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlLmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmg6CgkgICogZ3N0L3Bhc3N0aHJvdWdoL2dzdHBhc3N0aHJvdWdoLmg6CgkgICogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuaDoKCSAgRml4IG1vcmUgYnJva2VuIEdPYmplY3QgbWFjcm9zCgoyMDA2LTA0LTA2IDExOjM1OjI2ICswMDAwICBqQGJvb3RsYWIub3JnIDxqQGJvb3RsYWIub3JnPgoKCSAgW01PVkVEIEZST00gQkFEXSBVbmlmeSB0aGUgbG9uZyBkZXNjcmlwdGlvbnMgaW4gdGhlIHBsdWdpbiBkZXRhaWxzICgjMzM3MjYzKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBqXiAgPGogYXQgYm9vdGxhYiBkb3Qgb3JnPgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmRlYy5jOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmVuYy5jOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YnBhcnNlLmM6CgkgICogZXh0L2FydHMvZ3N0X2FydHMuYzoKCSAgKiBleHQvYXJ0c2QvZ3N0YXJ0c2RzaW5rLmM6CgkgICogZXh0L2F1ZGlvZmlsZS9nc3RhZnBhcnNlLmM6CgkgICogZXh0L2F1ZGlvZmlsZS9nc3RhZnNpbmsuYzoKCSAgKiBleHQvYXVkaW9maWxlL2dzdGFmc3JjLmM6CgkgICogZXh0L2NkYXVkaW8vZ3N0Y2RhdWRpby5jOgoJICAqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzoKCSAgKiBleHQvZGl2eC9nc3RkaXZ4ZGVjLmM6CgkgICogZXh0L2RpdngvZ3N0ZGl2eGVuYy5jOgoJICAqIGV4dC9kdHMvZ3N0ZHRzZGVjLmM6IChnc3RfZHRzZGVjX2Jhc2VfaW5pdCk6CgkgICogZXh0L2ZhYWMvZ3N0ZmFhYy5jOiAoZ3N0X2ZhYWNfYmFzZV9pbml0KToKCSAgKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkgICogZXh0L2dzbS9nc3Rnc21kZWMuYzoKCSAgKiBleHQvZ3NtL2dzdGdzbWVuYy5jOgoJICAqIGV4dC9oZXJtZXMvZ3N0aGVybWVzY29sb3JzcGFjZS5jOgoJICAqIGV4dC9pdm9yYmlzL3ZvcmJpc2ZpbGUuYzoKCSAgKiBleHQvbGNzL2dzdGNvbG9yc3BhY2UuYzoKCSAgKiBleHQvbGliZmFtZS9nc3RsaWJmYW1lLmM6CgkgICogZXh0L2xpYm1tcy9nc3RtbXMuYzogKGdzdF9tbXNfYmFzZV9pbml0KToKCSAgKiBleHQvbXVzaWNicmFpbnovZ3N0dHJtLmM6IChnc3RfbXVzaWNicmFpbnpfYmFzZV9pbml0KToKCSAgKiBleHQvbmFzL25hc3NpbmsuYzogKGdzdF9uYXNzaW5rX2Jhc2VfaW5pdCk6CgkgICogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzoKCSAgKiBleHQvcG9seXAvcG9seXBzaW5rLmM6IChnc3RfcG9seXBzaW5rX2Jhc2VfaW5pdCk6CgkgICogZXh0L3NkbC9zZGxhdWRpb3NpbmsuYzoKCSAgKiBleHQvc2RsL3NkbHZpZGVvc2luay5jOgoJICAqIGV4dC9zaG91dC9nc3RzaG91dC5jOgoJICAqIGV4dC9zbmFwc2hvdC9nc3RzbmFwc2hvdC5jOgoJICAqIGV4dC9zbmRmaWxlL2dzdHNmLmM6CgkgICogZXh0L3Rhcmtpbi9nc3R0YXJraW5kZWMuYzoKCSAgKiBleHQvdGFya2luL2dzdHRhcmtpbmVuYy5jOgoJICAqIGV4dC90aGVvcmEvdGhlb3JhZGVjLmM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOiAoZ3N0X3dhdnBhY2tfZGVjX2Jhc2VfaW5pdCk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IChnc3Rfd2F2cGFja19wYXJzZV9iYXNlX2luaXQpOgoJICAqIGV4dC94dmlkL2dzdHh2aWRkZWMuYzoKCSAgKiBleHQveHZpZC9nc3R4dmlkZW5jLmM6CgkgICogZ3N0L2NkeGFwYXJzZS9nc3RjZHhhcGFyc2UuYzogKGdzdF9jZHhhX3BhcnNlX2Jhc2VfaW5pdCk6CgkgICogZ3N0L2NkeGFwYXJzZS9nc3RjZHhhc3RyaXAuYzogKGdzdF9jZHhhc3RyaXBfYmFzZV9pbml0KToKCSAgKiBnc3QvY2hhcnQvZ3N0Y2hhcnQuYzoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOiAoZ3N0X2lpcl9lcXVhbGl6ZXJfYmFzZV9pbml0KToKCSAgKiBnc3QvZmVzdGl2YWwvZ3N0ZmVzdGl2YWwuYzoKCSAgKiBnc3QvZmlsdGVyL2dzdGlpci5jOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOgoJICAqIGdzdC9mcmVlemUvZ3N0ZnJlZXplLmM6CgkgICogZ3N0L2dhbWVzL2dzdHB1enpsZS5jOiAoZ3N0X3B1enpsZV9iYXNlX2luaXQpOgoJICAqIGdzdC9taXhtYXRyaXgvbWl4bWF0cml4LmM6CgkgICogZ3N0L21wZWcxc3lzL2dzdG1wZWcxc3lzdGVtZW5jb2RlLmM6CgkgICogZ3N0L21wZWcxdmlkZW9wYXJzZS9nc3RtcDF2aWRlb3BhcnNlLmM6CgkgICogZ3N0L21wZWcyc3ViL2dzdG1wZWcyc3VidC5jOgoJICAqIGdzdC9tcGVnYXVkaW9wYXJzZS9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJICAqIGdzdC9tdWx0aWZpbGVzaW5rL2dzdG11bHRpZmlsZXNpbmsuYzoKCSAgKiBnc3Qvb3ZlcmxheS9nc3RvdmVybGF5LmM6CgkgICogZ3N0L3Bhc3N0aHJvdWdoL2dzdHBhc3N0aHJvdWdoLmM6CgkgICogZ3N0L3BsYXlvbmRlbWFuZC9nc3RwbGF5b25kZW1hbmQuYzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgICogZ3N0L3J0anBlZy9nc3RydGpwZWdkZWMuYzoKCSAgKiBnc3QvcnRqcGVnL2dzdHJ0anBlZ2VuYy5jOgoJICAqIGdzdC9zbW9vdGgvZ3N0c21vb3RoLmM6CgkgICogZ3N0L3R0YS9nc3R0dGFkZWMuYzogKGdzdF90dGFfZGVjX2Jhc2VfaW5pdCk6CgkgICogZ3N0L3R0YS9nc3R0dGFwYXJzZS5jOiAoZ3N0X3R0YV9wYXJzZV9iYXNlX2luaXQpOgoJICAqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmM6CgkgICogZ3N0L3ZpZGVvZHJvcC9nc3R2aWRlb2Ryb3AuYzoKCSAgKiBnc3QvdmlydHVhbGR1Yi9nc3R4c2hhcnBlbi5jOgoJICAqIGdzdC94aW5naGVhZGVyL2dzdHhpbmdtdXguYzogKGdzdF94aW5nX211eF9iYXNlX2luaXQpOgoJICAqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6CgkgIFVuaWZ5IHRoZSBsb25nIGRlc2NyaXB0aW9ucyBpbiB0aGUgcGx1Z2luIGRldGFpbHMgKCMzMzcyNjMpLgoKMjAwNi0wNC0wMSAxMDowOToxMSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOgoJICBbTU9WRUQgRlJPTSBCQURdIHJld29yayBidWlsZDsgYWRkIHRyYW5zbGF0aW9ucyBmb3IgdjRsMgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmV3b3JrIGJ1aWxkOyBhZGQgdHJhbnNsYXRpb25zIGZvciB2NGwyCgoyMDA1LTA5LTA1IDE3OjIwOjI5ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRF0gRml4IHVwIGFsbCB0aGUgc3RhdGUgY2hhbmdlIGZ1bmN0aW9ucy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEZpeCB1cCBhbGwgdGhlIHN0YXRlIGNoYW5nZSBmdW5jdGlvbnMuCgoyMDA1LTA3LTA1IDEwOjUxOjQ5ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJICBbTU9WRUQgRlJPTSBCQURdIFdheSwgd2F5LCB3YXkgdG9vIG1hbnkgZmlsZXM6IFJlbW92ZSBjcmFjayBjb21tZW50IGZyb20gdGhlIDIwMDAgZXJhLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0wNy0wNSAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBXYXksIHdheSwgd2F5IHRvbyBtYW55IGZpbGVzOgoJICBSZW1vdmUgY3JhY2sgY29tbWVudCBmcm9tIHRoZSAyMDAwIGVyYS4KCjIwMDUtMDEtMTQgMTg6MzY6NDIgKzAwMDAgIFN0w6lwaGFuZSBMb2V1aWxsZXQgPGdzdHJlYW1lckBsZXJvdXRpZXIubmV0PgoKCSAgW01PVkVEIEZST00gQkFEXSBJJ20gYSBiYWQgYm95LiB1c2luZyAvMTAwMS4gdG8gZm9yY2UgQyB0byBkbyBmbG9hdCBkaXZpc2lvbiBhbmQgbm90IGludGVnZXIgZGl2aXNpb24gKGFzIGl0IGRpZCBpbiBteSBsYXN0IGNvbW1pdCkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2R2L2dzdGR2ZGVjLmM6CgkgICogZ3N0L3N1YnBhcnNlL2dzdHN1YnBhcnNlLmM6IChwYXJzZV9tZHZkc3ViKToKCSAgKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOiAoZ3N0X3k0bWVuY29kZV9zaW5rY29ubmVjdCk6CgkgIEknbSBhIGJhZCBib3kuIHVzaW5nIC8xMDAxLiB0byBmb3JjZSBDIHRvIGRvIGZsb2F0IGRpdmlzaW9uCgkgIGFuZCBub3QgaW50ZWdlciBkaXZpc2lvbiAoYXMgaXQgZGlkIGluIG15IGxhc3QgY29tbWl0KQoJICBUaGFua3MgdG8gRGF2aWQgSS4gTGVobiBmb3IgcG9pbnRpbmcgdGhpcyBtaXN0YWtlLgoKMjAwNS0wMS0xNCAxMjoyNzoyMiArMDAwMCAgU3TDqXBoYW5lIExvZXVpbGxldCA8Z3N0cmVhbWVyQGxlcm91dGllci5uZXQ+CgoJICBbTU9WRUQgRlJPTSBCQURdIHJlcGxhY2UgZnJhbWVyYXRlIGFwcm94aW1hdGlvbnMgYnkgdGhlaXIgcmVhbCB2YWx1ZSAoMjQwMDAvMTAwMSwgMzAwMDAvMTAwMSwgNjAwMDAvMTAwMSkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2R2L2dzdGR2ZGVjLmM6CgkgICogZXh0L2xpYmZhbWUvZ3N0bGliZmFtZS5jOgoJICAqIGdzdC9zdWJwYXJzZS9nc3RzdWJwYXJzZS5jOiAocGFyc2VfbWR2ZHN1Yik6CgkgICogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzogKGdzdF95NG1lbmNvZGVfc2lua2Nvbm5lY3QpOgoJICByZXBsYWNlIGZyYW1lcmF0ZSBhcHJveGltYXRpb25zIGJ5IHRoZWlyIHJlYWwgdmFsdWUKCSAgKDI0MDAwLzEwMDEsIDMwMDAwLzEwMDEsIDYwMDAwLzEwMDEpCgkgIEZpbmlzaCBmaXhpbmcgYnVnICMxNjQwNDkKCjIwMDQtMDctMjcgMjE6NDE6MzAgKzAwMDAgIFN0ZXZlIExob21tZSA8c3RldmUubGhvbW1lQGZyZWUuZnI+CgoJKiBnc3QveTRtL3k0bWVuYy52Y3Byb2o6CgkgIFtNT1ZFRCBGUk9NIEJBRF0gbW9yZSB3b3JraW5nIHBsdWdpbnMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIG1vcmUgd29ya2luZyBwbHVnaW5zCgoyMDA0LTA3LTI3IDA5OjU3OjMzICswMDAwICBTdGV2ZSBMaG9tbWUgPHN0ZXZlLmxob21tZUBmcmVlLmZyPgoKCSogZ3N0L3k0bS95NG1lbmMudmNwcm9qOgoJICBbTU9WRUQgRlJPTSBCQURdIHJlbmFtZSBHU3RyZWFtZXItMC44LmxpYiB0byBsaWJnc3RyZWFtZXIubGliCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZW5hbWUgR1N0cmVhbWVyLTAuOC5saWIgdG8gbGliZ3N0cmVhbWVyLmxpYgoKMjAwNC0wNy0yNyAwOTo0ODo1MSArMDAwMCAgU3RldmUgTGhvbW1lIDxzdGV2ZS5saG9tbWVAZnJlZS5mcj4KCgkqIGdzdC95NG0veTRtZW5jLnZjcHJvajoKCSAgW01PVkVEIEZST00gQkFEXSBhdm9pZCBwcm9ibGVtcyB3aXRoIG1hdGguaCwgZml4IHJlbGVhc2UgZGVwZW5kYW5jeQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYXZvaWQgcHJvYmxlbXMgd2l0aCBtYXRoLmgsIGZpeCByZWxlYXNlIGRlcGVuZGFuY3kKCjIwMDQtMDctMjYgMTM6MjA6MTEgKzAwMDAgIFN0ZXZlIExob21tZSA8c3RldmUubGhvbW1lQGZyZWUuZnI+CgoJKiBnc3QveTRtL3k0bWVuYy52Y3Byb2o6CgkgIFtNT1ZFRCBGUk9NIEJBRF0gbW9yZSBwbHVnaW5zIHN1cHBvcnRlZCB1bmRlciB3aW5kb3dzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBtb3JlIHBsdWdpbnMgc3VwcG9ydGVkIHVuZGVyIHdpbmRvd3MKCjIwMDQtMDQtMDEgMTE6NDg6MjcgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzoKCSAgW01PVkVEIEZST00gQkFEXSBhNTJkZWM6ICAgVXNlIGEgZGVidWcgY2F0ZWdvcnksIE91dHB1dCB0aW1lc3RhbXBzIGNvcnJlY3RseQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYTUyZGVjOiAgIFVzZSBhIGRlYnVnIGNhdGVnb3J5LCBPdXRwdXQgdGltZXN0YW1wcyBjb3JyZWN0bHkKCSAgRW1pdCB0YWcgaW5mbywgSGFuZGxlIGV2ZW50cywgdGVsbCBsaWJhNTJkZWMgYWJvdXQgY3B1CgkgIGNhcGFiaWxpdGllcyBzbyBpdCBjYW4gdXNlIE1NWCBldGMuCgkgIGR2ZGVjOiAgICBGaXggYSBjcmFzaGVyIGFjY2Vzc2luZyBpbnZhbGlkIG1lbW9yeQoJICBkdmRuYXZzcmM6U29tZSBzdXBwb3J0IGZvciBieXRlLWZvcm1hdCBzZWVraW5nLgoJICBTbWFsbCBmaXhlcyBmb3Igc3RpbGwgZnJhbWVzIGFuZCBtZW51IGJ1dHRvbiBvdmVybGF5cwoJICBtcGVnMmRlYzogVXNlIGEgZGVidWcgY2F0ZWdvcnkuIEFkanVzdCB0aGUgcmVwb3J0IGxldmVsIG9mIHNldmVyYWwgaXRlbXMgdG8KCSAgTE9HLiBDYWxsIG1wZWcyX2N1c3RvbV9mYnVmIHRvIG1hcmsgb3VyIGJ1ZmZlcnMgYXMgJ2N1c3RvbSBidWZmZXJzJwoJICBzbyBpdCBkb2Vzbid0IGxvc2UgdGhlIEdzdEJ1ZmZlciBwb2ludGVyCgkgIG5hdnNlZWs6ICBBZGQgdGhlIG5hdnNlZWsgZGVidWcgZWxlbWVudCBmb3Igc2Vla2luZyBiYWNrIGFuZCBmb3J0aCBpbiBhCgkgIHZpZGVvIHN0cmVhbSB1c2luZyBhcnJvdyBrZXlzLgoJICBtcGVnMnN1YnQ6UHJldHR5IG11Y2ggYSBjb21wbGV0ZSByZXdyaXRlLiBOb3cgYSBsb29wYmFzZWQgZWxlbWVudC4gTWF5IHN0aWxsCgkgIHJlcXVpcmUgd29yayB0byBwcm9wZXJseSBzeW5jaHJvbmlzZSBzdWJ0aXRsZSBidWZmZXJzLgoJICBtcGVnZGVtdXg6CgkgIGR2ZGRlbXV4OiBEb24ndCBhdHRlbXB0IHRvIGNyZWF0ZSBzdWJidWZmZXJzIG9mIHNpemUgMAoJICBSZWR1Y2UgYSBjb3VwbGUgb2YgZXJyb3Igb3V0cHV0cyB0byB3YXJuaW5ncy4KCSAgeTRtZW5jb2RlOk91dHB1dCB0aGUgeTRtIGZyYW1lIGhlYWRlciBjb3JyZWN0bHkKCjIwMDQtMDMtMTUgMTk6MzI6MjcgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzoKCSAgW01PVkVEIEZST00gQkFEXSBkb24ndCBtaXggdGFicyBhbmQgc3BhY2VzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBkb24ndCBtaXggdGFicyBhbmQgc3BhY2VzCgoyMDA0LTAzLTE1IDE2OjMyOjU0ICswMDAwICBKb2hhbiBEYWhsaW4gPGpvaGFuQGdub21lLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEJBRF0gKi5oOiBSZXZlcnQgaW5kZW50aW5nCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqICouaDogUmV2ZXJ0IGluZGVudGluZwoKMjAwNC0wMy0xNCAyMjozNDozMyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOgoJKiBnc3QveTRtL2dzdHk0bWVuY29kZS5oOgoJICBbTU9WRUQgRlJPTSBCQURdIGdzdC1pbmRlbnQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGdzdC1pbmRlbnQKCjIwMDQtMDEtMTIgMDI6MDE6NTIgKzAwMDAgIEJlbmphbWluIE90dGUgPG90dGVAZ25vbWUub3JnPgoKCSAgW01PVkVEIEZST00gQkFEXSBnc3QtbGlicy9nc3QvdmlkZW8vdmlkZW8uaDogRml4IGNhcHMgdGVtcGxhdGUgbmFtZXMgdG8gYmUgdW5kZXJzdGFuZGFibGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA0LTAxLTEyICBCZW5qYW1pbiBPdHRlICA8aW43eTExOEBwdWJsaWMudW5pLWhhbWJ1cmcuZGU+CgkgICogZ3N0LWxpYnMvZ3N0L3ZpZGVvL3ZpZGVvLmg6CgkgIEZpeCBjYXBzIHRlbXBsYXRlIG5hbWVzIHRvIGJlIHVuZGVyc3RhbmRhYmxlLgoJICBQcmVmaXggZXZlcnl0aGluZyB3aXRoIEdTVF9WSURFTy4KCSAgKiBleHQvYWFsaWIvZ3N0YWFzaW5rLmM6CgkgICogZXh0L2RpdngvZ3N0ZGl2eGRlYy5jOgoJICAqIGV4dC9kaXZ4L2dzdGRpdnhlbmMuYzoKCSAgKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWYuYzoKCSAgKiBleHQvaGVybWVzL2dzdGNvbG9yc3BhY2UuYzogKGdzdF9jb2xvcnNwYWNlX2Jhc2VfaW5pdCk6CgkgICogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOiAocmF3X2NhcHNfZmFjdG9yeSk6CgkgICogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOiAocmF3X2NhcHNfZmFjdG9yeSk6CgkgICogZXh0L2xpYmNhY2EvZ3N0Y2FjYXNpbmsuYzoKCSAgKiBleHQvbGlicG5nL2dzdHBuZ2VuYy5jOiAocmF3X2NhcHNfZmFjdG9yeSk6CgkgICogZXh0L3NuYXBzaG90L2dzdHNuYXBzaG90LmM6CgkgICogZXh0L3N3ZmRlYy9nc3Rzd2ZkZWMuYzoKCSAgKiBleHQveHZpZC9nc3R4dmlkZGVjLmM6CgkgICogZXh0L3h2aWQvZ3N0eHZpZGVuYy5jOgoJICAqIGdzdC9jaGFydC9nc3RjaGFydC5jOgoJICAqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICAqIGdzdC9lZmZlY3R2L2dzdGVmZmVjdHYuYzoKCSAgKiBnc3QvZmx4L2dzdGZseGRlYy5jOiAoZ3N0X2ZseGRlY19sb29wKToKCSAgKiBnc3QvZ29vbS9nc3Rnb29tLmM6CgkgICogZ3N0L21lZGlhbi9nc3RtZWRpYW4uYzoKCSAgKiBnc3QvbW9ub3Njb3BlL2dzdG1vbm9zY29wZS5jOiAoZ3N0X21vbm9zY29wZV9pbml0KSwKCSAgKGdzdF9tb25vc2NvcGVfc3JjY29ubmVjdCksIChnc3RfbW9ub3Njb3BlX2NoYWluKToKCSAgKiBnc3Qvb3ZlcmxheS9nc3RvdmVybGF5LmM6CgkgICogZ3N0L3Ntb290aC9nc3RzbW9vdGguYzoKCSAgKiBnc3Qvc21wdGUvZ3N0c21wdGUuYzoKCSAgKiBnc3Qvc3luYWVzdGhlc2lhL2dzdHN5bmFlc3RoZXNpYS5jOgoJICAqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmM6CgkgICogZ3N0L3ZpZGVvZHJvcC9nc3R2aWRlb2Ryb3AuYzoKCSAgKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOgoJICAqIHN5cy9xY2FtL2dzdHFjYW1zcmMuYzoKCSAgKiBzeXMvdjRsL2dzdHY0bHNyYy5jOiAoZ3N0X3Y0bHNyY19wYWxldHRlX3RvX2NhcHMpOgoJICBNYWtlIHRoZW0gd29yayB3aXRoIG5ldyB2aWRlby5oIGZpbGUuCgkgICogc3lzL3hpbWFnZS94aW1hZ2VzaW5rLmM6IChnc3RfeGltYWdlc2lua19jaGFpbiksCgkgIChnc3RfeGltYWdlc2lua19idWZmZXJfZnJlZSksIChnc3RfeGltYWdlc2lua19idWZmZXJfYWxsb2MpOgoJICAqIHN5cy94dmltYWdlL3h2aW1hZ2VzaW5rLmM6IChnc3RfeHZpbWFnZXNpbmtfY2hhaW4pLAoJICAoZ3N0X3h2aW1hZ2VzaW5rX2J1ZmZlcl9mcmVlKSwgKGdzdF94dmltYWdlc2lua19idWZmZXJfYWxsb2MpOgoJICBNYWtlIGl0IHdvcmsgd2l0aCBuZXcgYnVmZmVyIGFsbG9jYXRpb24gc3lzdGVtLgoKMjAwMy0xMi0yMiAwMTo0NzowOSArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOgoJICBbTU9WRUQgRlJPTSBCQURdIE1lcmdlIENBUFMgYnJhbmNoCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBNZXJnZSBDQVBTIGJyYW5jaAoKMjAwMy0xMi0wNCAxMDozNzozOCArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzoKCSAgW01PVkVEIEZST00gQkFEXSByZW1vdmUgY29weXJpZ2h0IGZpZWxkIGZyb20gcGx1Z2lucwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmVtb3ZlIGNvcHlyaWdodCBmaWVsZCBmcm9tIHBsdWdpbnMKCjIwMDMtMTEtMTYgMjI6MDI6MjMgKzAwMDAgIExlaWYgSm9obnNvbiA8bGVpZkBhbWJpZW50LjJ5Lm5ldD4KCgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRF0gKyBjaGVja2luZyBpbiBwbHVnaW4gY2F0ZWdvcnkgY2hhbmdlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKyBjaGVja2luZyBpbiBwbHVnaW4gY2F0ZWdvcnkgY2hhbmdlcwoKMjAwMy0xMS0wNyAxMjo0NzowMiArMDAwMCAgUm9uYWxkIFMuIEJ1bHRqZSA8cmJ1bHRqZUByb25hbGQuYml0ZnJlYWsubmV0PgoKCSogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuaDoKCSAgW01PVkVEIEZST00gQkFEXSBSZW1vdmUgYWxsIGNvbmZpZy5oIGluY2x1ZGVzIGZyb20gaGVhZGVyIGZpbGVzLCBhZGQgaXQgdG8gZWFjaCBzb3VyY2UgZmlsZSBhbmQgcmVtb3ZlIGR1cGxpY2F0ZSBjb25maWcuaCBpbmNsdWRlcyBmcm8uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFJlbW92ZSBhbGwgY29uZmlnLmggaW5jbHVkZXMgZnJvbSBoZWFkZXIgZmlsZXMsIGFkZCBpdCB0byBlYWNoIHNvdXJjZSBmaWxlIGFuZCByZW1vdmUgZHVwbGljYXRlIGNvbmZpZy5oIGluY2x1ZGVzIGZyb20gc2V2ZXJhbCBzb3VyY2UgZmlsZXMKCjIwMDMtMTEtMDIgMTk6MTc6MjcgKzAwMDAgIEJlbmphbWluIE90dGUgPG90dGVAZ25vbWUub3JnPgoKCSogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzoKCSAgW01PVkVEIEZST00gQkFEXSBmaXggdG8gbmV3IHBsdWdpbiBzeXN0ZW0KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGZpeCB0byBuZXcgcGx1Z2luIHN5c3RlbQoKMjAwMy0xMC0wOCAxNjowODoxOSArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzoKCSAgW01PVkVEIEZST00gQkFEXSAvR3N0QnVmZmVyL0dzdERhdGEvIGluIHRoZSBBUEkgd2hlcmUgeW91IGNhbiBwYXNzIGV2ZW50cy4gRml4IHRoZSBwbHVnaW5zIHRvIGRlYWwgd2l0aCB0aGF0LiBGaXhlcyAjMTEzNDg4LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgL0dzdEJ1ZmZlci9Hc3REYXRhLyBpbiB0aGUgQVBJIHdoZXJlIHlvdSBjYW4gcGFzcyBldmVudHMuIEZpeCB0aGUgcGx1Z2lucyB0byBkZWFsIHdpdGggdGhhdC4gRml4ZXMgIzExMzQ4OC4KCjIwMDMtMDgtMTAgMDA6MDE6NTggKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L3k0bS9NYWtlZmlsZS5hbToKCSAgW01PVkVEIEZST00gQkFEXSBSZW1vdmUgcmVkdW5kYW50IHBsdWdpbmRpciBkZWZpbml0aW9uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBSZW1vdmUgcmVkdW5kYW50IHBsdWdpbmRpciBkZWZpbml0aW9uCgoyMDAzLTA3LTA2IDIwOjQ5OjUyICswMDAwICBSb25hbGQgUy4gQnVsdGplIDxyYnVsdGplQHJvbmFsZC5iaXRmcmVhay5uZXQ+CgoJKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOgoJKiBnc3QveTRtL2dzdHk0bWVuY29kZS5oOgoJICBbTU9WRUQgRlJPTSBCQURdIE5ldyBtaW1ldHlwZXMgZ29uZSBpbnRvIGVmZmVjdCB0b2RheSAtIHRoaXMgY29tbWl0IGNoYW5nZXMgYWxsIG9sZCBtaW1ldHlwZXMgb3ZlciB0byB0aGUgbmV3IG1pbWV0eXBlcyBzcGVjIGFzIGRlc2NyaS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgTmV3IG1pbWV0eXBlcyBnb25lIGludG8gZWZmZWN0IHRvZGF5IC0gdGhpcyBjb21taXQgY2hhbmdlcyBhbGwgb2xkIG1pbWV0eXBlcyBvdmVyIHRvIHRoZSBuZXcgbWltZXR5cGVzIHNwZWMgYXMgZGVzY3JpYmVkIGluIHRoZSBwcmV2aW91cyBjb21taXQncyBkb2N1bWVudC4gTm90ZTogc29tZSBwbHVnaW5zIHdpbGwgYnJlYWssIHNvbWUgcGlwZWxpbmVzIHdpbGwgYnJlYWssIGV4cGVjdCBIRUFEIHRvIGJlIGJyb2tlbiBvciBhdCBsZWFzdCBub3QgMTAwJSB3b3JraW5nIGZvciBhIGZldyBkYXlzLCBidXQgZG9uJ3QgZm9yZ2V0IHRvIHJlcG9ydCBidWdzCgoyMDAzLTA2LTI5IDE5OjQ2OjEzICswMDAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQGdub21lLm9yZz4KCgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRF0gY29tcGF0aWJpbGl0eSBmaXggZm9yIG5ldyBHU1RfREVCVUcgc3R1ZmYuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBjb21wYXRpYmlsaXR5IGZpeCBmb3IgbmV3IEdTVF9ERUJVRyBzdHVmZi4KCSAgSW5jbHVkZXMgZml4ZXMgZm9yIG1pc3NpbmcgaW5jbHVkZXMgZm9yIGNvbmZpZy5oIGFuZCB1bmlzdGQuaAoJICBJIG9ubHkgZW5zdXJlZCBmb3IgcGx1Z2lucyBJIGNhbiBidWlsZCB0aGF0IHRoZXkgd29yaywgc28gaWYgc29tZSBvZiB0aGVtIGFyZSBzdGlsbCBicm9rZW4sIHlvdSBnb3R0YSBmaXggdGhlbSB5b3Vyc2VsdmVzIHVuZm9ydHVuYXRlbHkuCgoyMDAzLTAxLTEwIDEzOjM4OjMyICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRF0gUGFkQ29ubmVjdCAtPiBQYWRMaW5rCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYWRDb25uZWN0IC0+IFBhZExpbmsKCjIwMDMtMDEtMTAgMTA6MjI6MjUgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzoKCSAgW01PVkVEIEZST00gQkFEXSBhbm90aGVyIGJhdGNoIG9mIGNvbm5lY3QtPmxpbmsgZml4ZXMgcGxlYXNlIGxldCBtZSBrbm93IGFib3V0IGlzc3VlcyBhbmQgcGxlYXNlIHJlZnJhaW4gb2YgbWFraW5nIHRoZW0geW91cnNlbGYsIHNvIHQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGFub3RoZXIgYmF0Y2ggb2YgY29ubmVjdC0+bGluayBmaXhlcwoJICBwbGVhc2UgbGV0IG1lIGtub3cgYWJvdXQgaXNzdWVzCgkgIGFuZCBwbGVhc2UgcmVmcmFpbiBvZiBtYWtpbmcgdGhlbSB5b3Vyc2VsZiwgc28gdGhhdCBJIGRvbid0IHNwZW5kIGRvdWJsZQoJICB0aGUgdGltZSByZXNvbHZpbmcgY29uZmxpY3RzCgoyMDAyLTEyLTA4IDE0OjUwOjEwICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGdzdC95NG0vTWFrZWZpbGUuYW06CgkgIFtNT1ZFRCBGUk9NIEJBRF0gcGFyYWxsZWwgaW5zdGFsbCBmaXhlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcGFyYWxsZWwgaW5zdGFsbCBmaXhlcwoKMjAwMi0wOS0xOCAxOTowMjo1MiArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzoKCSAgW01PVkVEIEZST00gQkFEXSBwbHVnaW5zIHBhcnQgb2YgbGljZW5zZSBmaWVsZCBwYXRjaAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcGx1Z2lucyBwYXJ0IG9mIGxpY2Vuc2UgZmllbGQgcGF0Y2gKCjIwMDItMDYtMTcgMTA6Mjk6MzAgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZ3N0L3k0bS9NYWtlZmlsZS5hbToKCSAgW01PVkVEIEZST00gQkFEXSBjb3NtZXRpYyBjaGFuZ2UKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGNvc21ldGljIGNoYW5nZQoKMjAwMi0wNS0wMyAwOTo1OToxMCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOgoJICBbTU9WRUQgRlJPTSBCQURdIHZhcmlvdXMgbmFtZSBmaXhlcyBhbmQgc3VuZHJ5CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB2YXJpb3VzIG5hbWUgZml4ZXMgYW5kIHN1bmRyeQoKMjAwMi0wNC0yMCAyMTo0Mjo1MSArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzoKCSAgW01PVkVEIEZST00gQkFEXSBhIGhhY2sgdG8gd29yayBhcm91bmQgaW50bHRvb2wncyBicm9rZW5uZXNzIGEgY3VycmVudCBjaGVjayBmb3IgbXBlZzJkZWMgZGV0YWlscy0+a2xhc3MgcmVvcmdhbml6YXRpb25zIGFuIGVsZW1lbnQgYnIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogYSBoYWNrIHRvIHdvcmsgYXJvdW5kIGludGx0b29sJ3MgYnJva2VubmVzcwoJICAqIGEgY3VycmVudCBjaGVjayBmb3IgbXBlZzJkZWMKCSAgKiBkZXRhaWxzLT5rbGFzcyByZW9yZ2FuaXphdGlvbnMKCSAgKiBhbiBlbGVtZW50IGJyb3dzZXIgdGhhdCB1c2VzIGRldGFpbHMtPmtsYXNzCgkgICogc2VwYXJhdGVkIGNkeGEgcGFyc2Ugb3V0IGZyb20gdGhlIGF2aSBkaXJlY3RvcnkKCjIwMDItMDQtMTEgMjA6NDI6MjYgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRF0gR3N0UGFkVGVtcGxhdGUgPC0+IGdzdF9wYWRfdGVtcGxhdGUgPC0+IEdTVF9QQURfVEVNUExBVEUgc2FtZSB3aXRoICpmYWN0b3J5IGFuZCB0eXBlZmluZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEdzdFBhZFRlbXBsYXRlIDwtPiBnc3RfcGFkX3RlbXBsYXRlIDwtPiBHU1RfUEFEX1RFTVBMQVRFCgkgIHNhbWUgd2l0aCAqZmFjdG9yeSBhbmQgdHlwZWZpbmQuCgkgIGFsc28sIHNvbWUgLVdlcnJvciBmaXhlcy4KCjIwMDItMDMtMzAgMTc6MDY6MjYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOgoJICBbTU9WRUQgRlJPTSBCQURdIENoYW5nZWQgdG8gdGhlIG5ldyBwcm9wcyBBUEkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIENoYW5nZWQgdG8gdGhlIG5ldyBwcm9wcyBBUEkKCSAgT3RoZXIgc21hbGwgdHVmZi4KCjIwMDItMDMtMjAgMjE6NDU6MDQgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6CgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmg6CgkgIFtNT1ZFRCBGUk9NIEJBRF0gcy9Hbm9tZS1TdHJlYW1lci9HU3RyZWFtZXIvCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBzL0dub21lLVN0cmVhbWVyL0dTdHJlYW1lci8KCjIwMDItMDMtMTkgMDQ6MTA6MDYgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkqIGdzdC95NG0vTWFrZWZpbGUuYW06CgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6CgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmg6CgkgIFtNT1ZFRCBGUk9NIEJBRF0gcmVtb3ZhbCBvZiAvLy1zdHlsZSBjb21tZW50cyBkb24ndCBsaW5rIHBsdWdpbnMgdG8gY29yZSBsaWJzIC0tIHRoZSB2ZXJzaW9uaW5nIGlzIGRvbmUgaW50ZXJuYWxseSB0byB0aGUgcGx1Z2lucyB3aXRoLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHJlbW92YWwgb2YgLy8tc3R5bGUgY29tbWVudHMKCSAgKiBkb24ndCBsaW5rIHBsdWdpbnMgdG8gY29yZSBsaWJzIC0tIHRoZSB2ZXJzaW9uaW5nIGlzIGRvbmUgaW50ZXJuYWxseSB0byB0aGUgcGx1Z2lucyB3aXRoIHRoZSBwbHVnaW5faW5mbyBzdHJ1Y3QsCgkgIGFuZCBzeW1ib2wgcmVzb2x1dGlvbiBpcyBsYXp5LCBzbyB3ZSBjYW4gYWx3YXlzIGtub3cgaWYgYSBwbHVnaW4gY2FuIGJlIGxvYWRlZCBieSB0aGUgcGx1Z2luX2luZm8gZGF0YS4gaW4gdGhlb3J5LgoKMjAwMi0wMy0xOSAwMTozOTo0MyArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSogZ3N0L3k0bS9NYWtlZmlsZS5hbToKCSAgW01PVkVEIEZST00gQkFEXSBzL0BHU1RfUExVR0lOX0xERkxBR1NALyQoR1NUX1BMVUdJTl9MREZMQUdTKS8gQC1zdWJzdGl0dWVkIHZhcmlhYmxlcyB2YXJpYWJsZXMgYXJlIGRlZmluZWQgYXMgbWFrZSB2YXJpYWJsZXMgYXV0b21hZ2kuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHMvQEdTVF9QTFVHSU5fTERGTEFHU0AvJChHU1RfUExVR0lOX0xERkxBR1MpLwoJICBALXN1YnN0aXR1ZWQgdmFyaWFibGVzIHZhcmlhYmxlcyBhcmUgZGVmaW5lZCBhcyBtYWtlIHZhcmlhYmxlcyBhdXRvbWFnaWNhbGx5LAoJICBhbmQgdGhpcyBnaXZlcyB0aGUgdXNlciB0aGUgZnJlZWRvbSB0byBzYXkgbWFrZSBHU1RfUExVR0lOX0xERkxBR1M9LW15ZmxhZwoKMjAwMi0wMS0xOCAxMTozNzoxOSArMDAwMCAgV3JvYmVsbCA8d3JvYmVsbEBpdGUucGw+CgoJKiBnc3QveTRtL01ha2VmaWxlLmFtOgoJICBbTU9WRUQgRlJPTSBCQURdIC0gcGx1Z2lucyBhcmUgYnVpbHQgd2l0aG91dCB2ZXJzaW9uaW5nIGluZm8KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIC0gcGx1Z2lucyBhcmUgYnVpbHQgd2l0aG91dCB2ZXJzaW9uaW5nIGluZm8KCjIwMDItMDEtMTMgMjI6Mjc6MjUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOgoJICBbTU9WRUQgRlJPTSBCQURdIEJyaW5nIHRoZSBwbHVnaW5zIGluIHN5bmMgd2l0aCB0aGUgbmV3IGNvcmUgY2Fwc25lZ28gc3lzdGVtLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQnJpbmcgdGhlIHBsdWdpbnMgaW4gc3luYyB3aXRoIHRoZSBuZXcgY29yZSBjYXBzbmVnbyBzeXN0ZW0uCgkgIEFkZGVkIHNvbWUgZmVhdHVyZXMsIGVuaGFuY2VtZW50cy4uLgoKMjAwMi0wMS0xMiAwMzozNDoyNyArMDAwMCAgRGF2aWQgSS4gTGVobiA8ZGxlaG5AdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSogZ3N0L3k0bS9NYWtlZmlsZS5hbToKCSAgW01PVkVEIEZST00gQkFEXSBzL2ZpbHRlci9wbHVnaW4vIGxpbmsgcGx1Z2lucyB0byBHU1RfTElCUyByZWFycmFuZ2UgcnVsZXMgdG8gYSBjb21tb24gZm9ybWF0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHMvZmlsdGVyL3BsdWdpbi8KCSAgKiBsaW5rIHBsdWdpbnMgdG8gR1NUX0xJQlMKCSAgKiByZWFycmFuZ2UgcnVsZXMgdG8gYSBjb21tb24gZm9ybWF0CgoyMDAxLTEyLTIzIDIwOjIxOjIwICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGdzdC95NG0vTWFrZWZpbGUuYW06CgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRF0gbW9yZSBmaXhlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgbW9yZSBmaXhlcwoKMjAwMS0xMi0yMyAxMzoxNzozNiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBnc3QveTRtL01ha2VmaWxlLmFtOgoJKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOgoJKiBnc3QveTRtL2dzdHk0bWVuY29kZS5oOgoJICBbTU9WRUQgRlJPTSBCQURdIEJCQiBhc2tlZCBtZSB0byByZW5hbWUgbGF2IHRvIHk0bSBjYW4gc29tZW9uZSB3aG8ga25vd3MgdGhlIHBsdWdpbiBkbyB0aGlzIGluIHRoZSBzb3VyY2UgYXMgd2VsbCA/CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBCQkIgYXNrZWQgbWUgdG8gcmVuYW1lIGxhdiB0byB5NG0KCSAgY2FuIHNvbWVvbmUgd2hvIGtub3dzIHRoZSBwbHVnaW4gZG8gdGhpcyBpbiB0aGUgc291cmNlIGFzIHdlbGwgPwoKMjAwOS0wNS0xNSAxODoxNzozNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBwby9NYWtldmFyczoKCSAgcG86IGFkZCBNYWtldmFycyBtYWdpYyBzbyB3ZSBkb24ndCBnZXQgbGluZSBudW1iZXJzIGluICoucG8gZmlsZXMKCSAgVGhpcyBhdm9pZHMgdGhlIG51bWJlciBvbmUgcmVhc29uIGZvciBsb2NhbCBtb2RpZmljYXRpb25zIGluICoucG8KCSAgZmlsZXMgYW5kIGFuZCBtYWtlcyB0aGluZ3MgbGVzcyBhbm5veWluZyB3aGVuIHdvcmtpbmcgd2l0aCBnaXQgKG9yCgkgIGFueSBvdGhlciBWQ1MgZm9yIHRoYXQgbWF0dGVyKS4KCjIwMDktMDUtMTUgMTc6MTE6MjcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2lkM2RlbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NvdXBodHRwc3JjLmM6CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9mbGFjZGVjLmM6CgkqIHRlc3RzL2ZpbGVzL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9maWxlcy9hdWRpb3Rlc3RzcmMuZmxhYzoKCSogdGVzdHMvZmlsZXMvdGVzdC1jZXJ0LnBlbToKCSogdGVzdHMvZmlsZXMvdGVzdC1rZXkucGVtOgoJICBjaGVja3M6IG1vdmUgZmlsZXMgcmVxdWlyZWQgYnkgdW5pdCB0ZXN0cyBpbnRvIHRlc3RzL2ZpbGVzIGFuZCBtYWtlIHN1cmUgdGhleSdyZSBkaXN0ZWQKCSAgTW92ZSB1bml0IHRlc3QgZGF0YSBpbnRvIHRoZSBkaXJlY3Rvcnkgd2hlcmUgaXQgYmVsb25ncyBhbmQgbWFrZSBpbiBwYXJ0aWN1bGFyCgkgIHRoZSBmbGFjZGVjIHVuaXQgdGVzdCBjZCBpbnRvIHRoZSBkaXJlY3Rvcnkgd2l0aCB0aGUgdGVzdCBmaWxlcyBpbnN0ZWFkIG9mIG1ha2luZwoJICBhc3N1bXB0aW9ucyBhYm91dCB0aGUgY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeSBpbiB0aGF0IHVuaXQgdGVzdC4gQXMgYSBzaWRlIGVmZmVjdAoJICBvZiBtb3ZuZyB0aG9zZSBmaWxlcywgdGhlcmUncyBvbmx5IG9uZSBFWFRSQV9ESVNUIGluIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtIG5vdywKCSAgd2hpY2ggaXMgbGlrZWx5IHRvIHdvcmsgYmV0dGVyIHRoYW4gaGF2aW5nIHR3by4gSG9wZWZ1bGx5IGZpeGVzICM1ODI3NTMuCgoyMDA5LTA1LTE0IDIxOjQzOjE0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogSWYgdGhlIHVwc3RyZWFtIG1heCBsYXRlbmN5IGlzIHVuYm91bmQgcmV0dXJuIHVuYm91bmQgbWF4IGxhdGVuY3kKCSAgRml4ZXMgYnVnICM1ODI2NjEuCgoyMDA5LTA1LTE1IDA4OjQ0OjM5ICswMjAwICBKYW1lcyBBbmRyZXdhcnRoYSA8dHJzODBAdWNjLmd1LnV3YS5lZHUuYXU+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlcmN0cmwuYzoKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXJ0cmFjay5jOgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zcmMuYzoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJICBGaXggY29tcGlsZXIgd2FybmluZ3MKCSAgRml4ZXMgYnVnICM1ODI3MTUuCgoyMDA5LTA1LTEzIDIyOjQ2OjQ0ICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIFJlY292ZXJlZCBkZWJ1Z3V0aWxzIGxpbmUgYWNjaWRlbnRhbGx5IHJlbW92ZWQgaW4gZGVpbnRlcmxhY2UyIG1vdmUuCgoyMDA5LTA1LTEzIDEwOjQ2OjQwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZ3N0L2RlaW50ZXJsYWNlL01ha2VmaWxlLmFtOgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmg6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvZ3JlZWR5LmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvZ3JlZWR5aC5hc206CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvZ3JlZWR5aC5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2dyZWVkeWhtYWNyb3MuaDoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9saW5lYXIuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9saW5lYXJibGVuZC5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL21teC5oOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3BsdWdpbnMuaDoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9zY2FsZXJib2IuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9zc2UuaDoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS90b21zbW9jb21wLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wMEEuaW5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcEJvdHRvbS5pbmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wRWRnZUEuaW5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcEVkZ2VBOC5pbmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wT2RkQS5pbmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wT2RkQTIuaW5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcE9kZEE2LmluYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BPZGRBSC5pbmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wT2RkQUgyLmluYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BUb3AuaW5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcFZBLmluYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BWQUguaW5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3RvbXNtb2NvbXAvU3RyYW5nZUJvYi5pbmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvdG9tc21vY29tcC9Ub21zTW9Db21wQWxsLmluYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS90b21zbW9jb21wL1RvbXNNb0NvbXBBbGwyLmluYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS90b21zbW9jb21wL1dpZXJkQm9iLmluYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS90b21zbW9jb21wL3RvbXNtb2NvbXBtYWNyb3MuaDoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS92ZmlyLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvd2VhdmUuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS93ZWF2ZWJmZi5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3dlYXZldGZmLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUveDg2LTY0X21hY3Jvcy5pbmM6CgkgIE1vdmVkICdkZWludGVybGFjZTInIGZyb20gLWJhZCB0byAtZ29vZAoJICBBbmQgcmVuYW1lIGl0IHRvIGRlaW50ZXJsYWNlLgoKMjAwOS0wNS0wOCAxNTozOToyNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOgoJKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5oOgoJICBbTU9WRUQgRlJPTSBCQUQgNTYvNTZdIGRlaW50ZXJsYWNlMjogQWRkIGEgZGlzYWJsZWQgbW9kZSBmb3IgcGFzc3Rocm91Z2ggb3BlcmF0aW9uCgkgIEFsc28gYWxsb3cgdG8gY2hhbmdlIHRoZSBtb2RlIGluIFBBVVNFRCBhbmQgUExBWUlORyBieSB1cGRhdGluZwoJICB0aGUgY2FwcyBpZiBuZWNlc3NhcnkuCgoyMDA5LTA0LTIyIDE5OjQzOjIyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6CgkqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmg6CgkgIFtNT1ZFRCBGUk9NIEJBRCA1NS81Nl0gZGVpbnRlcmxhY2UyOiBBZGQgZG9jdW1lbnRhdGlvbiBhbmQgaW50ZWdyYXRlIGludG8gdGhlIGJ1aWxkIHN5c3RlbQoKMjAwOS0wNC0xOSAxNzoxODozNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOgoJICBbTU9WRUQgRlJPTSBCQUQgNTQvNTZdIGRlaW50ZXJsYWNlMjogTWFrZSBpdCBwb3NzaWJsZSB0byBzZWxlY3QgaW50ZXJsYWNpbmcgYXV0b2RldGVjdGlvbiBvciB0byBlbmZvcmUgZGVpbnRlcmxhY2luZwoJICBGb3IgdGhpcyBhZGQgYSAibW9kZSIgcHJvcGVydHkgdGhhdCBkZWZhdWx0cyB0byAiaW50ZXJsYWNlZCIgZm9yIG5vdyBhcwoJICBtb3N0IGRlY29kZXJzL2RlbXV4ZXJzIGRvbid0IHByb3Blcmx5IHNldCB0aGUgImludGVybGFjZWQiIGZpZWxkIG9uIHRoZQoJICBjYXBzIHlldC4KCSAgSWYgdGhpcyBwcm9wZXJ0eSBpcyBzZXQgdG8gImF1dG8iIHRoZSBlbGVtZW50IHdpbGwgd29yayBpbiBwYXNzdGhyb3VnaAoJICBtb2RlIHVubGVzcyB0aGUgY2FwcyBjb250YWluIHRoZSAiaW50ZXJsYWNlZCIgZmllbGQuCgoyMDA5LTA0LTE3IDE1OjM5OjU5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCA1My81Nl0gZGVpbnRlcmxhY2UyOiBVc2UgR1NUXyhERUJVR3xXQVJOSU5HfEVSUk9SKV9PQkpFQ1QgaW5zdGVhZCBvZiB0aGUgbm9uLU9CSkVDVCBvbmVzCgoyMDA5LTA0LTE3IDE1OjM5OjM2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCA1Mi81Nl0gZGVpbnRlcmxhY2UyOiBSZXNldCBoaXN0b3J5IGlmIERJU0NPTlQgaXMgc2V0IG9uIHRoZSBpbmNvbWluZyBidWZmZXIKCjIwMDktMDQtMTcgMTU6Mzk6MTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzoKCSAgW01PVkVEIEZST00gQkFEIDUxLzU2XSBkZWludGVybGFjZTI6IEZpeCB0aW1lc3RhbXBzIGZvciBidWZmZXJzIHdpdGggUkZGIGZsYWcgc2V0CgoyMDA5LTA0LTE2IDE3OjQxOjM3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6CgkqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmg6CgkqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeS5jOgoJKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHloLmM6CgkqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3NjYWxlcmJvYi5jOgoJKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1RvbXNNb0NvbXBBbGwuaW5jOgoJKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS93ZWF2ZS5jOgoJKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS93ZWF2ZWJmZi5jOgoJKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS93ZWF2ZXRmZi5jOgoJICBbTU9WRUQgRlJPTSBCQUQgNTAvNTZdIGRlaW50ZXJsYWNlMjogUmVuYW1lIGxpbmVfbGVuZ3RoIHRvIHJvd19zdHJpZGUgYW5kIHJlbW92ZSBvdXRwdXRfc3RyaWRlCgoyMDA5LTA0LTE2IDE1OjUyOjM5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCA0OS81Nl0gZGVpbnRlcmxhY2UyOiBJbXBsZW1lbnQgc3VwcG9ydCBmb3IgUkZGIGFuZCBPTkVGSUVMRCBidWZmZXIgZmxhZ3MKCjIwMDktMDQtMTUgMTU6NDY6NDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzoKCSogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuaDoKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5LmM6CgkqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWguYzoKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9Ub21zTW9Db21wQWxsLmluYzoKCSAgW01PVkVEIEZST00gQkFEIDQ4LzU2XSBkZWludGVybGFjZTI6IE1vdmUgb3V0cHV0IGJ1ZmZlciBmcm9tIHRoZSBpbnN0YW5jZSBzdHJ1Y3QgdG8gYSBmdW5jdGlvbiBwYXJhbWV0ZXIKCjIwMDktMDQtMTUgMTU6MzM6MTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzoKCSogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuaDoKCSAgW01PVkVEIEZST00gQkFEIDQ3LzU2XSBkZWludGVybGFjZTI6IEFkZCBpbml0aWFsIHN1cHBvcnQgZm9yIGF1dG9tYXRpYyBkZXRlY3Rpb24gb2YgdGhlIGZpZWxkIG9yZGVyCgoyMDA5LTA0LTE1IDE0OjQ3OjQ5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCA0Ni81Nl0gZGVpbnRlcmxhY2UyOiBBZGQgc3VwcG9ydCBmb3IgWVZZVSBjb2xvcnNwYWNlCgkgIFRoaXMgaXMgdGhlIHNhbWUgYXMgWVVZMiB3aXRoIGp1c3QgQ3IgYW5kIENiIHN3YXBwZWQuIEFzCgkgIHdlIGRvbid0IG1ha2UgYSBkaWZmZXJlbmNlIGJldHdlZW4gdGhlbSB3aGVuIGRlaW50ZXJsYWNpbmcKCSAgdGhpcyB3b3Jrcy4KCjIwMDgtMTEtMDYgMTQ6MDU6NTUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBbTU9WRUQgRlJPTSBCQUQgNDUvNTZdIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6IEJyaW5nIHByb3BlcnRpZXMgaW50byB0aGlzIGNlbnR1cnkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6CgkgIChnc3RfZGVpbnRlcmxhY2UyX2NsYXNzX2luaXQpLCAoZ3N0X2RlaW50ZXJsYWNlMl9pbml0KSwKCSAgKGdzdF9kZWludGVybGFjZTJfc2V0X3Byb3BlcnR5KSwgKGdzdF9kZWludGVybGFjZTJfZ2V0X3Byb3BlcnR5KToKCSAgQnJpbmcgcHJvcGVydGllcyBpbnRvIHRoaXMgY2VudHVyeS4KCjIwMDgtMTEtMDQgMTI6NDI6MzAgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIFtNT1ZFRCBGUk9NIEJBRCA0NC81Nl0gRG9uJ3QgaW5zdGFsbCBzdGF0aWMgbGlicyBmb3IgcGx1Z2lucy4gRml4ZXMgIzU1MDg1MSBmb3IgLWJhZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2Fsc2FzcGRpZi9NYWtlZmlsZS5hbToKCSAgKiBleHQvYW1yd2IvTWFrZWZpbGUuYW06CgkgICogZXh0L2FwZXhzaW5rL01ha2VmaWxlLmFtOgoJICAqIGV4dC9hcnRzL01ha2VmaWxlLmFtOgoJICAqIGV4dC9hcnRzZC9NYWtlZmlsZS5hbToKCSAgKiBleHQvYXVkaW9maWxlL01ha2VmaWxlLmFtOgoJICAqIGV4dC9hdWRpb3Jlc2FtcGxlL01ha2VmaWxlLmFtOgoJICAqIGV4dC9iejIvTWFrZWZpbGUuYW06CgkgICogZXh0L2NkYXVkaW8vTWFrZWZpbGUuYW06CgkgICogZXh0L2NlbHQvTWFrZWZpbGUuYW06CgkgICogZXh0L2RjMTM5NC9NYWtlZmlsZS5hbToKCSAgKiBleHQvZGlyYWMvTWFrZWZpbGUuYW06CgkgICogZXh0L2RpcmVjdGZiL01ha2VmaWxlLmFtOgoJICAqIGV4dC9kaXZ4L01ha2VmaWxlLmFtOgoJICAqIGV4dC9kdHMvTWFrZWZpbGUuYW06CgkgICogZXh0L2ZhYWMvTWFrZWZpbGUuYW06CgkgICogZXh0L2ZhYWQvTWFrZWZpbGUuYW06CgkgICogZXh0L2dzbS9NYWtlZmlsZS5hbToKCSAgKiBleHQvaGVybWVzL01ha2VmaWxlLmFtOgoJICAqIGV4dC9pdm9yYmlzL01ha2VmaWxlLmFtOgoJICAqIGV4dC9qYWNrL01ha2VmaWxlLmFtOgoJICAqIGV4dC9qcDJrL01ha2VmaWxlLmFtOgoJICAqIGV4dC9sYWRzcGEvTWFrZWZpbGUuYW06CgkgICogZXh0L2xjcy9NYWtlZmlsZS5hbToKCSAgKiBleHQvbGliZmFtZS9NYWtlZmlsZS5hbToKCSAgKiBleHQvbGlibW1zL01ha2VmaWxlLmFtOgoJICAqIGV4dC9tZXRhZGF0YS9NYWtlZmlsZS5hbToKCSAgKiBleHQvbXBlZzJlbmMvTWFrZWZpbGUuYW06CgkgICogZXh0L21wbGV4L01ha2VmaWxlLmFtOgoJICAqIGV4dC9tdXNlcGFjay9NYWtlZmlsZS5hbToKCSAgKiBleHQvbXVzaWNicmFpbnovTWFrZWZpbGUuYW06CgkgICogZXh0L215dGh0di9NYWtlZmlsZS5hbToKCSAgKiBleHQvbmFzL01ha2VmaWxlLmFtOgoJICAqIGV4dC9uZW9uL01ha2VmaWxlLmFtOgoJICAqIGV4dC9vZmEvTWFrZWZpbGUuYW06CgkgICogZXh0L3BvbHlwL01ha2VmaWxlLmFtOgoJICAqIGV4dC9yZXNpbmR2ZC9NYWtlZmlsZS5hbToKCSAgKiBleHQvc2RsL01ha2VmaWxlLmFtOgoJICAqIGV4dC9zaG91dC9NYWtlZmlsZS5hbToKCSAgKiBleHQvc25hcHNob3QvTWFrZWZpbGUuYW06CgkgICogZXh0L3NuZGZpbGUvTWFrZWZpbGUuYW06CgkgICogZXh0L3NvdW5kdG91Y2gvTWFrZWZpbGUuYW06CgkgICogZXh0L3NwYy9NYWtlZmlsZS5hbToKCSAgKiBleHQvc3dmZGVjL01ha2VmaWxlLmFtOgoJICAqIGV4dC90YXJraW4vTWFrZWZpbGUuYW06CgkgICogZXh0L3RoZW9yYS9NYWtlZmlsZS5hbToKCSAgKiBleHQvdGltaWRpdHkvTWFrZWZpbGUuYW06CgkgICogZXh0L3R3b2xhbWUvTWFrZWZpbGUuYW06CgkgICogZXh0L3gyNjQvTWFrZWZpbGUuYW06CgkgICogZXh0L3hpbmUvTWFrZWZpbGUuYW06CgkgICogZXh0L3h2aWQvTWFrZWZpbGUuYW06CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9NYWtlZmlsZS5hbToKCSAgKiBnc3QtbGlicy9nc3QvZHNob3cvTWFrZWZpbGUuYW06CgkgICogZ3N0L2FpZmZwYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYXBwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9hdWRpb2J1ZmZlci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYmF5ZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2NkeGFwYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvY2hhcnQvTWFrZWZpbGUuYW06CgkgICogZ3N0L2NvbG9yc3BhY2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L2RjY3AvTWFrZWZpbGUuYW06CgkgICogZ3N0L2RlaW50ZXJsYWNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9kZWludGVybGFjZTIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2R2ZHNwdS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZmVzdGl2YWwvTWFrZWZpbGUuYW06CgkgICogZ3N0L2ZpbHRlci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZmxhY3BhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9mbHYvTWFrZWZpbGUuYW06CgkgICogZ3N0L2dhbWVzL01ha2VmaWxlLmFtOgoJICAqIGdzdC9oMjY0cGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L2xpYnJmYi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbWl4bWF0cml4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9tb2RwbHVnL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tcGVnMXN5cy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXBlZzR2aWRlb3BhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tcGVnZGVtdXgvTWFrZWZpbGUuYW06CgkgICogZ3N0L21wZWd0c211eC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L212ZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbnNmL01ha2VmaWxlLmFtOgoJICAqIGdzdC9udXZkZW11eC9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvb3ZlcmxheS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcGFzc3Rocm91Z2gvTWFrZWZpbGUuYW06CgkgICogZ3N0L3BjYXBwYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcGxheW9uZGVtYW5kL01ha2VmaWxlLmFtOgoJICAqIGdzdC9yYXdwYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcmVhbC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcnRqcGVnL01ha2VmaWxlLmFtOgoJICAqIGdzdC9ydHBtYW5hZ2VyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zY2FsZXRlbXBvL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zZHAvTWFrZWZpbGUuYW06CgkgICogZ3N0L3NlbGVjdG9yL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zbW9vdGgvTWFrZWZpbGUuYW06CgkgICogZ3N0L3Ntb290aHdhdmUvTWFrZWZpbGUuYW06CgkgICogZ3N0L3NwZWVkL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zdGVyZW8vTWFrZWZpbGUuYW06CgkgICogZ3N0L3N1YmVuYy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdHRhL01ha2VmaWxlLmFtOgoJICAqIGdzdC92YmlkZWMvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZpZGVvZHJvcC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdmlkZW9zaWduYWwvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZpcnR1YWxkdWIvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZtbmMvTWFrZWZpbGUuYW06CgkgICogZ3N0L3k0bS9NYWtlZmlsZS5hbToKCSAgKiBzeXMvYWNtZW5jL01ha2VmaWxlLmFtOgoJICAqIHN5cy9jZHJvbS9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZHNob3dkZWN3cmFwcGVyL01ha2VmaWxlLmFtOgoJICAqIHN5cy9kc2hvd3NyY3dyYXBwZXIvTWFrZWZpbGUuYW06CgkgICogc3lzL2R2Yi9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZHhyMy9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZmJkZXYvTWFrZWZpbGUuYW06CgkgICogc3lzL29zczQvTWFrZWZpbGUuYW06CgkgICogc3lzL3FjYW0vTWFrZWZpbGUuYW06CgkgICogc3lzL3F0d3JhcHBlci9NYWtlZmlsZS5hbToKCSAgKiBzeXMvdmNkL01ha2VmaWxlLmFtOgoJICAqIHN5cy93aW5pbmV0L01ha2VmaWxlLmFtOgoJICAqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgRG9uJ3QgaW5zdGFsbCBzdGF0aWMgbGlicyBmb3IgcGx1Z2lucy4gRml4ZXMgIzU1MDg1MSBmb3IgLWJhZC4KCjIwMDgtMTAtMDkgMTk6Mzg6NTIgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEJBRCA0My81Nl0gZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC5jOiBGaXggdW51c2VkIHZhcmlhYmxlIGNvbXBpbGVyIHdhcm5pbmcgd2hlbiBub3QgYnVpbGRpbmcKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC5jOgoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF90b21zbW9jb21wX2NsYXNzX2luaXQpOgoJICBGaXggdW51c2VkIHZhcmlhYmxlIGNvbXBpbGVyIHdhcm5pbmcgd2hlbiBub3QgYnVpbGRpbmcKCSAgWDg2IGFzc2VtYmx5LgoKMjAwOC0wOC0yOCAxNzoxNjo1MSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBbTU9WRUQgRlJPTSBCQUQgNDIvNTZdIGdzdC9kY2NwLzogRml4IGNvbXBpbGF0aW9uIG9uIFNvbGFyaXMgYnkgaW5jbHVkaW5nIGZpbGlvLmggYXMgbmVlZGVkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGNjcC9nc3RkY2NwLmM6CgkgICogZ3N0L2RjY3AvZ3N0ZGNjcGNsaWVudHNyYy5jOgoJICBGaXggY29tcGlsYXRpb24gb24gU29sYXJpcyBieSBpbmNsdWRpbmcgZmlsaW8uaCBhcyBuZWVkZWQuCgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9Ub21zTW9Db21wQWxsLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1RvbXNNb0NvbXBBbGwyLmluYzoKCSAgRml4IGNvbXBpbGF0aW9uIHdpdGggRm9ydGUgLSBhcHBhcmVudGx5IGl0IGhhdGVzIGNvbmNhdGVuYXRpbmcgYQoJICBtYWNybyBhcmd1bWVudCB0aGF0IHN0YXJ0cyB3aXRoIGFuIHVuZGVyc2NvcmU/PwoKMjAwOC0wOC0yNiAxMjozMzoxNiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEIDQxLzU2XSBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wLzogVW5yb2xsIHRoZSBsb29wIHRvIGhhbmRsZSB0d28gYnl0ZXMgYXQgb25jZS4gVGhpcyBzaG91bGQgZ2l2ZSBhIHNtYWxsIHNwZWVkdXAgYW4uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wQm90dG9tLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BUb3AuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU3RyYW5nZUJvYi5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9XaWVyZEJvYi5pbmM6CgkgIFVucm9sbCB0aGUgbG9vcCB0byBoYW5kbGUgdHdvIGJ5dGVzIGF0IG9uY2UuIFRoaXMgc2hvdWxkIGdpdmUKCSAgYSBzbWFsbCBzcGVlZHVwIGFuZCBtYWtlcyBpdCBwb3NzaWJsZSB0byBoYW5kbGUgY2hyb21hIGFuZCBsdW1hCgkgIGRpZmZlcmVudCB3aGljaCBpcyBuZWVkZWQgbGF0ZXIuCgoyMDA4LTA4LTI1IDE0OjM3OjQ1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBbTU9WRUQgRlJPTSBCQUQgNDAvNTZdIGdzdC9kZWludGVybGFjZTIvOiBGaXJzdCBwYXJ0IG9mIHRoZSBDIGltcGxlbWVudGF0aW9uIG9mIHRoZSB0b21zbW9jb21wIGRlaW50ZXJsYWNpbmcgYWxnb3JpdGhtLiBUaGlzIG9ubHkgc3VwcG9ydHMgcy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOgoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF9jbGFzc19pbml0KToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5oOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAuYzoKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfdG9tc21vY29tcF9jbGFzc19pbml0KToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BCb3R0b20uaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcFRvcC5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TdHJhbmdlQm9iLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1RvbXNNb0NvbXBBbGwuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvVG9tc01vQ29tcEFsbDIuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvV2llcmRCb2IuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvdG9tc21vY29tcG1hY3Jvcy5oOgoJICBGaXJzdCBwYXJ0IG9mIHRoZSBDIGltcGxlbWVudGF0aW9uIG9mIHRoZSB0b21zbW9jb21wIGRlaW50ZXJsYWNpbmcKCSAgYWxnb3JpdGhtLiBUaGlzIG9ubHkgc3VwcG9ydHMgc2VhcmNoLWVmZm9ydD0wIGN1cnJlbnRseSwgaXMgcGFpbmZ1bGx5CgkgIHNsb3cgYW5kIG5lZWRzIHNvbWUgY2xlYW51cCBsYXRlciB3aGVuIGFsbCBzZWFyY2gtZWZmb3J0IHNldHRpbmdzCgkgIGFyZSBpbXBsZW1lbnRlZCBpbiBDLgoKMjAwOC0wOC0wMiAxODo0ODoxNyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEIDM5LzU2XSBnc3QvZGVpbnRlcmxhY2UyLzogVXNlIG9pbF9tZW1jcHkoKSBpbnN0ZWFkIG9mIG1lbWNweSgpIGFzIGl0J3MgZmFzdGVyIGZvciB0aGUgc2l6ZXMgdGhhdCBhcmUgdXN1YWxseSB1c2VkIGhlcmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6CgkgIChnc3RfZGVpbnRlcmxhY2Vfc2ltcGxlX21ldGhvZF9pbnRlcnBvbGF0ZV9zY2FubGluZSksCgkgIChnc3RfZGVpbnRlcmxhY2Vfc2ltcGxlX21ldGhvZF9jb3B5X3NjYW5saW5lKSwKCSAgKGdzdF9kZWludGVybGFjZV9zaW1wbGVfbWV0aG9kX2RlaW50ZXJsYWNlX2ZyYW1lKToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHkuYzogKGRlaW50ZXJsYWNlX2ZyYW1lX2RpX2dyZWVkeSk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aC5jOgoJICAoZGVpbnRlcmxhY2VfZnJhbWVfZGlfZ3JlZWR5aCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvc2NhbGVyYm9iLmM6CgkgIChkZWludGVybGFjZV9zY2FubGluZV9zY2FsZXJfYm9iKToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wLmM6IChGaWVsZGNvcHkpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3dlYXZlLmM6IChkZWludGVybGFjZV9zY2FubGluZV93ZWF2ZSksCgkgIChjb3B5X3NjYW5saW5lKToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS93ZWF2ZWJmZi5jOiAoZGVpbnRlcmxhY2Vfc2NhbmxpbmVfd2VhdmUpLAoJICAoY29weV9zY2FubGluZSk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvd2VhdmV0ZmYuYzogKGRlaW50ZXJsYWNlX3NjYW5saW5lX3dlYXZlKSwKCSAgKGNvcHlfc2NhbmxpbmUpOgoJICBVc2Ugb2lsX21lbWNweSgpIGluc3RlYWQgb2YgbWVtY3B5KCkgYXMgaXQncyBmYXN0ZXIgZm9yIHRoZSBzaXplcyB0aGF0CgkgIGFyZSB1c3VhbGx5IHVzZWQgaGVyZS4KCjIwMDgtMDgtMDIgMTg6MzY6MTEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAzOC81Nl0gZ3N0L2RlaW50ZXJsYWNlMi86IEFkZCB0aGUgcmVtYWluaW5nIHR2dGltZSBkZWludGVybGFjaW5nIG1ldGhvZHMgYW5kIGZpeCB0aGUgZGVpbnRlcmxhY2VfZnJhbWUoKSBpbXBsZW1lbnRhdGlvbiBvZiBHLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzoKCSAgKGdzdF9kZWludGVybGFjZV9zaW1wbGVfbWV0aG9kX2RlaW50ZXJsYWNlX2ZyYW1lKSwKCSAgKGdzdF9kZWludGVybGFjZTJfbWV0aG9kc19nZXRfdHlwZSksIChnc3RfZGVpbnRlcmxhY2UyX3NldF9tZXRob2QpOgoJICAqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvbGluZWFyLmM6CgkgIChkZWludGVybGFjZV9zY2FubGluZV9saW5lYXJfYyksIChkZWludGVybGFjZV9zY2FubGluZV9saW5lYXJfbW14KSwKCSAgKGRlaW50ZXJsYWNlX3NjYW5saW5lX2xpbmVhcl9tbXhleHQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF9saW5lYXJfY2xhc3NfaW5pdCksCgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX2xpbmVhcl9pbml0KToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9saW5lYXJibGVuZC5jOgoJICAoZGVpbnRlcmxhY2Vfc2NhbmxpbmVfbGluZWFyX2JsZW5kX2MpLAoJICAoZGVpbnRlcmxhY2Vfc2NhbmxpbmVfbGluZWFyX2JsZW5kMl9jKSwKCSAgKGRlaW50ZXJsYWNlX3NjYW5saW5lX2xpbmVhcl9ibGVuZF9tbXgpLAoJICAoZGVpbnRlcmxhY2Vfc2NhbmxpbmVfbGluZWFyX2JsZW5kMl9tbXgpLAoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF9saW5lYXJfYmxlbmRfY2xhc3NfaW5pdCksCgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX2xpbmVhcl9ibGVuZF9pbml0KToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9wbHVnaW5zLmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvc2NhbGVyYm9iLmM6CgkgIChkZWludGVybGFjZV9zY2FubGluZV9zY2FsZXJfYm9iKSwKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2Rfc2NhbGVyX2JvYl9jbGFzc19pbml0KSwKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2Rfc2NhbGVyX2JvYl9pbml0KToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS93ZWF2ZS5jOiAoZGVpbnRlcmxhY2Vfc2NhbmxpbmVfd2VhdmUpLAoJICAoY29weV9zY2FubGluZSksIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX3dlYXZlX2NsYXNzX2luaXQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF93ZWF2ZV9pbml0KToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS93ZWF2ZWJmZi5jOiAoZGVpbnRlcmxhY2Vfc2NhbmxpbmVfd2VhdmUpLAoJICAoY29weV9zY2FubGluZSksIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX3dlYXZlX2JmZl9jbGFzc19pbml0KSwKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2Rfd2VhdmVfYmZmX2luaXQpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3dlYXZldGZmLmM6IChkZWludGVybGFjZV9zY2FubGluZV93ZWF2ZSksCgkgIChjb3B5X3NjYW5saW5lKSwgKGdzdF9kZWludGVybGFjZV9tZXRob2Rfd2VhdmVfdGZmX2NsYXNzX2luaXQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF93ZWF2ZV90ZmZfaW5pdCk6CgkgIEFkZCB0aGUgcmVtYWluaW5nIHR2dGltZSBkZWludGVybGFjaW5nIG1ldGhvZHMgYW5kIGZpeCB0aGUKCSAgZGVpbnRlcmxhY2VfZnJhbWUoKSBpbXBsZW1lbnRhdGlvbiBvZiBHc3REZWludGVybGFjZVNpbXBsZU1ldGhvZC4KCjIwMDgtMDgtMDIgMTg6MzA6NTYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAzNy81Nl0gZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdmZpci5jOiBJbXBsZW1lbnQgdGhlIFZGSVIgZGVpbnRlcmxhY2luZyBtZXRob2QgYXMgc2ltcGxlIG1ldGhvZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdmZpci5jOiAoZGVpbnRlcmxhY2VfbGluZV9jKSwKCSAgKGRlaW50ZXJsYWNlX2xpbmVfbW14KSwgKGdzdF9kZWludGVybGFjZV9tZXRob2RfdmZpcl9jbGFzc19pbml0KToKCSAgSW1wbGVtZW50IHRoZSBWRklSIGRlaW50ZXJsYWNpbmcgbWV0aG9kIGFzIHNpbXBsZSBtZXRob2QuCgoyMDA4LTA4LTAyIDE4OjE4OjU0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBbTU9WRUQgRlJPTSBCQUQgMzYvNTZdIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLio6IEFkZCBhIEdzdERlaW50ZXJsYWNlU2ltcGxlTWV0aG9kIHN1YmNsYXNzIG9mIEdzdERlaW50ZXJsYWNlTWV0aG9kIHRoYXQgY2FuIGJlIHVzZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOgoJICAoZ3N0X2RlaW50ZXJsYWNlX3NpbXBsZV9tZXRob2RfaW50ZXJwb2xhdGVfc2NhbmxpbmUpLAoJICAoZ3N0X2RlaW50ZXJsYWNlX3NpbXBsZV9tZXRob2RfY29weV9zY2FubGluZSksCgkgIChnc3RfZGVpbnRlcmxhY2Vfc2ltcGxlX21ldGhvZF9kZWludGVybGFjZV9mcmFtZSksCgkgIChnc3RfZGVpbnRlcmxhY2Vfc2ltcGxlX21ldGhvZF9jbGFzc19pbml0KSwKCSAgKGdzdF9kZWludGVybGFjZV9zaW1wbGVfbWV0aG9kX2luaXQpOgoJICAqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmg6CgkgIEFkZCBhIEdzdERlaW50ZXJsYWNlU2ltcGxlTWV0aG9kIHN1YmNsYXNzIG9mIEdzdERlaW50ZXJsYWNlTWV0aG9kIHRoYXQKCSAgY2FuIGJlIHVzZWQgYnkgc2ltcGxlIGRlaW50ZXJsYWNpbmcgbWV0aG9kcy4gVGhleSBvbmx5IGhhdmUgdG8gcHJvdmlkZQoJICBhIGZ1bmN0aW9uIGZvciBpbnRlcnBvbGF0aW5nIGEgc2NhbmxpbmUgb3IgY29weWluZyBhIHNjYW5saW5lLgoKMjAwOC0wOC0wMiAxODoxNTo0OSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEIDM1LzU2XSBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOiBSZXNwZWN0IHRoZSBsYXRlbmN5IG9mIHRoZSBkZWludGVybGFjaW5nIGFsZ29yaXRobSBmb3IgdGhlIHRpbWVzdGFtcHMgb2YgZXZlcnkgYnUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzogKGdzdF9kZWludGVybGFjZTJfY2hhaW4pOgoJICBSZXNwZWN0IHRoZSBsYXRlbmN5IG9mIHRoZSBkZWludGVybGFjaW5nIGFsZ29yaXRobSBmb3IgdGhlIHRpbWVzdGFtcHMKCSAgb2YgZXZlcnkgYnVmZmVyLgoKMjAwOC0wOC0wMiAxODoxMzoyMCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEIDM0LzU2XSBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS86IEFkZCB0aGUgTU1YIHJlZ2lzdGVycyB0byB0aGUgY2xvYmJlcmVkIHJlZ2lzdGVycyBvbmx5IGlmIF9fTU1YX18gaXMgZGVmaW5lZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aC5hc206CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wQm90dG9tLmluYzoKCSAgQWRkIHRoZSBNTVggcmVnaXN0ZXJzIHRvIHRoZSBjbG9iYmVyZWQgcmVnaXN0ZXJzIG9ubHkgaWYgX19NTVhfXyBpcwoJICBkZWZpbmVkLgoKMjAwOC0wOC0wMiAxODowOTo1NiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEIDMzLzU2XSBnc3QvZGVpbnRlcmxhY2UyLzogRW5hYmxlIHRvbXNtb2NvbXAgYWdhaW4gYXMgdGhlIEMgcG9ydCB3aWxsIGJlIHJlYWR5IGZvciB0aGUgbmV4dCByZWxlYXNlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6CgkgIChnc3RfZGVpbnRlcmxhY2UyX21ldGhvZHNfZ2V0X3R5cGUpLCAoZ3N0X2RlaW50ZXJsYWNlMl9zZXRfbWV0aG9kKSwKCSAgKGdzdF9kZWludGVybGFjZTJfY2xhc3NfaW5pdCk6CgkgIEVuYWJsZSB0b21zbW9jb21wIGFnYWluIGFzIHRoZSBDIHBvcnQgd2lsbCBiZSByZWFkeSBmb3IgdGhlIG5leHQKCSAgcmVsZWFzZS4KCjIwMDgtMDgtMDIgMTg6MDI6NDQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAzMi81Nl0gZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzogRG9uJ3QgdXNlIHByb3h5X2dldGNhcHMoKSBidXQgaW1wbGVtZW50IG91ciBvd24gZ2V0Y2FwcygpIGZ1bmN0aW9uIHRoYXQgZG91Ymxlcy9oLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6IChnc3RfZGVpbnRlcmxhY2UyX2luaXQpLAoJICAoZ3N0X2dyZWF0ZXN0X2NvbW1vbl9kaXZpc29yKSwgKGdzdF9mcmFjdGlvbl9kb3VibGUpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9nZXRjYXBzKSwgKGdzdF9kZWludGVybGFjZTJfc2V0Y2Fwcyk6CgkgIERvbid0IHVzZSBwcm94eV9nZXRjYXBzKCkgYnV0IGltcGxlbWVudCBvdXIgb3duIGdldGNhcHMoKSBmdW5jdGlvbgoJICB0aGF0IGRvdWJsZXMvaGFsZnMgdGhlIGZyYW1lcmF0ZSBpZiBhbGwgZmllbGRzIHNob3VsZCBiZSBzZW50IG91dC4KCjIwMDgtMDctMTggMDg6MzQ6MDYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAzMS81Nl0gRGlzYWJsZSB0aGUgdG9tc21vY29tcCBhbGdvcml0aG0gZm9yIHRoaXMgcmVsZWFzZSBhcyBpdCdzIGJ1Z2d5IGFuZCBoYXMgbm8gQyBpbXBsZW1lbnRhdGlvbiB5ZXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6CgkgIChnc3RfZGVpbnRlcmxhY2UyX21ldGhvZHNfZ2V0X3R5cGUpLCAoZ3N0X2RlaW50ZXJsYWNlMl9zZXRfbWV0aG9kKSwKCSAgKGdzdF9kZWludGVybGFjZTJfY2xhc3NfaW5pdCksIChnc3RfZGVpbnRlcmxhY2UyX2luaXQpOgoJICAqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5LmM6CgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX2dyZWVkeV9sX2NsYXNzX2luaXQpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWguYzoKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfZ3JlZWR5X2hfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdmZpci5jOgoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF92ZmlyX2NsYXNzX2luaXQpOgoJICBEaXNhYmxlIHRoZSB0b21zbW9jb21wIGFsZ29yaXRobSBmb3IgdGhpcyByZWxlYXNlIGFzIGl0J3MgYnVnZ3kKCSAgYW5kIGhhcyBubyBDIGltcGxlbWVudGF0aW9uIHlldC4KCSAgQnVpbGQgdGhlIGRlaW50ZXJsYWNlMiBwbHVnaW4gb24gYWxsIGFyY2hpdGVjdHVyZXMgYnV0IHN0aWxsIG1hcmsgaXQKCSAgYXMgZXhwZXJpbWVudGFsLgoJICBCdWlsZCB0aGUgeDg2IGlubGluZSBhc3NlbWJseSBvbmx5IGlmIEdDQyBpbmxpbmUgYXNzZW1ibHkgaXMgc3VwcG9ydGVkCgkgIGFuZCBvbmx5IG9uIHg4NiBvciBhbWQ2NC4gRml4ZXMgYnVnICM1NDMyODYuCgoyMDA4LTA3LTE0IDE0OjEzOjU0ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgW01PVkVEIEZST00gQkFEIDMwLzU2XSBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS86IEZpeCBidWlsZCBvbiB4ODZfNjQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5LmM6CgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX2dyZWVkeV9sX2NsYXNzX2luaXQpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWguYzoKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfZ3JlZWR5X2hfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdmZpci5jOgoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF92ZmlyX2NsYXNzX2luaXQpOgoJICBGaXggYnVpbGQgb24geDg2XzY0CgoyMDA4LTA3LTEzIDEwOjU2OjQ1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBbTU9WRUQgRlJPTSBCQUQgMjkvNTZdIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWguYXNtOiBBbHdheXMgdXNlIHRoZSBDIGltcGxlbWVudGF0aW9uIGlmIHdpZHRoIGlzIG5vdCBhIG11bHRpcGxlIG9mIDQuIFRoZSBhc3NlbWJseSBvcC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHloLmFzbToKCSAgQWx3YXlzIHVzZSB0aGUgQyBpbXBsZW1lbnRhdGlvbiBpZiB3aWR0aCBpcyBub3QgYSBtdWx0aXBsZSBvZiA0LiBUaGUKCSAgYXNzZW1ibHkgb3B0aW1pemVkIHZlcnNpb24gb25seSBoYW5kbGUgdGhpcyBhbmQgY2FsbGluZyB0aGUgQwoJICBpbXBsZW1lbnRhdGlvbiBmb3IgdGhlIHJlbWFpbmluZyBwYXJ0IGRvZXNuJ3Qgd29yayBiZWNhdXNlIGl0IG5lZWRzCgkgIHByZXZpb3VzIGNhbGN1bGF0aW9ucy4KCjIwMDgtMDctMTMgMTA6NTI6MDMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAyOC81Nl0gZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvOiBTb21lIGNsZWFudXAsIHVzZSAzRE5PVyBpbnN0ZWFkIG9mIFRETk9XIGluIG1hY3Jvcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aC5hc206CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aC5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWhtYWNyb3MuaDoKCSAgU29tZSBjbGVhbnVwLCB1c2UgM0ROT1cgaW5zdGVhZCBvZiBURE5PVyBpbiBtYWNyb3MuCgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC5jOgoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF90b21zbW9jb21wX2NsYXNzX2luaXQpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvVG9tc01vQ29tcEFsbC5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC90b21zbW9jb21wbWFjcm9zLmg6CgkgIFRoZSBTU0UgbWV0aG9kIGluIGZhY3Qgb25seSBuZWVkcyBNTVhFWFQsIGRlY2xhcmUgaXQgYXMgc3VjaC4KCjIwMDgtMDctMDggMTM6MzE6MzcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAyNy81Nl0gRG9uJ3QgdXNlIGRlY2xhcmF0aW9ucyBhZnRlciBzdGF0ZW1lbnRzIGluIHRoZSByZW1haW5pbmcgY29kZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3NwYy9nc3RzcGMuYzogKHNwY19zZXR1cCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wVG9wLmluYzoKCSAgRG9uJ3QgdXNlIGRlY2xhcmF0aW9ucyBhZnRlciBzdGF0ZW1lbnRzIGluIHRoZSByZW1haW5pbmcgY29kZS4KCjIwMDgtMDctMDYgMjA6NDM6NTggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAyNi81Nl0gZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9Ub21zTW9Db21wQWxsMi5pbmM6IE1hcmsgaW50ZXJuYWwgcHJvY2Vzc2luZyBmdW5jdGlvbnMgYXMgc3RhdGljIGlubGluZSBmb3IgcXVpdGUgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvVG9tc01vQ29tcEFsbDIuaW5jOgoJICBNYXJrIGludGVybmFsIHByb2Nlc3NpbmcgZnVuY3Rpb25zIGFzIHN0YXRpYyBpbmxpbmUgZm9yIHF1aXRlIHNvbWUKCSAgc3BlZWR1cCBhcyB0aGV5J3JlIHVzZWQgb25seSBvbmNlIGFuZCBuZWVkIHRvIGdldCBtYW55IGxvY2FsIHZhcmlhYmxlcwoJICBwYXNzZWQgYXMgcGFyYW1ldGVyLgoKMjAwOC0wNy0wNSAxOToyMDozMCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEIDI1LzU2XSBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi4qOiBDYWxsIHRoZSBjdXJyZW50IGluc3RhbmNlICJzZWxmIiBpbnN0ZWFkIG9mICJvYmplY3QiLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOgoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF9kZWludGVybGFjZV9mcmFtZSksCgkgIChnc3RfZGVpbnRlcmxhY2UyX3NldF9tZXRob2QpLCAoZ3N0X2RlaW50ZXJsYWNlMl9pbml0KSwKCSAgKGdzdF9kZWludGVybGFjZTJfcmVzZXRfaGlzdG9yeSksIChnc3RfZGVpbnRlcmxhY2UyX3Jlc2V0KSwKCSAgKGdzdF9kZWludGVybGFjZTJfc2V0X3Byb3BlcnR5KSwgKGdzdF9kZWludGVybGFjZTJfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9kZWludGVybGFjZTJfcG9wX2hpc3RvcnkpLCAoZ3N0X2RlaW50ZXJsYWNlMl9oZWFkX2hpc3RvcnkpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9wdXNoX2hpc3RvcnkpLCAoZ3N0X2RlaW50ZXJsYWNlMl9jaGFpbiksCgkgIChnc3RfZGVpbnRlcmxhY2UyX3NldGNhcHMpLCAoZ3N0X2RlaW50ZXJsYWNlMl9zaW5rX2V2ZW50KSwKCSAgKGdzdF9kZWludGVybGFjZTJfY2hhbmdlX3N0YXRlKSwgKGdzdF9kZWludGVybGFjZTJfc3JjX2V2ZW50KSwKCSAgKGdzdF9kZWludGVybGFjZTJfc3JjX3F1ZXJ5KToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5oOgoJICBDYWxsIHRoZSBjdXJyZW50IGluc3RhbmNlICJzZWxmIiBpbnN0ZWFkIG9mICJvYmplY3QiLgoKMjAwOC0wNy0wNSAxOToxMTo1NiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEIDI0LzU2XSBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi4qOiBJbmNsdWRlIGxhdGVuY3kgb2YgdGhlIG1ldGhvZCBpbiB0aGUgcmV0dXJuZWQgbGF0ZW5jeS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzoKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfZ2V0X2xhdGVuY3kpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9zZXRfbWV0aG9kKSwgKGdzdF9kZWludGVybGFjZTJfY2xhc3NfaW5pdCksCgkgIChnc3RfZGVpbnRlcmxhY2UyX3B1c2hfaGlzdG9yeSksIChnc3RfZGVpbnRlcmxhY2UyX2NoYWluKSwKCSAgKGdzdF9kZWludGVybGFjZTJfc2V0Y2FwcyksIChnc3RfZGVpbnRlcmxhY2UyX3NyY19xdWVyeSk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuaDoKCSAgSW5jbHVkZSBsYXRlbmN5IG9mIHRoZSBtZXRob2QgaW4gdGhlIHJldHVybmVkIGxhdGVuY3kuCgkgIEZpeCBvdXRwdXR0aW5nIG9mIGFsbCBmaWVsZHMsIGkuZS4gZG91Ymxpbmcgb2YgdGhlIGZyYW1lcmF0ZS4KCjIwMDgtMDctMDUgMTY6NDc6MzIgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAyMy81Nl0gZ3N0L2RlaW50ZXJsYWNlMi86IFVzZSBhIEdzdE9iamVjdCBzdWJ0eXBlIGZvciB0aGUgZGVpbnRlcmxhY2luZyBtZXRob2RzIGFuZCBleHBvcnQgdGhlIGRpZmZlcmVudCBzZXR0aW5ncyBmb3IgZWFjaCBkLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzoKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfY2xhc3NfaW5pdCksIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX2luaXQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF9kZWludGVybGFjZV9mcmFtZSksCgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX2dldF9maWVsZHNfcmVxdWlyZWQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9tZXRob2RzX2dldF90eXBlKSwgKF9kb19pbml0KSwKCSAgKGdzdF9kZWludGVybGFjZTJfc2V0X21ldGhvZCksIChnc3RfZGVpbnRlcmxhY2UyX2NsYXNzX2luaXQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9jaGlsZF9wcm94eV9nZXRfY2hpbGRfYnlfaW5kZXgpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9jaGlsZF9wcm94eV9nZXRfY2hpbGRyZW5fY291bnQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9jaGlsZF9wcm94eV9pbnRlcmZhY2VfaW5pdCksCgkgIChnc3RfZGVpbnRlcmxhY2UyX2luaXQpLCAoZ3N0X2RlaW50ZXJsYWNlMl9maW5hbGl6ZSksCgkgIChnc3RfZGVpbnRlcmxhY2UyX2NoYWluKSwgKGdzdF9kZWludGVybGFjZTJfc3JjX3F1ZXJ5KToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5oOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeS5jOgoJICAoZGVpbnRlcmxhY2VfZ3JlZWR5X3BhY2tlZDQyMl9zY2FubGluZV9jKSwKCSAgKGRlaW50ZXJsYWNlX2dyZWVkeV9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14KSwKCSAgKGRlaW50ZXJsYWNlX2dyZWVkeV9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14ZXh0KSwKCSAgKGRlaW50ZXJsYWNlX2ZyYW1lX2RpX2dyZWVkeSksCgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX2dyZWVkeV9sX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX2dyZWVkeV9sX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX2dyZWVkeV9sX2NsYXNzX2luaXQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF9ncmVlZHlfbF9pbml0KToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHloLmFzbToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHloLmM6IChncmVlZHlEU2NhbGVyX0MpLAoJICAoZGVpbnRlcmxhY2VfZnJhbWVfZGlfZ3JlZWR5aCksCgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX2dyZWVkeV9oX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX2dyZWVkeV9oX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX2dyZWVkeV9oX2NsYXNzX2luaXQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF9ncmVlZHlfaF9pbml0KToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHloLmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvcGx1Z2lucy5oOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAuYzoKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfdG9tc21vY29tcF9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF90b21zbW9jb21wX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX3RvbXNtb2NvbXBfY2xhc3NfaW5pdCksCgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX3RvbXNtb2NvbXBfaW5pdCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC5oOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvVG9tc01vQ29tcEFsbC5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdmZpci5jOiAoZGVpbnRlcmxhY2VfZnJhbWVfdmZpciksCgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX3ZmaXJfY2xhc3NfaW5pdCksCgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX3ZmaXJfaW5pdCk6CgkgIFVzZSBhIEdzdE9iamVjdCBzdWJ0eXBlIGZvciB0aGUgZGVpbnRlcmxhY2luZyBtZXRob2RzIGFuZCBleHBvcnQKCSAgdGhlIGRpZmZlcmVudCBzZXR0aW5ncyBmb3IgZWFjaCBkZWludGVybGFjaW5nIG1ldGhvZCB2aWEgR09iamVjdAoJICBwcm9wZXJ0aWVzLgoJICBJbXBsZW1lbnQgR3N0Q2hpbGRQcm94eSBpbnRlcmZhY2UgdG8gYWxsb3cgYWNjZXNzIHRvIHRoZSB1c2VkCgkgIGRlaW50ZXJsYWNpbmcgbWV0aG9kIGFuZCB0byBhbGxvdyBhZGp1c3RpbmcgdGhlIGRpZmZlcmVudCBzZXR0aW5ncy4KCSAgTW92ZSBnbG9iYWwgdmFyaWFibGVzIG9mIHRoZSB0b21zbW9jb21wIGRlaW50ZXJsYWNpbmcgbWV0aG9kIGludG8KCSAgZnVuY3Rpb24gbG9jYWwgdmFyaWFibGVzIHRvIG1ha2UgaXQgcG9zc2libGUgdG8gdXNlIHRoaXMgZGVpbnRlcmxhY2luZwoJICBtZXRob2QgZnJvbSBkaWZmZXJlbnQgaW5zdGFuY2VzLgoKMjAwOC0wNy0wNSAxMjoyMjozNyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEIDIyLzU2XSBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHloLmFzbTogU3VwcG9ydCB3aWR0aHMgdGhhdCBhcmUgbm90IGEgbXVsdGlwbHkgb2YgNCB3aGVuIHVzaW5nIHRoZSBhc3NlbWJseSBvcHRpbWl6ZWQgZ3IuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aC5hc206CgkgIFN1cHBvcnQgd2lkdGhzIHRoYXQgYXJlIG5vdCBhIG11bHRpcGx5IG9mIDQgd2hlbiB1c2luZyB0aGUgYXNzZW1ibHkKCSAgb3B0aW1pemVkIGdyZWVkeWggaW1wbGVtZW50YXRpb25zLgoKMjAwOC0wNy0wNCAxODo1NDoxNSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEIDIxLzU2XSBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHloLmM6IE9ubHkgYnVpbGQgdGhlIGFzc2VtYmx5IG9wdGltaXplZCBpbXBsZW1lbnRhdGlvbnMgb24geDg2LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHloLmM6CgkgIChkZWludGVybGFjZV9mcmFtZV9kaV9ncmVlZHloKToKCSAgT25seSBidWlsZCB0aGUgYXNzZW1ibHkgb3B0aW1pemVkIGltcGxlbWVudGF0aW9ucyBvbiB4ODYuCgoyMDA4LTA2LTMwIDA3OjUxOjA3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBbTU9WRUQgRlJPTSBCQUQgMjAvNTZdIGdzdC9kZWludGVybGFjZTIvOiBSZW1vdmUgdXNlbGVzcyBmaWxlIGFuZCBtYXJrIGV2ZXJ5dGhpbmcgcG9zc2libGUgYXMgc3RhdGljLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAuYzogKHRvbXNtb2NvbXBfaW5pdCksCgkgICh0b21zbW9jb21wX2ZpbHRlcl9tbXgpLCAodG9tc21vY29tcF9maWx0ZXJfM2Rub3cpLAoJICAodG9tc21vY29tcF9maWx0ZXJfc3NlKSwgKGRlaW50ZXJsYWNlX2ZyYW1lX2RpX3RvbXNtb2NvbXApOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAuaDoKCSAgUmVtb3ZlIHVzZWxlc3MgZmlsZSBhbmQgbWFyayBldmVyeXRoaW5nIHBvc3NpYmxlIGFzIHN0YXRpYy4KCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHkuYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHloLmM6CgkgIFVzZSAiX3N0ZGludC5oIiBpbnN0ZWFkIG9mIDxzdGRpbnQuaD4uCgoyMDA4LTA2LTI5IDEwOjU2OjQ3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBbTU9WRUQgRlJPTSBCQUQgMTkvNTZdIGdzdC9kZWludGVybGFjZTIvOiBHZXQgcmlkIG9mIHNwZWVkeS5bY2hdIGFzIHdlIGRvbid0IHVzZSBtb3N0IG9mIGl0J3MgY29kZSBhbnl3YXkgYW5kIGl0IGRvZXNuJ3Qgc2VlbSB0byBiZSByZWxpY2Vucy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6IChnc3RfZGVpbnRlcmxhY2UyX2luaXQpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeS5jOiAoZGVpbnRlcmxhY2VfZnJhbWVfZGlfZ3JlZWR5KToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHloLmM6CgkgIChkZWludGVybGFjZV9mcmFtZV9kaV9ncmVlZHloKToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9zcGVlZHRvb2xzLmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvc3BlZWR5LmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvc3BlZWR5Lmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC5jOiAoRmllbGRjb3B5KToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1RvbXNNb0NvbXBBbGwuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3ZmaXIuYzogKGRlaW50ZXJsYWNlX2ZyYW1lX3ZmaXIpOgoJICBHZXQgcmlkIG9mIHNwZWVkeS5bY2hdIGFzIHdlIGRvbid0IHVzZSBtb3N0IG9mIGl0J3MgY29kZSBhbnl3YXkKCSAgYW5kIGl0IGRvZXNuJ3Qgc2VlbSB0byBiZSByZWxpY2Vuc2VkIHRvIExHUEwuIFVzZSBtZW1jcHkoKSBpbnN0ZWFkCgkgIG9mIHRoZSBzcGVlZHkgbWVtY3B5IGV2ZXJ5d2hlcmUgaW5zdGVhZC4KCSAgKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5oOgoJICBSZW1vdmUgbWFueSB1bnVzZWQgZGVjbGFyYXRpb25zLgoKMjAwOC0wNi0yOCAxODoxMzowOCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEIDE4LzU2XSBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOiBEaXZpZGUgbGF0ZW5jeSBiZSAyIHRvIGNvbnZlcnQgZnJvbSBmaWVsZHMgdG8gZnJhbWVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOiAoZ3N0X2RlaW50ZXJsYWNlMl9zcmNfcXVlcnkpOgoJICBEaXZpZGUgbGF0ZW5jeSBiZSAyIHRvIGNvbnZlcnQgZnJvbSBmaWVsZHMgdG8gZnJhbWVzLgoKMjAwOC0wNi0yOCAxODoxMDo1MiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEIDE3LzU2XSBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHkuYzogRG9uJ3QgdXNlIHNjYW5saW5lcyBmdW5jdGlvbiBmcm9tIGdzdGRlaW50ZXJsYWNlMiBhcyBpdCdzIG5vdCBhcHByb3BpYXRlIGZvciB0aGlzIG0uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5LmM6CgkgIChkZWludGVybGFjZV9ncmVlZHlfcGFja2VkNDIyX3NjYW5saW5lX2MpLAoJICAoZGVpbnRlcmxhY2VfZ3JlZWR5X3BhY2tlZDQyMl9zY2FubGluZV9tbXgpLAoJICAoZGVpbnRlcmxhY2VfZ3JlZWR5X3BhY2tlZDQyMl9zY2FubGluZV9tbXhleHQpLAoJICAoZGVpbnRlcmxhY2VfZnJhbWVfZGlfZ3JlZWR5KToKCSAgRG9uJ3QgdXNlIHNjYW5saW5lcyBmdW5jdGlvbiBmcm9tIGdzdGRlaW50ZXJsYWNlMiBhcyBpdCdzCgkgIG5vdCBhcHByb3BpYXRlIGZvciB0aGlzIG1ldGhvZC4gSW5zdGVhZCBpbXBsZW1lbnQgZGVpbnRlcmxhY2VfZnJhbWUKCSAgZnVuY3Rpb24gYnkgdGFraW5nIHRoZSBvbmUgZnJvbSBncmVlZHloLgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWguYzogKGdyZWVkeURTY2FsZXJfQyk6CgkgIFNtYWxsIGZpeCBmb3IgdGhlIEMgaW1wbGVtZW50YXRpb24uCgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdmZpci5jOiAoZGVpbnRlcmxhY2VfZnJhbWVfdmZpcik6CgkgIERvbid0IHVzZSB0aGUgc2NhbmxpbmVzIGZ1bmN0aW9uIGZyb20gZ3N0ZGVpbnRlcmxhY2UyIGFzIGl0J3Mgb25seQoJICB1c2VkIGZvciB0aGlzIG1ldGhvZCBhbmQgd2lsbCBiZSByZW1vdmVkLiBJbnN0ZWFkIGltcGxlbWVudAoJICBkZWludGVybGFjZV9mcmFtZSBmdW5jdGlvbiBhbmQgbWFrZSBpdCBhIGJpdCBtb3JlIGVmZmljaWVudC4KCSAgKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOgoJICAoZ3N0X2RlaW50ZXJsYWNlMl9jbGFzc19pbml0KSwgKGdzdF9kZWludGVybGFjZTJfc2V0X21ldGhvZCksCgkgIChnc3RfZGVpbnRlcmxhY2UyX3B1c2hfaGlzdG9yeSksIChnc3RfZGVpbnRlcmxhY2UyX2NoYWluKSwKCSAgKGdzdF9kZWludGVybGFjZTJfc2V0Y2FwcyksIChnc3RfZGVpbnRlcmxhY2UyX3NpbmtfZXZlbnQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9jaGFuZ2Vfc3RhdGUpLCAoZ3N0X2RlaW50ZXJsYWNlMl9zcmNfZXZlbnQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9zcmNfcXVlcnkpOgoJICBGaXggY29kaW5nIHN0eWxlIGFuZCByZW1vdmUgc2NhbmxpbmVzIGZ1bmN0aW9uIGFzIGl0J3MgdW51c2VkIG5vdy4KCjIwMDgtMDYtMjggMTc6MjU6NTYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAxNi81Nl0gZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvOiBBZGQgYSBDIGltcGxlbWVudGF0aW9uIGZvciB0aGUgZ3JlZWR5aCBkZWludGVybGFjaW5nIG1ldGhvZCwgY2xlYW4gdXAgdGhlIGNvZGUgYSBiaXQgYW5kIG1hLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWguYXNtOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWguYzogKGdyZWVkeURTY2FsZXJfQyksCgkgIChkZWludGVybGFjZV9mcmFtZV9kaV9ncmVlZHloKSwgKGRzY2FsZXJfZ3JlZWR5aF9nZXRfbWV0aG9kKToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHlobWFjcm9zLmg6CgkgIEFkZCBhIEMgaW1wbGVtZW50YXRpb24gZm9yIHRoZSBncmVlZHloIGRlaW50ZXJsYWNpbmcgbWV0aG9kLCBjbGVhbgoJICB1cCB0aGUgY29kZSBhIGJpdCBhbmQgbWFyayB0aGUgU1NFIHZlcnNpb24gYXMgTU1YRVhUIGFzIGl0IGRvZXNuJ3QKCSAgcmVxdWlyZSBhbnkgU1NFIGluc3RydWN0aW9ucy4KCjIwMDgtMDYtMjcgMTM6MjI6MzQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAxNS81Nl0gZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzogSWYgd2UncmUgb3V0cHV0dGluZyBhbGwgZmllbGRzIHRoZSBmcmFtZXJhdGUgaGFzIHRvIGJlIGRvdWJsZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6CgkgIChnc3RfZGVpbnRlcmxhY2UyX3NldF9wcm9wZXJ0eSksIChnc3RfZGVpbnRlcmxhY2UyX2NoYWluKSwKCSAgKGdzdF9kZWludGVybGFjZTJfc2V0Y2Fwcyk6CgkgIElmIHdlJ3JlIG91dHB1dHRpbmcgYWxsIGZpZWxkcyB0aGUgZnJhbWVyYXRlIGhhcyB0byBiZSBkb3VibGVkLgoJICBTZXQgZHVyYXRpb24gb24gdGhlIG91dGdvaW5nIGJ1ZmZlcnMuCgoyMDA4LTA2LTI1IDE2OjA1OjA4ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgW01PVkVEIEZST00gQkFEIDE0LzU2XSBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL3RvbXNtb2NvbXBtYWNyb3MuaDogUmVtb3ZlIHVubmVlZGVkIG1hY3JvcyB0aGF0IGJyZWFrIGJ1aWxkIG9uIG1hY29zeC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC90b21zbW9jb21wbWFjcm9zLmg6CgkgIFJlbW92ZSB1bm5lZWRlZCBtYWNyb3MgdGhhdCBicmVhayBidWlsZCBvbiBtYWNvc3guCgoyMDA4LTA2LTI0IDEyOjA4OjQ3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBbTU9WRUQgRlJPTSBCQUQgMTMvNTZdIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeS5jOiBPcHRpbWl6ZSBNTVgvTU1YRVhUIGltcGxlbWVudGF0aW9ucyBhIGJpdCBieSByZXF1aXJpbmcgdHdvIGxlc3MgbWVtb3J5IGFjY2Vzc2VzIGFuZC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHkuYzoKCSAgKGRlaW50ZXJsYWNlX2dyZWVkeV9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14KSwKCSAgKGRlaW50ZXJsYWNlX2dyZWVkeV9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14ZXh0KToKCSAgT3B0aW1pemUgTU1YL01NWEVYVCBpbXBsZW1lbnRhdGlvbnMgYSBiaXQgYnkgcmVxdWlyaW5nIHR3byBsZXNzCgkgIG1lbW9yeSBhY2Nlc3NlcyBhbmQgZml4IHRoZSB3b3JrYXJvdW5kIGZvciB0aGUgbWlzc2luZyByaWdodCBzaGlmdAoJICBvbiBieXRlcyB0byB1bnNldCB0aGUgaGlnaGVzdCBiaXQgb2YgZXZlcnkgYnl0ZS4KCjIwMDgtMDYtMjQgMTA6MTU6NDEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAxMi81Nl0gZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5LmM6IFJlbW92ZSBzZmVuY2UgaW5zdHJ1Y3Rpb24gYXMgaXQncyBub3QgbmVlZGVkIGFuZCBhY3R1YWxseSBpcyBhbiBTU0UgaW5zdHJ1Y3Rpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeS5jOgoJICAoZGVpbnRlcmxhY2VfZ3JlZWR5X3BhY2tlZDQyMl9zY2FubGluZV9tbXhleHQpOgoJICBSZW1vdmUgc2ZlbmNlIGluc3RydWN0aW9uIGFzIGl0J3Mgbm90IG5lZWRlZCBhbmQgYWN0dWFsbHkgaXMgYW4gU1NFCgkgIGluc3RydWN0aW9uLgoKMjAwOC0wNi0yNCAxMDoxMjowOCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEIDExLzU2XSBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHkuYzogQWRkIHBsYWluIE1NWCBpbXBsZW1lbnRhdGlvbiBmb3IgdGhlIGdyZWVkeWwgbWV0aG9kLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHkuYzoKCSAgKGRlaW50ZXJsYWNlX2dyZWVkeV9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14KSwKCSAgKGRlaW50ZXJsYWNlX2dyZWVkeV9wYWNrZWQ0MjJfc2NhbmxpbmUpOgoJICBBZGQgcGxhaW4gTU1YIGltcGxlbWVudGF0aW9uIGZvciB0aGUgZ3JlZWR5bCBtZXRob2QuCgoyMDA4LTA2LTI0IDA5OjQwOjAzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBbTU9WRUQgRlJPTSBCQUQgMTAvNTZdIGdzdC9kZWludGVybGFjZTIvTWFrZWZpbGUuYW06IE1vdmUgdGhlIGFzc2VtYmx5IGluY2x1ZGVzIHRvIG5vaW5zdF9IRUFERVJTIHdoZXJlIHRoZXkgYmVsb25nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL01ha2VmaWxlLmFtOgoJICBNb3ZlIHRoZSBhc3NlbWJseSBpbmNsdWRlcyB0byBub2luc3RfSEVBREVSUyB3aGVyZSB0aGV5IGJlbG9uZy4KCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS92ZmlyLmM6IChkZWludGVybGFjZV9saW5lX2MpLAoJICAoZGVpbnRlcmxhY2VfbGluZV9tbXgpOgoJICBGaXggQyBhbmQgTU1YIGltcGxlbWVudGF0aW9ucyBhIGJpdCBtb3JlLgoKMjAwOC0wNi0yNCAwOToxMDo0NiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEIDA5LzU2XSBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHkuYzogRml4IHRoZSBDIGltcGxlbWVudGF0aW9uIHRvIHByb2R1Y2UgY29ycmVjdCByZXN1bHRzIGFuZCBvcHRpbWl6ZSB0aGUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5LmM6CgkgIChkZWludGVybGFjZV9ncmVlZHlfcGFja2VkNDIyX3NjYW5saW5lX2MpLAoJICAoZGVpbnRlcmxhY2VfZ3JlZWR5X3BhY2tlZDQyMl9zY2FubGluZV9tbXhleHQpLAoJICAoZGVpbnRlcmxhY2VfZ3JlZWR5X3BhY2tlZDQyMl9zY2FubGluZSk6CgkgIEZpeCB0aGUgQyBpbXBsZW1lbnRhdGlvbiB0byBwcm9kdWNlIGNvcnJlY3QgcmVzdWx0cyBhbmQgb3B0aW1pemUgdGhlCgkgIE1NWEVYVCBpbXBsZW1lbnRhdGlvbi4KCSAgSGFuZGxlIG9kZCB3aWR0aHMgYW5kIGRvbid0IHJlYWQgb3ZlciBhcnJheSBib3VuZGFyaWVzIGluIHRoZSBNTVhFWFQKCSAgaW1wbGVtZW50YXRpb24uCgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdmZpci5jOiAoZGVpbnRlcmxhY2VfbGluZV9jKSwKCSAgKGRlaW50ZXJsYWNlX2xpbmVfbW14KSwgKGRlaW50ZXJsYWNlX3NjYW5saW5lX3ZmaXIpOgoJICBGaXggYSBzbWFsbCByb3VuZGluZyBidWcgaW4gdGhlIE1NWCBpbXBsZW1lbnRhdGlvbiwgdGhlIE1NWAoJICBpbXBsZW1lbnRhdGlvbiBkb2Vzbid0IGFjdHVhbGx5IG5lZWQgTU1YRVhUIGluc3RydWN0aW9ucyBzbyBkb24ndCBtYXJrCgkgIGl0IGFzIHN1Y2guCgkgIEhhbmRsZSBvZGQgd2lkdGhzIGluIGJvdGggaW1wbGVtZW50YXRpb25zLgoKMjAwOC0wNi0yMSAwOTowNTowMCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEIDA4LzU2XSBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHkuYzogSW1wbGVtZW50IGEgQyB2ZXJzaW9uIG9mIHRoZSBncmVlZHkgbG93IG1vdGlvbiBhbGdvcml0aG0gYW5kIG1hcmsgdGhlIGFzc2VtYmx5IG9wdGkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5LmM6CgkgIChkZWludGVybGFjZV9ncmVlZHlfcGFja2VkNDIyX3NjYW5saW5lX3NzZSksCgkgIChkZWludGVybGFjZV9ncmVlZHlfcGFja2VkNDIyX3NjYW5saW5lX2MpLAoJICAoZGVpbnRlcmxhY2VfZ3JlZWR5X3BhY2tlZDQyMl9zY2FubGluZSk6CgkgIEltcGxlbWVudCBhIEMgdmVyc2lvbiBvZiB0aGUgZ3JlZWR5IGxvdyBtb3Rpb24gYWxnb3JpdGhtIGFuZCBtYXJrIHRoZQoJICBhc3NlbWJseSBvcHRpbWl6ZWQgdmVyc2lvbiBhcyBTU0UgYXMgaXQgdXNlcyBTU0UgaW5zdHJ1Y3Rpb25zCgkgIGFkZGl0aW9uYWwgdG8gTU1YIGluc3RydWN0aW9ucy4KCjIwMDgtMDYtMjAgMTQ6NDg6NDAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAwNy81Nl0gZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdmZpci5jOiBNYWtlIGl0IHBvc3NpYmxlIHRvIHVzZSB0aGUgdmZpciBtZXRob2Qgb24gWDg2IENQVXMgd2l0aG91dCBNTVhFWFQgdG9vIGJ1dCB1c2UgdGhlIE1NLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3ZmaXIuYzogKGRlaW50ZXJsYWNlX2xpbmVfbW14ZXh0KSwKCSAgKGRlaW50ZXJsYWNlX2xpbmVfYyksIChkZWludGVybGFjZV9zY2FubGluZV92ZmlyKToKCSAgTWFrZSBpdCBwb3NzaWJsZSB0byB1c2UgdGhlIHZmaXIgbWV0aG9kIG9uIFg4NiBDUFVzIHdpdGhvdXQgTU1YRVhUIHRvbwoJICBidXQgdXNlIHRoZSBNTVhFWFQgb3B0aW1pemVkIGNvZGUgd2hlbmV2ZXIgcG9zc2libGUuCgoyMDA4LTA2LTIwIDE0OjM1OjI1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBbTU9WRUQgRlJPTSBCQUQgMDYvNTZdIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLio6IFJlc2V0IGVsZW1lbnQgc3RhdGUgb24gUEFVU0VELT5SRUFEWSBwcm9wZXJseSwgZG9uJ3QgbGVhayBhbnkgYnVmZmVycyB3aGVuIGZpbmFsaS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOgoJICAoZ3N0X2RlaW50ZXJsYWNlMl9jbGFzc19pbml0KSwgKGdzdF9kZWludGVybGFjZTJfaW5pdCksCgkgIChnc3RfZGVpbnRlcmxhY2UyX3Jlc2V0X2hpc3RvcnkpLCAoZ3N0X2RlaW50ZXJsYWNlMl9yZXNldCksCgkgIChnc3RfZGVpbnRlcmxhY2UyX2ZpbmFsaXplKSwgKGdzdF9kZWludGVybGFjZTJfY2hhaW4pLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9zaW5rX2V2ZW50KSwgKGdzdF9kZWludGVybGFjZTJfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9kZWludGVybGFjZTJfc3JjX3F1ZXJ5KToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5oOgoJICBSZXNldCBlbGVtZW50IHN0YXRlIG9uIFBBVVNFRC0+UkVBRFkgcHJvcGVybHksIGRvbid0IGxlYWsgYW55IGJ1ZmZlcnMKCSAgd2hlbiBmaW5hbGl6aW5nLCBhbGxvY2F0ZSBidWZmZXJzIHdpdGggZ3N0X3BhZF9hbGxvY19idWZmZXIoKSBhbmQKCSAgcHJvcGVybHkgcmV0dXJuIGZsb3cgcmV0dXJucyBmcm9tIGdzdF9wYWRfcHVzaCgpIGluc3RlYWQgb2YgaWdub3JpbmcgdGhlbS4KCjIwMDgtMDYtMjAgMTM6NDU6MDggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAwNS81Nl0gZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC90b21zbW9jb21wbWFjcm9zLmg6IEFkZCBtaXNzaW5nIGhlYWRlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC90b21zbW9jb21wbWFjcm9zLmg6CgkgIEFkZCBtaXNzaW5nIGhlYWRlci4KCjIwMDgtMDYtMjAgMTM6MjQ6MjkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAwNC81Nl0gRml4IGNvbXBpbGF0aW9uIG9uIGdlbmVyaWMgeDg2L2FtZDY0IGFuZCBpbmNsdWRlIGRlaW50ZXJsYWNlMiBpbiB0aGUgYnVpbGQgc3lzdGVtLiBCZWNhdXNlIG9mIHNldmVyYWwgYnVncyBpdCdzIHN0aWxsLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWguYXNtOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcEJvdHRvbS5pbmM6CgkgIEZpeCBjb21waWxhdGlvbiBvbiBnZW5lcmljIHg4Ni9hbWQ2NCBhbmQgaW5jbHVkZSBkZWludGVybGFjZTIgaW4gdGhlCgkgIGJ1aWxkIHN5c3RlbS4gQmVjYXVzZSBvZiBzZXZlcmFsIGJ1Z3MgaXQncyBzdGlsbCBlbmFibGVkIG9ubHkKCSAgYnkgLS1lbmFibGUtZXhwZXJpbWVudGFsLgoKMjAwOC0wNi0xOCAwNjozMToxMyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgW01PVkVEIEZST00gQkFEIDAzLzU2XSBGaXggZ3RrLWRvYyB3YXJuaW5ncy4gQWxzbyBkb24ndCBtaXN1c2UgYXBpLWRvYyBjb21tZW50cyBmb3Igbm9ybWFsIGNvbW1lbnRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGV4YW1wbGVzL2FwcC9hcHBzcmMtcmEuYzoKCSAgKiBleGFtcGxlcy9hcHAvYXBwc3JjLXNlZWthYmxlLmM6CgkgICogZXhhbXBsZXMvYXBwL2FwcHNyYy1zdHJlYW0uYzoKCSAgKiBleGFtcGxlcy9hcHAvYXBwc3JjLXN0cmVhbTIuYzoKCSAgKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmg6CgkgICogZXh0L21ldGFkYXRhL2dzdGJhc2VtZXRhZGF0YS5jOgoJICAqIGV4dC9tZXRhZGF0YS9nc3RiYXNlbWV0YWRhdGEuaDoKCSAgKiBleHQvbWV0YWRhdGEvbWV0YWRhdGEuYzoKCSAgKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFleGlmLmM6CgkgICogZXh0L3RoZW9yYS90aGVvcmFkZWMuaDoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5oOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3NwZWVkeS5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3NwZWVkeS5oOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3ZmaXIuYzoKCSAgRml4IGd0ay1kb2Mgd2FybmluZ3MuIEFsc28gZG9uJ3QgbWlzdXNlIGFwaS1kb2MgY29tbWVudHMgZm9yIG5vcm1hbAoJICBjb21tZW50cy4KCjIwMDgtMDYtMTEgMTE6MTI6NDkgKzAwMDAgIE1hcnRpbiBFaWtlcm1hbm4gPG1laWtlckB1cGIuZGU+CgoJICBbTU9WRUQgRlJPTSBCQUQgMDIvNTZdIGdzdC9kZWludGVybGFjZTIvOiBBZGQgYSBkZWludGVybGFjZXIgcGx1Z2luIGJhc2VkIG9uIHRoZSB0dnRpbWUvRFNjYWxlciBkZWludGVybGFjZXIsIHdoaWNoIHdhcyByZWxpY2Vuc2VkIHRvIExHUEwgZi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQmFzZWQgb24gYSBwYXRjaCBieTogTWFydGluIEVpa2VybWFubiA8bWVpa2VyIGF0IHVwYiBkb3QgZGU+CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOgoJICAoZ3N0X2RlaW50ZXJsYWNlMl9tZXRob2RfZ2V0X3R5cGUpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9maWVsZHNfZ2V0X3R5cGUpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9maWVsZF9sYXlvdXRfZ2V0X3R5cGUpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9iYXNlX2luaXQpLCAoZ3N0X2RlaW50ZXJsYWNlMl9jbGFzc19pbml0KSwKCSAgKGdzdF9kZWludGVybGFjZTJfaW5pdCksIChnc3RfZGVpbnRlcmxhY2UyX3NldF9tZXRob2QpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9zZXRfcHJvcGVydHkpLCAoZ3N0X2RlaW50ZXJsYWNlMl9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9maW5hbGl6ZSksIChnc3RfZGVpbnRlcmxhY2UyX3BvcF9oaXN0b3J5KSwKCSAgKGdzdF9kZWludGVybGFjZTJfaGVhZF9oaXN0b3J5KSwgKGdzdF9kZWludGVybGFjZTJfcHVzaF9oaXN0b3J5KSwKCSAgKGdzdF9kZWludGVybGFjZTJfZGVpbnRlcmxhY2Vfc2NhbmxpbmVzKSwgKGdzdF9kZWludGVybGFjZTJfY2hhaW4pLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9zZXRjYXBzKSwgKGdzdF9kZWludGVybGFjZTJfc2lua19ldmVudCksCgkgIChnc3RfZGVpbnRlcmxhY2UyX2NoYW5nZV9zdGF0ZSksIChnc3RfZGVpbnRlcmxhY2UyX3NyY19ldmVudCksCgkgIChnc3RfZGVpbnRlcmxhY2UyX3NyY19xdWVyeSksIChnc3RfZGVpbnRlcmxhY2UyX3NyY19xdWVyeV90eXBlcyksCgkgIChwbHVnaW5faW5pdCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuaDoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHkuYzogKGNvcHlfc2NhbmxpbmUpLAoJICAoZGVpbnRlcmxhY2VfZ3JlZWR5X3BhY2tlZDQyMl9zY2FubGluZV9tbXhleHQpLAoJICAoZHNjYWxlcl9ncmVlZHlsX2dldF9tZXRob2QpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWguYXNtOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWguYzoKCSAgKGRlaW50ZXJsYWNlX2ZyYW1lX2RpX2dyZWVkeWgpLCAoZHNjYWxlcl9ncmVlZHloX2dldF9tZXRob2QpLAoJICAoZ3JlZWR5aF9pbml0KSwgKGdyZWVkeWhfZmlsdGVyX21teCksIChncmVlZHloX2ZpbHRlcl8zZG5vdyksCgkgIChncmVlZHloX2ZpbHRlcl9zc2UpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWguaDoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHlobWFjcm9zLmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvbW14Lmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvcGx1Z2lucy5oOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3NwZWVkdG9vbHMuaDoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9zcGVlZHkuYzogKG11bHRpcGx5X2FscGhhKSwgKGNsaXAyNTUpLAoJICAoY29tYl9mYWN0b3JfcGFja2VkNDIyX3NjYW5saW5lX21teCksCgkgIChkaWZmX2ZhY3Rvcl9wYWNrZWQ0MjJfc2NhbmxpbmVfYyksCgkgIChkaWZmX2ZhY3Rvcl9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14KSwKCSAgKGRpZmZfcGFja2VkNDIyX2Jsb2NrOHg4X21teCksIChkaWZmX3BhY2tlZDQyMl9ibG9jazh4OF9jKSwKCSAgKHBhY2tlZDQ0NF90b19wYWNrZWQ0MjJfc2NhbmxpbmVfYyksCgkgIChwYWNrZWQ0MjJfdG9fcGFja2VkNDQ0X3NjYW5saW5lX2MpLAoJICAocGFja2VkNDIyX3RvX3BhY2tlZDQ0NF9yZWM2MDFfc2NhbmxpbmVfYyksCgkgICh2ZmlsdGVyX2Nocm9tYV8xMjFfcGFja2VkNDIyX3NjYW5saW5lX21teCksCgkgICh2ZmlsdGVyX2Nocm9tYV8xMjFfcGFja2VkNDIyX3NjYW5saW5lX2MpLAoJICAodmZpbHRlcl9jaHJvbWFfMzMyX3BhY2tlZDQyMl9zY2FubGluZV9tbXgpLAoJICAodmZpbHRlcl9jaHJvbWFfMzMyX3BhY2tlZDQyMl9zY2FubGluZV9jKSwKCSAgKGtpbGxfY2hyb21hX3BhY2tlZDQyMl9pbnBsYWNlX3NjYW5saW5lX21teCksCgkgIChraWxsX2Nocm9tYV9wYWNrZWQ0MjJfaW5wbGFjZV9zY2FubGluZV9jKSwKCSAgKGludmVydF9jb2xvdXJfcGFja2VkNDIyX2lucGxhY2Vfc2NhbmxpbmVfbW14KSwKCSAgKGludmVydF9jb2xvdXJfcGFja2VkNDIyX2lucGxhY2Vfc2NhbmxpbmVfYyksCgkgIChtaXJyb3JfcGFja2VkNDIyX2lucGxhY2Vfc2NhbmxpbmVfYyksCgkgIChpbnRlcnBvbGF0ZV9wYWNrZWQ0MjJfc2NhbmxpbmVfYyksCgkgIChjb252ZXJ0X3V5dnlfdG9feXV5dl9zY2FubGluZV9tbXgpLAoJICAoY29udmVydF91eXZ5X3RvX3l1eXZfc2NhbmxpbmVfYyksCgkgIChpbnRlcnBvbGF0ZV9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14KSwKCSAgKGludGVycG9sYXRlX3BhY2tlZDQyMl9zY2FubGluZV9tbXhleHQpLAoJICAoYmxpdF9jb2xvdXJfcGFja2VkNDIyX3NjYW5saW5lX2MpLAoJICAoYmxpdF9jb2xvdXJfcGFja2VkNDIyX3NjYW5saW5lX21teCksCgkgIChibGl0X2NvbG91cl9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14ZXh0KSwKCSAgKGJsaXRfY29sb3VyX3BhY2tlZDQ0NDRfc2NhbmxpbmVfYyksCgkgIChibGl0X2NvbG91cl9wYWNrZWQ0NDQ0X3NjYW5saW5lX21teCksCgkgIChibGl0X2NvbG91cl9wYWNrZWQ0NDQ0X3NjYW5saW5lX21teGV4dCksIChzbWFsbF9tZW1jcHkpLAoJICAoc3BlZWR5X21lbWNweV9jKSwgKHNwZWVkeV9tZW1jcHlfbW14KSwgKHNwZWVkeV9tZW1jcHlfbW14ZXh0KSwKCSAgKGJsaXRfcGFja2VkNDIyX3NjYW5saW5lX2MpLCAoYmxpdF9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14KSwKCSAgKGJsaXRfcGFja2VkNDIyX3NjYW5saW5lX21teGV4dCksCgkgIChjb21wb3NpdGVfY29sb3VyNDQ0NF9hbHBoYV90b19wYWNrZWQ0MjJfc2NhbmxpbmVfYyksCgkgIChjb21wb3NpdGVfY29sb3VyNDQ0NF9hbHBoYV90b19wYWNrZWQ0MjJfc2NhbmxpbmVfbW14ZXh0KSwKCSAgKGNvbXBvc2l0ZV9wYWNrZWQ0NDQ0X2FscGhhX3RvX3BhY2tlZDQyMl9zY2FubGluZV9jKSwKCSAgKGNvbXBvc2l0ZV9wYWNrZWQ0NDQ0X2FscGhhX3RvX3BhY2tlZDQyMl9zY2FubGluZV9tbXhleHQpLAoJICAoY29tcG9zaXRlX3BhY2tlZDQ0NDRfdG9fcGFja2VkNDIyX3NjYW5saW5lX2MpLAoJICAoY29tcG9zaXRlX3BhY2tlZDQ0NDRfdG9fcGFja2VkNDIyX3NjYW5saW5lX21teGV4dCksCgkgIChjb21wb3NpdGVfYWxwaGFtYXNrX3RvX3BhY2tlZDQ0NDRfc2NhbmxpbmVfYyksCgkgIChjb21wb3NpdGVfYWxwaGFtYXNrX3RvX3BhY2tlZDQ0NDRfc2NhbmxpbmVfbW14ZXh0KSwKCSAgKGNvbXBvc2l0ZV9hbHBoYW1hc2tfYWxwaGFfdG9fcGFja2VkNDQ0NF9zY2FubGluZV9jKSwKCSAgKHByZW11bHRpcGx5X3BhY2tlZDQ0NDRfc2NhbmxpbmVfYyksCgkgIChwcmVtdWx0aXBseV9wYWNrZWQ0NDQ0X3NjYW5saW5lX21teGV4dCksCgkgIChibGVuZF9wYWNrZWQ0MjJfc2NhbmxpbmVfYyksIChibGVuZF9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14ZXh0KSwKCSAgKHF1YXJ0ZXJfYmxpdF92ZXJ0aWNhbF9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14ZXh0KSwKCSAgKHF1YXJ0ZXJfYmxpdF92ZXJ0aWNhbF9wYWNrZWQ0MjJfc2NhbmxpbmVfYyksCgkgIChzdWJwaXhfYmxpdF92ZXJ0aWNhbF9wYWNrZWQ0MjJfc2NhbmxpbmVfYyksCgkgIChhOF9zdWJwaXhfYmxpdF9zY2FubGluZV9jKSwgKG15cm91bmQpLCAoaW5pdF9SR0JfdG9fWUNiQ3JfdGFibGVzKSwKCSAgKGluaXRfWUNiQ3JfdG9fUkdCX3RhYmxlcyksIChyZ2IyNF90b19wYWNrZWQ0NDRfcmVjNjAxX3NjYW5saW5lX2MpLAoJICAocmdiYTMyX3RvX3BhY2tlZDQ0NDRfcmVjNjAxX3NjYW5saW5lX2MpLAoJICAocGFja2VkNDQ0X3RvX3JnYjI0X3JlYzYwMV9zY2FubGluZV9jKSwKCSAgKHBhY2tlZDQ0NF90b19ub25wcmVtdWx0aXBsaWVkX3BhY2tlZDQ0NDRfc2NhbmxpbmVfYyksCgkgIChhc3BlY3RfYWRqdXN0X3BhY2tlZDQ0NDRfc2NhbmxpbmVfYyksIChzZXR1cF9zcGVlZHlfY2FsbHMpLAoJICAoc3BlZWR5X2dldF9hY2NlbCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvc3BlZWR5Lmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvc3NlLmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC5jOiAoRmllbGRjb3B5KSwKCSAgKGRlaW50ZXJsYWNlX2ZyYW1lX2RpX3RvbXNtb2NvbXApLCAoZHNjYWxlcl90b21zbW9jb21wX2dldF9tZXRob2QpLAoJICAodG9tc21vY29tcF9pbml0KSwgKHRvbXNtb2NvbXBfZmlsdGVyX21teCksCgkgICh0b21zbW9jb21wX2ZpbHRlcl8zZG5vdyksICh0b21zbW9jb21wX2ZpbHRlcl9zc2UpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAuaDoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3AwQS5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wQm90dG9tLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BFZGdlQS5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wRWRnZUE4LmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BPZGRBLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BPZGRBMi5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wT2RkQTYuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcE9kZEFILmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BPZGRBSDIuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcFRvcC5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wVkEuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcFZBSC5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TdHJhbmdlQm9iLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1RvbXNNb0NvbXBBbGwuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvVG9tc01vQ29tcEFsbDIuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvV2llcmRCb2IuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3ZmaXIuYzogKGRlaW50ZXJsYWNlX2xpbmUpLAoJICAoZGVpbnRlcmxhY2Vfc2NhbmxpbmVfdmZpciksIChjb3B5X3NjYW5saW5lKSwKCSAgKGRzY2FsZXJfdmZpcl9nZXRfbWV0aG9kKToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS94ODYtNjRfbWFjcm9zLmluYzoKCSAgQWRkIGEgZGVpbnRlcmxhY2VyIHBsdWdpbiBiYXNlZCBvbiB0aGUgdHZ0aW1lL0RTY2FsZXIgZGVpbnRlcmxhY2VyLAoJICB3aGljaCB3YXMgcmVsaWNlbnNlZCB0byBMR1BMIGZvciBHU3RyZWFtZXIgYW5kIGluIHRoZW9yeSBwcm92aWRlcwoJICBiZXR0ZXIgYW5kIGZhc3RlciByZXN1bHRzIHRoYW4gdGhlIHNpbXBsZSBkZWludGVybGFjZSBlbGVtZW50LgoJICBGaXhlcyBidWcgIzE2MzU3OC4KCSAgUG9ydGVkIHRvIEdTdHJlYW1lciAwLjEwIGJ1dCBzdGlsbCBub3QgZW5hYmxlZCBvciBpbmNsdWRlZCBpbiB0aGUKCSAgYnVpbGQgc3lzdGVtIGJ5IGRlZmF1bHQgYmVjYXVzZSBvZiBiYWQgYXJ0ZWZhY3RzIGNhdXNlZCBieSBhIGJ1ZwoJICBzb21ld2hlcmUgYW5kIGFzIGl0IGNhbiBiZSBvbmx5IGJ1aWxkIG9uIHg4Ni9hbWQ2NCBBVE0gYW5kIHJlcXVpcmVzCgkgIHNwZWNpYWwgQ0ZMQUdTLiBXaWxsIGJlIGZpeGVkIHNvb24uCgoyMDA4LTA2LTExIDExOjEyOjE0ICswMDAwICBNYXJ0aW4gRWlrZXJtYW5uIDxtZWlrZXJAdXBiLmRlPgoKCSAgW01PVkVEIEZST00gQkFEIDAxLzU2XSBnc3QvZGVpbnRlcmxhY2UyLzogQWRkIGEgZGVpbnRlcmxhY2VyIHBsdWdpbiBiYXNlZCBvbiB0aGUgdHZ0aW1lL0RTY2FsZXIgZGVpbnRlcmxhY2VyLCB3aGljaCB3YXMgcmVsaWNlbnNlZCB0byBMR1BMIGYuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEJhc2VkIG9uIGEgcGF0Y2ggYnk6IE1hcnRpbiBFaWtlcm1hbm4gPG1laWtlciBhdCB1cGIgZG90IGRlPgoJICAqIGdzdC9kZWludGVybGFjZTIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzoKCSAgKGdzdF9kZWludGVybGFjZTJfbWV0aG9kX2dldF90eXBlKSwKCSAgKGdzdF9kZWludGVybGFjZTJfZmllbGRzX2dldF90eXBlKSwKCSAgKGdzdF9kZWludGVybGFjZTJfZmllbGRfbGF5b3V0X2dldF90eXBlKSwKCSAgKGdzdF9kZWludGVybGFjZTJfYmFzZV9pbml0KSwgKGdzdF9kZWludGVybGFjZTJfY2xhc3NfaW5pdCksCgkgIChnc3RfZGVpbnRlcmxhY2UyX2luaXQpLCAoZ3N0X2RlaW50ZXJsYWNlMl9zZXRfbWV0aG9kKSwKCSAgKGdzdF9kZWludGVybGFjZTJfc2V0X3Byb3BlcnR5KSwgKGdzdF9kZWludGVybGFjZTJfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9kZWludGVybGFjZTJfZmluYWxpemUpLCAoZ3N0X2RlaW50ZXJsYWNlMl9wb3BfaGlzdG9yeSksCgkgIChnc3RfZGVpbnRlcmxhY2UyX2hlYWRfaGlzdG9yeSksIChnc3RfZGVpbnRlcmxhY2UyX3B1c2hfaGlzdG9yeSksCgkgIChnc3RfZGVpbnRlcmxhY2UyX2RlaW50ZXJsYWNlX3NjYW5saW5lcyksIChnc3RfZGVpbnRlcmxhY2UyX2NoYWluKSwKCSAgKGdzdF9kZWludGVybGFjZTJfc2V0Y2FwcyksIChnc3RfZGVpbnRlcmxhY2UyX3NpbmtfZXZlbnQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9jaGFuZ2Vfc3RhdGUpLCAoZ3N0X2RlaW50ZXJsYWNlMl9zcmNfZXZlbnQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9zcmNfcXVlcnkpLCAoZ3N0X2RlaW50ZXJsYWNlMl9zcmNfcXVlcnlfdHlwZXMpLAoJICAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5LmM6IChjb3B5X3NjYW5saW5lKSwKCSAgKGRlaW50ZXJsYWNlX2dyZWVkeV9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14ZXh0KSwKCSAgKGRzY2FsZXJfZ3JlZWR5bF9nZXRfbWV0aG9kKToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHloLmFzbToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHloLmM6CgkgIChkZWludGVybGFjZV9mcmFtZV9kaV9ncmVlZHloKSwgKGRzY2FsZXJfZ3JlZWR5aF9nZXRfbWV0aG9kKSwKCSAgKGdyZWVkeWhfaW5pdCksIChncmVlZHloX2ZpbHRlcl9tbXgpLCAoZ3JlZWR5aF9maWx0ZXJfM2Rub3cpLAoJICAoZ3JlZWR5aF9maWx0ZXJfc3NlKToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHloLmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aG1hY3Jvcy5oOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL21teC5oOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3BsdWdpbnMuaDoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9zcGVlZHRvb2xzLmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvc3BlZWR5LmM6IChtdWx0aXBseV9hbHBoYSksIChjbGlwMjU1KSwKCSAgKGNvbWJfZmFjdG9yX3BhY2tlZDQyMl9zY2FubGluZV9tbXgpLAoJICAoZGlmZl9mYWN0b3JfcGFja2VkNDIyX3NjYW5saW5lX2MpLAoJICAoZGlmZl9mYWN0b3JfcGFja2VkNDIyX3NjYW5saW5lX21teCksCgkgIChkaWZmX3BhY2tlZDQyMl9ibG9jazh4OF9tbXgpLCAoZGlmZl9wYWNrZWQ0MjJfYmxvY2s4eDhfYyksCgkgIChwYWNrZWQ0NDRfdG9fcGFja2VkNDIyX3NjYW5saW5lX2MpLAoJICAocGFja2VkNDIyX3RvX3BhY2tlZDQ0NF9zY2FubGluZV9jKSwKCSAgKHBhY2tlZDQyMl90b19wYWNrZWQ0NDRfcmVjNjAxX3NjYW5saW5lX2MpLAoJICAodmZpbHRlcl9jaHJvbWFfMTIxX3BhY2tlZDQyMl9zY2FubGluZV9tbXgpLAoJICAodmZpbHRlcl9jaHJvbWFfMTIxX3BhY2tlZDQyMl9zY2FubGluZV9jKSwKCSAgKHZmaWx0ZXJfY2hyb21hXzMzMl9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14KSwKCSAgKHZmaWx0ZXJfY2hyb21hXzMzMl9wYWNrZWQ0MjJfc2NhbmxpbmVfYyksCgkgIChraWxsX2Nocm9tYV9wYWNrZWQ0MjJfaW5wbGFjZV9zY2FubGluZV9tbXgpLAoJICAoa2lsbF9jaHJvbWFfcGFja2VkNDIyX2lucGxhY2Vfc2NhbmxpbmVfYyksCgkgIChpbnZlcnRfY29sb3VyX3BhY2tlZDQyMl9pbnBsYWNlX3NjYW5saW5lX21teCksCgkgIChpbnZlcnRfY29sb3VyX3BhY2tlZDQyMl9pbnBsYWNlX3NjYW5saW5lX2MpLAoJICAobWlycm9yX3BhY2tlZDQyMl9pbnBsYWNlX3NjYW5saW5lX2MpLAoJICAoaW50ZXJwb2xhdGVfcGFja2VkNDIyX3NjYW5saW5lX2MpLAoJICAoY29udmVydF91eXZ5X3RvX3l1eXZfc2NhbmxpbmVfbW14KSwKCSAgKGNvbnZlcnRfdXl2eV90b195dXl2X3NjYW5saW5lX2MpLAoJICAoaW50ZXJwb2xhdGVfcGFja2VkNDIyX3NjYW5saW5lX21teCksCgkgIChpbnRlcnBvbGF0ZV9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14ZXh0KSwKCSAgKGJsaXRfY29sb3VyX3BhY2tlZDQyMl9zY2FubGluZV9jKSwKCSAgKGJsaXRfY29sb3VyX3BhY2tlZDQyMl9zY2FubGluZV9tbXgpLAoJICAoYmxpdF9jb2xvdXJfcGFja2VkNDIyX3NjYW5saW5lX21teGV4dCksCgkgIChibGl0X2NvbG91cl9wYWNrZWQ0NDQ0X3NjYW5saW5lX2MpLAoJICAoYmxpdF9jb2xvdXJfcGFja2VkNDQ0NF9zY2FubGluZV9tbXgpLAoJICAoYmxpdF9jb2xvdXJfcGFja2VkNDQ0NF9zY2FubGluZV9tbXhleHQpLCAoc21hbGxfbWVtY3B5KSwKCSAgKHNwZWVkeV9tZW1jcHlfYyksIChzcGVlZHlfbWVtY3B5X21teCksIChzcGVlZHlfbWVtY3B5X21teGV4dCksCgkgIChibGl0X3BhY2tlZDQyMl9zY2FubGluZV9jKSwgKGJsaXRfcGFja2VkNDIyX3NjYW5saW5lX21teCksCgkgIChibGl0X3BhY2tlZDQyMl9zY2FubGluZV9tbXhleHQpLAoJICAoY29tcG9zaXRlX2NvbG91cjQ0NDRfYWxwaGFfdG9fcGFja2VkNDIyX3NjYW5saW5lX2MpLAoJICAoY29tcG9zaXRlX2NvbG91cjQ0NDRfYWxwaGFfdG9fcGFja2VkNDIyX3NjYW5saW5lX21teGV4dCksCgkgIChjb21wb3NpdGVfcGFja2VkNDQ0NF9hbHBoYV90b19wYWNrZWQ0MjJfc2NhbmxpbmVfYyksCgkgIChjb21wb3NpdGVfcGFja2VkNDQ0NF9hbHBoYV90b19wYWNrZWQ0MjJfc2NhbmxpbmVfbW14ZXh0KSwKCSAgKGNvbXBvc2l0ZV9wYWNrZWQ0NDQ0X3RvX3BhY2tlZDQyMl9zY2FubGluZV9jKSwKCSAgKGNvbXBvc2l0ZV9wYWNrZWQ0NDQ0X3RvX3BhY2tlZDQyMl9zY2FubGluZV9tbXhleHQpLAoJICAoY29tcG9zaXRlX2FscGhhbWFza190b19wYWNrZWQ0NDQ0X3NjYW5saW5lX2MpLAoJICAoY29tcG9zaXRlX2FscGhhbWFza190b19wYWNrZWQ0NDQ0X3NjYW5saW5lX21teGV4dCksCgkgIChjb21wb3NpdGVfYWxwaGFtYXNrX2FscGhhX3RvX3BhY2tlZDQ0NDRfc2NhbmxpbmVfYyksCgkgIChwcmVtdWx0aXBseV9wYWNrZWQ0NDQ0X3NjYW5saW5lX2MpLAoJICAocHJlbXVsdGlwbHlfcGFja2VkNDQ0NF9zY2FubGluZV9tbXhleHQpLAoJICAoYmxlbmRfcGFja2VkNDIyX3NjYW5saW5lX2MpLCAoYmxlbmRfcGFja2VkNDIyX3NjYW5saW5lX21teGV4dCksCgkgIChxdWFydGVyX2JsaXRfdmVydGljYWxfcGFja2VkNDIyX3NjYW5saW5lX21teGV4dCksCgkgIChxdWFydGVyX2JsaXRfdmVydGljYWxfcGFja2VkNDIyX3NjYW5saW5lX2MpLAoJICAoc3VicGl4X2JsaXRfdmVydGljYWxfcGFja2VkNDIyX3NjYW5saW5lX2MpLAoJICAoYThfc3VicGl4X2JsaXRfc2NhbmxpbmVfYyksIChteXJvdW5kKSwgKGluaXRfUkdCX3RvX1lDYkNyX3RhYmxlcyksCgkgIChpbml0X1lDYkNyX3RvX1JHQl90YWJsZXMpLCAocmdiMjRfdG9fcGFja2VkNDQ0X3JlYzYwMV9zY2FubGluZV9jKSwKCSAgKHJnYmEzMl90b19wYWNrZWQ0NDQ0X3JlYzYwMV9zY2FubGluZV9jKSwKCSAgKHBhY2tlZDQ0NF90b19yZ2IyNF9yZWM2MDFfc2NhbmxpbmVfYyksCgkgIChwYWNrZWQ0NDRfdG9fbm9ucHJlbXVsdGlwbGllZF9wYWNrZWQ0NDQ0X3NjYW5saW5lX2MpLAoJICAoYXNwZWN0X2FkanVzdF9wYWNrZWQ0NDQ0X3NjYW5saW5lX2MpLCAoc2V0dXBfc3BlZWR5X2NhbGxzKSwKCSAgKHNwZWVkeV9nZXRfYWNjZWwpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3NwZWVkeS5oOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3NzZS5oOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAuYzogKEZpZWxkY29weSksCgkgIChkZWludGVybGFjZV9mcmFtZV9kaV90b21zbW9jb21wKSwgKGRzY2FsZXJfdG9tc21vY29tcF9nZXRfbWV0aG9kKSwKCSAgKHRvbXNtb2NvbXBfaW5pdCksICh0b21zbW9jb21wX2ZpbHRlcl9tbXgpLAoJICAodG9tc21vY29tcF9maWx0ZXJfM2Rub3cpLCAodG9tc21vY29tcF9maWx0ZXJfc3NlKToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wLmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wMEEuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcEJvdHRvbS5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wRWRnZUEuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcEVkZ2VBOC5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wT2RkQS5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wT2RkQTIuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcE9kZEE2LmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BPZGRBSC5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wT2RkQUgyLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BUb3AuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcFZBLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BWQUguaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU3RyYW5nZUJvYi5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9Ub21zTW9Db21wQWxsLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1RvbXNNb0NvbXBBbGwyLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1dpZXJkQm9iLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS92ZmlyLmM6IChkZWludGVybGFjZV9saW5lKSwKCSAgKGRlaW50ZXJsYWNlX3NjYW5saW5lX3ZmaXIpLCAoY29weV9zY2FubGluZSksCgkgIChkc2NhbGVyX3ZmaXJfZ2V0X21ldGhvZCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUveDg2LTY0X21hY3Jvcy5pbmM6CgkgIEFkZCBhIGRlaW50ZXJsYWNlciBwbHVnaW4gYmFzZWQgb24gdGhlIHR2dGltZS9EU2NhbGVyIGRlaW50ZXJsYWNlciwKCSAgd2hpY2ggd2FzIHJlbGljZW5zZWQgdG8gTEdQTCBmb3IgR1N0cmVhbWVyIGFuZCBpbiB0aGVvcnkgcHJvdmlkZXMKCSAgYmV0dGVyIGFuZCBmYXN0ZXIgcmVzdWx0cyB0aGFuIHRoZSBzaW1wbGUgZGVpbnRlcmxhY2UgZWxlbWVudC4KCSAgRml4ZXMgYnVnICMxNjM1NzguCgkgIFBvcnRlZCB0byBHU3RyZWFtZXIgMC4xMCBidXQgc3RpbGwgbm90IGVuYWJsZWQgb3IgaW5jbHVkZWQgaW4gdGhlCgkgIGJ1aWxkIHN5c3RlbSBieSBkZWZhdWx0IGJlY2F1c2Ugb2YgYmFkIGFydGVmYWN0cyBjYXVzZWQgYnkgYSBidWcKCSAgc29tZXdoZXJlIGFuZCBhcyBpdCBjYW4gYmUgb25seSBidWlsZCBvbiB4ODYvYW1kNjQgQVRNIGFuZCByZXF1aXJlcwoJICBzcGVjaWFsIENGTEFHUy4gV2lsbCBiZSBmaXhlZCBzb29uLgoKMjAwOS0wNS0xMyAxMDozMDozNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGZsdjogQWN0dWFsbHkgYWRkIHRoZSBmbHYgcGx1Z2luIHRvIGNvbmZpZ3VyZS5hYwoKMjAwOS0wNS0xMyAwOToyNDoyNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvZmxhY2RlYy5jOgoJICBjaGVja3M6IGZpeCBmbGFjZGVjIHVuaXQgdGVzdHMgb24gYmlnLWVuZGlhbiBtYWNoaW5lcyBhbmQgdW5kZXIgdmFsZ3JpbmQKCSAgRmxhY2RlYyBvdXRwdXRzIDE2LWJpdCBzYW1wbGVzLCBzbyBsZXQncyBjaGVjayBpZiB0aGUgdmFsdWUgb2YgdGhlIGZpcnN0CgkgIHNhbXBsZSBpcyB3aGF0IHdlIGV4cGVjdCByYXRoZXIgdGhhbiBqdXN0IHRoZSBmaXJzdCBieXRlLCB3aGljaCBtYXkgYmUKCSAgZGlmZmVyZW50IGZyb20gd2hhdCB3ZSBleHBlY3QgZGVwZW5kaW5nIG9uIHRoZSBob3N0J3MgZW5kaWFubmVzcy4gRml4ZXMKCSAgdGhlIGZsYWNkZWMgdW5pdCB0ZXN0cyBvbiBQUEMuIEFsc28gZml4IGEgYnVuY2ggb2YgbGVha3MgaW4gdGhlIHVuaXQKCSAgdGVzdHMgdG8gbWFrZSB2YWxncmluZCBoYXBweS4gRml4ZXMgIzU4MjQyMC4KCjIwMDktMDUtMTMgMDk6MTg6MDcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJICBmbGFjZGVjOiBmaXggYnVmZmVyIGxlYWsKCSAgZ3N0X2J1ZmZlcl9yZXBsYWNlKCkgd2lsbCB0YWtlIGl0cyBvd24gcmVmLCBzbyB3ZSBzdGlsbCBoYXZlCgkgIHRvIHVucmVmIHRoZSBidWZmZXIgaWYgd2UgZG9uJ3QgbmVlZCBpdCBhbnkgbG9uZ2VyLgoKMjAwOS0wNS0xMiAyMToyMDowNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBGaXggcG9pbnRlciBhcml0aG1ldGljCgkgIFRoaXMgZml4ZXMgYSBzZWVraW5nIHJlZ3Jlc3Npb24sIGJ1ZyAjMTM0NTIyLgoKMjAwOS0wNS0xMiAyMTozNjozMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFubm9kZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhbW1hLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oYWxlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9ub3Njb3BlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXVpY2t0aW1lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYmFsYW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9mbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSAgTW92ZWQgJ2ZsdicgZnJvbSAtYmFkIHRvIC1nb29kCgoyMDA5LTA1LTA3IDE3OjUzOjQyICswMTAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPGNocmlzdGlhbi5zY2hhbGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCA1Ny81N10gQWRkIHJhbmtzIHRvIHZhcmlvdXMgbXV4ZXJzIGFuZCBlbmNvZGVycyBpbiAtYmFkCgoyMDA5LTA0LTI5IDE4OjUyOjIwICswMTAwICBUcmlzdGFuIE1hdHRoZXdzIDxsZS5idXNpbmVzc21hbkBnbWFpbC5jb20+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJICBbTU9WRUQgRlJPTSBCQUQgNTYvNTddIGZsdm11eDogaW5pdCB2YXJpYWJsZSB0byBOVUxMIHRvIGZpeCBjb21waWxlciB3YXJuaW5nCgkgIEZpeGVzICM1ODA3ODYuCgoyMDA5LTA0LTI5IDEzOjU2OjA3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzoKCSAgW01PVkVEIEZST00gQkFEIDU1LzU3XSBmbHY6IFNldC9yZXF1aXJlIHRoZSBmcmFtZWQvcGFyc2VkIGZpZWxkcyBvZiB0aGUgYXVkaW8vbXBlZyBjYXBzIHRvIFRSVUUKCjIwMDktMDQtMjkgMTM6MTY6MjUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSAgW01PVkVEIEZST00gQkFEIDU0LzU3XSBmbHY6IEFsd2F5cyB3cml0ZSBhdCBsZWFzdCB0aGUgbWluaW1hbCB0YWdzIGFuZCB3cml0ZSB0aGUgUEFSIGFzIHRhZ3MKCjIwMDktMDQtMjkgMTM6MDM6NDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguaDoKCSAgW01PVkVEIEZST00gQkFEIDUzLzU3XSBmbHY6IEFkZCBzdXBwb3J0IGZvciBtdXhpbmcgc29tZSB0YWdzCgoyMDA5LTA0LTI5IDEzOjAzOjI3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzoKCSAgW01PVkVEIEZST00gQkFEIDUyLzU3XSBmbHY6IEFkZCBzdXBwb3J0IGZvciB0aXRsZSB0YWcKCjIwMDktMDQtMjkgMDk6NDA6NDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOgoJICBbTU9WRUQgRlJPTSBCQUQgNTEvNTddIGZsdjogRml4IHBhcnNpbmcgb2YgdGFncyBhbmQgYWRkIG5ldyBtYXBwaW5ncwoJICBXZSBzaG91bGRuJ3QgcmVnaXN0ZXIgYSBuZXcgR3N0VGFnIGZvciBldmVyeSB1bmtub3duIHRhZwoJICB3ZSBmaW5kIGFzIHRoaXMgbWlnaHQgbGVhZCB0byBjb25mbGljdHMgYW5kIGFsc28gdGhvc2UKCSAgdGFncyBhcmUgZXNzZW50aWFsbHkgdW5rbm93bi4KCSAgQWRkIG1hcHBpbmdzIGZvciBzb21lIGtub3duIHRhZ3MgYW5kIGFsc28gY29udmVydCBzdHJpbmcKCSAgZGF0ZXMgdG8gR0RhdGUsIGFzIGZvdW5kIGluIG1hbnkgRkxWIGZpbGVzLgoKMjAwOS0wNC0yMiAxOTo1MjowNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguaDoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguaDoKCSAgW01PVkVEIEZST00gQkFEIDUwLzU3XSBmbHY6IEFkZCBkb2N1bWVudGF0aW9uIHRvIGZsdm11eCBhbmQgZmx2ZGVtdXgKCSAgUGFydGlhbGx5IGZpeGVzIGJ1ZyAjNTczNzM3LgoKMjAwOS0wMS0yMiAxMzozOTozNCArMDEwMCAgSmFuIFVyYmFuc2tpIDxqLnVyYmFuc2tpQHN0dWRlbnRzLm1pbXV3LmVkdS5wbD4KCgkqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzoKCSAgW01PVkVEIEZST00gQkFEIDQ5LzU3XSBBZGQgc3VwcG9ydCBmb3IgRUNNQSBhcnJheXMgaW4gc2NyaXB0IHRhZ3MuIEZpeGVzIGJ1ZyAjNTY3OTY1LgoJICBBZGQgc3VwcG9ydCBmb3IgRUNNQSBhcnJheXMgaW4gc2NyaXB0IHRhZ3MuIFRoaXMgZml4ZXMKCSAgc2Vla2luZyBvbiBzb21lIGZpbGVzIHRoYXQgaGF2ZSB0aGUgc2VlayB0YWJsZSBzdG9yZWQKCSAgaW5zaWRlIGFuIEVDTUEgYXJyYXkgaW5zdGVhZCBvZiB0aGUgbm9ybWFsIGFycmF5LgoKMjAwOC0xMi0wMyAxMTo0MzowMCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEIDQ4LzU3XSBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IENoZWNrIGlmIHN0cmluZ3MgYXJlIHZhbGlkIFVURjggYmVmb3JlIHVzaW5nIHRoZW0uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogKEZMVl9HRVRfU1RSSU5HKToKCSAgQ2hlY2sgaWYgc3RyaW5ncyBhcmUgdmFsaWQgVVRGOCBiZWZvcmUgdXNpbmcgdGhlbS4KCjIwMDgtMTEtMjQgMTE6MTc6MTkgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgW01PVkVEIEZST00gQkFEIDQ3LzU3XSBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IEZpeCBub24ga2V5IHVuaXQgc2Vla2luZyBieSBhbHdheXMgZ29pbmcgdG8gdGhlIHByZXZpb3VzIGtleWZyYW1lLiBNYXJrIHRoZSBkaXNjb250IGZsYWcgd2hlbiAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDgtMTEtMjQgIEp1bGllbiBNb3V0dGUgIDxqdWxpZW5AZmx1ZW5kby5jb20+CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiAoZ3N0X2Zsdl9kZW11eF9maW5kX29mZnNldCksCgkgIChnc3RfZmx2X2RlbXV4X2hhbmRsZV9zZWVrX3B1c2gpLAoJICAoZ3N0X2Zsdl9kZW11eF9oYW5kbGVfc2Vla19wdWxsKToKCSAgRml4IG5vbiBrZXkgdW5pdCBzZWVraW5nIGJ5IGFsd2F5cyBnb2luZyB0byB0aGUgcHJldmlvdXMKCSAga2V5ZnJhbWUuIE1hcmsKCSAgdGhlIGRpc2NvbnQgZmxhZyB3aGVuIHdlJ3ZlIG1vdmVkIGluIHRoZSBmaWxlLgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogKGdzdF9mbHZfcGFyc2VfYXVkaW9fbmVnb3RpYXRlKTogTVAzCgkgIHN0cmVhbXMKCSAgYXJlIHBhcnNlZCBhbHJlYWR5LCBtYWtlcyBhdXRvcGx1Z2dlZCBwaXBlbGluZXMgc2hvcnRlci4KCjIwMDgtMTEtMDQgMTI6NDI6MzAgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIFtNT1ZFRCBGUk9NIEJBRCA0Ni81N10gRG9uJ3QgaW5zdGFsbCBzdGF0aWMgbGlicyBmb3IgcGx1Z2lucy4gRml4ZXMgIzU1MDg1MSBmb3IgLWJhZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2Fsc2FzcGRpZi9NYWtlZmlsZS5hbToKCSAgKiBleHQvYW1yd2IvTWFrZWZpbGUuYW06CgkgICogZXh0L2FwZXhzaW5rL01ha2VmaWxlLmFtOgoJICAqIGV4dC9hcnRzL01ha2VmaWxlLmFtOgoJICAqIGV4dC9hcnRzZC9NYWtlZmlsZS5hbToKCSAgKiBleHQvYXVkaW9maWxlL01ha2VmaWxlLmFtOgoJICAqIGV4dC9hdWRpb3Jlc2FtcGxlL01ha2VmaWxlLmFtOgoJICAqIGV4dC9iejIvTWFrZWZpbGUuYW06CgkgICogZXh0L2NkYXVkaW8vTWFrZWZpbGUuYW06CgkgICogZXh0L2NlbHQvTWFrZWZpbGUuYW06CgkgICogZXh0L2RjMTM5NC9NYWtlZmlsZS5hbToKCSAgKiBleHQvZGlyYWMvTWFrZWZpbGUuYW06CgkgICogZXh0L2RpcmVjdGZiL01ha2VmaWxlLmFtOgoJICAqIGV4dC9kaXZ4L01ha2VmaWxlLmFtOgoJICAqIGV4dC9kdHMvTWFrZWZpbGUuYW06CgkgICogZXh0L2ZhYWMvTWFrZWZpbGUuYW06CgkgICogZXh0L2ZhYWQvTWFrZWZpbGUuYW06CgkgICogZXh0L2dzbS9NYWtlZmlsZS5hbToKCSAgKiBleHQvaGVybWVzL01ha2VmaWxlLmFtOgoJICAqIGV4dC9pdm9yYmlzL01ha2VmaWxlLmFtOgoJICAqIGV4dC9qYWNrL01ha2VmaWxlLmFtOgoJICAqIGV4dC9qcDJrL01ha2VmaWxlLmFtOgoJICAqIGV4dC9sYWRzcGEvTWFrZWZpbGUuYW06CgkgICogZXh0L2xjcy9NYWtlZmlsZS5hbToKCSAgKiBleHQvbGliZmFtZS9NYWtlZmlsZS5hbToKCSAgKiBleHQvbGlibW1zL01ha2VmaWxlLmFtOgoJICAqIGV4dC9tZXRhZGF0YS9NYWtlZmlsZS5hbToKCSAgKiBleHQvbXBlZzJlbmMvTWFrZWZpbGUuYW06CgkgICogZXh0L21wbGV4L01ha2VmaWxlLmFtOgoJICAqIGV4dC9tdXNlcGFjay9NYWtlZmlsZS5hbToKCSAgKiBleHQvbXVzaWNicmFpbnovTWFrZWZpbGUuYW06CgkgICogZXh0L215dGh0di9NYWtlZmlsZS5hbToKCSAgKiBleHQvbmFzL01ha2VmaWxlLmFtOgoJICAqIGV4dC9uZW9uL01ha2VmaWxlLmFtOgoJICAqIGV4dC9vZmEvTWFrZWZpbGUuYW06CgkgICogZXh0L3BvbHlwL01ha2VmaWxlLmFtOgoJICAqIGV4dC9yZXNpbmR2ZC9NYWtlZmlsZS5hbToKCSAgKiBleHQvc2RsL01ha2VmaWxlLmFtOgoJICAqIGV4dC9zaG91dC9NYWtlZmlsZS5hbToKCSAgKiBleHQvc25hcHNob3QvTWFrZWZpbGUuYW06CgkgICogZXh0L3NuZGZpbGUvTWFrZWZpbGUuYW06CgkgICogZXh0L3NvdW5kdG91Y2gvTWFrZWZpbGUuYW06CgkgICogZXh0L3NwYy9NYWtlZmlsZS5hbToKCSAgKiBleHQvc3dmZGVjL01ha2VmaWxlLmFtOgoJICAqIGV4dC90YXJraW4vTWFrZWZpbGUuYW06CgkgICogZXh0L3RoZW9yYS9NYWtlZmlsZS5hbToKCSAgKiBleHQvdGltaWRpdHkvTWFrZWZpbGUuYW06CgkgICogZXh0L3R3b2xhbWUvTWFrZWZpbGUuYW06CgkgICogZXh0L3gyNjQvTWFrZWZpbGUuYW06CgkgICogZXh0L3hpbmUvTWFrZWZpbGUuYW06CgkgICogZXh0L3h2aWQvTWFrZWZpbGUuYW06CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9NYWtlZmlsZS5hbToKCSAgKiBnc3QtbGlicy9nc3QvZHNob3cvTWFrZWZpbGUuYW06CgkgICogZ3N0L2FpZmZwYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYXBwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9hdWRpb2J1ZmZlci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYmF5ZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2NkeGFwYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvY2hhcnQvTWFrZWZpbGUuYW06CgkgICogZ3N0L2NvbG9yc3BhY2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L2RjY3AvTWFrZWZpbGUuYW06CgkgICogZ3N0L2RlaW50ZXJsYWNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9kZWludGVybGFjZTIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2R2ZHNwdS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZmVzdGl2YWwvTWFrZWZpbGUuYW06CgkgICogZ3N0L2ZpbHRlci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZmxhY3BhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9mbHYvTWFrZWZpbGUuYW06CgkgICogZ3N0L2dhbWVzL01ha2VmaWxlLmFtOgoJICAqIGdzdC9oMjY0cGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L2xpYnJmYi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbWl4bWF0cml4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9tb2RwbHVnL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tcGVnMXN5cy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXBlZzR2aWRlb3BhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tcGVnZGVtdXgvTWFrZWZpbGUuYW06CgkgICogZ3N0L21wZWd0c211eC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L212ZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbnNmL01ha2VmaWxlLmFtOgoJICAqIGdzdC9udXZkZW11eC9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvb3ZlcmxheS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcGFzc3Rocm91Z2gvTWFrZWZpbGUuYW06CgkgICogZ3N0L3BjYXBwYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcGxheW9uZGVtYW5kL01ha2VmaWxlLmFtOgoJICAqIGdzdC9yYXdwYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcmVhbC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcnRqcGVnL01ha2VmaWxlLmFtOgoJICAqIGdzdC9ydHBtYW5hZ2VyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zY2FsZXRlbXBvL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zZHAvTWFrZWZpbGUuYW06CgkgICogZ3N0L3NlbGVjdG9yL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zbW9vdGgvTWFrZWZpbGUuYW06CgkgICogZ3N0L3Ntb290aHdhdmUvTWFrZWZpbGUuYW06CgkgICogZ3N0L3NwZWVkL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zdGVyZW8vTWFrZWZpbGUuYW06CgkgICogZ3N0L3N1YmVuYy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdHRhL01ha2VmaWxlLmFtOgoJICAqIGdzdC92YmlkZWMvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZpZGVvZHJvcC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdmlkZW9zaWduYWwvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZpcnR1YWxkdWIvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZtbmMvTWFrZWZpbGUuYW06CgkgICogZ3N0L3k0bS9NYWtlZmlsZS5hbToKCSAgKiBzeXMvYWNtZW5jL01ha2VmaWxlLmFtOgoJICAqIHN5cy9jZHJvbS9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZHNob3dkZWN3cmFwcGVyL01ha2VmaWxlLmFtOgoJICAqIHN5cy9kc2hvd3NyY3dyYXBwZXIvTWFrZWZpbGUuYW06CgkgICogc3lzL2R2Yi9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZHhyMy9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZmJkZXYvTWFrZWZpbGUuYW06CgkgICogc3lzL29zczQvTWFrZWZpbGUuYW06CgkgICogc3lzL3FjYW0vTWFrZWZpbGUuYW06CgkgICogc3lzL3F0d3JhcHBlci9NYWtlZmlsZS5hbToKCSAgKiBzeXMvdmNkL01ha2VmaWxlLmFtOgoJICAqIHN5cy93aW5pbmV0L01ha2VmaWxlLmFtOgoJICAqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgRG9uJ3QgaW5zdGFsbCBzdGF0aWMgbGlicyBmb3IgcGx1Z2lucy4gRml4ZXMgIzU1MDg1MSBmb3IgLWJhZC4KCjIwMDgtMTAtMjggMTg6NDQ6NDQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEJBRCA0NS81N10gZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiBJbXBsZW1lbnQgcG9zaXRpb24gcXVlcnkgaW4gdGltZSBmb3JtYXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogKGdzdF9mbHZfZGVtdXhfcXVlcnkpOgoJICBJbXBsZW1lbnQgcG9zaXRpb24gcXVlcnkgaW4gdGltZSBmb3JtYXQuCgoyMDA4LTEwLTI4IDE4OjQxOjE5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBbTU9WRUQgRlJPTSBCQUQgNDQvNTddIGdzdC9mbHYvOiBQdXQgdGhlIEdzdFNlZ21lbnQgZGlyZWN0bHkgaW50byB0aGUgaW5zdGFuY2Ugc3RydWN0IGluc3RlYWQgb2YgYWxsb2NhdGluZyBhbmQgZnJlZSdpbmcgaXQgYWdhaW4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogKGdzdF9mbHZfZGVtdXhfY2xlYW51cCksCgkgIChnc3RfZmx2X2RlbXV4X2xvb3ApLCAoZ3N0X2Zsdl9kZW11eF9oYW5kbGVfc2Vla19wdXNoKSwKCSAgKGdzdF9mbHZfZGVtdXhfaGFuZGxlX3NlZWtfcHVsbCksIChnc3RfZmx2X2RlbXV4X3NpbmtfZXZlbnQpLAoJICAoZ3N0X2Zsdl9kZW11eF9kaXNwb3NlKSwgKGdzdF9mbHZfZGVtdXhfaW5pdCk6CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5oOgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogKGdzdF9mbHZfcGFyc2VfdGFnX2F1ZGlvKSwKCSAgKGdzdF9mbHZfcGFyc2VfdGFnX3ZpZGVvKSwgKGdzdF9mbHZfcGFyc2VfdGFnX3RpbWVzdGFtcCk6CgkgIFB1dCB0aGUgR3N0U2VnbWVudCBkaXJlY3RseSBpbnRvIHRoZSBpbnN0YW5jZSBzdHJ1Y3QgaW5zdGVhZCBvZgoJICBhbGxvY2F0aW5nIGFuZCBmcmVlJ2luZyBpdCBhZ2Fpbi4KCSAgUHVzaCB0YWdzIGFscmVhZHkgaWYgb25seSBvbmUgcGFkIHdhcyBhZGRlZCwgbm8gbmVlZCB0byB3YWl0IGZvcgoJICB0aGUgc2Vjb25kIG9uZS4KCSAgV2hlbiBnZW5lcmF0aW5nIG91ciBpbmRleCBzZXQgaGFzX3ZpZGVvIGFuZCBoYXNfYXVkaW8gaWYgd2UgZmluZAoJICB2aWRlbyBvciBhdWRpbyBpbiBjYXNlIHRoZSBGTFYgaGVhZGVyIGhhcyBpbmNvcnJlY3QgZGF0YS4KCjIwMDgtMTAtMjcgMDk6NDU6MDQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEJBRCA0My81N10gZ3N0L2Zsdi86IERvbid0IG1lbWNweSgpIGFsbCBkYXRhIHdlIHdhbnQgdG8gcHVzaCBkb3duc3RyZWFtLCBpbnN0ZWFkIGp1c3QgY3JlYXRlIHN1YmJ1ZmZlcnMgYW5kIHB1c2ggdGhlbSBkb3duc3RyZWFtLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IChnc3RfZmx2X2RlbXV4X2NoYWluKSwKCSAgKGdzdF9mbHZfZGVtdXhfcHVsbF90YWcpLCAoZ3N0X2Zsdl9kZW11eF9wdWxsX2hlYWRlciksCgkgIChnc3RfZmx2X2RlbXV4X2NyZWF0ZV9pbmRleCk6CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiAoZ3N0X2Zsdl9wYXJzZV90YWdfc2NyaXB0KSwKCSAgKGdzdF9mbHZfcGFyc2VfdGFnX2F1ZGlvKSwgKGdzdF9mbHZfcGFyc2VfdGFnX3ZpZGVvKSwKCSAgKGdzdF9mbHZfcGFyc2VfdGFnX3RpbWVzdGFtcCksIChnc3RfZmx2X3BhcnNlX3RhZ190eXBlKSwKCSAgKGdzdF9mbHZfcGFyc2VfaGVhZGVyKToKCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmg6CgkgIERvbid0IG1lbWNweSgpIGFsbCBkYXRhIHdlIHdhbnQgdG8gcHVzaCBkb3duc3RyZWFtLCBpbnN0ZWFkIGp1c3QKCSAgY3JlYXRlIHN1YmJ1ZmZlcnMgYW5kIHB1c2ggdGhlbSBkb3duc3RyZWFtLgoJICBGaXggc29tZSBtaW5vciBtZW1vcnkgbGVha3MuCgoyMDA4LTEwLTI3IDA5OjQxOjE4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBbTU9WRUQgRlJPTSBCQUQgNDIvNTddIGdzdC9mbHYvTWFrZWZpbGUuYW06IEZpeCAobm9uLWNyaXRpY2FsKSBzeW50YXggZXJyb3IgYW5kIGFkZCBhbGwgcmVxdWlyZWQgQ0ZMQUdTIGFuZCBMSUJTLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx2L01ha2VmaWxlLmFtOgoJICBGaXggKG5vbi1jcml0aWNhbCkgc3ludGF4IGVycm9yIGFuZCBhZGQgYWxsIHJlcXVpcmVkIENGTEFHUyBhbmQgTElCUy4KCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IChGTFZfR0VUX1NUUklORyksCgkgIChnc3RfZmx2X3BhcnNlX21ldGFkYXRhX2l0ZW0pLCAoZ3N0X2Zsdl9wYXJzZV90YWdfc2NyaXB0KSwKCSAgKGdzdF9mbHZfcGFyc2VfdGFnX2F1ZGlvKSwgKGdzdF9mbHZfcGFyc2VfdGFnX3ZpZGVvKSwKCSAgKGdzdF9mbHZfcGFyc2VfdGFnX3RpbWVzdGFtcCksIChnc3RfZmx2X3BhcnNlX3RhZ190eXBlKToKCSAgUmV3cml0ZSB0aGUgc2NyaXB0IHRhZyBwYXJzaW5nIHRvIG1ha2Ugc3VyZSB3ZSBkb24ndCB0cnkgdG8gcmVhZAoJICBtb3JlIGRhdGEgdGhhbiB3ZSBoYXZlLiBBbHNvIHVzZSBHU1RfUkVBRF9VSU5UMjRfQkUgZGlyZWN0bHkgYW5kCgkgIGZpeCBzb21lIG1pbm9yIG1lbW9yeSBsZWFrcy4KCSAgVGhpcyBzaG91bGQgbWFrZSBhbGwgY3Jhc2hlcyBvbiBmdXp6ZWQgRkxWIGZpbGVzIGRpc2FwcGVhci4KCjIwMDgtMTAtMjcgMDk6Mzc6MjEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEJBRCA0MS81N10gZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiBQcm9wZXJseSBjaGVjayBldmVyeXdoZXJlIHRoYXQgd2UgaGF2ZSBlbm91Z2ggZGF0YSB0byBwYXJzZSBhbmQgZG9uJ3QgcmVhZCBvdXRzaWRlIHRoZSBhbGxvY2F0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogKEZMVl9HRVRfU1RSSU5HKSwKCSAgKGdzdF9mbHZfcGFyc2VfdGFnX2F1ZGlvKSwgKGdzdF9mbHZfcGFyc2VfdGFnX3ZpZGVvKSwKCSAgKGdzdF9mbHZfcGFyc2VfdGFnX3R5cGUpLCAoZ3N0X2Zsdl9wYXJzZV9oZWFkZXIpOgoJICBQcm9wZXJseSBjaGVjayBldmVyeXdoZXJlIHRoYXQgd2UgaGF2ZSBlbm91Z2ggZGF0YSB0byBwYXJzZSBhbmQKCSAgZG9uJ3QgcmVhZCBvdXRzaWRlIHRoZSBhbGxvY2F0ZWQgbWVtb3J5IHJlZ2lvbi4KCjIwMDgtMTAtMjcgMDk6MzU6MzQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEJBRCA0MC81N10gZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiBJZiB0aGUgY2FwcyBjaGFuZ2UgZHVyaW5nIHBsYXliYWNrIGFuZCBuZWdvdGlhdGlvbiBmYWlscyBlcnJvciBvdXQgaW5zdGVhZCBvZiB0cnlpbmcgdG8gY29udGludWUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogKGdzdF9mbHZfcGFyc2VfdGFnX2F1ZGlvKSwKCSAgKGdzdF9mbHZfcGFyc2VfdGFnX3ZpZGVvKToKCSAgSWYgdGhlIGNhcHMgY2hhbmdlIGR1cmluZyBwbGF5YmFjayBhbmQgbmVnb3RpYXRpb24gZmFpbHMgZXJyb3Igb3V0CgkgIGluc3RlYWQgb2YgdHJ5aW5nIHRvIGNvbnRpbnVlLgoKMjAwOC0xMC0yNyAwOTozMzo0MCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEIDM5LzU3XSBnc3QvZmx2LzogQWRkIHN1cHBvcnQgZm9yIFNwZWV4IGF1ZGlvIGFuZCBhbGxvdyBidWZmZXJzIHdpdGhvdXQgdmFsaWQgdGltZXN0YW1wIGluIHRoZSBtdXhlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zsdi9nc3RmbHZtdXguYzogKGdzdF9mbHZfbXV4X2F1ZGlvX3BhZF9zZXRjYXBzKSwKCSAgKGdzdF9mbHZfbXV4X3JlcXVlc3RfbmV3X3BhZCksIChnc3RfZmx2X211eF93cml0ZV9idWZmZXIpLAoJICAoZ3N0X2Zsdl9tdXhfY29sbGVjdGVkKToKCSAgKiBnc3QvZmx2L2dzdGZsdm11eC5oOgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogKGdzdF9mbHZfcGFyc2VfYXVkaW9fbmVnb3RpYXRlKToKCSAgQWRkIHN1cHBvcnQgZm9yIFNwZWV4IGF1ZGlvIGFuZCBhbGxvdyBidWZmZXJzIHdpdGhvdXQgdmFsaWQKCSAgdGltZXN0YW1wIGluIHRoZSBtdXhlci4KCjIwMDgtMTAtMjcgMDk6MzI6MDMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAzOC81N10gZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiBEb24ndCBwb3N0IGFuIGVycm9yIG1lc3NhZ2Ugb24gdGhlIGJ1cyBpZiBzZW5kaW5nIEVPUyBkb3duc3RyZWFtIGRpZG4ndCB3b3JrLiBGaXhlcyBidWcgIzU1MDQ1NC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiAoZ3N0X2Zsdl9kZW11eF9sb29wKSwKCSAgKGdzdF9mbHZfZGVtdXhfZmluZF9vZmZzZXQpLCAoZ3N0X2Zsdl9kZW11eF9oYW5kbGVfc2Vla19wdXNoKSwKCSAgKGdzdF9mbHZfZGVtdXhfaGFuZGxlX3NlZWtfcHVsbCk6CgkgIERvbid0IHBvc3QgYW4gZXJyb3IgbWVzc2FnZSBvbiB0aGUgYnVzIGlmIHNlbmRpbmcgRU9TIGRvd25zdHJlYW0KCSAgZGlkbid0IHdvcmsuIEZpeGVzIGJ1ZyAjNTUwNDU0LgoJICBGaXggc2VlayBldmVudCBoYW5kbGluZyB0byBsb29rIGF0IHRoZSBmbGFncyBvZiB0aGUgc2VlayBldmVudAoJICBpbnN0ZWFkIG9mIGFzc3VtaW5nIHNvbWUgcmFuZG9tIGZsYWdzLCBkb24ndCBzZW5kIHNlZ21lbnQtc3RhcnQKCSAgbWVzc2FnZXMgd2hlbiBvcGVyYXRpbmcgaW4gcHVzaCBtb2RlIGFuZCBwdXNoIHNlZWsgZXZlbnRzIHVwc3RyZWFtCgkgIGlmIHdlIGNvdWxkbid0IGhhbmRsZSB0aGVtLgoKMjAwOC0xMC0yNyAwOToyNzoxOCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEIDM3LzU3XSBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IEVycm9yIG91dCBlYXJseSBpZiBwdWxsaW5nIGEgdGFnIGZhaWxlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiAoZ3N0X2Zsdl9kZW11eF9wdWxsX3RhZyk6CgkgIEVycm9yIG91dCBlYXJseSBpZiBwdWxsaW5nIGEgdGFnIGZhaWxlZC4KCjIwMDgtMTAtMjcgMDk6MjU6MTEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAzNi81N10gZ3N0L2Zsdi86IEluIHB1bGwgbW9kZSB3ZSBjcmVhdGUgb3VyIG93biBpbmRleCBiZWZvcmUgZG9pbmcgYW55dGhpbmcgZWxzZSBhbmQgZG9uJ3QgdXNlIHRoZSBpbmRleCBwcm92aWRlZCBieSBzb21lIGZpLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogKGdzdF9mbHZfZGVtdXhfY3JlYXRlX2luZGV4KSwKCSAgKGdzdF9mbHZfZGVtdXhfbG9vcCk6CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiAoZ3N0X2Zsdl9wYXJzZV90YWdfc2NyaXB0KSwKCSAgKGdzdF9mbHZfcGFyc2VfdGFnX2F1ZGlvKSwgKGdzdF9mbHZfcGFyc2VfdGFnX3ZpZGVvKSwKCSAgKGdzdF9mbHZfcGFyc2VfdGFnX3RpbWVzdGFtcCk6CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5oOgoJICBJbiBwdWxsIG1vZGUgd2UgY3JlYXRlIG91ciBvd24gaW5kZXggYmVmb3JlIGRvaW5nIGFueXRoaW5nIGVsc2UKCSAgYW5kIGRvbid0IHVzZSB0aGUgaW5kZXggcHJvdmlkZWQgYnkgc29tZSBmaWxlcyAod2hpY2ggYXJlIG1vcmUgdGhhbgoJICBvZnRlbiBpbmNvcnJlY3QgYW5kIGNhdXNlIGZhaWxlZCBzZWVrcykuCgkgIEZvciBwdXNoIG1vZGUgd2Ugc3RpbGwgdXNlIHRoZSBpbmRleCBwcm92aWRlZCBieSB0aGUgZmlsZSBhbmQgZXh0ZW5kIGl0CgkgIHdoaWxlIGRvaW5nIHRoZSBwbGF5YmFjay4KCjIwMDgtMTAtMjcgMDk6MjA6MDEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAzNS81N10gZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiBJbnN0ZWFkIG9mIHVzaW5nIGdzdF9wYWRfZXZlbnRfZGVmYXVsdCgpIHVzZSBhIHNtYWxsIGdzdF9wYWRfcHVzaF9ldmVudCgpIHdyYXBwZXIgdGhhdCBvbmx5IGRvLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogKGdzdF9mbHZfZGVtdXhfcHVzaF9zcmNfZXZlbnQpLAoJICAoZ3N0X2Zsdl9kZW11eF9sb29wKSwgKGdzdF9mbHZfZGVtdXhfaGFuZGxlX3NlZWtfcHVsbCksCgkgIChnc3RfZmx2X2RlbXV4X3NpbmtfZXZlbnQpOgoJICBJbnN0ZWFkIG9mIHVzaW5nIGdzdF9wYWRfZXZlbnRfZGVmYXVsdCgpIHVzZSBhIHNtYWxsCgkgIGdzdF9wYWRfcHVzaF9ldmVudCgpIHdyYXBwZXIgdGhhdCBvbmx5IGRvZXMgd2hhdCB3ZSB3YW50IGFuZCBpcyBtdWNoCgkgIG1vcmUgc2ltcGxlLgoKMjAwOC0xMC0yNyAwOToxNDo0NSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEIDM0LzU3XSBnc3QvZmx2L2dzdGZsdmRlbXV4Lio6IElmIG91ciBpbmRleCB3YXMgY3JlYXRlZCBieSB0aGUgZWxlbWVudCBhbmQgbm90IHByb3ZpZGVkIGZyb20gdGhlIG91dHNpZGUgd2Ugc2hvdWxkIGRlc3Ryb3kgaXQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiAoZ3N0X2Zsdl9kZW11eF9jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X2Zsdl9kZW11eF9zZXRfaW5kZXgpLCAoZ3N0X2Zsdl9kZW11eF9pbml0KToKCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4Lmg6CgkgIElmIG91ciBpbmRleCB3YXMgY3JlYXRlZCBieSB0aGUgZWxlbWVudCBhbmQgbm90IHByb3ZpZGVkIGZyb20gdGhlCgkgIG91dHNpZGUgd2Ugc2hvdWxkIGRlc3Ryb3kgaXQgd2hlbiBzdGFydGluZyBhIG5ldyBzdHJlYW0gdG8gZ2V0CgkgIGFsbCBvbGQgZW50cmllcyByZW1vdmVkLgoKMjAwOC0xMC0yNyAwOToxMjozMyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEIDMzLzU3XSBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IEltcHJvdmUgZGVidWdnaW5nIGEgYml0IHdoZW4gcHVsbGluZyBhIGJ1ZmZlciBmcm9tIHVwc3RyZWFtIGZhaWxzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IChnc3RfZmx2X2RlbXV4X3B1bGxfcmFuZ2UpOgoJICBJbXByb3ZlIGRlYnVnZ2luZyBhIGJpdCB3aGVuIHB1bGxpbmcgYSBidWZmZXIgZnJvbSB1cHN0cmVhbSBmYWlscy4KCjIwMDgtMTAtMjcgMDk6MTA6NTQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAzMi81N10gZ3N0L2Zsdi86IENsb3NlIHRoZSBjdXJyZW50bHkgcGxheWluZyBzZWdtZW50IGZyb20gdGhlIHN0cmVhbWluZyB0aHJlYWQgaW5zdGVhZCBvZiB0aGUgdGhyZWFkIHdoZXJlIHRoZSBzZWVrIGV2ZW50IGlzLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogKGdzdF9mbHZfZGVtdXhfY2xlYW51cCksCgkgIChnc3RfZmx2X2RlbXV4X2hhbmRsZV9zZWVrX3B1bGwpLCAoZ3N0X2Zsdl9kZW11eF9kaXNwb3NlKToKCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4Lmg6CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiAoZ3N0X2Zsdl9wYXJzZV90YWdfYXVkaW8pLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfdmlkZW8pOgoJICBDbG9zZSB0aGUgY3VycmVudGx5IHBsYXlpbmcgc2VnbWVudCBmcm9tIHRoZSBzdHJlYW1pbmcgdGhyZWFkCgkgIGluc3RlYWQgb2YgdGhlIHRocmVhZCB3aGVyZSB0aGUgc2VlayBldmVudCBpcyBoYW5kbGVkLgoKMjAwOC0xMC0xNiAxNToyMToxNSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEIDMxLzU3XSBnc3QvZmx2L2dzdGZsdm11eC5jOiBEb24ndCBzZXQgdmlkZW9fY29kZWMgdG8gdGhlIHZhbHVlIHRoYXQgYWN0dWFsbHkgc2hvdWxkIGdvIGludG8gYXVkaW8gY29kZWMsIG90aGVyd2lzZSB3ZSBjcmVhdGUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zsdi9nc3RmbHZtdXguYzogKGdzdF9mbHZfbXV4X2F1ZGlvX3BhZF9zZXRjYXBzKSwKCSAgKGdzdF9mbHZfbXV4X3dyaXRlX2J1ZmZlcik6CgkgIERvbid0IHNldCB2aWRlb19jb2RlYyB0byB0aGUgdmFsdWUgdGhhdCBhY3R1YWxseSBzaG91bGQgZ28KCSAgaW50byBhdWRpbyBjb2RlYywgb3RoZXJ3aXNlIHdlIGNyZWF0ZSBpbnZhbGlkIGZpbGVzLgoJICBGaXhlcyBidWcgIzU1NjU2NC4KCjIwMDgtMTAtMTIgMTc6MDg6MTAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAzMC81N10gZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiBGaXggcmVncmVzc2lvbiBvZiBoYW5kbGluZyBmbG93IHJldHVybnMgaW4gcHVsbCBtb2RlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IChnc3RfZmx2X2RlbXV4X3B1bGxfdGFnKSwKCSAgKGdzdF9mbHZfZGVtdXhfcHVsbF9oZWFkZXIpOgoJICBGaXggcmVncmVzc2lvbiBvZiBoYW5kbGluZyBmbG93IHJldHVybnMgaW4gcHVsbCBtb2RlLgoJICBGaXhlcyBidWcgIzU1NjAwMy4KCjIwMDgtMTAtMTAgMTY6MzM6MzYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAyOS81N10gZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiBVc2UgZ3N0X3BhZF9hbGxvY19idWZmZXJfYW5kX3NldF9jYXBzKCkgdG8gbWFrZSBzdXJlIHdlIGdldCBhIGJ1ZmZlciB3aXRoIGNhcHMgdGhhdCB3ZSBjYW4gd29yLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogKGdzdF9mbHZfcGFyc2VfdGFnX2F1ZGlvKSwKCSAgKGdzdF9mbHZfcGFyc2VfdGFnX3ZpZGVvKToKCSAgVXNlIGdzdF9wYWRfYWxsb2NfYnVmZmVyX2FuZF9zZXRfY2FwcygpIHRvIG1ha2Ugc3VyZSB3ZSBnZXQKCSAgYSBidWZmZXIgd2l0aCBjYXBzIHRoYXQgd2UgY2FuIHdvcmsgd2l0aCAoaS5lLiB0aGUgcGFkJ3MgY2FwcykuCgkgIEFkZCBub24ta2V5ZnJhbWUgdmlkZW8gZnJhbWVzIHRvIHRoZSBpbmRleCB0b28gYnV0IHdpdGhvdXQgdGhlCgkgIGtleWZyYW1lIGZsYWcuCgkgIEFkZCBhdWRpbyBmcmFtZXMgdG8gdGhlIGluZGV4IG9ubHkgaWYgd2UgaGF2ZSBubyB2aWRlbyBzdHJlYW0uCgoyMDA4LTEwLTEwIDE2OjE1OjA5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBbTU9WRUQgRlJPTSBCQUQgMjgvNTddIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogQ3JlYXRlIHBhZHMgZnJvbSB0aGUgcGFkIHRlbXBsYXRlcywgdXNlIGZpeGVkIGNhcHMgb24gdGhlbSBhbmQgb25seSBhY3RpdmF0ZSB0aGVtIGFmdGVyIHRoZSBjYS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IChnc3RfZmx2X3BhcnNlX3RhZ19hdWRpbyksCgkgIChnc3RfZmx2X3BhcnNlX3RhZ192aWRlbyk6CgkgIENyZWF0ZSBwYWRzIGZyb20gdGhlIHBhZCB0ZW1wbGF0ZXMsIHVzZSBmaXhlZCBjYXBzIG9uIHRoZW0KCSAgYW5kIG9ubHkgYWN0aXZhdGUgdGhlbSBhZnRlciB0aGUgY2FwcyBhcmUgc2V0LgoKMjAwOC0xMC0wOSAxNjoyMDoyNiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEIDI3LzU3XSBnc3QvZmx2LzogR2V0IGFuIGFwcHJveGltYXRlIGR1cmF0aW9uIG9mIHRoZSBmaWxlIGJ5IGxvb2tpbmcgYXQgdGhlIHRpbWVzdGFtcCBvZiB0aGUgbGFzdCB0YWcgaW4gcHVsbCBtb2RlLiBJZiB3ZSBnZXQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiAoZ3N0X2Zsdl9kZW11eF9sb29wKToKCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IChnc3RfZmx2X3BhcnNlX3RhZ190aW1lc3RhbXApOgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuaDoKCSAgR2V0IGFuIGFwcHJveGltYXRlIGR1cmF0aW9uIG9mIHRoZSBmaWxlIGJ5IGxvb2tpbmcgYXQgdGhlIHRpbWVzdGFtcAoJICBvZiB0aGUgbGFzdCB0YWcgaW4gcHVsbCBtb2RlLiBJZiB3ZSBnZXQgKG1heWJlIGJldHRlcikgZHVyYXRpb24gZnJvbQoJICBtZXRhZGF0YSBsYXRlciB3ZSdsbCB1c2UgdGhhdCBpbnN0ZWFkLgoKMjAwOC0xMC0wOSAxNTo0MzowMiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEIDI2LzU3XSBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IFJlZmFjdG9yIF9wdWxsX3JhbmdlKCkgbG9naWMgd2l0aCBjaGVja3MgaW50byBhIHNlcGVyYXRlIGZ1bmN0aW9uIHRvIG1ha2UgdGhpbmdzIGEgYml0IG1vcmUgcmUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiAoZ3N0X2Zsdl9kZW11eF9wdWxsX3JhbmdlKSwKCSAgKGdzdF9mbHZfZGVtdXhfcHVsbF90YWcpLCAoZ3N0X2Zsdl9kZW11eF9wdWxsX2hlYWRlcik6CgkgIFJlZmFjdG9yIF9wdWxsX3JhbmdlKCkgbG9naWMgd2l0aCBjaGVja3MgaW50byBhIHNlcGVyYXRlIGZ1bmN0aW9uCgkgIHRvIG1ha2UgdGhpbmdzIGEgYml0IG1vcmUgcmVhZGFibGUuCgoyMDA4LTEwLTA5IDE1OjI2OjU2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBbTU9WRUQgRlJPTSBCQUQgMjUvNTddIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogVXNlIGdzdF9lbGVtZW50X2NsYXNzX3NldF9kZXRhaWxzX3NpbXBsZSgpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IChnc3RfZmx2X2RlbXV4X2NoYWluKSwKCSAgKGdzdF9mbHZfZGVtdXhfYmFzZV9pbml0KToKCSAgVXNlIGdzdF9lbGVtZW50X2NsYXNzX3NldF9kZXRhaWxzX3NpbXBsZSgpLgoJICBJZiB3ZSBnZXQgR1NUX0ZMT1dfTk9UX0xJTktFRCBpbiB0aGUgcGFyc2UgbG9vcCBidXQgYXQgbGVhc3QKCSAgb25lIG9mIHRoZSBwYWRzIGlzIGxpbmtlZCBjb250aW51ZSB0aGUgbG9vcC4KCjIwMDgtMTAtMDkgMTA6MDA6NTEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAyNC81N10gZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiBDb3JyZWN0IGNhcHMgZm9yIHZpZGVvIGNvZGVjIGlkIDU6IEl0J3MgT24yIFZQNiB3aXRoIGFscGhhIGNoYW5uZWwgd2hpY2ggbmVlZHMgYSBkaWZmZXJlbnQgZGVjLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogKGdzdF9mbHZfcGFyc2VfYXVkaW9fbmVnb3RpYXRlKSwKCSAgKGdzdF9mbHZfcGFyc2VfdGFnX2F1ZGlvKSwgKGdzdF9mbHZfcGFyc2VfdmlkZW9fbmVnb3RpYXRlKToKCSAgQ29ycmVjdCBjYXBzIGZvciB2aWRlbyBjb2RlYyBpZCA1OiBJdCdzIE9uMiBWUDYgd2l0aCBhbHBoYSBjaGFubmVsCgkgIHdoaWNoIG5lZWRzIGEgZGlmZmVyZW50IGRlY29kZXIgYW5kIGhhcyBkaWZmZXJlbnQgY2Fwcy4KCSAgQWRkIHN1cHBvcnQgZm9yIGF1ZGlvIGNvZGVjIGlkIDE0LCB3aGljaCBpcyBNUDMgd2l0aCA4a0h6IHNhbXBsaW5nCgkgIHJhdGUuCgkgIEZpeCBlbmRpYW5uZXNzIGFuZCBzaWduZWRuZXNzIGZvciByYXcgYXVkaW8gY29kZWMgaWRzLgoJICBBZGQgc3VwcG9ydCBmb3IgYWxhdyBhbmQgbXVsYXcgYXVkaW8uCgoyMDA4LTEwLTA5IDA5OjQ4OjQ2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBbTU9WRUQgRlJPTSBCQUQgMjMvNTddIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogR28gb3V0IG9mIHRoZSBwYXJzZSBsb29wIGFzIHNvb24gYXMgd2UgZ2V0IGFuIGVycm9yIGluc3RlYWQgb2YgcGFyc2luZyB1bnRpbCB0aGUgR3N0QWRhcHRlciBpcy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IChnc3RfZmx2X2RlbXV4X2NoYWluKToKCSAgR28gb3V0IG9mIHRoZSBwYXJzZSBsb29wIGFzIHNvb24gYXMgd2UgZ2V0IGFuIGVycm9yIGluc3RlYWQKCSAgb2YgcGFyc2luZyB1bnRpbCB0aGUgR3N0QWRhcHRlciBpcyBlbXB0eS4KCSAgQWRkIHNvbWUgZXhwbGFuYXRpb25zIGFib3V0IHRoZSBoZWFkZXIgYW5kIHRhZyBzaXplLgoJICBEb24ndCBwcmludCBzeW5jaHJvbml6aW5nIG1lc3NhZ2UgaWYgZXZlcnl0aGluZyBpcyBmaW5lLgoKMjAwOC0xMC0wOSAwOToyNjo1OCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEIDIyLzU3XSBnc3QvZmx2LzogQWRkIGZpcnN0IHZlcnNpb24gb2YgYSBGTFYgbXV4ZXIuIFRoZSBvbmx5IG1pc3NpbmcgZmVhdHVyZSBpcyB3cml0aW5nIG9mIHN0cmVhbSBtZXRhZGF0YS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zsdi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IChwbHVnaW5faW5pdCk6CgkgICogZ3N0L2Zsdi9nc3RmbHZtdXguYzogKGdzdF9mbHZfbXV4X2Jhc2VfaW5pdCksCgkgIChnc3RfZmx2X211eF9jbGFzc19pbml0KSwgKGdzdF9mbHZfbXV4X2luaXQpLAoJICAoZ3N0X2Zsdl9tdXhfZmluYWxpemUpLCAoZ3N0X2Zsdl9tdXhfcmVzZXQpLAoJICAoZ3N0X2Zsdl9tdXhfaGFuZGxlX3NyY19ldmVudCksIChnc3RfZmx2X211eF9oYW5kbGVfc2lua19ldmVudCksCgkgIChnc3RfZmx2X211eF92aWRlb19wYWRfc2V0Y2FwcyksIChnc3RfZmx2X211eF9hdWRpb19wYWRfc2V0Y2FwcyksCgkgIChnc3RfZmx2X211eF9yZXF1ZXN0X25ld19wYWQpLCAoZ3N0X2Zsdl9tdXhfcmVsZWFzZV9wYWQpLAoJICAoZ3N0X2Zsdl9tdXhfd3JpdGVfaGVhZGVyKSwgKGdzdF9mbHZfbXV4X3dyaXRlX2J1ZmZlciksCgkgIChnc3RfZmx2X211eF9jb2xsZWN0ZWQpLCAoZ3N0X2Zsdl9tdXhfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvZmx2L2dzdGZsdm11eC5oOgoJICBBZGQgZmlyc3QgdmVyc2lvbiBvZiBhIEZMViBtdXhlci4gVGhlIG9ubHkgbWlzc2luZyBmZWF0dXJlIGlzIHdyaXRpbmcKCSAgb2Ygc3RyZWFtIG1ldGFkYXRhLgoKMjAwOC0wNi0xMyAyMjo0Njo0MyArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBbTU9WRUQgRlJPTSBCQUQgMjEvNTddIGdzdC9mbHYvOiBJbnRyb2R1Y2UgZGVtdXhpbmcgc3VwcG9ydCBmb3IgQUFDIGFuZAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwOC0wNi0xNCAgSnVsaWVuIE1vdXR0ZSAgPGp1bGllbkBmbHVlbmRvLmNvbT4KCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IChnc3RfZmx2X2RlbXV4X2NsZWFudXApLAoJICAoZ3N0X2Zsdl9kZW11eF9kaXNwb3NlKToKCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4Lmg6CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiAoZ3N0X2Zsdl9wYXJzZV9hdWRpb19uZWdvdGlhdGUpLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfYXVkaW8pLCAoZ3N0X2Zsdl9wYXJzZV92aWRlb19uZWdvdGlhdGUpLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfdmlkZW8pOiBJbnRyb2R1Y2UgZGVtdXhpbmcgc3VwcG9ydCBmb3IgQUFDCgkgIGFuZAoJICBILjI2NC9BVkMgaW5zaWRlIEZMVi4KCSAgKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93YXVkaW9kZWMuYzoKCSAgKGdzdF9kc2hvd2F1ZGlvZGVjX2luaXQpLAoJICAoZ3N0X2RzaG93YXVkaW9kZWNfY2hhaW4pLCAoZ3N0X2RzaG93YXVkaW9kZWNfcHVzaF9idWZmZXIpLAoJICAoZ3N0X2RzaG93YXVkaW9kZWNfc2lua19ldmVudCksIChnc3RfZHNob3dhdWRpb2RlY19zZXR1cF9ncmFwaCk6CgkgICogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvZGVjLmg6CgkgICogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvZGVjLmM6CgkgIChnc3RfZHNob3d2aWRlb2RlY19pbml0KSwKCSAgKGdzdF9kc2hvd3ZpZGVvZGVjX3NpbmtfZXZlbnQpLCAoZ3N0X2RzaG93dmlkZW9kZWNfY2hhaW4pLAoJICAoZ3N0X2RzaG93dmlkZW9kZWNfcHVzaF9idWZmZXIpLAoJICAoZ3N0X2RzaG93dmlkZW9kZWNfc3JjX2dldGNhcHMpOgoJICAqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb2RlYy5oOiBMb3Qgb2YgcmFuZG9tIGZpeGVzCgkgIHRvIGltcHJvdmUgc3RhYmlsaXR5IChyZWYgY291bnRpbmcsIHNhZmV0eSBjaGVja3MuLi4pCgoyMDA4LTA0LTI1IDA4OjA3OjM2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgW01PVkVEIEZST00gQkFEIDIwLzU3XSBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IEZvcndhcmQgdW5rbm93biBxdWVyaWVzIHVwc3RyZWFtIGluc3RlYWQgb2YgcmV0dXJuaW5nIEZBTFNFIG9uIHRoZW0uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogKGdzdF9mbHZfZGVtdXhfcXVlcnkpOgoJICBGb3J3YXJkIHVua25vd24gcXVlcmllcyB1cHN0cmVhbSBpbnN0ZWFkIG9mIHJldHVybmluZyBGQUxTRSBvbiB0aGVtLgoKMjAwOC0wNC0xMSAyMzoxOToyMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAxOS81N10gZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiBIYW5kbGUgTlVMTCByZXR1cm5zIGZyb20gRkxWX0dFVF9TVFJJTkcoKSBtb3JlIGdyYWNlZnVsbHkuIEZpeGVzIGNyYXNoIGNhdXNlZCBieSBhIHN0cmxlbiBvbiBhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogKGdzdF9mbHZfcGFyc2VfbWV0YWRhdGFfaXRlbSksCgkgIChnc3RfZmx2X3BhcnNlX3RhZ19zY3JpcHQpOgoJICBIYW5kbGUgTlVMTCByZXR1cm5zIGZyb20gRkxWX0dFVF9TVFJJTkcoKSBtb3JlIGdyYWNlZnVsbHkuIEZpeGVzCgkgIGNyYXNoIGNhdXNlZCBieSBhIHN0cmxlbiBvbiBhIE5VTEwgc3RyaW5nICgjNTI3NjIyKS4KCjIwMDctMTItMTEgMTE6NTQ6NDMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBbTU9WRUQgRlJPTSBCQUQgMTgvNTddIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogRG9uJ3Qgc3RyZHVwIChhbmQgdGh1cyBsZWFrKSBjb2RlYyBuYW1lIHN0cmluZ3Mgd2hlbiBwYXNzaW5nIHRoZW0gdG8gZ3N0X3RhZ19saXN0X2FkZCgpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IChnc3RfZmx2X3BhcnNlX3RhZ19hdWRpbyksCgkgIChnc3RfZmx2X3BhcnNlX3RhZ192aWRlbyk6CgkgIERvbid0IHN0cmR1cCAoYW5kIHRodXMgbGVhaykgY29kZWMgbmFtZSBzdHJpbmdzIHdoZW4gcGFzc2luZwoJICB0aGVtIHRvIGdzdF90YWdfbGlzdF9hZGQoKS4KCjIwMDctMTItMDkgMTk6Mzc6NTMgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBbTU9WRUQgRlJPTSBCQUQgMTcvNTddIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogRml4IGxpc3Qgb2Ygc3VwcG9ydGVkIGFuZCBrbm93biBjb2RlY3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogKGdzdF9mbHZfcGFyc2VfdGFnX2F1ZGlvKSwKCSAgKGdzdF9mbHZfcGFyc2VfdGFnX3ZpZGVvKToKCSAgRml4IGxpc3Qgb2Ygc3VwcG9ydGVkIGFuZCBrbm93biBjb2RlY3MuCgkgIEVtaXQgdGFnIHdpdGggdGhlIGNvZGVjIG5hbWUgc28gaXQgZ2V0cyBwcm9wZXJseSByZXBvcnRlZCBpbiB0b3RlbSBhbmQKCSAgb3RoZXIgYXBwbGljYXRpb25zLgoKMjAwNy0xMS0yNSAxMDo0NTowOSArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAxNi81N10gZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiBPdXRwdXQgc2VnbWVudCB3aXRoIHByb3BlciAnc3RvcCcgdmFsdWUsIG1ha2VzIGZsdmRlbXV4IDEwMCUgY29tcGF0aWJsZSB3aXRoIGdub25saW4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogKGdzdF9mbHZfcGFyc2VfdGFnX2F1ZGlvKSwKCSAgKGdzdF9mbHZfcGFyc2VfdGFnX3ZpZGVvKToKCSAgT3V0cHV0IHNlZ21lbnQgd2l0aCBwcm9wZXIgJ3N0b3AnIHZhbHVlLCBtYWtlcyBmbHZkZW11eCAxMDAlIGNvbXBhdGlibGUKCSAgd2l0aCBnbm9ubGluLgoKMjAwNy0xMS0xMiAxOToyMjoyNCArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAxNS81N10gZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiBBZGQgbWFwcGluZyBmb3IgTmVsbHltb3NlciBBU0FPIGF1ZGlvIGNvZGVjLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6CgkgIEFkZCBtYXBwaW5nIGZvciBOZWxseW1vc2VyIEFTQU8gYXVkaW8gY29kZWMuCgkgIChnc3RfZmx2X3BhcnNlX3RhZ19hdWRpbyksIChnc3RfZmx2X3BhcnNlX3RhZ192aWRlbyk6IE1ha2Ugc3VyZSB3ZQoJICBhY3R1YWxseSBoYXZlIGRhdGEgdG8gcmVhZCBhdCB0aGUgZW5kIG9mIHRoZSB0YWcuIFRoaXMgYXZvaWRzIHRyeWluZwoJICB0byBhbGxvY2F0ZSBuZWdhdGl2ZSBidWZmZXJzLgoKMjAwNy0xMC0yMiAxNTo0NTo0OSArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBbTU9WRUQgRlJPTSBCQUQgMTQvNTddIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogRG9uJ3QgZW1pdCBuby1tb3JlLXBhZHMgZm9yIHNpbmdsZSBwYWQgc2NlbmFyaW9zIGFzIHRoZSBoZWFkZXIgaXMgZGVmaW5pdGVseSBub3QgcmVsaWFibGUuIFdlIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNy0xMC0yMiAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogKGdzdF9mbHZfcGFyc2VfdGFnX2F1ZGlvKSwKCSAgKGdzdF9mbHZfcGFyc2VfdGFnX3ZpZGVvKSwgKGdzdF9mbHZfcGFyc2VfdGFnX3R5cGUpOiBEb24ndAoJICBlbWl0IG5vLW1vcmUtcGFkcyBmb3Igc2luZ2xlIHBhZCBzY2VuYXJpb3MgYXMgdGhlIGhlYWRlcgoJICBpcyBkZWZpbml0ZWx5IG5vdCByZWxpYWJsZS4gV2UgZW1pdCB0aGVtIGZvciAyIHBhZHMgc2NlbmFyaW9zCgkgIHRob3VnaCB0byBzcGVlZCB1cCBtZWRpYSBkaXNjb3ZlcnkuCgoyMDA3LTA5LTI3IDEwOjA2OjIzICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAxMy81N10gZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiBJIGdvdCBpdCB3cm9uZyBhZ2FpbiwgYXVkaW8gcmF0ZSB3YXMgbm90IGRldGVjdGVkIGNvcnJlY3RseSBpbiBhbGwgY2FzZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA3LTA5LTI3ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiAoZ3N0X2Zsdl9wYXJzZV90YWdfYXVkaW8pLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfdmlkZW8pOiBJIGdvdCBpdCB3cm9uZyBhZ2FpbiwgYXVkaW8gcmF0ZQoJICB3YXMgbm90IGRldGVjdGVkIGNvcnJlY3RseSBpbiBhbGwgY2FzZXMuCgoyMDA3LTA5LTI2IDE2OjMwOjUwICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAxMi81N10gZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiBjb2RlY19kYXRhIGlzIG5lZWRlZCBmb3IgZXZlcnkgdGFnIG5vdCBqdXN0IHRoZSBmaXJzdCBvbmUuIChGaXggYSBzdHVwaWQgYnVnIGkgaW50cm9kdWNlZCB3aXRoLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA3LTA5LTI2ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiAoZ3N0X2Zsdl9wYXJzZV90YWdfYXVkaW8pLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfdmlkZW8pOiBjb2RlY19kYXRhIGlzIG5lZWRlZCBmb3IgZXZlcnkgdGFnCgkgIG5vdCBqdXN0IHRoZSBmaXJzdCBvbmUuIChGaXggYSBzdHVwaWQgYnVnIGkgaW50cm9kdWNlZCB3aXRob3V0CgkgIHRlc3RpbmcpCgoyMDA3LTA5LTI2IDExOjE3OjA4ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAxMS81N10gZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiBGaXggYml0IG1hc2tzIG9wZXJhdGlvbnMgdG8gYmUgc3VyZSB3ZSBkZXRlY3QgdGhlIGNvZGVjX3RhZ3MgYW5kIHNhbXBsZSByYXRlcyBjb3JyZWN0bHkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA3LTA5LTI2ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiAoZ3N0X2Zsdl9wYXJzZV90YWdfYXVkaW8pLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfdmlkZW8pOiBGaXggYml0IG1hc2tzIG9wZXJhdGlvbnMgdG8gYmUKCSAgc3VyZSB3ZSBkZXRlY3QgdGhlIGNvZGVjX3RhZ3MgYW5kIHNhbXBsZSByYXRlcyBjb3JyZWN0bHkuCgkgIEZpeCByYXcgYXVkaW8gY2FwcyBnZW5lcmF0aW9uLgoKMjAwNy0wOS0xMiAwODozODoyMiArMDAwMCAgUGV0ZXIgS2plbGxlcnN0ZWR0IDxwa2pAYXhpcy5jb20+CgoJICBbTU9WRUQgRlJPTSBCQUQgMTAvNTddIGdzdC86IFByaW50ZiBmb3JtYXQgZml4ZXMgKCM0NzYxMjgpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFBldGVyIEtqZWxsZXJzdGVkdCAgPHBraiBhdCBheGlzIGNvbT4KCSAgKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNpbmsuYzoKCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOgoJICAqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOgoJICAqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmM6CgkgIFByaW50ZiBmb3JtYXQgZml4ZXMgKCM0NzYxMjgpLgoKMjAwNy0wOC0yNyAxNDo1NjowNSArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBbTU9WRUQgRlJPTSBCQUQgMDkvNTddIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogTWFrZSBzdXJlIHdlIGluaXRpYWxpemUgdGhlIHNlZWsgcmVzdWx0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNy0wOC0yNyAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogKGdzdF9mbHZfZGVtdXhfaGFuZGxlX3NlZWtfcHVsbCk6CgkgIE1ha2Ugc3VyZSB3ZSBpbml0aWFsaXplIHRoZSBzZWVrIHJlc3VsdC4KCjIwMDctMDgtMjQgMTc6MDM6MTUgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgW01PVkVEIEZST00gQkFEIDA4LzU3XSBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IFJlbW92ZSBzb21lIHVzZWxlc3MgaWZkZWYuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA3LTA4LTI0ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiAoZ3N0X2Zsdl9kZW11eF9mbHVzaCksCgkgIChnc3RfZmx2X2RlbXV4X2NoYWluKSwgKGdzdF9mbHZfZGVtdXhfcHVsbF90YWcpLAoJICAoZ3N0X2Zsdl9kZW11eF9maW5kX29mZnNldCksIChnc3RfZmx2X2RlbXV4X2hhbmRsZV9zZWVrX3B1c2gpLAoJICAoZ3N0X2Zsdl9kZW11eF9oYW5kbGVfc2Vla19wdWxsKSwgKGdzdF9mbHZfZGVtdXhfc2lua19ldmVudCksCgkgIChnc3RfZmx2X2RlbXV4X3NyY19ldmVudCk6IFJlbW92ZSBzb21lIHVzZWxlc3MgaWZkZWYuCgoyMDA3LTA4LTI0IDE1OjMxOjI2ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAwNy81N10gZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiBJbXBsZW1lbnQgc2Vla2luZyBpbiBwdXNoIG1vZGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA3LTA4LTI0ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiAoZ3N0X2Zsdl9kZW11eF9mbHVzaCksCgkgIChnc3RfZmx2X2RlbXV4X2NsZWFudXApLCAoZ3N0X2Zsdl9kZW11eF9jaGFpbiksCgkgIChnc3RfZmx2X2RlbXV4X3B1bGxfdGFnKSwgKGdzdF9mbHZfZGVtdXhfZmluZF9vZmZzZXQpLAoJICAoZ3N0X2Zsdl9kZW11eF9oYW5kbGVfc2Vla19wdXNoKSwKCSAgKGdzdF9mbHZfZGVtdXhfaGFuZGxlX3NlZWtfcHVsbCksCgkgIChnc3RfZmx2X2RlbXV4X3NpbmtfZXZlbnQpLCAoZ3N0X2Zsdl9kZW11eF9zcmNfZXZlbnQpOiBJbXBsZW1lbnQKCSAgc2Vla2luZyBpbiBwdXNoIG1vZGUuCgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5oOgoKMjAwNy0wOC0yMiAxNDo1MDo1MSArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBbTU9WRUQgRlJPTSBCQUQgMDYvNTddIGdzdC9mbHYvOiBIYW5kbGUgcGl4ZWwgYXNwZWN0IHJhdGlvIHRocm91Z2ggbWV0YWRhdGEgdGFncyBsaWtlIEFTRiBkb2VzLiBGbHVlbmRvIG11eGVyIHN1cHBvcnRzIHRoaXMgYW5kCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA3LTA4LTIyICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiAoZ3N0X2Zsdl9kZW11eF9jbGVhbnVwKSwKCSAgKGdzdF9mbHZfZGVtdXhfcHVsbF90YWcpOgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguaDoKCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IChnc3RfZmx2X3BhcnNlX21ldGFkYXRhX2l0ZW0pLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfc2NyaXB0KSwgKGdzdF9mbHZfcGFyc2VfdGFnX2F1ZGlvKSwKCSAgKGdzdF9mbHZfcGFyc2VfdGFnX3ZpZGVvKTogSGFuZGxlIHBpeGVsIGFzcGVjdCByYXRpbyB0aHJvdWdoCgkgIG1ldGFkYXRhIHRhZ3MgbGlrZSBBU0YgZG9lcy4gRmx1ZW5kbyBtdXhlciBzdXBwb3J0cyB0aGlzIGFuZAoJICBGbGFzaCBwbGF5ZXJzIGNhbiBzdXBwb3J0IGl0IGFzIHdlbGwgdGhpcyB3YXkuCgoyMDA3LTA4LTIyIDE0OjAzOjQyICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAwNS81N10gZ3N0L2Zsdi86IE1ha2Ugc3VyZSB3ZSBkb24ndCB0cnkgZmlsbGluZyB1cCB0aGUgaW5kZXggaWYgbm8gdGltZXMgb2JqZWN0IHdhcyBwYXJzZWQuIEZpeCB0aGUgd2F5IHdlIGRlY2lkZSB0byBwdXNoIHRhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA3LTA4LTIyICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiAoZ3N0X2Zsdl9kZW11eF9wdWxsX3RhZyk6CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiAoZ3N0X2Zsdl9wYXJzZV9tZXRhZGF0YV9pdGVtKSwKCSAgKGdzdF9mbHZfcGFyc2VfdGFnX3NjcmlwdCksIChnc3RfZmx2X3BhcnNlX3RhZ19hdWRpbyksCgkgIChnc3RfZmx2X3BhcnNlX3RhZ192aWRlbyk6IE1ha2Ugc3VyZSB3ZSBkb24ndCB0cnkgZmlsbGluZyB1cCB0aGUKCSAgaW5kZXggaWYgbm8gdGltZXMgb2JqZWN0IHdhcyBwYXJzZWQuIEZpeCB0aGUgd2F5IHdlIGRlY2lkZSB0bwoJICBwdXNoCgkgIHRhZ3MgYW5kIGVtaXQgbm8tbW9yZS1wYWRzLiBGaXggc29tZSBwcmludGYgdHlwaW5nIGluIGRlYnVnZ2luZy4KCjIwMDctMDgtMTQgMTQ6NTY6MjAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBbTU9WRUQgRlJPTSBCQUQgMDQvNTddIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogRml4IGxvY2tpbmcgYW5kIHJlZmNvdW50aW5nIG9uIHRoZSBpbmRleC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiAoZ3N0X2Zsdl9kZW11eF9zZXRfaW5kZXgpLAoJICAoZ3N0X2Zsdl9kZW11eF9nZXRfaW5kZXgpOgoJICBGaXggbG9ja2luZyBhbmQgcmVmY291bnRpbmcgb24gdGhlIGluZGV4LgoKMjAwNy0wOC0xNCAxNDoyMjowOSArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBbTU9WRUQgRlJPTSBCQUQgMDMvNTddIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogRmlyc3QgbWV0aG9kIGZvciBzZWVraW5nIGluIHB1bGwgbW9kZSB1c2luZyB0aGUgaW5kZXggYnVpbHQgc3RlcCBieSBzdGVwIG9yIGNvbWluZyBmcm9tIG1ldGFkYXRhLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNy0wOC0xNCAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogKGdzdF9mbHZfZGVtdXhfY2xlYW51cCksCgkgIChnc3RfZmx2X2RlbXV4X2FkYXB0ZXJfZmx1c2gpLCAoZ3N0X2Zsdl9kZW11eF9jaGFpbiksCgkgIChnc3RfZmx2X2RlbXV4X3B1bGxfdGFnKSwgKGdzdF9mbHZfZGVtdXhfZG9fc2VlayksCgkgIChnc3RfZmx2X2RlbXV4X2hhbmRsZV9zZWVrKSwgKGdzdF9mbHZfZGVtdXhfc2lua19ldmVudCksCgkgIChnc3RfZmx2X2RlbXV4X3NyY19ldmVudCksIChnc3RfZmx2X2RlbXV4X3F1ZXJ5KSwKCSAgKGdzdF9mbHZfZGVtdXhfY2hhbmdlX3N0YXRlKSwgKGdzdF9mbHZfZGVtdXhfc2V0X2luZGV4KSwKCSAgKGdzdF9mbHZfZGVtdXhfZ2V0X2luZGV4KSwgKGdzdF9mbHZfZGVtdXhfZGlzcG9zZSksCgkgIChnc3RfZmx2X2RlbXV4X2NsYXNzX2luaXQpOiBGaXJzdCBtZXRob2QgZm9yIHNlZWtpbmcgaW4gcHVsbAoJICBtb2RlIHVzaW5nIHRoZSBpbmRleCBidWlsdCBzdGVwIGJ5IHN0ZXAgb3IgY29taW5nIGZyb20gbWV0YWRhdGEuCgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5oOgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogKEZMVl9HRVRfU1RSSU5HKSwKCSAgKGdzdF9mbHZfcGFyc2VfbWV0YWRhdGFfaXRlbSksIChnc3RfZmx2X3BhcnNlX3RhZ19zY3JpcHQpLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfYXVkaW8pLCAoZ3N0X2Zsdl9wYXJzZV90YWdfdmlkZW8pOiBQYXJzZQoJICBtb3JlIG1ldGFkYXRhIHR5cGVzIGFuZCBrZXlmcmFtZXMgaW5kZXguCgoyMDA3LTA3LTI1IDEzOjI5OjA0ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAwMi81N10gZ3N0L2Zsdi86IEhhbmRsZSBub3QgbGlua2VkIHBhZHMsIHRyeSB0byBtYWtlIGl0IHJldXNhYmxlLCBtb3JlIHNhZmV0eSBjaGVja3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA3LTA3LTI1ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgIChnc3RfZmx2X2RlbXV4X2NoYWluKSwgKGdzdF9mbHZfZGVtdXhfcHVsbF90YWcpLAoJICAoZ3N0X2Zsdl9kZW11eF9jaGFuZ2Vfc3RhdGUpLCAoZ3N0X2Zsdl9kZW11eF9kaXNwb3NlKSwKCSAgKGdzdF9mbHZfZGVtdXhfaW5pdCk6CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5oOgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogKEZMVl9HRVRfU1RSSU5HKSwKCSAgKGdzdF9mbHZfcGFyc2VfbWV0YWRhdGFfaXRlbSksIChnc3RfZmx2X3BhcnNlX3RhZ19zY3JpcHQpLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfYXVkaW8pLCAoZ3N0X2Zsdl9wYXJzZV90YWdfdmlkZW8pLAoJICAoZ3N0X2Zsdl9wYXJzZV9oZWFkZXIpOgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuaDogSGFuZGxlIG5vdCBsaW5rZWQgcGFkcywgdHJ5IHRvIG1ha2UgaXQKCSAgcmV1c2FibGUsIG1vcmUgc2FmZXR5IGNoZWNrcy4KCjIwMDctMDctMTkgMTU6MDU6MzAgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgW01PVkVEIEZST00gQkFEIDAxLzU3XSBBZGRzIGEgZmlyc3QgZHJhZnQgb2YgYW4gRkxWIGRlbXV4ZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA3LTA3LTE5ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9mbHYvTWFrZWZpbGUuYW06CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiAoZ3N0X2Zsdl9kZW11eF9mbHVzaCksCgkgIChnc3RfZmx2X2RlbXV4X2NsZWFudXApLCAoZ3N0X2Zsdl9kZW11eF9jaGFpbiksCgkgIChnc3RfZmx2X2RlbXV4X3B1bGxfdGFnKSwgKGdzdF9mbHZfZGVtdXhfcHVsbF9oZWFkZXIpLAoJICAoZ3N0X2Zsdl9kZW11eF9zZWVrX3RvX3ByZXZfa2V5ZnJhbWUpLCAoZ3N0X2Zsdl9kZW11eF9sb29wKSwKCSAgKGdzdF9mbHZfZGVtdXhfc2lua19hY3RpdmF0ZSksCgkgIChnc3RfZmx2X2RlbXV4X3NpbmtfYWN0aXZhdGVfcHVzaCksCgkgIChnc3RfZmx2X2RlbXV4X3NpbmtfYWN0aXZhdGVfcHVsbCksIChnc3RfZmx2X2RlbXV4X3NpbmtfZXZlbnQpLAoJICAoZ3N0X2Zsdl9kZW11eF9jaGFuZ2Vfc3RhdGUpLCAoZ3N0X2Zsdl9kZW11eF9kaXNwb3NlKSwKCSAgKGdzdF9mbHZfZGVtdXhfYmFzZV9pbml0KSwgKGdzdF9mbHZfZGVtdXhfY2xhc3NfaW5pdCksCgkgIChnc3RfZmx2X2RlbXV4X2luaXQpLCAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguaDoKCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IChGTFZfR0VUX0JFVUkyNCksIChGTFZfR0VUX1NUUklORyksCgkgIChnc3RfZmx2X2RlbXV4X3F1ZXJ5X3R5cGVzKSwgKGdzdF9mbHZfZGVtdXhfcXVlcnkpLAoJICAoZ3N0X2Zsdl9wYXJzZV9tZXRhZGF0YV9pdGVtKSwgKGdzdF9mbHZfcGFyc2VfdGFnX3NjcmlwdCksCgkgIChnc3RfZmx2X3BhcnNlX3RhZ19hdWRpbyksIChnc3RfZmx2X3BhcnNlX3RhZ192aWRlbyksCgkgIChnc3RfZmx2X3BhcnNlX3RhZ190eXBlKSwgKGdzdF9mbHZfcGFyc2VfaGVhZGVyKToKCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmg6IEFkZHMgYSBmaXJzdCBkcmFmdCBvZiBhbiBGTFYgZGVtdXhlci4KCSAgSXQgZG9lcyBub3QgZG8gc2Vla2luZyB5ZXQsIGl0IHN1cHBvcnRzIHB1bGwgYW5kIHB1c2ggbW9kZSBzbwoJICBZRVMKCSAgeW91IGNhbiB1c2UgaXQgdG8gcGxheSB5b3V0dWJlIHZpZGVvcyBkaXJlY3RseSBmcm9tIGFuIEhUVFAgdXJpLgoJICBOb3Qgc28gbXVjaCB0ZXN0aW5nIGRvbmUgeWV0IGJ1dCBpdCBwYXJzZXMgbWV0YWRhdGEsIHJlcGx5IHRvCgkgIGR1cmF0aW9uIHF1ZXJpZXMsIGV0Yy4uLgoKMjAwOS0wNS0xMiAxMzowMDo0NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJICBydHA6IExpbmsgdG8gLWxtCgkgIEZpeGVzIGJ1ZyAjNTgyMjgxLgoKMjAwOS0wNS0xMiAxMToxNjo0OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ2FuYWx5c2lzLmM6CgkgIHJnYW5hbHlzaXM6IFJlbW92ZSBpbnZhbGlkIHVuaXQgdGVzdAoJICBUaGUgdGVzdCBjcmVhdGVzIGJ1ZmZlcnMgd2l0aCBub24tc2lsZW5jZSwgc2V0cyB0aGUgR0FQCgkgIGZsYWcgb24gaXQgYW5kIGV4cGVjdHMgcmdhbmFseXNpcyB0byBpZ25vcmUgdGhlIGNvbnRlbnQgYW5kIGFzc3VtZSBzaWxlbmNlLgoJICBUaGF0J3Mgbm90IHRoZSB3YXkgaG93IEdBUCBidWZmZXJzIHNob3VsZCBiZSB1c2VkLCBpZiB0aGUgR0FQIGZsYWcgaXMgc2V0CgkgIGVsZW1lbnRzICpjYW4qIGFzc3VtZSB0aGF0IHRoZXkgb25seSBjb250YWluIHNpbGVuY2UgYnV0IHRoZXkncmUgbm90ICpyZXF1aXJlZCoKCSAgdG8gYXNzdW1lIHRoYXQuIFRoZSBHQVAgZmxhZyBtdXN0IG9ubHkgYmUgc2V0IG9uIHNpbGVuY2UgYnVmZmVycy4KCSAgRml4ZXMgYnVnICM1ODIyNTIuCgoyMDA5LTA1LTEyIDAwOjQ4OjQ5ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbmZpZ3VyZS5hYzoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbHQucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIDAuMTAuMTQuMiBwcmUtcmVsZWFzZQoKMjAwOS0wNS0xMSAyMzoxMzoyMCArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogdGVzdHMvZmlsZXMvTWFrZWZpbGUuYW06CgkgIGNoZWNrczogZGlzdCBpZDMtNTc3NDY4LXVuc3luY2VkLXRhZy50YWcgdGVzdCBmaWxlCgoyMDA5LTA1LTExIDIxOjAyOjI3ICswMjAwICBUcmlzdGFuIE1hdHRoZXdzIDxsZS5idXNpbmVzc21hbiBhdCBnbWFpbC5jb20+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBpbml0aWFsaXplIHZhcmlhYmxlIHRvIDAKCSAgRml4ZXMgIzU4MjIxOC4KCjIwMDktMDUtMTEgMTg6MjE6MTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IE9ubHkgc2VhcmNoIGZvciB0aGUgaW5kZXggZW50cnkgb25jZQoKMjAwOS0wNS0xMSAxODoxODozNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogVXNlIHRoZSBmaXJzdCBpbmRleCBlbnRyeSBpZiBpdCdzIGFmdGVyIHRoZSBzZWVrIHBvc2l0aW9uCgoyMDA5LTA1LTExIDE4OjE1OjIyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IFVzZSB0aGUgZmlyc3QgZW50cnkgZm9yIGEgZ2l2ZW4gc3RyZWFtIGlmIHRoZSBmaXJzdCBlbnRyeSBpcyBhZnRlciB0aGUgc2VlayBwb3NpdGlvbgoKMjAwOS0wNS0xMSAxNjo1MDo0OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBVc2UgYmluYXJ5IHNlYXJjaCBmb3IgZmluZGluZyB0aGUgcmVxdWVzdGVkIGluZGV4IGVudHJ5IHdoZW4gc2Vla2luZwoKMjAwOS0wNS0xMSAxNTozNjo0NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5oOgoJICBtYXRyb3NrYWRlbXV4OiBJbXByb3ZlL29wdGltaXplIHNlZWtpbmcKCSAgRmlyc3Qgb2YgYWxsIGEga2V5ZnJhbWUgc2VlayBzaG91bGQgYmUgZG9uZSB0byB0aGUKCSAga2V5ZnJhbWUgcmlnaHQgYmVmb3JlIHRoZSByZXF1ZXN0ZWQgcG9zaXRpb24gYW5kIG5vdAoJICB0byB0aGUga2V5ZnJhbWUgdGhhdCBpcyBuZWFyZXN0IHRvIHRoZSByZXF1ZXN0ZWQgcG9zaXRpb24uCgkgIFVzZSBwZXIgdHJhY2sgaW5kZXggYXJyYXlzIGFuZCB1c2Ugb3VyIG5ldyBiaW5hcnkgc2VhcmNoIGZ1bmN0aW9uCgkgIGZyb20gY29yZSB0byBzcGVlZCB1cCB0aGUgc2VhcmNoLgoKMjAwOS0wNS0xMSAxNTozNjozNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIFJlcXVpcmUgcmVsZWFzZWQgdmVyc2lvbnMgb2YgY29yZS9iYXNlCgoyMDA5LTA1LTExIDEwOjE1OjAwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBnZGtwaXhidWY6IFVzZSB0aGUgbGlicyBhbmQgY2ZsYWdzIG9mIGdkayBwaXhidWYgaW5zdGVhZCBvZiBndGsKCSAgVGhpcyBmaXhlcyB0aGUgYnVpbGQgaWYgZ2RrLXBpeGJ1ZiBpcyBmb3VuZCBidXQgZ3RrIGlzbid0CgoyMDA5LTA1LTExIDA5OjU4OjQ4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgQWx3YXlzIGRlZmluZSB0aGUgY29uZGl0aW9uYWwgSEFWRV9HVEsgdG8gZml4IGNvbmZpZ3VyZSBpbiBzb21lIGNhc2VzCgoyMDA5LTA1LTEwIDExOjE3OjIzICswMjAwICBNYXJjLUFuZHJlIEx1cmVhdSA8bWFyY2FuZHJlLmx1cmVhdUBnbWFpbC5jb20+CgoJKiBhdXRvZ2VuLnNoOgoJICBSdW4gbGlidG9vbGl6ZSBiZWZvcmUgYWNsb2NhbAoJICBUaGlzIHVuYnJlYWtzIHRoZSBidWlsZCBpbiBzb21lIGNhc2VzLiBGaXhlcyBidWcgIzU4MjAyMQoKMjAwOS0wNS0wOSAxMDo1MDo0NSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2E6IGZpeCBwcmludGYgZm9ybWF0IHRvIGFncmVlIHdpdGggYXJndW1lbnQKCjIwMDktMDUtMDggMTk6NDI6MTAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3JhdzEzOTQvZ3N0ZHYxMzk0c3JjLmM6CgkqIGV4dC9yYXcxMzk0L2dzdGhkdjEzOTRzcmMuYzoKCSAgcmF3MTM5NDogaW5jbHVkZSBzdGRsaWIuaCBmb3Igc3RydG9sKCkKCSAgRml4ZXMgY29tcGlsZXIgd2FybmluZyB3aGVuIGNvbXBpbGluZyB3aXRoIHhtbCBzdHVmZiBpbiBjb3JlIGRpc2FibGVkLgoKMjAwOS0wNS0wOCAxNjo0MDo1NyArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSAgZmxhY2RlYzogQWN0dWFsbHkgb3V0cHV0IHRoZSBwZW5kaW5nIGJ1ZmZlci4uIGFuZCBub3QgYSBibGFuayBvbmUuCgkgIEl0IHdhcyBwcmV2aW91c2x5IHNlbmRpbmcgdGhlIGJvZ3VzIGJ1ZmZlciB3aGljaCB3YXMgcmV0dXJuZWQgZnJvbQoJICB0aGUgYnVmZmVyYWxsb2MgKHJlcXVpcmVkIGZvciByZXZlcnNlIG5lZ290aWF0aW9uIGFwcGFyZW50bHkpIGluc3RlYWQKCSAgb2YgdGhlIHBlbmRpbmcgYnVmZmVyLgoKMjAwOS0wNS0wOCAxMjowMDo1NyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwaHR0cHNyYzogQWxsb3cgbm9uLXN0cmluZyBmaWVsZHMgaW4gdGhlIGV4dHJhLWhlYWRlcnMgcHJvcGVydHkKCjIwMDktMDUtMDggMTE6MzU6MDIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwL2dzdHJ0cC5jOgoJKiBnc3QvcnRwL2dzdHJ0cGoya2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwajJrZGVwYXkuaDoKCSAgcnRqMmtkZXBheTogYWRkIGJhc2ljIEpQRUcgMjAwMCBkZXBheWxvYWRlcgoKMjAwOS0wNS0wOCAxMTozMTowMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwajJrcGF5LmM6CgkgIHJ0cGoya3BheTogc2V0IG1hcmtlciBiaXQgY29ycmVjdGx5CgoyMDA5LTA1LTA4IDExOjI5OjA0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmg6CgkgIHNvdXBodHRwc3JjOiBBZGQgc3VwcG9ydCBmb3IgZXh0cmEtaGVhZGVycyBhcHBlbmRlZCB0byB0aGUgSFRUUCByZXF1ZXN0CgkgIFRoaXMgYWxsb3dzIHRvIHNldCB0aGUgUmVmZXJlciBoZWFkZXIgYW1vbmcgb3RoZXIgdGhpbmdzIGJ5CgkgIGFkZGluZyBhICJleHRyYS1oZWFkZXJzIiBwcm9wZXJ0eSB0aGF0IHRha2VzIGEgR3N0U3RydWN0dXJlCgkgIHdpdGggZmllbGQ9c3RyaW5nIHBhaXJzLgoJICBGaXhlcyBidWcgIzU4MTgwNi4KCjIwMDktMDUtMDggMTA6Mzg6NDIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwL2dzdHJ0cC5jOgoJKiBnc3QvcnRwL2dzdHJ0cGoya3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGoya3BheS5oOgoJICBydHBqMmtwYXk6IGFkZCBhIHNpbXBsZSBKUEVHIDIwMDAgcGF5bG9hZGVyCgoyMDA5LTA1LTA4IDEwOjMxOjEyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBqcGVncGF5LmM6CgkgIHJ0cGpwZWdwYXk6IHdlIG9ubHkgbmVlZCB0byBzd2FwIGJpdHMgb24gTEUKCjIwMDktMDUtMDcgMTg6MTA6MDggKzAxMDAgIENocmlzdGlhbiBTY2hhbGxlciA8Y2hyaXN0aWFuLnNjaGFsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWMuYzoKCSogZXh0L2pwZWcvZ3N0anBlZy5jOgoJKiBleHQvbGlicG5nL2dzdHBuZy5jOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXguYzoKCSogZ3N0L2F2aS9nc3RhdmkuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBBZGQgUkFOS1MgZm9yIHZhcmlvdXMgZW5jb2RlcnMgYW5kIG11eGVycwoKMjAwOS0wNS0wNyAxNzowOTo0NCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBhZGQgc29tZSBkZWJ1Z2dpbmcKCjIwMDktMDUtMDcgMTU6NTg6NDMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogcGFyc2UgeGlwaCBoZWFkZXJzIGxlbmd0aCBjb3JyZWN0bHkKCSAgU2VlICM1ODA5ODAKCjIwMDktMDUtMDcgMTY6MjU6NDEgKzAyMDAgIEdhYnJpZWwgQm91dmlnbmUgPGJvdXZpZ25lQG1wMy10ZWNoLm9yZz4KCgkqIGdzdC9yZXBsYXlnYWluL2dzdHJnYW5hbHlzaXMuYzoKCSogZ3N0L3JlcGxheWdhaW4vZ3N0cmdhbmFseXNpcy5oOgoJKiBnc3QvcmVwbGF5Z2Fpbi9yZ2FuYWx5c2lzLmM6CgkqIGdzdC9yZXBsYXlnYWluL3JnYW5hbHlzaXMuaDoKCSAgcmdhbmFseXNpczogQWRkIGFiaWxpdHkgdG8gcG9zdCBsZXZlbCBtZXNzYWdlcwoJICBGaXhlcyBidWcgIzU4MTU2OC4KCjIwMDktMDUtMDYgMjM6NTY6NDQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdwYXkuYzoKCSAgcnRwanBlZ3BheTogcmVmdXNlIHNvbWUgdW5zdXBwb3J0ZWQganBlZyBmb3JtYXRzCgoyMDA5LTA1LTA2IDE4OjA2OjQ5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFwYXkuYzoKCSAgcnRwdGhlb3JhcGF5OiBmaXggZGVzY3JpcHRpb24KCjIwMDktMDUtMDYgMTY6MDk6MTMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdwYXkuYzoKCSAgcnRwanBlZ3BheTogcmV3cml0ZSBxdWFudCB0YWJsZSBoYW5kbGluZwoJICBSZXdyaXRlIHRoZSBxdWFudCB0YWJsZSBwYXJzaW5nIHRvIGFsc28gaGFuZGxlIG11bHRpcGxlIHRhYmxlcyBpbiBvbmUgSlBFRyBIRFEKCSAgc2VnbWVudC4KCSAgSGFuZGxlIG1vcmUganBlZyB0eXBlcyBieSBrZWVwaW5nIHRyYWNrIG9mIHRoZSB0YWJsZXMgdXNlZCBwZXIgY29tcG9uZW50IGFuZAoJICBwdXR0aW5nIHRoZSB1c2VkIG9uZXMgaW4gdGhlIHF1YW50IGhlYWRlcnMuCgoyMDA5LTA0LTE4IDE3OjIzOjUxICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pZDN2Mm11eC5jOgoJICBpZDN2Mm11eDogTWFrZSB0aGUgdGVzdCBmYWlsdXJlIHNsaWdodGx5IG1vcmUgaW5mb3JtYXRpdmUKCjIwMDktMDQtMjAgMTg6MzM6MDkgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSAgZmxhYzogTWFrZSBidWZmZXJzIGNyZWF0ZWQgZHVyaW5nIHNlZWsgYWN0IGxpa2Ugbm9ybWFsIGJ1ZmZlcnMuCgkgIFN0b3JlIHRoZSBvZmZzZXQgYW5kIGNhcHMgd2hlbiBhbGxvY2F0aW5nIGEgYnVmZmVyIGR1cmluZyBzZWVraW5nLCBhbmQgdGhlbgoJICBhbGxvY2F0ZSBhIG5ldyBidWZmZXIgd2l0aCBidWZmZXJfYWxsb2MgYmVmb3JlIHdlIHB1c2ggaXQgb3V0LiBUaGlzIGVuc3VyZXMKCSAgdGhhdCBpbiBhbGwgcmVzcGVjdHMgdGhlIGZpcnN0IGJ1ZmZlciBkZWNvZGVkIGR1cmluZyBzZWVraW5nIGJlaGF2ZXMgbGlrZQoJICBhbGwgb3RoZXIgYnVmZmVycywgaW5jbHVkaW5nIGFsbG93aW5nIGRvd25zdHJlYW0gcmUtbmVnb3RpYXRpb24uCgoyMDA5LTA0LTE4IDE4OjAwOjU0ICswMjAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSAgZmxhY2RlYzogZG9uJ3QgdXNlIHBhZF9hbGxvYyB3aGVuIGRlY29kaW5nIHdoaWxlIHNlZWtpbmcuIEZpeGVzICM1Nzk0MjIKCjIwMDktMDUtMDYgMTM6MjI6NTEgKzAyMDAgIEFybm91dCBWYW5kZWNhcHBlbGxlIDxhcm5vdXRAbWluZC5iZT4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogcmVmYWN0b3JlZCBnc3RfanBlZ19kZWNfcGFyc2VfaW1hZ2VfZGF0YQoJICBGaXhlcyAjNTc5ODA4CgoyMDA5LTA1LTA2IDEzOjExOjUzICswMjAwICBBcm5vdXQgVmFuZGVjYXBwZWxsZSA8YXJub3V0QG1pbmQuYmU+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgIGpwZWdkZWM6IHN1cHBvcnQgYWRkaXRpb25hbCAweGZmIGJlZm9yZSBlbmQgbWFya2VyLgoJICBKUEVHIG1hcmtlcnMgbWF5IGJlIHByZWNlZGVkIGJ5IGFkZGl0aW9uYWwgMHhmZi4gIGpwZWdkZWMgc2hvdWxkCgkgIHNraXAgb3ZlciB0aGVzZSwgZXZlbiBiZWZvcmUgdGhlIGVuZCBtYXJrZXIuCgkgIFNlZSAjNTc5ODA4CgoyMDA5LTA1LTA2IDEyOjU0OjIyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBqcGVncGF5LmM6CgkgIHJ0cGpwZWdwYXk6IGhhbmRsZSBpbnB1dCB3aXRoIDEgcXVhbnQgdGFibGUKCSAgQWxzbyBoYW5kbGUgaW5wdXQgd2l0aCBqdXN0IG9uZSBxdWFudCB0YWJsZSwgc2ltcGx5IGR1cGxpY2F0ZSB0aGUgcXVhbnQgdGFibGUuCgkgIEhhbmRsZSBpbnZhbGlkIFNPRiBjb3JyZWN0bHkgYW5kIHNvbWUgc21hbGwgY2xlYW51cHMuCgkgIEZpeGVzICM1NzgyNTcKCjIwMDktMDQtMjkgMTU6NTg6MTAgKzAzMDAgIE1hcmNvIEJhbGxlc2lvIDxtYXJjby5iYWxsZXNpb0Bub2tpYS5jb20+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGZpeCBieXRlIG9yZGVyIHN3YXBwaW5nIGluIDNHUFAgY2xhc3NpZmljYXRpb24gZW50aXR5IHRhZwoJICBGaXhlcyAjNTgwNzQ2LgoKMjAwOS0wNS0wNSAxNzowNzoxMyArMDIwMCAgQXJub3V0IFZhbmRlY2FwcGVsbGUgPGFybm91dEBtaW5kLmJlPgoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOgoJICBtdWx0aXBhcnRkZW11eDogYXZvaWQgcmVhZGluZyBmcm9tIGluYXZsaWQgbWVtb3J5CgkgIFJlYWQgdGhlIHRpbWVzdGFtcCBvZiB0aGUgaW5jb21taW5nIGJ1ZmZlciBiZWZvcmUgd2UgcHVzaCBpdCBpbiB0aGUgYWRhcHRlciBhbmQKCSAgZmx1c2ggaXQgb3V0IGFnYWluIGFzIHRoZSBidWZmZXIgbWlnaHQgYmUgdW5yZWZmZWQgdGhlbiBhbmQgd2UgcmVhZCBmcm9tIGludmFsaWQKCSAgbWVtb3J5LgoJICBGaXhlcyAjNTgxNDQ0LgoKMjAwOS0wNS0wNSAxNzowMzoyOSArMDIwMCAgQXJub3V0IFZhbmRlY2FwcGVsbGUgPGFybm91dEBtaW5kLmJlPgoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOgoJICBtdWx0aXBhcnRkZW11eDogZG9uJ3QgbGVhayBkeW5hbWljIHBhZHMKCSAgRnJlZSB0aGUgZHluYW1pYyBwYWRzIGRhdGEgaW4gZmluYWxpemUuCgkgIEZpeGVzICM1ODE0MzIKCjIwMDktMDUtMDUgMTY6MzI6MTcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqcGVncGF5Lmg6CgkgIHJ0cGpwZWdwYXk6IGNvcnJlY3RseSBzZXQgdGhlIHR5cGUgaGVhZGVyCgkgIERvbid0IHJlcXVpcmUgd2lkdGgvaGVpZ2h0IG9uIHRoZSBjYXBzLiBVc2UgdGhlIFNPRiBoZWFkZXIgdG8gZmluZCB3aWR0aC9oZWlnaHQKCSAgYW5kIGZhbGwgYmFjayB0byB0aGUgY2FwcyBpZiB0aGVyZSBpcyBubyBTT0YuIEFsc28gdXNlIHRoZSBTT0YgaW5mbyB0byBmaW5kIHRoZQoJICBzdWJzYW1wbGluZyBhbmQgcXVhbnRpemF0aW9uIHRhYmxlcyB1c2VkLiBUaGlzIGFsbG93cyB1cyB0byBzZXQgdGhlIHJpZ2h0IHR5cGUKCSAgdmFsdWUgaW4gdGhlIEpQRUcgcnRwIGhlYWRlci4KCSAgRGVwcmVjYXRlIHRoZSBxdWFsaXR5IHByb3BlcnR5LCBpdCdzIHVudXNlZCBub3cgYW5kIGl0IHdhcyB1c2VkIHdyb25nbHkgYmVmb3JlLgoJICBBbHdheXMgc2VuZCBmdWxsIHF1YW50IHRhYmxlcyBmb3Igbm93IHVudGlsIHdlIGhhdmUgc29tZSBjb2RlIHRvIGRldGVjdCBkZWZhdWx0CgkgIG9uZXMuCgkgIEZpeGVzICM1ODA4ODAKCjIwMDktMDUtMDUgMTY6Mjg6NDQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdkZXBheS5oOgoJICBydHBqcGVnZGVwYXk6IHVzZSB3aWR0aC9oZWlnaHQgZnJvbSBwYXlsb2FkCgkgIFVzZSB0aGUgd2lkdGggYW5kIHRoZSBoZWlnaHQgZnJvbSB0aGUgcGF5bG9hZCBoZWFkZXJzIGFuZCBzZXQgdGhlbSBvbiB0aGUKCSAgb3V0cHV0IGNhcHMgZm9yIGFkZGVkIGF3ZXNvbWVuZXNzLgoJICBGaXggcXVhbnQgcGFyc2luZywgd2UgbmVlZCB0byBjaGVjayB0aGUgdHlwZSBpbiB0aGUgbG93ZXIgNiBiaXRzLgoJICBBZGQgZmlyc3QgYml0cyBvZiBjYWNoaW5nIHF1YW50aXphdGlvbiB0YWJsZXMuCgoyMDA5LTA1LTA1IDE2OjI0OjE2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJICBqcGVnZW5jOiBzZXQgY29sb3JzcGFjZSBiZWZvcmUgX3NldF9kZWZhdWx0cygpCgkgIFRoZSBsaWJqcGVnIGFwaSBzYXlzIHRoYXQgd2UgbmVlZCB0byBzZXQgdGhlIGNvbG9yc3BhY2UgYmVmb3JlIHdlIGNhbGwKCSAgX3NldF9kZWZhdWx0cygpLiBJbmRlZWQsIGlmIHdlIGRvbid0IGRvIHRoYXQgd2UgZW5kIHVwIHdpdGggc29tZSB2ZXJ5IGZyZWFreQoJICBub24tc3RhbmRhcmQgcXVhbnQgdGFibGUgYW5kIGh1ZmZtYW4gdGFibGUgaW5kZXhlcy4KCjIwMDktMDUtMDUgMTM6MTk6MTkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvTWFrZWZpbGUuYW06CgkgIHRlc3RzOiBkb24ndCBidWlsZCBleGFtcGxlcyBpZiAtLWRpc2FibGUtZXhhbXBsZXMgd2FzIHBhc3NlZCB0byBjb25maWd1cmUKCjIwMDktMDUtMDUgMTI6MzM6NTcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGNsZWFuIHVwIG1lc3MgYXJvdW5kIGd0aysgY2hlY2tpbmcKCSAgQW5kIGRvbid0IGNoZWNrIGZvciBndGsrIHdoZW4gaXQncyBub3QgbmVlZGVkIChpZS4gaWYgZXhhbXBsZXMgYXJlIGRpc2FibGVkKQoKMjAwOS0wNS0wNSAxMjoyNzoyMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9nZGtfcGl4YnVmL01ha2VmaWxlLmFtOgoJKiBleHQvZ2RrX3BpeGJ1Zi9waXhidWZzY2FsZS5oOgoJICBjb25maWd1cmU6IG1ha2UgZ2RrLXBpeGJ1ZiBwbHVnaW4gZGVwZW5kIG9ubHkgb24gZ2RrLXBpeGJ1Ziwgbm90IGd0aysKCjIwMDktMDUtMDQgMTg6NTU6MTIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IEZpeCBmaW5kX3N0cmVhbV9ieV8qIGZ1bmN0aW9ucwoJICBGaXggdmFyaW91cyB2ZXJzaW9uIG9mIGZpbmRfc3RyZWFtX2J5XyogYnkgbm90IHRyeWluZyB0byBjb252ZXJ0IGFuIGludCB0byBhCgkgIHBvaW50ZXIgYW5kIHZpY2UgdmVyc2EsIGZvciBwb3J0YWJpbGl0eSByZWFzb25zLgoJICBGaXhlcyAjNTgxMzMzCgoyMDA5LTA1LTA0IDE4OjMyOjA1ICswMjAwICBDaHJpcyBXaW50ZXIgPGVsd2ludHJvIGF0IGdtYWlsLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogZml4IGR1bW15IG5hdCBwYWNrZXQgbG9naWMKCSAgRml4IGEgdHlwbyBpbiB0aGUgZHVtbXkgTkFUIHBhY2tldCBzZW5kaW5nIGNvZGUuCgkgIEZpeGVzICM1ODEzMjkKCjIwMDktMDQtMzAgMTA6MjQ6MjcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBhdm9pZCBlcnJvcnMgYWZ0ZXIgc2VydmVyIGVvZgoJICBTZXJ2ZXIgZW9mIChlLmcuIGNvbm5lY3Rpb24gY2xvc2VkKSBpcyBhbm5vdW5jZWQgYXMgY29ubmVjdGlvbiBjbG9zZWQsCgkgIHNvIGJldHRlciByZWNvcmQgc3RhdGUgYW5kIGFjdCBhY2NvcmRpbmdseSB0byBwcmV2ZW50IChyZWFkL3dyaXRlKQoJICBlcnJvcnMgZHVyaW5nIHN1YnNlcXVlbnQgdGVhcmRvd24vY2xlYW51cCBzZXF1ZW5jZXMuICAjRml4ZXMgNTgwODUxLihjKS4KCjIwMDktMDQtMzAgMTA6MTk6MjcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBhbHNvIHNldCBiYXNlX3RpbWUgb24gc3JjIGFmdGVyIGZsdXNoCgkgIHRpbWVzdGFtcHMgZm9sbG93aW5nIGZsdXNoL3NlZWsgc2hvdWxkIGJlIGNvbnNpc3RlbnQgYmV0d2VlbgoJICBVRFAgYW5kIFRDUCBpbnRlcmxlYXZlZCBjYXNlLiAgRml4ZXMgIzU4MDg1MS4oYikuCgoyMDA5LTA0LTMwIDEwOjE3OjIzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogc2FuaXR5IGNoZWNrcyBvbiByYW5nZSBpbmZvCgkgIEEgbWF4IHJhbmdlIHRoYXQgb3ZlcmZsb3dzIHNob3VsZCBub3QgYmUgdHJ1c3RlZCwKCSAgbm9yIHNob3VsZCBhIG1heCByYW5nZSB0aGF0IGVxdWFscyB0aGUgbWluIHJhbmdlLgoJICBGaXhlcyAjNTgwODUxLihhKS4KCjIwMDktMDUtMDQgMTY6MTY6NTQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgcnRzcHNyYzogdXNlIFNLSVAgZmxhZyB0byB1c2UgU0NBTEUgaGVhZGVycwoJICBXZSBjYW4gdXNlIHRoZSBTS0lQIHNlZWsgZmxhZyB0byBpbnN0cnVjdCB0aGUgc2VydmVyIHRvIHNlbmQgZGF0YSBmYXN0ZXIgdGhlbgoJICBub3JtYWwgYnV0IHdpdGggdGhlIHNhbWUgYmFuZHdpZHRoLgoJICBGaXhlcyAjNTM3NjA5CgoyMDA5LTA1LTA0IDE0OjE5OjIyICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOgoJICBzcGVleGRlYzogbWFrZSBzcGVleF9kZWNfY29udmVydCB3b3JrIHdpdGggc2FtZS1mb3JtYXQgdmFsdWVzIHdoZW4gbm8gZGF0YSBoYXMgYmVlbiBkZWNvZGVkLgoKMjAwOS0wNS0wNCAxMjo0Mzo0MiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkgIGZsYWM6IEltcGxlbWVudCBwcmVzZXQgaW50ZXJmYWNlCgoyMDA5LTA1LTA0IDEyOjQxOjU2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOgoJICBzcGVleDogSW1wbGVtZW50IHByZXNldCBpbnRlcmZhY2UKCjIwMDktMDUtMDQgMTI6NDA6MTIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOgoJICB3YXZwYWNrOiBJbXBsZW1lbnQgcHJlc2V0IGludGVyZmFjZQoKMjAwOS0wNS0wNCAxMjozNToxOSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogdXNlIGJpbmFyeSBzZWFyY2ggZm9yIGluZGV4CgkgIFVzZSB0aGUgbmV3IGJpbmFyeSBzZWFyY2ggbWV0aG9kIGZvciBmaW5kaW5nIHRoZSByaWdodCBpbmRleCBlbnRyeSBmYXN0ZXIuCgoyMDA5LTA1LTA0IDExOjI2OjU2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6CgkgIHZpZGVvYm94OiBkcmF3IHRoZSBjb21wbGV0ZSBVIGFuZCBWIHBsYW5lcwoJICBSb3VuZCB1cCB0aGUgc2NhbGVkIFUgYW5kIFYgd2lkdGggYW5kIGhlaWdodCBzbyB0aGF0IHdlIGFsd2F5cyBkcmF3IHRoZSBjb3JyZWN0CgkgIGFtb3VudCBvZiBwaXhlbHMgdG8gZmlsbCB0aGUgY29tcGxldGUgaW1hZ2UuCgkgIEZpeGVzICM1Njk2MTEKCjIwMDktMDUtMDEgMTk6MzU6MTEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGFkZCBzb21lIG1vcmUgbWljcm8gb3B0aW1pc2F0aW9ucwoKMjAwOS0wNC0zMCAxODo0MTo0NCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eF9kdW1wLmM6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfdHlwZXMuYzoKCSAgcXRkZW11eDogbWljcm8gb3B0aW1pemUgcXRkZW11eCBhIGxpdHRsZQoJICBTcHJpbmtsZSBzb21lIEdfTElLRUxZIGFyb3VuZC4KCSAgQXZvaWQgdHJhdmVyc2luZyBhbmQgZHVtcGluZyB0aGUgdHJlZSB3aGVuIGRlYnVnZ2luZyBpcyBub3QgYWN0aXZhdGVkLgoKMjAwOS0wNC0zMCAxNDoyMjoyNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5oOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4X2ZvdXJjYy5oOgoJICBxdGRlbXV4OiBhZGQgc3VwcG9ydCBmb3Igc3VidGl0bGUgcGljdHVyZXMKCSAgQWRkIHN1cHBvcnQgZm9yIHN1YnRpdGxlIHBpY3R1cmVzLgoJICBGaXhlcyAjNTY4Mjc4LgoKMjAwOS0wNC0zMCAxMDozMjozOSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBtYWtlIHN1cmUgd2UgYWx3YXlzIHNpZ25hbCB3YWl0ZXJzCgkgIEFsd2F5cyBzaWduYWwgdGhlIHdhaXRlcnMgaW4gdGhlIGFzeW5jIGNhbGxiYWNrcy4gRXNwZWNpYWxseSBmb3IgdGhlIHZvbHVtZQoJICBjYWxsYmFja3Mgc2luY2UgdGhpcyBtaWdodCBjYXVzZSBkZWFkbG9ja3MuCgoyMDA5LTA0LTI5IDE4OjA5OjA3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiByZWxlYXNlIHN0YXRlIGxvY2sgYmVmb3JlIHN0b3BwaW5nIHRhc2sKCSAgV2UgbmVlZCB0byByZWxlYXNlIHRoZSBzdGF0ZSBsb2NrIGJlZm9yZSB0cnlpbmcgdG8gd2FpdCBmb3IgdGhlIHRhc2sgdG8gZW5kCgkgIGJlY2F1c2UgdGhlIHRhc2sgbWlnaHQgYWxzbyB0YWtlIHRoZSBsb2NrLgoJICBGaXhlcyAjNTc3NjcxCgoyMDA5LTA0LTI5IDEyOjE5OjI3ICswMjAwICBIYW5zIGRlIEdvZWRlIDxqd3JkZWdvZWRlIGF0IGZlZG9yYXByb2plY3Qub3JnPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBoYW5kbGUgYWMtMyBhdWRpbwoJICBmaXggZGVtdXhpbmcgb2YgbTR2IHN0cmVhbXMgd2l0aCBhYy0zIGF1ZGlvCgkgIEZpeGVzICM1ODA1NTQKCjIwMDktMDQtMjkgMTE6MTI6MzYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJICBmbGFjZW5jOiBVc2UgdGhlIHRhZyBtZXJnZSBtb2RlIHRoYXQgd2FzIHNldCBvbiB0aGUgaW50ZXJmYWNlIGZvciBtZXJnaW5nIHRhZyBldmVudHMKCjIwMDktMDQtMjUgMDk6NDM6MzggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICB1ZHBzcmM6IGZpeCBnZXRhZGRyaW5mbyBlcnJvciByZXBvcnRpbmcKCSAgZ2V0YWRkcmluZm8gZXJyb3JzIHNob3VsZCBiZSByZXBvcnRlZCB3aXRoIGdhaV9zdHJlcnJvciBpbnN0ZWFkIG9mIGVycm5vIGFzCgkgIHNwb3R0ZWQgYnkgTWlrZVMuCgoyMDA5LTA0LTI3IDEwOjA4OjM5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBnNzI2cGF5LmM6CgkgIGc3MjZwYXk6IGZpeCBjb21waWxhdGlvbgoKMjAwOS0wNC0yNyAxMDowMjowNiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwZzcyNnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjZwYXkuaDoKCSAgZzcyNnBheTogYWRkIFJGQyBjb21wbGlhbnQgcGFja2V0aXppbmcKCSAgU2h1ZmZsZSB0aGUgaW5wdXQgYml0cyBhY2NvcmRpbmcgdG8gUkZDIDM1NTEgZm9yIEc3MjYgcGF5bG9hZHMuCgkgIEFkZCBvcHRpb24gdG8gZm9yY2UgdGhlIHByZXZpb3VzIGJlaGF2aW91ci4KCSAgRml4ZXMgIzU2NzE0MAoKMjAwOS0wNC0yNyAwOTo1OTo1NCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwZzcyNmRlcGF5LmM6CgkgIGc3MjZkZXBheTogYWRkIGRlYnVnIGNhdGVnb3J5CgkgIEFkZCBhIGRlYnVnZ2luZyBjYXRlZ29yeSwgYWRkIHNvbWUgY29tbWVudHMgYW5kIHJlbW92ZSBfcGVla19wYXJlbnQoKS4KCjIwMDktMDQtMjYgMTU6NTk6NTAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBpZDN2Mm11eDogd2UgbmVlZCB0YWdsaWIgMS41IGZvciBJRDN2Mjo6UmVsYXRpdmVWb2x1bWVGcmFtZTo6c2V0SWRlbnRpZmljYXRpb24KCSAgQnVtcCB0YWdsaWIgcmVxdWlyZW1lbnQuCgoyMDA5LTA0LTI0IDAyOjExOjI4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2lkM2RlbXV4LmM6CgkqIHRlc3RzL2ZpbGVzL2lkMy01Nzc0NjgtdW5zeW5jZWQtdGFnLnRhZzoKCSAgaWQzZGVtdXg6IGFkZCB1bml0IHRlc3QgZmlsZSBmb3IgdW5zeW5jZWQgaWQzIHRhZ3MKCjIwMDktMDQtMjQgMDE6NTE6MzUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lkM2RlbXV4L2lkM3RhZ3MuYzoKCSAgaWQzZGVtdXg6IHBhcnNlIHVuc3luY2hyb25pc2VkIHRhZ3MgcHJvcGVybHkKCSAgV2UgZGlkbid0IGhhbmRsZSB1bnN5bmNocm9uaXphdGlvbiBhdCBhbGwgdXAgdG8gbm93LCB3aGljaCBtaWdodCBoYXZlCgkgIGNhdXNlZCBmcmFtZXMgdG8gbm90IGJlIGV4dHJhY3RlZCAtIGVzcC4gZnJhbWVzIGFmdGVyIGFuIEFQSUMgcGljdHVyZQoJICBmcmFtZS4gRml4ZXMgIzU3NzQ2OC4KCjIwMDktMDQtMjQgMDE6MDE6NTMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lkM2RlbXV4L2lkM3RhZ3MuYzoKCSAgaWQzZGVtdXg6IHBhc3MgdGhlIHJpZ2h0IHNpemUgdmFsdWUgZm9yIHNpemUgb2YgYWxsIGZyYW1lcyB0byB0aGUgcGFyc2VyCgkgIEZyYW1lIGRhdGEgc2l6ZSBpcyB0YWcgc2l6ZSBhZGp1c3RlZCBmb3Igc2l6ZSBvZiB0aGUgdGFnIGhlYWRlciBhbmQKCSAgZm9vdGVyLCBub3QgdGFnIHNpemUgaW5jbHVkaW5nIGhlYWRlciBhbmQgZm9vdGVyLgoKMjAwOS0wNC0yMiAxNToyNDo1NSArMDIwMCAgUGF0cmljayBSYWRpemkgPHBhdHJpY2sucmFkaXppIGF0IGF4aXMuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBmaXggc29tZSBtb3JlIHBhZCBsZWFrcwoJICBGaXggc29tZSBwYWQgbGVha3MuCgkgIFNlZSAjNTc3MzE4LgoKMjAwOS0wNC0yMSAyMjoxMjo0NSArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBiMzk0MWVhIHRvIDZhYjExZDEKCjIwMDktMDQtMjEgMTQ6MDI6MDEgLTA3MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBvdmVycmlkZSBjYXBzIGJhc2VkIG9uIGRhdGEgZnJvbSBFU0RTIGF0b21zIGluIG1wZWc0LgoJICBJZiB0aGUgY29kZWMgaXMgYWN0dWFsbHkgc29tZXRoaW5nIGVsc2UgKGUuZy4gbWpwZWcpIGNoYW5nZSB0aGUgY2FwcyB0bwoJICBtYXRjaCB3aGVuIHBhcnNpbmcgdGhlIEVTRFMgYXRvbS4KCSAgQWxzbywgZm9yIEFBQywgb3ZlcnJpZGUgcmF0ZSBhbmQgY2hhbm5lbHMgd2l0aCBjb3JyZWN0IHZhbHVlcyByZWFkIGZyb20KCSAgRVNEUywgc2luY2UgdGhlIHJhdGUvY2hhbm5lbHMgdmFsdWVzIGVsc2V3aGVyZSBhcmUgb2Z0ZW4gd3JvbmcuCgoyMDA5LTA0LTIwIDE5OjMyOjAwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogZml4IHdhcm5pbmcgZm9yIHN0aWxsIGltYWdlcyBieSBub3QgdHJ5aW5nIHRvIGRpdmlkZSBieSAwCgkgIERvbid0IHBhc3MgYSAwIGRpdmlzb3IgdG8gZ3N0X3V0aWxfdWludDY0X3NjYWxlKCksIG9yIGl0IHdpbGwgY29tcGxhaW4KCSAgaW4gdGhlIHNpbmdsZSBpbWFnZSBjYXNlIHdoZXJlIGZwcz0wLzEgKGFyZSB3ZSBzdXBwb3NlZCB0byBkaWZmZXJlbnRpYXRlCgkgIGJldHdlZW4gbm8gZnBzPXN0aWxsIGltYWdlIGFuZCBmcHM9MC8xPXZhcmlhYmxlIHJhdGUgaGVyZSBidHc/KQoKMjAwOS0wNC0yMCAxNzoyNTozNCArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L3VkcC9nc3R1ZHBuZXR1dGlscy5jOgoJICB1ZHA6IEZpeCBhIHNpbXBsZSB0eXBvIGluIHRoZSBwcmV2aW91cyBjb21taXQKCSAgVXNlICNpZmRlZiBpbnN0ZWFkIG9mICNpZiwgdG8gZml4IHRoZSBidWlsZAoKMjAwOS0wNC0yMCAxNTo0ODoyMSArMDIwMCAgQW5keSBXaW5nbyA8d2luZ29Ad2luZ29tYWMuYmNuLm9ibG9uZy5uZXQ+CgoJICBmaXggZm9ybWF0IHN0cmluZyBpbiBwbmdkZWMKCSAgKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOiBGaXggc2l6ZV90IHZzIHVuc2lnbmVkIGludCBmb3JtYXQgaW4gZXJyb3IgbWVzc2FnZS4KCjIwMDktMDQtMjAgMTU6NDY6MDMgKzAyMDAgIEFuZHkgV2luZ28gPHdpbmdvQHdpbmdvbWFjLmJjbi5vYmxvbmcubmV0PgoKCSAgb25seSB1c2Ugc3RydWN0IGlwX21yZXFuIGlmIGl0IGlzIGRldGVjdGVkCgkgICogY29uZmlndXJlLmFjOiBNYWtlIGFuIGV4cGxpY2l0IGNoZWNrIGZvciBzdHJ1Y3QgaXBfbXJlcW4uCgkgICogZ3N0L3VkcC9nc3R1ZHBuZXR1dGlscy5jOiBVc2UgSEFWRV9JUF9NUkVRTiBpbnN0ZWFkIG9mIHRoZSBhZC1ob2MgY2hlY2tzLgoKMjAwOS0wNC0yMCAxMzo0NTozMiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIEZpeCBwdXNoIG1vZGUgYnVmZmVyaW5nIHNhbml0eSBjaGVjayB0byBhY3R1YWxseSBmaXQgdGhlIGRlc2NyaXB0aW9uLgoKMjAwOS0wNC0xOCAxOToxMTowNiArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5jOgoJICBydHBoMjYzcGF5OiBBbmQgbGV0J3Mgbm90IGZvcmdldCB0byByZW1vdmUgdGhlIHVudXNlZCB2YXJpYWJsZS4KCjIwMDktMDQtMTggMTg6NTA6MzIgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuYzoKCSAgcnRwaDI2M3BheTogUmVtb3ZlIGRlYWQgYXNzaWdubWVudHMsIHRoZSB2YXJpYWJsZXMgYXJlIG5ldmVyIHJlYWQgYWZ0ZXIuCgoyMDA5LTA0LTE4IDE4OjQ5OjQ5ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBtcDR2cGF5LmM6CgkgIHJ0cG1wNHZwYXk6IFJlbW92ZSBkZWFkIGFzc2lnbm1lbnQuIFRoZSB2YWx1ZSBpcyBuZXZlciByZWFkIGFmdGVyLgoKMjAwOS0wNC0xOCAxODo0ODo1NSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogUmVtb3ZlIGRlYWQgYXNzaWdubWVudC4KCSAgdCBpcyBiZWluZyBvdmVyd3JpdHRlbiBhZnRlciwgYmVmb3JlIGl0J3MgdXNlZC4KCjIwMDktMDQtMTggMTg6NDg6MDYgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5LmM6CgkgIHJ0cGFtcmRlcGF5OiBSZW1vdmUgdW5uZWVkZWQgdmFyaWFibGUsIHRoZSB2YWx1ZSBpcyBvbmx5IHJlYWQgb25jZS4KCjIwMDktMDQtMTggMTg6NDc6MDUgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGFtcnBheS5jOgoJICBydHBhbXJwYXk6IFJlbW92ZSB1bm5lZWRlZCB2YXJpYWJsZSwgdGhlIHZhbHVlIGlzIG9ubHkgcmVhZCBvbmNlLgoKMjAwOS0wNC0xOCAxODo0NjoxMiArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9nb29tL2ZpbHRlcnMuYzoKCSAgZ29vbS9maWx0ZXJzOiBSZW1vdmUgZGVhZCBhc3NpZ25tZW50LiBWYWx1ZSBvdmVyd3JpdHRlbiBqdXN0IGFmdGVyLgoKMjAwOS0wNC0xOCAxODo0NTozMiArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzcGF5LmM6CgkgIHJ0cHZvcmJpc3BheTogUmVtb3ZlIGRlYWQgYXNzaWdubWVudC4gVmFsdWUgbmV2ZXIgcmVhZCBhZnRlci4KCjIwMDktMDQtMTggMTg6NDU6MDcgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYXBheS5jOgoJICBydHB0aGVvcmFwYXk6IFJlbW92ZSBkZWFkIGFzc2lnbm1lbnQuIFZhbHVlIG5ldmVyIHJlYWQgYWZ0ZXIuCgoyMDA5LTA0LTE4IDE4OjQzOjMxICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFkZXBheS5jOgoJICBydHB0aGVvcmFkZXBheTogUmVtb3ZlIHVudXNlZCB2YXJpYWJsZSwgaXQncyBuZXZlciBiZWluZyByZWFkLgoKMjAwOS0wNC0xOCAxODo0Mjo0NSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogUmVtb3ZlIGRlYWQgYXNzaWdubWVudC4gJ3JlcycgaXNuJ3QgcmVhZCBhZnRlci4KCjIwMDktMDQtMTggMTg6NDE6NTggKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IFJlbW92ZSB1bnVzZWQgdmFyaWFibGUuICdyZXMnIGlzIG5ldmVyIHJlYWQuCgoyMDA5LTA0LTE4IDE4OjQwOjQ4ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBSZW1vdmUgZGVhZCB2YXJpYWJsZS4gJ3N0cmVhbScgaXMgbmV2ZXIgcmVhZCBhZnRlci4KCjIwMDktMDQtMTggMTg6Mzk6NDggKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzoKCSAgdmlkZWJveDogUmVtb3ZlIGRlYWQgYXNzaWdubWVudHMuCgkgIFRoZXNlIHZhcmlhYmxlcyBhcmUgbmV2ZXIgcmVhZCBhZnRlciB0aGlzIHBvaW50LgoKMjAwOS0wNC0xOCAxODozODoyOSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9nb29tL2NvbnZvbHZlX2Z4LmM6CgkgIGdvb206IGZmIGFuZCBpZmYgYXJlIG9ubHkgdXNlZCBpbiBhICcjaWZkZWYgRFJBV19NT1RJRicgYmxvY2suCgoyMDA5LTA0LTE4IDE4OjM0OjExICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIHdhdnBhcnNlOiBSZW1vdmUgZGVhZCBhc3NpZ25tZW50LgoJICByZXMgaXNuJ3QgcmVhZCBhZnRlciB0aGlzLgoKMjAwOS0wNC0xOCAxODozMjowMyArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICB3YXZwYXJzZTogUmVtb3ZlIGRlYWQgYXNzaWdubWVudHMsIG1vdmUgdmFyaWFibGUgdG8gd2hlcmUgaXQncyBuZWVkZWQuCgkgIFRoZSBoZWFkZXJfcmVhZF9lcnJvciBsYWJlbCB3aWxsIHJldHVybiBHU1RfRkxPV19FUlJPUgoKMjAwOS0wNC0xOCAxODoyMToyMiArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwdnJhd2RlcGF5LmM6CgkgIHJ0cHZyYXdkZXBheTogUmVtb3ZlIGRlYWQgYXNzaWdubWVudC4KCSAgVGhlIHZhbHVlIG9mICdzdHInIHdpbGwgbmV2ZXIgYmUgdXNlZCBpbiB0aGVzZSBjYXNlcy4KCjIwMDktMDQtMTggMTg6MTk6MTIgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogUmVtb3ZlIHVzZWxlc3MgdmFyaWFibGUuCgkgIGlyZXQgd2FzIG5ldmVyIHJlYWQgb3V0c2lkZSBvZiB0aGF0IGxvb3AsIGFuZCBpcyBhbHdheXMgYmVpbmcgZXhpdGVkIGlmCgkgIGlyZXQgd2FzICE9IEdTVF9GTE9XX09LIGFueXdheS4KCjIwMDktMDQtMTggMTg6MTc6MzUgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBNb3ZlICdyZXMnIHRvIHdoZXJlIGl0J3MgYWN0dWFsbHkgYmVpbmcgdXNlZC4KCSAgcmVzIHdhcyBuZXZlciB1c2VkIG91dHNpZGUgb2YgdGhhdCBibG9jayBleGNlcHQgZm9yIGEgZGVhZCBhc3NpZ25tZW50LgoKMjAwOS0wNC0xOCAxODoxNjozMyArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYmJhbmQuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9jaGVibGltaXQuYzoKCSAgYXVkaW9meDogUmVtb3ZlIHVudXNlZCB2YXJpYWJsZS4KCSAgcnogaXMgbmV2ZXIgdXNlZCBpbiB0aGVzZSBtZXRob2RzLgoKMjAwOS0wNC0xOCAxODoxNTozOSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hyaW5nYnVmZmVyLmM6CgkgIG9zeHJpbmdidWZmZXI6IFJ1biBnc3QtaW5kZW50LgoKMjAwOS0wNC0xOCAxODoxNDo0OSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6CgkgIHhpbWFnZTogUmVtb3ZlIGRlYWQgYXNzaWdubWVudHMuCgkgIFRob3NlIHZhcmlhYmxlcyBhcmUgbm90IHJlYWQgYWZ0ZXIgdGhhdCBwb2ludC4KCjIwMDktMDQtMTggMTg6MTE6MDAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBleHQvZHYvZ3N0ZHZkZW11eC5jOgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWYuYzoKCSogZXh0L2dka19waXhidWYvcGl4YnVmc2NhbGUuYzoKCSogZXh0L2xpYmNhY2EvZ3N0Y2FjYXNpbmsuYzoKCSogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzoKCSogZXh0L3JhdzEzOTQvZ3N0ZHYxMzk0c3JjLmM6CgkqIGV4dC9yYXcxMzk0L2dzdGhkdjEzOTRzcmMuYzoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6CgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGFjb2xvci5jOgoJKiBnc3QvYXBldGFnL2dzdGFwZWRlbXV4LmM6CgkqIGdzdC9hdXBhcnNlL2dzdGF1cGFyc2UuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0cXVhcmsuYzoKCSogZ3N0L2ZseC9nc3RmbHhkZWMuYzoKCSogZ3N0L2ljeWRlbXV4L2dzdGljeWRlbXV4LmM6CgkqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzcmMuYzoKCSogZ3N0L3F0ZGVtdXgvZ3N0cnRweHF0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhYzNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGR2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaWxiY2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwanBlZ2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXAxc2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXAydGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXAydHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDR2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcGFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wdmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXB2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc2lyZW5wYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdkZXBheS5jOgoJKiBnc3QvcnRzcC9nc3RydHBkZWMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3Qvc21wdGUvZ3N0c21wdGVhbHBoYS5jOgoJKiBnc3Qvc21wdGUvcGFpbnQuYzoKCSogZ3N0L3VkcC9nc3RkeW51ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9iYWxhbmNlLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZsaXAuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzoKCSAgUmVtb3ZlIHRyaXZpYWwgdW51c2VkIHZhcmlhYmxlcyBkZXRlY3RlZCBieSBDTGFuZyBzdGF0aWMgYW5hbHl6ZXIuCgoyMDA5LTA0LTE4IDE3OjUyOjAwICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZXh0L2djb25mL2dzdHN3aXRjaHNpbmsuYzoKCSogZ3N0L3F0ZGVtdXgvZ3N0cnRweHF0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBMMTZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFjM2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwanBlZ2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXAxc2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXAydGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0YXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcGFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wdmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2cmF3cGF5LmM6CgkgIFJlbW92ZSBibGFuayB7c2V0fGdldH1fcHJvcGVydHkvY2hhbmdlX3N0YXRlL2ZpbmFsaXplIG1ldGhvZHMuCgoyMDA5LTA0LTE4IDE3OjQyOjU1ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZXh0L2NhaXJvL2dzdHRpbWVvdmVybGF5LmM6CgkqIGV4dC9lc2QvZXNkc2luay5jOgoJKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOgoJKiBleHQvbGlicG5nL2dzdHBuZ2VuYy5jOgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkqIGdzdC9hbHBoYS9nc3RhbHBoYWNvbG9yLmM6CgkqIGdzdC9jdXR0ZXIvZ3N0Y3V0dGVyLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2VmZW5jZS5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RuYXZpZ2F0aW9udGVzdC5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3R0YWdpbmplY3QuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0YWdpbmcuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0ZGljZS5jOgoJKiBnc3QvZWZmZWN0di9nc3RlZGdlLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHJldi5jOgoJKiBnc3QvZWZmZWN0di9nc3RzaGFnYWRlbGljLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHZlcnRpZ28uYzoKCSogZ3N0L2VmZmVjdHYvZ3N0d2FycC5jOgoJKiBnc3QvcnRwL2dzdHJ0cEwxNnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYW1ycGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZHZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGR2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyNmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyNnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjlkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaWxiY2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaWxiY3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMnRwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDR2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXB2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtYXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbXVkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbXVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzaXJlbmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc2lyZW5wYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzcGVleGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2cmF3ZGVwYXkuYzoKCSogZ3N0L3NtcHRlL2dzdHNtcHRlYWxwaGEuYzoKCSogZ3N0L3VkcC9nc3R1ZHBzaW5rLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2JhbGFuY2UuYzoKCSogc3lzL29zcy9nc3Rvc3NzaW5rLmM6CgkqIHN5cy9vc3MvZ3N0b3Nzc3JjLmM6CgkgIFJlbW92ZSB1bnVzZWQgdmFyaWFibGVzIGluIF9jbGFzc19pbml0CgkgIERldGVjdGVkIGJ5IExMVk0ncyBDTGFuZyBzdGF0aWMgYW5hbHl6ZXIKCjIwMDktMDQtMTggMTM6NTQ6MDggKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NvdXBodHRwc3JjLmM6CgkgIGNoZWNrOiBDaGVjayB3aGV0aGVyIHRocmVhZHMgYXJlIGFscmVhZHkgaW5pdGlhbGlzZWQgYmVmb3JlIGdfdGhyZWFkX2luaXQoKQoKMjAwOS0wNC0xOCAxNDozMjo0MCArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBtYXJrIGRpc2NvbnQgb24gdGhlIHN0cmVhbXMgYXMgd2FzIHNhaWQgdGhlIGRlYnVnIGxpbmUKCSAgQWZ0ZXIgYSBzZWVrIG1hcmsgYWxsIHN0cmVhbXMgd2l0aCBkaXNjb250IGFzIGl0IHdhcyBzYWlkIGluIHRoZSBkZWJ1ZyBsaW5lLgoJICBGaXhlcyB0aGF0IGJ1ZmZlcnMgYWZ0ZXIgYSBzZWVrIGFyZSBnZW5lcmF0ZWQgd2l0aG91dCBhIHZhbGlkIHRpbWVzdGFtcC4KCjIwMDktMDQtMTggMDg6NDU6MTggKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogbWFwIEdTVF9SVFNQX0VFT0YgdG8gRU9TIG9uIHNlcnZlciByZXF1ZXN0cwoJICBQZXJtaXQgcHJvcGVybHkgaGFuZGxlIHRoZSBFT1MgY29uZGl0aW9uIHdoZW4gc2VydmVyIHJlcG9ydCBpdCBpbiBhIHJlcXVlc3QuCgoyMDA5LTA0LTE4IDA4OjM5OjU3ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFkZXBheS5jOgoJICBydHB0aGVvcmFkZXBheTogRml4IGJ1aWxkIG9uIG1hY29zeC4KCSAgVXNlIEdfR1NJWkVfRk9STUFUIGluc3RlYWQgb2YgdS4KCjIwMDktMDQtMTYgMjI6NTA6NTkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogZml4IHNhbXBsZSBvZmZzZXQgY2FsY3VsYXRpb24gYWdhaW4KCjIwMDktMDQtMTUgMTk6MzI6MTggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXJjdHJsLmM6CgkgIHN1bmF1ZGlvOiBmaXggYnJva2VuIGluZGVudGF0aW9uIG9mIHZhcmlhYmxlIGRlY2xhcmF0aW9ucwoKMjAwOS0wNC0xNSAxOToyODo1MyArMDEwMCAgSmFtZXMgQW5kcmV3YXJ0aGEgPHRyczgwQHVjYy5ndS51d2EuZWR1LmF1PgoKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXJjdHJsLmM6CgkqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NpbmsuYzoKCSAgc3VuYXVkaW86IHJlbW92ZSBzb21lIHVudXNlZCB2YXJpYWJsZXMgYW5kIGdvdG8gbGFiZWxzCgkgIEZpeGVzICM1NzkwNzAuCgoyMDA5LTA0LTE1IDE5OjI0OjQ5ICswMjAwICBKYW1lcyBBbmRyZXdhcnRoYSA8dHJzODAgYXQgdWNjLmd1LnV3YS5lZHUuYXU+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGF5Lmg6CgkgIHJ0cGgyNjNwYXk6IGZpeCBjb21waWxhdGlvbiBvbiBiaWctZW5kaWFuCgkgIFNvbWUgc2VtaWNvbG9ucyB3ZXJlIG1pc3NpbmcgZnJvbSB0aGUgYmlnLWVuZGlhbiBzdHJ1Y3RzIGluIGdzdHJ0cGgyNjNwYXkuaC4KCSAgQSBHU1RfREVCVUcgY2FsbCB3YXMgbWlzc2luZyBhIGZvcm1hdCBzcGVjaWZpZXIuCgkgIEZpeGVzICM1NzkwNjkKCjIwMDktMDQtMTUgMjA6MTA6MDQgKzAzMDAgIE1hcmNvIEJhbGxlc2lvIDxtYXJjby5iYWxsZXNpb0Bub2tpYS5jb20+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguaDoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eF9mb3VyY2MuaDoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eF90eXBlcy5jOgoJKiBnc3QvcXRkZW11eC9xdWlja3RpbWUuYzoKCSAgcXRkZW11eDogaW1wbGVtZW50IDNHUFAgKFRTIDI2LjI0NCBWOC4wLjApIEFzc2V0IG1ldGFkYXRhIGhhbmRsaW5nLCBGaXhlcyAjMTMyMTkzCgkgIEltcGxlbWVudHMgM2dwcCBpc28gbWV0YWRhdGEgdGFncyB3aGljaCBhcmUgZGlmZmVyZW50IGZyb20gbW92IHVkdGEgYXRvbXMuCgoyMDA5LTA0LTE1IDE1OjUxOjI0ICswMjAwICBQZXRlciBLamVsbGVyc3RlZHQgPHBrakBheGlzLmNvbT4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2VmZW5jZS5oOgoJICBkZWJ1Z3V0aWxzOiBVc2UgR19CRUdJTl9ERUNMUy9HX0VORF9ERUNMUy4KCSAgVXNlIEdfQkVHSU5fREVDTFMvR19FTkRfREVDTFMgdG8gYXZvaWQgZ3N0LWluZGVudCBtZXNzaW5nIHVwIHRoZQoJICBpbmRlbnRhdGlvbiBkdWUgdG8gZXh0ZXJuICJDIiB7IH0uCgoyMDA5LTA0LTE1IDE2OjAzOjI3ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZ3N0L2RlYnVndXRpbHMvTWFrZWZpbGUuYW06CgkqIGdzdC9kZWJ1Z3V0aWxzL2JyZWFrbXlkYXRhLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2RlYnVnLnZjcHJvajoKCSogZ3N0L2RlYnVndXRpbHMvZWZlbmNlLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2VmZW5jZS5oOgoJKiBnc3QvZGVidWd1dGlscy9lZmVuY2UudmNwcm9qOgoJKiBnc3QvZGVidWd1dGlscy9nc3RkZWJ1Zy5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RuYXZpZ2F0aW9udGVzdC5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RuYXZpZ2F0aW9udGVzdC5oOgoJKiBnc3QvZGVidWd1dGlscy9nc3RuYXZzZWVrLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdG5hdnNlZWsuaDoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0cHVzaGZpbGVzcmMuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0cHVzaGZpbGVzcmMuaDoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0dGFnaW5qZWN0LmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdHRhZ2luamVjdC5oOgoJKiBnc3QvZGVidWd1dGlscy9uYXZpZ2F0aW9udGVzdC52Y3Byb2o6CgkqIGdzdC9kZWJ1Z3V0aWxzL25lZ290aWF0aW9uLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL3Byb2dyZXNzcmVwb3J0LmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL3Byb2dyZXNzcmVwb3J0Lmg6CgkqIGdzdC9kZWJ1Z3V0aWxzL3JuZGJ1ZmZlcnNpemUuYzoKCSogZ3N0L2RlYnVndXRpbHMvdGVzdHBsdWdpbi5jOgoJKiBnc3QvZGVidWd1dGlscy90ZXN0cy5jOgoJKiBnc3QvZGVidWd1dGlscy90ZXN0cy5oOgoJICBkZWJ1ZzogcmVuYW1lIGRlYnVnIHRvIGRlYnVndXRpbHMgdG8gYXZvaWQgY2xhc2ggd2l0aCAtLWRpc2FibGUtZGVidWcuIEZpeGVzICM1NjIxNjgKCjIwMDktMDQtMTUgMTU6NDM6MDQgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9kZWJ1Zy9lZmVuY2UuYzoKCSogZ3N0L2RlYnVnL2VmZW5jZS5oOgoJKiBnc3QvZGVidWcvZ3N0bmF2aWdhdGlvbnRlc3QuaDoKCSogZ3N0L2RlYnVnL2dzdG5hdnNlZWsuaDoKCSogZ3N0L2RlYnVnL2dzdHB1c2hmaWxlc3JjLmg6CgkqIGdzdC9kZWJ1Zy9nc3R0YWdpbmplY3QuaDoKCSogZ3N0L2RlYnVnL3Byb2dyZXNzcmVwb3J0Lmg6CgkqIGdzdC9kZWJ1Zy90ZXN0cy5oOgoJICBkZWJ1ZzogaW5kZW50IGJlZm9yZSByZW5hbWluZwoKMjAwOS0wNC0xNSAxNDowNzo1NyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwZzcyNmRlcGF5LmM6CgkgIGc3MjZkZXBheTogYWRkIHByb3BlcnR5IGZvciBhYWwyIGZvcmNlCgoyMDA5LTA0LTE1IDEzOjU2OjE3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBnNzI2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI2ZGVwYXkuaDoKCSAgZzcyNmRlcGF5OiBpbXBsZW1lbnQgUkZDMzU1MSBwYWNraW5nCgkgIFdlIGltcGxlbWVudGVkIHRoZSBBQUwyIHBhY2tpbmcsIGFkZCB0aGUgZW5jb2RpbmctbmFtZSBmb3IgdGhvc2UgdG8gdGhlIGNhcHMgYW5kCgkgIGEgcHJvcGVydHkgdG8gZm9yY2UgQUFMMiBkZWNvZGluZyAoYWx3YXlzIFRSVUUgZm9yIG5vdykuCgkgIEltcGxlbWVudCBSRkMzNTUxIHVucGFja2luZyBmb3IgcmVndWxhciBHNzI2LgoJICBTZWUgIzU2NzE0MC4KCjIwMDktMDQtMTUgMDA6MjI6NDMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuaDoKCSAgcnRwaDI2M3BheTogZml4IGJ1aWxkCgoyMDA5LTA0LTE0IDE4OjUyOjQ4ICswMjAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWkgYXQgY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGF5LmM6CgkgIGgyNjNwYXk6IHZhcmlvdXMgZml4ZXMKCSAgUmUtZW5hYmxlIG1vZGUgQSBzdXBwb3J0IGFuZCBhIHByb3BlcnR5IHRvIGNvbnRyb2wgaXQuCgkgIEZpeCBtZW1vcnkgbGVhayBvZiBHc3RSdHBIMjYzUGF5Qm91bmRyeSBvYmplY3RzLgoJICBGaXggbWFya2VyLgoJICBGaXhlcyAjNTA5MzExCgoyMDA5LTA0LTE0IDE4OjQ0OjUxICswMjAwICBKYW5pbiBLb2xlbmMgPGphbmluLmtvbGVuYyBhdCBtYXJhbmQuc2k+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGF5Lmg6CgkgIGgyNjNwYXk6IEZpeCB0aGUgcGF5bG9hZGVyCgkgIEZpeCB0aGUgSDI2MyBwYXlsb2FkZXIgdG8gYmUgbW9yZSBSRkMgMjE5MCBjb21wbGlhbnQuCgkgIFNlZSAjNTA5MzExCgoyMDA5LTA0LTE0IDE3OjI3OjA1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogZG9uJ3QgcHVzaCBFT1MgaW4gc3RyZWFtaW5nIG1vZGUKCSAgSW4gc3RyZWFtaW5nIG1vZGUsIGF2aWRlbXV4IGlzIG5vdCBzdXBwb3NlZCB0byBzZW5kIGFuIEVPUyBldmVudCBkb3duc3RyZWFtIGJ1dAoJICBpdCBpcyBzdXBwb3NlZCB0byByZXR1cm4gVU5FWFBFQ1RFRCBmcm9tIHRoZSBjaGFpbiBmdW5jdGlvbiBpbnN0ZWFkIHNvIHRoYXQKCSAgdXBzdHJlYW0gY2FuIGRvIHRoZSByaWdodCBFT1MgaGFuZGxpbmcuCgoyMDA5LTA0LTEzIDE0OjAzOjAzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmg6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgQWRkIGluaXRpYWwgc3VwcG9ydCBmb3IgbXV4aW5nL2RlbXV4aW5nIFNwZWV4IGF1ZGlvCgkgIE5vdGU6IFRoaXMgaXMgbm90IGluIHRoZSBNYXRyb3NrYSBzcGVjIHlldAoJICBGaXhlcyBidWcgIzU3ODMxMC4KCjIwMDktMDQtMTAgMjE6MzE6MDYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogaGFuZGxlIE5VTEwgdGltaW5nIGluZm8KCSAgRG9uJ3QgY3Jhc2ggd2hlbiB0aGUgdGltaW5nIGluZm8gaXMgbm90IHlldCBhdmFpbGFibGUuCgoyMDA5LTA0LTEwIDIxOjQyOjEzICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuaDoKCSAgcHVsc2U6IG1ha2UgaXQgd29yayBvbiAwLjkuMTIKCSAgRmlyc3Qgd2UgaWdub3JlIHJlcXVlc3QgdG8gZmlsbCB0aGUgcmluZ2J1ZmZlciB3aGljaCBhcmUgbGVzcyB0aGVuIGEgc2VnbWVudC4KCSAgVGhlIHNtYWxsIHJlcXVlc3Qgd2hlcmUgY2F1c2luZyBzdHV0dGVyLgoJICBUaGVuIHdlIGRpc2FibGUgZmx1c2hpbmcgdGhlIHN0cmVhbSB3aGVuIHJ1bm5pbmcgYWdhaW5zdCBwYSAwLjkuMTIgYXMgdGhpcwoJICB0cmlnZ2VycyBhbiBhc3NlcnRpb25nIGluIHRoZSBzb3VuZCBzZXJ2ZXIgYW5kIHRlcm1pbmF0ZXMgaXQuIEl0IGRvZXMgbm90IGhhcHBlbgoJICB3aXRoIDAuOS4xMCBhbmQgMC45LjE0LgoKMjAwOS0wNC0xMCAxNDoxODo0OCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBoYW5kbGUgc2VydmVyIGRpc2Nvbm5lY3QgaW4gZ2V0X3RpbWUKCSAgV2hlbiB0aGUgc2VydmVyIGlzIGRpc2Nvbm5lY3RlZCBvciB3aGVuIHdlIGFyZSBzaHV0IGRvd24sIG1ha2Ugb3VyIGNsb2NrIHJldHVybgoJICBhbiBpbnZhbGlkIHRpbWUgaW5zdGVhZCBvZiBlcnJvcmluZyBvdXQuCgoyMDA5LTA0LTEwIDEyOjAxOjI3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IGJwcyBpcyBzaWduZWQgaW50IHRvIGF2b2lkIG92ZXJmbG93CgkgIEtlZXAgYnBzIGFzIGdpbnQgaW5zdGVhZCBvZiBndWludCBiZWNhdXNlIHdlIHdpbGwgYmUgZG9pbmcgc2lnbmVkIG1hdGggd2l0aCBpdAoJICBsYXRlciBvbiBhbmQgd2UgZG9uJ3Qgd2FudCB3ZWlyZCByZXN1bHRzLgoKMjAwOS0wNC0xMCAwMDoyNjo0NCArMDIwMCAgTFJOIDxscm4xOTg2IGF0IGdtYWlsLmNvbT4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IGFkZCBjb252ZXJ0IHF1ZXJ5LCBmaXggZHVyYXRpb24gcXVlcnkKCSAgRml4IHRoZSBkdXJhdGlvbiBxdWVyeSBzbyB0aGF0IGl0IGFsc28gd29ya3Mgd2l0aCBmb3JtYXRzIG90aGVyIHRoYW4KCSAgVElNRSwgc3VjaCBhcyBERUZBVUxUIHRvIGdldCB0aGUgbnVtYmVyIG9mIGZyYW1lcy4KCSAgQWRkIGEgY29udmVydCBmdW5jdGlvbi4KCSAgRml4ZXMgIzU3ODA1Mi4KCjIwMDktMDQtMDkgMjM6NDM6NTggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogY2hlY2sgZm9yIGEgc3RyZWFtCgkgIERvbid0IHRyeSB0byBjaGFuZ2UgdGhlIHN0cmVhbSB2b2x1bWUgKGFuZCBvdGhlciB0aGluZ3MpIHdoZW4gd2UgZG9uJ3QgaGF2ZSBhCgkgIHN0cmVhbSB5ZXQuIEp1c3Qgc3RvcmUgdGhlIHZhbHVlcyBmb3IgbGF0ZXIuCgoyMDA5LTA0LTA5IDE4OjA3OjM4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IGZpeCBjb21waWxhdGlvbiBmb3IgbmV3ZXIgcHVsc2VhdWRpbwoKMjAwOS0wNC0wOSAxNzoxODo1NCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiB1bmNvcmsgZml4ZXMgYW5kIHVzZSBwcmVidWYgPSAwCgkgIFdlIGNhbiB1c2UgcHJlYnVmID0gMCB0byBpbnN0cnVjdCBwdWxzZSB0byBub3QgcGF1c2UgdGhlIHN0cmVhbSBvbiB1bmRlcmZsb3dzLgoJICBUaGlzIHdheSB3ZSBjYW4gcmVtb3ZlIHRoZSB1bmRlcmZsb3cgY2FsbGJhY2suIFdlIGhvd2V2ZXIgaGF2ZSB0byBtYW51YWxseQoJICB1bmNvcmsgdGhlIHN0cmVhbSBub3cgd2hlbiB3ZSBoYXZlIG5vIGF2YWlsYWJsZSBzcGFjZSBpbiB0aGUgYnVmZmVyIG9yIHdoZW4gd2UKCSAgYXJlIHdyaXRpbmcgdG9vIGZhciBhd2F5IGZyb20gdGhlIGN1cnJlbnQgcmVhZF9pbmRleC4KCjIwMDktMDQtMDkgMTQ6Mzg6MTcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogaGFuZGxlIHdyaXRlIGVycm9ycwoKMjAwOS0wNC0wOSAxNDoxNjozNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiB3cml0ZSBzaWxlbmNlIG9uIHVuZGVyZmxvdwoJICBTdGFydCBmaWxsaW5nIHVwIHRoZSBidWZmZXIgd2l0aCBlbXB0eSBzYW1wbGVzIHdoZW4gYW4gdW5kZXJmbG93IGhhcHBlbnMuIFdlCgkgIG5lZWQgdG8gZG8gdGhpcyB0byBrZWVwIHB1bHNlYXVkaW8gcmVwb3J0aW5nIHRoZSByaWdodCB0aW1lIGZvciB1cy4KCjIwMDktMDQtMDkgMTM6MTQ6MTQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogaGFuZGxlIHB1bGwtYmFzZWQgc2NoZWR1bGluZwoJICBVc2UgdGhlIGRlZmF1bHQgYmFzZXNpbmsgbWV0aG9kcyBmb3IgaW1wbGVtZW50aW5nIHB1bGwgYmFzZWQgc2NoZWR1bGluZywgaXQKCSAgd29ya3MgZmluZSBmb3IgdXMuCgoyMDA5LTA0LTA5IDEyOjEzOjQ0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IGFkZCBiZWdpbm5pbmdzIG9mIHB1bGwtYmFzZWQgc2NoZWR1bGluZwoKMjAwOS0wNC0wOCAxODoxNzoxMCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBrZWVwIHRyYWNrIG9mIGNsb2NrIHJlc2V0CgkgIHdoZW4gd2Ugc3dpdGNoIHN0cmVhbXMsIHRoZSBjbG9jayB3aWxsIHJlc2V0IHRvIDAuIE1ha2Ugc3VyZSB0aGF0IHRoZSBwcm92aWRlZAoJICBjbG9jayBkb2Vzbid0IGdldCBzdHVjayB3aGVuIHRoaXMgaGFwcGVucyBieSBrZWVwaW5nIGFuIGluaXRpYWwgb2Zmc2V0LiBXZSBhbHNvCgkgIG5lZWQgdG8gbWFrZSBzdXJlIHRoYXQgd2Ugc3VidHJhY3QgdGhpcyBvZmZzZXQgaW4gc2FtcGxlcyB3aGVuIHdyaXRpbmcgdG8gdGhlCgkgIHJpbmdidWZmZXIuCgoyMDA5LTA0LTA4IDEzOjUyOjQxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmg6CgkgIHB1bHNlc2luazogcmV3cml0ZSBwdWxzZXNpbmsKCSAgRGVyaXZlIGZyb20gQmFzZUF1ZGlvU2luayBhbmQgaW1wbGVtZW50IG91ciBjdXN0b20gcmluZ2J1ZmZlciB0aGF0IG1hcHMgdG8gdGhlCgkgIGludGVybmFsIHB1bHNlYXVkaW8gcmluZ2J1ZmZlci4KCjIwMDktMDQtMDggMTM6NTI6MDAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2V1dGlsLmM6CgkgIHB1bHNlOiByZW1vdmUgc29tZSBzdHJheSBkZWJ1ZyBsaW5lcwoKMjAwOS0wNC0wOSAxMTozMDo1OSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuaDoKCSAganBlZ2RlYzogdXNlIHNsaWdodGx5IG1vcmUgYWRhcHRpdmUgZm9ybXVsYSBmb3IgUW9TCgkgIFNob3VsZCB3b3JrIGF0IGxlYXN0IGEgdGFkIGJldHRlciBpZiB0aGUgZGVjb2RlciBjYW4ndCBrZWVwIHVwLCBhbmQKCSAgc2hvdWxkIGFsc28gc3ByZWFkIGRyb3BwZWQgZnJhbWVzIGEgYml0IG1vcmUgZXZlbmx5IG92ZXIgdGltZS4KCjIwMDktMDQtMDcgMjI6MzU6MzEgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICB3YXZwYXJzZTogZG9uJ3QgbGVhayBwYWQtdGVtcGxhdGUKCSAgZ3N0X2VsZW1lbnRfY2xhc3NfYWRkX3BhZF90ZW1wbGF0ZSgpIGRvZXMgbm90IHRha2Ugb3duZXJzaGlwLgoKMjAwOS0wNC0wNCAyMToxODo1NSArMDMwMCAgRmVsaXBlIENvbnRyZXJhcyA8ZmVsaXBlLmNvbnRyZXJhc0BnbWFpbC5jb20+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGQwZWE4OWUgdG8gYjM5NDFlYQoKMjAwOS0wNC0wMSAwMToxNTozMSArMDIwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzIChhdCkgYXBlc3RhYXJ0IChkb3QpIG9yZz4KCgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5oOgoJICBhZGQgcGVuZGluZ19zYW1wbGVzIHNvIHRoYXQgd2Ugb25seSB1cGRhdGUgc2VnbWVudCdzIGxhc3Qgc3RvcCBhZnRlciByZWFsbHkgc2VuZGluZyB0aGUgc2FtcGxlcwoKMjAwOS0wMy0xNSAyMTozMTo0OSArMDEwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzIChhdCkgYXBlc3RhYXJ0IChkb3QpIG9yZz4KCgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9mbGFjZGVjLmM6CgkgIGFkZCBkZWJ1ZyBhbmQgYW4gYXNzZXJ0CgoyMDA5LTAzLTE1IDIxOjMwOjMyICswMTAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXMgKGF0KSBhcGVzdGFhcnQgKGRvdCkgb3JnPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJICBhZGQgZGVidWdnaW5nCgoyMDA5LTAzLTAzIDEwOjE0OjAyICswMTAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXMgKGF0KSBhcGVzdGFhcnQgKGRvdCkgb3JnPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2F1ZGlvdGVzdHNyYy5mbGFjOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvZmxhY2RlYy5jOgoJICBhZGQgYSB0ZXN0IHRvIGNoZWNrIHRoYXQgd2UgZ2V0IGFsbCBkZWNvZGVkIGJ5dGVzIGZyb20gYSAxMC1idWZmZXIgYXVkaW90ZXN0c3JjIGZsYWMsIGluIHRoZSBjYXNlIG9mOiAgLSBhIGZ1bGwgZGVjb2RlICAtIGEgZGVjb2RlIG9mIGEgc2VlayBmb3IgdGhlIGZ1bGwgZmlsZSAgLSBhIGRlY29kZSBvZiBhIHNlZWsgZm9yIGEgc21hbGwgcGFydCwgc21hbGxlciB0aGFuIHRoZSBmaXJzdCBidWZmZXIKCSAgVGhlIHRlc3QgZmFpbHMgYmVjYXVzZSBmbGFjZGVjIGRyb3BzIHRoZSBmaXJzdCBvdXRnb2luZyBidWZmZXIgb24gYSBzZWVrCgoyMDA5LTAzLTAzIDEwOjA2OjUyICswMTAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXMgKGF0KSBhcGVzdGFhcnQgKGRvdCkgb3JnPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJICBjbGlwcGluZyBzaG91bGQgYWxzbyB3b3JrIGlmIGl0J3MgZG9uZSBvbiB0aGUgZmlyc3QgYnVmZmVyIHN0YXJ0aW5nIGF0IDAKCjIwMDktMDQtMDQgMTQ6NTQ6MDEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGY4YjNkOTEgdG8gZDBlYTg5ZQoKMjAwOS0wNC0wMyAwOTo1NzoxNSArMDEwMCAgWmFoZWVyIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkqIGdzdC9xdGRlbXV4L0xFR0FMOgoJICBGaXggZ3JhbW1hci4KCjIwMDktMDQtMDIgMjI6NDE6MDEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGFsbG93IGh0dHA6Ly8gb24gdGhlIHByb3h5IHNldHRpbmcKCSAgQWxsb3cgYW5kIGlnbm9yZSBodHRwOi8vIGF0IHRoZSBzdGFydCBvZiB0aGUgcHJveHkgc2V0dGluZywgbGlrZQoJICBzb3VwaHR0cHNyYy4KCSAgRml4ZXMgIzU3MzE3MwoKMjAwOS0wNC0wMiAyMTowODo0OCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogZG9uJ3QgbGVhayB0aGUgdWRwc3JjIHBhZAoJICBGaXggbWVtb3J5IGxlYWsgaW4gcnRzcHNyYyBiZWNhdXNlIHdlIGRpZG4ndCB1bnJlZiB0aGUgdWRwc3JjIHBhZC4KCSAgU2VlICM1NzczMTgKCjIwMDktMDQtMDEgMTc6MzE6MTggLTA3MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFwYXkuYzoKCSAgcnRwdGhlb3JhcGF5OiBmaXggbGVuZ3RoIGVuY29kaW5nIGluIHBhY2tlZCBoZWFkZXJzLgoJICBBcyBmb3Igdm9yYmlzIHBheWxvYWRlcjsgdGhpcyBieSBpbnNwZWN0aW9uIGhhZCB0aGUgc2FtZSBidWcuCgoyMDA5LTA0LTAxIDE3OjIzOjMzIC0wNzAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzcGF5LmM6CgkgIHJ0cHZvcmJpc3BheTogaW4gcGFja2VkIGhlYWRlcnMsIHByb3Blcmx5IGZsYWcgbXVsdGlieXRlIGxlbmd0aHMuCgkgIEluIHRoZSBzZXF1ZW5jZSBvZiBoZWFkZXIgbGVuZ3RocywgZm9yIGhlYWRlcnMgPjEyNyBieXRlcywgd2UgdXNlCgkgIG11bHRpcGxlIGJ5dGVzIHRvIGVuY29kZSB0aGUgbGVuZ3RoLiBCeXRlcyBvdGhlciB0aGFuIHRoZSBsYXN0IG11c3QgaGF2ZQoJICB0aGUgdG9wIChmbGFnKSBiaXQgc2V0LgoKMjAwOS0wNC0wMiAwMDoyMDowMiArMDEwMCAgSm9uYXRoYW4gTWF0dGhldyA8am9uYXRoYW5AZDE0bi5vcmc+CgoJKiBleHQvdGFnbGliL2dzdGlkM3YybXV4LmNjOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pZDN2Mm11eC5jOgoJICBpZDN2Mm11eDogd3JpdGUgUlZBMiBmcmFtZXMgY29udGFpbmluZyBwZWFrL2dhaW4gdm9sdW1lIGRhdGEKCjIwMDktMDQtMDIgMDA6MDU6MTQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmg6CgkgIGpwZWdkZWM6IGRlbW90ZSBzb21lIGxvZyBtZXNzYWdlIGZyb20gREVCVUcgdG8gTE9HCgkgIEFuZCBsb2cgZGVjb2RlciBvYmplY3QuCgoyMDA5LTA0LTAxIDIxOjE1OjAyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5oOgoJICBqcGVnZGVjOiBpbXBsZW1lbnQgYmFzaWMgUW9TCgkgIERvbid0IGRlY29kZSBmcmFtZXMgdGhhdCBhcmUgZ29pbmcgdG8gYmUgdG9vIGxhdGUgYW55d2F5LgoKMjAwOS0wNC0wMSAxMjoyNjoxMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGRvbid0IGVtaXQgdWdseSB3YXJuaW5ncyB3aXRoIG9sZGVyIHJ0cGppdHRlcmJ1ZmZlciB2ZXJzaW9ucwoJICBUaGUgb24tbnB0LXN0b3Agc2lnbmFscyB3YXMgYWRkZWQgb25seSByZWNlbnRseSB0byBydHBqaXR0ZXJidWZmZXIgaW4KCSAgLWJhZCwgc28gY2hlY2sgaWYgdGhlIHNpZ25hbCBleGlzdHMgYmVmb3JlIGdfc2lnbmFsX2Nvbm5lY3QoKWluZyB0bwoJICBpdCwgdG8gYXZvaWQgd2FybmluZ3MuCgoyMDA5LTAzLTMxIDE5OjA4OjM3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIHJ0c3BzcmM6IGFkZCBwcm94eSBzdXBwb3J0CgoyMDA5LTAzLTMxIDE3OjE2OjA0ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thOiBkb24ndCBsZWFrIHNlcmlhbGl6ZWQgdmFsdWVzIHdoZW4gd3JpdGluZyB0YWdzCgoyMDA5LTAzLTMxIDE3OjA2OjUwICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2E6IGRvbid0IGFsdGVyIHBhc3NlZCBkYXRhIGFuZCBlc3BlY2lhbHkgZG9uJ3QgbGVhay4KCSAgSWYgd2UgbmVlZCBkaWZmZXJlbnQgc2l6ZSwgTWFrZSBhIGNvcHksIHdvcmsgd2l0aCB0aGF0IGFuZCBmcmVlIGl0LgoKMjAwOS0wMy0zMSAxNjo0MjoxNSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2dvb20vcGx1Z2luX2luZm8uYzoKCSAgZ29vbTogdGhlIHN0cnVjdHVyZSBpcyBub3QgZnVsbHkgaW5pdGlhbGl6ZWQsIGJ1dCB0aGUgY29waWVkLgoJICBTZXQgdG8gZnVsbHkgdG8gMCB0byBhdm9pZCBjcmVlcCBvZiB1bmluaXRpYWxpemVkIHZhbHVlcy4KCjIwMDktMDMtMzEgMTY6MjU6NTggKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2E6IGluaXQgZW5kaWFuZXNzIGFzIHN1Y2ggYW5kIHNpZ25lZG5lc3MgYXMgYm9vbGVhbi4KCjIwMDktMDMtMzEgMTY6MjI6NDIgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZG9uJ3QgdXNlIGluaW5pdGlhbGl6ZWQgdmFyIGluIGRlYnVnIGxvZyBzdGF0ZW1lbnQKCSAgQWxzbyBtYWtlIHRoZSBsb2cgc3RhdGVtZW50IHVzZWZ1bCBieSBwcmludGluZyB0aGUgaHVtYW4gcmVhZGFibGUgZm9ybWF0IG5hbWUuCgoyMDA5LTAzLTMxIDEyOjAxOjIxICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGRvbid0IGxlYWsgYXRvbSBkYXRhIGluIGNhc2Ugb2YgYSB3cm9uZyBmb3VyY2MKCjIwMDktMDMtMzEgMTE6NTc6MzYgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYTogZG9uJ3QgbGVhayByZWFkIGRhdGEgaW4gZGVtdXhlcgoKMjAwOS0wMy0zMSAxMTo1MDo0MSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3VkcC9nc3R1ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIHVkcDogZG9uJ3QgdXNlIHByb3RvY29sIGluIGRlYnVnIG1lc3NhZ2UgYWZ0ZXIgZnJlZWluZwoKMjAwOS0wMy0zMCAxNDoxMDoxNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGFkZXBheS5jOgoJICBydHBtcDRhZGVwYXk6IG91dHB1dCBzaG91bGQgYmUgZnJhbWVkIGFscmVhZHkKCjIwMDktMDMtMjcgMjE6MTc6MDUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmg6CgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5oOgoJICBmbGFjOiByZXF1aXJlIGEgJ25ld2VyJyBmbGFjIGFuZCByZW1vdmUgc3VwcG9ydCBmb3IgdGhlIGxlZ2FjeSBmbGFjIEFQSQoKMjAwOS0wMy0yNyAxNzo0ODoxMyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogbGluayB0byB0aGUgb25fbnB0X3N0b3Agc2lnbmFsIHRvIEVPUwoJICBDb25uZWN0IHRvIHRoZSBvbl9ucHRfc3RvcCBzaWduYWwgb2YgdGhlIHNlc3Npb24gbWFuYWdlciB0byBzY2hlZHVsZSB0aGUgRU9TCgkgIGFjdGlvbnMuCgoyMDA5LTAzLTI2IDE0OjM5OjA2ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogc29tZSBzdHJlYW0gc3luY2hyb25pemF0aW9uIHRvIGFpZCBzZWVraW5nIGluIHVuYmFsYW5jZWQgY2xpcHMKCSAgU29tZSBjbGlwcyAodHJhaWxlcnMpIG1heSBoYXZlIChsZW5ndGgtd2lzZSkgdW5iYWxhbmNlZCBzdHJlYW1zLAoJICB3aGljaCBzdGFsbHMgdGhlIHBpcGVsaW5lIGlmIHNlZWtpbmcgaW50byB0aGF0IHJlZ2lvbi4KCSAgQWRkaXRpb25hbCBzdHJlYW0gc3luY2hyb25pemF0aW9uIGNhbiBoYW5kbGUgdGhpcywgYXMgd2VsbCBhcwoJICBzcGFyc2UgKHN1YnRpdGxlKSBzdHJlYW1zIChhdCBzb21lIGxhdGVyIHRpbWUgPykKCjIwMDktMDMtMjYgMTA6MzE6MTggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBhZGRpdGlvbmFsIHNhZmV0eSBhbmQgc2FuaXR5IGNoZWNrcyAocHVzaCBiYXNlZCBtb2RlKQoKMjAwOS0wMy0yNiAxMDoxODozMSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSAgdmlkZW9taXhlcjogc29tZSBtb3JlIGluZGVudCBmaXhlcwoKMjAwOS0wMy0yNCAxNjowMDo1OCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSAgdmlkZW9taXhlcjogZml4IGdzdC1pbmRlbnQgc2NyZXd1cAoKMjAwOS0wMy0yNSAxNzo1NDozNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogcG8vUE9URklMRVMuaW46CgkgIHJ0c3BzcmM6IGJldHRlciBlcnJvciBtZXNzYWdlIHdoZW4gdGhlIFJUU1AgZXh0ZW5zaW9uIGZvciBSZWFsIHN0cmVhbXMgaXMgbWlzc2luZwoJICBUcnkgdG8gcG9zdCBhIGRlY2VudCBlcnJvciBtZXNzYWdlIHdoZW4gaXQgbG9va3MgbGlrZSB3ZSdyZSBmYWlsaW5nCgkgIGJlY2F1c2UgdGhlIFJlYWwgUlRTUCBleHRlbnNpb24gcGx1Z2luIGlzIG1pc3NpbmcuIEFsc28gYWRkIGkxOG4KCSAgYml0cyBmb3IgcnRzcHNyYyBzbyBvdXIgZXJyb3IgbWVzc2FnZXMgZ2V0IHRyYW5zbGF0ZWQuCgoyMDA5LTAzLTI1IDE1OjQyOjE1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpLmM6CgkqIGdzdC9xdGRlbXV4L3F1aWNrdGltZS5jOgoJICBpMThuOiBtYWtlIHN1cmUgZ2V0dGV4dCBnaXZlcyB1cyBVVEYtOCBhdCBhbGwgdGltZXMKCjIwMDktMDMtMjUgMDE6Mjg6MzggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBtcDRhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRhcGF5LmM6CgkgIHJ0cG1wNGFwYXkscnRwbXA0ZGVwYXk6IGZpeCBidWZmZXIgbGVha3MgaW4gQUFDIHBheWxvYWRlciBhbmQgZGVwYXlsb2FkZXIKCjIwMDktMDMtMjUgMDE6MjI6MTcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBtcDRhcGF5LmM6CgkgIHJ0cG1wNGFwYXk6IHdhcm4gaWYgaW5wdXQgaXMgdW5mcmFtZWQKCjIwMDktMDMtMjIgMjE6MjA6NTcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmg6CgkgIGpwZWdkZWM6IHB1dCBHc3RTZWdtZW50IGluc2lkZSB0aGUgZWxlbWVudCBzdHJ1Y3QgaW5zdGVhZCBvZiBhbGxvY2F0aW5nIGl0IHNlcGFyYXRlbHkKCjIwMDktMDMtMjUgMTA6MDg6NDEgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJICB2NGwyc3JjOiBtb3ZlIGR1cGxpY2F0ZWQgdGltZXN0YW1waW5nIGFuZCBidWZmZXIgbWV0YWRhdGEgY29kZSB0byBfY3JlYXRlKCkKCSAgVGhpcyB3aWxsIGluY2x1ZGUgdGhlIGxhdGVuY3kgY2hhbmdlcyBhbHNvIGluIHRoZSBtbWFwIGNhc2UuCgoyMDA5LTAzLTI1IDEwOjA2OjQ4ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSAgdjRsMnNyYzogcmVtb3ZlIHdpbjMyIGlmZGVmcyBpbnRyb2R1Y2VkIGJ5IGNvbW1pdCBjZmYzZjQ2NzYwZWFjNzRjOWJiZDdhMzZhY2E0NGZlZGYzMjc0MjRiCgkgIFY0bDJzcmMgaXMgdW5kZXIgc3lzIGFuZCBkb2VzIG5vdCBleGlzdHMvcnVuIHVuZGVyIHdpbmRvd3MgYW55d2F5LgoKMjAwOS0wMy0yNCAxNTo0NDo0MiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGhhbmRsZSBGTFVTSF9TVE9QIGV2ZW50CgkgIENsZWFuIHVwIHNvbWUgc3RhdGUgKG1vc3Qgbm90YWJseSBwYWQgZmxvdyByZXR1cm5zKSB0byByZXN1bWUKCSAgcHJvcGVyIHN0cmVhbWluZyBmb2xsb3dpbmcgZmx1c2hpbmcgc2Vlay4KCjIwMDktMDMtMjQgMTI6NDI6MTMgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRlY2luYUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBkb24ndCBwb3N0IGFuIGVycm9yIGlmIEVPUyBjYW4ndCBiZSBwdXNoZWQgZG93bnN0cmVhbS4KCSAgVGhpcyBhbGlnbnMgYXZpZGVtdXggd2l0aCBvdGhlciBkZW11eGVycyBhbmQgZml4ZXMgYSBidWcgdXNpbmcgYXZpZGVtdXgKCSAgd2l0aCBhIHJlY2VudCBnbm9ubGluLgoKMjAwOS0wMy0yMyAxMToyMjowOCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBjbGVhbiB1cCB0aGUgc3RhdGUgY2hhbmdlIGZ1bmN0aW9uCgkgIE1ha2UgdGhlIHN0YXRlIGNoYW5nZSBmdW5jdGlvbiBhIGJpdCBtb3JlIHJlYWRhYmxlIGFuZCBvbmx5IHBhdXNlIGFmdGVyIHRoZQoJICBwYXJlbnQgaGFkIGEgY2hhbmdlIHRvIHBhdXNlIGZpcnN0LgoKMjAwOS0wMy0wOSAyMzo0Mzo1NSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2R0bWYvTWFrZWZpbGUuYW06CgkgIE1ha2VmaWxlLmFtOiBubyBzdGF0aWMgbGlicyBmb3IgcGx1Z2lucwoKMjAwOS0wMy0yMCAxNzoyMjozMiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHN1cHBvcnQgc2Vla2luZyBpbiBwdXNoIGJhc2VkIG1vZGUKCjIwMDktMDMtMjAgMTc6MTE6MzkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBhbGlnbiBwdXNoIGJhc2VkIGJlaGF2aW91ciBtb3JlIHdpdGggcHVsbCBiYXNlZAoJICBDYXRlciBmb3IgREVMVEFfVU5JVCBmbGFnIG9uIGJ1ZmZlcnMsIGtlZXAgdHJhY2sgb2YgY3VycmVudAoJICBwb3NpdGlvbiwgcmVtb3ZlIGFuZCB3YXJuIGFib3V0IGVkaXQgbGlzdHMgaWYgYW55IChhcyB0aG9zZQoJICBhcyBhcmUgZGUgZmFjdG8gZGlzY2FyZGVkIGFueXdheSksIGFkZCBzb21lIGRlYnVnIHN0YXRlbWVudHMKCSAgYW5kIGluZGVudCBmaXhlcy4KCjIwMDktMDMtMjAgMTc6MDM6MDMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBmaXggbWVtIGxlYWtzIGFuZCBwcmV2ZW50IGV4Y2Vzc2l2ZSBidWZmZXJpbmcgaW4gcHVzaCBiYXNlZCBtb2RlCgoyMDA5LTAzLTIwIDEzOjI3OjU5ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuaDoKCSAgcHVsc2VzaW5rOiBUcmFjayB0aGUgY29ya2VkL3VuY29ya2VkIHN0YXRlIG91cnNlbHZlcwoJICBVc2UgYW4gaW5zdGFuY2UgdmFyaWFibGUgdG8gdHJhY2sgd2hldGhlciB0aGUgc3RyZWFtIGlzIGNvcmtlZCBvciBub3QsCgkgIGluc3RlYWQgb2YgdXNpbmcgUEEgQVBJIHRoYXQgd2FzIG9ubHkgaW50cm9kdWNlZCBpbiAwLjkuMTEKCjIwMDktMDMtMTkgMTg6Mzk6MDQgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2U6IE1ha2Ugc3VyZSB0aGUgc3RyZWFtIGlzIHVuY29ya2VkIGluIHRoZSB3cml0ZSBmdW5jdGlvbgoJICBJZiB0aGUgY2FwcyBjaGFuZ2VzLCB0aGUgc2luayBpcyByZXNldCB3aXRob3V0IHRyYW5zaXRpb25pbmcgdGhyb3VnaAoJICBhIFBBVVNFRC0+UExBWUlORyBzdGF0ZSBjaGFuZ2UsIHJlc3VsdGluZyBpbiBhIGNvcmtlZCBzdHJlYW0uIFRoaXMgYXZvaWRzCgkgIHRoZSBwcm9ibGVtIGJ5IGNoZWNraW5nIHRoYXQgdGhlIHN0cmVhbSBpcyB1bmNvcmtlZCB3aGVuIHdyaXRpbmcgc2FtcGxlcwoJICB0byBpdC4KCjIwMDktMDMtMjAgMDE6MDI6MjYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6CgkgIHNwZWV4ZW5jOiBmaXggZGlyZWN0aW9uIG9mIGxhdGVuY3kgcXVlcnkgYW5kIG90aGVyIHVwc3RyZWFtIHF1ZXJpZXMKCSAgRG9uJ3Qgc2VuZCBxdWVyaWVzIGJhY2sgdG8gdGhlIGVsZW1lbnQgdGhleSBqdXN0IGNhbWUgZnJvbSBieSBzZW5kaW5nCgkgIHRoZW0gdG8gdGhlIHBlZXIgb2YgdGhlIHdyb25nIHBhZC4KCjIwMDktMDMtMTkgMTE6MTA6NDAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSAgLmdpdGlnbm9yZTogaWdub3JlIG1vcmUKCjIwMDktMDMtMTggMTY6NTU6MjcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBtcDRhZGVwYXkuYzoKCSAgcnRwbXA0YWRlcGF5OiBkb24ndCBhcHBlbmQgYW4gZXh0cmEgMCBieXRlIHRvIHRoZSBjb2RlYyBkYXRhCgkgIFRoZSBhdWRpb011eFZlcnNpb24gc3RydWN0dXJlIGlzIHBhY2tlZCBpbiBzdWNoIGEgd2F5IHRoYXQgdGhlIGNvZGVjCgkgIGRhdGEgZG9lcyBub3Qgc3RhcnQgYnl0ZS1hbGlnbmVkLCB3aGljaCBtZWFucyB0aGVyZSdzIGFuIGV4dHJhIGJpdCBvZgoJICBwYWRkaW5nIGF0IHRoZSBlbmQuIFdlIGRvbid0IHdhbnQgdGhhdCBiaXQgaW4gdGhlIGNvZGVjIGRhdGEsIHNpbmNlCgkgIHNvbWUgZGVjb2RlcnMgc2VlbSBnZXQgY29uZnVzZWQgd2hlbiB0aGV5J3JlIGZlZCB3aXRoIGFuIGV4dHJhIGNvZGVjCgkgIGRhdGEgYnl0ZSAoYWxzbyBpdCdzIGp1c3Qgbm90IHJpZ2h0IG9mIGNvdXJzZSkuCgoyMDA5LTAzLTE5IDEzOjI1OjU3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSAgcnRwaDI2NGRlcGF5OiBmaXggYmFzZTY0IGRlY29kaW5nCgkgIFdlIGNhbid0IHBhc3MgLTEgdG8gX2RlY29kZV9zdGVwLCB0aGF0IGZ1bmN0aW9ucyByZXR1cm5zIDAgcmlnaHQgYXdheSBpbnN0ZWFkIG9mCgkgIGRlY29kaW5nIHVwIHRvIHRoZSBzdHJpbmcgZW5kLgoKMjAwOS0wMy0xOSAxMzoyNDowMiArMDEwMCAgRGF2aWQgQWRhbSA8emFuY2hleSBhdCB1Y2MuZ3UudXdhLmVkdS5hdT4KCgkqIGdzdC91ZHAvZ3N0dWRwbmV0dXRpbHMuYzoKCSAgdWRwOiBGaXggYnVpbGQgaWYgb24gU29sYXJpcwoJICBUaGlzIHBhdGNoIGNoZWNrcyBmb3IgU29sYXJpcyBhbmQgdXNlcyBpcF9tcmVxIGluc3RlYWQgb2YgaXBfbXJlcW4gaWYgb24gdGhpcwoJICBwbGF0Zm9ybS4KCSAgRml4ZXMgIzU3NTkzNy4KCjIwMDktMDMtMTggMTQ6NTA6MTcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNwYXkuYzoKCSAgcnRwOiBVc2UgR0xpYiBmdW5jdGlvbnMgZm9yIGVuY29kaW5nL2RlY29kaW5nIGJhc2U2NAoKMjAwOS0wMy0xNiAxOToxNzoyNCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogYWRkIHNvbWUgZGVidWcgZm9yIHRoZSB0aW1lc3RhbXBzCgkgIFdoZW4gdGltZXN0YW1waW5nIGluIFRDUCBtb2RlLCBsb2cgdGhlIGZpcnN0IHRpbWVzdGFtcCB3ZSBwdXQgb24gdGhlIGJ1ZmZlcnMuCgoyMDA5LTAzLTE1IDIzOjI2OjU2ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkgIHY0bDJzcmM6IGxvZyBkZXRhaWxzIGlmIHdlIGhhdmUgdGhlbSwgbmVlZGVkIGZvciAjNTc1MzkxCgoyMDA5LTAzLTEzIDE4OjMyOjQ3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgdWRwc3JjOiBjb252ZXJ0IF8gaW4gcHJvcGVydGllcyB0byAtCgkgIC0tCgoyMDA5LTAzLTEzIDE4OjI4OjU5ICswMTAwICBFZGdhciBFLiBJZ2xlc2lhcyA8ZWRnYXIuaWdsZXNpYXNAZ21haWwuY29tPgoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3R1ZHBuZXR1dGlscy5jOgoJKiBnc3QvdWRwL2dzdHVkcG5ldHV0aWxzLmg6CgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmg6CgkgIHVkcHNyYzogQWRkIG5ldHdvcmsgaW50ZXJmYWNlIHNlbGVjdGlvbgoJICBBZGQgbmV0d29yayBpbnRlcmZhY2Ugc2VsZWN0aW9uIHdoZW4gam9pbmluZyBtdWx0aWNhc3QgZ3JvdXBzLgoJICBVc2VmdWwgd2hlbiB1c2luZyB0aGUgdWRwc3JjIG9uIG11bHRpaG9tZWQgaG9zdHMuCgkgIEZpeGVzICM1NzUyMzQuCgkgIEFQSTogR3N0VURQU3JjOjptdWx0aWNhc3QtaWZhY2UKCjIwMDktMDMtMTMgMTU6NDM6NTIgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSAgdjRsMnNyYzogUHJlcGVuZCB0byBsaXN0cyBhbmQgcmV2ZXJzZSB0aGVtIGF0IHRoZSBlbmQuCgkgIEdyYXR1aXRvdXMgbWljcm8tb3B0aW1pc2F0aW9uIC0gcHJlcGVuZCB0byBsaXN0cyBhbmQgcmV2ZXJzZSB0aGVtLCByYXRoZXIKCSAgdGhhbiBhcHBlbmRpbmcgdG8gdGhlbSBlYWNoIHRpbWUuCgoyMDA5LTAzLTEzIDE1OjQwOjUwICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogV2FpdCB1bnRpbCB0aGVyZSBpcyBlbm91Z2ggcm9vbSB0byB3cml0ZSBhbiBlbnRpcmUgc2VnbWVudAoJICBXaGVuIHRyeWluZyB0byB3cml0ZSBvdXQgYSBzZWdtZW50LCB3YWl0IHVudGlsIHRoZXJlIGlzIGVub3VnaCBmcmVlIHNwYWNlCgkgIGZvciB0aGUgZW50aXJlIHNlZ21lbnQuIFRoaXMgaGVscHMgdG8gcmVkdWNlIHJpcHBsZSBpbiB0aGUgY2xvY2sgcmVwb3J0aW5nLAoJICB3aGVyZSB0aGUgYXBwIG1pZ2h0IHF1ZXJ5IHRoZSBwbGF5YmFjayBwb3NpdGlvbiB3aGlsZSBvbmx5IGhhbGYgYSBzZWdtZW50CgkgIGhhcyBiZWVuIHdyaXR0ZW4gKGFuZCBpcyB0aGVyZWZvcmUgcmVwb3J0ZWQgYnkgX2RlbGF5KCksIGV2ZW4gdGhvdWdoCgkgIHRoZSByaW5nIGJ1ZmZlciBoYXMgbm90IHlldCBiZWVuIGFkdmFuY2VkKQoKMjAwOS0wMy0xMiAyMDozODo0MiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogZG9uJ3Qgc2VuZCBQQVVTRSB3aGVuIG5vdCBjb25uZWN0ZWQKCSAgZG9uJ3Qgc2VuZCBhIFBBVVNFIHJlcXVlc3Qgd2hlbiB3ZSBhcmUgbm8gbG9uZ2VyIGNvbm5lY3RlZC4KCjIwMDktMDMtMTIgMTY6MTA6MjUgKzAxMDAgIExhc3psbyBQYW5keSA8bGFzemxvazJAZ21haWwuY29tPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJICBEb24ndCBjYWxsIEZMQUNfXyBtZXRob2RzIGJlZm9yZSBpdCdzIGluaXRpYWxpemVkLiBGaXhlcyAjNTE2MDMxCgkgIEluIHRoZSBldmVudCBoYW5kbGVyLCBnc3RfZmxhY19kZWNfc2lua19ldmVudCgpLCB0d28gZnVuY3Rpb25zIGFyZSBjYWxsZWQgb24KCSAgdGhlIEZMQUMgc3RyZWFtIHdpdGhvdXQgY2hlY2tpbmcgaWYgaXQgaGFzIGJlZW4gaW5pdGlhbGl6ZWQ6CgkgIEZMQUNfX3N0cmVhbV9kZWNvZGVyX2ZsdXNoKCkKCSAgRkxBQ19fc3RyZWFtX2RlY29kZXJfcHJvY2Vzc191bnRpbF9lbmRfb2Zfc3RyZWFtKCkKCSAgQm90aCB0aGVzZSBGTEFDX18qKCkgZnVuY3Rpb25zIG1vZGlmeSB0aGUgaW50ZXJuYWwgc3RhdGUgb2YgdGhlIEZMQUMgc3RyZWFtLgoJICBMYXRlciwgd2hlbiB0aGUgYnVmZmVycyBzdGFydCBmbG93aW5nLCBnc3RfZmxhY19kZWNfY2hhaW4oKSB0cmllcyB0byBpbml0aWFsaXplCgkgIHRoZSBzdHJlYW0uIHRoZSBGTEFDX19zdHJlYW1fZGVjb2Rlcl9pbml0X3N0cmVhbSgpIGNhbGwgd2lsbCBmYWlsIGJlY2F1c2UgdGhlCgkgIHByZXZpb3VzIGNhbGxzIHRvIEZMQUNfXyooKSBjaGFuZ2VkIHRoZSBzdHJlYW0gc3RhdGUgc28gaXQgaXMgbm8gbG9uZ2VyIGluIHRoZQoJICBpbml0aWFsaXplZCBzdGF0ZS4KCjIwMDktMDMtMTEgMTc6NTk6MDAgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGZpeCB0aW1lb3V0IGNoZWNrCgkgIC0tLQoKMjAwOS0wMy0xMSAxMjo0ODowMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB3aW4zMi9NQU5JRkVTVDoKCSAgd2luMzI6IHVwZGF0ZSBNQU5JRkVTVCwgZml4aW5nICdtYWtlIGRpc3QnCgkgIGNvbmZpZy5oLmluIG5vIGxvbmdlciBleGlzdHMuCgoyMDA5LTAzLTEwIDIxOjE0OjQzICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvbXVsdGlwYXJ0L01ha2VmaWxlLmFtOgoJICBtYWtlZmlsZTogZml4IHR5cG8gaW4gbm8tc3RhdGljIHBsdWdpbnMgcnVsZQoKMjAwOS0wMy0xMCAxMTowMToxNiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6CgkgIHBuZ2RlYzogdmFyaW91cyBjbGVhbnVwcy4KCSAgTWFrZSBzb21lIGNvZGUgbW9yZSByZWFkYWJsZS4KCSAgRml4IGEgbGVhayB3aGVuIHB1bGwgcmFuZ2UgcmV0dXJucyBhIHNob3QgYnVmZmVyLgoJICBQdXNoIEVPUyBhZnRlciBwb3N0aW5nIHRoZSBlcnJvci4KCjIwMDktMDMtMTAgMTA6MTY6MjcgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc2RlcGF5LmM6CgkgIGdzdHJ0cHZvcmJpc2RlcGF5OiBGaXggYnVpbGQgb24gbWFjb3N4CgoyMDA5LTAzLTAxIDE3OjM3OjU2ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogLmdpdGlnbm9yZToKCSAgLmdpdGlnbm9yZTogSWdub3JlIG00IGRpcmVjdG9yeQoKMjAwOS0wMy0wOSAyMzoxMjozMyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA3MDMyMTYzIHRvIGY4YjNkOTEKCjIwMDktMDMtMDkgMTg6MDc6MjAgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc2RlcGF5LmM6CgkgIHZvcmJpc2RlcGF5OiBmaXggc29tZSBsZWFrcwoJICBBbmQgbGVhayB0aGUgY29kZWJvb2tzLgoJICBVc2UgZ2xpYiBiYXNlNjQgZGVjb2RlcnMuCgkgIFVzZSBzdWJidWZmZXJzIHRvIGF2b2lkIGEgbWVtY3B5IG9mIHRoZSBoZWFkZXJzLgoKMjAwOS0wMy0wOSAxNzoxNDoxMiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5oOgoJICBmbGFjZGVjOiBkb24ndCBsb3NlIHRoZSBmaXJzdCBidWZmZXIgYWZ0ZXIgYSBzZWVrCgkgIFRoZSBmbGFjZGVjIEFQSSBjYWxscyB0aGUgd3JpdGUgY2FsbGJhY2sgd2hlbiBwZXJmb3JtaW5nIGEgc2Vlay4gV2UgY2Fubm90IHlldAoJICBwdXNoIG91dCBhIGJ1ZmZlciBhdCB0aGF0IHRpbWUgc28gd2UgbXVzdCBrZWVwIGl0IGFuZCBwdXNoIGl0IG91dCBsYXRlci4KCSAgRmx1c2ggb3V0IHRoZSB1cHN0cmVhbSBwYXJ0IG9mIHRoZSBwaXBlbGluZSB3aGVuIGRvaW5nIGEgc2Vlay4KCSAgRml4ZXMgIzU3NDI3NS4KCjIwMDktMDMtMDkgMTU6MjA6MDUgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHNhbml0aXplIHRhZyBuYW1lcwoJICBTYW5pdGl6ZSB0aGUgdGFnIG5hbWVzIGJlZm9yZSB0dXJuaW5nIHRoZW0gaW50byBhIHN0cnVjdHVyZSBuYW1lLiBXZSBjYW4gb25seQoJICBhZGQgYWxwaGFudW1lcmljIHZhbHVlcyBhcyB0aGUgc3RydWN0dXJlIG5hbWUuCgoyMDA5LTAzLTA4IDEyOjA0OjIyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gZmZhNzM4ZCB0byA3MDMyMTYzCgoyMDA5LTAzLTA4IDExOjE5OjU2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gM2YxM2U0ZSB0byBmZmE3MzhkCgoyMDA5LTAzLTA3IDExOjQ1OjM1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gM2M3NDU2YiB0byAzZjEzZTRlCgoyMDA5LTAzLTA3IDEwOjQ1OjQwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNTdjODNmMiB0byAzYzc0NTZiCgoyMDA5LTAzLTA2IDIxOjU2OjI2ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkgIHY0bDJzcmM6IGZpeCBwYWRzLCBzbyB0aGF0IHRoZXkgYXJlIHN1YnNldCBvZiB0ZW1wbGF0ZSBjYXBzCgkgIERvIG5vdCBhZGQgdz0wIHwgaD0wLiBXaGVuIHdlIGNhbid0IGdldCBhIGZyYW1lcmF0ZSBhZGQgZnJhY3Rpb24gcmFuZ2UuCgoyMDA5LTAzLTA1IDE0OjA4OjE0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIHJ0c3BzcmM6IGZpeCByYW5nZSBwYXJzaW5nCgkgIEZpeCBwYXJzaW5nIG9mIHRoZSByYW5nZSBoZWFkZXJzLgoKMjAwOS0wMi0xMCAxNzoyMDo1NyArMDAwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cC9nc3RydHAuYzoKCSogZ3N0L3J0cC9nc3RydHBzaXJlbmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc2lyZW5kZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHNpcmVucGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc2lyZW5wYXkuaDoKCSAgTW92ZSBzaXJlbiBydHAgcGF5L2RlcGF5IGZyb20gZ3N0LXBsdWdpbnMtZmFyc2lnaHQKCjIwMDktMDMtMDQgMTY6MjU6MzQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGZpeCBtZW1vcnkgbGVhayBpbiBjbG9zZQoJICBDbG9zZSB0aGUgY29ubmVjdGlvbiBldmVuIHdoZW4gd2UgZmFpbCB0byBzZW5kIHRoZSB0ZWFyZG93biBtZXNzYWdlLgoJICBVc2UgdGhlIGNvbm5lY3Rpb24gdXJsICh3aGljaCBpcyBhIGNvcHkgb2YgdGhlIHNyYyB1cmwpLgoKMjAwOS0wMy0wNCAxNjoxNTowNSArMDEwMCAgUGV0ZXIgS2plbGxlcnN0ZWR0IDxwa2pAYXhpcy5jb20+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgY2hlY2s6IGdzdC1wbHVnaW5zLWdvb2Quc3VwcCBuZWVkcyB0byBiZSBkaXN0cmlidXRlZC4KCjIwMDktMDMtMDQgMTI6Mjk6NTAgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGZpeCBkby1ydGNwIHByb3BlcnR5IGRlc2NyaXB0aW9uCgkgIC0tLQoKMjAwOS0wMy0wMyAxMjoyMDoyNyArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmg6CgkgIHNvdXBodHRwc3JjOiBFeHBvc2UgdGhlIFNvdXBTZXNzaW9uICd0aW1lb3V0JyBwcm9wZXJ0eS4KCjIwMDktMDMtMDIgMTU6MDc6MjQgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiAuZ2l0aWdub3JlOgoJICAuZ2l0aWdub3JlOiBJZ25vcmUgdGhlIG00LyBkaXJlY3RvcnkKCjIwMDktMDMtMDIgMTc6MTg6NTUgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuYzoKCSAgcnRwbXA0dnBheTogQWRkIHN1cHBvcnQgZm9yIG1vcmUgZm9ybWF0cwoJICBIYWNrIGFyb3VuZCBzaG9ydCBoZWFkZXIgbXBlZzQgdmlkZW8gZmlsZXMgYW5kIHB1dCB0aGUgc2hvcnQgaGVhZGVyIGFzIHRoZQoJICBjb25maWcgc3RyaW5nLgoJICBGaXhlcyAjNTcyNTUxLgoKMjAwOS0wMy0wMiAxNjowODoyMyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogYWRkIHN1cHBvcnQgZm9yIGh0dHAgdHVubmVsaW5nCgkgIEFkZCBzdXBwb3J0IGZvciBodHRwIHR1bm5lbGluZyBhbmQgYSBuZXcgcnRzcGg6Ly8gdXJpIGZvciBpdC4KCSAgU2VlICM1NzMxNzMuCgoyMDA5LTAzLTAyIDA5OjQzOjMwICswMTAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXMgKGF0KSBhcGVzdGFhcnQgKGRvdCkgb3JnPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIG9mIHNzaDovL3Rob21hc3ZzQGdpdC5mcmVlZGVza3RvcC5vcmcvZ2l0L2dzdHJlYW1lci9nc3QtcGx1Z2lucy1nb29kCgoyMDA5LTAzLTAyIDA4OjQxOjE1ICswMTAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXMgKGF0KSBhcGVzdGFhcnQgKGRvdCkgb3JnPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJICBBZGQvY2xhcmlmeS9maXggc29tZSBsb2dnaW5nLgoKMjAwOS0wMy0wMSAxMjo0NzozNyAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAaHV0Y2gtMi5sb2NhbD4KCgkqIHN5cy9vc3h2aWRlby9NYWtlZmlsZS5hbToKCSAgUmVtb3ZlIGhhcmRjb2RlZCBkZWZpbml0aW9uIG9mIE9CSkMKCjIwMDktMDMtMDEgMTk6NTU6MjYgKzAxMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZC5zaW1vbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkgIFdhaXQgZm9yIGEgZnJhbWUgdG8gYmVjb21lIGF2YWlsYWJsZSBiZWZvcmUgY2FwdHVyaW5nIGl0CgkgIFVzZSBHc3RQb2xsIHRvIHdhaXQgZm9yIHRoZSBmZCBvZiB0aGUgdmlkZW8gZGV2aWNlIHRvIGJlY29tZSByZWFkYWJsZSBiZWZvcmUKCSAgdHJ5aW5nIHRvIGNhcHR1cmUgYSBmcmFtZS4gVGhpcyBzcGVlZHMgdXAgc3RvcHBpbmcgdjRsMnNyYyBhIGxvdCBhcyBpdCBubwoJICBsb25nZXIgaGFzIHRvIHdhaXQgZm9yIHRoZSBuZXh0IGZyYW1lLCBlc3BlY2lhbGx5IHdoZW4gY2FwdHVyaW5nIHdpdGggbG93CgkgIGZyYW1lcmF0ZXMgb3Igd2hlbiB0aGUgdmlkZW8gZGV2aWNlIGp1c3QgbmV2ZXIgZ2VuZXJhdGVzIGEgZnJhbWUgKHdoaWNoIHNlZW1zIGEKCSAgY29tbW9uIGlzc3VlIGZvciB1dmN2aWRlbyBkZXZpY2VzKQoJICBGaXhlcyBidWcgIzU2MzU3NC4KCjIwMDktMDItMTQgMTc6NTY6MDUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xhdy9hbGF3LWRlY29kZS5jOgoJKiBnc3QvbGF3L211bGF3LWRlY29kZS5jOgoJICBhbGF3ZGVjLCBtdWxhd2RlYzogZGVtb3RlIHNvbWUgZGVidWcgbWVzc2FnZXMgZnJvbSBFUlJPUiB0byBXQVJOSU5HIG9yIERFQlVHCgkgIE5vbi1vayBmbG93IHJldHVybnMgbWF5IGhhcHBlbiBmb3IgYSB2YXJpZXR5IG9mIHBlcmZlY3RseSBsZWdpdGltYXRlIGFuZCBleHBlY3RlZCByZWFzb25zCgkgICh0ZW1wb3JhcmlseSBub3QgbGlua2VkLCBzZWVraW5nLCBwaXBlbGluZSBzaHV0ZG93biksIHNvIHdlIHJlYWxseSBzaG91bGRuJ3Qgc3BldyBFUlJPUgoJICBkZWJ1ZyBtZXNzYWdlcyB0byBzdGRlcnIgaW4gdGhvc2UgY2FzZXMuIEZpeGVzICM1NzA3ODEuIChTZWVtcyBsaWtlIHNvbWVvbmUgYWxyZWFkeSB0b29rCgkgIGNhcmUgb2Ygc29tZSBvZiB0aGVzZS4pCgoyMDA5LTAyLTI4IDE1OjI2OjAwICswMjAwICBSZW7DqSBTdGFkbGVyIDxtYWlsQHJlbmVzdGFkbGVyLmRlPgoKCSogZ3N0L3JlcGxheWdhaW4vZ3N0cmd2b2x1bWUuYzoKCSAgcmd2b2x1bWU6IEltcHJvdmUgbG9nIG1lc3NhZ2UgZm9yIHBlYWsgdmFsdWVzID4xLjAgYnkgY2xhbXBpbmcgZXhwbGljaXRseS4KCjIwMDktMDItMjcgMjM6MjU6MzIgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2R2L2dzdGR2ZGVjLmM6CgkgIEZpeCB0aGUgZmllbGQgZG9taW5hbmNlCgkgIFBBTCBpcyBURkYsIE5UU0MgaXMgQkZGLiAgU29tZSBkYXkgSSB3aWxsIGxlYXJuIHRvIGtlZXAgdGhpcwoJICBzdHJhaWdodC4KCjIwMDktMDItMjcgMjA6NDA6MzEgKzAxMDAgIExSTiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJICBkaXJlY3RkcmF3c2luazogRml4IHR5cGUgbWlzbWF0Y2hlcwoJICBGaXhlcyBidWcgIzU3MzM0My4KCjIwMDktMDItMjcgMjA6Mjg6MjcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIG9mIHNzaDovL2dpdC5mcmVlZGVza3RvcC5vcmcvZ2l0L2dzdHJlYW1lci9nc3QtcGx1Z2lucy1nb29kCgoyMDA5LTAyLTI3IDIwOjI0OjUzICswMTAwICBMUk4gPGxybjE5ODZAZ21haWwuY29tPgoKCSogZ3N0L3VkcC9nc3R1ZHBuZXR1dGlscy5jOgoJICB1ZHA6IERvbid0IHNldCBlcnJubyB0byBFQUZOT1NVUFBPUlQgdW5jb25kaXRpb25hbGx5CgkgIEZpeGVzIGJ1ZyAjNTczMzQyLgoKMjAwOS0wMi0yNyAxMToxNzo1MCAtMDgwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ3ZvbHVtZS5jOgoJICByZ3ZvbHVtZTogaWdub3JlIG91dC1vZi1yYW5nZSBwZWFrIHZhbHVlcwoJICBJZiB0aGUgcGVhayB2YWx1ZSBpcyA+IDEgKGFuZCB0aHVzIG5vbnNlbnNpY2FsKSBpZ25vcmUgaXQuIFByZXZlbnRzCgkgIHJndm9sdW1lIHJlZHVjaW5nIHZvbHVtZSB0byBlZmZlY3RpdmVseSBzaWxlbnQgb24gZmlsZXMgd2l0aCBib2d1cyBwZWFrCgkgIHZhbHVlcy4KCjIwMDktMDItMjcgMTM6Mjk6NDEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIHdhdnBhcnNlOiBGaXggU0VFSyBldmVudCBoYW5kbGluZyBpbiBwdXNoIG1vZGUsIGFuZCBTRUVLQUJMWSBxdWVyeSBoYW5kbGluZwoJICBTdGFuZGFyZCBwdWxsIG1vZGUgbG9vcCBiYXNlZCBTRUVLIGhhbmRsaW5nIGZhaWxzIGluIHB1c2ggbW9kZSwKCSAgc28gY29udmVydCB0aGUgU0VFSyBldmVudCBhcHByb3ByaWF0ZWx5IGFuZCBkaXNwYXRjaCB0byB1cHN0cmVhbS4KCSAgQWxzbyBjYXRlciBmb3IgTkVXU0VHTUVOVCBldmVudCBoYW5kbGluZywgYW5kIHByb3Blcmx5IGluZm9ybQoJICBkb3duc3RyZWFtIGFuZCBhcHBsaWNhdGlvbiBvZiBTRUVLQUJMRSBjYXBhYmlsaXRpZXMsIGRlcGVuZGluZwoJICBvbiBzY2hlZHVsaW5nIG1vZGUgYW5kIHVwc3RyZWFtLgoKMjAwOS0wMi0yNyAxMTowNDowOCArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBSZW1vdmUgZ3N0X3V0aWxfZHVtcF9tZW0oKSBjYWxscy4KCjIwMDktMDItMjYgMTk6MDc6MzUgKzAxMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBmbHVlbmRvLmNvbT4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IGZpeCBTRUVLIGV2ZW50IGhhbmRsaW5nIGluIHB1c2ggbW9kZQoJICBXaGVuIGluIHB1c2ggbW9kZSB3ZSBzaG91bGQgbm90IHRyeSB0byBoYW5kbGUgdGhlIFNFRUsgZXZlbnQgYXMgdGhlcmUncwoJICBubyBjb2RlIHRvIGhhbmRsZSBpdCBwcm9wZXJseS4gUHJvcGFnYXRlIHVwc3RyZWFtLgoKMjAwOS0wMi0yNiAxOTowNTowNiArMDEwMCAgUGF0cmljayBSYWRpemkgPHBhdHJpY2sgZG90IHJhZGl6aSBhdCBheGlzIGRvdCBjb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIHJ0c3BzcmM6IGFkZCB0aGUgLmggZmlsZSBjaGFuZ2UgdG9vCgkgIEFkZCB0aGUgLmggZmlsZSBjaGFuZ2UgZm9yIHRoZSBuZXcgcHJvcGVydHkuCgoyMDA5LTAyLTI2IDE5OjAzOjUyICswMTAwICBQYXRyaWNrIFJhZGl6aSA8cGF0cmljayBkb3QgcmFkaXppIGF0IGF4aXMgZG90IGNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogYWRkIHByb3BlcnR5IHRvIGRpc2FibGUgUlRDUAoJICBTb21lIG9sZCBzZXJ2ZXJzIGRvbid0IGxpa2UgdXMgZG9pbmcgUlRDUCBhbmQgdGh1cyB3ZSBuZWVkIGEgcHJvcGVydHkgdG8gZGlzYWJsZQoJICBpdC4gU2VlICM1NzMxNzMuCgoyMDA5LTAyLTI2IDEzOjE5OjMxICswMTAwICBKYW4gU21vdXQgPGphbiBkb3Qgc21vdXQgYXQgZ21haWwgZG90IGNvbT4KCgkqIGdzdC91ZHAvZ3N0dWRwbmV0dXRpbHMuYzoKCSAgdWRwOiBmaXggZ3N0X3VkcF9zZXRfbG9vcF90dGwoKSBhZ2FpbgoJICBGaXggdGhlIGdzdF91ZHBfc2V0X2xvb3BfdHRsKCkgZnVuY3Rpb24gdGhhdCB3YXMgY29tbWVudGVkIG91dCBpbiBhCgkgIHByZXZpb3VzIGNvbW1pdC4gU2VlICM1NzMxMTUuCgoyMDA5LTAyLTI2IDEzOjA2OjE3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHB2cmF3ZGVwYXkuYzoKCSAgcnRwdnJhd2RlcGF5OiBmYWlsIG9uIGludGVybGFjZWQgdmlkZW8KCSAgRmFpbCBvbiBpbnRlcmxhY2VkIHZpZGVvIHVudGlsIHdlIHN1cHBvcnQgaXQuCgoyMDA5LTAyLTI2IDEzOjAwOjU4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHB2cmF3cGF5LmM6CgkgIHJ0cHZyYXdwYXk6IGZhaWwgb24gaW50ZXJsYWNlZCB2aWRlbwoJICBEZXRlY3QgYW5kIGZhaWwgd2hlbiB0cnlpbmcgdG8gcGF5bG9hZCBpbnRlcmxhY2VkIHZpZGVvLgoKMjAwOS0wMi0yNSAyMDo0NzoxNSAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBNYWtlZmlsZS5hbToKCSogY29uZmlndXJlLmFjOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmguaW46CgkgIENoYW5nZSBob3cgd2luMzIvY29tbW9uL2NvbmZpZy5oIGlzIHVwZGF0ZWQKCSAgR2VuZXJhdGUgd2luMzIvY29tbW9uL2NvbmZpZy5oLW5ldyBkaXJlY3RseSBmcm9tIGNvbmZpZy5oLmluLAoJICB1c2luZyBzaGVsbCB2YXJpYWJsZXMgaW4gY29uZmlndXJlIGFuZCBzb21lIGhhcmQtY29kZWQgaW5mb3JtYXRpb24uCgkgIENoYW5nZSB0b3AtbGV2ZWwgbWFrZWZpbGUgc28gdGhhdCAnbWFrZSB3aW4zMi11cGRhdGUnIGNvcGllcyB0aGUKCSAgZ2VuZXJhdGVkIGZpbGUgdG8gd2luMzIvY29tbW9uL2NvbmZpZy5oLCB3aGljaCB3ZSBrZWVwIGluIHNvdXJjZQoJICBjb250cm9sLiAgSXQncyBrZXB0IGluIHNvdXJjZSBjb250cm9sIHNvIHRoYXQgdGhlIGdpdCB0cmVlIGlzCgkgIGJ1aWxkYWJsZSBmcm9tIFZTLgoJICBUaGlzIGNoYW5nZSBpcyBzaW1pbGFyIHRvIHRoZSBvbmUgcmVjZW50bHkgYXBwbGllZCB0byBHU3RyZWFtZXIKCSAgYW5kIGdzdC1wbHVnaW5zLWdvb2QuICBUaGUgcHJldmlvdXMgY29uZmlnLmggZmlsZSBpbiAtZ29vZCB3YXMgaW4KCSAgcHJldHR5IGJhZCBzaGFwZSwgc28gdW5saWtlIGNvcmUgYW5kIGJhc2UsIEkgZGlkbid0IGF0dGVtcHQgdG8KCSAgbGVhdmUgaXQgc3RyaWN0bHkgdGhlIHNhbWUsIGJ1dCBmaXhlZCBpdCBhcyBuZWNlc3NhcnkuICBOZWVkcwoJICB0ZXN0aW5nIEkgY2Fubm90IGRvIG15c2VsZi4KCjIwMDktMDItMjUgMTk6NTg6MjkgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2R2L2dzdGR2ZGVjLmM6CgkqIGV4dC9kdi9nc3RkdmRlYy5oOgoJICBkdmRlYzogQWRkIGludGVybGFjaW5nIGluZm8gdG8gY2FwcyBhbmQgYnVmZmVycwoKMjAwOS0wMi0yNSAxNDo1NzozMyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogY29tbW9uOgoJKiBjb25maWd1cmUuYWM6CgkgIGJ1aWxkOiBVcGRhdGUgc2hhdmUgaW5pdCBzdGF0ZW1lbnQgZm9yIGNoYW5nZXMgaW4gY29tbW9uLiBCdW1wIGNvbW1vbi4KCjIwMDktMDItMjUgMTQ6MDE6MjYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICB1ZHBzcmM6IGZpeCBjb21waWxhdGlvbgoJICBGaXggY29tcGlsYXRpb24gb24gc3lzdGVtcyBNU0dfRVJSUVVFVUUgYW5kIElQX1JFQ1ZFUlIuCgoyMDA5LTAyLTE5IDIwOjE0OjEwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSAganBlZ2VuYzogZXJyb3Igb3V0IGluc3RlYWQgb2YgY3Jhc2hpbmcgaWYgbm8gY2FwcyBoYXZlIGJlZW4gc2V0CgkgIERvbid0IGNyYXNoIGlmIHdlIHJlY2VpdmUgYSBidWZmZXIgd2l0aG91dCBjYXBzLiBGaXhlcyAjNTcyNDEzLgoKMjAwOS0wMi0yNSAxMTozNTozMSArMDEwMCAgUGV0ZXIgS2plbGxlcnN0ZWR0IDxwa2pAYXhpcy5jb20+CgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICB1ZHBzcmM6IE1ha2Ugc3VyZSB0aGUgc29ja2FkZHIgbGVuZ3RoIHVzZWQgZm9yIHJlY3Zmcm9tKCkgaXMgYmlnIGVub3VnaC4KCSAgUHJldmlvdXNseSB0aGUgc29ja2FkZHIgbGVuZ3RoIHVzZWQgZm9yIHJlY3Zmcm9tKCkgd2FzIGNhbGN1bGF0ZWQgYXMKCSAgc2l6ZW9mIChzdHJ1Y3Qgc29ja2FkZHIpLiBIb3dldmVyLCB0aGlzIGlzIHRvbyBsaXR0bGUgdG8gaG9sZCBhbiBJUHY2CgkgIGFkZHJlc3MsIHNvIHRoZSBmdWxsIHNpemUgb2YgdGhlIGdzdF9zb2NrYWRkciB1bmlvbiBzaG91bGQgYmUgdXNlZAoJICBpbnN0ZWFkLgoKMjAwOS0wMi0yNSAxMTozMjoyOCArMDEwMCAgUGV0ZXIgS2plbGxlcnN0ZWR0IDxwa2pAYXhpcy5jb20+CgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICB1ZHBzcmM6IFVuaWZ5IHRoZSB1c2Ugb2YgdW5pb24gZ3N0X3NvY2thZGRyLgoKMjAwOS0wMi0yNSAxMTozMjowNyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA5Y2Y4YzliIHRvIGE2Y2U1YzYKCjIwMDktMDItMjUgMTI6MDU6MjIgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBhdm9pZCBjcmFzaGluZyBvbiBzdWJ0aXRsZXMKCSAgQXZvaWQgYSBjcmFzaCBpbiBhdmkgd2l0aCBzdWJ0aXRsZXMgYnkgb25seSBkZXJlZmVyZW5jaW5nIHRoZSB2aWRlbyBkZXNjcmlwdGlvbgoJICB3aGVuIHdlIGFjdHVhbGx5IGFyZSBkZWFsaW5nIHdpdGggdmlkZW8gaW4gdGhlIF9pbnZlcnQgZnVuY3Rpb24uCgoyMDA5LTAyLTI1IDExOjQ1OjA1ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuaDoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5LmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgZG9jczogdmFyaW91cyBkb2MgZml4ZXMKCSAgTm8gc2hvcnQtZGVzYyBhcyB3ZSBoYXZlIHRoZW0gaW4gdGhlIGVsZW1lbnQgZGV0YWlscy4KCSAgQWxzbyBrZWVwIHRoaW5ncyAoTWFrZWZpbGUuYW0gYW5kIHNlY3Rpb25zLnR4dCkgc29ydGVkLgoJICBSZXdvcmQgYW1iaWdvdXMgcmV0dXJucy4gTm8gdGV4dCBhZnRlciBzaW5jZSBwbGVhc2UuCgoyMDA5LTAyLTI0IDE3OjU4OjMyICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICB1ZHA6IEZpeCBzdHJpY3QtYWxpYXNpbmcgd2FybmluZ3MgZnJvbSBnY2MgNC40LjAKCSAgRml4IHN0cmljdCBhbGlhc2luZyB3YXJuaW5ncyBieSBkZWZpbmluZyBhIHVuaW9uIG9uIHRoZSBkaWZmZXJlbnQKCSAgc29ja2FkZHIgc3RydWN0cyB0aGF0IHdlIG5lZWQuCgoyMDA5LTAyLTI0IDE3OjM1OjQ2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJICBydHA6IEZpeCBjb21waWxlciB3YXJuaW5nIGluIGgyNjQgcGF5bG9hZGVyCgkgIEZpeCBhbiB1bmRlZmluZWQgYmVoYXZpb3VyIHdhcm5pbmcgZnJvbSBnY2MgNC40LjAKCSAgUGF0Y2ggQnk6IFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoJICBGaXhlczogIzU3MDk5NQoJICBTaWduZWQtT2ZmLUJ5OiBKYW4gU2NobWlkdCA8amFuLnNjaG1pZHRAc3VuLmNvbT4KCjIwMDktMDItMjIgMTc6MjM6MDkgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICBVc2Ugc2hhdmUgZm9yIHRoZSBidWlsZCBvdXRwdXQKCjIwMDktMDItMjQgMTQ6NTU6MjggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2djb25mL01ha2VmaWxlLmFtOgoJKiBleHQvZ2NvbmYvZ3N0Z2NvbmYuYzoKCSogZXh0L2djb25mL2dzdGdjb25mLmg6CgkqIGV4dC9nY29uZi9nc3RnY29uZmVsZW1lbnRzLmg6CgkgIGdjb25mOiBSZW5hbWUgZ2NvbmYuW2NoXSB0byBnc3RnY29uZi5bY2hdIHRvIHByZXZlbnQgbmFtZSBjb25mbGljdHMKCjIwMDktMDItMjQgMTQ6NDE6MjYgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfZm91cmNjLmg6CgkgIHF0ZGVtdXg6IEFsc28gdXNlICIoYylpbmYiIHRvIGZpbGwgdGhlIGNvbW1lbnQgdGFnCgoyMDA5LTAxLTI2IDExOjA2OjEzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogcGVyZm9ybSBVRFAgU0VUVVAgYWNjb3JkaW5nIHRvIE1TIFJUU1Agc3BlYwoJICBNUyBSVFNQIHNwZWMgc3RhdGVzIHRoYXQgdGhlIFVEUCBwb3J0IHBhaXIgdXNlZCBpbiBzdWJzZXF1ZW50IFNFVFVQCgkgIHJlcXVlc3RzIGZvciB2YXJpb3VzIHN0cmVhbXMgbXVzdCBiZSBpZGVudGljYWwgKHNpbmNlIHRoZXJlIHdpbGwgYWN0dWFsbHkKCSAgYmUgb25seSAxIHN0cmVhbSBvZiBtdXhlZCBhc2YgcGFja2V0cykuICBGb2xsb3dpbmcgdHJhZGl0aW9uYWwgc3BlY3MgYW5kCgkgIHVzaW5nIGRpZmZlcmVudCBwb3J0IHBhaXJzIGluIHRoZSBTRVRVUHMgZm9yIHNlcGFyYXRlIHN0cmVhbXMgd2lsbCByZXN1bHQKCSAgaW4gYWxsIGJ1dCB0aGUgZmlyc3Qgb25lIGZhaWxpbmcgYW5kIG9ubHkgb25lIHN0cmVhbSBiZWluZyBzdHJlYW1lZC4KCSAgU28sIGluIGFwcHJvcHJpYXRlIGNpcmN1bXN0YW5jZXMsIHJldHJ5IFVEUCBTRVRVUCB1c2luZyBwcmV2aW91c2x5IHVzZWQKCSAgcG9ydCBwYWlyLiAgRml4ZXMgIzU1MjY1MC4KCjIwMDktMDItMjMgMjA6NDk6MzcgKzAxMDAgIEF1cmVsaWVuIEdyaW1hdWQgPGdzdGVsenogYXQgeWFob28gZG90IGZyPgoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgUmVhZCBJQ01QIGVycm9yIG1lc3NhZ2VzIGluc3RlYWQgb2YgbG9vcGluZwoJICBXaGVuIHdlIGFyZSBkZWFsaW5nIHdpdGggY29ubmVjdGVkIHNvY2tldHMgc2hhcmVkIGJldHdlZW4gYSB1ZHBzcmMgYW5kIGEgdWRwc2luawoJICB3ZSBtaWdodCByZWNlaXZlIElDTVAgY29ubmVjdGlvbiByZWZ1c2VkIGVycm9yIG1lc3NhZ2VzIGluIHVkcHNyYyB0aGF0IHdpbGwKCSAgY2F1c2UgaXQgdG8gZ28gaW50byBhIGJ1cnN0eSBsb29wIGJlY2F1c2UgdGhlIHBvbGwgcmV0dXJucyByaWdodCBhd2F5IHdpdGhvdXQgYQoJICBtZXNzYWdlIHRvIHJlYWQuCgkgIEluc3RlYWQgb2YgbG9vcGluZywgcmVhZCB0aGUgZXJyb3IgbWVzc2FnZSBmcm9tIHRoZSBlcnJvciBxdWV1ZSBpbiB1ZHBzcmMuCgkgIEZpeGVzICM1Njc4NTcuCgoyMDA5LTAyLTIzIDE5OjUzOjU4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICBDb25kaXRpb25hbGx5IGNvbXBpbGUgY29kZSBmb3IgWVZZVQoJICBPbmx5IGNvbXBpbGUgdGhlIGNvZGUgZm9yIHRoZSBZVllVIGZvcm1hdCB3aGVuIHRoZSBmb3JtYXQgaXMgYWN0dWFsbHkgZGVmaW5lZC4KCSAgU3BvdHRlZCBieSB0bWF0dGggb24gSVJDLgoKMjAwOS0wMi0xNyAxMTowMTo0NyAtMDgwMCAgTGV2ZW50ZSBGYXJrYXMgPGxmYXJrYXNAbGZhcmthcy5vcmc+CgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkgIHY0bDJzcmM6IE1ha2Ugc29ydF9ieV9mcmFtZV9zaXplIGNvbmRpdGlvbmFsbHkgY29tcGlsZWQKCSAgc29ydF9ieV9mcmFtZV9zaXplIGlzIGRlY2xhcmVkIHN0YXRpYyBhbmQgb25seSB1c2VkIGluc2lkZQoJICBhbiBpZmRlZiwgc28gdXNlIHRoZSBzYW1lIGlmZGVmIHRvIGRlZmluZSB0aGUgZnVuY3Rpb24uICBGaXhlcyAjNTcyMTg1CgkgIFNpZ25lZC1vZmYtYnk6IERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKMjAwOS0wMi0yMyAxNzowNTo0MyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgQWRkIFlWWVUgZm9ybWF0IHRvIGNhcHMKCSAgQWRkIFlWWVUgZm9ybWF0IHRvIHRoZSBjYXBzLiBXZSBkb24ndCBoYXZlIGFueXRoaW5nIHRvIGhhbmRsZSB0aGVzZSBjYXBzIHlldCwKCSAgdGhvdWdoLgoKMjAwOS0wMi0yMyAxNTo0ODo0MSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5oOgoJICBTb21lIGNsZWFudXBzCgkgIFJlbW92ZSBzb21lIHVudXNlZCB2YXJpYWJsZXMuCgkgIEF2b2lkIGEgdXNlbGVzcyBfcmVzeW5jIGNhbGwuCgkgIENvcnJlY3RseSB1c2UgYSBnYm9vbGVhbi4KCjIwMDktMDItMjMgMTU6NDM6NTEgKzAxMDAgIFdhaS1NaW5nIEhvIDx3YWltaW5nIGF0IGFpbHVyb3BvZGEgZG90IG5ldD4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJICBBbHdheXMgYWRkIFBQUyB0byB0aGUgc3Byb3AtcGFyYW1ldGVycy1zZXQKCSAgUmV3b3JrIHRoZSBwYXJzaW5nIGNvZGUgdGhhdCB1bmRlciBjZXJ0YWluIGNpcmN1bXN0YW5jZXMgZHJvcHBlZCB0aGUgUFBTIGZyb20KCSAgdGhlIHNwcm9wLXBhcmFtZXRlcnMtc2V0LgoJICBGaXhlcyAjNTcyODU0LgoKMjAwOS0wMi0yMyAxMjoxNDoyMyArMDEwMCAgQXJub3V0IFZhbmRlY2FwcGVsbGUgPGFybm91dCBhdCBtaW5kIGRvdCBiZT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgRG9uJ3QgZG8gY3JhenkgdGhpbmdzIHdpdGggMC8xIGZyYW1lcmF0ZXMKCSAgV2UgdXNlIDAvMSBmcmFtZXJhdGVzIHRvIG1hcmsgdmFyaWFibGUgZnJhbWVyYXRlcyBhbmQgbWF0cm9za2FtdXggc2hvdWxkIG5vdCB0cnkKCSAgdG8gY2FsY3VsYXRlIGEgZnJhbWUgZHVyYXRpb24gZm9yIGl0LgoJICBGaXhlcyAjNTcxMjk0LgoKMjAwOS0wMi0yMyAxMTo0NTo1MCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgUmVxdWlyZSBuZXdlciBnc3QtcC1iIGZvciB0aGUgUlRTUCBleHRlbnNpb25zLgoJICAtLQoKMjAwOS0wMi0yMyAxMTo0Mjo1MyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgQ2FsbCBuZXcgcmVjZWl2ZV9yZXF1ZXN0IG1ldGhvZAoJICBDYWxsIHRoZSByZWNlaXZlX3JlcXVlc3QgZXh0ZW5zaW9uIG1ldGhvZHMgc28gdGhhdCBleHRlbnNpb25zIGNhbiBoYW5kbGUgdGhlCgkgIHNlcnZlciByZXF1ZXN0IGlmIHRoZXkgd2FudC4KCjIwMDktMDItMjMgMTE6MTM6MzAgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwZXh0LmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BleHQuaDoKCSAgQWRkIG1ldGhvZCBmb3IgaGFkbGluZyBzZXJ2ZXIgcmVxdWVzdHMKCSAgQWRkIG1ldGhvZCB0byBoYW5kbGUgc2VydmVyIHJlcXVlc3RzIG9uIHRoZSBsaXN0IG9mIFJUU1AgZXh0ZW5zaW9ucy4KCjIwMDktMDItMTMgMTQ6Mzk6MjkgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGF3L2FsYXctZGVjb2RlLmM6CgkqIGdzdC9sYXcvbXVsYXctZGVjb2RlLmM6CgkgIERvbid0IHVzZSBHU1RfRVJST1IgZm9yIG5vbi1lcnJvciBjYXNlcy4KCSAgVHVybiBhIEdTVF9FUlJPUiBsaW5lIGludG8gYSBHU1RfREVCVUcgbGluZSBzbyB0aGF0IHdlIGRvbid0IHNwYW0gdGhlIGxvZyB3aXRoCgkgIGVycm9ycy4gRml4ZXMgIzU3MDc4MS4KCjIwMDktMDItMjIgMTk6MzA6MzIgKzAxMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZEBsdW9uLm5ldD4KCgkqIGV4dC9nY29uZi9nc3RnY29uZnZpZGVvc2luay5jOgoJKiBleHQvZ2NvbmYvZ3N0Z2NvbmZ2aWRlb3NpbmsuaDoKCSogZXh0L2djb25mL2dzdGdjb25mdmlkZW9zcmMuYzoKCSogZXh0L2djb25mL2dzdGdjb25mdmlkZW9zcmMuaDoKCSAgZ2NvbmZ2aWRlbyhzcmN8c2luayk6IERpc2Nvbm5lY3QgR0NvbmYgbm90aWZpY2F0aW9ucwoJICBGaXhlcyBidWcgIzU3MTMyMS4KCjIwMDktMDItMjIgMTk6MjU6MzkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IFVucmVmIHRoZSBidWZmZXIgYW5kIG5vdCB0aGUgbWVtb3J5IGFkZHJlc3Mgb2YgdGhlIGJ1ZmZlcgoKMjAwOS0wMi0yMiAxODo0NzozNSArMDEwMCAgT2xpdmllciBDcmV0ZSA8dGVzdGVyQHRlc3Rlci5jYT4KCgkqIGdzdC9sYXcvYWxhdy1kZWNvZGUuYzoKCSogZ3N0L2xhdy9tdWxhdy1kZWNvZGUuYzoKCSAgYWxhdy9tdWxhdzogSW1wbGVtZW50IF9nZXRjYXBzIGZ1bmN0aW9uIGZvciBhbGF3L211bGF3IGRlY29kZXJzCgkgIEZpeGVzIGJ1ZyAjNTcyMzU4LgoKMjAwOS0wMi0yMiAxODo0NjowMyArMDEwMCAgT2xpdmllciBDcmV0ZSA8dGVzdGVyQHRlc3Rlci5jYT4KCgkqIGdzdC9sYXcvYWxhdy1lbmNvZGUuYzoKCSogZ3N0L2xhdy9tdWxhdy1lbmNvZGUuYzoKCSAgYWxhdy9tdWxhdzogRG9uJ3QgcmVxdWlyZSBib3RoLCByYXRlIGFuZCBjaGFubmVsLCB0byBiZSBzZXQgaW4gX2dldGNhcHMKCSAgRml4ZXMgYnVnICM1NzIzNTguCgoyMDA5LTAyLTIyIDE4OjMyOjAyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IEZpeCBhbGlnbm1lbnQgaXNzdWVzIGJ5IHVzaW5nIEdTVF9SRUFEXyoKCSAgUmVhZGluZyBpbnRlZ2VycyBmcm9tIHJhbmRvbSBtZW1vcnkgYWRkcmVzc2VzIHdpbGwgcmVzdWx0CgkgIGluIFNJR0JVUyBvbiBzb21lIGFyY2hpdGVjdHVyZXMgaWYgdGhlIG1lbW9yeSBhZGRyZXNzCgkgIGlzIG5vdCBjb3JyZWN0bHkgYWxpZ25lZC4gVGhpcyBjYW4gaGFwcGVuIGF0IHR3bwoJICBwbGFjZXMgaW4gYXZpZGVtdXggc28gd2Ugc2hvdWxkIHVzZSBHU1RfUkVBRF9VSU5UMzJfTEUKCSAgYW5kIGZyaWVuZHMgaGVyZS4gRml4ZXMgYnVnICM1NzIyNTYuCgoyMDA5LTAyLTIyIDE4OjA4OjU5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZW1peGVyY3RybC5jOgoJICBwdWxzZW1peGVyOiBEb24ndCB1c2UgZ19hdG9taWNfaW50XyhnZXR8c2V0KSBmb3IgYWNjZXNzaW5nIHRoZSBtaXhlciB0cmFjayBmbGFncwoJICBnX2F0b21pY19pbnRfKGdldHxzZXQpIG9ubHkgd29yayBvbiBpbnRzIGFuZCB0aGUgZmxhZ3MgYXJlCgkgIGFuIGVudW0gKHdoaWNoIG9uIG1vc3QgYXJjaGl0ZWN0dXJlcyBpcyBzdG9yZWQgYXMgYW4gaW50KS4KCSAgQWxzbyB0aGUgd2F5IHRoZSBmbGFncyB3ZXJlIGFjY2Vzc2VkIGF0b21pY2FsbHkgd291bGQgc3RpbGwKCSAgbGVhdmUgYSBwb3NzaWJsZSByYWNlIGNvbmRpdGlvbiBhbmQgd2UgZG9uJ3QgZG8gaXQgaW4gYW55CgkgIG90aGVyIG1peGVyIHRyYWNrIGltcGxlbWVudGF0aW9uLCBsZXQgYWxvbmUgYXQgYW55IG90aGVyCgkgIHBsYWNlIHdoZXJlIGFuIGludGVnZXIgY291bGQgYmUgY2hhbmdlZCBmcm9tIGRpZmZlcmVudAoJICB0aHJlYWRzLiBSZW1vdmluZyB0aGUgZ19hdG9taWNfaW50XyhnZXR8c2V0KSB3aWxsIG9ubHkKCSAgaW50cm9kdWNlIGEgbmV3IHJhY2UgY29uZGl0aW9uIG9uIGFyY2hpdGVjdHVyZXMgd2hlcmUKCSAgaW50ZWdlcnMgY291bGQgYmUgaGFsZi13cml0dGVuIHdoaWxlIHJlYWRpbmcgdGhlbQoJICB3aGljaCBzaG91bGRuJ3QgYmUgdGhlIGNhc2UgZm9yIGFueSBtb2Rlcm4gYXJjaGl0ZWN0dXJlCgkgIGFuZCBpZiB3ZSByZWFsbHkgY2FyZSBhYm91dCB0aGlzIHdlIG5lZWQgdG8gdXNlCgkgIGdfYXRvbWljX2ludF8oZ2V0fHNldCkgYXQgbWFueSBvdGhlciBwbGFjZXMgdG9vLgoJICBBcGFydCBmcm9tIHRoYXQgZ19hdG9taWNfaW50XyhzZXR8Z2V0KSB3aWxsIHJlc3VsdCBpbgoJICBhbGlhc2luZyB3YXJuaW5ncyBpZiB0aGVpciBhcmd1bWVudCBpcyBleHBsaWNpdGVseQoJICBjYXN0ZWQgdG8gYW4gaW50ICouIEZpeGVzIGJ1ZyAjNTcxMTUzLgoKMjAwOS0wMi0yMiAxNTo1MjowNiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA1ZDdjOWNjIHRvIDljZjhjOWIKCjIwMDktMDItMjIgMTI6NDE6NTMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3JhdzEzOTQvZ3N0aGR2MTM5NHNyYy5jOgoJICBoZHYxMzk0c3JjOiBEb24ndCB1c2Ugdm9pZCAqIHBvaW50ZXIgYXJpdGhtZXRpYwoKMjAwOS0wMi0yMSAxMToxMzo0MyAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDgwYzYyN2QgdG8gNWQ3YzljYwoKMjAwOS0wMi0yMSAxODo0Mjo0NiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogY29uZmlndXJlLmFjOgoJICBCYWNrIHRvIGRldmVsb3BtZW50IC0+IDAuMTAuMTQuMQoKMjAwOS0wMi0yMCAxODoxNjowMiAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBEb2N1bWVudCBydHBkdG1mZGVwYXkgYSBiaXQKCjIwMDktMDItMjAgMTc6NDE6MzcgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWYuYzoKCSAgTW92ZWQgZHRtZiBlbGVtZW50cyBmcm9tIGdzdC1wbHVnaW5zLWZhcnNpZ2h0IHRvIC1iYWQKCjIwMDktMDItMjAgMTc6NDA6NTcgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5oOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuaDoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmg6CgkgIEZpeCB1cCBkb2N1bWVudGF0aW9uIGJsb2JzIFNHTUwKCjIwMDktMDItMjAgMTc6Mzc6NDMgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWYuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmg6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZjb21tb24uaDoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5LmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5oOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuaDoKCSAgUmUtaW5kZW50IHRvIEdzdCBzdHlsZQoKMjAwOS0wMi0xOCAxMzozMDo0NCAtMDUwMCAgTGF1cmVudCBHbGF5YWwgPHNwZ2xlZ2xlQHlhaG9vLmZyPgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gTWlzc2luZyBmb3JtYXQgZGlyZWN0aXZlCgoyMDA4LTEyLTA0IDIxOjIxOjQ0IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5Lmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBBbGxvdyBzZXR0aW5nIGEgbWF4aW11bSBkdXJhdGlvbiB0byBhIFJUUCBEVE1GIGV2ZW50CgoyMDA4LTEyLTA0IDIxOjExOjE3IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEltcHJvdmUgdGhlIG1pbmltdW0gcXVhbnRhIHRvIG1ha2UgaXQgaW1wb3NzaWJsZSBmb3IgdGhlIGR1cmF0aW9uIHRvIGZhbGwgZG93biB0byAwCgoyMDA4LTEyLTAxIDE4OjMxOjQ4IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5Lmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBBbGxvdyBzZXR0aW5nIGEgbWluaW11bSBzaXplIG9mIGEgc291bmQgcXVhbnRhIGluIHRoZSBkdG1mIGRlcGF5bG9hZGVyCgoyMDA4LTEyLTExIDE3OjU0OjE4IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi8uZ2l0LWRhcmNzLWRpcjoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFJlbW92ZSAuZ2l0LWRhcmNzLWRpciBmaWxlcwoKMjAwOC0xMi0wMSAxNzozNzoxMCAtMDUwMCAgSMOldmFyZCBHcmFmZiA8aGF2YXJkLmdyYWZmQHRhbmRiZXJnLmNvbT4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gRG8gd2llcmQgY2FzdGluZyBvZiB0aGUgdm9sdW1lIHRvIG1ha2UgTVNWQyBoYXBweQoKMjAwOC0xMC0xNSAxNjoyMTo1MCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBDbGFyaWZ5IHRoZSBkb2N1bWVudGF0aW9uIG9mIHRoZSAiZXZlbnQtdHlwZSIgZmllbGQgd2hlbiBzcGVjaWZ5aW5nIGR0bWYgZXZlbnRzCgoyMDA4LTA3LTIyIDIxOjM5OjM4ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFJlbW92ZSBnX2RlYnVncwoJICAyMDA4MDcyMjIxMzkzOC0zZTJkYy00NGE4MmQwMTdmZTY2ZjMxMTIzMDFjNDEwYWEwYjU0M2RlNjE1NmFkLmd6CgoyMDA4LTA2LTEzIDIzOjU3OjIzICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFRha2UgcmF0ZSBmcm9tIHRoZSBwZWVycyBjYXBzIGlmIHBvc3NpYmxlCgkgIDIwMDgwNjEzMjM1NzIzLTNlMmRjLTE1NjkwZWU0MjcwOGM1MzllMWJlMTJlMjBlMDc2YTU2MTNmYWVhOTYuZ3oKCjIwMDgtMDYtMTMgMjM6NDE6NDQgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBQdXQgdGhlIHNhbXBsZSByYXRlIGluIGR0bWZzcmMgaW50byBhIHZhcmlhYmxlCgkgIDIwMDgwNjEzMjM0MTQ0LTNlMmRjLWU2MDA3MDk0M2JlYzgyOWI3MDNiODgyMWM3YWE0MzUxYTAyZGVlYmUuZ3oKCjIwMDgtMDYtMTMgMjM6MzA6MDYgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gVGFrZSB0aGUgY2xvY2stcmF0ZSBmcm9tIHRoZSBjYXBzIGluIHJ0cGR0bWZzcmMKCSAgMjAwODA2MTMyMzMwMDYtM2UyZGMtYTdkNGU5MTg2NDNmNGY4YzFiYjJjYzI2Nzg1NThjNjU0MDI1OTIwZS5negoKMjAwOC0wNC0yOCAyMjoyMjozNyArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9NYWtlZmlsZS5hbToKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIExpbmsgbW9kdWxlcyB3aXRoIGxpYm0gd2hlcmUgcmVxdWlyZWQKCSAgMjAwODA0MjgyMjIyMzctM2UyZGMtYjFlOTEyMGMxZTljYTFhNTEwYmZkN2MyN2UyZDQ1ZjBkNGExMjUwNC5negoKMjAwOC0wNC0xMiAyMzo0NDoxOCArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5LmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBGaXggYnl0ZSBvcmRlcmluZyBpc3N1ZXMgd2l0aCBkdG1mc3JjIGFuZCBydHBkdG1mZGVwYXkuLiB1c2Ugb2YgR19TVFJJTkdJRlkgdG8gYXZvaWQgZXJyb3Igb24gTVNWQwoJICAyMDA4MDQxMjIzNDQxOC00ZjBmNi00ODI4ZDE2MTNkZmNkNTY0YWZkMjM2ZGZjOGZiNTdhMjk5MDkyZjgzLmd6CgoyMDA4LTAzLTIwIDE5OjE0OjM4ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5LmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gRml4IGNvcHlyaWdodHMgYWdhaW4sIHBlciBzbWN2J3MgYWR2aWNlLi4KCSAgMjAwODAzMjAxOTE0MzgtNGYwZjYtNjcxYzlkYjVkOTk2YTQ2MDFkZjAxN2NlYWI0YWY2ZDE2NDY5Yzk2Ni5negoKMjAwOC0wMy0xOSAyMToxNzozMSArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBNYWtlIGl0IGNsZWFyIHRoYXQgZHRtZnNyYyBhbHNvIHRha2VzIG5hbWVkIGV2ZW50cyBhcyBpbnB1dAoJICAyMDA4MDMxOTIxMTczMS0zZTJkYy0yNmM3MjlmNmRjOGRiMjdlNzFjZjZiMjI2NDZhODE1MzBkYmY4NjJmLmd6CgoyMDA4LTAzLTIwIDE4OjQ4OjQxICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5LmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBkZWJ1ZyBtZXNzYWdlIG1hZGUgaW50byBlcnJvcnMgYmVjYXVzZSB0aGF0J3Mgd2hhdCB0aGV5IGFyZS4uLgoJICAyMDA4MDMyMDE4NDg0MS00ZjBmNi04YTJkMjgzMjk3YjAyNzEzZGFkZTBhZTRhY2FhNWY2ZTBmNjdlYWNlLmd6CgoyMDA4LTAzLTIwIDE4OjM5OjM3ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5LmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBDbGVhbiB1bnVzZWQgc3R1ZmYuLi4KCSAgMjAwODAzMjAxODM5MzctNGYwZjYtYmNiODQxY2RjMDdmOWU5Njc3NTEyZjRiNTBiNGI2NTlhNThjNjc4My5negoKMjAwOC0wMy0yMCAxODozOToxMiArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEZpeCBjb3B5cmlnaHRzCgkgIDIwMDgwMzIwMTgzOTEyLTRmMGY2LTY4OTM2NWQ1YTQwNjYzMmUzZDA4OGZhYzc0ZTRmYjZmOGE0ZWIwZWEuZ3oKCjIwMDgtMDMtMjAgMDE6MTM6MDEgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9NYWtlZmlsZS5hbToKCSogZ3N0L2R0bWYvZ3N0ZHRtZi5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBBZGRpbmcgc3VwcG9ydCBmb3IgcnRwZHRtZmRlcGF5CgkgIDIwMDgwMzIwMDExMzAxLTRmMGY2LWQzNmE1ZDI0YmUyMDMzNmUzNmM0Nzk2ZDc1NDc2YzliNWVlMWE3ZTEuZ3oKCjIwMDgtMDMtMTkgMTk6MzI6NTEgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gZW5jb2RpbmcgbmFtZSBoYXMgdG8gYmUgdXBwZXItY2FzZQoJICAyMDA4MDMxOTE5MzI1MS0zZTJkYy0xNTgxYjMzYmU5YjQ4NmUzNWVjNDk0ODAwOTY3N2NjZDVmZmRjMDk4Lmd6CgoyMDA4LTAzLTIwIDAwOjUxOjQ3ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmNvbW1vbi5oOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5Lmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBBZGRpbmcgbmVjZXNzYXJ5IGZpbGVzIGZvciBydHBkdG1mZGVwYXkKCSAgMjAwODAzMjAwMDUxNDctNGYwZjYtNTUwZmUyMmY3MDE1MmYzYWFiM2RjZDdhNmIwMmNiZjgxZTg5MjMyZC5negoKMjAwOC0wMy0yMCAwMDo1MDo0MSArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEZpeCB0eXBvcwoJICAyMDA4MDMyMDAwNTA0MS00ZjBmNi05ZDIyZmE1ZDE1NWUzNWI2MDVlYTg1YjFmZDllNzE5N2E4ODJhMWYwLmd6CgoyMDA4LTAyLTE2IDEzOjQxOjQwICswMDAwICBTam9lcmQgU2ltb25zIDxzam9lcmRAbHVvbi5uZXQ+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBkdG1mc3JjOiBDb3JyZWN0bHkgc2V0IHRoZSBlbmRpYW5lc3MgaW4gdGhlIGNhcHMgdG8gdGhlIG1hY2hpbmVzIGVuZGlhbmVzcwoJICAyMDA4MDIxNjEzNDE0MC05M2I5YS00MGEzYTlkN2FjMTY3OWM1ZTBkZmQyNGE2YjkxZTRhYmE2Y2M2NDk2Lmd6CgoyMDA3LTA5LTE3IDE3OjUyOjMzICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFNlYXJjaCZSZXBsYWNlIG9vcHMKCSAgMjAwNzA5MTcxNzUyMzMtM2UyZGMtNTdmNTc5YzRiODkwOTkzZjQ5ZmE4ZTllNjQ3MGEzZWI3OWQyYjkyMi5negoKMjAwNy0wOS0xNyAxNzo1MTozMyArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBldmVudHMgZG9udCB5ZXQgYmVsb25nIGluIHRoZSBjYXBzCgkgIDIwMDcwOTE3MTc1MTMzLTNlMmRjLWZkMWQ4M2I3ODI2Yjg5ODExMGZjNTcxYWU3YzM0NDBmMTg4NzQzNGQuZ3oKCjIwMDctMDktMTcgMTY6MDg6MjAgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBBZGQgcGF0Y2ggdG8gbWFrZSBpdCB3b3JrIHdpdGggbWFlbW8gZHNwIHNvdXJjZXMgdGhhdCBwYXlsb2FkIGluY29ycmVjdGx5CgkgIDIwMDcwOTE3MTYwODIwLTNlMmRjLTA2YjFiMWQxYjA5MThiMzBkYWJlYTVhMDcxNGNiNzMyYjNiOGQ4ZGQuZ3oKCjIwMDctMDktMTcgMDQ6MjY6NDkgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBPb3BzLCBzZXQgdG8gbm8gcHJlcm9sbCB3aGVuIHBsYXlpbmctPnBhdXNlZCB0b28KCSAgMjAwNzA5MTcwNDI2NDktM2UyZGMtOTRhZGI2YWEwNjE3ZTgxNWE2ZTIzMzIzMmRhYmI0YmJjNDhkYzgyYy5negoKMjAwNy0wOS0xNyAwMDozNjo1NCArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIENvbXBsZXRlIHBvcnQgdG8gYmFzZXNyYwoJICAyMDA3MDkxNzAwMzY1NC0zZTJkYy1kYjBmODRkYWJkOWRkMWFjOTI5YTA0NjE4NjViOGFhYThlZjkxYTc3Lmd6CgoyMDA3LTA5LTE3IDAwOjI0OjEyICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gQWRkIGNhcHMgbmVnb3RpYXRpb24gZnVuY3Rpb24KCSAgMjAwNzA5MTcwMDI0MTItM2UyZGMtY2EyNjY4MTZlOTYyOTc0NmU5MDgzYzViYjhiN2Y3M2I5NGE5YjJiMC5negoKMjAwNy0wOS0xNyAwMDoxNjo1OSArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBQcm9wZXJseSBmcmVlIG5vbi1zdGFydCBldmVudHMKCSAgMjAwNzA5MTcwMDE2NTktM2UyZGMtYTU3MTc3N2UzZWNmYjkwOTg5Zjg3NDEyZjU1NGFhMTBhMzFjYzJjYS5negoKMjAwNy0wOS0xNyAwMDoxNTo1MiArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIE1ha2UgaW50ZXJ2YWwgYW5kIHBhY2tldF9yZWR1bmRhbmN5IGludG8gdWludAoJICAyMDA3MDkxNzAwMTU1Mi0zZTJkYy02MDAzMmU1NDdiMzY2OWI4NzMxN2M5ODFkOTg1YzE1NmFhYjkxYjQwLmd6CgoyMDA3LTA5LTE2IDE5OjQ0OjA4ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gTWFrZSB0aGUgcnRwIGR0bWYgc3JjIHVzZSBiYXNlc3JjCgkgIDIwMDcwOTE2MTk0NDA4LTNlMmRjLTczNDAwMDEzMGRjZTI0MzRhMDE0YWNmODQzZDY0MWZmMGU2MGFhNWEuZ3oKCjIwMDctMDktMTYgMTk6NDE6MDEgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gTWFrZSBkdG1mIHNyYyBjb2RlIG5pY2VyCgkgIDIwMDcwOTE2MTk0MTAxLTNlMmRjLWE4YmU4YzUwOWM2NTQwMGQxZDM5NjJkYTAyZTY3ZDE1ZDIwNTQzMTYuZ3oKCjIwMDctMDktMTQgMDQ6MjA6NDIgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBJbXBsZW1lbnQgc3RvcHBpbmcgaW4gYSBuaWNlIHRocmVhZCBzYWZlIHdheQoJICAyMDA3MDkxNDA0MjA0Mi0zZTJkYy0xZmUyNTdmZjRiNzJhY2E0YjBlYjVmMjg1YTE0NjUwYjhkZjI2OGMzLmd6CgoyMDA3LTA5LTE0IDA0OjE4OjM0ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFJlbW92ZSBnZXRfdGltZXMgKFdpbSBzYXlzIGl0cyBvbmx5IGdvb2QgZm9yIHJlYWxseSBmYWtlIHNvdXJjZXMpCgkgIDIwMDcwOTE0MDQxODM0LTNlMmRjLWZmZjRkNWRhMmExNDVmMTllN2I2MTBhMTAyN2QyYzRkNGJjNWVhZTAuZ3oKCjIwMDctMDktMTMgMjE6MjE6NDUgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSB1c2luZyB0aGUgdW5sb2NrIG1ldGhvZCBvZiBiYXNlc3JjCgkgIDIwMDcwOTEzMjEyMTQ1LTRmMGY2LTBlNDM4YTY4MWJmMTY1MWMwY2MwZDhmYTMyNjlhZWQzZjE2NjhiNmIuZ3oKCjIwMDctMDktMTMgMjE6MTI6MjYgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBtb3JlIGRlYnVnCgkgIDIwMDcwOTEzMjExMjI2LTRmMGY2LWJjMzJiNTgyOGZjOGUwMzIzYzhhNmVlZTc3OWEzODE0NWFhY2Q1OTMuZ3oKCjIwMDctMDktMTMgMjA6NDY6MTQgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBhZGRlZCBkZWJ1Z3MKCSAgMjAwNzA5MTMyMDQ2MTQtNGYwZjYtNjhjMmE2OWFlN2ExZWZjYTZlMTNjMTE2ZGJhZDdmOWI2ODZmMDI0Mi5negoKMjAwNy0wOS0xMyAxOToyMDo1MyArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIE1ha2Ugc3VyZSB0byB1bmxvY2sgdGhlIHRocmVhZCB3aGVuIGdvaW5nIHRvIHJlYWR5IGFuZCB0byBmbHVzaCB0aGUgcXVldWUgd2hlbiBtb3ZpbmcgdG8gcGF1c2VkIG9yIHBsYXlpbmcKCSAgMjAwNzA5MTMxOTIwNTMtNGYwZjYtNzZjMzkyNTM4MGQxYTMwOTg4Mjg2MTcwNTM1YTY1ZGVhNjRhNTU4My5negoKMjAwNy0wOS0xMyAxNzo1NToyMCArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gQ2hhbmdlZCBkdG1mc3JjIGludG8gYSBzdWJjbGFzcyBvZiBHc3RCYXNlU3JjCgkgIDIwMDcwOTEzMTc1NTIwLTRmMGY2LTE2Y2E0YmY5MzY5MDA3MmYzZTgzNmQxYzhhNWI1MmNmN2E0MjE5MTYuZ3oKCjIwMDctMDktMDQgMjI6NTc6NTMgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuaDoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBBZGQgYW5vdGhlciBmaXggZm9yIGEgcG9zc2libGUgcmFjZSBjb25kaXRpb24KCSAgMjAwNzA5MDQyMjU3NTMtNGYwZjYtNWJhOGM0MjYwYzAwMmJiMjdlYjk4ZTlmYWJhM2MxNTc5OTM1N2I1Ny5negoKMjAwNy0wOS0wNCAyMTo1MjoyNCArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBBZGQgY29tbWVudCB0byBleHBsYWluIHB1c2ggYmFjawoJICAyMDA3MDkwNDIxNTIyNC0zZTJkYy1kOTJhYzFmNDAzZGNmNTcxNTQ2YTdjNTNmMTg4MDlmODQwZWVhNTFkLmd6CgoyMDA3LTA5LTA0IDIwOjU1OjA5ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUHJvcGVybHkgZG8gdGhlIGxvY2tpbmcgdG8gYXZvaWQgcmFjZSBjb25kaXRpb25zIHdpdGggY2xvY2sgdW5zY2hlZHVsaW5nCgkgIDIwMDcwOTA0MjA1NTA5LTNlMmRjLWRhMTk5MDBiNTFhZjZhZWRiNjU0N2Y0ZjM5MmJlZjRkMTA2MWRlYzIuZ3oKCjIwMDctMDktMDEgMDA6MDM6MjQgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBvdXBzLCBJIGRpZCBpdCBhZ2Fpbi4uLgoJICAyMDA3MDkwMTAwMDMyNC00ZjBmNi0zZDhiNDY2OTFlZTUyMDUzN2IwNmM1MTFhNWU3MzJmNWI4MTJiODQ0Lmd6CgoyMDA3LTA4LTMxIDIzOjU0OjI4ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gb3Vwcywgc29ycnkuLiBEVE1GLCBub3QgUlRQX0RUTUYgZm9yIHRoaXMgZmlsZS4uLgoJICAyMDA3MDgzMTIzNTQyOC00ZjBmNi0wMGI2MDZiZmI0ODkyZTRmMjE3YzQ0MGI2MTFjYzc5NGFiMGRlNTVhLmd6CgoyMDA3LTA4LTMxIDIzOjQ0OjEzICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmg6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gRml4ZXMgdGhlIGRlYWRsb2NrIHdoZW4gcGF1c2luZyB0aGUgZHRtZnNyYyBhbmQgcnRwZHRtZnNyYy4gSGFkIHRvIHB1c2ggc29tZXRoaW5nIG9uIHRoZSBhc3luYyBxdWV1ZSB0byByZWxlYXNlIHRoZSBibG9ja2luZyBhc3luY19xdWV1ZV9wb3AoKS4gVGhhbmtzIHRvIE9saXZpZXIgZm9yIHRoZSBzb2x1dGlvbi4KCSAgMjAwNzA4MzEyMzQ0MTMtNGYwZjYtNzkzY2YzNWZjNDM2MzZlNzI3NTI1OGNjNzA2M2ZjMDY4ZjVlZmEwYS5negoKMjAwNy0wOC0yOCAyMjoxNTozNCArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5oOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIENsb2NrSUQgd2hlbiB3YWl0aW5nIGZvciBidWZmZXIgaXMgbm93IHVuc2NoZWR1bGVkIHdoZW4gc3RvcHBpbmcgdGhlIHRhc2suIFZhcmlvdXMgZml4ZXMgdG8gYXZvaWQgYnVncyAodGhhbmtzIHRvIC1XYWxsIC1XZXJyb3IpLiBGaXhlcyB0byBhbGxvdyB0aGUgbWVyZ2Ugb2YgdGhlIGJyYW5jaC4KCSAgMjAwNzA4MjgyMjE1MzQtNGYwZjYtYjBkNmE0ZmU0OGM0ZTJhMTZiOWZmNjljYjMxMDA4N2M5NzBjZTQ4ZS5negoKMjAwNy0wOC0yOCAxNzoxNTo0NiArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gQ2xlYW5lZCB1cCB0aGUgY29kZSBhIGJpdCwgbm8gdXNlIG9mIEdTVF8qIGFuZCByZXR1cm4gdmFsdWUgdmVyaWZpY2F0aW9uIGZyb20gZ3N0XyoKCSAgMjAwNzA4MjgxNzE1NDYtNGYwZjYtYmRlYjRiMWI3Zjk5Zjk0NjRhYWJlNWM0M2JkNGE0ZDIwMjUyNjJiNi5negoKMjAwNy0wOC0yNyAxOTo1NjoxMCArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEZpeCBvdmVybHkgbG9uZyBsaW5lcyBhbmQgdGFicwoJICAyMDA3MDgyNzE5NTYxMC0zZTJkYy0zOTZhM2ZhMDFlMTZmMTg0ZTQxMDljNzFmZTJkZWI2ZTUxNmJkZjBkLmd6CgoyMDA3LTA4LTI3IDE5OjI2OjE4ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSB1bnRhYmJpZmllZCBkdG1mc3JjCgkgIDIwMDcwODI3MTkyNjE4LTRmMGY2LTc3ZDY4MDcwNDY0ZjFiNWY5YTQ2Y2I2ZWVjMmQ5MjIzNDAxNDNjMDQuZ3oKCjIwMDctMDgtMjcgMTc6MjQ6MjQgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBGaXggUlRQIHRpbWVzdGFtcHMgYnkgc2VuZGluZyBhIG5ld19zZWdtZW50IGV2ZW50IHRvIHRoZSBwYXlsb2FkZXIKCSAgMjAwNzA4MjcxNzI0MjQtNGYwZjYtZDIwOTA3ZTNkNDM2ZDUwYmZlNzRlYjRmYzNkMmQ2ZDdiNmI2ZGJjNS5negoKMjAwNy0wOC0yNyAxNzoyMzozOSArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEJldHRlciBoYW5kbGluZyBvZiBwYWNrZXRzLCB3ZSBzZW5kIHRoZSBzYW1lIGR1cmF0aW9uIGZvciBhbGwgcGFja2V0cyB0byBhdm9pZCBodWdlIHBhY2tldHMgd2hlbiBtaW4gZHVyYXRpb24gZGVmaW5lcyBhcmUgbW9kaWZpZWQuCgkgIDIwMDcwODI3MTcyMzM5LTRmMGY2LWNjOTMzMDQ0MzdlYTM3NmZmZjY0NThjNzRjNDZjMTlmNjkyMGQzMjkuZ3oKCjIwMDctMDgtMjcgMTc6MjM6MjIgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBDaGFuZ2luZyBtaW5pbXVtIHZhbHVlcyB0byB3b3JrIGJldHRlciBvbiBzb21lIGdhdGV3YXlzCgkgIDIwMDcwODI3MTcyMzIyLTRmMGY2LTViZjJiZmZhNTlhODI0NDUzOGRjZWQ3OTVmYTdkNzY0OTQ1MmNhOTEuZ3oKCjIwMDctMDgtMjIgMjA6MTY6NTMgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBUaGUgRFRNRiB0b25lIGdlbmVyYXRvciBub3cgcmVzcGVjdHMgdGhlIHZvbHVtZSBhcmd1bWVudCBwYXNzZWQgaW4gdGhlIGV2ZW50CgkgIDIwMDcwODIyMjAxNjUzLTRmMGY2LThiN2ZmODc0MDA2ZTExZjVhNzRkMGZkOTFlNWE5YTQzY2QwODJhZGEuZ3oKCjIwMDctMDgtMjIgMTg6MDE6MzMgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBkb24ndCBrbm93IHdoeSBJIGRpZCB0aGF0Li4uCgkgIDIwMDcwODIyMTgwMTMzLTRmMGY2LTZhNzM4MmY2YzdkMzYzMGY5MWRhMzg0ZTE5MDQ3NjNjN2VhNmZhMWEuZ3oKCjIwMDctMDgtMjIgMTc6NTU6MzMgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFBvcnRlZCB0aGUgZXZlbnQgcXVldWUgd29yayBmcm9tIGR0bWZzcmMgdG8gcnRwZHRtZnNyYwoJICBBZGRlZCBhIHF1ZXVlIGJhc2VkIHN5c3RlbSBmb3IgdGhlIHJ0cGR0bWZzcmMuIE5vdyBpdCB3YWl0cyBmb3Igc3RhcnQvc3RvcCBtZXNzYWdlcyBvbiB0aGUgcXVldWUsIGFuZCBtYWtlcyBzdXJlIHRoYXQgdGhlIG1pbmltdW0gZHV0eSBjeWNsZSAoMTIwbXMpIGlzIHJlc3BlY3RlZCBiZXR3ZWVuIGVhY2gKCSAgdG9uZSwgaW5jbHVkaW5nIGludGVyLWRpZ2l0IHNpbGVuY2UuCgkgIDIwMDcwODIyMTc1NTMzLTRmMGY2LWYyNzQxNGM0MDZmMWY3YjAwYzlhOTA4NGE5ODhjZjNhNzkzMGZlNWMuZ3oKCjIwMDctMDgtMjIgMTc6NTQ6NDQgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBvdWNoLCBwcmludGluZyB3aXRoIGFyZ3VtZW50cyBidXQgd2l0aG91dCAlcy4uIHRoYXQgbWFkZSBpdCBzZWdmYXVsdCBhIGZldyB0aW1lcy4uLgoJICAyMDA3MDgyMjE3NTQ0NC00ZjBmNi00NDVlYTZjZTdhOTY2OGQwNGNmOTk5YWY3NzJhNTA0ZWM3NGZiNjdhLmd6CgoyMDA3LTA4LTIyIDE3OjUxOjI2ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBNb3ZlZCB0aGUgdGltZXN0YW1wIGZyb20gdGhlIGV2ZW50IHRvIGR0bWZzcmMgc3RydWN0dXJlIHNpbmNlIHdlIGhhdmUgb25seSBvbmUgZXZlbnQgYXQgYSB0aW1lLCBzbyBsZXQncyBrZWVwIGl0IHN0b3JlZCBpbiB0aGUgZHRtZnNyYyBzdHJ1Y3QKCSAgMjAwNzA4MjIxNzUxMjYtNGYwZjYtNTNiY2RhMmJkOGFlOGM1NmQyOWU2MmU2OWFjMTlhMzBlMDhhZDM1MC5negoKMjAwNy0wOC0yMCAyMDozODoyNiArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gQWRkZWQgYSBxdWV1ZSBiYXNlZCBzeXN0ZW0gZm9yIHRoZSBkdG1mc3JjLiBOb3cgaXQgd2FpdHMgZm9yIHN0YXJ0L3N0b3AgbWVzc2FnZXMgb24gdGhlIHF1ZXVlLCBhbmQgbWFrZXMgc3VyZSB0aGF0IHRoZSBtaW5pbXVtIGR1dHkgY3ljbGUgKDEyMG1zKSBpcyByZXNwZWN0ZWQgYmV0d2VlbiBlYWNoIHRvbmUsIGluY2x1ZGluZyBpbnRlci1kaWdpdCBzaWxlbmNlLgoJICAyMDA3MDgyMDIwMzgyNi00ZjBmNi03NTBhMjJiNjEyYTVlNDk1ZTc2NzY2NjkzNDQ2NWMzNGZlMzIwNzRiLmd6CgoyMDA3LTA4LTIwIDE4OjQ4OjUyICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvTWFrZWZpbGUuYW06CgkqIGdzdC9kdG1mL2dzdGR0bWYuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmg6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gQWRkZWQgZHRtZnNyYywgYSBEVE1GIFRvbmUgR2VuZXJhdG9yLCBhbmQgbWFkZSBpdCBwYXJ0IG9mIHRoZSAnZHRtZicgcGx1Z2luLgoJICAyMDA3MDgyMDE4NDg1Mi00ZjBmNi1hMGQ4NWU2NzcwODI5MGFlYmFmYTg5YWI3OWQzY2VkZDU4MTViNjIwLmd6CgoyMDA3LTA4LTIwIDE4OjQ4OjAwICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvLmdpdC1kYXJjcy1kaXI6CgkqIGdzdC9kdG1mL01ha2VmaWxlLmFtOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIE1vdmVkIHJ0cGR0bWYgdG8gZHRtZiBkaXJlY3RvcnkKCSAgMjAwNzA4MjAxODQ4MDAtNGYwZjYtZmEzM2VhOTc0NTEwMTYxZGU4Yzk5NTFjMzkwODdhZjM2MTNiNjVhNC5negoKMjAwOS0wMi0yMSAxMjo0NzowMCArMDEwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzIChhdCkgYXBlc3RhYXJ0IChkb3QpIG9yZz4KCgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSAgcmVzcGVjdCBERUZBVUxUIHNlZ21lbnQgYnkgY2xpcHBpbmcgdGhlIGxhc3QgYnVmZmVyIHRvIGJlIHNlbnQKCj09PSByZWxlYXNlIDAuMTAuMTQgPT09CgoyMDA5LTAyLTE5IDIwOjA5OjA3ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYW1tYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGFsZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vbm9zY29wZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF1aWNrdGltZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JhbGFuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmxpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDAuMTAuMTQKCjIwMDktMDItMTkgMjA6MDc6NDEgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2x0LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHBvL3poX0hLLnBvOgoJKiBwby96aF9UVy5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAwOS0wMi0xOSAxMzoxNjozOSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9lY2hvLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NyYy5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zcmMuYzoKCSAgVXBkYXRlIFNpbmNlOiB0YWdzIGluIGF1dG9kZXRlY3Qgc3JjcyBhbmQgYXVkaW9lY2hvCgoyMDA5LTAyLTE5IDExOjEyOjU4ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBDaGFuZ2VMb2c6CgkgIFVwZGF0ZSBDaGFuZ2VMb2cgZm9yIDAuMTAuMTMuMwoKMjAwOS0wMi0xOSAxMTowOTowMyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIDAuMTAuMTMuMyBwcmUtcmVsZWFzZQoKMjAwOS0wMi0xMCAxMToyNTo0OSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VtaXhlcmN0cmwuYzoKCSAgcHVsc2VtaXhlcjogRml4IGNvbXBpbGVyIHdhcm5pbmdzLgoJICBDYXN0IChlbnVtICopIHRvIChpbnQgKiksIG5vdCBuZWNlc3NhcmlseSB0ZWNobmljYWxseSByaWdodCwKCSAgYnV0IHBsdWdzICM1NzExNTMuCgoyMDA5LTAyLTEzIDE4OjAzOjE0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5oOgoJICBwdWxzZXNpbms6IElzc3VlIHByb3BlcnR5IGNoYW5nZSBub3RpZmljYXRpb24gaW4gc3RyZWFtaW5nIHRocmVhZCwgcmF0aGVyIHRoYW4gUEEgdGhyZWFkLgoJICBwYV90aHJlYWRlZF9tYWlubG9vcF9sb2NrKCkgKGEuby4pIGFuZCBieSBleHRlbnNpb24gZ2V0X3Byb3BlcnR5IHNob3VsZAoJICBub3QgYmUgZG9uZSBmcm9tIGEgUEEgdGhyZWFkLCBidXQgdGhlIGxhdHRlciBtYXkgb2NjdXIgYXMgYSByZXN1bHQgb2YgYQoJICBwcm9wZXJ0eSBjaGFuZ2Ugbm90aWZpY2F0aW9uLiAgRml4ZXMgIzU3MTIwNCAodGhvdWdoIGN1cnJlbnQgc2l0dWF0aW9uCgkgIG5vdCBpZGVhbCwgZS5nLiBwb3N0IG1lc3NhZ2UgcmF0aGVyIHRoYW4gc2lnbmFsKS4KCjIwMDktMDItMTAgMTE6Mjc6NTEgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvdmlkZW9jcm9wL2dzdGFzcGVjdHJhdGlvY3JvcC5jOgoJICBhc3BlY3RyYXRpb2Nyb3A6IERvbid0IGZvcmdldCB0byBjYWxsIHBhcmVudCBmaW5hbGl6ZSBpbXBsZW1lbnRhdGlvbi4KCSAgVGhpcyBmaXhlcyBhIG1lbW9yeSBsZWFrIChsZWFraW5nIHRoZSBjb250YWluZWQgZWxlbWVudHMgb2YgdGhlIGJpbikuCgoyMDA5LTAyLTEwIDA4OjQzOjU5ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBvc3h2aWRlb3Npbms6IEZpeCBidWlsZC4gRml4ZXMgIzU3MTAzOAoKMjAwOS0wMi0wOSAxMjoxODozNiArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGNvbW1vbjoKCSAgQnVtcCByZXZpc2lvbiB0byB1c2UgZm9yIGNvbW1vbiBzdWJtb2R1bGUuCgoyMDA5LTAyLTA3IDE2OjAwOjQ5ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBDaGFuZ2VMb2c6CgkgIENoYW5nZUxvZzogVXBkYXRlIENoYW5nZUxvZyBmb3IgMC4xMC4xMy4yCgoyMDA5LTAyLTA3IDE1OjU4OjU1ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkgIHBvOiBVcGRhdGUgdHJhbnNsYXRpb25zIGZvciAwLjEwLjEzLjIKCjIwMDktMDItMDcgMTU6NDY6MDcgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDAuMTAuMTMuMgoKMjAwOS0wMi0wNyAxNTo0MDo1MyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogcG8vTElOR1VBUzoKCSogcG8vbXQucG86CgkgIHBvOiBBZGQgTWFsdGVzZSB0cmFuc2xhdGlvbgoKMjAwOS0wMi0wNiAxNjoxNjowNSAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfZHVtcC5jOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4X2R1bXAuaDoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eF9mb3VyY2MuaDoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eF90eXBlcy5jOgoJICBxdGRlbXV4OiBBZGQgaGFuZGxpbmcgZm9yIHN0cHMgYXRvbXMKCSAgc3RwcyBhdG9tcyBjb250YWluICJwYXJ0aWFsIHN5bmMiIGluZm9ybWF0aW9uLCB3aGljaCBtZWFucyB0aGF0IGl0J3MKCSAgYSBzeW5jIHBvaW50IHdoZXJlIHB0cyAhPSBkdHMuICBUaGlzIGlzIG5lZWRlZCB0byBwcm9wZXJseSBoYW5kbGUKCSAgTVBFRzIsIEguMjY0LCBEaXJhYywgZXRjLiwgaW4gcXVpY2t0aW1lLgoKMjAwOS0wMi0wNSAxNTo1MTo0MiAtMDgwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkgIGZsYWNkZWM6IGlmIHdlIGFib3J0ZWQgcmVhZGluZywgZG9uJ3QgZG8gaW50byBhbiBpbmZpbml0ZSBsb29wLgoJICBJZiBvdXIgcmVhZCBjYWxsYmFjayByYW4gb3V0IG9mIGRhdGEsIHNvIGhhZCB0byBhYm9ydCByZWFkaW5nLCB3ZSByZXR1cm4KCSAgR1NUX0ZMT1dfRVJST1IgaW5zdGVhZCBvZiBnb2luZyBpbnRvIGFuIGluZmluaXRlIGxvb3AuCgoyMDA5LTAyLTA1IDEwOjE5OjM3IC0wODAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsuaDoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBvc3h2aWRlb3Npbms6IHJlbW92ZSBub24tZW1iZWRkZWQgbW9kZSBhbmQgZml4IG1lbW9yeSBtYW5hZ2VtZW50LgoJICBSZW1vdmUgbm9uLWVtYmVkZGVkIG1vZGUuIEVtYmVkIG1vZGUgYmVjb21lcyBkZWZhdWx0IGFuZCBvbmx5IG1vZGUuCgkgIGVtYmVkIHByb3BlcnR5IGlzIHJldGFpbmVkIGZvciBiaW5hcnkgY29tcGF0aWJpbGl0eS4KCSAgQWRkZWQgYXV0b3JlbGVhc2UgcG9vbHMgYXJvdW5kIGFsbCBvYmpjIGZ1bmN0aW9ucyB0aGF0IG1pZ2h0IGJlIGNhbGxlZAoJICBmcm9tIGEgbm9uLW1haW4gdGhyZWFkLgoKMjAwOS0wMi0wNSAyMDowMjowMSArMDEwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzIChhdCkgYXBlc3RhYXJ0IChkb3QpIG9yZz4KCgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSAgZGVidWcgb24gdGhlIG9iamVjdAoKMjAwOS0wMi0wNCAxNjo0MDoxMyAtMDgwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4cmluZ2J1ZmZlci5jOgoJICBvc3hhdWRpbyBmaXhlczogbXVsdGljaGFubmVsIGFuZCBjaGFuZ2luZyBjYXBzLgoJICBFbnN1cmUgd2UgY3JlYXRlIHRoZSByaW5nYnVmZmVyIHNlZ21lbnQgc2l6ZSBhcyBhIG11bHRpcGxlIG9mIHRoZQoJICBieXRlcyBwZXIgc2FtcGxlIChmaXhlcyA2LWNoYW5uZWwgb3V0cHV0KS4KCSAgUmVzZXQgdGhlIHNlZ29mZnNldCB3aGVuIGFjcXVpcmluZyB0aGUgcmluZ2J1ZmZlciwgc28gd2UgZG9uJ3QgcmV0YWluCgkgIGEgYm9ndXMgb2Zmc2V0IHdoZW4gY2FwcyBjaGFuZ2UuCgoyMDA5LTAyLTA0IDExOjM4OjMwICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIHJ0c3BzcmM6IEtlZXAgdHJhY2sgb2YgY29ubmVjdGVkIHN0YXRlCgkgIEtlZXAgdHJhY2sgb2YgdGhlIHN0YXRlIG9mIHRoZSBjb25uZWN0aW9uIGFuZCBkb24ndCB0cnkgdG8gc2VuZCBURUFSRE9XTiB3aGVuCgkgIHRoZSBzZXJ2ZXIgaGFzIGNsb3NlZCB0aGUgY29ubmVjdGlvbi4KCjIwMDktMDItMDQgMDk6MjA6MjggKzAxMDAgIFJvYmluIFN0b2NrZXIgPHJvYmluQG5pYm9yLm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBSZWFkIE1hdHJvc2thIFRpdGxlIGVsZW1lbnQgZm9yIHRoZSBUSVRMRSB0YWcKCSAgTm90IGFsbCBNYXRyb3NrYSBmaWxlcyBoYXZlIGEgVGFncyBlbGVtZW50IHdoaWNoIGNvbnRhaW5zCgkgIGluZm9ybWF0aW9uIGFib3V0IHRoZSB0aXRsZSBhbW9uZyBvdGhlciB0aGluZ3MuIE1vc3QgdmlkZW8KCSAgTWF0cm9za2EgZmlsZXMgb25seSBjb250YWluIHRoZSBUaXRsZSBlbGVtZW50IHNvIHdlCgkgIHNob3VsZCBwYXJzZSB0aGlzIHRvby4gRml4ZXMgYnVnICM1NzA0MzUuCgoyMDA5LTAyLTAzIDIyOjM0OjM4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlLmFjOiBidW1wIGNvcmUvYmFzZSByZXF1aXJlbWVudHMgdG8gcmVsZWFzZWQgdmVyc2lvbnMKCjIwMDktMDItMDMgMTc6MTA6MzAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9lY2hvLmM6CgkgIEZpeCBhdWRpb2VjaG8gdW5pdCB0ZXN0IG9uIDMyIGJpdCBzeXN0ZW1zCgkgIENhc3QgdGhlIG5ldyB2YWx1ZSBmb3IgdGhlICJkZWxheSIgcHJvcGVydHkgdG8gR3N0Q2xvY2tUaW1lLgoJICBJbnRlZ2VycyB3aXRob3V0IHR5cGUgYXJlIHBhc3NlZCB0byB2YXJhcmcgZnVuY3Rpb25zIHdpdGgKCSAgYW4gaW50ZWdlciB0eXBlIHRoYXQgY2FuIGhvbGQgYSBwb2ludGVyLgoKMjAwOS0wMi0wMyAxNDowOToyNiArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzoKCSAgZXF1YWxpemVyOiBEb24ndCByZXNldCBmcmVxdWVuY3kgYmFuZHMgZnJvbSB1c2VyIHNldHRpbmdzLiBGaXhlcyAjNTcwMzQzLgoJICBNb3ZlIHJlYWxsb2NhdGluZyB0aGUgaGlzdG9yeSBidWZmZXIgb3V0IG9mIF9jb21wdXRlX2ZyZXF1ZW5jaWVzKCkgYW5kIGNhbGwgdGhlCgkgIHJpZ2h0IGZ1bmN0aW9uIGFzIG5lZWRlZC4gQWRkIHNvbWUgbG9nZ2luZyBhbmQgdHdlYWsgdGhlIGZvcm1hdHRpbmcgb2YgZXhpc3RpbmcKCSAgbG9nZ2luZy4gU2ltcGxpZnkgc2V0dGluZyBuZWVkX25ld19jb2VmZmljaWVudHMgd2hlbiBjaGFuZ2luZyBwcm9wZXJ0aWVzLgoKMjAwOS0wMi0wMyAxMTo1MjoxNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9meC9hdWRpb2VjaG8uYzoKCSAgVXNlIGd1aW50NjQgaW5zdGVhZCBvZiBndWludCBmb3Igc3RvcmluZyBndWludDY0CgoyMDA5LTAyLTAyIDE4OjM3OjM1ICswMTAwICBKb25hdGhhbiBNYXR0aGV3IDxub3R2ZXJ5c21hcnRAZ21haWwuY29tPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgVXNlIGNvcnJlY3QgZmxhZyBmb3IgdGhlIEdOT01FIHByb3h5IGNvbmZpZ3VyYXRpb24KCSAgRml4ZXMgYnVnICM1NTIxNDAuCgoyMDA5LTAyLTAyIDEzOjA4OjE0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvaWNsZXMvdjRsMnNyYy10ZXN0LmM6CgkgIEZpeCBjb21waWxlciB3YXJuaW5ncwoJICBmaXggY29tcGlsZXIgd2FybmluZ3MgZHVlIHRvIHVudXNlZCByZXR1cm4gdmFsdWVzIG9mIHNjYW5mLgoKMjAwOS0wMS0zMSAxMTowODozMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9pY2xlcy92NGwyc3JjLXRlc3QuYzoKCSAgRml4IGZvcm1hdCBzdHJpbmcgY29tcGlsZXIgd2FybmluZwoKMjAwOS0wMS0zMCAyMjoyNDoxNCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgIEFkZCByZWxlYXNlaW5mbyB3aXRoIG9ubGluZSB1cmwuCgoyMDA5LTAxLTMwIDE4OjA0OjExICswMDAwICBKYW4gU2NobWlkdCA8amFuLnNjaG1pZHRAc3VuLmNvbT4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9pY2xlcy9NYWtlZmlsZS5hbToKCSAgRml4IHVwIHNvbWUgY29tcGlsZSBmbGFncwoKMjAwOS0wMS0zMCAxNzozNTo0OSArMDAwMCAgSmFuIFNjaG1pZHQgPGphbi5zY2htaWR0QHN1bi5jb20+CgoJKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5jOgoJICBEb24ndCB1c2UgR2xpYiAyLjE2IGZ1bmN0aW9uIGdfc3RyY21wMC4KCjIwMDktMDEtMzAgMTc6MzQ6NDUgKzAwMDAgIEphbiBTY2htaWR0IDxqYW4uc2NobWlkdEBzdW4uY29tPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBEb24ndCBkbyB2b2lkIHBvaW50ZXIgYXJpdGhtZXRpYwoKMjAwOS0wMS0zMCAxNzoyNjoxOSArMDAwMCAgSmFuIFNjaG1pZHQgPGphbi5zY2htaWR0QHN1bi5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBGaXggRm9ydGUgY29tcGlsZXIgd2FybmluZ3MuCgkgIERvbid0IGRvIHZvaWQgcG9pbnRlciBhcml0aG1ldGljLiBEb24ndCBoYXZlIGFuIHVucmVhY2hhYmxlIHN0YXRlbWVudC4KCjIwMDktMDEtMzAgMTc6Mjk6NDUgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGNvbW1vbjoKCSAgQnVtcCBjb21tb24KCjIwMDktMDEtMjYgMTA6MzM6NTUgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIFJlbW92ZSB1c2VsZXNzIHByb2Nlc3NpbmcgZm9yIG5vbi1yYXcgZm9ybWF0cwoKMjAwOS0wMS0zMCAxNTozNDozMSArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eF9mb3VyY2MuaDoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eF90eXBlcy5jOgoJICBBZGQgc3VwcG9ydCBmb3IgdGhlICdSZXF1aXJlbWVudCcgYW5kICdFbmNvZGVyJyB0YWdzCgoyMDA5LTAxLTMwIDE1OjMzOjE5ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBNb2RpZnkgcHJpdmF0ZS10YWcgbmFtZSBmb3JtYXR0ZXIgc28gdGhhdCBpdCBkb2Vzbid0IGdvIG1hZCBhdCBmb3VyY2Mgc3RhcnRpbmcgd2l0aCAnKGMpJy4KCjIwMDktMDEtMzAgMTQ6NDA6NTEgKzAxMDAgIEJyaWplc2ggU2luZ2ggPGJyaWplc2gua3NpbmdoQGdtYWlsLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJ0dW5lci5jOgoJICBGaXggY29tcGFyaXNvbiBvZiB0aGUgdHVuZXIgbm9ybXMKCSAgVGhlIFY0TDIgdHVuZXIgbm9ybXMgdGhhdCBhIGRldmljZSBzdXBwb3J0cyBjb3VsZAoJICBiZSBhIHN1YnNldCBvZiBzb21lIG5vcm0gKGUuZy4gTlRTQyBpbnN0ZWFkIG9mIE5UU0NfTSkuCgkgIFRoZSBjb21wYXJpc29uIHNob3VsZCBiZSBkb25lIGJ5ICYgaW5zdGVhZCBvZiA9PS4KCSAgU2VlIGh0dHA6Ly93d3cubGludXh0di5vcmcvZG93bmxvYWRzL3ZpZGVvNGxpbnV4L0FQSS9WNEwyX0FQSS9zcGVjLXNpbmdsZS92NGwyLmh0bWwjU1RBTkRBUkQKCSAgRml4ZXMgYnVnICM1Njk4MjAuCgoyMDA5LTAxLTMwIDA4OjUzOjA2ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogYXV0b2dlbi5zaDoKCSogY29tbW9uOgoJICBVc2UgYSBzeW1ib2xpYyBsaW5rIGZvciB0aGUgcHJlLWNvbW1pdCBjbGllbnQtc2lkZSBob29rCgoyMDA5LTAxLTI5IDE0OjA4OjU2ICswMTAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSogZ3N0L3ZpZGVvY3JvcC9nc3Rhc3BlY3RyYXRpb2Nyb3AuYzoKCSAgT25seSB1bnJlZiB0aGUgcGVlciB3aGVuIHRoZXJlIGlzIG9uZS4KCjIwMDktMDEtMjkgMTE6MDc6NTkgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOgoJKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6CgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy93YXZlZm9ybS9nc3R3YXZlZm9ybXNpbmsuYzoKCSAgUmVtb3ZlIHZlcnNpb24gbnVtYmVycyBmcm9tIGEgZmV3IGdzdC1sYXVuY2ggZXhhbXBsZXMuCgkgIFRoZSBtYWpvcml0eSBvZiB0aGUgZXhhbXBsZXMgZG9lIG5vdCB1c2UgLTAuMTAgYW5kIHRoaXMgd2lsbCBhbHNvIGhlbHAgdXMgdG8gbWFpbnRhaW4gdGhlIGRvY3MuCgoyMDA5LTAxLTI5IDEwOjEwOjA4ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkqIHN5cy9vc3MvZ3N0b3NzbWl4ZXJlbGVtZW50LmM6CgkqIHN5cy9vc3MvZ3N0b3Nzc2luay5jOgoJKiBzeXMvb3NzL2dzdG9zc3NyYy5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW8uYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zcmMuYzoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlci5jOgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zaW5rLmM6CgkqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NyYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy93YXZlZm9ybS9nc3R3YXZlZm9ybXNpbmsuYzoKCSogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzoKCSAgVXBkYXRlIGFuZCBhZGQgZG9jdW1lbnRhdGlvbiBmb3IgcGxhdGZvcm0gc3BlY2lmaWMgcGx1Z2lucyAoc3lzKS4KCSAgTGluayB0byBwcm9wZXJ0aWVzLiBDb3JyZWN0IHRpdGxlcyBmb3IgZXhhbXBsZXMuIEZpeCBleGFtcGxlcy4KCjIwMDktMDEtMjkgMDk6NDU6MjUgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0bXV4LmM6CgkgIEFkZCAnIHRvIGZyYW1lcmF0ZSBhcmd1bWVudCBhbmQgcmVtb3ZlIHRoZSB3b3JkICdzaW1wbGUnIGFzIGFsbCBvdXIgcGlwZWxpbmVzIGFyZSBhcHBhcmVudGx5IHNpbXBsZS4KCjIwMDktMDEtMjkgMDk6NDI6NTYgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJICBBZGQgZXhhbXBsZXMgZm9yIHRoZSBqcGVnIGVsZW1lbnRzLgoKMjAwOS0wMS0yOCAyMTo0MDoxMSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBGaXggY29tcGlsZSBlcnJvciBpbiB0aGUgbGFzdCBjb21taXQKCjIwMDktMDEtMjggMjA6MzQ6NDAgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L3B1bHNlL3B1bHNlcHJvYmUuYzoKCSogZXh0L3B1bHNlL3B1bHNlcHJvYmUuaDoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmg6CgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuaDoKCSogZXh0L3B1bHNlL3B1bHNldXRpbC5jOgoJKiBleHQvcHVsc2UvcHVsc2V1dGlsLmg6CgkgIFJld3JpdGUgdGhlIHB1bHNlIHBsdWdpbiwgY29uZGl0aW9uYWxseSBlbmFibGluZyBuZXcgYmVoYXZpb3VyIHdpdGggbmV3ZXIgcHVsc2VhdWRpby4KCSAgRml4ZXM6ICM1Njc3OTQKCSAgKiBIb29rIHB1bHNlc2luaydzIHZvbHVtZSBwcm9wZXJ0eSB1cCB3aXRoIHRoZSBzdHJlYW0gdm9sdW1lIC0tIG5vdCB0aGUKCSAgc2luayB2b2x1bWUgaW4gUEEuCgkgICogUmVhZCB0aGUgZGV2aWNlIGRlc2NyaXB0aW9uIGRpcmVjdGx5IGZyb20gdGhlIHNpbmsgaW5zdGVhZCBvZiBnb2luZwoJICB2aWEgdGhlIG1peGVyLgoJICAqIFByb3Blcmx5IGltcGxlbWVudCBfcmVzZXQoKSBtZXRob2RzIGZvciBib3RoIHNpbmsgYW5kIHNvdXJjZSB0byBhdm9pZAoJICBkZWFkbG9ja3Mgd2hlbiBzaHV0dGluZyBkb3duIGEgcGlwZWxpbmUuCgkgICogUmVwbGFjZSBhbGwgc2ltcGxlIHBhX3RocmVhZGVkX21haW5sb29wX3dhaXQoKSBieSBwcm9wZXIgbG9vcHMgdG8KCSAgZ3VhcmFudGVlIHRoYXQgd2Ugd2FpdCBmb3IgdGhlIHJpZ2h0IGV2ZW50IGluIGNhc2UgbXVsdGlwbGUgZXZlbnRzIGFyZQoJICBmaXJlZC4gIFdoaWxlIHRoaXMgaXMgbm90IHN0cmljdGx5IG5lY2Vzc2FyeSBpbiBtYW55IGNhc2VzIGl0CgkgIGNlcnRhaW5seSBpcyBtb3JlIGNvcnJlY3QgYW5kIG1ha2VzIG1lIHNsZWVwIGJldHRlciBhdCBuaWdodC4KCSAgKiBSZXBsYWNlIENIRUNLX0RFQURfR09UTyBtYWNyb3Mgd2l0aCBwcm9wZXIgZnVuY3Rpb25zCgkgICogRXh0ZW5kIHRoZSBudW1iZXIgb2Ygc3VwcG9ydGVkIGNoYW5uZWxzIHRvIDMyIHNpbmNlIHRoYXQgaXMgdGhlIGFjdHVhbAoJICBsaW1pdCBpbiBQQS4KCSAgKiBHZXQgcmlkIG9mIF9kaXNwb3NlKCkgbWV0aG9kcyBzaW5jZSB3ZSBkb24ndCBuZWVkIHRoZW0uCgkgICogSW5jcmVhc2UgdGhlIHZvbHVtZSBwcm9wZXJ0eSB1cHBlciBsaW1pdCBvZiB0aGUgc2luayB0byAxMDAwLgoJICAqIFJlc2V0IGZ1bmN0aW9uIHBvaW50ZXJzIGFmdGVyIHdlIGRpc2Nvbm5lY3QgYSBzdHJlYW0vY29udGV4dC4gQmV0dGVyCgkgIGZpeCBmb3IgYnVnIDU1Njk4Ni4KCSAgKiBSZXNldCB0aGUgc3RhdGUgb2YgdGhlIGVsZW1lbnQgcHJvcGVybHkgaWYgb3Blbi9wcmVwYXJlIGZhaWxzCgkgICogQ29yayB0aGUgUEEgc3RyZWFtIHdoZW4gdGhlIHBpcGVsaW5lIGlzIHBhdXNlZC4gVGhpcyBhbGxvd3MgdGhlIFBBCgkgICogZGFlbW9uIHRvCgkgIGNsb3NlIGF1ZGlvIGRldmljZSBvbiBwYXVzZSBhbmQgdGh1cyBzYXZlIGEgYml0IG9mIHBvd2VyLgoJICAqIFNldCBQQSBzdHJlYW0gcHJvcGVydGllcyBiYXNlZCBvbiBHU1QgdGFncyBzdWNoIGFzIEdTVF9UQUdfVElUTEUsCgkgIEdTVF9UQUdfQVJUSVNULCBhbmQgc28gb24uCgkgIFNpZ25lZC1vZmYtYnk6IExlbm5hcnQgUG9ldHRlcmluZyA8bGVubmFydEBwb2V0dGVyaW5nLm5ldD4KCjIwMDktMDEtMjggMTc6NDY6MDYgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBleHQvYWFsaWIvZ3N0YWFzaW5rLmM6CgkqIGV4dC9hbm5vZGV4L2dzdGNtbWxkZWMuYzoKCSogZXh0L2Fubm9kZXgvZ3N0Y21tbGVuYy5jOgoJKiBleHQvY2Fpcm8vZ3N0dGV4dG92ZXJsYXkuYzoKCSogZXh0L2NhaXJvL2dzdHRpbWVvdmVybGF5LmM6CgkqIGV4dC9kdi9nc3RkdmRlYy5jOgoJKiBleHQvZHYvZ3N0ZHZkZW11eC5jOgoJKiBleHQvZXNkL2VzZG1vbi5jOgoJKiBleHQvZXNkL2VzZHNpbmsuYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkqIGV4dC9nY29uZi9nc3RnY29uZmF1ZGlvc2luay5jOgoJKiBleHQvZ2NvbmYvZ3N0Z2NvbmZhdWRpb3NyYy5jOgoJKiBleHQvZ2NvbmYvZ3N0Z2NvbmZ2aWRlb3NpbmsuYzoKCSogZXh0L2djb25mL2dzdGdjb25mdmlkZW9zcmMuYzoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmc2luay5jOgoJKiBleHQvaGFsL2dzdGhhbGF1ZGlvc2luay5jOgoJKiBleHQvaGFsL2dzdGhhbGF1ZGlvc3JjLmM6CgkqIGV4dC9oYWwvaGFsLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSogZXh0L2pwZWcvZ3N0c21va2VkZWMuYzoKCSogZXh0L2pwZWcvZ3N0c21va2VlbmMuYzoKCSogZXh0L2xpYmNhY2EvZ3N0Y2FjYXNpbmsuYzoKCSogZXh0L2xpYmNhY2EvZ3N0Y2FjYXNpbmsuaDoKCSogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzoKCSogZXh0L2xpYnBuZy9nc3RwbmdlbmMuYzoKCSogZXh0L3B1bHNlL3B1bHNlbWl4ZXIuYzoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSogZXh0L3JhdzEzOTQvZ3N0ZHYxMzk0c3JjLmM6CgkqIGV4dC9yYXcxMzk0L2dzdGhkdjEzOTRzcmMuYzoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6CgkqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOgoJKiBleHQvdGFnbGliL2dzdGFwZXYybXV4LmNjOgoJKiBleHQvdGFnbGliL2dzdGlkM3YybXV4LmNjOgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6CgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguaDoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgVXBkYXRlIGFuZCBhZGQgZG9jdW1lbnRhdGlvbiBmb3IgcGx1Z2lucyB3aXRoIGRlcHMgKGV4dCkuCgkgIExpbmsgdG8gcHJvcGVydGllcy4gQ29ycmVjdCB0aXRsZXMgZm9yIGV4YW1wbGVzLiBEb2N1bWVudCBhIGZldyB0cml2aWFsIGNhc2VzLiBLZWVwIGxpc3RzIGluIHNlY3Rpb24gZmlsZSBhbmQgZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtIGFscGhhYmV0aWNhbGx5IG9yZGVyZWQuIEZpeCB3YXJuaW5ncyB0aGF0IGd0ay1kb2MgcG9pbnRzIG91dC4KCjIwMDktMDEtMjggMTU6NTc6MjAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9lY2hvLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZWNoby5oOgoJICBMaW1pdCB0aGUgZGVsYXkgYnkgYSBuZXcgbWF4LWRlbGF5IHByb3BlcnR5CgkgIEludHJvZHVjZSBhIG5ldyBtYXgtZGVsYXkgcHJvcGVydHkgdGhhdCBjYW4gb25seQoJICBiZSBzZXQgYmVmb3JlIGdvaW5nIHRvIFBMQVlJTkcgb3IgUEFVU0VELiBUaGlzCgkgIGlzIHVzZWQgdG8gbGltaXQgdGhlIG1heGltdW0gZGVsYXkgYW5kIGlzIHNldAoJICB0byB0aGUgY3VycmVudCBkZWxheSBieSBkZWZhdWx0LgoJICBVc2luZyB0aGlzIHdpbGwgbWFrZSBzdXJlIHRoYXQgd2UgaGF2ZSBlbm91Z2ggZGF0YQoJICBpbiBvdXIgaW50ZXJuYWwgcmluZ2J1ZmZlciBmb3IgdGhlIGVjaG8uIFdpdGggZHluYW1pYwoJICByZWFsbG9jYXRpb24gb2YgdGhlIHJpbmdidWZmZXIgYXMgdXNlZCBiZWZvcmUgc2lsZW5jZQoJICBjb3VsZCd2ZSBiZWVuIHVzZWQgYXMgdGhlIGVjaG8gZGlyZWN0bHkgYWZ0ZXIgc2V0dGluZwoJICBhIG5ldyBkZWxheS4KCjIwMDktMDEtMjggMTE6NTg6NDIgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJldmVydCBwcmV2aW91cyBib2d1cyBjb21taXQKCjIwMDktMDEtMjggMTI6Mjk6NDIgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFubm9kZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2FtbWEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhhbGVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb25vc2NvcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdWlja3RpbWUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYmFsYW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9mbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZ3N0L2FscGhhL2dzdGFscGhhY29sb3IuYzoKCSogZ3N0L2FwZXRhZy9nc3RhcGVkZW11eC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2FtcGxpZnkuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9jaGViYmFuZC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJsaW1pdC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2R5bmFtaWMuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9lY2hvLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZmlyZmlsdGVyLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvaWlyZmlsdGVyLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvaW52ZXJ0LmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlva2FyYW9rZS5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb3Bhbm9yYW1hLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvd3NpbmNiYW5kLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvd3NpbmNsaW1pdC5jOgoJKiBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLmM6CgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSogZ3N0L2N1dHRlci9nc3RjdXR0ZXIuYzoKCSogZ3N0L2RlYnVnL2dzdHB1c2hmaWxlc3JjLmM6CgkqIGdzdC9kZWJ1Zy9nc3R0YWdpbmplY3QuYzoKCSogZ3N0L2RlYnVnL3Byb2dyZXNzcmVwb3J0LmM6CgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyMTBiYW5kcy5jOgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcjNiYW5kcy5jOgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcm5iYW5kcy5jOgoJKiBnc3QvZmx4L2dzdGZseGRlYy5jOgoJKiBnc3QvZ29vbS9nc3Rnb29tLmM6CgkqIGdzdC9nb29tMmsxL2dzdGdvb20uYzoKCSogZ3N0L2ljeWRlbXV4L2dzdGljeWRlbXV4LmM6CgkqIGdzdC9pZDNkZW11eC9nc3RpZDNkZW11eC5jOgoJKiBnc3QvbGF3L2FsYXctZGVjb2RlLmM6CgkqIGdzdC9sYXcvYWxhdy1lbmNvZGUuYzoKCSogZ3N0L2xhdy9tdWxhdy1kZWNvZGUuYzoKCSogZ3N0L2xhdy9tdWxhdy1lbmNvZGUuYzoKCSogZ3N0L2xhdy9tdWxhdy5jOgoJKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzoKCSogZ3N0L21vbm9zY29wZS9nc3Rtb25vc2NvcGUuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc3JjLmM6CgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRtdXguYzoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdwYXkuYzoKCSogZ3N0L3J0c3AvZ3N0cnRwZGVjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3NtcHRlL2dzdHNtcHRlLmM6CgkqIGdzdC9zbXB0ZS9nc3RzbXB0ZWFscGhhLmM6CgkqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdHVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6CgkqIGdzdC92aWRlb2Nyb3AvZ3N0YXNwZWN0cmF0aW9jcm9wLmM6CgkqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3RnYW1tYS5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9iYWxhbmNlLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZsaXAuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5jOgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBVcGRhdGUgYW5kIGFkZCBkb2N1bWVudGF0aW9uIGZvciBwbHVnaW5zIHdpdGggbm8gZGVwcyAoZ3N0KS4KCSAgTGluayB0byBwcm9wZXJ0aWVzLiBDb3JyZWN0IHRpdGxlcyBmb3IgZXhhbXBsZXMuIERvY3VtZW50IGEgZmV3IHRyaXZpYWwgY2FzZXMuIEtlZXAgbGlzdHMgaW4gc2VjdGlvbiBmaWxlIGFuZCBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW0gYWxwaGFiZXRpY2FsbHkgb3JkZXJlZC4KCjIwMDktMDEtMjcgMjM6MDk6MDUgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2V4YW1wbGVzL3NwZWN0cnVtL2RlbW8tYXVkaW90ZXN0LmM6CgkqIHRlc3RzL2V4YW1wbGVzL3NwZWN0cnVtL2RlbW8tb3Nzc3JjLmM6CgkgIEZpeCBleGFtcGxlIGFwcHMgYnkgZHJhd2luZyBpbiB0aGUgbWFpbi1sb29wLgoKMjAwOS0wMS0yNyAyMDozMzowMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgdGVzdHM6IGZpeCBidWlsZCBvZiBhc3BlY3RyYXRpbyBjcm9wIHVuaXQgdGVzdCBpbiB1bmluc3RhbGxlZCBlbnZpcm9ubWVudC4KCjIwMDktMDEtMjcgMjA6MzA6MDIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogLmdpdGlnbm9yZToKCSAgTWFrZSBnaXQgaWdub3JlIGJhY2t1cCBmaWxlcwoKMjAwOS0wMS0yNiAxNjoxNDo0NyArMDEwMCAgUGV0ZXIgS2plbGxlcnN0ZWR0IDxwa2pAYXhpcy5jb20+CgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4LmM6CgkgIFBsdWcgYSBtZW1vcnkgbGVhayBpbiBhIGRlYnVnIG1lc3NhZ2UuCgoyMDA5LTAxLTIyIDE1OjU5OjQwICswMTAwICBQZXRlciBLamVsbGVyc3RlZHQgPHBrakBheGlzLmNvbT4KCgkqIGdzdC91ZHAvZ3N0dWRwbmV0dXRpbHMuYzoKCSAgQ29ycmVjdCByZXR1cm4gdmFsdWUgZnJvbSBnc3RfdWRwX2dldF9hZGRyKCkgd2hlbiBubyBrbm93biBmYW1pbHkgaXMgZm91bmQuCgoyMDA5LTAxLTI2IDA5OjUxOjM2ICswMTAwICBKb25hdGhhbiBNYXR0aGV3IDxqb25hdGhhbkBkMTRuLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgVXNlIGxpYnNvdXAtZ25vbWUgZm9yIHByb3h5IGNvbmZpZ3VyYXRpb24gaWYgYXZhaWxhYmxlCgkgIElmIGxpYnNvdXAtZ25vbWUgaXMgZm91bmQgdXNlIHRoaXMgYXMgaXQgd2lsbCBnaXZlIHVzCgkgIHRoZSBHTk9NRSBwcm94eSBjb25maWd1cmF0aW9uLiBPdGhlcndpc2UgdXNlIG5vcm1hbAoJICBsaWJzb3VwLgoJICBUaGUgR05PTUUgcHJveHkgY29uZmlndXJhdGlvbiB3aWxsIG9ubHkgYmUgdXNlZCBpZgoJICB0aGUgcHJveHkgcHJvcGVydGllcyBhcmUgbm90IHNldCBvbiBzb3VwaHR0cHNyYwoJICBhbmQgaWYgdGhlIGh0dHBfcHJveHkgZW52aXJvbm1lbnQgdmFyaWFibGUgaXMgbm90CgkgIHNldC4KCSAgRml4ZXMgYnVnICM1NTIxNDAuCgoyMDA5LTAxLTI1IDE5OjI2OjQ2IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgQWRkIGEgZmV3IG1vcmUgdmlkZW8gZm91cmNjJ3MKCjIwMDktMDEtMjQgMTQ6NDg6MDAgKzAxMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJKiBnc3QvdmlkZW9jcm9wL2dzdGFzcGVjdHJhdGlvY3JvcC5jOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXNwZWN0cmF0aW9jcm9wLmM6CgkgIEFkZCB1bml0IHRlc3QgZm9yIGFzcGVjdHJhdGlvY3JvcCBGaXhlcyBidWcgIzUyNzk1MQoJICBBZGQgdW5pdCB0ZXN0IGZvciBhc3BlY3RyYXRpb2Nyb3AgYW5kIHJlZmFjdG9yIHRoaXMgZWxlbWVudC4gQWRkZWQKCSAgZmluYWxpemUgZnVuY3Rpb24gdG8gY2xlYW51cCBsZWFraW5nIG11dGV4LgoKMjAwOS0wMS0yNSAxNDozNDowOSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSAgSWdub3JlIGNoZWNrIGJpbmFyaWVzCgoyMDA5LTAxLTI0IDE4OjI4OjA2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZWNoby5jOgoJICBTYXZlIHNvbWUgYWxsb2NhdGlvbnMgaWYgdGhlIGVjaG8gZGVsYXkgaXMgaW5jcmVhc2VkIG9mdGVuCgkgIFNhdmUgc29tZSBhbGxvY2F0aW9ucyBpZiB0aGUgZWNobyBkZWxheSBpcyBpbmNyZWFzZWQgb2Z0ZW4KCSAgZHVyaW5nIHBsYXliYWNrIGJ5IGFsd2F5cyBhbGxvY2F0aW5nIGVub3VnaCBtZW1vcnkgdG8gaG9sZAoJICBkYXRhIHVwIHRvIHRoZSBuZXh0IGNvbXBsZXRlIHNlY29uZCwgaS5lLiBpbiB0aGUgd29yc3QgY2FzZQoJICBhbGxvY2F0ZSBtZW1vcnkgZm9yIG9uZSBhZGRpdGlvbmFsIHNlY29uZC4KCjIwMDktMDEtMjQgMTQ6MjU6MDggKzAxMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFubm9kZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2FtbWEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhhbGVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF1aWNrdGltZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JhbGFuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9mbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSAgVXBkYXRlIHBsdWdpbiB2ZXJzaW9uIGluIGRvY3VtZW50YXRpb24KCjIwMDktMDEtMjMgMjE6NDc6NDAgKzAxMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5jOgoJICBGaXggbGluayBpbiBkb2N1bWVudGF0aW9uIG9mIHZpZGVvY3JvcCBlbGVtZW50CgoyMDA5LTAxLTIzIDIxOjQ2OjEzICswMTAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZ3N0L3ZpZGVvY3JvcC9nc3Rhc3BlY3RyYXRpb2Nyb3AuYzoKCSAgQWRkIGRvY3VtZW50YXRpb24gZm9yIGFzcGVjdHJhdGlvY3JvcAoKMjAwOS0wMS0yNCAxMzoyMTozOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFVwZGF0ZSB3aW4zMi9jb21tb24vY29uZmlnLmggZm9yIHRoZSBuZXcgZGV2ZWxvcG1lbnQgY3ljbGUKCjIwMDktMDEtMjQgMTE6NTM6NDAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9lY2hvLmM6CgkgIEFkZCBub3RlIHRoYXQgYXVkaW9lY2hvJ3MgcmV2ZXJiIHNvdW5kcyBtZXRhbGxpYwoJICBBZGQgYSBub3RlIHRvIHRoZSBkb2NzIHRoYXQgYXVkaW9lY2hvJ3MgcmV2ZXJiIHdpbGwKCSAgc291bmQgbWV0YWxsaWMuIFRoaXMgaGFwcGVucyBiZWNhdXNlIGZvciBhIHJlYWwKCSAgcmV2ZXJiIGZpbHRlciBhZGRpdGlvbmFsIGZpbHRlcmluZyBpcyBuZWNlc3NhcnkuCgkgIEFsc28gbm90ZSB3aGljaCB2YWx1ZXMgc2hvdWxkIGJlIHVzZWQgZm9yIHRoZSBkZWxheQoJICBwcm9wZXJ0eSB0byBnZXQgYW4gZWNobyBlZmZlY3QuCgoyMDA5LTAxLTIzIDIzOjM4OjEwICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiAuZ2l0aWdub3JlOgoJKiBkb2NzL3BsdWdpbnMvLmdpdGlnbm9yZToKCSogcG8vLmdpdGlnbm9yZToKCSogdGVzdHMvZXhhbXBsZXMvYXVkaW9meC8uZ2l0aWdub3JlOgoJICBNb3JlIGVudHJpZXMgZm9yIHRoZSBnaXRpZ25vcmVzCgoyMDA5LTAxLTIzIDIwOjM2OjI3ICswMTAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9jcm9wLmM6CgkgIHNraXAgdmlkZW8veC1yYXctZ3JheSBpbiB2aWRlb2Nyb3AgdW5pdCB0ZXN0CgkgIEEgcmVjZW50IGNvbW1pdCBhZGRlZCB2aWRlby94LXJhdy1ncmF5IHN1cHBvcnQgdG8gdmlkZW9jcm9wLiBIb3dldmVyCgkgIHRoaXMgbGV0cyB0aGUgdmlkZW9jcm9wIHVuaXQgdGVzdCBmYWlsLiBCZWNhdXNlIHZpZGVvdGVzdHNyYyBjYW4ndAoJICBnZW5lcmF0ZSB0aGlzIGZvcm1hdC4KCjIwMDktMDEtMjMgMTU6Mzk6NDYgKzAxMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJKiBnc3QvdmlkZW9jcm9wL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9jcm9wL2dzdGFzcGVjdHJhdGlvY3JvcC5jOgoJKiBnc3QvdmlkZW9jcm9wL2dzdGFzcGVjdHJhdGlvY3JvcC5oOgoJKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5jOgoJICBBZGQgYXNwZWN0cmF0aW9jcm9wIGVsZW1lbnQuIEZpeGVzIGJ1ZyAjNTI3OTUxCgkgIEFkZCBuZXcgYXNwZWN0cmF0aW9jcm9wIGVsZW1lbnQgdGhhdCBjcm9wcyB0aGUgdmlkZW8KCSAgdG8gYSBzcGVjaWZpZWQgYXNwZWN0IHJhdGlvIHVzaW5nIHZpZGVvY3JvcC4KCjIwMDktMDEtMjMgMTA6NDk6MjggKzAxMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5jOgoJICBGaXggbmF2aWdhdGlvbiBldmVudCBmb3J3YXJkaW5nIHdoaWxlIGNyb3BwaW5nLiBGaXhlcyBidWcgIzU2Nzk5Mi4KCSAgRml4IHRoZSBuYXZpZ2F0aW9uIGV2ZW50IGZvcndhcmRpbmcgd2hpbGUgY3JvcHBpbmcgYnkgYWRqdXN0aW5nCgkgIHRoZSBtb3VzZSBwb3NpdGlvbiBieSB0aGUgYW1vdW50IG9mIGNyb3BwZWQgcGl4ZWxzLgoKMjAwOS0wMS0yMyAxMDowNDozOSArMDEwMCAgQnJpYW4gQ2FtZXJvbiA8YnJpYW4uY2FtZXJvbkBzdW4uY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBGaXggbGlua2luZyBvbiBTb2xhcmlzLiBGaXhlcyBidWcgIzU2ODgwOS4KCSAgQ2hlY2sgZm9yIHRoZSBzb2NrZXQgbGlicmFyeSB3aGljaCBpcyBuZWVkZWQKCSAgZm9yIHNvY2tldCgpIG9uIFNvbGFyaXMuCgoyMDA5LTAxLTIyIDIyOjQxOjQzICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkgIEJ1bXAgdmVyc2lvbiBudW1iZXIgYWdhaW4gLT4gMC4xMC4xMy4xCgoyMDA5LTAxLTIyIDIyOjQxOjAxICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QtcGx1Z2lucy1nb29kLmRvYXA6CgkgIEFkZCByZWxlYXNlcyAwLjEwLjEyIGFuZCAwLjEwLjEzIHRvIHRoZSBkb2FwIGZpbGUKCjIwMDktMDEtMjIgMTg6MDg6NTAgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbW1vbjoKCSAgVXBkYXRlIGNvbW1vbiBzbmFwc2hvdC4KCjIwMDktMDEtMjIgMTQ6MjU6MDcgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBCYWNrIHRvIGRldmVsIC0+IDAuMTAuMTIuMQoKMjAwOS0wMS0yMiAwMToyOTo0MCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogY29uZmlndXJlLmFjOgoJICBSZWxlYXNlIDAuMTAuMTIKCjIwMDktMDEtMjEgMTc6MjI6MzkgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBGaXggZm9yIHNlY3VyaXR5IGFkdmlzb3J5IFRLQURWMjAwOS0weHgKCSAgRml4IHBvdGVudGlhbCBidWZmZXIgb3ZlcmZsb3dzIHdoaWxlIHJlYWRpbmcgcXVpY2t0aW1lIGhlYWRlcnMuCgkgIFNlY3VyaXR5IGlzc3VlIG5vdGljZWQgYnkgVG9iaWFzIEtsZWluLgoKMjAwOS0wMS0yMSAxMjo1Njo1NSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJICBGaXggdHlwbyBhbmQgc21hbGwgZmxhdyBpbiBmbGFjIGRlY29kZXIKCjIwMDktMDEtMjIgMTM6NDk6MzUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGNvbW1vbjoKCSAgRml4IHByZS1jb21taXQgaG9vawoKMjAwOS0wMS0yMiAxMDo0MDozNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGdzdC9hdWRpb2Z4L01ha2VmaWxlLmFtOgoJKiBnc3QvYXVkaW9meC9hdWRpb2VjaG8uYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9lY2hvLmg6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZnguYzoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvZWNoby5jOgoJICBSZW5hbWUgYXVkaW9yZXZlcmIgdG8gYXVkaW9lY2hvLiBGaXhlcyBidWcgIzU2ODM5NS4KCSAgVGhlIGVsZW1lbnQgY2FuIGFkZCBhbiBlY2hvIGFuZCBhIHNpbXBsZSByZXZlcmIgZWZmZWN0IHRvCgkgIGFuIGF1ZGlvIHN0cmVhbSBidXQgZm9yIGEgcmVhbCByZXZlcmIgZmlsdGVyIGl0IHdvdWxkIG5lZWQKCSAgc29tZSBhZGRpdGlvbmFsIGZpbHRlcmluZyB0byBwcmV2ZW50IGEgbWV0YWxsaWMtc291bmRpbmcKCSAgcmVzdWx0LgoKMjAwOS0wMS0yMiAxMjoyMToyOSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgRnJlZSBsZWZ0b3ZlciB1ZHAgcG9ydHMgKGlmIGFueSkgd2hlbiBhIHNldHVwIHJlcXVlc3QgZmFpbHMuCgoyMDA5LTAxLTIyIDA2OjA1OjI2ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogYXV0b2dlbi5zaDoKCSogY29tbW9uOgoJICBJbnN0YWxsIGFuZCB1c2UgcHJlLWNvbW1pdCBpbmRlbnRhdGlvbiBob29rIGZyb20gY29tbW9uCgoyMDA5LTAxLTIxIDEzOjI1OjA2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJICBXaGl0ZXNwYWNlIGZpeGVzIGFuZCBzb21lIGltcHJvdmVkIGRlYnVnIGxpbmVzLgoKMjAwOS0wMS0yMSAwNDozMTo1OCArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGF1dG9nZW4uc2g6CgkgIGF1dG9nZW4uc2ggOiBVc2UgZ2l0IHN1Ym1vZHVsZQoKMjAwOS0wMS0yMCAxNTozMzowNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHN5cy92NGwyL2dzdHY0bDJzcmMuYzogRml4IGVycm9yIGNvZGUgKHRoZSBtZXNzYWdlIHN0cmluZyBhbHNvIG5lZWRzIGxvdmUsIGJ1dCBub3QgdG9kYXkpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6IChnc3RfdjRsMnNyY19nZXRfcmVhZCk6CgkgIEZpeCBlcnJvciBjb2RlICh0aGUgbWVzc2FnZSBzdHJpbmcgYWxzbyBuZWVkcyBsb3ZlLCBidXQgbm90IHRvZGF5KS4KCjIwMDktMDEtMTkgMTE6NDQ6MzYgKzAwMDAgIEx1b3RhbyBGdSA8bC5mdUBwZW5ndXRyb25peC5kZT4KCgkgIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmM6IEFkZCA4Yml0IGdyYXlzY2FsZSBzdXBwb3J0IHRvIHZpZGVvY3JvcCBwbHVnaW4uIEZpeGVzICM1Njc5NTIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogTHVvdGFvIEZ1IDxsIGRvdCBmdSBhdCBwZW5ndXRyb25peCBkb3QgZGU+CgkgICogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuYzoKCSAgKGdzdF92aWRlb19jcm9wX2dldF9pbWFnZV9kZXRhaWxzX2Zyb21fY2Fwcyk6CgkgIEFkZCA4Yml0IGdyYXlzY2FsZSBzdXBwb3J0IHRvIHZpZGVvY3JvcCBwbHVnaW4uIEZpeGVzICM1Njc5NTIuCgoyMDA5LTAxLTE5IDExOjIyOjA2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvYXVkaW9meC9hdWRpb3JldmVyYi5jOiBTZXQgdGhlIGRlZmF1bHQgdmFsdWUgaW4gdGhlIGluc3RhbmNlIGluaXQgZnVuY3Rpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvcmV2ZXJiLmM6IChnc3RfYXVkaW9fcmV2ZXJiX2luaXQpOgoJICBTZXQgdGhlIGRlZmF1bHQgdmFsdWUgaW4gdGhlIGluc3RhbmNlIGluaXQgZnVuY3Rpb24uCgoyMDA5LTAxLTE5IDExOjE5OjA4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBBZGQgYW4gZWNoby9yZXZlcmIgZmlsdGVyIHRvIHRoZSBhdWRpb2Z4IHBsdWdpbiwgd2l0aCBjb25maWd1cmFibGUgZWNobyBkZWxheSwgaW50ZW5zaXR5IGFuZCBmZWVkYmFjay4gRml4ZXMgYnVnICM1NjcuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSAgKiBnc3QvYXVkaW9meC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2Z4LmM6IChwbHVnaW5faW5pdCk6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9yZXZlcmIuYzogKGdzdF9hdWRpb19yZXZlcmJfYmFzZV9pbml0KSwKCSAgKGdzdF9hdWRpb19yZXZlcmJfY2xhc3NfaW5pdCksIChnc3RfYXVkaW9fcmV2ZXJiX2luaXQpLAoJICAoZ3N0X2F1ZGlvX3JldmVyYl9maW5hbGl6ZSksIChnc3RfYXVkaW9fcmV2ZXJiX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfYXVkaW9fcmV2ZXJiX2dldF9wcm9wZXJ0eSksIChnc3RfYXVkaW9fcmV2ZXJiX3NldHVwKSwKCSAgKGdzdF9hdWRpb19yZXZlcmJfc3RvcCksIChnc3RfYXVkaW9fcmV2ZXJiX3RyYW5zZm9ybV9pcCk6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9yZXZlcmIuaDoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3JldmVyYi5jOiAoc2V0dXBfcmV2ZXJiKSwKCSAgKGNsZWFudXBfcmV2ZXJiKSwgKEdTVF9TVEFSVF9URVNUKSwgKGF1ZGlvcmV2ZXJiX3N1aXRlKToKCSAgQWRkIGFuIGVjaG8vcmV2ZXJiIGZpbHRlciB0byB0aGUgYXVkaW9meCBwbHVnaW4sIHdpdGggY29uZmlndXJhYmxlCgkgIGVjaG8gZGVsYXksIGludGVuc2l0eSBhbmQgZmVlZGJhY2suIEZpeGVzIGJ1ZyAjNTY3ODc0LgoKMjAwOS0wMS0xOSAxMDoxMzo1MyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLio6IEltcGxlbWVudCBhIHNpbXBsZSBjb21wZW5zYXRpb24gYWxnb3JpdGhtIGZvciByb3VuZGluZyBlcnJvcnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiAoZ3N0X3NwZWN0cnVtX3Jlc2V0X3N0YXRlKSwKCSAgKGdzdF9zcGVjdHJ1bV90cmFuc2Zvcm1faXApOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5oOgoJICBJbXBsZW1lbnQgYSBzaW1wbGUgY29tcGVuc2F0aW9uIGFsZ29yaXRobSBmb3Igcm91bmRpbmcgZXJyb3JzLgoJICBUaGlzIG1ha2VzIHN1cmUgdGhhdCBhIHNwZWN0cnVtIG1lc3NhZ2UgaXMgcG9zdGVkIG9uIHRoZSBidXMKCSAgZXZlcnkgaW50ZXJ2YWwgbmFub3NlY29uZHMuIEZpeGVzIGJ1ZyAjNTY3OTU1LgoKMjAwOS0wMS0xNSAyMToxNjo0NSArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgc3lzL29zeGF1ZGlvL01ha2VmaWxlLmFtOiBMaW5rIGFnYWluc3QgQ29yZVNlcnZpY2VzIChuZWVkZWQgZm9yIG9zeCAxMC40KSBhbmQgZml4IHVwIHRoZSBsaW5rZXIgZmxhZ3MuIEZpeGVzICM1Njc4NTMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9vc3hhdWRpby9NYWtlZmlsZS5hbToKCSAgTGluayBhZ2FpbnN0IENvcmVTZXJ2aWNlcyAobmVlZGVkIGZvciBvc3ggMTAuNCkgYW5kIGZpeCB1cCB0aGUgbGlua2VyCgkgIGZsYWdzLiBGaXhlcyAjNTY3ODUzLgoKMjAwOS0wMS0xNSAxNDo1MzoxOCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogQ2F0Y2ggaW52YWxpZCBhbmQgY29tbW9ubHkgd3JvbmcgcGxheWJhY2sgcmF0ZXMgaW4gdGhlIGVsc3QgYXRvbXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfcGFyc2Vfc2VnbWVudHMpOgoJICBDYXRjaCBpbnZhbGlkIGFuZCBjb21tb25seSB3cm9uZyBwbGF5YmFjayByYXRlcyBpbiB0aGUgZWxzdCBhdG9tcy4KCSAgRml4ZXMgIzU2NzgwMC4KCjIwMDktMDEtMTUgMTE6NDA6MjMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiBEb24ndCBjYWxsIGdzdF9mZnRfZjMyX2ZyZWUoKSB3aXRoIE5VTEwgdG8gcHJldmVudCBhIGNyYXNoLiBGaXhlcyBidWcgIzU2NzY0Mi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IChnc3Rfc3BlY3RydW1fcmVzZXRfc3RhdGUpOgoJICBEb24ndCBjYWxsIGdzdF9mZnRfZjMyX2ZyZWUoKSB3aXRoIE5VTEwgdG8gcHJldmVudCBhCgkgIGNyYXNoLiBGaXhlcyBidWcgIzU2NzY0Mi4KCjIwMDktMDEtMTQgMTU6NDQ6MTggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS4qOiBVc2UgY29ycmVjdCB0eXBlcyBmb3IgZnJhbWUvZmZ0IGNvdW50ZXJzIGFuZCBzb21lIG1pbm9yIGNsZWFudXAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiAoZ3N0X3NwZWN0cnVtX3RyYW5zZm9ybV9pcCk6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmg6CgkgIFVzZSBjb3JyZWN0IHR5cGVzIGZvciBmcmFtZS9mZnQgY291bnRlcnMgYW5kIHNvbWUgbWlub3IKCSAgY2xlYW51cC4KCjIwMDktMDEtMTQgMTU6Mzc6MDcgKzAwMDAgIExlbm5hcnQgUG9ldHRlcmluZyA8bGVubmFydEBwb2V0dGVyaW5nLm5ldD4KCgkgIGV4dC9wdWxzZS9wdWxzZXByb2JlLmM6IEZpeCByZWZjb3VudCBsb29wLCByZXN1bHRpbmcgaW4gYSB0aHJlYWQgbGVhay4gRml4ZXMgYnVnICM1Njc3NDYuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogTGVubmFydCBQb2V0dGVyaW5nIDxsZW5uYXJ0IGF0IHBvZXR0ZXJpbmcgZG90IG5ldD4KCSAgKiBleHQvcHVsc2UvcHVsc2Vwcm9iZS5jOiAoZ3N0X3B1bHNlcHJvYmVfbmV3KSwKCSAgKGdzdF9wdWxzZXByb2JlX2ZyZWUpOgoJICBGaXggcmVmY291bnQgbG9vcCwgcmVzdWx0aW5nIGluIGEgdGhyZWFkIGxlYWsuIEZpeGVzIGJ1ZyAjNTY3NzQ2LgoKMjAwOS0wMS0xNCAxMDo0Njo1NCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3NwZWN0cnVtLzogUG9zdCBhIHNwZWN0cnVtIG1lc3NhZ2Ugb24gdGhlIGJ1cyBmb3IgZXZlcnkgaW50ZXJ2YWwsIGV2ZW4gaWYgdGhlIGludGVydmFsIGlzIHNtYWxsIHRoYW4gdGhlIGxlbmd0aCBvLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVjdHJ1bS9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc3BlY3RydW0vUkVBRE1FOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiAoZ3N0X3NwZWN0cnVtX2Jhc2VfaW5pdCksCgkgIChnc3Rfc3BlY3RydW1fY2xhc3NfaW5pdCksIChnc3Rfc3BlY3RydW1faW5pdCksCgkgIChnc3Rfc3BlY3RydW1fcmVzZXRfc3RhdGUpLCAoZ3N0X3NwZWN0cnVtX2ZpbmFsaXplKSwKCSAgKGdzdF9zcGVjdHJ1bV9zZXRfcHJvcGVydHkpLCAoZ3N0X3NwZWN0cnVtX3N0YXJ0KSwKCSAgKGdzdF9zcGVjdHJ1bV9zdG9wKSwgKGdzdF9zcGVjdHJ1bV9zZXR1cCksCgkgIChnc3Rfc3BlY3RydW1fdHJhbnNmb3JtX2lwKToKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uaDoKCSAgUG9zdCBhIHNwZWN0cnVtIG1lc3NhZ2Ugb24gdGhlIGJ1cyBmb3IgZXZlcnkgaW50ZXJ2YWwsIGV2ZW4KCSAgaWYgdGhlIGludGVydmFsIGlzIHNtYWxsIHRoYW4gdGhlIGxlbmd0aCBvZiB0aGUgRkZULgoJICBGaXhlcyBidWcgIzU2NzY0Mi4KCSAgTWFqb3IgY2xlYW51cCBvZiB0aGUgc3BlY3RydW0gZWxlbWVudC4KCjIwMDktMDEtMTMgMTk6MjM6NTcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIEFkZCBhdWRpb2lpcmZpbHRlciBhbmQgYXVkaW9maXJmaWx0ZXIgZWxlbWVudHMgd2hpY2ggYWxsb3cgZ2VuZXJpYyBJSVIvRklSIGZpbHRlcnMgdG8gYmUgaW1wbGVtZW50ZWQgYnkgcHJvdmlkaW5nIHRoZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L2F1ZGlvZngvTWFrZWZpbGUuYW06CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9maXJmaWx0ZXIuYzogKGdzdF9hdWRpb19maXJfZmlsdGVyX2Jhc2VfaW5pdCksCgkgIChnc3RfYXVkaW9fZmlyX2ZpbHRlcl9jbGFzc19pbml0KSwKCSAgKGdzdF9hdWRpb19maXJfZmlsdGVyX3VwZGF0ZV9rZXJuZWwpLCAoZ3N0X2F1ZGlvX2Zpcl9maWx0ZXJfaW5pdCksCgkgIChnc3RfYXVkaW9fZmlyX2ZpbHRlcl9zZXR1cCksIChnc3RfYXVkaW9fZmlyX2ZpbHRlcl9maW5hbGl6ZSksCgkgIChnc3RfYXVkaW9fZmlyX2ZpbHRlcl9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2F1ZGlvX2Zpcl9maWx0ZXJfZ2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2ZpcmZpbHRlci5oOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvZnguYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2lpcmZpbHRlci5jOiAoZ3N0X2F1ZGlvX2lpcl9maWx0ZXJfYmFzZV9pbml0KSwKCSAgKGdzdF9hdWRpb19paXJfZmlsdGVyX2NsYXNzX2luaXQpLAoJICAoZ3N0X2F1ZGlvX2lpcl9maWx0ZXJfdXBkYXRlX2NvZWZmaWNpZW50cyksCgkgIChnc3RfYXVkaW9faWlyX2ZpbHRlcl9pbml0KSwgKGdzdF9hdWRpb19paXJfZmlsdGVyX3NldHVwKSwKCSAgKGdzdF9hdWRpb19paXJfZmlsdGVyX2ZpbmFsaXplKSwKCSAgKGdzdF9hdWRpb19paXJfZmlsdGVyX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfYXVkaW9faWlyX2ZpbHRlcl9nZXRfcHJvcGVydHkpOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvaWlyZmlsdGVyLmg6CgkgIEFkZCBhdWRpb2lpcmZpbHRlciBhbmQgYXVkaW9maXJmaWx0ZXIgZWxlbWVudHMgd2hpY2ggYWxsb3cKCSAgZ2VuZXJpYyBJSVIvRklSIGZpbHRlcnMgdG8gYmUgaW1wbGVtZW50ZWQgYnkgcHJvdmlkaW5nIHRoZQoJICBmaWx0ZXIgY29lZmZpY2llbnRzLiBGaXhlcyBidWcgIzU2NzU3Ny4KCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuc2lnbmFsczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkgIEFkZCBkb2N1bWVudGF0aW9uIGZvciB0aGUgYXVkaW9paXJmaWx0ZXIgYW5kIGF1ZGlvZmlyZmlsdGVyCgkgIGVsZW1lbnRzLgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvZmlyZmlsdGVyLmM6IChvbl9tZXNzYWdlKSwKCSAgKG9uX3JhdGVfY2hhbmdlZCksIChvbl9oYW5kb2ZmKSwgKEdTVF9TVEFSVF9URVNUKSwKCSAgKGF1ZGlvZmlyZmlsdGVyX3N1aXRlKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2lpcmZpbHRlci5jOiAob25fbWVzc2FnZSksCgkgIChvbl9yYXRlX2NoYW5nZWQpLCAob25faGFuZG9mZiksIChHU1RfU1RBUlRfVEVTVCksCgkgIChhdWRpb2lpcmZpbHRlcl9zdWl0ZSk6CgkgICogdGVzdHMvZXhhbXBsZXMvTWFrZWZpbGUuYW06CgkgICogdGVzdHMvZXhhbXBsZXMvYXVkaW9meC9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9leGFtcGxlcy9hdWRpb2Z4L2ZpcmZpbHRlci1leGFtcGxlLmM6IChvbl9tZXNzYWdlKSwKCSAgKG9uX3JhdGVfY2hhbmdlZCksIChtYWluKToKCSAgKiB0ZXN0cy9leGFtcGxlcy9hdWRpb2Z4L2lpcmZpbHRlci1leGFtcGxlLmM6IChvbl9tZXNzYWdlKSwKCSAgKG9uX3JhdGVfY2hhbmdlZCksIChtYWluKToKCSAgQWRkIHVuaXQgdGVzdHMgYW5kIGV4YW1wbGUgYXBwbGljYXRpb25zIGZvciB0aGUgdHdvIGZpbHRlcgoJICBlbGVtZW50cy4KCjIwMDktMDEtMTMgMTk6MDk6MTkgKzAwMDAgIFRoaWFnbyBTb3VzYSBTYW50b3MgPHRoaWFnb3NzQGVtYmVkZGVkLnVmY2cuZWR1LmJyPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBGaXggZm9ybWF0IHN0cmluZyBmb3IgZ3VpbnQ2NC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBUaGlhZ28gU291c2EgU2FudG9zIDx0aGlhZ29zc0BlbWJlZGRlZC51ZmNnLmVkdS5icj4KCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIEZpeCBmb3JtYXQgc3RyaW5nIGZvciBndWludDY0LgoKMjAwOS0wMS0xMyAxOTowNDowOSArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgc3lzL29zeGF1ZGlvL01ha2VmaWxlLmFtOiBvc3hhdWRpbyBwbHVnaW4gbm93IHJlcXVpcmVzIEF1ZGlvVW5pdCBmcmFtZXdvcmssIHNvIGxpbmsgYWdhaW5zdCB0aGF0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvb3N4YXVkaW8vTWFrZWZpbGUuYW06CgkgIG9zeGF1ZGlvIHBsdWdpbiBub3cgcmVxdWlyZXMgQXVkaW9Vbml0IGZyYW1ld29yaywgc28gbGluayBhZ2FpbnN0IHRoYXQuCgkgIENsZWFuIHVwIHRhYnMgdiBzcGFjZXMgd2hpbGUgSSdtIHRoZXJlLgoKMjAwOS0wMS0xMyAxNzo0OTowNyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIHRlc3RzL2V4YW1wbGVzL3J0cC9zZXJ2ZXItYWxzYXNyYy1QQ01BLmM6IEFkZCBzb21lIGV4YW1wbGUgY29kZSBmb3IgcHJpbnRpbmcgdGhlIFJUUCBtYW5hZ2VyIHN0YXRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9leGFtcGxlcy9ydHAvc2VydmVyLWFsc2FzcmMtUENNQS5jOiAocHJpbnRfc291cmNlX3N0YXRzKSwKCSAgKHByaW50X3N0YXRzKSwgKG1haW4pOgoJICBBZGQgc29tZSBleGFtcGxlIGNvZGUgZm9yIHByaW50aW5nIHRoZSBSVFAgbWFuYWdlciBzdGF0cy4KCjIwMDktMDEtMTMgMDg6MjQ6MjUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9hdWRpb2Z4LzogVXNlIGEgY3VzdG9tIG11dGV4IGZvciBwcm90ZWN0aW5nIHRoZSBpbnN0YW5jZSBmaWVsZHMgaW5zdGVhZCBvZiB0aGUgR3N0T2JqZWN0IGxvY2suIFVzaW5nIHRoZSBsYXR0ZXIgYy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJiYW5kLmM6IChnc3RfYXVkaW9fY2hlYl9iYW5kX2NsYXNzX2luaXQpLAoJICAoZ3N0X2F1ZGlvX2NoZWJfYmFuZF9pbml0KSwgKGdzdF9hdWRpb19jaGViX2JhbmRfZmluYWxpemUpLAoJICAoZ3N0X2F1ZGlvX2NoZWJfYmFuZF9zZXRfcHJvcGVydHkpOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYmJhbmQuaDoKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJsaW1pdC5jOiAoZ3N0X2F1ZGlvX2NoZWJfbGltaXRfY2xhc3NfaW5pdCksCgkgIChnc3RfYXVkaW9fY2hlYl9saW1pdF9pbml0KSwgKGdzdF9hdWRpb19jaGViX2xpbWl0X2ZpbmFsaXplKSwKCSAgKGdzdF9hdWRpb19jaGViX2xpbWl0X3NldF9wcm9wZXJ0eSk6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9jaGVibGltaXQuaDoKCSAgKiBnc3QvYXVkaW9meC9hdWRpb3dzaW5jYmFuZC5jOiAoZ3N0X2F1ZGlvX3dzaW5jYmFuZF9jbGFzc19pbml0KSwKCSAgKGdzdF9hdWRpb193c2luY2JhbmRfaW5pdCksIChnc3RfYXVkaW9fd3NpbmNiYW5kX2ZpbmFsaXplKSwKCSAgKGdzdF9hdWRpb193c2luY2JhbmRfc2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvYXVkaW9meC9hdWRpb3dzaW5jYmFuZC5oOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvd3NpbmNsaW1pdC5jOiAoZ3N0X2F1ZGlvX3dzaW5jbGltaXRfY2xhc3NfaW5pdCksCgkgIChnc3RfYXVkaW9fd3NpbmNsaW1pdF9pbml0KSwgKGdzdF9hdWRpb193c2luY2xpbWl0X2ZpbmFsaXplKSwKCSAgKGdzdF9hdWRpb193c2luY2xpbWl0X3NldF9wcm9wZXJ0eSk6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW93c2luY2xpbWl0Lmg6CgkgIFVzZSBhIGN1c3RvbSBtdXRleCBmb3IgcHJvdGVjdGluZyB0aGUgaW5zdGFuY2UgZmllbGRzIGluc3RlYWQgb2YKCSAgdGhlIEdzdE9iamVjdCBsb2NrLiBVc2luZyB0aGUgbGF0dGVyIGNhbiBsZWFkIHRvIGRlYWRsb2NrcywgZXNwZWNpYWxseQoJICB3aXRoIHRoZSBGSVIgZmlsdGVycyB3aGVuIHVwZGF0aW5nIHRoZSBsYXRlbmN5LgoKMjAwOS0wMS0xMSAxOTowMzozOCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2F1ZGlvZngvOiBJbXBsZW1lbnQgYSBiYXNlIGNsYXNzIGZvciBnZW5lcmljIGF1ZGlvIEZJUiBmaWx0ZXJzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXVkaW9meC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWZpcmZpbHRlci5jOgoJICAoZ3N0X2F1ZGlvX2Z4X2Jhc2VfZmlyX2ZpbHRlcl9kaXNwb3NlKSwKCSAgKGdzdF9hdWRpb19meF9iYXNlX2Zpcl9maWx0ZXJfYmFzZV9pbml0KSwKCSAgKGdzdF9hdWRpb19meF9iYXNlX2Zpcl9maWx0ZXJfY2xhc3NfaW5pdCksCgkgIChnc3RfYXVkaW9fZnhfYmFzZV9maXJfZmlsdGVyX2luaXQpLAoJICAoZ3N0X2F1ZGlvX2Z4X2Jhc2VfZmlyX2ZpbHRlcl9wdXNoX3Jlc2lkdWUpLAoJICAoZ3N0X2F1ZGlvX2Z4X2Jhc2VfZmlyX2ZpbHRlcl9zZXR1cCksCgkgIChnc3RfYXVkaW9fZnhfYmFzZV9maXJfZmlsdGVyX3RyYW5zZm9ybSksCgkgIChnc3RfYXVkaW9fZnhfYmFzZV9maXJfZmlsdGVyX3N0YXJ0KSwKCSAgKGdzdF9hdWRpb19meF9iYXNlX2Zpcl9maWx0ZXJfc3RvcCksCgkgIChnc3RfYXVkaW9fZnhfYmFzZV9maXJfZmlsdGVyX3F1ZXJ5KSwKCSAgKGdzdF9hdWRpb19meF9iYXNlX2Zpcl9maWx0ZXJfcXVlcnlfdHlwZSksCgkgIChnc3RfYXVkaW9fZnhfYmFzZV9maXJfZmlsdGVyX2V2ZW50KSwKCSAgKGdzdF9hdWRpb19meF9iYXNlX2Zpcl9maWx0ZXJfc2V0X2tlcm5lbCk6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9meGJhc2VmaXJmaWx0ZXIuaDoKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWlpcmZpbHRlci5jOgoJICBJbXBsZW1lbnQgYSBiYXNlIGNsYXNzIGZvciBnZW5lcmljIGF1ZGlvIEZJUiBmaWx0ZXJzLgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvd3NpbmNiYW5kLmM6CgkgIChnc3RfZ3N0X2F1ZGlvX3dzaW5jYmFuZF9tb2RlX2dldF90eXBlKSwKCSAgKGdzdF9nc3RfYXVkaW9fd3NpbmNiYW5kX3dpbmRvd19nZXRfdHlwZSksCgkgIChnc3RfYXVkaW9fd3NpbmNiYW5kX2Jhc2VfaW5pdCksIChnc3RfYXVkaW9fd3NpbmNiYW5kX2NsYXNzX2luaXQpLAoJICAoZ3N0X2F1ZGlvX3dzaW5jYmFuZF9pbml0KSwgKGdzdF9hdWRpb193c2luY2JhbmRfYnVpbGRfa2VybmVsKSwKCSAgKGdzdF9hdWRpb193c2luY2JhbmRfc2V0dXApLCAoZ3N0X2F1ZGlvX3dzaW5jYmFuZF9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2F1ZGlvX3dzaW5jYmFuZF9nZXRfcHJvcGVydHkpOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvd3NpbmNiYW5kLmg6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW93c2luY2xpbWl0LmM6CgkgIChnc3RfYXVkaW9fd3NpbmNsaW1pdF9tb2RlX2dldF90eXBlKSwKCSAgKGdzdF9hdWRpb193c2luY2xpbWl0X3dpbmRvd19nZXRfdHlwZSksCgkgIChnc3RfYXVkaW9fd3NpbmNsaW1pdF9iYXNlX2luaXQpLAoJICAoZ3N0X2F1ZGlvX3dzaW5jbGltaXRfY2xhc3NfaW5pdCksIChnc3RfYXVkaW9fd3NpbmNsaW1pdF9pbml0KSwKCSAgKGdzdF9hdWRpb193c2luY2xpbWl0X2J1aWxkX2tlcm5lbCksIChnc3RfYXVkaW9fd3NpbmNsaW1pdF9zZXR1cCksCgkgIChnc3RfYXVkaW9fd3NpbmNsaW1pdF9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2F1ZGlvX3dzaW5jbGltaXRfZ2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvYXVkaW9meC9hdWRpb3dzaW5jbGltaXQuaDoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3dzaW5jYmFuZC5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvd3NpbmNsaW1pdC5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICBVc2UgdGhpcyBuZXcgYmFzZSBjbGFzcyBmb3IgYXVkaW93c2luY2JhbmQgYW5kIGF1ZGlvd3NpbmNsaW1pdC4KCSAgQWxzbyBjbGVhbnVwIGJvdGggZWxlbWVudHMuCgoyMDA5LTAxLTA4IDE4OjE3OjEzICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEluIHB1c2ggbW9kZSwgZXJyb3Igb3V0IGlmIHdlIGdldCBFT1MgYmVmb3JlIHdlJ3ZlIGNyZWF0ZWQgYW55IHNyY3BhZHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgSW4gcHVzaCBtb2RlLCBlcnJvciBvdXQgaWYgd2UgZ2V0IEVPUyBiZWZvcmUgd2UndmUgY3JlYXRlZCBhbnkgc3JjcGFkcy4KCSAgSGFuZGxlIChpbiBwdWxsIG1vZGUpIHNvbWUgZmlsZXMgdGhhdCBoYXZlIGEgdHJ1bmNhdGVkIG1vb3YgYXRvbSB3aGVyZQoJICB0aGUgZmluYWwgc3ViLWF0b20gaXMgYSAnZnJlZScgYXRvbSBhbmQgdGhlIGNvbnRlbnRzIG9mIHRoYXQgYXJlIG5vdAoJICBwcmVzZW50IGluIHRoZSBmaWxlLgoKMjAwOS0wMS0wOCAxNTo1Njo0NiArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJICBnc3QvbWF0cm9za2EvOiBTb21lIGNsZWFudXBzLCByZWZhY3RvcmluZyBhbmQgbWlub3IgZW5oYW5jZW1lbnRzIGluIGNhcHMgaGFuZGxpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiAoZ3N0X21hdHJvc2thX2RlbXV4X3ZpZGVvX2NhcHMpOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzogKGdzdF9tYXRyb3NrYV9tdXhfdmlkZW9fcGFkX3NldGNhcHMpOgoJICBTb21lIGNsZWFudXBzLCByZWZhY3RvcmluZyBhbmQgbWlub3IgZW5oYW5jZW1lbnRzIGluIGNhcHMgaGFuZGxpbmcuCgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOiAoZ3N0X21hdHJvc2thX211eF9jbGFzc19pbml0KSwKCSAgKGdzdF9tYXRyb3NrYV9tdXhfaW5pdCksIChnc3RfbWF0cm9za2FfcGFkX3Jlc2V0KSwKCSAgKGdzdF9tYXRyb3NrYV9wYWRfZnJlZSksIChnc3RfbWF0cm9za2FfbXV4X3Jlc2V0KSwKCSAgKGdzdF9tYXRyb3NrYV9tdXhfdmlkZW9fcGFkX3NldGNhcHMpLAoJICAoZ3N0X21hdHJvc2thX211eF9yZXF1ZXN0X25ld19wYWQpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21hdHJvc2thbXV4LmM6ICh0ZWFyZG93bl9zcmNfcGFkKToKCSAgT25seSByZW1vdmUsIHJlbGVhc2Ugb3IgcmVzZXQgd2hhdCBpcyBhcHByb3ByaWF0ZSB1cG9uIHN0YXRlIGNoYW5nZS4KCjIwMDktMDEtMDcgMjA6Mzg6NTAgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZXh0L3B1bHNlL3B1bHNlc2luay4qOiBVc2UgYSBtdXRleCB0byBwcm90ZWN0IHRoZSBjdXJyZW50IHN0cmVhbSBwb2ludGVyLCBhbmQgaWdub3JlIGNhbGxiYWNrcyBmb3Igc3RyZWFtIG9iamVjdHMgdGhhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgKiBleHQvcHVsc2UvcHVsc2VzaW5rLmg6CgkgIFVzZSBhIG11dGV4IHRvIHByb3RlY3QgdGhlIGN1cnJlbnQgc3RyZWFtIHBvaW50ZXIsIGFuZCBpZ25vcmUKCSAgY2FsbGJhY2tzIGZvciBzdHJlYW0gb2JqZWN0cyB0aGF0IGhhdmUgYmVlbiBkZXN0cm95ZWQgYWxyZWFkeS4KCSAgRml4ZXMgcHJvYmxlbXMgd2l0aCB1bnByZXBhcmUvcHJlcGFyZSBjeWNsZXMgY2F1c2VkIGJ5IHRoZSBpbnB1dAoJICBjYXBzIGNoYW5naW5nLCB3aXRob3V0IHJlaW50cm9kdWNpbmcgYnVnICM1NTY5ODYuCgoyMDA5LTAxLTA3IDE2OjA5OjQ3ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIHN5cy92NGwyL2dzdHY0bDJzcmMuYzogUmVtb3ZlICgpIGZyb20gdHJhbnNsYXRlYWJsZSBzdHJpbmcsIHNvIHRoYXQgaXQgbWFrZXMgbW9yZSBzZW5zZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICBSZW1vdmUgKCkgZnJvbSB0cmFuc2xhdGVhYmxlIHN0cmluZywgc28gdGhhdCBpdCBtYWtlcyBtb3JlIHNlbnNlLgoKMjAwOS0wMS0wNyAwOTo0MzoxMyArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJICBnc3QvYXZpL2dzdGF2aW11eC5jOiBNaW5vciBmaXgvY2xlYW51cCBpbiBoZWFkZXIgZmllbGQgY2FsY3VsYXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6IChnc3RfYXZpX211eF9hdWRzaW5rX3NldF9jYXBzKToKCSAgTWlub3IgZml4L2NsZWFudXAgaW4gaGVhZGVyIGZpZWxkIGNhbGN1bGF0aW9uLgoKMjAwOS0wMS0wNiAxNzo0ODoxMCArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4Lio6IFJlbW92ZSBpbnRlcm5hbCB0YWdsaXN0IGFuZCBmdWxseSB1c2UgdGFnc2V0dGVyIGludGVyZmFjZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOiAoZ3N0X21hdHJvc2thX211eF9yZXNldCksCgkgIChnc3RfbWF0cm9za2FfbXV4X2hhbmRsZV9zaW5rX2V2ZW50KSwgKGdzdF9tYXRyb3NrYV9tdXhfZmluaXNoKToKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4Lmg6CgkgIFJlbW92ZSBpbnRlcm5hbCB0YWdsaXN0IGFuZCBmdWxseSB1c2UgdGFnc2V0dGVyIGludGVyZmFjZS4KCjIwMDktMDEtMDYgMTQ6NTA6MjkgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSAgZ3N0L2F2aS9nc3RhdmltdXguKjogRW5zdXJlIGhlYWRlciBzaXplIGludmFyaWFuY2UgZHVyaW5nIHN1YnNlcXVlbnQgcmV3cml0ZSBieSB1c2luZyB0YWdzIHNuYXBzaG90LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aW11eC5jOiAoZ3N0X2F2aV9tdXhfcmVzZXQpLAoJICAoZ3N0X2F2aV9tdXhfcmlmZl9nZXRfYXZpX2hlYWRlcik6CgkgICogZ3N0L2F2aS9nc3RhdmltdXguaDoKCSAgRW5zdXJlIGhlYWRlciBzaXplIGludmFyaWFuY2UgZHVyaW5nIHN1YnNlcXVlbnQgcmV3cml0ZSBieSB1c2luZwoJICB0YWdzIHNuYXBzaG90LgoKMjAwOS0wMS0wNSAxNzozMToxMyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3B1bHNlL3B1bHNlc2luay5jOiBEb24ndCB3YWl0IGZvciB0aGUgcHVsc2UgbWFpbmxvb3Agd2hlbiBkZXN0cm95aW5nIHRoZSBzdHJlYW0uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzogKGdzdF9wdWxzZXNpbmtfZGVzdHJveV9zdHJlYW0pOgoJICBEb24ndCB3YWl0IGZvciB0aGUgcHVsc2UgbWFpbmxvb3Agd2hlbiBkZXN0cm95aW5nIHRoZSBzdHJlYW0uCgkgIEZpeGVzIGEgZGVhZGxvY2sgd2hlbiB0aGUgcHVsc2VkYWVtb24gZ29lcyBhd2F5IHdoaWxlIHB1bHNlc2luawoJICBpcyBQTEFZSU5HLiBGaXhlcyBidWcgIzU1Njk4Ni4KCjIwMDktMDEtMDUgMTI6MzA6NDAgKzAwMDAgIFNhc2NoYSBIYXVlciA8cy5oYXVlckBwZW5ndXRyb25peC5kZT4KCgkgIHN5cy92NGwyL2dzdHY0bDJzcmMuYzogQWRkIHN1cHBvcnQgZm9yIGdyYXlzY2FsZSB2NGwyIGRldmljZXMuIEZpeGVzIGJ1ZyAjNTY2NjE2LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFNhc2NoYSBIYXVlciA8cyBkb3QgaGF1ZXIgYXQgcGVuZ3V0cm9uaXggZG90IGRlPgoJICBMdW90YW8gRnUgPGwgZG90IGZ1IGF0IHBlbmd1dHJvbml4IGRvdCBkZT4KCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6IChnc3RfdjRsMnNyY192NGwyZm91cmNjX3RvX3N0cnVjdHVyZSksCgkgIChnc3RfdjRsMl9nZXRfY2Fwc19pbmZvKToKCSAgQWRkIHN1cHBvcnQgZm9yIGdyYXlzY2FsZSB2NGwyIGRldmljZXMuIEZpeGVzIGJ1ZyAjNTY2NjE2LgoKMjAwOS0wMS0wNSAxMTo0MjowOSArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJICBnc3QvcXRkZW11eC86IFN0cmVhbWxpbmUgdGFnIGhhbmRsaW5nIGFuZCBwYXNzIHVucGFyc2VkIHRhZ3MgYXMgYmluYXJ5IGJsb2IgaW4gcHJpdmF0ZSB0YWcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfdGFnX2FkZF9zdHIpLAoJICAocXRkZW11eF90YWdfYWRkX3RtcG8pLCAocXRkZW11eF90YWdfYWRkX2NvdnIpLAoJICAocXRkZW11eF90YWdfYWRkX2RhdGUpLCAocXRkZW11eF90YWdfYWRkX2ducmUpLAoJICAocXRkZW11eF90YWdfYWRkX2Jsb2IpLCAocXRkZW11eF9wYXJzZV91ZHRhKToKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4Lmg6CgkgICogZ3N0L3F0ZGVtdXgvcXVpY2t0aW1lLmM6IChwbHVnaW5faW5pdCk6CgkgIFN0cmVhbWxpbmUgdGFnIGhhbmRsaW5nIGFuZCBwYXNzIHVucGFyc2VkIHRhZ3MgYXMgYmluYXJ5IGJsb2IKCSAgaW4gcHJpdmF0ZSB0YWcuCgoyMDA5LTAxLTA1IDEwOjEzOjI5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvYXVkaW9meC86IEltcGxlbWVudCBhIGJhc2UgY2xhc3MgZm9yIElJUiBmaWx0ZXJzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXVkaW9meC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWlpcmZpbHRlci5jOgoJICAoZ3N0X2F1ZGlvX2Z4X2Jhc2VfaWlyX2ZpbHRlcl9iYXNlX2luaXQpLAoJICAoZ3N0X2F1ZGlvX2Z4X2Jhc2VfaWlyX2ZpbHRlcl9kaXNwb3NlKSwKCSAgKGdzdF9hdWRpb19meF9iYXNlX2lpcl9maWx0ZXJfY2xhc3NfaW5pdCksCgkgIChnc3RfYXVkaW9fZnhfYmFzZV9paXJfZmlsdGVyX2luaXQpLAoJICAoZ3N0X2F1ZGlvX2Z4X2Jhc2VfaWlyX2ZpbHRlcl9jYWxjdWxhdGVfZ2FpbiksCgkgIChnc3RfYXVkaW9fZnhfYmFzZV9paXJfZmlsdGVyX3NldF9jb2VmZmljaWVudHMpLAoJICAoZ3N0X2F1ZGlvX2Z4X2Jhc2VfaWlyX2ZpbHRlcl9zZXR1cCksIChwcm9jZXNzKSwKCSAgKGdzdF9hdWRpb19meF9iYXNlX2lpcl9maWx0ZXJfdHJhbnNmb3JtX2lwKSwKCSAgKGdzdF9hdWRpb19meF9iYXNlX2lpcl9maWx0ZXJfc3RvcCk6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9meGJhc2VpaXJmaWx0ZXIuaDoKCSAgSW1wbGVtZW50IGEgYmFzZSBjbGFzcyBmb3IgSUlSIGZpbHRlcnMuCgkgICogZ3N0L2F1ZGlvZngvYXVkaW9jaGViYmFuZC5jOiAoZ3N0X2F1ZGlvX2NoZWJfYmFuZF9iYXNlX2luaXQpLAoJICAoZ3N0X2F1ZGlvX2NoZWJfYmFuZF9jbGFzc19pbml0KSwgKGdzdF9hdWRpb19jaGViX2JhbmRfaW5pdCksCgkgIChnZW5lcmF0ZV9jb2VmZmljaWVudHMpLCAoZ3N0X2F1ZGlvX2NoZWJfYmFuZF9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2F1ZGlvX2NoZWJfYmFuZF9zZXR1cCk6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9jaGViYmFuZC5oOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYmxpbWl0LmM6IChnc3RfYXVkaW9fY2hlYl9saW1pdF9iYXNlX2luaXQpLAoJICAoZ3N0X2F1ZGlvX2NoZWJfbGltaXRfY2xhc3NfaW5pdCksIChnc3RfYXVkaW9fY2hlYl9saW1pdF9pbml0KSwKCSAgKGdlbmVyYXRlX2NvZWZmaWNpZW50cyksIChnc3RfYXVkaW9fY2hlYl9saW1pdF9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2F1ZGlvX2NoZWJfbGltaXRfc2V0dXApOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYmxpbWl0Lmg6CgkgIFVzZSB0aGUgSUlSIGZpbHRlciBiYXNlIGNsYXNzIGZvciB0aGUgY2hlYnlzaGV2IGZpbHRlcnMuCgoyMDA5LTAxLTAyIDIwOjM5OjM0ICswMDAwICBKdXN0aW4gS2FybmVnYXMgPGp1c3RpbkBhZmZpbml4LmNvbT4KCgkgIHN5cy9vc3hhdWRpby86IFJld3JpdGUgb3N4YXVkaW8gdG8gd29yayBtb3JlIGZsZXhpYmx5IGFuZCBtb3JlIHJlbGlhYmx5LCB1c2luZyBhIGRpZmZlcmVudCBhYnN0cmFjdGlvbiBsYXllciBvZiBjb3JlYS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEp1c3RpbiBLYXJuZWdhcyA8anVzdGluQGFmZmluaXguY29tPiBhbmQKCSAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgkgICogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvLmM6CgkgICogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvZWxlbWVudC5jOgoJICAqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb2VsZW1lbnQuaDoKCSAgKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zaW5rLmM6CgkgICogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5oOgoJICAqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NyYy5jOgoJICAqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NyYy5oOgoJICAqIHN5cy9vc3hhdWRpby9nc3Rvc3hyaW5nYnVmZmVyLmM6CgkgICogc3lzL29zeGF1ZGlvL2dzdG9zeHJpbmdidWZmZXIuaDoKCSAgUmV3cml0ZSBvc3hhdWRpbyB0byB3b3JrIG1vcmUgZmxleGlibHkgYW5kIG1vcmUgcmVsaWFibHksIHVzaW5nIGEKCSAgZGlmZmVyZW50IGFic3RyYWN0aW9uIGxheWVyIG9mIGNvcmVhdWRpbyB0aGF0IGlzIHRoZSByZWNvbW1lbmRlZCB3YXkgb2YKCSAgZG9pbmcgbG93LWxldmVsIGF1ZGlvIEkvTyBvbiBPU1guCgkgIEZpeGVzIGJ5ZyAjNTY0OTQ4LgoKMjAwOS0wMS0wMiAxNjozMToxMyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIHRlc3RzL2V4YW1wbGVzL3J0cC9zZXJ2ZXItZGVjb2RlYmluLUgyNjNwLUFNUi5zaDogQWRkIGV4YW1wbGUgUlRQIHRyYW5zY29kaW5nIHBpcGVsaW5lIGZyb20gYW55IGZpbGUgZGVjb2RlZGFibGUgd2l0aC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9leGFtcGxlcy9ydHAvc2VydmVyLWRlY29kZWJpbi1IMjYzcC1BTVIuc2g6CgkgIEFkZCBleGFtcGxlIFJUUCB0cmFuc2NvZGluZyBwaXBlbGluZSBmcm9tIGFueSBmaWxlIGRlY29kZWRhYmxlIHdpdGgKCSAgdXJpZGVjb2RlYmluLgoKMjAwOS0wMS0wMiAxNToyMDo0OCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIHRlc3RzL2V4YW1wbGVzL3J0cC86IEFkZCB0d28gQyBleGFtcGxlcyBvZiB1c2luZyBnc3RydHBiaW4gYXMgYSBzZW5kZXIgYW5kIGEgcmVjZWl2ZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2V4YW1wbGVzL3J0cC8uY3ZzaWdub3JlOgoJICAqIHRlc3RzL2V4YW1wbGVzL3J0cC9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9leGFtcGxlcy9ydHAvY2xpZW50LVBDTUEuYzogKHBhZF9hZGRlZF9jYiksIChtYWluKToKCSAgKiB0ZXN0cy9leGFtcGxlcy9ydHAvc2VydmVyLWFsc2FzcmMtUENNQS5jOiAobWFpbik6CgkgIEFkZCB0d28gQyBleGFtcGxlcyBvZiB1c2luZyBnc3RydHBiaW4gYXMgYSBzZW5kZXIgYW5kIGEgcmVjZWl2ZXIuCgoyMDA4LTEyLTMxIDExOjIwOjU1ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIENoYW5nZUxvZzogUmVtb3ZlIGNvbmZsaWN0IG1hcmtlciBmcm9tIENoYW5nZUxvZwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBDaGFuZ2VMb2c6CgkgIFJlbW92ZSBjb25mbGljdCBtYXJrZXIgZnJvbSBDaGFuZ2VMb2cKCjIwMDgtMTItMjggMDk6NTA6MzEgKzAwMDAgIGpeIDxqQG9pbDIxLm9yZz4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogQWRkIGNvZGVjIG1hcHBpbmcgZm9yIHh2aWQsIGZtcDQgYW5kIGFjMyB0cmFja3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogal4gPGogYXQgb2lsMjEub3JnPgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfdmlkZW9fY2FwcyksCgkgIChxdGRlbXV4X2F1ZGlvX2NhcHMpOgoJICBBZGQgY29kZWMgbWFwcGluZyBmb3IgeHZpZCwgZm1wNCBhbmQgYWMzIHRyYWNrcy4KCSAgRml4ZXMgIzU2NTg1MAoKMjAwOC0xMi0yMyAxMjoxMDo0MSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9qcGVnL2dzdHNtb2tlZW5jLio6IEltcGxlbWVudCBnZXRjYXBzIGZ1bmN0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvanBlZy9nc3RzbW9rZWVuYy5jOiAoZ3N0X3Ntb2tlZW5jX2luaXQpLAoJICAoZ3N0X3Ntb2tlZW5jX2dldGNhcHMpLCAoZ3N0X3Ntb2tlZW5jX3NldGNhcHMpLAoJICAoZ3N0X3Ntb2tlZW5jX2NoYWluKSwgKGdzdF9zbW9rZWVuY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9qcGVnL2dzdHNtb2tlZW5jLmg6CgkgIEltcGxlbWVudCBnZXRjYXBzIGZ1bmN0aW9uLgoJICBTZXQgY2FwcyBvbiB0aGUgcGFkIGFuZCBvbiBhbGwgb3V0Z29pbmcgYnVmZmVycy4KCSAgRml4ZXMgIzU2NTQ0MS4KCjIwMDgtMTItMTkgMDk6MzY6NDUgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGV4dC9wdWxzZS9wdWxzZW1peGVyY3RybC5jOiBBbmQgcmVtb3ZlIHRlbXBvcmFyeSBjb21tZW50IHBvaW50aW5nIHRvIHRoZSBidWcgdGlja2V0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvcHVsc2UvcHVsc2VtaXhlcmN0cmwuYzoKCSAgQW5kIHJlbW92ZSB0ZW1wb3JhcnkgY29tbWVudCBwb2ludGluZyB0byB0aGUgYnVnIHRpY2tldC4KCSAgKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJICBNb3ZlIHJlb2NjdXJpbmcgbG9nZ2luZyB0byBMT0cgYW5kIGxvZyBpbnN0YW5jZSB0b28uCgoyMDA4LTEyLTE3IDE3OjI4OjM5ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBleHQvcHVsc2UvcHVsc2VtaXhlcmN0cmwuYzogRG9uJ3QgbGVhayB0aGUgcGFfb3BlcmF0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvcHVsc2UvcHVsc2VtaXhlcmN0cmwuYzoKCSAgRG9uJ3QgbGVhayB0aGUgcGFfb3BlcmF0aW9uLgoKMjAwOC0xMi0xNiAxNjoxOToyNiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgY29uZmlndXJlLmFjOiBSZXF1aXJlIGNvcmUgY3ZzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIFJlcXVpcmUgY29yZSBjdnMuCgoyMDA4LTEyLTE2IDE2OjA3OjQ4ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvYXZpL2dzdGF2aW11eC5jOiBSZW5hbWUgYXBpIGZyb20gX2ZsdXNoIHRvIF9yZXNldF90YWdzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJICBSZW5hbWUgYXBpIGZyb20gX2ZsdXNoIHRvIF9yZXNldF90YWdzLgoKMjAwOC0xMi0xNiAxNDoyMjo1MSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2F2aS9nc3RhdmltdXguYzogVXNlIG5ldyB0YWdzZXR0ZXIgYXBpIHRvIGZsdXNoIHRhZ3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkgIFVzZSBuZXcgdGFnc2V0dGVyIGFwaSB0byBmbHVzaCB0YWdzLgoKMjAwOC0xMi0xNiAxMzoxNDozOSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvZGVpbnRlcmxlYXZlLmM6IEluY3JlYXNlIHRpbWVvdXQgdG8gMyBtaW51dGVzIHRvIHByZXZlbnQgdGltZW91dHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2RlaW50ZXJsZWF2ZS5jOiAoZGVpbnRlcmxlYXZlX3N1aXRlKToKCSAgSW5jcmVhc2UgdGltZW91dCB0byAzIG1pbnV0ZXMgdG8gcHJldmVudCB0aW1lb3V0cy4KCjIwMDgtMTItMTYgMTI6NTI6MjQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ludGVybGVhdmUuYzogSW5jcmVhc2UgdGltZW91dCB0byAzIG1pbnV0ZXMgdG8gcHJldmVudCB0aW1lb3V0cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvaW50ZXJsZWF2ZS5jOiAoaW50ZXJsZWF2ZV9zdWl0ZSk6CgkgIEluY3JlYXNlIHRpbWVvdXQgdG8gMyBtaW51dGVzIHRvIHByZXZlbnQgdGltZW91dHMuCgoyMDA4LTEyLTE2IDExOjU3OjAxICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvYXZpL2dzdGF2aW11eC4qOiBUb3RhbGx5IHJlbW92ZSB0aGUgaW50ZXJuYWwgdGFnbGlzdHMgYW5kIGZ1bGx5IHVzZSB0YWdzZXR0ZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkgICogZ3N0L2F2aS9nc3RhdmltdXguaDoKCSAgVG90YWxseSByZW1vdmUgdGhlIGludGVybmFsIHRhZ2xpc3RzIGFuZCBmdWxseSB1c2UgdGFnc2V0dGVyLgoKMjAwOC0xMi0xNSAxNTo1OTo1MyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2F2aS9nc3RhdmltdXguYzogSW5zdGVhZCBvZiBmaWx0ZXJpbmcgd3JvbmdseSBqdXN0IHVzZSB0aGUgbWVyZ2Vtb2RlLiBBcHBsaWNhdGlvbnMgaXMgdXNlIEtFRVBfQUxMIGlmIHRoZXkgd2FudCB0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkgIEluc3RlYWQgb2YgZmlsdGVyaW5nIHdyb25nbHkganVzdCB1c2UgdGhlIG1lcmdlbW9kZS4gQXBwbGljYXRpb25zIGlzCgkgIHVzZSBLRUVQX0FMTCBpZiB0aGV5IHdhbnQgdG8gc3VwcmVzcyB0YWctZXZlbnRzLiBGaXhlcyAjNTYzMjIxIGZvcgoJICBhdmkgZm9yIHJlYWwgKEkgaG9wZSkuIEV2ZXJ5b25lIGNoaW1lIGluLCBiZWZvcmUgSSBmaXggdGhlIG90aGVycy4KCjIwMDgtMTItMTUgMTI6NDU6MzUgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGV4dC9wdWxzZS9wdWxzZW1peGVyY3RybC5jOiBBZGQgbm90ZSBhYm91dCBtZW1sZWFrLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvcHVsc2UvcHVsc2VtaXhlcmN0cmwuYzoKCSAgQWRkIG5vdGUgYWJvdXQgbWVtbGVhay4KCjIwMDgtMTItMTMgMTY6MjM6MDkgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBtNC9NYWtlZmlsZS5hbTogQSBjb3VwbGUgbW9yZSAubTQgdGhhdCBhcmVuJ3Qgc2hpcHBlZCBhbnltb3JlIHdpdGggZ2V0dGV4dCAwLjE3LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBtNC9NYWtlZmlsZS5hbToKCSAgQSBjb3VwbGUgbW9yZSAubTQgdGhhdCBhcmVuJ3Qgc2hpcHBlZCBhbnltb3JlIHdpdGggZ2V0dGV4dCAwLjE3LgoKMjAwOC0xMi0xMyAxNTozNDowMSArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIFN3aXRjaCB0byB1c2luZyBHc3RTdGF0aWNQYWRUZW1wbGF0ZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOiAoZ3N0X2ZsYWNfZGVjX2Jhc2VfaW5pdCksCgkgIChnc3RfZmxhY19kZWNfaW5pdCk6CgkgICogZ3N0L2xhdy9hbGF3LWRlY29kZS5jOiAoZ3N0X2FsYXdfZGVjX2Jhc2VfaW5pdCksCgkgIChnc3RfYWxhd19kZWNfaW5pdCk6CgkgICogZ3N0L2xhdy9hbGF3LWVuY29kZS5jOiAoZ3N0X2FsYXdfZW5jX2Jhc2VfaW5pdCksCgkgIChnc3RfYWxhd19lbmNfaW5pdCk6CgkgICogZ3N0L2xhdy9hbGF3LmM6IChwbHVnaW5faW5pdCk6CgkgICogZ3N0L2xhdy9tdWxhdy1kZWNvZGUuYzogKGdzdF9tdWxhd2RlY19iYXNlX2luaXQpLAoJICAoZ3N0X211bGF3ZGVjX2luaXQpOgoJICAqIGdzdC9sYXcvbXVsYXctZW5jb2RlLmM6IChnc3RfbXVsYXdlbmNfYmFzZV9pbml0KSwKCSAgKGdzdF9tdWxhd2VuY19pbml0KToKCSAgKiBnc3QvbGF3L211bGF3LmM6IChwbHVnaW5faW5pdCk6CgkgIFN3aXRjaCB0byB1c2luZyBHc3RTdGF0aWNQYWRUZW1wbGF0ZS4KCSAgKiBnc3QvdWRwL2dzdHVkcG5ldHV0aWxzLmM6IChnc3RfdWRwX2dldF9hZGRyKToKCSAgRG9uJ3QgZm9yZ2V0IHRvIGZyZWUgdGhlIGFkZHJpbmZvIHN0cnVjdHVyZS4KCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogKGdzdF93YXZwYXJzZV9yZXNldCksCgkgIChnc3Rfd2F2cGFyc2Vfc2lua19hY3RpdmF0ZSk6CgkgIERvbid0IGZvcmdldCB0byB1bnJlZiB0aGUgR3N0QWRhcHRlci4KCjIwMDgtMTItMTMgMTI6NTg6MjQgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBtNC9NYWtlZmlsZS5hbTogaW50dHlwZXMubTQgaGFzbid0IGJlZW4gYXZhaWxhYmxlIHNpbmNlIGdldHRleHQtMC4xNSwgYW5kIHNpbmNlIHdlIG5vdyByZXF1aXJlIGdldHRleHQgPj0gMC4xNyAuLi4gd2UuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogbTQvTWFrZWZpbGUuYW06CgkgIGludHR5cGVzLm00IGhhc24ndCBiZWVuIGF2YWlsYWJsZSBzaW5jZSBnZXR0ZXh0LTAuMTUsIGFuZCBzaW5jZSB3ZSBub3cKCSAgcmVxdWlyZSBnZXR0ZXh0ID49IDAuMTcgLi4uIHdlIGNhbiByZW1vdmUgaXQgZnJvbSB0aGUgbGlzdCBvZiBmaWxlcyB0bwoJICBkaXN0LgoKMjAwOC0xMi0xMCAxNTowMzoyMyArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZ3N0LXBsdWdpbnMtZ29vZC5zcGVjLmluOgoJICBzbWFsbGVyIHNwZWMgZmlsZSB1cGRhdGVzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBzbWFsbGVyIHNwZWMgZmlsZSB1cGRhdGVzCgoyMDA4LTEyLTA5IDE3OjU1OjIyICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IE1vcmUgbG9nZ2luZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBNb3JlIGxvZ2dpbmcuCgkgICogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSAgSGFuZGxlIG1vcmUgbWV0YWRhdGEgZmllbGRzLiBCZXR0ZXIgZXN0aW1hdGUgb2YgbWV0YWRhdGEgc2l6ZS4gRG9uJ3QKCSAgbWVyZ2UgcmVjZWl2ZWQgdGFncywgaWYgYXBwbGljYXRpb24gaGFzIHNwZWNpZmllZCB0YWdzIHVzaW5nCgkgIEdTVF9UQUdfTUVSR0VfUkVQTEFDRV9BTEwuIEZpeGVzICM1NjMyMjEgZm9yIGF2aS4KCjIwMDgtMTItMDkgMTQ6MzA6MDMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOiBBbHNvIGlnbm9yZSBwdWxzZW1peGVyIGZvciB0aGUgc3RhdGVzIHVuaXQgdGVzdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIEFsc28gaWdub3JlIHB1bHNlbWl4ZXIgZm9yIHRoZSBzdGF0ZXMgdW5pdCB0ZXN0LgoKMjAwOC0xMi0wOSAxNDoxOToxNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvZ3N0cnRwanBlZ2RlcGF5LmM6IEFkZCBhbiBFT0kgbWFya2VyIGF0IHRoZSBlbmQgb2YgdGhlIGpwZWcgZnJhbWUgd2hlbiBpdCdzIG1pc3NpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwanBlZ2RlcGF5LmM6IChnc3RfcnRwX2pwZWdfZGVwYXlfcHJvY2Vzcyk6CgkgIEFkZCBhbiBFT0kgbWFya2VyIGF0IHRoZSBlbmQgb2YgdGhlIGpwZWcgZnJhbWUgd2hlbiBpdCdzIG1pc3NpbmcuCgkgIEZpeGVzICM1NjMwNTYuCgoyMDA4LTEyLTA5IDEwOjQ3OjE0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb2Nyb3AuYzogVXBkYXRlIHRoZSB1bml0IHRlc3QgZm9yIHRoZSBuZXcgY29sb3IgdmFsdWVzIGZvciBCVC42MDEgcmVkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb2Nyb3AuYzogKGNoZWNrXzF4MV9idWZmZXIpOgoJICBVcGRhdGUgdGhlIHVuaXQgdGVzdCBmb3IgdGhlIG5ldyBjb2xvciB2YWx1ZXMgZm9yIEJULjYwMSByZWQuCgkgIEZpeGVzIGJ1ZyAjNTYzNTEwLgoKMjAwOC0xMi0wOSAxMDoyODoxMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9kdi9nc3RkdmRlbXV4LmM6IFJlc3RvcmUgcHJldmlvdXMgYmVoYXZpb3VyIG9mIG5vdCBwYXNzaW5nIFFvUyBhbmQgbmF2aWdhdGlvbiBldmVudHMgdXBzdHJlYW0sIHdoaWNoIHByZXN1bWFibHkgdy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZHYvZ3N0ZHZkZW11eC5jOiAoZ3N0X2R2ZGVtdXhfaGFuZGxlX3NyY19ldmVudCk6CgkgIFJlc3RvcmUgcHJldmlvdXMgYmVoYXZpb3VyIG9mIG5vdCBwYXNzaW5nIFFvUyBhbmQgbmF2aWdhdGlvbgoJICBldmVudHMgdXBzdHJlYW0sIHdoaWNoIHByZXN1bWFibHkgd2Fzbid0IG1lYW50IHRvIGJlIGNoYW5nZWQuCgoyMDA4LTEyLTA5IDA5OjM5OjUzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvZHYvZ3N0ZHZkZW11eC5jOiBBZGQgc3JjcGFkcyBvbmx5IHdoZW4gbmVlZGVkIGFuZCByZW1vdmUgdGhlbSBhZ2FpbiB3aGVuIGdvaW5nIGJhY2sgdG8gUkVBRFkuIFRoaXMgcHJldmVudHMgc3RhbGwuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2R2L2dzdGR2ZGVtdXguYzogKGdzdF9kdmRlbXV4X2FkZF92aWRlb19wYWQpLAoJICAoZ3N0X2R2ZGVtdXhfYWRkX2F1ZGlvX3BhZCksIChnc3RfZHZkZW11eF9yZW1vdmVfcGFkcyksCgkgIChnc3RfZHZkZW11eF9kZW11eF9hdWRpbyksIChnc3RfZHZkZW11eF9kZW11eF92aWRlbyksCgkgIChnc3RfZHZkZW11eF9jaGFpbiksIChnc3RfZHZkZW11eF9sb29wKSwKCSAgKGdzdF9kdmRlbXV4X2NoYW5nZV9zdGF0ZSk6CgkgIEFkZCBzcmNwYWRzIG9ubHkgd2hlbiBuZWVkZWQgYW5kIHJlbW92ZSB0aGVtIGFnYWluIHdoZW4gZ29pbmcKCSAgYmFjayB0byBSRUFEWS4gVGhpcyBwcmV2ZW50cyBzdGFsbGVkIHBpcGVsaW5lcyBpZiB0aGVyZSdzIG5vCgkgIGF1ZGlvIGluc2lkZSB0aGUgRFYgc3RyZWFtLCB3aGljaCBoYXBwZW5zIGZvciBtYW55IE1YRiBmaWxlcy4KCjIwMDgtMTItMDkgMDk6MDk6MjUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NvdXBodHRwc3JjLmM6IFRoZSBwb3J0cyBpbiBsaWJzb3VwIGFyZSB1bnNpZ25lZCBpbnRlZ2VycyBhbmQgbm90IHNpZ25lZCBpbnRlZ2Vycy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvc291cGh0dHBzcmMuYzogKEdTVF9TVEFSVF9URVNUKSwKCSAgKHJ1bl9zZXJ2ZXIpOgoJICBUaGUgcG9ydHMgaW4gbGlic291cCBhcmUgdW5zaWduZWQgaW50ZWdlcnMgYW5kIG5vdCBzaWduZWQKCSAgaW50ZWdlcnMuCgoyMDA4LTEyLTA4IDE4OjMxOjAwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvZHYvZ3N0ZHZkZW11eC5jOiBGb3J3YXJkIGFsbCBldmVudHMgdXBzdHJlYW0gdW5sZXNzIGl0J3Mgc29tZXRoaW5nIHdlIHJlYWxseSBkb24ndCBoYW5kbGUuIFRoaXMgZml4ZXMgbGF0ZW5jeSBjb24uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2R2L2dzdGR2ZGVtdXguYzogKGdzdF9kdmRlbXV4X2hhbmRsZV9zcmNfZXZlbnQpOgoJICBGb3J3YXJkIGFsbCBldmVudHMgdXBzdHJlYW0gdW5sZXNzIGl0J3Mgc29tZXRoaW5nIHdlIHJlYWxseQoJICBkb24ndCBoYW5kbGUuIFRoaXMgZml4ZXMgbGF0ZW5jeSBjb25maWd1cmF0aW9uIG9mIHBpcGVsaW5lcy4KCjIwMDgtMTItMDggMTg6MjQ6MjEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9kdi86IFJlYWxseSBjYWxsIGR2X2luaXQoKSBleGFjdGx5IG9uZSB0aW1lLCBub3Qgb25lIHRpbWUgZm9yIHRoZSBkZW11eGVyIGFuZCBvbmUgdGltZSBmb3IgdGhlIGRlY29kZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9kdi9nc3Rkdi5jOiAocGx1Z2luX2luaXQpOgoJICAqIGV4dC9kdi9nc3RkdmRlYy5jOiAoZ3N0X2R2ZGVjX2NsYXNzX2luaXQpOgoJICAqIGV4dC9kdi9nc3RkdmRlbXV4LmM6IChnc3RfZHZkZW11eF9jbGFzc19pbml0KToKCSAgUmVhbGx5IGNhbGwgZHZfaW5pdCgpIGV4YWN0bHkgb25lIHRpbWUsIG5vdCBvbmUgdGltZSBmb3IKCSAgdGhlIGRlbXV4ZXIgYW5kIG9uZSB0aW1lIGZvciB0aGUgZGVjb2Rlci4KCjIwMDgtMTItMDggMTI6Mzc6NDUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwL2dzdHJ0cG1wNGFwYXkuYzogQ29weSBpbmNvbW1pbmcgdGltZXN0YW1wIHRvIG91dGdvaW5nIHBhY2tldHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0YXBheS5jOiAoZ3N0X3J0cF9tcDRhX3BheV9oYW5kbGVfYnVmZmVyKToKCSAgQ29weSBpbmNvbW1pbmcgdGltZXN0YW1wIHRvIG91dGdvaW5nIHBhY2tldHMuCgoyMDA4LTEyLTA4IDEyOjM2OjIxICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC9nc3RydHBtcDR2cGF5LmM6IERvbid0IHRyeSB0byBwdXNoIHBhY2tldHMgYmVmb3JlIHdlIGNvdWxkIGZpbmQgYSB2YWxpZCBjb25maWcgc3RhcnRjb2RlLiBGaXhlcyAjNTYzNTA5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuYzogKGdzdF9ydHBfbXA0dl9wYXlfZmx1c2gpLAoJICAoZ3N0X3J0cF9tcDR2X3BheV9ldmVudCk6CgkgIERvbid0IHRyeSB0byBwdXNoIHBhY2tldHMgYmVmb3JlIHdlIGNvdWxkIGZpbmQgYSB2YWxpZCBjb25maWcKCSAgc3RhcnRjb2RlLiBGaXhlcyAjNTYzNTA5LgoKMjAwOC0xMi0wNyAxOToyMjo0OCArMDAwMCAgQnJpYW4gQ2FtZXJvbiA8YnJpYW4uY2FtZXJvbkBzdW4uY29tPgoKCSAgc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXJjdHJsLmM6IFNldCB0aGUgbWl4ZXIgZmQgYmVmb3JlIGNhbGxpbmcgaW9jdGwoKSBvbiBpdC4gRml4ZXMgYnVnICM1NjM0MTQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogQnJpYW4gQ2FtZXJvbiA8YnJpYW4uY2FtZXJvbiBhdCBzdW4gZG90IGNvbT4KCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlcmN0cmwuYzoKCSAgKGdzdF9zdW5hdWRpb21peGVyX2N0cmxfb3Blbik6CgkgIFNldCB0aGUgbWl4ZXIgZmQgYmVmb3JlIGNhbGxpbmcgaW9jdGwoKSBvbiBpdC4gRml4ZXMgYnVnICM1NjM0MTQuCgoyMDA4LTEyLTA3IDE5OjAxOjM1ICswMDAwICBBbGV4YW5kcmUgUm9zdG92dHNldiA8dGV0cm9taW5vQGdtYWlsLmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogTWFrZSB1c2FnZSBvZiBsaWJ2NGwgb3B0aW9uYWwgYnkgYSBjb25maWd1cmUgcGFyYW1ldGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEFsZXhhbmRyZSBSb3N0b3Z0c2V2IDx0ZXRyb21pbm8gYXQgZ21haWwgZG90IGNvbT4KCSAgKiBjb25maWd1cmUuYWM6CgkgIE1ha2UgdXNhZ2Ugb2YgbGlidjRsIG9wdGlvbmFsIGJ5IGEgY29uZmlndXJlIHBhcmFtZXRlci4KCSAgRml4ZXMgYnVnICM1NjM1MDQuCgoyMDA4LTEyLTA1IDA5OjI0OjE4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBBZGQgZG9jdW1lbnRhdGlvbiBmb3IgbWF0cm9za2FtdXggYW5kIG1hdHJvc2thZGVtdXggYW5kIHVwZGF0ZSB0aGUgaW5zcGVjdGlvbiB4bWwgZmlsZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5pbnRlcmZhY2VzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFubm9kZXgueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhbW1hLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGFsZWxlbWVudHMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9ub3Njb3BlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF1aWNrdGltZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JhbGFuY2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmxpcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5oOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4Lmg6CgkgIEFkZCBkb2N1bWVudGF0aW9uIGZvciBtYXRyb3NrYW11eCBhbmQgbWF0cm9za2FkZW11eCBhbmQKCSAgdXBkYXRlIHRoZSBpbnNwZWN0aW9uIHhtbCBmaWxlcy4KCjIwMDgtMTItMDQgMjA6MTA6NTggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGNvbmZpZ3VyZS5hYzogQXBwYXJlbnRseSBBQ19DT05GSUdfTUFDUk9fRElSIGJyZWFrcyB3aGVuIHVzaW5nIG1vcmUgdGhhbiBvbmUgbWFjcm8gZGlyZWN0b3J5LCByZXZlcnRpbmcgbGFzdCBjaGFuZ2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQXBwYXJlbnRseSBBQ19DT05GSUdfTUFDUk9fRElSIGJyZWFrcyB3aGVuIHVzaW5nIG1vcmUKCSAgdGhhbiBvbmUgbWFjcm8gZGlyZWN0b3J5LCByZXZlcnRpbmcgbGFzdCBjaGFuZ2UuCgoyMDA4LTEyLTA0IDE5OjQ3OjIxICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBjb25maWd1cmUuYWM6IFNldCBBQ19DT05GSUdfTUFDUk9fRElSIHRvIGNvbW1vbi9tNCB0byBwb2ludCBhdXRvY29uZiB0byBvdXIgTTQgbWFjcm9zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIFNldCBBQ19DT05GSUdfTUFDUk9fRElSIHRvIGNvbW1vbi9tNCB0byBwb2ludCBhdXRvY29uZiB0bwoJICBvdXIgTTQgbWFjcm9zLgoKMjAwOC0xMS0zMCAxNjoyNDo0NSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzogUHJvdmlkZSB0aGUgcGFyYW1ldGVycyB0aGF0IGFyZSByZXF1aXJlZCBmb3IgdGhlIGZvcm1hdCBzdHJpbmcgdG8gZml4IGEgY29tcGlsZXIgd2FybmluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzogKGdzdF9tdWx0aXVkcHNpbmtfcmVuZGVyKToKCSAgUHJvdmlkZSB0aGUgcGFyYW1ldGVycyB0aGF0IGFyZSByZXF1aXJlZCBmb3IgdGhlIGZvcm1hdCBzdHJpbmcKCSAgdG8gZml4IGEgY29tcGlsZXIgd2FybmluZy4KCjIwMDgtMTEtMjkgMjA6MDU6NDEgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NyYy5jOiBGaXggY2xhc3NpZmljYXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NyYy5jOgoJICBGaXggY2xhc3NpZmljYXRpb24uCgoyMDA4LTExLTI5IDEzOjMxOjU1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBSZXF1aXJlIGdldHRleHQgMC4xNyBiZWNhdXNlIG9sZGVyIHZlcnNpb25zIGRvbid0IG1peCB3aXRoIGxpYnRvb2wgMi4yLiBBdCBidWlsZCB0aW1lIGFuIG9sZGVyIGdldHRleHQgdmVyc2lvbiB3aWxsIHMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBDeWd3aW4gUG9ydHMgbWFpbnRhaW5lcgoJICA8eXNlbGtvd2l0eiBhdCB1c2VycyBkb3Qgc291cmNlZm9yZ2UgZG90IG5ldD4KCSAgKiBhdXRvZ2VuLnNoOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgUmVxdWlyZSBnZXR0ZXh0IDAuMTcgYmVjYXVzZSBvbGRlciB2ZXJzaW9ucyBkb24ndCBtaXggd2l0aCBsaWJ0b29sCgkgIDIuMi4gQXQgYnVpbGQgdGltZSBhbiBvbGRlciBnZXR0ZXh0IHZlcnNpb24gd2lsbCBzdGlsbCB3b3JrLgoJICBGaXhlcyBidWcgIzU1NjA5MS4KCjIwMDgtMTEtMjggMTU6MTA6NTAgKzAwMDAgIFBldGVyIEtqZWxsZXJzdGVkdCA8cGtqQGF4aXMuY29tPgoKCSAgZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzogTWFrZSBnc3RfbXVsdGl1ZHBzaW5rX3JlbmRlcigpIGlnbm9yZSBlcnJvcnMgZnJvbSBzZW5kdG8oKSBpbnN0ZWFkIG9mIGJyZWFraW5nIHN0cmVhbWluZy4gLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogUGV0ZXIgS2plbGxlcnN0ZWR0IDxwa2ogYXQgYXhpcyBjb20+CgkgICogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzogKGdzdF9tdWx0aXVkcHNpbmtfcmVuZGVyKToKCSAgTWFrZSBnc3RfbXVsdGl1ZHBzaW5rX3JlbmRlcigpIGlnbm9yZSBlcnJvcnMgZnJvbSBzZW5kdG8oKSBpbnN0ZWFkIG9mCgkgIGJyZWFraW5nIHN0cmVhbWluZy4gRW1pdCBhIHdhcm5pbmcgaW5zdGVhZC4gRml4ZXMgIzU2MjU3Mi4KCjIwMDgtMTEtMjcgMTY6NDM6MjQgKzAwMDAgIFJvbiBNY091YXQgPHJtY291YXRAc21hcnR0LmNvbT4KCgkgIEFkZCBzdXBwb3J0IGZvciBiYXNpYyBhbmQgZGlnZXN0IGF1dGhlbnRpY2F0aW9uIGluIHNvdXBodHRwc3JjLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFJvbiBNY091YXQgPHJtY291YXQgYXQgc21hcnR0IGRvdCBjb20+CgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzogKGdzdF9zb3VwX2h0dHBfc3JjX2NsYXNzX2luaXQpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfaW5pdCksIChnc3Rfc291cF9odHRwX3NyY19kaXNwb3NlKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX3NldF9wcm9wZXJ0eSksIChnc3Rfc291cF9odHRwX3NyY19nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfYXV0aGVudGljYXRlX2NiKSwgKGdzdF9zb3VwX2h0dHBfc3JjX3N0YXJ0KToKCSAgKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5oOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NvdXBodHRwc3JjLmM6IChiYXNpY19hdXRoX2NiKSwKCSAgKGRpZ2VzdF9hdXRoX2NiKSwgKHJ1bl90ZXN0KSwgKEdTVF9TVEFSVF9URVNUKSwKCSAgKHNvdXBodHRwc3JjX3N1aXRlKSwgKHJ1bl9zZXJ2ZXIpOgoJICBBZGQgc3VwcG9ydCBmb3IgYmFzaWMgYW5kIGRpZ2VzdCBhdXRoZW50aWNhdGlvbiBpbiBzb3VwaHR0cHNyYy4KCSAgRml4ZXMgYnVnICM1NjE3NzUuCgoyMDA4LTExLTI3IDEyOjEzOjM5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3Qvd2F2ZW5jLzogQWRkIHN1cHBvcnQgZm9yIGEtbGF3IGFuZCBtdS1sYXcgZW5jb2RlZCB3YXYgZmlsZXMuIEZpeGVzIGJ1ZyAjNTYyNDM0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFBlcGlqbiBWYW4gRWVja2hvdWR0CgkgIDxwZXBpam4gZG90IHZhbmVlY2tob3VkdCBhdCBsdWNpYWQgZG90IGNvbT4KCSAgKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5jOiAoZ3N0X3dhdmVuY19jcmVhdGVfaGVhZGVyX2J1ZiksCgkgIChnc3Rfd2F2ZW5jX3Npbmtfc2V0Y2FwcyksIChnc3Rfd2F2ZW5jX2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuaDoKCSAgKiBnc3Qvd2F2ZW5jL3JpZmYuaDoKCSAgQWRkIHN1cHBvcnQgZm9yIGEtbGF3IGFuZCBtdS1sYXcgZW5jb2RlZCB3YXYgZmlsZXMuIEZpeGVzIGJ1ZyAjNTYyNDM0LgoKMjAwOC0xMS0yNyAxMToyMjo1NiArMDAwMCAg7J2066y47ZiVIDxpd2luZ3NAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiBQcmV2ZW50IGZ1cnRoZXIgcmVhZC93cml0ZSBhY3Rpb25zIHRha2VuIHRvIHRoZSBjb25uZWN0LWZhaWxlZCBzb2NrZXQgYnkgZXJyb3Jpbmcgb3V0IHF1aWNrbHkuLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTog7J2066y47ZiVIDxpd2luZ3MgYXQgZ21haWwgZG90IGNvbT4KCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19sb29wX3VkcCk6CgkgIFByZXZlbnQgZnVydGhlciByZWFkL3dyaXRlIGFjdGlvbnMgdGFrZW4gdG8gdGhlIGNvbm5lY3QtZmFpbGVkIHNvY2tldCBieQoJICBlcnJvcmluZyBvdXQgcXVpY2tseS4gU2VlICM1NjIyNTguCgoyMDA4LTExLTI2IDIxOjE5OjQ3ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICB0ZXN0cy9leGFtcGxlcy9sZXZlbC9sZXZlbC1leGFtcGxlLmM6IFNldCBmYWtlc2luayB0byBzeW5jLiBPdGhlcndpc2UgcGVvcGxlIG1pZ2h0IHF1ZXN0aW9uIHRoZSBtZXNzYWdlIGludGVydmFsLiBOZXYuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvZXhhbXBsZXMvbGV2ZWwvbGV2ZWwtZXhhbXBsZS5jOgoJICBTZXQgZmFrZXNpbmsgdG8gc3luYy4gT3RoZXJ3aXNlIHBlb3BsZSBtaWdodCBxdWVzdGlvbiB0aGUgbWVzc2FnZQoJICBpbnRlcnZhbC4gTmV2ZXJ0aGVsZXNzIHRoZSB0aW1lc3RhbXAgaW4gdGhlIG1lc3NhZ2UgaXMgd2hhdCBtYXR0ZXJzLgoKMjAwOC0xMS0yNSAxODoxMzoyNSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIHRlc3RzL2ljbGVzLy5jdnNpZ25vcmU6IGN2c2lnbm9yZSBuZXdseSBnZW5lcmF0ZWQgZmlsZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvaWNsZXMvLmN2c2lnbm9yZToKCSAgY3ZzaWdub3JlIG5ld2x5IGdlbmVyYXRlZCBmaWxlLgoKMjAwOC0xMS0yNSAxODowMzowMiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvOiBGaXggdGhlIGRlc2NyaXB0aW9ucyBhbmQgZml4IHNvbWUgZW1haWwgYWRkcmVzc2VzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdGFzdGVyaXNraDI2My5jOgoJICAqIGdzdC9ydHAvZ3N0YXN0ZXJpc2toMjYzLmg6CgkgICogZ3N0L3J0cC9nc3RydHBMMTZkZXBheS5jOiAoZ3N0X3J0cF9MMTZfZGVwYXlfc2V0Y2Fwcyk6CgkgICogZ3N0L3J0cC9nc3RydHBMMTZkZXBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwTDE2cGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBMMTZwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cGFjM2RlcGF5LmM6IChnc3RfcnRwX2FjM19kZXBheV9zZXRjYXBzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cGFjM2RlcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cGFtcnBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwYW1ycGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwZGVwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cGR2ZGVwYXkuYzogKGdzdF9ydHBfZHZfZGVwYXlfc2V0Y2Fwcyk6CgkgICogZ3N0L3J0cC9nc3RydHBnNzI2ZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGc3MjZwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGc3MjlkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwZzcyOXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwZ3NtZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGdzbXBheS5jOiAoZ3N0X3J0cF9nc21fcGF5X3NldGNhcHMpOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2M2RlcGF5LmM6IChnc3RfcnRwX2gyNjNfZGVwYXlfc2V0Y2Fwcyk6CgkgICogZ3N0L3J0cC9nc3RydHBoMjYzZGVwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjNwZGVwYXkuYzogKGdzdF9ydHBfaDI2M3BfZGVwYXlfc2V0Y2Fwcyk6CgkgICogZ3N0L3J0cC9nc3RydHBoMjYzcGRlcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBoMjYzcHBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBoMjY0cGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBpbGJjZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGlsYmNwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGpwZWdkZXBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXAxc2RlcGF5LmM6IChnc3RfcnRwX21wMXNfZGVwYXlfc2V0Y2Fwcyk6CgkgICogZ3N0L3J0cC9nc3RydHBtcDFzZGVwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wMnRkZXBheS5jOiAoZ3N0X3J0cF9tcDJ0X2RlcGF5X3NldGNhcHMpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXAydGRlcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBtcDJ0cGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBtcDJ0cGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBtcDRhZGVwYXkuYzogKGdzdF9ydHBfbXA0YV9kZXBheV9zZXRjYXBzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGFwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGFwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGdkZXBheS5jOiAoZ3N0X3J0cF9tcDRnX2RlcGF5X3NldGNhcHMpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0Z2RlcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBtcDRncGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBtcDRncGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBtcDR2ZGVwYXkuYzogKGdzdF9ydHBfbXA0dl9kZXBheV9zZXRjYXBzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNHZkZXBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5jOiAoZ3N0X3J0cF9tcDR2X3BheV9ldmVudCk6CgkgICogZ3N0L3J0cC9nc3RydHBtcDR2cGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBtcGFkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXBhZGVwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wYXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXBhcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBtcHZkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXB2ZGVwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cHBjbWFkZXBheS5jOiAoZ3N0X3J0cF9wY21hX2RlcGF5X3Byb2Nlc3MpOgoJICAqIGdzdC9ydHAvZ3N0cnRwcGNtYXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwcGNtdWRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBwY211cGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBzcGVleGRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBzcGVleHBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwc3YzdmRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBzdjN2ZGVwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYWRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHB0aGVvcmFkZXBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHB0aGVvcmFwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc2RlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHB2b3JiaXNkZXBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzcGF5LmM6IChnc3RfcnRwX3ZvcmJpc19wYXlfZmluaXNoX2hlYWRlcnMpOgoJICAqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHB2cmF3ZGVwYXkuYzogKGdzdF9ydHBfdnJhd19kZXBheV9zZXRjYXBzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cHZyYXdwYXkuYzoKCSAgRml4IHRoZSBkZXNjcmlwdGlvbnMgYW5kIGZpeCBzb21lIGVtYWlsIGFkZHJlc3Nlcy4KCjIwMDgtMTEtMjUgMTc6NDc6MjQgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBBZGQgTVBHMSBhbmQgTVBHMiBmb3VyY2MgdG8gc3VwcG9ydGVkIHF0ZGVtdXggdmlkZW8gY29kZWNzIGFzIEkgZm91bmQgc29tZSB2aWRlbyBjbGlwcyB1c2luZyB0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA4LTExLTI1ICBKdWxpZW4gTW91dHRlICA8anVsaWVuQGZsdWVuZG8uY29tPgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfdmlkZW9fY2Fwcyk6IEFkZCBNUEcxIGFuZCBNUEcyCgkgIGZvdXJjYwoJICB0byBzdXBwb3J0ZWQgcXRkZW11eCB2aWRlbyBjb2RlY3MgYXMgSSBmb3VuZCBzb21lIHZpZGVvIGNsaXBzCgkgIHVzaW5nCgkgIHRob3NlLgoKMjAwOC0xMS0yNSAxNjoyNjoxNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9hdXRvZGV0ZWN0LzogUG9zdCBhbiBlcnJvciB3aGVuIHdlIGNhbid0IHNldCB0aGUgaW50ZXJuYWwgZ2hvc3RwYWQgdGFyZ2V0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zaW5rLmM6IChnc3RfYXV0b19hdWRpb19zaW5rX2RldGVjdCk6CgkgICogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc3JjLmM6IChnc3RfYXV0b19hdWRpb19zcmNfZGV0ZWN0KToKCSAgKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zaW5rLmM6IChnc3RfYXV0b192aWRlb19zaW5rX3Jlc2V0KSwKCSAgKGdzdF9hdXRvX3ZpZGVvX3NpbmtfZGV0ZWN0KToKCSAgKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zcmMuYzogKGdzdF9hdXRvX3ZpZGVvX3NyY19kZXRlY3QpOgoJICBQb3N0IGFuIGVycm9yIHdoZW4gd2UgY2FuJ3Qgc2V0IHRoZSBpbnRlcm5hbCBnaG9zdHBhZCB0YXJnZXQuCgoyMDA4LTExLTI1IDE2OjA2OjIyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuKjogRml4IHJlbmVnb3RpYXRpb24gd2hlbiBjaGFuZ2luZyBwcm9wZXJ0aWVzIHVzaW5nIHRoZSBuZXcgYmFzZXRyYW5zZm9ybSBmZWF0dXJlcy4gRml4ZXMgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmM6IChnc3RfdmlkZW9fY3JvcF9pbml0KSwKCSAgKGdzdF92aWRlb19jcm9wX3RyYW5zZm9ybSksIChnc3RfdmlkZW9fY3JvcF90cmFuc2Zvcm1fY2FwcyksCgkgIChnc3RfdmlkZW9fY3JvcF9zZXRfY2FwcyksIChnc3RfdmlkZW9fY3JvcF9zZXRfcHJvcGVydHkpOgoJICAqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmg6CgkgIEZpeCByZW5lZ290aWF0aW9uIHdoZW4gY2hhbmdpbmcgcHJvcGVydGllcyB1c2luZyB0aGUgbmV3IGJhc2V0cmFuc2Zvcm0KCSAgZmVhdHVyZXMuIEZpeGVzICM1NjE1MDIuCgkgICogdGVzdHMvaWNsZXMvTWFrZWZpbGUuYW06CgkgICogdGVzdHMvaWNsZXMvdmlkZW9jcm9wMi10ZXN0LmM6IChtYWtlX3BpcGVsaW5lKSwgKG1haW4pOgoJICBBZGQgY3JhenkgaW50ZXJhY3RpdmUgdGVzdCB1bml0IGZvciBkeW5hbWljYWxseSBjaGFuZ2luZyBwcm9wZXJ0aWVzLgoKMjAwOC0xMS0yNCAxMjoyMDoyOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogQWRkIHNvbWUgbW9yZSBkZWJ1Z2dpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKG5ld19zZXNzaW9uX3BhZCksCgkgIChnc3RfcnRzcHNyY19wYXJzZV9yYW5nZSk6CgkgIEFkZCBzb21lIG1vcmUgZGVidWdnaW5nLgoJICBVc2UgdGhlIHJlYW5nZXMgcmVjZWl2ZWQgZnJvbSB0aGUgc2VydmVyIHVuY29uZGl0aW9uYWxseS4KCSAgRml4ZXMgIzU2MTYyNS4KCjIwMDgtMTEtMjMgMTU6MDg6NDUgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzogQ2hhbmdlICNpZiAwIHRvIHNvbWV0aGluZyBtb3JlIGV4cHJlc2l2ZSBhbmQgYWRkIHBvaW50ZXIgdG8gcmVsYXRlZCBidWcgdGlja2V0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIENoYW5nZSAjaWYgMCB0byBzb21ldGhpbmcgbW9yZSBleHByZXNpdmUgYW5kIGFkZCBwb2ludGVyIHRvIHJlbGF0ZWQKCSAgYnVnIHRpY2tldC4KCjIwMDgtMTEtMjMgMTE6MTc6MDEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIENoYW5nZUxvZzoKCSAgQ2hhbmdlTG9nIHN1cmdlcnkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIENoYW5nZUxvZyBzdXJnZXJ5CgoyMDA4LTExLTIzIDExOjE0OjQyICswMDAwICBUYWwgU2hhbGlmIDx0c2hhbGlmQG5hcmdpbGEub3JnPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBVc2UgR197QklHLExJVFRMRX1fRU5ESUFOIGluc3RlYWQgb2YgdGhlIG5vbi1HTGliIHZhcmlhbnRzIGFzIHRoZSBsYXR0ZXIgZG9uJ3QgZXhpc3Qgb24gc29tZSBzLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogVGFsIFNoYWxpZiA8dHNoYWxpZiBhdCBuYXJnaWxhIGRvdCBvcmc+CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF9hdWRpb19jYXBzKToKCSAgVXNlIEdfe0JJRyxMSVRUTEV9X0VORElBTiBpbnN0ZWFkIG9mIHRoZSBub24tR0xpYiB2YXJpYW50cyBhcwoJICB0aGUgbGF0dGVyIGRvbid0IGV4aXN0IG9uIHNvbWUgc3lzdGVtcyAobWluZ3cpLiBGaXhlcyBidWcgIzU2MTk5Mi4KCjIwMDgtMTEtMjEgMTM6NDM6MjkgKzAwMDAgIFplZXNoYW4gQWxpIDx6ZWVzaGFuYWtAZ25vbWUub3JnPgoKCSAgZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzogQWRkIHRyYW5zZmVyTW9kZS5kbmxhLm9yZyBoZWFkZXIgdG8gSFRUUCByZXF1ZXN0cyBhcyB0aGlzIGlzIHJlcXVpcmVkIGJ5IHRoZSBETE5BIHNwZWNzIGFuLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogWmVlc2hhbiBBbGkgPHplZXNoYW5hayBhdCBnbm9tZSBkb3Qgb3JnPgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IChnc3Rfc291cF9odHRwX3NyY19idWlsZF9tZXNzYWdlKToKCSAgQWRkIHRyYW5zZmVyTW9kZS5kbmxhLm9yZyBoZWFkZXIgdG8gSFRUUCByZXF1ZXN0cyBhcyB0aGlzIGlzCgkgIHJlcXVpcmVkIGJ5IHRoZSBETE5BIHNwZWNzIGFuZCBkb2Vzbid0IGh1cnQgaW4gb3RoZXIgc2l0dWF0aW9ucy4KCSAgRml4ZXMgYnVnICM1NjE4MDIuCgoyMDA4LTExLTIwIDIzOjU5OjA3ICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLio6IEhhbmRsZSB2aWRlbyB3aW5kb3cgcmVzaXppbmcgbW9yZSBjb3JyZWN0bHksIGF2b2lkaW5nIGNyYXNoZXMgd2hlbiBlbWJlZGRpbmcgdGhlIHdpbmRvdyAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5oOgoJICAqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgSGFuZGxlIHZpZGVvIHdpbmRvdyByZXNpemluZyBtb3JlIGNvcnJlY3RseSwgYXZvaWRpbmcgY3Jhc2hlcyB3aGVuCgkgIGVtYmVkZGluZyB0aGUgd2luZG93IGFuZCByZXNpemluZyBpdC4KCjIwMDgtMTEtMjAgMjI6NTY6NTggKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIGdzdC91ZHAvOiBGaXggbXVsdGl1ZHBzaW5rIG9uIE9TWCBieSBwYXNzaW5nIHRoZSBzcGVjaWZpYyBsZW5ndGggb2YgdGhlIHNvY2tldCwgcmVmYWN0b3IgdGhhdCBpbnRvIGEgZnVuY3Rpb24gc2hhcmVkIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJICAqIGdzdC91ZHAvZ3N0dWRwbmV0dXRpbHMuYzoKCSAgKiBnc3QvdWRwL2dzdHVkcG5ldHV0aWxzLmg6CgkgICogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgRml4IG11bHRpdWRwc2luayBvbiBPU1ggYnkgcGFzc2luZyB0aGUgc3BlY2lmaWMgbGVuZ3RoIG9mIHRoZSBzb2NrZXQsCgkgIHJlZmFjdG9yIHRoYXQgaW50byBhIGZ1bmN0aW9uIHNoYXJlZCB3aXRoIHRoZSBzYW1lIHRoaW5nIGluIHVkcHNyYy4KCjIwMDgtMTEtMjAgMjA6MDc6MjYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogRml4IHRoZSBzY2FsaW5nIGNvZGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiAodWludDY0X2NlaWxpbmdfc2NhbGVfaW50KSwKCSAgKHVpbnQ2NF9jZWlsaW5nX3NjYWxlKSwgKGdzdF93YXZwYXJzZV9jYWxjdWxhdGVfZHVyYXRpb24pLAoJICAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9oZWFkZXJzKToKCSAgRml4IHRoZSBzY2FsaW5nIGNvZGUuCgkgIEZpeCBwYXJzaW5nIG9mIHRoZSBJTkZPIGNodW5rcywgd2Ugd2VyZSByZWFkaW5nIHRoZSB3cm9uZyBudW1iZXIgb2YKCSAgYnl0ZXMuICBGaXhlcyAjNTYxNTgwLgoKMjAwOC0xMS0yMCAxNDozMDo0MCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6IEZpeCBOVUxMIHBvaW50ZXIgZGVyZWZlcmVuY2Ugb2YgYW4gdW5zZXQgY29kZWNfaWQgaW4gdGhlIHJlY2VudGx5IGFkZGVkIERpcmFjIHBhdGhzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgRml4IE5VTEwgcG9pbnRlciBkZXJlZmVyZW5jZSBvZiBhbiB1bnNldCBjb2RlY19pZCBpbiB0aGUgcmVjZW50bHkKCSAgYWRkZWQgRGlyYWMgcGF0aHMKCjIwMDgtMTEtMjAgMTM6NTg6NDMgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06IEp1c3Qga2VlcCBkaXNhYmxpbmcgZWxlbWVudHMgdGhhdCBoYW5nIHRoZSBzdGF0ZXMgdGVzdCB1bnRpbCBpdCB3b3Jrcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIEp1c3Qga2VlcCBkaXNhYmxpbmcgZWxlbWVudHMgdGhhdCBoYW5nIHRoZSBzdGF0ZXMgdGVzdCB1bnRpbCBpdAoJICB3b3Jrcy4KCjIwMDgtMTEtMjAgMTM6NDY6NDcgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZXh0L2xpYnBuZy9nc3RwbmdlbmMuYzogRG9uJ3QgZmx1c2ggZG93bnN0cmVhbSBhZnRlciBldmVyeSBidWZmZXIgLSB0aGF0J3Mgbm90IHdoYXQgdGhpcyBsaWJwbmcgY2FsbGJhY2sgaXMgZm9yIGF0IGFsbCEKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2xpYnBuZy9nc3RwbmdlbmMuYzoKCSAgRG9uJ3QgZmx1c2ggZG93bnN0cmVhbSBhZnRlciBldmVyeSBidWZmZXIgLSB0aGF0J3Mgbm90IHdoYXQKCSAgdGhpcyBsaWJwbmcgY2FsbGJhY2sgaXMgZm9yIGF0IGFsbCEKCjIwMDgtMTEtMTcgMTQ6MDQ6MjAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6IFR1cm5zIG91dCB3ZSBkb24ndCBhbHdheXMgZ2V0IHRoZSBmcmFtZSBzaXplcyBpbiBhIHByZWRlZmluZWQgb3JkZXIgZnJvbSBsb3dlc3QgdG8gaGlnaGVzdCAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJICAoZ3N0X3Y0bDJzcmNfcHJvYmVfY2Fwc19mb3JfZm9ybWF0X2FuZF9zaXplKSwgKHNvcnRfYnlfZnJhbWVfc2l6ZSksCgkgIChnc3RfdjRsMnNyY19wcm9iZV9jYXBzX2Zvcl9mb3JtYXQpOgoJICBUdXJucyBvdXQgd2UgZG9uJ3QgYWx3YXlzIGdldCB0aGUgZnJhbWUgc2l6ZXMgaW4gYSBwcmVkZWZpbmVkCgkgIG9yZGVyIGZyb20gbG93ZXN0IHRvIGhpZ2hlc3QgcmVzb2x1dGlvbiwgc28gbGV0J3MganVzdCBzb3J0IHRoZQoJICBsaXN0IGJ5IGZyYW1lIHNpemUgb25jZSB3ZSd2ZSBxdWVyaWVkIHRoZSBwb3NzaWJsZSByZXNvbHV0aW9ucwoJICByYXRoZXIgdGhhbiBhc3N1bWUgYW55IHBhcnRpY3VsYXIgb3JkZXIuIEZpeGVzIHByb2JlZCBjYXBzIGZvcgoJICB0aGUgY2FtZXJhIGluIG15IEhQMjEzMyBtaW5pIG5vdGVib29rIGFuZCBtYWtlcyB2NGwyc3JjIGRlZmF1bHQKCSAgdG8gYSBkZWNlbnQgc2l6ZS4KCjIwMDgtMTEtMTYgMTQ6NDE6MzIgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvbWF0cm9za2EvOiBNYWtlIG1rdmRlbXV4IGF3YXJlIG9mIEUtQUMzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogKGdzdF9tYXRyb3NrYV9kZW11eF9hdWRpb19jYXBzKToKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmg6CgkgIE1ha2UgbWt2ZGVtdXggYXdhcmUgb2YgRS1BQzMuCgoyMDA4LTExLTE0IDE4OjQxOjI5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC86IEFkZCBhIGpwZWcgZGVwYXlsb2FkZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkgICogZ3N0L3J0cC9nc3RydHAuYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cGpwZWdkZXBheS5jOiAoZ3N0X3J0cF9qcGVnX2RlcGF5X2Jhc2VfaW5pdCksCgkgIChnc3RfcnRwX2pwZWdfZGVwYXlfY2xhc3NfaW5pdCksIChnc3RfcnRwX2pwZWdfZGVwYXlfaW5pdCksCgkgIChnc3RfcnRwX2pwZWdfZGVwYXlfZmluYWxpemUpLCAoTWFrZVRhYmxlcyksIChNYWtlUXVhbnRIZWFkZXIpLAoJICAoTWFrZUh1ZmZtYW5IZWFkZXIpLCAoTWFrZURSSUhlYWRlciksIChNYWtlSGVhZGVycyksCgkgIChnc3RfcnRwX2pwZWdfZGVwYXlfc2V0Y2FwcyksIChnc3RfcnRwX2pwZWdfZGVwYXlfcHJvY2VzcyksCgkgIChnc3RfcnRwX2pwZWdfZGVwYXlfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9ydHBfanBlZ19kZXBheV9wbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBqcGVnZGVwYXkuaDoKCSAgQWRkIGEganBlZyBkZXBheWxvYWRlci4KCSAgKiBnc3QvcnRwL2dzdHJ0cGpwZWdwYXkuYzoKCSAgU2V0IHRoZSBkZWZhdWx0IHByb3BlcnRpZXMgb24gdGhlIHBheWxvYWRlciB0byBiZXR0ZXIgZGVmYXVsdHMuCgoyMDA4LTExLTE0IDE1OjQyOjMyICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBzeXMvdjRsMi9nc3R2NGwyLmM6IEdpdmUgaXQgYSBwcmltYXJ5IHJhbmsgZm9yIGF1dG92aWRlb3NyYy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMi5jOgoJICBHaXZlIGl0IGEgcHJpbWFyeSByYW5rIGZvciBhdXRvdmlkZW9zcmMuCgoyMDA4LTExLTE0IDExOjQxOjU1ICswMDAwICBCam9ybiBPc3RieSA8Ympvcm5vc0BheGlzLmNvbT4KCgkgIGdzdC9ydHAvOiBBZGQgSlBFRyBwYXlsb2FkZXIuIEZpeGVzICM1NjA3NTYuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogQmpvcm4gT3N0YnkgPGJqb3Jub3MgYXQgYXhpcyBkb3QgY29tPgoJICAqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkgICogZ3N0L3J0cC9nc3RydHAuYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cGpwZWdwYXkuYzogKGdzdF9ydHBfanBlZ19wYXlfYmFzZV9pbml0KSwKCSAgKGdzdF9ydHBfanBlZ19wYXlfY2xhc3NfaW5pdCksIChnc3RfcnRwX2pwZWdfcGF5X2luaXQpLAoJICAoZ3N0X3J0cF9qcGVnX3BheV9zZXRjYXBzKSwgKGdzdF9ydHBfanBlZ19wYXlfaGVhZGVyX3NpemUpLAoJICAoZ3N0X3J0cF9qcGVnX3BheV9yZWFkX3F1YW50X3RhYmxlKSwKCSAgKGdzdF9ydHBfanBlZ19wYXlfc2Nhbl9tYXJrZXIpLCAoZ3N0X3J0cF9qcGVnX3BheV9oYW5kbGVfYnVmZmVyKSwKCSAgKGdzdF9ydHBfanBlZ19wYXlfc2V0X3Byb3BlcnR5KSwgKGdzdF9ydHBfanBlZ19wYXlfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9ydHBfanBlZ19wYXlfcGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwanBlZ3BheS5oOgoJICBBZGQgSlBFRyBwYXlsb2FkZXIuIEZpeGVzICM1NjA3NTYuCgoyMDA4LTExLTEzIDE3OjQ1OjU5ICswMDAwICBGYWJyaWNpbyBHb2RveSA8c2thcmxsb3RAZ21haWwuY29tPgoKCSAgc3lzLzogRml4IHNvbWUgc3BlbGxpbmcgbWlzdGFrZXMuIEZpeGVzICM1NTY4MDIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogRmFicmljaW8gR29kb3kgPHNrYXJsbG90IGF0IGdtYWlsIGRvdCBjb20+CgkgICogc3lzL29zcy9nc3Rvc3NzaW5rLmM6IChnc3Rfb3NzX3Npbmtfb3Blbik6CgkgICogc3lzL29zcy9nc3Rvc3NzcmMuYzogKGdzdF9vc3Nfc3JjX29wZW4pOgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzogKGdzdF92NGwyc3JjX2dldF9tbWFwKToKCSAgKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6IChnc3RfdjRsMl9maWxsX2xpc3RzKToKCSAgRml4IHNvbWUgc3BlbGxpbmcgbWlzdGFrZXMuIEZpeGVzICM1NTY4MDIuCgoyMDA4LTExLTEzIDE2OjI0OjU5ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvZXF1YWxpemVyLzogQWRkIHByZXNldHMgZm9yIGVxdWFsaXplci4gRml4ZXMgIzUyMjE4My4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2VxdWFsaXplci9Hc3RJaXJFcXVhbGl6ZXIxMEJhbmRzLnByczoKCSAgKiBnc3QvZXF1YWxpemVyL0dzdElpckVxdWFsaXplcjNCYW5kcy5wcnM6CgkgICogZ3N0L2VxdWFsaXplci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcjEwYmFuZHMuYzoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcjNiYW5kcy5jOgoJICBBZGQgcHJlc2V0cyBmb3IgZXF1YWxpemVyLiBGaXhlcyAjNTIyMTgzLgoKMjAwOC0xMS0xMyAxNjoxNzozOCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwLzogUmVtb3ZlIGdvb2dsZSBleHRlbnNpb24gYWdhaW4sIGl0J3Mgbm90IG5lZWRlZCBhbnltb3JlIGJlY2F1c2Ugd2UgbmV2ZXIgc2VuZCBtdWx0aXBsZSB0cmFuc3BvcnRzIGFueW1vcmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3AuYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRzcC9nc3RydHNwZ29vZ2xlLmM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcGdvb2dsZS5oOgoJICBSZW1vdmUgZ29vZ2xlIGV4dGVuc2lvbiBhZ2FpbiwgaXQncyBub3QgbmVlZGVkIGFueW1vcmUgYmVjYXVzZSB3ZSBuZXZlcgoJICBzZW5kIG11bHRpcGxlIHRyYW5zcG9ydHMgYW55bW9yZS4KCjIwMDgtMTEtMTMgMTY6MTE6MTYgKzAwMDAgIEVyaWMgWmhhbmcgPGNoYW8uemhhbmdAYWNjZXNzLWNvbXBhbnkuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy4qOiBBZGQgcHJvcGVydHkgdG8gY29uZmlndXJlIE5BVCB0cmF2ZXJzYWwgbWV0aG9kLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQmFzZWQgb24gcGF0Y2ggYnk6IEVyaWMgWmhhbmcgPGNoYW8uemhhbmcgYXQgYWNjZXNzLWNvbXBhbnkgZG90IGNvbT4KCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcF9uYXRfbWV0aG9kX2dldF90eXBlKSwKCSAgKGdzdF9ydHNwc3JjX2NsYXNzX2luaXQpLCAoZ3N0X3J0c3BzcmNfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9ydHNwc3JjX2dldF9wcm9wZXJ0eSksIChnc3RfcnRzcHNyY19jcmVhdGVfc3RyZWFtKSwKCSAgKGdzdF9ydHNwc3JjX3N0cmVhbV9mcmVlKSwKCSAgKGdzdF9ydHNwc3JjX3N0cmVhbV9jb25maWd1cmVfdWRwX3NpbmtzKSwKCSAgKGdzdF9ydHNwc3JjX3N0cmVhbV9jb25maWd1cmVfdHJhbnNwb3J0KSwKCSAgKGdzdF9ydHNwc3JjX3NlbmRfZHVtbXlfcGFja2V0cyksCgkgIChnc3RfcnRzcHNyY19jcmVhdGVfdHJhbnNwb3J0c19zdHJpbmcpLAoJICAoZ3N0X3J0c3BzcmNfaGFuZGxlX21lc3NhZ2UpLCAoZ3N0X3J0c3BzcmNfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIEFkZCBwcm9wZXJ0eSB0byBjb25maWd1cmUgTkFUIHRyYXZlcnNhbCBtZXRob2QuCgkgIElnbm9yZSBFT1MgZnJvbSB0aGUgaW50ZXJuYWwgc2lua3MuCgkgIEltcGxlbWVudCBzZW5kaW5nIGR1bW15IHBhY2tldHMgYXMgYSAoc2ltcGxlKSBtZXRob2QgdG8gb3BlbiB1cAoJICBzb21lIGZpcmV3YWxscy4KCSAgU2VuZCBQTEFZIHJlcXVlc3QgdG8gdGhlIHNlcnZlciBhZnRlciB3ZSBzdGFydGVkIHRoZSB1ZHAgc291cmNlcy4KCSAgRml4ZXMgIzU1OTU0NS4KCjIwMDgtMTEtMTMgMTQ6MDQ6NDAgKzAwMDAgIFlvdGFtIDxzaC55b3RhbUBnbWFpbC5jb20+CgoJICBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuYzogRmx1c2ggdGhlIHJlbWFpbmluZyBmcmFtZXMgb24gRU9TLiBGaXhlcyAjNTYwNjQxLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFlvdGFtIDxzaCBkb3QgeW90YW0gYXQgZ21haWwgZG90IGNvbT4KCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuYzogKGdzdF9ydHBfbXA0dl9wYXlfZXZlbnQpOgoJICBGbHVzaCB0aGUgcmVtYWluaW5nIGZyYW1lcyBvbiBFT1MuIEZpeGVzICM1NjA2NDEuCgoyMDA4LTExLTEyIDE2OjM3OjA2ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC9ydHAvZ3N0cnRwZzcyOXBheS5jOiBGaXggY29tcGlsZXIgd2FybmluZyBhYm91dCBwcmludGYgZm9ybWF0dGluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBnNzI5cGF5LmM6IChnc3RfcnRwX2c3MjlfcGF5X2hhbmRsZV9idWZmZXIpOgoJICBGaXggY29tcGlsZXIgd2FybmluZyBhYm91dCBwcmludGYgZm9ybWF0dGluZy4KCjIwMDgtMTEtMTIgMTE6NTU6MTQgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguKjogUXVldWUgdXAgbmV3IHNlZ21lbnQgZXZlbnRzIGluc3RlYWQgb2Ygc2VuZGluZyB0aGVtIGZyb20gdGhlIHNlZWtpbmcgdGhyZWFkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmggKHN0cnVjdCBfR3N0UVREZW11eCk6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jIChnc3RfcXRkZW11eF9kb19zZWVrKTogUXVldWUgdXAgbmV3CgkgIHNlZ21lbnQgZXZlbnRzIGluc3RlYWQgb2Ygc2VuZGluZyB0aGVtIGZyb20gdGhlIHNlZWtpbmcgdGhyZWFkLgoJICBGaXhlcyAjNTU5Mjg4LgoJICAoZ3N0X3F0ZGVtdXhfcHVzaF9wZW5kaW5nX25ld3NlZ21lbnQpOiBOZXcgaGVscGVyLCBzZW5kcyBvdXQKCSAgcXVldWVkIG5ld3NlZ21lbnQgZXZlbnRzLgoJICAoZ3N0X3F0ZGVtdXhfbG9vcF9zdGF0ZV9tb3ZpZSk6IFZvaWzDoCwgY2FsbCBpdCBoZXJlLiBPbmx5IG5lZWQgdG8KCSAgY2FsbCBpdCBoZXJlLCBhcyB3ZSBvbmx5IHNlZWsgd2hlbiBsb29waW5nLCBhbmQgb25seSBwdXNoIGluIHRoZQoJICBtb3ZpZSBzdGF0ZS4KCjIwMDgtMTEtMTEgMTk6NTI6MDUgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSAgZ3N0L3F0ZGVtdXgvOiBBZGQgY292ZXIgYW5kIGFsdGVybmF0aXZlIGNvcHlyaWdodCB0YWcsIGFuZCBlbmhhbmNlIHNvbWUgZXhpc3Rpbmcgb25lcyBieSBtYXJraW5nIHRoZW0gYXMgY29udGFpbmVyIGF0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfdGFnX2FkZF90bXBvKSwKCSAgKHF0ZGVtdXhfdGFnX2FkZF9jb3ZyKSwgKHF0ZGVtdXhfcGFyc2VfdWR0YSk6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eF9mb3VyY2MuaDoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4X3R5cGVzLmM6CgkgIEFkZCBjb3ZlciBhbmQgYWx0ZXJuYXRpdmUgY29weXJpZ2h0IHRhZywgYW5kIGVuaGFuY2Ugc29tZSBleGlzdGluZwoJICBvbmVzIGJ5IG1hcmtpbmcgdGhlbSBhcyBjb250YWluZXIgYXRvbXMuCgoyMDA4LTExLTExIDE3OjMzOjAwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC9nc3RydHBnNzI5cGF5LmM6IERvbid0IGlnbm9yZSB0aGUgcmV0dXJuIHZhbHVlIG9mIHNldGNhcHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwZzcyOXBheS5jOiAoZ3N0X3J0cF9nNzI5X3BheV9zZXRfY2Fwcyk6CgkgIERvbid0IGlnbm9yZSB0aGUgcmV0dXJuIHZhbHVlIG9mIHNldGNhcHMuCgoyMDA4LTExLTExIDE3OjI5OjAzICswMDAwICBPbGl2aWVyIENyZXRlIDx0ZXN0ZXJAdGVzdGVyLmNhPgoKCSAgZ3N0L3J0cC9nc3RydHBnNzI5cGF5Lio6IFJlcGxhY2UgRzcyOSBwYXlsb2FkZXIgd2l0aCBhbiBpbXByb3ZlZCB2ZXJzaW9uLiBGaXhlcyAjNTMyNDA5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE9saXZpZXIgQ3JldGUgPHRlc3RlciBhdCB0ZXN0ZXIgZG90IGNhPgoJICAqIGdzdC9ydHAvZ3N0cnRwZzcyOXBheS5jOiAoZ3N0X3J0cF9nNzI5X3BheV9iYXNlX2luaXQpLAoJICAoZ3N0X3J0cF9nNzI5X3BheV9jbGFzc19pbml0KSwgKGdzdF9ydHBfZzcyOV9wYXlfaW5pdCksCgkgIChnc3RfcnRwX2c3MjlfcGF5X3NldF9jYXBzKSwgKGdzdF9ydHBfZzcyOV9wYXlfaGFuZGxlX2J1ZmZlcik6CgkgICogZ3N0L3J0cC9nc3RydHBnNzI5cGF5Lmg6CgkgIFJlcGxhY2UgRzcyOSBwYXlsb2FkZXIgd2l0aCBhbiBpbXByb3ZlZCB2ZXJzaW9uLiBGaXhlcyAjNTMyNDA5LgoKMjAwOC0xMS0xMSAxNjowMDo0OCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogT25seSBzZW5kIG9uZSB0cmFuc3BvcnQgYXQgYSB0aW1lIGZvciBpbXByb3ZlZCBjb21wYXRpYmlsaXR5IHdpdGggc29tZSBicm9rZW4gc2VydmVycy4gU2VlICM1My4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19jcmVhdGVfdHJhbnNwb3J0c19zdHJpbmcpLAoJICAoZ3N0X3J0c3BzcmNfY2hhbmdlX3N0YXRlKToKCSAgT25seSBzZW5kIG9uZSB0cmFuc3BvcnQgYXQgYSB0aW1lIGZvciBpbXByb3ZlZCBjb21wYXRpYmlsaXR5IHdpdGggc29tZQoJICBicm9rZW4gc2VydmVycy4gU2VlICM1Mzc4MzIuCgoyMDA4LTExLTExIDE1OjE2OjMxICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiBPbmx5IHBhdXNlL3BsYXkgaW4gdGhlIHNlZWsgaGFuZGxlciB3aGVuIHRoZSBzb3VyY2Ugd2FzIHBsYXlpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX2RvX3NlZWspLAoJICAoZ3N0X3J0c3BzcmNfcGVyZm9ybV9zZWVrKToKCSAgT25seSBwYXVzZS9wbGF5IGluIHRoZSBzZWVrIGhhbmRsZXIgd2hlbiB0aGUgc291cmNlIHdhcyBwbGF5aW5nLgoJICBGaXhlcyAjNTI5Mzc5LgoKMjAwOC0xMS0xMSAxMjoxODoyMyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOiBGaXggbXV4aW5nIG9mIERpcmFjIHN0cmVhbXMgaWYgdGhlIGlucHV0IGFscmVhZHkgaGFzIHRoZSBmb3JtYXQgd2UgbmVlZCwgaS5lLiBpcyB0aGUgb3V0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgKGdzdF9tYXRyb3NrYV9tdXhfaGFuZGxlX2RpcmFjX3BhY2tldCk6CgkgIEZpeCBtdXhpbmcgb2YgRGlyYWMgc3RyZWFtcyBpZiB0aGUgaW5wdXQgYWxyZWFkeSBoYXMgdGhlIGZvcm1hdAoJICB3ZSBuZWVkLCBpLmUuIGlzIHRoZSBvdXRwdXQgb2YgbWF0cm9za2FkZW11eC4KCjIwMDgtMTEtMTEgMTA6MDY6MDEgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9hdmkvZ3N0YXZpbXV4LmM6IERvbid0IHNlZ2ZhdWx0IG9uIHN0cmluZyB0eXBlZCB0YWdzIGJlaW5nIE5VTEwuIEZpeGVzICM1NjAxNTUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkgIERvbid0IHNlZ2ZhdWx0IG9uIHN0cmluZyB0eXBlZCB0YWdzIGJlaW5nIE5VTEwuIEZpeGVzICM1NjAxNTUuCgoyMDA4LTExLTEwIDE2OjQ0OjQ1ICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzogRml4IG1hcHBpbmcgQUFDIHByb2ZpbGUgdG8gTWF0cm9za2EgY29kZWMgaWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzogKGFhY19jb2RlY19kYXRhX3RvX2NvZGVjX2lkKSwKCSAgKGdzdF9tYXRyb3NrYV9tdXhfYXVkaW9fcGFkX3NldGNhcHMpOgoJICBGaXggbWFwcGluZyBBQUMgcHJvZmlsZSB0byBNYXRyb3NrYSBjb2RlYyBpZC4KCjIwMDgtMTEtMTAgMTY6MzY6MDkgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBSZWZhY3RvciBzb21lIHJhdyBhdWRpbyBjYXBzIGJ1aWxkaW5nLCBhbmQgaGFuZGxlID4xNi1iaXQgY2FzZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfcGFyc2VfdHJhayksCgkgIChxdGRlbXV4X3ZpZGVvX2NhcHMpLCAocXRkZW11eF9hdWRpb19jYXBzKToKCSAgUmVmYWN0b3Igc29tZSByYXcgYXVkaW8gY2FwcyBidWlsZGluZywgYW5kIGhhbmRsZSA+MTYtYml0IGNhc2VzLgoJICBGaXgvcmVwbGFjZSBidWlsZGluZyBjYXBzIGZyb20gYSBzdHJpbmcgZGVzY3JpcHRpb24uCgoyMDA4LTExLTEwIDEzOjU5OjI3ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGdzdC86IE1ha2UgYXV0aG9yIG5hbWUgY29uc2lzdGVudCB3aXRoIG90aGVycy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW93c2luY2JhbmQuYzoKCSAgKiBnc3QvYXVkaW9meC9hdWRpb3dzaW5jbGltaXQuYzoKCSAgKiBnc3QvY3V0dGVyL2dzdGN1dHRlci5jOgoJICBNYWtlIGF1dGhvciBuYW1lIGNvbnNpc3RlbnQgd2l0aCBvdGhlcnMuCgoyMDA4LTExLTEwIDEyOjEzOjIxICswMDAwICBFcmljIFpoYW5nIDxjaGFvLnpoYW5nQGFjY2Vzcy1jb21wYW55LmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogUGF1c2UgdGhlIFJUU1Agc3RyZWFtIGJlZm9yZSBkb2luZyBhIG5ldyBwbGF5IHJlcXVlc3QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBCYXNlZCBvbiBwYXRjaCBieTogRXJpYyBaaGFuZyA8Y2hhby56aGFuZyBhdCBhY2Nlc3MtY29tcGFueSBkb3QgY29tPgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX3BlcmZvcm1fc2VlayksCgkgIChnc3RfcnRzcHNyY19zdHJlYW1fY29uZmlndXJlX3VkcF9zaW5rKToKCSAgUGF1c2UgdGhlIFJUU1Agc3RyZWFtIGJlZm9yZSBkb2luZyBhIG5ldyBwbGF5IHJlcXVlc3QuCgkgIE1ha2Ugc3VyZSB0aGF0IGFkZGluZyB0aGUgdWRwc2lua3MgZG9lcyBub3QgY2F1c2UgdGhlIHJ0c3BzcmMgdG8gYmVjb21lCgkgIGEgc2luay4gRml4ZXMgIzU1OTU0Ny4KCjIwMDgtMTEtMDUgMTQ6NDI6MzUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9tYXRyb3NrYS86IEltcGxlbWVudCBEaXJhYyBtdXhpbmcgaW50byBNYXRyb3NrYSBjb21mb3JtaW5nIHRvIHRoZSBzcGVjLCBpLmUuIHB1dCBhbGwgRGlyYWMgcGFja2FnZXMgdXAgdG8gYSBwaWN0dS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmg6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOiAoZ3N0X21hdHJvc2thX3BhZF9mcmVlKSwKCSAgKGdzdF9tYXRyb3NrYV9tdXhfaGFuZGxlX2RpcmFjX3BhY2tldCksCgkgIChnc3RfbWF0cm9za2FfbXV4X3dyaXRlX2RhdGEpOgoJICBJbXBsZW1lbnQgRGlyYWMgbXV4aW5nIGludG8gTWF0cm9za2EgY29tZm9ybWluZyB0byB0aGUgc3BlYywgaS5lLgoJICBwdXQgYWxsIERpcmFjIHBhY2thZ2VzIHVwIHRvIGEgcGljdHVyZSBpbnRvIGEgTWF0cm9za2EgYmxvY2suCgkgIFRPRE86IEltcGxlbWVudCB3cml0aW5nIG9mIHRoZSBSZWZlcmVuY2VCbG9jayBNYXRyb3NrYSBlbGVtZW50cywKCSAgY3VycmVudGx5IHRoZSBEaXJhYyBtdXhpbmcgaXMgb25seSAxMDAlIGNvcnJlY3QgaWYgTWF0cm9za2EgdmVyc2lvbiAyCgkgIGlzIHNlbGVjdGVkIGZvciBtdXhpbmcuCgoyMDA4LTExLTA0IDEyOjMyOjQ4ICswMDAwICBCYXN0aWVuIE5vY2VyYSA8aGFkZXNzQGhhZGVzcy5uZXQ+CgoJICBPcHRpb25hbGx5IHVzZSBsaWJ2NGwgdG8gYWNjZXNzIHY0bDIgZGV2aWNlcy4gRml4ZXMgYnVnICM1NDUwMzMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogQmFzdGllbiBOb2NlcmEgPGhhZGVzcyBhdCBoYWRlc3MgZG90IG5ldD4sCgkgIEhhbnMgZGUgR29lZGUgPGp3cmRlZ29lZGUgYXQgZmVkb3JhcHJvamVjdCBkb3Qgb3JnPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBzeXMvdjRsMi9NYWtlZmlsZS5hbToKCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6IChnc3RfdjRsMnNyY19nZXRfcmVhZCk6CgkgICogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOiAoZ3N0X3Y0bDJfZ2V0X2NhcGFiaWxpdGllcyksCgkgIChnc3RfdjRsMl9maWxsX2xpc3RzKSwgKGdzdF92NGwyX29wZW4pLCAoZ3N0X3Y0bDJfY2xvc2UpLAoJICAoZ3N0X3Y0bDJfZ2V0X25vcm0pLCAoZ3N0X3Y0bDJfc2V0X25vcm0pLCAoZ3N0X3Y0bDJfZ2V0X2ZyZXF1ZW5jeSksCgkgIChnc3RfdjRsMl9zZXRfZnJlcXVlbmN5KSwgKGdzdF92NGwyX3NpZ25hbF9zdHJlbmd0aCksCgkgIChnc3RfdjRsMl9nZXRfYXR0cmlidXRlKSwgKGdzdF92NGwyX3NldF9hdHRyaWJ1dGUpLAoJICAoZ3N0X3Y0bDJfZ2V0X2lucHV0KSwgKGdzdF92NGwyX3NldF9pbnB1dCk6CgkgICogc3lzL3Y0bDIvdjRsMl9jYWxscy5oOgoJICAqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzogKGdzdF92NGwyX2J1ZmZlcl9maW5hbGl6ZSksCgkgIChnc3RfdjRsMl9idWZmZXJfbmV3KSwgKGdzdF92NGwyX2J1ZmZlcl9wb29sX2ZpbmFsaXplKSwKCSAgKGdzdF92NGwyX2J1ZmZlcl9wb29sX25ldyksIChnc3RfdjRsMl9idWZmZXJfcG9vbF9hY3RpdmF0ZSksCgkgIChnc3RfdjRsMnNyY19maWxsX2Zvcm1hdF9saXN0KSwKCSAgKGdzdF92NGwyc3JjX3Byb2JlX2NhcHNfZm9yX2Zvcm1hdF9hbmRfc2l6ZSksCgkgIChnc3RfdjRsMnNyY19wcm9iZV9jYXBzX2Zvcl9mb3JtYXQpLCAoZ3N0X3Y0bDJzcmNfZ3JhYl9mcmFtZSksCgkgIChnc3RfdjRsMnNyY19zZXRfY2FwdHVyZSksIChnc3RfdjRsMnNyY19jYXB0dXJlX2luaXQpLAoJICAoZ3N0X3Y0bDJzcmNfY2FwdHVyZV9zdGFydCksIChnc3RfdjRsMnNyY19jYXB0dXJlX3N0b3ApLAoJICAoZ3N0X3Y0bDJzcmNfZ2V0X25lYXJlc3Rfc2l6ZSk6CgkgIE9wdGlvbmFsbHkgdXNlIGxpYnY0bCB0byBhY2Nlc3MgdjRsMiBkZXZpY2VzLiBGaXhlcyBidWcgIzU0NTAzMy4KCjIwMDgtMTEtMDQgMTI6Mjg6MzQgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIERvbid0IGluc3RhbGwgc3RhdGljIGxpYnMgZm9yIHBsdWdpbnMuIEZpeGVzICM1NTA4NTEgZm9yIC1nb29kLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYWFsaWIvTWFrZWZpbGUuYW06CgkgICogZXh0L2Fubm9kZXgvTWFrZWZpbGUuYW06CgkgICogZXh0L2NhaXJvL01ha2VmaWxlLmFtOgoJICAqIGV4dC9kdi9NYWtlZmlsZS5hbToKCSAgKiBleHQvZXNkL01ha2VmaWxlLmFtOgoJICAqIGV4dC9mbGFjL01ha2VmaWxlLmFtOgoJICAqIGV4dC9nY29uZi9NYWtlZmlsZS5hbToKCSAgKiBleHQvZ2RrX3BpeGJ1Zi9NYWtlZmlsZS5hbToKCSAgKiBleHQvaGFsL01ha2VmaWxlLmFtOgoJICAqIGV4dC9qcGVnL01ha2VmaWxlLmFtOgoJICAqIGV4dC9sYWRzcGEvTWFrZWZpbGUuYW06CgkgICogZXh0L2xpYmNhY2EvTWFrZWZpbGUuYW06CgkgICogZXh0L2xpYm1uZy9NYWtlZmlsZS5hbToKCSAgKiBleHQvbGlicG5nL01ha2VmaWxlLmFtOgoJICAqIGV4dC9taWttb2QvTWFrZWZpbGUuYW06CgkgICogZXh0L3B1bHNlL01ha2VmaWxlLmFtOgoJICAqIGV4dC9yYXcxMzk0L01ha2VmaWxlLmFtOgoJICAqIGV4dC9zaG91dDIvTWFrZWZpbGUuYW06CgkgICogZXh0L3NvdXAvTWFrZWZpbGUuYW06CgkgICogZXh0L3NwZWV4L01ha2VmaWxlLmFtOgoJICAqIGV4dC90YWdsaWIvTWFrZWZpbGUuYW06CgkgICogZXh0L3dhdnBhY2svTWFrZWZpbGUuYW06CgkgICogZ3N0L2FscGhhL01ha2VmaWxlLmFtOgoJICAqIGdzdC9hcGV0YWcvTWFrZWZpbGUuYW06CgkgICogZ3N0L2F1ZGlvZngvTWFrZWZpbGUuYW06CgkgICogZ3N0L2F1cGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L2F1dG9kZXRlY3QvTWFrZWZpbGUuYW06CgkgICogZ3N0L2F2aS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvY3V0dGVyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9kZWJ1Zy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZWZmZWN0di9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZXF1YWxpemVyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9mbHgvTWFrZWZpbGUuYW06CgkgICogZ3N0L2dvb20vTWFrZWZpbGUuYW06CgkgICogZ3N0L2dvb20yazEvTWFrZWZpbGUuYW06CgkgICogZ3N0L2ljeWRlbXV4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9pZDNkZW11eC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvaW50ZXJsZWF2ZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbGF3L01ha2VmaWxlLmFtOgoJICAqIGdzdC9sZXZlbC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbWF0cm9za2EvTWFrZWZpbGUuYW06CgkgICogZ3N0L21lZGlhbi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbW9ub3Njb3BlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tdWx0aWZpbGUvTWFrZWZpbGUuYW06CgkgICogZ3N0L211bHRpcGFydC9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvb2xkY29yZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcXRkZW11eC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcmVwbGF5Z2Fpbi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9ydHNwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zbXB0ZS9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc3BlY3RydW0vTWFrZWZpbGUuYW06CgkgICogZ3N0L3VkcC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdmlkZW9ib3gvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZpZGVvY3JvcC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdmlkZW9maWx0ZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZpZGVvbWl4ZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L3dhdmVuYy9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvd2F2cGFyc2UvTWFrZWZpbGUuYW06CgkgICogc3lzL2RpcmVjdGRyYXcvTWFrZWZpbGUuYW06CgkgICogc3lzL2RpcmVjdHNvdW5kL01ha2VmaWxlLmFtOgoJICAqIHN5cy9vc3MvTWFrZWZpbGUuYW06CgkgICogc3lzL29zeGF1ZGlvL01ha2VmaWxlLmFtOgoJICAqIHN5cy9vc3h2aWRlby9NYWtlZmlsZS5hbToKCSAgKiBzeXMvc3VuYXVkaW8vTWFrZWZpbGUuYW06CgkgICogc3lzL3Y0bDIvTWFrZWZpbGUuYW06CgkgICogc3lzL3dhdmVmb3JtL01ha2VmaWxlLmFtOgoJICAqIHN5cy94aW1hZ2UvTWFrZWZpbGUuYW06CgkgIERvbid0IGluc3RhbGwgc3RhdGljIGxpYnMgZm9yIHBsdWdpbnMuIEZpeGVzICM1NTA4NTEgZm9yIC1nb29kLgoKMjAwOC0xMC0zMSAxODoxNzo1MCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L2ZsYWMvTWFrZWZpbGUuYW06IEluY2x1ZGUgJChGTEFDX0NGTEFHUykgaW4gQ0ZMQUdTIHRvIG1ha2Ugc3VyZSB0byBmaW5kIHRoZSBGTEFDIGhlYWRlcnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mbGFjL01ha2VmaWxlLmFtOgoJICBJbmNsdWRlICQoRkxBQ19DRkxBR1MpIGluIENGTEFHUyB0byBtYWtlIHN1cmUgdG8gZmluZCB0aGUgRkxBQyBoZWFkZXJzLgoJICBUaGlzIGZpeGVzIGNvbXBpbGF0aW9uIGlmIEZMQUMgaXMgaW5zdGFsbGVkIGluIGFuIHVuY29tbW9uIGxvY2F0aW9uCgkgIHRoYXQgaXMgbm90IGFscmVhZHkgaGFuZGxlZCBieSBvdGhlciBDRkxBR1MuIEZpeGVzIGJ1ZyAjNTU4NzExLgoKMjAwOC0xMC0zMSAxMDowODo1MCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzogR3VhcmQgbW9yZSB1bmNvbW1vbiBmb3JtYXRzIHdpdGggaWZkZWZzIHNvIHRoYXQgd2UgY2FuIGNvbXBpbGUgb24gb2xkZXIgdmVyc2lvbnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzogKGdzdF92NGwyc3JjX2Zvcm1hdF9nZXRfcmFuayk6CgkgIEd1YXJkIG1vcmUgdW5jb21tb24gZm9ybWF0cyB3aXRoIGlmZGVmcyBzbyB0aGF0IHdlIGNhbiBjb21waWxlIG9uIG9sZGVyCgkgIHZlcnNpb25zLgoKMjAwOC0xMC0zMSAxMDowMDoxOCArMDAwMCAgTmljayBIYWRkYWQgPG5pY2tAaGFkZGFkcy5uZXQ+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IEludmVydCBvdGhlciB1bmNvbXByZXNzZWQgUkdCIGZvcm1hdHMuIEZpeGVzICM1NTg1NTQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogTmljayBIYWRkYWQgPG5pY2sgYXQgaGFkZGFkcyBkb3QgbmV0PgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfaXNfdW5jb21wcmVzc2VkKSwKCSAgKGdzdF9hdmlfZGVtdXhfaW52ZXJ0KSwgKGdzdF9hdmlfZGVtdXhfcHJvY2Vzc19uZXh0X2VudHJ5KSwKCSAgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2RhdGEpOgoJICBJbnZlcnQgb3RoZXIgdW5jb21wcmVzc2VkIFJHQiBmb3JtYXRzLiBGaXhlcyAjNTU4NTU0LgoKMjAwOC0xMC0zMCAxNTowODo0OSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3dhdmVuYy9nc3R3YXZlbmMuKjogQWRkIHN1cHBvcnQgZm9yIGZsb2F0L2RvdWJsZSBhcyBpbnB1dCBhbmQgcmVtb3ZlIHRoZSAobm93YWRheXMpIHVzZWxlc3MgcGFyc2luZyBvZiB0aGUgZGVwdGggLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmM6IChnc3Rfd2F2ZW5jX2NyZWF0ZV9oZWFkZXJfYnVmKSwKCSAgKGdzdF93YXZlbmNfc2lua19zZXRjYXBzKSwgKGdzdF93YXZlbmNfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5oOgoJICBBZGQgc3VwcG9ydCBmb3IgZmxvYXQvZG91YmxlIGFzIGlucHV0IGFuZCByZW1vdmUgdGhlIChub3dhZGF5cykKCSAgdXNlbGVzcyBwYXJzaW5nIG9mIHRoZSBkZXB0aCBhcyB3ZSByZXF1aXJlIHdpZHRoPT1kZXB0aC4KCjIwMDgtMTAtMzAgMTA6MzE6MzUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwLzogTmFycm93IGRvd24gdGhlIGNhcHMgb2YgdGhlIG1wZWcgYXVkaW8gcGF5L2RlcGF5bG9hZGVycyB0byBvbmx5IGFjY2VwdCBtcGVnIHZlcnNpb24gMS4gRml4ZXMgIzU1ODQyNy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBtcGFkZXBheS5jOiAoZ3N0X3J0cF9tcGFfZGVwYXlfc2V0Y2Fwcyk6CgkgICogZ3N0L3J0cC9nc3RydHBtcGFwYXkuYzoKCSAgTmFycm93IGRvd24gdGhlIGNhcHMgb2YgdGhlIG1wZWcgYXVkaW8gcGF5L2RlcGF5bG9hZGVycyB0byBvbmx5IGFjY2VwdAoJICBtcGVnIHZlcnNpb24gMS4gRml4ZXMgIzU1ODQyNy4KCjIwMDgtMTAtMjkgMTg6Mjg6MjUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwL2dzdHJ0cEwxNnBheS5jOiBPbmx5IHB1dCBhbiBpbnRlZ3JhbCBhbW91bnQgb2Ygc2FtcGxlcyBpbiB0aGUgUlRQIHBhY2tldC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBMMTZwYXkuYzogKGdzdF9ydHBfTDE2X3BheV9mbHVzaCksCgkgIChnc3RfcnRwX0wxNl9wYXlfZ2V0Y2Fwcyk6CgkgIE9ubHkgcHV0IGFuIGludGVncmFsIGFtb3VudCBvZiBzYW1wbGVzIGluIHRoZSBSVFAgcGFja2V0LgoJICBGaXhlcyAjNTU2NjQxLgoKMjAwOC0xMC0yOCAxNzo0MjowMiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvZ3N0cnRwY2hhbm5lbHMuKjogQWRkIG1ldGhvZCB0byBnZXQgcG9zc2libGUgY2hhbm5lbCBwb3NpdGlvbnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwY2hhbm5lbHMuYzogKGdzdF9ydHBfY2hhbm5lbHNfZ2V0X2J5X2luZGV4KToKCSAgKiBnc3QvcnRwL2dzdHJ0cGNoYW5uZWxzLmg6CgkgIEFkZCBtZXRob2QgdG8gZ2V0IHBvc3NpYmxlIGNoYW5uZWwgcG9zaXRpb25zLgoKMjAwOC0xMC0yOCAxNzozOTo0OCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvTWFrZWZpbGUuYW06IEFsc28gY29tbWl0IHVwZGF0ZWQgbWFrZWZpbGUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSAgQWxzbyBjb21taXQgdXBkYXRlZCBtYWtlZmlsZQoKMjAwOC0xMC0yOCAxNDo1NjowOCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3dhdmVuYy9nc3R3YXZlbmMuYzogRG9uJ3QgYWxsb3cgd2lkdGg9MzIsZGVwdGg9MjQgYXMgaW5wdXQuIFdBViByZXF1aXJlcyB0aGF0IHRoZSB3aWR0aCBpcyB0aGUgbmV4dCBpbnRlZ2VyIG11bHRpLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmM6IChnc3Rfd2F2ZW5jX2NoYWluKToKCSAgRG9uJ3QgYWxsb3cgd2lkdGg9MzIsZGVwdGg9MjQgYXMgaW5wdXQuIFdBViByZXF1aXJlcyB0aGF0IHRoZSB3aWR0aAoJICBpcyB0aGUgbmV4dCBpbnRlZ2VyIG11bHRpcGx5IG9mIDggZnJvbSB0aGUgZGVwdGguCgoyMDA4LTEwLTI4IDEwOjAxOjQ5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC86IEFkZCBtYXBwaW5ncyBmb3IgbXVsdGljaGFubmVsIHN1cHBvcnQuIERvZXMgbm90IGNvbXBsZXRlbHkganVzdCB3b3JrIGJlY2F1c2UgdGhlIGdldGNhcHMgZnVuY3Rpb24gZG9lcyBub3QgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwTDE2ZGVwYXkuYzogKGdzdF9ydHBfTDE2X2RlcGF5X3NldGNhcHMpOgoJICAqIGdzdC9ydHAvZ3N0cnRwTDE2cGF5LmM6IChnc3RfcnRwX0wxNl9wYXlfc2V0Y2FwcyksCgkgIChnc3RfcnRwX0wxNl9wYXlfZ2V0Y2Fwcyk6CgkgICogZ3N0L3J0cC9nc3RydHBjaGFubmVscy5jOiAoY2hlY2tfY2hhbm5lbHMpLAoJICAoZ3N0X3J0cF9jaGFubmVsc19nZXRfYnlfcG9zKSwgKGdzdF9ydHBfY2hhbm5lbHNfZ2V0X2J5X29yZGVyKSwKCSAgKGdzdF9ydHBfY2hhbm5lbHNfY3JlYXRlX2RlZmF1bHQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwY2hhbm5lbHMuaDoKCSAgQWRkIG1hcHBpbmdzIGZvciBtdWx0aWNoYW5uZWwgc3VwcG9ydC4gRG9lcyBub3QgY29tcGxldGVseSBqdXN0IHdvcmsKCSAgYmVjYXVzZSB0aGUgZ2V0Y2FwcyBmdW5jdGlvbiBkb2VzIG5vdCB5ZXQgcmV0dXJuIHRoZSBhbGxvd2VkIGNoYW5uZWwKCSAgbWFwcGluZ3MuIFNlZSAjNTU2NjQxLgoKMjAwOC0xMC0yOCAwNjo1MDo1NyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2dvb20vOiBBZGQgbGljZW5zZSBoZWFkZXJzIGluIGFsbCBzb3VyY2UgZmlsZXMuIFJlbW92ZSBmaWx0ZXIuYyBmcm9tCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9nb29tL01ha2VmaWxlLmFtOgoJICAqIGdzdC9nb29tL1JFQURNRToKCSAgKiBnc3QvZ29vbS9jb25maWdfcGFyYW0uYzoKCSAgKiBnc3QvZ29vbS9jb252b2x2ZV9meC5jOgoJICAqIGdzdC9nb29tL2RyYXdtZXRob2RzLmM6CgkgICogZ3N0L2dvb20vZHJhd21ldGhvZHMuaDoKCSAgKiBnc3QvZ29vbS9maWx0ZXJzLmM6CgkgICogZ3N0L2dvb20vZmlsdGVyc19tbXguczoKCSAgKiBnc3QvZ29vbS9mbHlpbmdfc3RhcnNfZnguYzoKCSAgKiBnc3QvZ29vbS9nb29tLmg6CgkgICogZ3N0L2dvb20vZ29vbV9jb25maWcuaDoKCSAgKiBnc3QvZ29vbS9nb29tX2NvbmZpZ19wYXJhbS5oOgoJICAqIGdzdC9nb29tL2dvb21fY29yZS5jOgoJICAqIGdzdC9nb29tL2dvb21fZmlsdGVycy5oOgoJICAqIGdzdC9nb29tL2dvb21fZnguaDoKCSAgKiBnc3QvZ29vbS9nb29tX2dyYXBoaWMuaDoKCSAgKiBnc3QvZ29vbS9nb29tX3BsdWdpbl9pbmZvLmg6CgkgICogZ3N0L2dvb20vZ29vbV90b29scy5jOgoJICAqIGdzdC9nb29tL2dvb21fdG9vbHMuaDoKCSAgKiBnc3QvZ29vbS9nb29tX3R5cGVkZWZzLmg6CgkgICogZ3N0L2dvb20vZ29vbV92aXN1YWxfZnguaDoKCSAgKiBnc3QvZ29vbS9ncmFwaGljLmM6CgkgICogZ3N0L2dvb20vaWZzLmM6CgkgICogZ3N0L2dvb20vaWZzLmg6CgkgICogZ3N0L2dvb20vbGluZXMuYzoKCSAgKiBnc3QvZ29vbS9saW5lcy5oOgoJICAqIGdzdC9nb29tL21hdGh0b29scy5jOgoJICAqIGdzdC9nb29tL21hdGh0b29scy5oOgoJICAqIGdzdC9nb29tL21teC5jOgoJICAqIGdzdC9nb29tL21vdGlmX2dvb20xLmg6CgkgICogZ3N0L2dvb20vbW90aWZfZ29vbTIuaDoKCSAgKiBnc3QvZ29vbS9wbHVnaW5faW5mby5jOgoJICAqIGdzdC9nb29tL3BwY19kcmF3aW5ncy5oOgoJICAqIGdzdC9nb29tL3BwY196b29tX3VsdGltYXRlLmg6CgkgICogZ3N0L2dvb20vc291bmRfdGVzdGVyLmM6CgkgICogZ3N0L2dvb20vc291bmRfdGVzdGVyLmg6CgkgICogZ3N0L2dvb20vc3VyZjNkLmM6CgkgICogZ3N0L2dvb20vc3VyZjNkLmg6CgkgICogZ3N0L2dvb20vdGVudGFjbGUzZC5jOgoJICAqIGdzdC9nb29tL3RlbnRhY2xlM2QuaDoKCSAgKiBnc3QvZ29vbS92M2QuYzoKCSAgKiBnc3QvZ29vbS92M2QuaDoKCSAgKiBnc3QvZ29vbS94bW14LmM6CgkgIEFkZCBsaWNlbnNlIGhlYWRlcnMgaW4gYWxsIHNvdXJjZSBmaWxlcy4gUmVtb3ZlIGZpbHRlci5jIGZyb20KCSAgRVhUUkFfRElTVCwgYXMgaXRzIGluIFNPVVJDRVMgYWxyZWFkeS4gTWVudGlvbiB0aGUgZmlsZXMgaW4gdGhlIFJFRE1FCgkgIHdoaWNoIGFyZSBub3QgdXNlZCByaWdodCBub3cuIEZpeGVzICM1NTc3MDkuCgoyMDA4LTEwLTI3IDExOjI4OjMwICswMDAwICBPbGl2aWVyIENyZXRlIDx0ZXN0ZXJAdGVzdGVyLmNhPgoKCSAgZ3N0L3J0cC9nc3RydHBMMTZwYXkuYzogSW1wbGVtZW50IGdldGNhcHMgaW4gcnRwTDE2cGF5LiBGaXhlcyAjNTU2NDg0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE9saXZpZXIgQ3JldGUgPHRlc3RlciBhdCB0ZXN0ZXIgZG90IGNhPgoJICAqIGdzdC9ydHAvZ3N0cnRwTDE2cGF5LmM6IChnc3RfcnRwX0wxNl9wYXlfY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwX0wxNl9wYXlfc2V0Y2FwcyksIChnc3RfcnRwX0wxNl9wYXlfZ2V0Y2Fwcyk6CgkgIEltcGxlbWVudCBnZXRjYXBzIGluIHJ0cEwxNnBheS4gRml4ZXMgIzU1NjQ4NC4KCjIwMDgtMTAtMjcgMTE6MDM6NTMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwL2dzdHJ0cEwxNmRlcGF5LmM6IENoZWNrIGlmIGNsb2NrLXJhdGUgYW5kIGNoYW5uZWxzIGFyZSB2YWxpZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBMMTZkZXBheS5jOiAoZ3N0X3J0cF9MMTZfZGVwYXlfc2V0Y2FwcyksCgkgIChnc3RfcnRwX0wxNl9kZXBheV9wcm9jZXNzKToKCSAgQ2hlY2sgaWYgY2xvY2stcmF0ZSBhbmQgY2hhbm5lbHMgYXJlIHZhbGlkLgoJICBEb24ndCBpZ25vcmUgdGhlIHJldHVybiB2YWx1ZSBvZiBzZXRjYXBzLgoJICBObyBuZWVkIHRvIHZhbGlkYXRlIHRoZSBidWZmZXIsIHRoZSBiYXNlIGNsYXNzIGRvZXMgdGhhdCBmb3IgdXMuCgkgIFVzZSB0aGUgbWFya2VyIGJpdCB0byBzZXQgdGhlIERJU0NPTlQgZmxhZyBvbiBvdXRnb2luZyBidWZmZXJzLgoJICAqIGdzdC9ydHAvZ3N0cnRwTDE2cGF5LmM6IChnc3RfcnRwX0wxNl9wYXlfc2V0Y2Fwcyk6CgkgIERvbid0IGlnbm9yZSB0aGUgcmV0dXJuIHZhbHVlIG9mIHNldF9vdXRjYXBzLgoJICAqIGdzdC9ydHAvZ3N0cnRwYWMzZGVwYXkuYzogKGdzdF9ydHBfYWMzX2RlcGF5X3NldGNhcHMpLAoJICAoZ3N0X3J0cF9hYzNfZGVwYXlfcHJvY2Vzcyk6CgkgIERvbid0IGlnbm9yZSB0aGUgcmV0dXJuIHZhbHVlIG9mIHNldF9jYXBzLgoJICBObyBuZWVkIHRvIHZhbGlkYXRlIHRoZSBidWZmZXIsIHRoZSBiYXNlIGNsYXNzIGRvZXMgdGhhdCBmb3IgdXMuCgkgICogZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5jOiAoZ3N0X3J0cF9hbXJfZGVwYXlfc2V0Y2FwcyksCgkgIChnc3RfcnRwX2Ftcl9kZXBheV9wcm9jZXNzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5Lmg6CgkgIERvbid0IGlnbm9yZSB0aGUgcmV0dXJuIHZhbHVlIG9mIHNldGNhcHMuCgkgIE5vIG5lZWQgdG8gdmFsaWRhdGUgdGhlIGJ1ZmZlciwgdGhlIGJhc2UgY2xhc3MgZG9lcyB0aGF0IGZvciB1cy4KCSAgTm8gbmVlZCB0byBzZXQgb3V0cHV0IGNhcHMgb24gdGhlIGJ1ZmZlcnMsIHRoZSBiYXNlIGNsYXNzIGRvZXMgdGhhdCBmb3IKCSAgdXMuCgkgIFRoZSBzdWJjbGFzcyB3aWxsIG1ha2Ugc3VyZSB3ZSBhcmUgbmVnb3RpYXRlZC4KCSAgKiBnc3QvcnRwL2dzdHJ0cGR2ZGVwYXkuYzogKGdzdF9ydHBfZHZfZGVwYXlfc2V0Y2FwcyksCgkgIChnc3RfcnRwX2R2X2RlcGF5X3Byb2Nlc3MpLCAoZ3N0X3J0cF9kdl9kZXBheV9yZXNldCk6CgkgICogZ3N0L3J0cC9nc3RydHBkdmRlcGF5Lmg6CgkgIENsZWFuIHVwIGNhcHMgbmVnb3RpYXRpb24uCgkgIFRoZSBzdWJjbGFzcyB3aWxsIG1ha2Ugc3VyZSB3ZSBhcmUgbmVnb3RpYXRlZC4KCSAgKiBnc3QvcnRwL2dzdHJ0cGc3MjZkZXBheS5jOiAoZ3N0X3J0cF9nNzI2X2RlcGF5X3NldGNhcHMpLAoJICAoZ3N0X3J0cF9nNzI2X2RlcGF5X3Byb2Nlc3MpOgoJICBDbGVhbiB1cCBjYXBzIG5lZ290aWF0aW9uLgoJICBVc2UgdGhlIG1hcmtlciBiaXQgdG8gc2V0IHRoZSBESVNDT05UIGZsYWcgb24gb3V0Z29pbmcgYnVmZmVycy4KCSAgKiBnc3QvcnRwL2dzdHJ0cGc3MjlkZXBheS5jOiAoZ3N0X3J0cF9nNzI5X2RlcGF5X2luaXQpLAoJICAoZ3N0X3J0cF9nNzI5X2RlcGF5X3NldGNhcHMpLCAoZ3N0X3J0cF9nNzI5X2RlcGF5X3Byb2Nlc3MpOgoJICAqIGdzdC9ydHAvZ3N0cnRwZzcyOWRlcGF5Lmg6CgkgIFRoZSBzdWJjbGFzcyB3aWxsIG1ha2Ugc3VyZSB3ZSBhcmUgbmVnb3RpYXRlZC4KCSAgVXNlIHRoZSBtYXJrZXIgYml0IHRvIHNldCB0aGUgRElTQ09OVCBmbGFnIG9uIG91dGdvaW5nIGJ1ZmZlcnMuCgkgICogZ3N0L3J0cC9nc3RydHBnc21kZXBheS5jOiAoZ3N0X3J0cF9nc21fZGVwYXlfc2V0Y2FwcyksCgkgIChnc3RfcnRwX2dzbV9kZXBheV9wcm9jZXNzKToKCSAgQ2xlYW4gdXAgY2FwcyBuZWdvdGlhdGlvbi4KCSAgVXNlIHRoZSBtYXJrZXIgYml0IHRvIHNldCB0aGUgRElTQ09OVCBmbGFnIG9uIG91dGdvaW5nIGJ1ZmZlcnMuCgkgICogZ3N0L3J0cC9nc3RydHBnc21wYXkuYzogKGdzdF9ydHBfZ3NtX3BheV9zZXRjYXBzKToKCSAgQ2xlYW4gdXAgY2FwcyBuZWdvdGlhdGlvbi4KCSAgRG9uJ3QgaWdub3JlIHRoZSByZXR1cm4gdmFsdWUgb2Ygc2V0X291dGNhcHMuCgkgICogZ3N0L3J0cC9nc3RydHBoMjYzZGVwYXkuYzogKGdzdF9ydHBfaDI2M19kZXBheV9zZXRjYXBzKSwKCSAgKGdzdF9ydHBfaDI2M19kZXBheV9wcm9jZXNzKToKCSAgQ2xlYW4gdXAgY2FwcyBuZWdvdGlhdGlvbi4KCSAgTm8gbmVlZCB0byB2YWxpZGF0ZSB0aGUgYnVmZmVyLCB0aGUgYmFzZSBjbGFzcyBkb2VzIHRoYXQgZm9yIHVzLgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5jOiAoZ3N0X3J0cF9oMjYzX3BheV9zZXRjYXBzKSwKCSAgKGdzdF9ydHBfaDI2M19wYXlfZmx1c2gpLCAoZ3N0X3J0cF9oMjYzX3BheV9oYW5kbGVfYnVmZmVyKToKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuaDoKCSAgRG9uJ3QgaWdub3JlIHRoZSByZXR1cm4gdmFsdWUgb2Ygc2V0X291dGNhcHMuCgkgIERvIHNvbWUgbW9yZSB0aW1lc3RhbXBzLgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2M3BkZXBheS5jOiAoZ3N0X3J0cF9oMjYzcF9kZXBheV9zZXRjYXBzKSwKCSAgKGdzdF9ydHBfaDI2M3BfZGVwYXlfcHJvY2Vzcyk6CgkgIENsZWFuIHVwIGNhcHMgbmVnb3RpYXRpb24uCgkgIERvbid0IGlnbm9yZSB0aGUgcmV0dXJuIHZhbHVlIG9mIHNldGNhcHMuCgkgIE5vIG5lZWQgdG8gdmFsaWRhdGUgdGhlIGJ1ZmZlciwgdGhlIGJhc2UgY2xhc3MgZG9lcyB0aGF0IGZvciB1cy4KCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjNwcGF5LmM6IChnc3RfcnRwX2gyNjNwX3BheV9jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBfaDI2M3BfcGF5X3NldGNhcHMpLCAoZ3N0X3J0cF9oMjYzcF9wYXlfZmx1c2gpLAoJICAoZ3N0X3J0cF9oMjYzcF9wYXlfaGFuZGxlX2J1ZmZlcik6CgkgICogZ3N0L3J0cC9nc3RydHBoMjYzcHBheS5oOgoJICBEb24ndCBpZ25vcmUgdGhlIHJldHVybiB2YWx1ZSBvZiBzZXRfb3V0Y2Fwcy4KCSAgRG8gc29tZSBtb3JlIHRpbWVzdGFtcHMuCgkgICogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzogKGdzdF9ydHBfaDI2NF9kZXBheV9zZXRjYXBzKSwKCSAgKGdzdF9ydHBfaDI2NF9kZXBheV9wcm9jZXNzKToKCSAgQ2xlYW4gdXAgY2FwcyBuZWdvdGlhdGlvbi4KCSAgRG9uJ3QgaWdub3JlIHRoZSByZXR1cm4gdmFsdWUgb2Ygc2V0Y2Fwcy4KCSAgRml4IHBvc3NpYmxlIGNhcHMgbGVhay4KCSAgTm8gbmVlZCB0byB2YWxpZGF0ZSB0aGUgYnVmZmVyLCB0aGUgYmFzZSBjbGFzcyBkb2VzIHRoYXQgZm9yIHVzLgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOiAoZ3N0X3J0cF9oMjY0X3BheV9zZXRjYXBzKToKCSAgQWRkIHNvbWUgbW9yZSBkZWJ1ZyBpbmZvLgoJICAqIGdzdC9ydHAvZ3N0cnRwaWxiY2RlcGF5LmM6IChnc3RfcnRwX2lsYmNfZGVwYXlfc2V0Y2FwcyksCgkgIChnc3RfcnRwX2lsYmNfZGVwYXlfcHJvY2Vzcyk6CgkgIENsZWFuIHVwIGNhcHMgbmVnb3RpYXRpb24uCgkgIFVzZSB0aGUgbWFya2VyIGJpdCB0byBzZXQgdGhlIERJU0NPTlQgZmxhZyBvbiBvdXRnb2luZyBidWZmZXJzLgoJICAqIGdzdC9ydHAvZ3N0cnRwaWxiY3BheS5jOiAoZ3N0X3J0cGlsYmNwYXlfc2lua19zZXRjYXBzKToKCSAgQ2xlYW4gdXAgY2FwcyBuZWdvdGlhdGlvbi4KCSAgKiBnc3QvcnRwL2dzdHJ0cG1wMXNkZXBheS5jOiAoZ3N0X3J0cF9tcDFzX2RlcGF5X3NldGNhcHMpLAoJICAoZ3N0X3J0cF9tcDFzX2RlcGF5X3Byb2Nlc3MpOgoJICBDbGVhbiB1cCBjYXBzIG5lZ290aWF0aW9uLgoJICBEb24ndCBpZ25vcmUgdGhlIHJldHVybiB2YWx1ZSBvZiBzZXRjYXBzLgoJICBObyBuZWVkIHRvIHZhbGlkYXRlIHRoZSBidWZmZXIsIHRoZSBiYXNlIGNsYXNzIGRvZXMgdGhhdCBmb3IgdXMuCgkgIE5vIG5lZWQgdG8gc2V0IGNhcHMgb24gYnVmZmVycywgc3ViY2xhc3MgZG9lcyB0aGF0IGZvciB1cy4KCSAgKiBnc3QvcnRwL2dzdHJ0cG1wMnRkZXBheS5jOiAoZ3N0X3J0cF9tcDJ0X2RlcGF5X3NldGNhcHMpLAoJICAoZ3N0X3J0cF9tcDJ0X2RlcGF5X3Byb2Nlc3MpOgoJICBDbGVhbiB1cCBjYXBzIG5lZ290aWF0aW9uLgoJICBEb24ndCBpZ25vcmUgdGhlIHJldHVybiB2YWx1ZSBvZiBzZXRjYXBzLgoJICBObyBuZWVkIHRvIHZhbGlkYXRlIHRoZSBidWZmZXIsIHRoZSBiYXNlIGNsYXNzIGRvZXMgdGhhdCBmb3IgdXMuCgkgIE5vIG5lZWQgdG8gc2V0IGNhcHMgb24gYnVmZmVycywgc3ViY2xhc3MgZG9lcyB0aGF0IGZvciB1cy4KCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGFkZXBheS5jOiAoZ3N0X3J0cF9tcDRhX2RlcGF5X3NldGNhcHMpLAoJICAoZ3N0X3J0cF9tcDRhX2RlcGF5X3Byb2Nlc3MpOgoJICBDbGVhbiB1cCBjYXBzIG5lZ290aWF0aW9uLgoJICBEb24ndCBpZ25vcmUgdGhlIHJldHVybiB2YWx1ZSBvZiBzZXRjYXBzLgoJICBObyBuZWVkIHRvIHZhbGlkYXRlIHRoZSBidWZmZXIsIHRoZSBiYXNlIGNsYXNzIGRvZXMgdGhhdCBmb3IgdXMuCgkgICogZ3N0L3J0cC9nc3RydHBtcDRhcGF5LmM6IChnc3RfcnRwX21wNGFfcGF5X25ld19jYXBzKSwKCSAgKGdzdF9ydHBfbXA0YV9wYXlfc2V0Y2Fwcyk6CgkgIERvbid0IGlnbm9yZSB0aGUgcmV0dXJuIHZhbHVlIG9mIHNldF9vdXRjYXBzLgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0Z2RlcGF5LmM6IChnc3RfcnRwX21wNGdfZGVwYXlfc2V0Y2FwcyksCgkgIChnc3RfcnRwX21wNGdfZGVwYXlfcHJvY2Vzcyk6CgkgIENsZWFuIHVwIGNhcHMgbmVnb3RpYXRpb24uCgkgIERvbid0IGlnbm9yZSB0aGUgcmV0dXJuIHZhbHVlIG9mIHNldGNhcHMuCgkgIE5vIG5lZWQgdG8gdmFsaWRhdGUgdGhlIGJ1ZmZlciwgdGhlIGJhc2UgY2xhc3MgZG9lcyB0aGF0IGZvciB1cy4KCSAgTm8gbmVlZCB0byBzZXQgY2FwcyBvbiBidWZmZXJzLCBzdWJjbGFzcyBkb2VzIHRoYXQgZm9yIHVzLgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0Z3BheS5jOiAoZ3N0X3J0cF9tcDRnX3BheV9maW5hbGl6ZSksCgkgIChnc3RfcnRwX21wNGdfcGF5X25ld19jYXBzKSwgKGdzdF9ydHBfbXA0Z19wYXlfc2V0Y2Fwcyk6CgkgIERvbid0IGlnbm9yZSB0aGUgcmV0dXJuIHZhbHVlIG9mIHNldF9vdXRjYXBzLgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0dmRlcGF5LmM6IChnc3RfcnRwX21wNHZfZGVwYXlfc2V0Y2FwcyksCgkgIChnc3RfcnRwX21wNHZfZGVwYXlfcHJvY2Vzcyk6CgkgIENsZWFuIHVwIGNhcHMgbmVnb3RpYXRpb24uCgkgIERvbid0IGlnbm9yZSB0aGUgcmV0dXJuIHZhbHVlIG9mIHNldGNhcHMuCgkgIE5vIG5lZWQgdG8gdmFsaWRhdGUgdGhlIGJ1ZmZlciwgdGhlIGJhc2UgY2xhc3MgZG9lcyB0aGF0IGZvciB1cy4KCSAgTm8gbmVlZCB0byBzZXQgY2FwcyBvbiBidWZmZXJzLCBzdWJjbGFzcyBkb2VzIHRoYXQgZm9yIHVzLgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5jOiAoZ3N0X3J0cF9tcDR2X3BheV9uZXdfY2FwcyksCgkgIChnc3RfcnRwX21wNHZfcGF5X3NldGNhcHMpOgoJICBEb24ndCBpZ25vcmUgdGhlIHJldHVybiB2YWx1ZSBvZiBzZXRfb3V0Y2Fwcy4KCSAgKiBnc3QvcnRwL2dzdHJ0cG1wYWRlcGF5LmM6IChnc3RfcnRwX21wYV9kZXBheV9zZXRjYXBzKSwKCSAgKGdzdF9ydHBfbXBhX2RlcGF5X3Byb2Nlc3MpOgoJICBDbGVhbiB1cCBjYXBzIG5lZ290aWF0aW9uLgoJICBEb24ndCBpZ25vcmUgdGhlIHJldHVybiB2YWx1ZSBvZiBzZXRjYXBzLgoJICBObyBuZWVkIHRvIHZhbGlkYXRlIHRoZSBidWZmZXIsIHRoZSBiYXNlIGNsYXNzIGRvZXMgdGhhdCBmb3IgdXMuCgkgIFVzZSB0aGUgbWFya2VyIGJpdCB0byBzZXQgdGhlIERJU0NPTlQgZmxhZyBvbiBvdXRnb2luZyBidWZmZXJzLgoJICAqIGdzdC9ydHAvZ3N0cnRwbXBhcGF5LmM6IChnc3RfcnRwX21wYV9wYXlfc2V0Y2Fwcyk6CgkgIERvbid0IGlnbm9yZSB0aGUgcmV0dXJuIHZhbHVlIG9mIHNldF9vdXRjYXBzLgoJICAqIGdzdC9ydHAvZ3N0cnRwbXB2ZGVwYXkuYzogKGdzdF9ydHBfbXB2X2RlcGF5X3NldGNhcHMpLAoJICAoZ3N0X3J0cF9tcHZfZGVwYXlfcHJvY2Vzcyk6CgkgIENsZWFuIHVwIGNhcHMgbmVnb3RpYXRpb24uCgkgIEFjdHVhbGx5IHNldCBvdXRwdXQgY2Fwcy4KCSAgTm8gbmVlZCB0byB2YWxpZGF0ZSB0aGUgYnVmZmVyLCB0aGUgYmFzZSBjbGFzcyBkb2VzIHRoYXQgZm9yIHVzLgoJICAqIGdzdC9ydHAvZ3N0cnRwbXB2cGF5LmM6IChnc3RfcnRwX21wdl9wYXlfc2V0Y2Fwcyk6CgkgIERvbid0IGlnbm9yZSB0aGUgcmV0dXJuIHZhbHVlIG9mIHNldF9vdXRjYXBzLgoJICAqIGdzdC9ydHAvZ3N0cnRwcGNtYWRlcGF5LmM6IChnc3RfcnRwX3BjbWFfZGVwYXlfc2V0Y2FwcyksCgkgIChnc3RfcnRwX3BjbWFfZGVwYXlfcHJvY2Vzcyk6CgkgIENsZWFuIHVwIGNhcHMgbmVnb3RpYXRpb24uCgkgIFNldCBvdXRwdXQgYnVmZmVyIGR1cmF0aW9uIGJlY2F1c2Ugd2UgY2FuLgoJICBVc2UgdGhlIG1hcmtlciBiaXQgdG8gc2V0IHRoZSBESVNDT05UIGZsYWcgb24gb3V0Z29pbmcgYnVmZmVycy4KCSAgKiBnc3QvcnRwL2dzdHJ0cHBjbWFwYXkuYzogKGdzdF9ydHBfcGNtYV9wYXlfc2V0Y2Fwcyk6CgkgIERvbid0IGlnbm9yZSB0aGUgcmV0dXJuIHZhbHVlIG9mIHNldF9vdXRjYXBzLgoJICAqIGdzdC9ydHAvZ3N0cnRwcGNtdWRlcGF5LmM6IChnc3RfcnRwX3BjbXVfZGVwYXlfc2V0Y2FwcyksCgkgIChnc3RfcnRwX3BjbXVfZGVwYXlfcHJvY2Vzcyk6CgkgIENsZWFuIHVwIGNhcHMgbmVnb3RpYXRpb24uCgkgIFVzZSB0aGUgbWFya2VyIGJpdCB0byBzZXQgdGhlIERJU0NPTlQgZmxhZyBvbiBvdXRnb2luZyBidWZmZXJzLgoJICAqIGdzdC9ydHAvZ3N0cnRwcGNtdXBheS5jOiAoZ3N0X3J0cF9wY211X3BheV9zZXRjYXBzKToKCSAgRG9uJ3QgaWdub3JlIHRoZSByZXR1cm4gdmFsdWUgb2Ygc2V0X291dGNhcHMuCgkgICogZ3N0L3J0cC9nc3RydHBzcGVleGRlcGF5LmM6IChnc3RfcnRwX3NwZWV4X2RlcGF5X2luaXQpLAoJICAoZ3N0X3J0cF9zcGVleF9kZXBheV9zZXRjYXBzKSwgKGdzdF9ydHBfc3BlZXhfZGVwYXlfcHJvY2Vzcyk6CgkgIENsZWFuIHVwIGNhcHMgbmVnb3RpYXRpb24uCgkgIFNldCBvdXRwdXQgY2FwcyBvbiB0aGUgcGFkIGFuZCBoZWFkZXIgYnVmZmVycy4KCSAgU2V0IGR1cmF0aW9uIG9uIG91dHB1dCBidWZmZXJzIGJlY2F1c2Ugd2UgY2FuLgoJICAqIGdzdC9ydHAvZ3N0cnRwc3BlZXhwYXkuYzogKGdzdF9ydHBfc3BlZXhfcGF5X3BhcnNlX2lkZW50KToKCSAgRG9uJ3QgaWdub3JlIHRoZSByZXR1cm4gdmFsdWUgb2Ygc2V0X291dGNhcHMuCgkgICogZ3N0L3J0cC9nc3RydHBzdjN2ZGVwYXkuYzogKGdzdF9ydHBfc3Yzdl9kZXBheV9zZXRjYXBzKSwKCSAgKGdzdF9ydHBfc3Yzdl9kZXBheV9wcm9jZXNzKToKCSAgQ2xlYW4gdXAgY2FwcyBuZWdvdGlhdGlvbi4KCSAgTm8gbmVlZCB0byB2YWxpZGF0ZSB0aGUgYnVmZmVyLCB0aGUgYmFzZSBjbGFzcyBkb2VzIHRoYXQgZm9yIHVzLgoJICBObyBuZWVkIHRvIHNldCBjYXBzIG91dCBvdXRwdXQgYnVmZmVycywgc3ViY2xhc3MgZG9lcyB0aGF0LgoJICAqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhZGVwYXkuYzogKGdzdF9ydHBfdGhlb3JhX2RlcGF5X3NldGNhcHMpLAoJICAoZ3N0X3J0cF90aGVvcmFfZGVwYXlfcHJvY2Vzcyk6CgkgIERvbid0IGlnbm9yZSB0aGUgcmV0dXJuIHZhbHVlIG9mIHNldGNhcHMuCgkgIE5vIG5lZWQgdG8gdmFsaWRhdGUgdGhlIGJ1ZmZlciwgdGhlIGJhc2UgY2xhc3MgZG9lcyB0aGF0IGZvciB1cy4KCSAgKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYXBheS5jOiAoZ3N0X3J0cF90aGVvcmFfcGF5X2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cF90aGVvcmFfcGF5X2ZsdXNoX3BhY2tldCksIChlbmNvZGVfYmFzZTY0KSwKCSAgKGdzdF9ydHBfdGhlb3JhX3BheV9maW5pc2hfaGVhZGVycyksIChnc3RfcnRwX3RoZW9yYV9wYXlfcGFyc2VfaWQpLAoJICAoZ3N0X3J0cF90aGVvcmFfcGF5X2hhbmRsZV9idWZmZXIpOgoJICBEb24ndCBpZ25vcmUgdGhlIHJldHVybiB2YWx1ZSBvZiBzZXRfb3V0Y2Fwcy4KCSAgKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc2RlcGF5LmM6IChnc3RfcnRwX3ZvcmJpc19kZXBheV9zZXRjYXBzKSwKCSAgKGdzdF9ydHBfdm9yYmlzX2RlcGF5X3Byb2Nlc3MpOgoJICBEb24ndCBpZ25vcmUgdGhlIHJldHVybiB2YWx1ZSBvZiBzZXRjYXBzLgoJICBObyBuZWVkIHRvIHZhbGlkYXRlIHRoZSBidWZmZXIsIHRoZSBiYXNlIGNsYXNzIGRvZXMgdGhhdCBmb3IgdXMuCgkgICogZ3N0L3J0cC9nc3RydHB2b3JiaXNwYXkuYzogKGdzdF9ydHBfdm9yYmlzX3BheV9maW5pc2hfaGVhZGVycyk6CgkgIERvbid0IGlnbm9yZSB0aGUgcmV0dXJuIHZhbHVlIG9mIHNldF9vdXRjYXBzLgoJICAqIGdzdC9ydHAvZ3N0cnRwdnJhd2RlcGF5LmM6IChnc3RfcnRwX3ZyYXdfZGVwYXlfc2V0Y2Fwcyk6CgkgIENsZWFuIHVwIGNhcHMgbmVnb3RpYXRpb24sIGRvbid0IGlnbm9yZSBzZXRjYXBzIHJldHVybi4KCSAgKiBnc3QvcnRwL2dzdHJ0cHZyYXdwYXkuYzogKGdzdF9ydHBfdnJhd19wYXlfc2V0Y2Fwcyk6CgkgIERvbid0IGlnbm9yZSB0aGUgcmV0dXJuIHZhbHVlIG9mIHNldF9vdXRjYXBzLgoKMjAwOC0xMC0yNyAxMDozNTowNyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiBGb3J3YXJkIHVua25vd24gZXZlbnRzIHVwc3RyZWFtLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9oYW5kbGVfc3JjX2V2ZW50KToKCSAgRm9yd2FyZCB1bmtub3duIGV2ZW50cyB1cHN0cmVhbS4KCjIwMDgtMTAtMjcgMTA6MzM6MjAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy9pY3lkZW11eC5jOiBBZGQgc29tZSByZWZjb3VudCBjaGVjawoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pY3lkZW11eC5jOiAoaWN5ZGVtdXhfZm91bmRfcGFkKToKCSAgQWRkIHNvbWUgcmVmY291bnQgY2hlY2sKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHAtcGF5bG9hZGluZy5jOiAocnRwX3BpcGVsaW5lX3J1bik6CgkgIERvbid0IGlnbm9yZSB0aGUgcmVzdWx0IG9mIHdyaXRlKCksIGZpeGVzIGEgIGNvbXBpbGVyIHdhcm5pbmcgZm9yIG1lLgoJICAqIHRlc3RzL2ljbGVzL3ZpZGVvYm94LXRlc3QuYzogKG1haW4pOgoJICBNYWtlIHRoZSBvdXRwdXQgYSBsaXR0bGUgbW9yZSBwcmV0dHkuCgoyMDA4LTEwLTI3IDA5OjI2OjE5ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBleHQvZXNkL2VzZG1vbi5jOiBBZGQgZG9jIGJsb2IuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9lc2QvZXNkbW9uLmM6CgkgIEFkZCBkb2MgYmxvYi4KCjIwMDgtMTAtMjcgMDk6MjE6NDQgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGRvY3MvcGx1Z2lucy86IEFkZCB0aGUgZG9jcyBvZiB0aGUgbmV3IGVsZW1lbnRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaW50ZXJmYWNlczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkgIEFkZCB0aGUgZG9jcyBvZiB0aGUgbmV3IGVsZW1lbnRzLgoKMjAwOC0xMC0yNyAwOTowNDozNyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2F1dG9kZXRlY3QvOiBGaXggIlNpbmNlIiB0YWdzIGluIHRoZSBkb2N1bWVudGF0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zcmMuYzoKCSAgKGdzdF9hdXRvX2F1ZGlvX3NyY19jbGFzc19pbml0KToKCSAgKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zcmMuYzoKCSAgKGdzdF9hdXRvX3ZpZGVvX3NyY19jbGFzc19pbml0KToKCSAgRml4ICJTaW5jZSIgdGFncyBpbiB0aGUgZG9jdW1lbnRhdGlvbi4KCjIwMDgtMTAtMjcgMDk6MDA6MjkgKzAwMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZEBsdW9uLm5ldD4KCgkgIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IEFkZCBzdXBwb3J0IGZvciBzb3VwaHR0cHNyYyB0byBhY3QgYXMgYSBsaXZlIHNvdXJjZS4gVGhpcyBtYWtlcyBpdCBwb3NzaWJsZSB0byBnZXQgdGltZXN0YS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFNqb2VyZCBTaW1vbnMgPHNqb2VyZCBhdCBsdW9uIGRvdCBuZXQ+CgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzogKGdzdF9zb3VwX2h0dHBfc3JjX2NsYXNzX2luaXQpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfc2V0X3Byb3BlcnR5KSwgKGdzdF9zb3VwX2h0dHBfc3JjX2dldF9wcm9wZXJ0eSk6CgkgIEFkZCBzdXBwb3J0IGZvciBzb3VwaHR0cHNyYyB0byBhY3QgYXMgYSBsaXZlIHNvdXJjZS4gVGhpcyBtYWtlcyBpdAoJICBwb3NzaWJsZSB0byBnZXQgdGltZXN0YW1wZWQgYnVmZmVycyBpbiBjb21iaW5hdGlvbiB3aXRoIHRoZQoJICAiZG8tdGltZXN0YW1wIiBwcm9wZXJ0eS4gRml4ZXMgYnVnICM1NTYwMTkuCgoyMDA4LTEwLTI3IDA4OjU0OjMwICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvYXV0b2RldGVjdC86IEltcGxlbWVudCBzcmMgcGx1Z2lucy4gTGl0dGxlIGNvZGUvc3RyaW5nIGNsZWFudXAgaW4gdGhlIHNpbmtzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXV0b2RldGVjdC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zaW5rLmM6CgkgICogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc3JjLmM6CgkgICogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc3JjLmg6CgkgICogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2RldGVjdC5jOgoJICAqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NpbmsuYzoKCSAgKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zcmMuYzoKCSAgKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zcmMuaDoKCSAgSW1wbGVtZW50IHNyYyBwbHVnaW5zLiBMaXR0bGUgY29kZS9zdHJpbmcgY2xlYW51cCBpbiB0aGUgc2lua3MuCgkgIEZpeGVzICM1MjM4MTMuCgoyMDA4LTEwLTI3IDA4OjQ1OjExICswMDAwICBQZXRlciBLamVsbGVyc3RlZHQgPHBrakBheGlzLmNvbT4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzogRml4IGEgbWVtb3J5IGxlYWsgd2hlbiBwYWRzIGFyZSByZXF1ZXN0ZWQgYnV0IHRoZSBwaXBlbGluZSBuZXZlciBnb2VzIGludG8gUExBWUlORy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBQZXRlciBLamVsbGVyc3RlZHQgPHBraiBhdCBheGlzIGNvbT4KCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6IChnc3RfbWF0cm9za2FfbXV4X3Jlc2V0KSwKCSAgKGdzdF9tYXRyb3NrYV9tdXhfcmVxdWVzdF9uZXdfcGFkKSwgKGdzdF9tYXRyb3NrYV9tdXhfcmVsZWFzZV9wYWQpOgoJICBGaXggYSBtZW1vcnkgbGVhayB3aGVuIHBhZHMgYXJlIHJlcXVlc3RlZCBidXQgdGhlIHBpcGVsaW5lIG5ldmVyCgkgIGdvZXMgaW50byBQTEFZSU5HLgoJICBDb3JyZWN0bHkgcmVtb3ZlIHJlcXVlc3QgcGFkcywgbm8gbWF0dGVyIGlmIHRoZXkgaGF2ZSBjb2xsZWN0ZWQKCSAgZGF0YSBvciBub3QuCgkgIEZpeGVzIGJ1ZyAjNTU3NzEwLgoKMjAwOC0xMC0yNyAwODo0MDowMiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3VkcC9nc3R1ZHBuZXR1dGlscy5oOiBEZWZpbmUgdGhlIGNvcnJlY3QgV0lOVkVSIHNvIGdldGFkZGluZm8oKSBjYW4gYmUgdXNlZCB3aGVuIHVzaW5nIG1pbmd3MzIuIEZpeGVzIGJ1ZyAjNTU3Mjk0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IDxscm4xOTg2IGF0IGdtYWlsIGRvdCBjb20+CgkgICogZ3N0L3VkcC9nc3R1ZHBuZXR1dGlscy5oOgoJICBEZWZpbmUgdGhlIGNvcnJlY3QgV0lOVkVSIHNvIGdldGFkZGluZm8oKSBjYW4gYmUgdXNlZCB3aGVuIHVzaW5nCgkgIG1pbmd3MzIuIEZpeGVzIGJ1ZyAjNTU3Mjk0LgoKMjAwOC0xMC0yNyAwODozNjo0MyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3VkcC86IEZpeCAiYXJndW1lbnQgdHlwZSBtaXNtYXRjaCIgY29tcGlsZXIgd2FybmluZ3Mgb24gV2luZG93cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiA8bHJuMTk4NiBhdCBnbWFpbCBkb3QgY29tPgoJICAqIGdzdC91ZHAvZ3N0ZHludWRwc2luay5jOiAoZ3N0X2R5bnVkcHNpbmtfcmVuZGVyKToKCSAgKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOiAoZ3N0X211bHRpdWRwc2lua19yZW5kZXIpOgoJICAqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6IChnc3RfdWRwc3JjX2NyZWF0ZSk6CgkgIEZpeCAiYXJndW1lbnQgdHlwZSBtaXNtYXRjaCIgY29tcGlsZXIgd2FybmluZ3Mgb24gV2luZG93cy4KCSAgRml4ZXMgYnVnICM1NTcyOTMuCgoyMDA4LTEwLTI3IDA4OjMwOjUxICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOiBEb24ndCBjYWxjdWxhdGUgdGhlIGZpbHRlciBjb2VmZmljaWVudHMgZm9yIGV2ZXJ5IHNpbmdsZSBidWZmZXIgYnV0IG9ubHkgd2hlbiBpdCdzIG4uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzogKHVwZGF0ZV9jb2VmZmljaWVudHMpOgoJICBEb24ndCBjYWxjdWxhdGUgdGhlIGZpbHRlciBjb2VmZmljaWVudHMgZm9yIGV2ZXJ5IHNpbmdsZSBidWZmZXIKCSAgYnV0IG9ubHkgd2hlbiBpdCdzIG5lZWRlZC4gRml4ZXMgYnVnICM1NTcyNjAuCgoyMDA4LTEwLTI2IDIwOjA1OjQzICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogQmFjayB0byBkZXZlbG9wbWVudCAtPiAwLjEwLjExLjEKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBCYWNrIHRvIGRldmVsb3BtZW50IC0+IDAuMTAuMTEuMQoKMjAwOC0xMC0yNiAyMDowNDoyMSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QtcGx1Z2lucy1nb29kLmRvYXA6IEZpeCB2ZXJzaW9uIG51bWJlciBvZiAwLjEwLjExIHJlbGVhc2UgaW4gZG9hcCBmaWxlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSAgRml4IHZlcnNpb24gbnVtYmVyIG9mIDAuMTAuMTEgcmVsZWFzZSBpbiBkb2FwIGZpbGUKCj09PSByZWxlYXNlIDAuMTAuMTEgPT09CgoyMDA4LTEwLTI0IDIyOjQxOjE4ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYW1tYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGFsZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vbm9zY29wZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF1aWNrdGltZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JhbGFuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmxpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDAuMTAuMTEKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFJlbGVhc2UgMC4xMC4xMQoKMjAwOC0xMC0yNCAyMjoyMDo0NyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHBvL3poX0hLLnBvOgoJKiBwby96aF9UVy5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAwOC0xMC0yNCAxNjozMDo1MyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBjb25maWd1cmUuYWM6IENvbW1pdCAwLjEwLjEwLjQgcHJlLXJlbGVhc2UKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBDb21taXQgMC4xMC4xMC40IHByZS1yZWxlYXNlCgoyMDA4LTEwLTIxIDEyOjQyOjQ1ICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkgIGdzdC9hdmkvZ3N0YXZpbXV4LmM6IEZpeCBWUFJQIGNodW5rIHNldHVwIGluIGF2aW11eC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSAgRml4IFZQUlAgY2h1bmsgc2V0dXAgaW4gYXZpbXV4LgoJICBGaXhlczogIzU1NjAxMAoJICBQYXRjaCBCeTogTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoyMDA4LTEwLTIxIDEyOjM4OjM1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6IHN1cHBvcnQgZHluYW1pY2FsbHkgY2hhbmdpbmcgcHJvcGVydGllcyBpbiB2aWRlb2JveAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzoKCSAgc3VwcG9ydCBkeW5hbWljYWxseSBjaGFuZ2luZyBwcm9wZXJ0aWVzIGluIHZpZGVvYm94CgkgIEZpeGVkOiAjNTU3MDg1CgkgIFBhdGNoIEJ5OiBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKMjAwOC0xMC0xNiAxNzoxMDo0MiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBjb25maWd1cmUuYWM6IDAuMTAuMTAuMyBwcmUtcmVsZWFzZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIDAuMTAuMTAuMyBwcmUtcmVsZWFzZQoKMjAwOC0xMC0xNiAxNTozMDoyMiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbTogRG9uJ3QgcnVuIHRoZSBzdGF0ZXMgdGVzdCBvbiBwdWxzZXNyYyBhbmQgcHVsc2VzaW5rCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBEb24ndCBydW4gdGhlIHN0YXRlcyB0ZXN0IG9uIHB1bHNlc3JjIGFuZCBwdWxzZXNpbmsKCjIwMDgtMTAtMTYgMTE6NTI6NDQgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgY29uZmlndXJlLmFjOiBDb21taXQgMC4xMC4xMC4yIHByZS1yZWxlYXNlIGJ1bXAgdGhhdCBhY3R1YWxseSB3ZW50IG91dCBvbiAyMDA4LTEwLTExCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQ29tbWl0IDAuMTAuMTAuMiBwcmUtcmVsZWFzZSBidW1wIHRoYXQgYWN0dWFsbHkgd2VudAoJICBvdXQgb24gMjAwOC0xMC0xMQoKMjAwOC0xMC0xNSAxNTo0MjoyOSArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogU2tpcCBlbnRyaWVzIGZvciBzdHJlYW1zIHRoYXQgZG9uJ3QgaGF2ZSBhIG91dHB1dCBwYWQgeWV0LCB0aGVyZWJ5IGF2b2lkaW5nIGNhbGxpbmcgcGFkIGZ1bmN0aS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X3N0cmVhbV9zY2FuKToKCSAgU2tpcCBlbnRyaWVzIGZvciBzdHJlYW1zIHRoYXQgZG9uJ3QgaGF2ZSBhIG91dHB1dCBwYWQgeWV0LCB0aGVyZWJ5CgkgIGF2b2lkaW5nIGNhbGxpbmcgcGFkIGZ1bmN0aW9ucyB3aXRoIGEgTlVMTCBwYWQuCgkgIEZpeGVzICM1NTY0MjQKCjIwMDgtMTAtMTUgMDk6Mzk6MjcgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IFJlbW92ZSBwcmV2aW91cyB3cm9uZyBjb21taXQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBSZW1vdmUgcHJldmlvdXMgd3JvbmcgY29tbWl0CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvaWN5ZGVtdXguYzogKGljeWRlbXV4X2ZvdW5kX3BhZCk6CgkgIFJlbW92ZSBwcm9ibGVtYXRpYyBhbmQgdXNlbGVzcyByZWZjb3VudCBjaGVjay4KCSAgRml4ZXMgIzU1NjM4MQoKMjAwOC0xMC0xNSAwOToyNzoyNyArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogUmVtb3ZlIHByb2JsZW1hdGljIGFuZCB1c2VsZXNzIHJlZmNvdW50IGNoZWNrLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3BhcnNlX25vZGUpOgoJICBSZW1vdmUgcHJvYmxlbWF0aWMgYW5kIHVzZWxlc3MgcmVmY291bnQgY2hlY2suCgkgIEZpeGVzICM1NTYzODEKCjIwMDgtMTAtMTAgMTI6Mjg6MzQgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZXh0L2ZsYWMvOiBDYXN0IHNvbWUgc2l6ZV90IGFyZ3VtZW50cyB0byBndWludCB0byBhdm9pZCBjb21waWxlciB3YXJuaW5ncyBvbiA2NC1iaXQgc3lzdGVtcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jIChnc3RfZmxhY19kZWNfcmVhZF9zdHJlYW0pOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYyAoZ3N0X2ZsYWNfZW5jX3dyaXRlX2NhbGxiYWNrKToKCSAgQ2FzdCBzb21lIHNpemVfdCBhcmd1bWVudHMgdG8gZ3VpbnQgdG8gYXZvaWQgY29tcGlsZXIKCSAgd2FybmluZ3Mgb24gNjQtYml0IHN5c3RlbXMuCgoyMDA4LTEwLTA5IDE0OjI3OjEyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiBSZXR1cm4gVFJVRSBpbnN0ZWFkIG9mIEZBTFNFIGZyb20gdGhlIGV2ZW50IGhhbmRsZXIgd2hlbiB3ZSBzd2FsbG93ZWQgdGhlIGV2ZW50LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19oYW5kbGVfc3JjX2V2ZW50KToKCSAgUmV0dXJuIFRSVUUgaW5zdGVhZCBvZiBGQUxTRSBmcm9tIHRoZSBldmVudCBoYW5kbGVyIHdoZW4gd2Ugc3dhbGxvd2VkIHRoZQoJICBldmVudC4KCjIwMDgtMTAtMDggMTU6NTk6NTYgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWdvb2Quc3BlYy5pbjoKCSAgcmVtb3ZlIG9sZCBDRElPIHBsdWdpbiBub3cgaW4gdWdseQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmVtb3ZlIG9sZCBDRElPIHBsdWdpbiBub3cgaW4gdWdseQoKMjAwOC0xMC0wOCAxNDo0NzoxNCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogUmVzZXQgaGVhZGVyIHN0YXRlLiBGaXhlcyAjNTU1MzIxLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X3Jlc2V0KSwKCSAgKGdzdF9hdmlfZGVtdXhfcGFyc2Vfc3ViaW5kZXgpLCAoZ3N0X2F2aV9kZW11eF9wYXJzZV9pbmRleCk6CgkgIFJlc2V0IGhlYWRlciBzdGF0ZS4gRml4ZXMgIzU1NTMyMS4KCjIwMDgtMTAtMDggMTM6MzE6NDQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4Lio6IEZvciB0aW1lc3RhbXBpbmcgYXVkaW8gcGFja2V0cyB3ZSBuZWVkIHRvIHRha2UgaW50byBhY2NvdW50IHRoZSBhbW91bnQgb2YgYmxvY2tzIGluIG9uZSBlbnRyeSAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9wYXJzZV9zdWJpbmRleCksCgkgIChnc3RfYXZpX2RlbXV4X3BhcnNlX3N0cmVhbSksIChnc3RfYXZpX2RlbXV4X3BhcnNlX2luZGV4KToKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4Lmg6CgkgIEZvciB0aW1lc3RhbXBpbmcgYXVkaW8gcGFja2V0cyB3ZSBuZWVkIHRvIHRha2UgaW50byBhY2NvdW50IHRoZQoJICBhbW91bnQgb2YgYmxvY2tzIGluIG9uZSBlbnRyeSB1c2luZyB0aGUgYmxvY2thbGlnbi4gRml4ZXMgc29tZSBzeW5jCgkgIGlzc3VlcyB3aXRoIHplcm8tcGFkZGVkIGF1ZGlvIGJsb2NrcyBpbiB0aGUgYmVnaW5uaW5nIG9mIGF2aSBmaWxlcy4KCjIwMDgtMTAtMDggMTA6NDI6MjYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNyYy5jOiBJbXBsZW1lbnQgREVGQVVMVCBhbmQgQlVGRkVSIHBvc2l0aW9uIHF1ZXJpZXMuIFNlZSAjNTU1MjYwLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNyYy5jOiAoZ3N0X211bHRpX2ZpbGVfc3JjX2NsYXNzX2luaXQpLAoJICAoZ3N0X211bHRpX2ZpbGVfc3JjX3F1ZXJ5KToKCSAgSW1wbGVtZW50IERFRkFVTFQgYW5kIEJVRkZFUiBwb3NpdGlvbiBxdWVyaWVzLiBTZWUgIzU1NTI2MC4KCjIwMDgtMTAtMDggMDk6Mjk6MDAgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOiBGaXggYnVpbGQgZm9yIHN5c3RlbXMgdGhhdCBkb24ndCBoYXZlIFhEYW1hZ2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6IChnc3RfeGltYWdlX3NyY19zdG9wKToKCSAgRml4IGJ1aWxkIGZvciBzeXN0ZW1zIHRoYXQgZG9uJ3QgaGF2ZSBYRGFtYWdlLgoKMjAwOC0xMC0wNyAwOTo1ODoxMyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIHRlc3RzL2V4YW1wbGVzL3J0cC86IEFkZCBzb21lIG1vcmUgSDI2M3Agc2VydmVyIGFuZCBjbGllbnQgZXhhbXBsZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2V4YW1wbGVzL3J0cC9jbGllbnQtSDI2M3Auc2RwOgoJICAqIHRlc3RzL2V4YW1wbGVzL3J0cC9jbGllbnQtSDI2M3Auc2g6CgkgICogdGVzdHMvZXhhbXBsZXMvcnRwL3NlcnZlci1WVFMtSDI2M3Auc2g6CgkgIEFkZCBzb21lIG1vcmUgSDI2M3Agc2VydmVyIGFuZCBjbGllbnQgZXhhbXBsZXMuCgoyMDA4LTEwLTAzIDE3OjAzOjA3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgY29uZmlndXJlLmFjOiBEZXBlbmQgb24gcmVsZWFzZWQgdmVyc2lvbnMgb2YgY29yZSBhbmQgYmFzZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOjoKCSAgRGVwZW5kIG9uIHJlbGVhc2VkIHZlcnNpb25zIG9mIGNvcmUgYW5kIGJhc2UuCgoyMDA4LTEwLTAzIDE2OjEzOjMyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L3B1bHNlLzogUmV0dXJuIC0xIGluc3RlYWQgb2YgMCBpbiBlcnJvciBjYXNlcy4gRml4ZXMgIzU1NDc3MS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3B1bHNlL3B1bHNlc2luay5jOiAoZ3N0X3B1bHNlc2lua193cml0ZSk6CgkgICogZXh0L3B1bHNlL3B1bHNlc3JjLmM6IChnc3RfcHVsc2VzcmNfcmVhZCk6CgkgIFJldHVybiAtMSBpbnN0ZWFkIG9mIDAgaW4gZXJyb3IgY2FzZXMuIEZpeGVzICM1NTQ3NzEuCgoyMDA4LTEwLTAzIDE1OjU0OjA3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzogU3RvcCBsZWFraW5nIHRoZSBjdXJzb3IgaW1hZ2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6IChnc3RfeGltYWdlX3NyY19zdGFydCksCgkgIChnc3RfeGltYWdlX3NyY19zdG9wKSwgKGdzdF94aW1hZ2Vfc3JjX3hpbWFnZV9nZXQpOgoJICBTdG9wIGxlYWtpbmcgdGhlIGN1cnNvciBpbWFnZS4KCSAgVW5yZWYgdGhlIGxhc3RfeGltYWdlIGFuZCB0aGUgY2FjaGVkIGN1cnNvciBpbWFnZSBvbiBzaHV0ZG93bi4KCSAgRml4ZXMgIzU1MTU3MC4KCjIwMDgtMTAtMDMgMTE6MzI6NDcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6IEdldHRpbmcgdGhlIENsYXNzIGZyb20gYW4gaW5zdGFuY2UgaXMgbm90IGp1c3QgYSBtYXR0ZXIgb2YgY2FzdGluZyBpdCB0byB0aGUgY2xhc3Mgc3RydWN0IGIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJICBHZXR0aW5nIHRoZSBDbGFzcyBmcm9tIGFuIGluc3RhbmNlIGlzIG5vdCBqdXN0IGEgbWF0dGVyIG9mIGNhc3RpbmcgaXQgdG8KCSAgdGhlIGNsYXNzIHN0cnVjdCBidXQgaXQgaW52b2x2ZXMgY2FsbGluZyBHX09CSkVDVF9HRVRfQ0xBU1Mgb24gdGhlCgkgIGluc3RhbmNlLiBGaXhlcyAjNTQ5Nzg0LgoKMjAwOC0xMC0wMSAyMToyMjoyNiArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgY29uZmlndXJlLmFjOiBGaXggbGlicyBmb3IgbGlua2luZyBkaXJlY3Rzb3VuZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBGaXggbGlicyBmb3IgbGlua2luZyBkaXJlY3Rzb3VuZC4KCSAgKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkgIEZpeCBidWZmZXIgc2l6aW5nIHRvIHByZXZlbnQgcmFjaW5nIHRoZSByaW5nYnVmZmVyIGF0IHN0YXJ0dXAuCgkgIEFkZCB2b2x1bWUgcHJvcGVydHkuCgoyMDA4LTA5LTI3IDAwOjQzOjA3ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzogRml4IHByb2JsZW1zIHdpdGggcHVsc2VzaW5rIHJhbmRvbWx5IGVycm9yaW5nIHdpdGggY29kZSAnT0snIGFmdGVyIGEgZm9ybWF0IGNoYW5nZSBvbiB0aGUgc3RyZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIEZpeCBwcm9ibGVtcyB3aXRoIHB1bHNlc2luayByYW5kb21seSBlcnJvcmluZyB3aXRoIGNvZGUgJ09LJyBhZnRlciBhCgkgIGZvcm1hdCBjaGFuZ2Ugb24gdGhlIHN0cmVhbSBieSB3YWl0aW5nIHdoZW4gZGlzY29ubmVjdGluZyB0aGUgc3RyZWFtLgoKMjAwOC0wOS0yNiAxNDo0NDo0OSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuYzogTWFyayBESVNDT05UIG9uIG91dHB1dCBidWZmZXJzIHdoZW4gdGhlIG1hcmtlciBiaXQgc2lnbmFscyBhIG5ldyB0YWxrIHNwdXJ0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5LmM6IChnc3RfcnRwX2Ftcl9kZXBheV9jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBfYW1yX2RlcGF5X3Byb2Nlc3MpOgoJICBNYXJrIERJU0NPTlQgb24gb3V0cHV0IGJ1ZmZlcnMgd2hlbiB0aGUgbWFya2VyIGJpdCBzaWduYWxzIGEgbmV3IHRhbGsKCSAgc3B1cnQuCgkgICogZ3N0L3J0cC9nc3RydHBhbXJwYXkuYzogKGdzdF9ydHBfYW1yX3BheV9oYW5kbGVfYnVmZmVyKToKCSAgU2V0IHRoZSBtYXJrZXIgYml0IGZvciBidWZmZXJzIHdpdGggYSBESVNDT05UIGZsYWcgdG8gc2lnbmFsIGEgdGFsawoJICBzcHVydC4KCjIwMDgtMDktMjYgMTM6NTU6NDggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwLzogQWRkZWQgTVA0QS1MQVRNIHBheWxvYWRlciB0byBtYXRjaCB0aGUgZGVwYXlsb2FkZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkgICogZ3N0L3J0cC9nc3RydHAuYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGFwYXkuYzogKGdzdF9ydHBfbXA0YV9wYXlfZ2V0X3R5cGUpLAoJICAoZ3N0X3J0cF9tcDRhX3BheV9iYXNlX2luaXQpLCAoZ3N0X3J0cF9tcDRhX3BheV9jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBfbXA0YV9wYXlfaW5pdCksIChnc3RfcnRwX21wNGFfcGF5X2ZpbmFsaXplKSwKCSAgKGdzdF9ydHBfbXA0YV9wYXlfcGFyc2VfYXVkaW9fY29uZmlnKSwgKGdzdF9ydHBfbXA0YV9wYXlfbmV3X2NhcHMpLAoJICAoZ3N0X3J0cF9tcDRhX3BheV9zZXRjYXBzKSwgKGdzdF9ydHBfbXA0YV9wYXlfaGFuZGxlX2J1ZmZlciksCgkgIChnc3RfcnRwX21wNGFfcGF5X2NoYW5nZV9zdGF0ZSksIChnc3RfcnRwX21wNGFfcGF5X3BsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGFwYXkuaDoKCSAgQWRkZWQgTVA0QS1MQVRNIHBheWxvYWRlciB0byBtYXRjaCB0aGUgZGVwYXlsb2FkZXIuCgoyMDA4LTA5LTI1IDE1OjExOjE2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOiBIYW5kbGUgc2VnbWVudHMgYSBsaXR0bGUgYmV0dGVyLiBGaXhlcyAjNTM3MzYxLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6IChnc3RfdmlkZW9taXhlcl9maWxsX3F1ZXVlcyksCgkgIChnc3RfdmlkZW9taXhlcl9zaW5rX2V2ZW50KToKCSAgSGFuZGxlIHNlZ21lbnRzIGEgbGl0dGxlIGJldHRlci4gRml4ZXMgIzUzNzM2MS4KCjIwMDgtMDktMjUgMTI6MDc6NDYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IERvbid0IGFzc3VtZSB0aGUgc2VydmVyIHN1cHBvcnRzIFBBVVNFIGJ5IGRlZmF1bHQuIEZpeGVzICM1NTEwNDguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX3BhcnNlX21ldGhvZHMpOgoJICBEb24ndCBhc3N1bWUgdGhlIHNlcnZlciBzdXBwb3J0cyBQQVVTRSBieSBkZWZhdWx0LiBGaXhlcyAjNTUxMDQ4LgoKMjAwOC0wOS0yNSAxMTozMDozNSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC91ZHAvZ3N0dWRwc3JjLmM6IFN3aXRjaCBvbiB0aGUgc29ja2V0IGZhbWlseSB0byBnZXQgdGhlIGFkZHJsZW4gc2l6ZSByaWdodC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3VkcC9nc3R1ZHBzcmMuYzogKGdzdF91ZHBzcmNfY2xhc3NfaW5pdCksCgkgIChnc3RfdWRwc3JjX3NldF91cmkpLCAoZ3N0X3VkcHNyY19zdGFydCk6CgkgIFN3aXRjaCBvbiB0aGUgc29ja2V0IGZhbWlseSB0byBnZXQgdGhlIGFkZHJsZW4gc2l6ZSByaWdodC4KCjIwMDgtMDktMjUgMTA6MzQ6MzkgKzAwMDAgIERhbmllbCBGcmFua2UgPGRmQGRmcmFua2UudXM+CgoJICBnc3QvdWRwL2dzdHVkcHNyYy5jOiBPUyBYJ3MgYmluZCgpIGltcGxlbWVudGF0aW9uIGlzIHBpY2t5IGFib3V0IGl0cyBhZGRybGVuIHBhcmFtZXRlciBhbmQgZmFpbHMgd2l0aCBFSU5WQUwgaWYgaXQgaXMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBEYW5pZWwgRnJhbmtlIDxkZiBhdCBkZnJhbmtlIGRvdCB1cz4KCSAgKiBnc3QvdWRwL2dzdHVkcHNyYy5jOiAoZ3N0X3VkcHNyY19jcmVhdGUpLCAoZ3N0X3VkcHNyY19zdGFydCk6CgkgIE9TIFgncyBiaW5kKCkgaW1wbGVtZW50YXRpb24gaXMgcGlja3kgYWJvdXQgaXRzIGFkZHJsZW4gcGFyYW1ldGVyIGFuZAoJICBmYWlscyB3aXRoIEVJTlZBTCBpZiBpdCBpcyBsYXJnZXIgdGhhbiBleHBlY3RlZCBmb3IgdGhlIHNvY2tldCdzIGFkZHJlc3MKCSAgZmFtaWx5LiBTZXQgdGhlIGxlbmd0aCB0byB0aGUgZXhwZWN0ZWQgbGVuZ3RoIGluc3RlYWQuIEZpeGVzICM1NTMxOTEuCgoyMDA4LTA5LTIzIDE4OjA4OjU2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiBIYW5kbGUgdGhlIGNhc2Ugd2hlcmUgd2UgY2Fubm90IGRvIGRlc3JpYmUgb3Igd2hlbiB0aGUgZGVzY3JpYmUgcmVzdWx0IGRvZXMgbm90IGNvbnRhaW4gYSB2YWxpLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX29wZW4pOgoJICBIYW5kbGUgdGhlIGNhc2Ugd2hlcmUgd2UgY2Fubm90IGRvIGRlc3JpYmUgb3Igd2hlbiB0aGUgZGVzY3JpYmUgcmVzdWx0CgkgIGRvZXMgbm90IGNvbnRhaW4gYSB2YWxpZCBTRFAgbWVzc2FnZS4KCjIwMDgtMDktMjMgMTc6MzE6MjIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOiBGaXggc2V0dGluZyB0aGUgcW9zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOiAoZ3N0X211bHRpdWRwc2lua19zZXRfcHJvcGVydHkpOgoJICBGaXggc2V0dGluZyB0aGUgcW9zLgoKMjAwOC0wOS0xNyAxNDo1MDo0MiArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogU29tZSAnYnJva2VuJyBmaWxlcyBvdXQgdGhlcmUgaGF2ZSBhdG9tIGxlbmd0aHMgb2YgemVyby4uLiB3aGljaCBiYXNpY2FsbHkgcmVzdWx0cyBpbiBxdGRlbXV4IC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9sb29wX3N0YXRlX2hlYWRlciksCgkgIChnc3RfcXRkZW11eF9jaGFpbik6CgkgIFNvbWUgJ2Jyb2tlbicgZmlsZXMgb3V0IHRoZXJlIGhhdmUgYXRvbSBsZW5ndGhzIG9mIHplcm8uLi4KCSAgd2hpY2ggYmFzaWNhbGx5IHJlc3VsdHMgaW4gcXRkZW11eCBjb25zdW1pbmcgdGhhdCBhdG9tIGFnYWluIGFuZCBhZ2FpbgoJICB1bnRpbCB0aGUgKmVuZCBvZiBuaWdodCogIQoJICBEZXRlY3QgdGhhdCBhbmQgZW1pdHMgYW4gYWRlcXVhdGUgZWxlbWVudCBlcnJvciBtZXNzYWdlLgoKMjAwOC0wOS0xNyAxMzo0OTowNCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvOiBGaXggYnVpbGQgZmxhZ3Mgb3JkZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pbnRlcmxlYXZlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tYXRyb3NrYS9NYWtlZmlsZS5hbToKCSAgRml4IGJ1aWxkIGZsYWdzIG9yZGVyLgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvYW1wbGlmeS5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvZHluYW1pYy5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvaW52ZXJ0LmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9wYW5vcmFtYS5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICBGb3JtYXQgZml4ZXMuCgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvbXVsdGlmaWxlLmM6CgkgIFB1bGwgaW4gdW5pc3RkLmgKCjIwMDgtMDktMTUgMjE6MTA6MjMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwL2dzdHJ0cG1wNGdkZXBheS4qOiBIYW5kbGUgaW50ZXJsZWF2ZWQgc3RyZWFtcyBieSByZW9yZGVyaW5nIEFVIGluIGEgcXVldWUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0Z2RlcGF5LmM6IChnc3RfcnRwX21wNGdfZGVwYXlfaW5pdCksCgkgIChnc3RfcnRwX21wNGdfZGVwYXlfZmluYWxpemUpLCAoZ3N0X3J0cF9tcDRnX2RlcGF5X3NldGNhcHMpLAoJICAoZ3N0X3J0cF9tcDRnX2RlcGF5X2NsZWFyX3F1ZXVlKSwgKGdzdF9ydHBfbXA0Z19kZXBheV9mbHVzaF9xdWV1ZSksCgkgIChnc3RfcnRwX21wNGdfZGVwYXlfcXVldWUpLCAoZ3N0X3J0cF9tcDRnX2RlcGF5X3Byb2Nlc3MpLAoJICAoZ3N0X3J0cF9tcDRnX2RlcGF5X2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L3J0cC9nc3RydHBtcDRnZGVwYXkuaDoKCSAgSGFuZGxlIGludGVybGVhdmVkIHN0cmVhbXMgYnkgcmVvcmRlcmluZyBBVSBpbiBhIHF1ZXVlLgoKMjAwOC0wOS0xNSAxNjowNDoyNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvZ3N0cnRwbXA0Z2RlcGF5LmM6IENoYW5nZSBzb21lIG9mIHRoZSByYW5nZXMgaW4gdGhlIGNhcHMsIG1vc3RseSBmb3IgdGhlIGFtb3VudCBvZiBiaXRzIHdlIGNhbiB1c2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0Z2RlcGF5LmM6IChnc3RfYnNfcGFyc2VfaW5pdCksCgkgIChnc3RfYnNfcGFyc2VfcmVhZCksIChnc3RfcnRwX21wNGdfZGVwYXlfcHJvY2Vzcyk6CgkgIENoYW5nZSBzb21lIG9mIHRoZSByYW5nZXMgaW4gdGhlIGNhcHMsIG1vc3RseSBmb3IgdGhlIGFtb3VudCBvZiBiaXRzIHdlCgkgIGNhbiB1c2UuCgkgIEFkZGVkIGEgbGl0dGxlIGJpdHN0cmVhbSBwYXJzZSBhbmQgdXNlIGl0IHRvIHBhcnNlIHRoZSBBVSBoZWFkZXIgZmllbGRzLgoJICBDaGVjayBmb3IgbWFsZm9ybWVkIGFuZCB3cm9uZ2x5IHNpemVkIHBhY2tldHMgYmV0dGVyLgoJICBJbXBsZW1lbnQgbW9yZSBoZWFkZXIgZmllbGQgcGFyc2luZy4KCSAgSGFuZGxlIHRoZSBzaXplIG9mIGZyYWdtZW50ZWQgcGFja2V0cyBjb3JyZWN0bHkuCgoyMDA4LTA5LTE0IDExOjMyOjE1ICswMDAwICBKb25hdGhhbiBNYXR0aGV3IDxub3R2ZXJ5c21hcnRAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBBZGQgbWFwcGluZyBmb3IgJ3RpZmYnID0+IGltYWdlL3RpZmYKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBKb25hdGhhbiBNYXR0aGV3IDxub3R2ZXJ5c21hcnRAZ21haWwuY29tPgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfdmlkZW9fY2Fwcyk6CgkgIEFkZCBtYXBwaW5nIGZvciAndGlmZicgPT4gaW1hZ2UvdGlmZgoJICBGaXhlcyAjNTUyMjEzCgoyMDA4LTA5LTExIDExOjI2OjA2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3JhdzEzOTQvOiBQcmV0ZW5kIHRvIGNhcmUgYWJvdXQgdGhlIHJlc3VsdCBvZiB3cml0ZSgpIHdoaWNoIHdvcmtzIGFyb3VuZCBjb21waWxlciB3YXJuaW5ncy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3JhdzEzOTQvZ3N0ZHYxMzk0c3JjLmM6IChTRU5EX0NPTU1BTkQpOgoJICAqIGV4dC9yYXcxMzk0L2dzdGhkdjEzOTRzcmMuYzogKFNFTkRfQ09NTUFORCk6CgkgIFByZXRlbmQgdG8gY2FyZSBhYm91dCB0aGUgcmVzdWx0IG9mIHdyaXRlKCkgd2hpY2ggd29ya3MgYXJvdW5kCgkgIGNvbXBpbGVyIHdhcm5pbmdzLgoKMjAwOC0wOS0wNCAwOToyNTo1OSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzogTWFrZSBzdXJlIHRoZSBkZXNpcmVkIGRlZmF1bHQgdmFsdWVzIGFyZSBhY3R1YWxseSBzZXQsIG5vdCBvbmx5IHJlZ2lzdGVyZWQgYXMgZGVmYXVsdHMgKGFjdHVhbC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6IChnc3RfZmxhY19lbmNfY2xhc3NfaW5pdCk6CgkgIE1ha2Ugc3VyZSB0aGUgZGVzaXJlZCBkZWZhdWx0IHZhbHVlcyBhcmUgYWN0dWFsbHkgc2V0LCBub3Qgb25seQoJICByZWdpc3RlcmVkIGFzIGRlZmF1bHRzIChhY3R1YWwgcHJvYmxlbSBpcyB0aGF0IHRoZSBzdGVyZW8tc3BlY2lmaWMKCSAgdmFsdWVzIGFyZSBvbmx5IHVwZGF0ZWQgaWYgY2hhbm5lbHM9PTIsIHdoaWNoIGlzIG5vdCB0aGUgY2FzZSB5ZXQKCSAgd2hlbiB0aGUgb2JqZWN0IGlzIGNyZWF0ZWQsIHNvIHRoZSBkZWZhdWx0IHZhbHVlcyBmb3IgdGhlCgkgIG1pZC1zaWRlLXN0ZXJlbyBhbmQgbG9vc2UtbWlkLXNpZGUtc3RlcmVvIHNldHRpbmdzIGFyZSBuZXZlcgoJICBzZXQgaW4gX3VwZGF0ZV9xdWFsaXR5KCkpLiBNYWtlcyBmbGFjZW5jIGNyZWF0ZSBzbWFsbGVyIGZpbGVzIGJ5CgkgIGRlZmF1bHQgKGZvciBzdGVyZW8gaW5wdXQpLCBhbmQgZml4ZXMgIzU1MDc5MS4KCjIwMDgtMDktMDMgMTI6Mzk6MzUgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSAgZ3N0L3F0ZGVtdXgvOiBBZGQgc3VwcG9ydCBmb3IgdmlkZW8vbWoyIG1pbWUtdHlwZSBhbmQgaXRzIGFkZGl0aW9uYWwgYXRvbXMvYm94ZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfcXRkZW11eF9sb29wX3N0YXRlX2hlYWRlciksIChxdGRlbXV4X3BhcnNlX25vZGUpLAoJICAocXRkZW11eF9wYXJzZV90cmFrKSwgKHF0ZGVtdXhfdmlkZW9fY2Fwcyk6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5oOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfZm91cmNjLmg6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eF90eXBlcy5jOgoJICBBZGQgc3VwcG9ydCBmb3IgdmlkZW8vbWoyIG1pbWUtdHlwZSBhbmQgaXRzIGFkZGl0aW9uYWwgYXRvbXMvYm94ZXMuCgkgIEZpeGVzICM1NTA2NDYuCgoyMDA4LTA5LTAzIDExOjEwOjI1ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvZGVidWcvZ3N0dGFnaW5qZWN0LmM6IEFkZCB3YXJuaW5nIHdoZW4gdGFncyBwYXJhbWV0ZXIgaXMgdW5wYXJzYWJsZSBhbmQgZ2l2ZSBleGFtcGxlIGZvciBxdW90aW5nIGluIHRoZSBkb2NzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVidWcvZ3N0dGFnaW5qZWN0LmM6CgkgIEFkZCB3YXJuaW5nIHdoZW4gdGFncyBwYXJhbWV0ZXIgaXMgdW5wYXJzYWJsZSBhbmQgZ2l2ZSBleGFtcGxlIGZvcgoJICBxdW90aW5nIGluIHRoZSBkb2NzLgoKMjAwOC0wOS0wMiAxNToyNzo0OSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogQWRkIG1hcHBpbmcgZm9yIElNQSBMb2tpIFNETCBNSlBFRyBBRFBDTSBjb2RlYy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF9hdWRpb19jYXBzKToKCSAgQWRkIG1hcHBpbmcgZm9yIElNQSBMb2tpIFNETCBNSlBFRyBBRFBDTSBjb2RlYy4KCSAgQWRkIHNvbWUgYWx0ZXJuYXRpdmUgYnl0ZXN3YXBwZWQgbWFwcGluZ3MgdGhhdCBzZWVtIHRvIHBvcCB1cCBzb21ldGltZXMuCgkgIEZpeGVzICM1NTAyODguCgoyMDA4LTA5LTAyIDA5OjQwOjM4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgcG8vOiBBZGQgJ2NhJyB0byBMSU5HVUFTOyBhZGQgc29tZSBtb3JlIGZpbGVzIHdpdGggdHJhbnNsYXRpb25zIGFuZCBzb21lIGZpbGVzIHdoaWNoIHNob3VsZCBiZSBpZ25vcmVkIGJ5IHRyYW5zbGF0aW9uLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHBvL0xJTkdVQVM6CgkgICogcG8vUE9URklMRVMuaW46CgkgICogcG8vUE9URklMRVMuc2tpcDoKCSAgQWRkICdjYScgdG8gTElOR1VBUzsgYWRkIHNvbWUgbW9yZSBmaWxlcyB3aXRoIHRyYW5zbGF0aW9ucyBhbmQgc29tZQoJICBmaWxlcyB3aGljaCBzaG91bGQgYmUgaWdub3JlZCBieSB0cmFuc2xhdGlvbiB0b29scy4KCjIwMDgtMDktMDIgMDg6NTE6MDQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9zcGVleC86IFVzZSBpbnRlZ2VyIGVuY29kaW5nIGFuZCBkZWNvZGluZyBmdW5jdGlvbnMgaW5zdGVhZCBvZiBjb252ZXJ0aW5nIHRoZSBpbnRlZ2VyIGlucHV0IHRvIGZsb2F0IGluIHRoZSBlbGVtZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzogKHNwZWV4X2RlY19jaGFpbl9wYXJzZV9kYXRhKToKCSAgKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuaDoKCSAgKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzogKGdzdF9zcGVleF9lbmNfZW5jb2RlKToKCSAgKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuaDoKCSAgVXNlIGludGVnZXIgZW5jb2RpbmcgYW5kIGRlY29kaW5nIGZ1bmN0aW9ucyBpbnN0ZWFkIG9mIGNvbnZlcnRpbmcKCSAgdGhlIGludGVnZXIgaW5wdXQgdG8gZmxvYXQgaW4gdGhlIGVsZW1lbnQuIFRoZSBsaWJzcGVleCBpbnRlZ2VyCgkgIGZ1bmN0aW9ucyBhcmUgZG9pbmcgdGhpcyBmb3IgdXMgYWxyZWFkeSBvciwgaWYgbGlic3BlZXggd2FzIGNvbXBpbGVkCgkgIGluIGludGVnZXIgbW9kZSwgdGhleSdyZSBkb2luZyBldmVyeXRoaW5nIHVzaW5nIGludGVnZXIgYXJpdGhtZXRpY3MuCgkgIEFsc28gc2F2ZXMgc29tZSBjb3B5aW5nIGFyb3VuZC4KCjIwMDgtMDktMDEgMTM6Mjk6MjkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBjb25maWd1cmUuYWM6IEZpeCAtLWRpc2FibGUtZXh0ZXJuYWwKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBGaXggLS1kaXNhYmxlLWV4dGVybmFsCgoyMDA4LTA4LTMxIDE3OjA5OjE4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLio6IEhhbmRsZSBub24temVybyBzdGFydCB0aW1lc3RhbXBzIGFuZCBzdHJlYW0gZGlzY29udGludWl0aWVzIGNvcnJlY3RseS4gVGhpcyBvbmx5IGhhcyBhbiAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOiAoZ3N0X3dhdnBhY2tfZW5jX3Jlc2V0KSwKCSAgKGdzdF93YXZwYWNrX2VuY19wdXNoX2Jsb2NrKSwgKGdzdF93YXZwYWNrX2VuY19jaGFpbik6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5oOgoJICBIYW5kbGUgbm9uLXplcm8gc3RhcnQgdGltZXN0YW1wcyBhbmQgc3RyZWFtIGRpc2NvbnRpbnVpdGllcwoJICBjb3JyZWN0bHkuIFRoaXMgb25seSBoYXMgYW4gZWZmZWN0IGlmIHdlJ3JlIG11eGluZyBpbnRvCgkgIGEgY29udGFpbmVyIGZvcm1hdCBhcyB0aGUgcmF3IFdhdlBhY2sgc3RyZWFtIG11c3QgY29udGFpbgoJICBjb250aW5vdXMgc2FtcGxlIG51bWJlcnMuCgoyMDA4LTA4LTMxIDE1OjAyOjA5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzogQ29ycmVjdCB0aGUgdGltZXN0YW1wIGFuZCBncmFudWxlcG9zIGNhbGN1bGF0aW9uIGJ5IG9uZSBTcGVleCBmcmFtZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6IChnc3Rfc3BlZXhfZW5jX2VuY29kZSk6CgkgIENvcnJlY3QgdGhlIHRpbWVzdGFtcCBhbmQgZ3JhbnVsZXBvcyBjYWxjdWxhdGlvbiBieSBvbmUgU3BlZXgKCSAgZnJhbWUuCgoyMDA4LTA4LTMxIDE0OjM5OjU3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzogQ29ycmVjdGx5IHRha2UgdGhlIGdyYW51bGVwb3MgZnJvbSB1cHN0cmVhbSBpZiBwb3NzaWJsZSBhbmQgY29ycmVjdGx5IGhhbmRsZSB0aGUgZ3JhbnVsZXBvcyAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6IChzcGVleF9kZWNfY2hhaW5fcGFyc2VfZGF0YSk6CgkgIENvcnJlY3RseSB0YWtlIHRoZSBncmFudWxlcG9zIGZyb20gdXBzdHJlYW0gaWYgcG9zc2libGUgYW5kCgkgIGNvcnJlY3RseSBoYW5kbGUgdGhlIGdyYW51bGVwb3MgaW4gdmFyaW91cyBjYWxjdWxhdGlvbnM6IHRoZQoJICBncmFudWxlcG9zIGlzIHRoZSBzYW1wbGUgbnVtYmVyIG9mIHRoZSBfbGFzdF8gc2FtcGxlIGluIGEgZnJhbWUsIG5vdAoJICB0aGUgZmlyc3QuCgkgICogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6IChnc3Rfc3BlZXhfZW5jX3NpbmtldmVudCksCgkgIChnc3Rfc3BlZXhfZW5jX2VuY29kZSksIChnc3Rfc3BlZXhfZW5jX2NoYWluKSwKCSAgKGdzdF9zcGVleF9lbmNfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuaDoKCSAgSGFuZGxlIG5vbi16ZXJvIHN0YXJ0IHRpbWVzdGFtcHMgaW4gdGhlIGVuY29kZXIgYW5kIGRldGVjdC9oYW5kbGUKCSAgc3RyZWFtIGRpc2NvbnRpbnVpdGllcy4gRml4ZXMgYnVnICM1NDcwNzUuCgoyMDA4LTA4LTMxIDA4OjMyOjQ1ICswMDAwICBDcmFpZyBLZW9naCA8Y3NrZW9naEBhZGFtLmNvbS5hdT4KCgkgIGV4dC9hbm5vZGV4L2dzdGNtbWxwYXJzZXIuYzogRml4IGNvbXBpbGVyIHdhcm5pbmdzIGNhdXNlZCBieSBwYXNzaW5nIGEgc3RyaW5nIGFzIGZvcm1hdCBzdHJpbmcgaW5zdGVhZCBvZiAiJXMiIGFuZCB0aC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IENyYWlnIEtlb2doIDxjc2tlb2doIGF0IGFkYW0gZG90IGNvbSBkb3QgYXU+CgkgICogZXh0L2Fubm9kZXgvZ3N0Y21tbHBhcnNlci5jOiAoZ3N0X2NtbWxfcGFyc2VyX3BhcnNlX2NodW5rKToKCSAgRml4IGNvbXBpbGVyIHdhcm5pbmdzIGNhdXNlZCBieSBwYXNzaW5nIGEgc3RyaW5nIGFzIGZvcm1hdCBzdHJpbmcKCSAgaW5zdGVhZCBvZiAiJXMiIGFuZCB0aGVuIHRoZSBzdHJpbmcuIFRoaXMgaXMgb25seSBleHBvc2VkIGJ5IC1XZm9ybWF0PTIKCSAgYXMgdXNlZCBieSBkZWZhdWx0IG9uIFVidW50dS4gRml4ZXMgYnVnICM1NTAwMTUuCgoyMDA4LTA4LTMwIDE0OjE1OjAzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgTWFrZSBzdHVmZiBjb21waWxlIHdpdGggR1NUX0RJU0FCTEVfR1NUX0RFQlVHLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvcmF3MTM5NC9nc3RoZHYxMzk0c3JjLmM6IChnc3RfaGR2MTM5NHNyY19jcmVhdGUpOgoJICAqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOiAoZ3N0X2FscGhhX2dldF91bml0X3NpemUpOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYmxpbWl0LmM6IChnZW5lcmF0ZV9jb2VmZmljaWVudHMpOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfc3JjX2NvbnZlcnQpOgoJICAqIGdzdC9tYXRyb3NrYS9lYm1sLXJlYWQuYzogKGdzdF9lYm1sX3JlYWRfZWxlbWVudF9pZCksCgkgIChnc3RfZWJtbF9yZWFkX2VsZW1lbnRfbGVuZ3RoKToKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9jaGVja19zdWJ0aXRsZV9idWZmZXIpOgoJICBNYWtlIHN0dWZmIGNvbXBpbGUgd2l0aCBHU1RfRElTQUJMRV9HU1RfREVCVUcuCgoyMDA4LTA4LTI5IDAwOjI4OjU1ICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBnc3QvbGF3LzogUmVmIGNhcHMgYmVmb3JlIHBhc3NpbmcgdG8gZ3N0X3BhZF90ZW1wbGF0ZV9uZXcoKSwgc2luY2UgdGhhdCB0YWtlcyBvd25lcnNoaXAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9sYXcvYWxhdy5jOgoJICAqIGdzdC9sYXcvbXVsYXcuYzoKCSAgUmVmIGNhcHMgYmVmb3JlIHBhc3NpbmcgdG8gZ3N0X3BhZF90ZW1wbGF0ZV9uZXcoKSwgc2luY2UgdGhhdCB0YWtlcwoJICBvd25lcnNoaXAuCgoyMDA4LTA4LTI4IDEwOjA5OjE2ICswMDAwICBNZXJzYWQgSmVsYWNpYyA8bWVyc2FkQGF4aXMuY29tPgoKCSAgZ3N0L211bHRpcGFydC86IENvbnZlcnQgYXVkaW8veC1hZHBjbSB0byBhbmQgZnJvbSB0aGUgYXVkaW8vRzcyNi1YIGluIHRoZSBtdXhlciBhbmQgZGVtdXhlci4gRml4ZXMgIzU0OTU1MS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBNZXJzYWQgSmVsYWNpYyA8bWVyc2FkIGF0IGF4aXMgZG90IGNvbT4KCSAgKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4LmM6CgkgICogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRtdXguYzogKGdzdF9tdWx0aXBhcnRfbXV4X2dldF9taW1lKToKCSAgQ29udmVydCBhdWRpby94LWFkcGNtIHRvIGFuZCBmcm9tIHRoZSBhdWRpby9HNzI2LVggaW4gdGhlIG11eGVyIGFuZAoJICBkZW11eGVyLiBGaXhlcyAjNTQ5NTUxLgoKMjAwOC0wOC0yNyAxNjoxMjozOSArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIHN5cy9vc3hhdWRpby86IEZpeCB0aGUgYnVpbGQgb24gbWFjb3N4LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zaW5rLmM6CgkgIChnc3Rfb3N4X2F1ZGlvX3Npbmtfc2VsZWN0X2RldmljZSk6CgkgICogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc3JjLmM6CgkgIChnc3Rfb3N4X2F1ZGlvX3NyY19jcmVhdGVfcmluZ2J1ZmZlciksCgkgIChnc3Rfb3N4X2F1ZGlvX3NyY19zZWxlY3RfZGV2aWNlKToKCSAgKiBzeXMvb3N4YXVkaW8vZ3N0b3N4cmluZ2J1ZmZlci5jOiAoZ3N0X29zeF9yaW5nX2J1ZmZlcl9hY3F1aXJlKToKCSAgRml4IHRoZSBidWlsZCBvbiBtYWNvc3guCgoyMDA4LTA4LTI3IDE1OjQyOjExICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2ljeWRlbXV4L2dzdGljeWRlbXV4LmM6IFNtYWxsIGRvY3MgZml4OiBpbiB0aGUgZXhhbXBsZSBwaXBlbGluZSwgd2UgbmVlZCB0byBwYXNzIGlyYWRpby1tb2RlPXRydWUgdG8gdGhlIHNvdXJjZSwgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pY3lkZW11eC9nc3RpY3lkZW11eC5jOgoJICBTbWFsbCBkb2NzIGZpeDogaW4gdGhlIGV4YW1wbGUgcGlwZWxpbmUsIHdlIG5lZWQgdG8gcGFzcwoJICBpcmFkaW8tbW9kZT10cnVlIHRvIHRoZSBzb3VyY2UsIHNvIHRoZSBzZXJ2ZXIgYWN0dWFsbHkgc2VuZHMKCSAgYW4gSUNZIHN0cmVhbS4KCjIwMDgtMDgtMjcgMDA6MDg6MjAgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpby5jOiBPb3BzLiBSZXZlcnQgbW9yZSBjb21wbGV0ZWx5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW8uYzoKCSAgT29wcy4gUmV2ZXJ0IG1vcmUgY29tcGxldGVseS4KCjIwMDgtMDgtMjYgMjM6NTc6MDUgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpby5jOiBSZXZlcnQgYWNjaWRlbnRhbCBlbGVtZW50IHJlbmFtZSBmcm9tIHRlc3RpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpby5jOgoJICBSZXZlcnQgYWNjaWRlbnRhbCBlbGVtZW50IHJlbmFtZSBmcm9tIHRlc3RpbmcuCgoyMDA4LTA4LTI2IDIzOjUzOjQwICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDogUHVsbCBpbiAwLjEwLjEwIGRvYXAgZW50cnkgZnJvbSByZWxlYXNlIGJyYW5jaAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QtcGx1Z2lucy1nb29kLmRvYXA6CgkgIFB1bGwgaW4gMC4xMC4xMCBkb2FwIGVudHJ5IGZyb20gcmVsZWFzZSBicmFuY2gKCjIwMDgtMDgtMjYgMjM6MDU6NTcgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgY29uZmlndXJlLmFjOiBVcGRhdGUgdmVyc2lvbiBudW1iZXIgdG8gcmVmbGVjdCAwLjEwLjEwIHJlbGVhc2UgZnJvbSBicmFuY2guCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgVXBkYXRlIHZlcnNpb24gbnVtYmVyIHRvIHJlZmxlY3QgMC4xMC4xMCByZWxlYXNlIGZyb20KCSAgYnJhbmNoLgoKMjAwOC0wOC0yNiAyMToxMzowOCArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgc3lzL29zeGF1ZGlvLzogUmV3cml0ZSBjYXBzIHNldHRpbmcgYW5kIHJpbmcgYnVmZmVyIGluaXRpYWxpc2F0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvb3N4YXVkaW8vTWFrZWZpbGUuYW06CgkgICogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvLmM6CgkgICogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5jOgoJICAqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NpbmsuaDoKCSAgKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zcmMuYzoKCSAgKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zcmMuaDoKCSAgKiBzeXMvb3N4YXVkaW8vZ3N0b3N4cmluZ2J1ZmZlci5jOgoJICAqIHN5cy9vc3hhdWRpby9nc3Rvc3hyaW5nYnVmZmVyLmg6CgkgIFJld3JpdGUgY2FwcyBzZXR0aW5nIGFuZCByaW5nIGJ1ZmZlciBpbml0aWFsaXNhdGlvbi4KCSAgUHJldmlvdXNseSB3ZSBuZXZlciB0b2xkIENvcmVBdWRpbyB3aGF0IGZvcm1hdCB3ZSB3ZXJlIGdvaW5nIHRvIHNlbmQgaXQsCgkgIHNvIGl0IG9ubHkgd29ya2VkIGR1ZSB0byBsdWNrLCBhbmQgbm90IGF0IGFsbCBvbiBzb21lIGhhcmR3YXJlLgoJICBOb3cgd2UgZXhwbGljaXRseSBhZHZlcnRpc2Ugd2hhdCBmb3JtYXRzIHRoZSBoYXJkd2FyZSBzdXBwb3J0cywgYW5kIHRoZW4KCSAgY29uZmlndXJlIHRoZSBzZWxlY3RlZCBvbmUgY29ycmVjdGx5LgoKMjAwOC0wOC0yNiAxMjoyNzoxMSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgc3lzL3Y0bDIvOiBGaXggbWVtb3J5IGxlYWtzLiBTbWFsbCBjb2RlIGNsZWFudXBzIDogTm8gbmVlZCBmb3IgZW1wdHkgX2luaXQoKS4gTm8gbmVlZCB0byBtZW1zZXQgaW5zdGFuY2Ugc3RydWN0dXJlcy4gLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5oOgoJICAqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSAgKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkgIEZpeCBtZW1vcnkgbGVha3MuIFNtYWxsIGNvZGUgY2xlYW51cHMgOiBObyBuZWVkIGZvciBlbXB0eSBfaW5pdCgpLiBObwoJICBuZWVkIHRvIG1lbXNldCBpbnN0YW5jZSBzdHJ1Y3R1cmVzLiBTb21lIG1vcmUgRklYTUUncy4KCjIwMDgtMDgtMjYgMDg6MTE6MjYgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIHRlc3RzL2ljbGVzLy5jdnNpZ25vcmU6IElnbm9yZSBtb3JlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9pY2xlcy8uY3ZzaWdub3JlOgoJICBJZ25vcmUgbW9yZS4KCjIwMDgtMDgtMjYgMDg6MDA6NTcgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC86IElnbm9yZSBmaWxlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2dvb20vLmN2c2lnbm9yZToKCSAgKiBnc3QvZ29vbTJrMS8uY3ZzaWdub3JlOgoJICBJZ25vcmUgZmlsZXMuCgoyMDA4LTA4LTI2IDA3OjUxOjQyICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBleHQvY2Fpcm8vZ3N0dGV4dG92ZXJsYXkuYzogRml4IGNvbXBpbGVyIHdhcm5pbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9jYWlyby9nc3R0ZXh0b3ZlcmxheS5jOgoJICBGaXggY29tcGlsZXIgd2FybmluZy4KCjIwMDgtMDgtMjYgMDU6NDI6MTUgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgZXh0L2NhaXJvL2dzdHRleHRvdmVybGF5LmM6IEZpeCBvYnZpb3VzIG1lbWxlYWsuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9jYWlyby9nc3R0ZXh0b3ZlcmxheS5jOiBGaXggb2J2aW91cyBtZW1sZWFrLgoKMjAwOC0wOC0yNSAxNDoxNTo0MyArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9tYXRyb3NrYS86IEFkZCBSZWFsW0F1ZGlvfFZpZGVvXSBzdXBwb3J0IHRvIE1hdHJvc2thIGNvbnRhaW5lcnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiAoZ3N0X21hdHJvc2thX2RlbXV4X3NlbmRfZXZlbnQpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3ZpZGVvX2NhcHMpLCAoZ3N0X21hdHJvc2thX2RlbXV4X2F1ZGlvX2NhcHMpOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgKGdzdF9tYXRyb3NrYV9tdXhfdmlkZW9fcGFkX3NldGNhcHMpLAoJICAoZ3N0X21hdHJvc2thX211eF9hdWRpb19wYWRfc2V0Y2FwcyksIChnc3RfbWF0cm9za2FfbXV4X2ZpbmlzaCk6CgkgIEFkZCBSZWFsW0F1ZGlvfFZpZGVvXSBzdXBwb3J0IHRvIE1hdHJvc2thIGNvbnRhaW5lcnMuCgkgIEl0IHdvcmtzIGZpbmUgZm9yOgoJICAqIGRlY29kaW5nIHJlYWwgYXVkaW8vdmlkZW8gc3RyZWFtcyBjb250YWluZWQgaW4gbWt2CgkgICogJ3RyYW5zbXV4aW5nJyByZWFsICgucm0pIGZpbGVzIGludG8gLm1rdiBmaWxlcwoJICBJdCB3aWxsIG5vdCB3b3JrIHRob3VnaCBmb3IgZW5jb2RpbmcgcmVhbFthdWRpby92aWRlb10gc3RyZWFtcyB0aGF0CgkgIGRvbid0IGNvbnRhaW4gdGhlICdtZHByX2RhdGEnIGV4dHJhIGRhdGEgb24gdGhlIGNhcHMuCgkgIFRoZSByZWFzb24gd2h5IHRoaXMgd2lsbCBub3Qgd29yayBpcyBiZWNhdXNlIEkgbmV2ZXIgaW50ZW5kZWQgdG8KCSAgZHVwbGljYXRlIHZpcnR1YWxseSBhbGwgdGhlICdtZHByJyBibG9jayBjcmVhdGlvbiBpbnRvIG1rdm11eC4KCSAgRml4ZXMgIzUzNjA2NwoKMjAwOC0wOC0yNSAwOTo0ODowNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9sYXcvOiBUaGUgZW5jb2RlciBjYW4ndCByZWFsbHkgcmVuZWdvdGlhdGUgYXQgdGhlIHRpbWUgdGhleSBwZXJmb3JtIGEgcGFkLWFsbG9jIHNvIG1ha2UgdGhlIHNyY3BhZHMgdXNlIGZpeGVkIGNhcHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9sYXcvYWxhdy1lbmNvZGUuYzogKGdzdF9hbGF3X2VuY19pbml0KSwgKGdzdF9hbGF3X2VuY19jaGFpbik6CgkgICogZ3N0L2xhdy9tdWxhdy1jb252ZXJzaW9uLmM6CgkgICogZ3N0L2xhdy9tdWxhdy1lbmNvZGUuYzogKGdzdF9tdWxhd2VuY19pbml0KSwKCSAgKGdzdF9tdWxhd2VuY19jaGFpbik6CgkgIFRoZSBlbmNvZGVyIGNhbid0IHJlYWxseSByZW5lZ290aWF0ZSBhdCB0aGUgdGltZSB0aGV5IHBlcmZvcm0gYQoJICBwYWQtYWxsb2Mgc28gbWFrZSB0aGUgc3JjcGFkcyB1c2UgZml4ZWQgY2Fwcy4KCSAgQ2hlY2sgdGhlIGJ1ZmZlciBzaXplIGFmdGVyIGEgcGFkLWFsbG9jIGJlY2F1c2UgdGhlIHJldHVybmVkIHNpemUgbWlnaHQKCSAgbm90IGJlIHJpZ2h0IHdoZW4gdGhlIGRvd25zdHJlYW0gZWxlbWVudCBkb2VzIG5vdCBrbm93IHRoZSBzaXplIG9mIHRoZQoJICBuZXcgYnVmZmVyIChjYXBzZmlsdGVyKS4gRml4ZXMgIzU0OTA3My4KCjIwMDgtMDgtMjMgMTU6NDM6NDkgKzAwMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSAgc3lzL3Y0bDIvZ3N0djRsMnR1bmVyLmM6IHY0bDJzcmMgZG9lc24ndCBoYXZlIGEgcHJvcGVydHkgbmFtZWQgIm5vcm0iIHNvIGRvbid0IHRyeSB0byBub3RpZnkgYWJvdXQgY2hhbmdlcyB0byB0aGF0IHByLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwbyBkb3QgYXJnaW9sYXMgYXQgZ21haWwgZG90IGNvbT4KCSAgKiBzeXMvdjRsMi9nc3R2NGwydHVuZXIuYzogKGdzdF92NGwyX3R1bmVyX3NldF9ub3JtX2FuZF9ub3RpZnkpOgoJICB2NGwyc3JjIGRvZXNuJ3QgaGF2ZSBhIHByb3BlcnR5IG5hbWVkICJub3JtIiBzbyBkb24ndCB0cnkgdG8gbm90aWZ5CgkgIGFib3V0IGNoYW5nZXMgdG8gdGhhdCBwcm9wZXJ0eS4gVGhlICJub3JtIiBwcm9wZXJ0eSBhbmQgcmVsYXRlZAoJICBjb2RlIGFyZSBjb21tZW50ZWQgb3V0IGN1cnJlbnRseS4gRml4ZXMgYnVnICM1NDkwOTAuCgoyMDA4LTA4LTIzIDE1OjMzOjQ5ICswMDAwICBNaWtlIFJ1cHJlY2h0IDxjbWFpa3VAZ21haWwuY29tPgoKCSAgc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOiBSZXByb2JlIGRldmljZXMgYWdhaW4gaW5zdGVhZCBvZiB0YWtpbmcgYSBjYWNoZWQgbGlzdCBhcyBuZXcgZGV2aWNlcyBjb3VsZCd2ZSBiZWVuIHBsdWdnZWQgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogTWlrZSBSdXByZWNodCA8Y21haWt1IGF0IGdtYWlsIGRvdCBjb20+CgkgICogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOiAoZ3N0X3Y0bDJfY2xhc3NfcHJvYmVfZGV2aWNlcyk6CgkgIFJlcHJvYmUgZGV2aWNlcyBhZ2FpbiBpbnN0ZWFkIG9mIHRha2luZyBhIGNhY2hlZCBsaXN0IGFzIG5ldwoJICBkZXZpY2VzIGNvdWxkJ3ZlIGJlZW4gcGx1Z2dlZCBpbi4gRml4ZXMgYnVnICM1NDkwNjIuCgoyMDA4LTA4LTIyIDE2OjA0OjAyICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvYXV0b2RldGVjdC9NYWtlZmlsZS5hbTogRG9uJ3QgbGluayB0aGUgYXV0b2RldGVjdCBwbHVnaW4gd2l0aCBHQ29uZiBhcyBpdCBkb2Vzbid0IHVzZSBHQ29uZi4gRml4ZXMgYnVnICM1NDU0NjMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdXRvZGV0ZWN0L01ha2VmaWxlLmFtOgoJICBEb24ndCBsaW5rIHRoZSBhdXRvZGV0ZWN0IHBsdWdpbiB3aXRoIEdDb25mIGFzIGl0IGRvZXNuJ3QKCSAgdXNlIEdDb25mLiBGaXhlcyBidWcgIzU0NTQ2My4KCjIwMDgtMDgtMjIgMTI6MjQ6MjMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9tYXRyb3NrYS9lYm1sLXJlYWQuYzogQ2hhbmdlIHNvbWUgR1NUX0VMRU1FTlRfRVJST1JzIHRvIEdTVF9FUlJPUl9PQkpFQ1QgdG8gbWFrZSBpdCBwb3NzaWJsZSB0byBpZ25vcmUgZXJyb3JzIGFuZC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvZWJtbC1yZWFkLmM6IChnc3RfZWJtbF9yZWFkX2VsZW1lbnRfaWQpLAoJICAoZ3N0X2VibWxfcmVhZF9lbGVtZW50X2xlbmd0aCksIChnc3RfZWJtbF9yZWFkX3VpbnQpLAoJICAoZ3N0X2VibWxfcmVhZF9zaW50KSwgKGdzdF9lYm1sX3JlYWRfZmxvYXQpLAoJICAoZ3N0X2VibWxfcmVhZF9oZWFkZXIpOgoJICBDaGFuZ2Ugc29tZSBHU1RfRUxFTUVOVF9FUlJPUnMgdG8gR1NUX0VSUk9SX09CSkVDVCB0byBtYWtlIGl0CgkgIHBvc3NpYmxlIHRvIGlnbm9yZSBlcnJvcnMgYW5kIG5vdCBwb3N0IGFueSBFUlJPUiBtZXNzYWdlcyBvbgoJICB0aGUgYnVzLgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2NvbnRlbnRzKToKCSAgSWdub3JlIGFueSBlcnJvcnMgYW5kIG5vdCBqdXN0IEVPUyB3aGVuIHBhcnNpbmcgdGhlIGNvbnRlbnRzIG9mCgkgIGEgU2Vla0hlYWQuIEVycm9ycyBoZXJlIGFyZSB1c3VhbGx5IGNhdXNlZCBieSB0cnVuY2F0ZWQgZmlsZXMKCSAgYW5kIHBsYXliYWNrIG9mIHRoZSBmaWxlIHdvcmtzIGZpbmUuIEZpeGVzIHBsYXliYWNrIG9mIHRoZQoJICBhdWRpb19vbmx5X2NoYXB0ZXJfc2Vla2Jyb2tlbi5ta2EgZmlsZSBmcm9tIHRoZSBNUGxheWVyIHNhbXBsZXMKCSAgYXJjaGl2ZS4KCjIwMDgtMDgtMjIgMTE6Mjk6MjYgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBnc3QvbXVsdGlwYXJ0LzogQ29uZm9ybSB0byBSRkMyMDQ2LiBhdWRpby9iYXNpYyBpcyBtdWxhdyA4MDAwSHogbW9uby4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOgoJICAqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0bXV4LmM6CgkgIENvbmZvcm0gdG8gUkZDMjA0Ni4gYXVkaW8vYmFzaWMgaXMgbXVsYXcgODAwMEh6IG1vbm8uCgoyMDA4LTA4LTIxIDIxOjU2OjE5ICswMDAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9sZS5hbmRyZS5yYXZuYXNAdGFuZGJlcmcuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJICBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jIChnc3RfZGlyZWN0ZHJhd19zaW5rX2J1ZmZlcl9hbGxvYywgZ3N0X2RpcmVjdGRyYXdfc2lua19idWZmZXJwb29sX2NsZWFyKToKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYyAoZ3N0X2RpcmVjdGRyYXdfc2lua19idWZmZXJfYWxsb2MsCgkgIGdzdF9kaXJlY3RkcmF3X3NpbmtfYnVmZmVycG9vbF9jbGVhcik6CgkgIEZpeCB0d28gbW9yZSBidWZmZXIgcmVmIGxlYWtzLgoKMjAwOC0wOC0yMSAxNToyODowOSArMDAwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvbGUuYW5kcmUucmF2bmFzQHRhbmRiZXJnLmNvbT4KCgkgIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6IEZpeCBidWZmZXIgcmVmIGxlYWsuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzICA8b2xlLmFuZHJlLnJhdm5hcyBhdCB0YW5kYmVyZyBjb20+CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgKGdzdF9kaXJlY3RkcmF3X3Npbmtfc2hvd19mcmFtZSk6CgkgIEZpeCBidWZmZXIgcmVmIGxlYWsuCgoyMDA4LTA4LTIxIDEzOjI3OjEyICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5jOiBSZXZlcnQgdGhlIGxhc3QgY29tbWl0LiB3YXZlbmMgc3RpbGwgc3VwcG9ydHMgd2lkdGghPWRlcHRoIGZvciAzMiBiaXQgd2lkdGguIFRoYW5rcyBUaW0uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmM6IChnc3Rfd2F2ZW5jX2NoYWluKToKCSAgUmV2ZXJ0IHRoZSBsYXN0IGNvbW1pdC4gd2F2ZW5jIHN0aWxsIHN1cHBvcnRzIHdpZHRoIT1kZXB0aCBmb3IgMzIgYml0CgkgIHdpZHRoLiBUaGFua3MgVGltLgoKMjAwOC0wOC0yMSAxMzoyMjowNiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IElmIHRoZSBkdXJhdGlvbiBvZiBhIGJsb2NrIGlzIHVua25vd24gb25seSB1c2UgdGhlIHRpbWVzdGFtcCBmb3IgdGhlIGZpcnN0IGxhY2UgYW5kIHVzLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2Jsb2NrZ3JvdXBfb3Jfc2ltcGxlYmxvY2spOgoJICBJZiB0aGUgZHVyYXRpb24gb2YgYSBibG9jayBpcyB1bmtub3duIG9ubHkgdXNlIHRoZSB0aW1lc3RhbXAgZm9yIHRoZQoJICBmaXJzdCBsYWNlIGFuZCB1c2UgR1NUX0NMT0NLX1RJTUVfTk9ORSBhcyBkdXJhdGlvbiBmb3IgdGhlIGZvbGxvd2luZwoJICBsYWNlcy4gT3RoZXJ3aXNlIGV2ZXJ5IGxhY2UgaGFzIHRoZSBzYW1lIHRpbWVzdGFtcCB3aGljaCBsZWFkcyB0bwoJICB2YXJpb3VzIHByb2JsZW1zLiBSZWFsbHkgZml4ZXMgYnVnICM1NDg4MzEuCgoyMDA4LTA4LTIxIDEyOjU2OjAxICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5jOiBJZiB3ZSdyZSBub3QgYWxsb3dpbmcgd2lkdGghPWRlcHRoIGluIHdhdmVuYyB3ZSBzaG91bGQgYWxzbyBkaXNhYmxlIHRoZSBjb2RlIHRoYXQgd2FzIGFkZGVkIHQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuYzogKGdzdF93YXZlbmNfY2hhaW4pOgoJICBJZiB3ZSdyZSBub3QgYWxsb3dpbmcgd2lkdGghPWRlcHRoIGluIHdhdmVuYyB3ZSBzaG91bGQgYWxzbyBkaXNhYmxlCgkgIHRoZSBjb2RlIHRoYXQgd2FzIGFkZGVkIHRvIHN1cHBvcnQgd2lkdGghPWRlcHRoLgoKMjAwOC0wOC0yMSAxMjo1Mjo0NyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IERvbid0IGNhbGN1bGF0ZSB0aGUgZGVmYXVsdCBkdXJhdGlvbiBvZiBhIGZyYW1lIGZyb20gdGhlIGF1ZGlvIHNhbXBsaW5nIHJhdGUuIFRoaXMgb25sLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiAoZ3N0X21hdHJvc2thX2RlbXV4X2FkZF9zdHJlYW0pOgoJICBEb24ndCBjYWxjdWxhdGUgdGhlIGRlZmF1bHQgZHVyYXRpb24gb2YgYSBmcmFtZSBmcm9tIHRoZSBhdWRpbyBzYW1wbGluZwoJICByYXRlLiBUaGlzIG9ubHkgd29ya3MgZm9yIHJhdyBhdWRpbyBpZiBldmVyeSBmcmFtZSBjb250YWlucyBhIHNpbmdsZQoJICBzYW1wbGUgYW5kIHJlc3VsdHMgaW4gYnJva2VuIGJ1ZmZlciBkdXJhdGlvbnMgZm9yIG90aGVyIGZvcm1hdHMKCSAgaWYgbm8gc3BlY2lmaWVkIGRlZmF1bHQgZHVyYXRpb24gaXMgZ2l2ZW4gb3IgdGhlIGJsb2NrcyBoYXZlIG5vCgkgIGR1cmF0aW9uLiBGaXhlcyBidWcgIzU0ODgzMS4KCjIwMDgtMDgtMjEgMTI6MzQ6MzMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiBBbGxvdyB6ZXJvIHNpemVkIGJsb2NrcyBpbnN0ZWFkIG9mIHJldHVybmluZyBHU1RfRkxPV19PSy4gU3VjaCBibG9ja3MgYXJlIHVzZWQgZm9yIHRleC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9ibG9ja2dyb3VwX29yX3NpbXBsZWJsb2NrKToKCSAgQWxsb3cgemVybyBzaXplZCBibG9ja3MgaW5zdGVhZCBvZiByZXR1cm5pbmcgR1NUX0ZMT1dfT0suIFN1Y2ggYmxvY2tzCgkgIGFyZSB1c2VkIGZvciB0ZXh0L3BsYWluIHN1YnRpdGxlcyBhcyBhIGdhcC1maWxsZXIgaW4gc29tZSBmaWxlcy4KCjIwMDgtMDgtMjEgMTI6MTI6MDAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6IEFkZCBTOTEwIGFuZCBQV0MgZm9ybWF0cyB3aXRoIGEgbG93IHByaW9yaXR5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6IChnc3RfdjRsMnNyY192NGwyZm91cmNjX3RvX3N0cnVjdHVyZSksCgkgIChnc3RfdjRsMl9nZXRfY2Fwc19pbmZvKToKCSAgQWRkIFM5MTAgYW5kIFBXQyBmb3JtYXRzIHdpdGggYSBsb3cgcHJpb3JpdHkuCgkgICogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOiAoZ3N0X3Y0bDJzcmNfZm9ybWF0X2dldF9yYW5rKSwKCSAgKGdzdF92NGwyc3JjX3Byb2JlX2NhcHNfZm9yX2Zvcm1hdCk6CgkgIEFkZCBtb3JlIGRlYnVnZ2luZy4KCjIwMDgtMDgtMjAgMjE6NTQ6MzUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvZmxhYy9nc3RmbGFjZW5jLmM6IEZpeCBjb21waWxhdGlvbiBhZ2FpbnN0IG9sZGVyIGxpYmZsYWMgdmVyc2lvbnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSAgRml4IGNvbXBpbGF0aW9uIGFnYWluc3Qgb2xkZXIgbGliZmxhYyB2ZXJzaW9ucy4KCjIwMDgtMDgtMjAgMTc6NDY6NDggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9wdWxzZS86IFVzZSBHU1RfQk9JTEVSUExBVEUgZXZlcnl3aGVyZSBhbmQgZml4IGNvZGluZyBzdHlsZSBhdCBzb21lIHBsYWNlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3B1bHNlL3B1bHNlbWl4ZXIuYzogKGdzdF9wdWxzZW1peGVyX2NsYXNzX2luaXQpLAoJICAoZ3N0X3B1bHNlbWl4ZXJfc2V0X3Byb3BlcnR5KSwgKGdzdF9wdWxzZW1peGVyX2dldF9wcm9wZXJ0eSk6CgkgICogZXh0L3B1bHNlL3B1bHNlbWl4ZXJjdHJsLmM6IChnc3RfcHVsc2VtaXhlcl9jdHJsX3N1YnNjcmliZV9jYiksCgkgIChnc3RfcHVsc2VtaXhlcl9jdHJsX29wZW4pLCAoZ3N0X3B1bHNlbWl4ZXJfY3RybF90aW1lb3V0X2V2ZW50KSwKCSAgKGdzdF9wdWxzZW1peGVyX2N0cmxfc2V0X3ZvbHVtZSk6CgkgICogZXh0L3B1bHNlL3B1bHNlbWl4ZXJ0cmFjay5jOiAoZ3N0X3B1bHNlbWl4ZXJfdHJhY2tfbmV3KToKCSAgKiBleHQvcHVsc2UvcHVsc2Vwcm9iZS5jOiAoZ3N0X3B1bHNlcHJvYmVfb3Blbik6CgkgICogZXh0L3B1bHNlL3B1bHNlc2luay5jOiAoZ3N0X3B1bHNlc2lua19jbGFzc19pbml0KSwKCSAgKGdzdF9wdWxzZXNpbmtfaW5pdCksIChnc3RfcHVsc2VzaW5rX29wZW4pLAoJICAoZ3N0X3B1bHNlc2lua19wcmVwYXJlKSwgKGdzdF9wdWxzZXNpbmtfd3JpdGUpLAoJICAoZ3N0X3B1bHNlc2lua19kZWxheSksIChnc3RfcHVsc2VzaW5rX3Jlc2V0KToKCSAgKiBleHQvcHVsc2UvcHVsc2VzcmMuYzogKGdzdF9wdWxzZXNyY19jbGFzc19pbml0KSwKCSAgKGdzdF9wdWxzZXNyY19pbml0KToKCSAgVXNlIEdTVF9CT0lMRVJQTEFURSBldmVyeXdoZXJlIGFuZCBmaXggY29kaW5nIHN0eWxlIGF0IHNvbWUgcGxhY2VzLgoJICBGaXggYSBsb2NraW5nIGlzc3VlIGluIHB1bHNlc2luaydzIHByZXBhcmUgZnVuY3Rpb24uCgkgICogZXh0L3B1bHNlL3B1bHNldXRpbC5jOiAoZ3N0X3B1bHNlX2NoYW5uZWxfbWFwX3RvX2dzdCk6CgkgIENoZWNrIGlmIHRoZSBjcmVhdGVkIGNoYW5uZWwgbGF5b3V0IGlzIHZhbGlkIGZvciBHU3RyZWFtZXIuCgoyMDA4LTA4LTIwIDE3OjQyOjIxICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcGdvb2dsZS5jOiBUaGluZ3MgdGhhdCBjYW4gaGFwcGVuIHdoZW4geW91ciBicmFpbiBpcyBpbiBnb29nbGUgbW9kZSB0cnlpbmcgdG8gZGVhbCB3aXRoIHRoZWlyIGdvb2dsZSByLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3Bnb29nbGUuYzoKCSAgVGhpbmdzIHRoYXQgY2FuIGhhcHBlbiB3aGVuIHlvdXIgYnJhaW4gaXMgaW4gZ29vZ2xlIG1vZGUgdHJ5aW5nIHRvCgkgIGRlYWwgd2l0aCB0aGVpciBnb29nbGUgcnRzcCBzZXJ2ZXIgZXh0ZW5zaW9ucyBhbmQgdHJ5aW5nIHRvIHR5cGUgeW91cgoJICBnb29nbGUgbWFpbCBhY2NvdW50LgoKMjAwOC0wOC0yMCAxNzozMDoxOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwLzogQWRkIGdvb2dsZSBSVFNQIGV4dGVuc2lvbiwgaXQgY2FuIG9ubHkgaGFuZGxlIHVkcCBhbmQgcmVzcG9uZHMgd2l0aCB1bnN1cHBvcnRlZCBpZiB3ZSBkbyBhbnl0aGluZyBlbHNlLiBGaS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcnRzcC9nc3RydHNwLmM6IChwbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcGdvb2dsZS5jOiAoZ3N0X3J0c3BfZ29vZ2xlX2JlZm9yZV9zZW5kKSwKCSAgKGdzdF9ydHNwX2dvb2dsZV9hZnRlcl9zZW5kKSwgKGdzdF9ydHNwX2dvb2dsZV9nZXRfdHJhbnNwb3J0cyksCgkgIChfZG9faW5pdCksIChnc3RfcnRzcF9nb29nbGVfYmFzZV9pbml0KSwKCSAgKGdzdF9ydHNwX2dvb2dsZV9jbGFzc19pbml0KSwgKGdzdF9ydHNwX2dvb2dsZV9pbml0KSwKCSAgKGdzdF9ydHNwX2dvb2dsZV9maW5hbGl6ZSksIChnc3RfcnRzcF9nb29nbGVfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9ydHNwX2dvb2dsZV9leHRlbnNpb25faW5pdCk6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcGdvb2dsZS5oOgoJICBBZGQgZ29vZ2xlIFJUU1AgZXh0ZW5zaW9uLCBpdCBjYW4gb25seSBoYW5kbGUgdWRwIGFuZCByZXNwb25kcyB3aXRoCgkgIHVuc3VwcG9ydGVkIGlmIHdlIGRvIGFueXRoaW5nIGVsc2UuIEZpeGVzICM1NDY0NjUuCgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfY29ubmVjdGlvbl9zZW5kKSwKCSAgKGdzdF9ydHNwc3JjX2Nvbm5lY3Rpb25fcmVjZWl2ZSksIChnc3RfcnRzcHNyY19sb29wX3NlbmRfY21kKSwKCSAgKGdzdF9ydHNwc3JjX2NyZWF0ZV90cmFuc3BvcnRzX3N0cmluZyksCgkgIChnc3RfcnRzcHNyY19zZXR1cF9zdHJlYW1zKSwgKGdzdF9ydHNwc3JjX29wZW4pLAoJICAoZ3N0X3J0c3BzcmNfY2xvc2UpLCAoZ3N0X3J0c3BzcmNfcGF1c2UpOgoJICBNYWtlIHRyYW5zcG9ydCBzZXR1cCBjb2RlIGEgYml0IGJldHRlciB1c2luZyBHU3RyaW5nLgoJICBBZGQgc29tZSBtb3JlIGRlYnVnLgoJICBDaGVjayBmb3IgY2xvc2VkIGNvbm5lY3Rpb25zIGJlZm9yZSBkb2luZyBhbnl0aGluZyBvbiB0aGVtLgoKMjAwOC0wOC0yMCAxNzoxNzo1NSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3B1bHNlLzogSWYgZG93bnN0cmVhbSBwcm92aWRlcyBubyBjaGFubmVsIGxheW91dCBhbmQgPjIgY2hhbm5lbHMgc2hvdWxkIGJlIHVzZWQgdXNlIHRoZSBkZWZhdWx0IGxheW91dCB0aGF0IHB1bHNlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOiAoZ3N0X3B1bHNlc3JjX2NsYXNzX2luaXQpLAoJICAoZ3N0X3B1bHNlc3JjX2NyZWF0ZV9zdHJlYW0pLCAoZ3N0X3B1bHNlc3JjX25lZ290aWF0ZSksCgkgIChnc3RfcHVsc2VzcmNfcHJlcGFyZSk6CgkgICogZXh0L3B1bHNlL3B1bHNldXRpbC5jOiAoZ3N0X3B1bHNlX2dzdF90b19jaGFubmVsX21hcCksCgkgIChnc3RfcHVsc2VfY2hhbm5lbF9tYXBfdG9fZ3N0KToKCSAgKiBleHQvcHVsc2UvcHVsc2V1dGlsLmg6CgkgIElmIGRvd25zdHJlYW0gcHJvdmlkZXMgbm8gY2hhbm5lbCBsYXlvdXQgYW5kID4yIGNoYW5uZWxzIHNob3VsZCBiZQoJICB1c2VkIHVzZSB0aGUgZGVmYXVsdCBsYXlvdXQgdGhhdCBwdWxzZWF1ZGlvIGNob29zZXMgYW5kIGFsc28KCSAgYWRkIHRoaXMgbGF5b3V0IHRvIHRoZSBjYXBzLiBGaXhlcyBidWcgIzU0NzI1OC4KCjIwMDgtMDgtMjAgMTE6NTE6MzggKzAwMDAgIFBldGVyIEtqZWxsZXJzdGVkdCA8cGtqQGF4aXMuY29tPgoKCSAgZ3N0L3VkcC86IEF2b2lkIGxlYWtpbmcgaW50ZXJuYWxseSBhbGxvY2F0ZWQgZmlsZSBkZXNjcmlwdG9ycyB3aGVuIHNldHRpbmcgY3VzdG9tIGZpbGUgZGVzY3JpcHRvcnMuIEZpeGVzICM1NDMxMDEuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogUGV0ZXIgS2plbGxlcnN0ZWR0IDxwa2ogYXQgYXhpcyBjb20+CgkgICogZ3N0L3VkcC9nc3RkeW51ZHBzaW5rLmM6IChnc3RfZHludWRwc2lua19pbml0KSwKCSAgKGdzdF9keW51ZHBzaW5rX2ZpbmFsaXplKSwgKGdzdF9keW51ZHBzaW5rX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfZHludWRwc2lua19pbml0X3NlbmQpLCAoZ3N0X2R5bnVkcHNpbmtfY2xvc2UpOgoJICAqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6IChnc3RfbXVsdGl1ZHBzaW5rX2luaXQpLAoJICAoZ3N0X211bHRpdWRwc2lua19maW5hbGl6ZSksIChnc3RfbXVsdGl1ZHBzaW5rX3NldF9wcm9wZXJ0eSk6CgkgICogZ3N0L3VkcC9nc3R1ZHBzcmMuYzogKGdzdF91ZHBzcmNfZmluYWxpemUpLAoJICAoZ3N0X3VkcHNyY19zZXRfcHJvcGVydHkpOgoJICBBdm9pZCBsZWFraW5nIGludGVybmFsbHkgYWxsb2NhdGVkIGZpbGUgZGVzY3JpcHRvcnMgd2hlbiBzZXR0aW5nCgkgIGN1c3RvbSBmaWxlIGRlc2NyaXB0b3JzLiBGaXhlcyAjNTQzMTAxLgoKMjAwOC0wOC0yMCAxMTo0ODo0NiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogRG9uJ3QgdHJ5IHRvIGNvbmZpZ3VyZSBSVENQIGJhY2sgdG8gdGhlIHNlcnZlciB3aGVuIHRoZSBzZXJ2ZXIgZGlkIG5vdCBnaXZlIHVzIGEgdmFsaWQgcG9ydCBudS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19zdHJlYW1fY29uZmlndXJlX3VkcF9zaW5rKToKCSAgRG9uJ3QgdHJ5IHRvIGNvbmZpZ3VyZSBSVENQIGJhY2sgdG8gdGhlIHNlcnZlciB3aGVuIHRoZSBzZXJ2ZXIgZGlkIG5vdAoJICBnaXZlIHVzIGEgdmFsaWQgcG9ydCBudW1iZXIuCgoyMDA4LTA4LTIwIDEwOjU5OjUyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6IFVzZSBuZXcgYmFzZXRyYW5zZm9ybSBtZXRob2QgdG8gcmVuZWdvdGlhdGUuIEZpeGVzICM1NDQ5NTYuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOiAoZ3N0X3ZpZGVvX2JveF9zZXRfcHJvcGVydHkpOgoJICBVc2UgbmV3IGJhc2V0cmFuc2Zvcm0gbWV0aG9kIHRvIHJlbmVnb3RpYXRlLiBGaXhlcyAjNTQ0OTU2LgoJICAqIHRlc3RzL2ljbGVzL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2ljbGVzL3ZpZGVvYm94LXRlc3QuYzogKG1ha2VfcGlwZWxpbmUpLCAobWFpbik6CgkgIEFkZCB2aWRlb2JveCByZW5lZ290aWF0aW9uIGV4YW1wbGUuCgoyMDA4LTA4LTE5IDIxOjAzOjIyICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmM6IFJlbW92ZSBkZXB0aCByYW5nZXMgYW5kIHJlcGxhY2Ugd2l0aCBzYW5lIHZhbHVlcy4gIEZpeGVzICM1NDg1MzAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmM6IFJlbW92ZSBkZXB0aCByYW5nZXMgYW5kIHJlcGxhY2UKCSAgd2l0aCBzYW5lIHZhbHVlcy4gIEZpeGVzICM1NDg1MzAuCgoyMDA4LTA4LTE4IDE1OjA1OjMyICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvcHVsc2UvOiBUaGUgYnl0ZXNfcGVyX3NhbXBsZSBhbmQgc2lsZW5jZV9zYW1wbGUgZmllbGRzIG9mIHRoZSBHc3RSaW5nQnVmZmVyU3BlYyBhcmUgYWxyZWFkeSBmaWxsZWQgd2l0aCB0aGUgY29ycmUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3B1bHNlL3B1bHNlc2luay5jOiAoZ3N0X3B1bHNlc2lua19wcmVwYXJlKToKCSAgKiBleHQvcHVsc2UvcHVsc2VzcmMuYzogKGdzdF9wdWxzZXNyY19wcmVwYXJlKToKCSAgVGhlIGJ5dGVzX3Blcl9zYW1wbGUgYW5kIHNpbGVuY2Vfc2FtcGxlIGZpZWxkcyBvZiB0aGUgR3N0UmluZ0J1ZmZlclNwZWMKCSAgYXJlIGFscmVhZHkgZmlsbGVkIHdpdGggdGhlIGNvcnJlY3QgdmFsdWVzIGJ5CgkgIGdzdF9yaW5nX2J1ZmZlcl9wYXJzZV9jYXBzKCkgc28gdGhlcmUncyBubyBuZWVkIHRvIHNldCB0aGVtIGFnYWluCgkgIHdpdGggd3JvbmcgdmFsdWVzLgoKMjAwOC0wOC0xNiAxNDo1NDo1NiArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogU29tZSBBVkkgMi4wIChPRE1MKSBmaWxlcyBkb24ndCByZXNwZWN0IHRoZSAnc3BlY2lmaWNhdGlvbnMnIGNvbXBsZXRlbHkgYW5kIGluc3RlYWQgb2YgdXNpbmcgdC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X3JlYWRfc3ViaW5kZXhlc19wdWxsKSwKCSAgKGdzdF9hdmlfZGVtdXhfcmVhZF9zdWJpbmRleGVzX3B1c2gpOgoJICBTb21lIEFWSSAyLjAgKE9ETUwpIGZpbGVzIGRvbid0IHJlc3BlY3QgdGhlICdzcGVjaWZpY2F0aW9ucycgY29tcGxldGVseQoJICBhbmQgaW5zdGVhZCBvZiB1c2luZyB0aGUgJ2l4IyMnIG5vbWVuY2xhdHVyZSwgdXNlICcjI2l4Jy4KCSAgVGhleSdyZSBzdGlsbCB2YWxpZCB0aG91Z2gsIHRoaXMgZml4ZXMgdGhlIGR1cmF0aW9uIGFuZCBpbmRleGVzIGZvcgoJICB2aXJ0dWFsbHkgYWxsIHRoZSBPRE1MIGZpbGVzIEkgaGF2ZS4KCjIwMDgtMDgtMTUgMTc6MjY6MTggKzAwMDAgIE9saXZpZXIgQ3JldGUgPHRlc3RlckB0ZXN0ZXIuY2E+CgoJICBnc3QvcnRwLzogVXBkYXRlIHRoZSB2b3JiaXMgUlRQIHBheS9kZXBheSB0byBSRkMgNTIxNS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBPbGl2aWVyIENyZXRlIDx0ZXN0ZXIgYXQgdGVzdGVyIGRvdCBjYT4KCSAgKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc2RlcGF5LmM6IChnc3RfcnRwX3ZvcmJpc19kZXBheV9zZXRjYXBzKSwKCSAgKGdzdF9ydHBfdm9yYmlzX2RlcGF5X3Byb2Nlc3MpOgoJICAqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzcGF5LmM6IChnc3RfcnRwX3ZvcmJpc19wYXlfZmluaXNoX2hlYWRlcnMpOgoJICBVcGRhdGUgdGhlIHZvcmJpcyBSVFAgcGF5L2RlcGF5IHRvIFJGQyA1MjE1LgoJICBGaXhlcyAjNTQ3ODQyLgoKMjAwOC0wOC0xNCAyMjowNzowMiArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEFkZCAnaGR2NicgYXMgYSBIRFYgZm9ybWF0IGZvciAxMDgwaS82MCB3aXRoIDM6MiBwdWxsZG93biwgaS5lLiwgMjRwLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEFkZCAnaGR2NicgYXMgYSBIRFYgZm9ybWF0IGZvciAxMDgwaS82MAoJICB3aXRoIDM6MiBwdWxsZG93biwgaS5lLiwgMjRwLgoKMjAwOC0wOC0xNCAxMjo0NzowOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2xldmVsLmM6IEZpeCBjb21waWxhdGlvbiBzb21lIG1vcmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2xldmVsLmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgIEZpeCBjb21waWxhdGlvbiBzb21lIG1vcmUuCgoyMDA4LTA4LTE0IDExOjQ0OjU5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgY29uZmlndXJlLmFjOiBSZXF1aXJlIC1iYXNlIENWUyBmb3Igd2F2cGFyc2UgYWNpZCBjaHVuayBwYXJzaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6OgoJICBSZXF1aXJlIC1iYXNlIENWUyBmb3Igd2F2cGFyc2UgYWNpZCBjaHVuayBwYXJzaW5nLgoKMjAwOC0wOC0xMyAxMzo1NzowMSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3B1bHNlL3B1bHNlc2luay4qOiBBZGQgImRldmljZS1uYW1lIiBwcm9wZXJ0eSB0byBwdWxzZXNpbmsgdG9vIGFuZCBjdXJyZW50bHkgY29tbWVudGVkIG91dCBhbmQgbm90IHdvcmtpbmcgc3VwcG9yLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzogKGdzdF9wdWxzZXNpbmtfY2xhc3NfaW5pdCksCgkgIChnc3RfcHVsc2VzaW5rX2luaXQpLCAoZ3N0X3B1bHNlc2lua19maW5hbGl6ZSksCgkgIChnc3RfcHVsc2VzaW5rX3NldF92b2x1bWUpLCAoZ3N0X3B1bHNlc2lua19nZXRfdm9sdW1lKSwKCSAgKGdzdF9wdWxzZXNpbmtfc2V0X3Byb3BlcnR5KSwgKGdzdF9wdWxzZXNpbmtfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9wdWxzZXNpbmtfcHJlcGFyZSksIChnc3RfcHVsc2VzaW5rX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L3B1bHNlL3B1bHNlc2luay5oOgoJICBBZGQgImRldmljZS1uYW1lIiBwcm9wZXJ0eSB0byBwdWxzZXNpbmsgdG9vIGFuZCBjdXJyZW50bHkgY29tbWVudGVkCgkgIG91dCBhbmQgbm90IHdvcmtpbmcgc3VwcG9ydCBmb3IgYSAidm9sdW1lIiBwcm9wZXJ0eS4KCjIwMDgtMDgtMTMgMTM6MTc6MTUgKzAwMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJICBjb25maWd1cmUuYWM6IFJlbW92ZSBtb3JlIGNkaW8gc3R1ZmYgKG1vdmVkIHRvIHVnbHkpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgUmVtb3ZlIG1vcmUgY2RpbyBzdHVmZiAobW92ZWQgdG8gdWdseSkKCjIwMDgtMDgtMTMgMTI6Mzc6MjYgKzAwMDAgIExhc3psbyBQYW5keSA8bGFzemxvazJAZ21haWwuY29tPgoKCSAgZXh0L3B1bHNlL3B1bHNlc3JjLmM6IEFkZCAiZGV2aWNlLW5hbWUiIHByb3BlcnR5LCB3aGljaCBwcm92aWRlcyBhIGh1bWFuIHJlYWRhYmxlIHN0cmluZyBmb3IgdGhlIGF1ZGlvIGRldmljZSwgdG8gbWFrLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogTGFzemxvIFBhbmR5IDxsYXN6bG9rMiBhdCBnbWFpbCBkb3QgY29tPgoJICAqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOiAoZ3N0X3B1bHNlc3JjX2NsYXNzX2luaXQpLAoJICAoZ3N0X3B1bHNlc3JjX2dldF9wcm9wZXJ0eSk6CgkgIEFkZCAiZGV2aWNlLW5hbWUiIHByb3BlcnR5LCB3aGljaCBwcm92aWRlcyBhIGh1bWFuIHJlYWRhYmxlIHN0cmluZwoJICBmb3IgdGhlIGF1ZGlvIGRldmljZSwgdG8gbWFrZSBpdCBtb3JlIGNvbnNpc3RlbiB3aXRoIG90aGVyIGF1ZGlvCgkgIHNvdXJjZXMuIEZpeGVzIGJ1ZyAjNTQ3NTE5LgoKMjAwOC0wOC0xMyAxMjozNDoxMyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3B1bHNlLzogSW1wcm92ZSBkZWJ1Z2dpbmcgYSBiaXQgYnkgaW5jbHVkaW5nIHRoZSBwYXJlbnQgb2JqZWN0IGluIHB1bHNlbWl4ZXJjdHJsIGFuZCBwdWxzZXByb2JlIG9iamVjdHMgYW5kIHVzaW5nLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9wdWxzZS9wdWxzZW1peGVyLmM6IChnc3RfcHVsc2VtaXhlcl9jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9wdWxzZS9wdWxzZW1peGVyY3RybC5jOiAoZ3N0X3B1bHNlbWl4ZXJfY3RybF9zdWJzY3JpYmVfY2IpLAoJICAoZ3N0X3B1bHNlbWl4ZXJfY3RybF9vcGVuKSwgKGdzdF9wdWxzZW1peGVyX2N0cmxfbmV3KSwKCSAgKGdzdF9wdWxzZW1peGVyX2N0cmxfZnJlZSksIChnc3RfcHVsc2VtaXhlcl9jdHJsX3RpbWVvdXRfZXZlbnQpOgoJICAqIGV4dC9wdWxzZS9wdWxzZW1peGVyY3RybC5oOgoJICAqIGV4dC9wdWxzZS9wdWxzZXByb2JlLmM6IChnc3RfcHVsc2Vwcm9iZV9vcGVuKSwKCSAgKGdzdF9wdWxzZXByb2JlX2VudW1lcmF0ZSksIChnc3RfcHVsc2Vwcm9iZV9uZXcpLAoJICAoZ3N0X3B1bHNlcHJvYmVfZnJlZSksIChnc3RfcHVsc2Vwcm9iZV9uZWVkc19wcm9iZSksCgkgIChnc3RfcHVsc2Vwcm9iZV9wcm9iZV9wcm9wZXJ0eSksIChnc3RfcHVsc2Vwcm9iZV9nZXRfdmFsdWVzKToKCSAgKiBleHQvcHVsc2UvcHVsc2Vwcm9iZS5oOgoJICAqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzogKGdzdF9wdWxzZXNpbmtfaW5pdCk6CgkgICogZXh0L3B1bHNlL3B1bHNlc3JjLmM6IChnc3RfcHVsc2VzcmNfaW5pdCksIChnc3RfcHVsc2VzcmNfZGVsYXkpLAoJICAoZ3N0X3B1bHNlc3JjX2NoYW5nZV9zdGF0ZSk6CgkgIEltcHJvdmUgZGVidWdnaW5nIGEgYml0IGJ5IGluY2x1ZGluZyB0aGUgcGFyZW50IG9iamVjdCBpbiBwdWxzZW1peGVyY3RybAoJICBhbmQgcHVsc2Vwcm9iZSBvYmplY3RzIGFuZCB1c2luZyBHU1RfV0FSTklOR19PQkpFQ1QgaW5zdGVhZCBvZgoJICBHU1RfV0FSTklORy4KCSAgVXNlIHRoZSBwYXJlbnQgR09iamVjdCBzdWJjbGFzcyBpbnN0ZWFkIG9mIGEgcmFuZG9tIHN0cnVjdCBhcyBHT2JqZWN0CgkgIHBhcmFtZXRlciBmb3IgR19PQkpFQ1RfV0FSTl9JTlZBTElEX1BST1BFUlRZX0lELiBUaGlzIGZpeGVzIGEgY3Jhc2gKCSAgd2hlbiBwcm9iaW5nIGZvciBhbm90aGVyIHByb3BlcnR5IHRoYW4gImRldmljZSIuCgoyMDA4LTA4LTEzIDEyOjIxOjIyICswMDAwICBMYXN6bG8gUGFuZHkgPGxhc3psb2syQGdtYWlsLmNvbT4KCgkgIGV4dC9wdWxzZS9wdWxzZW1peGVyLmM6IEZpeCBwcm9wZXJ0eSBwcm9iaW5nIGFmdGVyIHRoZSBkZXZpY2UgcHJvcGVydHkgaXMgc2V0IGJ5IGNhbGxpbmcgc2V0X3NlcnZlciB3aGVuIHRoZSBzZXJ2ZXIgcC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IExhc3psbyBQYW5keSA8bGFzemxvazIgYXQgZ21haWwgZG90IGNvbT4KCSAgKiBleHQvcHVsc2UvcHVsc2VtaXhlci5jOiAoZ3N0X3B1bHNlbWl4ZXJfc2V0X3Byb3BlcnR5KToKCSAgRml4IHByb3BlcnR5IHByb2JpbmcgYWZ0ZXIgdGhlIGRldmljZSBwcm9wZXJ0eSBpcyBzZXQgYnkgY2FsbGluZwoJICBzZXRfc2VydmVyIHdoZW4gdGhlIHNlcnZlciBwcm9wZXJ0eSBjaGFuZ2VzLiBGaXhlcyBidWcgIzU0NzUxOC4KCjIwMDgtMDgtMTMgMTI6MTE6MzQgKzAwMDAgIExhc3psbyBQYW5keSA8bGFzemxvazJAZ21haWwuY29tPgoKCSAgZXh0L3B1bHNlL3B1bHNlbWl4ZXIuYzogRml4IHByb3BlcnR5IHByb2JpbmcgYWZ0ZXIgdGhlIGRldmljZSBwcm9wZXJ0eSBpcyBzZXQgYnkgY2FsbGluZyBzZXRfc2VydmVyIHdoZW4gdGhlIHNlcnZlciBwLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogTGFzemxvIFBhbmR5IDxsYXN6bG9rMiBhdCBnbWFpbCBkb3QgY29tPgoJICAqIGV4dC9wdWxzZS9wdWxzZW1peGVyLmM6IChnc3RfcHVsc2VtaXhlcl9zZXRfcHJvcGVydHkpOgoJICBGaXggcHJvcGVydHkgcHJvYmluZyBhZnRlciB0aGUgZGV2aWNlIHByb3BlcnR5IGlzIHNldCBieSBjYWxsaW5nCgkgIHNldF9zZXJ2ZXIgd2hlbiB0aGUgc2VydmVyIHByb3BlcnR5IGNoYW5nZXMuIEZpeGVzIGJ1ZyAjNTQ3NTE4LgoKMjAwOC0wOC0xMyAxMjowMTowMSArMDAwMCAgTGFzemxvIFBhbmR5IDxsYXN6bG9rMkBnbWFpbC5jb20+CgoJICBleHQvcHVsc2UvOiBJbXBsZW1lbnQgR3N0UHJvcGVydHlQcm9iZSBpbnRlcmZhY2Ugb24gcHVsc2VzaW5rIGZvciBkZXRlY3Rpbmcgc2luayBkZXZpY2VzIGFuZCBvbiBwdWxzZXNyYyBmb3IgZGV0ZWN0aW4uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBMYXN6bG8gUGFuZHkgPGxhc3psb2syIGF0IGdtYWlsIGRvdCBjb20+CgkgICogZXh0L3B1bHNlL3B1bHNlc2luay5jOiAoZ3N0X3B1bHNlc2lua19pbnRlcmZhY2Vfc3VwcG9ydGVkKSwKCSAgKGdzdF9wdWxzZXNpbmtfaW1wbGVtZW50c19pbnRlcmZhY2VfaW5pdCksCgkgIChnc3RfcHVsc2VzaW5rX2luaXRfaW50ZXJmYWNlcyksIChnc3RfcHVsc2VzaW5rX2luaXQpLAoJICAoZ3N0X3B1bHNlc2lua19maW5hbGl6ZSksIChnc3RfcHVsc2VzaW5rX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfcHVsc2VzaW5rX2dldF90eXBlKToKCSAgKiBleHQvcHVsc2UvcHVsc2VzaW5rLmg6CgkgICogZXh0L3B1bHNlL3B1bHNlc3JjLmM6IChnc3RfcHVsc2VzcmNfaW50ZXJmYWNlX3N1cHBvcnRlZCksCgkgIChnc3RfcHVsc2VzcmNfaW5pdF9pbnRlcmZhY2VzKSwgKGdzdF9wdWxzZXNyY19pbml0KSwKCSAgKGdzdF9wdWxzZXNyY19maW5hbGl6ZSksIChnc3RfcHVsc2VzcmNfc2V0X3Byb3BlcnR5KToKCSAgKiBleHQvcHVsc2UvcHVsc2VzcmMuaDoKCSAgSW1wbGVtZW50IEdzdFByb3BlcnR5UHJvYmUgaW50ZXJmYWNlIG9uIHB1bHNlc2luayBmb3IgZGV0ZWN0aW5nCgkgIHNpbmsgZGV2aWNlcyBhbmQgb24gcHVsc2VzcmMgZm9yIGRldGVjdGluZyBzb3VyY2UgZGV2aWNlcy4KCSAgRml4ZXMgYnVncyAjNTQ3MjI3IGFuZCAjNTQ3MjE3LgoKMjAwOC0wOC0xMyAwOToxNzoyMCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IERvbid0IHRlcm1pbmF0ZSBvbiBmYWJzKGluKT4xLjAuIEluaXQgZG91YmxlcyBhcyBkb3VibGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSAgRG9uJ3QgdGVybWluYXRlIG9uIGZhYnMoaW4pPjEuMC4gSW5pdCBkb3VibGVzIGFzIGRvdWJsZXMuCgoyMDA4LTA4LTEzIDA4OjMzOjU3ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOiBQcm9wZXJseSBzZXQgdGhlIG1heGltdW0gbGF0ZW5jeSB2YWx1ZSwgaW4gdGhlIHNhbWUgd2F5IGl0IGlzIGRvbmUgaW4gdjRsc3JjLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6IChnc3RfdjRsMnNyY19xdWVyeSk6CgkgIFByb3Blcmx5IHNldCB0aGUgbWF4aW11bSBsYXRlbmN5IHZhbHVlLCBpbiB0aGUgc2FtZSB3YXkgaXQgaXMgZG9uZSBpbgoJICB2NGxzcmMuCgkgICogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJICBTaW1wbGlmeSBmcmFjdGlvbiBlcXVhbGl0eSBjaGVjaywgbm8gbmVlZCB0byB1c2UgR1ZhbHVlcyBmb3IgdGhpcy4KCjIwMDgtMDgtMTIgMTI6MDQ6MjQgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6IEFkZCB3YXJuaW5nIG1lc3NhZ2VzIHN0YXRpbmcgZXhhY3RseSB3aHkgdGhlIGxhdGVuY3kgcXVlcnkgZmFpbGVkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6IChnc3RfdjRsMnNyY19xdWVyeSk6CgkgIEFkZCB3YXJuaW5nIG1lc3NhZ2VzIHN0YXRpbmcgZXhhY3RseSB3aHkgdGhlIGxhdGVuY3kgcXVlcnkgZmFpbGVkLgoJICAqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzogKGdzdF92NGwyc3JjX3NldF9jYXB0dXJlKToKCSAgSW4gc29tZSBjYXNlcywgdGhlIG5lZ290aWF0ZWQgZnJhbWVyYXRlIG1pZ2h0IGJlIHRoZSBkZWZhdWx0IG9uZSB3aGljaAoJICBpcyBhbHJlYWR5IHNldCBpbnRlcm5hbGx5LiBCdXQgd2Ugc3RpbGwgbmVlZCB0byBtYXJrIGl0IGRvd24gaW4gZnBzX24KCSAgYW5kIGZwc19kIHNvIHRoYXQgdGhlIGxhdGVuY3kgcXVlcnkgY2FuIGhhcHBlbiBwcm9wZXJseS4KCjIwMDgtMDgtMTIgMTE6Mjg6NDcgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6IFdob29wcywgZm9yZ290IG9uZSBkb2MgZmlsZSBmb3IgcGVvcGxlIHdobyBjYW4ndC9kb24ndCBidWlsZCB0aGUgcmF3MTM5NCBwbHVnaW4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSAgV2hvb3BzLCBmb3Jnb3Qgb25lIGRvYyBmaWxlIGZvciBwZW9wbGUgd2hvIGNhbid0L2Rvbid0IGJ1aWxkIHRoZQoJICByYXcxMzk0IHBsdWdpbi4KCjIwMDgtMDgtMTIgMDk6MjI6MjkgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgUHVsbCBjaGFuZ2VzIGZyb20gMC4xMC45LjIgcHJlLXJlbGVhc2UgYnJhbmNoIG1vdmluZyB0aGUgbGliY2RpbwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkaW8ueG1sOgoJICAqIGV4dC9NYWtlZmlsZS5hbToKCSAgKiBleHQvY2Rpby9NYWtlZmlsZS5hbToKCSAgKiBleHQvY2Rpby9nc3RjZGlvLmM6CgkgICogZXh0L2NkaW8vZ3N0Y2Rpby5oOgoJICAqIGV4dC9jZGlvL2dzdGNkaW9jZGRhc3JjLmM6CgkgICogZXh0L2NkaW8vZ3N0Y2Rpb2NkZGFzcmMuaDoKCSAgUHVsbCBjaGFuZ2VzIGZyb20gMC4xMC45LjIgcHJlLXJlbGVhc2UgYnJhbmNoIG1vdmluZyB0aGUgbGliY2RpbwoJICBDRERBIHNvdXJjZSB0byAtdWdseS4KCSAgKiBwby9MSU5HVUFTOgoJICAqIHBvL1BPVEZJTEVTLmluOgoJICAqIHBvL2lkLnBvOgoJICBQdWxsIGluIG5ldyB0cmFuc2xhdGlvbiBmcm9tIDAuMTAuOS4yIHJlbGVhc2UgYnJhbmNoLgoKMjAwOC0wOC0xMSAxNTowNToxMyArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGRvY3MvcGx1Z2lucy86IEludGVncmF0ZSBkb2N1bWVudGF0aW9uIGZvciBuZXcgaGR2MTM5NHNyYyBlbGVtZW50LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaW50ZXJmYWNlczoKCSAgSW50ZWdyYXRlIGRvY3VtZW50YXRpb24gZm9yIG5ldyBoZHYxMzk0c3JjIGVsZW1lbnQuCgoyMDA4LTA4LTExIDE0OjM2OjEzICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZXh0L3JhdzEzOTQvOiBtcGVnMi10cyAoSERWKSB2YXJpYW50IG9mIGZpcmV3aXJlIGNhcHR1cmUgZWxlbWVudC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3JhdzEzOTQvTWFrZWZpbGUuYW06CgkgICogZXh0L3JhdzEzOTQvZ3N0MTM5NC5jOiAocGx1Z2luX2luaXQpOgoJICAqIGV4dC9yYXcxMzk0L2dzdGhkdjEzOTRzcmMuYzogKF9kb19pbml0KSwKCSAgKGdzdF9oZHYxMzk0c3JjX2Jhc2VfaW5pdCksIChnc3RfaGR2MTM5NHNyY19jbGFzc19pbml0KSwKCSAgKGdzdF9oZHYxMzk0c3JjX2luaXQpLCAoZ3N0X2hkdjEzOTRzcmNfZGlzcG9zZSksCgkgIChnc3RfaGR2MTM5NHNyY19zZXRfcHJvcGVydHkpLCAoZ3N0X2hkdjEzOTRzcmNfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9oZHYxMzk0c3JjX2Zyb21fcmF3MTM5NGhhbmRsZSksCgkgIChnc3RfaGR2MTM5NHNyY19pZWM2MTg4M19yZWNlaXZlKSwgKGdzdF9oZHYxMzk0c3JjX2J1c19yZXNldCksCgkgIChnc3RfaGR2MTM5NHNyY19jcmVhdGUpLCAoZ3N0X2hkdjEzOTRzcmNfZGlzY292ZXJfYXZjX25vZGUpLAoJICAoZ3N0X2hkdjEzOTRzcmNfc3RhcnQpLCAoZ3N0X2hkdjEzOTRzcmNfc3RvcCksCgkgIChnc3RfaGR2MTM5NHNyY191bmxvY2spLCAoZ3N0X2hkdjEzOTRzcmNfdXBkYXRlX2RldmljZV9uYW1lKSwKCSAgKGdzdF9oZHYxMzk0c3JjX3VyaV9nZXRfdHlwZSksIChnc3RfaGR2MTM5NHNyY191cmlfZ2V0X3Byb3RvY29scyksCgkgIChnc3RfaGR2MTM5NHNyY191cmlfZ2V0X3VyaSksIChnc3RfaGR2MTM5NHNyY191cmlfc2V0X3VyaSksCgkgIChnc3RfaGR2MTM5NHNyY191cmlfaGFuZGxlcl9pbml0KToKCSAgKiBleHQvcmF3MTM5NC9nc3RoZHYxMzk0c3JjLmg6CgkgIG1wZWcyLXRzIChIRFYpIHZhcmlhbnQgb2YgZmlyZXdpcmUgY2FwdHVyZSBlbGVtZW50LgoJICBGaXhlcyAjMzUwODMwCgoyMDA4LTA4LTExIDEwOjUzOjA2ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L2xldmVsL2dzdGxldmVsLmM6IEZpeCBjb21waWxhdGlvbiAoYWxzbyBrbm93biBhcyB0aGUgY2xhc3NpYyAnZml4IGNvZGUgdGhhdCBzb21lb25lIGNvbW1pdHRlZCB3aXRob3V0IGNvbXBpbGluZyBpLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOiAoZ3N0X2xldmVsX21lc3NhZ2VfbmV3KToKCSAgRml4IGNvbXBpbGF0aW9uIChhbHNvIGtub3duIGFzIHRoZSBjbGFzc2ljICdmaXggY29kZSB0aGF0IHNvbWVvbmUKCSAgY29tbWl0dGVkIHdpdGhvdXQgY29tcGlsaW5nIGl0IGZpcnN0JykuCgoyMDA4LTA4LTEwIDE5OjQwOjI3ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy9sZXZlbC5jOiBBZGQgYSB0ZXN0IGZvciBsZXZlbCBpbiBzdGVyZW8gbW9kZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvbGV2ZWwuYzoKCSAgQWRkIGEgdGVzdCBmb3IgbGV2ZWwgaW4gc3RlcmVvIG1vZGUuCgoyMDA4LTA4LTEwIDE5OjM1OjA1ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICB0ZXN0cy9leGFtcGxlcy9zcGVjdHJ1bS86IERlbW8gaG93IHRvIGRyYXcgYW5hbHl6ZXIgcmVzdWx0cyBzeW5jZWQgdG8gdGhlIGNsb2NrLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9leGFtcGxlcy9zcGVjdHJ1bS9kZW1vLWF1ZGlvdGVzdC5jOgoJICAqIHRlc3RzL2V4YW1wbGVzL3NwZWN0cnVtL2RlbW8tb3Nzc3JjLmM6CgkgIERlbW8gaG93IHRvIGRyYXcgYW5hbHl6ZXIgcmVzdWx0cyBzeW5jZWQgdG8gdGhlIGNsb2NrLgoKMjAwOC0wOC0xMCAxNTo1Mjo0MiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2xldmVsL2dzdGxldmVsLmM6IExpdHRsZSByZW5hbWluZyAobCAtPiBsZXZlbCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOgoJICBMaXR0bGUgcmVuYW1pbmcgKGwgLT4gbGV2ZWwpLgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5oOgoJICBBbHNvIHNlbmQgZnVsbCB0aW1lc3RhbXAvZHVyYXRpb24gZGV0YWlscyBoZXJlLgoKMjAwOC0wOC0xMCAxMTozMjowMyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2xldmVsL2dzdGxldmVsLio6IFNlbmQgc2FtZSB0aW1lc3RhbXAvZHVyYXRpb24gZGV0YWlscyBhcyB2aWRlb2FuYWx5c2lzLiBUaGlzIGdpdmVzIGFwcGxpY2F0aW9ucyBiZXR0ZXIgY2hhbmNlIHRvLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOgoJICAqIGdzdC9sZXZlbC9nc3RsZXZlbC5oOgoJICBTZW5kIHNhbWUgdGltZXN0YW1wL2R1cmF0aW9uIGRldGFpbHMgYXMgdmlkZW9hbmFseXNpcy4gVGhpcyBnaXZlcwoJICBhcHBsaWNhdGlvbnMgYmV0dGVyIGNoYW5jZSB0byBzeW5jIGFuYWx5c2lzIHJlc3VsdHMgd2l0aCBwbGF5YmFjay4KCjIwMDgtMDgtMDkgMTQ6MDI6MjcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzogV2UgbmVlZCB0byBkcm9wIG9uZSBhZGRpdGlvbmFsIGJ1ZmZlciBmb3IgRkxBQyBhcyB0aGUgZkxhQyBtYXJrZXIgYW5kIFNUUkVBTUlORk8gYmxvY2sgYS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIChnc3RfbWF0cm9za2FfbXV4X2hhbmRsZV9zaW5rX2V2ZW50KSwKCSAgKGZsYWNfc3RyZWFtaGVhZGVyX3RvX2NvZGVjZGF0YSk6CgkgIFdlIG5lZWQgdG8gZHJvcCBvbmUgYWRkaXRpb25hbCBidWZmZXIgZm9yIEZMQUMgYXMgdGhlIGZMYUMKCSAgbWFya2VyIGFuZCBTVFJFQU1JTkZPIGJsb2NrIGFyZSBtZXJnZWQgaW50byBvbmUgYnVmZmVyIGluIHRoZSBjYXBzLgoJICBBbHNvIGRvbid0IHByZXRlbmQgdG8gc3VwcG9ydCBORVdTRUdNRU5UIGV2ZW50cywgb3RoZXJ3aXNlIHdlCgkgIHdpbGwgbW9zdCBwcm9iYWJseSB3cml0ZSBzb21lIGludmFsaWQgZGF0YS4KCjIwMDgtMDgtMDkgMTM6NDg6MjIgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzogQWRkIHN1cHBvcnQgZm9yIG11eGluZyBGTEFDIGludG8gTWF0cm9za2EgY29udGFpbmVycy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOiAoZmxhY19zdHJlYW1oZWFkZXJfdG9fY29kZWNkYXRhKSwKCSAgKGdzdF9tYXRyb3NrYV9tdXhfYXVkaW9fcGFkX3NldGNhcHMpOgoJICBBZGQgc3VwcG9ydCBmb3IgbXV4aW5nIEZMQUMgaW50byBNYXRyb3NrYSBjb250YWluZXJzLgoJICBGaXhlcyBidWcgIzMxMTU4Ni4KCjIwMDgtMDgtMDkgMDg6NTg6MjYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzogQWN0dWFsbHkgcHJvdmlkZSB0aGUgdmFyaWFibGVzIHJlcXVpcmVkIGZvciB0aGUgZm9ybWF0IHN0cmluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOiAoZ3N0X2ZsYWNfZW5jX2NoZWNrX2Rpc2NvbnQpOgoJICBBY3R1YWxseSBwcm92aWRlIHRoZSB2YXJpYWJsZXMgcmVxdWlyZWQgZm9yIHRoZSBmb3JtYXQgc3RyaW5nLgoKMjAwOC0wOC0wOCAxNjoyMDoyNiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4Lio6IENsb3NlIHRoZSBjdXJyZW50IHNlZ21lbnQgaWYgd2UncmUgZG9pbmcgYSBub24tZmx1c2hpbmcgc2VlayBhbmQgc2VuZCB0aGUgY2xvc2Utc2VnbWVuLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiAoZ3N0X21hdHJvc2thX2RlbXV4X3Jlc2V0KSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9lbGVtZW50X3NlbmRfZXZlbnQpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2hhbmRsZV9zZWVrX2V2ZW50KSwgKGdzdF9tYXRyb3NrYV9kZW11eF9sb29wKToKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguaDoKCSAgQ2xvc2UgdGhlIGN1cnJlbnQgc2VnbWVudCBpZiB3ZSdyZSBkb2luZyBhIG5vbi1mbHVzaGluZyBzZWVrIGFuZCBzZW5kCgkgIHRoZSBjbG9zZS1zZWdtZW50IGFuZCB0aGUgbmV3IHNlZ21lbnQgb2YgdGhlIHNlZWsgZnJvbSB0aGUgc3RyZWFtaW5nCgkgIHRocmVhZC4KCjIwMDgtMDgtMDggMTU6MjA6MjQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9mbGFjL2dzdGZsYWNlbmMuKjogSGFuZGxlIG5vbi16ZXJvIHN0YXJ0IHRpbWVzdGFtcHMgY29ycmVjdGx5LCBtYXJrIGhlYWRlciBwYWNrZXRzIGFzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzogKGdzdF9mbGFjX2VuY193cml0ZV9jYWxsYmFjayksCgkgIChnc3RfZmxhY19lbmNfY2hlY2tfZGlzY29udCksIChnc3RfZmxhY19lbmNfY2hhaW4pLAoJICAoZ3N0X2ZsYWNfZW5jX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5oOgoJICBIYW5kbGUgbm9uLXplcm8gc3RhcnQgdGltZXN0YW1wcyBjb3JyZWN0bHksIG1hcmsgaGVhZGVyIHBhY2tldHMgYXMKCSAgSU5fQ0FQUyBhbmQgcHJpbnQgYSB3YXJuaW5nIGFuZCBzdWdnZXN0IHVzaW5nIGF1ZGlvcmF0ZSBpZiBzdHJlYW0KCSAgZGlzY29udGludWl0aWVzIGFyZSBkZXRlY3RlZC4gV2hlbiBGTEFDIHN1cHBvcnRzIGZsdXNoaW5nIHRoZSBlbmNvZGVyCgkgIHNvbWVob3cgdGhpcyBzaG91bGQgYmUgZG9uZSBmb3IgZGlzY29udGludWl0aWVzIGluc3RlYWQuCgkgIFJlbW92ZSBzb21lIHVudXNlZCB2YXJpYWJsZXMgZnJvbSB0aGUgaW5zdGFuY2Ugc3RydWN0LgoKMjAwOC0wOC0wNyAxNzoxNDozOSArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZ3N0LXBsdWdpbnMtZ29vZC5zcGVjLmluOgoJICBhZGQgcHVsc2VhdWRpbyB0byBwbHVnaW5zIGxpc3QgaW4gc3BlYyBmaWxlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBhZGQgcHVsc2VhdWRpbyB0byBwbHVnaW5zIGxpc3QgaW4gc3BlYyBmaWxlCgoyMDA4LTA4LTA3IDE2OjEzOjQxICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvZmxhYy9nc3RmbGFjZW5jLmM6IElmIHNlZWtpbmcgZmFpbGVkIHJldHVybiB0aGUgYXBwcm9waWF0ZSByZXR1cm4gdmFsdWUgdG8gRkxBQy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOiAoZ3N0X2ZsYWNfZW5jX3NlZWtfY2FsbGJhY2spOgoJICBJZiBzZWVraW5nIGZhaWxlZCByZXR1cm4gdGhlIGFwcHJvcGlhdGUgcmV0dXJuIHZhbHVlIHRvIEZMQUMuCgkgIE90aGVyd2lzZSBpdCB0aGlua3Mgc2Vla2luZyB3YXMgc3VjY2Vzc2Z1bGwgYW5kIHRyaWVzIHRvIHJld3JpdGUKCSAgcGFydHMgb2YgdGhlIGhlYWRlcnMgd2hpY2ggdGhlbiBnZXQgYXBwZW5kZWQgdG8gdGhlIG91dHB1dC4KCjIwMDgtMDgtMDcgMTY6MTE6MDAgKzAwMDAgIEZyZWRlcmljIENyb3phdCA8ZmNyb3phdEBtYW5kcml2YS5vcmc+CgoJICBNYWtlIHN1cmUgZ2V0dGV4dCByZXR1cm5zIHRyYW5zbGF0aW9ucyBpbiBVVEYtOCBlbmNvZGluZyByYXRoZXIgdGhhbiBpbiB0aGUgY3VycmVudCBsb2NhbGUgZW5jb2RpbmcgKCM1NDY4MjIpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEZyZWRlcmljIENyb3phdCA8ZmNyb3phdEBtYW5kcml2YS5vcmc+CgkgICogZXh0L2VzZC9nc3Rlc2QuYzogKHBsdWdpbl9pbml0KToKCSAgKiBleHQvZmxhYy9nc3RmbGFjLmM6IChwbHVnaW5faW5pdCk6CgkgICogZXh0L3Nob3V0Mi9nc3RzaG91dDIuYzogKHBsdWdpbl9pbml0KToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrLmM6IChwbHVnaW5faW5pdCk6CgkgICogc3lzL29zcy9nc3Rvc3NhdWRpby5jOiAocGx1Z2luX2luaXQpOgoJICAqIHN5cy92NGwyL2dzdHY0bDIuYzogKHBsdWdpbl9pbml0KToKCSAgTWFrZSBzdXJlIGdldHRleHQgcmV0dXJucyB0cmFuc2xhdGlvbnMgaW4gVVRGLTggZW5jb2RpbmcgcmF0aGVyCgkgIHRoYW4gaW4gdGhlIGN1cnJlbnQgbG9jYWxlIGVuY29kaW5nICgjNTQ2ODIyKS4KCjIwMDgtMDgtMDcgMTQ6NDA6MTMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzogQWRkIEZJWE1FIGZvciAwLjExIHRvIHNpbXBseSBvdXRwdXQgZXZlcnl0aGluZyB3aXRoIHdpZHRoPTMyIGFzIGdpdmVuIGJ5IEZMQUMgYW5kIGxldCBhdWRpb2Nvbi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkgIEFkZCBGSVhNRSBmb3IgMC4xMSB0byBzaW1wbHkgb3V0cHV0IGV2ZXJ5dGhpbmcgd2l0aCB3aWR0aD0zMiBhcyBnaXZlbgoJICBieSBGTEFDIGFuZCBsZXQgYXVkaW9jb252ZXJ0IGhhbmRsZSB0aGUgY29udmVyc2lvbnMgaW5zdGVhZCBvZiBkb2luZwoJICB0aGVtIGluIGZsYWNkZWMuCgoyMDA4LTA4LTA3IDEwOjIyOjMyICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzogV2hlbiBvdXRwdXR0aW5nIGEgcGFkIHRlbXBsYXRlIHJhbmdlIGZvciB0aGUgc2l6ZSwgaW5jbHVkZSBhIGZyYW1lcmF0ZSByYW5nZSB0b28sIHRvIGF2b2lkIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6IChnc3RfdjRsMnNyY19wcm9iZV9jYXBzX2Zvcl9mb3JtYXQpOgoJICBXaGVuIG91dHB1dHRpbmcgYSBwYWQgdGVtcGxhdGUgcmFuZ2UgZm9yIHRoZSBzaXplLCBpbmNsdWRlIGEgZnJhbWVyYXRlCgkgIHJhbmdlIHRvbywgdG8gYXZvaWQgJ25vdCBhIHJlYWwgc3Vic2V0IG9mIHRlbXBsYXRlIGNhcHMnIGVycm9ycy4KCjIwMDgtMDgtMDYgMTU6MzQ6NTUgKzAwMDAgIEpvbmF0aGFuIE1hdHRoZXcgPG5vdHZlcnlzbWFydEBnbWFpbC5jb20+CgoJICBleHQvZmxhYy86IFBvcnQgZmxhY3RhZyB0byAwLjEwLCBhZGQgZG9jdW1lbnRhdGlvbiBmb3IgaXQgYW5kIGNsZWFuIGl0IHVwIGEgYml0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQmFzZWQgb24gYSBwYXRjaCBieTogSm9uYXRoYW4gTWF0dGhldyA8bm90dmVyeXNtYXJ0IGF0IGdtYWlsIGRvdCBjb20+CgkgICogZXh0L2ZsYWMvTWFrZWZpbGUuYW06CgkgICogZXh0L2ZsYWMvZ3N0ZmxhYy5jOiAocGx1Z2luX2luaXQpOgoJICAqIGV4dC9mbGFjL2dzdGZsYWN0YWcuYzogKGdzdF9mbGFjX3RhZ19zZXR1cF9pbnRlcmZhY2VzKSwKCSAgKGdzdF9mbGFjX3RhZ19iYXNlX2luaXQpLCAoZ3N0X2ZsYWNfdGFnX2NsYXNzX2luaXQpLAoJICAoZ3N0X2ZsYWNfdGFnX2Rpc3Bvc2UpLCAoZ3N0X2ZsYWNfdGFnX2luaXQpLAoJICAoZ3N0X2ZsYWNfdGFnX3Npbmtfc2V0Y2FwcyksIChnc3RfZmxhY190YWdfY2hhaW4pLAoJICAoZ3N0X2ZsYWNfdGFnX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY3RhZy5oOgoJICBQb3J0IGZsYWN0YWcgdG8gMC4xMCwgYWRkIGRvY3VtZW50YXRpb24gZm9yIGl0IGFuZCBjbGVhbiBpdCB1cCBhIGJpdC4KCSAgRml4ZXMgYnVnICM0MTM4NDEuCgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaW50ZXJmYWNlczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzogKGdzdF9mbGFjX2RlY19iYXNlX2luaXQpOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNkZWMuaDoKCSAgKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6IChnc3RfZmxhY19lbmNfYmFzZV9pbml0KToKCSAgKiBleHQvZmxhYy9nc3RmbGFjZW5jLmg6CgkgIEFkZCBmbGFjdGFnIGFuZCBmbGFjZW5jIHRvIHRoZSBkb2N1bWVudGF0aW9uIGFuZCBtYXJrCgkgIHRoZSBwcml2YXRlIHBhcnRzIG9mIHRoZSBmbGFjZGVjIGluc3RhbmNlIHN0cnVjdHVyZSBhcyBwcml2YXRlLgoJICBBbHNvIHVzZSBnc3RfZWxlbWVudF9jbGFzc19zZXRfZGV0YWlsc19zaW1wbGUoKSBpbiBmbGFjZGVjIGFuZAoJICBmbGFjZW5jLgoKMjAwOC0wOC0wNiAxMzoxMjowNyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBVc2UgYXVkaW8veC1xZG0gZm9yIGNhcHMuIENvbGxlY3Qgc29tZSBpbmZvIC0gbXBsYXllciBoYXMgYSBkZWNvZGVyIGZvciBpdCBidXQgZmZtcGVnIGRvZXMgbm90LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIFVzZSBhdWRpby94LXFkbSBmb3IgY2Fwcy4gQ29sbGVjdCBzb21lIGluZm8gLSBtcGxheWVyIGhhcyBhIGRlY29kZXIKCSAgZm9yIGl0IGJ1dCBmZm1wZWcgZG9lcyBub3QuCgoyMDA4LTA4LTA1IDE1OjA1OjQ0ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogSGFuZGxlIHRoZSBsaXN0IGNodW5rIGFuZCB1c2UgZ3N0X3JpZmZfcGFyc2VfaW5mbygpIHRvIHBhcnNlIHRoZSBpbmZvIHN1Yi1jaHVuay4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIEhhbmRsZSB0aGUgbGlzdCBjaHVuayBhbmQgdXNlIGdzdF9yaWZmX3BhcnNlX2luZm8oKSB0byBwYXJzZSB0aGUgaW5mbwoJICBzdWItY2h1bmsuCgoyMDA4LTA4LTA1IDE0OjIyOjEyICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogSGFuZGxlIHRoZSBhY2lkIGNodW5rIGFuZCBzZW5kIHRlbXBvIGFzIHBhcnQgb2YgdGFncy4gT3RoZXIgZmllbGRzIGFyZSBpbnRlcmVzdGluZyB0b28sIGIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIEhhbmRsZSB0aGUgYWNpZCBjaHVuayBhbmQgc2VuZCB0ZW1wbyBhcyBwYXJ0IG9mIHRhZ3MuIE90aGVyIGZpZWxkcyBhcmUKCSAgaW50ZXJlc3RpbmcgdG9vLCBidXQgbmVlZCBtb3JlIHRhZy1kZWZpbml0aW9ucy4gRml4ZXMgIzU0NTQzMy4KCjIwMDgtMDgtMDUgMTQ6MTY6MzIgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiBSZWZhY3RvciB3YXZwYXJzZS4gQ2FsbCBfcmVzZXQoKSBmcm9tIGRpc3Bvc2UoKSBhbmQgbW92ZSBvbGQgY29kZSBmcm9tIGRpc3Bvc2UgaW50byByZXNldC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgUmVmYWN0b3Igd2F2cGFyc2UuIENhbGwgX3Jlc2V0KCkgZnJvbSBkaXNwb3NlKCkgYW5kIG1vdmUgb2xkIGNvZGUgZnJvbQoJICBkaXNwb3NlIGludG8gcmVzZXQuIFRoaXMgd2F5IHdlIGRvbid0IGxlYWsgdGFnbGlzdHMgd2hlbiB3ZSBhYm9ydAoJICBwYXJzaW5nLiBGaXggc29tZSBjb21tZW50cy4gTW92ZSBjb2RlIGZvciBza2lwcGluZyBhIGNodW5rIGludG8gZXh0cmEKCSAgZnVuY3Rpb24uIFJlcGxhY2UgY2h1bmsgc2l6ZXMgd2l0aCBhIGNvbnN0IHRvIGVhc2UgcmVhZGFiaWxpdHkuCgoyMDA4LTA4LTA1IDEzOjU3OjU3ICswMDAwICBBdXJlbGllbiBHcmltYXVkIDxnc3RlbHp6QHlhaG9vLmZyPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiBJbXByb3ZlIHVkcCBwb3J0IHNldHVwLiBGaXhlcyAjNTQ1NzEwLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEF1cmVsaWVuIEdyaW1hdWQgPGdzdGVsenogYXQgeWFob28gZG90IGZyPgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX2FsbG9jX3VkcF9wb3J0cyk6CgkgIEltcHJvdmUgdWRwIHBvcnQgc2V0dXAuIEZpeGVzICM1NDU3MTAuCgoyMDA4LTA4LTA1IDEzOjU0OjE4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC86IEFkZCBNUDFTIGRlcGF5bG9hZGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9ydHAvZ3N0cnRwLmM6IChwbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBtcDFzZGVwYXkuYzogKGdzdF9ydHBfbXAxc19kZXBheV9iYXNlX2luaXQpLAoJICAoZ3N0X3J0cF9tcDFzX2RlcGF5X2NsYXNzX2luaXQpLCAoZ3N0X3J0cF9tcDFzX2RlcGF5X2luaXQpLAoJICAoZ3N0X3J0cF9tcDFzX2RlcGF5X3NldGNhcHMpLCAoZ3N0X3J0cF9tcDFzX2RlcGF5X3Byb2Nlc3MpLAoJICAoZ3N0X3J0cF9tcDFzX2RlcGF5X3NldF9wcm9wZXJ0eSksCgkgIChnc3RfcnRwX21wMXNfZGVwYXlfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9ydHBfbXAxc19kZXBheV9jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X3J0cF9tcDFzX2RlcGF5X3BsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wMXNkZXBheS5oOgoJICBBZGQgTVAxUyBkZXBheWxvYWRlci4KCSAgKiBnc3QvcnRzcC9VUkxTOgoJICBTb21lIG1vcmUgc2FtcGxlIHJ0c3Agc3RyZWFtcy4KCjIwMDgtMDgtMDUgMDg6NDM6NDUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9VUkxTOiBBZGQgYW5vdGhlciBVUkwuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL1VSTFM6CgkgIEFkZCBhbm90aGVyIFVSTC4KCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pZDN2Mm11eC5jOiAodGVzdF90YWdsaWJfaWQzbXV4X3dpdGhfdGFncyk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvcmdsaW1pdGVyLmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgIEFkZCBzb21lIG1vcmUgZGVidWcgaW5mby4KCjIwMDgtMDgtMDQgMDk6MTY6NDAgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSAgZ3N0L2F2aS9nc3RhdmltdXguYzogUHJvdmlkZSBjYlNpemUgZmllbGQgZm9yIGF1ZGlvIGV4dHJhX2RhdGEgc2l6ZSwgYW5kIHRha2UgY2FyZSB0byBwYWQgZXh0cmFfZGF0YS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmltdXguYzogKGdzdF9hdmlfbXV4X3JpZmZfZ2V0X2F2aV9oZWFkZXIpOgoJICBQcm92aWRlIGNiU2l6ZSBmaWVsZCBmb3IgYXVkaW8gZXh0cmFfZGF0YSBzaXplLCBhbmQgdGFrZSBjYXJlIHRvCgkgIHBhZCBleHRyYV9kYXRhLgoKMjAwOC0wOC0wNCAwNzoyMzowNyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBSZXR1cm4gdGhlIHJlc3VsdCBvZiBnc3RfcGFkX3tzdGFydCxzdG9wfV90YXNrIGluc3RlYWQgb2YgaGFyZC1jb2RlZAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIFJldHVybiB0aGUgcmVzdWx0IG9mIGdzdF9wYWRfe3N0YXJ0LHN0b3B9X3Rhc2sgaW5zdGVhZCBvZiBoYXJkLWNvZGVkCgkgIFRSVUUuCgoyMDA4LTA4LTA0IDA3OjE3OjM4ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvcXRkZW11eC86IEFkZCBrZXl3b3JkIHRhZyBzdXBwb3J0LiBGaXhlcyAjNTIwNjk0IGZvciBxdGRlbXV4LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eF9mb3VyY2MuaDoKCSAgQWRkIGtleXdvcmQgdGFnIHN1cHBvcnQuIEZpeGVzICM1MjA2OTQgZm9yIHF0ZGVtdXguCgoyMDA4LTA4LTA0IDA3OjA1OjMzICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEFkZCBzdXBwb3J0IGZvciB0bXBvIHRhZyAoQlBNKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBBZGQgc3VwcG9ydCBmb3IgdG1wbyB0YWcgKEJQTSkuCgoyMDA4LTA4LTAzIDEyOjIzOjQ5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvZmxhYy9nc3RmbGFjZW5jLmM6IFNldCBhbiBlc3RpbWF0ZSBmb3IgdGhlIHRvdGFsIG51bWJlciBvZiBzYW1wbGVzIHRoYXQgd2lsbCBiZSBlbmNvZGVkIGlmIHBvc3NpYmxlIHRvIGhlbHAgZGVjb2QuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOiAoZ3N0X2ZsYWNfZW5jX3F1ZXJ5X3BlZXJfdG90YWxfc2FtcGxlcyksCgkgIChnc3RfZmxhY19lbmNfc2lua19zZXRjYXBzKSwgKGdzdF9mbGFjX2VuY193cml0ZV9jYWxsYmFjayk6CgkgIFNldCBhbiBlc3RpbWF0ZSBmb3IgdGhlIHRvdGFsIG51bWJlciBvZiBzYW1wbGVzIHRoYXQgd2lsbCBiZSBlbmNvZGVkCgkgIGlmIHBvc3NpYmxlIHRvIGhlbHAgZGVjb2RlcnMgaWYgdGhlIHN0cmVhbWluZm8gY2FuJ3QgYmUgcmV3cml0dGVuCgkgIGxhdGVyIChsaWtlIHdoZW4gbXV4aW5nIGludG8gT2dnIGNvbnRhaW5lcnMpLgoJICBBZGQgYSB3YXJuaW5nIGlmIHdlIGdldCBoZWFkZXIgcGFja2V0cyBhZnRlciBkYXRhIHBhY2tldHMgYXMgdGhvc2UKCSAgd2lsbCBnZXQgbG9zdCB3aGVuIG11eGluZyBpbnRvIE9nZywgaS5lLiByZXdyaXRpbmcgdGhlIGhlYWRlcnMgZG9lc24ndAoJICB3b3JrLgoKMjAwOC0wOC0wMyAxMTozODoyMiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOiBTdXBwb3J0IGRlY29kaW5nIG9mIGFsbCBkZXB0aHMgYmV0d2VlbiA0IGFuZCAzMiBiaXRzIGFuZCByZWFkIHRoZSBkZXB0aCBmcm9tIHRoZSBzdHJlYW1pbmZvIGhlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzogKGdzdF9mbGFjX2RlY19tZXRhZGF0YV9jYWxsYmFjayksCgkgIChnc3RfZmxhY19kZWNfd3JpdGUpOgoJICBTdXBwb3J0IGRlY29kaW5nIG9mIGFsbCBkZXB0aHMgYmV0d2VlbiA0IGFuZCAzMiBiaXRzIGFuZCByZWFkIHRoZQoJICBkZXB0aCBmcm9tIHRoZSBzdHJlYW1pbmZvIGhlYWRlciBpZiBuZWVkZWQuIEFsc28gc3VwcG9ydCBhbGwgc2FtcGxpbmcKCSAgcmF0ZXMgYmV0d2VlbiAxIGFuZCA2NTUzNTAgSHouCgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJICAoZ3N0X2ZsYWNfZW5jX2NhcHNfYXBwZW5kX3N0cnVjdHVyZV93aXRoX3dpZHRocyksCgkgIChnc3RfZmxhY19lbmNfc2lua19nZXRjYXBzKSwgKGdzdF9mbGFjX2VuY19zaW5rX3NldGNhcHMpLAoJICAoZ3N0X2ZsYWNfZW5jX2NoYWluKToKCSAgKiBleHQvZmxhYy9nc3RmbGFjZW5jLmg6CgkgIFN1cHBvcnQgZW5jb2RpbmcgaW4gYWxsIGJpdCBkZXB0aHMgc3VwcG9ydGVkIGJ5IHRoZSBzdHJlYW1hYmxlCgkgIHN1YmZvcm1hdCAoaS5lLiA4LCAxMiwgMTYsIDIwIGFuZCAyNCBiaXRzKSBhbmQgYWxsIHNhbXBsaW5nIHJhdGVzCgkgIGJldHdlZW4gMSBIeiBhbmQgNjU1MzUwIEh6LgoKMjAwOC0wOC0wMyAwOToyMzoxNCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOiBTdXBwb3J0IGVuY29kaW5nIG9mIHVwIHRvIDggY2hhbm5lbHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzogKGdzdF9mbGFjX2VuY19pbml0KSwKCSAgKGdzdF9mbGFjX2VuY19zaW5rX2dldGNhcHMpOgoJICBTdXBwb3J0IGVuY29kaW5nIG9mIHVwIHRvIDggY2hhbm5lbHMuCgoyMDA4LTA4LTAyIDIxOjM5OjAxICswMDAwICBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlckBtaW5kLmJlPgoKCSAgZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuKjogRml4IHNlZWtpbmcgcmFjZSBjb25kaXRpb24gaW4gIzU0MDMwMAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmg6CgkgIEZpeCBzZWVraW5nIHJhY2UgY29uZGl0aW9uIGluICM1NDAzMDAKCSAgUGF0Y2ggQnk6IFdvdXRlciBDbG9ldGVucyAgPHdvdXRlciBhdCBtaW5kIGJlPgoKMjAwOC0wOC0wMiAxODozNToyMSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IFdoZW4gcmVjZWl2aW5nIGEgU0VFSyBldmVudCBvbiBhIHNwZWNpZmljIHBhZCBmaXJzdCBzZWFyY2ggZm9yIGEgc2VlayB0YWJsZSBlbnRyeSBmb3IgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiAoZ3N0X21hdHJvc2thZGVtdXhfZG9faW5kZXhfc2VlayksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfZWxlbWVudF9zZW5kX2V2ZW50KSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9oYW5kbGVfc2Vla19ldmVudCksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfaGFuZGxlX3NyY19ldmVudCk6CgkgIFdoZW4gcmVjZWl2aW5nIGEgU0VFSyBldmVudCBvbiBhIHNwZWNpZmljIHBhZCBmaXJzdCBzZWFyY2ggZm9yIGEgc2VlawoJICB0YWJsZSBlbnRyeSBmb3IgdGhlIHN0cmVhbSBvZiB0aGUgcGFkIGFuZCB0aGVuIGZhbGwgYmFjayB0byBhbiBlbnRyeQoJICBmb3IgYSBkaWZmZXJlbnQgc3RyZWFtLgoKMjAwOC0wOC0wMiAxODoyMDo0NCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgQnVpbGQgZGVwZW5kIG9uIGNvcmUgQ1ZTIGZvciB0aGUgYXR0YWNobWVudCB0YWcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmM6IChnc3RfbWF0cm9za2FfcmVnaXN0ZXJfdGFncyk6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5oOgoJICBCdWlsZCBkZXBlbmQgb24gY29yZSBDVlMgZm9yIHRoZSBhdHRhY2htZW50IHRhZy4KCjIwMDgtMDgtMDIgMTg6MTg6MDUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIERlY29kZSB0aGUgY29kZWMgcHJpdmF0ZSBkYXRhIGFuZCBmb2xsb3dpbmcgQ29udGVudEVuY29kaW5nIGlmIG5lY2Vzc2FyeS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9tYXRyb3NrYS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbWF0cm9za2EvbHpvLmM6IChnZXRfYnl0ZSksIChnZXRfbGVuKSwgKGNvcHkpLAoJICAoY29weV9iYWNrcHRyKSwgKGx6bzF4X2RlY29kZSksIChtYWluKToKCSAgKiBnc3QvbWF0cm9za2EvbHpvLmg6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcmVhZF90cmFja19lbmNvZGluZyksCgkgIChnc3RfbWF0cm9za2FfZGVjb21wcmVzc19kYXRhKSwgKGdzdF9tYXRyb3NrYV9kZWNvZGVfZGF0YSksCgkgIChnc3RfbWF0cm9za2FfZGVjb2RlX2J1ZmZlciksCgkgIChnc3RfbWF0cm9za2FfZGVjb2RlX2NvbnRlbnRfZW5jb2RpbmdzKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9yZWFkX3RyYWNrX2VuY29kaW5ncyksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfYWRkX3N0cmVhbSksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfYmxvY2tncm91cF9vcl9zaW1wbGVibG9jayk6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5oOgoJICBEZWNvZGUgdGhlIGNvZGVjIHByaXZhdGUgZGF0YSBhbmQgZm9sbG93aW5nIENvbnRlbnRFbmNvZGluZyBpZgoJICBuZWNlc3NhcnkuCgkgIFN1cHBvcnQgYnppcDIsIGx6byBhbmQgaGVhZGVyIHN0cmlwcGVkIGNvbXByZXNzaW9uLiBGb3IgbHpvIHVzZSB0aGUKCSAgZmZtcGVnIGx6byBpbXBsZW1lbnRhdGlvbiBhcyBsaWJsem8gaXMgR1BMIGxpY2Vuc2VkLgoJICBGaXggemxpYiBkZWNvbXByZXNzaW9uLgoKMjAwOC0wOC0wMiAxODoxMTozMiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOiBGaXggbXV4aW5nIG9mIE1QMy9NUDIgd2l0aCBkaWZmZXJlbnQgTVBFRyB2ZXJzaW9ucyBieSBjYWxjdWxhdGluZyB0aGUgZHVyYXRpb24gb2YgYSBmcmFtLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgKGdzdF9tYXRyb3NrYV9tdXhfYXVkaW9fcGFkX3NldGNhcHMpOgoJICBGaXggbXV4aW5nIG9mIE1QMy9NUDIgd2l0aCBkaWZmZXJlbnQgTVBFRyB2ZXJzaW9ucyBieSBjYWxjdWxhdGluZyB0aGUKCSAgZHVyYXRpb24gb2YgYSBmcmFtZSB3aXRoIHRoZSBuZXcgbXBlZ2F1ZGlvdmVyc2lvbiBjYXBzIGZpZWxkLgoKMjAwOC0wOC0wMiAxODowNjoyMCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4Lio6IEFsbG93IGFuIGluZmluaXRlIG51bWJlciBvZiBzdHJlYW0gaW5zaWRlIE1hdHJvc2thIGNvbnRhaW5lcnMgYW5kIHVzZSBhIEdQdHJBcnJheSBmb3IgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiAoZ3N0X21hdHJvc2thX2RlbXV4X2ZpbmFsaXplKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9jbGFzc19pbml0KSwgKGdzdF9tYXRyb3NrYV9kZW11eF9pbml0KSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9jb21iaW5lX2Zsb3dzKSwgKGdzdF9tYXRyb3NrYV9kZW11eF9yZXNldCksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfc3RyZWFtX2Zyb21fbnVtKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF90cmFja251bWJlcl91bmlxdWUpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2FkZF9zdHJlYW0pLCAoZ3N0X21hdHJvc2thX2RlbXV4X3NlbmRfZXZlbnQpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2hhbmRsZV9zZWVrX2V2ZW50KSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9zeW5jX3N0cmVhbXMpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2Jsb2NrZ3JvdXBfb3Jfc2ltcGxlYmxvY2spLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2xvb3ApOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5oOgoJICBBbGxvdyBhbiBpbmZpbml0ZSBudW1iZXIgb2Ygc3RyZWFtIGluc2lkZSBNYXRyb3NrYSBjb250YWluZXJzIGFuZCB1c2UKCSAgYSBHUHRyQXJyYXkgZm9yIHN0b3JpbmcgdGhlbSBpbnN0ZWFkIG9mIGFsbG93aW5nICJvbmx5IiAxMjcgc3RyZWFtcy4KCjIwMDgtMDgtMDIgMTg6MDE6MzYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9tYXRyb3NrYS86IEZpeCBpbmRlbnRpb24gZXZlcnl3aGVyZS4gQSBicm9rZW4gaW5kZW50IHZlcnNpb24gaGFzIGFkZGVkIG5ld2xpbmVzIGFmdGVyIGV2ZXJ5IHNpbmdsZSBkZWNsYXJhdGlvbiBzby4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvZWJtbC1yZWFkLmM6IChnc3RfZWJtbF9yZWFkX2NsYXNzX2luaXQpLAoJICAoZ3N0X2VibWxfcmVhZF9jaGFuZ2Vfc3RhdGUpLCAoZ3N0X2VibWxfcmVhZF9lbGVtZW50X2xldmVsX3VwKSwKCSAgKGdzdF9lYm1sX3JlYWRfcGVla19ieXRlcyksIChnc3RfZWJtbF9yZWFkX2VsZW1lbnRfaWQpLAoJICAoZ3N0X2VibWxfcmVhZF9lbGVtZW50X2xlbmd0aCksIChnc3RfZWJtbF9wZWVrX2lkKSwKCSAgKGdzdF9lYm1sX3JlYWRfZ2V0X2xlbmd0aCksIChnc3RfZWJtbF9yZWFkX3NraXApLAoJICAoZ3N0X2VibWxfcmVhZF9idWZmZXIpLCAoZ3N0X2VibWxfcmVhZF9ieXRlcyksCgkgIChnc3RfZWJtbF9yZWFkX3VpbnQpLCAoZ3N0X2VibWxfcmVhZF9zaW50KSwgKF9leHQyZGJsKSwKCSAgKGdzdF9lYm1sX3JlYWRfZmxvYXQpLCAoZ3N0X2VibWxfcmVhZF9hc2NpaSksIChnc3RfZWJtbF9yZWFkX2RhdGUpLAoJICAoZ3N0X2VibWxfcmVhZF9tYXN0ZXIpLCAoZ3N0X2VibWxfcmVhZF9iaW5hcnkpLAoJICAoZ3N0X2VibWxfcmVhZF9oZWFkZXIpOgoJICAqIGdzdC9tYXRyb3NrYS9lYm1sLXdyaXRlLmM6IChnc3RfZWJtbF93cml0ZV9lbGVtZW50X2lkKSwKCSAgKGdzdF9lYm1sX3dyaXRlX2VsZW1lbnRfc2l6ZSksIChnc3RfZWJtbF93cml0ZV91aW50KSwKCSAgKGdzdF9lYm1sX3dyaXRlX3NpbnQpLCAoZ3N0X2VibWxfd3JpdGVfYXNjaWkpLAoJICAoZ3N0X2VibWxfd3JpdGVfbWFzdGVyX3N0YXJ0KSwgKGdzdF9lYm1sX3dyaXRlX21hc3Rlcl9maW5pc2gpLAoJICAoZ3N0X2VibWxfcmVwbGFjZV91aW50KToKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogKGdzdF9tYXRyb3NrYV9kZW11eF9yZXNldCksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcmVhZF90cmFja19lbmNvZGluZyksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcmVhZF90cmFja19lbmNvZGluZ3MpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2FkZF9zdHJlYW0pLCAoZ3N0X21hdHJvc2thZGVtdXhfZG9faW5kZXhfc2VlayksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfc2VuZF9ldmVudCksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfZWxlbWVudF9zZW5kX2V2ZW50KSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9oYW5kbGVfc2Vla19ldmVudCksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfaGFuZGxlX3NyY19ldmVudCksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfaW5pdF9zdHJlYW0pLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX3RyYWNrcyksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfaW5kZXhfY3VldHJhY2spLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2luZGV4X3BvaW50ZW50cnkpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2luZGV4KSwgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9pbmZvKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9tZXRhZGF0YV9pZF9zaW1wbGVfdGFnKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9tZXRhZGF0YV9pZF90YWcpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX21ldGFkYXRhKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9hdHRhY2hlZF9maWxlKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9hdHRhY2htZW50cyksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfY2hhcHRlcnMpLCAoZ3N0X21hdHJvc2thX2VibWxudW1fdWludCksCgkgIChnc3RfbWF0cm9za2FfZWJtbG51bV9zaW50KSwgKGdzdF9tYXRyb3NrYV9kZW11eF9wdXNoX2hkcl9idWYpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3B1c2hfZmxhY19jb2RlY19wcml2X2RhdGEpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3B1c2hfeGlwaF9jb2RlY19wcml2X2RhdGEpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3B1c2hfZHZkX2NsdXRfY2hhbmdlX2V2ZW50KSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9hZGRfbXBlZ19zZXFfaGVhZGVyKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9hZGRfd3Zwa19oZWFkZXIpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2NoZWNrX3N1YnRpdGxlX2J1ZmZlciksCgkgIChnc3RfbWF0cm9za2FfZGVjb2RlX2J1ZmZlciksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfYmxvY2tncm91cF9vcl9zaW1wbGVibG9jayksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfY2x1c3RlciksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfY29udGVudHNfc2Vla2VudHJ5KSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9jb250ZW50cyksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfbG9vcF9zdHJlYW1fcGFyc2VfaWQpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2xvb3Bfc3RyZWFtKSwgKGdzdF9tYXRyb3NrYV9kZW11eF9sb29wKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF92aWRlb19jYXBzKSwgKGdzdF9tYXRyb3NrYV9kZW11eF9hdWRpb19jYXBzKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9zdWJ0aXRsZV9jYXBzKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuYzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6IChnc3RfbWF0cm9za2FfbXV4X2NsYXNzX2luaXQpLAoJICAoZ3N0X21hdHJvc2thX211eF9yZXNldCksIChnc3RfbWF0cm9za2FfbXV4X2hhbmRsZV9zaW5rX2V2ZW50KSwKCSAgKGdzdF9tYXRyb3NrYV9tdXhfdmlkZW9fcGFkX3NldGNhcHMpLAoJICAoeGlwaDNfc3RyZWFtaGVhZGVyX3RvX2NvZGVjZGF0YSksCgkgICh2b3JiaXNfc3RyZWFtaGVhZGVyX3RvX2NvZGVjZGF0YSksCgkgICh0aGVvcmFfc3RyZWFtaGVhZGVyX3RvX2NvZGVjZGF0YSksCgkgIChnc3RfbWF0cm9za2FfbXV4X2F1ZGlvX3BhZF9zZXRjYXBzKSwKCSAgKGdzdF9tYXRyb3NrYV9tdXhfcmVxdWVzdF9uZXdfcGFkKSwgKGdzdF9tYXRyb3NrYV9tdXhfcmVsZWFzZV9wYWQpLAoJICAoZ3N0X21hdHJvc2thX211eF90cmFja19oZWFkZXIpLCAoZ3N0X21hdHJvc2thX211eF9zdGFydCksCgkgIChnc3RfbWF0cm9za2FfbXV4X3dyaXRlX3NpbXBsZV90YWcpLCAoZ3N0X21hdHJvc2thX211eF9maW5pc2gpLAoJICAoZ3N0X21hdHJvc2thX211eF9iZXN0X3BhZCksIChnc3RfbWF0cm9za2FfbXV4X3dyaXRlX2RhdGEpLAoJICAoZ3N0X21hdHJvc2thX211eF9jb2xsZWN0ZWQpLCAoZ3N0X21hdHJvc2thX211eF9jaGFuZ2Vfc3RhdGUpOgoJICBGaXggaW5kZW50aW9uIGV2ZXJ5d2hlcmUuIEEgYnJva2VuIGluZGVudCB2ZXJzaW9uIGhhcyBhZGRlZCBuZXdsaW5lcwoJICBhZnRlciBldmVyeSBzaW5nbGUgZGVjbGFyYXRpb24gc29tZSB0aW1lIGFnby4KCjIwMDgtMDgtMDIgMTc6NTk6MDUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiBJZiBubyBUcmFja3MgYXJlIGZvdW5kIGVycm9yIG91dCBpbnN0ZWFkIG9mIHRyeWluZyBpdCBhZ2FpbiB1bnRpbCB0aGUgZW5kIG9mIHRpbWUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2xvb3Bfc3RyZWFtX3BhcnNlX2lkKToKCSAgSWYgbm8gVHJhY2tzIGFyZSBmb3VuZCBlcnJvciBvdXQgaW5zdGVhZCBvZiB0cnlpbmcgaXQgYWdhaW4gdW50aWwgdGhlCgkgIGVuZCBvZiB0aW1lLgoKMjAwOC0wOC0wMiAxNzo1NzozMSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IEZpeCBkZW11eGluZyBvZiByYXcgaW50ZWdlciBhdWRpby4gVGhlIHNhbXBsZXMgYXJlIHVuc2lnbmVkIG9ubHkgZm9yIDggYml0IGFuZCBzaWduZWQgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiAoZ3N0X21hdHJvc2thX2RlbXV4X2F1ZGlvX2NhcHMpOgoJICBGaXggZGVtdXhpbmcgb2YgcmF3IGludGVnZXIgYXVkaW8uIFRoZSBzYW1wbGVzIGFyZSB1bnNpZ25lZCBvbmx5IGZvciA4CgkgIGJpdCBhbmQgc2lnbmVkIG90aGVyd2lzZSwgbm90IHRoZSBvdGhlciB3YXkgYXJvdW5kLgoKMjAwOC0wOC0wMiAxNzo1NDowNCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOiBBZGQgbW9yZSByYXcgWVVWIGZvcm1hdHMgdG8gdGhlIGxpc3Qgb2Ygc3VwcG9ydGVkIGZvcm1hdHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgQWRkIG1vcmUgcmF3IFlVViBmb3JtYXRzIHRvIHRoZSBsaXN0IG9mIHN1cHBvcnRlZCBmb3JtYXRzLgoKMjAwOC0wOC0wMiAxNzo1MjoxNiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOiBBZGQgc3VwcG9ydCBmb3IgbXV4aW5nIHJhdyBmbG9hdCBhdWRpbyBub3cgdGhhdCB0aGUgc3BlYyBkZWZpbmVzIHRoZSBlbmRpYW5uZXNzIGFuZCBhZGQgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgKGdzdF9tYXRyb3NrYV9tdXhfYXVkaW9fcGFkX3NldGNhcHMpOgoJICBBZGQgc3VwcG9ydCBmb3IgbXV4aW5nIHJhdyBmbG9hdCBhdWRpbyBub3cgdGhhdCB0aGUgc3BlYyBkZWZpbmVzIHRoZQoJICBlbmRpYW5uZXNzIGFuZCBhZGQgc3VwcG9ydCBmb3IgbXV4aW5nIHJhdyBpbnRlZ2VyIGF1ZGlvIHdpdGggMjQgYW5kCgkgIDMyIGJpdHMuCgkgIEFsbG93IG11eGluZyBvZiBtb3JlIHRoYW4gOCBhdWRpbyBjaGFubmVscy4KCjIwMDgtMDgtMDIgMTc6NDc6MzIgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzogQWRkIGxvY2tpbmcgdG8gdGhlIGdsb2JhbCBhcnJheSBvZiB1c2VkIHRyYWNrIFVJRHMgdG8gcHJldmVudCByYW5kb20gY3Jhc2hlcyBpZiBtb3JlIHRoYS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6IChnc3RfbWF0cm9za2FfbXV4X2NyZWF0ZV91aWQpLAoJICAoZ3N0X21hdHJvc2thX211eF9yZXNldCksIChnc3RfbWF0cm9za2FfbXV4X3N0YXJ0KToKCSAgQWRkIGxvY2tpbmcgdG8gdGhlIGdsb2JhbCBhcnJheSBvZiB1c2VkIHRyYWNrIFVJRHMgdG8gcHJldmVudCByYW5kb20KCSAgY3Jhc2hlcyBpZiBtb3JlIHRoYW4gYSBzaW5nbGUgbWF0cm9zbXV4IGluc3RhbmNlIGlzIHVzZWQuCgkgIFVzZSA2NCBiaXQgdmFsdWVzIGZvciB0aGUgdHJhY2sgVUlEcy4KCSAgVXNlIHRoZSBnbG9iYWwgR1JhbmRvbSBvZiBHTGliIGluc3RlYWQgb2YgY3JlYXRpbmcgb3VyIG93biBvbmUKCSAgZm9yIHRoZSBmZXcgcmFuZG9tIG51bWJlcnMgd2UgbmVlZCBldmVyeSBzaW5nbGUgdGltZS4KCjIwMDgtMDgtMDIgMTc6MTg6NDcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzogQWx3YXlzIHBvc3QgdGhlIGF1ZGlvLWNvZGVjIHRhZywgbm90IG9ubHkgaWYgb3RoZXIgdGFncyBhcmUgcHJlc2VudC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOiAoZ3N0X2ZsYWNfZGVjX3NldHVwX3NlZWthYmxlX2RlY29kZXIpLAoJICAoZ3N0X2ZsYWNfZGVjX3NldHVwX3N0cmVhbV9kZWNvZGVyKSwKCSAgKGdzdF9mbGFjX2RlY191cGRhdGVfbWV0YWRhdGEpOgoJICBBbHdheXMgcG9zdCB0aGUgYXVkaW8tY29kZWMgdGFnLCBub3Qgb25seSBpZiBvdGhlciB0YWdzIGFyZSBwcmVzZW50LgoKMjAwOC0wOC0wMSAyMzoyNjo1MCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBjb25maWd1cmUuYWM6IEJhY2sgdG8gZGV2ZWxvcG1lbnQgLT4gMC4xMC45LjEKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBCYWNrIHRvIGRldmVsb3BtZW50IC0+IDAuMTAuOS4xCgoyMDA4LTA4LTAxIDE1OjU4OjQ3ICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBnc3QtcGx1Z2lucy1nb29kLnNwZWMuaW46CgkgIGFkZCBtaXNzaW5nIGdzdHJlYW1lciBwbHVnaW5zIHRvIHNwZWMgZmlsZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYWRkIG1pc3NpbmcgZ3N0cmVhbWVyIHBsdWdpbnMgdG8gc3BlYyBmaWxlCgo9PT0gcmVsZWFzZSAwLjEwLjkgPT09CgoyMDA4LTA3LTMxIDIyOjEwOjE3ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Rpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2FtbWEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhhbGVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb25vc2NvcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdWlja3RpbWUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9iYWxhbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBnc3QtcGx1Z2lucy1nb29kLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAwLjEwLjkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFJlbGVhc2UgMC4xMC45CgoyMDA4LTA3LTMxIDIxOjUwOjQ0ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHBvL3poX0hLLnBvOgoJKiBwby96aF9UVy5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAwOC0wNy0zMSAyMToyNjo0OCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOiBEb24ndCB0aHJvdyBhbiBlcnJvciB3aGVuIHNvdXAgY29tcGxldGVzIGEgbXNnIHdpdGggc3RhdHVzICdjYW5jZWxsZWQnLCBhcyB0aGF0IGluZGljYXRlcyAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgRG9uJ3QgdGhyb3cgYW4gZXJyb3Igd2hlbiBzb3VwIGNvbXBsZXRlcyBhIG1zZyB3aXRoIHN0YXR1cwoJICAnY2FuY2VsbGVkJywgYXMgdGhhdCBpbmRpY2F0ZXMgd2UgY2FuY2VsbGVkIGEgcmVxdWVzdCB3aGlsZQoJICBzaHV0dGluZyBkb3duIG9yIHNlZWtpbmcsIGFuZCBpdCdzIG5vdCBhbiBlcnJvci4KCSAgRml4ZXM6ICM1NDAzMDAgYWdhaW4uCgoyMDA4LTA3LTI4IDIwOjE3OjQ2ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogMC4xMC44LjQgcHJlLXJlbGVhc2UKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAwLjEwLjguNCBwcmUtcmVsZWFzZQoKMjAwOC0wNy0yNSAxNDo1MDowMyArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogRml4IHNlZ21lbnQtc3RvcCByZWdyZXNzaW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9hY3RpdmF0ZV9zZWdtZW50KToKCSAgRml4IHNlZ21lbnQtc3RvcCByZWdyZXNzaW9uLgoJICBBZGQgZG9jdW1lbnRhdGlvbiByZWdhcmRpbmcgc2VnbWVudHMgaW4gcXVpY2t0aW1lIGZpbGVzIGJ5IFdpbSBUYXltYW5zLgoJICBGaXhlcyAjNTQ0NTA5CgoyMDA4LTA3LTI0IDIzOjU1OjU4ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogMC4xMC44LjMgcHJlLXJlbGVhc2UKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAwLjEwLjguMyBwcmUtcmVsZWFzZQoJICAqIHBvL0xJTkdVQVM6CgkgICogcG8vcHRfQlIucG86CgkgIEFkZCBwdF9CUiB0cmFuc2xhdGlvbgoKMjAwOC0wNy0yMyAyMjowMToyMCArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgZ3N0L2dvb20vOiBGaXggYnVpbGQgd2l0aCBNU1ZDOiBpbmNsdWRlIGdsaWIuaCB0byBkZWZpbmUgaW5saW5lIGFwcHJvcHJpYXRlbHksIHVzZSBoZWFkZXIgZ3VhcmRzIHdoZXJlIG5lZWRlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2dvb20vY29udm9sdmVfZnguYzoKCSAgKiBnc3QvZ29vbS9maWx0ZXJzLmM6CgkgICogZ3N0L2dvb20vZ29vbV9jb25maWcuaDoKCSAgKiBnc3QvZ29vbS9nb29tX2NvcmUuYzoKCSAgKiBnc3QvZ29vbS9nb29tX3Rvb2xzLmg6CgkgIEZpeCBidWlsZCB3aXRoIE1TVkM6IGluY2x1ZGUgZ2xpYi5oIHRvIGRlZmluZSBpbmxpbmUgYXBwcm9wcmlhdGVseSwKCSAgdXNlIGhlYWRlciBndWFyZHMgd2hlcmUgbmVlZGVkLgoJICAqIGdzdC91ZHAvZ3N0dWRwbmV0dXRpbHMuYzoKCSAgKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICBGaXggYnVpbGQgd2l0aCBNU1ZDOiB1c2UgV1NBKiBjb25zdGFudHMvZnVuY3Rpb25zIHdoZXJlIGFwcHJvcHJpYXRlLCB1c2UKCSAgZ19zbnByaW50ZiByYXRoZXIgdGhhbiBzbnByaW50Zi4KCSAgRml4ZXMgIzU0NDQzMy4KCjIwMDgtMDctMjIgMDY6MzI6MDMgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9kZWJ1Zy9nc3R0YWdpbmplY3QuKjogU2VudCB0YWdzIGluIF90cmFuc2Zvcm1faXAoKSBpbnN0ZWFkIG9mIF9zdGFydCgpLiBGaXhlcyAjNTQzNDA0IHBhcnRpYWxseS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlYnVnL2dzdHRhZ2luamVjdC5jOgoJICAqIGdzdC9kZWJ1Zy9nc3R0YWdpbmplY3QuaDoKCSAgU2VudCB0YWdzIGluIF90cmFuc2Zvcm1faXAoKSBpbnN0ZWFkIG9mIF9zdGFydCgpLiBGaXhlcyAjNTQzNDA0CgkgIHBhcnRpYWxseS4KCjIwMDgtMDctMTkgMTQ6MTI6MzkgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgY29uZmlndXJlLmFjOiAwLjEwLjguMiBwcmUtcmVsZWFzZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIDAuMTAuOC4yIHByZS1yZWxlYXNlCgoyMDA4LTA3LTE5IDEzOjUwOjUzICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGV4dC9NYWtlZmlsZS5hbTogRmluaXNoIGhvb2tpbmcgdXAgcHVsc2VhdWRpbyBwbHVnaW4gdG8gdGhlIGJ1aWxkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvTWFrZWZpbGUuYW06CgkgIEZpbmlzaCBob29raW5nIHVwIHB1bHNlYXVkaW8gcGx1Z2luIHRvIHRoZSBidWlsZC4KCSAgKiBleHQvcHVsc2UvcHVsc2VtaXhlcmN0cmwuYzoKCSAgRml4IGNvbXBpbGF0aW9uIGVycm9yLgoKMjAwOC0wNy0xOSAxMzoyMzoyOSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBwby86IEFkZCBuZXcgbGl0aHVuaWFuIHRyYW5zbGF0aW9uLCBhbmQgYWRkIGZyZW5jaCB0byB0aGUgTElOR1VBUyBmaWxlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBwby9MSU5HVUFTOgoJICAqIHBvL2x0LnBvOgoJICBBZGQgbmV3IGxpdGh1bmlhbiB0cmFuc2xhdGlvbiwgYW5kIGFkZCBmcmVuY2ggdG8gdGhlIExJTkdVQVMKCSAgZmlsZS4KCjIwMDgtMDctMTkgMTM6MDg6NDIgKzAwMDAgIFdvdXRlciBDbG9ldGVucyA8d291dGVyQG1pbmQuYmU+CgoJICBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOiBGaXggU291cCBIVFRQIHNvdXJjZSBzZWVraW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBGaXggU291cCBIVFRQIHNvdXJjZSBzZWVraW5nLgoJICBQYXRjaCBCeTogV291dGVyIENsb2V0ZW5zICA8d291dGVyIGF0IG1pbmQgYmU+CgkgIEZpeGVzOiAjNTQwMzAwCgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvLmN2c2lnbm9yZToKCSAgSWdub3JlIG5ldyBjaGVjayBwcm9ncmFtcy4KCjIwMDgtMDctMTkgMDE6MDE6MTMgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgTW92ZSByZXBsYXlnYWluIGFuZCBpbnRlcmxlYXZlIHBsdWdpbnMgZnJvbSAtYmFkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmludGVyZmFjZXM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIE1vdmUgcmVwbGF5Z2FpbiBhbmQgaW50ZXJsZWF2ZSBwbHVnaW5zIGZyb20gLWJhZC4KCSAgRml4ZXM6ICM1NDM0MDYKCSAgRml4ZXM6ICM1MzYyMjgKCjIwMDgtMDctMTggMjA6MDM6MDcgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBSZXZlcnQgSVNPIGJhc2UgbWVkaWEgc3BlYyBiYXNlZCBwaXhlbC1hc3BlY3QtcmF0aW8gY2FsY3VsYXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2FkZF9zdHJlYW0pLAoJICAocXRkZW11eF9wYXJzZV90cmFrKToKCSAgUmV2ZXJ0IElTTyBiYXNlIG1lZGlhIHNwZWMgYmFzZWQgcGl4ZWwtYXNwZWN0LXJhdGlvIGNhbGN1bGF0aW9uLgoJICBGaXhlcyAjNTQzMzAwLgoKMjAwOC0wNy0xNyAxNjo0Mjo1MyArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubTogRml4IG1pbm9yIGJ1aWxkIGlzc3VlcyBvbiBtYWNvc3guCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgRml4IG1pbm9yIGJ1aWxkIGlzc3VlcyBvbiBtYWNvc3guCgkgIEZpeGVzICM1NDMwNTQKCjIwMDgtMDctMTcgMTQ6NDA6NTEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBPbmx5IHVzZSAtV25vLWF0dHJpYnV0ZXMgKHdoaWNoIGlzIHRoZXJlIHRvIHdvcmsgYXJvdW5kIGEgYnVnIGluIHRoZSB0YWdsaWIgMS41IGhlYWRlcnMpIGlmIHRoZSBjKysgY29tcGlsZXIgYWN0dWFsbHkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOjoKCSAgKiBleHQvdGFnbGliL01ha2VmaWxlLmFtOjoKCSAgT25seSB1c2UgLVduby1hdHRyaWJ1dGVzICh3aGljaCBpcyB0aGVyZSB0byB3b3JrIGFyb3VuZCBhCgkgIGJ1ZyBpbiB0aGUgdGFnbGliIDEuNSBoZWFkZXJzKSBpZiB0aGUgYysrIGNvbXBpbGVyIGFjdHVhbGx5CgkgIHN1cHBvcnRzIGl0ICgjNTQzMjU1KS4KCjIwMDgtMDctMTcgMTM6NTQ6MzggKzAwMDAgIEJlbm9pdCBGb3VldCA8YmVub2l0LmZvdWV0QHB1cnBsZWxhYnMuY29tPgoKCSAgc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOiBBdm9pZCBjb21waWxlciB3YXJuaW5nIGJ5IGluaXRpYWxpc2luZyB2YXJpYWJsZSB0byBOVUxMICgjNTQzMjU5KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBCZW5vaXQgRm91ZXQgPGJlbm9pdC5mb3VldCBwdXJwbGVsYWJzIGNvbT4KCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6IChnc3RfdjRsMnNyY19uZWdvdGlhdGUpOgoJICBBdm9pZCBjb21waWxlciB3YXJuaW5nIGJ5IGluaXRpYWxpc2luZyB2YXJpYWJsZSB0byBOVUxMICgjNTQzMjU5KS4KCjIwMDgtMDctMTQgMTc6MTc6NDcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9kZWJ1Zy9nc3R0YWdpbmplY3QuYzogRG9uJ3QgcGFzcyBOVUxMIHRhZ2xpc3RzIHRvIGdzdF90YWdfbGlzdF9pc19lbXB0eSgpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVidWcvZ3N0dGFnaW5qZWN0LmM6IChnc3RfdGFnX2luamVjdF9zdGFydCk6CgkgIERvbid0IHBhc3MgTlVMTCB0YWdsaXN0cyB0byBnc3RfdGFnX2xpc3RfaXNfZW1wdHkoKS4KCjIwMDgtMDctMTQgMTc6MTU6NDIgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzLzogRG9uJ3QgdXNlIGRlY2xhcmF0aW9ucyBhZnRlciBzdGF0ZW1lbnRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jbW1sZGVjLmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwLXBheWxvYWRpbmcuYzogKHJ0cF9waXBlbGluZV9jcmVhdGUpLAoJICAocnRwX3BpcGVsaW5lX3J1bik6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvc291cGh0dHBzcmMuYzogKHNvdXBodHRwc3JjX3N1aXRlKToKCSAgRG9uJ3QgdXNlIGRlY2xhcmF0aW9ucyBhZnRlciBzdGF0ZW1lbnRzLgoKMjAwOC0wNy0xNCAxNjoyODoyNSArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJICBleHQvanBlZy9nc3RqcGVnZGVjLmM6IEFsaWduIGRvY3VtZW50YXRpb24gd2l0aCByZWFsaXR5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgIEFsaWduIGRvY3VtZW50YXRpb24gd2l0aCByZWFsaXR5LgoKMjAwOC0wNy0xNCAxMzoxMToxNCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3VkcC9nc3R1ZHBuZXR1dGlscy5jOiBFQUlfQUREUkZBTUlMWSB3YXMgb2Jzb2xldGVkIGluIEJTRCBhdCBzb21lIHBvaW50LiBEZWZpbmUgaXQgdG8gdGhlIG9sZCB2YWx1ZSAoMSkgaWYgaXQncyBuLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC91ZHAvZ3N0dWRwbmV0dXRpbHMuYzoKCSAgRUFJX0FERFJGQU1JTFkgd2FzIG9ic29sZXRlZCBpbiBCU0QgYXQgc29tZSBwb2ludC4gRGVmaW5lIGl0IHRvIHRoZQoJICBvbGQgdmFsdWUgKDEpIGlmIGl0J3Mgbm90IGRlZmluZWQgd2hpY2ggc2hvdWxkIG5vdCBjYXVzZSBhbnkgcHJvYmxlbXMKCSAgYXMgd2UncmUgdXNpbmcgaXQgaW50ZXJuYWwgb25seSBhbnl3YXkuCgoyMDA4LTA3LTE0IDEzOjAyOjQ4ICswMDAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyb0BubnZhLm9yZz4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogRml4IGJ1aWxkIG9mIGF2aWRlbXV4IG9uIGJpZyBlbmRpYW4gYXJjaGl0ZWN0dXJlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRybyBhdCBubnZhIGRvdCBvcmc+CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9yaWZmX3BhcnNlX3ZwcnApOgoJICBGaXggYnVpbGQgb2YgYXZpZGVtdXggb24gYmlnIGVuZGlhbiBhcmNoaXRlY3R1cmVzLgoKMjAwOC0wNy0xMCAyMDo0Nzo1NiArMDAwMCAgVGhpYWdvIFNvdXNhIFNhbnRvcyA8dGhpYWdvc3NAbGNjLnVmY2cuZWR1LmJyPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBDb3JyZWN0bHkgZGlzdGluZ3Vpc2ggOGJpdCB2cyAxNmJpdCByYXcgYXVkaW8uICBGaXhlcyAjNTQyNDEwLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFRoaWFnbyBTb3VzYSBTYW50b3MgPHRoaWFnb3NzIGF0IGxjYyBkb3QgdWZjZyBkb3QgZWR1IGRvdCBicj4KCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X2F1ZGlvX2NhcHMpOgoJICBDb3JyZWN0bHkgZGlzdGluZ3Vpc2ggOGJpdCB2cyAxNmJpdCByYXcgYXVkaW8uICBGaXhlcyAjNTQyNDEwLgoKMjAwOC0wNy0wOCAyMTowNToxOCArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IFNldCBwaXhlbC1hc3BlY3QtcmF0aW8gaW4gY2FwcyB1c2luZyBkaXNwbGF5IHdpZHRoIGFuZCBoZWlnaHQgcHJvdmlkZWQgaW4gdHJhY2suCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2FkZF9zdHJlYW0pLAoJICAocXRkZW11eF9wYXJzZV90cmFrKToKCSAgU2V0IHBpeGVsLWFzcGVjdC1yYXRpbyBpbiBjYXBzIHVzaW5nIGRpc3BsYXkgd2lkdGggYW5kIGhlaWdodAoJICBwcm92aWRlZCBpbiB0cmFjay4KCjIwMDgtMDctMDggMTM6NTk6NTEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGNvbmZpZ3VyZS5hYzogRG9uJ3QgaW5jbHVkZSBFUlJPUl9DRkxBR1MgaW4gR1NUX0NYWEZMQUdTIGFzIGl0IG1pZ2h0IGluY2x1ZGUgZmxhZ3MgdGhhdCBhcmUgaW52YWxpZCBmb3IgQysrLiBGaXhlcyBidS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIERvbid0IGluY2x1ZGUgRVJST1JfQ0ZMQUdTIGluIEdTVF9DWFhGTEFHUyBhcyBpdCBtaWdodCBpbmNsdWRlCgkgIGZsYWdzIHRoYXQgYXJlIGludmFsaWQgZm9yIEMrKy4gRml4ZXMgYnVnICM1MTY1MDkuCgoyMDA4LTA3LTA4IDEyOjUxOjM0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBEb24ndCB1c2UgZGVjbGFyYXRpb25zIGFmdGVyIHN0YXRlbWVudHMgYW5kIHZhcmlhYmxlIGxlbmd0aCBhcnJheXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9yYXcxMzk0L2dzdGR2MTM5NHNyYy5jOiAoZ3N0X2R2MTM5NHNyY191cmlfc2V0X3VyaSk6CgkgICogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6IChnc3Rfc3BlZXhfZW5jX3NpbmtfZ2V0Y2Fwcyk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOiAoZ3N0X3dhdnBhY2tfZW5jX3NldF93cF9jb25maWcpOgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzogKGdzdF92NGwyc3JjX2ZpeGF0ZSk6CgkgICogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOiAoZ3N0X3Y0bDJzcmNfcHJvYmVfY2Fwc19mb3JfZm9ybWF0KToKCSAgKiB0ZXN0cy9leGFtcGxlcy9lcXVhbGl6ZXIvZGVtby5jOiAobWVzc2FnZV9oYW5kbGVyKToKCSAgKiB0ZXN0cy9leGFtcGxlcy9zcGVjdHJ1bS9kZW1vLWF1ZGlvdGVzdC5jOiAobWVzc2FnZV9oYW5kbGVyKToKCSAgKiB0ZXN0cy9leGFtcGxlcy9zcGVjdHJ1bS9kZW1vLW9zc3NyYy5jOiAobWVzc2FnZV9oYW5kbGVyKToKCSAgRG9uJ3QgdXNlIGRlY2xhcmF0aW9ucyBhZnRlciBzdGF0ZW1lbnRzIGFuZCB2YXJpYWJsZSBsZW5ndGggYXJyYXlzLgoKMjAwOC0wNy0wNyAyMToyODo1OCArMDAwMCAgRGFuaWVsIERyYWtlIDxkc2RAZ2VudG9vLm9yZz4KCgkgIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzogVHJ5IHByb2dyZXNzaXZlIHZpZGVvIGlmIGludGVybGFjZWQgZmFpbHMuIEZpeGVzIGJ1ZyAjNTQxOTU2IGFuZCB0aGUgdXNhZ2Ugb2YgdjRsMnNyYyBvbiBPTFBDLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IERhbmllbCBEcmFrZSA8ZHNkIGF0IGdlbnRvbyBkb3Qgb3JnPgoJICAqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzogKGdzdF92NGwyc3JjX3NldF9jYXB0dXJlKSwKCSAgKGdzdF92NGwyc3JjX2dldF9uZWFyZXN0X3NpemUpOgoJICBUcnkgcHJvZ3Jlc3NpdmUgdmlkZW8gaWYgaW50ZXJsYWNlZCBmYWlscy4gRml4ZXMgYnVnICM1NDE5NTYKCSAgYW5kIHRoZSB1c2FnZSBvZiB2NGwyc3JjIG9uIE9MUEMuCgoyMDA4LTA3LTA3IDE1OjM0OjEyICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvcnRwL2dzdHJ0cHNwZWV4ZGVwYXkuKjogUmV2ZXJ0IGxhc3QgY2hhbmdlOiBPbmx5IHRoZSBqaXR0ZXJidWZmZXIgaXMgYWJsZSB0byBjb252ZXJ0IFJUUCB0bwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cHNwZWV4ZGVwYXkuYzogKGdzdF9ydHBfc3BlZXhfZGVwYXlfaW5pdCksCgkgIChnc3RfcnRwX3NwZWV4X2RlcGF5X3Byb2Nlc3MpOgoJICAqIGdzdC9ydHAvZ3N0cnRwc3BlZXhkZXBheS5oOgoJICBSZXZlcnQgbGFzdCBjaGFuZ2U6IE9ubHkgdGhlIGppdHRlcmJ1ZmZlciBpcyBhYmxlIHRvIGNvbnZlcnQgUlRQIHRvCgkgIEdzdHJlYW1lciB0aW1lc3RhbXBzIGFuZCBub3JtYWwgKGRlKXBheWxvYWRlcnMgc2hvdWxkIHNpbXBseSBjb3B5IGl0LgoJICBSZW9wZW5zIGJ1ZyAjNTQxNzg3LgoKMjAwOC0wNy0wNyAxMDozMDo1MSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3J0cC9nc3RydHB2cmF3ZGVwYXkuYzogSW5jbHVkZSBzdGRsaWIuaCBmb3IgYXRvaSgpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cHZyYXdkZXBheS5jOgoJICBJbmNsdWRlIHN0ZGxpYi5oIGZvciBhdG9pKCkuCgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBVc2UgZmxvYXRpbmcgcG9pbnQgbWF0aCBmb3IgbGF0ZW5jaWVzIDwgMCBzZWMgaW4gbG9nIG91dHB1dC4KCjIwMDgtMDctMDcgMTA6MTY6MDcgKzAwMDAgIFRvbWFzeiBHcm9iZWxueSA8dG9tYXN6QGdyb2JlbG55Lm9zd2llY2VuaWEubmV0PgoKCSAgZ3N0L3J0cC9nc3RydHBzcGVleGRlcGF5Lio6IFRha2UgdGltZXN0YW1wIGZyb20gdGhlIFJUUCBwYWNrZXQgYXMgYSBmaXJzdCBzdGVwIHRvIGZpeCBwcm9ibGVtcyB3aXRoIHRyYW5zbWlzc2lvbiBvdmVyLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogVG9tYXN6IEdyb2JlbG55IDx0b21hc3ogYXQgZ3JvYmVsbnkgZG90IG9zd2llY2VuaWEgZG90IG5ldD4KCSAgKiBnc3QvcnRwL2dzdHJ0cHNwZWV4ZGVwYXkuYzogKGdzdF9ydHBfc3BlZXhfZGVwYXlfaW5pdCksCgkgIChnc3RfcnRwX3NwZWV4X2RlcGF5X3Byb2Nlc3MpOgoJICAqIGdzdC9ydHAvZ3N0cnRwc3BlZXhkZXBheS5oOgoJICBUYWtlIHRpbWVzdGFtcCBmcm9tIHRoZSBSVFAgcGFja2V0IGFzIGEgZmlyc3Qgc3RlcCB0byBmaXggcHJvYmxlbXMKCSAgd2l0aCB0cmFuc21pc3Npb24gb3ZlciBSVFAgd2hlbiB0aGUgbmV0d29yayBpcyBub3QgcmVsaWFibGUuCgkgIEZpeGVzIGJ1ZyAjNTQxNzg3LgoKMjAwOC0wNy0wNSAxOTowMToyOCArMDAwMCAgVGVybyBTYWFybmkgPHRlcm8uc2Fhcm5pQGdtYWlsLmNvbT4KCgkgIGdzdC91ZHAvZ3N0dWRwc3JjLmM6IEZpeCBwYXJzaW5nIG9mIHVkcDovLyBVUklzIGNvbnRhaW5pbmcgSVB2NiBhZGRyZXNzZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogVGVybyBTYWFybmkgPHRlcm8gZG90IHNhYXJuaSBhdCBnbWFpbCBkb3QgY29tPgoJICAqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6IChnc3RfdWRwc3JjX3NldF91cmkpOgoJICBGaXggcGFyc2luZyBvZiB1ZHA6Ly8gVVJJcyBjb250YWluaW5nIElQdjYgYWRkcmVzc2VzLgoJICBGaXhlcyBidWcgIzU0MTY1MC4KCjIwMDgtMDctMDQgMjA6NDM6MDcgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSAgZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmLmM6IERvIG5vdCBsZWFrIGluY29taW5nIGJ1ZmZlcnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zi5jOiAoZ3N0X2dka19waXhidWZfY2hhaW4pOgoJICBEbyBub3QgbGVhayBpbmNvbWluZyBidWZmZXJzLgoKMjAwOC0wNy0wMyAxOToyNzo1MyArMDAwMCAgRGFtaWVuIExlc3BpYXUgPGRhbWllbi5sZXNwaWF1QGdtYWlsLmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogRml4IGJ1aWxkIG9mIHRoZSBSVFAgcGx1Z2luIHdpdGggbWluZ3czMiBieSBsaW5raW5nIHRvIHdzMl8zMiBmb3IgaHRvbnMoKSBhbmQgaHRvbmwoKS4gRml4ZXMgYnVnICM1NDE0MTIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogRGFtaWVuIExlc3BpYXUgPGRhbWllbiBkb3QgbGVzcGlhdSBhdCBnbWFpbCBkb3QgY29tPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgRml4IGJ1aWxkIG9mIHRoZSBSVFAgcGx1Z2luIHdpdGggbWluZ3czMiBieSBsaW5raW5nIHRvIHdzMl8zMgoJICBmb3IgaHRvbnMoKSBhbmQgaHRvbmwoKS4gRml4ZXMgYnVnICM1NDE0MTIuCgoyMDA4LTA3LTAyIDA5OjUxOjE2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogSGFuZGxlIHBvc2l0aW9uIGFuZCBkdXJhdGlvbiBxdWVyeSBpbiBERUZBVUxUIGZvcm1hdCBpZiB0aGUgcGFkJ3MgdHJhY2sgaGFzIGEgZGVmYXVsdCAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IChnc3RfbWF0cm9za2FfZGVtdXhfY2xhc3NfaW5pdCksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfYWRkX3N0cmVhbSksIChnc3RfbWF0cm9za2FfZGVtdXhfcXVlcnkpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2VsZW1lbnRfcXVlcnkpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2hhbmRsZV9zcmNfcXVlcnkpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2hhbmRsZV9zZWVrX2V2ZW50KToKCSAgSGFuZGxlIHBvc2l0aW9uIGFuZCBkdXJhdGlvbiBxdWVyeSBpbiBERUZBVUxUIGZvcm1hdCBpZiB0aGUKCSAgcGFkJ3MgdHJhY2sgaGFzIGEgZGVmYXVsdCBmcmFtZSBkdXJhdGlvbiBzZXQuCgkgIEZpeCBzZWVraW5nIG5vdyB0aGF0IHRoZSBzZWdtZW50J3MgZHVyYXRpb24gZG9lc24ndCBjb250YWluIHRoZQoJICAocG9zc2libHkgd3Jvbmcgb3IgaW5hY2N1cmF0ZSkgZHVyYXRpb24gb2YgdGhlIE1hdHJvc2thIGZpbGUuCgoyMDA4LTA3LTAyIDA5OjA0OjUwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbWF0cm9za2EvZWJtbC1yZWFkLmM6IFVzZSBOQU4gY29uc3RhbnQgaW5zdGVhZCBvZiAwLjAvMC4wIGlmIHBvc3NpYmxlLiBOQU4gaXMgZGVmaW5lZCBpbiBtYXRoLmggZXhjZXB0IG9uIE1TVkMgd2guLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL2VibWwtcmVhZC5jOiAoX2V4dDJkYmwpOgoJICBVc2UgTkFOIGNvbnN0YW50IGluc3RlYWQgb2YgMC4wLzAuMCBpZiBwb3NzaWJsZS4gTkFOIGlzIGRlZmluZWQKCSAgaW4gbWF0aC5oIGV4Y2VwdCBvbiBNU1ZDIHdoZXJlIGl0IGlzIGRlZmluZWQgaW4geG1hdGguaC4KCSAgRml4ZXMgY29tcGlsYXRpb24gd2l0aCBNU1ZDLgoKMjAwOC0wNy0wMiAwODo1NzowNCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4Lio6IERvbid0IHNldCB0aGUgc2VnbWVudCBkdXJhdGlvbiB0byB0aGUgZHVyYXRpb24gZnJvbSB0aGUgTWF0cm9za2EgaGVhZGVyIGFzIHRoaXMgdmFsdWUgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiAoZ3N0X21hdHJvc2thX2RlbXV4X3Jlc2V0KSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9oYW5kbGVfc3JjX3F1ZXJ5KSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9pbmZvKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9sb29wX3N0cmVhbV9wYXJzZV9pZCk6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4Lmg6CgkgIERvbid0IHNldCB0aGUgc2VnbWVudCBkdXJhdGlvbiB0byB0aGUgZHVyYXRpb24gZnJvbSB0aGUgTWF0cm9za2EKCSAgaGVhZGVyIGFzIHRoaXMgdmFsdWUgY291bGQgYmUgd3JvbmcgYW5kIGlzIGp1c3QgaW5mb3JtYXRpb25hbC4KCjIwMDgtMDctMDIgMDg6NDc6MDAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiBJZiBubyBUcmFja3MgZWxlbWVudCBpcyBmb3VuZCB1bnRpbCB0aGUgZmlyc3QgQ2x1c3RlciBpcyBmb3VuZCBzZWFyY2ggaXQgYW5kIGVycm9yIG91dC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9sb29wX3N0cmVhbV9wYXJzZV9pZCk6CgkgIElmIG5vIFRyYWNrcyBlbGVtZW50IGlzIGZvdW5kIHVudGlsIHRoZSBmaXJzdCBDbHVzdGVyIGlzIGZvdW5kCgkgIHNlYXJjaCBpdCBhbmQgZXJyb3Igb3V0IGlmIG5vbmUgaXMgZm91bmQgaW4gdGhlIGNvbXBsZXRlIGZpbGUuCgoyMDA4LTA3LTAyIDA4OjE0OjM1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogUmVzeW5jIG5vbi1zdWJ0aXRsZSB0cmFja3MgdG9vIGlmIGEgdG9vIGxhcmdlIGdhcCBjb21wYXJlZCB0byBvdGhlciB0cmFja3MgaXMgZGV0ZWN0ZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiAoZ3N0X21hdHJvc2thX2RlbXV4X3N5bmNfc3RyZWFtcyk6CgkgIFJlc3luYyBub24tc3VidGl0bGUgdHJhY2tzIHRvbyBpZiBhIHRvbyBsYXJnZSBnYXAgY29tcGFyZWQgdG8gb3RoZXIKCSAgdHJhY2tzIGlzIGRldGVjdGVkLgoKMjAwOC0wNy0wMSAxMzoyODowMiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvOiBBZGQgcmF3IHZpZGVvIHBheSBhbmQgZGVwYXlsb2FkZXJzLCBzZWUgUkZDNDE3NS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcnRwL2dzdHJ0cC5jOiAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwdnJhd2RlcGF5LmM6IChnc3RfcnRwX3ZyYXdfZGVwYXlfYmFzZV9pbml0KSwKCSAgKGdzdF9ydHBfdnJhd19kZXBheV9jbGFzc19pbml0KSwgKGdzdF9ydHBfdnJhd19kZXBheV9pbml0KSwKCSAgKGdzdF9ydHBfdnJhd19kZXBheV9zZXRjYXBzKSwgKGdzdF9ydHBfdnJhd19kZXBheV9wcm9jZXNzKSwKCSAgKGdzdF9ydHBfdnJhd19kZXBheV9jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X3J0cF92cmF3X2RlcGF5X3BsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cHZyYXdkZXBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwdnJhd3BheS5jOiAoZ3N0X3J0cF92cmF3X3BheV9nZXRfdHlwZSksCgkgIChnc3RfcnRwX3ZyYXdfcGF5X2Jhc2VfaW5pdCksIChnc3RfcnRwX3ZyYXdfcGF5X2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cF92cmF3X3BheV9pbml0KSwgKGdzdF9ydHBfdnJhd19wYXlfZmluYWxpemUpLAoJICAoZ3N0X3J0cF92cmF3X3BheV9zZXRjYXBzKSwgKGdzdF9ydHBfdnJhd19wYXlfaGFuZGxlX2J1ZmZlciksCgkgIChnc3RfcnRwX3ZyYXdfcGF5X3BsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cHZyYXdwYXkuaDoKCSAgQWRkIHJhdyB2aWRlbyBwYXkgYW5kIGRlcGF5bG9hZGVycywgc2VlIFJGQzQxNzUuCgoyMDA4LTA2LTMwIDIyOjUzOjM5ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6IERvbid0IHJldHVybiBHU1RfRkxPV19FUlJPUiB3aGVuIGJ1ZmZlcl9hbGxvYyBmYWlscyAtIHJldHVybiB3aGF0ZXZlciBpdCByZXR1cm5lZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzoKCSAgRG9uJ3QgcmV0dXJuIEdTVF9GTE9XX0VSUk9SIHdoZW4gYnVmZmVyX2FsbG9jIGZhaWxzIC0gcmV0dXJuCgkgIHdoYXRldmVyIGl0IHJldHVybmVkLgoKMjAwOC0wNi0yOSAxOTo1Mjo1MSArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJICBnc3QvYXZpL2F2aS1pZHMuaDogQWRkIHZwcnAgY2h1bmsgcmVsYXRlZCBzdHJ1Y3R1cmVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2F2aS1pZHMuaDoKCSAgQWRkIHZwcnAgY2h1bmsgcmVsYXRlZCBzdHJ1Y3R1cmVzLgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfcmlmZl9wYXJzZV92cHJwKSwKCSAgKGdzdF9hdmlfZGVtdXhfcGFyc2Vfc3RyZWFtKToKCSAgUGFyc2Ugb3B0aW9uYWwgdnBycCBjaHVuayBhbmQgYWRkIGNhbGN1bGF0ZWQgcGl4ZWwtYXNwZWN0LXJhdGlvCgkgIHRvIGNhcHMuICBGaXhlcyAjNTM5NDgyLgoJICAqIGdzdC9hdmkvZ3N0YXZpbXV4Lmg6CgkgICogZ3N0L2F2aS9nc3RhdmltdXguYzogKGdzdF9hdmlfbXV4X3BhZF9yZXNldCksCgkgIChnc3RfYXZpX211eF92aWRzaW5rX3NldF9jYXBzKSwgKGdzdF9hdmlfbXV4X3JpZmZfZ2V0X2F2aV9oZWFkZXIpOgoJICBBZGQgYSB2cHJwIGNodW5rIGlmIG5vbi10cml2YWwgcGl4ZWwtYXNwZWN0LXJhdGlvIHByb3ZpZGVkIGluIGNhcHMuCgoyMDA4LTA2LTI4IDE5OjMxOjQ2ICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F2aW11eC5jOiBBZGp1c3QgYXZpbXV4IHVuaXQgdGVzdCBhY2NvcmRpbmcgdG8gaW5jcmVhc2VkIHN0cmVhbWhlYWRlciBzaXplLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdmltdXguYzogKGNoZWNrX2F2aW11eF9wYWQpOgoJICBBZGp1c3QgYXZpbXV4IHVuaXQgdGVzdCBhY2NvcmRpbmcgdG8gaW5jcmVhc2VkIHN0cmVhbWhlYWRlciBzaXplLgoKMjAwOC0wNi0yNyAxODoxMTowMSArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEFkZCBEaXJhYyBzdHJlYW0gdHlwZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEFkZCBEaXJhYyBzdHJlYW0gdHlwZQoKMjAwOC0wNi0yNyAxNToyNTowMCArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJICBnc3QvYXZpL2dzdGF2aW11eC4qOiBBZGQgOCBieXRlcyB0byBjdXJyZW50IHN0cmVhbWhlYWRlciB0byBtYWtlIGZvciBhIGNvbXBsZXRlIG9uZSBhbmQgdG8gbWFrZSBtb3JlIHBsYXllcnMgaGFwcHkuICAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmltdXguYzogKGdzdF9hdmlfbXV4X3JpZmZfZ2V0X2F2aV9oZWFkZXIpOgoJICAqIGdzdC9hdmkvZ3N0YXZpbXV4Lmg6CgkgIEFkZCA4IGJ5dGVzIHRvIGN1cnJlbnQgc3RyZWFtaGVhZGVyIHRvIG1ha2UgZm9yIGEgY29tcGxldGUgb25lCgkgIGFuZCB0byBtYWtlIG1vcmUgcGxheWVycyBoYXBweS4gIEZpeGVzICM1MTk0NjAuCgoyMDA4LTA2LTI2IDE2OjM2OjQ3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgc3lzL3Y0bDIvdjRsMl9jYWxscy5jOiBEb24ndCBpbmNsdWRlIHVudXNlZCBnc3R2NGwyeG92ZXJsYXkuaC4gRml4ZXMgYnVpbGQgaW4gY2FzZSB3aGVyZSBYMTEgaGVhZGVycyBhcmUgbm90IGluc3RhbGxlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOjoKCSAgRG9uJ3QgaW5jbHVkZSB1bnVzZWQgZ3N0djRsMnhvdmVybGF5LmguIEZpeGVzIGJ1aWxkCgkgIGluIGNhc2Ugd2hlcmUgWDExIGhlYWRlcnMgYXJlIG5vdCBpbnN0YWxsZWQuCgoyMDA4LTA2LTI2IDEwOjA3OjQ2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L2R2L2dzdGR2LmM6IEZpeCBjb21waWxhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2R2L2dzdGR2LmM6IChwbHVnaW5faW5pdCk6CgkgIEZpeCBjb21waWxhdGlvbi4KCjIwMDgtMDYtMjYgMDk6Mzc6MjMgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBleHQvZHYvZ3N0ZHYuYzogTWFya2luZyByYW5rIG9mIGR2ZGVjIGFzIEdTVF9SQU5LX01BUkdJTkFMIHNpbmNlIGl0J3MgdGhlIHNsb3dlc3QKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2R2L2dzdGR2LmM6IChwbHVnaW5faW5pdCk6CgkgIE1hcmtpbmcgcmFuayBvZiBkdmRlYyBhcyBHU1RfUkFOS19NQVJHSU5BTCBzaW5jZSBpdCdzIHRoZSBzbG93ZXN0CgkgIERWIGRlY29kZXIgYXZhaWxhYmxlLgoJICBGaXhlcyAjNTMyMzkzCgoyMDA4LTA2LTI1IDA4OjEyOjE4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvdWRwL2dzdHVkcHNyYy5jOiBDYWxsIGdldHNvY2tuYW1lKCkgYWZ0ZXIgdGhlIGNhbGwgdG8gYmluZCgpIHRvIGdldCB1cGRhdGVkIHZhbHVlcyBmb3IgdGhlIHBvcnQsIGV0Yy4gVGhpcyBmaXhlcyAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3VkcC9nc3R1ZHBzcmMuYzogKGdzdF91ZHBzcmNfc3RhcnQpOgoJICBDYWxsIGdldHNvY2tuYW1lKCkgYWZ0ZXIgdGhlIGNhbGwgdG8gYmluZCgpIHRvIGdldCB1cGRhdGVkIHZhbHVlcwoJICBmb3IgdGhlIHBvcnQsIGV0Yy4gVGhpcyBmaXhlcyB0aGUgdXNhZ2Ugb2YgdWRwc3JjIG9uIGFub255bW91cwoJICBiaW5kaW5nIGFuZCBpdCdzIHVzYWdlIGJ5IHJ0c3BzcmMuIEZpeGVzIGJ1Z3MgIzUzOTM3MiwgIzUzOTU0OC4KCSAgVGhhbmtzIHRvIEF1cmVsaWVuIEdyaW1hdWQgZm9yIHBvaW50aW5nIG91dCB0aGUgb2J2aW91cyBmaXguCgoyMDA4LTA2LTI1IDA3OjU3OjI2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICB0ZXN0cy9jaGVjay9waXBlbGluZXMvd2F2cGFjay5jOiBSZW1vdmUgd29ya2Fyb3VuZCBmb3IgYSBidWcgaW4gaWRlbnRpdHkgdGhhdCBpcyBmaXhlZCBpbiAwLjEwLjIwLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvd2F2cGFjay5jOiAoYnVzX2hhbmRsZXIpOgoJICBSZW1vdmUgd29ya2Fyb3VuZCBmb3IgYSBidWcgaW4gaWRlbnRpdHkgdGhhdCBpcyBmaXhlZCBpbiAwLjEwLjIwLgoKMjAwOC0wNi0yNSAwNjozNjo1OCArMDAwMCAgSmFzb24gRG9uZW5mZWxkIDxCdWdaaWxsYUB6eDJjNC5jb20+CgoJICBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOiBGaXggSFRUUCBhdXRoIHN1cHBvcnQgd2l0aCB1c2VyL3Bhc3N3b3JkIHBhc3NlZCB2aWEgdGhlIFVSSS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBKYXNvbiBEb25lbmZlbGQgPEJ1Z1ppbGxhIGF0IHp4MmM0IGRvdCBjb20+CgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzogKGdzdF9zb3VwX2h0dHBfc3JjX2dvdF9oZWFkZXJzX2NiKToKCSAgRml4IEhUVFAgYXV0aCBzdXBwb3J0IHdpdGggdXNlci9wYXNzd29yZCBwYXNzZWQgdmlhIHRoZSBVUkkuCgkgIEZpeGVzIGJ1ZyAjNTQwMDY3LgoKMjAwOC0wNi0yNCAxNTo0MjozMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogRGVwZW5kIG9uIHJlbGVhc2VkIHZlcnNpb25zIG9mIGNvcmUgYW5kIC1iYXNlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIERlcGVuZCBvbiByZWxlYXNlZCB2ZXJzaW9ucyBvZiBjb3JlIGFuZCAtYmFzZS4KCjIwMDgtMDYtMjMgMTY6MTM6NDAgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IEZpeCBidWdneSBmb3JtYXQgc3RyaW5ncyBpbiBtYWNyb3MuIChtYWtlcyBpdCBidWlsZCBvbiBPUyBYIGFnYWluLi4uKQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwOC0wNi0yMyAgSnVsaWVuIE1vdXR0ZSAgPGp1bGllbkBmbHVlbmRvLmNvbT4KCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9yZWFkX3RyYWNrX2VuY29kaW5nKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9ibG9ja2dyb3VwX29yX3NpbXBsZWJsb2NrKTogRml4IGJ1Z2d5CgkgIGZvcm1hdCBzdHJpbmdzIGluIG1hY3Jvcy4gKG1ha2VzIGl0IGJ1aWxkIG9uIE9TIFggYWdhaW4uLi4pCgoyMDA4LTA2LTIwIDE2OjI0OjExICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGdzdC86IEFkZGVkIGRlYnVnLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYXBheS5jOgoJICAqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkgIEFkZGVkIGRlYnVnLgoKMjAwOC0wNi0yMCAxNToyMTo1OSArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBjb21tb246CgkqIGNvbmZpZ3VyZS5hYzoKCSAgc3dpdGNoIHY0bDJzcmMgZnJvbSBleHBlcmltZW50YWwgdG8gbm9ybWFsIGJ1aWxkLiBGaXhlcyAjNTM2ODMxCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBzd2l0Y2ggdjRsMnNyYyBmcm9tIGV4cGVyaW1lbnRhbCB0byBub3JtYWwgYnVpbGQuIEZpeGVzICM1MzY4MzEKCjIwMDgtMDYtMTkgMTE6MjQ6NTQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwL2dzdHJ0cGc3MjZwYXkuYzogUmVtb3ZlIHVudXNlZCB2YXJpYWJsZSBzbyB0aGF0IHdlIGNhbiBjb21waWxlIGFnYWluLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGc3MjZwYXkuYzogKGdzdF9ydHBfZzcyNl9wYXlfc2V0Y2Fwcyk6CgkgIFJlbW92ZSB1bnVzZWQgdmFyaWFibGUgc28gdGhhdCB3ZSBjYW4gY29tcGlsZSBhZ2Fpbi4KCjIwMDgtMDYtMTkgMTE6MDY6MjkgKzAwMDAgIFBldGVyIEtqZWxsZXJzdGVkdCA8cGtqQGF4aXMuY29tPgoKCSAgZ3N0L3J0cC9nc3RydHBnNzI2cGF5LmM6IE5vIG5lZWQgdG8gY2hlY2sgZm9yIGF1ZGlvL0c3MjMgYW5kIGF1ZGlvLzMyS0FEUENNIGhlcmUgYXMgdGhleSBhcmUgbm8gbG9uZ2VyIHN1cHBvcnRlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBnNzI2cGF5LmM6IChnc3RfcnRwX2c3MjZfcGF5X3NldGNhcHMpOgoJICBObyBuZWVkIHRvIGNoZWNrIGZvciBhdWRpby9HNzIzIGFuZCBhdWRpby8zMktBRFBDTSBoZXJlIGFzIHRoZXkgYXJlCgkgIG5vIGxvbmdlciBzdXBwb3J0ZWQuCgoyMDA4LTA2LTE5IDEwOjU4OjU3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogVXNlIEdfR0lOVDY0X0NPTlNUQU5ULCB0aGlzIGZpeGVzIHRoZSBkdXJhdGlvbiBxdWVyeSBvbiBmaWxlcyB3aXRob3V0IGtub3duIGxlbmd0aC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IChnc3Rfd2F2cGFja19wYXJzZV9yZXNldCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9zcmNfcXVlcnkpLCAoZ3N0X3dhdnBhY2tfcGFyc2VfY3JlYXRlX3NyY19wYWQpOgoJICBVc2UgR19HSU5UNjRfQ09OU1RBTlQsIHRoaXMgZml4ZXMgdGhlIGR1cmF0aW9uIHF1ZXJ5IG9uIGZpbGVzIHdpdGhvdXQKCSAga25vd24gbGVuZ3RoLgoKMjAwOC0wNi0xOSAxMDo0ODo1NyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L21hdHJvc2thLzogRml4IGRlbXV4aW5nIG9mIFdhdlBhY2sgZmlsZXMuIE11eGluZyBpcyBzdGlsbCBicm9rZW4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2FkZF93dnBrX2hlYWRlciksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfYXVkaW9fY2Fwcyk6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5oOgoJICBGaXggZGVtdXhpbmcgb2YgV2F2UGFjayBmaWxlcy4gTXV4aW5nIGlzIHN0aWxsIGJyb2tlbi4KCjIwMDgtMDYtMTkgMDk6MTI6NTUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9tYXRyb3NrYS86IEFkZCBhICJ2ZnVuYyIgdG8gdGhlIHRyYWNrIGNvbnRleHQgZm9yIHBvc3Rwcm9jZXNzaW5nIGZyYW1lcyBhbmQgY29udmVydCB0aGUgd2F2cGFjayBhbmQgc3VidGl0bGUgcG9zdC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogKGdzdF9tYXRyb3NrYV90cmFja19mcmVlKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9hZGRfbXBlZ19zZXFfaGVhZGVyKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9hZGRfd3Zwa19oZWFkZXIpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2NoZWNrX3N1YnRpdGxlX2J1ZmZlciksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfYmxvY2tncm91cF9vcl9zaW1wbGVibG9jayksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfdmlkZW9fY2FwcyksIChnc3RfbWF0cm9za2FfZGVtdXhfYXVkaW9fY2FwcyksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfc3VidGl0bGVfY2Fwcyk6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5oOgoJICBBZGQgYSAidmZ1bmMiIHRvIHRoZSB0cmFjayBjb250ZXh0IGZvciBwb3N0cHJvY2Vzc2luZyBmcmFtZXMgYW5kCgkgIGNvbnZlcnQgdGhlIHdhdnBhY2sgYW5kIHN1YnRpdGxlIHBvc3Rwcm9jZXNzaW5nIHRvIHRoaXMgdmZ1bmMuCgkgIENvcHkgYnVmZmVyIGZsYWdzIGluIHRob3NlIGZ1bmN0aW9ucyB0byB0aGUgbmV3IGJ1ZmZlcnMgdG9vLgoJICBQYXJzZSBDb2RlY1N0YXRlIGVsZW1lbnRzIG9mIEJsb2Nrcy4KCSAgQWRkIGEgcG9zdHByb2Nlc3NpbmcgZnVuY3Rpb24gZm9yIE1QRUcgdmlkZW8gdGhhdCBhZGRzIHRoZSBzZXF1ZW5jZQoJICBoZWFkZXIgZnJvbSB0aGUgY29kZWMgcHJpdmF0ZSBkYXRhIG9yIGNvZGVjIHN0YXRlIHRvIHRoZSBmcmFtZXMgaWYKCSAgaXQncyBub3QgYWxyZWFkeSB0aGVyZS4KCjIwMDgtMDYtMTkgMDg6MjI6MTYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiBJZiBhIGdhcCBvZiBtb3JlIHRoYW4gMS8yIHNlY29uZCBpcyBmb3VuZCBpbiBvbmUgc3RyZWFtIHNlbmQgYQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9ibG9ja2dyb3VwX29yX3NpbXBsZWJsb2NrKToKCSAgSWYgYSBnYXAgb2YgbW9yZSB0aGFuIDEvMiBzZWNvbmQgaXMgZm91bmQgaW4gb25lIHN0cmVhbSBzZW5kIGEKCSAgTkVXU0VHTUVOVCBldmVudCB0byBub3Qgc3RhbGwgdGhlIHBpcGVsaW5lIGlmIHRoZSBnYXAgaXMgdG9vIGxhcmdlLgoJICBUaGlzIGFsc28gZml4ZXMgTWF0cm9za2EgZmlsZXMgd2hlcmUgdGhlIGZpcnN0IGJ1ZmZlciBkb2Vzbid0IHN0YXJ0CgkgIGF0IHRpbWVzdGFtcCAwLiBGaXhlcyBidWcgIzQyOTMyMi4KCSAgVGhlIGR1cmF0aW9uIG9mIGEgYmxvY2sgaXMgdGhlIGRlZmF1bHQgZHVyYXRpb24gbXVsdGlwbGllZCB3aXRoIHRoZQoJICBudW1iZXIgb2YgbGFjZXMuIEV2ZXJ5IGxhY2UgaXMgb25lIGZyYW1lIGFuZCB0aGUgZGVmYXVsdCBkdXJhdGlvbgoJICBpcyB0aGUgZHVyYXRpb24gb2Ygb25lIGZyYW1lLiBUaGlzIGZpeGVzIHBsYXliYWNrIG9mIGZpbGVzIHRoYXQgdXNlCgkgIGxhY2luZyBmb3Igc29tZSB0cmFja3MuCgoyMDA4LTA2LTE4IDIwOjA5OjI4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogVXBkYXRlIEZJWE1FL1RPRE9zIGFuZCBvbmx5IGlnbm9yZSBFT1MgYXQgdGhlIGNlbnRyYWwsIGltcG9ydGFudCBwbGFjZSBpbnN0ZWFkIG9mIHNldmUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfY29udGVudHNfc2Vla2VudHJ5KToKCSAgVXBkYXRlIEZJWE1FL1RPRE9zIGFuZCBvbmx5IGlnbm9yZSBFT1MgYXQgdGhlIGNlbnRyYWwsIGltcG9ydGFudCBwbGFjZQoJICBpbnN0ZWFkIG9mIHNldmVyYWwgcGxhY2VzLgoKMjAwOC0wNi0xOCAxNjo1NTowNSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvZ3N0cnRwZzcyNnBheS5jOiBGaXggY2FwcywgU2VlICM1Mzg4OTEuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwZzcyNnBheS5jOgoJICBGaXggY2FwcywgU2VlICM1Mzg4OTEuCgoyMDA4LTA2LTE4IDEwOjI4OjIwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogSW1wcm92ZSBkZWJ1ZyBvdXRwdXQgZXZlcnl3aGVyZSBhbmQgZml4IHRoZSBFT1MgbG9naWMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiAoZ3N0X21hdHJvc2thX2RlbXV4X3Jlc2V0KSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9zdHJlYW1fZnJvbV9udW0pLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2VuY29kaW5nX2NtcCksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfZW5jb2Rpbmdfb3JkZXJfdW5pcXVlKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9yZWFkX3RyYWNrX2VuY29kaW5nKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9yZWFkX3RyYWNrX2VuY29kaW5ncyksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfdHJhY2tudW1iZXJfdW5pcXVlKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9hZGRfc3RyZWFtKSwgKGdzdF9tYXRyb3NrYV9kZW11eF9pbml0X3N0cmVhbSksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfdHJhY2tzKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9pbmRleF9jdWV0cmFjayksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfaW5kZXhfcG9pbnRlbnRyeSksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfaW5kZXgpLCAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2luZm8pLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX21ldGFkYXRhX2lkX3NpbXBsZV90YWcpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX21ldGFkYXRhX2lkX3RhZyksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfbWV0YWRhdGEpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2F0dGFjaGVkX2ZpbGUpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2F0dGFjaG1lbnRzKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9jaGFwdGVycyksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfc3luY19zdHJlYW1zKSwgKGdzdF9tYXRyb3NrYV9kZWNvZGVfYnVmZmVyKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9ibG9ja2dyb3VwX29yX3NpbXBsZWJsb2NrKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9jbHVzdGVyKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9jb250ZW50c19zZWVrZW50cnkpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2NvbnRlbnRzKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9sb29wX3N0cmVhbV9wYXJzZV9pZCksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfbG9vcCk6CgkgIEltcHJvdmUgZGVidWcgb3V0cHV0IGV2ZXJ5d2hlcmUgYW5kIGZpeCB0aGUgRU9TIGxvZ2ljLgoJICBDaGVjayB0aGUgdmFsdWVzIG9mIHRoZSBDb250ZW50RW5jb2RpbmcgZWxlbWVudHMgbW9yZSBzdHJpY3RseSBhbmQKCSAgZG9uJ3QgdXNlIHRyYWNrcyBmb3Igd2hpY2ggaXQncyBpbnZhbGlkLgoJICBDaGVjayB0aGF0IHRoZSB0cmFjayBudW1iZXIgaXMgdW5pcXVlIGZvciB0aGlzIHN0cmVhbS4KCSAgQ2hlY2sgdGhhdCBzZWVrIHBvc2l0aW9ucyBhcmUgYmVsb3cgR19NQVhJTlQ2NCBhcyBvdXIgc2Vla3MgYXJlCgkgIGludDY0LWJhc2VkIGFuZCBvdmVyZmxvd3Mgd2lsbCBmYWlsIGJhZGx5LgoJICBBZnRlciBzZWVrcyBhbHNvIGRvbid0IHB1c2ggU2ltcGxlQmxvY2tzIHVudGlsIHRoZSBmaXJzdCBvbmUKCSAgY29udGFpbmluZyBhIGtleWZyYW1lIGlzIGZvdW5kLiBCZWZvcmUgdGhpcyB3YXMgZG9uZSBvbmx5IGZvciBub3JtYWwKCSAgQmxvY2tzLgoJICBVcGRhdGUgc29tZSBGSVhNRS9UT0RPcy4KCSAgKiBnc3QvbWF0cm9za2EvZWJtbC1yZWFkLmM6IChnc3RfZWJtbF9yZWFkX3BlZWtfYnl0ZXMpLAoJICAoZ3N0X2VibWxfcmVhZF91dGY4KSwgKGdzdF9lYm1sX3JlYWRfaGVhZGVyKToKCSAgSW1wcm92ZSBkZWJ1ZyBvdXRwdXQuCgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5jOgoJICAoZ3N0X21hdHJvc2thX3RyYWNrX2luaXRfdmlkZW9fY29udGV4dCk6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5oOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgKGdzdF9tYXRyb3NrYV9tdXhfdmlkZW9fcGFkX3NldGNhcHMpOgoJICBSZW1vdmUgZXllIG1vZGUgYW5kIGRvbid0IHBhcnNlIGl0IGFueW1vcmUuIFdlIGNhbid0IHVzZSB0aGF0CgkgIGluZm9ybWF0aW9uIGluIEdTdHJlYW1lciB5ZXQgc28gaXQncyB1c2VsZXNzLgoKMjAwOC0wNi0xOCAxMDoxMjo1NyArMDAwMCAgbWVyc2FkIDxtZXJzYWRAYXhpcy5jb20+CgoJICBnc3QvcnRwLzogQWRkZWQgRzcyNiBwYXkvZGVwYXlsb2FkZXJzLiBGaXhlcyAjNTM4ODkxLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IG1lcnNhZCA8bWVyc2FkIGF0IGF4aXMgZG90IGNvbT4KCSAgKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9ydHAvZ3N0cnRwLmM6IChwbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBnNzI2ZGVwYXkuYzogKGdzdF9ydHBfZzcyNl9kZXBheV9iYXNlX2luaXQpLAoJICAoZ3N0X3J0cF9nNzI2X2RlcGF5X2NsYXNzX2luaXQpLCAoZ3N0X3J0cF9nNzI2X2RlcGF5X2luaXQpLAoJICAoZ3N0X3J0cF9nNzI2X2RlcGF5X3NldGNhcHMpLCAoZ3N0X3J0cF9nNzI2X2RlcGF5X3Byb2Nlc3MpLAoJICAoZ3N0X3J0cF9nNzI2X2RlcGF5X3BsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cGc3MjZkZXBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwZzcyNnBheS5jOiAoZ3N0X3J0cF9nNzI2X3BheV9iYXNlX2luaXQpLAoJICAoZ3N0X3J0cF9nNzI2X3BheV9jbGFzc19pbml0KSwgKGdzdF9ydHBfZzcyNl9wYXlfaW5pdCksCgkgIChnc3RfcnRwX2c3MjZfcGF5X3NldGNhcHMpLCAoZ3N0X3J0cF9nNzI2X3BheV9wbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBnNzI2cGF5Lmg6CgkgIEFkZGVkIEc3MjYgcGF5L2RlcGF5bG9hZGVycy4gRml4ZXMgIzUzODg5MS4KCjIwMDgtMDYtMTcgMTA6MTQ6NDcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9VUkxTOiBTb21lIG1vcmUgdXJscy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvVVJMUzoKCSAgU29tZSBtb3JlIHVybHMuCgkgICogZ3N0L3NtcHRlL2JhcmJveHdpcGVzLmM6CgkgIEFkZCBhIGNvbW1lbnQKCSAgKiB0ZXN0cy9leGFtcGxlcy9ydHAvc2VydmVyLXY0bDItSDI2NC1hbHNhc3JjLVBDTUEuc2g6CgkgIEZpeCB0eXBvLCBhZGQgYXVkaW9yZXNhbXBsZSB0byB0aGUgcGlwZWxpbmUuCgoyMDA4LTA2LTE3IDEwOjA1OjU1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L2xpYm1uZy86IFNvbWV3aGF0IHBvcnQgbW5nZW5jIGFuZCBtbmdkZWMgdG8gMC4xMC4gRG9lcyBub3Qgd29yayB5ZXQgYW5kIGhhcyBtYW55IGJpdHMgaWZkZWZmZWQgb3V0IHN0aWxsLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbGlibW5nL01ha2VmaWxlLmFtOgoJICAqIGV4dC9saWJtbmcvZ3N0bW5nLmM6IChwbHVnaW5faW5pdCk6CgkgICogZXh0L2xpYm1uZy9nc3RtbmdkZWMuYzogKGdzdF9tbmdfZGVjX2Jhc2VfaW5pdCksCgkgIChnc3RfbW5nX2RlY19jbGFzc19pbml0KSwgKGdzdF9tbmdfZGVjX3Npbmtfc2V0Y2FwcyksCgkgIChnc3RfbW5nX2RlY19pbml0KSwgKGdzdF9tbmdfZGVjX3NyY19nZXRjYXBzKSwgKGdzdF9tbmdfZGVjX2xvb3ApLAoJICAoZ3N0X21uZ19kZWNfZ2V0X3Byb3BlcnR5KSwgKGdzdF9tbmdfZGVjX3NldF9wcm9wZXJ0eSksCgkgIChtbmdkZWNfZXJyb3IpLCAobW5nZGVjX29wZW5zdHJlYW0pLCAobW5nZGVjX2Nsb3Nlc3RyZWFtKSwKCSAgKGdzdF9tbmdfZGVjX3NpbmtfZXZlbnQpLCAobW5nZGVjX3JlYWRkYXRhKSwgKG1uZ2RlY19zZXR0aW1lciksCgkgIChtbmdkZWNfcHJvY2Vzc2hlYWRlciksIChtbmdkZWNfZ2V0Y2FudmFzbGluZSksIChtbmdkZWNfcmVmcmVzaCksCgkgIChnc3RfbW5nX2RlY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9saWJtbmcvZ3N0bW5nZGVjLmg6CgkgICogZXh0L2xpYm1uZy9nc3RtbmdlbmMuYzogKGdzdF9tbmdfZW5jX2Jhc2VfaW5pdCksCgkgIChnc3RfbW5nX2VuY19jbGFzc19pbml0KSwgKGdzdF9tbmdfZW5jX3Npbmtfc2V0Y2FwcyksCgkgIChnc3RfbW5nX2VuY19pbml0KSwgKGdzdF9tbmdfZW5jX2NoYWluKSwKCSAgKGdzdF9tbmdfZW5jX2dldF9wcm9wZXJ0eSksIChnc3RfbW5nX2VuY19zZXRfcHJvcGVydHkpOgoJICAqIGV4dC9saWJtbmcvZ3N0bW5nZW5jLmg6CgkgIFNvbWV3aGF0IHBvcnQgbW5nZW5jIGFuZCBtbmdkZWMgdG8gMC4xMC4gRG9lcyBub3Qgd29yayB5ZXQgYW5kIGhhcyBtYW55CgkgIGJpdHMgaWZkZWZmZWQgb3V0IHN0aWxsLgoKMjAwOC0wNi0xNiAxMTozNDo1NCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IFdoZW4gY29tcGFyaW5nIGluZGV4IGVsZW1lbnRzIHdpdGggdGhlIHNhbWUgdGltZSBjb21wYXJlIHRoZWlyIGJsb2NrIG51bWJlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IChnc3RfbWF0cm9za2FfaW5kZXhfY29tcGFyZSk6CgkgIFdoZW4gY29tcGFyaW5nIGluZGV4IGVsZW1lbnRzIHdpdGggdGhlIHNhbWUgdGltZSBjb21wYXJlIHRoZWlyCgkgIGJsb2NrIG51bWJlci4KCjIwMDgtMDYtMTYgMTE6MzE6MDYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9hdHRhY2hlZF9maWxlKQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9hdHRhY2hlZF9maWxlKQoJICBJbml0IHZhcmlhYmxlIHRvIE5VTEwgdG8gYXZvaWQgY29tcGlsZXIgd2FybmluZy4KCjIwMDgtMDYtMTYgMTA6NTk6MzkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9tYXRyb3NrYS86IFBhcnNlIEF0dGFjaG1lbnRzIGFuZCBwb3N0IHRoZW0gYXMgR1NUX1RBR19JTUFHRSBpZiB3ZSBkZXRlY3QgaXQgYXMgaW1hZ2UgYW5kIG90aGVyd2lzZSBhcyBHU1RfVEFHX0FUVC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvTWFrZWZpbGUuYW06CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IChnc3RfbWF0cm9za2FfZGVtdXhfcmVzZXQpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2F0dGFjaGVkX2ZpbGUpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2F0dGFjaG1lbnRzKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9jb250ZW50c19zZWVrZW50cnkpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2xvb3Bfc3RyZWFtX3BhcnNlX2lkKToKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguaDoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmM6IChnc3RfbWF0cm9za2FfcmVnaXN0ZXJfdGFncyk6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5oOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS5jOiAocGx1Z2luX2luaXQpOgoJICBQYXJzZSBBdHRhY2htZW50cyBhbmQgcG9zdCB0aGVtIGFzIEdTVF9UQUdfSU1BR0UgaWYgd2UgZGV0ZWN0CgkgIGl0IGFzIGltYWdlIGFuZCBvdGhlcndpc2UgYXMgR1NUX1RBR19BVFRBQ0hNRU5ULiBJbmNsdWRlIGZpbGVuYW1lCgkgIGFuZCBkZXNjcmlwdGlvbiBvZiB0aGUgYXR0YWNobWVudHMgaW4gdGhlIGNhcHMuIEZpeGVzIGJ1ZyAjNTM3NjIyLgoKMjAwOC0wNi0xNiAxMDowOTowMyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOiBBZGQgbW9kZSBwcm9wZXJ0eS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6IChnc3Rfc3BlZXhfZW5jX21vZGVfZ2V0X3R5cGUpLAoJICAoZ3N0X3NwZWV4X2VuY19jbGFzc19pbml0KSwgKGdzdF9zcGVleF9lbmNfc2lua19nZXRjYXBzKSwKCSAgKGdzdF9zcGVleF9lbmNfZ2V0X2xhdGVuY3kpLCAoZ3N0X3NwZWV4X2VuY19nZXRfcXVlcnlfdHlwZXMpLAoJICAoZ3N0X3NwZWV4X2VuY19zcmNfcXVlcnkpLCAoZ3N0X3NwZWV4X2VuY19pbml0KSwKCSAgKGdzdF9zcGVleF9lbmNfc2V0dXApLCAoZ3N0X3NwZWV4X2VuY19wdXNoX2J1ZmZlciksCgkgIChnc3Rfc3BlZXhfZW5jX2NoYWluKSwgKGdzdF9zcGVleF9lbmNfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9zcGVleF9lbmNfc2V0X3Byb3BlcnR5KToKCSAgQWRkIG1vZGUgcHJvcGVydHkuCgkgIFNvbWUgY2xlYW51cHMsIGFkZCBtb3JlIGRlYnVnIGluZm8uCgkgIEFkZCBsYXRlbmN5IHF1ZXJ5LgoKMjAwOC0wNi0xNiAwOTo1NDoyNyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L21hdHJvc2thL2VibWwtcmVhZC5jOiBSZXR1cm4gR1NUX0ZMT1dfVU5FWFBFQ1RFRCBpbnN0ZWFkIG9mIEdTVF9GTE9XX0VSUk9SIG9uIHNob3J0IHJlYWRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvZWJtbC1yZWFkLmM6IChnc3RfZWJtbF9yZWFkX3BlZWtfYnl0ZXMpOgoJICBSZXR1cm4gR1NUX0ZMT1dfVU5FWFBFQ1RFRCBpbnN0ZWFkIG9mIEdTVF9GTE9XX0VSUk9SIG9uIHNob3J0IHJlYWRzLgoJICBJZiB3ZSBnZXQgbGVzcyBieXRlcyB0aGFuIHJlcXVlc3RlZCB3ZSBjYW4ndCBkbyBhbnl0aGluZyBleGNlcHQgZG9pbmcKCSAgb3VyIEVPUyBsb2dpYy4KCjIwMDgtMDYtMTUgMTk6MDk6NTQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9tYXRyb3NrYS86IFVzZSBhIEdBcnJheSBmb3Igc3RvcmluZyB0aGUgQ3VlIChpLmUuIHNlZWspIGluZm9ybWF0aW9uLCBzdG9yZSB0aGUgQ3VlVHJhY2tQb3NpdGlvbnMgZm9yIGV2ZXJ5IHRyYWNrLC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogKGdzdF9tYXRyb3NrYV9kZW11eF9yZXNldCksCgkgIChnc3RfbWF0cm9za2FkZW11eF9kb19pbmRleF9zZWVrKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9pbmRleF9jdWV0cmFjayksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfaW5kZXhfcG9pbnRlbnRyeSksCgkgIChnc3RfbWF0cm9za2FfaW5kZXhfY29tcGFyZSksIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfaW5kZXgpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX21ldGFkYXRhKToKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguaDoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmg6CgkgIFVzZSBhIEdBcnJheSBmb3Igc3RvcmluZyB0aGUgQ3VlIChpLmUuIHNlZWspIGluZm9ybWF0aW9uLCBzdG9yZQoJICB0aGUgQ3VlVHJhY2tQb3NpdGlvbnMgZm9yIGV2ZXJ5IHRyYWNrLCBzdG9yZSB0aGUgYmxvY2sgbnVtYmVyCgkgIGFuZCBvcHRpbWl6ZSBzZWFyY2hpbmcgaW4gdGhlIGFycmF5IGJ5IHNvcnRpbmcgaXQgYWZ0ZXIgdGhlIGxhc3QKCSAgZWxlbWVudCB3YXMgYWRkZWQuCgkgIEZpeCBhIHNtYWxsIG1lbW9yeSBsZWFrIHdoZW4gdHJ5aW5nIHRvIHBhcnNlIGEgdGFncyBlbGVtZW50IHRoYXQgd2FzCgkgIGFscmVhZHkgcGFyc2VkLgoKMjAwOC0wNi0xNSAxNToyOToyOSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC4qOiBEb24ndCB3cml0ZSBhbm90aGVyIFNlZWtIZWFkIHdoaWNoIGluZGV4ZXMgYWxsIENsdXN0ZXJzIHRvIHRoZSBlbmQgb2YgdGhlIGZpbGUuIFRoaXMgaXNuLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzogKGdzdF9tYXRyb3NrYV9tdXhfcmVzZXQpLAoJICAoZ3N0X21hdHJvc2thX211eF9zdGFydCksIChnc3RfbWF0cm9za2FfbXV4X2ZpbmlzaCksCgkgIChnc3RfbWF0cm9za2FfbXV4X3dyaXRlX2RhdGEpOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguaDoKCSAgRG9uJ3Qgd3JpdGUgYW5vdGhlciBTZWVrSGVhZCB3aGljaCBpbmRleGVzIGFsbCBDbHVzdGVycyB0byB0aGUgZW5kIG9mCgkgIHRoZSBmaWxlLiBUaGlzIGlzbid0IHVzZWZ1bCBmb3IgYW55dGhpbmcgYW5kIGp1c3QgaW5jcmVhc2VzIGZpbGVzaXplLgoKMjAwOC0wNi0xNSAxNTowMTozMCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L21hdHJvc2thL2VibWwtcmVhZC5jOiBQcmV2ZW50IHVuYWxpZ25lZCBtZW1vcnkgYWNjZXNzIHdoZW4gcmVhZGluZyBmbG9hdHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9lYm1sLXJlYWQuYzogKF9leHQyZGJsKSwgKGdzdF9lYm1sX3JlYWRfZmxvYXQpOgoJICBQcmV2ZW50IHVuYWxpZ25lZCBtZW1vcnkgYWNjZXNzIHdoZW4gcmVhZGluZyBmbG9hdHMuCgoyMDA4LTA2LTE1IDE0OjA4OjQxICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbWF0cm9za2EvOiBNYWtlIHN1cmUgdGhhdCBldmVyeSBUYWdzIGVsZW1lbnQgaXMgb25seSBwYXJzZWQgb25jZSBhbmQgaXQncyBjb250YWluaW5nIHRhZ3MgYXJlIG9ubHkgcG9zdGVkIG9uY2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9lYm1sLXJlYWQuYzoKCSAgKiBnc3QvbWF0cm9za2EvZWJtbC1yZWFkLmg6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IChnc3RfbWF0cm9za2FfZGVtdXhfcmVzZXQpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX21ldGFkYXRhKToKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguaDoKCSAgTWFrZSBzdXJlIHRoYXQgZXZlcnkgVGFncyBlbGVtZW50IGlzIG9ubHkgcGFyc2VkIG9uY2UgYW5kIGl0J3MKCSAgY29udGFpbmluZyB0YWdzIGFyZSBvbmx5IHBvc3RlZCBvbmNlLgoKMjAwOC0wNi0xNSAwOTo0MzoyNSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L21hdHJvc2thLzogSGFuZGxlIEVCTUwgZWxlbWVudHMgbGlrZSBWb2lkIG9yIENSQzMyIGluIHRoZSBFYm1sUmVhZCBiYXNlIGNsYXNzIGFscmVhZHkuIFRoZXkncmUgbm90IHVzZWZ1bCBpbiB0aGUgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9lYm1sLXJlYWQuYzogKGdzdF9lYm1sX3BlZWtfaWQpLAoJICAoZ3N0X2VibWxfcmVhZF9oZWFkZXIpOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiAoZ3N0X21hdHJvc2thX2RlbXV4X2FkZF9zdHJlYW0pLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX3RyYWNrcyksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfaW5kZXhfY3VldHJhY2spLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2luZGV4X3BvaW50ZW50cnkpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2luZGV4KSwgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9pbmZvKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9tZXRhZGF0YV9pZF9zaW1wbGVfdGFnKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9tZXRhZGF0YV9pZF90YWcpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX21ldGFkYXRhKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9hdHRhY2htZW50cyksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfY2hhcHRlcnMpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2Jsb2NrZ3JvdXBfb3Jfc2ltcGxlYmxvY2spLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2NsdXN0ZXIpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2NvbnRlbnRzX3NlZWtlbnRyeSksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfY29udGVudHMpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2xvb3Bfc3RyZWFtX3BhcnNlX2lkKToKCSAgSGFuZGxlIEVCTUwgZWxlbWVudHMgbGlrZSBWb2lkIG9yIENSQzMyIGluIHRoZSBFYm1sUmVhZCBiYXNlIGNsYXNzCgkgIGFscmVhZHkuIFRoZXkncmUgbm90IHVzZWZ1bCBpbiB0aGUgbWF0cm9za2EgcGFyc2VyIGFuZCBvbmx5IGNhdXNlCgkgIGFkZGl0aW9uYWwgY29kZS4KCjIwMDgtMDYtMTQgMTU6NTE6MjUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9tYXRyb3NrYS86IFJldmVyc2UgdGhlIGxldmVsIGxpc3QgYXMgd2UgdXN1YWxseSBhcmUgb25seSBpbnRlcmVzdGVkIGluIHRoZSBmaXJzdCBlbGVtZW50IG9yIHdhbnQgdG8gYWRkIGEgbmV3IGZpci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvZWJtbC1yZWFkLmM6IChnc3RfZWJtbF9sZXZlbF9mcmVlKSwKCSAgKGdzdF9lYm1sX2ZpbmFsaXplKSwgKGdzdF9lYm1sX3JlYWRfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9lYm1sX3JlYWRfZWxlbWVudF9sZXZlbF91cCksIChnc3RfZWJtbF9yZWFkX21hc3Rlcik6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfY29udGVudHNfc2Vla2VudHJ5KToKCSAgUmV2ZXJzZSB0aGUgbGV2ZWwgbGlzdCBhcyB3ZSB1c3VhbGx5IGFyZSBvbmx5IGludGVyZXN0ZWQgaW4gdGhlCgkgIGZpcnN0IGVsZW1lbnQgb3Igd2FudCB0byBhZGQgYSBuZXcgZmlyc3QgZWxlbWVudC4gSGF2aW5nIHRoZQoJICBmaXJzdCBlbGVtZW50IHN0b3JlZCBhdCB0aGUgZW5kIGFuZCBjYWxsaW5nIGdfbGlzdF9sYXN0KCkgYW5kCgkgIGdfbGlzdF9hcHBlbmQoKSBpcyBtb3JlIGV4cGVuc2l2ZS4KCSAgQWxzbyB1c2UgR1NsaWNlIGZvciBhbGxvY2F0aW5nIHRoZSBHc3RFYm1sTGV2ZWwgc3RydWN0cy4KCjIwMDgtMDYtMTMgMjE6MTM6NDYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvZGVidWcvZ3N0dGFnaW5qZWN0LmM6IERvbid0IHVucmVmIE5VTEwgdGFnbGlzdCBpbiBmaW5hbGl6ZS4gRG9uJ3QgdXNlIGMrKyBzdHlsZSBjb21tZW50cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlYnVnL2dzdHRhZ2luamVjdC5jOiAoZ3N0X3RhZ19pbmplY3RfZmluYWxpemUpLAoJICAoZ3N0X3RhZ19pbmplY3RfY2xhc3NfaW5pdCksIChnc3RfdGFnX2luamVjdF9pbml0KToKCSAgRG9uJ3QgdW5yZWYgTlVMTCB0YWdsaXN0IGluIGZpbmFsaXplLiBEb24ndCB1c2UgYysrIHN0eWxlCgkgIGNvbW1lbnRzLgoKMjAwOC0wNi0xMyAxOToxNDo0MSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L21hdHJvc2thLzogVXNlIGdzdF92YWx1ZV9zZXJpYWxpemUoKSBhbmQgZ3N0X3ZhbHVlX2Rlc2VyaWFsaXplKCkgZm9yIHRyYW5zZm9ybWluZyB0YWdzIGZyb20gc29tZSBHVHlwZSB0byBhIHN0cmluLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX21ldGFkYXRhX2lkX3NpbXBsZV90YWcpOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzogKGdzdF9tYXRyb3NrYV9tdXhfd3JpdGVfc2ltcGxlX3RhZyksCgkgIChnc3RfbWF0cm9za2FfbXV4X3dyaXRlX2RhdGEpOgoJICBVc2UgZ3N0X3ZhbHVlX3NlcmlhbGl6ZSgpIGFuZCBnc3RfdmFsdWVfZGVzZXJpYWxpemUoKSBmb3IgdHJhbnNmb3JtaW5nCgkgIHRhZ3MgZnJvbSBzb21lIEdUeXBlIHRvIGEgc3RyaW5nIGFuZCB0aGUgb3RoZXIgd2F5IGFyb3VuZC4gVGhlIGRlZmF1bHQKCSAgdHJhbnNmb3JtYXRpb25zIGluIEdMaWIgZG9uJ3QgaW5jbHVkZSB0cmFuc2Zvcm1hdGlvbnMgZnJvbSBzdHJpbmcgdG8KCSAgbnVtYmVyIHR5cGVzLgoKMjAwOC0wNi0xMyAxOTowNzowMyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4Lio6IE9ubHkgcGFyc2UgVHJhY2tzLCBTZWVrSGVhZCBhbmQgU2VnbWVudEluZm8gZWxlbWVudHMgb25jZSBidXQgYWxsb3cKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IChnc3RfbWF0cm9za2FfZGVtdXhfcmVzZXQpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX3RyYWNrcyksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfaW5kZXgpLCAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2luZm8pLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2F0dGFjaG1lbnRzKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9jaGFwdGVycyksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfY29udGVudHNfc2Vla2VudHJ5KSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9sb29wX3N0cmVhbV9wYXJzZV9pZCk6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4Lmg6CgkgIE9ubHkgcGFyc2UgVHJhY2tzLCBTZWVrSGVhZCBhbmQgU2VnbWVudEluZm8gZWxlbWVudHMgb25jZSBidXQgYWxsb3cKCSAgVGFncyBtdWx0aXBsZSB0aW1lcy4gVGhlIGZpcnN0IG9uZXMgY2FuIGFwcGVhciBtb3JlIHRoYW4gb25jZSBidXQgbXVzdAoJICBjb250YWluIHRoZSBzYW1lIGNvbnRlbnQgYXMgdGhlIGZpcnN0IGZvciBiYWNrdXAgcHVycG9zZXMgc28gd2UgaWdub3JlCgkgIGFsbCBidXQgdGhlIGZpcnN0IG9uZS4gVGFncyBjYW4gYXBwZWFyIG11bHRpcGxlIHRpbWVzIHdpdGggZGlmZmVyZW50CgkgIGNvbnRlbnQuCgkgIEp1bXAgdG8gYWxsIGVsZW1lbnRzIGV4Y2VwdCBDbHVzdGVycyB0aGF0IGFyZSBhdmFpbGFibGUgZnJvbSBhCgkgIFNlZWtIZWFkIHRvIG1ha2UgaXQgbW9yZSBsaWtlbHkgdG8gaGF2ZSBhbGwgcmVxdWlyZWQgaW5mb3JtYXRpb25zCgkgIGJlZm9yZSBnZXR0aW5nIHRvIHRoZSBmaXJzdCBDbHVzdGVycy4KCSAgQWRkIGR1bW15IGZ1bmN0aW9ucyBmb3IgcGFyc2luZyBBdHRhY2htZW50cyBhbmQgQ2hhcHRlcnMuCgoyMDA4LTA2LTEzIDE0OjMzOjUyICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvcmVwbGF5Z2Fpbi86IE1vcmUgZG9jIHVwZGF0ZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9yZXBsYXlnYWluL2dzdHJnYW5hbHlzaXMuYzoKCSAgKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ2xpbWl0ZXIuYzoKCSAgKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ3ZvbHVtZS5jOgoJICBNb3JlIGRvYyB1cGRhdGVzLgoKMjAwOC0wNi0xMyAxMTo1OToyMyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZG9jcy9wbHVnaW5zLzogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW15dGh0di54bWwKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5zaWduYWxzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHNhc3BkaWYueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbXJ3Yi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2RhdWRpby54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkeGFwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmJkZXZzaW5rLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1maWx0ZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHZkZW11eC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV6ZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdGludGVybGFjZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oMjY0cGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhZHNwYS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1ldGFkYXRhLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzR2aWRlb3BhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzcGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndmlkZW9wYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2VwYWNrLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzaWNicmFpbnoueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdmUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teXRodHYueG1sCgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hcy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uc2ZkZWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1udXZkZW11eC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sCgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVhbC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGwueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWxlY3Rvci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNuZGZpbGUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BjZGVjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleHJlc2FtcGxlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3RlcmVvLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbAoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10aW1pZGl0eS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZjZHNyYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvc2lnbmFsLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm1uYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdpbGRtaWRpLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teDI2NC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXh2aWQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmRlYy5jOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmVuYy5jOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YnBhcnNlLmM6CgkgICogZXh0L2RjMTM5NC9nc3RkYzEzOTQuYzoKCSAgKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6CgkgICogZXh0L2l2b3JiaXMvdm9yYmlzZGVjLmM6CgkgICogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOgoJICAqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuYy5jYzoKCSAgKiBleHQvbXBsZXgvZ3N0bXBsZXguY2M6CgkgICogZXh0L211c2ljYnJhaW56L2dzdHRybS5jOgoJICAqIGV4dC9teXRodHYvZ3N0bXl0aHR2c3JjLmM6CgkgICogZXh0L3RoZW9yYS90aGVvcmFkZWMuYzoKCSAgKiBleHQvdGltaWRpdHkvZ3N0dGltaWRpdHkuYzoKCSAgKiBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuYzoKCSAgKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNpbmsuYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJICAqIGdzdC9mZXN0aXZhbC9nc3RmZXN0aXZhbC5jOgoJICAqIGdzdC9mcmVlemUvZ3N0ZnJlZXplLmM6CgkgICogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmM6CgkgICogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOgoJICAqIGdzdC9tb2RwbHVnL2dzdG1vZHBsdWcuY2M6CgkgICogZ3N0L251dmRlbXV4L2dzdG51dmRlbXV4LmM6CgkgIEFkZCBtaXNzaW5nIGVsZW1lbnRzIHRvIGRvY3MuIEZpeCBkb2MtbWFya3VwOiB1c2UgY29udmluaWVuY2Ugc3ludGF4CgkgIGZvciBleGFtcGxlcyAocHJvZHVjZXMgdmFsaWQgZG9jYm9vayksIGFkZCBzZXZlcmFsIHJlZnNlYzIgd2hlbiB3ZQoJICBoYXZlIHNldmVyYWwgdGl0bGVzLiBGaXggc29tZSB0eXBlcy4KCjIwMDgtMDYtMTMgMTE6NTQ6MDUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvdWRwL2dzdHVkcHNyYy4qOiBBZGQgcHJvcGVydHkgdG8gY29udHJvbCBhdXRvbWF0aWMgam9pbi9sZWF2ZSBvZiBtdWx0aWNhc3QgZ3JvdXBzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdWRwL2dzdHVkcHNyYy5jOiAoZ3N0X3VkcHNyY19jbGFzc19pbml0KSwgKGdzdF91ZHBzcmNfaW5pdCksCgkgIChnc3RfdWRwc3JjX2NyZWF0ZSksIChnc3RfdWRwc3JjX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfdWRwc3JjX2dldF9wcm9wZXJ0eSksIChnc3RfdWRwc3JjX3N0YXJ0KSwgKGdzdF91ZHBzcmNfc3RvcCk6CgkgICogZ3N0L3VkcC9nc3R1ZHBzcmMuaDoKCSAgQWRkIHByb3BlcnR5IHRvIGNvbnRyb2wgYXV0b21hdGljIGpvaW4vbGVhdmUgb2YgbXVsdGljYXN0IGdyb3Vwcy4KCSAgQWRkIEdfTElLRUxZLgoJICBSZW1vdmUgc2V0dGluZyBjYXBzIG9uIGJ1ZmZlcnMgZXhwbGljaXRseSwgYmFzZXNyYyBkb2VzIHRoYXQgZm9yIHVzIG5vdy4KCSAgSW1wcm92ZSBkZWJ1ZyBpbmZvLgoJICBDb252ZXJ0IHNvbWUgbm9uLWZhdGFsIGVycm9yIGludG8gd2FybmluZ3MuCgkgIFVzZSBnX250b2hzIGZvciBiZXR0ZXIgcG9ydGFiaWxpdHkuCgkgIExlYXZlIG11bHRpY2FzdCBncm91cHMgd2hlbiBzdG9wcGluZy4KCSAgV2hlbiB1c2luZyBleHRlcm5hbCBzb2NrZXRzLCB1c2UgZ2V0c29ja25hbWUoKSBvbiB0aGVtIHRvIGZpbGwgdXAgdGhlCgkgIGFkZHIgc3RydWN0dXJlIGJlZm9yZSBjYWxsaW5nIG1ldGhvZHMgdGhhdCB1c2UgdGhlIHN0cnVjdHVyZS4KCSAgU2hvdWxkIGFsbCBmaXggIzUzNjkwMy4KCSAgQVBJOiBHc3RVRFBTcmM6OmF1dG8tbXVsdGljYXN0IHByb3BlcnR5CgoyMDA4LTA2LTEzIDExOjQ3OjI4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3VkcC9nc3R1ZHBuZXR1dGlscy5jOiBVc2UgZ19udG9obCBmb3IgYmV0dGVyIHBvcnRhYmlsaXR5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdWRwL2dzdHVkcG5ldHV0aWxzLmM6IChnc3RfdWRwX2lzX211bHRpY2FzdCk6CgkgIFVzZSBnX250b2hsIGZvciBiZXR0ZXIgcG9ydGFiaWxpdHkuCgoyMDA4LTA2LTEzIDExOjQ1OjU0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzogRml4IGEgdHlwbyBhbmQgZG8gc29tZSBzbWFsbCBjbGVhbnVwcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzogKGdzdF9tdWx0aXVkcHNpbmtfaW5pdF9zZW5kKSwKCSAgKGdzdF9tdWx0aXVkcHNpbmtfcmVtb3ZlKToKCSAgRml4IGEgdHlwbyBhbmQgZG8gc29tZSBzbWFsbCBjbGVhbnVwcy4KCjIwMDgtMDYtMTMgMDk6Mzk6NDEgKzAwMDAgIE9saXZpZXIgQ3JldGUgPHRlc3RlckB0ZXN0ZXIuY2E+CgoJICBnc3QvcnRwL2dzdHJ0cHRoZW9yYWRlcGF5LmM6IE1ha2UgdGhlIGRlbGl2ZXJ5LW1ldGhvZCBtYW5kYXRvcnkgb24gdGhlIGNhcHMgYW5kIG9ubHkgYWNjZXB0IGlubGluZSBmb3Igbm93LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE9saXZpZXIgQ3JldGUgPHRlc3RlciBhdCB0ZXN0ZXIgZG90IGNhPgoJICAqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhZGVwYXkuYzogKGdzdF9ydHBfdGhlb3JhX2RlcGF5X3NldGNhcHMpOgoJICBNYWtlIHRoZSBkZWxpdmVyeS1tZXRob2QgbWFuZGF0b3J5IG9uIHRoZSBjYXBzIGFuZCBvbmx5IGFjY2VwdCBpbmxpbmUKCSAgZm9yIG5vdy4KCSAgUmV2ZXJzZSBzdHJjbXAgY2hlY2tzIGZvciBkZWxpdmVyeS1tZXRob2QuCgkgICogZ3N0L3J0cC9nc3RydHB2b3JiaXNkZXBheS5jOiAoZ3N0X3J0cF92b3JiaXNfZGVwYXlfc2V0Y2Fwcyk6CgkgIE1ha2UgZGVsaXZlcnkgbWV0aG9kIG9wdGlvbmFsIHdoZW4gcGFyc2luZyBjYXBzIGFuZCBub3RlIHRoaXMgaW4gdGhlCgkgIGNhcHMuCgkgIFJldmVyc2Ugc3RyY21wIGNoZWNrcyBmb3IgZGVsaXZlcnktbWV0aG9kLgoJICAqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzcGF5LmM6CgkgIFVwZGF0ZSBhIGNvbW1lbnQgdG8gbm90ZSB0aGF0IHRoZSBkZWxpdmVyeS1tZXRob2QgaXMgb3B0aW9uYWwsCgkgIEZpeGVzICM1Mzc2NzUuCgoyMDA4LTA2LTEyIDE3OjMwOjA2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiBTZXQgdWRwc3JjIGZvciByZWNlaXZpbmcgZGF0YSBmcm9tIG11bHRpY2FzdCBncm91cHMgdG8gUEFVU0VEIGluc3RlYWQgb2YgbGVhdmluZyB0aGVtIGluIFJFQURZLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX3N0cmVhbV9jb25maWd1cmVfbWNhc3QpOgoJICBTZXQgdWRwc3JjIGZvciByZWNlaXZpbmcgZGF0YSBmcm9tIG11bHRpY2FzdCBncm91cHMgdG8gUEFVU0VEIGluc3RlYWQgb2YKCSAgbGVhdmluZyB0aGVtIGluIFJFQURZLiBGaXhlcyAjNTM3ODMyLgoKMjAwOC0wNi0xMiAxMjoxNDozOCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2F2aS9nc3RhdmltdXguYzogU2ltcGxpZnkgY29kZS4gZ3N0X3RhZ19saXN0X21lcmdlKCkgZG9lcyB0aGUgTlVMTCBjaGVja3MuIEFkZCBhIEZJWE1FIGZvciBhIHJhbmRvbSBjb25zdGFudCBpbiB0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkgIFNpbXBsaWZ5IGNvZGUuIGdzdF90YWdfbGlzdF9tZXJnZSgpIGRvZXMgdGhlIE5VTEwgY2hlY2tzLiBBZGQgYSBGSVhNRQoJICBmb3IgYSByYW5kb20gY29uc3RhbnQgaW4gdGFnbXV4aW5nIGNvZGUuCgoyMDA4LTA2LTExIDE0OjI4OjQ0ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvZGVidWcvZ3N0dGFnaW5qZWN0Lio6IE5vdyBhY3R1YWxseSBhZGRpbmcgdGhlIG5ldyBlbGVtZW50LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVidWcvZ3N0dGFnaW5qZWN0LmM6CgkgICogZ3N0L2RlYnVnL2dzdHRhZ2luamVjdC5oOgoJICBOb3cgYWN0dWFsbHkgYWRkaW5nIHRoZSBuZXcgZWxlbWVudC4KCjIwMDgtMDYtMTEgMTQ6MTE6MTYgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIFJlbW92ZSBkdW1teSBwbHVnaW5faW5pdC4gUmVtb3ZlIHNvbWUgdW5kZWZpbmVkIGVudHJpZXMgZnJvbSBkb2MtIHNlY3Rpb24gZmlsZS4gQWRkIHRhZ2luamVjdCBlbGVtZW50IGFuZCByZWJ1aWxkIGRvYy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaW50ZXJmYWNlczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkaW8ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2FtbWEueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oYWxlbGVtZW50cy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vbm9zY29wZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF1aWNrdGltZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9iYWxhbmNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZsaXAueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSAgKiBnc3QvZGVidWcvTWFrZWZpbGUuYW06CgkgICogZ3N0L2RlYnVnL2JyZWFrbXlkYXRhLmM6CgkgICogZ3N0L2RlYnVnL2VmZW5jZS5jOgoJICAqIGdzdC9kZWJ1Zy9nc3RkZWJ1Zy5jOgoJICAqIGdzdC9kZWJ1Zy9nc3RuYXZzZWVrLmM6CgkgICogZ3N0L2RlYnVnL2dzdHB1c2hmaWxlc3JjLmM6CgkgICogZ3N0L2RlYnVnL2dzdHB1c2hmaWxlc3JjLmg6CgkgICogZ3N0L2RlYnVnL25lZ290aWF0aW9uLmM6CgkgICogZ3N0L2RlYnVnL3Byb2dyZXNzcmVwb3J0LmM6CgkgICogZ3N0L2RlYnVnL3Byb2dyZXNzcmVwb3J0Lmg6CgkgICogZ3N0L2RlYnVnL3JuZGJ1ZmZlcnNpemUuYzoKCSAgKiBnc3QvZGVidWcvdGVzdHBsdWdpbi5jOgoJICBSZW1vdmUgZHVtbXkgcGx1Z2luX2luaXQuIFJlbW92ZSBzb21lIHVuZGVmaW5lZCBlbnRyaWVzIGZyb20gZG9jLQoJICBzZWN0aW9uIGZpbGUuIEFkZCB0YWdpbmplY3QgZWxlbWVudCBhbmQgcmVidWlsZCBkb2NzIGZvciBpdC4KCjIwMDgtMDYtMTEgMTE6Mjc6NDYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzogVXBkYXRlIHRoZSBjb3VudGVyIGZvciB0aGUgbnVtYmVyIG9mIHN0cmVhbXMgd2hlbiBwYWRzIGFyZSBhZGRlZCBvciByZW1vdmVkLiBUaGlzIHdpbGwgbS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6IChnc3RfbWF0cm9za2FfbXV4X3JlcXVlc3RfbmV3X3BhZCksCgkgIChnc3RfbWF0cm9za2FfbXV4X3JlbGVhc2VfcGFkKSwgKGdzdF9tYXRyb3NrYV9tdXhfd3JpdGVfZGF0YSk6CgkgIFVwZGF0ZSB0aGUgY291bnRlciBmb3IgdGhlIG51bWJlciBvZiBzdHJlYW1zIHdoZW4gcGFkcyBhcmUgYWRkZWQgb3IKCSAgcmVtb3ZlZC4gVGhpcyB3aWxsIG1ha2Ugc3VyZSB0aGF0IGEgc2VlayB0YWJsZSBpcyBnZW5lcmF0ZWQgZm9yCgkgIGZpbGVzIHdpdGgganVzdCBvbmUgYXVkaW8gc3RyZWFtLgoKMjAwOC0wNi0xMSAxMToxODoyMyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L21hdHJvc2thLzogQWRkIHNvbWUgbW9yZSB0YWdzLCBpbXByb3ZlIGRlYnVnZ2luZyBhIGJpdCBhbmQgbWFrZSBzdXJlIHRoYXQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfbWV0YWRhdGFfaWRfc2ltcGxlX3RhZyk6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5oOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzogKGdzdF9tYXRyb3NrYV9tdXhfd3JpdGVfc2ltcGxlX3RhZyk6CgkgIEFkZCBzb21lIG1vcmUgdGFncywgaW1wcm92ZSBkZWJ1Z2dpbmcgYSBiaXQgYW5kIG1ha2Ugc3VyZSB0aGF0CgkgIEdWYWx1ZSB0cmFuc2Zvcm1hdGlvbiBoYXMgc3VjY2VlZGVkIGJlZm9yZSB1c2luZyB0aGUgcmVzdWx0CgkgIGFzIGEgdGFnLgoKMjAwOC0wNi0xMSAwODo1NjoxNiArMDAwMCAgT2xpdmllciBDcmV0ZSA8dGVzdGVyQHRlc3Rlci5jYT4KCgkgIGdzdC9ydHAvZ3N0cnRwdGhlb3JhcGF5LmM6IFRoZSBUaGVvcmEgUlRQIHBheWxvYWRlciBvbmx5IHN1cHBvcnRzIHRoZSAiaW5saW5lIiBkZWxpZXZlcnkgbWV0aG9kIHNvIGxldCdzIGRlY2xhcmUgdGhpcy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE9saXZpZXIgQ3JldGUgPHRlc3RlciBhdCB0ZXN0ZXIgZG90IGNhPgoJICAqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhcGF5LmM6CgkgIFRoZSBUaGVvcmEgUlRQIHBheWxvYWRlciBvbmx5IHN1cHBvcnRzIHRoZSAiaW5saW5lIiBkZWxpZXZlcnkgbWV0aG9kCgkgIHNvIGxldCdzIGRlY2xhcmUgdGhpcyBvbiB0aGUgY2FwcyBvZiB0aGUgc3RhdGljIHBhZCB0ZW1wbGF0ZS4KCSAgRml4ZXMgYnVnICM1Mzc2NzUuCgoyMDA4LTA2LTEwIDE3OjIwOjQ1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOiBSZW1vdmUgYm9ndXMgY2hlY2suCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzogKGdzdF92aWRlb21peGVyX2ZpbGxfcXVldWVzKSwKCSAgKGdzdF92aWRlb21peGVyX2JsZW5kX2J1ZmZlcnMpLCAoZ3N0X3ZpZGVvbWl4ZXJfdXBkYXRlX3F1ZXVlcyk6CgkgIFJlbW92ZSBib2d1cyBjaGVjay4KCjIwMDgtMDYtMTAgMTY6MjU6MjQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6IFVzZSBzdHJlYW1fdGltZSB0byBzeW5jaHJvbml6ZSB0aGUgb2JqZWN0IHByb3BlcnRpZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzogKGdzdF92aWRlb21peGVyX2ZpbGxfcXVldWVzKSwKCSAgKGdzdF92aWRlb21peGVyX2JsZW5kX2J1ZmZlcnMpOgoJICBVc2Ugc3RyZWFtX3RpbWUgdG8gc3luY2hyb25pemUgdGhlIG9iamVjdCBwcm9wZXJ0aWVzLgoJICBVc2UgcnVubmluZ190aW1lIG9mIHRoZSBtYXN0ZXIgcGFkIHRvIHRpbWVzdGFtcCBvdXRnb2luZyBidWZmZXJzLgoJICBGaXggdGhlIGluaXRpYWwgc2VnbWVudCBldmVudCB0byBleHRlbmQgYW4gdW5rbm93biBhbW91bnQgb2YgdGltZS4KCSAgRml4ZXMgIzUzNzM2MS4KCjIwMDgtMDYtMTAgMTE6MDU6MzAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IFRyeSB0byBpZ25vcmUgdW5wYXJzYWJsZS91bmtub3duIHN0cmVhbXMgYW5kIGdpdmUgYSB3YXJuaW5nIGluc3RlYWQgb2YgZXJyb3Jpbmcgb3V0LiBGaXhlcyAjNTMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9wYXJzZV9zdHJlYW0pLAoJICAoZ3N0X2F2aV9kZW11eF9wYXJzZV9pbmRleCksIChnc3RfYXZpX2RlbXV4X21hc3NhZ2VfaW5kZXgpLAoJICAoZ3N0X2F2aV9kZW11eF9jYWxjdWxhdGVfZHVyYXRpb25zX2Zyb21faW5kZXgpLAoJICAoZ3N0X2F2aV9kZW11eF9zdHJlYW1faGVhZGVyX3B1c2gpLAoJICAoZ3N0X2F2aV9kZW11eF9zdHJlYW1faGVhZGVyX3B1bGwpOgoJICBUcnkgdG8gaWdub3JlIHVucGFyc2FibGUvdW5rbm93biBzdHJlYW1zIGFuZCBnaXZlIGEgd2FybmluZyBpbnN0ZWFkIG9mCgkgIGVycm9yaW5nIG91dC4gRml4ZXMgIzUzNzM3Ny4KCjIwMDgtMDYtMTAgMTA6NDQ6NTMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9tYXRyb3NrYS9lYm1sLXdyaXRlLmM6IFVzZSBHRE9VQkxFX1RPX0JFKCkgaW5zdGVhZCBvZiAocHJvYmFibHkgc2xvd2VyKSBjdXN0b20gY29kZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuYzogKGdzdF9lYm1sX3dyaXRlX2Zsb2F0KToKCSAgVXNlIEdET1VCTEVfVE9fQkUoKSBpbnN0ZWFkIG9mIChwcm9iYWJseSBzbG93ZXIpIGN1c3RvbSBjb2RlLgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiAoZ3N0X21hdHJvc2thX2RlbXV4X2Jhc2VfaW5pdCksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfY2xhc3NfaW5pdCksIChnc3RfbWF0cm9za2FfZGVtdXhfaW5pdCksCgkgIChnc3RfbWF0cm9za2FfdHJhY2tfZnJlZSksIChnc3RfbWF0cm9za2FfZGVtdXhfZW5jb2RpbmdfY21wKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9yZWFkX3RyYWNrX2VuY29kaW5ncyksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfYWRkX3N0cmVhbSksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfaGFuZGxlX3NyY19xdWVyeSksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfaW5pdF9zdHJlYW0pLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2luZGV4X2N1ZXRyYWNrKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9pbmRleF9wb2ludGVudHJ5KSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9pbmZvKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9tZXRhZGF0YV9pZF9zaW1wbGVfdGFnKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9tZXRhZGF0YSksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfYWRkX3d2cGtfaGVhZGVyKSwgKGdzdF9tYXRyb3NrYV9kZWNvZGVfYnVmZmVyKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9ibG9ja2dyb3VwX29yX3NpbXBsZWJsb2NrKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9jbHVzdGVyKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9jb250ZW50c19zZWVrZW50cnkpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2xvb3Bfc3RyZWFtX3BhcnNlX2lkKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9sb29wKSwgKGdzdF9tYXRyb3NrYV9kZW11eF92aWRlb19jYXBzKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9hdWRpb19jYXBzKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9zdWJ0aXRsZV9jYXBzKToKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguaDoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmM6CgkgIChnc3RfbWF0cm9za2FfdHJhY2tfaW5pdF9zdWJ0aXRsZV9jb250ZXh0KToKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmg6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOiAoZ3N0X21hdHJvc2thX211eF9iYXNlX2luaXQpLAoJICAoZ3N0X21hdHJvc2thX211eF9jbGFzc19pbml0KSwgKGdzdF9tYXRyb3NrYV9tdXhfaW5pdCksCgkgIChnc3RfbWF0cm9za2FfbXV4X2NyZWF0ZV91aWQpLCAoZ3N0X21hdHJvc2thX211eF9yZXNldCksCgkgIChnc3RfbWF0cm9za2FfbXV4X3ZpZGVvX3BhZF9zZXRjYXBzKSwKCSAgKGdzdF9tYXRyb3NrYV9tdXhfYXVkaW9fcGFkX3NldGNhcHMpLAoJICAoZ3N0X21hdHJvc2thX211eF9zdWJ0aXRsZV9wYWRfc2V0Y2FwcyksCgkgIChnc3RfbWF0cm9za2FfbXV4X3JlcXVlc3RfbmV3X3BhZCksCgkgIChnc3RfbWF0cm9za2FfbXV4X3RyYWNrX2hlYWRlciksIChnc3RfbWF0cm9za2FfbXV4X3N0YXJ0KSwKCSAgKGdzdF9tYXRyb3NrYV9tdXhfd3JpdGVfc2ltcGxlX3RhZyksIChnc3RfbWF0cm9za2FfbXV4X2ZpbmlzaCksCgkgIChnc3RfbWF0cm9za2FfbXV4X3dyaXRlX2RhdGEpLCAoZ3N0X21hdHJvc2thX211eF9jb2xsZWN0ZWQpLAoJICAoZ3N0X21hdHJvc2thX211eF9zZXRfcHJvcGVydHkpOgoJICBBZGQgbWFueSBGSVhNRXMvVE9ET3MgYWxsIG92ZXIgdGhlIG1hdHJvc2thIG11eGVyIGFuZCBkZW11eGVyCgkgIGVsZW1lbnRzLCBkbyBzb21lIGNoZWNrcyBmb3IgdmFsaWQgdmFsdWVzIGluIHRoZSBkZW11eGVyLCBoYW5kbGUKCSAgdHJhY2t0aW1lY29kZXNjYWxlIGluIHRoZSBkZW11eGVyLCBzZXQgY29ycmVjdCBkZWZhdWx0IHZhbHVlcyBmb3IgYWxsCgkgIHNldHRpbmdzIGluIHRoZSBkZW11eGVyLCByZXZpZXcgYW5kIGFkZCBhbGwgbWlzc2luZyBtYXRyb3NrYQoJICBJRHMgYW5kIHNvbWUgbW9yZSByYXcgWVVWIGZvcm1hdHMsIGFuZCBzb21lIHRyaXZpYWwgY2xlYW51cC4KCjIwMDgtMDYtMTAgMDg6NTk6MTcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9wdWxzZS86IFNvbWUgc21hbGxlciBjbGVhbnVwLiBVc2UgR19QQVJBTV9TVEFUSUNfU1RSSU5HUywgZ3N0X2VsZW1lbnRfY2xhc3Nfc2V0X2RldGFpbHNfc2ltcGxlKCkgYW5kIGZpeCBjb2Rpbmcgcy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvcHVsc2UvcHVsc2VtaXhlci5jOiAoZ3N0X3B1bHNlbWl4ZXJfYmFzZV9pbml0KSwKCSAgKGdzdF9wdWxzZW1peGVyX2NsYXNzX2luaXQpOgoJICAqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzogKGdzdF9wdWxzZXNpbmtfYmFzZV9pbml0KSwKCSAgKGdzdF9wdWxzZXNpbmtfY2xhc3NfaW5pdCksIChnc3RfcHVsc2VzaW5rX3ByZXBhcmUpOgoJICAqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOiAoZ3N0X3B1bHNlc3JjX2ludGVyZmFjZV9zdXBwb3J0ZWQpLAoJICAoZ3N0X3B1bHNlc3JjX2Jhc2VfaW5pdCksIChnc3RfcHVsc2VzcmNfY2xhc3NfaW5pdCksCgkgIChnc3RfcHVsc2VzcmNfcHJlcGFyZSk6CgkgIFNvbWUgc21hbGxlciBjbGVhbnVwLiBVc2UgR19QQVJBTV9TVEFUSUNfU1RSSU5HUywKCSAgZ3N0X2VsZW1lbnRfY2xhc3Nfc2V0X2RldGFpbHNfc2ltcGxlKCkgYW5kIGZpeCBjb2Rpbmcgc3R5bGUgYSBiaXQKCSAgbW9yZS4KCjIwMDgtMDYtMTAgMDg6MjI6MTcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIEFkZCBkb2N1bWVudGF0aW9uIHRvIHRoZSBwdWxzZWF1ZGlvIHBsdWdpbiBhbmQgcnVuIG1ha2UgdXBkYXRlIGluIGRvY3MvcGx1Z2lucy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmludGVyZmFjZXM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGlvLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhbW1hLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGFsZWxlbWVudHMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb25vc2NvcGUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXVpY2t0aW1lLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JhbGFuY2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmxpcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJICAqIGV4dC9wdWxzZS9wbHVnaW4uYzoKCSAgKiBleHQvcHVsc2UvcHVsc2VtaXhlci5jOgoJICAqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSAgQWRkIGRvY3VtZW50YXRpb24gdG8gdGhlIHB1bHNlYXVkaW8gcGx1Z2luIGFuZCBydW4gbWFrZSB1cGRhdGUKCSAgaW4gZG9jcy9wbHVnaW5zLgoKMjAwOC0wNi0xMCAwNjo1Mjo0NCArMDAwMCAgQnJpYW4gQ2FtZXJvbiA8YnJpYW4uY2FtZXJvbkBzdW4uY29tPgoKCSAgc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXJjdHJsLmM6IEltcHJvdmVtZW50cyBmb3IgdGhlIFN1bkF1ZGlvIG1peGVyIGJ5IGhhbmRsaW5nIG11dGUgYXMgbm8gZ2FpbiBmb3IgdHJhY2tzIHRoYXQgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogQnJpYW4gQ2FtZXJvbiA8YnJpYW4uY2FtZXJvbiBhdCBzdW4gZG90IGNvbT4KCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlcmN0cmwuYzoKCSAgKGdzdF9zdW5hdWRpb21peGVyX2N0cmxfZ2V0X3ZvbHVtZSksCgkgIChnc3Rfc3VuYXVkaW9taXhlcl9jdHJsX3NldF92b2x1bWUpOgoJICBJbXByb3ZlbWVudHMgZm9yIHRoZSBTdW5BdWRpbyBtaXhlciBieSBoYW5kbGluZyBtdXRlIGFzIG5vIGdhaW4KCSAgZm9yIHRyYWNrcyB0aGF0IGhhdmUgYSBnYWluIHByb3BlcnR5IGJ1dCBubyBtdXRlIHByb3BlcnR5LgoJICBGaXhlcyBidWcgIzUzNjA2Ny4KCjIwMDgtMDYtMTAgMDY6NDU6MzMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIEFkZCBwdWxzZWF1ZGlvIEdTdHJlYW1lciBlbGVtZW50IGZyb20gZ3N0LXB1bHNlLiBEZXZlbG9wbWVudCB3aWxsIGNvbnRpbnVlIGhlcmUgaW5zdGVhZCBvZiBwdWxzZWF1ZGlvIFNWTi4gRml4ZXMgYnVnIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L3B1bHNlL01ha2VmaWxlLmFtOgoJICAqIGV4dC9wdWxzZS9wbHVnaW4uYzogKHBsdWdpbl9pbml0KToKCSAgKiBleHQvcHVsc2UvcHVsc2VtaXhlci5jOiAoZ3N0X3B1bHNlbWl4ZXJfaW50ZXJmYWNlX3N1cHBvcnRlZCksCgkgIChnc3RfcHVsc2VtaXhlcl9pbXBsZW1lbnRzX2ludGVyZmFjZV9pbml0KSwKCSAgKGdzdF9wdWxzZW1peGVyX2luaXRfaW50ZXJmYWNlcyksIChnc3RfcHVsc2VtaXhlcl9iYXNlX2luaXQpLAoJICAoZ3N0X3B1bHNlbWl4ZXJfY2xhc3NfaW5pdCksIChnc3RfcHVsc2VtaXhlcl9pbml0KSwKCSAgKGdzdF9wdWxzZW1peGVyX2ZpbmFsaXplKSwgKGdzdF9wdWxzZW1peGVyX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfcHVsc2VtaXhlcl9nZXRfcHJvcGVydHkpLCAoZ3N0X3B1bHNlbWl4ZXJfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvcHVsc2UvcHVsc2VtaXhlci5oOgoJICAqIGV4dC9wdWxzZS9wdWxzZW1peGVyY3RybC5jOgoJICAoZ3N0X3B1bHNlbWl4ZXJfY3RybF9jb250ZXh0X3N0YXRlX2NiKSwKCSAgKGdzdF9wdWxzZW1peGVyX2N0cmxfc2lua19pbmZvX2NiKSwKCSAgKGdzdF9wdWxzZW1peGVyX2N0cmxfc291cmNlX2luZm9fY2IpLAoJICAoZ3N0X3B1bHNlbWl4ZXJfY3RybF9zdWJzY3JpYmVfY2IpLAoJICAoZ3N0X3B1bHNlbWl4ZXJfY3RybF9zdWNjZXNzX2NiKSwgKGdzdF9wdWxzZW1peGVyX2N0cmxfb3BlbiksCgkgIChnc3RfcHVsc2VtaXhlcl9jdHJsX2Nsb3NlKSwgKGdzdF9wdWxzZW1peGVyX2N0cmxfbmV3KSwKCSAgKGdzdF9wdWxzZW1peGVyX2N0cmxfZnJlZSksIChnc3RfcHVsc2VtaXhlcl9jdHJsX2xpc3RfdHJhY2tzKSwKCSAgKGdzdF9wdWxzZW1peGVyX2N0cmxfdGltZW91dF9ldmVudCksIChyZXN0YXJ0X3RpbWVfZXZlbnQpLAoJICAoZ3N0X3B1bHNlbWl4ZXJfY3RybF9zZXRfdm9sdW1lKSwgKGdzdF9wdWxzZW1peGVyX2N0cmxfZ2V0X3ZvbHVtZSksCgkgIChnc3RfcHVsc2VtaXhlcl9jdHJsX3NldF9yZWNvcmQpLCAoZ3N0X3B1bHNlbWl4ZXJfY3RybF9zZXRfbXV0ZSk6CgkgICogZXh0L3B1bHNlL3B1bHNlbWl4ZXJjdHJsLmg6CgkgICogZXh0L3B1bHNlL3B1bHNlbWl4ZXJ0cmFjay5jOiAoZ3N0X3B1bHNlbWl4ZXJfdHJhY2tfY2xhc3NfaW5pdCksCgkgIChnc3RfcHVsc2VtaXhlcl90cmFja19pbml0KSwgKGdzdF9wdWxzZW1peGVyX3RyYWNrX25ldyk6CgkgICogZXh0L3B1bHNlL3B1bHNlbWl4ZXJ0cmFjay5oOgoJICAqIGV4dC9wdWxzZS9wdWxzZXByb2JlLmM6IChnc3RfcHVsc2Vwcm9iZV9jb250ZXh0X3N0YXRlX2NiKSwKCSAgKGdzdF9wdWxzZXByb2JlX3NpbmtfaW5mb19jYiksIChnc3RfcHVsc2Vwcm9iZV9zb3VyY2VfaW5mb19jYiksCgkgIChnc3RfcHVsc2Vwcm9iZV9pbnZhbGlkYXRlKSwgKGdzdF9wdWxzZXByb2JlX29wZW4pLAoJICAoZ3N0X3B1bHNlcHJvYmVfZW51bWVyYXRlKSwgKGdzdF9wdWxzZXByb2JlX2Nsb3NlKSwKCSAgKGdzdF9wdWxzZXByb2JlX25ldyksIChnc3RfcHVsc2Vwcm9iZV9mcmVlKSwKCSAgKGdzdF9wdWxzZXByb2JlX2dldF9wcm9wZXJ0aWVzKSwgKGdzdF9wdWxzZXByb2JlX25lZWRzX3Byb2JlKSwKCSAgKGdzdF9wdWxzZXByb2JlX3Byb2JlX3Byb3BlcnR5KSwgKGdzdF9wdWxzZXByb2JlX2dldF92YWx1ZXMpLAoJICAoZ3N0X3B1bHNlcHJvYmVfc2V0X3NlcnZlcik6CgkgICogZXh0L3B1bHNlL3B1bHNlcHJvYmUuaDoKCSAgKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6IChnc3RfcHVsc2VzaW5rX2Jhc2VfaW5pdCksCgkgIChnc3RfcHVsc2VzaW5rX2NsYXNzX2luaXQpLCAoZ3N0X3B1bHNlc2lua19pbml0KSwKCSAgKGdzdF9wdWxzZXNpbmtfZGVzdHJveV9zdHJlYW0pLCAoZ3N0X3B1bHNlc2lua19kZXN0cm95X2NvbnRleHQpLAoJICAoZ3N0X3B1bHNlc2lua19maW5hbGl6ZSksIChnc3RfcHVsc2VzaW5rX2Rpc3Bvc2UpLAoJICAoZ3N0X3B1bHNlc2lua19zZXRfcHJvcGVydHkpLCAoZ3N0X3B1bHNlc2lua19nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3B1bHNlc2lua19jb250ZXh0X3N0YXRlX2NiKSwgKGdzdF9wdWxzZXNpbmtfc3RyZWFtX3N0YXRlX2NiKSwKCSAgKGdzdF9wdWxzZXNpbmtfc3RyZWFtX3JlcXVlc3RfY2IpLAoJICAoZ3N0X3B1bHNlc2lua19zdHJlYW1fbGF0ZW5jeV91cGRhdGVfY2IpLCAoZ3N0X3B1bHNlc2lua19vcGVuKSwKCSAgKGdzdF9wdWxzZXNpbmtfY2xvc2UpLCAoZ3N0X3B1bHNlc2lua19wcmVwYXJlKSwKCSAgKGdzdF9wdWxzZXNpbmtfdW5wcmVwYXJlKSwgKGdzdF9wdWxzZXNpbmtfd3JpdGUpLAoJICAoZ3N0X3B1bHNlc2lua19kZWxheSksIChnc3RfcHVsc2VzaW5rX3N1Y2Nlc3NfY2IpLAoJICAoZ3N0X3B1bHNlc2lua19yZXNldCksIChnc3RfcHVsc2VzaW5rX2NoYW5nZV90aXRsZSksCgkgIChnc3RfcHVsc2VzaW5rX2V2ZW50KSwgKGdzdF9wdWxzZXNpbmtfZ2V0X3R5cGUpOgoJICAqIGV4dC9wdWxzZS9wdWxzZXNpbmsuaDoKCSAgKiBleHQvcHVsc2UvcHVsc2VzcmMuYzogKGdzdF9wdWxzZXNyY19pbnRlcmZhY2Vfc3VwcG9ydGVkKSwKCSAgKGdzdF9wdWxzZXNyY19pbXBsZW1lbnRzX2ludGVyZmFjZV9pbml0KSwKCSAgKGdzdF9wdWxzZXNyY19pbml0X2ludGVyZmFjZXMpLCAoZ3N0X3B1bHNlc3JjX2Jhc2VfaW5pdCksCgkgIChnc3RfcHVsc2VzcmNfY2xhc3NfaW5pdCksIChnc3RfcHVsc2VzcmNfaW5pdCksCgkgIChnc3RfcHVsc2VzcmNfZGVzdHJveV9zdHJlYW0pLCAoZ3N0X3B1bHNlc3JjX2Rlc3Ryb3lfY29udGV4dCksCgkgIChnc3RfcHVsc2VzcmNfZmluYWxpemUpLCAoZ3N0X3B1bHNlc3JjX2Rpc3Bvc2UpLAoJICAoZ3N0X3B1bHNlc3JjX3NldF9wcm9wZXJ0eSksIChnc3RfcHVsc2VzcmNfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9wdWxzZXNyY19jb250ZXh0X3N0YXRlX2NiKSwgKGdzdF9wdWxzZXNyY19zdHJlYW1fc3RhdGVfY2IpLAoJICAoZ3N0X3B1bHNlc3JjX3N0cmVhbV9yZXF1ZXN0X2NiKSwgKGdzdF9wdWxzZXNyY19vcGVuKSwKCSAgKGdzdF9wdWxzZXNyY19jbG9zZSksIChnc3RfcHVsc2VzcmNfcHJlcGFyZSksCgkgIChnc3RfcHVsc2VzcmNfdW5wcmVwYXJlKSwgKGdzdF9wdWxzZXNyY19yZWFkKSwKCSAgKGdzdF9wdWxzZXNyY19kZWxheSksIChnc3RfcHVsc2VzcmNfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9wdWxzZXNyY19nZXRfdHlwZSk6CgkgICogZXh0L3B1bHNlL3B1bHNlc3JjLmg6CgkgICogZXh0L3B1bHNlL3B1bHNldXRpbC5jOiAoZ3N0X3B1bHNlX2ZpbGxfc2FtcGxlX3NwZWMpLAoJICAoZ3N0X3B1bHNlX2NsaWVudF9uYW1lKSwgKGdzdF9wdWxzZV9nc3RfdG9fY2hhbm5lbF9tYXApOgoJICAqIGV4dC9wdWxzZS9wdWxzZXV0aWwuaDoKCSAgQWRkIHB1bHNlYXVkaW8gR1N0cmVhbWVyIGVsZW1lbnQgZnJvbSBnc3QtcHVsc2UuIERldmVsb3BtZW50IHdpbGwKCSAgY29udGludWUgaGVyZSBpbnN0ZWFkIG9mIHB1bHNlYXVkaW8gU1ZOLiBGaXhlcyBidWcgIzQwMDY3OS4KCSAgT25seSBjaGFuZ2VzIG92ZXIgZ3N0LXB1bHNlIFNWTiBhcmUgYWRkZWQgY29weXJpZ2h0IHRvIHRoZSB0b3Agb2YKCSAgZmlsZXMgYW5kIGNvZGluZyBzdHlsZSBjaGFuZ2VzLgoKMjAwOC0wNi0wOSAyMDowMjowNSArMDAwMCAgQmVuamFtaW4gS2FtcG1hbm4gPGJlbmphbWluQGZsdWVuZG8uY29tPgoKCSAgZXh0L2NkaW8vOiBBbHNvIGV4dHJhY3QgYWxidW0gdGl0bGUgYW5kIGFsYnVtIGdlbnJlIGZyb20gQ0QtVEVYVCBpZiBhdmFpbGFibGUgKCM1MzcwMjEpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEJlbmphbWluIEthbXBtYW5uICA8YmVuamFtaW4gYXQgZmx1ZW5kbyBkb3QgY29tPgoJICAqIGV4dC9jZGlvL2dzdGNkaW8uYzogKGdzdF9jZGlvX2dldF9jZHRleHQpLAoJICAoZ3N0X2NkaW9fYWRkX2NkdGV4dF9hbGJ1bV90YWdzKToKCSAgKiBleHQvY2Rpby9nc3RjZGlvLmg6CgkgICogZXh0L2NkaW8vZ3N0Y2Rpb2NkZGFzcmMuYzogKGdzdF9jZGlvX2NkZGFfc3JjX29wZW4pOgoJICBBbHNvIGV4dHJhY3QgYWxidW0gdGl0bGUgYW5kIGFsYnVtIGdlbnJlIGZyb20gQ0QtVEVYVCBpZgoJICBhdmFpbGFibGUgKCM1MzcwMjEpLgoKMjAwOC0wNi0wOSAwODo1MjowNCArMDAwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkQGx1b24ubmV0PgoKCSAgc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOiBJbXByb3ZlIG5lZ290aWF0aW9uIGEgYml0IG1vcmUgYnkgcGlja2luZyB0aGUgc21hbGxlc3QgcG9zc2libGUgcmVzb2x1dGlvbiB0aGF0IGlzIGxhcmdlciB0aGFuLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU2pvZXJkIFNpbW9ucyA8c2pvZXJkIGF0IGx1b24gZG90IG5ldD4KCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6IChnc3RfdjRsMnNyY19uZWdvdGlhdGUpOgoJICBJbXByb3ZlIG5lZ290aWF0aW9uIGEgYml0IG1vcmUgYnkgcGlja2luZyB0aGUgc21hbGxlc3QgcG9zc2libGUKCSAgcmVzb2x1dGlvbiB0aGF0IGlzIGxhcmdlciB0aGFuIHRoZSByZXNvbHV0aW9uIHNwZWNpZmllZCBpbiB0aGUKCSAgZmlyc3QgY2FwcyBlbnRyeSBvZiB0aGUgcGVlciBjYXBzLiBGaXhlcyBidWcgIzUzNjk5NC4KCjIwMDgtMDYtMDkgMDg6NDI6NDkgKzAwMDAgIEJhc3RpZW4gTm9jZXJhIDxoYWRlc3NAaGFkZXNzLm5ldD4KCgkgIHN5cy92NGwyLzogRml4IGNvbXBpbGF0aW9uIHdpdGggbmV3ZXIgR0lUIGtlcm5lbHMgdGhhdCBkZXByZWNhdGVkCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogQmFzdGllbiBOb2NlcmEgPGhhZGVzcyBhdCBoYWRlc3MgZG90IG5ldD4KCSAgKiBzeXMvdjRsMi9nc3R2NGwydmlkb3JpZW50LmM6CgkgICogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOiAoZ3N0X3Y0bDJfZmlsbF9saXN0cyk6CgkgIEZpeCBjb21waWxhdGlvbiB3aXRoIG5ld2VyIEdJVCBrZXJuZWxzIHRoYXQgZGVwcmVjYXRlZAoJICBWNEwyX0NJRF9IQ0VOVEVSIGFuZCBWNEwyX0NJRF9WQ0VOVEVSLiBGaXhlcyBidWcgIzUzNjMxNy4KCjIwMDgtMDYtMDcgMTg6NDg6NTQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBSZXF1aXJlIGxpYmNkaW8gPj0gMC43Ni4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9jZGlvL2dzdGNkaW8uYzoKCSAgKiBleHQvY2Rpby9nc3RjZGlvLmg6CgkgICogZXh0L2NkaW8vZ3N0Y2Rpb2NkZGFzcmMuYzogKGdzdF9jZGlvX2NkZGFfc3JjX29wZW4pOgoJICBSZXF1aXJlIGxpYmNkaW8gPj0gMC43Ni4KCjIwMDgtMDYtMDUgMTE6MDc6MTcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9pbnRlcmxlYXZlLzogUHJvcGVybHkgaW1wbGVtZW50IGR1cmF0aW9uIGFuZCBwb3NpdGlvbiBxdWVyaWVzIGluIGJ5dGVzIGZvcm1hdC4gV2UgaGF2ZSB0byB0YWtlIHRoZSB1cHN0cmVhbSByZXBseS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYzogKGdzdF9kZWludGVybGVhdmVfYWRkX25ld19wYWRzKSwKCSAgKGdzdF9kZWludGVybGVhdmVfc3JjX3F1ZXJ5KToKCSAgKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6IChnc3RfaW50ZXJsZWF2ZV9zcmNfcXVlcnlfZHVyYXRpb24pLAoJICAoZ3N0X2ludGVybGVhdmVfc3JjX3F1ZXJ5KToKCSAgUHJvcGVybHkgaW1wbGVtZW50IGR1cmF0aW9uIGFuZCBwb3NpdGlvbiBxdWVyaWVzIGluIGJ5dGVzIGZvcm1hdC4gV2UKCSAgaGF2ZSB0byB0YWtlIHRoZSB1cHN0cmVhbSByZXBseSBhbmQgZGl2aWRlL211bHRpcGx5IGl0IGJ5IHRoZSBudW1iZXIKCSAgb2YgY2hhbm5lbHMgdG8gZ2V0IHRoZSBjb3JyZWN0IHJlc3VsdC4KCjIwMDgtMDYtMDUgMDk6NDU6MDAgKzAwMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IENhdGNoIFVORVhQRUNURUQgd2hlbiBkb3duc3RyZWFtIGhhcyByZWFjaGVkIGVuZCBvZiBzZWdtZW50IGluIHJldmVyc2UgbW9kZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBDYXRjaCBVTkVYUEVDVEVEIHdoZW4gZG93bnN0cmVhbSBoYXMgcmVhY2hlZCBlbmQgb2YKCSAgc2VnbWVudCBpbiByZXZlcnNlIG1vZGUuCgoyMDA4LTA2LTA0IDE4OjA4OjM1ICswMDAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiBGaXggdHlwbyBpbiBjb21tZW50CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgRml4IHR5cG8gaW4gY29tbWVudAoKMjAwOC0wNi0wNCAxODowMzoyNCArMDAwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogQmVjYXVzZSB3ZSBkb24ndCBrbm93IHRoZSBmcmFtZSBvcmRlciB3ZSBuZWVkIHRvIHB1c2ggdGlsbCB0aGUgbmV4dCBrZXlmcmFtZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIEJlY2F1c2Ugd2UgZG9uJ3Qga25vdyB0aGUgZnJhbWUgb3JkZXIgd2UgbmVlZCB0byBwdXNoIHRpbGwKCSAgdGhlIG5leHQga2V5ZnJhbWUKCjIwMDgtMDYtMDQgMTc6Mzk6MzEgKzAwMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZEBsdW9uLm5ldD4KCgkgIHN5cy92NGwyL2dzdHY0bDJzcmMuYzogUHJvdmlkZSBhIGN1c3RvbSBuZWdvdGlhdGlvbiBmdW5jdGlvbiB0byBtYWtlIHN1cmUgdG8gcGljayB0aGUgaGlnaGVzdCBwb3NzaWJsZSBmcmFtZXJhdGUgYW5kIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFNqb2VyZCBTaW1vbnMgPHNqb2VyZCBhdCBsdW9uIGRvdCBuZXQ+CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOiAoZ3N0X3Y0bDJzcmNfY2xhc3NfaW5pdCksCgkgIChnc3RfdjRsMnNyY19maXhhdGUpLCAoZ3N0X3Y0bDJzcmNfbmVnb3RpYXRlKToKCSAgUHJvdmlkZSBhIGN1c3RvbSBuZWdvdGlhdGlvbiBmdW5jdGlvbiB0byBtYWtlIHN1cmUgdG8gcGljayB0aGUgaGlnaGVzdAoJICBwb3NzaWJsZSBmcmFtZXJhdGUgYW5kIHJlc29sdXRpb24uIEZpeGVzIGJ1ZyAjNTM2NjQ2LgoKMjAwOC0wNi0wNCAxNjo0OToyNiArMDAwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogU2V0IEVPUyB3aGVuIGdvaW5nIG91dCBvZiB0aGUgc2VnbWVudCBpbiByZXZlcnNlIHBsYXliYWNrCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgU2V0IEVPUyB3aGVuIGdvaW5nIG91dCBvZiB0aGUgc2VnbWVudCBpbiByZXZlcnNlIHBsYXliYWNrCgoyMDA4LTA2LTA0IDE1OjE5OjQ2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3RhZ2xpYi9NYWtlZmlsZS5hbTogQWRkIC1Xbm8tYXR0cmlidXRlcyB0byBDWFhGTEFHUyB0byBzdXBwcmVzcyB3YXJuaW5nIGNhdXNlZCBieSB0YWdsaWIgaGVhZGVycyAod2l0aCBnY2MgNC4zLjEpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvdGFnbGliL01ha2VmaWxlLmFtOjoKCSAgQWRkIC1Xbm8tYXR0cmlidXRlcyB0byBDWFhGTEFHUyB0byBzdXBwcmVzcyB3YXJuaW5nIGNhdXNlZCBieQoJICB0YWdsaWIgaGVhZGVycyAod2l0aCBnY2MgNC4zLjEpLgoKMjAwOC0wNi0wNCAxMTo1OToxOCArMDAwMCAgUGV0ZXIgS2plbGxlcnN0ZWR0IDxwa2pAYXhpcy5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IFVzZSB0aGUgbmV3IGdzdF9ydHNwX2Nvbm5lY3Rpb25fZ2V0X2lwKCkgdG8gYWNjZXNzIHRoZSBJUCBhZGRyZXNzIG9mIGEgR3N0UlRTUENvbm5lY3Rpb24gc2luY2UuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfc3RyZWFtX2NvbmZpZ3VyZV91ZHBfc2luayk6CgkgIFVzZSB0aGUgbmV3IGdzdF9ydHNwX2Nvbm5lY3Rpb25fZ2V0X2lwKCkgdG8gYWNjZXNzIHRoZSBJUCBhZGRyZXNzCgkgIG9mIGEgR3N0UlRTUENvbm5lY3Rpb24gc2luY2UgaXQgaXMgYSBwcml2YXRlIG1lbWJlci4KCjIwMDgtMDYtMDQgMTA6NDI6NDYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBVc2UgbmV3IHV0aWxpdHkgZnVuY3Rpb25zIGluIGxpYmdzdHRhZyB0byBwcm9jZXNzIGNvdmVyYXJ0ICgjNTEyMzMzKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOiAoZ3N0X2ZsYWNfZXh0cmFjdF9waWN0dXJlX2J1ZmZlcik6CgkgICogZ3N0L2lkM2RlbXV4L2lkM3YyZnJhbWVzLmM6IChwYXJzZV9waWN0dXJlX2ZyYW1lKToKCSAgVXNlIG5ldyB1dGlsaXR5IGZ1bmN0aW9ucyBpbiBsaWJnc3R0YWcgdG8gcHJvY2VzcyBjb3ZlcmFydCAoIzUxMjMzMykuCgoyMDA4LTA2LTA0IDA4OjU0OjA5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvZmxhYy9nc3RmbGFjZGVjLmM6IFdlIGFjdHVhbGx5IHN1cHBvcnQgbGVmdC9zaWRlLCByaWdodC9zaWRlIGFuZCBtaWQvc2lkZSBmaWxlcy4gVGhlIGNvbnZlcnNpb24gdG8gbm9ybWFsLCBpbnRlcmwuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOiAoZ3N0X2ZsYWNfZGVjX3dyaXRlKToKCSAgV2UgYWN0dWFsbHkgc3VwcG9ydCBsZWZ0L3NpZGUsIHJpZ2h0L3NpZGUgYW5kIG1pZC9zaWRlIGZpbGVzLiBUaGUKCSAgY29udmVyc2lvbiB0byBub3JtYWwsIGludGVybGVhdmVkIHN0ZXJlbyBpcyBkb25lIGJ5IGxpYmZsYWMuCgoyMDA4LTA2LTA0IDA3OjM2OjA3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS5jOiBVbnJlZiB0aGUgd3JpdGUgY2FjaGUgaW4gZmluYWxpemUgaWYgaXQgd2FzIHNldCBhbmQgYWRkIGFkZCAiRklYTUUiIHRvIGEgY29tbWVudCB0aGF0IG5lZWQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuYzogKGdzdF9lYm1sX3dyaXRlX2ZpbmFsaXplKSwKCSAgKGdzdF9lYm1sX3dyaXRlX3NldF9jYWNoZSk6CgkgIFVucmVmIHRoZSB3cml0ZSBjYWNoZSBpbiBmaW5hbGl6ZSBpZiBpdCB3YXMgc2V0IGFuZCBhZGQgYWRkICJGSVhNRSIKCSAgdG8gYSBjb21tZW50IHRoYXQgbmVlZHMgaXQuCgoyMDA4LTA2LTA0IDA2OjQ4OjQ2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLio6IFVzZSBhbiBhbHdheXMgaW5jcmVhc2luZyBpbnRlZ2VyIGZvciB0aGUgbnVtYmVyIGluIHRoZSBuYW1lIG9mIHRoZSByZXF1ZXN0ZWQgc2luayBwYWRzIHQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOiAoZ3N0X2ludGVybGVhdmVfcGFkX2dldF90eXBlKSwKCSAgKGdzdF9pbnRlcmxlYXZlX3BhZF9nZXRfcHJvcGVydHkpLCAoZ3N0X2ludGVybGVhdmVfcGFkX2NsYXNzX2luaXQpLAoJICAoZ3N0X2ludGVybGVhdmVfcmVxdWVzdF9uZXdfcGFkKSwgKGdzdF9pbnRlcmxlYXZlX3JlbGVhc2VfcGFkKToKCSAgKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmg6CgkgIFVzZSBhbiBhbHdheXMgaW5jcmVhc2luZyBpbnRlZ2VyIGZvciB0aGUgbnVtYmVyIGluIHRoZSBuYW1lIG9mIHRoZQoJICByZXF1ZXN0ZWQgc2luayBwYWRzIHRvIGd1YXJhbnR1ZWUgYSB1bmlxdWUgbmFtZS4gQWRkIGEgImNoYW5uZWwiCgkgIHByb3BlcnR5IHRvIEdzdEludGVybGVhdmVQYWQgdG8gbWFrZSBpdCBwb3NzaWJsZSBmb3IgYXBwbGljYXRpb25zCgkgIHRvIHJldHJpZXZlIHRoZSBjaGFubmVsIG51bWJlciBpbiB0aGUgb3V0cHV0IGZvciBldmVyeSBwYWQuCgkgIFVzZSBnX3R5cGVfcmVnaXN0ZXJfc3RhdGljX3NpbXBsZSgpIGluc3RlYWQgb2YKCSAgZ190eXBlX3JlZ2lzdGVyX3N0YXRpYygpIHRvIHNhdmUgc29tZSByZWxvY2F0aW9ucy4KCjIwMDgtMDYtMDMgMTQ6MzU6NTkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzogU3RvcCBHc3RDb2xsZWN0UGFkcyBiZWZvcmUgY2FsbGluZyB0aGUgcGFyZW50J3Mgc3RhdGUgY2hhbmdlIGZ1bmN0aW9uIHdoZW4gZ29pbmcgZnJvbSBQQS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6IChnc3RfaW50ZXJsZWF2ZV9wYWRfZ2V0X3R5cGUpLAoJICAoZ3N0X2ludGVybGVhdmVfY2hhbmdlX3N0YXRlKToKCSAgU3RvcCBHc3RDb2xsZWN0UGFkcyBiZWZvcmUgY2FsbGluZyB0aGUgcGFyZW50J3Mgc3RhdGUgY2hhbmdlIGZ1bmN0aW9uCgkgIHdoZW4gZ29pbmcgZnJvbSBQQVVTRUQgdG8gUkVBRFkgYXMgd2Ugb3RoZXJ3aXNlIGRlYWRsb2NrLgoJICBGaXhlcyBidWcgIzUzNjI1OC4KCjIwMDgtMDYtMDMgMDk6MDM6MTkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzogVXNlIG5ldyBnc3RfYXVkaW9fY2hlY2tfY2hhbm5lbF9wb3NpdGlvbnMoKSBmdW5jdGlvbiBhbmQgcmVnaXN0ZXIgdGhlIEdzdEludGVybGVhdmVQYWQgdC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6CgkgIChnc3RfaW50ZXJsZWF2ZV9jaGVja19jaGFubmVsX3Bvc2l0aW9ucyksCgkgIChnc3RfaW50ZXJsZWF2ZV9zZXRfY2hhbm5lbF9wb3NpdGlvbnMpLAoJICAoZ3N0X2ludGVybGVhdmVfY2xhc3NfaW5pdCk6CgkgIFVzZSBuZXcgZ3N0X2F1ZGlvX2NoZWNrX2NoYW5uZWxfcG9zaXRpb25zKCkgZnVuY3Rpb24gYW5kIHJlZ2lzdGVyCgkgIHRoZSBHc3RJbnRlcmxlYXZlUGFkIHR5cGUgZnJvbSBhIHRocmVhZHNhZmUgY29udGV4dC4KCjIwMDgtMDYtMDIgMTY6MTA6MDAgKzAwMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4Lio6IEltcGxlbWVudCByZXZlcnNlIHBsYXliYWNrLiBGaXhlcyAjNTM1MzAwLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpciBhdCBnbWFpbCBkb3QgY29tPgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfaW5kZXhfbmV4dCksCgkgIChnc3RfYXZpX2RlbXV4X2luZGV4X3ByZXYpLCAoZ3N0X2F2aV9kZW11eF9pbmRleF9lbnRyeV9mb3JfdGltZSksCgkgIChnc3RfYXZpX2RlbXV4X2RvX3NlZWspLCAoZ3N0X2F2aV9kZW11eF9oYW5kbGVfc2VlayksCgkgIChnc3RfYXZpX2RlbXV4X3Byb2Nlc3NfbmV4dF9lbnRyeSk6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5oOgoJICBJbXBsZW1lbnQgcmV2ZXJzZSBwbGF5YmFjay4gRml4ZXMgIzUzNTMwMC4KCSAgU21hbGwgY2xlYW51cHMuCgoyMDA4LTA2LTAyIDEyOjQyOjE0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLio6IEFsbG93IHNldHRpbmcgY2hhbm5lbCBwb3NpdGlvbnMgdmlhIGEgcHJvcGVydHkgYW5kIGFsbG93IHVzaW5nIHRoZSBjaGFubmVsIHBvc2l0aW9ucyBvbiAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOiAoZ3N0X2ludGVybGVhdmVfcGFkX2dldF90eXBlKSwKCSAgKGdzdF9pbnRlcmxlYXZlX2ZpbmFsaXplKSwgKGdzdF9hdWRpb19jaGVja19jaGFubmVsX3Bvc2l0aW9ucyksCgkgIChnc3RfaW50ZXJsZWF2ZV9zZXRfY2hhbm5lbF9wb3NpdGlvbnMpLAoJICAoZ3N0X2ludGVybGVhdmVfY2xhc3NfaW5pdCksIChnc3RfaW50ZXJsZWF2ZV9pbml0KSwKCSAgKGdzdF9pbnRlcmxlYXZlX3NldF9wcm9wZXJ0eSksIChnc3RfaW50ZXJsZWF2ZV9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X2ludGVybGVhdmVfcmVxdWVzdF9uZXdfcGFkKSwgKGdzdF9pbnRlcmxlYXZlX3JlbGVhc2VfcGFkKSwKCSAgKGdzdF9pbnRlcmxlYXZlX3Npbmtfc2V0Y2FwcyksIChnc3RfaW50ZXJsZWF2ZV9zcmNfcXVlcnlfZHVyYXRpb24pLAoJICAoZ3N0X2ludGVybGVhdmVfc3JjX3F1ZXJ5X2xhdGVuY3kpLCAoZ3N0X2ludGVybGVhdmVfY29sbGVjdGVkKToKCSAgKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmg6CgkgIEFsbG93IHNldHRpbmcgY2hhbm5lbCBwb3NpdGlvbnMgdmlhIGEgcHJvcGVydHkgYW5kIGFsbG93IHVzaW5nIHRoZQoJICBjaGFubmVsIHBvc2l0aW9ucyBvbiB0aGUgaW5wdXQgYXMgdGhlIGNoYW5uZWwgcG9zaXRpb25zIG9mIHRoZSBvdXRwdXQuCgkgIEZpeCBzb21lIGJyb2tlbiBsb2dpYyBhbmQgbWVtb3J5IGxlYWtzLgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ludGVybGVhdmUuYzogKHNyY19oYW5kb2ZmX2Zsb2F0MzIpLAoJICAoc2lua19oYW5kb2ZmX2Zsb2F0MzIpLCAoR1NUX1NUQVJUX1RFU1QpLCAoaW50ZXJsZWF2ZV9zdWl0ZSk6CgkgIEFkZCB1bml0IHRlc3RzIGZvciBjaGVja2luZyBjb3JyZWN0IGhhbmRsaW5nIG9mIGNoYW5uZWwgcG9zaXRpb25zLgoKMjAwOC0wNi0wMiAxMjoyMjo1NiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOiBXaGVuIHVzaW5nIGdzdF9lbGVtZW50X2l0ZXJhdGVfcGFkcygpIG9uZSBoYXMgdG8gdW5yZWYgZXZlcnkgcGFkIGFmdGVyIHVzYWdlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6IChnc3RfdmlkZW9taXhlcl9xdWVyeV9kdXJhdGlvbiksCgkgIChnc3RfdmlkZW9taXhlcl9xdWVyeV9sYXRlbmN5KToKCSAgV2hlbiB1c2luZyBnc3RfZWxlbWVudF9pdGVyYXRlX3BhZHMoKSBvbmUgaGFzIHRvIHVucmVmIGV2ZXJ5IHBhZAoJICBhZnRlciB1c2FnZS4KCjIwMDgtMDUtMzEgMTY6NTM6MjMgKzAwMDAgIEJhc3RpZW4gTm9jZXJhIDxoYWRlc3NAaGFkZXNzLm5ldD4KCgkgIGdzdC9xdGRlbXV4LzogSW1wcm92ZSBtZXRhLWRhdGEgaGFuZGxpbmcsIGFkZCAnY29tbWVudCcsICdkZXNjcmlwdGlvbicgYW5kICdjb3B5cmlnaHQnIHRhZyBoYW5kbGluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBCYXN0aWVuIE5vY2VyYSA8aGFkZXNzIGF0IGhhZGVzcyBkb3QgbmV0PgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfdGFnX2FkZF9zdHIpLAoJICAocXRkZW11eF9wYXJzZV91ZHRhKToKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4X2ZvdXJjYy5oOgoJICBJbXByb3ZlIG1ldGEtZGF0YSBoYW5kbGluZywgYWRkICdjb21tZW50JywgJ2Rlc2NyaXB0aW9uJyBhbmQKCSAgJ2NvcHlyaWdodCcgdGFnIGhhbmRsaW5nLgoJICBGaXhlcyAjNTM1OTM1CgoyMDA4LTA1LTMxIDE1OjMwOjQxICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogTWFrZSBzdXJlIHdlIHdlIGRvbid0IGNsaXAgdGhlIHNlZ21lbnQncyBzdG9wIHVzaW5nIHRoZSBtYWluIHNlZ21lbnQgZHVyYXRpb24gYXMgdGhhdCBjb3VsZCBjci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwOC0wNS0zMSAgSnVsaWVuIE1vdXR0ZSAgPGp1bGllbkBmbHVlbmRvLmNvbT4KCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9maW5kX2tleWZyYW1lKSwKCSAgKGdzdF9xdGRlbXV4X2ZpbmRfc2VnbWVudCksIChnc3RfcXRkZW11eF9wZXJmb3JtX3NlZWspLAoJICAoZ3N0X3F0ZGVtdXhfc2Vla190b19wcmV2aW91c19rZXlmcmFtZSksCgkgIChnc3RfcXRkZW11eF9hY3RpdmF0ZV9zZWdtZW50KSwgKGdzdF9xdGRlbXV4X2xvb3ApOiBNYWtlIHN1cmUgd2UKCSAgd2UgZG9uJ3QgY2xpcCB0aGUgc2VnbWVudCdzIHN0b3AgdXNpbmcgdGhlIG1haW4gc2VnbWVudCBkdXJhdGlvbgoJICBhcwoJICB0aGF0IGNvdWxkIGNyb3AgcXVpdGUgc29tZSB2aWRlbyBmcmFtZXMuIE1ha2UgcmV2ZXJzZSBwbGF5YmFjawoJICBzdXBwb3J0CgkgIG1vcmUgcm9idXN0IGFuZCBzdXBwb3J0IGVkaXQgbGlzdHMuIFN1cHBvcnQgc2Vla2luZyB0byB0aGUgbGFzdAoJICBmcmFtZSwKCSAgYW5kIGZpeCByZXZlcnNlIGxvb3BpbmcgcGxheWJhY2suIEFkZCBzb21lIGRlYnVnZ2luZy4KCSAgKiB3aW4zMi9jb21tb24vY29uZmlnLmg6IFVwZGF0ZWQuCgoyMDA4LTA1LTMxIDA4OjM3OjAwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOiBEb24ndCBjbGlwIGZsb2F0L2RvdWJsZSBzYW1wbGVzLCBjb3JyZWN0bHkgdW5zZXQgcGFzc3Rocm91Z2ggbW9kZSBhbmQgdXNlIGJldHRlciByb3UuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzoKCSAgKGdzdF9paXJfZXF1YWxpemVyX3RyYW5zZm9ybV9pcCk6CgkgIERvbid0IGNsaXAgZmxvYXQvZG91YmxlIHNhbXBsZXMsIGNvcnJlY3RseSB1bnNldCBwYXNzdGhyb3VnaCBtb2RlCgkgIGFuZCB1c2UgYmV0dGVyIHJvdW5kaW5nIGZvciBpbnRlZ2VyIHNhbXBsZXMuCgoyMDA4LTA1LTMwIDExOjAzOjU3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci4qOiBVcGRhdGUgdGhlIGZpbHRlciBjb2VmZmljaWVudHMgb25seSB3aGVuIG5lZWRlZCBpbiB0aGUgdHJhbnNmb3JtX2lwIGZ1bmN0aW9uIGFuZCBjb3IuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzoKCSAgKGdzdF9paXJfZXF1YWxpemVyX2JhbmRfc2V0X3Byb3BlcnR5KSwgKGdzdF9paXJfZXF1YWxpemVyX2luaXQpLAoJICAoc2V0dXBfZmlsdGVyKSwgKHNldF9wYXNzdGhyb3VnaCksICh1cGRhdGVfY29lZmZpY2llbnRzKSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2NvbXB1dGVfZnJlcXVlbmNpZXMpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfdHJhbnNmb3JtX2lwKToKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5oOgoJICBVcGRhdGUgdGhlIGZpbHRlciBjb2VmZmljaWVudHMgb25seSB3aGVuIG5lZWRlZCBpbiB0aGUgdHJhbnNmb3JtX2lwCgkgIGZ1bmN0aW9uIGFuZCBjb3JyZWN0bHkgc2V0IHRoZSBlbGVtZW50IGludG8gcGFzc3Rocm91Z2ggbW9kZSBpZiB0aGUKCSAgZ2FpbiBvZiBhbGwgYmFuZHMgaXMgMC4KCjIwMDgtMDUtMjkgMTE6MzA6MTYgKzAwMDAgIFNlYmFzdGlhbiBLZWxsZXIgPHNlYmFzdGlhbi1rZWxsZXJAZ214LmRlPgoKCSAgZ3N0L2FscGhhL2dzdGFscGhhLmM6IFRyeSB0byBza2lwIHBpeGVscyBvciBhcmVhcyB0aGF0IGFyZSB0b28gZGFyayBvciB0b28gYnJpZ2h0IGZvciB1cyB0byBkbyBtZWFuaW5nZnVsbCBjb2xvciBkZXRlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBCYXNlZCBvbiBwYXRjaCBieTogU2ViYXN0aWFuIEtlbGxlciA8c2ViYXN0aWFuLWtlbGxlciBhdCBnbXggZG90IGRlPgoJICAqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOiAoZ3N0X2FscGhhX2NsYXNzX2luaXQpLCAoZ3N0X2FscGhhX2luaXQpLAoJICAoZ3N0X2FscGhhX3NldF9wcm9wZXJ0eSksIChnc3RfYWxwaGFfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9hbHBoYV9jaHJvbWFfa2V5X2F5dXYpLCAoZ3N0X2FscGhhX2Nocm9tYWtleV9yb3dfaTQyMCk6CgkgIFRyeSB0byBza2lwIHBpeGVscyBvciBhcmVhcyB0aGF0IGFyZSB0b28gZGFyayBvciB0b28gYnJpZ2h0IGZvciB1cyB0byBkbwoJICBtZWFuaW5nZnVsbCBjb2xvciBkZXRlY3Rpb24uCgkgIEFkZGVkIHByb3BlcnRpZXMgdG8gY29udHJvbCB0aGUgc2Vuc2l0aXZpdHkgdG8gbGlnaHQgYW5kIGRhcmtuZXNzLgoJICBBZGRlZCBzb21lIHNtYWxsIGNsZWFudXBzLiBGaXhlcyAjNTEyMzQ1LgoKMjAwOC0wNS0yOCAyMDowMTozMiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBJZ25vcmUgc29tZSBtb3JlIGdlbmVyYXRlZCB0aGluZ3MKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zLy5jdnNpZ25vcmU6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvLmN2c2lnbm9yZToKCSAgSWdub3JlIHNvbWUgbW9yZSBnZW5lcmF0ZWQgdGhpbmdzCgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIElnbm9yZSBPU1MgZWxlbWVudHMgaW4gdGhlIHN0YXRlIGNoYW5nZXMgdGVzdCB0b28uCgoyMDA4LTA1LTI4IDE2OjIyOjM2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZG9jcy9wbHVnaW5zLzogQWRkIFNNUFRFIGVmZmVjdCBlbGVtZW50cyB0byBkb2NzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgIEFkZCBTTVBURSBlZmZlY3QgZWxlbWVudHMgdG8gZG9jcy4KCjIwMDgtMDUtMjggMTQ6MzE6MDUgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIERvY3VtZW50IHdoYXRzIGZpcnN0IHNob3duIG9uIHRoZSBmZG8gcGx1Z2luIGRvY3MgcGFnZSA6KQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZXh0L3JhdzEzOTQvZ3N0ZHYxMzk0c3JjLmM6CgkgIERvY3VtZW50IHdoYXRzIGZpcnN0IHNob3duIG9uIHRoZSBmZG8gcGx1Z2luIGRvY3MgcGFnZSA6KQoKMjAwOC0wNS0yOCAxNDowNzoyMSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgUmVuYW1lIGF1ZGlvdm9pY2UgdG8gYXVkaW9rYXJhb2tlIGFuZCBhZGQgaXQgdG8gdGhlIGRvY3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJICAqIGdzdC9hdWRpb2Z4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvZnguYzoKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2thcmFva2UuYzoKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2thcmFva2UuaDoKCSAgKiBnc3QvYXVkaW9meC9hdWRpb3ZvaWNlLmM6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW92b2ljZS5oOgoJICBSZW5hbWUgYXVkaW92b2ljZSB0byBhdWRpb2thcmFva2UgYW5kIGFkZCBpdCB0byB0aGUgZG9jcy4KCjIwMDgtMDUtMjggMTM6Mjg6MjAgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIERvY3VtZW50IGFhc2luayBhbmQgY2FjYXNpbmsuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIFJFUVVJUkVNRU5UUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaW50ZXJmYWNlczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkaW8ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2FtbWEueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oYWxlbGVtZW50cy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vbm9zY29wZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF1aWNrdGltZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9iYWxhbmNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZsaXAueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSAgKiBleHQvYWFsaWIvZ3N0YWFzaW5rLmM6CgkgICogZXh0L2xpYmNhY2EvZ3N0Y2FjYXNpbmsuYzoKCSAgRG9jdW1lbnQgYWFzaW5rIGFuZCBjYWNhc2luay4KCjIwMDgtMDUtMjggMDg6MzY6NDQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuKjogZHVyYXRpb24gYW5kIGxhdGVuY3kgcXVlcmllcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOiAoZ3N0X3ZpZGVvbWl4ZXJfcmVzZXQpLAoJICAoZ3N0X3ZpZGVvbWl4ZXJfaW5pdCksIChnc3RfdmlkZW9taXhlcl9xdWVyeV9kdXJhdGlvbiksCgkgIChnc3RfdmlkZW9taXhlcl9xdWVyeV9sYXRlbmN5KSwgKGdzdF92aWRlb21peGVyX3F1ZXJ5KSwKCSAgKGdzdF92aWRlb21peGVyX2JsZW5kX2J1ZmZlcnMpOgoJICAqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuaDoKCSAgSW1wbGVtZW50IHBvc2l0aW9uIChpbiB0aW1lKSwgZHVyYXRpb24gYW5kIGxhdGVuY3kgcXVlcmllcy4KCjIwMDgtMDUtMjggMDg6MTQ6MTYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzogSW1wbGVtZW50IGxhdGVuY3kgcXVlcnkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzogKGdzdF9pbnRlcmxlYXZlX3NyY19xdWVyeV9kdXJhdGlvbiksCgkgIChnc3RfaW50ZXJsZWF2ZV9zcmNfcXVlcnlfbGF0ZW5jeSksIChnc3RfaW50ZXJsZWF2ZV9zcmNfcXVlcnkpOgoJICBJbXBsZW1lbnQgbGF0ZW5jeSBxdWVyeS4KCjIwMDgtMDUtMjcgMTc6NTU6MzAgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLio6IEltcGxlbWVudCBwcm9wZXIgc2Vlay9uZXdzZWdtZW50IGhhbmRsaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6IChnc3RfdmlkZW9taXhlcl9yZXNldCksCgkgIChnc3RfdmlkZW9taXhlcl9pbml0KSwgKGdzdF92aWRlb21peGVyX3JlcXVlc3RfbmV3X3BhZCksCgkgIChnc3RfdmlkZW9taXhlcl9maWxsX3F1ZXVlcyksIChmb3J3YXJkX2V2ZW50X2Z1bmMpLAoJICAoZm9yd2FyZF9ldmVudCksIChnc3RfdmlkZW9taXhlcl9zcmNfZXZlbnQpLAoJICAoZ3N0X3ZpZGVvbWl4ZXJfc2lua19ldmVudCk6CgkgICogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5oOgoJICBJbXBsZW1lbnQgcHJvcGVyIHNlZWsvbmV3c2VnbWVudCBoYW5kbGluZy4KCSAgQmFzZWQgb24gYWRkZXIncyBpbXBsZW1lbnRhdGlvbi4KCSAgRml4ZXMgIzUzNTEyMQoKMjAwOC0wNS0yNiAxNjoyNToxNSArMDAwMCAgal4gPGpAb2lsMjEub3JnPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBBZGQgY2FwcyBmb3IgRFZDUFJPNTAgYW5kIERWQ1BSTyBIRCBQQUwvTlRTQy4gU2VlICM1MjY0ODEuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogal4gPGogYXQgb2lsMjEgZG90IG9yZz4KCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3ZpZGVvX2NhcHMpOgoJICBBZGQgY2FwcyBmb3IgRFZDUFJPNTAgYW5kIERWQ1BSTyBIRCBQQUwvTlRTQy4gU2VlICM1MjY0ODEuCgoyMDA4LTA1LTI2IDE1OjUxOjQxICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L2F1ZGlvZngvOiBBZGQgc2ltcGxlIHZvaWNlIHJlbW92YWwgZWxlbWVudC4gWWF5IGthcmFva2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdWRpb2Z4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvZnguYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvYXVkaW9meC9hdWRpb3ZvaWNlLmM6IChnc3RfYXVkaW9fdm9pY2VfYmFzZV9pbml0KSwKCSAgKGdzdF9hdWRpb192b2ljZV9jbGFzc19pbml0KSwgKGdzdF9hdWRpb192b2ljZV9pbml0KSwKCSAgKHVwZGF0ZV9maWx0ZXIpLCAoZ3N0X2F1ZGlvX3ZvaWNlX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfYXVkaW9fdm9pY2VfZ2V0X3Byb3BlcnR5KSwgKGdzdF9hdWRpb192b2ljZV9zZXR1cCksCgkgIChnc3RfYXVkaW9fdm9pY2VfdHJhbnNmb3JtX2ludCksIChnc3RfYXVkaW9fdm9pY2VfdHJhbnNmb3JtX2Zsb2F0KSwKCSAgKGdzdF9hdWRpb192b2ljZV90cmFuc2Zvcm1faXApOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvdm9pY2UuaDoKCSAgQWRkIHNpbXBsZSB2b2ljZSByZW1vdmFsIGVsZW1lbnQuIFlheSBrYXJhb2tlLgoKMjAwOC0wNS0yNiAxNTozOToyNiArMDAwMCAgV2lsbGlhbSBNLiBCcmFjayA8d2JyYWNrQG1tbS5jb20uaGs+CgoJICBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6IEZpeCBwb3RlbnRpYWwgY2FwcyBsZWFrLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFdpbGxpYW0gTS4gQnJhY2sgPHdicmFjayBhdCBtbW0gZG90IGNvbSBkb3QgaGs+CgkgICogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOiAoZ3N0X3Y0bDJzcmNfcHJvYmVfY2Fwc19mb3JfZm9ybWF0KToKCSAgRml4IHBvdGVudGlhbCBjYXBzIGxlYWsuCgkgIElmIHdlIGNhbid0IGdldCB0aGUgZnJhbWVyYXRlIHdpdGggYW4gaW9jdGwsIHRyeSB0byBnZXQgaXQgd2l0aCB0aGUKCSAgY3VycmVudCBub3JtLiBGaXhlcyAjNTIwMDkyLgoKMjAwOC0wNS0yNiAxNToxNDo1NSArMDAwMCAgV2lsbGlhbSBNLiBCcmFjayA8d2JyYWNrQG1tbS5jb20uaGs+CgoJICBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6IElmIHdlIGZhaWwgdG8gZ2V0IHRoZSBmcmFtZSBpbnRlcnZhbHMsIHNpbXBseSBkb24ndCB0b3VjaCB0aGUgZnJhbWVyYXRlcyBvbiB0aGUgdGVtcGxhdGUgY2EuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBXaWxsaWFtIE0uIEJyYWNrIDx3YnJhY2sgYXQgbW1tIGRvdCBjb20gZG90IGhrPgoJICAqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSAgKGdzdF92NGwyc3JjX3Byb2JlX2NhcHNfZm9yX2Zvcm1hdF9hbmRfc2l6ZSk6CgkgIElmIHdlIGZhaWwgdG8gZ2V0IHRoZSBmcmFtZSBpbnRlcnZhbHMsIHNpbXBseSBkb24ndCB0b3VjaCB0aGUgZnJhbWVyYXRlcwoJICBvbiB0aGUgdGVtcGxhdGUgY2FwcyBpbnN0ZWFkIG9mIGRpc2NhcmRpbmcgdGhlIGZvcm1hdC4gU2VlICM1MjAwOTIuCgoyMDA4LTA1LTI2IDE0OjUyOjUxICswMDAwICBXaWxsaWFtIE0uIEJyYWNrIDx3YnJhY2tAbW1tLmNvbS5oaz4KCgkgIHN5cy92NGwyL2dzdHY0bDJzcmMuYzogQWRkIE5WMTIsIE5WMjEgYW5kIGJheWVyIHN1cHBvcnQuIFNlZSAjNTIwMDkyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFdpbGxpYW0gTS4gQnJhY2sgPHdicmFjayBhdCBtbW0gZG90IGNvbSBkb3QgaGs+CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOiAoZ3N0X3Y0bDJzcmNfdjRsMmZvdXJjY190b19zdHJ1Y3R1cmUpLAoJICAoZ3N0X3Y0bDJfZ2V0X2NhcHNfaW5mbyk6CgkgIEFkZCBOVjEyLCBOVjIxIGFuZCBiYXllciBzdXBwb3J0LiBTZWUgIzUyMDA5Mi4KCjIwMDgtMDUtMjYgMTM6NTE6MzggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IFVuYnJlYWsgc2VnbWVudCBhY3RpdmF0aW9uIGFnYWluLiBGaXhlcyAjNTMxNjcyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9maW5kX3NlZ21lbnQpLAoJICAoZ3N0X3F0ZGVtdXhfYWN0aXZhdGVfc2VnbWVudCk6CgkgIFVuYnJlYWsgc2VnbWVudCBhY3RpdmF0aW9uIGFnYWluLiBGaXhlcyAjNTMxNjcyLgoKMjAwOC0wNS0yNiAxMDoyODo0NyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmM6IEFkZCBhbm90aGVyIGV4YW1wbGUgbGF1bmNoIGxpbmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOgoJICBBZGQgYW5vdGhlciBleGFtcGxlIGxhdW5jaCBsaW5lLgoJICAqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzogKGludGVybGVhdmVfMjQpLAoJICAoZ3N0X2ludGVybGVhdmVfZmluYWxpemUpLCAoZ3N0X2ludGVybGVhdmVfYmFzZV9pbml0KSwKCSAgKGdzdF9pbnRlcmxlYXZlX2NsYXNzX2luaXQpLCAoZ3N0X2ludGVybGVhdmVfaW5pdCksCgkgIChnc3RfaW50ZXJsZWF2ZV9yZXF1ZXN0X25ld19wYWQpLCAoZ3N0X2ludGVybGVhdmVfcmVsZWFzZV9wYWQpLAoJICAoZ3N0X2ludGVybGVhdmVfY2hhbmdlX3N0YXRlKSwgKF9fcmVtb3ZlX2NoYW5uZWxzKSwKCSAgKF9fc2V0X2NoYW5uZWxzKSwgKGdzdF9pbnRlcmxlYXZlX3NpbmtfZ2V0Y2FwcyksCgkgIChnc3RfaW50ZXJsZWF2ZV9zZXRfcHJvY2Vzc19mdW5jdGlvbiksCgkgIChnc3RfaW50ZXJsZWF2ZV9zaW5rX3NldGNhcHMpLCAoZ3N0X2ludGVybGVhdmVfc2lua19ldmVudCksCgkgIChnc3RfaW50ZXJsZWF2ZV9zcmNfcXVlcnlfZHVyYXRpb24pLCAoZ3N0X2ludGVybGVhdmVfc3JjX3F1ZXJ5KSwKCSAgKGZvcndhcmRfZXZlbnRfZnVuYyksIChmb3J3YXJkX2V2ZW50KSwgKGdzdF9pbnRlcmxlYXZlX3NyY19ldmVudCksCgkgIChnc3RfaW50ZXJsZWF2ZV9jb2xsZWN0ZWQpOgoJICAqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuaDoKCSAgTWFqb3IgcmV3cml0ZSBvZiBpbnRlcmxlYXZlIHVzaW5nIEdzdENvbGxlY3RwYWRzLiBUaGlzIG5ldyB2ZXJzaW9uCgkgIGFsc28gc3VwcG9ydHMgYWxtb3N0IGFsbCByYXcgYXVkaW8gZm9ybWF0cyBhbmQgaGFzIGJldHRlciBjYXBzCgkgIG5lZ290aWF0aW9uLiBGaXhlcyBidWcgIzUwNjU5NC4KCSAgQWxzbyB1cGRhdGUgZG9jcyBhbmQgYWRkIHNvbWUgbW9yZSBleGFtcGxlcy4KCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pbnRlcmxlYXZlLmM6IChpbnRlcmxlYXZlX2NoYWluX2Z1bmMpLAoJICAoR1NUX1NUQVJUX1RFU1QpLCAoc3JjX2hhbmRvZmZfZmxvYXQzMiksIChzaW5rX2hhbmRvZmZfZmxvYXQzMiksCgkgIChpbnRlcmxlYXZlX3N1aXRlKToKCSAgQWRkIHNvbWUgbW9yZSBleHRlbnNpdmUgdW5pdCB0ZXN0cyBmb3IgaW50ZXJsZWF2ZS4KCjIwMDgtMDUtMjYgMDk6NTc6NDAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBEb24ndCB1c2UgX2dzdF9wYWQoKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXhhbXBsZXMvc3dpdGNoL3N3aXRjaGVyLmM6IChzd2l0Y2hfdGltZXIpOgoJICAqIGdzdC9yZXBsYXlnYWluL2dzdHJndm9sdW1lLmM6IChnc3Rfcmdfdm9sdW1lX2luaXQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGNsaWVudC5jOiAoY3JlYXRlX3N0cmVhbSk6CgkgICogZ3N0L3NkcC9nc3RzZHBkZW11eC5jOiAoZ3N0X3NkcF9kZW11eF9zdHJlYW1fY29uZmlndXJlX3VkcCksCgkgIChnc3Rfc2RwX2RlbXV4X3N0cmVhbV9jb25maWd1cmVfdWRwX3NpbmspOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2RlaW50ZXJsZWF2ZS5jOiAoR1NUX1NUQVJUX1RFU1QpLAoJICAocGFkX2FkZGVkX3NldHVwX2RhdGFfY2hlY2tfZmxvYXQzMl84Y2hfY2IpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnYW5hbHlzaXMuYzogKHNlbmRfZW9zX2V2ZW50KSwKCSAgKHNlbmRfdGFnX2V2ZW50KToKCSAgRG9uJ3QgdXNlIF9nc3RfcGFkKCkuCgoyMDA4LTA1LTI1IDE2OjA5OjM5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvZmxhYy86IFNldCB0aGUgY2hhbm5lbCBsYXlvdXQgd2hlbiBkZWNvZGluZyBGTEFDIGZpbGVzIHdpdGggbW9yZSB0aGFuIDIgY2hhbm5lbHMgYXMgZGVmaW5lZCBieSB0aGUgRkxBQyBzcGVjLiBGaXguLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZsYWMvTWFrZWZpbGUuYW06CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOiAoZ3N0X2ZsYWNfZGVjX3dyaXRlKToKCSAgU2V0IHRoZSBjaGFubmVsIGxheW91dCB3aGVuIGRlY29kaW5nIEZMQUMgZmlsZXMgd2l0aCBtb3JlIHRoYW4gMgoJICBjaGFubmVscyBhcyBkZWZpbmVkIGJ5IHRoZSBGTEFDIHNwZWMuIEZpeGVzIGJ1ZyAjNTM0NTcwLgoJICBBbHNvIGRvbid0IHRyeSB0byBkZWNvZGUgbGVmdC9zaWRlLCByaWdodC9zaWRlIGFuZCBtaWQvc2lkZSBmaWxlcwoJICBhcyB3ZSBkb24ndCBzdXBwb3J0IHRoaXMgYXQgYWxsLgoKMjAwOC0wNS0yNCAxMjo1NTozOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogV2UgbmVlZCAtYmFzZSBDVlMgKHJ0c3ApLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIFdlIG5lZWQgLWJhc2UgQ1ZTIChydHNwKS4KCjIwMDgtMDUtMjIgMTk6NDc6NTMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGRvY3MvcGx1Z2lucy86IEFkZCBpbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZSB0byB0aGUgZG9jcyBhbmQgd2hpbGUgYXQgdGhhdCBydW4gbWFrZSB1cGRhdGUgaW4gZG9jcy9wbHVnaW5zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnNpZ25hbHM6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsc2FzcGRpZi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFtcndiLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGF1ZGlvLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2R4YXBhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGZidmlkZW9zaW5rLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYmRldnNpbmsueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZpbHRlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdmRlbXV4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXplLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWgyNjRwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWV0YWRhdGEueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnNHZpZGVvcGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd2aWRlb3BhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzZXBhY2sueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNpY2JyYWluei54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW12ZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hcy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uc2ZkZWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1udXZkZW11eC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVhbC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGwueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWxlY3Rvci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNuZGZpbGUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BjZGVjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleHJlc2FtcGxlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3RlcmVvLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRhLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmNkc3JjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12bW5jLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2lsZG1pZGkueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14MjY0LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpZC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkgIEFkZCBpbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZSB0byB0aGUgZG9jcyBhbmQgd2hpbGUgYXQgdGhhdAoJICBydW4gbWFrZSB1cGRhdGUgaW4gZG9jcy9wbHVnaW5zLgoJICAqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOgoJICBBZGQgYSBwYXJhcHJhcGggYWJvdXQgdXNpbmcgYSBxdWV1ZSBhbmQgYXVkaW9jb252ZXJ0IGFmdGVyIHRoZSBzb3VyY2UKCSAgcGFkcyB0byB0aGUgZG9jcy4KCjIwMDgtMDUtMjIgMTg6NTU6MDkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS4qOiBEb24ndCBzZXQgYSBnZXRjYXBzKCkgZnVuY3Rpb24gb24gdGhlIHNyYyBwYWRzIGFzIGl0J3Mgbm90IHJlcXVpcmVkIGFuZCB0aGUgZGVmYXVsdCBnZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYzogKGdzdF9kZWludGVybGVhdmVfYmFzZV9pbml0KSwKCSAgKGdzdF9kZWludGVybGVhdmVfY2xhc3NfaW5pdCksIChnc3RfZGVpbnRlcmxlYXZlX2luaXQpLAoJICAoZ3N0X2RlaW50ZXJsZWF2ZV9hZGRfbmV3X3BhZHMpLCAoZ3N0X2RlaW50ZXJsZWF2ZV9zaW5rX2dldGNhcHMpOgoJICAqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5oOgoJICBEb24ndCBzZXQgYSBnZXRjYXBzKCkgZnVuY3Rpb24gb24gdGhlIHNyYyBwYWRzIGFzIGl0J3Mgbm90IHJlcXVpcmVkCgkgIGFuZCB0aGUgZGVmYXVsdCBnZXRjYXBzKCkgZnVuY3Rpb24gcmV0dXJucyB0aGUgY29ycmVjdCByZXN1bHRzIGZvcgoJICBvdXIgc3JjIHBhZHMuCgkgIENvbXBsZXRlIGRvY3VtZW50YXRpb24gYW5kIGFkZCBteXNlbGYgdG8gdGhlIGF1dGhvcnMgb2YgdGhlIGVsZW1lbnQuCgoyMDA4LTA1LTIyIDE0OjQ5OjA4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3VkcC9NYWtlZmlsZS5hbTogQWRkIC1EX0dOVV9TT1VSQ0UgdG8gQ0ZMQUdTIHNvIHdlIGdldCB0aGluZ3MgbGlrZSBFQUlfQUREUkZBTUlMWSB3aGVuIGluY2x1ZGluZyBuZXRkYi5oIHdoZW4gYnVpLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC91ZHAvTWFrZWZpbGUuYW06CgkgIEFkZCAtRF9HTlVfU09VUkNFIHRvIENGTEFHUyBzbyB3ZSBnZXQgdGhpbmdzIGxpa2UgRUFJX0FERFJGQU1JTFkKCSAgd2hlbiBpbmNsdWRpbmcgbmV0ZGIuaCB3aGVuIGJ1aWxkaW5nIGFnYWluc3QgZ2xpYmMgPj0gMi44LgoKMjAwOC0wNS0yMiAxMToxOTowMyArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBnc3Qvc21wdGUvZ3N0c21wdGVhbHBoYS5jOiBGaXggZGVidWcgc3RhdGVtZW50IGFyZ3VtZW50cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDgtMDUtMjIgIEp1bGllbiBNb3V0dGUgIDxqdWxpZW5AZmx1ZW5kby5jb20+CgkgICogZ3N0L3NtcHRlL2dzdHNtcHRlYWxwaGEuYzogKGdzdF9zbXB0ZV9hbHBoYV9zZXRjYXBzKTogRml4CgkgIGRlYnVnIHN0YXRlbWVudCBhcmd1bWVudHMuCgkgICogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzogKGdzdF9tdWx0aXVkcHNpbmtfc2V0dXBfcW9zX2RzY3ApOgoJICAqIGdzdC91ZHAvZ3N0dWRwbmV0dXRpbHMuYzogKGdzdF91ZHBfam9pbl9ncm91cCksCgkgIChnc3RfdWRwX2xlYXZlX2dyb3VwKTogRml4IElQIGFuZCBJUFY2IG9wdGlvbnMgdG8gbWFrZSBpdCB3b3JrCgkgIG9uIG1vcmUgcGxhdGZvcm1zLgoKMjAwOC0wNS0yMSAxNzo1MTowOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzLzogRG9uJ3QgdXNlIGdzdF9lbGVtZW50X2dldF9wYWQoKSwgaXQncyBhIGJhZCwgYmFkIG1ldGhvZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYXZpbXV4LmM6IChzZXR1cF9zcmNfcGFkKSwKCSAgKHRlYXJkb3duX3NyY19wYWQpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ljeWRlbXV4LmM6IChpY3lkZW11eF9mb3VuZF9wYWQpLAoJICAoR1NUX1NUQVJUX1RFU1QpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21hdHJvc2thbXV4LmM6IChzZXR1cF9zcmNfcGFkKSwKCSAgKHRlYXJkb3duX3NyY19wYWQpLCAoc2V0dXBfc2lua19wYWQpLCAodGVhcmRvd25fc2lua19wYWQpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvY3JvcC5jOiAodmlkZW9fY3JvcF9nZXRfdGVzdF9jYXBzKSwKCSAgKEdTVF9TVEFSVF9URVNUKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy93YXZwYWNrcGFyc2UuYzogKHdhdnBhY2twYXJzZV9mb3VuZF9wYWQpLAoJICAoc2V0dXBfd2F2cGFja3BhcnNlKSwgKGNsZWFudXBfd2F2cGFja3BhcnNlKToKCSAgRG9uJ3QgdXNlIGdzdF9lbGVtZW50X2dldF9wYWQoKSwgaXQncyBhIGJhZCwgYmFkIG1ldGhvZC4KCjIwMDgtMDUtMjEgMTc6Mzk6MzggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBEb24ndCB1c2UgZ3N0X2VsZW1lbnRfZ2V0X3BhZCgpLCBpdCdzIGEgYmFkIG1ldGhvZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2djb25mL2dzdGdjb25mYXVkaW9zcmMuYzogKGdzdF9nY29uZl9hdWRpb19zcmNfcmVzZXQpLAoJICAoZG9fdG9nZ2xlX2VsZW1lbnQpOgoJICAqIGV4dC9nY29uZi9nc3RnY29uZnZpZGVvc2luay5jOiAoZ3N0X2djb25mX3ZpZGVvX3NpbmtfcmVzZXQpLAoJICAoZG9fdG9nZ2xlX2VsZW1lbnQpOgoJICAqIGV4dC9nY29uZi9nc3RnY29uZnZpZGVvc3JjLmM6IChnc3RfZ2NvbmZfdmlkZW9fc3JjX3Jlc2V0KSwKCSAgKGRvX3RvZ2dsZV9lbGVtZW50KToKCSAgKiBleHQvZ2NvbmYvZ3N0c3dpdGNoc2luay5jOiAoZ3N0X3N3aXRjaF9jb21taXRfbmV3X2tpZCk6CgkgICogZXh0L2hhbC9nc3RoYWxhdWRpb3NpbmsuYzogKGdzdF9oYWxfYXVkaW9fc2lua19yZXNldCksCgkgIChkb190b2dnbGVfZWxlbWVudCk6CgkgICogZXh0L2hhbC9nc3RoYWxhdWRpb3NyYy5jOiAoZ3N0X2hhbF9hdWRpb19zcmNfcmVzZXQpLAoJICAoZG9fdG9nZ2xlX2VsZW1lbnQpOgoJICAqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NpbmsuYzogKGdzdF9hdXRvX2F1ZGlvX3NpbmtfcmVzZXQpLAoJICAoZ3N0X2F1dG9fYXVkaW9fc2lua19kZXRlY3QpOgoJICAqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NpbmsuYzogKGdzdF9hdXRvX3ZpZGVvX3NpbmtfcmVzZXQpLAoJICAoZ3N0X2F1dG9fdmlkZW9fc2lua19kZXRlY3QpOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX2luaXQpLAoJICAoZ3N0X3J0c3BzcmNfc3RyZWFtX2ZyZWUpLCAoZ3N0X3J0c3BzcmNfc3RyZWFtX2NvbmZpZ3VyZV91ZHApLAoJICAoZ3N0X3J0c3BzcmNfc3RyZWFtX2NvbmZpZ3VyZV91ZHBfc2luayksIChnc3RfcnRzcHNyY19za2lwX2x3cyksCgkgIChnc3RfcnRzcHNyY191bnNraXBfbHdzKSwgKGdzdF9ydHNwc3JjX3NraXBfY29tbWFzKSwKCSAgKGdzdF9ydHNwc3JjX3NraXBfaXRlbSksIChnc3RfcnRzcF9kZWNvZGVfcXVvdGVkX3N0cmluZyksCgkgIChnc3RfcnRzcHNyY19wYXJzZV9kaWdlc3RfY2hhbGxlbmdlKSwgKGdzdF9ydHNwc3JjX3BhcnNlX2F1dGhfaGRyKToKCSAgKiB0ZXN0cy9pY2xlcy92aWRlb2Nyb3AtdGVzdC5jOiAodGVzdF93aXRoX2NhcHMpLAoJICAodmlkZW9fY3JvcF9nZXRfdGVzdF9jYXBzKToKCSAgRG9uJ3QgdXNlIGdzdF9lbGVtZW50X2dldF9wYWQoKSwgaXQncyBhIGJhZCBtZXRob2QuCgoyMDA4LTA1LTIxIDE3OjM1OjUwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3VkcC86IEpvaW5pbmcgYSBtdWx0aWNhc3QgZ3JvdXAgYW5kIHNldHRpbmcgdGhlIGxvb3AvdHRsIHByb3BlcnRpZXMgYXJlIHRvdGFsbHkgdW5yZWxhdGVkIHRhc2tzIGFyZSBtdXN0IGJlIHNlcGFyLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6IChnc3RfbXVsdGl1ZHBzaW5rX2luaXRfc2VuZCksCgkgIChnc3RfbXVsdGl1ZHBzaW5rX2FkZF9pbnRlcm5hbCk6CgkgICogZ3N0L3VkcC9nc3R1ZHBuZXR1dGlscy5jOiAoZ3N0X3VkcF9zZXRfbG9vcF90dGwpLAoJICAoZ3N0X3VkcF9qb2luX2dyb3VwKToKCSAgKiBnc3QvdWRwL2dzdHVkcG5ldHV0aWxzLmg6CgkgICogZ3N0L3VkcC9nc3R1ZHBzcmMuYzogKGdzdF91ZHBzcmNfc3RhcnQpOgoJICBKb2luaW5nIGEgbXVsdGljYXN0IGdyb3VwIGFuZCBzZXR0aW5nIHRoZSBsb29wL3R0bCBwcm9wZXJ0aWVzIGFyZQoJICB0b3RhbGx5IHVucmVsYXRlZCB0YXNrcyBhcmUgbXVzdCBiZSBzZXBhcmF0ZWQuCgoyMDA4LTA1LTIxIDE0OjA5OjQxICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvYXZpL2dzdGF2aW11eC5jOiBBbHNvIHN1cHBvcnQgYWxhdy9tdWxhdy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSAgQWxzbyBzdXBwb3J0IGFsYXcvbXVsYXcuCgoyMDA4LTA1LTIxIDEzOjQ3OjQzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuKjogQWRkIGEgZml4bWUgZm9yIHRoZSBhdXRvLW11bHRpY2FzdCBwcm9wZXJ0eS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzogKGdzdF9tdWx0aXVkcHNpbmtfY2xhc3NfaW5pdCksCgkgIChnc3RfbXVsdGl1ZHBzaW5rX3NldHVwX3Fvc19kc2NwKSwgKGdzdF9tdWx0aXVkcHNpbmtfYWRkX2ludGVybmFsKToKCSAgKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5oOgoJICBBZGQgYSBmaXhtZSBmb3IgdGhlIGF1dG8tbXVsdGljYXN0IHByb3BlcnR5LgoJICBGaXggc29tZSBjb25mdXNpbmcgZGVidWcgbWVzc2FnZXMuCgkgIERpc2FibGUgc2V0dGluZyBhIHFvcyB2YWx1ZSBieSBkZWZhdWx0LgoKMjAwOC0wNS0yMSAxMTozODoxNyArMDAwMCAgR3VzdGFmIFLDpG50aWzDpCA8Zy5yYW50aWxhQGdtYWlsLmNvbT4KCgkgIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6IElnbm9yZSBFUEVSTSBlcnJvcnMgZnJvbSBzZW5kdG8uIEZpeGVzICM1MzM2MTkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogR3VzdGFmIFLDpG50aWzDpCA8ZyBkb3QgcmFudGlsYSBhdCBnbWFpbCBkb3QgY29tPgoJICAqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6IChnc3RfbXVsdGl1ZHBzaW5rX3JlbmRlcik6CgkgIElnbm9yZSBFUEVSTSBlcnJvcnMgZnJvbSBzZW5kdG8uIEZpeGVzICM1MzM2MTkuCgoyMDA4LTA1LTIxIDEwOjUxOjUyICswMDAwICBIZW5yaWsgRXJpa3Nzb24gPGhlbnJpa2VuQGF4aXMuY29tPgoKCSAgZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuKjogQWRkIHFvcy1kc2NwIHByb3BlcnR5IHRvIG1hbmFnZSB0aGUgUXVhbGl0eSBvZiBzZXJ2aWNlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEhlbnJpayBFcmlrc3NvbiA8aGVucmlrZW4gYXQgYXhpcyBkb3QgY29tPgoJICAqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6IChnc3RfbXVsdGl1ZHBzaW5rX2NsYXNzX2luaXQpLAoJICAoZ3N0X211bHRpdWRwc2lua19pbml0KSwgKGdzdF9tdWx0aXVkcHNpbmtfc2V0dXBfcW9zX2RzY3ApLAoJICAoZ3N0X211bHRpdWRwc2lua19zZXRfcHJvcGVydHkpLCAoZ3N0X211bHRpdWRwc2lua19nZXRfcHJvcGVydHkpLAoJICAoZ3N0X211bHRpdWRwc2lua19pbml0X3NlbmQpLCAoZ3N0X211bHRpdWRwc2lua19hZGRfaW50ZXJuYWwpOgoJICAqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmg6CgkgIEFkZCBxb3MtZHNjcCBwcm9wZXJ0eSB0byBtYW5hZ2UgdGhlIFF1YWxpdHkgb2Ygc2VydmljZS4KCjIwMDgtMDUtMjEgMTA6MDk6MjMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwL2dzdHJ0cHRoZW9yYWRlcGF5LmM6IEltcHJvdmUgZGVidWdnaW5nIG9mIHRoZSBpZGVudC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHB0aGVvcmFkZXBheS5jOiAoZ3N0X3J0cF90aGVvcmFfZGVwYXlfcHJvY2Vzcyk6CgkgIEltcHJvdmUgZGVidWdnaW5nIG9mIHRoZSBpZGVudC4KCjIwMDgtMDUtMjEgMDk6NTY6MDIgKzAwMDAgIEJydW5vIFNhbnRvcyA8YnJ1bm9mQHVhLnB0PgoKCSAgZ3N0L3VkcC9nc3R1ZHBuZXR1dGlscy4qOiBQcm92aWRlIGEgYnVuY2ggb2YgaGVscGVyIG1ldGhvZHMgdG8gZGVhbCB3aXRoIElQdjQgYW5kIElQdjYgdHJhbnNwYXJlbnRseS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBCcnVubyBTYW50b3MgPGJydW5vZiBhdCB1YSBkb3QgcHQ+CgkgICogZ3N0L3VkcC9nc3R1ZHBuZXR1dGlscy5jOiAoZ3N0X3VkcF9nZXRfYWRkciksCgkgIChnc3RfdWRwX2pvaW5fZ3JvdXApLCAoZ3N0X3VkcF9sZWF2ZV9ncm91cCksCgkgIChnc3RfdWRwX2lzX211bHRpY2FzdCk6CgkgICogZ3N0L3VkcC9nc3R1ZHBuZXR1dGlscy5oOgoJICBQcm92aWRlIGEgYnVuY2ggb2YgaGVscGVyIG1ldGhvZHMgdG8gZGVhbCB3aXRoIElQdjQgYW5kIElQdjYKCSAgdHJhbnNwYXJlbnRseS4KCSAgKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOiAoZ3N0X211bHRpdWRwc2lua19jbGFzc19pbml0KSwKCSAgKGdzdF9tdWx0aXVkcHNpbmtfaW5pdCksIChnc3RfbXVsdGl1ZHBzaW5rX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfbXVsdGl1ZHBzaW5rX2dldF9wcm9wZXJ0eSksIChqb2luX211bHRpY2FzdCksCgkgIChnc3RfbXVsdGl1ZHBzaW5rX2luaXRfc2VuZCksIChnc3RfbXVsdGl1ZHBzaW5rX2FkZF9pbnRlcm5hbCksCgkgIChnc3RfbXVsdGl1ZHBzaW5rX3JlbW92ZSk6CgkgICogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuaDoKCSAgQWRkIG11bHRpY2FzdCBUVEwgYW5kIGxvb3BiYWNrIHByb3BlcnRpZXMuCgkgIFVzZSB0aGUgaGVscGVyIG1ldGhvZHMgdG8gaW1wbGVtZW50IGlwNCBhbmQgaXA2LgoJICAqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6IChnc3RfdWRwc3JjX2NyZWF0ZSksIChnc3RfdWRwc3JjX3N0YXJ0KToKCSAgKiBnc3QvdWRwL2dzdHVkcHNyYy5oOgoJICBVc2UgdGhlIGhlbHBlciBtZXRob2RzIHRvIGltcGxlbWVudCBpcDQgYW5kIGlwNi4KCSAgRml4ZXMgIzUxNTk2Mi4KCjIwMDgtMDUtMjEgMDk6Mzg6NDggKzAwMDAgIFBhdHJpY2sgUmFkaXppIDxwYXRyaWNrLnJhZGl6aUBheGlzLmNvbT4KCgkgIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguKjogRG9uJ3QgYmxpbmRseSBjb3B5IHRoZSBtaW1lLXR5cGUgYXMgdGhlIGNhcHMgbmFtZSBiZWNhdXNlIHRoZXkgbm90IGFsd2F5cyBtYXAgZGlyZWN0bC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFBhdHJpY2sgUmFkaXppIDxwYXRyaWNrIGRvdCByYWRpemkgYXQgYXhpcyBkb3QgY29tPgoJICAqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzogKGdzdF9tdWx0aXBhcnRfZGVtdXhfY2xhc3NfaW5pdCksCgkgIChnc3RfbXVsdGlwYXJ0X2RlbXV4X2dldF9nc3RuYW1lKSwKCSAgKGdzdF9tdWx0aXBhcnRfZmluZF9wYWRfYnlfbWltZSksIChnc3RfbXVsdGlwYXJ0X2RlbXV4X2NoYWluKToKCSAgKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4Lmg6CgkgIERvbid0IGJsaW5kbHkgY29weSB0aGUgbWltZS10eXBlIGFzIHRoZSBjYXBzIG5hbWUgYmVjYXVzZSB0aGV5IG5vdAoJICBhbHdheXMgbWFwIGRpcmVjdGx5LiBJbnN0ZWFkIHVzZSBhIGhhc2h0YWJsZSB3aXRoIGNvbW1vbiBtYXBwaW5ncy4KCSAgRml4ZXMgIzUzMzI4Ny4KCjIwMDgtMDUtMjAgMTc6Mjc6MzUgKzAwMDAgIE1pY2hhZWwgTWVla3MgPG1tZWVrc0B4aW1pYW4ub3JnPgoKCSAgZXh0L2VzZC9lc2RzaW5rLmM6IFdoZW4gd2UgcG9zdCBhbiBlcnJvciwgd2UgbXVzdCByZXR1cm4gLTEgdG8gbGV0IHRoZSBwYXJlbnQga25vdyB0aGF0IHdlIGNhbm5vdCB3cml0ZSB0aGUgc2VnbWVudCBlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9lc2QvZXNkc2luay5jOiAoZ3N0X2VzZHNpbmtfd3JpdGUpOgoJICBXaGVuIHdlIHBvc3QgYW4gZXJyb3IsIHdlIG11c3QgcmV0dXJuIC0xIHRvIGxldCB0aGUgcGFyZW50IGtub3cgdGhhdCB3ZQoJICBjYW5ub3Qgd3JpdGUgdGhlIHNlZ21lbnQgZWxzZSBpdCB3aWxsIGxvb3AgYW5kIGNvbnRpbnVlIHRvIGNhbGwgdXMgYWdhaW4KCSAgZm9yZXZlci4gUGF0Y2ggYnkgTWljaGFlbCBNZWVrcy4KCjIwMDgtMDUtMjAgMTQ6MjQ6MjEgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzogQWRkIG1pc3NpbmcgaW5jdWRlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJICBBZGQgbWlzc2luZyBpbmN1ZGVzLgoKMjAwOC0wNS0yMCAxMzo1Nzo0NCArMDAwMCAgUGV0ZXIgS2plbGxlcnN0ZWR0IDxwa2pAYXhpcy5jb20+CgoJICBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuKjogQ29ycmVjdCBhIHR5cG8gKHNpbmxlIC0+IHNpbmdsZSkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOiAoZ3N0X2gyNjRfc2Nhbl9tb2RlX2dldF90eXBlKSwKCSAgKGdzdF9ydHBfaDI2NF9wYXlfaGFuZGxlX2J1ZmZlcik6CgkgICogZ3N0L3J0cC9nc3RydHBoMjY0cGF5Lmg6CgkgIENvcnJlY3QgYSB0eXBvIChzaW5sZSAtPiBzaW5nbGUpLgoKMjAwOC0wNS0yMCAxMTozMzowNSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5Lio6IEFkZCBleHBlcmltZW50YWwgc3VwcG9ydCBmb3Igb3V0cHV0dGluZyBxdWlja3RpbWUtbGlrZSBBVkMgb3V0cHV0IGluIGFkZGl0aW9uIHRvIHRoZSBleGlzdC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOiAoZ3N0X3J0cF9oMjY0X2RlcGF5X2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cF9oMjY0X2RlcGF5X2luaXQpLCAoZ3N0X3J0cF9oMjY0X2RlcGF5X3NldF9wcm9wZXJ0eSksCgkgIChnc3RfcnRwX2gyNjRfZGVwYXlfZ2V0X3Byb3BlcnR5KSwgKGdzdF9ydHBfaDI2NF9kZXBheV9zZXRjYXBzKSwKCSAgKGdzdF9ydHBfaDI2NF9kZXBheV9wcm9jZXNzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5oOgoJICBBZGQgZXhwZXJpbWVudGFsIHN1cHBvcnQgZm9yIG91dHB1dHRpbmcgcXVpY2t0aW1lLWxpa2UgQVZDIG91dHB1dCBpbgoJICBhZGRpdGlvbiB0byB0aGUgZXhpc3RpbmcgYnl0ZXN0cmVhbSBvdXRwdXQuCgkgICogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6IChnc3RfaDI2NF9zY2FuX21vZGVfZ2V0X3R5cGUpLAoJICAoZ3N0X3J0cF9oMjY0X3BheV9jbGFzc19pbml0KSwgKGdzdF9ydHBfaDI2NF9wYXlfaW5pdCksCgkgIChnc3RfcnRwX2gyNjRfcGF5X3NldGNhcHMpLCAoZ3N0X3J0cF9oMjY0X3BheV9wYXlsb2FkX25hbCksCgkgIChnc3RfcnRwX2gyNjRfcGF5X2hhbmRsZV9idWZmZXIpLCAoZ3N0X3J0cF9oMjY0X3BheV9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3J0cF9oMjY0X3BheV9nZXRfcHJvcGVydHkpOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5oOgoJICBNYWtlIHRoZSBwYXJzaW5nIG1vZGUgY29uZmlndXJhYmxlLCBmb3Igc29tZSBpbnB1dHMgd2UgZG9uJ3QgbmVlZCB0bwoJICBzY2FuIGV2ZXJ5IGJ5dGUgZm9yIHN0YXJ0IGNvZGVzLgoJICBPbmx5IHNldCB0aGUgbWFya2VyIGJpdCBvbiBBQ0NFU1MgdW5pdHMuCgoyMDA4LTA1LTIwIDEwOjQ3OjEwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOiBVc2UgYSBiaWdnZXIgdHlwZSBpbiBpbnRlZ2VyIG1vZGUgZm9yIHRoZSBpbnRlcm1lZGlhdGUgcmVzdWx0cyB0byBwcmV2ZW50IG92ZXJmbG93cy4uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzoKCSAgVXNlIGEgYmlnZ2VyIHR5cGUgaW4gaW50ZWdlciBtb2RlIGZvciB0aGUgaW50ZXJtZWRpYXRlIHJlc3VsdHMgdG8KCSAgcHJldmVudCBvdmVyZmxvd3MuIFRoaXMgZml4ZXMgdGhlIGNyaXBwbGVkIHNvdW5kIHdoZW4gdXNpbmcgdGhlCgkgIGVxdWFsaXplciBpbiBpbnRlZ2VyIG1vZGUuIEZpeGVzIGJ1ZyAjNTEwODY1LgoKMjAwOC0wNS0yMCAxMDo0MjozMyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLio6IEluc3RlYWQgb2YgYSByYW5kb20gbnVtYmVyIGZvciB0aGUgcmVxdWVzdCBwYWQgaWQncywgdXNlIGEgY291bnRlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJICAqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuaDoKCSAgSW5zdGVhZCBvZiBhIHJhbmRvbSBudW1iZXIgZm9yIHRoZSByZXF1ZXN0IHBhZCBpZCdzLAoJICB1c2UgYSBjb3VudGVyLgoJICBSZWdpc3RlciB0aGUgdmlkZW9taXhlcnBhZCBjbGFzcyBmcm9tIHRoZSBlbGVtZW50J3MgY2xhc3NfaW5pdAoJICB3aGVyZSBpdCdzIHNhZmVyLCBhbmQgYWxsb3dzIHRoZSBkb2NzIGdlbmVyYXRvciB0byBzY2FuIGl0LgoKMjAwOC0wNS0yMCAwOToyOToyOCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9zbXB0ZS86IEFkZCBuZXcgcGx1Z2luIHRoYXQgYWRkcyB0aGUgU01QVEUgdHJhbnNpdGlvbiBpbiB0aGUgYWxwaGEgY2hhbm5lbCBvZgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc21wdGUvTWFrZWZpbGUuYW06CgkgICogZ3N0L3NtcHRlL2dzdHNtcHRlLmM6IChnc3Rfc21wdGVfcGx1Z2luX2luaXQpOgoJICAqIGdzdC9zbXB0ZS9nc3RzbXB0ZS5oOgoJICAqIGdzdC9zbXB0ZS9nc3RzbXB0ZWFscGhhLmM6CgkgIChnc3Rfc21wdGVfYWxwaGFfdHJhbnNpdGlvbl90eXBlX2dldF90eXBlKSwKCSAgKGdzdF9zbXB0ZV9hbHBoYV9nZXRfdHlwZSksIChnc3Rfc21wdGVfYWxwaGFfYmFzZV9pbml0KSwKCSAgKGdzdF9zbXB0ZV9hbHBoYV9jbGFzc19pbml0KSwgKGdzdF9zbXB0ZV9hbHBoYV91cGRhdGVfbWFzayksCgkgIChnc3Rfc21wdGVfYWxwaGFfc2V0Y2FwcyksIChnc3Rfc21wdGVfYWxwaGFfZ2V0X3VuaXRfc2l6ZSksCgkgIChnc3Rfc21wdGVfYWxwaGFfaW5pdCksIChnc3Rfc21wdGVfYWxwaGFfZmluYWxpemUpLAoJICAoZ3N0X3NtcHRlX2FscGhhX2RvX2F5dXYpLCAoZ3N0X3NtcHRlX2FscGhhX2RvX2k0MjApLAoJICAoZ3N0X3NtcHRlX2FscGhhX3RyYW5zZm9ybSksIChnc3Rfc21wdGVfYWxwaGFfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9zbXB0ZV9hbHBoYV9nZXRfcHJvcGVydHkpLCAoZ3N0X3NtcHRlX2FscGhhX3BsdWdpbl9pbml0KToKCSAgKiBnc3Qvc21wdGUvZ3N0c21wdGVhbHBoYS5oOgoJICAqIGdzdC9zbXB0ZS9wbHVnaW4uYzogKHBsdWdpbl9pbml0KToKCSAgQWRkIG5ldyBwbHVnaW4gdGhhdCBhZGRzIHRoZSBTTVBURSB0cmFuc2l0aW9uIGluIHRoZSBhbHBoYSBjaGFubmVsIG9mCgkgIEk0MjAgYW5kIEFZVVYgZnJhbWVzIHNvIHRoYXQgdGhleSBjYW4gYmUgYmxlbmRlZCB3aXRoIHZpZGVvbWl4ZXIgbGF0ZXIKCSAgb24uIFVzZXMgYWxsIG5pY2V0aWVzIHN1Y2ggYXMgdXNpbmcgYmFzZSB0cmFuc2Zvcm0gZm9yIGVmZmljaWVudCBhbGxvYwoJICBhbmQgbmVnb3RpYXRpb24uIEl0IGN1cnJlbnRseSByZXF1aXJlcyBHc3RDb250cm9sbGVyIHRvIGNvbnRyb2wgdGhlCgkgIHBvc2l0aW9uIGluIHRoZSB0cmFuc2l0aW9uIGVmZmVjdC4KCjIwMDgtMDUtMTkgMjE6MDU6MDMgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIFRyeSB1c2luZyB0aGF5dGFucyBuZXcgbWVjaGFuaXNtIHRvIGdldCBleHRyYSBjbGFzc2VzIGludG8gcGx1Z2luIGRvY3MuIEFwYXJlbnRseSB3b3JrcyBmb3IgdGhlIEVxLiBGb3IgVmlkZW9NaXhlciB0aC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5pbnRlcmZhY2VzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMudHlwZXM6CgkgICogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJICBUcnkgdXNpbmcgdGhheXRhbnMgbmV3IG1lY2hhbmlzbSB0byBnZXQgZXh0cmEgY2xhc3NlcyBpbnRvIHBsdWdpbgoJICBkb2NzLiBBcGFyZW50bHkgd29ya3MgZm9yIHRoZSBFcS4gRm9yIFZpZGVvTWl4ZXIgdGhlIEdPYmplY3Qgc3R1ZmYgaXMKCSAgbWlzc2luZyBzdGlsbC4KCjIwMDgtMDUtMTkgMTI6MzI6MDYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2RlaW50ZXJsZWF2ZS5jOiBTZXQga2VlcC1wb3NpdGlvbnMgcHJvcGVydHkgdG8gVFJVRSBmb3IgdGhlIDggY2hhbm5lbCB0ZXN0IHRvIGVuc3VyZSB0aGF0IHRoZSBvci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kZWludGVybGVhdmUuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgU2V0IGtlZXAtcG9zaXRpb25zIHByb3BlcnR5IHRvIFRSVUUgZm9yIHRoZSA4IGNoYW5uZWwgdGVzdCB0byBlbnN1cmUKCSAgdGhhdCB0aGUgb3JpZ2luYWwgY2hhbm5lbCBwb3NpdGlvbiBpcyBzZXQgb24gdGhlIG91dHB1dC4KCjIwMDgtMDUtMTkgMDc6NDY6MDUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS4qOiBBZGQgYSBwcm9wZXJ0eSB0byBzZWxlY3Qgd2hldGhlciBjaGFubmVsIHBvc2l0aW9ucyBzaG91bGQgYmUga2VwdCBvbiB0aGUgbW9ubyBvdXRwdXQgYi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYzogKGdzdF9kZWludGVybGVhdmVfY2xhc3NfaW5pdCksCgkgIChnc3RfZGVpbnRlcmxlYXZlX2luaXQpLCAoZ3N0X2RlaW50ZXJsZWF2ZV9hZGRfbmV3X3BhZHMpLAoJICAoZ3N0X2RlaW50ZXJsZWF2ZV9zZXRfcGFkc19jYXBzKSwgKGdzdF9kZWludGVybGVhdmVfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9kZWludGVybGVhdmVfZ2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuaDoKCSAgQWRkIGEgcHJvcGVydHkgdG8gc2VsZWN0IHdoZXRoZXIgY2hhbm5lbCBwb3NpdGlvbnMgc2hvdWxkIGJlIGtlcHQgb24KCSAgdGhlIG1vbm8gb3V0cHV0IGJ1ZmZlcnMgb3Igc2hvdWxkIGJlIGRyb3BwZWQuCgoyMDA4LTA1LTE4IDE5OjI3OjU5ICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkgIGdzdC9hdmkvZ3N0YXZpbXV4LmM6IFNldCBwcm9wZXIgcmF0ZSBpbiBhdmkgc3RyZWFtIGhlYWRlciBmb3IgUENNIGF1ZGlvLCBhbmQgYWxzbyBkbyBzb21lIG1vcmUgc2FuaXR5IGNoZWNrcyBvbiBjYXBzIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aW11eC5jOiAoZ3N0X2F2aV9tdXhfYXVkc2lua19zZXRfY2Fwcyk6CgkgIFNldCBwcm9wZXIgcmF0ZSBpbiBhdmkgc3RyZWFtIGhlYWRlciBmb3IgUENNIGF1ZGlvLCBhbmQgYWxzbyBkbyBzb21lCgkgIG1vcmUgc2FuaXR5IGNoZWNrcyBvbiBjYXBzIGluIHRoaXMgY2FzZS4gIEZpeGVzICM1MTE0ODkuCgoyMDA4LTA1LTE3IDE5OjM5OjUzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuKjogUXVldWUgZXZlbnRzIHVudGlsIHNyYyBwYWRzIHdlcmUgYWRkZWQgYW5kIHRoZXkgY2FuIGJlIHNlbnQuIE90aGVyd2lzZSBkb3duc3RyZWFtIHdpbGwuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmM6IChnc3RfZGVpbnRlcmxlYXZlX2ZpbmFsaXplKSwKCSAgKGdzdF9kZWludGVybGVhdmVfaW5pdCksIChnc3RfZGVpbnRlcmxlYXZlX3NpbmtfZXZlbnQpLAoJICAoZ3N0X2RlaW50ZXJsZWF2ZV9wcm9jZXNzKSwgKGdzdF9kZWludGVybGVhdmVfc2lua19hY3RpdmF0ZV9wdXNoKToKCSAgKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuaDoKCSAgUXVldWUgZXZlbnRzIHVudGlsIHNyYyBwYWRzIHdlcmUgYWRkZWQgYW5kIHRoZXkgY2FuIGJlIHNlbnQuIE90aGVyd2lzZQoJICBkb3duc3RyZWFtIHdpbGwgbmV2ZXIgZ2V0IHRoZSBmaXJzdCBuZXdzZWdtZW50IGV2ZW50LgoKMjAwOC0wNS0xNyAxNDowNTowMyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmM6IEFsd2F5cyBzZXQgdGhlIGNoYW5uZWwgcG9zaXRpb25zIHdoZW4gZ3N0X2F1ZGlvX2dldF9jaGFubmVsX3Bvc2l0aW9ucygpIHJldHVybnMgc29tZXRoLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOiAoZ3N0X2RlaW50ZXJsZWF2ZV9zaW5rX3NldGNhcHMpLAoJICAoZ3N0X2RlaW50ZXJsZWF2ZV9nZXRjYXBzKToKCSAgQWx3YXlzIHNldCB0aGUgY2hhbm5lbCBwb3NpdGlvbnMgd2hlbiBnc3RfYXVkaW9fZ2V0X2NoYW5uZWxfcG9zaXRpb25zKCkKCSAgcmV0dXJucyBzb21ldGhpbmcsIGV2ZW4gaWYgdGhleSdyZSBub3Qgc2V0IGluIHRoZSBjYXBzLiBUaGlzIG1ha2VzCgkgIHN1cmUgdGhhdCB0aGUgb3V0cHV0IGNoYW5uZWxzIGNhbiBiZSBpbnRlcmxlYXZlZCBhZ2FpbiBjb3JyZWN0bHkKCSAgaW4gdGhlIG1vbm8vc3RlcmVvIGNhc2VzIHRvby4KCSAgRG9uJ3QgYXNrIGZvciB0aGUgcGVlcmNhcHMgb2YgdGhlIGN1cnJlbnQgcGFkIGluIGdldGNhcHMoKSBhcyB0aGlzCgkgIG1pZ2h0IGNhbGwgZ2V0Y2FwcygpIGFnYWluIGFuZCBkZWFkbG9jay4KCjIwMDgtMDUtMTcgMTA6Mzg6MTggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIHN5cy92NGwyL2dzdHY0bDJzcmMuYzogRG9uJ3QgaW5jbHVkZSB0aGUgZ3N0djRsMnhvdmVybGF5LmggaGVhZGVyIGFzIHRoZSBYT3ZlcmxheSBzdXBwb3J0IGlzbid0IGltcGxlbWVudGVkIGF0IGFsbCB5ZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIERvbid0IGluY2x1ZGUgdGhlIGdzdHY0bDJ4b3ZlcmxheS5oIGhlYWRlciBhcyB0aGUgWE92ZXJsYXkgc3VwcG9ydAoJICBpc24ndCBpbXBsZW1lbnRlZCBhdCBhbGwgeWV0IGFuZCB0aGlzIHJlcXVpcmVzIFggaGVhZGVycyB0byBiZQoJICBpbnN0YWxsZWQuIEZpeGVzIGJ1ZyAjNTMzMjY0LgoKMjAwOC0wNS0xNiAyMTo1NjoyNCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ludGVybGVhdmUvOiBBZGQgc3VwcG9ydCBmb3IgYWxsIHJhdyBhdWRpbyBmb3JtYXRzIGFuZCBwcm92aWRlIGJldHRlciBuZWdvdGlhdGlvbiBpZiB0aGUgY2FwcyBhcmUgY2hhbmdpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pbnRlcmxlYXZlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOiAoZGVpbnRlcmxlYXZlXzI0KSwKCSAgKGdzdF9kZWludGVybGVhdmVfZmluYWxpemUpLCAoZ3N0X2RlaW50ZXJsZWF2ZV9iYXNlX2luaXQpLAoJICAoZ3N0X2RlaW50ZXJsZWF2ZV9jbGFzc19pbml0KSwgKGdzdF9kZWludGVybGVhdmVfaW5pdCksCgkgIChnc3RfZGVpbnRlcmxlYXZlX2FkZF9uZXdfcGFkcyksIChnc3RfZGVpbnRlcmxlYXZlX3NldF9wYWRzX2NhcHMpLAoJICAoZ3N0X2RlaW50ZXJsZWF2ZV9zZXRfcHJvY2Vzc19mdW5jdGlvbiksCgkgIChnc3RfZGVpbnRlcmxlYXZlX3Npbmtfc2V0Y2FwcyksIChfX3JlbW92ZV9jaGFubmVscyksCgkgIChfX3NldF9jaGFubmVscyksIChnc3RfZGVpbnRlcmxlYXZlX2dldGNhcHMpLAoJICAoZ3N0X2RlaW50ZXJsZWF2ZV9wcm9jZXNzKSwgKGdzdF9kZWludGVybGVhdmVfY2hhaW4pLAoJICAoZ3N0X2RlaW50ZXJsZWF2ZV9zaW5rX2FjdGl2YXRlX3B1c2gpOgoJICAqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5oOgoJICBBZGQgc3VwcG9ydCBmb3IgYWxsIHJhdyBhdWRpbyBmb3JtYXRzIGFuZCBwcm92aWRlIGJldHRlciBuZWdvdGlhdGlvbgoJICBpZiB0aGUgY2FwcyBhcmUgY2hhbmdpbmcuCgkgIERvbid0IGFsbG93IGNoYW5nZXMgb2YgdGhlIGNoYW5uZWwgcG9zaXRpb25zIGFuZCBzZXQgdGhlIHBvc2l0aW9uIG9mCgkgIHRoZSBjb3JyZXNwb25kaW5nIGNoYW5uZWwgb24gdGhlIHNyYyBwYWQgY2Fwcy4KCSAgR2VuZXJhbCBjbGVhbnVwIGFuZCBzbWFsbGVyIGJ1Z2ZpeGVzLgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2RlaW50ZXJsZWF2ZS5jOiAoZmxvYXRfYnVmZmVyX2NoZWNrX3Byb2JlKToKCSAgQ2hlY2sgdGhlIGNoYW5uZWwgcG9zaXRpb25zIG9uIHRoZSBvdXRwdXQgYnVmZmVyIGNhcHMuCgoyMDA4LTA1LTE2IDE3OjUwOjIwICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIEZpeCBzb21lIGNvbXBpbGVyIHdhcm5pbmdzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrc3RyZWFtcmVhZGVyLmM6CgkgICogdGVzdHMvZXhhbXBsZXMvc3BlY3RydW0vZGVtby1hdWRpb3Rlc3QuYzoKCSAgKiB0ZXN0cy9leGFtcGxlcy9zcGVjdHJ1bS9kZW1vLW9zc3NyYy5jOgoJICBGaXggc29tZSBjb21waWxlciB3YXJuaW5ncy4KCjIwMDgtMDUtMTQgMTg6Mjg6NDYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOiBTbWFsbCBjb21tZW50IGFkZGVkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOiAoZ3N0X3J0cF9oMjY0X2RlcGF5X3Byb2Nlc3MpOgoJICBTbWFsbCBjb21tZW50IGFkZGVkLgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOiAoZ3N0X3J0cF9oMjY0X3BheV9jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBfaDI2NF9wYXlfZGVjb2RlX25hbCksIChnc3RfcnRwX2gyNjRfcGF5X3BhcnNlX3Nwc19wcHMpLAoJICAoZ3N0X3J0cF9oMjY0X3BheV9wYXlsb2FkX25hbCksIChnc3RfcnRwX2gyNjRfcGF5X2hhbmRsZV9idWZmZXIpOgoJICBEZWJ1ZyBzdHJpbmcgY2xlYW51cHMgKHJlbW92ZSB0cmFpbGluZyBcbikKCSAgUmVmYWN0b3IgYW5kIGNsZWFuIHVwIHRoZSBwYXlsb2FkZXIgYSBiaXQgYW5kIG1ha2Ugc3VyZSB0aGF0IHdlIG9ubHkKCSAgcHV0IG9uZSBOQUwgdW5pdCBpbiBhbiBSVFAgcGFja2V0IGV2ZW4gaWYgdGhlIGlucHV0IGJ1ZmZlciBjb250YWlucwoJICBtdWx0aXBsZSBOQUwgdW5pdHMuCgkgIEFkZCBzdXBvcnQgZm9yIEFWQyBmb3JtYXQgaW5wdXQuCgoyMDA4LTA1LTE0IDE3OjU4OjUwICswMDAwICBQZXRlciBLamVsbGVyc3RlZHQgPHBrakBheGlzLmNvbT4KCgkgIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS4qOiBNYWtlIGl0IHBvc3NpYmxlIHRvIHNwZWNpZnkgcHJvZmlsZS1sZXZlbC1pZCBhbmQgc3Byb3AtcGFyYW1ldGVyLXNldHMgdXNpbmcgcHJvcGVydGllcyBpbiBjYS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzogKGdzdF9ydHBfaDI2NF9wYXlfY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwX2gyNjRfcGF5X2ZpbmFsaXplKSwgKGdzdF9ydHBfaDI2NF9wYXlfaGFuZGxlX2J1ZmZlciksCgkgIChnc3RfcnRwX2gyNjRfcGF5X3NldF9wcm9wZXJ0eSksIChnc3RfcnRwX2gyNjRfcGF5X2dldF9wcm9wZXJ0eSk6CgkgICogZ3N0L3J0cC9nc3RydHBoMjY0cGF5Lmg6CgkgIE1ha2UgaXQgcG9zc2libGUgdG8gc3BlY2lmeSBwcm9maWxlLWxldmVsLWlkIGFuZCBzcHJvcC1wYXJhbWV0ZXItc2V0cwoJICB1c2luZyBwcm9wZXJ0aWVzIGluIGNhc2UgdGhleSBhcmUgbm90IGF2YWlsYWJsZSBpbi1zdHJlYW0uCgoyMDA4LTA1LTE0IDE0OjE5OjQ3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06IEFkZCBkZWludGVybGVhdmUgdW5pdCB0ZXN0IHRvIFZBTEdSSU5EX1RPX0ZJWCwgc2luY2UgaXQgY2F1c2VzIHdlaXJkIGludmFsaWQgZnJlZSBlcnJvcnMgaW4gLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBBZGQgZGVpbnRlcmxlYXZlIHVuaXQgdGVzdCB0byBWQUxHUklORF9UT19GSVgsIHNpbmNlIGl0IGNhdXNlcwoJICB3ZWlyZCBpbnZhbGlkIGZyZWUgZXJyb3JzIGluIHZhbGdyaW5kL2xpYmMgYWZ0ZXIgX2V4aXQgZm9yIHNvbWUKCSAgcmVhc29uLgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2RlaW50ZXJsZWF2ZS5jOiAocGFkc19jcmVhdGVkKSwKCSAgKHNldF9jaGFubmVsX3Bvc2l0aW9ucyksIChzcmNfaGFuZG9mZl9mbG9hdDMyXzhjaCksCgkgIChmbG9hdF9idWZmZXJfY2hlY2tfcHJvYmUpLAoJICAocGFkX2FkZGVkX3NldHVwX2RhdGFfY2hlY2tfZmxvYXQzMl84Y2hfY2IpLAoJICAobWFrZV9mYWtlX3NyY184Y2hhbnNfZmxvYXQzMiksIChHU1RfU1RBUlRfVEVTVCksCgkgIChkZWludGVybGVhdmVfc3VpdGUpOgoJICBBZGQgc29tZSBtb3JlIGRlaW50ZXJsZWF2ZSB1bml0IHRlc3QgYml0cyBJIGhhZCBsb2NhbGx5LgoKMjAwOC0wNS0xNCAxMjo1MjoxNSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZG9jcy9wbHVnaW5zLzogUmVtb3ZlIGxhZHNwYSBmcm8gcGx1Z2luLWRvY3MsIGl0cyBpbiBnc3QtcGx1Z2lucy1iYWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSAgUmVtb3ZlIGxhZHNwYSBmcm8gcGx1Z2luLWRvY3MsIGl0cyBpbiBnc3QtcGx1Z2lucy1iYWQuCgoyMDA4LTA1LTE0IDA3OjMyOjQ0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvaW50ZXJsZWF2ZS86IFNwbGl0IGRlZmluaXRpb25zIGludG8gc2VwYXJhdGUgaGVhZGVyIGZpbGVzIGZvciBiZXR0ZXIgZG9jdW1lbnRhdGlvbiBnZW5lcmF0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaW50ZXJsZWF2ZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuaDoKCSAgKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmg6CgkgICogZ3N0L2ludGVybGVhdmUvcGx1Z2luLmg6CgkgIFNwbGl0IGRlZmluaXRpb25zIGludG8gc2VwYXJhdGUgaGVhZGVyIGZpbGVzIGZvciBiZXR0ZXIgZG9jdW1lbnRhdGlvbgoJICBnZW5lcmF0aW9uLgoJICAqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOiAoZ3N0X2RlaW50ZXJsZWF2ZV9iYXNlX2luaXQpLAoJICAoZ3N0X2RlaW50ZXJsZWF2ZV9jbGFzc19pbml0KSwgKGdzdF9kZWludGVybGVhdmVfc2lua19zZXRjYXBzKSwKCSAgKGdzdF9kZWludGVybGVhdmVfcHJvY2Vzcyk6CgkgIERvbid0IHVzZSBhbGxvY2EsIGFsbG93IGNhcHMgY2hhbmdlcyBhcyBsb25nIGFzIHRoZSBudW1iZXIgb2YgY2hhbm5lbHMKCSAgZG9lcyBub3QgY2hhbmdlLCBkb24ndCB1c2UgZ193YXJuaW5nLCByZXR1cm4gTk9UX05FR09USUFURUQgYXMgZWFybHkKCSAgYXMgcG9zc2libGUgYW5kIHNvbWUgb3RoZXIgY2xlYW51cC4KCSAgKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6IChnc3RfaW50ZXJsZWF2ZV9iYXNlX2luaXQpLAoJICAoZ3N0X2ludGVybGVhdmVfY2xhc3NfaW5pdCk6CgkgIERvIHNvbWUgcmFuZG9tIGNsZWFudXAuCgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvZGVpbnRlcmxlYXZlLmM6IChHU1RfU1RBUlRfVEVTVCksCgkgIChkZWludGVybGVhdmVfY2hhaW5fZnVuYyksIChkZWludGVybGVhdmVfcGFkX2FkZGVkKSwKCSAgKGRlaW50ZXJsZWF2ZV9zdWl0ZSk6CgkgIEFkZCB1bml0IHRlc3RzIGZvciB0aGUgZGVpbnRlcmxlYXZlIGVsZW1lbnQuCgoyMDA4LTA1LTEzIDIwOjI1OjIwICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkgIGdzdC9hdmkvZ3N0YXZpbXV4LmM6IFNlbmQgYW4gaW5pdGlhbCBCWVRFIHNlZ21lbnQgdG8gaW5mb3JtIGRvd25zdHJlYW0gb2YgbGF0ZXIgc2Vla2luZywgYW5kIHRvIGZvcmVnbyBzeW5jIGF0dGVtcHRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aW11eC5jOiAoZ3N0X2F2aV9tdXhfc3RhcnRfZmlsZSk6CgkgIFNlbmQgYW4gaW5pdGlhbCBCWVRFIHNlZ21lbnQgdG8gaW5mb3JtIGRvd25zdHJlYW0gb2YgbGF0ZXIgc2Vla2luZywKCSAgYW5kIHRvIGZvcmVnbyBzeW5jIGF0dGVtcHRzLgoKMjAwOC0wNS0xMyAwODo1OTo0MSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvZ3N0cnRwZzcyOWRlcGF5LmM6IEZpeCB3cm9uZyBjYXBzIHN0cmluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBnNzI5ZGVwYXkuYzogKGdzdF9ydHBfZzcyOV9kZXBheV9zZXRjYXBzKToKCSAgRml4IHdyb25nIGNhcHMgc3RyaW5nLgoKMjAwOC0wNS0xMyAwODozNTo1NSArMDAwMCAgT2xpdmllciBDcmV0ZSA8dGVzdGVyQHRlc3Rlci5jYT4KCgkgIGdzdC9ydHAvOiBBZGRlZCBHNzI5IHBheSBhbmQgZGVwYXlsb2FkZXJzLiBGaXhlcyAjNTMyNDA5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQmFzZWQgb24gcGF0Y2ggYnk6IE9saXZpZXIgQ3JldGUgPHRlc3RlciBhdCB0ZXN0ZXIgZG90IGNhPgoJICAqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkgICogZ3N0L3J0cC9nc3RydHAuYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cGc3MjlkZXBheS5jOiAoZ3N0X3J0cF9nNzI5X2RlcGF5X2Jhc2VfaW5pdCksCgkgIChnc3RfcnRwX2c3MjlfZGVwYXlfY2xhc3NfaW5pdCksIChnc3RfcnRwX2c3MjlfZGVwYXlfaW5pdCksCgkgIChnc3RfcnRwX2c3MjlfZGVwYXlfc2V0Y2FwcyksIChnc3RfcnRwX2c3MjlfZGVwYXlfcHJvY2VzcyksCgkgIChnc3RfcnRwX2c3MjlfZGVwYXlfcGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwZzcyOWRlcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBnNzI5cGF5LmM6IChnc3RfcnRwZzcyOXBheV9iYXNlX2luaXQpLAoJICAoZ3N0X3J0cGc3MjlwYXlfY2xhc3NfaW5pdCksIChnc3RfcnRwZzcyOXBheV9pbml0KSwKCSAgKGdzdF9ydHBnNzI5cGF5X3NldGNhcHMpLCAoZ3N0X3J0cF9nNzI5X3BheV9wbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBnNzI5cGF5Lmg6CgkgIEFkZGVkIEc3MjkgcGF5IGFuZCBkZXBheWxvYWRlcnMuIEZpeGVzICM1MzI0MDkuCgoyMDA4LTA1LTEzIDA4OjIxOjI2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6IEZpeCB0aGUgY2FsY3VsYXRpb24gb2YgdGhlIGR1cmF0aW9uIG9mIHRoZSBjb25jZWFsbWVudCBwYWNrZXRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzogKHNwZWV4X2RlY19zaW5rX2V2ZW50KToKCSAgRml4IHRoZSBjYWxjdWxhdGlvbiBvZiB0aGUgZHVyYXRpb24gb2YgdGhlIGNvbmNlYWxtZW50IHBhY2tldHMuCgoyMDA4LTA1LTEyIDE4OjI3OjI0ICswMDAwICBPbGl2aWVyIENyZXRlIDx0ZXN0ZXJAdGVzdGVyLmNhPgoKCSAgZ3N0L3J0cC86IEFkZCBEViBwYXkgYW5kIGRlcGF5bG9hZGVycy4gRml4ZXMgIzUzMjQyMy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEJhc2VkIG9uIHBhdGNoIGJ5OiBPbGl2aWVyIENyZXRlIDx0ZXN0ZXIgYXQgdGVzdGVyIGRvdCBjYT4KCSAgKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9ydHAvZ3N0cnRwLmM6IChwbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBkdmRlcGF5LmM6IChnc3RfcnRwX2R2X2RlcGF5X2Jhc2VfaW5pdCksCgkgIChnc3RfcnRwX2R2X2RlcGF5X2NsYXNzX2luaXQpLCAoZ3N0X3J0cF9kdl9kZXBheV9pbml0KSwKCSAgKHBhcnNlX2VuY29kZSksIChnc3RfcnRwX2R2X2RlcGF5X3NldGNhcHMpLAoJICAoY2FsY3VsYXRlX2RpZmJsb2NrX2xvY2F0aW9uKSwgKGdzdF9ydHBfZHZfZGVwYXlfcHJvY2VzcyksCgkgIChnc3RfcnRwX2R2X2RlcGF5X3Jlc2V0KSwgKGdzdF9ydHBfZHZfZGVwYXlfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9ydHBfZHZfZGVwYXlfcGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwZHZkZXBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwZHZwYXkuYzogKGdzdF9kdl9wYXlfbW9kZV9nZXRfdHlwZSksCgkgIChnc3RfcnRwX2R2X3BheV9iYXNlX2luaXQpLCAoZ3N0X3J0cF9kdl9wYXlfY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwX2R2X3BheV9pbml0KSwgKGdzdF9kdl9wYXlfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9kdl9wYXlfZ2V0X3Byb3BlcnR5KSwgKGdzdF9ydHBfZHZfcGF5X3NldGNhcHMpLAoJICAoZ3N0X2R2X3BheV9uZWdvdGlhdGUpLCAoaW5jbHVkZV9kaWYpLAoJICAoZ3N0X3J0cF9kdl9wYXlfaGFuZGxlX2J1ZmZlciksIChnc3RfcnRwX2R2X3BheV9wbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBkdnBheS5oOgoJICBBZGQgRFYgcGF5IGFuZCBkZXBheWxvYWRlcnMuIEZpeGVzICM1MzI0MjMuCgoyMDA4LTA1LTEyIDE2OjM1OjM5ICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiBDb252ZXJ0IHN1YnRpdGxlIHBhbGV0dGUgaW5mbyBpbiBWb2JTdWIgcHJpdmF0ZSBkYXRhIGZyb20gVm9iU3ViJ3MgKGJ1Z2d5KSBSR0IgdG8gWVVWLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wdXNoX2R2ZF9jbHV0X2NoYW5nZV9ldmVudCk6CgkgIENvbnZlcnQgc3VidGl0bGUgcGFsZXR0ZSBpbmZvIGluIFZvYlN1YiBwcml2YXRlIGRhdGEgZnJvbSBWb2JTdWIncwoJICAoYnVnZ3kpIFJHQiB0byBZVVYuCgoyMDA4LTA1LTEyIDE1OjI2OjAxICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkgIGdzdC9hdmkvZ3N0YXZpbXV4LmM6IERvIG5vdCBsZWF2ZSBmb3VyY2Mgc3RyZWFtIGhlYWRlciBmaWVsZCBlbXB0eSB1cG9uIHJlc2V0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aW11eC5jOiAoZ3N0X2F2aV9tdXhfcGFkX3Jlc2V0KToKCSAgRG8gbm90IGxlYXZlIGZvdXJjYyBzdHJlYW0gaGVhZGVyIGZpZWxkIGVtcHR5IHVwb24gcmVzZXQuCgkgIEZpeGVzICM1MTkzMDEuCgoyMDA4LTA1LTExIDE0OjQzOjI2ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIEFkZCBnb29tMmsxIGludG8gdGhlIGRvY3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkgICogZ3N0L2dvb20vZ3N0Z29vbS5jOgoJICAqIGdzdC9nb29tMmsxL2dzdGdvb20uYzoKCSAgQWRkIGdvb20yazEgaW50byB0aGUgZG9jcy4KCjIwMDgtMDUtMDggMTY6NTg6MDIgKzAwMDAgIFdvdXRlciBDbG9ldGVucyA8d291dGVyQG1pbmQuYmU+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IFN1cHBvcnQgRGlnZXN0IGF1dGhlbnRpY2F0aW9uLiBGaXhlcyAjNTMyMDY1LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQmFzZWQgb24gcGF0Y2ggYnk6IFdvdXRlciBDbG9ldGVucyAgPHdvdXRlciBhdCBtaW5kIGJlPgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX2luaXQpLAoJICAoZ3N0X3J0c3BzcmNfc2tpcF9sd3MpLCAoZ3N0X3J0c3BzcmNfdW5za2lwX2x3cyksCgkgIChnc3RfcnRzcHNyY19za2lwX2NvbW1hcyksIChnc3RfcnRzcHNyY19za2lwX2l0ZW0pLAoJICAoZ3N0X3J0c3BfZGVjb2RlX3F1b3RlZF9zdHJpbmcpLAoJICAoZ3N0X3J0c3BzcmNfcGFyc2VfZGlnZXN0X2NoYWxsZW5nZSksIChnc3RfcnRzcHNyY19wYXJzZV9hdXRoX2hkciksCgkgIChnc3RfcnRzcHNyY19zZXR1cF9hdXRoKToKCSAgU3VwcG9ydCBEaWdlc3QgYXV0aGVudGljYXRpb24uIEZpeGVzICM1MzIwNjUuCgoyMDA4LTA1LTA4IDEwOjIwOjUyICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzogQWxzbyBzdXBwb3J0IDMyYml0IChlLmcuIHdoZSBoYXZpbmcgaXQgYWZ0ZXIgJ21hZCcpLiBBZGQgbW9yZSBub3RlcyBhYm91dCB3aGF0cyBuZWVkZWQgZm9yIGxpYm8uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2xldmVsL2dzdGxldmVsLmM6CgkgIEFsc28gc3VwcG9ydCAzMmJpdCAoZS5nLiB3aGUgaGF2aW5nIGl0IGFmdGVyICdtYWQnKS4gQWRkIG1vcmUgbm90ZXMKCSAgYWJvdXQgd2hhdHMgbmVlZGVkIGZvciBsaWJvaWwgYWNjZWxlcmF0aW9uLiBTaW1wbGlmeSBkb2NzIGEgYml0LgoKMjAwOC0wNS0wOCAwODoxNTozNCArMDAwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkQGx1b24ubmV0PgoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOiBVcGRhdGUgdGhlIHRyYWNrIGR1cmF0aW9uIGlmIHRoZSBvbGQgb25lIHdhcyBpbnZhbGlkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFNqb2VyZCBTaW1vbnMgPHNqb2VyZCBhdCBsdW9uIGRvdCBuZXQ+CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOiAoZ3N0X21hdHJvc2thX211eF9jb2xsZWN0ZWQpOgoJICBVcGRhdGUgdGhlIHRyYWNrIGR1cmF0aW9uIGlmIHRoZSBvbGQgb25lIHdhcyBpbnZhbGlkLgoJICBGaXhlcyBidWcgIzUzMjExNy4KCjIwMDgtMDUtMDcgMTY6MzY6MDQgKzAwMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b2xlLmFuZHJlLnJhdm5hc0B0YW5kYmVyZy5jb20+CgoJICBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYyAoZ3N0X3J0cF9oMjY0X3BheV9wYXJzZV9zcHNfcHBzKTogVXNlIEdTVF9TVFJfTlVMTCB3aGVuIHRyeWluZyB0byBwcmludCBzcHMgYW5kIHBwcyBzdHJpbmdzIHQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmMgKGdzdF9ydHBfaDI2NF9wYXlfcGFyc2Vfc3BzX3Bwcyk6CgkgIFVzZSBHU1RfU1RSX05VTEwgd2hlbiB0cnlpbmcgdG8gcHJpbnQgc3BzIGFuZCBwcHMgc3RyaW5ncyB0aGF0IGNvdWxkCgkgIGJlIE5VTEwsIGFzIHRoaXMgbWlnaHQgY3Jhc2ggb24gc29tZSBwbGF0Zm9ybXMuCgoyMDA4LTA1LTA3IDE1OjMzOjUyICswMDAwICBIYWFrb24gU3BvcnNoZWltIDxoYWFrb24uc3BvcnNoZWltQHRhbmRiZXJnLmNvbT4KCgkgIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmMgKGdzdF9kaXJlY3RkcmF3X3Npbmtfc2V0dXBfZGRyYXcpOiBEbyBJRGlyZWN0RHJhd0NsaXBwZXJfU2V0SFduZCgpIGlmIHRoZSB3aW5kb3cgSS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcGF0Y2ggYnk6IEhhYWtvbiBTcG9yc2hlaW0gPGhhYWtvbi5zcG9yc2hlaW0gYXQgdGFuZGJlcmcgY29tPgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmMgKGdzdF9kaXJlY3RkcmF3X3Npbmtfc2V0dXBfZGRyYXcpOgoJICBEbyBJRGlyZWN0RHJhd0NsaXBwZXJfU2V0SFduZCgpIGlmIHRoZSB3aW5kb3cgSUQgaGFzIGFscmVhZHkgYmVlbgoJICBzZXQgYWZ0ZXIgY3JlYXRpbmcgdGhlIGNsaXBwZXIuCgoyMDA4LTA1LTA3IDE1OjI4OjA2ICswMDAwICBIYWFrb24gU3BvcnNoZWltIDxoYWFrb24uc3BvcnNoZWltQHRhbmRiZXJnLmNvbT4KCgkgIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmMgKGdzdF9kaXJlY3RkcmF3X3Npbmtfc2hvd19mcmFtZSk6IEFkZGVkIGNoZWNraW5nIG9mIHN1cmZhY2UgbG9zdCBjYXNlIGFmdGVyIGFuIHVucy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcGF0Y2ggYnk6IEhhYWtvbiBTcG9yc2hlaW0gPGhhYWtvbi5zcG9yc2hlaW0gYXQgdGFuZGJlcmcgY29tPgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmMgKGdzdF9kaXJlY3RkcmF3X3Npbmtfc2hvd19mcmFtZSk6CgkgIEFkZGVkIGNoZWNraW5nIG9mIHN1cmZhY2UgbG9zdCBjYXNlIGFmdGVyIGFuIHVuc3VjY2Vzc2Z1bAoJICBJRGlyZWN0RHJhd1N1cmZhY2U3X0xvY2soKSBjYWxsLgoJICBJZiBzdXJmYWNlIGlzIGxvc3QsIHJldHVybiBHU1RfRkxPV19PSy4KCjIwMDgtMDUtMDcgMTU6MTk6NDcgKzAwMDAgIEhhYWtvbiBTcG9yc2hlaW0gPGhhYWtvbi5zcG9yc2hlaW1AdGFuZGJlcmcuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJICBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jIChnc3RfZGlyZWN0ZHJhd19zaW5rX3Nob3dfZnJhbWUsCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBwYXRjaCBieTogSGFha29uIFNwb3JzaGVpbSA8aGFha29uLnNwb3JzaGVpbSBhdCB0YW5kYmVyZyBjb20+CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYyAoZ3N0X2RpcmVjdGRyYXdfc2lua19zaG93X2ZyYW1lLAoJICBXbmRQcm9jLCBnc3RfZGlyZWN0ZHJhd19zaW5rX3dpbmRvd190aHJlYWQpOgoJICBJbXByb3ZlZCBXaW5kb3dzIG1lc3NhZ2UgbG9vcCBhbmQgZml4ZWQgd2luZG93IGRlc3RydWN0aW9uIGlzc3VlLgoJICBXaGVuIHRoZSB3aW5kb3cgd2hpY2ggRGlyZWN0RHJhdyBpcyByZW5kZXJpbmcgdG8gaXMgZGVzdHJveWVkLCB0aGUKCSAgcmVuZGVyL3Nob3dfZnJhbWUgZnVuY3Rpb24gd2lsbCByZXR1cm4gR1NUX0ZMT1dfRVJST1IuCgkgIFBhcnRpYWxseSBmaXhlcyAjNTIwODg1LgoKMjAwOC0wNS0wNyAxNTowOToxMCArMDAwMCAgSGFha29uIFNwb3JzaGVpbSA8aGFha29uLnNwb3JzaGVpbUB0YW5kYmVyZy5jb20+CgoJICBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jIChnc3RfZGlyZWN0ZHJhd19zaW5rX3NldF9jYXBzKTogRml4ZWQgbWlkIHN0cmVhbSByZXNvbHV0aW9uIGNoYW5nZSBidWcsIHRoZSBvZmZzY3IuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHBhdGNoIGJ5OiBIYWFrb24gU3BvcnNoZWltIDxoYWFrb24uc3BvcnNoZWltIGF0IHRhbmRiZXJnIGNvbT4KCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jIChnc3RfZGlyZWN0ZHJhd19zaW5rX3NldF9jYXBzKToKCSAgRml4ZWQgbWlkIHN0cmVhbSByZXNvbHV0aW9uIGNoYW5nZSBidWcsIHRoZSBvZmZzY3JlZW4gc3VyZmFjZSBpcyBub3cKCSAgcmVsZWFzZWQgd2hlbiBzZXRfY2FwcyBpcyBjYWxsZWQuCgkgIFBhcnRpYWxseSBmaXhlcyAjNTIwODg1LgoKMjAwOC0wNS0wNyAxNDo1NjoyMiArMDAwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvbGUuYW5kcmUucmF2bmFzQHRhbmRiZXJnLmNvbT4KCgkqIENoYW5nZUxvZzoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jCgkgIChnc3RfZGlyZWN0ZHJhd19zaW5rX2J1ZmZlcl9hbGxvYyk6CgkgIE1ha2UgaXQgc28gdGhhdCBnc3RfZGlyZWN0ZHJhd19zaW5rX2J1ZmZlcl9hbGxvYyB1c2VzIHRoZSByaWdodAoJICB3aWR0aC9oZWlnaHQuCgkgIEVzcGVjaWFsbHkgd2hlbiBsb29raW5nIHRocm91Z2ggdGhlIHBvb2wgb2YgYnVmZmVycywgbWFrZSBzdXJlIHRoYXQKCSAgdGhlIHdpZHRoL2hlaWdodCBvZiBjYXBzIGlzIHVzZWQgaW5zdGVhZCBvZiB0aGUgYWxyZWFkeSBuZWdvdGlhdGVkCgkgIGRpbWVuc2lvbnMuCgkgIEZvciBleGFtcGxlIGlmIGEgYnVmZmVyIHdpdGggZGlmZmVyZW50IGNhcHMgaXMgcmVxdWVzdGVkLCBpLmUuCgkgIGhpZ2hlciByZXNvbHV0aW9uLCB0aGUgY2FsbGVyIHdvdWxkIGdldCBhIGJ1ZmZlciB3aXRoIHRoZSBvbGQKCSAgZGltZW5zaW9ucyBhbmQgdGh1cyBjb3JydXB0IHRoZSBoZWFwLgoKMjAwOC0wNS0wNyAxNDo0MzozOSArMDAwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvbGUuYW5kcmUucmF2bmFzQHRhbmRiZXJnLmNvbT4KCgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYwoJICAoZ3N0X2RpcmVjdGRyYXdfc2lua19idWZmZXJfYWxsb2MpOgoJICBDbGVhciB0aGUgZmxhZ3Mgb24gcmVjeWNsZWQgYnVmZmVycyBmcm9tIGJ1ZmZlcl9hbGxvYy4KCSAgUGFydGlhbGx5IGZpeGVzICM1MjA4ODUuCgkgIFRoZSByaWdodCBmaXggdGhpcyB0aW1lLgoKMjAwOC0wNS0wNyAxNDozOTo0NSArMDAwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvbGUuYW5kcmUucmF2bmFzQHRhbmRiZXJnLmNvbT4KCgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYwoJICAoZ3N0X2RpcmVjdGRyYXdfc2lua19idWZmZXJfYWxsb2MpOgoJICBSZXZlcnRpbmcgcHJldmlvdXMgY29tbWl0LCBpdCBoYWQgaXQgYWxsIG1peGVkIHVwLCB3YXMgZm9yIGEgZGlmZmVyZW50CgkgIHBhdGNoIChtYWpvciBhdXRvbWF0aW9uIHNjcmV3LXVwKS4gU29ycnkhCgoyMDA4LTA1LTA3IDEzOjQ4OjI4ICswMDAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9sZS5hbmRyZS5yYXZuYXNAdGFuZGJlcmcuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJICBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmMKCSAgKGdzdF9kaXJlY3RkcmF3X3NpbmtfYnVmZmVyX2FsbG9jKToKCSAgQ2xlYXIgdGhlIGZsYWdzIG9uIHJlY3ljbGVkIGJ1ZmZlcnMgZnJvbSBidWZmZXJfYWxsb2MuCgkgIFBhcnRpYWxseSBmaXhlcyAjNTIwODg1LgoKMjAwOC0wNS0wNyAxMToyMjo1MSArMDAwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvbGUuYW5kcmUucmF2bmFzQHRhbmRiZXJnLmNvbT4KCgkgIGdzdC9ydHAvZ3N0cnRwaWxiY3BheS5jOiBBZGRlZCBtaXNzaW5nIHN0ZGxpYi5oIGluY2x1ZGUgZm9yIHN0cnRvbCgpLCBhbmQgbWFkZSBpbmNsdWRlIG9yZGVyaW5nIGFuZCBzdHlsZSBjb25zaXN0ZW50IC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGlsYmNwYXkuYzoKCSAgQWRkZWQgbWlzc2luZyBzdGRsaWIuaCBpbmNsdWRlIGZvciBzdHJ0b2woKSwgYW5kIG1hZGUgaW5jbHVkZSBvcmRlcmluZyBhbmQKCSAgc3R5bGUgY29uc2lzdGVudCB3aXRoIHRoZSBjb3JyZXNwb25kaW5nIGRlcGF5bG9hZGVyLgoKMjAwOC0wNS0wNyAwOTo1MjozNCArMDAwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvbGUuYW5kcmUucmF2bmFzQHRhbmRiZXJnLmNvbT4KCgkgIGdzdC9ydHAvZ3N0cnRwaWxiY3BheS5jOiBBZGRlZCBtaXNzaW5nIHN0ZGxpYi5oIGluY2x1ZGUgZm9yIHN0cnRvbCgpLCBhbmQgbWFkZSBpbmNsdWRlIG9yZGVyaW5nIGFuZCBzdHlsZSBjb25zaXN0ZW50IC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGlsYmNwYXkuYzoKCSAgQWRkZWQgbWlzc2luZyBzdGRsaWIuaCBpbmNsdWRlIGZvciBzdHJ0b2woKSwgYW5kIG1hZGUgaW5jbHVkZSBvcmRlcmluZyBhbmQKCSAgc3R5bGUgY29uc2lzdGVudCB3aXRoIHRoZSBjb3JyZXNwb25kaW5nIGRlcGF5bG9hZGVyLgoKMjAwOC0wNS0wNyAwODowMzo1MSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogRXJyb3Igb3V0IGlmIHdlIGRvbid0IGhhdmUgdGhlIHJlcXVpcmVkIGNvcmUvYmFzZSB2ZXJzaW9ucy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBFcnJvciBvdXQgaWYgd2UgZG9uJ3QgaGF2ZSB0aGUgcmVxdWlyZWQgY29yZS9iYXNlIHZlcnNpb25zLgoKMjAwOC0wNS0wNiAwOTozMzo0NiArMDAwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkgIHN5cy9vc3h2aWRlby9jb2NvYXdpbmRvdy5tOiBGaXggY29tcGlsZXIgd2FybmluZ3Mgb24gUFBDNjQuIEZpeGVzIGJ1ZyAjNDk5MzE4LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpciBhdCBnbWFpbCBkb3QgY29tPgoJICAqIHN5cy9vc3h2aWRlby9jb2NvYXdpbmRvdy5tOgoJICBGaXggY29tcGlsZXIgd2FybmluZ3Mgb24gUFBDNjQuIEZpeGVzIGJ1ZyAjNDk5MzE4LgoKMjAwOC0wNS0wNSAxMToxOToxMyArMDAwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkQGx1b24ubmV0PgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiBEb24ndCBsZWFrIGZpbGUgZGVzY3JpcHRvcnMgb24gZXJyb3IuIEZpeGVzICM1MzE1MzIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU2pvZXJkIFNpbW9ucyA8c2pvZXJkIGF0IGx1b24gZG90IG5ldD4KCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19pbml0KSwgKGdzdF9ydHNwc3JjX29wZW4pOgoJICBEb24ndCBsZWFrIGZpbGUgZGVzY3JpcHRvcnMgb24gZXJyb3IuIEZpeGVzICM1MzE1MzIuCgoyMDA4LTA1LTAzIDA5OjE4OjIyICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvZ2NvbmYvOiBXaGVuIHdlIGNhbid0IGNyZWF0ZSBhIGZha2VzaW5rL2Zha2VzcmMgY29tcGxhaW4gaW5zdGVhZCBvZiB1bnJlZmZpbmcKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2djb25mL2dzdGdjb25mYXVkaW9zcmMuYzogKGdzdF9nY29uZl9hdWRpb19zcmNfcmVzZXQpLAoJICAoZ3N0X2djb25mX2F1ZGlvX3NyY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9nY29uZi9nc3RnY29uZnZpZGVvc2luay5jOiAoZ3N0X2djb25mX3ZpZGVvX3NpbmtfcmVzZXQpLAoJICAoZ3N0X2djb25mX3ZpZGVvX3NpbmtfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvZ2NvbmYvZ3N0Z2NvbmZ2aWRlb3NyYy5jOiAoZ3N0X2djb25mX3ZpZGVvX3NyY19yZXNldCksCgkgIChnc3RfZ2NvbmZfdmlkZW9fc3JjX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L2djb25mL2dzdHN3aXRjaHNpbmsuYzogKGdzdF9zd2l0Y2hfc2lua19yZXNldCksCgkgIChnc3Rfc3dpdGNoX2NvbW1pdF9uZXdfa2lkKSwgKGdzdF9zd2l0Y2hfc2lua19jaGFuZ2Vfc3RhdGUpOgoJICBXaGVuIHdlIGNhbid0IGNyZWF0ZSBhIGZha2VzaW5rL2Zha2VzcmMgY29tcGxhaW4gaW5zdGVhZCBvZiB1bnJlZmZpbmcKCSAgTlVMTCBwb2ludGVycyBhbmQgY3Jhc2hpbmcgbGF0ZXIuIFNlZSBidWcgIzUzMDUzNS4KCjIwMDgtMDUtMDIgMTI6NDQ6MTggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwL2dzdHJ0cGgyNjNwZGVwYXkuYzogQWRkIHNvbWUgbW9yZSBkZWJ1ZyBpbmZvIGFuZCBndWFyZCBhZ2FpbnN0IHNtYWxsIHBheWxvYWRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjNwZGVwYXkuYzogKGdzdF9ydHBfaDI2M3BfZGVwYXlfcHJvY2Vzcyk6CgkgIEFkZCBzb21lIG1vcmUgZGVidWcgaW5mbyBhbmQgZ3VhcmQgYWdhaW5zdCBzbWFsbCBwYXlsb2Fkcy4KCSAgKiBnc3QvcnRwL2dzdHJ0cHBjbXVkZXBheS5jOiAoZ3N0X3J0cF9wY211X2RlcGF5X3Byb2Nlc3MpOgoJICBTZXQgZHVyYXRpb24gb24gb3V0Z29pbmcgYnVmZmVycyBiZWNhdXNlIHdlIGNhbi4KCjIwMDgtMDUtMDIgMTI6Mzk6MDMgKzAwMDAgIE9saXZpZXIgQ3JldGUgPHRlc3RlckB0ZXN0ZXIuY2E+CgoJICBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzogQWRkIG5lZ290aWF0aW9uIGZvciB0aGUgc3BlZXggY2hhbm5lbHMgYW5kIHJhdGUuIEZpeGVzICM0NjUxNDYuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogT2xpdmllciBDcmV0ZSA8dGVzdGVyIGF0IHRlc3RlciBkb3QgY2E+CgkgICogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6IChnc3Rfc3BlZXhfZW5jX3NpbmtfZ2V0Y2FwcyksCgkgIChnc3Rfc3BlZXhfZW5jX2luaXQpLCAoZ3N0X3NwZWV4X2VuY19jaGFpbik6CgkgIEFkZCBuZWdvdGlhdGlvbiBmb3IgdGhlIHNwZWV4IGNoYW5uZWxzIGFuZCByYXRlLiBGaXhlcyAjNDY1MTQ2LgoKMjAwOC0wNS0wMiAxMjozNDoyMiArMDAwMCAgT2xpdmllciBDcmV0ZSA8dGVzdGVyQHRlc3Rlci5jYT4KCgkgIGdzdC9ydHAvZ3N0cnRwc3BlZXhwYXkuYzogQWRkIG5lZ290aWF0aW9uIGZvciB0aGUgc3BlZWMgY2hhbm5lbHMgYW5kIHJhdGUuIFNlZSAjNDY1MTQ2LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE9saXZpZXIgQ3JldGUgPHRlc3RlciBhdCB0ZXN0ZXIgZG90IGNhPgoJICAqIGdzdC9ydHAvZ3N0cnRwc3BlZXhwYXkuYzogKGdzdF9ydHBfc3BlZXhfcGF5X2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cF9zcGVleF9wYXlfZ2V0Y2Fwcyk6CgkgIEFkZCBuZWdvdGlhdGlvbiBmb3IgdGhlIHNwZWVjIGNoYW5uZWxzIGFuZCByYXRlLiBTZWUgIzQ2NTE0Ni4KCjIwMDgtMDUtMDIgMTI6MjQ6NTUgKzAwMDAgIE9saXZpZXIgQ3JldGUgPHRlc3RlckB0ZXN0ZXIuY2E+CgoJICBnc3QvcnRwL2dzdHJ0cGlsYmNwYXkuYzogQWRkIG5lZ290aWF0aW9uIGZvciB0aGUgSUxCQyBtb2RlLiBTZWUgIzQ2NTE0Ni4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBPbGl2aWVyIENyZXRlIDx0ZXN0ZXIgYXQgdGVzdGVyIGRvdCBjYT4KCSAgKiBnc3QvcnRwL2dzdHJ0cGlsYmNwYXkuYzogKGdzdF9ydHBpbGJjcGF5X2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cGlsYmNwYXlfc2lua19zZXRjYXBzKSwgKGdzdF9ydHBpbGJjcGF5X3NpbmtfZ2V0Y2Fwcyk6CgkgIEFkZCBuZWdvdGlhdGlvbiBmb3IgdGhlIElMQkMgbW9kZS4gU2VlICM0NjUxNDYuCgoyMDA4LTA1LTAyIDExOjMyOjMxICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOiBJbmNsdWRlIHN0ZGxpYiB0byBmaXggdGhlIGJ1aWxkLiBVc2UgZ19mcmVlIGluc3RlYWQgb2YgZnJlZSwgbGlic291cCB1c2VzIGdsaWIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIEluY2x1ZGUgc3RkbGliIHRvIGZpeCB0aGUgYnVpbGQuIFVzZSBnX2ZyZWUgaW5zdGVhZCBvZiBmcmVlLCBsaWJzb3VwCgkgIHVzZXMgZ2xpYi4KCjIwMDgtMDUtMDIgMDk6MDk6NTggKzAwMDAgIGpeIDxqQGJvb3RsYWIub3JnPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBBZGQgbW9yZSBtcGVnMiB2YXJpYW50cy4gRml4ZXMgIzUzMDg4Ni4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBqXiA8akBib290bGFiLm9yZz4KCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3ZpZGVvX2NhcHMpOgoJICBBZGQgbW9yZSBtcGVnMiB2YXJpYW50cy4gRml4ZXMgIzUzMDg4Ni4KCjIwMDgtMDUtMDEgMTA6NTI6MTEgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJICBnc3QvdWRwL2dzdHVkcHNyYy5jOiBEb24ndCBlcnJvciBvdXQgaWYgd2UgZ2V0IGFuIElDTVAgZGVzdGluYXRpb24tdW5yZWFjaGFibGUgbWVzc2FnZSB3aGVuIHRyeWluZyB0byByZWFkIHBhY2tldHMgb24uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWkgYXQgY29sbGFib3JhIGNvIHVrPgoJICAqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6IChnc3RfdWRwc3JjX2NyZWF0ZSk6CgkgIERvbid0IGVycm9yIG91dCBpZiB3ZSBnZXQgYW4gSUNNUCBkZXN0aW5hdGlvbi11bnJlYWNoYWJsZQoJICBtZXNzYWdlIHdoZW4gdHJ5aW5nIHRvIHJlYWQgcGFja2V0cyBvbiB3aW4zMiAoIzUyOTQ1NCkuCgoyMDA4LTA0LTMwIDEyOjE4OjQxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgVXNlIG5ldyBlcnJvciBjb2RlIGZvciBlbmNyeXB0ZWQgc3RyZWFtcyAod2hpY2ggcmVxdWlyZXMgY29yZSBDVlMpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF9wYXJzZV90cmFrKToKCSAgVXNlIG5ldyBlcnJvciBjb2RlIGZvciBlbmNyeXB0ZWQgc3RyZWFtcyAod2hpY2ggcmVxdWlyZXMgY29yZSBDVlMpLgoKMjAwOC0wNC0zMCAxMjoxMDowMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogRml4IHN3YXBwZWQgcGFkIHRlbXBsYXRlIG5hbWVzLCBzcG90dGVkIGJ5IFRoaWFnbyBTb3VzYSBTYW50b3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X3ZpZGVvc3JjX3RlbXBsYXRlKSwKCSAgKGdzdF9xdGRlbXV4X2F1ZGlvc3JjX3RlbXBsYXRlKToKCSAgRml4IHN3YXBwZWQgcGFkIHRlbXBsYXRlIG5hbWVzLCBzcG90dGVkIGJ5IFRoaWFnbyBTb3VzYSBTYW50b3MuCgoyMDA4LTA0LTMwIDA5OjQ4OjExICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6IFByb2R1Y2UgY29uY2VhbG1lbnQgZGF0YSB3aGVuIHRpbWUgcHJvZ3Jlc3NlcyBpbiBhIHNlZ21lbnQgdXBkYXRlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzogKHNwZWV4X2RlY19zaW5rX2V2ZW50KSwKCSAgKHNwZWV4X2RlY19jaGFpbl9wYXJzZV9kYXRhKToKCSAgUHJvZHVjZSBjb25jZWFsbWVudCBkYXRhIHdoZW4gdGltZSBwcm9ncmVzc2VzIGluIGEgc2VnbWVudCB1cGRhdGUuCgoyMDA4LTA0LTI5IDE0OjExOjQ1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6IFRyeSB0byBwcmVzZXJ2ZSBpbnB1dCB0aW1lc3RhbXBzIHdoZW4gd2UgY2FuLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzogKHNwZWV4X2RlY19jaGFpbl9wYXJzZV9kYXRhKSwKCSAgKHNwZWV4X2RlY19jaGFpbik6CgkgIFRyeSB0byBwcmVzZXJ2ZSBpbnB1dCB0aW1lc3RhbXBzIHdoZW4gd2UgY2FuLgoJICBEbyBiZWdpbm5pbmdzIG9mIGVycm9yIGNvbmNlYWxtZW50LgoKMjAwOC0wNC0yOCAyMjozODoxMSArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgZ3N0L2RlYnVnL2dzdG5hdmlnYXRpb250ZXN0LmM6IE1TVkMgZG9lc24ndCBwcm92aWRlIHJpbnQoKSwgZGVmaW5lIGFuIGFkZXF1YXRlIHJlcGxhY2VtZW50IGxvY2FsbHkgYXMgZWxzZXdoZXJlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVidWcvZ3N0bmF2aWdhdGlvbnRlc3QuYzoKCSAgTVNWQyBkb2Vzbid0IHByb3ZpZGUgcmludCgpLCBkZWZpbmUgYW4gYWRlcXVhdGUgcmVwbGFjZW1lbnQgbG9jYWxseSBhcwoJICBlbHNld2hlcmUuCgoyMDA4LTA0LTI4IDExOjE2OjMyICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGdzdC9kZWJ1Zy9ybmRidWZmZXJzaXplLmM6IEZpeCBwcmludGYgZm9ybWF0IHRvIHBhY2lmeSBNYWMgT1NYJ3MgZ2NjLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwOC0wNC0yOCAgSnVsaWVuIE1vdXR0ZSAgPGp1bGllbkBmbHVlbmRvLmNvbT4KCSAgKiBnc3QvZGVidWcvcm5kYnVmZmVyc2l6ZS5jOiAoZ3N0X3JuZF9idWZmZXJfc2l6ZV9sb29wKTogRml4IHByaW50ZgoJICBmb3JtYXQgdG8gcGFjaWZ5IE1hYyBPU1gncyBnY2MuCgoyMDA4LTA0LTI1IDE5OjM0OjMxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2RlYnVnL3JuZGJ1ZmZlcnNpemUuYzogQnJpbmcgcm5kYnVmZmVyc2l6ZSBlbGVtZW50IGludG8gYSBzdGF0ZSB0aGF0IGRvZXNuJ3QgcmVxdWlyZSB1cyB0byBtb3ZlIGl0IHRvIC1iYWQgaW1tZWRpLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWJ1Zy9ybmRidWZmZXJzaXplLmM6IChERUZBVUxUX1NFRUQpLCAoREVGQVVMVF9NSU4pLAoJICAoREVGQVVMVF9NQVgpLCAoc3JjX3RlbXBsYXRlKSwgKHNpbmtfdGVtcGxhdGUpLAoJICAoZ3N0X3JuZF9idWZmZXJfc2l6ZV9iYXNlX2luaXQpLCAoZ3N0X3JuZF9idWZmZXJfc2l6ZV9jbGFzc19pbml0KSwKCSAgKGdzdF9ybmRfYnVmZmVyX3NpemVfaW5pdCksIChnc3Rfcm5kX2J1ZmZlcl9zaXplX2FjdGl2YXRlKSwKCSAgKGdzdF9ybmRfYnVmZmVyX3NpemVfbG9vcCksIChnc3Rfcm5kX2J1ZmZlcl9zaXplX3BsdWdpbl9pbml0KToKCSAgQnJpbmcgcm5kYnVmZmVyc2l6ZSBlbGVtZW50IGludG8gYSBzdGF0ZSB0aGF0IGRvZXNuJ3QgcmVxdWlyZSB1cwoJICB0byBtb3ZlIGl0IHRvIC1iYWQgaW1tZWRpYXRlbHkuIEZvciBvbmUsIGZpeCB1cCBkZWZhdWx0IG1pbi9tYXgKCSAgdmFsdWVzIHNvIHRoYXQgdGhlIGVsZW1lbnQgYWN0dWFsbCB3b3JrcyB1c2luZyB0aGUgZGVmYXVsdCB2YWx1ZXMuCgkgIEFsc28sIGRvbid0IGlnbm9yZSBmbG93IHJldHVybiB2YWx1ZXMgYW5kIGRvIHNvbWUga2luZCBvZiBtaW5pbWFsCgkgIGVvcyBsb2dpYy4gQWxsb3cgbWluPW1heCB0byBwdWxsIGZpeGVkLXNpemVkIGJ1ZmZlcnMuIEJ1bmNoIG9mCgkgIG90aGVyIGdyYXR1aXRpb3VzIGNsZWFuLXVwcy4KCjIwMDgtMDQtMjUgMTk6MjQ6MDAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBkb2NzL3BsdWdpbnMvOiBBZGQgZG9jcyBmb3IgZ2RrcGl4YnVmc2luazsgdXBkYXRlIGRvY3MgdG8gQ1ZTIHZlcnNpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5pbnRlcmZhY2VzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkaW8ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2FtbWEueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhhbGVsZW1lbnRzLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9ub3Njb3BlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXVpY2t0aW1lLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JhbGFuY2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmxpcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJICBBZGQgZG9jcyBmb3IgZ2RrcGl4YnVmc2luazsgdXBkYXRlIGRvY3MgdG8gQ1ZTIHZlcnNpb24uCgoyMDA4LTA0LTI1IDE4OjQ1OjMzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgdGVzdHMvZXhhbXBsZXMvcnRwL3NlcnZlci12NGwyLUgyNjQtYWxzYXNyYy1QQ01BLnNoOiBSZW1vdmUgdGVzdCBzeW5jLW9mZnNldCBieSBkZWZhdWx0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9leGFtcGxlcy9ydHAvc2VydmVyLXY0bDItSDI2NC1hbHNhc3JjLVBDTUEuc2g6CgkgIFJlbW92ZSB0ZXN0IHN5bmMtb2Zmc2V0IGJ5IGRlZmF1bHQuCgoyMDA4LTA0LTI1IDEzOjMxOjQ4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0LzogVXNlIEdMaWIgdmVyc2lvbnMgb2YgaHRvbmwsIGh0b25zLCBudG9obCBhbmQgbnRvaHMgaW4gb3JkZXIgdG8gYXZvaWQgcHJvYmxlbXMgb24gd2luMzIgKCM1Mjk3MDcpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdGFzdGVyaXNraDI2My5jOiAoZ3N0X2FzdGVyaXNraDI2M19jaGFpbik6CgkgICogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzogKGdzdF9tdWx0aXVkcHNpbmtfYWRkX2ludGVybmFsKToKCSAgKiBnc3QvdWRwL2dzdHVkcHNyYy5jOiAoZ3N0X3VkcHNyY19zdGFydCk6CgkgIFVzZSBHTGliIHZlcnNpb25zIG9mIGh0b25sLCBodG9ucywgbnRvaGwgYW5kIG50b2hzIGluIG9yZGVyCgkgIHRvIGF2b2lkIHByb2JsZW1zIG9uIHdpbjMyICgjNTI5NzA3KS4KCjIwMDgtMDQtMjUgMTI6NTI6NDQgKzAwMDAgIEplc8O6cyBDb3JyaXVzIDxqZXN1c0Bzb2Z0Y2F0YWxhLm9yZz4KCgkgIGdzdC9nb29tLzogRml4IGJ1aWxkIHdpdGggbWluZ3czMjogdXNlIHJhbmQoKSBpbnN0ZWFkIG9mIHJhbmRvbSgpIGFuZCByZXBsYWNlIGJ6ZXJvKCkgd2l0aCBtZW1zZXQoKS4gRml4ZXMgIzUyOTY5Mi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBKZXPDunMgQ29ycml1cyA8amVzdXMgYXQgc29mdGNhdGFsYSBvcmc+CgkgICogZ3N0L2dvb20vZmlsdGVycy5jOiAoem9vbVZlY3Rvcik6CgkgICogZ3N0L2dvb20vZ29vbV9jb3JlLmM6IChpbml0X2J1ZmZlcnMpOgoJICBGaXggYnVpbGQgd2l0aCBtaW5ndzMyOiB1c2UgcmFuZCgpIGluc3RlYWQgb2YgcmFuZG9tKCkgYW5kCgkgIHJlcGxhY2UgYnplcm8oKSB3aXRoIG1lbXNldCgpLiBGaXhlcyAjNTI5NjkyLgoKMjAwOC0wNC0yNSAwNzo1NjoxMiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogRml4IHR5cG8gaW4gY29tbWVudHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfY29tYmluZV9mbG93cyk6CgkgIEZpeCB0eXBvIGluIGNvbW1lbnRzLgoJICAqIHRlc3RzL2V4YW1wbGVzL3J0cC9jbGllbnQtSDI2M3AtUENNQS5zZHA6CgkgICogdGVzdHMvZXhhbXBsZXMvcnRwL2NsaWVudC1IMjYzcC1QQ01BLnNoOgoJICAqIHRlc3RzL2V4YW1wbGVzL3J0cC9jbGllbnQtSDI2NC1QQ01BLnNkcDoKCSAgKiB0ZXN0cy9leGFtcGxlcy9ydHAvY2xpZW50LUgyNjQtUENNQS5zaDoKCSAgKiB0ZXN0cy9leGFtcGxlcy9ydHAvY2xpZW50LUgyNjQuc2RwOgoJICAqIHRlc3RzL2V4YW1wbGVzL3J0cC9jbGllbnQtSDI2NC5zaDoKCSAgKiB0ZXN0cy9leGFtcGxlcy9ydHAvY2xpZW50LVBDTUEuc2RwOgoJICAqIHRlc3RzL2V4YW1wbGVzL3J0cC9jbGllbnQtUENNQS5zaDoKCSAgKiB0ZXN0cy9leGFtcGxlcy9ydHAvc2VydmVyLWFsc2FzcmMtUENNQS5zaDoKCSAgKiB0ZXN0cy9leGFtcGxlcy9ydHAvc2VydmVyLXY0bDItSDI2M3AtYWxzYXNyYy1BTVIuc2g6CgkgICogdGVzdHMvZXhhbXBsZXMvcnRwL3NlcnZlci12NGwyLUgyNjQtYWxzYXNyYy1QQ01BLnNoOgoJICBBZGQgc29tZSBtb3JlIGRvY3MgYW5kIGZpeCBleGFtcGxlcy4KCjIwMDgtMDQtMjQgMjI6MDQ6NTcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzL211bHRpZmlsZS5jOiBJbmNsdWRlIHN0ZGxpYi5oIGFuZCB1bmlzdGQuaCBmb3IgbWtkdGVtcC4gU29tZSBwbGF0Zm9ybXMgaGF2ZSBpdCBkZWNsYXJlZCBpbiB0aGUgZi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tdWx0aWZpbGUuYzoKCSAgSW5jbHVkZSBzdGRsaWIuaCBhbmQgdW5pc3RkLmggZm9yIG1rZHRlbXAuIFNvbWUgcGxhdGZvcm1zIGhhdmUgaXQKCSAgZGVjbGFyZWQgaW4gdGhlIGZvcm1lciwgc29tZSBoYXZlIGl0IGRlY2xhcmVkIGluIHRoZSBsYXR0ZXIuCgoyMDA4LTA0LTI0IDIyOjAxOjUyICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBTdG9wIHVzaW5nIGRlcHJlY2F0ZWQgR0xpYiBmdW5jdGlvbnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9jYWlyby9nc3R0ZXh0b3ZlcmxheS5jOiAoZ3N0X3RleHRfb3ZlcmxheV9zZXRfcHJvcGVydHkpOgoJICAqIGdzdC9kZWJ1Zy90ZXN0cy5jOiAobWQ1X2dldF92YWx1ZSk6CgkgICogZ3N0L3J0cC9nc3RydHBoMjYzcGRlcGF5LmM6IChnc3RfcnRwX2gyNjNwX2RlcGF5X3NldGNhcHMpOgoJICAqIGdzdC9ydHAvZ3N0cnRwaWxiY3BheS5jOiAoZ3N0X3J0cGlsYmNwYXlfc2V0Y2Fwcyk6CgkgICogZ3N0L3J0cC9nc3RydHB0aGVvcmFkZXBheS5jOiAoZ3N0X3J0cF90aGVvcmFfZGVwYXlfc2V0Y2Fwcyk6CgkgICogZ3N0L3J0cC9nc3RydHB2b3JiaXNkZXBheS5jOiAoZ3N0X3J0cF92b3JiaXNfZGVwYXlfc2V0Y2Fwcyk6CgkgIFN0b3AgdXNpbmcgZGVwcmVjYXRlZCBHTGliIGZ1bmN0aW9ucy4KCjIwMDgtMDQtMjQgMjE6MTc6NDIgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgY29uZmlndXJlLmFjOiBCYWNrIHRvIGRldmVsb3BtZW50IC0+IDAuMTAuOC4xCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQmFjayB0byBkZXZlbG9wbWVudCAtPiAwLjEwLjguMQoJICA9PT0gcmVsZWFzZSAwLjEwLjggPT09Cgo9PT0gcmVsZWFzZSAwLjEwLjggPT09CgoyMDA4LTA0LTIzIDIzOjQwOjQ4ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkgIFJlbGVhc2UgMC4xMC44IGEgbGl0dGxlIGhhcmRlciAoZWRpdGVkIHRoZSByZWxlYXNlIG5vdGVzKQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUmVsZWFzZSAwLjEwLjggYSBsaXR0bGUgaGFyZGVyIChlZGl0ZWQgdGhlIHJlbGVhc2Ugbm90ZXMpCgoyMDA4LTA0LTIzIDIzOjI2OjI0ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Rpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2FtbWEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oYWxlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF1aWNrdGltZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JhbGFuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmxpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSogcG8vTElOR1VBUzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDAuMTAuOAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUmVsZWFzZSAwLjEwLjgKCjIwMDgtMDQtMjMgMjM6MTg6NDQgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSogY29tbW9uOgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDA4LTA0LTIyIDAwOjI5OjAwICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogMC4xMC43LjQgcHJlLXJlbGVhc2UKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAwLjEwLjcuNCBwcmUtcmVsZWFzZQoKMjAwOC0wNC0yMiAwMDoxODo1MiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvZ29vbS86IEZyZWUgYSBidW5jaCBvZiBzdHVmZiwgYW5kIGluaXRpYWxpc2UgdGhpbmdzIHRvIGZpeCBsZWFrcyBhbmQgdmFsZ3JpbmQgd2FybmluZ3MgaW4gdGhlIHRlc3RzdWl0ZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2dvb20vY29uZmlnX3BhcmFtLmM6IChnb29tX3BsdWdpbl9wYXJhbWV0ZXJzX2ZyZWUpOgoJICAqIGdzdC9nb29tL2NvbnZvbHZlX2Z4LmM6IChjb252b2x2ZV9pbml0KSwgKGNvbnZvbHZlX2ZyZWUpOgoJICAqIGdzdC9nb29tL2ZpbHRlcnMuYzogKHpvb21GaWx0ZXJWaXN1YWxGWFdyYXBwZXJfZnJlZSk6CgkgICogZ3N0L2dvb20vZmx5aW5nX3N0YXJzX2Z4LmM6IChmc19mcmVlKToKCSAgKiBnc3QvZ29vbS9nb29tX2NvbmZpZ19wYXJhbS5oOgoJICAqIGdzdC9nb29tL2dvb21fY29yZS5jOiAoZ29vbV9pbml0KSwgKGdvb21fY2xvc2UpOgoJICAqIGdzdC9nb29tL2dvb21fcGx1Z2luX2luZm8uaDoKCSAgKiBnc3QvZ29vbS9nc3Rnb29tLmM6IChnc3RfZ29vbV9maW5hbGl6ZSk6CgkgICogZ3N0L2dvb20vbGluZXMuYzogKGdvb21fbGluZXNfZnJlZSk6CgkgICogZ3N0L2dvb20vcGx1Z2luX2luZm8uYzogKHBsdWdpbl9pbmZvX2luaXQpLCAocGx1Z2luX2luZm9fZnJlZSk6CgkgICogZ3N0L2dvb20vc3VyZjNkLmM6IChncmlkM2RfZnJlZSk6CgkgICogZ3N0L2dvb20vc3VyZjNkLmg6CgkgICogZ3N0L2dvb20vdGVudGFjbGUzZC5jOiAodGVudGFjbGVfZnJlZSk6CgkgIEZyZWUgYSBidW5jaCBvZiBzdHVmZiwgYW5kIGluaXRpYWxpc2UgdGhpbmdzIHRvIGZpeCBsZWFrcwoJICBhbmQgdmFsZ3JpbmQgd2FybmluZ3MgaW4gdGhlIHRlc3RzdWl0ZS4KCSAgRml4ZXM6ICM1MjkyNjgKCjIwMDgtMDQtMjEgMjE6NTQ6MTEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnYW5hbHlzaXMuYzogRG9uJ3QgbGVhayBhIHRhZyBsaXN0LiBGaXhlcyBidWcgIzUyOTI4NS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvcmdhbmFseXNpcy5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICBEb24ndCBsZWFrIGEgdGFnIGxpc3QuIEZpeGVzIGJ1ZyAjNTI5Mjg1LgoKMjAwOC0wNC0yMSAwODoyMToxNCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogUmVmIGNhcHMgYXMgdGhlIHJldHVybiB2YWx1ZSBmb3IgdGhlIHJlcXVlc3RfcHRfbWFwIHNpZ25hbC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfaW5pdCksIChyZXF1ZXN0X3B0X21hcCksCgkgIChnc3RfcnRzcHNyY19jb25maWd1cmVfY2Fwcyk6CgkgIFJlZiBjYXBzIGFzIHRoZSByZXR1cm4gdmFsdWUgZm9yIHRoZSByZXF1ZXN0X3B0X21hcCBzaWduYWwuCgkgIFJlbW92ZSBzb21lIGNhcHMgd2VpcmRuZXNzIHdoZW4gY29uZmlndXJpbmcgYSBzdHJlYW0uIFNlZSAjNTI4MjQ1LgoKMjAwOC0wNC0xOCAxODo0Nzo0MyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHRlc3RzL2ljbGVzL2dka3BpeGJ1ZnNpbmstdGVzdC5jOiBBZGQgY2FzdCB0byBwbGFjYXRlIGdjYyA0LjEuMi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvaWNsZXMvZ2RrcGl4YnVmc2luay10ZXN0LmM6CgkgIEFkZCBjYXN0IHRvIHBsYWNhdGUgZ2NjIDQuMS4yLgoKMjAwOC0wNC0xNyAyMzowMDoyOSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBjb25maWd1cmUuYWM6IDAuMTAuNy4zIHByZS1yZWxlYXNlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgMC4xMC43LjMgcHJlLXJlbGVhc2UKCjIwMDgtMDQtMTcgMjI6MzI6MTYgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06IERpc2FibGUgc29tZSBtb3JlIGVsZW1lbnRzIGluIHRoZSBzdGF0ZSB0ZXN0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgRGlzYWJsZSBzb21lIG1vcmUgZWxlbWVudHMgaW4gdGhlIHN0YXRlIHRlc3QuCgkgIEFkZCBhIGRlZmluZSBzbyB0aGUgc291cCB0ZXN0IGNhbiBmaW5kIHRoZSB0ZXN0IGZpbGVzCgkgIGl0IG5lZWRzIGF0IHJ1bnRpbWUuCgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvc291cGh0dHBzcmMuYzogKHJ1bl9zZXJ2ZXIpOgoJICBBZGQgYSBkZWZpbmUgc28gdGhlIHNvdXAgdGVzdCBjYW4gZmluZCB0aGUgdGVzdCBmaWxlcwoJICBpdCBuZWVkcyBhdCBydW50aW1lLgoKMjAwOC0wNC0xNyAxODowODo1MyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvZ29vbS9jb252b2x2ZV9meC5jOiBEb24ndCBldmVyIGRyYXcgdGhlIEdPT00gbG9nby4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2dvb20vY29udm9sdmVfZnguYzogKGNvbnZvbHZlX2FwcGx5KToKCSAgRG9uJ3QgZXZlciBkcmF3IHRoZSBHT09NIGxvZ28uCgkgIEZpeGVzOiAjNTI4NjE1CgoyMDA4LTA0LTE3IDEwOjI0OjMyICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZXh0LzogZ3N0X2F0b21pY19pbnRfc2V0ID09PiBnX2F0b21pY19pbnRfc2V0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9jZGlvL2dzdGNkaW9jZGRhc3JjLmM6CgkgICogZXh0L2R2L2dzdGR2ZGVtdXguYzoKCSAgZ3N0X2F0b21pY19pbnRfc2V0ID09PiBnX2F0b21pY19pbnRfc2V0CgoyMDA4LTA0LTE2IDEwOjMxOjE3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgU3RyaXAgb3V0IHRoZSBjb25maWcvc2NyaXB0IHBhcnNpbmcgc3R1ZmYsIHdlIGRvbid0IG5lZWQgaXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvZ29vbS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZ29vbS9jb252b2x2ZV9meC5jOgoJICAqIGdzdC9nb29tL2RlZmF1bHRfc2NyaXB0cy5oOgoJICAqIGdzdC9nb29tL2dvb20uaDoKCSAgKiBnc3QvZ29vbS9nb29tX2NvcmUuYzogKGNob29zZV9hX2dvb21fbGluZSk6CgkgICogZ3N0L2dvb20vZ29vbV9wbHVnaW5faW5mby5oOgoJICAqIGdzdC9nb29tL2dvb21zbC5jOgoJICAqIGdzdC9nb29tL2dvb21zbC5oOgoJICAqIGdzdC9nb29tL2dvb21zbF9oYXNoLmM6CgkgICogZ3N0L2dvb20vZ29vbXNsX2hhc2guaDoKCSAgKiBnc3QvZ29vbS9nb29tc2xfaGVhcC5jOgoJICAqIGdzdC9nb29tL2dvb21zbF9oZWFwLmg6CgkgICogZ3N0L2dvb20vZ29vbXNsX3ByaXZhdGUuaDoKCSAgKiBnc3QvZ29vbS9wbHVnaW5faW5mby5jOgoJICBTdHJpcCBvdXQgdGhlIGNvbmZpZy9zY3JpcHQgcGFyc2luZyBzdHVmZiwgd2UgZG9uJ3QgbmVlZCBpdC4KCSAgRml4ZXMgIzUyNzk5OS4KCjIwMDgtMDQtMTUgMTY6NTg6MzYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvZ29vbS9wbHVnaW5faW5mby5jOiBEaXNhYmxlIGFsdGl2ZWMgb3B0aW1pc2F0aW9ucyBmb3IgMzItYml0IFBQQyBhcyB3ZWxsIHRvIG1ha2UgdGhpbmdzIGJ1aWxkIHByb3Blcmx5IG9uIGFsbCBQUEMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2dvb20vcGx1Z2luX2luZm8uYzogKHNldE9wdGltaXplZE1ldGhvZHMpOgoJICBEaXNhYmxlIGFsdGl2ZWMgb3B0aW1pc2F0aW9ucyBmb3IgMzItYml0IFBQQyBhcyB3ZWxsIHRvIG1ha2UKCSAgdGhpbmdzIGJ1aWxkIHByb3Blcmx5IG9uIGFsbCBQUEMgc3lzdGVtcy4gRml4ZXMgIzUyODE0MwoKMjAwOC0wNC0xNCAyMDowMTo0NCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC1wbHVnaW5zLWdvb2Quc3BlYy5pbjogVXBkYXRlIGZvciBzb3VwaHR0cHNyYyBwbHVnaW4gd2hpY2ggaGFzIG1vdmVkIHRvIC1nb29kLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QtcGx1Z2lucy1nb29kLnNwZWMuaW46CgkgIFVwZGF0ZSBmb3Igc291cGh0dHBzcmMgcGx1Z2luIHdoaWNoIGhhcyBtb3ZlZCB0byAtZ29vZC4KCjIwMDgtMDQtMTQgMTM6Mzg6MzIgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hbmF1d0Bza3luZXQuYmU+CgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogRml4IG9wZW4tZW5kZWQgc2Vla3MgaW4gbWF0cm9za2FkZW11eAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9oYW5kbGVfc2Vla19ldmVudCk6CgkgIEZpeCBvcGVuLWVuZGVkIHNlZWtzIGluIG1hdHJvc2thZGVtdXgKCSAgUGF0Y2ggYnk6IE1hcmsgTmF1d2VsYWVydHMgPG1hbmF1dyBza3luZXQgYmU+CgkgIEZpeGVzOiAjNTI2NTU3CgoyMDA4LTA0LTEzIDIzOjEzOjMyICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOiBBZGQgc291cCB0ZXN0IGNlcnRpZmljYXRlcyB0byB0aGUgZGlzdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIEFkZCBzb3VwIHRlc3QgY2VydGlmaWNhdGVzIHRvIHRoZSBkaXN0LgoKMjAwOC0wNC0xMyAxNzo0Mzo1MiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBleHQvTWFrZWZpbGUuYW06IFJlbW92ZSBMQURTUEEgcmVmZXJlbmNlIEkgbWlzc2VkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvTWFrZWZpbGUuYW06CgkgIFJlbW92ZSBMQURTUEEgcmVmZXJlbmNlIEkgbWlzc2VkLgoKMjAwOC0wNC0xMyAxMzowNjozOSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzogR2l2ZSBzb3VwaHR0cHNyYyBHU1RfUkFOS19QUklNQVJZIHRvIG1ha2UgaXQgdGhlIGRlZmF1bHQgSFRUUCBzb3VyY2Ugb3ZlciBnbm9tZS12ZnMgYW5kIGV2Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IChwbHVnaW5faW5pdCk6CgkgIEdpdmUgc291cGh0dHBzcmMgR1NUX1JBTktfUFJJTUFSWSB0byBtYWtlIGl0IHRoZSBkZWZhdWx0IEhUVFAgc291cmNlCgkgIG92ZXIgZ25vbWUtdmZzIGFuZCBldmVyeXRoaW5nIGVsc2UuIEZpeGVzIGJ1ZyAjNTI3ODQ4LgoKMjAwOC0wNC0xMiAyMzo0NzoyMyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBSZW1vdmUgTEFEU1BBIHBsdWdpbi4gRml4ZXM6ICM1MTU5NzgKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9NYWtlZmlsZS5hbToKCSAgUmVtb3ZlIExBRFNQQSBwbHVnaW4uIEZpeGVzOiAjNTE1OTc4CgoyMDA4LTA0LTEyIDIzOjMwOjU0ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIE1vdmUgc291cCBwbHVnaW4gZnJvbSAtYmFkIChGaXhlczogIzUyMzEyNCkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJICAqIGV4dC9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgTW92ZSBzb3VwIHBsdWdpbiBmcm9tIC1iYWQgKEZpeGVzOiAjNTIzMTI0KQoKMjAwOC0wNC0xMSAxMTowODozNSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkgIEZpeCB0aGUgQ2hhbmdlbG9nIC0gYWN0dWFsbHkgc3BlZXggPD0gMS4xLjEyIGFyZSB2dWxuZXJhYmxlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgRml4IHRoZSBDaGFuZ2Vsb2cgLSBhY3R1YWxseSBzcGVleCA8PSAxLjEuMTIgYXJlIHZ1bG5lcmFibGUuCgoyMDA4LTA0LTExIDEwOjMyOjIwICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOiBGaXggYm91bmRzIGNoZWNraW5nIG9mIG1vZGUgaW4gU3BlZXggaGVhZGVyLCB3aGljaCBtYXkgcHJvZHVjZSBuZWdhdGl2ZSBudW1iZXJzIGluIHNwZWV4IDwgMS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzogKHNwZWV4X2RlY19jaGFpbl9wYXJzZV9oZWFkZXIpOgoJICBGaXggYm91bmRzIGNoZWNraW5nIG9mIG1vZGUgaW4gU3BlZXggaGVhZGVyLCB3aGljaCBtYXkKCSAgcHJvZHVjZSBuZWdhdGl2ZSBudW1iZXJzIGluIHNwZWV4IDwgMS4xLjEyCgoyMDA4LTA0LTEwIDA3OjExOjUxICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy9zb3VwaHR0cHNyYy5jOiBJbmNyZWFzZSB0aGUgdGltZW91dCBmb3IgdGhlIGludGVybmV0IHRlc3RzIHRvIDI1MCBzZWNvbmRzIGFuZCBjaGVjayBmb3IgTlVMTCBjYXAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvc291cGh0dHBzcmMuYzogKGdvdF9idWZmZXIpLAoJICAoc291cGh0dHBzcmNfc3VpdGUpOgoJICBJbmNyZWFzZSB0aGUgdGltZW91dCBmb3IgdGhlIGludGVybmV0IHRlc3RzIHRvIDI1MCBzZWNvbmRzCgkgIGFuZCBjaGVjayBmb3IgTlVMTCBjYXBzIGluc3RlYWQgb2YganVzdCBjcmFzaGluZy4KCSAgVGhlIHJlYWwgZml4IHdvdWxkIGJlIHRvIGltcGxlbWVudCBhbiBzaG91dGNhc3Qgc2VydmVyIGZvciB0aGUgdW5pdCB0ZXN0CgkgIGluc3RlYWQgb2YgcmVseWluZyBvbiBhIHdvcmtpbmcgaW50ZXJuZXQgY29ubmVjdGlvbi4KCSAgRml4ZXMgYnVnICM1MjE3NDkuCgoyMDA4LTA0LTA5IDE2OjExOjQwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2dvb20vOiBSZW1vdmUgYSBidW5jaCBvZiBmb250L3RleHQgcmVsYXRlZCBjb2RlIHRoYXQgd2UgZG9uJ3QgbmVlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2dvb20vTWFrZWZpbGUuYW06CgkgICogZ3N0L2dvb20vZ2ZvbnRsaWIuYzoKCSAgKiBnc3QvZ29vbS9nZm9udGxpYi5oOgoJICAqIGdzdC9nb29tL2dmb250cmxlLmM6CgkgICogZ3N0L2dvb20vZ2ZvbnRybGUuaDoKCSAgKiBnc3QvZ29vbS9nb29tLmg6CgkgICogZ3N0L2dvb20vZ29vbV9jb3JlLmM6IChnb29tX3VwZGF0ZSk6CgkgICogZ3N0L2dvb20vZ29vbV9wbHVnaW5faW5mby5oOgoJICAqIGdzdC9nb29tL2dzdGdvb20uYzogKGdzdF9nb29tX2NoYWluKToKCSAgKiBnc3QvZ29vbS9wbHVnaW5faW5mby5jOgoJICBSZW1vdmUgYSBidW5jaCBvZiBmb250L3RleHQgcmVsYXRlZCBjb2RlIHRoYXQgd2UgZG9uJ3QgbmVlZC4KCjIwMDgtMDQtMDkgMTQ6MDI6MzcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvZ29vbS86IENoYW5nZSBsaWNlbnNlIG9mIHRoZXNlIGZpbGVzIHRvIExHUEwsIGFzIHBlcm1pdHRlZCBieSB0aGUgYXV0aG9yLCBHdWlsbGF1bWUgQm9yaW9zLiBTZWUgIzUxNTA3My4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2dvb20vcHBjX2RyYXdpbmdzLnM6CgkgICogZ3N0L2dvb20vcHBjX3pvb21fdWx0aW1hdGUuczoKCSAgQ2hhbmdlIGxpY2Vuc2Ugb2YgdGhlc2UgZmlsZXMgdG8gTEdQTCwgYXMgcGVybWl0dGVkIGJ5IHRoZQoJICBhdXRob3IsIEd1aWxsYXVtZSBCb3Jpb3MuIFNlZSAjNTE1MDczLgoKMjAwOC0wNC0wOSAxMzozMToyMiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2dvb20vOiBBcyBoaW50ZWQgaW4gQnVnICM1MTgyMTMsIHJldmVydCBvbmUgY2hhbmdlIGFuZCBmaXggd2FybmluZ3MgcHJvcGVybHkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9nb29tL2NvbnZvbHZlX2Z4LmM6CgkgICogZ3N0L2dvb20vbW90aWZfZ29vbTEuaDoKCSAgKiBnc3QvZ29vbS9tb3RpZl9nb29tMi5oOgoJICBBcyBoaW50ZWQgaW4gQnVnICM1MTgyMTMsIHJldmVydCBvbmUgY2hhbmdlIGFuZCBmaXggd2FybmluZ3MgcHJvcGVybHkuCgkgIFRoaXMgZml4ZXMgYm90aCAjNTE4MjEzIGFuZCAjNTIwMDczIGZvciBtZS4KCjIwMDgtMDQtMDkgMTI6MDI6NTUgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0L21hdHJvc2thLzogRml4IHRoZSBGb3J0ZSBidWlsZCBieSBtYWtpbmcgZnVuY3Rpb24gZGVjbGFyYXRpb24gc2lnbmF0dXJlcyBtYXRjaCB0aGUgaW1wbGVtZW50YXRpb25zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvZWJtbC1yZWFkLmM6IChnc3RfZWJtbF9yZWFkX3NlZWspOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2hhbmRsZV9zZWVrX2V2ZW50KSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9jb250ZW50c19zZWVrZW50cnkpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2xvb3ApOgoJICBGaXggdGhlIEZvcnRlIGJ1aWxkIGJ5IG1ha2luZyBmdW5jdGlvbiBkZWNsYXJhdGlvbiBzaWduYXR1cmVzCgkgIG1hdGNoIHRoZSBpbXBsZW1lbnRhdGlvbnMuCgoyMDA4LTA0LTA4IDE5OjQ5OjM0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgc3lzL29zcy86IE1vcmUgbG9nZ2luZyB3aGVuIHByb2JpbmcgKHNlZSAjNTE4NDc0KSwgc29tZSBjb21tZW50cyBpbiBfcmVzZXQoKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL29zcy9nc3Rvc3NoZWxwZXIuYzogKGdzdF9vc3NfaGVscGVyX3JhdGVfY2hlY2tfcmF0ZSk6CgkgICogc3lzL29zcy9nc3Rvc3NzaW5rLmM6IChnc3Rfb3NzX3NpbmtfcmVzZXQpOgoJICAqIHN5cy9vc3MvZ3N0b3Nzc3JjLmM6IChnc3Rfb3NzX3NyY19yZXNldCk6CgkgIE1vcmUgbG9nZ2luZyB3aGVuIHByb2JpbmcgKHNlZSAjNTE4NDc0KSwgc29tZSBjb21tZW50cyBpbiBfcmVzZXQoKS4KCjIwMDgtMDQtMDcgMTc6MTg6NDggKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6IEZpeCBidWlsZCBiZWNhdXNlIG9mIGEgYmFkIGFyZ3VtZW50IG51bWJlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDgtMDQtMDcgIEp1bGllbiBNb3V0dGUgIDxqdWxpZW5AZmx1ZW5kby5jb20+CgkgICogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6IChnc3RfcnRwX2gyNjRfcGF5X3NldGNhcHMpOiBGaXggYnVpbGQKCSAgYmVjYXVzZSBvZiBhIGJhZCBhcmd1bWVudCBudW1iZXIuCgoyMDA4LTA0LTA2IDE4OjI4OjA5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgdGVzdHMvaWNsZXMvOiBJbnRlcmFjdGl2ZSB0ZXN0IGFwcCBmb3IgZ2RrcGl4YnVmc2luay4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvaWNsZXMvLmN2c2lnbm9yZToKCSAgKiB0ZXN0cy9pY2xlcy9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9pY2xlcy9nZGtwaXhidWZzaW5rLXRlc3QuYzoKCSAgSW50ZXJhY3RpdmUgdGVzdCBhcHAgZm9yIGdka3BpeGJ1ZnNpbmsuCgoyMDA4LTA0LTA2IDA5OjAxOjQyICswMDAwICBTam9lcmQgU2ltb25zIDxzam9lcmRAbHVvbi5uZXQ+CgoJICBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOiBPbmx5IGlnbm9yZSBhY3R1YWwgcmVkaXJlY3RzIG5vdCBhbGwgcmVzcG9uc2VzIHdoZW4gaW4gc3RhdGUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBTam9lcmQgU2ltb25zIDxzam9lcmQgYXQgbHVvbiBkb3QgbmV0PgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IChnc3Rfc291cF9odHRwX3NyY19yZXNwb25zZV9jYik6CgkgIE9ubHkgaWdub3JlIGFjdHVhbCByZWRpcmVjdHMgbm90IGFsbCByZXNwb25zZXMgd2hlbiBpbiBzdGF0ZQoJICBHU1RfU09VUF9IVFRQX1NSQ19TRVNTSU9OX0lPX1NUQVRVU19SVU5OSU5HLiBGaXhlcyBidWcgIzUyNjMzNy4KCjIwMDgtMDQtMDYgMDg6NTc6NTkgKzAwMDAgIERhbWllbiBMZXNwaWF1IDxkYW1pZW4ubGVzcGlhdUBnbWFpbC5jb20+CgoJICBjb25maWd1cmUuYWM6IEFjdHVhbGx5IGJ1aWxkIGRsbHMgd2hlbiBjcm9zcy1jb21waWxpbmcgd2l0aCBtaW5ndzMyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IERhbWllbiBMZXNwaWF1IDxkYW1pZW4gZG90IGxlc3BpYXUgYXQgZ21haWwgZG90IGNvbT4KCSAgKiBjb25maWd1cmUuYWM6CgkgIEFjdHVhbGx5IGJ1aWxkIGRsbHMgd2hlbiBjcm9zcy1jb21waWxpbmcgd2l0aCBtaW5ndzMyLgoJICBGaXhlcyBidWcgIzUyNjI0Ny4KCjIwMDgtMDQtMDUgMTI6MDA6NDYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvaGFsL2hhbC5jOiBEb24ndCBtdW5nZSBkZXZpY2Ugc3RyaW5nIHRvICdkZWZhdWx0OngnIGZvciBjYXB0dXJlIGRldmljZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9oYWwvaGFsLmM6IChnc3RfaGFsX2dldF9hbHNhX2VsZW1lbnQpOgoJICBEb24ndCBtdW5nZSBkZXZpY2Ugc3RyaW5nIHRvICdkZWZhdWx0OngnIGZvciBjYXB0dXJlIGRldmljZXMuCgkgIEZpeGVzICM1MjU4MzMuCgoyMDA4LTA0LTA0IDE5OjAwOjE5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogQWx3YXlzIHVzZSBHU2xpY2UgYXMgd2UgYWN0dWFsbHkgZGVwZW5kIG9uIEdMaWIgMi4xMiBhbHJlYWR5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzoKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2luZGV4X2VudHJ5X2ZyZWUpOgoJICBBbHdheXMgdXNlIEdTbGljZSBhcyB3ZSBhY3R1YWxseSBkZXBlbmQgb24gR0xpYiAyLjEyIGFscmVhZHkuCgoyMDA4LTA0LTA0IDExOjI2OjQwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgY29uZmlndXJlLmFjOiBSZXF1aXJlIGNvcmUvYmFzZSAwLjEwLjE4IGZvciBBUkdCIGNhcHMgcGFyc2luZyBmaXhlcyBpbiBsaWJnc3R2aWRlby4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBSZXF1aXJlIGNvcmUvYmFzZSAwLjEwLjE4IGZvciBBUkdCIGNhcHMgcGFyc2luZyBmaXhlcyBpbiBsaWJnc3R2aWRlby4KCSAgQWxzbyBidW1wIHRoZSBHTGliIHJlcXVpcmVtZW50IHRvIHRoZSBjdXJyZW50IGRlLWZhY3RvIHJlcXVpcmVtZW50CgkgIChpZS4gMi4xMikuCgoyMDA4LTA0LTA0IDEwOjMyOjIxICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC9nc3RydHBoMjY0cGF5Lio6IFBhcnNlIGNvZGVjX2RhdGEgZm9yIGZ1dHVyZSBBVkMgY29tcGF0aWJpbGl0eS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6IChlbmNvZGVfYmFzZTY0KSwKCSAgKGdzdF9ydHBfaDI2NF9wYXlfc2V0Y2FwcyksIChnc3RfcnRwX2gyNjRfcGF5X2hhbmRsZV9idWZmZXIpOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5oOgoJICBQYXJzZSBjb2RlY19kYXRhIGZvciBmdXR1cmUgQVZDIGNvbXBhdGliaWxpdHkuCgkgIEZhaWwgd2hlbiB3ZSBlbmNvdW50ZXIgQVZDIGRhdGEgZm9yIG5vdy4KCjIwMDgtMDQtMDQgMDk6NTA6MTAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogUmVuYW1lIHByb3BlcnR5IGVudW1zIGFuZCBkZWZhdWx0IGRlZmluZXMgZm9yIHRoZSBwcm9wZXJ0aWVzIHRvIG1hdGNoIHRoZSBwcm9wZXJ0eSBuYW1lcyAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IChnc3Rfc3BlY3RydW1fY2xhc3NfaW5pdCksCgkgIChnc3Rfc3BlY3RydW1faW5pdCksIChnc3Rfc3BlY3RydW1fc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9zcGVjdHJ1bV9nZXRfcHJvcGVydHkpLCAoZ3N0X3NwZWN0cnVtX21lc3NhZ2VfbmV3KToKCSAgUmVuYW1lIHByb3BlcnR5IGVudW1zIGFuZCBkZWZhdWx0IGRlZmluZXMgZm9yIHRoZSBwcm9wZXJ0aWVzIHRvIG1hdGNoCgkgIHRoZSBwcm9wZXJ0eSBuYW1lcyBhbmQgcmVwaHJhc2UgcHJvcGVydHkgZGVzY3JpcHRpb25zIHRvIG1ha2UgdGhlbSBhCgkgIGJpdCBjbGVhcmVyIChob3BlZnVsbHkpLiBTZWUgIzUxODE4OC4KCjIwMDgtMDQtMDMgMjI6NTk6NDQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICB0ZXN0cy9jaGVjay86IEFkZCB1bml0IHRlc3QgZm9yIGdka3BpeGJ1ZnNpbmsgZWxlbWVudC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvLmN2c2lnbm9yZToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZGtwaXhidWZzaW5rLmM6CgkgIEFkZCB1bml0IHRlc3QgZm9yIGdka3BpeGJ1ZnNpbmsgZWxlbWVudC4KCjIwMDgtMDQtMDMgMjI6NTA6NDggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvZ2RrX3BpeGJ1Zi86IEFkZCBnZGtwaXhidWZzaW5rIGVsZW1lbnQgZm9yIGVhc3kgc25hcHNob3R0aW5nICgjNTI1OTQ2KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2dka19waXhidWYvTWFrZWZpbGUuYW06CgkgICogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmLmM6IChwbHVnaW5faW5pdCk6CgkgICogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmc2luay5jOgoJICAoZ3N0X2dka19waXhidWZfc2lua19iYXNlX2luaXQpLAoJICAoZ3N0X2dka19waXhidWZfc2lua19jbGFzc19pbml0KSwgKGdzdF9nZGtfcGl4YnVmX3NpbmtfaW5pdCksCgkgIChnc3RfZ2RrX3BpeGJ1Zl9zaW5rX3N0YXJ0KSwgKGdzdF9nZGtfcGl4YnVmX3Npbmtfc3RvcCksCgkgIChnc3RfZ2RrX3BpeGJ1Zl9zaW5rX3NldF9jYXBzKSwKCSAgKGdzdF9nZGtfcGl4YnVmX3NpbmtfcGl4YnVmX2Rlc3Ryb3lfbm90aWZ5KSwKCSAgKGdzdF9nZGtfcGl4YnVmX3NpbmtfZ2V0X3BpeGJ1Zl9mcm9tX2J1ZmZlciksCgkgIChnc3RfZ2RrX3BpeGJ1Zl9zaW5rX2hhbmRsZV9idWZmZXIpLCAoZ3N0X2dka19waXhidWZfc2lua19wcmVyb2xsKSwKCSAgKGdzdF9nZGtfcGl4YnVmX3NpbmtfcmVuZGVyKSwgKGdzdF9nZGtfcGl4YnVmX3Npbmtfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9nZGtfcGl4YnVmX3NpbmtfZ2V0X3Byb3BlcnR5KToKCSAgKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWZzaW5rLmg6CgkgIEFkZCBnZGtwaXhidWZzaW5rIGVsZW1lbnQgZm9yIGVhc3kgc25hcHNob3R0aW5nICgjNTI1OTQ2KS4KCjIwMDgtMDQtMDMgMjA6MjU6MzQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy93YXZwYWNrLmM6IEJ1bXAgdGltZW91dCBmcm9tIDMgdG8gNjAgc2Vjb25kcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3dhdnBhY2suYzogKHdhdnBhY2tfc3VpdGUpOgoJICBCdW1wIHRpbWVvdXQgZnJvbSAzIHRvIDYwIHNlY29uZHMuCgoyMDA4LTA0LTAzIDIwOjIxOjE1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICB0ZXN0cy9jaGVjay9waXBlbGluZXMvLmN2aWdub3JlOiBSZW1vdmUgdXNlbGVzcyBmaWxlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvLmN2aWdub3JlOgoJICBSZW1vdmUgdXNlbGVzcyBmaWxlLgoJICAqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy8uY3ZzaWdub3JlOgoJICBBZGQgbmV3IHRlc3QgdG8gLmN2c2lnbm9yZS4KCjIwMDgtMDQtMDMgMjA6MDU6MzEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIHRlc3RzL2NoZWNrLzogQWRkIHVuaXQgdGVzdCB0aGF0IGVuY29kZXMgYW5kIGRlY29kZXMgc29tZSBkYXRhLCBjaGVja3MgdGhhdCBpdCBpcyBzdGlsbCB0aGUgc2FtZSBhbmQgdGhhdCBhbGwgdGltZXN0YS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvd2F2cGFjay5jOiAoYnVzX2hhbmRsZXIpLAoJICAoaWRlbnRpdHlfaGFuZG9mZiksIChmYWtlc2lua19oYW5kb2ZmKSwgKEdTVF9TVEFSVF9URVNUKSwKCSAgKHdhdnBhY2tfc3VpdGUpLCAobWFpbik6CgkgIEFkZCB1bml0IHRlc3QgdGhhdCBlbmNvZGVzIGFuZCBkZWNvZGVzIHNvbWUgZGF0YSwgY2hlY2tzIHRoYXQgaXQKCSAgaXMgc3RpbGwgdGhlIHNhbWUgYW5kIHRoYXQgYWxsIHRpbWVzdGFtcHMvb2Zmc2V0cyBhcmUgcGVyZmVjdC4KCjIwMDgtMDQtMDMgMTg6Mjg6MjggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC93YXZwYWNrLzogVXNlIEdTbGljZSBmb3IgYWxsb2NhdGluZyBpbmRleCBlbnRyaWVzIGFuZCB1c2UgZ3N0X2VsZW1lbnRfY2xhc3Nfc2V0X2RldGFpbHNfc2ltcGxlKCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzogKGdzdF93YXZwYWNrX2RlY19iYXNlX2luaXQpOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzogKGdzdF93YXZwYWNrX2VuY19iYXNlX2luaXQpOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOgoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfaW5kZXhfZW50cnlfbmV3KSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2luZGV4X2VudHJ5X2ZyZWUpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfYmFzZV9pbml0KSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2luZGV4X2FwcGVuZF9lbnRyeSksIChnc3Rfd2F2cGFja19wYXJzZV9yZXNldCk6CgkgIFVzZSBHU2xpY2UgZm9yIGFsbG9jYXRpbmcgaW5kZXggZW50cmllcyBhbmQgdXNlCgkgIGdzdF9lbGVtZW50X2NsYXNzX3NldF9kZXRhaWxzX3NpbXBsZSgpLgoKMjAwOC0wNC0wMiAyMjozNzoyOSArMDAwMCAgQnJpYW4gQ2FtZXJvbiA8YnJpYW4uY2FtZXJvbkBzdW4uY29tPgoKCSAgc3lzL3N1bmF1ZGlvLzogRml4IHVwIGNvcHlyaWdodHMgKCM1MjU4NjApLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEJyaWFuIENhbWVyb24gPGJyaWFuLmNhbWVyb24gYXQgc3VuIGRvdCBjb20+CgkgICogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvLmM6CgkgICogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXIuYzoKCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlci5oOgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVyY3RybC5jOgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVyY3RybC5oOgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVydHJhY2suYzoKCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlcnRyYWNrLmg6CgkgICogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvc2luay5jOgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NpbmsuaDoKCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zcmMuYzoKCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zcmMuaDoKCSAgRml4IHVwIGNvcHlyaWdodHMgKCM1MjU4NjApLgoKMjAwOC0wNC0wMiAxNjoxMDozMyArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZ3N0LXBsdWdpbnMtZ29vZC5zcGVjLmluOgoJICBhZGQgbmV3IGdvb20gcGx1Z2luIHRvIHNwZWMgZmlsZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYWRkIG5ldyBnb29tIHBsdWdpbiB0byBzcGVjIGZpbGUKCjIwMDgtMDQtMDIgMTU6NDI6MjcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvZ29vbS9nb29tc2wuYzogQ2hlY2sgcmV0dXJuIHZhbHVlIG9mIGZyZWFkKCkgdG8gYXZvaWQgY29tcGlsZXIgd2FybmluZ3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9nb29tL2dvb21zbC5jOiAoZ3NsX3JlYWRfZmlsZSk6CgkgIENoZWNrIHJldHVybiB2YWx1ZSBvZiBmcmVhZCgpIHRvIGF2b2lkIGNvbXBpbGVyIHdhcm5pbmdzLgoKMjAwOC0wNC0wMSAxMTowMDo0MyArMDAwMCAgbWVyc2FkIDxtZXJzYWRAYXhpcy5jb20+CgoJICBnc3QvbGF3LzogTWFrZSBuZWdvdGlhdGlvbiBhIGJpdCBtb2Rlcm4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBCYXNlZCBvbiBwYXRjaCBieTogbWVyc2FkIDxtZXJzYWQgYXQgYXhpcyBkb3QgY29tPgoJICAqIGdzdC9sYXcvYWxhdy1kZWNvZGUuYzogKGdzdF9hbGF3X2RlY19zaW5rX3NldGNhcHMpLAoJICAoZ3N0X2FsYXdfZGVjX2NoYWluKSwgKGdzdF9hbGF3X2RlY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9sYXcvYWxhdy1kZWNvZGUuaDoKCSAgKiBnc3QvbGF3L2FsYXctZW5jb2RlLmM6IChnc3RfYWxhd19lbmNfY2hhaW4pOgoJICAqIGdzdC9sYXcvbXVsYXctZGVjb2RlLmM6IChtdWxhd2RlY19zaW5rX3NldGNhcHMpLAoJICAoZ3N0X211bGF3ZGVjX2NoYWluKSwgKGdzdF9tdWxhd2RlY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9sYXcvbXVsYXctZGVjb2RlLmg6CgkgICogZ3N0L2xhdy9tdWxhdy1lbmNvZGUuYzogKGdzdF9tdWxhd2VuY19jaGFpbik6CgkgIE1ha2UgbmVnb3RpYXRpb24gYSBiaXQgbW9kZXJuLgoJICBVc2UgcGFkX2FsbG9jLiBGaXhlcyAjNTI1MzU5LgoKMjAwOC0wMy0zMSAyMjowNjoxNCArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBnc3QvZ29vbS94bW14LmM6IEZpeCBjb25zdHJhaW50cyBvbiBhc20gY29kZSBzbyB0aGF0IGl0IGNvbXBpbGVzIGNvbnNpc3RlbnRseS4gIEZpeGVzICM1MjIyNzguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9nb29tL3htbXguYzogRml4IGNvbnN0cmFpbnRzIG9uIGFzbSBjb2RlIHNvIHRoYXQgaXQKCSAgY29tcGlsZXMgY29uc2lzdGVudGx5LiAgRml4ZXMgIzUyMjI3OC4KCjIwMDgtMDMtMjcgMDk6MzY6NTggKzAwMDAgIEJyaWFuIENhbWVyb24gPGJyaWFuLmNhbWVyb25Ac3VuLmNvbT4KCgkgIHN5cy9zdW5hdWRpby86IEZpeCB1cCB0aGUgbWl4ZXIgdHJhY2tzIHRvIHVzZSBhIHZvbHVtZSByYW5nZSBvZiAwLTI1NSwgd2hpY2ggaXMgd2hhdCB0aGUgc3VuIGF1ZGlvIEFQSSB1c2VzLiBUaGlzIHNpbS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEJyaWFuIENhbWVyb24gPGJyaWFuLmNhbWVyb24gYXQgc3VuIGRvdCBjb20+CgkgICogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXJjdHJsLmM6CgkgIChnc3Rfc3VuYXVkaW9taXhlcl9jdHJsX2dldF92b2x1bWUpLAoJICAoZ3N0X3N1bmF1ZGlvbWl4ZXJfY3RybF9zZXRfdm9sdW1lKToKCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlcnRyYWNrLmM6IChnc3Rfc3VuYXVkaW9taXhlcl90cmFja19uZXcpOgoJICBGaXggdXAgdGhlIG1peGVyIHRyYWNrcyB0byB1c2UgYSB2b2x1bWUgcmFuZ2Ugb2YgMC0yNTUsIHdoaWNoIGlzIHdoYXQKCSAgdGhlIHN1biBhdWRpbyBBUEkgdXNlcy4gVGhpcyBzaW1wbGlmaWVzIHRoZSBjb2RlIGFuZCBhdm9pZHMgcm91bmRpbmcKCSAgZXJyb3JzLiBGaXhlcyAjNTI0NTkzLgoKMjAwOC0wMy0yNiAxNToxMDowOCArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSAgQWRkIGRldmljZS1mZCBwcm9wZXJ0eSB0byBtYWtlIGl0IHBvc3NpYmxlIHRvIGFwcHMgdG8gY2FsbCBpb2N0bCdzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQWRkIGRldmljZS1mZCBwcm9wZXJ0eSB0byBtYWtlIGl0IHBvc3NpYmxlIHRvIGFwcHMgdG8gY2FsbCBpb2N0bCdzLgoKMjAwOC0wMy0yNSAxNjo0NDoyMCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogVW5icmVhayBzdHJlYW1pbmcgbW9kZSBhZ2Fpbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAobmV4dF9lbnRyeV9zaXplKToKCSAgVW5icmVhayBzdHJlYW1pbmcgbW9kZSBhZ2Fpbi4KCjIwMDgtMDMtMjUgMTI6Mzk6MjIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6IFJlbW92ZSBzdXBlcmZsdW91cyBERUJVRyBtYWNyby4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOiAoZ3N0X3Y0bDJzcmNfc2V0X2NhcHR1cmUpOgoJICBSZW1vdmUgc3VwZXJmbHVvdXMgREVCVUcgbWFjcm8uCgoyMDA4LTAzLTI1IDEyOjMzOjA5ICswMDAwICBXaWxsaWFtIE0uIEJyYWNrIDx3YnJhY2tAbW1tLmNvbS5oaz4KCgkgIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzogQ2hlY2sgd2hldGhlciB0aGUgZGV2aWNlIHN1cHBvcnRzIHNldHRpbmcgdGhlIGZyYW1lcmF0ZSBiZWZvcmUgdHJ5aW5nIHRvIHNldCBpdCBhbmQgdGhlbiBwby4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQmFzZWQgb24gcGF0Y2ggYnk6IFdpbGxpYW0gTS4gQnJhY2sgPHdicmFjayBhdCBtbW0gY29tIGhrPgoJICAqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzogKGZyYWN0aW9uc19hcmVfZXF1YWwpLAoJICAoZ3N0X3Y0bDJzcmNfc2V0X2NhcHR1cmUpOgoJICBDaGVjayB3aGV0aGVyIHRoZSBkZXZpY2Ugc3VwcG9ydHMgc2V0dGluZyB0aGUgZnJhbWVyYXRlIGJlZm9yZQoJICB0cnlpbmcgdG8gc2V0IGl0IGFuZCB0aGVuIHBvc3RpbmcgYSB3YXJuaW5nIG9yIGVycm9yIGlmIGl0IGRvZXNuJ3QKCSAgd29yayAoIzUxNjY0OSwgIzUyMDA5MikuIEFsc28gY29tcGFyZSBmcmFjdGlvbnMgbW9yZSBjb3JyZWN0bHkuCgoyMDA4LTAzLTI0IDEyOjMyOjU5ICswMDAwICBSZW5lIFN0YWRsZXIgPG1haWxAcmVuZXN0YWRsZXIuZGU+CgoJICBNYWtlIHJnYW5hbHlzaXMgYW5kIHJnbGltaXRlciBlbGVtZW50cyBHQVAtZmxhZyBhd2FyZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3JlcGxheWdhaW4vZ3N0cmdhbmFseXNpcy5jIChnc3RfcmdfYW5hbHlzaXNfaW5pdCksCgkgIChnc3RfcmdfYW5hbHlzaXNfdHJhbnNmb3JtX2lwKToKCSAgKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ2xpbWl0ZXIuYyAoZ3N0X3JnX2xpbWl0ZXJfaW5pdCksCgkgIChnc3RfcmdfbGltaXRlcl90cmFuc2Zvcm1faXApOgoJICBNYWtlIHJnYW5hbHlzaXMgYW5kIHJnbGltaXRlciBlbGVtZW50cyBHQVAtZmxhZyBhd2FyZS4KCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ2FuYWx5c2lzLmM6ICh0ZXN0X2dhcF9idWZmZXJzKSwKCSAgKHJnYW5hbHlzaXNfc3VpdGUpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnbGltaXRlci5jICh0ZXN0X2dhcCksIChyZ2xpbWl0ZXJfc3VpdGUpOgoJICBBZGQgdGVzdHMgdG8gdmVyaWZ5IGdhcC1hd2FyZW5lc3MuCgoyMDA4LTAzLTIzIDEzOjMxOjE1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2dvb20vTWFrZWZpbGUuYW06IFJlbW92ZSBwcGMgYXNzZW1ibGVyIG9wdGltaXNhdGlvbnMgZnJvbSB0aGUgYnVpbGQgdW50aWwgdGhleSBhY3R1YWxseSBidWlsZCAodGhleSBhbHNvIHNlZW0gdG8gLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9nb29tL01ha2VmaWxlLmFtOgoJICBSZW1vdmUgcHBjIGFzc2VtYmxlciBvcHRpbWlzYXRpb25zIGZyb20gdGhlIGJ1aWxkIHVudGlsIHRoZXkKCSAgYWN0dWFsbHkgYnVpbGQgKHRoZXkgYWxzbyBzZWVtIHRvIGhhdmUgR1BMIGhlYWRlcnMpLgoKMjAwOC0wMy0yMyAxMjo0ODo0NCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIG00L01ha2VmaWxlLmFtOiBCZXR0ZXIgbm90IGRpc3QgZmlsZXMgdGhhdCBkb24ndCBleGlzdCBhbnkgbG9uZ2VyIChscmludCptNCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIG00L01ha2VmaWxlLmFtOgoJICBCZXR0ZXIgbm90IGRpc3QgZmlsZXMgdGhhdCBkb24ndCBleGlzdCBhbnkgbG9uZ2VyIChscmludCptNCkuCgoyMDA4LTAzLTIyIDE5OjI2OjA0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOiBEb24ndCBhdXRvcGx1ZyBzb3VwaHR0cHNyYyBmb3IgZGF2L2RhdnMuIFRoaXMgaXMgYmV0dGVyIGhhbmRsZWQgYnkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzogKGdzdF9zb3VwX2h0dHBfc3JjX2dvdF9oZWFkZXJzX2NiKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX2NodW5rX2FsbG9jYXRvciksCgkgIChnc3Rfc291cF9odHRwX3NyY19nb3RfY2h1bmtfY2IpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfdXJpX2dldF9wcm90b2NvbHMpOgoJICBEb24ndCBhdXRvcGx1ZyBzb3VwaHR0cHNyYyBmb3IgZGF2L2RhdnMuIFRoaXMgaXMgYmV0dGVyIGhhbmRsZWQgYnkKCSAgR0lPIGFuZCBHbm9tZVZGUyBhcyB0aGV5IHByb3ZpZGUgYXV0aGVudGljYXRpb24uCgkgIERvbid0IGxlYWsgdGhlIGljeSBjYXBzIGlmIHdlIGFscmVhZHkgc2V0IHRoZW0gYW5kIGdldCBhIG5ldwoJICBpY3ktbWV0YWludCBoZWFkZXIuCgkgIFRyeSBoYXJkZXIgdG8gc2V0IHRoZSBpY3kgY2FwcyBvbiB0aGUgb3V0cHV0IGJ1ZmZlciB0byBoYXZlIGNvcnJlY3QKCSAgY2FwcyBmb3IgdGhlIGZpcnN0IGJ1ZmZlciBhbHJlYWR5LgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NvdXBodHRwc3JjLmM6IChnb3RfYnVmZmVyKSwKCSAgKEdTVF9TVEFSVF9URVNUKToKCSAgQ2hlY2sgdGhhdCB3ZSBnZXQgYSBidWZmZXIgd2l0aCBhcHBsaWNhdGlvbi94LWljeSBjYXBzIGlmIGlyYWRpby1tb2RlCgkgIGlzIGVuYWJsZWQgYW5kIHdlIGhhdmUgYW4gaWNlY2FzdCBVUkwuCgoyMDA4LTAzLTIyIDE4OjE4OjQ2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOiBBY3R1YWxseSBzZXQgdGhlIGljeSBjYXBzIG9uIG91ciBzcmMgcGFkIGlmIHdlIGhhdmUgaWNlY2FzdCBkYXRhLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOiAoZ3N0X3NvdXBfaHR0cF9zcmNfY2h1bmtfYWxsb2NhdG9yKToKCSAgQWN0dWFsbHkgc2V0IHRoZSBpY3kgY2FwcyBvbiBvdXIgc3JjIHBhZCBpZiB3ZSBoYXZlIGljZWNhc3QgZGF0YS4KCSAgRml4ZXMgYnVnICM1MjM4NTQuCgoyMDA4LTAzLTIxIDEzOjM2OjI3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBSZW1vdmUgbHJpbnQvbHJpbnRmIGNoZWNrcy4gV2UgZG9uJ3QgdXNlIGl0IGFueXdoZXJlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogbTQvbHJpbnQubTQ6CgkgICogbTQvbHJpbnRmLm00OgoJICBSZW1vdmUgbHJpbnQvbHJpbnRmIGNoZWNrcy4gV2UgZG9uJ3QgdXNlIGl0IGFueXdoZXJlLgoKMjAwOC0wMy0xOSAxOTo1Njo1OSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2ZyZWV6ZS86IEFkZCBleGFtcGxlIHRvIHNvdXJjZSBjb2RlIGRvY3VtZW50YXRpb24gYmxvYiBhbmQgcmVtb3ZlIHRoZSAzIGxpbmUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ZyZWV6ZS9GQVE6CgkgICogZ3N0L2ZyZWV6ZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZnJlZXplL2dzdGZyZWV6ZS5jOgoJICBBZGQgZXhhbXBsZSB0byBzb3VyY2UgY29kZSBkb2N1bWVudGF0aW9uIGJsb2IgYW5kIHJlbW92ZSB0aGUgMyBsaW5lCgkgIEZBUS4KCSAgKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6CgkgIEFkZCBhIHNvdXJjZSBjb2RlIGRvY3VtZW50YXRpb24gYmxvYi4KCjIwMDgtMDMtMTggMTU6MDM6MDYgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkqIENoYW5nZUxvZzoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5oOgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubSAoZ3N0X29zeF92aWRlb19zaW5rX29zeHdpbmRvd19kZXN0cm95KQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwOC0wMy0xOCAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm0KCSAgKGdzdF9vc3hfdmlkZW9fc2lua19vc3h3aW5kb3dfZGVzdHJveSkKCSAgKGdzdF9vc3hfdmlkZW9fc2lua19vc3h3aW5kb3dfbmV3KTogQWN0dWFsbHkgc2V0IGEgbG9jayBvbiB0aGUKCSAgdGFzaywgd2hvb3BkZWUuCgkgIChjb2NvYV9ldmVudF9sb29wKTogUGFjaWZ5IHRoZSB0YXltYW5zIGJ5IHVwcGluZyB0aGUgdXNsZWVwYWdlIHRvCgkgIDIgbXMuCgoyMDA4LTAzLTE4IDExOjUwOjA4ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJICBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm0gKGdzdF9vc3hfdmlkZW9fc2lua19vc3h3aW5kb3dfZGVzdHJveSkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDgtMDMtMTggIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tIChnc3Rfb3N4X3ZpZGVvX3Npbmtfb3N4d2luZG93X2Rlc3Ryb3kpCgkgIChnc3Rfb3N4X3ZpZGVvX3Npbmtfb3N4d2luZG93X25ldywgY29jb2FfZXZlbnRfbG9vcCk6CgkgICogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5oIChzdHJ1Y3QgX0dzdE9TWFZpZGVvU2luayk6IElmIHdlCgkgIG5lZWQgdG8gcnVuIGFuIGV2ZW50IGxvb3AsIGRvIHNvIGluIGEgdGFzayBpbnN0ZWFkIG9mIGFzc3VtaW5nCgkgIHRoYXQgdGhlcmUgd2lsbCBiZSBhIEdNYWluTG9vcC4gRml4ZXMgIzUyMzEzNC4KCjIwMDgtMDMtMTcgMTk6NTA6NTggKzAwMDAgIFdpbGxpYW0gTS4gQnJhY2sgPHdicmFja0BtbW0uY29tLmhrPgoKCSAgc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOiBNYWtlIHN1cmUgdGhlIHByb2JlZCBmcmFtZSBzaXplcyBhcmUgcmV2ZXJzZWQgaW4gdGhlIHJlc3VsdGluZyBjYXBzIGFsc28gd2hlbiB1c2luZyBWNEwyX0ZSLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogV2lsbGlhbSBNLiBCcmFjayA8d2JyYWNrIGF0IG1tbSBjb20gaGs+CgkgICogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJICAoZ3N0X3Y0bDJzcmNfcHJvYmVfY2Fwc19mb3JfZm9ybWF0X2FuZF9zaXplKSwKCSAgKGdzdF92NGwyc3JjX3Byb2JlX2NhcHNfZm9yX2Zvcm1hdCk6CgkgIE1ha2Ugc3VyZSB0aGUgcHJvYmVkIGZyYW1lIHNpemVzIGFyZSByZXZlcnNlZCBpbiB0aGUgcmVzdWx0aW5nCgkgIGNhcHMgYWxzbyB3aGVuIHVzaW5nIFY0TDJfRlJNU0laRV9TVEVQV0lTRSAoc28gdGhleSBlbmQgdXAKCSAgaGlnaGVzdCByZXNvbHV0aW9uIGZpcnN0KTsgYWxzbyByZW1vdmUgdW51c2VkIHZhcmlhYmxlLgoJICAoUGFydGx5IGZpeGVzICM1MjAwOTIpCgoyMDA4LTAzLTE3IDE1OjU2OjAxICswMDAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9sZS5hbmRyZS5yYXZuYXNAdGFuZGJlcmcuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiBDYWxsIFdTQVN0YXJ0dXAoKSBhbmQgV1NBQ2xlYW51cCBiZWZvcmUgdXNpbmcgdGhlIFdpbnNvY2sgQVBJLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyAgPG9sZS5hbmRyZS5yYXZuYXNAdGFuZGJlcmcuY29tPgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX2luaXQpLAoJICAoZ3N0X3J0c3BzcmNfZmluYWxpemUpOgoJICBDYWxsIFdTQVN0YXJ0dXAoKSBhbmQgV1NBQ2xlYW51cCBiZWZvcmUgdXNpbmcgdGhlIFdpbnNvY2sgQVBJLgoJICBTZWUgIzUyMDgwOC4KCjIwMDgtMDMtMTYgMTU6MDE6MDcgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogRXJtLCB0aGUgYnVmZmVyLXNpemUgaXMganVzdCBndWludCwgbm8gbmVlZCBmb3IgdGhlIHNwZWNpYWwgZm9ybWF0IHNwZWNpZmllci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBFcm0sIHRoZSBidWZmZXItc2l6ZSBpcyBqdXN0IGd1aW50LCBubyBuZWVkIGZvciB0aGUgc3BlY2lhbCBmb3JtYXQKCSAgc3BlY2lmaWVyLgoKMjAwOC0wMy0xNiAxNDozNDo0NSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9nb29tLzogU21hbGwgZml4ZXMgdG8gYnVpbGQgbW9yZSBvbiBQUEM6IGlmZGVmIG91dCBjb2RlIHRoYXQgdXNlcyB1bmtub3duIGRlZmluZTsgYWRkIG5ld2xpbmUgYXQgZW5kIG9mIGhlYWRlciBmaS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZ29vbS9wbHVnaW5faW5mby5jOgoJICAqIGdzdC9nb29tL3BwY196b29tX3VsdGltYXRlLmg6CgkgIFNtYWxsIGZpeGVzIHRvIGJ1aWxkIG1vcmUgb24gUFBDOiBpZmRlZiBvdXQgY29kZSB0aGF0IHVzZXMgdW5rbm93bgoJICBkZWZpbmU7IGFkZCBuZXdsaW5lIGF0IGVuZCBvZiBoZWFkZXIgZmlsZSB0byBhdm9pZCBjb21waWxlciB3YXJuaW5nLgoJICBBc3NlbWJsZXIgY29kZSBzdGlsbCBkb2Vzbid0IGJ1aWxkIHRob3VnaC4KCjIwMDgtMDMtMTYgMTQ6MDQ6MTYgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogRml4IHVwIG15IGxhc3QgY29tbWl0LiBVc2UgR19HVUlOVDMyX0ZPUk1BVCBmb3IgdGhlIGd1aW50MzIgZGVidWcgbG9nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIEZpeCB1cCBteSBsYXN0IGNvbW1pdC4gVXNlIEdfR1VJTlQzMl9GT1JNQVQgZm9yIHRoZSBndWludDMyIGRlYnVnIGxvZy4KCSAgQWxzbyBkb3duZ3JhZGUgYSBHU1RfV0FSTklORyB0byBHU1RfREVCVUcgYW5kIGFkZCBhIGNvbW1lbnQuCgoyMDA4LTAzLTE1IDIyOjEwOjM4ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IENodW5rc2l6ZSBpcyB1aW50MzIuIEZpeCBmb3JtYXQgc3BlY2lmaWVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIENodW5rc2l6ZSBpcyB1aW50MzIuIEZpeCBmb3JtYXQgc3BlY2lmaWVyLgoKMjAwOC0wMy0xNCAxNTo1MzowMSArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBnc3QvcnRzcC9DT1BZSU5HLk1JVDoKCSAgZml4IGxpY2Vuc2UgZmlsZSwgcmVtb3ZlIGV4dHJhIGxpbmUgY29waWVkIG92ZXIgYnkgbWlzdGFrZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZml4IGxpY2Vuc2UgZmlsZSwgcmVtb3ZlIGV4dHJhIGxpbmUgY29waWVkIG92ZXIgYnkgbWlzdGFrZQoKMjAwOC0wMy0xMyAxNDozMDo0NSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2F1ZGlvZngvYXVkaW9meC5jOiBVc2UgR1NUX0xJQ0VOU0UsIEdTVF9QQUNLQUdFX05BTUUgYW5kIEdTVF9QQUNLQUdFX09SSUdJTiBpbnN0ZWFkIG9mIGhhcmRjb2RpbmcgdmFsdWVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2Z4LmM6CgkgIFVzZSBHU1RfTElDRU5TRSwgR1NUX1BBQ0tBR0VfTkFNRSBhbmQgR1NUX1BBQ0tBR0VfT1JJR0lOIGluc3RlYWQKCSAgb2YgaGFyZGNvZGluZyB2YWx1ZXMuCgoyMDA4LTAzLTEzIDA5OjQ1OjA5ICswMDAwICBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlckBtaW5kLmJlPgoKCSAgZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuKjogVHJ5IHRvIHJlc3VtZSBvbiBzZXJ2ZXIgZGlzY29ubmVjdC4gRml4ZXMgYnVnICM1MjIxMzQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogV291dGVyIENsb2V0ZW5zIDx3b3V0ZXIgYXQgbWluZCBkb3QgYmU+CgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzogKGdzdF9zb3VwX2h0dHBfc3JjX2luaXQpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfZmluaXNoZWRfY2IpLCAoZ3N0X3NvdXBfaHR0cF9zcmNfcmVzcG9uc2VfY2IpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfYnVpbGRfbWVzc2FnZSksIChnc3Rfc291cF9odHRwX3NyY19jcmVhdGUpOgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmg6CgkgIFRyeSB0byByZXN1bWUgb24gc2VydmVyIGRpc2Nvbm5lY3QuIEZpeGVzIGJ1ZyAjNTIyMTM0LgoKMjAwOC0wMy0xMSAyMzoxMjowNCArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFuYXV3QHNreW5ldC5iZT4KCgkgIHN5cy9vc3MvZ3N0b3Nzc3JjLio6IENhY2hlIHByb2JlZCBjYXBzLCBzbyBfZ2V0X2NhcHMoKSBkdXJpbmcgcmVjb3JkaW5nIGRvZXNuJ3QgY2F1c2UgaW9jdGwgY2FsbHMgd2hpY2ggbWF5IGRpc3J1cHQgdC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE1hcmsgTmF1d2VsYWVydHMgPG1hbmF1dyBza3luZXQgYmU+CgkgICogc3lzL29zcy9nc3Rvc3NzcmMuYzogKGdzdF9vc3Nfc3JjX2luaXQpLCAoZ3N0X29zc19zcmNfZ2V0Y2FwcyksCgkgIChnc3Rfb3NzX3NyY19jbG9zZSk6CgkgICogc3lzL29zcy9nc3Rvc3NzcmMuaDoKCSAgQ2FjaGUgcHJvYmVkIGNhcHMsIHNvIF9nZXRfY2FwcygpIGR1cmluZyByZWNvcmRpbmcgZG9lc24ndCBjYXVzZQoJICBpb2N0bCBjYWxscyB3aGljaCBtYXkgZGlzcnVwdCB0aGUgcmVjb3JkaW5nIChmaXhlcyAjNTIxODc1KS4KCjIwMDgtMDMtMTEgMTY6MjM6MDQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IE1ha2Ugc3VyZSB3ZSBhbHdheXMgc2VuZCBhIERJU0NPTlQgYWZ0ZXIgYSBzZWVrIGJ5IHNldHRpbmcgdGhlIHNhbXBsZSBpbmRleCB0byBhbiB1bmRlZmluZWQgdmEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfcGVyZm9ybV9zZWVrKSwKCSAgKGdzdF9xdGRlbXV4X2FjdGl2YXRlX3NlZ21lbnQpLAoJICAoZ3N0X3F0ZGVtdXhfcHJlcGFyZV9jdXJyZW50X3NhbXBsZSksCgkgIChnc3RfcXRkZW11eF9sb29wX3N0YXRlX21vdmllKSwgKHF0ZGVtdXhfcGFyc2VfdHJhayk6CgkgIE1ha2Ugc3VyZSB3ZSBhbHdheXMgc2VuZCBhIERJU0NPTlQgYWZ0ZXIgYSBzZWVrIGJ5IHNldHRpbmcgdGhlIHNhbXBsZQoJICBpbmRleCB0byBhbiB1bmRlZmluZWQgdmFsdWUgYWZ0ZXIgYSBzZWVrLgoKMjAwOC0wMy0xMSAxNToxODo0MyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9hdmkvZ3N0YXZpc3VidGl0bGUuaDogRml4IHVwIElTX0ZPTyBtYWNyb3MsIHdoaWNoIG1ha2VzIGd0ay1kb2MgbXVjaCBoYXBwaWVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aXN1YnRpdGxlLmg6IChHU1RfSVNfQVZJX1NVQlRJVExFKSwKCSAgKEdTVF9JU19BVklfU1VCVElUTEVfQ0xBU1MpOgoJICBGaXggdXAgSVNfRk9PIG1hY3Jvcywgd2hpY2ggbWFrZXMgZ3RrLWRvYyBtdWNoIGhhcHBpZXIuCgoyMDA4LTAzLTA4IDE5OjI5OjIwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgdGVzdHMvaWNsZXMvTWFrZWZpbGUuYW06IE1vdmUgdGhlIC1sZ3N0Zm9vIHdoZXJlIGl0IGJlbG9uZ3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2ljbGVzL01ha2VmaWxlLmFtOgoJICBNb3ZlIHRoZSAtbGdzdGZvbyB3aGVyZSBpdCBiZWxvbmdzLgoKMjAwOC0wMy0wOCAxOToxNDoyMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIENoYW5nZUxvZzoKCSAgQ2hhbmdlTG9nIHN1cmdlcnkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIENoYW5nZUxvZyBzdXJnZXJ5CgoyMDA4LTAzLTA4IDA0OjQwOjMyICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbWF0cm9za2EvZWJtbC1pZHMuaDogQWRkIElEIGZvciBFQk1MIENSQzMyIGVsZW1lbnRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvZWJtbC1pZHMuaDoKCSAgQWRkIElEIGZvciBFQk1MIENSQzMyIGVsZW1lbnRzLgoJICAqIGdzdC9tYXRyb3NrYS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbWF0cm9za2EvZWJtbC1yZWFkLmM6IChnc3RfZWJtbF9maW5hbGl6ZSksCgkgIChnc3RfZWJtbF9yZWFkX2NsYXNzX2luaXQpLCAoZ3N0X2VibWxfcmVhZF9wZWVrX2J5dGVzKSwKCSAgKGdzdF9lYm1sX3JlYWRfZ2V0X2xlbmd0aCksIChfZXh0MmRibCksIChnc3RfZWJtbF9yZWFkX2Zsb2F0KSwKCSAgKGdzdF9lYm1sX3JlYWRfaGVhZGVyKToKCSAgU3VwcG9ydCByZWFkaW5nIDgwYml0IGZsb2F0cywgYWRkIGZpbmFsaXplIG1ldGhvZCB0byBjbGVhbiB1cAoJICBpbiBhbnkgY2FzZSwgc3VwcG9ydCByZWFkaW5nIGxlbmd0aC9pZCBlbGVtZW50cyB3aXRoIGFueSBsZW5ndGgKCSAgYXMgbG9uZyBhcyBpdCdzIHNtYWxsZXIgdGhhbiBvdXIgc3VwcG9ydGVkIG1heGltdW0sIGRvbid0IGxlYWsKCSAgYnVmZmVycyBpZiByZWFkaW5nIGFzIG11Y2ggZGF0YSBhcyB3ZSB3YW50ZWQgZmFpbGVkIGFuZCBzb21lCgkgIHNtYWxsZXIgY2xlYW51cC4KCjIwMDgtMDMtMDggMDQ6MjE6MzQgKzAwMDAgIE9saXZpZXIgQ3JldGUgPHRlc3RlckB0ZXN0ZXIuY2E+CgoJICBnc3QvcnRwL2dzdHJ0cGgyNjNwZGVwYXkuYzogQ2hlY2sgdGhhdCBhIGJ1ZmZlciBpcyBsYXJnZSBlbm91Z2ggYmVmb3JlIHJlYWRpbmcgZnJvbSBpdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBPbGl2aWVyIENyZXRlIDx0ZXN0ZXIgYXQgdGVzdGVyIGRvdCBjYT4KCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjNwZGVwYXkuYzogKGdzdF9ydHBfaDI2M3BfZGVwYXlfcHJvY2Vzcyk6CgkgIENoZWNrIHRoYXQgYSBidWZmZXIgaXMgbGFyZ2UgZW5vdWdoIGJlZm9yZSByZWFkaW5nIGZyb20gaXQuCgkgIEZpeGVzIGJ1ZyAjNTIxMTAyLgoKMjAwOC0wMy0wNyAxNTo1NDowOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC91ZHAvZ3N0dWRwc3JjLmM6IEZpeCBjb21waWxhdGlvbiBhZnRlciByZW1vdmluZyB0aGUgR3N0UG9sbE1vZGUgZnJvbSB0aGUgY29uc3RydWN0b3IuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6IChnc3RfdWRwc3JjX3N0YXJ0KToKCSAgRml4IGNvbXBpbGF0aW9uIGFmdGVyIHJlbW92aW5nIHRoZSBHc3RQb2xsTW9kZSBmcm9tIHRoZQoJICBjb25zdHJ1Y3Rvci4KCjIwMDgtMDMtMDcgMTM6MDg6NDIgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIENoZWNrIGZvciBzaW5oKCksIGNvc2goKSBhbmQgYXNpbmgoKSBhbmQgZGVmaW5lIG91ciBvd24gaW1wbGVtZW50YXRpb25zIGlmIHRoZXkncmUgbm90IGF2YWlsYWJsZS4gRml4ZXMgYnVnICM1MjA4ODAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvYXVkaW9meC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJiYW5kLmM6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9jaGVibGltaXQuYzoKCSAgKiBnc3QvYXVkaW9meC9tYXRoX2NvbXBhdC5oOgoJICBDaGVjayBmb3Igc2luaCgpLCBjb3NoKCkgYW5kIGFzaW5oKCkgYW5kIGRlZmluZSBvdXIgb3duCgkgIGltcGxlbWVudGF0aW9ucyBpZiB0aGV5J3JlIG5vdCBhdmFpbGFibGUuIEZpeGVzIGJ1ZyAjNTIwODgwLgoKMjAwOC0wMy0wNyAxMjo0MDoxOCArMDAwMCAgT2xpdmllciBDcmV0ZSA8dGVzdGVyQHRlc3Rlci5jYT4KCgkgIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOiBVbnJlZiB0aGUgYnVmZmVycyBvbmx5IG9uY2Ugd2hlbiBoYW5kbGluZyBub3QtbmVnb3RpYXRlZCBlcnJvcnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogT2xpdmllciBDcmV0ZSA8dGVzdGVyIGF0IHRlc3RlciBkb3QgY2E+CgkgICogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6IChnc3Rfc3BlZXhfZW5jX2NoYWluKToKCSAgVW5yZWYgdGhlIGJ1ZmZlcnMgb25seSBvbmNlIHdoZW4gaGFuZGxpbmcgbm90LW5lZ290aWF0ZWQgZXJyb3JzLgoJICBGaXhlcyBidWcgIzUyMDc2NC4KCjIwMDgtMDMtMDcgMTA6MDE6NDAgKzAwMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b2xlLmFuZHJlLnJhdm5hc0B0YW5kYmVyZy5jb20+CgoJICBnc3QvdWRwL2dzdHVkcHNyYy5jOiBQcm9wZXJseSBiYWxhbmNlIFdTQV9DbGVhbnVwIHdpdGggV1NBX1N0YXJ0dXAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzICA8b2xlLmFuZHJlLnJhdm5hc0B0YW5kYmVyZy5jb20+CgkgICogZ3N0L3VkcC9nc3R1ZHBzcmMuYzogKGdzdF91ZHBzcmNfZmluYWxpemUpLCAoZ3N0X3VkcHNyY19zdGFydCksCgkgIChnc3RfdWRwc3JjX3N0b3ApOgoJICBQcm9wZXJseSBiYWxhbmNlIFdTQV9DbGVhbnVwIHdpdGggV1NBX1N0YXJ0dXAuCgkgIEFsc28gbWFrZSB0aGUgcG9sbCBjb250cm9sbGFibGUgb24gd2luZG93cy4gRml4ZXMgIzUyMDg4OC4KCjIwMDgtMDMtMDYgMTk6NDc6NDggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvbWF0cm9za2EvOiBIYW5kbGUgcmV0dXJuIHZhbHVlcyBmcm9tIHB1bGxfcmFuZ2UgaW4gYSBtb3JlIGdyYW51bGFyIHdheSB0byBwcm9wZXJseSBzaHV0IGRvd24gb24gc2Vla3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9lYm1sLXJlYWQuYzogKGdzdF9lYm1sX3JlYWRfcGVla19ieXRlcyksCgkgIChnc3RfZWJtbF9yZWFkX3B1bGxfYnl0ZXMpLCAoZ3N0X2VibWxfcmVhZF9lbGVtZW50X2lkKSwKCSAgKGdzdF9lYm1sX3JlYWRfZWxlbWVudF9sZW5ndGgpLCAoZ3N0X2VibWxfcGVla19pZCksCgkgIChnc3RfZWJtbF9yZWFkX3NraXApLCAoZ3N0X2VibWxfcmVhZF9idWZmZXIpLAoJICAoZ3N0X2VibWxfcmVhZF9ieXRlcyksIChnc3RfZWJtbF9yZWFkX3VpbnQpLCAoZ3N0X2VibWxfcmVhZF9zaW50KSwKCSAgKGdzdF9lYm1sX3JlYWRfZmxvYXQpLCAoZ3N0X2VibWxfcmVhZF9hc2NpaSksIChnc3RfZWJtbF9yZWFkX3V0ZjgpLAoJICAoZ3N0X2VibWxfcmVhZF9kYXRlKSwgKGdzdF9lYm1sX3JlYWRfbWFzdGVyKSwKCSAgKGdzdF9lYm1sX3JlYWRfYmluYXJ5KSwgKGdzdF9lYm1sX3JlYWRfaGVhZGVyKToKCSAgKiBnc3QvbWF0cm9za2EvZWJtbC1yZWFkLmg6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIChnc3RfbWF0cm9za2FfZGVtdXhfY29tYmluZV9mbG93cyksIChnc3RfbWF0cm9za2FfZGVtdXhfcmVzZXQpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3JlYWRfdHJhY2tfZW5jb2RpbmdzKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9hZGRfc3RyZWFtKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9oYW5kbGVfc3JjX3F1ZXJ5KSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9oYW5kbGVfc2Vla19ldmVudCksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfaW5pdF9zdHJlYW0pLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX3RyYWNrcyksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfaW5kZXhfY3VldHJhY2spLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2luZGV4X3BvaW50ZW50cnkpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2luZGV4KSwgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9pbmZvKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9tZXRhZGF0YV9pZF9zaW1wbGVfdGFnKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9tZXRhZGF0YV9pZF90YWcpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX21ldGFkYXRhKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9zeW5jX3N0cmVhbXMpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3B1c2hfaGRyX2J1ZiksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcHVzaF9mbGFjX2NvZGVjX3ByaXZfZGF0YSksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcHVzaF94aXBoX2NvZGVjX3ByaXZfZGF0YSksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfYWRkX3d2cGtfaGVhZGVyKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9jaGVja19zdWJ0aXRsZV9idWZmZXIpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2Jsb2NrZ3JvdXBfb3Jfc2ltcGxlYmxvY2spLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2NsdXN0ZXIpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2NvbnRlbnRzX3NlZWtlbnRyeSksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfY29udGVudHMpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2xvb3Bfc3RyZWFtX3BhcnNlX2lkKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9sb29wX3N0cmVhbSksIChnc3RfbWF0cm9za2FfZGVtdXhfbG9vcCk6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4Lmg6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5oOgoJICBIYW5kbGUgcmV0dXJuIHZhbHVlcyBmcm9tIHB1bGxfcmFuZ2UgaW4gYSBtb3JlIGdyYW51bGFyIHdheSB0byBwcm9wZXJseQoJICBzaHV0IGRvd24gb24gc2Vla3MuCgkgIENvbWJpbmUgcmV0dXJuIHZhbHVlcyBmcm9tIHB1c2guCgkgIEltcGxlbWVudCBwcm9wZXIgZXJyb3IgaGFuZGxpbmcuCgkgIFByZXBhcmUgZm9yIGhhbmRsaW5nIHNlZWtpbmcgY29ycmVjdGx5LgoKMjAwOC0wMy0wMyAyMjowMTo1NiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvbWF0cm9za2EvZWJtbC1yZWFkLmM6IFVzZSBHSU5UNjQgZm9ybWF0dGluZyBjb25zdGFudHMgZnJvbSBHTElCLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvZWJtbC1yZWFkLmM6CgkgIFVzZSBHSU5UNjQgZm9ybWF0dGluZyBjb25zdGFudHMgZnJvbSBHTElCLgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBBZGQgc29tZSBndWFyZHMgdG8gYXZvaWQgYSBwb3NzaWJsZSBkaXZpc2lvbiBieSAwIGFuZCBjcmFzaGluZwoJICB3aXRoIE5VTEwgZXZlbnRzIG9uIHNvbWUgc3lzdGVtcy4KCSAgVXNlIGdzdF9nZG91YmxlX3RvX2d1aW50NjQgc29tZXdoZXJlIGluc3RlYWQgb2YgYW4gaW1wbGljaXQKCSAgY29udmVyc2lvbi4KCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIENoZWNrIGZvciBpbnZhbGlkIHRpbWVzdGFtcHMgaW4gYSBidW5jaCBvZiBwbGFjZXMgdG8gYXZvaWQKCSAgd3JpdGluZyBib2d1cyBkdXJhdGlvbnMgaW50byB0aGUgb3V0cHV0IGZpbGUuCgkgIEZpeCBzb21lIGRvdWJsZTwtPmdpbnQ2NCBjb252ZXJzaW9ucyB0aGF0IHdlcmVuJ3QgdXNpbmcKCSAgZ3N0X2d1aW50NjRfdG9fZ2RvdWJsZQoKMjAwOC0wMy0wMyAxMzowMzo0MyArMDAwMCAgUGV0ZXIgS2plbGxlcnN0ZWR0IDxwa2pAYXhpcy5jb20+CgoJICBjb25maWd1cmUuYWM6IE1vdmUgdGhlIGNoZWNrcyBmb3IgYmlzb24sIGZsZXggYW5kIGFzIHRvIHRoZSBwcm9ncmFtIHNlY3Rpb24gYW5kIHRoZSBjaGVjayBmb3IgZ2NjIGlubGluZSBhc20gdG8gdGhlIGMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBNb3ZlIHRoZSBjaGVja3MgZm9yIGJpc29uLCBmbGV4IGFuZCBhcyB0byB0aGUgcHJvZ3JhbSBzZWN0aW9uIGFuZCB0aGUKCSAgY2hlY2sgZm9yIGdjYyBpbmxpbmUgYXNtIHRvIHRoZSBjb21waWxlciBjaGFyYWN0ZXJpc3RpY3Mgc2VjdGlvbi4KCjIwMDgtMDMtMDMgMTI6MTA6NTUgKzAwMDAgIFBldGVyIEtqZWxsZXJzdGVkdCA8cGtqQGF4aXMuY29tPgoKCSAgY29uZmlndXJlLmFjOiBVc2UgQUdfR1NUX0NIRUNLX1BMVUdJTiBhbmQgQUdfR1NUX0RJU0FCTEVfUExVR0lOIHRvIHNpbXBsaWZ5IHdoaWNoIHBsdWctaW5zIGFyZSBpbmNsdWRlZC9leGNsdWRlZC4gKCM0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgVXNlIEFHX0dTVF9DSEVDS19QTFVHSU4gYW5kIEFHX0dTVF9ESVNBQkxFX1BMVUdJTiB0byBzaW1wbGlmeSB3aGljaAoJICBwbHVnLWlucyBhcmUgaW5jbHVkZWQvZXhjbHVkZWQuICgjNDk4MjIyKQoKMjAwOC0wMi0yOSAxMjozNToyNCArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOiBEb24ndCBjYWxsIGdzdF9vYmplY3Rfc3luY192YWx1ZXMoKSB1bmxlc3Mgd2UgaGF2ZSBhIHZhbGlkIHRpbWVzdGFtcC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOiAoZ3N0X3ZpZGVvbWl4ZXJfYmxlbmRfYnVmZmVycyk6CgkgIERvbid0IGNhbGwgZ3N0X29iamVjdF9zeW5jX3ZhbHVlcygpIHVubGVzcyB3ZSBoYXZlIGEgdmFsaWQgdGltZXN0YW1wLgoKMjAwOC0wMi0yOSAwNjoxODo1NSArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBnc3QvbWF0cm9za2EvOiBGaXggRGlyYWMgbWFwcGluZy4gIEkgaGFkIHByZXZpb3VzbHkgYWRkZWQgYSBWZlctdHlwZSBtYXBwaW5nLCBidXQgaXQgbG9va3MgbGlrZSBEaXJhYyB3aWxsIGdldCBhIG5hdGkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5oOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgRml4IERpcmFjIG1hcHBpbmcuICBJIGhhZCBwcmV2aW91c2x5IGFkZGVkIGEgVmZXLXR5cGUKCSAgbWFwcGluZywgYnV0IGl0IGxvb2tzIGxpa2UgRGlyYWMgd2lsbCBnZXQgYSBuYXRpdmUgTWF0cm9za2EKCSAgbWFwcGluZywgYW5kIHRoaXMgaXMgdGhlIG1vc3QgbGlrZWx5IG1ldGhvZC4KCjIwMDgtMDItMjggMjM6NTY6MzAgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgZ3N0L2F2aS9nc3RhdmltdXguYzogQWRkIERpcmFjIGVuY29kaW5nCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6IEFkZCBEaXJhYyBlbmNvZGluZwoKMjAwOC0wMi0yOCAxMTo1MToyNCArMDAwMCAgUGV0ZXIgS2plbGxlcnN0ZWR0IDxwa2pAYXhpcy5jb20+CgoJICBnc3QvdWRwL2dzdHVkcHNyYy4qOiBQb3J0IHRvIEdzdFBvbGwuIFNlZSAjNTA1NDE3LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFBldGVyIEtqZWxsZXJzdGVkdCA8cGtqIGF0IGF4aXMgY29tPgoJICAqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6IChnc3RfdWRwc3JjX2luaXQpLCAoZ3N0X3VkcHNyY19jcmVhdGUpLAoJICAoZ3N0X3VkcHNyY19nZXRfcHJvcGVydHkpLCAoZ3N0X3VkcHNyY19zdGFydCksIChnc3RfdWRwc3JjX3VubG9jayksCgkgIChnc3RfdWRwc3JjX3VubG9ja19zdG9wKSwgKGdzdF91ZHBzcmNfc3RvcCk6CgkgICogZ3N0L3VkcC9nc3R1ZHBzcmMuaDoKCSAgUG9ydCB0byBHc3RQb2xsLiBTZWUgIzUwNTQxNy4KCjIwMDgtMDItMjggMDg6Mzc6NDQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9sYXcvbXVsYXctZGVjb2RlLmM6IFJldHVybiBHU1RfRkxPV19OT1RfTkVHT1RJQVRFRCB3aGVuIHRoZSBjYXBzIGFyZSBub3Qgc2V0IHlldCBvbiB0aGUgc3JjcGFkLiBXZSBuZWVkIHJhdGUgYW5kIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbGF3L211bGF3LWRlY29kZS5jOiAoZ3N0X211bGF3ZGVjX2NoYWluKToKCSAgUmV0dXJuIEdTVF9GTE9XX05PVF9ORUdPVElBVEVEIHdoZW4gdGhlIGNhcHMgYXJlIG5vdCBzZXQKCSAgeWV0IG9uIHRoZSBzcmNwYWQuIFdlIG5lZWQgcmF0ZSBhbmQgY2hhbm5lbHMgYmVmb3JlIHdlCgkgIGNhbiBkbyBhbnkgcHJvY2Vzc2luZy4gRml4ZXMgYnVnICM1MTkwODguCgoyMDA4LTAyLTI2IDEwOjA5OjM4ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogRGV0ZWN0IGFuZCBpbmRpY2F0ZSBpZiBHQ0MgaW5saW5lIGFzc2VtYmx5IHN5bnRheCBpcyBhdmFpbGFibGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgRGV0ZWN0IGFuZCBpbmRpY2F0ZSBpZiBHQ0MgaW5saW5lIGFzc2VtYmx5IHN5bnRheCBpcwoJICBhdmFpbGFibGUuCgkgICogZ3N0L2dvb20vTWFrZWZpbGUuYW06CgkgICogZ3N0L2dvb20vY29udm9sdmVfZnguYzoKCSAgKiBnc3QvZ29vbS9mbHlpbmdfc3RhcnNfZnguYzoKCSAgKiBnc3QvZ29vbS9nb29tX2NvbmZpZy5oOgoJICAqIGdzdC9nb29tL2dvb21fY29yZS5jOgoJICAqIGdzdC9nb29tL2dvb21zbC5jOgoJICAqIGdzdC9nb29tL2lmcy5jOgoJICAqIGdzdC9nb29tL21teC5jOgoJICAqIGdzdC9nb29tL3BsdWdpbl9pbmZvLmM6CgkgICogZ3N0L2dvb20veG1teC5jOgoJICBGaXggdmFyaW91cyBHQ0MtaXNtcywgYW5kIG9ubHkgYnVpbGQgdGhlIGlubGluZSBhc3NlbWJseQoJICB3aXRoIGNvbXBpbGVycyB0aGF0IHN1cHBvcnQgR0NDIGlubGluZSBhc3NlbWJseS4KCSAgRml4IGEgY291cGxlIG9mIG90aGVyIHdhcm5pbmdzIHNob3duIHdpdGggRm9ydGUuCgoyMDA4LTAyLTI2IDA1OjM2OjE3ICswMDAwICBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlckBtaW5kLmJlPgoKCSAgQWRkIHN1cHBvcnQgZm9yIHNwZWNpZnlpbmcgYSBsaXN0IG9mIGNvb2tpZXMgdG8gYmUgcGFzc2VkIGluIHRoZSBIVFRQIHJlcXVlc3QuIEZpeGVzIGJ1ZyAjNTE4NzIyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFdvdXRlciBDbG9ldGVucyA8d291dGVyIGF0IG1pbmQgZG90IGJlPgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IChnc3Rfc291cF9odHRwX3NyY19jbGFzc19pbml0KSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX2luaXQpLCAoZ3N0X3NvdXBfaHR0cF9zcmNfZGlzcG9zZSksCgkgIChnc3Rfc291cF9odHRwX3NyY19zZXRfcHJvcGVydHkpLCAoZ3N0X3NvdXBfaHR0cF9zcmNfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX2NyZWF0ZSk6CgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuaDoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zb3VwaHR0cHNyYy5jOiAocnVuX3Rlc3QpLCAoR1NUX1NUQVJUX1RFU1QpLAoJICAoc291cGh0dHBzcmNfc3VpdGUpOgoJICBBZGQgc3VwcG9ydCBmb3Igc3BlY2lmeWluZyBhIGxpc3Qgb2YgY29va2llcyB0byBiZSBwYXNzZWQgaW4KCSAgdGhlIEhUVFAgcmVxdWVzdC4gRml4ZXMgYnVnICM1MTg3MjIuCgoyMDA4LTAyLTI1IDEyOjAzOjQ2ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvZ29vbS94bW14LmM6IFVzZSAnZW1tcycgaW5zdGVhZCBvZiAnZmVtbXMnIHRvIG5vdCBjcmFzaCBvbiBjcHVzIHRoYXQgZG8gbm90IGltcGxlbWVudCB0aGlzIDNkbm93IHNwZWNpZmljIGluc3RydWMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2dvb20veG1teC5jOgoJICBVc2UgJ2VtbXMnIGluc3RlYWQgb2YgJ2ZlbW1zJyB0byBub3QgY3Jhc2ggb24gY3B1cyB0aGF0IGRvIG5vdAoJICBpbXBsZW1lbnQgdGhpcyAzZG5vdyBzcGVjaWZpYyBpbnN0cnVjdGlvbi4KCjIwMDgtMDItMjUgMTA6MzI6MzUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9nb29tL3BsdWdpbl9pbmZvLmM6IFVzZSBleHRlbmRlZCBNTVggZm9yIGRyYXdfbGluZSgpIHRvbyBpZiBhdmFpbGFibGUsIG5vdCBvbmx5IG5vcm1hbCBNTVguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9nb29tL3BsdWdpbl9pbmZvLmM6IChzZXRPcHRpbWl6ZWRNZXRob2RzKToKCSAgVXNlIGV4dGVuZGVkIE1NWCBmb3IgZHJhd19saW5lKCkgdG9vIGlmIGF2YWlsYWJsZSwgbm90IG9ubHkKCSAgbm9ybWFsIE1NWC4KCjIwMDgtMDItMjUgMDY6NTA6MzEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9qcGVnL2dzdGpwZWcuYzogUmVtb3ZlIChjb21tZW50ZWQgb3V0KSBzbW9rZSB0eXBlZmluZGVyLiBUaGlzIGlzIGluIGJhc2Ugbm93LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvanBlZy9nc3RqcGVnLmM6IChwbHVnaW5faW5pdCk6CgkgIFJlbW92ZSAoY29tbWVudGVkIG91dCkgc21va2UgdHlwZWZpbmRlci4gVGhpcyBpcyBpbiBiYXNlIG5vdy4KCjIwMDgtMDItMjMgMTU6MDI6MTUgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0L2dvb20yazEvOiBSZW5hbWUgdGhlIGluc3RhbGxlZCBsaWJyYXJ5LCBhbmQgZG9uJ3QgcmVnaXN0ZXIgdGhlIHNhbWUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2dvb20yazEvTWFrZWZpbGUuYW06CgkgICogZ3N0L2dvb20yazEvZ3N0Z29vbS5jOgoJICBSZW5hbWUgdGhlIGluc3RhbGxlZCBsaWJyYXJ5LCBhbmQgZG9uJ3QgcmVnaXN0ZXIgdGhlIHNhbWUKCSAgR1R5cGUgbmFtZSBhcyB0aGUgbmV3IGdvb20uCgoyMDA4LTAyLTIzIDEyOjIzOjM4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgQ2hlY2sgZm9yIGFuZCBkZWZpbmUgRVJST1JfQ1hYRkxBR1MgYW5kIHVzZSB0aGVtIHdoZW4gYnVpbGRpbmcKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC90YWdsaWIvTWFrZWZpbGUuYW06CgkgIENoZWNrIGZvciBhbmQgZGVmaW5lIEVSUk9SX0NYWEZMQUdTIGFuZCB1c2UgdGhlbSB3aGVuIGJ1aWxkaW5nCgkgIEMrKyBjb2RlICgjNTE2NTA5KS4KCjIwMDgtMDItMjMgMTI6MTA6MTYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvZ29vbS86IENhbGwgb2lsX2luaXQoKSwgb3RoZXJ3aXNlIG9pbF9nZXRfY3B1X2ZsYWdzKCkgd29uJ3QgcmV0dXJuIGFueXRoaW5nIHVzZWZ1bC4gRXhwb3J0IGdvb20gZGVidWcgY2F0ZWdvcnkgc28uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2dvb20vZ3N0Z29vbS5jOiAoZ29vbV9kZWJ1ZyksIChwbHVnaW5faW5pdCk6CgkgICogZ3N0L2dvb20vcGx1Z2luX2luZm8uYzogKGdvb21fZGVidWcpLCAoR1NUX0NBVF9ERUZBVUxUKSwKCSAgKHNldE9wdGltaXplZE1ldGhvZHMpOgoJICBDYWxsIG9pbF9pbml0KCksIG90aGVyd2lzZSBvaWxfZ2V0X2NwdV9mbGFncygpIHdvbid0IHJldHVybgoJICBhbnl0aGluZyB1c2VmdWwuIEV4cG9ydCBnb29tIGRlYnVnIGNhdGVnb3J5IHNvIHdlIGNhbiBnZXQKCSAgcmlkIG9mIHRoZSBWRVJCT1NFIGRlZmluZSBhbmQgdGhlIHByaW50ZnMuCgoyMDA4LTAyLTIzIDExOjUzOjI3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2dvb20vOiBDb21waWxlIGZpeGVzIGZvciB4ODYtNjQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9nb29tL2dvb21zbF9oZWFwLmM6IChhbGlnbl9pdCk6CgkgICogZ3N0L2dvb20vcGx1Z2luX2luZm8uYzogKHNldE9wdGltaXplZE1ldGhvZHMpOgoJICBDb21waWxlIGZpeGVzIGZvciB4ODYtNjQuCgoyMDA4LTAyLTIzIDAzOjEwOjU1ICswMDAwICBCYXN0aWVuIE5vY2VyYSA8aGFkZXNzQGhhZGVzcy5uZXQ+CgoJICBnc3QvZ29vbS9NYWtlZmlsZS5hbTogRG9uJ3QgY29tcGlsZSBsZXggb3IgeWFjYyBvdXRwdXRzIHdpdGggd2FybmluZ3MsIGJ1dCBhZGQgb3RoZXIgQ0ZMQUdTCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9nb29tL01ha2VmaWxlLmFtOiBEb24ndCBjb21waWxlIGxleCBvciB5YWNjIG91dHB1dHMKCSAgd2l0aCB3YXJuaW5ncywgYnV0IGFkZCBvdGhlciBDRkxBR1MKCSAgKiBnc3QvZ29vbS9nb29tc2wuYyAoZ3NsX2luc3RyX3NldF9uYW1lc3BhY2UpLAoJICAoZ3NsX2luc3RyX2FkZF9wYXJhbSksIChpZmxvd19leGVjdXRlKSwgKGdzbF9lbnRlcm5hbWVzcGFjZSksCgkgIChjYWxjdWxhdGVfbGFiZWxzKSwgKGdzbF9yZWFkX2ZpbGUpOgoJICAqIGdzdC9nb29tL2dvb21zbF9sZXgubDoKCSAgKiBnc3QvZ29vbS9nb29tc2xfeWFjYy55OgoJICAqIGdzdC9nb29tL3BsdWdpbl9pbmZvLmM6IFJlbW92ZSBhIGZldyBsaXZlIHByaW50ZiwgYW5kCgkgIGZwcmludGYsIHJlcGxhY2UgZXhpdCgpIGNhbGxzIHdpdGggZ19hc3NlcnRfbm90X3JlYWNoZWQoKQoJICBpZiBpdCBub3Qgb3B0aW1hbCBmb3IgYSBsaWJyYXJ5CgoyMDA4LTAyLTIzIDAyOjM4OjAzICswMDAwICBCYXN0aWVuIE5vY2VyYSA8aGFkZXNzQGhhZGVzcy5uZXQ+CgoJICBnc3QvZ29vbS9NYWtlZmlsZS5hbTogUmVtb3ZlIHRoZSB3YXJuaW5ncyBiZWluZyBkaXNhYmxlZCwgZml4IGxpbmthZ2Ugb24geDg2LCBzcG90dGVkIGJ5IFNlYmFzdGlhbiBEcsO2Z2UKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2dvb20vTWFrZWZpbGUuYW06IFJlbW92ZSB0aGUgd2FybmluZ3MgYmVpbmcgZGlzYWJsZWQsCgkgIGZpeCBsaW5rYWdlIG9uIHg4Niwgc3BvdHRlZCBieSBTZWJhc3RpYW4gRHLDtmdlCgkgIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgkgICogZ3N0L2dvb20vY29udm9sdmVfZnguYyAoY29udm9sdmVfaW5pdCksCgkgIChjcmVhdGVfb3V0cHV0X3dpdGhfYnJpZ2h0bmVzcyksIChjb252b2x2ZV9hcHBseSk6CgkgICogZ3N0L2dvb20vZmlsdGVycy5jICh6b29tRmlsdGVyVmlzdWFsRlhXcmFwcGVyX2NyZWF0ZSk6CgkgICogZ3N0L2dvb20vZ29vbXNsLmM6CgkgICogZ3N0L2dvb20vaWZzLmMgKGlmc191cGRhdGUpLCAoaWZzX3Zpc3VhbGZ4X2NyZWF0ZSk6CgkgICogZ3N0L2dvb20vcGx1Z2luX2luZm8uYzoKCSAgKiBnc3QvZ29vbS90ZW50YWNsZTNkLmMgKHRlbnRhY2xlX2Z4X2NyZWF0ZSk6CgkgIEZpeCB3YXJuaW5ncywgYW5kIGRpc2FibGUgdGhlIG1vdGlmcyBpbiB0aGUgY29udm9sdmVfZngKCSAgcGx1Z2luICh0aGV5IHdlcmUgY2F1c2luZyB3YXJuaW5ncywgYW5kIHRoZXkgd2VyZSBqdXN0CgkgICJHb29tIiBpbiBmdW5ueSBsZXR0ZXJyaW5nKQoKMjAwOC0wMi0yMyAwMTo1MTozNyArMDAwMCAgQmFzdGllbiBOb2NlcmEgPGhhZGVzc0BoYWRlc3MubmV0PgoKCSAgY29uZmlndXJlLmFjOiBBZGQgY2hlY2tzIGZvciBGbGV4L1lhY2MvQmlzb24gYW5kIG90aGVyIGZ1cnJ5IGFuaW1hbHMsIGZvciB0aGUgbmV3IGdvb20gMms0IGJhc2VkIHBsdWdpbgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwOC0wMi0yMyAgQmFzdGllbiBOb2NlcmEgIDxoYWRlc3NAaGFkZXNzLm5ldD4KCSAgKiBjb25maWd1cmUuYWM6IEFkZCBjaGVja3MgZm9yIEZsZXgvWWFjYy9CaXNvbiBhbmQgb3RoZXIKCSAgZnVycnkgYW5pbWFscywgZm9yIHRoZSBuZXcgZ29vbSAyazQgYmFzZWQgcGx1Z2luCgkgICogZ3N0L2dvb20vKjogVXBkYXRlIHRvIHVzZSBnb29tIDJrNCwgdXNlcyBsaWJvaWwgdG8gZGV0ZWN0CgkgIENQVSBvcHRpbWlzYXRpb25zIChub3Qgd29ya2luZyB5ZXQpLCBtb3ZlIHRoZSBvbGQgcGx1Z2luIHRvLi4uCgkgICogZ3N0L2dvb20yazEvKjogLi4uIGhlcmUsIGluIGNhc2Ugc29tZWJvZHkgaXMgc2ljayBlbm91Z2gKCSAgRml4ZXMgIzUxNTA3MwoKMjAwOC0wMi0yMiAwOTo1NjowMyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogUG9zdCB0aGUgc2VydmVyIHJlc3BvbnNlIGNvZGUgaW4gYW4gZXJyb3IgbWVzc2FnZSBpbnN0ZWFkIG9mIGEgZ2VuZXJpYyAnZXJyb3InIG1lc3NhZ2UuIEZpeGVzIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19zZXR1cF9zdHJlYW1zKToKCSAgUG9zdCB0aGUgc2VydmVyIHJlc3BvbnNlIGNvZGUgaW4gYW4gZXJyb3IgbWVzc2FnZSBpbnN0ZWFkIG9mIGEgZ2VuZXJpYwoJICAnZXJyb3InIG1lc3NhZ2UuIEZpeGVzICM1MTcyMzcuCgoyMDA4LTAyLTIyIDA3OjIwOjAzICswMDAwICBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlckBtaW5kLmJlPgoKCSAgSW1wbGVtZW50IHplcm8tY29weSBhbmQgbWFrZSB0aGUgYnVmZmVyIHNpemUgY29uZmlndXJhYmxlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFdvdXRlciBDbG9ldGVucyA8d291dGVyIGF0IG1pbmQgZG90IGJlPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOiAoZ3N0X3NvdXBfaHR0cF9zcmNfY2FuY2VsX21lc3NhZ2UpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfZmluaXNoZWRfY2IpLCAoZ3N0X3NvdXBfaHR0cF9zcmNfY2h1bmtfZnJlZSksCgkgIChnc3Rfc291cF9odHRwX3NyY19jaHVua19hbGxvY2F0b3IpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfZ290X2NodW5rX2NiKSwgKGdzdF9zb3VwX2h0dHBfc3JjX2NyZWF0ZSksCgkgIChnc3Rfc291cF9odHRwX3NyY19zdGFydCksIChnc3Rfc291cF9odHRwX3NyY19zZXRfcHJveHkpOgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmg6CgkgIEltcGxlbWVudCB6ZXJvLWNvcHkgYW5kIG1ha2UgdGhlIGJ1ZmZlciBzaXplIGNvbmZpZ3VyYWJsZS4KCSAgUHJlZml4IHByb3h5IFVSSXMgd2l0aCAiaHR0cDovLyIgaWYgdGhleSBkb24ndCBzdGFydCB3aXRoIGl0CgkgIGFscmVhZHkgYW5kIGNhdGNoIGVycm9ycyBlYXJsaWVyLCBmaXhlcyBoYW5naW5nIGluIHNvbWUgc2l0dWF0aW9ucy4KCSAgRml4ZXMgYnVnICM1MTQ5NDguCgoyMDA4LTAyLTIyIDA2OjIyOjM5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbTogSWdub3JlIGdjb25mYXVkaW9zcmMgZm9yIHRoZSBzdGF0ZXMgdW5pdCB0ZXN0IHRvby4gSXQgd2lsbCBmYWxsYmFjayB0byBhbHNhc3JjIGlmIHRoZSBnY29uZiAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIElnbm9yZSBnY29uZmF1ZGlvc3JjIGZvciB0aGUgc3RhdGVzIHVuaXQgdGVzdCB0b28uIEl0IHdpbGwgZmFsbGJhY2sKCSAgdG8gYWxzYXNyYyBpZiB0aGUgZ2NvbmYgc2V0dGluZ3MgY2FuJ3QgYmUgcmVhZCBhbmQgbm90IGV2ZXJ5Ym9keSBoYXMKCSAgYWxzYS4KCjIwMDgtMDItMjIgMDY6MDY6MDYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS4qOiBBbHdheXMgcmVwb3J0IHRoZSBkdXJhdGlvbiBpZiB3ZSBrbm93IGl0IGluIHB1c2ggbW9kZSBhbmQgZG9uJ3QgcmV0dXJuIDAganVzdCB0byBtYWtlIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogKGdzdF93YXZwYWNrX3BhcnNlX3NyY19xdWVyeSksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9jcmVhdGVfc3JjX3BhZCk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmg6CgkgIEFsd2F5cyByZXBvcnQgdGhlIGR1cmF0aW9uIGlmIHdlIGtub3cgaXQgaW4gcHVzaCBtb2RlIGFuZCBkb24ndAoJICByZXR1cm4gMCBqdXN0IHRvIG1ha2UgdG90ZW0gYmVsaWV2ZSB3ZSBjYW4ndCBzZWVrIGluIHB1c2ggbW9kZS4KCSAgTmV3ZXIgdG90ZW0gdmVyc2lvbiB1c2UgdGhlIFNFRUtJTkcgcXVlcnkgd2hpY2ggcHJvcGVybHkgcmVwb3J0cwoJICBpZiB3ZSBjYW4gc2VlayBvciBub3QuCgoyMDA4LTAyLTIyIDA1OjM5OjAxICswMDAwICBKZW5zIEdyYW5zZXVlciA8amVuc2dyQGdteC5uZXQ+CgoJICB0ZXN0cy9leGFtcGxlcy9lcXVhbGl6ZXIvZGVtby5jOiBDODkgZml4LCBtb3ZpbmcgdmFyaWFibGUgZGVjbGFyYXRpb25zIHRvIHRoZSBiZWdpbm5pbmcgb2YgdGhlIGJsb2NrLiBGaXhlcyBidWcgIzUxNzkzMy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBKZW5zIEdyYW5zZXVlciA8amVuc2dyIGF0IGdteCBkb3QgbmV0PgoJICAqIHRlc3RzL2V4YW1wbGVzL2VxdWFsaXplci9kZW1vLmM6IChtYWluKToKCSAgQzg5IGZpeCwgbW92aW5nIHZhcmlhYmxlIGRlY2xhcmF0aW9ucyB0byB0aGUgYmVnaW5uaW5nIG9mCgkgIHRoZSBibG9jay4gRml4ZXMgYnVnICM1MTc5MzMuCgoyMDA4LTAyLTIxIDIzOjQ3OjM3ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogQmFjayB0byBkZXZlbG9wbWVudC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQuLi4KCj09PSByZWxlYXNlIDAuMTAuNyA9PT0KCjIwMDgtMDItMjEgMDA6MDk6MDcgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFubm9kZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYW1tYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhhbGVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9ub3Njb3BlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF1aWNrdGltZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYmFsYW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9mbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZ3N0LXBsdWdpbnMtZ29vZC5kb2FwOgoJKiBwby9MSU5HVUFTOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMC4xMC43IC0gUmVkIERvb3IgQmxhY2sKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFJlbGVhc2UgMC4xMC43IC0gUmVkIERvb3IgQmxhY2sKCjIwMDgtMDItMjAgMjI6NTE6MDggKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9zay5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDA4LTAyLTE5IDEwOjQ3OjIwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvYWxwaGEvTWFrZWZpbGUuYW06IExpbmsgYWxwaGEgcGx1Z2luIHdpdGggbGliZ3N0YmFzZS4gRml4ZXMgYnVnICM1MTczODYuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hbHBoYS9NYWtlZmlsZS5hbToKCSAgTGluayBhbHBoYSBwbHVnaW4gd2l0aCBsaWJnc3RiYXNlLiBGaXhlcyBidWcgIzUxNzM4Ni4KCjIwMDgtMDItMTggMTE6MTM6MzUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IEluaXQgdmFsdWVzIHRvIC0xIGluc3RlYWQgb2YgdGhlIGRlZmF1bHQgMCB2YWx1ZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfY3JlYXRlX3N0cmVhbSk6CgkgIEluaXQgdmFsdWVzIHRvIC0xIGluc3RlYWQgb2YgdGhlIGRlZmF1bHQgMCB2YWx1ZS4KCSAgRml4ZXMgIzUxNjUyNC4KCjIwMDgtMDItMTQgMTQ6NTA6MzAgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIHRlc3RzL2V4YW1wbGVzL3NwZWN0cnVtL3NwZWN0cnVtLWV4YW1wbGUuYzogQWRkIG1pc3NpbmcgaW5jbHVkZSB0byBmaXggY29tcGlsYXRpb24gd2hlbiBsaWJ4bWwgdXNhZ2UgaXMgZGlzYWJsZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2V4YW1wbGVzL3NwZWN0cnVtL3NwZWN0cnVtLWV4YW1wbGUuYzoKCSAgQWRkIG1pc3NpbmcgaW5jbHVkZSB0byBmaXggY29tcGlsYXRpb24gd2hlbiBsaWJ4bWwgdXNhZ2UgaXMgZGlzYWJsZWQuCgkgIEZpeGVzOiAjNTE2MzcxCgoyMDA4LTAyLTEyIDIzOjM4OjE5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgZml4ZXM6ICM1MTQ4ODkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHBhdGNoIGJ5OiAgV2ltIFRheW1hbnMgIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgkgIGZpeGVzOiAjNTE0ODg5CgkgICogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBtcDRnZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGdwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGdwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzcGF5LmM6CgkgIEZpeCB2YXJpb3VzIGxlYWtzIHNob3duIHVwIGluIHZhbGdyaW5kCgkgIC0gZnJlZSBzcHJvcHMgYW5kIGJ1ZmZlciBpbiBlcnJvciBjYXNlcyBpbiBIMjY0IHBheWxvYWRlcgoJICAtIGZpeCBsZWFrIGluIG1wNGcgZGVwYXlsb2FkZXIgd2hlbiBjb25zdHJ1Y3Rpb24gdGhlIGNhcHMKCSAgLSBkb24ndCBsZWFrIGNvbmZpZyBzdHJpbmcgaW4gdGhlIG1wNGcgcGF5bG9hZGVyCgkgIC0gZG9uJ3QgbGVhayBidWZmZXJzIGFuZCBoZWFkZXJzIGluIHRoZW9yYSBhbmQgdm9yYmlzIHBheWxvYWRlcnMKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHAtcGF5bG9hZGluZy5jOgoJICBGaXggdGhlIFJUUCBkYXRhIHRlc3QKCSAgLSBBY3R1YWxseSBzZW5kIHZhbGlkIGFtciBkYXRhIHRvIHRoZSBwYXlsb2FkZXIgaW5zdGVhZCBvZiAyMAoJICB6ZXJvLWJ5dGVzCgkgIC0gVGhlIG1wNGcgcGF5bG9hZGVyIGV4cGVjdHMgY29kZWNfZGF0YSBvbiB0aGUgY2FwcwoKMjAwOC0wMi0xMiAyMTozNjo0MCArMDAwMCAgU8OpYmFzdGllbiBNb3V0dGUgPHNlYmFzdGllbkBtb3V0dGUubmV0PgoKCSAgd2luMzIvTUFOSUZFU1Q6IEFkZCBsaWJnc3RwbmcuZHNwIHRvIE1BTklGRVNULgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB3aW4zMi9NQU5JRkVTVDoKCSAgQWRkIGxpYmdzdHBuZy5kc3AgdG8gTUFOSUZFU1QuCgkgICogd2luMzIvdnM2L2xpYmdzdGF1ZGlvZnguZHNwOgoJICBBZGQgbmV3IHNvdXJjZSBmaWxlcyB0byBWUyBwcm9qZWN0IGZpbGUuCgoyMDA4LTAyLTEyIDEzOjM0OjUyICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6IEluaXRpYWxpc2UgdmFyaWFibGVzIHdoZW4gb3BlbmluZyB0aGUgWCBkaXNwbGF5IHJhdGhlciB0aGFuIGluIF9zdGFydCgpLCBhcyB0aGUgZGlzcGxheSBjYS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOgoJICBJbml0aWFsaXNlIHZhcmlhYmxlcyB3aGVuIG9wZW5pbmcgdGhlIFggZGlzcGxheSByYXRoZXIKCSAgdGhhbiBpbiBfc3RhcnQoKSwgYXMgdGhlIGRpc3BsYXkgY2FuIGJlIG9wZW5lZCBiZWZvcmUgdGhhdC4KCSAgRml4ZXM6ICM1MTU5ODUKCjIwMDgtMDItMTIgMTI6MjI6NDggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6IFByb3Blcmx5IGNoYWluIHVwIGZpbmFsaXplIGZ1bmN0aW9ucy4gRml4ZXMgYnVnICM1MTU5ODAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgIChnc3RfZGRyYXdzdXJmYWNlX2NsYXNzX2luaXQpLCAoZ3N0X2RkcmF3c3VyZmFjZV9maW5hbGl6ZSksCgkgIChnc3RfZGlyZWN0ZHJhd19zaW5rX2ZpbmFsaXplKToKCSAgUHJvcGVybHkgY2hhaW4gdXAgZmluYWxpemUgZnVuY3Rpb25zLiBGaXhlcyBidWcgIzUxNTk4MC4KCjIwMDgtMDItMTIgMTE6Mzg6NTQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzogQ2hhaW4gdXAgdGhlIGZpbmFsaXplIGZ1bmN0aW9ucy4gRml4ZXMgYnVnICM1MTU5ODQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzogKGdzdF92NGwyX2J1ZmZlcl9maW5hbGl6ZSksCgkgIChnc3RfdjRsMl9idWZmZXJfY2xhc3NfaW5pdCksIChnc3RfdjRsMl9idWZmZXJfcG9vbF9maW5hbGl6ZSksCgkgIChnc3RfdjRsMl9idWZmZXJfcG9vbF9jbGFzc19pbml0KToKCSAgQ2hhaW4gdXAgdGhlIGZpbmFsaXplIGZ1bmN0aW9ucy4gRml4ZXMgYnVnICM1MTU5ODQuCgoyMDA4LTAyLTEyIDExOjE0OjM2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBzeXMveGltYWdlL3hpbWFnZXV0aWwuYzogQ2hhaW4gdXAgaW4gdGhlIGZpbmFsaXplIGZ1bmN0aW9uIGZvciBvdXIgY3VzdG9tIGJ1ZmZlciBzdWItY2xhc3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy94aW1hZ2UveGltYWdldXRpbC5jOgoJICBDaGFpbiB1cCBpbiB0aGUgZmluYWxpemUgZnVuY3Rpb24gZm9yIG91ciBjdXN0b20KCSAgYnVmZmVyIHN1Yi1jbGFzcy4KCSAgUGF0Y2ggYnk6IFNlYmFzdGlhbiBEcsO2Z2UgIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgkgIEZpeGVzOiAjNTE1NzA2CgoyMDA4LTAyLTEyIDExOjEyOjQzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZGVidWcvZWZlbmNlLmM6IFByb3Blcmx5IGNoYWluIHVwIGZpbmFsaXplIG1ldGhvZC4gRml4ZXMgYnVnICM1MTU5NzkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWJ1Zy9lZmVuY2UuYzogKGdzdF9mZW5jZWRfYnVmZmVyX2ZpbmFsaXplKSwKCSAgKGdzdF9mZW5jZWRfYnVmZmVyX2NsYXNzX2luaXQpOgoJICBQcm9wZXJseSBjaGFpbiB1cCBmaW5hbGl6ZSBtZXRob2QuIEZpeGVzIGJ1ZyAjNTE1OTc5LgoKMjAwOC0wMi0xMiAxMTowOTowOCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOiBGcmVlIGFsbG9jYXRlZCBEYW1hZ2UgbWVtb3J5IGJlZm9yZSBjbG9zaW5nIG91ciBjb25uZWN0aW9uIHRvIHRoZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOgoJICBGcmVlIGFsbG9jYXRlZCBEYW1hZ2UgbWVtb3J5IGJlZm9yZSBjbG9zaW5nIG91ciBjb25uZWN0aW9uIHRvIHRoZQoJICBYIHNlcnZlci4gRml4ZXM6ICM1MTU3MDYKCjIwMDgtMDItMTIgMDU6MjE6NDYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NvdXBodHRwc3JjLmM6IEluY2x1ZGUgZ2xpYi9ncHJpbnRmLmggZm9yIGdfdmFzcHJpbnRmKCkuIEZpeGVzIGJ1ZyAjNTE1NTY0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zb3VwaHR0cHNyYy5jOgoJICBJbmNsdWRlIGdsaWIvZ3ByaW50Zi5oIGZvciBnX3Zhc3ByaW50ZigpLiBGaXhlcyBidWcgIzUxNTU2NC4KCjIwMDgtMDItMTIgMDU6MTQ6MTYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIEFkZCBhIGZldyBsaWJqcGVnIHN1cHByZXNzaW9ucyBhbmQgaW5pdGlhbGl6ZSBhIHZhcmlhYmxlIHRvIG1ha2Ugc21va2VlbmMgdmFsZ3JpbmQgY2xlYW4uIEZpeGVzIGJ1ZyAjNTE1NzAxLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvanBlZy9nc3RzbW9rZWVuYy5jOiAoZ3N0X3Ntb2tlZW5jX2NoYWluKToKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9nc3QtcGx1Z2lucy1nb29kLnN1cHA6CgkgIEFkZCBhIGZldyBsaWJqcGVnIHN1cHByZXNzaW9ucyBhbmQgaW5pdGlhbGl6ZSBhIHZhcmlhYmxlIHRvCgkgIG1ha2Ugc21va2VlbmMgdmFsZ3JpbmQgY2xlYW4uIEZpeGVzIGJ1ZyAjNTE1NzAxLgoKMjAwOC0wMi0xMSAyMToyNDozMCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IFJldmVydCBwYXRjaCB3aGljaCBzZW5kcyB0aW1lc3RhbXBzIG9ubHkgb24ga2V5ZnJhbWVzLCBhcyBpdCBicmVha3MgcGxheWJhY2sgd2l0aCBjdXJyZW50IGdzdC0uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBSZXZlcnQgcGF0Y2ggd2hpY2ggc2VuZHMgdGltZXN0YW1wcyBvbmx5IG9uIGtleWZyYW1lcywgYXMgaXQKCSAgYnJlYWtzIHBsYXliYWNrIHdpdGggY3VycmVudCBnc3QtZmZtcGVnLgoJICBGaXhlczogIzUxNTU2MgoKMjAwOC0wMi0xMSAxNDowMTo1MiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgQ2xvc2Ugc29tZSBtZW1vcnkgbGVha3Mgc3BvdHRlZCBieSB0aGUgdW5pdCB0ZXN0LiBGaXhlcyBidWcgIzUxNTY5Ny4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzcmMuYzogKGdzdF9tdWx0aV9maWxlX3NyY19jcmVhdGUpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL211bHRpZmlsZS5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICBDbG9zZSBzb21lIG1lbW9yeSBsZWFrcyBzcG90dGVkIGJ5IHRoZSB1bml0IHRlc3QuIEZpeGVzIGJ1ZyAjNTE1Njk3LgoKMjAwOC0wMi0xMSAxMzo0ODowMyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L2djb25mL2djb25mLmM6IFVzZSBhbmQgdW5zZXQgdGhlIEdFcnJvciB3aGVuIHBpcGVsaW5lIGNyZWF0aW9uIGZhaWxzIGluc3RlYWQgb2Ygc2ltcGx5IGxlYWtpbmcgaXQuIEZpeGVzIGJ1ZyAjNTE1Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9nY29uZi9nY29uZi5jOiAoZ3N0X2djb25mX3JlbmRlcl9iaW5fd2l0aF9kZWZhdWx0KToKCSAgVXNlIGFuZCB1bnNldCB0aGUgR0Vycm9yIHdoZW4gcGlwZWxpbmUgY3JlYXRpb24gZmFpbHMgaW5zdGVhZCBvZgoJICBzaW1wbHkgbGVha2luZyBpdC4gRml4ZXMgYnVnICM1MTU3MDQuCgoyMDA4LTAyLTEwIDEwOjQ2OjEzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvYXVkaW9meC86IEZpeCBsb25nIGRlc2NyaXB0aW9uIG9mIGF1ZGlvZnggZWxlbWVudHMuIEZpeGVzIGJ1ZyAjNTE1NDU3LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2FtcGxpZnkuYzoKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJiYW5kLmM6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9jaGVibGltaXQuYzoKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2R5bmFtaWMuYzoKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2ludmVydC5jOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvcGFub3JhbWEuYzoKCSAgKiBnc3QvYXVkaW9meC9hdWRpb3dzaW5jYmFuZC5jOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvd3NpbmNsaW1pdC5jOgoJICBGaXggbG9uZyBkZXNjcmlwdGlvbiBvZiBhdWRpb2Z4IGVsZW1lbnRzLiBGaXhlcyBidWcgIzUxNTQ1Ny4KCjIwMDgtMDItMDkgMDE6NDU6MzIgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgQWRkIGEgc2ltcGxlIGV4YW1wbGUgYXBwbGljYXRpb24gZm9yIHRoZSBzcGVjdHJ1bSBlbGVtZW50LCBpbmNsdWRlIGl0IGluIHRoZSBkb2NzLCBhbmQgZml4IHNvbWUgZG9jdW1lbnRhdGlvbiBhbWJpZ3VpLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSAgKiB0ZXN0cy9leGFtcGxlcy9zcGVjdHJ1bS8uY3ZzaWdub3JlOgoJICAqIHRlc3RzL2V4YW1wbGVzL3NwZWN0cnVtL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2V4YW1wbGVzL3NwZWN0cnVtL3NwZWN0cnVtLWV4YW1wbGUuYzoKCSAgQWRkIGEgc2ltcGxlIGV4YW1wbGUgYXBwbGljYXRpb24gZm9yIHRoZSBzcGVjdHJ1bSBlbGVtZW50LCBpbmNsdWRlIGl0CgkgIGluIHRoZSBkb2NzLCBhbmQgZml4IHNvbWUgZG9jdW1lbnRhdGlvbiBhbWJpZ3VpdGllcy4KCSAgRml4ZXM6ICMzNDgwODUKCjIwMDgtMDItMDkgMDA6MTU6MjUgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0LzogRml4IGluY2x1ZGVzIG9yZGVyCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9lcXVhbGl6ZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L3NwZWN0cnVtL01ha2VmaWxlLmFtOgoJICBGaXggaW5jbHVkZXMgb3JkZXIKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgRXhjbHVkZSB2NGwyc3JjIGZyb20gdGhlIHN0YXRlcyB0ZXN0IC0gaXQgdGFrZXMgdG9vIGxvbmcgdG8gc3RhcnQuCgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvc3BlY3RydW0uYzoKCSAgTWFrZSB0aGUgdGVzdCBydW4gcHJvcGVybHkgd2l0aCBDS19GT1JLPW5vCgoyMDA4LTAyLTA4IDE1OjMyOjM2ICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBnc3QtcGx1Z2lucy1nb29kLnNwZWMuaW46CgkgIGFkZCAzIG5ldyBwbHVnaW5zIHRvIHNwZWMgZmlsZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYWRkIDMgbmV3IHBsdWdpbnMgdG8gc3BlYyBmaWxlCgoyMDA4LTAyLTA4IDE1OjI3OjUxICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIGdzdC9hdWRpb2Z4L01ha2VmaWxlLmFtOgoJICBhZGQgbWlzc2luZyBoZWFkZXIgZmlsZXMgZm9yIGRpc3RpbmcKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGFkZCBtaXNzaW5nIGhlYWRlciBmaWxlcyBmb3IgZGlzdGluZwoKMjAwOC0wMi0wOCAxNToyMDozMSArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogRmxhZyBrZXlmcmFtZSBhbmQgZGVsdGEgdW5pdHMgY29ycmVjdGx5IHdoZW4gZGVhbGlnbiB3aXRoIGEKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDgtMDItMDggIEp1bGllbiBNb3V0dGUgIDxqdWxpZW5AZmx1ZW5kby5jb20+CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfYmxvY2tncm91cF9vcl9zaW1wbGVibG9jayk6IEZsYWcKCSAga2V5ZnJhbWUgYW5kIGRlbHRhIHVuaXRzIGNvcnJlY3RseSB3aGVuIGRlYWxpZ24gd2l0aCBhCgkgIEJsb2NrR3JvdXAuCgkgIEZpeGVzOiAjNTE0Mzk3CgoyMDA4LTAyLTA4IDEwOjE5OjMzICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5jdnNpZ25vcmU6IFNwZWxsIHRoZSBuZXcgdGVzdHMgY29ycmVjdGx5IGluIC5jdnNpZ25vcmUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvLmN2c2lnbm9yZToKCSAgU3BlbGwgdGhlIG5ldyB0ZXN0cyBjb3JyZWN0bHkgaW4gLmN2c2lnbm9yZQoKMjAwOC0wMi0wOCAxMDowOTozMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc3JjLmM6IE5lZWQgdG8gdXNlIGdzaXplIGhlcmUgZm9yIHRoZSBzaXplLCBmaXhlcyBjb21waWxlciB3YXJuaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNyYy5jOiAoZ3N0X211bHRpX2ZpbGVfc3JjX2NyZWF0ZSk6CgkgIE5lZWQgdG8gdXNlIGdzaXplIGhlcmUgZm9yIHRoZSBzaXplLCBmaXhlcyBjb21waWxlciB3YXJuaW5nLgoJICAqIHRlc3RzL2V4YW1wbGVzL2VxdWFsaXplci8uY3ZzaWdub3JlOgoJICAqIHRlc3RzL2V4YW1wbGVzL2VxdWFsaXplci9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9leGFtcGxlcy9zcGVjdHJ1bS8uY3ZzaWdub3JlOgoJICAqIHRlc3RzL2V4YW1wbGVzL3NwZWN0cnVtL01ha2VmaWxlLmFtOgoJICBBZGQgbWlzc2luZyBmaWxlcyB0byBmaXggdGhlIGJ1aWxkLgoKMjAwOC0wMi0wOCAwNDoyNTozMiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBNb3ZlIG11bHRpZmlsZSBwbHVnaW4gZnJvbSAtYmFkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uY3ZzaWdub3JlOgoJICBNb3ZlIG11bHRpZmlsZSBwbHVnaW4gZnJvbSAtYmFkLgoJICBGaXhlczogIzQ5MDI4MwoKMjAwOC0wMi0wOCAwMzo0NDoxMiArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBnc3QvbXVsdGlmaWxlLzogVXNlIGdfZmlsZV9bc2ddZXRfY29udGVudHMoKSBpbnN0ZWFkIG9mIHVzaW5nIHN0ZGlvIGZ1bmN0aW9ucy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmM6CgkgICogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzcmMuYzoKCSAgVXNlIGdfZmlsZV9bc2ddZXRfY29udGVudHMoKSBpbnN0ZWFkIG9mIHVzaW5nIHN0ZGlvIGZ1bmN0aW9ucy4KCSAgU2hvdWxkIGJlIGxlc3MgZXJyb3IgcHJvbmUuCgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvbXVsdGlmaWxlLmM6CgkgIENyZWF0ZSBhIHRlbXBvcmFyeSBkaXJlY3RvcnkgdXNpbmcgc3RhbmRhcmQgZnVuY3Rpb25zIGluc3RlYWQgb2YKCSAgY3JlYXRpbmcgYSBkaXJlY3RvcnkgaW4gdGhlIGN1cnJlbnQgZGlyLgoKMjAwOC0wMi0wOCAwMzoyODo1NyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBNb3ZlIHNwZWN0cnVtIHBsdWdpbiBmcm9tIC1iYWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkgICogZ3N0L3NwZWN0cnVtL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5jdnNpZ25vcmU6CgkgICogdGVzdHMvZXhhbXBsZXMvTWFrZWZpbGUuYW06CgkgIE1vdmUgc3BlY3RydW0gcGx1Z2luIGZyb20gLWJhZC4KCSAgTW92ZSBleGFtcGxlcyBpbnRvIHRlc3RzL2V4YW1wbGVzL3NwZWN0cnVtLgoKMjAwOC0wMi0wOCAwMjo1NjoxMiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkgIE1lbnRpb24gYnVnIDQxNTYyNyBmaXhlZCB3aXRoIHByZXZpb3VzIGNvbW1pdAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgTWVudGlvbiBidWcgNDE1NjI3IGZpeGVkIHdpdGggcHJldmlvdXMgY29tbWl0CgoyMDA4LTAyLTA4IDAyOjQ5OjIwICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIE1vdmUgdGhlIGVxdWFsaXplciBwbHVnaW4gYWNyb3NzIGZyb20gLWJhZAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmludGVyZmFjZXM6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkgICogZ3N0L2VxdWFsaXplci9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9leGFtcGxlcy9NYWtlZmlsZS5hbToKCSAgTW92ZSB0aGUgZXF1YWxpemVyIHBsdWdpbiBhY3Jvc3MgZnJvbSAtYmFkCgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvLmN2c2lnbm9yZToKCSAgQWRkIGVxdWFsaXplciwgYXVkaW9zaW5jd2JhbmQgYW5kIGF1ZGlvc2luY3dsaW1pdAoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2VxdWFsaXplci5jOgoJICBGaXggY29tcGlsZXIgd2FybmluZ3MKCjIwMDgtMDItMDggMDI6NDg6NTQgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLio6IFJlbW92ZSBlcXVhbGl6ZXIgcGx1Z2luIGRvY3MKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSAgUmVtb3ZlIGVxdWFsaXplciBwbHVnaW4gZG9jcwoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBBZGQgR1NUX09QVElPTl9DRkxBR1MsIHRvIGdldCAtV2Vycm9yIC1XYWxsIGludG8gdGhlIHRlc3RzIGFzIGZvcgoJICBvdGhlciBtb2R1bGVzLgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL211bHRpZmlsZS5jOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnYW5hbHlzaXMuYzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ2xpbWl0ZXIuYzoKCSAgRml4IGNvbXBpbGVyIHdhcm5pbmdzIGZyb20gLVdhbGwgLVdlcnJvcgoKMjAwOC0wMi0wOCAwMTowNzowMiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBjb25maWd1cmUuYWM6IE9ubHkgYnVpbGQgd2l0aCBESVNBQkxFX0RFUFJFQ0FURUQgZHVyaW5nIHRoZSBDVlMgY3ljbGUuIFByZS1yZWxlYXNlcyBhcmUgdHJlYXRlZCBsaWtlIHJlbGVhc2VzIGFuZCBidWkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBPbmx5IGJ1aWxkIHdpdGggRElTQUJMRV9ERVBSRUNBVEVEIGR1cmluZyB0aGUgQ1ZTIGN5Y2xlLiBQcmUtcmVsZWFzZXMKCSAgYXJlIHRyZWF0ZWQgbGlrZSByZWxlYXNlcyBhbmQgYnVpbGQgd2l0aG91dCBpdC4KCjIwMDgtMDItMDcgMjE6NTc6NTQgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgTW92ZSB0aGUgbHB3c2luYyBhbmQgYnB3c2luYyBlbGVtZW50cyBmcm9tIGdzdC1wbHVnaW5zLWJhZCBpbnRvIHRoZSBhdWRpb2Z4IHBsdWdpbiwgYW5kIHJlbmFtZSB0byBhdWRpb3dzaW5jbGltaXQgYW5kLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJICAqIGdzdC9hdWRpb2Z4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvZnguYzoKCSAgKiBnc3QvYXVkaW9meC9hdWRpb3dzaW5jYmFuZC5jOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvd3NpbmNiYW5kLmg6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW93c2luY2xpbWl0LmM6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW93c2luY2xpbWl0Lmg6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW93c2luY2JhbmQuYzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3dzaW5jbGltaXQuYzoKCSAgTW92ZSB0aGUgbHB3c2luYyBhbmQgYnB3c2luYyBlbGVtZW50cyBmcm9tIGdzdC1wbHVnaW5zLWJhZCBpbnRvCgkgIHRoZSBhdWRpb2Z4IHBsdWdpbiwgYW5kIHJlbmFtZSB0byBhdWRpb3dzaW5jbGltaXQgYW5kIGF1ZGlvd3NpbmNiYW5kCgkgIHJlc3BlY3RpdmVseS4KCSAgRml4ZXM6ICM0Njc2NjYKCjIwMDgtMDItMDcgMjE6MTc6MzYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBSZXR1cm4gR1NUX0ZMT1dfTk9UX05FR09USUFURUQgaWYgd2UgZ2V0IGEgYnVmZmVyIHdpdGhvdXQgY2FwcywgYW5kIGFkZCBhIHNvbWV3aGF0IHVzZWZ1bCBkZWJ1ZyBtZXNzYWdlLiBQbHVzIHRlc3QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pY3lkZW11eC9nc3RpY3lkZW11eC5jOiAoZ3N0X2ljeWRlbXV4X2NoYWluKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pY3lkZW11eC5jOgoJICBSZXR1cm4gR1NUX0ZMT1dfTk9UX05FR09USUFURUQgaWYgd2UgZ2V0IGEgYnVmZmVyIHdpdGhvdXQKCSAgY2FwcywgYW5kIGFkZCBhIHNvbWV3aGF0IHVzZWZ1bCBkZWJ1ZyBtZXNzYWdlLiBQbHVzIHRlc3QuCgoyMDA4LTAyLTA3IDE5OjEzOjU2ICswMDAwICBTw6liYXN0aWVuIE1vdXR0ZSA8c2ViYXN0aWVuQG1vdXR0ZS5uZXQ+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IEluY2x1ZGUgdW5pc3RkLmggb25seSBpZiBIQVZFX1VOSVNURF9IIGlzIGRlZmluZWQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBJbmNsdWRlIHVuaXN0ZC5oIG9ubHkgaWYgSEFWRV9VTklTVERfSCBpcyBkZWZpbmVkCgkgICogd2luMzIvY29tbW9uL2NvbmZpZy5oLmluOgoJICAqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgRGVmaW5lIHNvY2tsZW5fdCBhcyBpdCBzZWVtcyBpdCdzIG5vdCBkZWZpbmVkIGluIGRlZmF1bHQKCSAgVmlzdWFsIFN0dWRpbyBoZWFkZXJzLgoJICAqIHdpbjMyL3ZzNi9saWJnc3RhbHBoYS5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdGFwZXRhZy5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdGF2aS5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdHJ0cC5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdHJ0c3AuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3R2aWRlb21peGVyLmRzcDoKCSAgVXBkYXRlIHByb2plY3QgZmlsZSBkZXBlbmRlbmNpZXMgYW5kIGFkZCBuZXcgc291cmNlIGZpbGVzCgoyMDA4LTAyLTA3IDE2OjM4OjU1ICswMDAwICBCamFybmUgUm9zZW5ncmVuIDxiamFybmVAYXhpcy5jb20+CgoJICBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS5jOiBEb24ndCBsZWFrIGJ1ZmZlcnMgd2hlbiB3ZSBkb24ndCBwdXNoIHRoZW0gZG93bnN0cmVhbS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBCamFybmUgUm9zZW5ncmVuIDxiamFybmUgYXQgYXhpcyBkb3QgY29tPgoJICAqIGdzdC9tYXRyb3NrYS9lYm1sLXdyaXRlLmM6IChnc3RfZWJtbF93cml0ZV9lbGVtZW50X3B1c2gpOgoJICBEb24ndCBsZWFrIGJ1ZmZlcnMgd2hlbiB3ZSBkb24ndCBwdXNoIHRoZW0gZG93bnN0cmVhbS4KCSAgRml4ZXMgYnVnICM1MTQ5NjUuCgoyMDA4LTAyLTA3IDEzOjQ4OjIwICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzogQWRkIGEgZml4bWUgY29tbWVudC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmM6CgkgIEFkZCBhIGZpeG1lIGNvbW1lbnQuCgkgICogZ3N0L3NlbGVjdG9yL2dzdG91dHB1dHNlbGVjdG9yLmM6CgkgIEZpeCBzYW1lIGxlYWsgYXMgaW4gaW5wdXQtc2VsZWN0b3IuCgkgICogdGVzdHMvaWNsZXMvb3V0cHV0LXNlbGVjdG9yLXRlc3QuYzoKCSAgSW1wcm92ZSB0aGUgdGVzdC4KCjIwMDgtMDItMDcgMTM6NDE6MTEgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiBJbXByb3ZlIHRoZSBkb2NzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSAgSW1wcm92ZSB0aGUgZG9jcy4KCjIwMDgtMDItMDcgMTA6MTc6MTQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBjb25maWd1cmUuYWM6IEJ1bXAgcmVxdWlyZW1lbnRzIHRvIChnb29kKSByZWxlYXNlZCB2ZXJzaW9ucyB0byBhdm9pZCBjb25mdXNpb24gYW5kIG1ha2UgaW1wbGljaXQgY29yZSByZXF1aXJlbWVudCBleHAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBCdW1wIHJlcXVpcmVtZW50cyB0byAoZ29vZCkgcmVsZWFzZWQgdmVyc2lvbnMgdG8gYXZvaWQKCSAgY29uZnVzaW9uIGFuZCBtYWtlIGltcGxpY2l0IGNvcmUgcmVxdWlyZW1lbnQgZXhwbGljaXQuCgoyMDA4LTAyLTA3IDEwOjA0OjAxICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuYzogRml4IHR5cG8gaW4gdGhlIGxvbmcgZGVzY3JpcHRpb24gb2YgdGhlIGVsZW1lbnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOgoJICBGaXggdHlwbyBpbiB0aGUgbG9uZyBkZXNjcmlwdGlvbiBvZiB0aGUgZWxlbWVudC4KCjIwMDgtMDItMDYgMjM6NDQ6NDMgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgUmVuYW1lIGF1ZGlvY2hlYnlzaGV2ZnJlcWJhbmQgLT4gYXVkaW9jaGViYmFuZCBhbmQgYXVkaW9jaGVieXNoZXZmcmVxbGltaXQgLT4gYXVkaW9jaGVibGltaXQgYW5kIGRvIHRoZSByZXF1aXNpdGUgQ1ZTLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJICAqIGdzdC9hdWRpb2Z4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYmJhbmQuYzoKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJiYW5kLmg6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9jaGVibGltaXQuYzoKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJsaW1pdC5oOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYnlzaGV2ZnJlcWJhbmQuYzoKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJ5c2hldmZyZXFiYW5kLmg6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9jaGVieXNoZXZmcmVxbGltaXQuYzoKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJ5c2hldmZyZXFsaW1pdC5oOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvZnguYzoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uY3ZzaWdub3JlOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvY2hlYmJhbmQuYzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2NoZWJsaW1pdC5jOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvY2hlYnlzaGV2ZnJlcWJhbmQuYzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2NoZWJ5c2hldmZyZXFsaW1pdC5jOgoJICBSZW5hbWUgYXVkaW9jaGVieXNoZXZmcmVxYmFuZCAtPiBhdWRpb2NoZWJiYW5kIGFuZAoJICBhdWRpb2NoZWJ5c2hldmZyZXFsaW1pdCAtPiBhdWRpb2NoZWJsaW1pdCBhbmQgZG8gdGhlIHJlcXVpc2l0ZSBDVlMKCSAgc3VyZ2VyeS4KCSAgQ2xvc2VzOiAjNDkxODExCgoyMDA4LTAyLTA2IDExOjA3OjQ3ICswMDAwICBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlckBtaW5kLmJlPgoKCSAgZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzogRml4IG1lbW9yeSBsZWFrIGFuZCBpbXByb3ZlIGRlYnVnZ2luZyBhIGJpdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlciBhdCBtaW5kIGRvdCBiZT4KCSAgKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOiAoZ3N0X3NvdXBfaHR0cF9zcmNfZ290X2NodW5rX2NiKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX2NyZWF0ZSk6CgkgIEZpeCBtZW1vcnkgbGVhayBhbmQgaW1wcm92ZSBkZWJ1Z2dpbmcgYSBiaXQuCgoyMDA4LTAyLTA1IDE3OjU5OjI0ICswMDAwICBvcmphbiA8b3JqYW5mQGF4aXMuY29tPgoKCSAgZ3N0L211bHRpcGFydC9tdWx0aXBhcnRtdXguYzogRml4IGNhcHMgbWVtb3J5IGxlYWsuIEZpeGVzICM1MTQ1NzMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogb3JqYW4gPG9yamFuZiBhdCBheGlzIGRvdCBjb20+CgkgICogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRtdXguYzogKGdzdF9tdWx0aXBhcnRfbXV4X2NvbGxlY3RlZCk6CgkgIEZpeCBjYXBzIG1lbW9yeSBsZWFrLiBGaXhlcyAjNTE0NTczLgoKMjAwOC0wMi0wNCAxMjowNzoxNCArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogSWYgdGhlcmUncyBubyBlbnRyaWVzIGluIHRoZSBzdWJpbmRleCwgZG9uJ3QgdHJ5IHRvIGRvIGFueXRoaW5nIHN0dXBpZCwganVzdCByZXR1cm4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfcGFyc2Vfc3ViaW5kZXgpOgoJICBJZiB0aGVyZSdzIG5vIGVudHJpZXMgaW4gdGhlIHN1YmluZGV4LCBkb24ndCB0cnkgdG8gZG8gYW55dGhpbmcgc3R1cGlkLAoJICBqdXN0IHJldHVybi4KCjIwMDgtMDItMDIgMTk6NDc6NTAgKzAwMDAgIEpvaG4gTWlsbGlraW4gPGptaWxsaWtpbkBnbWFpbC5jb20+CgoJICBleHQvZmxhYy9nc3RmbGFjZGVjLmM6IEZpeCBleHRyYWN0aW9uIG9mIHBpY3R1cmUgYmxvY2tzIHdpdGggbmV3ZXIgbGliZmxhYyB2ZXJzaW9ucyBhZ2FpbjoKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBKb2huIE1pbGxpa2luIDxqbWlsbGlraW4gYXQgZ21haWwgZG90IGNvbT4KCSAgKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6IChnc3RfZmxhY19kZWNfc2Nhbl9mb3JfbGFzdF9ibG9jayksCgkgIChnc3RfZmxhY19leHRyYWN0X3BpY3R1cmVfYnVmZmVyKSwgKGdzdF9mbGFjX2RlY19tZXRhZGF0YV9jYWxsYmFjayk6CgkgIEZpeCBleHRyYWN0aW9uIG9mIHBpY3R1cmUgYmxvY2tzIHdpdGggbmV3ZXIgbGliZmxhYyB2ZXJzaW9ucyBhZ2FpbjoKCSAgRkxBQ19fTUVUQURBVEFfVFlQRV9QSUNUVVJFIGlzIGFuIGVudW0sIG5vdCBhIGRlZmluZSAoIzUxMzYyOCkuCgoyMDA4LTAyLTAyIDE4OjA2OjE5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06IEFkZCBydHAtcGF5bG9hZGluZyB0ZXN0IHRvIFZBTEdSSU5EX1RPX0ZJWC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIEFkZCBydHAtcGF5bG9hZGluZyB0ZXN0IHRvIFZBTEdSSU5EX1RPX0ZJWC4KCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHAtcGF5bG9hZGluZy5jOgoJICBBZGQgc2VtaWNvbG9ucyBhZnRlciBHU1RfVEVTVF9FTkQgc28gZ3N0LWluZGVudCBnZXRzIHRoZQoJICBmb3JtYXR0aW5nIHJpZ2h0OyBtYWtlIHRlc3QgbGVzcyB2ZXJib3NlIGluIGdlbmVyYWwsIGJ1dAoJICBtb3JlIHZlcmJvc2UgaW4gdGhlIGVycm9yIGNhc2UgKHdoaWNoIHNob3VsZCBwcm9iYWJseQoJICBtYWtlIHRoZSB0ZXN0IGZhaWwgYW55d2F5KS4KCjIwMDgtMDItMDEgMTg6Mjk6MjEgKzAwMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJICBBZGQgZG9jdW1lbnRhdGlvbiBmb3IgYXZpc3VidGl0bGUgYW5kIGNoYW5nZSBjbGFzcyB0bwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZ3N0L2F2aS9nc3RhdmlzdWJ0aXRsZS5jOgoJICBBZGQgZG9jdW1lbnRhdGlvbiBmb3IgYXZpc3VidGl0bGUgYW5kIGNoYW5nZSBjbGFzcyB0bwoJICBDb2RlYy9QYXJzZXIvU3VidGl0bGUKCjIwMDgtMDEtMzEgMTY6MTI6MjggKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgc3lzL3Y0bDIvdjRsMl9jYWxscy5jOiBUcmVhdCBFTk9UVFkgKGRyaXZlciBkb2VzIG5vdCBpbXBsZW1lbnQgaW9jdGwpIHRoZSBzYW1lIGFzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzogKGdzdF92NGwyX2ZpbGxfbGlzdHMpOgoJICBUcmVhdCBFTk9UVFkgKGRyaXZlciBkb2VzIG5vdCBpbXBsZW1lbnQgaW9jdGwpIHRoZSBzYW1lIGFzCgkgIEVJTlZBTCBzaW5jZSBpdCBpbXBsaWVzIHRoZXJlIGFyZSBubyBhdmFpbGFibGUgc3RhbmRhcmRzLgoJICAqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzogKGdzdF92NGwyc3JjX3Byb2JlX2NhcHNfZm9yX2Zvcm1hdCksCgkgIChnc3RfdjRsMnNyY19nZXRfbmVhcmVzdF9zaXplKToKCSAgUmVwbGFjZSBnc3RfdjRsMnNyY19nZXRfc2l6ZV9saW1pdHMgd2l0aCAyIGNhbGxzIHRvIG5ldyBmdW5jdGlvbgoJICBnc3RfdjRsMnNyY19nZXRfbmVhcmVzdF9zaXplLCBhbmQgZ2V0IGl0IHRvIHVzZSBWSURJT0NfU19GTVQgdG8KCSAgcHJvYmUgaWYgdGhlIGRyaXZlciBkb2VzIG5vdCBzdXBwb3J0IFZJRElPQ19UUllfRk1UIGZvciB3aGF0ZXZlcgoJICByZWFzb24sIGFuZCBpZiB3ZSBhcmVuJ3QgeWV0IGFjdGl2ZWx5IGNhcHR1cmluZy4KCSAgKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmg6CgkgIFJlbW92ZSByZXBsYWNlZCBmdW5jdGlvbiBkZWNsYXJhdGlvbi4KCjIwMDgtMDEtMzEgMTY6MDM6NDggKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgY29uZmlndXJlLmFjOiBCdW1wIHBsdWdpbnMtYmFzZSByZXF1aXJlbWVudCB0byAwLjEwLjE2IGZvciB0aGUgZ3N0X3ZpZGVvX2Zvcm1hdF8qCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQnVtcCBwbHVnaW5zLWJhc2UgcmVxdWlyZW1lbnQgdG8gMC4xMC4xNiBmb3IgdGhlIGdzdF92aWRlb19mb3JtYXRfKgoJICBBUEkuCgoyMDA4LTAxLTMxIDA5OjUwOjMxICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOiBBZGQgY2hhbmdlcyB0byBnc3Rzb3VwaHR0cHNyYy5jIHRoYXQgd2VyZSBtaXNzaW5nIGZyb20gbGFzdCBjb21taXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IChfZG9faW5pdCksCgkgIChnc3Rfc291cF9odHRwX3NyY19iYXNlX2luaXQpLCAoZ3N0X3NvdXBfaHR0cF9zcmNfY2xhc3NfaW5pdCksCgkgIChnc3Rfc291cF9odHRwX3NyY19pbml0KSwgKGdzdF9zb3VwX2h0dHBfc3JjX2Rpc3Bvc2UpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfc2V0X3Byb3BlcnR5KSwgKGdzdF9zb3VwX2h0dHBfc3JjX2dldF9wcm9wZXJ0eSksCgkgIChnc3Rfc291cF9odHRwX3NyY191bmljb2RpZnkpLCAoZ3N0X3NvdXBfaHR0cF9zcmNfY2FuY2VsX21lc3NhZ2UpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfcXVldWVfbWVzc2FnZSksCgkgIChnc3Rfc291cF9odHRwX3NyY19hZGRfcmFuZ2VfaGVhZGVyKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX3Nlc3Npb25fdW5wYXVzZV9tZXNzYWdlKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX3Nlc3Npb25fcGF1c2VfbWVzc2FnZSksCgkgIChnc3Rfc291cF9odHRwX3NyY19zZXNzaW9uX2Nsb3NlKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX2dvdF9oZWFkZXJzX2NiKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX2dvdF9ib2R5X2NiKSwgKGdzdF9zb3VwX2h0dHBfc3JjX2ZpbmlzaGVkX2NiKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX2dvdF9jaHVua19jYiksIChnc3Rfc291cF9odHRwX3NyY19yZXNwb25zZV9jYiksCgkgIChnc3Rfc291cF9odHRwX3NyY19wYXJzZV9zdGF0dXMpLCAoZ3N0X3NvdXBfaHR0cF9zcmNfY3JlYXRlKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX3N0YXJ0KSwgKGdzdF9zb3VwX2h0dHBfc3JjX3N0b3ApLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfdW5sb2NrKSwgKGdzdF9zb3VwX2h0dHBfc3JjX3VubG9ja19zdG9wKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX2dldF9zaXplKSwgKGdzdF9zb3VwX2h0dHBfc3JjX2lzX3NlZWthYmxlKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX2RvX3NlZWspLCAoZ3N0X3NvdXBfaHR0cF9zcmNfc2V0X2xvY2F0aW9uKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX3NldF9wcm94eSksIChnc3Rfc291cF9odHRwX3NyY191cmlfZ2V0X3R5cGUpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfdXJpX2dldF9wcm90b2NvbHMpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfdXJpX2dldF91cmkpLCAoZ3N0X3NvdXBfaHR0cF9zcmNfdXJpX3NldF91cmkpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfdXJpX2hhbmRsZXJfaW5pdCksIChwbHVnaW5faW5pdCk6CgkgIEFkZCBjaGFuZ2VzIHRvIGdzdHNvdXBodHRwc3JjLmMgdGhhdCB3ZXJlIG1pc3NpbmcgZnJvbSBsYXN0IGNvbW1pdC4KCjIwMDgtMDEtMzEgMDg6NTc6MTYgKzAwMDAgIFdvdXRlciBDbG9ldGVucyA8d291dGVyQG1pbmQuYmU+CgoJICBNYWtlIGNvZGluZyBzdHlsZSBtb3JlIGNvbnNpc3RlbnQsIGluY2x1ZGluZyBjbGFzcyByZW5hbWluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlciBhdCBtaW5kIGRvdCBiZT4KCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfYmFzZV9pbml0KSwgKGdzdF9zb3VwX2h0dHBfc3JjX2NsYXNzX2luaXQpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfaW5pdCksIChnc3Rfc291cF9odHRwX3NyY19kaXNwb3NlKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX3NldF9wcm9wZXJ0eSksIChnc3Rfc291cF9odHRwX3NyY19nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfdW5pY29kaWZ5KSwgKGdzdF9zb3VwX2h0dHBfc3JjX2NhbmNlbF9tZXNzYWdlKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX3F1ZXVlX21lc3NhZ2UpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfYWRkX3JhbmdlX2hlYWRlciksCgkgIChnc3Rfc291cF9odHRwX3NyY19zZXNzaW9uX3VucGF1c2VfbWVzc2FnZSksCgkgIChnc3Rfc291cF9odHRwX3NyY19zZXNzaW9uX3BhdXNlX21lc3NhZ2UpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfc2Vzc2lvbl9jbG9zZSksCgkgIChnc3Rfc291cF9odHRwX3NyY19nb3RfaGVhZGVyc19jYiksCgkgIChnc3Rfc291cF9odHRwX3NyY19nb3RfYm9keV9jYiksIChnc3Rfc291cF9odHRwX3NyY19maW5pc2hlZF9jYiksCgkgIChnc3Rfc291cF9odHRwX3NyY19nb3RfY2h1bmtfY2IpLCAoZ3N0X3NvdXBfaHR0cF9zcmNfcmVzcG9uc2VfY2IpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfcGFyc2Vfc3RhdHVzKSwgKGdzdF9zb3VwX2h0dHBfc3JjX2NyZWF0ZSksCgkgIChnc3Rfc291cF9odHRwX3NyY19zdGFydCksIChnc3Rfc291cF9odHRwX3NyY19zdG9wKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX3VubG9jayksIChnc3Rfc291cF9odHRwX3NyY191bmxvY2tfc3RvcCksCgkgIChnc3Rfc291cF9odHRwX3NyY19nZXRfc2l6ZSksIChnc3Rfc291cF9odHRwX3NyY19pc19zZWVrYWJsZSksCgkgIChnc3Rfc291cF9odHRwX3NyY19kb19zZWVrKSwgKGdzdF9zb3VwX2h0dHBfc3JjX3NldF9sb2NhdGlvbiksCgkgIChnc3Rfc291cF9odHRwX3NyY19zZXRfcHJveHkpLCAoZ3N0X3NvdXBfaHR0cF9zcmNfdXJpX2dldF90eXBlKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX3VyaV9nZXRfcHJvdG9jb2xzKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX3VyaV9nZXRfdXJpKSwgKGdzdF9zb3VwX2h0dHBfc3JjX3VyaV9zZXRfdXJpKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX3VyaV9oYW5kbGVyX2luaXQpLCAocGx1Z2luX2luaXQpOgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmg6CgkgIE1ha2UgY29kaW5nIHN0eWxlIG1vcmUgY29uc2lzdGVudCwgaW5jbHVkaW5nIGNsYXNzIHJlbmFtaW5nLgoKMjAwOC0wMS0zMSAwMDowMzoyNiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBjb25maWd1cmUuYWM6IEZpeCB0eXBvLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIEZpeCB0eXBvLgoKMjAwOC0wMS0zMSAwMDowMDoyMyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvYWxwaGEvOiBSZS13cml0ZSB0aGUgJ2FscGhhJyBwbHVnaW4gdG8gYmUgQmFzZVRyYW5zZm9ybSBiYXNlZCwgc2ltcGxpZnlpbmcgc29tZSBzdHVmZiwgYW5kIG1ha2luZyBidWZmZXItYWxsb2MgYW4uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2FscGhhL01ha2VmaWxlLmFtOgoJICAqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOgoJICBSZS13cml0ZSB0aGUgJ2FscGhhJyBwbHVnaW4gdG8gYmUgQmFzZVRyYW5zZm9ybSBiYXNlZCwgc2ltcGxpZnlpbmcKCSAgc29tZSBzdHVmZiwgYW5kIG1ha2luZyBidWZmZXItYWxsb2MgYW5kIHJlc2l6aW5nIHdvcmsgYXV0b21hdGljYWxseS4KCSAgTm8gbG9uZ2VyIGNyYXNoZXMgb24gb2RkIGZyYW1lIHdpZHRocyBhbmQgaGVpZ2h0cywgYWx0aG91Z2ggdGhlcmUKCSAgc2VlbXMgdG8gYmUgYSBkaXNhZ3JlZW1lbnQgd2l0aCBmZm1wZWdjb2xvcnNwYWNlIGFib3V0IHdoYXQgc2l6ZQoJICBhbiBBWVVWIGZyYW1lIHdpdGggb2RkIGhlaWdodCBzaG91bGQgYmUuCgoyMDA4LTAxLTMwIDE1OjQwOjM2ICswMDAwICBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlckBtaW5kLmJlPgoKCSAgZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzogVXBkYXRlIGRvY3VtZW50YXRpb24gYSBiaXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogV291dGVyIENsb2V0ZW5zIDx3b3V0ZXIgYXQgbWluZCBkb3QgYmU+CgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgVXBkYXRlIGRvY3VtZW50YXRpb24gYSBiaXQuCgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxzYXNwZGlmLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmlsdGVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2xpbWFnZXNpbmsueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndmlkZW9wYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF1aWNrdGltZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BjZGVjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4cmVzYW1wbGUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zd2l0Y2gueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJICBSZWdlbmVyYXRlIGV2ZXJ5dGhpbmcgZm9yIHRoZSBkb2N1bWVudGF0aW9uIGNoYW5nZXMgd2UgaGFkLgoKMjAwOC0wMS0zMCAxMzoyOToxNSArMDAwMCAgV291dGVyIENsb2V0ZW5zIDx3b3V0ZXJAbWluZC5iZT4KCgkgIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IExldCB0aGUgcHJveHkgcHJvcGVydHkgZGVmYXVsdCB0byB0aGUgY29udGVudCBvZiB0aGUgJGh0dHBfcHJveHkgZW52aXJvbm1lbnQgdmFyaWFibGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogV291dGVyIENsb2V0ZW5zIDx3b3V0ZXIgYXQgbWluZCBkb3QgYmU+CgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzogKGdzdF9zb3VwaHR0cF9zcmNfaW5pdCk6CgkgIExldCB0aGUgcHJveHkgcHJvcGVydHkgZGVmYXVsdCB0byB0aGUgY29udGVudCBvZiB0aGUgJGh0dHBfcHJveHkKCSAgZW52aXJvbm1lbnQgdmFyaWFibGUuCgoyMDA4LTAxLTMwIDEzOjA4OjQ1ICswMDAwICBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlckBtaW5kLmJlPgoKCSAgdGVzdHMvY2hlY2svOiBBZGQgbWlzc2luZyBmaWxlcyBmb3IgdGhlIHVuaXQgdGVzdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlciBhdCBtaW5kIGRvdCBiZT4KCSAgKiB0ZXN0cy9jaGVjay90ZXN0LWNlcnQucGVtOgoJICAqIHRlc3RzL2NoZWNrL3Rlc3Qta2V5LnBlbToKCSAgQWRkIG1pc3NpbmcgZmlsZXMgZm9yIHRoZSB1bml0IHRlc3QuCgoyMDA4LTAxLTMwIDEzOjA2OjAxICswMDAwICBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlckBtaW5kLmJlPgoKCSAgZG9jcy9wbHVnaW5zLzogQWRkIHNvdXBodHRwc3JjIHRvIHRoZSBkb2NzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFdvdXRlciBDbG9ldGVucyA8d291dGVyIGF0IG1pbmQgZG90IGJlPgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgIEFkZCBzb3VwaHR0cHNyYyB0byB0aGUgZG9jcy4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzogKGdzdF9zb3VwaHR0cF9zcmNfY2xhc3NfaW5pdCksCgkgIChnc3Rfc291cGh0dHBfc3JjX2luaXQpLCAoZ3N0X3NvdXBodHRwX3NyY19kaXNwb3NlKSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfc2V0X3Byb3BlcnR5KSwgKGdzdF9zb3VwaHR0cF9zcmNfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfY2FuY2VsX21lc3NhZ2UpLAoJICAoZ3N0X3NvdXBodHRwX3NyY19xdWV1ZV9tZXNzYWdlKSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfYWRkX3JhbmdlX2hlYWRlciksCgkgIChnc3Rfc291cGh0dHBfc3JjX3Nlc3Npb25fdW5wYXVzZV9tZXNzYWdlKSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfc2Vzc2lvbl9wYXVzZV9tZXNzYWdlKSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfc2Vzc2lvbl9jbG9zZSksCgkgIChnc3Rfc291cGh0dHBfc3JjX2dvdF9oZWFkZXJzX2NiKSwgKGdzdF9zb3VwaHR0cF9zcmNfZ290X2JvZHlfY2IpLAoJICAoZ3N0X3NvdXBodHRwX3NyY19maW5pc2hlZF9jYiksIChnc3Rfc291cGh0dHBfc3JjX2dvdF9jaHVua19jYiksCgkgIChnc3Rfc291cGh0dHBfc3JjX3Jlc3BvbnNlX2NiKSwgKGdzdF9zb3VwaHR0cF9zcmNfcGFyc2Vfc3RhdHVzKSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfY3JlYXRlKSwgKGdzdF9zb3VwaHR0cF9zcmNfc3RhcnQpLAoJICAoZ3N0X3NvdXBodHRwX3NyY19zdG9wKSwgKGdzdF9zb3VwaHR0cF9zcmNfdW5sb2NrKSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfdW5sb2NrX3N0b3ApLCAoZ3N0X3NvdXBodHRwX3NyY19nZXRfc2l6ZSksCgkgIChnc3Rfc291cGh0dHBfc3JjX2lzX3NlZWthYmxlKSwgKGdzdF9zb3VwaHR0cF9zcmNfZG9fc2VlayksCgkgIChnc3Rfc291cGh0dHBfc3JjX3NldF9sb2NhdGlvbiksIChnc3Rfc291cGh0dHBfc3JjX3NldF9wcm94eSksCgkgIChwbHVnaW5faW5pdCk6CgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuaDoKCSAgQWRkIHN1cHBvcnQgZm9yIGxpYnNvdXAyLjQgYW5kIHJlcXVpcmUgaXQuIEFsc28gaW1wbGVtZW50IHJlZGlyZWN0aW9uCgkgIGFuZCBtYW51YWwgcHJveHkgc3BlY2lmaWNhdGlvbi4gRml4ZXMgYnVnICM1MTA3MDguCgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvLmN2c2lnbm9yZToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zb3VwaHR0cHNyYy5jOgoJICBBZGQgdW5pdCB0ZXN0IGZvciBzb3VwaHR0cHNyYy4KCjIwMDgtMDEtMjkgMTg6NDM6MzIgKzAwMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvQG5udmEub3JnPgoKCSAgZXh0L2xpYnBuZy9nc3RwbmdlbmMuKjogUHJlYWxsb2NhdGUgdGhlIG91dHB1dCBidWZmZXIgc28gdGhhdCBnX21lbWR1cCgpIGFuZCBnc3RfYnVmZmVyX21lcmdlKCkgYXJlbid0IG5lZWRlZCBhbnltb3JlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8gYXQgbm52YSBkb3Qgb3JnPgoJICAqIGV4dC9saWJwbmcvZ3N0cG5nZW5jLmM6ICh1c2VyX3dyaXRlX2RhdGEpLCAoZ3N0X3BuZ2VuY19jaGFpbik6CgkgICogZXh0L2xpYnBuZy9nc3RwbmdlbmMuaDoKCSAgUHJlYWxsb2NhdGUgdGhlIG91dHB1dCBidWZmZXIgc28gdGhhdCBnX21lbWR1cCgpIGFuZAoJICBnc3RfYnVmZmVyX21lcmdlKCkgYXJlbid0IG5lZWRlZCBhbnltb3JlLiBUaGlzIGdyZWF0bHkgaW1wcm92ZXMKCSAgcGVyZm9ybWFuY2VzIGFuZCBmaXhlcyAjNTEyNTQ0LgoKMjAwOC0wMS0yOSAxODoyNDoyOCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogR1N0cmVhbWVyIHRpbWVzdGFtcHMgYXJlIFBUUyB2YWx1ZXMgd2hpbGUgQVZJIG9ubHkga25vd3MgYWJvdXQgRFRTIHRpbWVzdGFtcHMuIE1ha2Ugc3VyZSB3ZSBvbi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X3Byb2Nlc3NfbmV4dF9lbnRyeSksCgkgIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9kYXRhKToKCSAgR1N0cmVhbWVyIHRpbWVzdGFtcHMgYXJlIFBUUyB2YWx1ZXMgd2hpbGUgQVZJIG9ubHkga25vd3MgYWJvdXQgRFRTCgkgIHRpbWVzdGFtcHMuIE1ha2Ugc3VyZSB3ZSBvbmx5IGNvcHkgdGhlIERUUyBhcyB0aGUgYnVmZmVyIHRpbWVzdGFtcCB3aGVuCgkgIHdlIGFyZSBkZWFsaW5nIHdpdGggYSBrZXkgZnJhbWUuCgoyMDA4LTAxLTI5IDE1OjQ1OjQ4ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICB0ZXN0cy9jaGVjay86IEFkZCBhZGQgdGVzdHN1aXRlIGZvciB0aGUgcnRwLXBheWxvYWRlciB0aGF0IHRyaWVzIHNpbXVsYXRpbmcgZGF0YWZsb3cuIE5lZWRzIG1vcmUgdGVzdCBkYXRhLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uY3ZzaWdub3JlOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cC1wYXlsb2FkaW5nLmM6CgkgIEFkZCBhZGQgdGVzdHN1aXRlIGZvciB0aGUgcnRwLXBheWxvYWRlciB0aGF0IHRyaWVzIHNpbXVsYXRpbmcKCSAgZGF0YWZsb3cuIE5lZWRzIG1vcmUgdGVzdCBkYXRhLgoKMjAwOC0wMS0yOSAxNToyNzowMiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvYWxwaGFjb2xvci5jOiBSZW1vdmUgdHdvIHVudXNlZCB2YXJpYWJsZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FscGhhY29sb3IuYzoKCSAgUmVtb3ZlIHR3byB1bnVzZWQgdmFyaWFibGVzLgoKMjAwOC0wMS0yOCAxMjoxNzowMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogVXNlIGdfYXNjaWlfc3RydG9sbCgpIGluc3RlYWQgb2YgYXRvbGwsIHdoaWNoIGlzIG9ubHkgYXZhaWxhYmxlIGluIEM5OS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfcGFyc2VfcnRwaW5mbyk6CgkgIFVzZSBnX2FzY2lpX3N0cnRvbGwoKSBpbnN0ZWFkIG9mIGF0b2xsLCB3aGljaCBpcyBvbmx5CgkgIGF2YWlsYWJsZSBpbiBDOTkuCgoyMDA4LTAxLTI2IDE2OjE5OjI2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmlsdGVyLzogRG9uJ3QgaW1wbGVtZW50IGdldF91bml0X3NpemUoKSBvdXJzZWx2ZXMsIHRoZSBHc3RBdWRpb0ZpbHRlciBiYXNlIGNsYXNzIGFscmVhZHkgZG9lcyB0aGlzIGZvciB1cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmM6IChnc3RfYnB3c2luY19jbGFzc19pbml0KToKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuYzogKGdzdF9scHdzaW5jX2NsYXNzX2luaXQpOgoJICBEb24ndCBpbXBsZW1lbnQgZ2V0X3VuaXRfc2l6ZSgpIG91cnNlbHZlcywgdGhlIEdzdEF1ZGlvRmlsdGVyIGJhc2UKCSAgY2xhc3MgYWxyZWFkeSBkb2VzIHRoaXMgZm9yIHVzLgoKMjAwOC0wMS0yNSAxMDo1MzoxNyArMDAwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvOiBBZGQgTVBFRzIgdmlkZW8gcGF5bG9hZGVyCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkgICogZ3N0L3J0cC9nc3RydHAuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wdnBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXB2cGF5Lmg6CgkgIEFkZCBNUEVHMiB2aWRlbyBwYXlsb2FkZXIKCjIwMDgtMDEtMjMgMTc6MDU6MzIgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9sZXZlbC9nc3RsZXZlbC5jOiBVc2UgI2luY2x1ZGUgPG1hdGguaD4gaW5zdGVhZCBvZiAjaW5jbHVkZSAibWF0aC5oIi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2xldmVsL2dzdGxldmVsLmM6CgkgIFVzZSAjaW5jbHVkZSA8bWF0aC5oPiBpbnN0ZWFkIG9mICNpbmNsdWRlICJtYXRoLmgiLgoKMjAwOC0wMS0yMSAxOTo0MTo0NSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbTogRml4IHVwIHNvbWUgQ0ZMQUdTIHNldHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBGaXggdXAgc29tZSBDRkxBR1Mgc2V0cy4KCSAgRG9uJ3QgaW5jbHVkZSBnY29uZnZpZGVvc3JjIGluIHRoZSBzdGF0ZXMgdGVzdC4KCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdXRvZGV0ZWN0LmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgIEFkZCBzb21lIGVycm9yIHN0cmluZ3MgdG8gZmFpbF91bmxlc3MgYXJndW1lbnRzIHRvIGZpeCBzb21lIHdlaXJkCgkgIGNvbXBpbGVyIGVycm9ycyBvbiBTb2xhcmlzLgoKMjAwOC0wMS0yMSAxOTozNTo1OCArMDAwMCAgQnJpYW4gQ2FtZXJvbiA8YnJpYW4uY2FtZXJvbkBzdW4uY29tPgoKCSAgY29uZmlndXJlLmFjOiBEZXRlY3QgdmlkZW80bGludXggaGVhZGVycyBvbiBTb2xhcmlzIHRvby4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBEZXRlY3QgdmlkZW80bGludXggaGVhZGVycyBvbiBTb2xhcmlzIHRvby4KCSAgKiBzeXMvdjRsMi9nc3R2NGwyY29sb3JiYWxhbmNlLmg6CgkgICogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJICAqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSAgKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6IChnc3RfdjRsMl9idWZmZXJfZmluYWxpemUpLAoJICAoZ3N0X3Y0bDJfYnVmZmVyX25ldyk6CgkgIE1ha2UgdjRsMiBidWlsZCBvbiBTb2xhcmlzLgoJICBQYXRjaCBieTogQnJpYW4gQ2FtZXJvbiAgPGJyaWFuLmNhbWVyb24gYXQgc3VuIGRvdCBjb20+CgkgIEZpeGVzOiAjNTEwNTA1CgoyMDA4LTAxLTIxIDExOjQ2OjE5ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDogVXBkYXRlIGxpc3QgZnJvbSAoc3RpbGwgbG9jYWwpIHNjYW5uaW5nIHNjcmlwdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgIFVwZGF0ZSBsaXN0IGZyb20gKHN0aWxsIGxvY2FsKSBzY2FubmluZyBzY3JpcHQuCgoyMDA4LTAxLTIxIDA5OjU3OjA3ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBkb2NzL3BsdWdpbnMvOiBBZGQgc3ltYm9scyBmcm9tIC11bnVzZWQudHh0IHRvIHRoZSByaWdodCBwbGFjZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgIEFkZCBzeW1ib2xzIGZyb20gLXVudXNlZC50eHQgdG8gdGhlIHJpZ2h0IHBsYWNlLgoJICAqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkgICogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuaDoKCSAgQ29oZXJlbnQgbmFtZXNwYWNlIHVzYWdlLgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJICBGaXggYnJva2VuIFhNTCBmcmFnbWVudCBpbiBkb2Mgc25pcHBldCBldmVuIG1vcmUuCgoyMDA4LTAxLTIxIDA3OjU0OjAyICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06IFVwZGF0ZSBpbmNsdWRlIGxpc3QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgVXBkYXRlIGluY2x1ZGUgbGlzdC4KCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICBVcGRhdGUgeG1sIGluY2x1ZGVzLgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHNhc3BkaWYueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbXJ3Yi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2R4YXBhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZic3JjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYmRldnNpbmsueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZpbHRlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdmRlbXV4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXplLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0aW50ZXJsYWNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWgyNjRwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tZXRhZGF0YS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnNHZpZGVvcGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd2aWRlb3BhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzaWNicmFpbnoueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdmUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uc2ZkZWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1udXZkZW11eC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF0ZGVtdXgueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdWlja3RpbWUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZWFsLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleHJlc2FtcGxlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3RlcmVvLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3dpdGNoLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGltaWRpdHkueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3BhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12bW5jLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2lsZG1pZGkueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14MjY0LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGluZ2hlYWRlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXh2aWQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJICBSZWdlbmVyYXRlIGZpbGVzLgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJICBGaXggYnJva2VuIFhNTCBmcmFnbWVudCBpbiBkb2Mgc25pcHBldC4KCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uY3ZzaWdub3JlOgoJICBBZGQgdGVzdCBiaW5hcnkgdG8gaWdub3Jlcy4KCjIwMDgtMDEtMjAgMDU6MDc6NTIgKzAwMDAgIFdvdXRlciBDbG9ldGVucyA8d291dGVyQG1pbmQuYmU+CgoJICBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOiBSZXBvcnQgdGhlIHNpemUgb2YgdGhlIHN0cmVhbSBhcyB0aGUgdG90YWwgc2l6ZSBpbnN0ZWFkIG9mIHRoZSByZW1haW5pbmcgQ29udGVudC1MZW5ndGgsIHcuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlciBhdCBtaW5kIGRvdCBiZT4KCSAgKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOiAoc291cF9nb3RfaGVhZGVycyk6CgkgIFJlcG9ydCB0aGUgc2l6ZSBvZiB0aGUgc3RyZWFtIGFzIHRoZSB0b3RhbCBzaXplIGluc3RlYWQgb2YKCSAgdGhlIHJlbWFpbmluZyBDb250ZW50LUxlbmd0aCwgd2hpY2ggaXMgd3JvbmcgYWZ0ZXIgYSBzZWVrLgoKMjAwOC0wMS0xOSAxNDo1OTowOCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogQ2hhbmdlTG9nOgoJICBBZGQgYnVnIG51bWJlciB0byB0aGUgbGF0ZXN0IGVudHJ5CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBBZGQgYnVnIG51bWJlciB0byB0aGUgbGF0ZXN0IGVudHJ5CgoyMDA4LTAxLTE5IDE0OjUzOjU4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogU2V0IHZhcmlhYmxlIHRvIE5VTEwgYWZ0ZXIgZnJlZWluZyBpdCB0byBwcmV2ZW50IGRvdWJsZSBmcmVlcyBvciBtYWtlIGZhaWx1cmVzIGJ5IGFub3RoZXIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEJhc2VkIG9uIGEgcGF0Y2ggYnk6CgkgIFZpY3RvciBTVElOTkVSIDx2aWN0b3IgZG90IHN0aW5uZXIgYXQgaGF5cG9jYWxjIGRvdCBjb20+CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2hlYWRlcnMpOgoJICBTZXQgdmFyaWFibGUgdG8gTlVMTCBhZnRlciBmcmVlaW5nIGl0IHRvIHByZXZlbnQgZG91YmxlIGZyZWVzCgkgIG9yIG1ha2UgZmFpbHVyZXMgYnkgYW5vdGhlciB1c2Ugb2YgaXQgYWZ0ZXJ3YXJkcyBtb3JlIG9idmlvdXMKCSAgYW5kIGZpeCB1c2Ugb2YgaXQgYWZ0ZXIgdGhlIGZyZWVpbmcuCgoyMDA4LTAxLTE5IDE0OjM0OjUwICswMDAwICBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlckBtaW5kLmJlPgoKCSAgZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzogQ29ycmVjdGx5IHNldCBkdXJhdGlvbiBvbiB0aGUgR3N0QmFzZVNyYyBzZWdtZW50IHdoZW4gd2Uga25vdyBpdCB0byBmaXggZmFpbGluZyB0aGUgZHVyYXRpLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogV291dGVyIENsb2V0ZW5zIDx3b3V0ZXIgYXQgbWluZCBkb3QgYmU+CgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzogKHNvdXBfZ290X2hlYWRlcnMpOgoJICBDb3JyZWN0bHkgc2V0IGR1cmF0aW9uIG9uIHRoZSBHc3RCYXNlU3JjIHNlZ21lbnQgd2hlbiB3ZSBrbm93IGl0CgkgIHRvIGZpeCBmYWlsaW5nIHRoZSBkdXJhdGlvbiBxdWVyeS4KCjIwMDgtMDEtMTggMTM6NDA6MzggKzAwMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJICBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOiB1c2UgR1NUX1dBUk5JTkcgZm9yIGxvZ2dpbmcKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSAgdXNlIEdTVF9XQVJOSU5HIGZvciBsb2dnaW5nCgoyMDA4LTAxLTE4IDEwOjA1OjUzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNyYy5jOiBGaXggbWVtb3J5IGxlYWsgc3BvdHRlZCBieSB0aGUgdW5pdCB0ZXN0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNyYy5jOiAoZ3N0X211bHRpX2ZpbGVfc3JjX2NyZWF0ZSk6CgkgIEZpeCBtZW1vcnkgbGVhayBzcG90dGVkIGJ5IHRoZSB1bml0IHRlc3QuCgoyMDA4LTAxLTE4IDEwOjA0OjI1ICswMDAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSAgZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzogRG9uJ3QgdHJ5IHRvIGxlYXZlIGEgbXVsdGljYXN0IGdyb3VwIHdpdGggYW4gaW52YWxpZCBzb2NrZXQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSAgRG9uJ3QgdHJ5IHRvIGxlYXZlIGEgbXVsdGljYXN0IGdyb3VwIHdpdGggYW4gaW52YWxpZCBzb2NrZXQKCjIwMDgtMDEtMTggMDg6NDk6NTkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIHRlc3RzL2NoZWNrLzogQWRkIHNvbWUgbWluaW1hbCB0ZXN0cyBmb3IgdGhlIGVxdWFsaXplciBwbHVnaW4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5jdnNpZ25vcmU6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvZXF1YWxpemVyLmM6IChzZXR1cF9lcXVhbGl6ZXIpLAoJICAoY2xlYW51cF9lcXVhbGl6ZXIpLCAoR1NUX1NUQVJUX1RFU1QpLCAoZXF1YWxpemVyX3N1aXRlKSwgKG1haW4pOgoJICBBZGQgc29tZSBtaW5pbWFsIHRlc3RzIGZvciB0aGUgZXF1YWxpemVyIHBsdWdpbi4KCjIwMDgtMDEtMTggMDc6MDM6MjMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6IFVucGFyZW50IGFsbCBiYW5kcyBmcm9tIHRoZSBlcXVhbGl6ZXIgd2hlbiBmaW5hbGl6aW5nIHRvIHN0b3AgbGVha2luZwl0aGVtLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOiAoZ3N0X2lpcl9lcXVhbGl6ZXJfZmluYWxpemUpOgoJICBVbnBhcmVudCBhbGwgYmFuZHMgZnJvbSB0aGUgZXF1YWxpemVyIHdoZW4gZmluYWxpemluZyB0byBzdG9wCgkgIGxlYWtpbmcJdGhlbS4KCjIwMDgtMDEtMTggMDU6MzI6MjYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IEFkZCBzdXBwb3J0IGZvciBXZWJEQVYuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IChnc3Rfc291cGh0dHBfc3JjX3VyaV9nZXRfcHJvdG9jb2xzKToKCSAgQWRkIHN1cHBvcnQgZm9yIFdlYkRBVi4KCjIwMDgtMDEtMTggMDU6MjQ6MzkgKzAwMDAgIFdvdXRlciBDbG9ldGVucyA8d291dGVyQG1pbmQuYmU+CgoJICBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy4qOiBBZGQgc3VwcG9ydCBmb3Igc2Vla2luZyB0byBzb3VwaHR0cHNyYy4gRml4ZXMgYnVnICM1MDIzMzUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogV291dGVyIENsb2V0ZW5zIDx3b3V0ZXIgYXQgbWluZCBkb3QgYmU+CgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzogKGdzdF9zb3VwaHR0cF9zcmNfY2xhc3NfaW5pdCksCgkgIChnc3Rfc291cGh0dHBfc3JjX2luaXQpLCAoZ3N0X3NvdXBodHRwX3NyY19jcmVhdGUpLAoJICAoZ3N0X3NvdXBodHRwX3NyY19pc19zZWVrYWJsZSksIChnc3Rfc291cGh0dHBfc3JjX2RvX3NlZWspLAoJICAoc291cF9hZGRfcmFuZ2VfaGVhZGVyKSwgKHNvdXBfZ290X2hlYWRlcnMpLCAoc291cF9nb3RfY2h1bmspOgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmg6CgkgIEFkZCBzdXBwb3J0IGZvciBzZWVraW5nIHRvIHNvdXBodHRwc3JjLiBGaXhlcyBidWcgIzUwMjMzNS4KCjIwMDgtMDEtMTcgMjE6MjM6MzIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvZmxhYy9nc3RmbGFjZGVjLmM6IHdoZXJlIHRoZSBwaWN0dXJlIG1ldGFkYXRhIGRlZmluZXMgYW5kIHN0cnVjdHMgZG9uJ3QgZXhpc3QgeWV0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkgIEZpeCBjb21waWxhdGlvbiBhZ2FpbnN0IGZsYWMgMS4xLjIgKGFzIG9uIGRlYmlhbiBzdGFibGUpLCB3aGVyZQoJICB0aGUgcGljdHVyZSBtZXRhZGF0YSBkZWZpbmVzIGFuZCBzdHJ1Y3RzIGRvbid0IGV4aXN0IHlldC4KCSAgRml4ZXMgIzUwOTMwMS4KCjIwMDgtMDEtMTcgMTE6MTM6MTYgKzAwMDAgIE9saXZpZXIgQ3JldGUgPHRlc3RlckB0ZXN0ZXIuY2E+CgoJICBnc3QvdWRwL2dzdG11bHRpdWRwc2luay4qOiBBZGQgcHJvcGVydHkgdG8gYXV0b21hdGljYWxseSBqb2luIGEgbXVsdGljYXN0IGdyb3VwIG9yIG5vdC4gVGhpcyBjYW4gYmUgdXNlZnVsIHdoZW4gc2hhcmkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBPbGl2aWVyIENyZXRlIDx0ZXN0ZXIgYXQgdGVzdGVyIGRvdCBjYT4KCSAgKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOiAoZ3N0X211bHRpdWRwc2lua19jbGFzc19pbml0KSwKCSAgKGdzdF9tdWx0aXVkcHNpbmtfaW5pdCksIChnc3RfbXVsdGl1ZHBzaW5rX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfbXVsdGl1ZHBzaW5rX2dldF9wcm9wZXJ0eSksIChnc3RfbXVsdGl1ZHBzaW5rX2luaXRfc2VuZCksCgkgIChnc3RfbXVsdGl1ZHBzaW5rX2FkZF9pbnRlcm5hbCksIChnc3RfbXVsdGl1ZHBzaW5rX3JlbW92ZSk6CgkgICogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuaDoKCSAgQWRkIHByb3BlcnR5IHRvIGF1dG9tYXRpY2FsbHkgam9pbiBhIG11bHRpY2FzdCBncm91cCBvciBub3QuIFRoaXMgY2FuIGJlCgkgIHVzZWZ1bCB3aGVuIHNoYXJpbmcgYSBzb2NrZXQgYmV0d2VlbiBtdWx0aXBsZSBlbGVtZW50cy4KCSAgRml4ZXMgIzUwOTUzMS4KCjIwMDgtMDEtMTYgMjE6NTM6NDEgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC92aWRlb21peGVyL01ha2VmaWxlLmFtOiBBZGQgY29udHJvbGxlciBmbGFncy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3ZpZGVvbWl4ZXIvTWFrZWZpbGUuYW06CgkgIEFkZCBjb250cm9sbGVyIGZsYWdzLgoKMjAwOC0wMS0xNiAyMDoxNzowOCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOiBBbHNvIGNvbW1pdCB0aGUgbWlzc2luZyBnc3Rfb2JqZWN0X3N5bmNfdmFsdWVzKCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSAgQWxzbyBjb21taXQgdGhlIG1pc3NpbmcgZ3N0X29iamVjdF9zeW5jX3ZhbHVlcygpLgoKMjAwOC0wMS0xNiAwODoxMTo0NiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOiBSZW1vdmUgZHVwbGljYXRlIGVudHJ5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgIFJlbW92ZSBkdXBsaWNhdGUgZW50cnkuCgoyMDA4LTAxLTE1IDE2OjUyOjEwICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBkb2NzL3BsdWdpbnMvOiBBZGQgMyBtb3JlIHBsdWdpbnMgdG8gZG9jcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYW1tYS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vbm9zY29wZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkgIEFkZCAzIG1vcmUgcGx1Z2lucyB0byBkb2NzLgoKMjAwOC0wMS0xNSAxNjowNDo0NCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgUmV2ZXJ0IHByZXZpb3VzIGNoYW5nZSBjYXVzZWQgYnkgYSBmaWxlIHRoYXQgZ290IHN0dWNrIG9uIGFuIG9sZCByZXZpc2lvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5oOgoJICBSZXZlcnQgcHJldmlvdXMgY2hhbmdlIGNhdXNlZCBieSBhIGZpbGUgdGhhdCBnb3Qgc3R1Y2sgb24gYW4gb2xkCgkgIHJldmlzaW9uLgoKMjAwOC0wMS0xNSAxNTo0MDo1OCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgUmUtYWRkIG11bHRpcGFydGRlbXV4IHRvIHRoZSBkb2NzLiBMYXN0IHJvdW5kIG9mIHNlY3Rpb24gY2xlYW51cC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZ3N0L211bHRpcGFydC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4LmM6CgkgICogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5oOgoJICAqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0bXV4LmM6CgkgICogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRtdXguaDoKCSAgUmUtYWRkIG11bHRpcGFydGRlbXV4IHRvIHRoZSBkb2NzLiBMYXN0IHJvdW5kIG9mIHNlY3Rpb24gY2xlYW51cC4KCjIwMDgtMDEtMTUgMTU6MjI6NDEgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIE1hbmFnZWQgdG8gcmVzb2x2ZSBtb3N0IHVudXNlZCBkZWNsYXJhdGlvbnMuIEZpbGVkIGEgYnVnIGZvciBvbmUgbGVmdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NpbmsuaDoKCSAgKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLmg6CgkgIE1hbmFnZWQgdG8gcmVzb2x2ZSBtb3N0IHVudXNlZCBkZWNsYXJhdGlvbnMuIEZpbGVkIGEgYnVnIGZvciBvbmUgbGVmdC4KCjIwMDgtMDEtMTUgMDg6MDM6NDkgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OiBDbGVhbnVwIHNlY3Rpb24gZmlsZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgIENsZWFudXAgc2VjdGlvbiBmaWxlLgoKMjAwOC0wMS0xNSAwNzo0Mjo1MSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZG9jcy9wbHVnaW5zLzogVXBkYXRlIHBsdWdpbiBkb2NzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuc2lnbmFsczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFubm9kZXgueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkaW8ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhhbGVsZW1lbnRzLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF1aWNrdGltZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYmFsYW5jZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9mbGlwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkgIFVwZGF0ZSBwbHVnaW4gZG9jcy4KCSAgKiBnc3QvdmlkZW9taXhlci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkgICogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5oOgoJICAqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXJwYWQuaDoKCSAgU3BsaXQgb3V0IGhlYWRlciB0byBmaXggd2FybmluZ3MgZnJvbSB0aGUgZG9jLWJ1aWxkLgoKMjAwOC0wMS0xNCAxMjozNToyMyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIEFzIGZvdW5kIGJ5OiBUb21taSBNecO2aMOkbmVuIDxleHQtdG9tbWkubXlvaGFuZW4gbm9raWEgY29tPgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQXMgZm91bmQgYnk6IFRvbW1pIE15w7Zow6RuZW4gPGV4dC10b21taS5teW9oYW5lbiBub2tpYSBjb20+CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfcGFyc2VfcnRwaW5mbyk6CgkgIFVzZSBhdG9sbCB0byBwYXJzZSB0aGUgcnRwdGltZSB3aXRoIGVub3VnaCBwcmVjaXNpb24uIEZpeGVzICM1MDkzMjkuCgoyMDA4LTAxLTE0IDEyOjExOjQzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0LzogSW5pdGlhbGlzZSB2YXJpYWJsZXMgdG8gd29yayBhcm91bmQgKGZhbHNlKSAnZm9vIG1pZ2h0IGJlIHVzZWQgdW5pbml0aWFsaXplZCBpbiB0aGlzIGZ1bmN0aW9uJyB3YXJuaW5ncyBieSBnY2MtLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpc3VidGl0bGUuYzogKGdzdF9hdmlfc3VidGl0bGVfZXh0cmFjdF9maWxlKToKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19zZW5kKToKCSAgSW5pdGlhbGlzZSB2YXJpYWJsZXMgdG8gd29yayBhcm91bmQgKGZhbHNlKSAnZm9vIG1pZ2h0IGJlIHVzZWQKCSAgdW5pbml0aWFsaXplZCBpbiB0aGlzIGZ1bmN0aW9uJyB3YXJuaW5ncyBieSBnY2MtMy4zLjMgKCM1MDkyOTgpLgoKMjAwOC0wMS0xMiAwMjozMjozNSArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBJZ25vcmUgbW9yZSBmaWxlcyBmb3IgdGhlIGJ1aWxkYm90LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvLmN2c2lnbm9yZToKCSAgKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvLmN2c2lnbm9yZToKCSAgSWdub3JlIG1vcmUgZmlsZXMgZm9yIHRoZSBidWlsZGJvdC4KCjIwMDgtMDEtMTEgMjE6MDg6NTkgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgR2VuZXJhdGUgdGhlIGltYWdlLXR5cGUgdmFsdWVzIGNvcnJlY3RseS4gTGVhdmUgdGhlbSBvdXQgb2YgdGhlIGNhcHMgd2hlbiBvdXRwdXR0aW5nIGEgInByZXZpZXcgaW1hZ2UiIHRhZywgc2luY2UgaXQgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzogKGdzdF9mbGFjX2V4dHJhY3RfcGljdHVyZV9idWZmZXIpOgoJICAqIGdzdC9pZDNkZW11eC9pZDN2MmZyYW1lcy5jOiAocGFyc2VfcGljdHVyZV9mcmFtZSk6CgkgIEdlbmVyYXRlIHRoZSBpbWFnZS10eXBlIHZhbHVlcyBjb3JyZWN0bHkuIExlYXZlIHRoZW0gb3V0IG9mIHRoZSBjYXBzCgkgIHdoZW4gb3V0cHV0dGluZyBhICJwcmV2aWV3IGltYWdlIiB0YWcsIHNpbmNlIGl0IG9ubHkgbWFrZXMgc2Vuc2UKCSAgdG8gaGF2ZSBvbmUgb2YgdGhvc2UgLSB0aGUgdHlwZSBpcyBpcnJlbGV2YW50LgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVyY3RybC5jOgoJICAoZ3N0X3N1bmF1ZGlvbWl4ZXJfY3RybF9vcGVuKToKCSAgSWYgd2UgY2FuLCBtYXJrIHRoZSBtaXhlciBtdWx0aXBsZSBvcGVuIHdoZW4gd2UgdXNlIGl0LCBpbiBjYXNlCgkgIChmb3Igc29tZSByZWFzb24pIHRoZSBwcm9jZXNzIHdhbnRzIHRvIG9wZW4gaXQgYWdhaW4gZWxzZXdoZXJlLgoKMjAwOC0wMS0xMSAxOToxNjo1MyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzLzogSXQncyAiZW5kaWFubmVzcyIsIG5vdCAiZW5kaWFuZXNzIi4gRml4ZXMgdW5pdCB0ZXN0cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvcmdhbmFseXNpcy5jOiAodGVzdF9idWZmZXJfY29uc3RfZmxvYXRfbW9ubyksCgkgICh0ZXN0X2J1ZmZlcl9jb25zdF9mbG9hdF9zdGVyZW8pLCAodGVzdF9idWZmZXJfY29uc3RfaW50MTZfbW9ubyksCgkgICh0ZXN0X2J1ZmZlcl9jb25zdF9pbnQxNl9zdGVyZW8pLCAodGVzdF9idWZmZXJfc3F1YXJlX2Zsb2F0X21vbm8pLAoJICAodGVzdF9idWZmZXJfc3F1YXJlX2Zsb2F0X3N0ZXJlbyksICh0ZXN0X2J1ZmZlcl9zcXVhcmVfaW50MTZfbW9ubyksCgkgICh0ZXN0X2J1ZmZlcl9zcXVhcmVfaW50MTZfc3RlcmVvKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ2xpbWl0ZXIuYzogKGNyZWF0ZV90ZXN0X2J1ZmZlcik6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvcmd2b2x1bWUuYzogKHRlc3RfYnVmZmVyX25ldyk6CgkgIEl0J3MgImVuZGlhbm5lc3MiLCBub3QgImVuZGlhbmVzcyIuIEZpeGVzIHVuaXQgdGVzdHMuCgoyMDA4LTAxLTExIDE4OjU2OjA2ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzLy5jdmlnbm9yZToKCSAgaWdub3JlIHNvbWUgbW9yZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgaWdub3JlIHNvbWUgbW9yZQoKMjAwOC0wMS0xMSAxODo1NDozMSArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkgIGlnbm9yZSBzb21lIG1vcmUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGlnbm9yZSBzb21lIG1vcmUKCjIwMDgtMDEtMTEgMTc6MjE6MzAgKzAwMDAgIE9saXZpZXIgQ3JldGUgPHRlc3RlckB0ZXN0ZXIuY2E+CgoJICBnc3QvcnRwLzogRml4IHRoZSBjbG9jayByYXRlIHRvIDkwMDAwIGFzIHJlcXVpcmVkIGJ5IHRoZSBSRkMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogT2xpdmllciBDcmV0ZSA8dGVzdGVyIGF0IHRlc3RlciBkb3QgY2E+CgkgICogZ3N0L3J0cC9nc3RydHB0aGVvcmFkZXBheS5jOiAoZ3N0X3J0cF90aGVvcmFfZGVwYXlfc2V0Y2Fwcyk6CgkgICogZ3N0L3J0cC9nc3RydHB0aGVvcmFwYXkuYzoKCSAgRml4IHRoZSBjbG9jayByYXRlIHRvIDkwMDAwIGFzIHJlcXVpcmVkIGJ5IHRoZSBSRkMuCgkgIEZpeGVzICM1MDg2NDQuCgoyMDA4LTAxLTExIDE3OjEyOjM3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvaWN5ZGVtdXguYzogRG9uJ3QgdXNlIGRlcHJlY2F0ZWQgR1NUX1BMVUdJTl9ERUZJTkVfU1RBVElDLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pY3lkZW11eC5jOiAoR1NUX1NUQVJUX1RFU1QpLCAoaWN5ZGVtdXhfc3VpdGUpOgoJICBEb24ndCB1c2UgZGVwcmVjYXRlZCBHU1RfUExVR0lOX0RFRklORV9TVEFUSUMuCgoyMDA4LTAxLTEwIDEyOjI1OjQ0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBhdXRvZ2VuLnNoOiBBZGQgLVduby1wb3J0YWJpbGl0eSB0byB0aGUgYXV0b21ha2UgcGFyYW1ldGVycyB0byBzdG9wIHdhcm5pbmdzIGFib3V0IEdOVSBtYWtlIGV4dGVuc2lvbnMgYmVpbmcgdXNlZC4gV2UuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogYXV0b2dlbi5zaDoKCSAgQWRkIC1Xbm8tcG9ydGFiaWxpdHkgdG8gdGhlIGF1dG9tYWtlIHBhcmFtZXRlcnMgdG8gc3RvcCB3YXJuaW5ncwoJICBhYm91dCBHTlUgbWFrZSBleHRlbnNpb25zIGJlaW5nIHVzZWQuIFdlIHJlcXVpcmUgR05VIG1ha2UgaW4gYWxtb3N0CgkgIGV2ZXJ5IE1ha2VmaWxlIGFueXdheS4KCSAgKiBjb25maWd1cmUuYWM6CgkgIFVzZSBBTV9QUk9HX0NDX0NfTyBhcyBhIGNvbXBpbGVyIHRoYXQgYWNjZXB0cyBib3RoIC1jIGFuZCAtbwoJICBhdCB0aGUgc2FtZSB0aW1lIGlzIHJlcXVpcmVkIGZvciBwZXIgdGFyZ2V0IGZsYWdzLgoKMjAwOC0wMS0wOSAxNToyODoyOSArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzogRml4IGVycm9yIGZyb20gbXkgbGFzdCBjb21taXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzogKGdzdF92aWRlb21peGVyX2luaXQpOgoJICBGaXggZXJyb3IgZnJvbSBteSBsYXN0IGNvbW1pdC4KCjIwMDgtMDEtMDkgMTU6MjA6MTkgKzAwMDAgIFRvbW1pIE15w7Zow6RuZW4gPGV4dC10b21taS5teW9oYW5lbkBub2tpYS5jb20+CgoJICBnc3QvaWQzZGVtdXgvaWQzdjJmcmFtZXMuYzogTWFrZSBzdXJlIHRoZSBJU08gNjM5LVggbGFuZ3VhZ2UgY29kZSBpbiBJRDN2MiBDT01NIGZyYW1lcyBzbyB3ZSBkb24ndCBlbmQgdXAgd2l0aCBub24tVVQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEJhc2VkIG9uIHBhdGNoIGJ5OiBUb21taSBNecO2aMOkbmVuIDxleHQtdG9tbWkubXlvaGFuZW4gbm9raWEgY29tPgoJICAqIGdzdC9pZDNkZW11eC9pZDN2MmZyYW1lcy5jOiAocGFyc2VfY29tbWVudF9mcmFtZSk6CgkgIE1ha2Ugc3VyZSB0aGUgSVNPIDYzOS1YIGxhbmd1YWdlIGNvZGUgaW4gSUQzdjIgQ09NTSBmcmFtZXMKCSAgaXMgYWN0dWFsbHkgdmFsaWQgVVRGLTggKG9yIHJhdGhlcjogQVNDSUkpLCBzbyB3ZSBkb24ndCBlbmQKCSAgdXAgd2l0aCBub24tVVRGOCBzdHJpbmdzIGluIHRhZ3MgaWYgdGhlcmUncyBnYXJiYWdlIGluIHRoZQoJICBsYW5ndWFnZSBmaWVsZC4gQWxzbyBtYWtlIHN1cmUgdGhlIGxhbmd1YWdlIGNvZGUgaXMgYWx3YXlzCgkgIGxvd2VyIGNhc2UuIEZpeGVzOiAjNTA4MjkxLgoKMjAwOC0wMS0wOSAxMzo1NToyOCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgQ2hhbmdlTG9nOiBGaXggQ2hhbmdlTG9nIHR5cG8uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIENoYW5nZUxvZzoKCSAgRml4IENoYW5nZUxvZyB0eXBvLgoKMjAwOC0wMS0wOSAxMzo1MDowOSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgTWFrZWZpbGUuYW06IEluY2x1ZGUgbGNvdi5tYWsgdG8gYWxsb3cgYnVpbGdpbmcgY292ZXJhZ2UgcmVwb3J0cy4gR3VhcmQgY2hlY2stdG9ydHVyZSB0YXJnZXQgbGlrZSBpbiB0aGUgb3RoZXIgcGFja2FnZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIE1ha2VmaWxlLmFtOgoJICBJbmNsdWRlIGxjb3YubWFrIHRvIGFsbG93IGJ1aWxnaW5nIGNvdmVyYWdlIHJlcG9ydHMuIEd1YXJkCgkgIGNoZWNrLXRvcnR1cmUgdGFyZ2V0IGxpa2UgaW4gdGhlIG90aGVyIHBhY2thZ2VzLgoKMjAwOC0wMS0wOSAxMjozMzo1OCArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzogSW1wbGVtZW50IEdzdENoaWxkUHJveHkgaW50ZXJmYWNlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmV2aWV3ZWQgYnk6IEVkd2FyZCBIZXJ2ZXkgIDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCSAgKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkgIChnc3RfdmlkZW9taXhlcl9zZXRfbWFzdGVyX2dlb21ldHJ5KSwgKF9kb19pbml0KSwKCSAgKGdzdF92aWRlb21peGVyX2NoaWxkX3Byb3h5X2dldF9jaGlsZF9ieV9pbmRleCksCgkgIChnc3RfdmlkZW9taXhlcl9jaGlsZF9wcm94eV9nZXRfY2hpbGRyZW5fY291bnQpLAoJICAoZ3N0X3ZpZGVvbWl4ZXJfY2hpbGRfcHJveHlfaW5pdCksIChnc3RfdmlkZW9taXhlcl9yZXNldCksCgkgIChnc3RfdmlkZW9taXhlcl9pbml0KSwgKGdzdF92aWRlb21peGVyX3JlcXVlc3RfbmV3X3BhZCksCgkgIChnc3RfdmlkZW9taXhlcl9yZWxlYXNlX3BhZCksIChnc3RfdmlkZW9taXhlcl9maWxsX3F1ZXVlcyk6CgkgIEltcGxlbWVudCBHc3RDaGlsZFByb3h5IGludGVyZmFjZS4KCSAgU2VuZCBuZXdzZWdtZW50IGF0IHRoZSByaWdodCBtb21lbnQKCSAgRml4ZXMgIzQ4ODg3OQoKMjAwOC0wMS0wOSAxMjowMToxNCArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9hbHBoYS86IE1ha2UgdGhlIHZhcmlvdXMgcHJvcGVydGllcyBvZiAnYWxwaGEnIGNvbnRyb2xsYWJsZS4gVGhpcyBhbGxvd3MgZG9pbmcgbmljZXRpZXMgbGlrZSBmYWRlLWluL2ZhZGUtb3V0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYWxwaGEvTWFrZWZpbGUuYW06CgkgICogZ3N0L2FscGhhL2dzdGFscGhhLmM6IChnc3RfYWxwaGFfY2xhc3NfaW5pdCksIChnc3RfYWxwaGFfaW5pdCksCgkgIChnc3RfYWxwaGFfc2lua19ldmVudCksIChnc3RfYWxwaGFfY2hhaW4pLAoJICAoZ3N0X2FscGhhX2NoYW5nZV9zdGF0ZSksIChwbHVnaW5faW5pdCk6CgkgIE1ha2UgdGhlIHZhcmlvdXMgcHJvcGVydGllcyBvZiAnYWxwaGEnIGNvbnRyb2xsYWJsZS4gVGhpcyBhbGxvd3MgZG9pbmcKCSAgbmljZXRpZXMgbGlrZSBmYWRlLWluL2ZhZGUtb3V0LgoKMjAwOC0wMS0wOSAxMToxMTowMSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3J0cC86IFJlbW92ZSBjb3B5L3Bhc3RlIHVudXNlZCBjb2RlIChwcm9wZXJ0eSBzZXR0ZXJzIGFuZCBnZXR0ZXIpIGZvdW5kIGJ5IHRoZSBjb3ZlcmFnZSBzdWl0ZSAoeWF5LCBzYXZlcyB+MjBrIG9uLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0YXN0ZXJpc2toMjYzLmM6CgkgICogZ3N0L3J0cC9nc3RydHBMMTZkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwYWMzZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGFtcnBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGdzbWRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBoMjYzZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjNwZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjNwcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wMnRkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0YWRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBtcDRnZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGdwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNHZkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXBhZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wdmRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBzdjN2ZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYWRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHB0aGVvcmFwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc2RlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHB2b3JiaXNwYXkuYzoKCSAgUmVtb3ZlIGNvcHkvcGFzdGUgdW51c2VkIGNvZGUgKHByb3BlcnR5IHNldHRlcnMgYW5kIGdldHRlcikgZm91bmQgYnkKCSAgdGhlIGNvdmVyYWdlIHN1aXRlICh5YXksIHNhdmVzIH4yMGsgb24gZGlzaykuCgoyMDA4LTAxLTA4IDIwOjAzOjMwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOiBBbHNvIGZpeCB1cCBwYWQgdGVtcGxhdGVzIHRvIGluZGljYXRlIHRoYXQgaW1hZ2UvanBlZyBkb2Vzbid0IGFic29sdXRlbHkgcmVxdWlyZSB0aGUgZnJhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzogKENPTU1PTl9WSURFT19DQVBTX05PX0ZSQU1FUkFURSksCgkgICh2aWRlb3NpbmtfdGVtcGwpOgoJICBBbHNvIGZpeCB1cCBwYWQgdGVtcGxhdGVzIHRvIGluZGljYXRlIHRoYXQgaW1hZ2UvanBlZyBkb2Vzbid0CgkgIGFic29sdXRlbHkgcmVxdWlyZSB0aGUgZnJhbWVyYXRlIHByb3BlcnR5IHRvIGJlIHNldCAoIzUwNDA4MSkuCgoyMDA4LTAxLTA4IDE5OjU3OjIzICswMDAwICBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlckBtaW5kLmJlPgoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC4qOiBLZWVwIHRyYWNrIG9mIGZpcnN0IGFuZCBsYXN0IHRpbWVzdGFtcHMgZm9yIGVhY2ggaW5jb21pbmcgc3RyZWFtLCBzbyB3ZSBjYW4gY2FsY3VsYXRlIHRoLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBCYXNlZCBvbiBwYXRjaCBieTogV291dGVyIENsb2V0ZW5zICA8d291dGVyIGF0IG1pbmQgYmU+CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOiAoZ3N0X21hdHJvc2thX211eF92aWRlb19wYWRfc2V0Y2FwcyksCgkgIChnc3RfbWF0cm9za2FfbXV4X3JlcXVlc3RfbmV3X3BhZCksIChnc3RfbWF0cm9za2FfbXV4X3JlbGVhc2VfcGFkKSwKCSAgKGdzdF9tYXRyb3NrYV9tdXhfZmluaXNoKSwgKGdzdF9tYXRyb3NrYV9tdXhfY29sbGVjdGVkKToKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4Lmg6CgkgIEtlZXAgdHJhY2sgb2YgZmlyc3QgYW5kIGxhc3QgdGltZXN0YW1wcyBmb3IgZWFjaCBpbmNvbWluZyBzdHJlYW0sCgkgIHNvIHdlIGNhbiBjYWxjdWxhdGUgdGhlIHRvdGFsIGR1cmF0aW9uIGZvciBsaXZlIHNvdXJjZXMgYW5kIG90aGVyCgkgIGlucHV0IHdoZXJlIHdlIGNhbid0IHF1ZXJ5IHRoZSBkdXJhdGlvbiBmcm9tIHRoZSBzdGFydCBvciB3aGVyZQoJICB0aGVyZSdzIG5vIGNvbnN0YW50IGZyYW1lcmF0ZSBmcm9tIHdoaWNoIHdlIGNhbiBkZWR1Y2UgdGhlCgkgIGR1cmF0aW9uOyBhbHNvIHVzZSBjYWxjdWxhdGVkL29ic2VydmVkIGR1cmF0aW9uIGlmIGl0IGlzIGJpZ2dlcgoJICB0aGFuIHRoZSBwcmV2aW91c2x5IHF1ZXJpZWQgZHVyYXRpb24uIEZ1cnRoZXJtb3JlLCB1c2UKCSAgZ3N0X3BhZF9xdWVyeV9wZWVyX2R1cmF0aW9uKCkgYW5kIHRha2UgaW50byBhY2NvdW50IHRoYXQgaXQgbWF5CgkgIHJldHVybiBUUlVFIGJ1dCBzdGlsbCBhIGR1cmF0aW9uIG9mIENMT0NLX1RJTUVfTk9ORSwgd2hpY2ggZWFzaWx5CgkgIHNjcmV3cyB1cCBjb21wYXJpc29ucyB3aGVuIHVzaW5nIHVuc2lnbmVkIGludGVnZXJzLiBGaXhlcyAjNTA0MDgxLgoKMjAwOC0wMS0wOCAxNDo1ODoxOCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgTWFrZSBlbGVtZW50cyBHU1RfQlVGRkVSX0ZMQUdfR0FQIGF3YXJlIGFuZCBjYWxsIGdzdF9iYXNlX3RyYW5zZm9ybV9zZXRfZ2FwX2F3YXJlIGZvciB0aGlzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9hbXBsaWZ5LmM6CgkgIChnc3RfYXVkaW9fYW1wbGlmeV9jbGlwcGluZ19tZXRob2RfZ2V0X3R5cGUpLAoJICAoZ3N0X2F1ZGlvX2FtcGxpZnlfaW5pdCksIChnc3RfYXVkaW9fYW1wbGlmeV90cmFuc2Zvcm1faXApOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvZHluYW1pYy5jOiAoZ3N0X2F1ZGlvX2R5bmFtaWNfaW5pdCksCgkgIChnc3RfYXVkaW9fZHluYW1pY190cmFuc2Zvcm1faXApOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvaW52ZXJ0LmM6IChnc3RfYXVkaW9faW52ZXJ0X2luaXQpLAoJICAoZ3N0X2F1ZGlvX2ludmVydF90cmFuc2Zvcm1faXApOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvcGFub3JhbWEuYzogKGdzdF9hdWRpb19wYW5vcmFtYV9pbml0KSwKCSAgKGdzdF9hdWRpb19wYW5vcmFtYV90cmFuc2Zvcm0pOgoJICAqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOiAoZ3N0X2xldmVsX2luaXQpOgoJICBNYWtlIGVsZW1lbnRzIEdTVF9CVUZGRVJfRkxBR19HQVAgYXdhcmUgYW5kIGNhbGwKCSAgZ3N0X2Jhc2VfdHJhbnNmb3JtX3NldF9nYXBfYXdhcmUgZm9yIHRoaXMuCgkgIEJ1bXAgY29yZSByZXF1aXJlbWVudCB0byBDVlMuCgkgICogZ3N0L2F1ZGlvZngvYXVkaW9jaGVieXNoZXZmcmVxYmFuZC5jOgoJICAoZ3N0X2F1ZGlvX2NoZWJ5c2hldl9mcmVxX2JhbmRfdHJhbnNmb3JtX2lwKToKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJ5c2hldmZyZXFsaW1pdC5jOgoJICAoZ3N0X2F1ZGlvX2NoZWJ5c2hldl9mcmVxX2xpbWl0X3RyYW5zZm9ybV9pcCk6CgkgIEFsc28gc3luYyBHT2JqZWN0IHByb3BlcnRpZXMgdG8gdGhlIGNvbnRyb2xsZXIgaWYgb3BlcmF0aW5nCgkgIGluIHBhc3N0aHJvdWdoIG1vZGUuCgoyMDA4LTAxLTA3IDE2OjQxOjAwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzogRkFMU0UgaXMgbm90IGEgZ3BvaW50ZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgIChnc3RfZGlyZWN0ZHJhd19zaW5rX3dpbmRvd190aHJlYWQpOgoJICBGQUxTRSBpcyBub3QgYSBncG9pbnRlci4KCjIwMDgtMDEtMDUgMjE6MjA6MDggKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzogTWFrZSBzdXJlIHdlIGNyZWF0ZSBvdXIgaW50ZXJuYWwgd2luZG93IG9ubHkgd2hlbiB3ZSBuZWVkIGl0LiBUaGF0IHdpbGwgZ2l2ZSBhIGNoLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA4LTAxLTA1ICBKdWxpZW4gTW91dHRlICA8anVsaWVuQGZsdWVuZG8uY29tPgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgIChnc3RfZGlyZWN0ZHJhd19zaW5rX3NldF93aW5kb3dfaWQpLAoJICAoZ3N0X2RpcmVjdGRyYXdfc2lua19zZXRfY2FwcyksCgkgIChnc3RfZGlyZWN0ZHJhd19zaW5rX2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfZGlyZWN0ZHJhd19zaW5rX2J1ZmZlcl9hbGxvYyksCgkgIChnc3RfZGlyZWN0ZHJhd19zaW5rX2RyYXdfYm9yZGVycyksCgkgIChnc3RfZGlyZWN0ZHJhd19zaW5rX3Nob3dfZnJhbWUpLAoJICAoZ3N0X2RpcmVjdGRyYXdfc2lua19zZXR1cF9kZHJhdyksCgkgIChnc3RfZGlyZWN0ZHJhd19zaW5rX3dpbmRvd190aHJlYWQpLAoJICAoZ3N0X2RpcmVjdGRyYXdfc2lua19nZXRfZGRyYXdjYXBzKSwKCSAgKGdzdF9kaXJlY3RkcmF3X3Npbmtfc3VyZmFjZV9jcmVhdGUpOiBNYWtlIHN1cmUgd2UgY3JlYXRlIG91cgoJICBpbnRlcm5hbCB3aW5kb3cgb25seSB3aGVuIHdlIG5lZWQgaXQuIFRoYXQgd2lsbCBnaXZlIGEgY2hhbmNlIHRvCgkgIHRoZSBhcHBsaWNhdGlvbiB0byBnZXQgdGhlIHByZXBhcmUteHdpbmRvdy1pZCBidXMgbWVzc2FnZS4gRHJhdwoJICBibGFjayBib3JkZXJzIHdoZW4ga2VlcGluZyBhc3BlY3QgcmF0aW8uIEhhbmRsZSB0aGUgY2FzZSB3aGVyZQoJICBvdXIKCSAgcmVuZGVyaW5nIHdpbmRvdyBkaXNhcHBlYXJzIChjbG9zZWQgb3IgZXJyb3JzKSBsaWtlIG90aGVyIHNpbmtzCgkgIGRvLiBWYXJpb3VzIDgwIGNvbHVtbnMgZml4ZXMsIGltcHJvdmUgc3RhdGUgY2hhbmdlIG9yZGVyLiBUaGF0CgkgIGVsZW1lbnQgY291bGQgbmVlZCBzb21lIG1vcmUgbG92ZS4KCjIwMDgtMDEtMDQgMTg6MzA6MjEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC90YWdsaWIvOiBSZW1vdmUgdXNlbGVzcyB0eXBlZGVmcyB3aXRob3V0IG5ldyB0eXBlIG5hbWUuIEZpeGVzIGEgd2FybmluZyB3aXRoIGdjYyA0LjMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC90YWdsaWIvZ3N0YXBldjJtdXguaDoKCSAgKiBleHQvdGFnbGliL2dzdGlkM3YybXV4Lmg6CgkgIFJlbW92ZSB1c2VsZXNzIHR5cGVkZWZzIHdpdGhvdXQgbmV3IHR5cGUgbmFtZS4gRml4ZXMgYSB3YXJuaW5nIHdpdGgKCSAgZ2NjIDQuMy4KCjIwMDgtMDEtMDMgMTI6MjY6MDMgKzAwMDAgIEpvaG4gTWlsbGlraW4gPGptaWxsaWtpbkBnbWFpbC5jb20+CgoJICBleHQvZmxhYy9nc3RmbGFjZGVjLmM6IEVtaXQgbWV0YWRhdGEgbWVzc2FnZXMgd2hlbiBhIFBJQ1RVUkUgYmxvY2sgaXMgZW5jb3VudGVyZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogSm9obiBNaWxsaWtpbiA8am1pbGxpa2luIGF0IGdtYWlsIGRvdCBjb20+CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOiAoZ3N0X2ZsYWNfZGVjX3NldHVwX3NlZWthYmxlX2RlY29kZXIpLAoJICAoZ3N0X2ZsYWNfZGVjX3NldHVwX3N0cmVhbV9kZWNvZGVyKSwKCSAgKGdzdF9mbGFjX25vcm1hbGl6ZV9waWN0dXJlX21pbWVfdHlwZSksCgkgIChnc3RfZmxhY19leHRyYWN0X3BpY3R1cmVfYnVmZmVyKSwKCSAgKGdzdF9mbGFjX2RlY19tZXRhZGF0YV9jYWxsYmFjayk6CgkgIEVtaXQgbWV0YWRhdGEgbWVzc2FnZXMgd2hlbiBhIFBJQ1RVUkUgYmxvY2sgaXMgZW5jb3VudGVyZWQuCgkgIEZpeGVzICM1MDY3MTUuCgoyMDA4LTAxLTAyIDEzOjU0OjEwICswMDAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSAgZ3N0L2F2aS9nc3RhdmkuYzogaW5jcmVhc2UgcmFuayBiZWNhdXNlIG5vIGtub3duIGlzc3VlcyBhbnltb3JlIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aS5jOgoJICBpbmNyZWFzZSByYW5rIGJlY2F1c2Ugbm8ga25vd24gaXNzdWVzIGFueW1vcmUgLi4uCgkgICogZ3N0L2F2aS9nc3RhdmlzdWJ0aXRsZS5jOgoJICBzZW5kIHN1YnRpdGxlIG5hbWUgdG8gdGhlIHNyY3BhZAoKMjAwNy0xMi0zMSAxMzoyNzozMiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuKjogSW1wbGVtZW50IHJlZGlyZWN0IGZvciB0aGUgREVTQ1JJQkUgcmVwbHkuIEZpeGVzICM1MDYwMjUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX3NlbmQpLCAoZ3N0X3J0c3BzcmNfb3Blbik6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBJbXBsZW1lbnQgcmVkaXJlY3QgZm9yIHRoZSBERVNDUklCRSByZXBseS4gRml4ZXMgIzUwNjAyNS4KCjIwMDctMTItMjkgMTY6NDg6MzMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzogRml4ICd4eXogbWF5IGJlIHVzZWQgdW5pbml0aWFsaXplZCcgY29tcGlsZXIgd2FybmluZ3MgY2F1c2VkIGJ5IGJyb2tlbiBnX2Fzc2VydF9ub3RfcmVhY2hlZCgpIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6IChnc3RfZmxhY19kZWNfd3JpdGUpOgoJICBGaXggJ3h5eiBtYXkgYmUgdXNlZCB1bmluaXRpYWxpemVkJyBjb21waWxlciB3YXJuaW5ncyBjYXVzZWQKCSAgYnkgYnJva2VuIGdfYXNzZXJ0X25vdF9yZWFjaGVkKCkgbWFjcm8gaW4gR0xpYi0yLjE1LnggYW5kIGRvbid0CgkgIGFib3J0KCkgaW4gYW55IGNhc2UgYnV0IHByb3Blcmx5IHJlcG9ydCB0aGUgZXJyb3IuCgoyMDA3LTEyLTI4IDExOjQ0OjI4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3NvdXAvOiBVc2UgZ3N0X3RhZ19mcmVlZm9ybV9zdHJpbmdfdG9fdXRmOCgpIGFuZCBwb3N0IHJhZGlvIHN0YXRpb24gaW5mbyBhcyB0YWdzIG9uIHRoZSBidXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9zb3VwL01ha2VmaWxlLmFtOgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IChnc3Rfc291cGh0dHBfc3JjX2dldF9wcm9wZXJ0eSksCgkgIChnc3Rfc291cGh0dHBfc3JjX3VuaWNvZGlmeSksIChzb3VwX2dvdF9oZWFkZXJzKToKCSAgVXNlIGdzdF90YWdfZnJlZWZvcm1fc3RyaW5nX3RvX3V0ZjgoKSBhbmQgcG9zdCByYWRpbyBzdGF0aW9uCgkgIGluZm8gYXMgdGFncyBvbiB0aGUgYnVzLgoKMjAwNy0xMi0yNiAxNjowMzo1NyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIEZpeCAneHl6IG1heSBiZSB1c2VkIHVuaW5pdGlhbGl6ZWQnIGNvbXBpbGVyIHdhcm5pbmdzIGNhdXNlZCBieSBicm9rZW4gZ19hc3NlcnRfbm90X3JlYWNoZWQoKSBtYWNybyBpbiBHTGliLTIuMTUueCAoaS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X2xvb3ApOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiAoZ3N0X3dhdnBhcnNlX2NoYWluKToKCSAgKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOiAoY29tcG9zaXRlX3BpeGVsKToKCSAgRml4ICd4eXogbWF5IGJlIHVzZWQgdW5pbml0aWFsaXplZCcgY29tcGlsZXIgd2FybmluZ3MgY2F1c2VkCgkgIGJ5IGJyb2tlbiBnX2Fzc2VydF9ub3RfcmVhY2hlZCgpIG1hY3JvIGluIEdMaWItMi4xNS54IChpdCdzCgkgIG5vdCByZWFsbHkgbmljZSB0byBhYm9ydCBpbiBhbnkgY2FzZSkuIEZpeGVzICM1MDU3NDUuCgoyMDA3LTEyLTIwIDE3OjA3OjIyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0LzogSWdub3JlIG1vcmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9lcXVhbGl6ZXIvLmN2c2lnbm9yZToKCSAgKiBnc3Qvc3dpdGNoLy5jdnNpZ25vcmU6CgkgIElnbm9yZSBtb3JlLgoKMjAwNy0xMi0xOCAyMzoxNzoxNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F2aXN1YnRpdGxlLmM6IFNtYWxsIHVuaXQgdGVzdCBmaXggKGhhcyBubyBwcmFjdGljYWwgaW1wYWN0IGF0IHRoZSBtb21lbnQsIHNpbmNlIHdlJ3JlIG9ubHkgZmVlZC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdmlzdWJ0aXRsZS5jOiAoY2hlY2tfY29ycmVjdF9idWZmZXIpOgoJICBTbWFsbCB1bml0IHRlc3QgZml4IChoYXMgbm8gcHJhY3RpY2FsIGltcGFjdCBhdCB0aGUgbW9tZW50LAoJICBzaW5jZSB3ZSdyZSBvbmx5IGZlZWRpbmcgdXRmOCBhbmQgaGVuY2UganVzdCBjcmVhdGUgYSBzdWItCgkgIGJ1ZmZlciBmb3IgdGhlIG91dHB1dCkuCgoyMDA3LTEyLTE4IDIxOjEzOjA1ICswMDAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSAgQWRkIHNlZWtpbmcgc3VwcG9ydCBmb3IgYXZpIHN1YnRpdGxlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpc3VidGl0bGUuYzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdmlzdWJ0aXRsZS5jOgoJICBBZGQgc2Vla2luZyBzdXBwb3J0IGZvciBhdmkgc3VidGl0bGUKCjIwMDctMTItMTggMTc6NDA6MzQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvZmxhYy9nc3RmbGFjZGVjLio6IFJlbW92ZSBzb21lIHVudXNlZCB2YXJzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6IChnc3RfZmxhY19kZWNfcmVzZXRfZGVjb2RlcnMpLAoJICAoZ3N0X2ZsYWNfZGVjX3VwZGF0ZV9tZXRhZGF0YSksIChnc3RfZmxhY19kZWNfbWV0YWRhdGFfY2FsbGJhY2spLAoJICAoZ3N0X2ZsYWNfZGVjX3dyaXRlKToKCSAgKiBleHQvZmxhYy9nc3RmbGFjZGVjLmg6CgkgIFJlbW92ZSBzb21lIHVudXNlZCB2YXJzLgoJICBEbyBtb3JlIGNsZWFudXAgb2YgbGVmdG92ZXIgZXZlbnRzIGFuZCB0YWdzLgoJICBPdXRwdXQgdGFncyBhZnRlciB0aGUgc2VnbWVudCBldmVudC4gRml4ZXMgIzUwNDAxOC4KCjIwMDctMTItMTggMTQ6MzE6MzYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvYXZpL2dzdGF2aXN1YnRpdGxlLmM6IERldGVjdCBvdGhlciBVVEYgYnl0ZSBvcmRlciBtYXJrZXJzIGFuZCBjb252ZXJ0IHRvIFVURi04IGFzIGFwcHJvcHJpYXRlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aXN1YnRpdGxlLmM6IChJU19CT01fVVRGOCksIChJU19CT01fVVRGMTZfQkUpLAoJICAoSVNfQk9NX1VURjE2X0xFKSwgKElTX0JPTV9VVEYzMl9CRSksIChJU19CT01fVVRGMzJfTEUpLAoJICAoZ3N0X2F2aV9zdWJ0aXRsZV9leHRyYWN0X2ZpbGUpLCAoZ3N0X2F2aV9zdWJ0aXRsZV9wYXJzZV9nYWIyX2NodW5rKToKCSAgRGV0ZWN0IG90aGVyIFVURiBieXRlIG9yZGVyIG1hcmtlcnMgYW5kIGNvbnZlcnQgdG8gVVRGLTggYXMKCSAgYXBwcm9wcmlhdGUuCgoyMDA3LTEyLTE4IDEzOjMwOjE1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2F2aS9nc3RhdmlzdWJ0aXRsZS4qOiBSZWZhY3RvciBhIGJpdDsgZml4IG5hbWUgZXh0cmFjdGlvbjsgZG9uJ3QgYXNzdW1lIGFsbCB0aGUgZGF0YSBpbiB0aGUgY2h1bmsgaXMgYWN0dWFsbHkgc3ViLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpc3VidGl0bGUuYzogKHNyY190ZW1wbGF0ZSksCgkgIChnc3RfYXZpX3N1YnRpdGxlX2V4dHJhY3RfdXRmOF9maWxlKSwKCSAgKGdzdF9hdmlfc3VidGl0bGVfcGFyc2VfZ2FiMl9jaHVuayksIChnc3RfYXZpX3N1YnRpdGxlX2NoYWluKSwKCSAgKGdzdF9hdmlfc3VidGl0bGVfYmFzZV9pbml0KSwgKGdzdF9hdmlfc3VidGl0bGVfY2xhc3NfaW5pdCksCgkgIChnc3RfYXZpX3N1YnRpdGxlX2luaXQpLCAoZ3N0X2F2aV9zdWJ0aXRsZV9jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9hdmkvZ3N0YXZpc3VidGl0bGUuaDoKCSAgUmVmYWN0b3IgYSBiaXQ7IGZpeCBuYW1lIGV4dHJhY3Rpb247IGRvbid0IGFzc3VtZSBhbGwgdGhlIGRhdGEKCSAgaW4gdGhlIGNodW5rIGlzIGFjdHVhbGx5IHN1YnRpdGxlIGRhdGEsIHRoZXJlIG1heSBiZSBwYWRkaW5nIGF0CgkgIHRoZSBlbmQ7IGZpeCBHU1RfRUxFTUVOVF9FUlJPUiB1c2FnZTsgc3RvcmUgZXh0cmFjdGVkIHN1YnRpdGxlCgkgIGZpbGUgc28gaXQncyB0aGVyZSB0byBzZW5kIGFnYWluIGFmdGVyIGEgc2VlayAoZm9yIGZ1dHVyZSB1c2UpLgoKMjAwNy0xMi0xOCAwOToxMzoxMiArMDAwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkgIEFkZCBhdmkgc3VidGl0bGUgZWxlbWVudCBmb3IgYnVnICM0NDIwMzQuIE5lZWQgc2Vla2luZyBzdXBwb3J0IGFuZCBtb3JlIHN1cHBvcnQgZm9yIGNoYXJhY3RlciBjb252ZXJzaW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL01ha2VmaWxlLmFtOgoJICAqIGdzdC9hdmkvZ3N0YXZpLmM6CgkgICogZ3N0L2F2aS9nc3RhdmlzdWJ0aXRsZS5jOgoJICAqIGdzdC9hdmkvZ3N0YXZpc3VidGl0bGUuaDoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdmlzdWJ0aXRsZS5jOgoJICAqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgQWRkIGF2aSBzdWJ0aXRsZSBlbGVtZW50IGZvciBidWcgIzQ0MjAzNC4gTmVlZCBzZWVraW5nIHN1cHBvcnQKCSAgYW5kIG1vcmUgc3VwcG9ydCBmb3IgY2hhcmFjdGVyIGNvbnZlcnNpb24uCgoyMDA3LTEyLTE4IDA5OjA3OjE3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgTWFrZWZpbGUuYW06IEluY2x1ZGUgY29tbW9uL3dpbjMyLm1hayBmb3IgQ1JMRiBjaGVjayBvZiB3aW4zMiBwcm9qZWN0IGZpbGVzIChzZWUgIzM5MzYyNikuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIE1ha2VmaWxlLmFtOgoJICBJbmNsdWRlIGNvbW1vbi93aW4zMi5tYWsgZm9yIENSTEYgY2hlY2sgb2Ygd2luMzIgcHJvamVjdAoJICBmaWxlcyAoc2VlICMzOTM2MjYpLgoJICAqIHdpbjMyL3ZzNi9saWJnc3RwbmcuZHNwOgoJICBGaXggbGluZSBlbmRpbmdzIGFuZCBkbyBjdnMgYWRtaW4gLWtiLgoKMjAwNy0xMi0xNyAyMToxMjoyOCArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNyYy4qOiBXaGVuIHN1YnNlcXVlbnQgZmlsZXMgYXJlIHJlYWQsIGlmIHRoZSBmaWxlIGRvZXNuJ3QgZXhpc3QsIHNlbmQgYW4gRU9TIGluc3RlYWQgb2YgY2EuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzcmMuYzoKCSAgKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNyYy5oOgoJICBXaGVuIHN1YnNlcXVlbnQgZmlsZXMgYXJlIHJlYWQsIGlmIHRoZSBmaWxlIGRvZXNuJ3QgZXhpc3QsIHNlbmQKCSAgYW4gRU9TIGluc3RlYWQgb2YgY2F1c2luZyBhbiBlcnJvci4KCjIwMDctMTItMTYgMjM6NDM6NDYgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBleHQvanBlZy9nc3RqcGVnZGVjLmM6IEFjdHVhbGx5IGRyb3AgdGhlIGJ1ZmZlcnMgd2hpY2ggYXJlIG91dHNpZGUgdGhlIGN1cnJlbnRseSBjb25maWd1cmVkIHNlZ21lbnQgaW5zdGVhZCBvZiBqdXN0IGUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOiAoZ3N0X2pwZWdfZGVjX2NoYWluKToKCSAgQWN0dWFsbHkgZHJvcCB0aGUgYnVmZmVycyB3aGljaCBhcmUgb3V0c2lkZSB0aGUgY3VycmVudGx5IGNvbmZpZ3VyZWQKCSAgc2VnbWVudCBpbnN0ZWFkIG9mIGp1c3QgZW1pdHRpbmcgYSBXQVJOSU5HLgoKMjAwNy0xMi0xNCAxODo0OTozNCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9mbGFjL2dzdGZsYWNkZWMuKjogU2VuZCBzZWdtZW50cyBmcm9tIHRoZSBzdHJlYW1pbmcgdGhyZWFkLiBGaXhlcyAjNTAyMTg3LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6IChnc3RfZmxhY19kZWNfbWV0YWRhdGFfY2FsbGJhY2spLAoJICAoZ3N0X2ZsYWNfZGVjX3dyaXRlKToKCSAgKiBleHQvZmxhYy9nc3RmbGFjZGVjLmg6CgkgIFNlbmQgc2VnbWVudHMgZnJvbSB0aGUgc3RyZWFtaW5nIHRocmVhZC4gRml4ZXMgIzUwMjE4Ny4KCSAgRml4IHNlZ21lbnQgc2Vla2luZyBhbmQgYSBidW5jaCBvZiBvdGhlciBzZWVraW5nIGNhc2VzLgoKMjAwNy0xMi0xNCAxMDoxNzoxMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9pZDNkZW11eC9pZDN2MmZyYW1lcy5jOiBQYXJzZSBXT0FGIGZyYW1lcyBhbmQgcHV0IHRoZSByZXN1bHQgaW50byBHU1RfVEFHX0NPTlRBQ1QsIHdoaWNoIGlzIHdoZXJlIGl0IHdvdWxkIGVuZCB1cC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaWQzZGVtdXgvaWQzdjJmcmFtZXMuYzogKHBhcnNlX3VybF9saW5rX2ZyYW1lKToKCSAgUGFyc2UgV09BRiBmcmFtZXMgYW5kIHB1dCB0aGUgcmVzdWx0IGludG8gR1NUX1RBR19DT05UQUNULAoJICB3aGljaCBpcyB3aGVyZSBpdCB3b3VsZCBlbmQgdXAgaWYgdGhlIHNhbWUgaW5mb3JtYXRpb24gd2FzCgkgIHB1dCBpbiBhIHZvcmJpcyBjb21tZW50IChkb24ndCB0aGluayBpdCdzIHdvcnRoIGFkZGluZyBhCgkgIG5ldyBVUkkgdGFnIGZvciB0aGlzKS4gRml4ZXMgIzQ4ODExMi4KCjIwMDctMTItMTEgMjI6Mjk6MTggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBjb25maWd1cmUuYWM6IFdlIG5lZWQgY29yZS9iYXNlIDAuMTAuMTUgb3IgbGF0ZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgV2UgbmVlZCBjb3JlL2Jhc2UgMC4xMC4xNSBvciBsYXRlci4KCjIwMDctMTItMTEgMTY6NDc6MTIgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hbmF1d0Bza3luZXQuYmU+CgoJICBnc3QvYXZpL2dzdGF2aW11eC5jOiBGaXggcmVncmVzc2lvbiBpbiBzdHJlYW0gbnVtYmVyaW5nLiBGaXhlcyAjNTAyNjU1LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE1hcmsgTmF1d2VsYWVydHMgPG1hbmF1dyBza3luZXQgYmU+CgkgICogZ3N0L2F2aS9nc3RhdmltdXguYzogKGdzdF9hdmlfbXV4X3N0YXJ0X2ZpbGUpOgoJICBGaXggcmVncmVzc2lvbiBpbiBzdHJlYW0gbnVtYmVyaW5nLiBGaXhlcyAjNTAyNjU1LgoKMjAwNy0xMi0xMSAxNjozOTozOSArMDAwMCAgV291dGVyIENsb2V0ZW5zIDx3b3V0ZXJAbWluZC5iZT4KCgkgIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLio6IERvIG5vdCB0cnkgdG8gdW5wYXVzZSBJL08gaW4gdGhlICJxdWV1ZWQiIHN0YXRlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFdvdXRlciBDbG9ldGVucyA8d291dGVyIGF0IG1pbmQgZG90IGJlPgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IChfZG9faW5pdCksCgkgIChnc3Rfc291cGh0dHBfc3JjX2NsYXNzX2luaXQpLCAoZ3N0X3NvdXBodHRwX3NyY19pbml0KSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfZGlzcG9zZSksIChnc3Rfc291cGh0dHBfc3JjX3NldF9wcm9wZXJ0eSksCgkgIChnc3Rfc291cGh0dHBfc3JjX2dldF9wcm9wZXJ0eSksICh1bmljb2RpZnkpLAoJICAoZ3N0X3NvdXBodHRwX3NyY191bmljb2RpZnkpLCAoZ3N0X3NvdXBodHRwX3NyY19jcmVhdGUpLAoJICAoZ3N0X3NvdXBodHRwX3NyY19zdGFydCksIChnc3Rfc291cGh0dHBfc3JjX3N0b3ApLAoJICAoZ3N0X3NvdXBodHRwX3NyY191bmxvY2spLCAoZ3N0X3NvdXBodHRwX3NyY191bmxvY2tfc3RvcCksCgkgIChnc3Rfc291cGh0dHBfc3JjX2dldF9zaXplKSwgKGdzdF9zb3VwaHR0cF9zcmNfaXNfc2Vla2FibGUpLAoJICAoc291cF9nb3RfaGVhZGVycyksIChzb3VwX2dvdF9ib2R5KSwgKHNvdXBfZmluaXNoZWQpLAoJICAoc291cF9nb3RfY2h1bmspLCAoc291cF9yZXNwb25zZSksIChzb3VwX3BhcnNlX3N0YXR1cyksCgkgIChnc3Rfc291cGh0dHBfc3JjX3VyaV9nZXRfdHlwZSksCgkgIChnc3Rfc291cGh0dHBfc3JjX3VyaV9nZXRfcHJvdG9jb2xzKSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfdXJpX2dldF91cmkpLCAoZ3N0X3NvdXBodHRwX3NyY191cmlfc2V0X3VyaSksCgkgIChnc3Rfc291cGh0dHBfc3JjX3VyaV9oYW5kbGVyX2luaXQpOgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmg6CgkgIERvIG5vdCB0cnkgdG8gdW5wYXVzZSBJL08gaW4gdGhlICJxdWV1ZWQiIHN0YXRlLgoJICBSZW9yZ2FuaXNlIGEgYnVuY2ggb2YgdGhpbmdzIGFuZCBjbGVhbnVwcy4KCSAgVXNlcyBHX0dVSU5UNjRfRk9STUFUIGluc3RlYWQgb2YgaGFyZC1jb2RpbmcgJWxsdS4KCSAgU2VlICM1MDIzMzUuCgoyMDA3LTEyLTExIDE2OjMxOjQ5ICswMDAwICBXYWktTWluZyBIbyA8d2VicmVnYm94QHlhaG9vLmNvLnVrPgoKCSAgZ3N0L3J0cC9nc3RydHBoMjY0cGF5Lio6IFVzZSBoaWdoZXIgcGVyZm9ybWFuY2Ugc3RhcnQtY29kZSBzZWFyY2hpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogV2FpLU1pbmcgSG8gPHdlYnJlZ2JveCBhdCB5YWhvbyBkb3QgY28gZG90IHVrPgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOiAoZ3N0X3J0cF9oMjY0X3BheV9pbml0KSwKCSAgKGdzdF9ydHBfaDI2NF9wYXlfZmluYWxpemUpLCAoZ3N0X3J0cF9oMjY0X3BheV9zZXRjYXBzKSwKCSAgKG5leHRfc3RhcnRfY29kZSksIChpc19uYWxfZXF1YWwpLCAoZ3N0X3J0cF9oMjY0X3BheV9kZWNvZGVfbmFsKSwKCSAgKGVuY29kZV9iYXNlNjQpLCAoZ3N0X3J0cF9oMjY0X3BheV9wYXJzZV9zcHNfcHBzKSwKCSAgKGdzdF9ydHBfaDI2NF9wYXlfaGFuZGxlX2J1ZmZlcik6CgkgICogZ3N0L3J0cC9nc3RydHBoMjY0cGF5Lmg6CgkgIFVzZSBoaWdoZXIgcGVyZm9ybWFuY2Ugc3RhcnQtY29kZSBzZWFyY2hpbmcuCgkgIFBhcnNlIE5BTHMgYW5kIHN0b3JlIFNQUywgUFBTIGFuZCBwcm9maWxlIGluIHRoZSBjYXBzIHNvIHRoYXQgdGhleSBjYW4KCSAgYmUgdXNlZCBpbiB0aGUgU0RQLiBGaXhlcyAjNTAyODE0LgoKMjAwNy0xMi0xMSAxMTo1MDo1NCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHN5cy92NGwyLzogSW5pdCBzb21lIHN0cnVjdHMgdG8gemVybyBiZWZvcmUgd2UgcGFzcyB0aGVtIHRvIGlvY3RsLCB3aGljaCBhdm9pZHMgdmFsZ3JpbmQgd2FybmluZ3MuICBBbHNvIGZpeCBhIHNtYWxsIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6IChnc3RfdjRsMl9maWxsX2xpc3RzKToKCSAgKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6IChnc3RfdjRsMnNyY19maWxsX2Zvcm1hdF9saXN0KToKCSAgSW5pdCBzb21lIHN0cnVjdHMgdG8gemVybyBiZWZvcmUgd2UgcGFzcyB0aGVtIHRvIGlvY3RsLCB3aGljaAoJICBhdm9pZHMgdmFsZ3JpbmQgd2FybmluZ3MuICBBbHNvIGZpeCBhIHNtYWxsIG1lbW9yeSBsZWFrLgoKMjAwNy0xMi0xMSAxMTowNTo1NyArMDAwMCAgV291dGVyIENsb2V0ZW5zIDx3b3V0ZXJAbWluZC5iZT4KCgkgIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzogQ29weSB0aW1lc3RhbXAgZnJvbSBpbnB1dCB0byBvdXRwdXQuIE5vdCB2ZXJ5IHBlcmZlY3QgeWV0IGJ1dCBiZXR0ZXIgdGhhbiBub3RoaW5nLiBGaS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFdvdXRlciBDbG9ldGVucyA8d291dGVyIGF0IG1pbmQgZG90IGJlPgoJICAqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzogKGdzdF9tdWx0aXBhcnRfZGVtdXhfY2hhaW4pOgoJICBDb3B5IHRpbWVzdGFtcCBmcm9tIGlucHV0IHRvIG91dHB1dC4gTm90IHZlcnkgcGVyZmVjdCB5ZXQgYnV0IGJldHRlcgoJICB0aGFuIG5vdGhpbmcuIEZpeGVzICM1MDMwMjMuCgoyMDA3LTEyLTA5IDE2OjQ5OjA5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IEFsc28gcHJpbnQgYSB1c2VmdWwgZXJyb3IgbWVzc2FnZSB3aXRoIHRoZSBvbGQgV2F2cGFjayBBUEkgaWYgcG9zc2libGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzogKGdzdF93YXZwYWNrX2RlY19jaGFpbik6CgkgIEFsc28gcHJpbnQgYSB1c2VmdWwgZXJyb3IgbWVzc2FnZSB3aXRoIHRoZSBvbGQgV2F2cGFjayBBUEkKCSAgaWYgcG9zc2libGUuCgoyMDA3LTEyLTA5IDE2OjM0OjA4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOiBNb3JlIGJ1aWxkIGZpeGVzIGZvciBvbGQgbGlid2F2cGFjayB2ZXJzaW9uczogaW5jbHVkZSBjb25maWcuaCBzbyB0aGF0IFdBVlBBQ0tfT0xEX0FQSSBpLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzoKCSAgTW9yZSBidWlsZCBmaXhlcyBmb3Igb2xkIGxpYndhdnBhY2sgdmVyc2lvbnM6IGluY2x1ZGUgY29uZmlnLmggc28KCSAgdGhhdCBXQVZQQUNLX09MRF9BUEkgaXMgYWN0dWFsbHkgZGVmaW5lZCBhcyBkZXRlY3RlZDsgb25seSB1c2UKCSAgV2F2cGFja0dldEVycm9yTWVzc2FnZSBpZiBpdCBpcyBhdmFpbGFibGUuIFRoaXMgZml4ZXMgdGhlIGJ1aWxkCgkgIG9uIGRlYmlhbiBzdGFibGUgZm9yIG1lLgoKMjAwNy0xMi0wOSAxNjoyMTowMiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3dhdnBhY2svOiBXb3JrYXJvdW5kIHRoZSBub24tZXhpc3RhbmNlIG9mIFdhdnBhY2tHZXRDaGFubmVsTWFzayBpbiBXYXZwYWNrIHZlcnNpb25zIGJlbG93IDQuNDAuMC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOiAoZ3N0X3dhdnBhY2tfZGVjX2NoYWluKToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzoKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2NyZWF0ZV9zcmNfcGFkKToKCSAgV29ya2Fyb3VuZCB0aGUgbm9uLWV4aXN0YW5jZSBvZiBXYXZwYWNrR2V0Q2hhbm5lbE1hc2sgaW4gV2F2cGFjawoJICB2ZXJzaW9ucyBiZWxvdyA0LjQwLjAuCgoyMDA3LTEyLTA5IDA1OjEzOjU4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBjb25maWd1cmUuYWM6IEFuZCBub3cgZG8gaXQgcmlnaHQgZm9yIHJlYWwuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBBbmQgbm93IGRvIGl0IHJpZ2h0IGZvciByZWFsLi4uCgoyMDA3LTEyLTA5IDA1OjA5OjU3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBjb25maWd1cmUuYWM6IENvcnJlY3RseSByZXNldCAkTElCUyB0byBub3QgY29udGFpbiAtbG0uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQ29ycmVjdGx5IHJlc2V0ICRMSUJTIHRvIG5vdCBjb250YWluIC1sbS4KCjIwMDctMTItMDkgMDU6MDI6MTcgKzAwMDAgIEt3YW5nIFl1bCBTZW8gPGt3YW5neXVsLnNlb0BnbWFpbC5jb20+CgoJICBGaXggY29tcGlsYXRpb24gd2l0aCBNU1ZDIGJ5IHVzaW5nIGdzdF91dGlsX2d1aW50NjRfdG9fZ2RvdWJsZSgpIGFuZCBjaGVja2luZyBmb3IgcmludCgpIGFuZCBpbXBsZW1lbnRpbmcgaXQgb3Vyc2VsZiAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEJhc2VkIG9uIGEgcGF0Y2ggYnk6IEt3YW5nIFl1bCBTZW8gPGt3YW5neXVsIGRvdCBzZW8gYXQgZ21haWwgZG90IGNvbT4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L2NhaXJvL2dzdHRpbWVvdmVybGF5LmM6CgkgIChnc3RfY2Fpcm9fdGltZV9vdmVybGF5X3ByaW50X3NtcHRlX3RpbWUpOgoJICBGaXggY29tcGlsYXRpb24gd2l0aCBNU1ZDIGJ5IHVzaW5nIGdzdF91dGlsX2d1aW50NjRfdG9fZ2RvdWJsZSgpCgkgIGFuZCBjaGVja2luZyBmb3IgcmludCgpIGFuZCBpbXBsZW1lbnRpbmcgaXQgb3Vyc2VsZiBpZiBpdCBkb2Vzbid0CgkgIGV4aXN0LgoKMjAwNy0xMi0wOSAwNDoyOTowOCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgY29uZmlndXJlLmFjOiBEb24ndCBkZWZpbmUgR1NUX0RJU0FCTEVfREVQUkVDQVRFRCBmb3IgcmVsZWFzZXMuIEZpeGVzICM0OTgxODEuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgRG9uJ3QgZGVmaW5lIEdTVF9ESVNBQkxFX0RFUFJFQ0FURUQgZm9yIHJlbGVhc2VzLiBGaXhlcyAjNDk4MTgxLgoKMjAwNy0xMi0wOCAxNjo0NzozMyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBzeXMvb3NzL2dzdG9zc2hlbHBlci5jOiBWZXJpZnkgdGhhdCB0aGUgZm9ybWF0IHJldHVybmVkIGFmdGVyIHRoZSBpb2N0bCBpcyB0aGUgb25lIHdlIHJlcXVlc3RlZC4gSXQgaXMgdmFsaWQgZm9yIHRoZSAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL29zcy9nc3Rvc3NoZWxwZXIuYzoKCSAgVmVyaWZ5IHRoYXQgdGhlIGZvcm1hdCByZXR1cm5lZCBhZnRlciB0aGUgaW9jdGwgaXMgdGhlIG9uZQoJICB3ZSByZXF1ZXN0ZWQuIEl0IGlzIHZhbGlkIGZvciB0aGUgaW9jdGwgdG8gc3VjY2VlZCB3aGlsZQoJICBzdWJzdGl0dXRpbmcgYW4gYWx0ZXJuYXRlICdzdXBwb3J0ZWQnIHNhbXBsZSBmb3JtYXQuCgoyMDA3LTEyLTA3IDIwOjA3OjQ5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgc3lzL29zcy86IFBvc3QgZGVjZW50IChhbmQgdHJhbnNsYXRlZCkgZXJyb3IgbWVzc2FnZSB3aGVuIHdlIGNhbid0IG9wZW4gdGhlIGF1ZGlvIGRldmljZSBmb3Igc29tZSByZWFzb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9vc3MvZ3N0b3NzYXVkaW8uYzogKHBsdWdpbl9pbml0KToKCSAgKiBzeXMvb3NzL2dzdG9zc3NpbmsuYzogKGdzdF9vc3Nfc2lua19vcGVuKToKCSAgKiBzeXMvb3NzL2dzdG9zc3NyYy5jOiAoZ3N0X29zc19zcmNfb3Blbik6CgkgIFBvc3QgZGVjZW50IChhbmQgdHJhbnNsYXRlZCkgZXJyb3IgbWVzc2FnZSB3aGVuIHdlIGNhbid0CgkgIG9wZW4gdGhlIGF1ZGlvIGRldmljZSBmb3Igc29tZSByZWFzb24uCgoyMDA3LTEyLTA3IDE5OjI5OjM5ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIHN5cy9vc3MvOiBBbGxvdyB0aGUgQVVESU9ERVYgZW52aXJvbm1lbnQgdmFyaWFibGUgdG8gcmVkaXJlY3QgdXMgdG8gYSBkaWZmZXJlbnQgZGVmYXVsdCBPU1MgZGV2aWNlLCBsaWtlIHN1bmF1ZGlvc2luay4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvb3NzL2dzdG9zc3NpbmsuYzoKCSAgKiBzeXMvb3NzL2dzdG9zc3NyYy5jOgoJICBBbGxvdyB0aGUgQVVESU9ERVYgZW52aXJvbm1lbnQgdmFyaWFibGUgdG8gcmVkaXJlY3QgdXMKCSAgdG8gYSBkaWZmZXJlbnQgZGVmYXVsdCBPU1MgZGV2aWNlLCBsaWtlIHN1bmF1ZGlvc2luayBkb2VzCgkgIG9uIFNvbGFyaXMgKG1ha2VzIGF1ZGlvIHBsYXkgYXV0b21hdGljYWxseSBvbiBTdW5SYXlzKS4KCjIwMDctMTItMDYgMTI6NDU6NTAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6IEZpeCBjb21waWxhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzoKCSAgKGdzdF9paXJfZXF1YWxpemVyX3RyYW5zZm9ybV9pcCk6CgkgIEZpeCBjb21waWxhdGlvbi4KCjIwMDctMTItMDYgMTI6NDI6MTEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6IERvbid0IHByb2Nlc3MgYnVmZmVycyBpbiBwYXNzdGhyb3VnaCBtb2RlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOgoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfdHJhbnNmb3JtX2lwKToKCSAgRG9uJ3QgcHJvY2VzcyBidWZmZXJzIGluIHBhc3N0aHJvdWdoIG1vZGUuCgoyMDA3LTEyLTA2IDEyOjM3OjQzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmlsdGVyLzogVGhlIHRyYW5zZm9ybSgpIG1ldGhvZHMgYXJlIG5vdCBjYWxsZWQgaW4gcGFzc3Rocm91Z2ggbW9kZSBzbyB0aGVyZSdzIG5vIG5lZWQgZm9yIGNoZWNraW5nIGlmIHRoZSBlbGVtZW4uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmM6IChicHdzaW5jX3RyYW5zZm9ybSk6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmM6IChscHdzaW5jX3RyYW5zZm9ybSk6CgkgIFRoZSB0cmFuc2Zvcm0oKSBtZXRob2RzIGFyZSBub3QgY2FsbGVkIGluIHBhc3N0aHJvdWdoIG1vZGUgc28KCSAgdGhlcmUncyBubyBuZWVkIGZvciBjaGVja2luZyBpZiB0aGUgZWxlbWVudCBpcyBpbiBwYXNzdGhyb3VnaCBtb2RlLgoKMjAwNy0xMi0wNiAxMjoyOToyNiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ZpbHRlci86IFN5bmMgdGhlIEdPYmplY3QgcHJvcGVydGllcyB3aXRoIHRoZSBjb250cm9sbGVyIGV2ZW4gaW4gcGFzc3Rocm91Z2ggbW9kZSB0byBnZXQgY29uc2lzdGVudCBwcm9wZXJ0eSB2YWx1ZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5jOiAoYnB3c2luY190cmFuc2Zvcm0pOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOiAobHB3c2luY190cmFuc2Zvcm0pOgoJICBTeW5jIHRoZSBHT2JqZWN0IHByb3BlcnRpZXMgd2l0aCB0aGUgY29udHJvbGxlciBldmVuIGluIHBhc3N0aHJvdWdoCgkgIG1vZGUgdG8gZ2V0IGNvbnNpc3RlbnQgcHJvcGVydHkgdmFsdWVzLgoKMjAwNy0xMi0wNiAxMjoxMToyOSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2F1ZGlvZngvOiBUaGUgdHJhbnNmb3JtX2lwKCkgbWV0aG9kcyBzaG91bGQgZG8gbm90aGluZyBpZiBpbiBwYXNzdGhyb3VnaCBtb2RlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2FtcGxpZnkuYzogKGdzdF9hdWRpb19hbXBsaWZ5X3RyYW5zZm9ybV9pcCk6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9jaGVieXNoZXZmcmVxYmFuZC5jOgoJICAoZ3N0X2F1ZGlvX2NoZWJ5c2hldl9mcmVxX2JhbmRfdHJhbnNmb3JtX2lwKToKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJ5c2hldmZyZXFsaW1pdC5jOgoJICAoZ3N0X2F1ZGlvX2NoZWJ5c2hldl9mcmVxX2xpbWl0X3RyYW5zZm9ybV9pcCk6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9keW5hbWljLmM6IChnc3RfYXVkaW9fZHluYW1pY190cmFuc2Zvcm1faXApOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvaW52ZXJ0LmM6IChnc3RfYXVkaW9faW52ZXJ0X3RyYW5zZm9ybV9pcCk6CgkgIFRoZSB0cmFuc2Zvcm1faXAoKSBtZXRob2RzIHNob3VsZCBkbyBub3RoaW5nIGlmIGluIHBhc3N0aHJvdWdoIG1vZGUuCgkgIEl0IG1pZ2h0IGdldCBub24td3JpdGFibGUgYnVmZmVycyBpbiB0aGF0IGNhc2UgYnV0IHRoZSBidWZmZXIgbWlnaHQKCSAgYXMgd2VsbCBiZSB3cml0YWJsZS4KCSAgKiBnc3QvYXVkaW9meC9hdWRpb3Bhbm9yYW1hLmM6IChnc3RfYXVkaW9fcGFub3JhbWFfdHJhbnNmb3JtKToKCSAgVGhlIHRyYW5zZm9ybSgpIG1ldGhvZHMgd29uJ3QgYmUgY2FsbGVkIGluIHBhc3N0aHJvdWdoIG1vZGUgYW5kCgkgIG90aGVyd2lzZSB0aGUgYnVmZmVyIGlzIGFsd2F5cyB3cml0YWJsZSBzbyBkb24ndCBjaGVjayBoZXJlLgoKMjAwNy0xMi0wNiAxMTo0NjoyMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiBGaXggc2Vla2luZyBpbiAud2F2IGZpbGVzIGFnYWluICgjNTAxNzc1KS4gIFNvbWUgcGVvcGxlIHNlZW0gdG8gdGhpbmsgdGhleSBkb24ndCBuZWVkIHRvIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogKGdzdF93YXZwYXJzZV9zcmNwYWRfZXZlbnQpOgoJICBGaXggc2Vla2luZyBpbiAud2F2IGZpbGVzIGFnYWluICgjNTAxNzc1KS4gIFNvbWUgcGVvcGxlIHNlZW0gdG8gdGhpbmsKCSAgdGhleSBkb24ndCBuZWVkIHRvIHRlc3QgdGhlaXIgY2hhbmdlcyB3aGVuIHRoZXkncmUganVzdCAncmVmbG93aW5nJwoJICBzb21lIGNvZGUuCgoyMDA3LTEyLTA1IDE2OjA0OjQ3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc2luay4qOiBGaXggZG9jcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc2luay5jOgoJICAoZ3N0X2F1dG9fdmlkZW9fc2lua19jbGFzc19pbml0KSwgKGdzdF9hdXRvX3ZpZGVvX3NpbmtfZGlzcG9zZSksCgkgIChnc3RfYXV0b192aWRlb19zaW5rX2luaXQpLAoJICAoZ3N0X2F1dG9fdmlkZW9fc2lua19jcmVhdGVfZWxlbWVudF93aXRoX3ByZXR0eV9uYW1lKSwKCSAgKGdzdF9hdXRvX3ZpZGVvX3NpbmtfZmluZF9iZXN0KSwKCSAgKGdzdF9hdXRvX3ZpZGVvX3Npbmtfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9hdXRvX3ZpZGVvX3NpbmtfZ2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zaW5rLmg6CgkgIEZpeCBkb2NzLgoJICBVc2Ugc2FtZSBlcnJvciByZXBvcnRpbmcgY29kZSBhcyBhdXRvYXVkaW9zaW5rLgoJICBBZGQgcHJvcGVydHkgdG8gZmlsdGVyIHNpbmtzIGJhc2VkIG9uIGNhcHMuIE9ubHkgc2VsZWN0IHJhdyB2aWRlbyBzaW5rcwoJICBieSBkZWZhdWx0IGZvciBiYWNrd2FyZHMgY29tcGF0LgoJICBBUEk6IEdzdEF1dG9WaWRlb1Npbms6OmZpbHRlci1jYXBzCgoyMDA3LTEyLTA1IDE2OjAyOjE1ICswMDAwICBUb21taSBNecO2aMOkbmVuIDxleHQtdG9tbWkubXlvaGFuZW5Abm9raWEuY29tPgoKCSAgZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc2luay4qOiBBZGQgcHJvcGVydHkgdG8gZmlsdGVyIHNpbmtzIGJhc2VkIG9uIGNhcHMuIE9ubHkgc2VsZWN0IHJhdyBhdWRpbyBzaW5rcyBieSBkZWZhdWx0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogVG9tbWkgTXnDtmjDpG5lbiAgPGV4dC10b21taSBkb3QgbXlvaGFuZW4gYXQgbm9raWEgZG90IGNvbT4KCSAgKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zaW5rLmM6CgkgIChnc3RfYXV0b19hdWRpb19zaW5rX2NsYXNzX2luaXQpLCAoZ3N0X2F1dG9fYXVkaW9fc2lua19kaXNwb3NlKSwKCSAgKGdzdF9hdXRvX2F1ZGlvX3NpbmtfaW5pdCksIChnc3RfYXV0b19hdWRpb19zaW5rX2ZpbmRfYmVzdCksCgkgIChnc3RfYXV0b19hdWRpb19zaW5rX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfYXV0b19hdWRpb19zaW5rX2dldF9wcm9wZXJ0eSk6CgkgICogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc2luay5oOgoJICBBZGQgcHJvcGVydHkgdG8gZmlsdGVyIHNpbmtzIGJhc2VkIG9uIGNhcHMuIE9ubHkgc2VsZWN0IHJhdyBhdWRpbyBzaW5rcwoJICBieSBkZWZhdWx0IGZvciBiYWNrd2FyZHMgY29tcGF0LiAgRml4ZXMgIzQxNzQyMC4KCSAgQVBJOiBHc3RBdXRvQXVkaW9TaW5rOjpmaWx0ZXItY2FwcwoKMjAwNy0xMS0yOSAxMTo0MDoxNSArMDAwMCAgQXJlayBLb3JiaWsgPGFya2FkaW5pQGdtYWlsLmNvbT4KCgkgIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOiBJbml0aWFsaXNlIGxpYm9pbCBpbiBwbHVnaW5faW5pdCgpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogQXJlayBLb3JiaWsgPGFya2FkaW5pQGdtYWlsLmNvbT4KCSAgKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzogKHBsdWdpbl9pbml0KToKCSAgSW5pdGlhbGlzZSBsaWJvaWwgaW4gcGx1Z2luX2luaXQoKQoKMjAwNy0xMS0yOSAxMDo0OToxOCArMDAwMCAgV291dGVyIENsb2V0ZW5zIDx3b3V0ZXJAbWluZC5iZT4KCgkgIGNvbmZpZ3VyZS5hYzogQnVtcCBsaWJzb3VwIHJlcXVpcmVtZW50IGFzIGxpYnNvdXAgZG9lcyBub3Qgc3VwcG9ydCBhc3luYyBjbGllbnQgb3BlcmF0aW9uIHByaW9yIHRvIHZlcnNpb24gMi4yLjEwNCBhbi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFdvdXRlciBDbG9ldGVucyA8d291dGVyIGF0IG1pbmQgZG90IGJlPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQnVtcCBsaWJzb3VwIHJlcXVpcmVtZW50IGFzIGxpYnNvdXAgZG9lcyBub3Qgc3VwcG9ydCBhc3luYyBjbGllbnQKCSAgb3BlcmF0aW9uIHByaW9yIHRvIHZlcnNpb24gMi4yLjEwNCBhbmQgaXQgaGFzIHNvbWUgbGVha3MuCgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzogKGdzdF9zb3VwaHR0cF9zcmNfY2xhc3NfaW5pdCksCgkgIChnc3Rfc291cGh0dHBfc3JjX2luaXQpLCAoZ3N0X3NvdXBodHRwX3NyY19kaXNwb3NlKSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfc2V0X3Byb3BlcnR5KSwgKGdzdF9zb3VwaHR0cF9zcmNfY3JlYXRlKSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfc3RhcnQpLCAoZ3N0X3NvdXBodHRwX3NyY19zdG9wKSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfdW5sb2NrKSwgKGdzdF9zb3VwaHR0cF9zcmNfdW5sb2NrX3N0b3ApLAoJICAoZ3N0X3NvdXBodHRwX3NyY19nZXRfc2l6ZSksIChzb3VwX2dvdF9oZWFkZXJzKSwgKHNvdXBfZ290X2JvZHkpLAoJICAoc291cF9maW5pc2hlZCksIChzb3VwX2dvdF9jaHVuayksIChzb3VwX3Jlc3BvbnNlKSwKCSAgKHNvdXBfc2Vzc2lvbl9jbG9zZSk6CgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuaDoKCSAgSW1wbGVtZW50IHVubG9jaygpLgoJICBQaWNrcyB1cCB0aGUgc2l6ZSBmcm9tIHRoZSBDb250ZW50LUxlbmd0aCBoZWFkZXIgYW5kIGVtaXQgYSBkdXJhdGlvbgoJICBtZXNzYWdlLgoJICBEb24ndCBsZWFrIHRoZSBHTWFpbkNvbnRleHQgb2JqZWN0LgoJICBGaXhlcyAjNTAwMDk5LgoKMjAwNy0xMS0yOSAxMDozNDoxOCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6IFBvc3QgZXJyb3IgYmVmb3JlIHNlbmRpbmcgRU9TLiBGaXhlcyAjNDk5MTc4LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOiAoZ3N0X3BuZ2RlY190YXNrKToKCSAgUG9zdCBlcnJvciBiZWZvcmUgc2VuZGluZyBFT1MuIEZpeGVzICM0OTkxNzguCgoyMDA3LTExLTI4IDIxOjU0OjUwICswMDAwICBTw6liYXN0aWVuIE1vdXR0ZSA8c2ViYXN0aWVuQG1vdXR0ZS5uZXQ+CgoJICB3aW4zMi92czYvOiBBZGQgYSBwcm9qZWN0IGZpbGUgZm9yIGxpYmdzdHBuZwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB3aW4zMi92czYvZ3N0X3BsdWdpbnNfZ29vZC5kc3c6CgkgICogd2luMzIvdnM2L2xpYmdzdHBuZy5kc3A6CgkgIEFkZCBhIHByb2plY3QgZmlsZSBmb3IgbGliZ3N0cG5nCgoyMDA3LTExLTI4IDE3OjQ4OjQ1ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L3J0cC9nc3RydHBoMjYzZGVwYXkuYzogQ29kZSBiZWF1dGlmaWNhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBoMjYzZGVwYXkuYzogKGdzdF9ydHBfaDI2M19kZXBheV9jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBfaDI2M19kZXBheV9wcm9jZXNzKToKCSAgQ29kZSBiZWF1dGlmaWNhdGlvbi4KCSAgQWRkZWQgZGVidWcgc3RhdGVtZW50cy4KCSAgRG9uJ3QgYml0LXNoaWZ0IGV2ZXJ5dGhpbmcsIGp1c3QgZG8gb3BlcmF0aW9ucyBvbiBsYXN0L2ZpcnN0IGJ5dGUKCSAgaW5zdGVhZC4KCjIwMDctMTEtMjcgMTE6MTE6MDggKzAwMDAgIEpheWFyYW1hIFMuIFNhbnRhbmEgPHN1bmRhcnNhbnRhbmFAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC9nc3RydHBtcDRhZGVwYXkuYzogRml4IHdyb25nIGNvbXBhcmlzb24gaW4gb3ZlcnJ1biBjaGVjay4gRml4ZXMgIzQ5OTIzOSBzb21lIG1vcmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogSmF5YXJhbWEgUy4gU2FudGFuYSA8c3VuZGFyc2FudGFuYSBhdCBnbWFpbCBkb3QgY29tPgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0YWRlcGF5LmM6IChnc3RfcnRwX21wNGFfZGVwYXlfcHJvY2Vzcyk6CgkgIEZpeCB3cm9uZyBjb21wYXJpc29uIGluIG92ZXJydW4gY2hlY2suIEZpeGVzICM0OTkyMzkgc29tZSBtb3JlLgoKMjAwNy0xMS0yNyAwMDowMTo0MSArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9ydHAvZ3N0cnRwaDI2M2RlcGF5Lio6IEZpeCBoMjYzIGRlcGF5bG9hZGVyIHNvIHRoYXQgQU5ZIGgyNjMgZGVjb2RlciBjYW4gaGFuZGxlIHRoZSBvdXRnb2luZyBzdHJlYW0uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2M2RlcGF5LmM6IChnc3RfcnRwX2gyNjNfZGVwYXlfaW5pdCksCgkgIChnc3RfcnRwX2gyNjNfZGVwYXlfcHJvY2Vzcyk6CgkgICogZ3N0L3J0cC9nc3RydHBoMjYzZGVwYXkuaDoKCSAgRml4IGgyNjMgZGVwYXlsb2FkZXIgc28gdGhhdCBBTlkgaDI2MyBkZWNvZGVyIGNhbiBoYW5kbGUgdGhlIG91dGdvaW5nCgkgIHN0cmVhbS4KCjIwMDctMTEtMjYgMTk6MTc6MTAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwL2dzdHJ0cG1wNGFkZXBheS4qOiBGaXggZGVwYXlsb2FkaW5nIHdoZW4gbXVsdGlwbGUgZnJhbWVzIGFyZSBpbnNpZGUgb25lIFJUUCBwYWNrZXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBCYXNlZCBvbiBQYXRoIGJ5OiBKYXlhcmFtYSBTLiBTYW50YW5hIDxzdW5kYXJzYW50YW5hIGF0IGdtYWlsIGRvdCBjb20+CgkgICogZ3N0L3J0cC9nc3RydHBtcDRhZGVwYXkuYzogKGdzdF9ydHBfbXA0YV9kZXBheV9zZXRjYXBzKSwKCSAgKGdzdF9ydHBfbXA0YV9kZXBheV9wcm9jZXNzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGFkZXBheS5oOgoJICBGaXggZGVwYXlsb2FkaW5nIHdoZW4gbXVsdGlwbGUgZnJhbWVzIGFyZSBpbnNpZGUgb25lIFJUUCBwYWNrZXQuCgkgIEZpeGVzICM0OTkyMzkuCgoyMDA3LTExLTI2IDEyOjI2OjIwICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzogQWRkIEdBUC1mbGFnIHN1cHBvcnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOgoJICBBZGQgR0FQLWZsYWcgc3VwcG9ydC4KCjIwMDctMTEtMjYgMTI6MDE6MTEgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvcnRwL2dzdHJ0cGgyNjNkZXBheS5jOiBSZWFkIHRoZSBJIGZsYWcgZm9yIE1vZGUgQSBoMjYzIHJ0cCBzdHJlYW0gYW5kIHNldCB0aGUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBoMjYzZGVwYXkuYzogKGdzdF9ydHBfaDI2M19kZXBheV9wcm9jZXNzKToKCSAgUmVhZCB0aGUgSSBmbGFnIGZvciBNb2RlIEEgaDI2MyBydHAgc3RyZWFtIGFuZCBzZXQgdGhlCgkgIEdTVF9CVUZGRVJfRkxBR19ERUxUQV9VTklUIGFjY29yZGluZ2x5LgoJICBGaXhlcyAjNDk5MzgzCgoyMDA3LTExLTI2IDEwOjA4OjIwICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogVXNlIGRpc3Bvc2UgYW5kIGZpbmFsaXplLiBEaXNwb3NlIGNhbiBiZSBjYWxsZWQgbXVsdGlwbGUgdGltZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJICBVc2UgZGlzcG9zZSBhbmQgZmluYWxpemUuIERpc3Bvc2UgY2FuIGJlIGNhbGxlZCBtdWx0aXBsZSB0aW1lcy4KCjIwMDctMTEtMjYgMTA6MDQ6NDkgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9sZXZlbC9nc3RsZXZlbC5jOiBSZW1vdmUgc29tZSBkZWFkIGNvZGUgYW5kIGRvIGNsZWFudXBzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzoKCSAgUmVtb3ZlIHNvbWUgZGVhZCBjb2RlIGFuZCBkbyBjbGVhbnVwcy4KCjIwMDctMTEtMjYgMDk6MTM6NDggKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9zaW1wbGUtbGF1bmNoLWxpbmVzLmM6IEltcHJvdmUgdGhlIHRlc3RzIGJ5IGFsbG93aW5nIHRvIHNldCBhIHRhcmdldCBzdGF0ZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3NpbXBsZS1sYXVuY2gtbGluZXMuYzoKCSAgSW1wcm92ZSB0aGUgdGVzdHMgYnkgYWxsb3dpbmcgdG8gc2V0IGEgdGFyZ2V0IHN0YXRlLgoKMjAwNy0xMS0yNiAwOTowNDoxNyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvd2F2cGFja2VuYy5jOiBEb24ndCBjaGVjayB0aGUgY2FwcyBvZiB0aGUgb3V0cHV0IGJ1ZmZlciBpZiB0aGV5J3JlIGVxdWFsIHNvbWUgb3RoZXIgY2Fwcy4gVGhlIGNhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3dhdnBhY2tlbmMuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgRG9uJ3QgY2hlY2sgdGhlIGNhcHMgb2YgdGhlIG91dHB1dCBidWZmZXIgaWYgdGhleSdyZSBlcXVhbCBzb21lCgkgIG90aGVyIGNhcHMuIFRoZSBjYXBzIGNhbiBjaGFuZ2UgaW4gYSBiYWNrd2FyZCBjb21wYXRpYmxlIHdheQoJICBhbmQgZGlkIGF0IHRoaXMgcG9pbnQuCgoyMDA3LTExLTI0IDE0OjU1OjA0ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogSW1wbGVtZW50IHJldmVyc2UgcGxheWJhY2sgc3VwcG9ydC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMTEtMjQgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9maW5kX3NlZ21lbnQpLAoJICAoZ3N0X3F0ZGVtdXhfbW92ZV9zdHJlYW0pLCAoZ3N0X3F0ZGVtdXhfZG9fc2VlayksCgkgIChnc3RfcXRkZW11eF9zZWVrX3RvX3ByZXZpb3VzX2tleWZyYW1lKSwKCSAgKGdzdF9xdGRlbXV4X2FjdGl2YXRlX3NlZ21lbnQpLCAoZ3N0X3F0ZGVtdXhfYWR2YW5jZV9zYW1wbGUpLAoJICAoZ3N0X3F0ZGVtdXhfbG9vcF9zdGF0ZV9tb3ZpZSksIChnc3RfcXRkZW11eF9sb29wKTogSW1wbGVtZW50CgkgIHJldmVyc2UgcGxheWJhY2sgc3VwcG9ydC4KCjIwMDctMTEtMjEgMDk6NTY6NTQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9maWx0ZXIvOiBQb3N0IGEgR1NUX01FU1NBR0VfTEFURU5DWSBpZiB0aGUgbGF0ZW5jeSBjaGFuZ2VzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuYzogKGJwd3NpbmNfc2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuYzogKGxwd3NpbmNfc2V0X3Byb3BlcnR5KToKCSAgUG9zdCBhIEdTVF9NRVNTQUdFX0xBVEVOQ1kgaWYgdGhlIGxhdGVuY3kgY2hhbmdlcy4KCjIwMDctMTEtMjEgMDg6MjE6MTAgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9lcXVhbGl6ZXIvOiBSZW1vdmUgcHJlc2V0IGlmYWNlIGFnYWluLiBXZSdsbCByZS1hZGQgdGhpcyBhZnRlciBpdHMgYmVlbiByZWxlYXNlZCBpbiAtZ29vZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIxMGJhbmRzLmM6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIzYmFuZHMuYzoKCSAgUmVtb3ZlIHByZXNldCBpZmFjZSBhZ2Fpbi4gV2UnbGwgcmUtYWRkIHRoaXMgYWZ0ZXIgaXRzIGJlZW4gcmVsZWFzZWQKCSAgaW4gLWdvb2QuCgoyMDA3LTExLTIwIDEzOjE0OjQwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrY29tbW9uLmM6IEFsc28gc2V0IHRoZSBjaGFubmVsIGxheW91dCBvbiB0aGUgV2F2cGFjayBjYXBzIGlmIHdlJ3JlIGhhdmluZyBhIG1vbm8gbGF5b3V0LiBPZiBjb3UuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2NvbW1vbi5jOiAoZ3N0X3dhdnBhY2tfc2V0X2NoYW5uZWxfbGF5b3V0KToKCSAgQWxzbyBzZXQgdGhlIGNoYW5uZWwgbGF5b3V0IG9uIHRoZSBXYXZwYWNrIGNhcHMgaWYgd2UncmUgaGF2aW5nCgkgIGEgbW9ubyBsYXlvdXQuIE9mIGNvdXJzZSBvbmx5IGRvIGl0IGZvciAiYXVkaW8veC13YXZwYWNrIi4KCjIwMDctMTEtMjAgMTM6MDg6NDUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC93YXZwYWNrLzogQWRkIHN1cHBvcnQgZm9yIGVuY29kaW5nLCBwYXJzaW5nIGFuZCBkZWNvZGluZyBtdWx0aWNoYW5uZWwgZmlsZXMgd2l0aCB1cCB0byA4IGNoYW5uZWxzLiBUaGlzIGFsc28gaW1wci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrY29tbW9uLmM6CgkgIChnc3Rfd2F2cGFja19nZXRfZGVmYXVsdF9jaGFubmVsX21hc2spLAoJICAoZ3N0X3dhdnBhY2tfc2V0X2NoYW5uZWxfbGF5b3V0KSwKCSAgKGdzdF93YXZwYWNrX2dldF9kZWZhdWx0X2NoYW5uZWxfcG9zaXRpb25zKSwKCSAgKGdzdF93YXZwYWNrX2dldF9jaGFubmVsX21hc2tfZnJvbV9wb3NpdGlvbnMpLAoJICAoZ3N0X3dhdnBhY2tfc2V0X2NoYW5uZWxfbWFwcGluZyk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2NvbW1vbi5oOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzogKGdzdF93YXZwYWNrX2RlY19yZXNldCksCgkgIChnc3Rfd2F2cGFja19kZWNfc2lua19zZXRfY2FwcyksIChnc3Rfd2F2cGFja19kZWNfY2hhaW4pOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuaDoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6IChnc3Rfd2F2cGFja19lbmNfcmVzZXQpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX2luaXQpLCAoZ3N0X3dhdnBhY2tfZW5jX3Npbmtfc2V0X2NhcHMpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX3NldF93cF9jb25maWcpLCAoZ3N0X3dhdnBhY2tfZW5jX3B1c2hfYmxvY2spLAoJICAoZ3N0X3dhdnBhY2tfZW5jX2ZpeF9jaGFubmVsX29yZGVyKSwgKGdzdF93YXZwYWNrX2VuY19jaGFpbiksCgkgIChnc3Rfd2F2cGFja19lbmNfcmV3cml0ZV9maXJzdF9ibG9jayksCgkgIChnc3Rfd2F2cGFja19lbmNfc2lua19ldmVudCk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5oOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOgoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfaW5kZXhfYXBwZW5kX2VudHJ5KSwgKGdzdF93YXZwYWNrX3BhcnNlX3Jlc2V0KSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX3NjYW5fdG9fZmluZF9zYW1wbGUpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2Vfc2lua19ldmVudCksIChnc3Rfd2F2cGFja19wYXJzZV9jcmVhdGVfc3JjX3BhZCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9wdXNoX2J1ZmZlciksIChnc3Rfd2F2cGFja19wYXJzZV9sb29wKToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuaDoKCSAgQWRkIHN1cHBvcnQgZm9yIGVuY29kaW5nLCBwYXJzaW5nIGFuZCBkZWNvZGluZyBtdWx0aWNoYW5uZWwKCSAgZmlsZXMgd2l0aCB1cCB0byA4IGNoYW5uZWxzLiBUaGlzIGFsc28gaW1wcm92ZXMgdGhlIHJvYnVzdG5lc3MKCSAgb2YgcGFyc2luZyBxdWl0ZSBhIGJpdC4KCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrc3RyZWFtcmVhZGVyLmM6CgkgIChnc3Rfd2F2cGFja19zdHJlYW1fcmVhZGVyX3JlYWRfYnl0ZXMpLAoJICAoZ3N0X3dhdnBhY2tfc3RyZWFtX3JlYWRlcl9nZXRfcG9zKSwKCSAgKGdzdF93YXZwYWNrX3N0cmVhbV9yZWFkZXJfc2V0X3Bvc19hYnMpLAoJICAoZ3N0X3dhdnBhY2tfc3RyZWFtX3JlYWRlcl9zZXRfcG9zX3JlbCksCgkgIChnc3Rfd2F2cGFja19zdHJlYW1fcmVhZGVyX3B1c2hfYmFja19ieXRlKSwKCSAgKGdzdF93YXZwYWNrX3N0cmVhbV9yZWFkZXJfZ2V0X2xlbmd0aCksCgkgIChnc3Rfd2F2cGFja19zdHJlYW1fcmVhZGVyX2Nhbl9zZWVrKSwKCSAgKGdzdF93YXZwYWNrX3N0cmVhbV9yZWFkZXJfd3JpdGVfYnl0ZXMpOgoJICBJbXByb3ZlIGRlYnVnZ2luZy4KCjIwMDctMTEtMjAgMTI6MjA6MzggKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGV4dC9saWJwbmcvZ3N0cG5nZGVjLio6IERvbid0IHJlbGVhc2UgdGhlIHBuZy1tZW1vcnkgZnJvbSB3aXRoaW4gdGhlIGNhbGxiYWNrLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOgoJICAqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmg6CgkgIERvbid0IHJlbGVhc2UgdGhlIHBuZy1tZW1vcnkgZnJvbSB3aXRoaW4gdGhlIGNhbGxiYWNrLgoKMjAwNy0xMS0yMCAxMjoxMToxMyArMDAwMCAgUmVuw6kgU3RhZGxlciA8bWFpbEByZW5lc3RhZGxlci5kZT4KCgkgIGV4dC9saWJwbmcvZ3N0cG5nZW5jLmM6IERvbid0IGxlYWsgYnVmZmVyIGRhdGEgbWVtb3J5LiBGaXhlcyAjNDk4Mzk1LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFJlbsOpIFN0YWRsZXIgPG1haWwgYXQgcmVuZXN0YWRsZXIgZG90IGRlPgoJICAqIGV4dC9saWJwbmcvZ3N0cG5nZW5jLmM6CgkgIERvbid0IGxlYWsgYnVmZmVyIGRhdGEgbWVtb3J5LiBGaXhlcyAjNDk4Mzk1LgoKMjAwNy0xMS0yMCAxMTo0NjoyOCArMDAwMCAgUmVuw6kgU3RhZGxlciA8bWFpbEByZW5lc3RhZGxlci5kZT4KCgkgIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9zaW1wbGUtbGF1bmNoLWxpbmVzLmM6IFRlc3RzIGZvciAjNDk4Mzk1LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFJlbsOpIFN0YWRsZXIgPG1haWwgYXQgcmVuZXN0YWRsZXIgZG90IGRlPgoJICAqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9zaW1wbGUtbGF1bmNoLWxpbmVzLmM6CgkgIFRlc3RzIGZvciAjNDk4Mzk1LgoKMjAwNy0xMS0yMCAxMTo0MToxMyArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBGaXggYnVpbGQgb24gTWFjIE9TIFggMTAuNQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNy0xMS0yMCAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGV4dC90YWdsaWIvZ3N0dGFnbGlibXV4LmM6IChnc3RfdGFnX2xpYl9tdXhfcmVuZGVyX3RhZyksCgkgIChnc3RfdGFnX2xpYl9tdXhfYWRqdXN0X2V2ZW50X29mZnNldHMpOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfcGFyc2VfdGhlb3JhX2V4dGVuc2lvbik6CgkgICogc3lzL29zeGF1ZGlvL01ha2VmaWxlLmFtOgoJICAqIHN5cy9vc3h2aWRlby9jb2NvYXdpbmRvdy5oOgoJICAqIHN5cy9vc3h2aWRlby9jb2NvYXdpbmRvdy5tOiBGaXggYnVpbGQgb24gTWFjIE9TIFggMTAuNQoKMjAwNy0xMS0xOSAyMDozMDoxOSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2VxdWFsaXplci86IEFjdGl2YXRlIHByZXNldCBpZmFjZSBhbmQgdXBsb2FkIHR3byBwcmVzZXRzIGhlcmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyMTBiYW5kcy5jOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyM2JhbmRzLmM6CgkgIEFjdGl2YXRlIHByZXNldCBpZmFjZSBhbmQgdXBsb2FkIHR3byBwcmVzZXRzIGhlcmUuCgoyMDA3LTExLTE2IDA1OjUyOjU1ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIGV4dC9jYWlyby9nc3R0ZXh0b3ZlcmxheS5jOiBDaGFuZ2Ugc3RyY2FzZWNtcCgpIHRvIGdfc3RyY2FzZWNtcCgpLiAgRml4ZXMgIzQ5NzI5Mi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2NhaXJvL2dzdHRleHRvdmVybGF5LmM6CgkgIENoYW5nZSBzdHJjYXNlY21wKCkgdG8gZ19zdHJjYXNlY21wKCkuICBGaXhlcyAjNDk3MjkyLgoKMjAwNy0xMS0xNSAxODoxOToxOSArMDAwMCAgSm9yZGkgSmFlbiBQYWxsYXJlcyA8am9yZGlqcEBnbWFpbC5jb20+CgoJICBnc3QvcnRwL2dzdHJ0cG1wMnRwYXkuKjogRmlsbCB0aGUgTVRVIHdpdGggYXMgbWFueSBwYWNrZXRzIGFzIHBvc3NpYmxlLiBGaXhlcyAjNDkxMzIzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEpvcmRpIEphZW4gUGFsbGFyZXMgPGpvcmRpanAgYXQgZ21haWwgZG90IGNvbT4KCSAgKiBnc3QvcnRwL2dzdHJ0cG1wMnRwYXkuYzogKGdzdF9ydHBfbXAydF9wYXlfY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwX21wMnRfcGF5X2luaXQpLCAoZ3N0X3J0cF9tcDJ0X3BheV9maW5hbGl6ZSksCgkgIChnc3RfcnRwX21wMnRfcGF5X2ZsdXNoKSwgKGdzdF9ydHBfbXAydF9wYXlfaGFuZGxlX2J1ZmZlcik6CgkgICogZ3N0L3J0cC9nc3RydHBtcDJ0cGF5Lmg6CgkgIEZpbGwgdGhlIE1UVSB3aXRoIGFzIG1hbnkgcGFja2V0cyBhcyBwb3NzaWJsZS4gRml4ZXMgIzQ5MTMyMy4KCjIwMDctMTEtMTUgMTc6NDc6NDMgKzAwMDAgIFRvbW1pIE15w7Zow6RuZW4gPGV4dC10b21taS5teW9oYW5lbkBub2tpYS5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IEZpeCBzb21lIG1vcmUgbGVha3MuIEZpeGVzICM0OTcwMDcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogVG9tbWkgTXnDtmjDpG5lbiAgPGV4dC10b21taSBkb3QgbXlvaGFuZW4gYXQgbm9raWEgZG90IGNvbT4KCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19zZXR1cF9zdHJlYW1zKToKCSAgRml4IHNvbWUgbW9yZSBsZWFrcy4gRml4ZXMgIzQ5NzAwNy4KCjIwMDctMTEtMTUgMTc6MzU6MTggKzAwMDAgIFRvbW1pIE15w7Zow6RuZW4gPGV4dC10b21taS5teW9oYW5lbkBub2tpYS5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IEZpeCAzIHBhZCBsZWFrcy4gRml4ZXMgIzQ5Njk4My4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBUb21taSBNecO2aMOkbmVuICA8ZXh0LXRvbW1pIGRvdCBteW9oYW5lbiBhdCBub2tpYSBkb3QgY29tPgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX3N0cmVhbV9mcmVlKSwKCSAgKGdzdF9ydHNwc3JjX3N0cmVhbV9jb25maWd1cmVfdGNwKToKCSAgRml4IDMgcGFkIGxlYWtzLiBGaXhlcyAjNDk2OTgzLgoKMjAwNy0xMS0xNSAxNzoyNjoyNSArMDAwMCAgV291dGVyIENsb2V0ZW5zIDx3b3V0ZXJAbWluZC5iZT4KCgkgIEFkZGVkIEhUVFAgc291cmNlIGJhc2VkIG9uIGxpYnNvdXAuIEZpeGVzICM0OTcwMjAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogV291dGVyIENsb2V0ZW5zIDx3b3V0ZXIgYXQgbWluZCBkb3QgYmU+CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9NYWtlZmlsZS5hbToKCSAgKiBleHQvc291cC9NYWtlZmlsZS5hbToKCSAgKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOiAoX2RvX2luaXQpLAoJICAoZ3N0X3NvdXBodHRwX3NyY19iYXNlX2luaXQpLCAoZ3N0X3NvdXBodHRwX3NyY19jbGFzc19pbml0KSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfaW5pdCksIChnc3Rfc291cGh0dHBfc3JjX2Rpc3Bvc2UpLAoJICAoZ3N0X3NvdXBodHRwX3NyY19zZXRfcHJvcGVydHkpLCAoZ3N0X3NvdXBodHRwX3NyY19nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3NvdXBodHRwX3NyY19jcmVhdGUpLCAoZ3N0X3NvdXBodHRwX3NyY19zdGFydCksCgkgIChnc3Rfc291cGh0dHBfc3JjX3N0b3ApLCAoZ3N0X3NvdXBodHRwX3NyY191bmxvY2spLAoJICAoZ3N0X3NvdXBodHRwX3NyY19zZXRfbG9jYXRpb24pLCAoc291cF9nb3RfY2h1bmspLCAoc291cF9yZXNwb25zZSksCgkgIChzb3VwX3Nlc3Npb25fY2xvc2UpLCAocGx1Z2luX2luaXQpOgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmg6CgkgIEFkZGVkIEhUVFAgc291cmNlIGJhc2VkIG9uIGxpYnNvdXAuIEZpeGVzICM0OTcwMjAuCgoyMDA3LTExLTE1IDE3OjAxOjMyICswMDAwICBUb21taSBNecO2aMOkbmVuIDxleHQtdG9tbWkubXlvaGFuZW5Abm9raWEuY29tPgoKCSAgZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzogRml4IHNtYWxsIGxlYWsuIEZpeGVzICM0OTcwMTcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogVG9tbWkgTXnDtmjDpG5lbiAgPGV4dC10b21taSBkb3QgbXlvaGFuZW4gYXQgbm9raWEgZG90IGNvbT4KCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOiAoZ3N0X3J0cF9oMjY0X2RlcGF5X3NldGNhcHMpOgoJICBGaXggc21hbGwgbGVhay4gRml4ZXMgIzQ5NzAxNy4KCjIwMDctMTEtMTUgMTY6MzE6MzIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC86IEFkZCBzdXBwcG9ydCBmb3IgdGhlb3JhIGluIHF1aWNrdGltZSBhY2NvcmRpbmcgdG8gWGlwaFFULgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X3F0ZGVtdXhfcHJlcGFyZV9jdXJyZW50X3NhbXBsZSksCgkgIChnc3RfcXRkZW11eF9sb29wX3N0YXRlX21vdmllKSwgKHF0ZGVtdXhfcGFyc2VfdGhlb3JhX2V4dGVuc2lvbiksCgkgIChxdGRlbXV4X3BhcnNlX25vZGUpLCAocXRkZW11eF9wYXJzZV90cmFrKSwgKHF0ZGVtdXhfdmlkZW9fY2Fwcyk6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eF9mb3VyY2MuaDoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4X3R5cGVzLmM6CgkgIEFkZCBzdXBwcG9ydCBmb3IgdGhlb3JhIGluIHF1aWNrdGltZSBhY2NvcmRpbmcgdG8gWGlwaFFULgoKMjAwNy0xMS0xNSAxMjoyMjoxMCArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuaDoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJICBBbHdheXMgY29weSBidWZmZXJzIGJ5IGRlZmF1bHQgKGhhbmRsZSBzYWZlciB3aXRoIGJ1Z2dlZCBkcml2ZXJzKSBhbmQgYWRkZWQgYSBwcm9wZXJ0eSB0byBtYWtlIGl0IHBvc3NpYmxlIHRvIHVzZSBtbWEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEFsd2F5cyBjb3B5IGJ1ZmZlcnMgYnkgZGVmYXVsdCAoaGFuZGxlIHNhZmVyIHdpdGggYnVnZ2VkIGRyaXZlcnMpIGFuZCBhZGRlZCBhIHByb3BlcnR5IHRvIG1ha2UgaXQgcG9zc2libGUgdG8gdXNlIG1tYXAgZWZmZWN0aXZlbHkgKG5vIGNvcHkgaWYgcG9zc2libGUpIHdoZW4gYXBwbGljYXRpb24gd2FudHMgdG8uIEZpeGVzOiAjNDgwNTU3LgoKMjAwNy0xMS0xNCAyMTozOTo0NyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9pZDNkZW11eC86IFdlIGRvbid0IHdhbnQgdGhlIHNhbWUgc3RyaW5nIG11bHRpcGxlIHRpbWVzIGluIGEgdGFnIGxpc3QgZm9yIHRoZSBzYW1lIHRhZyBldmVyLCBmb3IgYW55IHRhZywgbm90IGp1cy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaWQzZGVtdXgvaWQzdGFncy5jOgoJICAqIGdzdC9pZDNkZW11eC9pZDN0YWdzLmg6CgkgICogZ3N0L2lkM2RlbXV4L2lkM3YyZnJhbWVzLmM6IChpZDN2Ml90YWdfdG9fdGFnbGlzdCk6CgkgIFdlIGRvbid0IHdhbnQgdGhlIHNhbWUgc3RyaW5nIG11bHRpcGxlIHRpbWVzIGluIGEgdGFnIGxpc3QgZm9yIHRoZQoJICBzYW1lIHRhZyBldmVyLCBmb3IgYW55IHRhZywgbm90IGp1c3QgZm9yIEdTVF9UQUdfR0VOUkUsIHNvIG1ha2Ugc3VyZQoJICB0aGlzIGRvZXNuJ3QgaGFwcGVuIGFuZCByZW1vdmUgc3BlY2lhbC1jYXNlIGNvZGUgZm9yIEdTVF9UQUdfR0VOUkUuCgoyMDA3LTExLTE0IDIxOjA0OjEyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3RhZ2xpYi9nc3RpZDN2Mm11eC5jYzogV3JpdGUgR1NUX1RBR19NVVNJQ0JSQUlOWl9ESVNDSUQgYW5kIEdTVF9UQUdfQ0REQV9DRERCX0RJU0NJRCBpbnRvIElEM3YyIFRYWFggZnJhbWVzIChmaXhlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC90YWdsaWIvZ3N0aWQzdjJtdXguY2M6IChhZGRfbXVzaWNicmFpbnpfdGFnKSwgKGFkZF9mdW5jcyk6CgkgIFdyaXRlIEdTVF9UQUdfTVVTSUNCUkFJTlpfRElTQ0lEIGFuZCBHU1RfVEFHX0NEREFfQ0REQl9ESVNDSUQKCSAgaW50byBJRDN2MiBUWFhYIGZyYW1lcyAoZml4ZXMgIzM0Nzg0OCkuCgoyMDA3LTExLTE0IDIwOjM0OjI0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiBEb24ndCBsZWFrIHNkcCBtZXNzYWdlIGNvbnRlbnRzIChmaXhlcyAjNDk2NzczKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfb3Blbik6CgkgIERvbid0IGxlYWsgc2RwIG1lc3NhZ2UgY29udGVudHMgKGZpeGVzICM0OTY3NzMpLgoJICAqIGdzdC91ZHAvZ3N0dWRwc2luay5jOiAoZ3N0X3VkcHNpbmtfZmluYWxpemUpOgoJICBEb24ndCBsZWFrIFVSSSBzdHJpbmcuCgoyMDA3LTExLTE0IDE5OjEwOjM3ICswMDAwICBKdWxpZW4gUHV5ZHQgPGp1bGllbi5wdXlkdEBsYXBvc3RlLm5ldD4KCgkgIGV4dC9yYXcxMzk0LzogSW1wbGVtZW50IEdzdFByb3BlcnR5UHJvYmUgaW50ZXJmYWNlIGFuZCBhZGQgImRldmljZS1uYW1lIiBwcm9wZXJ0eSwgc28gYXBwbGljYXRpb25zIGNhbiB1c2UgdGhpcyB0byBwci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEp1bGllbiBQdXlkdCA8anVsaWVuIGRvdCBwdXlkdCBhdCBsYXBvc3RlIG5ldD4KCSAgKiBleHQvcmF3MTM5NC9NYWtlZmlsZS5hbToKCSAgKiBleHQvcmF3MTM5NC9nc3QxMzk0cHJvYmUuYzogKGdzdF8xMzk0X2dldF9ndWlkX2FycmF5KSwKCSAgKGdzdF8xMzk0X3Byb3BlcnR5X3Byb2JlX2dldF9wcm9wZXJ0aWVzKSwKCSAgKGdzdF8xMzk0X3Byb3BlcnR5X3Byb2JlX3Byb2JlX3Byb3BlcnR5KSwKCSAgKGdzdF8xMzk0X3Byb3BlcnR5X3Byb2JlX25lZWRzX3Byb2JlKSwKCSAgKGdzdF8xMzk0X3Byb3BlcnR5X3Byb2JlX2dldF92YWx1ZXMpLAoJICAoZ3N0XzEzOTRfcHJvcGVydHlfcHJvYmVfaW50ZXJmYWNlX2luaXQpLAoJICAoZ3N0XzEzOTRfdHlwZV9hZGRfcHJvcGVydHlfcHJvYmVfaW50ZXJmYWNlKToKCSAgKiBleHQvcmF3MTM5NC9nc3QxMzk0cHJvYmUuaDogKEdTVF8xMzk0X1BST0JFX0gpOgoJICAqIGV4dC9yYXcxMzk0L2dzdGR2MTM5NHNyYy5jOiAoX2RvX2luaXQpLCAoZ3N0X2R2MTM5NHNyY19jbGFzc19pbml0KSwKCSAgKGdzdF9kdjEzOTRzcmNfaW5pdCksIChnc3RfZHYxMzk0c3JjX2Rpc3Bvc2UpLAoJICAoZ3N0X2R2MTM5NHNyY19zZXRfcHJvcGVydHkpLCAoZ3N0X2R2MTM5NHNyY19nZXRfcHJvcGVydHkpLAoJICAoZ3N0X2R2MTM5NHNyY19kaXNjb3Zlcl9hdmNfbm9kZSksIChnc3RfZHYxMzk0c3JjX3F1ZXJ5KSwKCSAgKGdzdF9kdjEzOTRzcmNfdXBkYXRlX2RldmljZV9uYW1lKToKCSAgKiBleHQvcmF3MTM5NC9nc3RkdjEzOTRzcmMuaDoKCSAgSW1wbGVtZW50IEdzdFByb3BlcnR5UHJvYmUgaW50ZXJmYWNlIGFuZCBhZGQgImRldmljZS1uYW1lIiBwcm9wZXJ0eSwKCSAgc28gYXBwbGljYXRpb25zIGNhbiB1c2UgdGhpcyB0byBwcm9iZSBmb3IgYXZhaWxhYmxlIGRldmljZXMgaW4gdGhlCgkgIHNhbWUgd2F5IHRoZXkgY2FuIGFscmVhZHkgd2l0aCB2NGxzcmMgYW5kIHY0bDJzcmMgKGhvd2V2ZXIgaG9ycmlibGUKCSAgdGhpcyBwcm9wZXJ0eSBwcm9iZSBpbnRlcmZhY2UgbWF5IGJlKS4gRml4ZXMgIzM1ODg0MS4KCjIwMDctMTEtMTQgMTc6MDM6MTggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NwZWN0cnVtLmM6IEZpeCBzcGVjdHJ1bSB1bml0IHRlc3QgZm9yIHRoZSBsYXRlc3Qgc3BlY3RydW0gY2hhbmdlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvc3BlY3RydW0uYzogKEdTVF9TVEFSVF9URVNUKToKCSAgRml4IHNwZWN0cnVtIHVuaXQgdGVzdCBmb3IgdGhlIGxhdGVzdCBzcGVjdHJ1bSBjaGFuZ2VzLgoKMjAwNy0xMS0xNCAxNToyOTowNSArMDAwMCAgVG9tbWkgTXnDtmjDpG5lbiA8ZXh0LXRvbW1pLm15b2hhbmVuQG5va2lhLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogRG9uJ3QgbGVhayBldmVudCwgZG9uJ3QgbGVhayByYW5nZSAoZml4ZXMgIzQ5Njc1MikuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogVG9tbWkgTXnDtmjDpG5lbiAgPGV4dC10b21taSBkb3QgbXlvaGFuZW4gYXQgbm9raWEgZG90IGNvbT4KCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19oYW5kbGVfc3JjX2V2ZW50KSwKCSAgKGdzdF9ydHNwc3JjX3BhcnNlX3JhbmdlKToKCSAgRG9uJ3QgbGVhayBldmVudCwgZG9uJ3QgbGVhayByYW5nZSAoZml4ZXMgIzQ5Njc1MikuCgoyMDA3LTExLTE0IDEwOjIyOjQxICswMDAwICBBcmVrIEtvcmJpayA8YXJrYWRpbmlAZ21haWwuY29tPgoKCSAgZ3N0L2FscGhhL2dzdGFscGhhY29sb3IuYzogRGV0ZWN0IFJHQkEvQkdSQSBjb3JyZWN0bHkgb24gbGl0dGxlIGVuZGlhbiBzeXN0ZW1zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEFyZWsgS29yYmlrIDxhcmthZGluaUBnbWFpbC5jb20+CgkgICogZ3N0L2FscGhhL2dzdGFscGhhY29sb3IuYzogKGdzdF9hbHBoYV9jb2xvcl9zZXRfY2Fwcyk6CgkgIERldGVjdCBSR0JBL0JHUkEgY29ycmVjdGx5IG9uIGxpdHRsZSBlbmRpYW4gc3lzdGVtcy4KCjIwMDctMTEtMTMgMTc6MTk6MTMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6IGJ1dCB0aGUgY29ycmVzcG9uZGluZyBpb2N0bCgpIGNhbGwgZmFpbHMgZXZlbiB0aG91Z2ggdGhlIGRyaXZlciBjbGFpbXMgdG8gc3VwcG9ydCB0aGlzIGZvcm0uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOiAoZ3N0X3Y0bDJzcmNfcHJvYmVfY2Fwc19mb3JfZm9ybWF0KToKCSAgSWYgVklESU9DX0VOVU1fRlJBTUVTSVpFUyBpcyBkZWZpbmVkICg9IHJlY2VudCBrZXJuZWwpLCBidXQgdGhlCgkgIGNvcnJlc3BvbmRpbmcgaW9jdGwoKSBjYWxsIGZhaWxzIGV2ZW4gdGhvdWdoIHRoZSBkcml2ZXIgY2xhaW1zIHRvCgkgIHN1cHBvcnQgdGhpcyBmb3JtYXQsIGp1c3QgZmFsbCBiYWNrIHRvIHRoZSBwcmUtMi42LjE5IGtlcm5lbAoJICByb3V0aW5lIHRoYXQgY3JlYXRlcyBjYXBzIHdpdGggc3VpdGFibGUgaGVpZ2h0IGFuZCB3aWR0aCByYW5nZXMKCSAgKHNlZSAjNDQ4Mjc4KS4KCjIwMDctMTEtMTMgMTc6MDE6MDcgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hbmF1d0Bza3luZXQuYmU+CgoJICBnc3QvbWF0cm9za2EvOiBFeHRyYWN0IHBhbGV0dGUgZGF0YSBmb3IgZHZkIHN1YnBpY3R1cmUgc3RyZWFtcyBhbmQgc2VuZCBpdCBkb3duc3RyZWFtIGFzIGN1c3RvbSBnc3RyZWFtZXIgZHZkIGV2ZW50ICguLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBNYXJrIE5hdXdlbGFlcnRzIDxtYW5hdXcgc2t5bmV0IGJlPgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3B1c2hfZHZkX2NsdXRfY2hhbmdlX2V2ZW50KSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9ibG9ja2dyb3VwX29yX3NpbXBsZWJsb2NrKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9zdWJ0aXRsZV9jYXBzKToKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmg6CgkgIEV4dHJhY3QgcGFsZXR0ZSBkYXRhIGZvciBkdmQgc3VicGljdHVyZSBzdHJlYW1zIGFuZCBzZW5kIGl0CgkgIGRvd25zdHJlYW0gYXMgY3VzdG9tIGdzdHJlYW1lciBkdmQgZXZlbnQgKGZpeGVzICM0NTM0MTcpLgoKMjAwNy0xMS0xMyAxNDo1MTozMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9jYWlyby9nc3R0ZXh0b3ZlcmxheS5jOiBJbXBsZW1lbnQgbWluaW1hbCBwYXJzaW5nIG9mIHRoZSBwYXNzZWQgcGFuZ28gZm9udCBkZXNjcmlwdGlvbiBzdHJpbmcsIHNvIHBhc3NpbmcgYSBmb250IC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvY2Fpcm8vZ3N0dGV4dG92ZXJsYXkuYzogKGdzdF90ZXh0X292ZXJsYXlfZm9udF9pbml0KToKCSAgSW1wbGVtZW50IG1pbmltYWwgcGFyc2luZyBvZiB0aGUgcGFzc2VkIHBhbmdvIGZvbnQgZGVzY3JpcHRpb24KCSAgc3RyaW5nLCBzbyBwYXNzaW5nIGEgZm9udCBzaXplIHdvcmtzIHRoZSBzYW1lIGFzIHdpdGggdGhlCgkgIHBhbmdvIHRleHRvdmVybGF5IHBsdWdpbjsgZml4ZXMgIzQ1NTA4Ni4KCSAgKE1heWJlIHdlIGNvdWxkIGp1c3QgdXNlIHBhbmdvY2Fpcm8gaGVyZSBhdCBzb21lIHBvaW50KS4KCjIwMDctMTEtMTMgMDY6NTU6MjggKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC86IFJldHVybiB0aGUgcmVzdWx0IGluIF9hY3RpdmF0ZV9wdWxsKCkuIERvbid0IHJlZiBlbGVtZW50IHRoZXJlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIFJldHVybiB0aGUgcmVzdWx0IGluIF9hY3RpdmF0ZV9wdWxsKCkuIERvbid0IHJlZiBlbGVtZW50IHRoZXJlLgoKMjAwNy0xMS0xMyAwNjoyMzo1MSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IFJlZiB0aGUgZWxlbWVudCB3aGVuIHdlIHNob3VsZCwgYnV0IG5vdCB3aGVuIHdlIGl0cyBub3QgbmVlZGVkLiBSZWZsb3cgdGhlIGV2ZW50X2hhbmRsaW5nLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9oZWFkZXJzKSwKCSAgKGdzdF93YXZwYXJzZV9wYWRfY29udmVydCksIChnc3Rfd2F2cGFyc2VfcGFkX3F1ZXJ5KSwKCSAgKGdzdF93YXZwYXJzZV9zcmNwYWRfZXZlbnQpOgoJICBSZWYgdGhlIGVsZW1lbnQgd2hlbiB3ZSBzaG91bGQsIGJ1dCBub3Qgd2hlbiB3ZSBpdHMgbm90IG5lZWRlZC4gUmVmbG93CgkgIHRoZSBldmVudF9oYW5kbGluZyB0byBub3QgbGVhayB0aGUgZXZlbnQuCgoyMDA3LTExLTEyIDIxOjA3OjMxICswMDAwICBSZW7DqSBTdGFkbGVyIDxtYWlsQHJlbmVzdGFkbGVyLmRlPgoKCSAgZ3N0L3JlcGxheWdhaW4vcmdhbmFseXNpcy5jOiBBdm9pZCBzbG93ZG93biBmcm9tIGRlbm9ybWFscyB3aGVuIHByb2Nlc3NpbmcgbmVhci1zaWxlbmNlIGlucHV0IGRhdGEuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogUmVuw6kgU3RhZGxlciA8bWFpbCBhdCByZW5lc3RhZGxlciBkb3QgZGU+CgkgICogZ3N0L3JlcGxheWdhaW4vcmdhbmFseXNpcy5jOiAoeXVsZV9maWx0ZXIpOgoJICBBdm9pZCBzbG93ZG93biBmcm9tIGRlbm9ybWFscyB3aGVuIHByb2Nlc3NpbmcgbmVhci1zaWxlbmNlIGlucHV0IGRhdGEuCgkgIFNwb3R0ZWQgYnkgR2FicmllbCBCb3V2aWduZS4gRml4ZXMgIzQ5NDQ5OS4KCjIwMDctMTEtMTIgMTc6NTk6NDAgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IFByb3Blcmx5IGZyZWUgUVREZW11eFNhbXBsZXMgYXJyYXkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2NoYW5nZV9zdGF0ZSksCgkgIChxdGRlbXV4X3BhcnNlX3NhbXBsZXMpOgoJICBQcm9wZXJseSBmcmVlIFFURGVtdXhTYW1wbGVzIGFycmF5LgoJICBQcm90ZWN0IHRhYmxlIHdyaXRlIHdpdGggYSBzZW5zaWJsZSBjaGVjaywgc29tZSBmaWxlcyBhcHBhcmVudGx5IERPIGNvbnRhaW4KCSAgc3R0cyB2YWx1ZXMgc3RhcnRpbmcgd2l0aCAwIDooCgoyMDA3LTExLTEyIDE3OjIxOjU5ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvOiBEcm9wIEVPUyBpbiBfaGFuZGxlX3NyY19ldmVudCgpLiBGaXggdGhlIHJlZmNvdW50IGluIHF0ZGVtdXggdGhhdCBwcmV2aW91cyBjb21taXQgbWVzc2VkIHVwLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBEcm9wIEVPUyBpbiBfaGFuZGxlX3NyY19ldmVudCgpLiBGaXggdGhlIHJlZmNvdW50IGluIHF0ZGVtdXggdGhhdAoJICBwcmV2aW91cyBjb21taXQgbWVzc2VkIHVwLgoKMjAwNy0xMS0xMiAxNzowNjozMiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0LzogU3luYyBfaGFuZGxlX3NyY19ldmVudCgpIHdpdGggb2dnZGVtdXguIEluIGF2aWRlbXV4IGFsc28gcmVmIHRoZSBlbGVtZW50IHdoZW4gd2Ugc2hvdWxkLCBidXQgbm90IHdoZW4gd2UgaXRzIG5vLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIFN5bmMgX2hhbmRsZV9zcmNfZXZlbnQoKSB3aXRoIG9nZ2RlbXV4LiBJbiBhdmlkZW11eCBhbHNvIHJlZiB0aGUKCSAgZWxlbWVudCB3aGVuIHdlIHNob3VsZCwgYnV0IG5vdCB3aGVuIHdlIGl0cyBub3QgbmVlZGVkLgoKMjAwNy0xMS0xMSAyMToxMjoxMCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0LzogQ2hhbmdlIHRoZSBtZWFuaW5nIG9mIHRoZSBtYWduaXR1ZGUgdmFsdWVzIGdpdmVuIGluIHRoZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZXF1YWxpemVyL2RlbW8uYzogKGRyYXdfc3BlY3RydW0pOgoJICAqIGdzdC9zcGVjdHJ1bS9kZW1vLWF1ZGlvdGVzdC5jOiAoZHJhd19zcGVjdHJ1bSk6CgkgICogZ3N0L3NwZWN0cnVtL2RlbW8tb3Nzc3JjLmM6IChkcmF3X3NwZWN0cnVtKToKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogKGdzdF9zcGVjdHJ1bV9jbGFzc19pbml0KToKCSAgQ2hhbmdlIHRoZSBtZWFuaW5nIG9mIHRoZSBtYWduaXR1ZGUgdmFsdWVzIGdpdmVuIGluIHRoZQoJICBHc3RNZXNzYWdlcyBieSBzcGVjdHJ1bSB0byBkZWNpYmVsIGluc3RlYWQgb2YKCSAgZGVjaWJlbCt0aHJlc2hvbGQuCgoyMDA3LTExLTExIDEzOjU1OjI3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZXF1YWxpemVyLzogQW5kIGNvbnRpbnVlIHRvIHVwZGF0ZSBkb2NzLiBBbHNvIGluY2x1ZGUgc29tZSBzYW1wbGUgY29kZSBmb3IgdGhlIG4tYmFuZCBlcXVhbGl6ZXIgaW4gdGhlIGRvY3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyMTBiYW5kcy5jOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyM2JhbmRzLmM6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXJuYmFuZHMuYzoKCSAgQW5kIGNvbnRpbnVlIHRvIHVwZGF0ZSBkb2NzLiBBbHNvIGluY2x1ZGUgc29tZSBzYW1wbGUgY29kZQoJICBmb3IgdGhlIG4tYmFuZCBlcXVhbGl6ZXIgaW4gdGhlIGRvY3MuCgoyMDA3LTExLTExIDEyOjU0OjMxICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZXF1YWxpemVyLzogVXBkYXRlIGRvY3MgYW5kIHByb3BlcnR5IHJhbmdlcyB0byB0aGUgcmVhbCB2YWx1ZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyMTBiYW5kcy5jOgoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfMTBiYW5kc19jbGFzc19pbml0KToKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcjNiYW5kcy5jOgoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfM2JhbmRzX2NsYXNzX2luaXQpOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVybmJhbmRzLmM6CgkgIFVwZGF0ZSBkb2NzIGFuZCBwcm9wZXJ0eSByYW5nZXMgdG8gdGhlIHJlYWwgdmFsdWVzLgoKMjAwNy0xMS0wOSAxNzoyNzowMCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IE5vdyBkbyB0aGUgc2NhbGluZyByaWdodCBmb3IgcmVhbC4gQWxzbyBpbml0aWFsaXplIGEgcHJldmlvdXNseSB1bmluaXRpYWxpemVkIHZhcmlhYmxlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSAgTm93IGRvIHRoZSBzY2FsaW5nIHJpZ2h0IGZvciByZWFsLiBBbHNvIGluaXRpYWxpemUgYSBwcmV2aW91c2x5CgkgIHVuaW5pdGlhbGl6ZWQgdmFyaWFibGUuCgoyMDA3LTExLTA4IDE1OjU2OjQ2ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvZXF1YWxpemVyL2RlbW8uYzogTWFrZSBkZWZhdWx0IHZvbHVtZSBhIGJpdCBsZXNzLiBJbXByb3ZlIGxheW91dCBieSBnaXZpbmcgbW9yZSBzcGFjZSB0byB0aGUgc2xpZGVyIHdpdGggYmlnLW51bWIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2VxdWFsaXplci9kZW1vLmM6CgkgIE1ha2UgZGVmYXVsdCB2b2x1bWUgYSBiaXQgbGVzcy4gSW1wcm92ZSBsYXlvdXQgYnkgZ2l2aW5nIG1vcmUgc3BhY2UgdG8KCSAgdGhlIHNsaWRlciB3aXRoIGJpZy1udW1iZXJzIGFuZCBlbmFibGUgZmlsbC4KCjIwMDctMTEtMDggMTU6MDA6NDAgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiBSZXR1cm4gRkFMU0UgaWYgd2UgY2FuJ3QgaGFuZGxlIGEgcXVlcnkgaW5zdGVhZCBvZiBjaGFuZ2luZyB0aGUgZm9ybWF0LiBJZ25vcmUgZmFjdCB3aGVuIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgUmV0dXJuIEZBTFNFIGlmIHdlIGNhbid0IGhhbmRsZSBhIHF1ZXJ5IGluc3RlYWQgb2YgY2hhbmdpbmcgdGhlCgkgIGZvcm1hdC4gSWdub3JlIGZhY3Qgd2hlbiBkZWFsaW5nIHdpdGggbXBlZyBhdWRpby4KCjIwMDctMTEtMDYgMTI6MjM6MzUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9zcGVjdHJ1bS9kZW1vLWF1ZGlvdGVzdC5jOiBVc2UgYXV0b2F1ZGlvc2luayBpbnN0ZWFkIG9mIGFsc2FzaW5rIGFuZCB1c2UgYSBzaW5lIHdhdmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVjdHJ1bS9kZW1vLWF1ZGlvdGVzdC5jOiAobWFpbik6CgkgIFVzZSBhdXRvYXVkaW9zaW5rIGluc3RlYWQgb2YgYWxzYXNpbmsgYW5kIHVzZSBhIHNpbmUgd2F2ZS4KCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSAgRml4IHRoZSBtYWduaXR1ZGUgY2FsY3VsYXRpb24uCgoyMDA3LTExLTAzIDE5OjUwOjExICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZXF1YWxpemVyLzogQWxsb3cgc2V0dGluZyAwIGFzIGJhbmR3aWR0aCBhbmQgaGFuZGxlIHRoaXMgY29ycmVjdGx5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZXF1YWxpemVyL2RlbW8uYzogKG1haW4pOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6CgkgIChnc3RfaWlyX2VxdWFsaXplcl9iYW5kX2NsYXNzX2luaXQpLCAoc2V0dXBfZmlsdGVyKToKCSAgQWxsb3cgc2V0dGluZyAwIGFzIGJhbmR3aWR0aCBhbmQgaGFuZGxlIHRoaXMgY29ycmVjdGx5LgoJICBBbHNvIGhhbmRsZSBhIGJhbmR3aWR0aCBvZiByYXRlLzIgcHJvcGVybHkuCgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXJuYmFuZHMuYzoKCSAgKGdzdF9paXJfZXF1YWxpemVyX25iYW5kc19jbGFzc19pbml0KToKCSAgTWFrZSBpdCBwb3NzaWJsZSB0byBnZW5lcmF0ZSBhIE4tYmFuZCBlcXVhbGl6ZXIgd2l0aCAxIGJhbmRzLiBUaGUKCSAgcHJldmlvdXMgbGltaXQgb2YgMiB3YXMgY2F1c2VkIGJ5IGEgbm93YWRheXMgcmVwbGFjZWQgY2FsY3VsYXRpb24KCSAgZG9pbmcgYSBkaXZpc2lvbiBieSB6ZXJvIGlmIG51bWJlciBvZiBiYW5kcyB3YXMgMS4KCjIwMDctMTEtMDIgMjE6MTY6MDkgKzAwMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b2xlLmFuZHJlLnJhdm5hc0B0YW5kYmVyZy5jb20+CgoJICBGaXggaW5jbHVkZXMgZm9yIE1TVkMgYW5kIEdMaWItMi4xNC4wICgjNDkyMzg4KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgIDxvbGUuYW5kcmUucmF2bmFzQHRhbmRiZXJnLmNvbT4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L3VkcC9nc3RkeW51ZHBzaW5rLmM6CgkgICogZ3N0L3VkcC9nc3RkeW51ZHBzaW5rLmg6CgkgICogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSAgKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5oOgoJICAqIGdzdC91ZHAvZ3N0dWRwc2luay5jOgoJICAqIGdzdC91ZHAvZ3N0dWRwc2luay5oOgoJICBGaXggaW5jbHVkZXMgZm9yIE1TVkMgYW5kIEdMaWItMi4xNC4wICgjNDkyMzg4KS4KCSAgKiBnc3QvdWRwL2dzdHVkcHNyYy5jOiAoZ3N0X3VkcHNyY19zdGFydCk6CgkgIE5vIG1vcmUgcGlwZSBkZWZpbmUgc2luY2UgR0xpYi0yLjE0LjAsIG5lZWQgdG8gdXNlIF9waXBlKCkgZGlyZWN0bHkuCgoyMDA3LTExLTAyIDE3OjIzOjQzICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L2xhdy9tdWxhdy1kZWNvZGUuKjogQ2FsY3VsYXRlIG91dGdvaW5nIGJ1ZmZlciBkdXJhdGlvbiBpZiBpbmNvbWluZyBidWZmZXIgZGlkbid0IGhhdmUgYSB2YWxpZCBkdXJhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2xhdy9tdWxhdy1kZWNvZGUuYzogKG11bGF3ZGVjX3Npbmtfc2V0Y2FwcyksCgkgIChnc3RfbXVsYXdkZWNfY2hhaW4pOgoJICAqIGdzdC9sYXcvbXVsYXctZGVjb2RlLmg6CgkgIENhbGN1bGF0ZSBvdXRnb2luZyBidWZmZXIgZHVyYXRpb24gaWYgaW5jb21pbmcgYnVmZmVyIGRpZG4ndCBoYXZlIGEKCSAgdmFsaWQgZHVyYXRpb24uCgoyMDA3LTEwLTMwIDIxOjM3OjQ5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZXF1YWxpemVyLzogQWRkIHNtYWxsIGRlbW8gYXBwbGljYXRpb24gYmFzZWQgb24gdGhlIHNwZWN0cnVtIGRlbW8gYXBwbGljYXRpb25zIHRoYXQgZ2V0cyB3aGl0ZSBub2lzZSBhcyBpbnB1dCwgcHUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2VxdWFsaXplci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZXF1YWxpemVyL2RlbW8uYzogKG9uX3dpbmRvd19kZXN0cm95KSwgKG9uX2NvbmZpZ3VyZV9ldmVudCksCgkgIChvbl9nYWluX2NoYW5nZWQpLCAob25fYmFuZHdpZHRoX2NoYW5nZWQpLCAob25fZnJlcV9jaGFuZ2VkKSwKCSAgKGRyYXdfc3BlY3RydW0pLCAobWVzc2FnZV9oYW5kbGVyKSwgKG1haW4pOgoJICBBZGQgc21hbGwgZGVtbyBhcHBsaWNhdGlvbiBiYXNlZCBvbiB0aGUgc3BlY3RydW0gZGVtbyBhcHBsaWNhdGlvbnMKCSAgdGhhdCBnZXRzIHdoaXRlIG5vaXNlIGFzIGlucHV0LCBwdXNoZXMgaXQgdGhyb3VnaCBhbiBlcXVhbGl6ZXIgYW5kCgkgIHBhaW50cyB0aGUgc3BlY3RydW0uIEZvciBldmVyeSBlcXVhbGl6ZXIgYmFuZCBpdCdzIHBvc3NpYmxlIHRvIHNldAoJICBnYWluLCBiYW5kd2lkdGggYW5kIGZyZXF1ZW5jeS4KCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOiAoc2V0dXBfZmlsdGVyKToKCSAgQWRkIHNvbWUgZ3VhcmRpbmcgYWdhaW5zdCB0b28gbGFyZ2Ugb3IgdG9vIHNtYWxsIGZyZXF1ZW5jaWVzIGFuZAoJICBiYW5kd2lkdGhzLiBBbHNvIGltcHJvdmUgZGVidWdnaW5nIGEgYml0LgoKMjAwNy0xMC0zMCAyMToxODo0NSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzogUmVwbGFjZSBmaWx0ZXJzIHdpdGggYSBiaXQgYmV0dGVyIGZpbHRlcnMgZm9yIHdoaWNoIHdlIGNhbiBhY3R1YWxseSBmaW5kIGRvY3VtZW50YXRpLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6CgkgIChnc3RfaWlyX2VxdWFsaXplcl9iYW5kX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9iYW5kX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9iYW5kX2NsYXNzX2luaXQpLCAoYXJnX3RvX3NjYWxlKSwKCSAgKHNldHVwX2ZpbHRlciksIChnc3RfaWlyX2VxdWFsaXplcl9jb21wdXRlX2ZyZXF1ZW5jaWVzKToKCSAgUmVwbGFjZSBmaWx0ZXJzIHdpdGggYSBiaXQgYmV0dGVyIGZpbHRlcnMgZm9yIHdoaWNoIHdlIGNhbiBhY3R1YWxseQoJICBmaW5kIGRvY3VtZW50YXRpb24sIHdoaWNoIGRvbid0IGNoYW5nZSBhbnl0aGluZyBvbiB6ZXJvIGdhaW4sIGV0Yy4KCSAgTWFrZSB0aGUgZnJlcXVlbmN5IHByb3BlcnR5IG9mIHRoZSBiYW5kcyB3cml0YWJsZSwgcmVuYW1lIHRoZQoJICBiYW5kLXdpZHRoIHByb3BlcnR5IHRvIGJhbmR3aWR0aCBhbmQgY2hhbmdlIHRoZQltZWFuaW5nIHRvIHRoZQoJICBmcmVxdWVuY3kgZGlmZmVyZW5jZSBiZXR3ZWVuIGJhbmRlZGdlcywgY2hhbmdlIHRoZSBtZWFuaW5nIG9mIHRoZQoJICBnYWluIHByb3BlcnR5IHRvIGRCIGluc3RlYWQgb2YgYSB3ZWlyZCBzY2FsZSBiZXR3ZWVuIC0xCWFuZCAxIHRoYXQKCSAgaGFzIG5vIHJlYWwgbWVhbmluZy4KCjIwMDctMTAtMzAgMTI6Mjk6NDYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IFNtYXJ0ZXIgY29tYmluZV9mbG93IGNvZGUgdGhhdCBhbHNvIGRlYWxzIHdpdGggZG93bnN0cmVhbSBlbGVtZW50cyByZXR1cm5pbmcgVU5FWFBFQ1RFRCB3aGVuIHQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfYWN0aXZhdGVfc2VnbWVudCksCgkgIChnc3RfcXRkZW11eF9jb21iaW5lX2Zsb3dzKSwgKGdzdF9xdGRlbXV4X2xvb3Bfc3RhdGVfbW92aWUpOgoJICBTbWFydGVyIGNvbWJpbmVfZmxvdyBjb2RlIHRoYXQgYWxzbyBkZWFscyB3aXRoIGRvd25zdHJlYW0gZWxlbWVudHMKCSAgcmV0dXJuaW5nIFVORVhQRUNURUQgd2hlbiB0aGV5IHJlY2VpdmUgZGF0YSBvdXQgb2YgdGhlIHNlZ21lbnQKCSAgYm91bmRhcmllcy4gRml4ZXMgIzQ5MTMwNS4KCjIwMDctMTAtMjcgMTY6MDQ6NDggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6IExldCdzIG5vdCBjYWxsIGV2ZXJ5IHJlcXVlc3QgcGFkIHdlIGNyZWF0ZSAic2luayVkIiwgdGhhdCdsbCBjcmVhdGUgcHJvYmxlbXMgaWYgdGhlcmUncyAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOiAoZ3N0X2ludGVybGVhdmVfcmVxdWVzdF9uZXdfcGFkKToKCSAgTGV0J3Mgbm90IGNhbGwgZXZlcnkgcmVxdWVzdCBwYWQgd2UgY3JlYXRlICJzaW5rJWQiLCB0aGF0J2xsCgkgIGNyZWF0ZSBwcm9ibGVtcyBpZiB0aGVyZSdzIHRvIGJlIG1vcmUgdGhhbiBvbmUgcGFkLiBGaXhlcyAjNDkwNjgyLgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5jdnNpZ25vcmU6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvaW50ZXJsZWF2ZS5jOgoJICBBZGQgdW5pdCB0ZXN0IGZvciB0aGUgYWJvdmUuCgoyMDA3LTEwLTI2IDE1OjAzOjA2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOiBGaXggJ3VudXNlZCB2YXJpYWJsZScgY29tcGlsZXIgd2FybmluZyB3aGVuIGNvbXBpbGluZyBhZ2FpbnN0IG9sZGVyIGtlcm5lbCBoZWFkZXJzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkgIEZpeCAndW51c2VkIHZhcmlhYmxlJyBjb21waWxlciB3YXJuaW5nIHdoZW4gY29tcGlsaW5nIGFnYWluc3QKCSAgb2xkZXIga2VybmVsIGhlYWRlcnMuCgoyMDA3LTEwLTI2IDEyOjEwOjQzICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBnc3QtcGx1Z2lucy1nb29kLnNwZWMuaW46CgkgIHVwZGF0ZSBzcGVjIGZpbGUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHVwZGF0ZSBzcGVjIGZpbGUKCjIwMDctMTAtMjUgMjM6NDI6NTIgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgSW1wcm92ZSBkb2N1bWVudGF0aW9uLCB3cml0ZSBzb21lIHRlc3RzIGZvciBtdWx0aWZpbGVzcmMvc2luayBmb3IgdXBjb21pbmcgLT5nb29kIHJldmlldy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L211bHRpZmlsZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSAgKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNyYy5jOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL211bHRpZmlsZS5jOgoJICBJbXByb3ZlIGRvY3VtZW50YXRpb24sIHdyaXRlIHNvbWUgdGVzdHMgZm9yIG11bHRpZmlsZXNyYy9zaW5rCgkgIGZvciB1cGNvbWluZyAtPmdvb2QgcmV2aWV3LgoKMjAwNy0xMC0yNSAxNTowMDoxNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC90YWdsaWIvZ3N0aWQzdjJtdXguY2MgKGFkZF9mdW5jcyk6IE1hcCBuZXcgU09SVE5BTUUgdGFncyB0byBJRDN2MiBUU09QLCBUU09BIGFuZCBUU09UIGZyYW1lcyAoIzQxNDUzOSkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC90YWdsaWIvZ3N0aWQzdjJtdXguY2MgKGFkZF9mdW5jcyk6CgkgIE1hcCBuZXcgU09SVE5BTUUgdGFncyB0byBJRDN2MiBUU09QLCBUU09BIGFuZCBUU09UIGZyYW1lcyAoIzQxNDUzOSkuCgoyMDA3LTEwLTI0IDA3OjAxOjQ3ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICB0ZXN0cy9jaGVjay9waXBlbGluZXMvc2ltcGxlLWxhdW5jaC1saW5lcy5jOiBJbXByb3ZlIHRoZSB0ZXN0cyBhIGxpdHRsZSBtb3JlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvc2ltcGxlLWxhdW5jaC1saW5lcy5jOgoJICBJbXByb3ZlIHRoZSB0ZXN0cyBhIGxpdHRsZSBtb3JlLgoKMjAwNy0xMC0yMyAwODozODo1MCArMDAwMCAgWXVuIFpoZW5nIEh1IDx5dW56aGVuZy5odUBnbWFpbC5jb20+CgoJICBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zcmMuYzogVXNlIGRlZmF1bHQgaW5wdXQgZGV2aWNlIGluc3RlYWQgb2YgZGVmYXVsdCBvdXRwdXQgZGV2aWNlIGFuZCBvbmx5IG1lbWNweSBhY3R1YWwgYXZhaWwuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHBhdGNoIGJ5OiBZdW4gWmhlbmcgSHUKCSAgKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zcmMuYzoKCSAgVXNlIGRlZmF1bHQgaW5wdXQgZGV2aWNlIGluc3RlYWQgb2YgZGVmYXVsdCBvdXRwdXQgZGV2aWNlIGFuZAoJICBvbmx5IG1lbWNweSBhY3R1YWwgYXZhaWxhYmxlIGJ5dGVzLgoKMjAwNy0xMC0yMiAxOToxNDowOCArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSAgc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOiBGaXhlcyAidjRsMnNyYyAhIHF1ZXVlICEgeHZpbWFnZXNpbmsiLiBUaGUgcXVldWUgYXNrIGZvciBidWZmZXIgdG9vIGVhcmx5LiBJdCBpcyB0ZW1wb3JhcnkgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzogKGdzdF92NGwyc3JjX2dyYWJfZnJhbWUpOgoJICBGaXhlcyAidjRsMnNyYyAhIHF1ZXVlICEgeHZpbWFnZXNpbmsiLiBUaGUgcXVldWUgYXNrIGZvciBidWZmZXIgdG9vCgkgIGVhcmx5LiBJdCBpcyB0ZW1wb3JhcnkgdW50aWwgd2UgZmluZCBzb21ldGhpbmcgYmV0dGVyLgoKMjAwNy0xMC0yMiAxNjo0NDo0OCArMDAwMCAgVG9tbWkgTXnDtmjDpG5lbiA8ZXh0LXRvbW1pLm15b2hhbmVuQG5va2lhLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogRml4IHJhY2Ugd2hlbiBwYXVzaW5nIGEgUlRTUCBzdHJlYW0gaW4gaW50ZXJsZWF2ZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogVG9tbWkgTXnDtmjDpG5lbiAgPGV4dC10b21taSBkb3QgbXlvaGFuZW4gYXQgbm9raWEgZG90IGNvbT4KCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19sb29wX2ludGVybGVhdmVkKToKCSAgRml4IHJhY2Ugd2hlbiBwYXVzaW5nIGEgUlRTUCBzdHJlYW0gaW4gaW50ZXJsZWF2ZWQuCgkgIEZpeGVzICM0NzU3ODQuCgoyMDA3LTEwLTIyIDA5OjUzOjE2ICswMDAwICBQZXRlciBLamVsbGVyc3RlZHQgPHBrakBheGlzLmNvbT4KCgkgIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5jOiBVc2UgY29ycmVjdCB1bnJlZiBmdW5jdGlvbiBmb3IgYnVmZmVycy4gIzQ4ODg0NC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBQZXRlciBLamVsbGVyc3RlZHQgPHBraiBhdCBheGlzIGNvbT4KCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuYzogKGdzdF9ydHBfbXA0dl9wYXlfZmluYWxpemUpOgoJICBVc2UgY29ycmVjdCB1bnJlZiBmdW5jdGlvbiBmb3IgYnVmZmVycy4gIzQ4ODg0NC4KCjIwMDctMTAtMTkgMTk6MzM6MTYgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIEFkZCBzb21lIGRlYnVnIGFuZCBzeW5jIHRlc3RzIHdpdGggdGhlIGZpeC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdmltdXguYzoKCSAgQWRkIHNvbWUgZGVidWcgYW5kIHN5bmMgdGVzdHMgd2l0aCB0aGUgZml4LgoKMjAwNy0xMC0xOCAxNzowNDoxNCArMDAwMCAgTGF1cmVudCBHbGF5YWwgPHNwZ2xlZ2xlQHlhaG9vLmZyPgoKCSAgZ3N0L3VkcC9nc3R1ZHBzcmMuYzogV2hlbiB0aGUgc29ja2V0IGlzIHVzZWQgYnkgdGhlIGFwcCBmb3Igb3RoZXIgcHVycG9zZXMsIGRvbid0IGdlbmVyYXRlIGFuIGVycm9yIGlmIHRoZXJlIGlzIGFjdGl2Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBCYXNlZCBvbiBwYXRjaCBieTogTGF1cmVudCBHbGF5YWwgIDxzcGdsZWdsZSB5YWhvbyBmcj4KCSAgKiBnc3QvdWRwL2dzdHVkcHNyYy5jOiAoZ3N0X3VkcHNyY19jcmVhdGUpOgoJICBXaGVuIHRoZSBzb2NrZXQgaXMgdXNlZCBieSB0aGUgYXBwIGZvciBvdGhlciBwdXJwb3NlcywgZG9uJ3QgZ2VuZXJhdGUgYW4KCSAgZXJyb3IgaWYgdGhlcmUgaXMgYWN0aXZhdHkgb24gdGhlIHNvY2tldCB0aGF0IGlzIG5vdCBkYXRhIHJlbGF0ZWQuCgkgIEZpeGVzICM0ODc0ODguCgoyMDA3LTEwLTE4IDE0OjU1OjM4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOiBBZGQgc29tZSBtb3JlIGRlYnVnIGluZm8uIEdlbmVyYXRlIGFuIGVycm9yIHdoZW4gd2UgcnVuIG91dCBvZiBidWZmZXJzIGZvciBzb21lIHJlYXNvbi4gU2VlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzogKGdzdF92NGwyX2J1ZmZlcl9maW5hbGl6ZSksCgkgIChnc3RfdjRsMnNyY19ncmFiX2ZyYW1lKToKCSAgQWRkIHNvbWUgbW9yZSBkZWJ1ZyBpbmZvLiBHZW5lcmF0ZSBhbiBlcnJvciB3aGVuIHdlIHJ1biBvdXQgb2YgYnVmZmVycwoJICBmb3Igc29tZSByZWFzb24uIFNlZSAjNDgwNTU3LgoKMjAwNy0xMC0xOCAwODoyNzo1NiArMDAwMCAgQW5kZXJzIFNrYXJncmVuIDxhbmRlcnMuc2thcmdyZW5AYXhpcy5jb20+CgoJICBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzogU2V0IG1hcmtlciBiaXQgY29ycmVjdGx5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEFuZGVycyBTa2FyZ3JlbiA8YW5kZXJzIGRvdCBza2FyZ3JlbiBhdCBheGlzIGRvdCBjb20+CgkgICogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6IChnc3RfcnRwX2gyNjRfcGF5X2hhbmRsZV9idWZmZXIpOgoJICBTZXQgbWFya2VyIGJpdCBjb3JyZWN0bHkuCgoyMDA3LTEwLTE4IDA2OjIwOjIxICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOiBBZGQgYSBtaXNzaW5nIGJyZWFrLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOgoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfYmFuZF9zZXRfcHJvcGVydHkpOgoJICBBZGQgYSBtaXNzaW5nIGJyZWFrLgoKMjAwNy0xMC0xOCAwNjoxNDo0MiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuKjogTW92ZSBiYW5kd2lkdGggcHJvcGVydHkgdG8gdGhlIHNlcGFyYXRlIGJhbmRzIGFuZCBhZGQgZmxvYXQ2NCBzdXBwb3J0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOgoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfYmFuZF9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfYmFuZF9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfYmFuZF9jbGFzc19pbml0KSwgKGdzdF9paXJfZXF1YWxpemVyX2JhbmRfaW5pdCksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9iYW5kX2dldF90eXBlKSwgKGdzdF9paXJfZXF1YWxpemVyX2NsYXNzX2luaXQpLAoJICAoc2V0dXBfZmlsdGVyKSwgKGdzdF9paXJfZXF1YWxpemVyX3NldHVwKToKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5oOgoJICBNb3ZlIGJhbmR3aWR0aCBwcm9wZXJ0eSB0byB0aGUgc2VwYXJhdGUgYmFuZHMgYW5kIGFkZCBmbG9hdDY0IHN1cHBvcnQuCgoyMDA3LTEwLTE3IDE1OjA4OjAyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiBVc2UgYWxsb3dlZCBuYW1lIGZvciB0aGUgR3N0U3RydWN0dXJlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19vcGVuKToKCSAgVXNlIGFsbG93ZWQgbmFtZSBmb3IgdGhlIEdzdFN0cnVjdHVyZS4KCjIwMDctMTAtMTcgMTE6NDc6MjMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBVc2UgbmV3IGdzdF9idXNfcG9wX2ZpbHRlcmVkKCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9nY29uZi9nc3Rzd2l0Y2hzaW5rLmM6CgkgICogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc2luay5jOgoJICBVc2UgbmV3IGdzdF9idXNfcG9wX2ZpbHRlcmVkKCkuCgoyMDA3LTEwLTEzIDEyOjAzOjQ0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgc3lzL3Y0bDIvOiBXaGVuIHByb2JpbmcgdGhlIGZvcm1hdHMgYW5kIHNpemVzIGEgY2FtZXJhIHN1cHBvcnRzLCBtYWtlIHN1cmUgdGhlIGJlc3Qgb25lcyAoaGlnaGVzdCByZXNvbHV0aW9uLCBwcmVmZXJlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkgIFdoZW4gcHJvYmluZyB0aGUgZm9ybWF0cyBhbmQgc2l6ZXMgYSBjYW1lcmEgc3VwcG9ydHMsIG1ha2UKCSAgc3VyZSB0aGUgYmVzdCBvbmVzIChoaWdoZXN0IHJlc29sdXRpb24sIHByZWZlcmVkIGZvcm1hdCkKCSAgZW5kIHVwIGF0IHRoZSBiZWdpbm5pbmcgb2YgdGhlIHByb2JlZCBjYXBzIGFuZCB0aGUgbGVzcwoJICBkZXNpcmFibGUgb25lcyBhdCB0aGUgZW5kLiAgVGhpcyBpcyBpbXBvcnRhbnQgYmVjYXVzZSB0aGUKCSAgb3JkZXIgd2l0aGluIHRoZSBjYXBzIG1hdHRlcnMgZm9yIHRoaW5ncyBsaWtlIGZpeGF0aW9uIGFuZAoJICBuZWdvdGlhdGlvbiwgaWUuIHdoYXQgZm9ybWF0IGlzIGNob3NlbiBpbiB0aGUgZW5kLgoJICBXaXRoIHJlY2VudCBrZXJuZWxzLCB0aGUgY3VycmVudCBwcm9iaW5nIGNvZGUgd2lsbCBlbmQgdXAKCSAgcXVlcnlpbmcgdGhlIHN1cHBvcnRlZCBzaXplcyBmcm9tIGxvd2VzdCByZXNvbHV0aW9uIHRvCgkgIGhpZ2hlc3QgcmVzb2x1dGlvbiwgYWRkaW5nIHRoZW0gdG8gdGhlIHByb2JlZCBjYXBzIGluIHRoYXQKCSAgb3JkZXIsIHJlc3VsdGluZyB0byB2NGwyc3JjIGZpeGF0aW5nIHRvIHRoZSBsb3dlc3QgcG9zc2libGUKCSAgcmVzb2x1dGlvbiBpZiBkb3duc3RyZWFtIGRvZXMgbm90IGV4cHJlc3MgYSBzaXplIHByZWZlcmVuY2UuCgkgIEFsc28gbWFrZSB1cCBhIHNvbWV3aGF0IHJhbmRvbSByYW5raW5nIG9mIHByZWZlcmVkIG91dHB1dAoJICBmb3JtYXRzIGZvciB0aGUgc2FtZSByZWFzb24uIEZpeGVzICM0ODU4MjguCgoyMDA3LTEwLTExIDE3OjU1OjI5ICswMDAwICBKYXNvbiBLaXZsaWdobiA8amtpdmxpZ2huQGdtYWlsLmNvbT4KCgkgIGdzdC9pZDNkZW11eC9pZDN2MmZyYW1lcy5jOiBFeHRyYWN0IGxpY2Vuc2UvY29weXJpZ2h0IFVSSXMgZnJvbSBJRDN2MiBXQ09QIGZyYW1lcyAoRml4ZXMgIzQ0NzAwMCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBCYXNlZCBvbiBwYXRjaCBieTogSmFzb24gS2l2bGlnaG4gIDxqa2l2bGlnaG4gZ21haWwgY29tPgoJICAqIGdzdC9pZDNkZW11eC9pZDN2MmZyYW1lcy5jOgoJICBFeHRyYWN0IGxpY2Vuc2UvY29weXJpZ2h0IFVSSXMgZnJvbSBJRDN2MiBXQ09QIGZyYW1lcwoJICAoRml4ZXMgIzQ0NzAwMCkuCgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvaWQzZGVtdXguYzoKCSAgKiB0ZXN0cy9maWxlcy9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9maWxlcy9pZDMtNDQ3MDAwLXdjb3AudGFnOgoJICBBZGQgc2ltcGxlIHVuaXQgdGVzdC4KCjIwMDctMTAtMTEgMTY6NDE6NDQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvdGFnbGliL2dzdGlkM3YybXV4LmNjOiBBZGQgc3VwcG9ydCBmb3IgbGljZW5zZS9jb3B5cmlnaHQgVVJJIHRhZ3MgKElEM3YyIFdDT1AgZnJhbWUpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvdGFnbGliL2dzdGlkM3YybXV4LmNjOgoJICBBZGQgc3VwcG9ydCBmb3IgbGljZW5zZS9jb3B5cmlnaHQgVVJJIHRhZ3MgKElEM3YyIFdDT1AgZnJhbWUpLgoJICBQcmVyZXF1aXNpdGUgZm9yICM0NDcwMDAuCgoyMDA3LTEwLTA4IDE3OjQ0OjQyICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogRml4IGNvbXBpbGVyIHdhcm5pbmcgYnkgdXNpbmcgR1NUX0NMT0NLX1RJTUVfTk9ORSB0byBpbml0aWFsaXNlIGEgR3N0Q2xvY2tUaW1lLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19mbHVzaCk6CgkgIEZpeCBjb21waWxlciB3YXJuaW5nIGJ5IHVzaW5nIEdTVF9DTE9DS19USU1FX05PTkUgdG8gaW5pdGlhbGlzZQoJICBhIEdzdENsb2NrVGltZS4KCjIwMDctMTAtMDggMTE6NTg6NTEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IE1vcmUgc2Vla2luZyBmaXhlcywgbW9zdGx5IHBhc3NpbmcgYXJvdW5kIHRoZSBuZXcgcGxheWJhY2sgc2VnbWVudCBpbiBvcmRlciB0byBjb25maWd1cmUgaXQgcHIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfZmx1c2gpLAoJICAoZ3N0X3J0c3BzcmNfZG9fc2VlayksIChnc3RfcnRzcHNyY19wZXJmb3JtX3NlZWspLAoJICAoZ3N0X3J0c3BzcmNfY29uZmlndXJlX2NhcHMpLCAoZ3N0X3J0c3BzcmNfbG9vcF91ZHApLAoJICAoZ3N0X3J0c3BzcmNfcGFyc2VfcmFuZ2UpLCAoZ3N0X3J0c3BzcmNfb3BlbiksIChnc3RfcnRzcHNyY19wbGF5KSwKCSAgKGdzdF9ydHNwc3JjX2NoYW5nZV9zdGF0ZSk6CgkgIE1vcmUgc2Vla2luZyBmaXhlcywgbW9zdGx5IHBhc3NpbmcgYXJvdW5kIHRoZSBuZXcgcGxheWJhY2sgc2VnbWVudCBpbgoJICBvcmRlciB0byBjb25maWd1cmUgaXQgcHJvcGVybHkuCgkgIEFsc28gcmVzZXQgYmFzZV90aW1lIG9mIHVkcCBzb3VyY2VzIHdoZW4gc2V0dGluZyB0aGVtIGJhY2sgdG8gUExBWUlORyBhcwoJICBhIHRlbXBvcmFyeSBoYWNrIHVudGlsIGNvcmUgc3VwcG9ydHMgc2VlayBpbiBsaXZlIHNvdXJjZXMgcHJvcGVybHkuCgoyMDA3LTEwLTA4IDEwOjM0OjAzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC9nc3RydHBtcDRhZGVwYXkuYzogRml4IGNhcHMgYXMgdG8gbm90IGNvbmZ1c2UgYXV0b3BsdWdnZXJzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGFkZXBheS5jOgoJICBGaXggY2FwcyBhcyB0byBub3QgY29uZnVzZSBhdXRvcGx1Z2dlcnMuCgoyMDA3LTEwLTA2IDE2OjEzOjE0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2lkM2RlbXV4LzogUG9ydCBJRDMgdGFnIGRlbXV4ZXIgb3ZlciB0byB0aGUgbmV3IEdzdFRhZ0RlbXV4IGluIC1iYXNlIChub3cgd291bGQgYmUgYSBnb29kIHRpbWUgdG8gdGVzdCByZS1pbXBvcnRpLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pZDNkZW11eC9nc3RpZDNkZW11eC5jOgoJICAqIGdzdC9pZDNkZW11eC9nc3RpZDNkZW11eC5oOgoJICAqIGdzdC9pZDNkZW11eC9pZDN0YWdzLmM6CgkgICogZ3N0L2lkM2RlbXV4L2lkM3RhZ3MuaDoKCSAgKiBnc3QvaWQzZGVtdXgvaWQzdjJmcmFtZXMuYzoKCSAgUG9ydCBJRDMgdGFnIGRlbXV4ZXIgb3ZlciB0byB0aGUgbmV3IEdzdFRhZ0RlbXV4IGluIC1iYXNlCgkgIChub3cgd291bGQgYmUgYSBnb29kIHRpbWUgdG8gdGVzdCByZS1pbXBvcnRpbmcgeW91ciBtdXNpYwoJICBjb2xsZWN0aW9uKS4KCjIwMDctMTAtMDYgMTU6MTM6MDkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvYXBldGFnLzogUG9ydCBBUEUgdGFnIGRlbXV4ZXIgb3ZlciB0byB0aGUgbmV3IEdzdFRhZ0RlbXV4IGluIC1iYXNlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXBldGFnL01ha2VmaWxlLmFtOgoJICAqIGdzdC9hcGV0YWcvZ3N0YXBlZGVtdXguYzoKCSAgKiBnc3QvYXBldGFnL2dzdGFwZWRlbXV4Lmg6CgkgICogZ3N0L2FwZXRhZy9nc3R0YWdkZW11eC5jOgoJICAqIGdzdC9hcGV0YWcvZ3N0dGFnZGVtdXguaDoKCSAgUG9ydCBBUEUgdGFnIGRlbXV4ZXIgb3ZlciB0byB0aGUgbmV3IEdzdFRhZ0RlbXV4IGluIC1iYXNlLgoKMjAwNy0xMC0wNSAxMzoxODoxOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogSW1wcm92ZSBmbHVzaGluZyBiZWhhdmlvdXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX2ZsdXNoKSwKCSAgKGdzdF9ydHNwc3JjX3BlcmZvcm1fc2VlayksIChnc3RfcnRzcHNyY19oYW5kbGVfc3JjX2V2ZW50KSwKCSAgKGdzdF9ydHNwc3JjX2hhbmRsZV9pbnRlcm5hbF9zcmNfcXVlcnkpLAoJICAoZ3N0X3J0c3BzcmNfaGFuZGxlX3NyY19xdWVyeSksIChuZXdfc2Vzc2lvbl9wYWQpLAoJICAoZ3N0X3J0c3BzcmNfc3RyZWFtX2NvbmZpZ3VyZV90Y3ApLAoJICAoZ3N0X3J0c3BzcmNfc3RyZWFtX2NvbmZpZ3VyZV90cmFuc3BvcnQpLAoJICAoZ3N0X3J0c3BzcmNfbG9vcF9zZW5kX2NtZCk6CgkgIEltcHJvdmUgZmx1c2hpbmcgYmVoYXZpb3VyLgoJICBTZXQgc3RhdGUgb2YgdGhlIHVkcCBzb3VyY2VzIHRvIFBBVVNFL1BMQVlJTkcgY29ycmVjdGx5LgoJICBIYW5kbGUgZXZlbnRzIGFuZCBxdWVyaWVzIGZvciBVRFAgYW5kIFRDUCB0cmFuc3BvcnQgbm93LgoKMjAwNy0xMC0wNCAwNzoyOTo0OCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3J0cC86IEFkZCBsb2cgY2F0ZWdvcnkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwZ3NtZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGdzbXBheS5jOgoJICBBZGQgbG9nIGNhdGVnb3J5LgoKMjAwNy0xMC0wNCAwNzoyNDowMiArMDAwMCAgVGltbyBIb3R0aSA8VGltby5Ib3R0aUBzeXNvcGVuZGlnaWEuY29tPgoKCSAgdGVzdHMvY2hlY2svOiBBZGQgdW5pdCB0ZXN0cyBmb3IgcGF5bG9hZGVycy9kZXBheWxvYWRlcnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogVGltbyBIb3R0aSA8VGltby5Ib3R0aUBzeXNvcGVuZGlnaWEuY29tPgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9zaW1wbGUtbGF1bmNoLWxpbmVzLmM6CgkgIEFkZCB1bml0IHRlc3RzIGZvciBwYXlsb2FkZXJzL2RlcGF5bG9hZGVycy4KCjIwMDctMTAtMDIgMTA6NDk6MDMgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9hdmkvZ3N0YXZpbXV4Lio6IEFsc28gc2F2ZSBjb2RlYyBkYXRhIGZvciBhdWRpbyBzdHJlYW1zLiBGaXhlcyAjNDgyNDk1LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJICAqIGdzdC9hdmkvZ3N0YXZpbXV4Lmg6CgkgIEFsc28gc2F2ZSBjb2RlYyBkYXRhIGZvciBhdWRpbyBzdHJlYW1zLiBGaXhlcyAjNDgyNDk1LgoKMjAwNy0xMC0wMiAxMDoyMzowNCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2F2aS9nc3RhdmltdXguYzogRml4ICJJbmRleCBlbnRyeSBoYXMgaW52YWxpZCBzdHJlYW0gbnIgMSIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkgIEZpeCAiSW5kZXggZW50cnkgaGFzIGludmFsaWQgc3RyZWFtIG5yIDEiLgoJICBBZGQgc3VwcG9ydCBmb3IgbXV4aW5nIGFhYyAtIHdvcmsgaW4gcHJvZ3Jlc3MgKHNlZSAjNDgyNDk1KS4KCjIwMDctMTAtMDEgMTY6MzQ6NTYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLio6IFBhcnNlIGJhbmR3aWR0aCBtb2RpZmllcnMsIHRoZXkgYXJlIG5vdCB5ZXQgY29uZmlndXJlZCBpbiB0aGUgc2Vzc2lvbiBtYW5hZ2VyIGJlY2F1c2Ugd2UgZG9uJ3QuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfZ2V0X2JhbmR3aWR0aCksCgkgIChnc3RfcnRzcHNyY19jb2xsZWN0X2JhbmR3aWR0aCksIChnc3RfcnRzcHNyY19jcmVhdGVfc3RyZWFtKSwKCSAgKGdzdF9ydHNwc3JjX21lZGlhX3RvX2NhcHMpLCAoZ3N0X3J0c3BzcmNfbG9vcF9pbnRlcmxlYXZlZCk6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBQYXJzZSBiYW5kd2lkdGggbW9kaWZpZXJzLCB0aGV5IGFyZSBub3QgeWV0IGNvbmZpZ3VyZWQgaW4gdGhlIHNlc3Npb24KCSAgbWFuYWdlciBiZWNhdXNlIHdlIGRvbid0IGhhdmUgYW4gQVBJIGZvciB0aGF0IHlldC4KCjIwMDctMTAtMDEgMTM6NTc6MjggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IFVzZSBzaGlueSBuZXcgZnVuY3Rpb24gaW4gLWJhc2UgdG8gZ2V0IHRoZSBkZWZhdWx0IGNsb2NrLXJhdGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX3BhcnNlX3J0cG1hcCksCgkgIChnc3RfcnRzcHNyY19tZWRpYV90b19jYXBzKSwgKGdzdF9ydHNwc3JjX2xvb3BfaW50ZXJsZWF2ZWQpOgoJICBVc2Ugc2hpbnkgbmV3IGZ1bmN0aW9uIGluIC1iYXNlIHRvIGdldCB0aGUgZGVmYXVsdCBjbG9jay1yYXRlLgoJICBVcGRhdGUgc29tZSBkb2NzLgoKMjAwNy0wOS0yOSAxMjo1MDozNiArMDAwMCAgU8OpYmFzdGllbiBNb3V0dGUgPHNlYmFzdGllbkBtb3V0dGUubmV0PgoKCSAgd2luMzIvTUFOSUZFU1Q6IEFkZCBmaWxlcyB0byB3aW4zMiBtYW5pZmVzdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogd2luMzIvTUFOSUZFU1Q6CgkgIEFkZCBmaWxlcyB0byB3aW4zMiBtYW5pZmVzdC4KCSAgKiB3aW4zMi92czYvbGliZ3N0YXVkaW9meC5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdHF0ZGVtdXguZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RydHAuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RydHNwLmRzcDoKCSAgVXBkYXRlIHByb2plY3QgZmlsZXMuCgoyMDA3LTA5LTI4IDE0OjU2OjE5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy4qOiBJbiBUQ1AgbW9kZSwgb25seSB0aW1lc3RhbXAgdGhlIGZpcnN0IGJ1ZmZlci4gVENQIGlzIG5vdCByZWFsIHRpbWUgYW5kIGl0IGRvZXMgbm90IG1ha2Ugc2Vuc2UgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX2xvb3BfaW50ZXJsZWF2ZWQpLAoJICAoZ3N0X3J0c3BzcmNfcGxheSk6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBJbiBUQ1AgbW9kZSwgb25seSB0aW1lc3RhbXAgdGhlIGZpcnN0IGJ1ZmZlci4gVENQIGlzIG5vdCByZWFsIHRpbWUgYW5kCgkgIGl0IGRvZXMgbm90IG1ha2Ugc2Vuc2UgdG8gdHJ5IHRvIHNrZXcgY29tcGVuc2F0ZSwgYWxzbyBzb21lIHNlcnZlcnMgc2VuZAoJICB0aGUgZmlyc3QgYmF0Y2ggb2YgZGF0YSBpbiBhIGJ1cnN0LgoKMjAwNy0wOS0yNyAxNTowMDozMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiBGaXggc2V0dGluZyB0aGUgZGlzY29udCBmbGFnIG9uIHRoZSBmaXJzdCBidWZmZXIgcHVzaGVkIGRvd25zdHJlYW0gZm9yIGZvcm1hdHMgd2l0aCBwci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgRml4IHNldHRpbmcgdGhlIGRpc2NvbnQgZmxhZyBvbiB0aGUgZmlyc3QgYnVmZmVyCgkgIHB1c2hlZCBkb3duc3RyZWFtIGZvciBmb3JtYXRzIHdpdGggcHJpdmF0ZSBjb2RlYwoJICBkYXRhIHRoYXQgbmVlZHMgdG8gYmUgZGVzZXJpYWxpc2VkIGludG8gYnVmZmVycwoJICAoc3VjaCBhcyB2b3JiaXMgYW5kIEZMQUMgd2hlbiBpbiBhIG1hdHJvc2thIGNvbnRhaW5lcikuCgoyMDA3LTA5LTI3IDExOjEwOjEyICswMDAwICBBbnRvaW5lIFRyZW1ibGF5IDxoZXhhMDBAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC9nc3RydHBtcDR2cGF5Lio6IEZyZWUgdGhlIGNvbmZpZyBzdHJpbmcuIEZpeGVzICM0ODA3MDcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogQW50b2luZSBUcmVtYmxheSA8aGV4YTAwIGF0IGdtYWlsIGRvdCBjb20+CgkgICogZ3N0L3J0cC9nc3RydHBtcDR2cGF5LmM6IChnc3RfcnRwX21wNHZfcGF5X2luaXQpLAoJICAoZ3N0X3J0cF9tcDR2X3BheV9maW5hbGl6ZSksIChnc3RfcnRwX21wNHZfcGF5X2ZsdXNoKSwKCSAgKGdzdF9ydHBfbXA0dl9wYXlfaGFuZGxlX2J1ZmZlcik6CgkgICogZ3N0L3J0cC9nc3RydHBtcDR2cGF5Lmg6CgkgIEZyZWUgdGhlIGNvbmZpZyBzdHJpbmcuIEZpeGVzICM0ODA3MDcuCgkgIENsZWFuIHVwIHRoZSB0aW1lc3RhbXAgY29kZSBhIGxpdHRsZS4KCjIwMDctMDktMjYgMjA6MTI6NTIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLio6IFNldCB0aW1lc3RhbXBzIG9uIFJUUCBidWZmZXJzIGluIGludGVybGVhdmVkIG1vZGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX2NyZWF0ZV9zdHJlYW0pLAoJICAoZ3N0X3J0c3BzcmNfaGFuZGxlX3NyY19xdWVyeSksIChnc3RfcnRzcHNyY19sb29wX2ludGVybGVhdmVkKSwKCSAgKGdzdF9ydHNwc3JjX2xvb3BfdWRwKSwgKGdzdF9ydHNwc3JjX2Nsb3NlKToKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIFNldCB0aW1lc3RhbXBzIG9uIFJUUCBidWZmZXJzIGluIGludGVybGVhdmVkIG1vZGUuCgkgIE1hcmsgZmlyc3QgYnVmZmVycyB3aXRoIGEgRElTQ09OVC4KCSAgUmVtb3ZlIGZsdXNoIGhhY2sgbm93IHRoYXQgc3luYyBmb3IgbGl2ZSBzb3VyY2VzIGhhcyBiZWVuIGZpZ3VyZWQgb3V0LgoKMjAwNy0wOS0yNiAxNDoyODoyMCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC91ZHAvZ3N0dWRwc3JjLmM6IFVwZGF0ZSBkb2N1bWVudGF0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdWRwL2dzdHVkcHNyYy5jOiAoZ3N0X3VkcHNyY19jcmVhdGUpOgoJICBVcGRhdGUgZG9jdW1lbnRhdGlvbi4KCjIwMDctMDktMjYgMTQ6MjY6MzkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9nc3RydHB4cXRkZXBheS4qOiBGYWlsIGlmIHdlIGRvbid0IGtub3cgdGhlIHF1aWNrdGltZSBmb3JtYXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L2dzdHJ0cHhxdGRlcGF5LmM6IChnc3RfcnRwX3hxdF9kZXBheV9wcm9jZXNzKSwKCSAgKGdzdF9ydHBfeHF0X2RlcGF5X2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L3F0ZGVtdXgvZ3N0cnRweHF0ZGVwYXkuaDoKCSAgRmFpbCBpZiB3ZSBkb24ndCBrbm93IHRoZSBxdWlja3RpbWUgZm9ybWF0LgoKMjAwNy0wOS0yNiAxMzoxOToxNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9mbGFjL2dzdGZsYWNlbmMuKjogU2F2ZSB0aGUgZmxvdyByZXR1cm4gZnJvbSB0aGUgbGFzdCBnc3RfcGFkX3B1c2goKSBhbmQgbWFrZSBzdXJlIHdlIHBhc3MgdGhlIHJpZ2h0IGZsb3cgcmV0dXJuIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5oOgoJICBTYXZlIHRoZSBmbG93IHJldHVybiBmcm9tIHRoZSBsYXN0IGdzdF9wYWRfcHVzaCgpIGFuZAoJICBtYWtlIHN1cmUgd2UgcGFzcyB0aGUgcmlnaHQgZmxvdyByZXR1cm4gdmFsdWUgdXBzdHJlYW0KCSAgaW4gdGhlIGNhc2Ugb2YgZmFpbHVyZTsgbWlub3IgY2xlYW4tdXBzLgoKMjAwNy0wOS0yNSAxOTowOTozMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIEFkZCBzdXBwb3J0IGZvciB0aGUgbmV3IEdTVF9UQUdfQ09NUE9TRVIgKCM0NTk4MDkpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvdGFnbGliL2dzdGFwZXYybXV4LmNjOgoJICAqIGV4dC90YWdsaWIvZ3N0aWQzdjJtdXguY2M6CgkgICogZ3N0L2FwZXRhZy9nc3RhcGVkZW11eC5jOgoJICBBZGQgc3VwcG9ydCBmb3IgdGhlIG5ldyBHU1RfVEFHX0NPTVBPU0VSICgjNDU5ODA5KS4KCjIwMDctMDktMjUgMTc6MTg6MzQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvbGF3LzogQ29tcHVsc2l2ZSBjbGVhbi11cHM6IHVzZSBib2lsZXJwbGF0ZSBtYWNyb3MsIGFkZCBkZWJ1ZyBjYXRlZ29yaWVzLCBmaXggdXAgdGhpbmdzIHRvIGNvbmZvcm0gdG8gc3ltYm9sIG5vbWUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2xhdy9hbGF3LWRlY29kZS5jOgoJICAqIGdzdC9sYXcvYWxhdy1kZWNvZGUuaDoKCSAgKiBnc3QvbGF3L2FsYXctZW5jb2RlLmM6CgkgICogZ3N0L2xhdy9hbGF3LWVuY29kZS5oOgoJICAqIGdzdC9sYXcvYWxhdy5jOgoJICAqIGdzdC9sYXcvbXVsYXctY29udmVyc2lvbi5oOgoJICBDb21wdWxzaXZlIGNsZWFuLXVwczogdXNlIGJvaWxlcnBsYXRlIG1hY3JvcywgYWRkIGRlYnVnCgkgIGNhdGVnb3JpZXMsIGZpeCB1cCB0aGluZ3MgdG8gY29uZm9ybSB0byBzeW1ib2wgbm9tZW5rbGF0dXJhLAoJICBldGMuCgoyMDA3LTA5LTI1IDE2OjA1OjI5ICswMDAwICBMYXVyZW50IEdsYXlhbCA8c3BnbGVnbGVAeWFob28uZnI+CgoJICBnc3QvbGF3LzogVXNlIHN0YXRpYyB0YWJsZXMgZm9yIEEtTGF3IGRlY29kaW5nIGFuZCBlbmNvZGluZzsgdGhpcyBtYWtlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQmFzZWQgb24gcGF0Y2ggYnk6IExhdXJlbnQgR2xheWFsICA8c3BnbGVnbGUgeWFob28gZnI+CgkgICogZ3N0L2xhdy9hbGF3LWRlY29kZS5jOgoJICAqIGdzdC9sYXcvYWxhdy1lbmNvZGUuYzoKCSAgVXNlIHN0YXRpYyB0YWJsZXMgZm9yIEEtTGF3IGRlY29kaW5nIGFuZCBlbmNvZGluZzsgdGhpcyBtYWtlcwoJICBBLUxhdyBkZWNvZGluZyBhbmQgZW5jb2RpbmcgbGVzcyBDUFUtaW50ZW5zaXZlLCBidXQgaW5jcmVhc2VzCgkgIHRoZSBiaW5hcnkgc2l6ZSBhIGJpdC4gTGVhdmluZyBvbGQgY29kZSBhcm91bmQgZm9yIG5vdywKCSAgc2VsZWN0YWJsZSBieSBhIGRlZmluZSBpbiB0aGUgY29kZS4gRml4ZXMgIzQzNTQzNS4KCjIwMDctMDktMjUgMDg6NTE6MzYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGNvbmZpZ3VyZS5hYzogVXNlIEFHX0dTVF9BUkdfV0lUSF9QTFVHSU5TLCBBR19HU1RfQVJHX0VOQUJMRV9FWFRFUk5BTCBhbmQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBVc2UgQUdfR1NUX0FSR19XSVRIX1BMVUdJTlMsIEFHX0dTVF9BUkdfRU5BQkxFX0VYVEVSTkFMIGFuZAoJICBBR19HU1RfQVJHX0VOQUJMRV9FWFBFUklNRU5UQUwgaW5zdGVhZCBvZiBkdXBsaWNhdGluZyB0aG9zZSBtYWNyb3MKCSAgaW4gY29uZmlndXJlLmFjLgoKMjAwNy0wOS0yNSAwNTowMzo1OCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBBZGQgZm91cmNjcyBmb3IgTVBFRzIgSERWIHN0cmVhbXMuIEZpeGVzICM0Nzk5NjAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogPGogYXQgYm9vdGxhYiBkb3Qgb3JnPgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfdmlkZW9fY2Fwcyk6CgkgIEFkZCBmb3VyY2NzIGZvciBNUEVHMiBIRFYgc3RyZWFtcy4gRml4ZXMgIzQ3OTk2MC4KCjIwMDctMDktMjQgMTA6NTM6MzYgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIE1hc3NpdmUgbGVhayBmaXhpbmcsIHBsdXMgY29kZSBjbGVhbnVwcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOgoJICAqIGV4dC94MjY0L2dzdHgyNjRlbmMuYzoKCSAgKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJICAqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1Lmg6CgkgICogZ3N0L2Zlc3RpdmFsL2dzdGZlc3RpdmFsLmM6CgkgICogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFja2V0aXplci5jOgoJICAqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYXJzZS5jOgoJICAqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOgoJICAqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc3JjLmM6CgkgICogZ3N0L251dmRlbXV4L2dzdG51dmRlbXV4LmM6CgkgICogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvc3JjLmM6CgkgICogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvc3JjLmM6CgkgICogc3lzL3ZjZC92Y2RzcmMuYzoKCSAgTWFzc2l2ZSBsZWFrIGZpeGluZywgcGx1cyBjb2RlIGNsZWFudXBzLgoKMjAwNy0wOS0yMyAxODo1NzoxNCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgc3lzL29zcy9nc3Rvc3NoZWxwZXIuYzogVXNlIEdTVF9XQVJOSU5HIGluc3RlYWQgb2YgYSBnX2NyaXRpY2FsLiBUaGlzIHNpdHVhdGlvbiBpcyBub3QgY2F1c2VkIGJ5IHRoZSBhcHBsaWNhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL29zcy9nc3Rvc3NoZWxwZXIuYzoKCSAgVXNlIEdTVF9XQVJOSU5HIGluc3RlYWQgb2YgYSBnX2NyaXRpY2FsLiBUaGlzIHNpdHVhdGlvbiBpcyBub3QgY2F1c2VkCgkgIGJ5IHRoZSBhcHBsaWNhdGlvbi4KCjIwMDctMDktMjIgMTg6MTU6MTIgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgcG8vOiBVcGRhdGVkIHRyYW5zbGF0aW9ucy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogcG8vTElOR1VBUzoKCSAgKiBwby9ubC5wbzoKCSAgVXBkYXRlZCB0cmFuc2xhdGlvbnMuCgoyMDA3LTA5LTIyIDE4OjEzOjU4ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIHBvL2V1LnBvOiBBZGRlZCBCYXNxdWUgdHJhbnNsYXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB0cmFuc2xhdGVkIGJ5OiBNaWtlbCBPbGFzYWdhc3RpIDxoZXlfbmVrZW5AbXVuZHVyYXQubmV0PgoJICAqIHBvL2V1LnBvOgoJICBBZGRlZCBCYXNxdWUgdHJhbnNsYXRpb24uCgoyMDA3LTA5LTIyIDE4OjEzOjEwICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIHBvLzogQWRkZWQgQ2hpbmVzZSAodHJhZGl0aW9uYWwgYW5kIEhvbmcgS29uZykgdHJhbnNsYXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB0cmFuc2xhdGVkIGJ5OiBBYmVsIENoZXVuZyA8YWJlbGNoZXVuZ0BnbWFpbC5jb20+CgkgICogcG8vemhfSEsucG86CgkgICogcG8vemhfVFcucG86CgkgIEFkZGVkIENoaW5lc2UgKHRyYWRpdGlvbmFsIGFuZCBIb25nIEtvbmcpIHRyYW5zbGF0aW9uLgoKMjAwNy0wOS0yMiAxODoxMDo0MiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBwby9wbC5wbzogQWRkZWQgUG9saXNoIHRyYW5zbGF0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgdHJhbnNsYXRlZCBieTogSmFrdWIgQm9ndXN6IDxxYm9vc2hAcGxkLWxpbnV4Lm9yZz4KCSAgKiBwby9wbC5wbzoKCSAgQWRkZWQgUG9saXNoIHRyYW5zbGF0aW9uLgoKMjAwNy0wOS0yMiAxODowOTo1OSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBwby9maS5wbzogQWRkZWQgRmlubmlzaCB0cmFuc2xhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHRyYW5zbGF0ZWQgYnk6IElsa2thIFR1b2hlbGEgPGhpbGVAaWtpLmZpPgoJICAqIHBvL2ZpLnBvOgoJICBBZGRlZCBGaW5uaXNoIHRyYW5zbGF0aW9uLgoKMjAwNy0wOS0yMiAxODowOTowOSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBwby9lcy5wbzogQWRkZWQgU3BhbmlzaCB0cmFuc2xhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHRyYW5zbGF0ZWQgYnk6IEpvcmdlIEdvbnrDoWxleiBHb256w6FsZXogPGFsb3JpZWxAZ21haWwuY29tPgoJICAqIHBvL2VzLnBvOgoJICBBZGRlZCBTcGFuaXNoIHRyYW5zbGF0aW9uLgoKMjAwNy0wOS0yMiAxODowODoxMyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBwby9kYS5wbzogQWRkZWQgRGFuaXNoIHRyYW5zbGF0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgdHJhbnNsYXRlZCBieTogTW9nZW5zIEphZWdlciA8bW9nZW5zQGphZWdlci50Zj4KCSAgKiBwby9kYS5wbzoKCSAgQWRkZWQgRGFuaXNoIHRyYW5zbGF0aW9uLgoKMjAwNy0wOS0yMiAxODowNjo1NSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBwby96aF9DTi5wbzogQWRkZWQgQ2hpbmVzZSAoc2ltcGxpZmllZCkgdHJhbnNsYXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB0cmFuc2xhdGVkIGJ5OiBGdW5kYSBXYW5nIDxmdW5kYXdhbmdAbGludXgubmV0LmNuPgoJICAqIHBvL3poX0NOLnBvOgoJICBBZGRlZCBDaGluZXNlIChzaW1wbGlmaWVkKSB0cmFuc2xhdGlvbi4KCjIwMDctMDktMjIgMTg6MDU6MzcgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgcG8vYmcucG86IEFkZGVkIEJ1bGdhcmlhbiB0cmFuc2xhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHRyYW5zbGF0ZWQgYnk6IEFsZXhhbmRlciBTaG9wb3YgPGFzaEBjb250YWN0LmJnPgoJICAqIHBvL2JnLnBvOgoJICBBZGRlZCBCdWxnYXJpYW4gdHJhbnNsYXRpb24uCgoyMDA3LTA5LTIyIDA4OjEyOjU3ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGNvbW1vbjoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuaDoKCSAgZml4IGhlYWRlciBhbmQgY29tbWVudHMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGZpeCBoZWFkZXIgYW5kIGNvbW1lbnRzCgoyMDA3LTA5LTIxIDExOjM0OjM0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5jOiBTZXQgb3V0Z29pbmcgcGFja2V0IGR1cmF0aW9uIGJlY2F1c2Ugd2UgY2FuLiBGaXhlcyAjNDc4MjQ0IHNvbWUgbW9yZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5jOiAoZ3N0X3J0cF9hbXJfZGVwYXlfcHJvY2Vzcyk6CgkgIFNldCBvdXRnb2luZyBwYWNrZXQgZHVyYXRpb24gYmVjYXVzZSB3ZSBjYW4uIEZpeGVzICM0NzgyNDQgc29tZSBtb3JlLgoKMjAwNy0wOS0yMCAxMzozNTozNCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZXh0L2NhaXJvL2dzdHRleHRvdmVybGF5LmM6IEFkZCBpbmZvIGFib3V0IHN0YXRpYyBsZWFrLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvY2Fpcm8vZ3N0dGV4dG92ZXJsYXkuYzoKCSAgQWRkIGluZm8gYWJvdXQgc3RhdGljIGxlYWsuCgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZ2VuZXJpYy9zdGF0ZXMuYzoKCSAgSW1wcm92ZWQgc3RhdGUgY2hhbmdlIHVuaXQgdGVzdC4KCjIwMDctMDktMTkgMTg6MTk6NDkgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIElnbm9yZSByZWdpc3RyaWVzIGluIGFueSBmb3JtYXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy8uY3ZzaWdub3JlOgoJICAqIHRlc3RzL2NoZWNrLy5jdnNpZ25vcmU6CgkgIElnbm9yZSByZWdpc3RyaWVzIGluIGFueSBmb3JtYXQuCgoyMDA3LTA5LTE5IDE2OjI0OjA5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC9nc3RydHBMMTZwYXkuYzogUmVtb3ZlZCBzb21lIHVudXNlZCBjb2RlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cEwxNnBheS5jOiAoZ3N0X3J0cF9MMTZfcGF5X2hhbmRsZV9idWZmZXIpOgoJICBSZW1vdmVkIHNvbWUgdW51c2VkIGNvZGUuCgkgICogZ3N0L3J0cC9nc3RydHBhbXJwYXkuYzogKGdzdF9ydHBfYW1yX3BheV9oYW5kbGVfYnVmZmVyKToKCSAgKiBnc3QvcnRwL2dzdHJ0cGdzbXBheS5jOiAoZ3N0X3J0cF9nc21fcGF5X2hhbmRsZV9idWZmZXIpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXAydHBheS5jOiAoZ3N0X3J0cF9tcDJ0X3BheV9oYW5kbGVfYnVmZmVyKToKCSAgKiBnc3QvcnRwL2dzdHJ0cHNwZWV4cGF5LmM6IChnc3RfcnRwX3NwZWV4X3BheV9oYW5kbGVfYnVmZmVyKToKCSAgKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYXBheS5jOiAoZ3N0X3J0cF90aGVvcmFfcGF5X2luaXRfcGFja2V0KSwKCSAgKGdzdF9ydHBfdGhlb3JhX3BheV9mbHVzaF9wYWNrZXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzcGF5LmM6IChnc3RfcnRwX3ZvcmJpc19wYXlfZmx1c2hfcGFja2V0KToKCSAgVHJ5IHRvIHByZXNlcnZlIHRoZSBpbmNvbW1pbmcgYnVmZmVyIGR1cmF0aW9uIG9uIHRoZSBvdXRnb2luZwoJICBwYWNrZXRzLiBGaXhlcyAjNDc4MjQ0LgoKMjAwNy0wOS0xOSAxMDoyMjo0MCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC90YWdsaWIvOiBXb3JrIGFyb3VuZCBjb21waWxlciB3YXJuaW5ncyB3aXRoIGcrKy00LjIgd2hlbiBhc3NpZ25pbmcgYSBzdHJpbmcgY29uc3RhbnQgdG8gYSBnY2hhciAqIChwYXJ0aWFsbHkgZml4ZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvdGFnbGliL2dzdGFwZXYybXV4LmNjOgoJICAqIGV4dC90YWdsaWIvZ3N0aWQzdjJtdXguY2M6CgkgIFdvcmsgYXJvdW5kIGNvbXBpbGVyIHdhcm5pbmdzIHdpdGggZysrLTQuMiB3aGVuIGFzc2lnbmluZyBhCgkgIHN0cmluZyBjb25zdGFudCB0byBhIGdjaGFyICogKHBhcnRpYWxseSBmaXhlcyAjNDc4MDkyKS4KCjIwMDctMDktMTggMTY6NDQ6NDYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBjb25maWd1cmUuYWM6IFdlIHJlcXVpcmUgY29yZSBDVlMgbm93IGZvciBnc3RfYmFzZV9zcmNfc2V0X2RvX3RpbWVzdGFtcCgpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIFdlIHJlcXVpcmUgY29yZSBDVlMgbm93IGZvciBnc3RfYmFzZV9zcmNfc2V0X2RvX3RpbWVzdGFtcCgpLgoKMjAwNy0wOS0xOCAxMzo1NTowNiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3NwZWN0cnVtLzogSGFuZGxpbmcgd2luZG93IHJlc2l6ZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWN0cnVtL2RlbW8tYXVkaW90ZXN0LmM6CgkgICogZ3N0L3NwZWN0cnVtL2RlbW8tb3Nzc3JjLmM6CgkgIEhhbmRsaW5nIHdpbmRvdyByZXNpemUuCgoyMDA3LTA5LTE4IDExOjQ1OjA2ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBDaGFuZ2VMb2c6IEFkZCBtaXNzaW5nIG5ld2xpbmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIENoYW5nZUxvZzoKCSAgQWRkIG1pc3NpbmcgbmV3bGluZS4KCSAgKiBnc3QvbGlicmZiL3JmYmRlY29kZXIuYzoKCSAgRml4IHRoZSBidWlsZCAobWlzc2luZyBzdGRsaWIuaCkuCgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmg6CgkgIFVzZSBiYXNldHJhbnNmb3JtIHNlZ21lbnQgc28gdGhhdCBpdCBpcyBjb3JyZWN0bHkgbWFuYWdlZCBvbiBmbHVzaGVzCgkgIGFuZCBzdGFydC9zdG9wLiBSZXBvcnQgbWVzc2FnZSB0aW1lc3RhbXAgYXMgc3RyZWFtIHRpbWUsIHdoaWNoIGlzIHdoYXQKCSAgYW4gYXBwbGljYXRpb24gY2FuIHVuZGVyc3RhbmQuIChZZXMgdGhlc2UgYXJlIGFkYXB0ZWQgZnJvbSB3aW0gcmVjZW50CgkgIGxldmVsIGVsZW1lbnQgY2hhbmdlcykKCjIwMDctMDktMTcgMTc6MzU6MTMgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0LzogRml4IGNvbXBpbGVyIHdhcm5pbmdzIHNob3duIHdpdGggRm9ydGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvZHluYW1pYy5jOiAoZ3N0X2F1ZGlvX2R5bmFtaWNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfY3JlYXRlX3N0cmVhbSksCgkgIChuZXdfc2Vzc2lvbl9wYWQpLCAocmVxdWVzdF9wdF9tYXApLCAoZ3N0X3J0c3BzcmNfZG9fc3RyZWFtX2VvcyksCgkgIChnc3RfcnRzcHNyY19sb29wX2ludGVybGVhdmVkKSwgKGdzdF9ydHNwc3JjX3BhcnNlX3J0cGluZm8pLAoJICAoZ3N0X3J0c3BzcmNfaGFuZGxlX21lc3NhZ2UpOgoJICBGaXggY29tcGlsZXIgd2FybmluZ3Mgc2hvd24gd2l0aCBGb3J0ZS4KCjIwMDctMDktMTcgMDI6MDU6MTQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IEdpdmUgbWVhbmluZ2Z1bGwgZXJyb3Igd2hlbiBhbGwgc3RyZWFtcyBmYWlsZWQgdG8gY29uZmlndXJlIGZvciBzb21lIHJlYXNvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfc2V0dXBfc3RyZWFtcyksCgkgIChnc3RfcnRzcHNyY19kdXBfcHJpbnRmKToKCSAgR2l2ZSBtZWFuaW5nZnVsbCBlcnJvciB3aGVuIGFsbCBzdHJlYW1zIGZhaWxlZCB0byBjb25maWd1cmUgZm9yIHNvbWUKCSAgcmVhc29uLgoKMjAwNy0wOS0xNiAxOToxMzo1OCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvUkVBRE1FOiBVcGRhdGUgUkVBRE1FIHdpdGggdGhlIGRlc2lnbiBmb3Igc3luY2hyb25pc2F0aW9uIHJ1bGVzIG9mIFJUUCBvbiBzZW5kZXIgYW5kIHJlY2VpdmVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL1JFQURNRToKCSAgVXBkYXRlIFJFQURNRSB3aXRoIHRoZSBkZXNpZ24gZm9yIHN5bmNocm9uaXNhdGlvbiBydWxlcyBvZiBSVFAgb24KCSAgc2VuZGVyIGFuZCByZWNlaXZlci4KCjIwMDctMDktMTQgMDk6NDA6NDkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiBEb24ndCBwdXNoIEVPUyBmcm9tIHRoZSBjaGFpbiBmdW5jdGlvbiwgdGhlIGVsZW1lbnQgZHJpdmluZyB0aGUgcGlwZWxpbmUgaXMgcmVzcG9uc2libGUgZi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogKGdzdF93YXZwYXJzZV9sb29wKSwKCSAgKGdzdF93YXZwYXJzZV9jaGFpbik6CgkgIERvbid0IHB1c2ggRU9TIGZyb20gdGhlIGNoYWluIGZ1bmN0aW9uLCB0aGUgZWxlbWVudAoJICBkcml2aW5nIHRoZSBwaXBlbGluZSBpcyByZXNwb25zaWJsZSBmb3IgdGhpcy4gVGhlIGJ1ZwoJICB0aGlzIHdhcyBtZWFudCB0byBmaXggc2VlbXMgdG8gYmUgcXVldWUgbm90IGZvcndhcmRpbmcKCSAgRU9TIGluIGFsbCBjYXNlcyAoc2VlICM0NzY1MTQpLgoKMjAwNy0wOS0xMyAxNzozMToxNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9sZXZlbC9nc3RsZXZlbC4qOiBVc2UgYmFzZXRyYW5zZm9ybSBzZWdtZW50IHNvIHRoYXQgaXQgaXMgY29ycmVjdGx5IG1hbmFnZWQgb24gZmx1c2hlcyBhbmQgc3RhcnQvc3RvcC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2xldmVsL2dzdGxldmVsLmM6IChnc3RfbGV2ZWxfY2xhc3NfaW5pdCksIChnc3RfbGV2ZWxfc3RhcnQpLAoJICAoZ3N0X2xldmVsX3RyYW5zZm9ybV9pcCk6CgkgICogZ3N0L2xldmVsL2dzdGxldmVsLmg6CgkgIFVzZSBiYXNldHJhbnNmb3JtIHNlZ21lbnQgc28gdGhhdCBpdCBpcyBjb3JyZWN0bHkgbWFuYWdlZCBvbiBmbHVzaGVzIGFuZAoJICBzdGFydC9zdG9wLgoJICBSZXBvcnQgbWVzc2FnZSB0aW1lc3RhbXAgYXMgc3RyZWFtIHRpbWUsIHdoaWNoIGlzIHdoYXQgYW4gYXBwbGljYXRpb24KCSAgY2FuIHVuZGVyc3RhbmQuCgoyMDA3LTA5LTEzIDE1OjA0OjE1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBVcGRhdGUgbXkgbWFpbCBhZGRyZXNzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvdGFnbGliL2dzdGFwZXYybXV4LmNjOgoJICAqIGV4dC90YWdsaWIvZ3N0YXBldjJtdXguaDoKCSAgKiBleHQvdGFnbGliL2dzdHRhZ2xpYm11eC5jOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FwZXYybXV4LmM6CgkgIFVwZGF0ZSBteSBtYWlsIGFkZHJlc3MuCgoyMDA3LTA5LTEzIDEyOjM3OjU2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogQWRkIEVPUyBsb2dpYyBmb3IgdGhlIHB1c2gtYmFzZWQgbW9kZSB0b28uIEZpeGVzICM0NzY1MTQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiAoZ3N0X3dhdnBhcnNlX3BlcmZvcm1fZW9zKSwKCSAgKGdzdF93YXZwYXJzZV9sb29wKSwgKGdzdF93YXZwYXJzZV9jaGFpbik6CgkgIEFkZCBFT1MgbG9naWMgZm9yIHRoZSBwdXNoLWJhc2VkIG1vZGUgdG9vLiBGaXhlcyAjNDc2NTE0LgoKMjAwNy0wOS0xMiAyMjowMTo1OSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9sYXcvOiBGaXggbGF3IGVuY29kZXIgdGltZXN0YW1wcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2xhdy9hbGF3LWVuY29kZS5jOiAoZ3N0X2FsYXdlbmNfaW5pdCksIChnc3RfYWxhd2VuY19jaGFpbik6CgkgICogZ3N0L2xhdy9hbGF3LWVuY29kZS5oOgoJICAqIGdzdC9sYXcvbXVsYXctZW5jb2RlLmM6IChnc3RfbXVsYXdlbmNfaW5pdCksCgkgIChnc3RfbXVsYXdlbmNfY2hhaW4pOgoJICAqIGdzdC9sYXcvbXVsYXctZW5jb2RlLmg6CgkgIEZpeCBsYXcgZW5jb2RlciB0aW1lc3RhbXBzLgoKMjAwNy0wOS0xMiAwOToxMzozOSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZXh0L2djb25mL2dzdGdjb25mYXVkaW9zaW5rLmM6IEZpeCB3YXJuaW5nIHdoZW4gYnVpbGRpbmcgd2l0aG91dCBkZWJ1Zy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2djb25mL2dzdGdjb25mYXVkaW9zaW5rLmM6CgkgIEZpeCB3YXJuaW5nIHdoZW4gYnVpbGRpbmcgd2l0aG91dCBkZWJ1Zy4KCSAgKiBzeXMvb3NzL2dzdG9zc21peGVydHJhY2suYzoKCSAgVXNlIGNvbnN0IGxpa2UgaW4gYWxzYW1peGVydHJhY2suYyAoZml4ZXMgd2FybmluZ3MpLgoKMjAwNy0wOS0xMiAwODozODoyMSArMDAwMCAgUGV0ZXIgS2plbGxlcnN0ZWR0IDxwa2pAYXhpcy5jb20+CgoJICBnc3QvOiBQcmludGYgZm9ybWF0IGZpeGVzICgjNDc2MTI4KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBQZXRlciBLamVsbGVyc3RlZHQgIDxwa2ogYXQgYXhpcyBjb20+CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzaW5rLmM6CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzoKCSAgKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYzoKCSAgKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5jOgoJICBQcmludGYgZm9ybWF0IGZpeGVzICgjNDc2MTI4KS4KCjIwMDctMDktMTEgMTU6Mzc6NTUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6IEZpeCBmcmFtZXJhdGUgZGV0ZWN0aW9uIGNvZGUgc29tZSBtb3JlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkgIChnc3RfdjRsMnNyY19wcm9iZV9jYXBzX2Zvcl9mb3JtYXRfYW5kX3NpemUpOgoJICBGaXggZnJhbWVyYXRlIGRldGVjdGlvbiBjb2RlIHNvbWUgbW9yZS4KCSAgSGFuZGxlIHRoZSBjYXNlIHdoZXJlIHRoZXJlIGlzIGEgd2VpcmQgc3RlcCBpbiB0aGUgc3RlcHdpc2UgZnJhbWVyYXRlcy4KCSAgRG9uJ3Qgb3ZlcndyaXRlIHRoZSBtaW4gaW50ZXJ2YWwgd2l0aCB0aGUgZnJhbWVyYXRlLCB1c2UgYSB0ZW1wIHZhcmlhYmxlCgkgIGluc3RlYWQuCgkgIFVzZSBtYXggaW4gdGhlIENvbnRpbnVvdXMgZnJhbWVyYXRlIGludGVydmFscyBpbnN0ZWFkIG9mIHN0ZXAsIHdoaWNoIGlzCgkgIDEgYWNjb3JkaW5nIHRvIHRoZSBkb2NzLiBGaXhlcyAjNDc1NDI0LgoKMjAwNy0wOS0xMCAxOTo1MzoyOCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC91ZHAvZ3N0dWRwc3JjLmM6IE1ha2UgdWRwc3JjIHRpbWVzdGFtcCBvdXRnb2luZyBidWZmZXJzIGJhc2VkIG9uIHdoZW4gdGhleSB3ZXJlIHJlY2VpdmVkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdWRwL2dzdHVkcHNyYy5jOiAoZ3N0X3VkcHNyY19pbml0KSwgKGdzdF91ZHBzcmNfY3JlYXRlKToKCSAgTWFrZSB1ZHBzcmMgdGltZXN0YW1wIG91dGdvaW5nIGJ1ZmZlcnMgYmFzZWQgb24gd2hlbiB0aGV5IHdlcmUgcmVjZWl2ZWQuCgkgIEFsc28gbWFrZSBpdCBvdXRwdXQgYSBzZWdtZW50IGluIHRpbWUuCgoyMDA3LTA5LTEwIDA2OjQ5OjMyICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IFBsdWcgYSBsaXR0bGUgbGVhay4gTGl0dGxlIGNvZGUgY2xlYW51cHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgUGx1ZyBhIGxpdHRsZSBsZWFrLiBMaXR0bGUgY29kZSBjbGVhbnVwcy4KCjIwMDctMDktMDkgMTg6MDg6MzYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBjb25maWd1cmUuYWM6IFVzZSBBQ19UUllfQ09NUElMRSBpbnN0ZWFkIG9mIEFDX1RSWV9SVU4gdG8gY2hlY2sgZm9yIG9sZCBmbGFjIHZlcnNpb25zLCAncyBnb29kIGZvciBjcm9zcy1jb21waWxhdGlvbiAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBVc2UgQUNfVFJZX0NPTVBJTEUgaW5zdGVhZCBvZiBBQ19UUllfUlVOIHRvIGNoZWNrIGZvciBvbGQKCSAgZmxhYyB2ZXJzaW9ucywgJ3MgZ29vZCBmb3IgY3Jvc3MtY29tcGlsYXRpb24ga2FybWEuCgoyMDA3LTA5LTA3IDE4OjA0OjQxICswMDAwICBIYWFrb24gU3BvcnNoZWltIDxoYWFrb24uc3BvcnNoZWltQHRhbmRiZXJnLmNvbT4KCgkgIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5jOiBGaXggdXAgaGVhZGVyIHN0cnVjdHVyZSBzbyB0aGF0IGNvbXBpbGVycyBkb24ndCBhZGQgcGFkZGluZyBiZXR3ZWVuIHRoZSBzdHJ1Y3R1cmUgZmllbGRzLCBzaS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEhhYWtvbiBTcG9yc2hlaW0gIDxoYWFrb24uc3BvcnNoZWltIGF0IHRhbmRiZXJnIGNvbT4KCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuYzoKCSAgRml4IHVwIGhlYWRlciBzdHJ1Y3R1cmUgc28gdGhhdCBjb21waWxlcnMgZG9uJ3QgYWRkIHBhZGRpbmcKCSAgYmV0d2VlbiB0aGUgc3RydWN0dXJlIGZpZWxkcywgc2luY2UgdGhhdCB3b3VsZCBsZWFkIHRvIHVzCgkgIHNlbmRpbmcgUlRQIHBhY2tldHMgd2l0aCBicm9rZW4gaGVhZGVycyAoYXMgaXMgY3VycmVudGx5IHRoZQoJICBjYXNlIHdoZW4gY29tcGlsaW5nIHdpdGggTVNWQykuIEFsc28gc2VlIHNpbWlsYXIgZml4ZXMgaW4KCSAgbGliZ3N0cnRwIGluIGdzdC1wbHVnaW5zLWJhc2UuICgjNDc0NjE2OyAjNDcxMTk0KQoKMjAwNy0wOS0wNyAxNjowNDoxNCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzogRG9uJ3Qgb3ZlcndyaXRlIG91ciBHVmFsdWUgd2l0aCAwIGJ1dCBpbnN0ZWFkIHVzZSB0aGUgcHJldmlvdXNseSBjb21wdXRlZCB2YWx1ZS4gRml4ZXMgIzQ3MS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkgIChnc3RfdjRsMnNyY19wcm9iZV9jYXBzX2Zvcl9mb3JtYXRfYW5kX3NpemUpOgoJICBEb24ndCBvdmVyd3JpdGUgb3VyIEdWYWx1ZSB3aXRoIDAgYnV0IGluc3RlYWQgdXNlIHRoZSBwcmV2aW91c2x5CgkgIGNvbXB1dGVkIHZhbHVlLiBGaXhlcyAjNDcxODIzIHNvbWUgbW9yZS4KCjIwMDctMDktMDcgMTU6NTQ6MzggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiBVc2UgdGhlIGNvcnJlY3QgcGFyYW1ldGVyIG9yZGVyIGZvciB0aGUgbWVtc2V0IGNhbGxzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogKGdzdF9zcGVjdHJ1bV9zdGFydCksCgkgIChnc3Rfc3BlY3RydW1fdHJhbnNmb3JtX2lwKToKCSAgVXNlIHRoZSBjb3JyZWN0IHBhcmFtZXRlciBvcmRlciBmb3IgdGhlIG1lbXNldCBjYWxscy4KCSAgVGhhbmtzIHRvIENocmlzdGlhbiBTY2hhbGxlciBmb3Igbm90aWNpbmcuCgoyMDA3LTA5LTA2IDEyOjAwOjM2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6IE5vIHRhYnMgaW4gdGhpcyBmaWxlIHBsZWFzZSwgb3IgZ3RrLWRvYyB3aWxsIGVuZCB1cCBkb2N1bWVudGluZyByYXRoLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJICBObyB0YWJzIGluIHRoaXMgZmlsZSBwbGVhc2UsIG9yIGd0ay1kb2Mgd2lsbCBlbmQgdXAgZG9jdW1lbnRpbmcKCSAgcmF0aGVyIGFic3VyZCBjbGFzcyBoaWVyYXJjaGllcy4KCjIwMDctMDktMDYgMTA6NDg6NTYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvZ2NvbmYvZ3N0c3dpdGNoc2luay5jOiBJZiB0aGUgbmV3IGtpZCBlbGVtZW50IGZhaWxzIHRvIGNoYW5nZSBzdGF0ZSBmb3Igc29tZSByZWFzb24gZm9yd2FyZCB0aGUgZXJyb3IgbWVzc2FnZSBpdCAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2djb25mL2dzdHN3aXRjaHNpbmsuYzoKCSAgSWYgdGhlIG5ldyBraWQgZWxlbWVudCBmYWlscyB0byBjaGFuZ2Ugc3RhdGUgZm9yIHNvbWUgcmVhc29uCgkgIChlLmcuIGVzZHNpbmsgbm90IGJlaW5nIGFibGUgdG8gY29ubmVjdCB0byB0aGUgc291bmQgc2VydmVyKSwKCSAgZm9yd2FyZCB0aGUgZXJyb3IgbWVzc2FnZSBpdCBwb3N0ZWQgb24gdGhlIGJ1cyBpbnN0ZWFkIG9mIGp1c3QKCSAgcG9zdGluZyBhIGdlbmVyaWMgJ0ludGVybmFsIHN0YXRlIGNoYW5nZSBlcnJvcjogcGxlYXNlIGZpbGUgYQoJICBidWcnIGVycm9yIG1lc3NhZ2UuIEZpeGVzICM0NzEzNjQuCgoyMDA3LTA5LTA2IDA3OjIxOjIyICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBQb3J0IEdzdFNwZWN0cnVtIHRvIEdzdEF1ZGlvRmlsdGVyIGFuZCBsaWJnc3RmZnQsIGFkZCBzdXBwb3J0IGZvciBpbnQzMiwgZmxvYXQgYW5kIGRvdWJsZSwgdXNlIGZsb2F0cyBmb3IgdGhlIG1lc3NhZ2UuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9zcGVjdHJ1bS9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc3BlY3RydW0vZGVtby1hdWRpb3Rlc3QuYzogKGRyYXdfc3BlY3RydW0pLAoJICAobWVzc2FnZV9oYW5kbGVyKSwgKG1haW4pOgoJICAqIGdzdC9zcGVjdHJ1bS9kZW1vLW9zc3NyYy5jOiAoZHJhd19zcGVjdHJ1bSksIChtZXNzYWdlX2hhbmRsZXIpOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiAoZ3N0X3NwZWN0cnVtX2Jhc2VfaW5pdCksCgkgIChnc3Rfc3BlY3RydW1fY2xhc3NfaW5pdCksIChnc3Rfc3BlY3RydW1faW5pdCksCgkgIChnc3Rfc3BlY3RydW1fZGlzcG9zZSksIChnc3Rfc3BlY3RydW1fc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9zcGVjdHJ1bV9nZXRfcHJvcGVydHkpLCAoZ3N0X3NwZWN0cnVtX3N0YXJ0KSwKCSAgKGdzdF9zcGVjdHJ1bV9zZXR1cCksIChnc3Rfc3BlY3RydW1fbWVzc2FnZV9uZXcpLAoJICAoZ3N0X3NwZWN0cnVtX3RyYW5zZm9ybV9pcCk6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmg6CgkgIFBvcnQgR3N0U3BlY3RydW0gdG8gR3N0QXVkaW9GaWx0ZXIgYW5kIGxpYmdzdGZmdCwgYWRkIHN1cHBvcnQKCSAgZm9yIGludDMyLCBmbG9hdCBhbmQgZG91YmxlLCB1c2UgZmxvYXRzIGZvciB0aGUgbWVzc2FnZSBjb250ZW50cywKCSAgYXZlcmFnZSBhbGwgRkZUcyBkb25lIGluIG9uZSBpbnRlcnZhbCBmb3IgYmV0dGVyIHJlc3VsdHMsIHVzZQoJICBhIGJldHRlciB3aW5kb3dpbmcgZnVuY3Rpb24sIGFsbG93IHBvc3RpbmcgdGhlIHBoYXNlIGluIHRoZSBtZXNzYWdlCgkgIGFuZCBhY3R1YWxseSBkbyBhbiBGRlQgd2l0aCB0aGUgcmVxdWVzdGVkIG51bWJlciBvZiBiYW5kcyBpbnN0ZWFkCgkgIG9mIGludGVycG9sYXRpbmcuCgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvc3BlY3RydW0uYzogKEdTVF9TVEFSVF9URVNUKSwKCSAgKHNwZWN0cnVtX3N1aXRlKToKCSAgSW1wcm92ZSB0aGUgdW5pdHMgdGVzdHMgYnkgY2hlY2tpbmcgZm9yIGEgMTEwMjVIeiBzaW5lIHdhdmUKCSAgYW5kIGFkZCB1bml0IHRlc3RzIGZvciBhbGwgNCBzdXBwb3J0ZWQgc2FtcGxlIHR5cGVzLgoKMjAwNy0wOS0wNSAxNjoyMzoyMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9xdGRlbXV4LzogRG9uJ3QgYXNzdW1lIHRhZ3MgYXJlIGVuY29kZWQgYXMgVVRGLTggKCM0NzM2NzApLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIERvbid0IGFzc3VtZSB0YWdzIGFyZSBlbmNvZGVkIGFzIFVURi04ICgjNDczNjcwKS4KCjIwMDctMDktMDUgMTQ6NDM6MTYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBzeXMvdjRsMi86IEltcGxlbWVudCBMQVRFTkNZIHF1ZXJpZXMgaW4gdGhlIGNydWRlc3Qgd2F5IHBvc3NpYmxlIHNvIEkgZG9uJ3QgaGF2ZSB0byB1c2Ugc3luYz1mYWxzZSBhbnkgbG9uZ2VyIHdoZW4gdGUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuaDoKCSAgKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkgIEltcGxlbWVudCBMQVRFTkNZIHF1ZXJpZXMgaW4gdGhlIGNydWRlc3Qgd2F5IHBvc3NpYmxlIHNvIEkgZG9uJ3QKCSAgaGF2ZSB0byB1c2Ugc3luYz1mYWxzZSBhbnkgbG9uZ2VyIHdoZW4gdGVzdGluZyB3aXRoIHZpZGVvc2lua3MuCgoyMDA3LTA5LTA1IDA5OjI1OjIzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgY29uZmlndXJlLmFjOiBGaXggYnVpbGQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgRml4IGJ1aWxkLgoKMjAwNy0wOS0wNSAwMDoxMjo0NiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzogQWRkIHNvbWUgbW9yZSBkZWJ1Z2dpbmcgaW4gdGhlIGZyYW1lcmF0ZSBmdW5jdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJICAoZ3N0X3Y0bDJzcmNfcHJvYmVfY2Fwc19mb3JfZm9ybWF0X2FuZF9zaXplKToKCSAgQWRkIHNvbWUgbW9yZSBkZWJ1Z2dpbmcgaW4gdGhlIGZyYW1lcmF0ZSBmdW5jdGlvbi4KCSAgSXRlcmF0ZSBzdGVwd2lzZSBmcmFtZXJhdGUgdXAgdG8gYW5kIF9pbmNsdWRpbmdfIHRoZSBtYXggYW5kIGlmIG5vdGhpbmcKCSAgd2FzIGFkZGVkIHRvIHRoZSBsaXN0LCBhZGQgYSBkdW1teSAwLzEgdG8gMTAwLzEgZnJhbWVyYXRlIHNvIHRoYXQgd2UKCSAgZG9uJ3QgZW5kIHVwIHdpdGggYW4gZW1wdHkgbGlzdC4KCjIwMDctMDktMDQgMjI6NDI6MjEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOiBBZGQgcHJvcGVydHkgZG8gY29uZmlndXJlIGRlc3RpbmF0aW9uIGFkZHJlc3MvcG9ydCBwYWlycwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOiAoZ3N0X211bHRpdWRwc2lua19jbGFzc19pbml0KSwKCSAgKGdzdF9tdWx0aXVkcHNpbmtfc2V0X2NsaWVudHNfc3RyaW5nKSwKCSAgKGdzdF9tdWx0aXVkcHNpbmtfZ2V0X2NsaWVudHNfc3RyaW5nKSwKCSAgKGdzdF9tdWx0aXVkcHNpbmtfc2V0X3Byb3BlcnR5KSwgKGdzdF9tdWx0aXVkcHNpbmtfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9tdWx0aXVkcHNpbmtfaW5pdF9zZW5kKSwgKGdzdF9tdWx0aXVkcHNpbmtfYWRkX2ludGVybmFsKSwKCSAgKGdzdF9tdWx0aXVkcHNpbmtfYWRkKSwgKGdzdF9tdWx0aXVkcHNpbmtfY2xlYXJfaW50ZXJuYWwpLAoJICAoZ3N0X211bHRpdWRwc2lua19jbGVhcik6CgkgIEFkZCBwcm9wZXJ0eSBkbyBjb25maWd1cmUgZGVzdGluYXRpb24gYWRkcmVzcy9wb3J0IHBhaXJzCgkgIEFQSTpHc3RNdWx0aVVEUFNpbms6OmNsaWVudHMKCjIwMDctMDktMDQgMTg6MzA6MjIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICB0ZXN0cy9leGFtcGxlcy86IEFkZGVkIHNvbWUgUlRQIGV4YW1wbGUgc2NyaXB0cyBmb3Igc2VuZGluZyBhbmQgcmVjZWl2aW5nIFJUUCBzdHJlYW1zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9leGFtcGxlcy9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9leGFtcGxlcy9ydHAvTWFrZWZpbGUuYW06CgkgICogdGVzdHMvZXhhbXBsZXMvcnRwL2NsaWVudC1IMjYzcC1BTVIuc2g6CgkgICogdGVzdHMvZXhhbXBsZXMvcnRwL2NsaWVudC1IMjYzcC1QQ01BLnNkcDoKCSAgKiB0ZXN0cy9leGFtcGxlcy9ydHAvY2xpZW50LUgyNjNwLVBDTUEuc2g6CgkgICogdGVzdHMvZXhhbXBsZXMvcnRwL2NsaWVudC1IMjY0LVBDTUEuc2RwOgoJICAqIHRlc3RzL2V4YW1wbGVzL3J0cC9jbGllbnQtSDI2NC1QQ01BLnNoOgoJICAqIHRlc3RzL2V4YW1wbGVzL3J0cC9jbGllbnQtUENNQS5zaDoKCSAgKiB0ZXN0cy9leGFtcGxlcy9ydHAvc2VydmVyLVZUUy1IMjYzcC1BVFMtUENNQS5zaDoKCSAgKiB0ZXN0cy9leGFtcGxlcy9ydHAvc2VydmVyLWFsc2FzcmMtUENNQS5zaDoKCSAgKiB0ZXN0cy9leGFtcGxlcy9ydHAvc2VydmVyLXY0bDItSDI2M3AtYWxzYXNyYy1BTVIuc2g6CgkgICogdGVzdHMvZXhhbXBsZXMvcnRwL3NlcnZlci12NGwyLUgyNjQtYWxzYXNyYy1QQ01BLnNoOgoJICBBZGRlZCBzb21lIFJUUCBleGFtcGxlIHNjcmlwdHMgZm9yIHNlbmRpbmcgYW5kIHJlY2VpdmluZyBSVFAgc3RyZWFtcy4KCjIwMDctMDktMDQgMTY6NDA6MDUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6IFJlc3RydWN0dXJlIHRoZSBzZXRjYXBzIGZ1bmN0aW9uIHNvIHRoYXQgd2UgY2FuIGFsc28gY29tcHV0ZSB0aGUgZXhwZWN0ZWQgR1N0cmVhbWVyIG91dHB1dCBzaXouLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOiAoZ3N0X3Y0bDJfZ2V0X2NhcHNfaW5mbyksCgkgIChnc3RfdjRsMnNyY19zZXRfY2FwcyksIChnc3RfdjRsMnNyY19nZXRfbW1hcCk6CgkgIFJlc3RydWN0dXJlIHRoZSBzZXRjYXBzIGZ1bmN0aW9uIHNvIHRoYXQgd2UgY2FuIGFsc28gY29tcHV0ZSB0aGUKCSAgZXhwZWN0ZWQgR1N0cmVhbWVyIG91dHB1dCBzaXplIG9mIHRoZSB2aWRlbyBmcmFtZXMuCgkgIFNldCBmcmFtZV9ieXRlX3NpemUgY29ycmVjdGx5IHNvIHRoYXQgcmVhZC1iYXNlZCBkZXZpY2VzIGhhdmUgYSBjaGFuY2UKCSAgb2Ygd29ya2luZyBjb3JyZWN0bHkuCgkgIFdoZW4gZ3JhYmJpbmcgYSBmcmFtZSwgZGlzY2FyZCBmcmFtZXMgdGhhdCBhcmUgbm90IG9mIHRoZSBleHBlY3RlZCBzaXplLgoJICBTb21lIGNhbWVyYXMgZG9uJ3Qgb3V0cHV0IHRoZSByaWdodCBmcmFtZXNpemUgZm9yIHRoZSBmaXJzdCBidWZmZXIuCgkgIFRyeSBvbmx5IGEgY291cGxlIG9mIHRpbWVzIHRvIGdldCBhIHZhbGlkIGZyYW1lLCBlbHNlIGVycm9yIG91dC4KCSAgKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6IChnc3RfdjRsMl9nZXRfY2FwYWJpbGl0aWVzKSwKCSAgKGdzdF92NGwyX2ZpbGxfbGlzdHMpLCAoZ3N0X3Y0bDJfZ2V0X2lucHV0KToKCSAgQWRkIHNvbWUgbW9yZSBkZWJ1ZyBpbmZvIHdoZW4gc2Nhbm5pbmcgdGhlIGRldmljZS4KCSAgKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6IChnc3RfdjRsMl9idWZmZXJfbmV3KSwKCSAgKGdzdF92NGwyX2J1ZmZlcl9wb29sX25ldyksIChnc3RfdjRsMl9idWZmZXJfcG9vbF9hY3RpdmF0ZSksCgkgIChnc3RfdjRsMnNyY19maWxsX2Zvcm1hdF9saXN0KSwgKGdzdF92NGwyc3JjX2dyYWJfZnJhbWUpLAoJICAoZ3N0X3Y0bDJzcmNfc2V0X2NhcHR1cmUpLCAoZ3N0X3Y0bDJzcmNfY2FwdHVyZV9pbml0KToKCSAgQWRkIHNvbWUgbW9yZSBkZWJ1ZyBpbmZvIHdoZW4gZGVxdWVpbmcgYSBmcmFtZS4KCjIwMDctMDktMDQgMTQ6Mzc6MjIgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiBNb3JlIGNvZGUgY2xlYW51cHMuIEFkZCBzb21lIG1vcmUgY29tbWVudCBhbmQgaW1wcm92ZSBkZWJ1Z3MgbG9ncy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIE1vcmUgY29kZSBjbGVhbnVwcy4gQWRkIHNvbWUgbW9yZSBjb21tZW50IGFuZCBpbXByb3ZlIGRlYnVncyBsb2dzLgoKMjAwNy0wOS0wNCAwNzo1ODozNiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLio6IEltcGxlbWVudCBzZWVrLXF1ZXJ5LiBSZWZhY3RvciBkdXJhdGlvbiBjYWxjdWxhdGlvbnMuIEFwcHJvcHJpYXRlIHVzZSBvZiB1aW50NjRfc2NhbGVfaW50Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5oOgoJICBJbXBsZW1lbnQgc2Vlay1xdWVyeS4gUmVmYWN0b3IgZHVyYXRpb24gY2FsY3VsYXRpb25zLiBBcHByb3ByaWF0ZSB1c2UKCSAgb2YgdWludDY0X3NjYWxlX2ludCBhbmQgdWludDY0X3NjYWxlLiBNb3ZlIHJlcGVhZGVkbHkgY2FsY3VsYXRlZCBzdHVmZgoJICBvdXQgb2YgbG9vcHMuCgoyMDA3LTA5LTAzIDA3OjQ0OjM0ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IEltcGxlbWVudCBzZWVrLXF1ZXJ5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIEltcGxlbWVudCBzZWVrLXF1ZXJ5LgoKMjAwNy0wOC0yOSAyMTo0MzowOCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogVXNlIG5ldyBiYXNlc2luayBhc3luYyBwcm9wZXJ0eSB0byBtYWtlIHNwYXJzZSBSVENQIHBhY2tldCBub3Qgd2FpdCBmb3IgcHJlcm9sbC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfc3RyZWFtX2NvbmZpZ3VyZV91ZHBfc2luayksCgkgIChnc3RfcnRzcHNyY19kdXBfcHJpbnRmKToKCSAgVXNlIG5ldyBiYXNlc2luayBhc3luYyBwcm9wZXJ0eSB0byBtYWtlIHNwYXJzZSBSVENQIHBhY2tldCBub3Qgd2FpdCBmb3IKCSAgcHJlcm9sbC4KCjIwMDctMDgtMjcgMTQ6NDQ6MTkgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0L2F1ZGlvZngvTWFrZWZpbGUuYW06IERpc3QgdGhlIHJpZ2h0IGZpbGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdWRpb2Z4L01ha2VmaWxlLmFtOgoJICBEaXN0IHRoZSByaWdodCBmaWxlLgoKMjAwNy0wOC0yMyAxNjoyNzozNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogTWFrZSBzdXJlIHdlIGdlbmVyYXRlIGFuZCBwYXJzZSBmbG9hdGluZyBwb2ludCB2YWx1ZXMgaW4gdGhlIFBPU0lYIGxvY2FsZSBpbnN0ZWFkIG9mIHRoZSBjdXJyZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19kdXBfcHJpbnRmKSwKCSAgKGdzdF9ydHNwc3JjX2dldF9mbG9hdCksIChnc3RfcnRzcHNyY19wbGF5KToKCSAgTWFrZSBzdXJlIHdlIGdlbmVyYXRlIGFuZCBwYXJzZSBmbG9hdGluZyBwb2ludCB2YWx1ZXMgaW4gdGhlIFBPU0lYCgkgIGxvY2FsZSBpbnN0ZWFkIG9mIHRoZSBjdXJyZW50IGxvY2FsZS4KCjIwMDctMDgtMjIgMTU6MDE6MjkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLio6IEZpeCBtZXRob2QgZGV0ZWN0aW9uIGFnYWluLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19kb19zZWVrKSwKCSAgKGdzdF9ydHNwc3JjX3BhcnNlX21ldGhvZHMpLCAoZ3N0X3J0c3BzcmNfb3BlbiksCgkgIChnc3RfcnRzcHNyY19wbGF5KToKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIEZpeCBtZXRob2QgZGV0ZWN0aW9uIGFnYWluLgoJICBLZWVwIHRyYWNrIG9mIHdoZW4gd2UgbXVzdCBzZW5kIGEgUmFuZ2UgaGVhZGVyLgoJICBVc2Ugc2VnbWVudCB2YWx1ZXMgZm9yIFJhbmdlLCBTcGVlZCBhbmQgU2NhbGUgaGVhZGVycy4KCSAgUGFyc2UgU3BlZWQgYW5kIFNjYWxlIGhlYWRlcnMgdG8gdXBkYXRlIHRoZSBzZWdtZW50IHZhbHVlcy4KCjIwMDctMDgtMjIgMDg6MjI6NTAgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hbmF1d0Bza3luZXQuYmU+CgoJICBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6IEhhbmRsZSBvcHRpb25hbCB2NGwyIGlvY3RscyBncmFjZWZ1bGx5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcGF0Y2ggYnk6IE1hcmsgTmF1d2VsYWVydHMgPG1hbmF1d0Bza3luZXQuYmU+CgkgICogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJICBIYW5kbGUgb3B0aW9uYWwgdjRsMiBpb2N0bHMgZ3JhY2VmdWxseS4KCjIwMDctMDgtMjAgMTY6NTI6MDMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwLzogQWRkZWQgYW4gSDI2MyBkZXBheWxvYWRlci4gRml4ZXMgIzM2OTM5Mi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcnRwL2dzdHJ0cC5jOiAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2M2RlcGF5LmM6IChnc3RfcnRwX2gyNjNfZGVwYXlfYmFzZV9pbml0KSwKCSAgKGdzdF9ydHBfaDI2M19kZXBheV9jbGFzc19pbml0KSwgKGdzdF9ydHBfaDI2M19kZXBheV9pbml0KSwKCSAgKGdzdF9ydHBfaDI2M19kZXBheV9maW5hbGl6ZSksIChnc3RfcnRwX2gyNjNfZGVwYXlfc2V0Y2FwcyksCgkgIChnc3RfcnRwX2gyNjNfZGVwYXlfcHJvY2VzcyksIChnc3RfcnRwX2gyNjNfZGVwYXlfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9ydHBfaDI2M19kZXBheV9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3J0cF9oMjYzX2RlcGF5X2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfcnRwX2gyNjNfZGVwYXlfcGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2M2RlcGF5Lmg6CgkgIEFkZGVkIGFuIEgyNjMgZGVwYXlsb2FkZXIuIEZpeGVzICMzNjkzOTIuCgkgICogZ3N0L3J0cC9nc3RydHBoMjYzcGRlcGF5LmM6IChnc3RfcnRwX2gyNjNwX2RlcGF5X3NldGNhcHMpLAoJICAoZ3N0X3J0cF9oMjYzcF9kZXBheV9wcm9jZXNzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjNwcGF5LmM6IChnc3RfZnJhZ21lbnRhdGlvbl9tb2RlX2dldF90eXBlKSwKCSAgKGdzdF9ydHBfaDI2M3BfcGF5X2NsYXNzX2luaXQpLCAoZ3N0X3J0cF9oMjYzcF9wYXlfZmx1c2gpOgoJICBNYWtlIHRoZSBIMjYzKyBwYXkvZGVwYXlsb2FkZXIgc3VwcG9ydCBIMjYzLTE5OTggYW5kIEgyNjMtMjAwMAoJICBwYXlsb2Fkcy4KCSAgQWxzbyBhbG93IHBsYWluIEgyNjMgb24gdGhlIGgyNjNwIHBheWxvYWRlcnMuIEZpeGVzICM0NjUwNDAuCgoyMDA3LTA4LTE5IDE5OjE2OjMzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmlsdGVyLzogQWRkIHNtYWxsIGNvbXBhcmlzaW9uIHdpdGggdGhlIGNoZWJ5c2hldiBmaWx0ZXJzIGluIHRoZSBkb2NzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuYzoKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuYzoKCSAgQWRkIHNtYWxsIGNvbXBhcmlzaW9uIHdpdGggdGhlIGNoZWJ5c2hldiBmaWx0ZXJzIGluIHRoZSBkb2NzLgoKMjAwNy0wOC0xOSAxOToxMTowNCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2F1ZGlvZngvOiBBZGQgc21hbGwgY29tcGFyaXNpb24gd2l0aCB0aGUgd2luZG93ZWQgc2luYyBmaWx0ZXJzIGluIHRoZSBkb2NzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJ5c2hldmZyZXFiYW5kLmM6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9jaGVieXNoZXZmcmVxbGltaXQuYzoKCSAgQWRkIHNtYWxsIGNvbXBhcmlzaW9uIHdpdGggdGhlIHdpbmRvd2VkIHNpbmMgZmlsdGVycyBpbiB0aGUgZG9jcy4KCjIwMDctMDgtMTkgMTk6MDE6NDUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzLzogQWxzbyB0ZXN0IGV2ZXJ5dGhpbmcgaW4gMzIgYml0IGZsb2F0IG1vZGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Jwd3NpbmMuYzogKEdTVF9TVEFSVF9URVNUKSwKCSAgKGJwd3NpbmNfc3VpdGUpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2xwd3NpbmMuYzogKEdTVF9TVEFSVF9URVNUKSwKCSAgKGxwd3NpbmNfc3VpdGUpOgoJICBBbHNvIHRlc3QgZXZlcnl0aGluZyBpbiAzMiBiaXQgZmxvYXQgbW9kZS4KCjIwMDctMDgtMTkgMTg6NDc6MTkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzLzogQWxzbyB0ZXN0IDMyIGJpdCBmbG9hdCBtb2RlIGFuZCB0aGUgdHlwZSAyIHZhcmlhbnRzIG9mIHRoZSBmaWx0ZXJzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2NoZWJ5c2hldmZyZXFiYW5kLmM6IChHU1RfU1RBUlRfVEVTVCksCgkgIChhdWRpb2NoZWJ5c2hldmZyZXFiYW5kX3N1aXRlKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2NoZWJ5c2hldmZyZXFsaW1pdC5jOiAoR1NUX1NUQVJUX1RFU1QpLAoJICAoYXVkaW9jaGVieXNoZXZmcmVxbGltaXRfc3VpdGUpOgoJICBBbHNvIHRlc3QgMzIgYml0IGZsb2F0IG1vZGUgYW5kIHRoZSB0eXBlIDIgdmFyaWFudHMgb2YgdGhlIGZpbHRlcnMuCgoyMDA3LTA4LTE4IDE5OjQ0OjU1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiBSZWZhY3RvciB0aGUgdWRwIGFuZCBpbnRlcmxlYXZlZCBsb29wIGZ1bmN0aW9uIGEgYml0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19sb29wX2ludGVybGVhdmVkKSwKCSAgKGdzdF9ydHNwc3JjX2xvb3BfdWRwKSwgKGdzdF9ydHNwc3JjX2xvb3Bfc2VuZF9jbWQpLAoJICAoZ3N0X3J0c3BzcmNfbG9vcCk6CgkgIFJlZmFjdG9yIHRoZSB1ZHAgYW5kIGludGVybGVhdmVkIGxvb3AgZnVuY3Rpb24gYSBiaXQuCgoyMDA3LTA4LTE3IDE3OjA4OjExICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy4qOiBQcm90ZWN0IGNvbm5lY3Rpb24gYWN0aXZpdHkgd2l0aCBhIG5ldyBsb2NrLCBhdm9pZHMgZGVhZGxvY2tzIHdoZW4gZ29pbmcgdG8gUEFVU0VELiBGaXhlcyAjNDU1Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX2luaXQpLAoJICAoZ3N0X3J0c3BzcmNfZmluYWxpemUpLCAoZ3N0X3J0c3BzcmNfY29ubmVjdGlvbl9zZW5kKSwKCSAgKGdzdF9ydHNwc3JjX2Nvbm5lY3Rpb25fcmVjZWl2ZSksIChnc3RfcnRzcHNyY19zaW5rX2NoYWluKSwKCSAgKGdzdF9ydHNwc3JjX2hhbmRsZV9yZXF1ZXN0KSwgKGdzdF9ydHNwc3JjX3NlbmRfa2VlcF9hbGl2ZSksCgkgIChnc3RfcnRzcHNyY19sb29wX2ludGVybGVhdmVkKSwgKGdzdF9ydHNwc3JjX2xvb3BfdWRwKSwKCSAgKGdzdF9ydHNwc3JjX3RyeV9zZW5kKSwgKGdzdF9ydHNwc3JjX3BhdXNlKToKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIFByb3RlY3QgY29ubmVjdGlvbiBhY3Rpdml0eSB3aXRoIGEgbmV3IGxvY2ssIGF2b2lkcyBkZWFkbG9ja3Mgd2hlbiBnb2luZwoJICB0byBQQVVTRUQuIEZpeGVzICM0NTU4MDguCgoyMDA3LTA4LTE3IDE1OjMwOjM5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L2RlYnVnL3JuZGJ1ZmZlcnNpemUuYzogRml4IGRlYnVnIHN0YXRlbWVudC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlYnVnL3JuZGJ1ZmZlcnNpemUuYzogKGdzdF9ybmRfYnVmZmVyX3NpemVfbG9vcCk6CgkgIEZpeCBkZWJ1ZyBzdGF0ZW1lbnQuCgoyMDA3LTA4LTE3IDE1OjI4OjQwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiBGaXggc3RyYXkgJXUgaW4gZGVidWcgbGluZSBhcyBzcG90dGVkIGJ5IFNhdXIgb24gSVJDLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19kb19zdHJlYW1fZW9zKToKCSAgRml4IHN0cmF5ICV1IGluIGRlYnVnIGxpbmUgYXMgc3BvdHRlZCBieSBTYXVyIG9uIElSQy4KCjIwMDctMDgtMTcgMTU6MDU6MTcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFVzZSBnZW5lcmF0b3IgbWFjcm9zIGZvciB0aGUgcHJvY2VzcyBmdW5jdGlvbnMgZm9yIHRoZSBkaWZmZXJlbnQgc2FtcGxlIHR5cGVzLCBhZGQgbG93ZXIgdXBwZXIgYm91bmRhcmllcyBmb3IgdGhlIEdPYi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuYzogKGdzdF9icHdzaW5jX2NsYXNzX2luaXQpLAoJICAoYnB3c2luY19zZXRfcHJvcGVydHkpLCAoYnB3c2luY19nZXRfcHJvcGVydHkpOgoJICAqIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5oOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOiAoZ3N0X2xwd3NpbmNfY2xhc3NfaW5pdCksCgkgIChnc3RfbHB3c2luY19pbml0KSwgKGxwd3NpbmNfYnVpbGRfa2VybmVsKSwgKGxwd3NpbmNfc2V0X3Byb3BlcnR5KSwKCSAgKGxwd3NpbmNfZ2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuaDoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9scHdzaW5jLmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgIFVzZSBnZW5lcmF0b3IgbWFjcm9zIGZvciB0aGUgcHJvY2VzcyBmdW5jdGlvbnMgZm9yIHRoZSBkaWZmZXJlbnQKCSAgc2FtcGxlIHR5cGVzLCBhZGQgbG93ZXIgdXBwZXIgYm91bmRhcmllcyBmb3IgdGhlIEdPYmplY3QgcHJvcGVydGllcwoJICBzbyBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBVSXMgY2FuIHVzZSBzbGlkZXJzIGFuZCBjaGFuZ2UgZnJlcXVlbmN5CgkgIHByb3BlcnRpZXMgdG8gZmxvYXRzIHRvIHNhdmUgYSBiaXQgb2YgbWVtb3J5LCBldmVuIGludHMgd291bGQgaW4KCSAgdGhlb3J5IGJlIGVub3VnaC4gQWxzbyByZW5hbWUgZnJlcXVlbmN5IHRvIGN1dG9mZiBmb3IgY29uc2lzdGVuY3kKCSAgcmVhc29ucy4KCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuc2lnbmFsczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkgIFJlZ2VuZXJhdGVkIGZvciB0aGUgYWJvdmUgY2hhbmdlcy4KCjIwMDctMDgtMTcgMTQ6NDM6MzMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9hdWRpb2Z4LzogVXNlIGdlbmVyYXRvciBtYWNyb3MgZm9yIHRoZSBwcm9jZXNzIGZ1bmN0aW9ucyBmb3IgdGhlIGRpZmZlcmVudCBzYW1wbGUgdHlwZXMsIGFkZCBsb3dlciB1cHBlciBib3VuZGFyaS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJ5c2hldmZyZXFiYW5kLmM6CgkgIChnc3RfYXVkaW9fY2hlYnlzaGV2X2ZyZXFfYmFuZF9jbGFzc19pbml0KToKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJ5c2hldmZyZXFsaW1pdC5jOgoJICAoZ3N0X2F1ZGlvX2NoZWJ5c2hldl9mcmVxX2xpbWl0X2NsYXNzX2luaXQpOgoJICBVc2UgZ2VuZXJhdG9yIG1hY3JvcyBmb3IgdGhlIHByb2Nlc3MgZnVuY3Rpb25zIGZvciB0aGUgZGlmZmVyZW50CgkgIHNhbXBsZSB0eXBlcywgYWRkIGxvd2VyIHVwcGVyIGJvdW5kYXJpZXMgZm9yIHRoZSBHT2JqZWN0IHByb3BlcnRpZXMKCSAgc28gYXV0b21hdGljYWxseSBnZW5lcmF0ZWQgVUlzIGNhbiB1c2Ugc2xpZGVycyBhbmQgYWRkIGEgbm90ZSBhYm91dAoJICB0aGUgbnVtYmVyIG9mIHBvbGVzIGFzIGEgdG9vIGhpZ2ggbnVtYmVyIG9mIHBvbGVzIGNvbWJpbmVkIHdpdGgKCSAgdmVyeSBsb3cgb3IgdmVyeSBoaWdoIGZyZXF1ZW5jaWVzIHdpbGwgcHJvZHVjZSBvbmx5IG5vaXNlLgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSAgUmVnZW5lcmF0ZWQgZm9yIHRoZSBwcm9wZXJ0eSBjaGFuZ2VzLgoKMjAwNy0wOC0xNyAxNDoxNToxOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuKjogSW1wcm92ZSB0aW1lb3V0IGhhbmRsaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3J0c3BzcmNfZmx1c2gpLCAoZ3N0X3J0c3BzcmNfc2lua19jaGFpbiksCgkgIChnc3RfcnRzcHNyY19zdHJlYW1fY29uZmlndXJlX3VkcF9zaW5rKSwKCSAgKGdzdF9ydHNwc3JjX3NlbmRfa2VlcF9hbGl2ZSksIChnc3RfcnRzcHNyY19sb29wX2ludGVybGVhdmVkKSwKCSAgKGdzdF9ydHNwc3JjX2xvb3BfdWRwKSwgKGdzdF9ydHNwc3JjX2xvb3Bfc2VuZF9jbWQpLAoJICAoZ3N0X3J0c3BzcmNfdHJ5X3NlbmQpLCAoZ3N0X3J0c3BzcmNfc2VuZCksCgkgIChnc3RfcnRzcHNyY19wYXJzZV9tZXRob2RzKSwgKGdzdF9ydHNwc3JjX3BhcnNlX3JhbmdlKSwKCSAgKGdzdF9ydHNwc3JjX29wZW4pLCAoZ3N0X3J0c3BzcmNfY2xvc2UpLCAoZ3N0X3J0c3BzcmNfcGF1c2UpLAoJICAoZ3N0X3J0c3BzcmNfaGFuZGxlX21lc3NhZ2UpLCAoZ3N0X3J0c3BzcmNfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIEltcHJvdmUgdGltZW91dCBoYW5kbGluZy4KCSAgVXNlIHRoZSBzYW1lIHNvY2tldCBmb3Igc2VuZGluZyBhbmQgcmVjZWl2aW5nIFJUQ1AgcGFja2V0cyBzbyB0aGF0IHNvbWUKCSAgc2VydmVycyBjYW4gdHJhY2sgY2xpZW50cyBiZXR0ZXIuCgkgIEltcHJvdmUgY29ubmVjdGlvbiBjbG9zZWQgaGFuZGxpbmcuIFRyeSB0byByZWNvbm5lY3QuCgkgIERvbid0IG92ZXJ3cml0ZSBvdXIgY29udGVudCBiYXNlIHdpdGggTlVMTC4KCSAgSW1wcm92ZSBkZWJ1Z2dpbmcuCgkgIEltcHJvdmUgcmFuZ2UgcGFyc2luZyBhbmQgaGFuZGxpbmcuCgkgIFJlbW92ZSBmbHVzaGluZyBoYWNrIG5vdyB0aGF0IGNvcmUgZG9lcyB0aGUgcmlnaHQgdGhpbmcuCgoyMDA3LTA4LTE3IDEzOjU5OjE1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuKjogQWRkIHN1cHBvcnQgZm9yIGdldHRpbmcgYW5kIHNldHRpbmcgdGhlIHNvY2tldCB0byB1c2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6IChnc3RfbXVsdGl1ZHBzaW5rX2NsYXNzX2luaXQpLAoJICAoZ3N0X211bHRpdWRwc2lua19pbml0KSwgKGdzdF9tdWx0aXVkcHNpbmtfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9tdWx0aXVkcHNpbmtfZ2V0X3Byb3BlcnR5KSwgKGdzdF9tdWx0aXVkcHNpbmtfaW5pdF9zZW5kKSwKCSAgKGdzdF9tdWx0aXVkcHNpbmtfY2xvc2UpLCAoZ3N0X211bHRpdWRwc2lua19hZGQpOgoJICAqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmg6CgkgIEFkZCBzdXBwb3J0IGZvciBnZXR0aW5nIGFuZCBzZXR0aW5nIHRoZSBzb2NrZXQgdG8gdXNlLgoJICAqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6IChnc3RfdWRwc3JjX2NsYXNzX2luaXQpLCAoZ3N0X3VkcHNyY19pbml0KSwKCSAgKGdzdF91ZHBzcmNfY3JlYXRlKSwgKGdzdF91ZHBzcmNfZ2V0X3Byb3BlcnR5KToKCSAgQWRkIHN1cHBvcnQgZm9yIGdldHRpbmcgdGhlIGN1cnJlbnRseSB1c2VkIHNvY2tldC4KCjIwMDctMDgtMTYgMTk6MjI6NDggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy4qOiBJbXBsZW1lbnQgbGF0ZW5jeSBxdWVyeSBhbmQgb25seSBmb3J3YXJkIHRob3NlIHNhbXBsZXMgZG93bnN0cmVhbSB0aGF0IGFjdHVhbGx5IGNvbnRhaW4gdGhlIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuYzogKGdzdF9icHdzaW5jX2NsYXNzX2luaXQpLAoJICAoZ3N0X2Jwd3NpbmNfaW5pdCksIChwcm9jZXNzXzMyKSwgKHByb2Nlc3NfNjQpLAoJICAoYnB3c2luY19idWlsZF9rZXJuZWwpLCAoYnB3c2luY19wdXNoX3Jlc2lkdWUpLAoJICAoYnB3c2luY190cmFuc2Zvcm0pLCAoYnB3c2luY19zdGFydCksIChicHdzaW5jX3F1ZXJ5KSwKCSAgKGJwd3NpbmNfcXVlcnlfdHlwZSksIChicHdzaW5jX2V2ZW50KSwgKGJwd3NpbmNfc2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuaDoKCSAgSW1wbGVtZW50IGxhdGVuY3kgcXVlcnkgYW5kIG9ubHkgZm9yd2FyZCB0aG9zZSBzYW1wbGVzIGRvd25zdHJlYW0KCSAgdGhhdCBhY3R1YWxseSBjb250YWluIHRoZSBkYXRhIHdlIHdhbnQsIGkuZS4gZHJvcCBrZXJuZWxfbGVuZ3RoLzIKCSAgaW4gdGhlIGJlZ2lubmluZyBhbmQgYXBwZW5kIGtlcm5lbF9sZW5ndGgvMiAoY3JlYXRlZCBieSBjb252b2x2aW5nCgkgIHRoZSBmaWx0ZXIga2VybmVsIHdpdGggemVyb2VzKSB0byB0aGUgZW5kLgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Jwd3NpbmMuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgQWRqdXN0IHRoZSB1bml0IHRlc3QgZm9yIHRoaXMgc2xpZ2h0bHkgY2hhbmdlZCBiZWhhdmlvdXIuCgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmM6IChscHdzaW5jX2J1aWxkX2tlcm5lbCk6CgkgIFJlc2V0IHJlc2lkdWUgbGVuZ3RoIG9ubHkgd2hlbiBhY3R1YWxseSBjcmVhdGluZyBhIHJlc2lkdWUuCgoyMDA3LTA4LTE2IDE3OjAyOjA3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvYXVkaW9meC86IEFkZCBDaGVieXNoZXYgbG93cGFzcy9oaWdocGFzcyBhbmQgYmFuZHBhc3MvYmFuZHJlamVjdCBlbGVtZW50cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHJldmlld2VkIGJ5OiBTdGVmYW4gS29zdCAgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoJICAqIGdzdC9hdWRpb2Z4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYnlzaGV2ZnJlcWJhbmQuYzoKCSAgKGdzdF9hdWRpb19jaGVieXNoZXZfZnJlcV9iYW5kX21vZGVfZ2V0X3R5cGUpLAoJICAoZ3N0X2F1ZGlvX2NoZWJ5c2hldl9mcmVxX2JhbmRfYmFzZV9pbml0KSwKCSAgKGdzdF9hdWRpb19jaGVieXNoZXZfZnJlcV9iYW5kX2Rpc3Bvc2UpLAoJICAoZ3N0X2F1ZGlvX2NoZWJ5c2hldl9mcmVxX2JhbmRfY2xhc3NfaW5pdCksCgkgIChnc3RfYXVkaW9fY2hlYnlzaGV2X2ZyZXFfYmFuZF9pbml0KSwKCSAgKGdlbmVyYXRlX2JpcXVhZF9jb2VmZmljaWVudHMpLCAoY2FsY3VsYXRlX2dhaW4pLAoJICAoZ2VuZXJhdGVfY29lZmZpY2llbnRzKSwKCSAgKGdzdF9hdWRpb19jaGVieXNoZXZfZnJlcV9iYW5kX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfYXVkaW9fY2hlYnlzaGV2X2ZyZXFfYmFuZF9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X2F1ZGlvX2NoZWJ5c2hldl9mcmVxX2JhbmRfc2V0dXApLCAocHJvY2VzcyksIChwcm9jZXNzXzY0KSwKCSAgKHByb2Nlc3NfMzIpLCAoZ3N0X2F1ZGlvX2NoZWJ5c2hldl9mcmVxX2JhbmRfdHJhbnNmb3JtX2lwKSwKCSAgKGdzdF9hdWRpb19jaGVieXNoZXZfZnJlcV9iYW5kX3N0YXJ0KToKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJ5c2hldmZyZXFiYW5kLmg6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9jaGVieXNoZXZmcmVxbGltaXQuYzoKCSAgKGdzdF9hdWRpb19jaGVieXNoZXZfZnJlcV9saW1pdF9tb2RlX2dldF90eXBlKSwKCSAgKGdzdF9hdWRpb19jaGVieXNoZXZfZnJlcV9saW1pdF9iYXNlX2luaXQpLAoJICAoZ3N0X2F1ZGlvX2NoZWJ5c2hldl9mcmVxX2xpbWl0X2Rpc3Bvc2UpLAoJICAoZ3N0X2F1ZGlvX2NoZWJ5c2hldl9mcmVxX2xpbWl0X2NsYXNzX2luaXQpLAoJICAoZ3N0X2F1ZGlvX2NoZWJ5c2hldl9mcmVxX2xpbWl0X2luaXQpLAoJICAoZ2VuZXJhdGVfYmlxdWFkX2NvZWZmaWNpZW50cyksIChjYWxjdWxhdGVfZ2FpbiksCgkgIChnZW5lcmF0ZV9jb2VmZmljaWVudHMpLAoJICAoZ3N0X2F1ZGlvX2NoZWJ5c2hldl9mcmVxX2xpbWl0X3NldF9wcm9wZXJ0eSksCgkgIChnc3RfYXVkaW9fY2hlYnlzaGV2X2ZyZXFfbGltaXRfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9hdWRpb19jaGVieXNoZXZfZnJlcV9saW1pdF9zZXR1cCksIChwcm9jZXNzKSwgKHByb2Nlc3NfNjQpLAoJICAocHJvY2Vzc18zMiksIChnc3RfYXVkaW9fY2hlYnlzaGV2X2ZyZXFfbGltaXRfdHJhbnNmb3JtX2lwKSwKCSAgKGdzdF9hdWRpb19jaGVieXNoZXZfZnJlcV9saW1pdF9zdGFydCk6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9jaGVieXNoZXZmcmVxbGltaXQuaDoKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2Z4LmM6IChwbHVnaW5faW5pdCk6CgkgIEFkZCBDaGVieXNoZXYgbG93cGFzcy9oaWdocGFzcyBhbmQgYmFuZHBhc3MvYmFuZHJlamVjdCBlbGVtZW50cy4KCSAgRml4ZXMgIzQ2NDgwMC4KCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uY3ZzaWdub3JlOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvY2hlYnlzaGV2ZnJlcWJhbmQuYzoKCSAgKHNldHVwX2F1ZGlvY2hlYnlzaGV2ZnJlcWJhbmQpLCAoY2xlYW51cF9hdWRpb2NoZWJ5c2hldmZyZXFiYW5kKSwKCSAgKEdTVF9TVEFSVF9URVNUKSwgKGF1ZGlvY2hlYnlzaGV2ZnJlcWJhbmRfc3VpdGUpLCAobWFpbik6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9jaGVieXNoZXZmcmVxbGltaXQuYzoKCSAgKHNldHVwX2F1ZGlvY2hlYnlzaGV2ZnJlcWxpbWl0KSwgKGNsZWFudXBfYXVkaW9jaGVieXNoZXZmcmVxbGltaXQpLAoJICAoR1NUX1NUQVJUX1RFU1QpLCAoYXVkaW9jaGVieXNoZXZmcmVxbGltaXRfc3VpdGUpLCAobWFpbik6CgkgIEFkZCB1bml0IHRlc3RzIGZvciB0aGUgY2hlYnlzaGV2IGZpbHRlcnMuCgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJICBBbmQgYWRkIGRvY3MgZm9yIHRoZSBjaGVieXNoZXYgZmlsdGVycy4gV2hpbGUgZG9pbmcKCSAgdGhhdCBhbHNvIHJ1biBtYWtlIHVwZGF0ZSBpbiBkb2NzL3BsdWdpbnMuCgoyMDA3LTA4LTE2IDEyOjE1OjA2ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBNYWtlIHJvIG1lbW9yeSB0byBzaGFyZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2Fubm9kZXgvZ3N0Y21tbHRhZy5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzcGF5LmM6CgkgIE1ha2Ugcm8gbWVtb3J5IHRvIHNoYXJlLgoKMjAwNy0wOC0xNiAxMTo0OTowMSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC91ZHAvZ3N0dWRwc3JjLmM6IEltcHJvdmUgVURQIHBlcmZvcm1hbmNlIGJ5IGF2b2lkaW5nIGEgc2VsZWN0KCkgd2hlbiB3ZSBoYXZlIGRhdGEgYXZhaWxhYmxlIGltbWVkaWF0bHkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6IChnc3RfdWRwc3JjX2NyZWF0ZSk6CgkgIEltcHJvdmUgVURQIHBlcmZvcm1hbmNlIGJ5IGF2b2lkaW5nIGEgc2VsZWN0KCkgd2hlbiB3ZSBoYXZlIGRhdGEKCSAgYXZhaWxhYmxlIGltbWVkaWF0bHkuCgoyMDA3LTA4LTE2IDExOjQ3OjE5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRwZGVjLio6IEFkZCAoZHVtbXkpIFNTUkMgbWFuYWdlbWVudCBzaWduYWxzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHBkZWMuYzogKGdzdF9ydHBfZGVjX21hcnNoYWxfVk9JRF9fVUlOVF9VSU5UKSwKCSAgKGdzdF9ydHBfZGVjX2NsYXNzX2luaXQpOgoJICAqIGdzdC9ydHNwL2dzdHJ0cGRlYy5oOgoJICBBZGQgKGR1bW15KSBTU1JDIG1hbmFnZW1lbnQgc2lnbmFscy4KCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19jbGFzc19pbml0KSwKCSAgKGdzdF9ydHNwc3JjX3NldF9wcm9wZXJ0eSksIChnc3RfcnRzcHNyY19nZXRfcHJvcGVydHkpLAoJICAoZmluZF9zdHJlYW0pLCAoZ3N0X3J0c3BzcmNfY3JlYXRlX3N0cmVhbSksIChuZXdfc2Vzc2lvbl9wYWQpLAoJICAocmVxdWVzdF9wdF9tYXApLCAoZ3N0X3J0c3BzcmNfZG9fc3RyZWFtX2VvcyksIChvbl9ieWVfc3NyYyksCgkgIChvbl90aW1lb3V0KSwgKGdzdF9ydHNwc3JjX3N0cmVhbV9jb25maWd1cmVfbWFuYWdlciksCgkgIChnc3RfcnRzcHNyY19zdHJlYW1fcHVzaF9ldmVudCksIChnc3RfcnRzcHNyY19wdXNoX2V2ZW50KSwKCSAgKGdzdF9ydHNwc3JjX2xvb3BfaW50ZXJsZWF2ZWQpLCAoZ3N0X3J0c3BzcmNfcGFyc2VfcnRwaW5mbyksCgkgIChnc3RfcnRzcHNyY19oYW5kbGVfbWVzc2FnZSksIChnc3RfcnRzcHNyY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgQWRkIGNvbm5lY3Rpb24tc3BlZWQgcHJvcGVydHkuCgkgIEFkZCBmaW5kX3N0cmVhbSBoZWxwZXIgZnVuY3Rpb25zLgoJICBIYW5kbGUgc3RyZWFtIEVPUyBiYXNlZCBvbiBCWUUgbWVzc2FnZXMgb3IgU1NSQyB0aW1lb3V0LgoJICBSZXR1cm5zIFNVQ0NFU1MgZnJvbSB0aGUgc3RhdGUgY2hhbmdlIGZ1bmN0aW9uIGFzIHdlIGhpZGUgb3VyIGFzeW5jCgkgIGVsZW1lbnRzIGZyb20gdGhlIHBhcmVudC4KCjIwMDctMDgtMTYgMDk6NDg6MjcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy4qOiBJbXBsZW1lbnQgbGF0ZW5jeSBxdWVyeSBhbmQgb25seSBmb3J3YXJkIHRob3NlIHNhbXBsZXMgZG93bnN0cmVhbSB0aGF0IGFjdHVhbGx5IGNvbnRhaW4gdGhlIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuYzogKGdzdF9scHdzaW5jX2NsYXNzX2luaXQpLAoJICAoZ3N0X2xwd3NpbmNfaW5pdCksIChwcm9jZXNzXzMyKSwgKHByb2Nlc3NfNjQpLAoJICAobHB3c2luY19idWlsZF9rZXJuZWwpLCAobHB3c2luY19wdXNoX3Jlc2lkdWUpLAoJICAobHB3c2luY190cmFuc2Zvcm0pLCAobHB3c2luY19zdGFydCksIChscHdzaW5jX3F1ZXJ5KSwKCSAgKGxwd3NpbmNfcXVlcnlfdHlwZSksIChscHdzaW5jX2V2ZW50KSwgKGxwd3NpbmNfc2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuaDoKCSAgSW1wbGVtZW50IGxhdGVuY3kgcXVlcnkgYW5kIG9ubHkgZm9yd2FyZCB0aG9zZSBzYW1wbGVzIGRvd25zdHJlYW0KCSAgdGhhdCBhY3R1YWxseSBjb250YWluIHRoZSBkYXRhIHdlIHdhbnQsIGkuZS4gZHJvcCBrZXJuZWxfbGVuZ3RoLzIKCSAgaW4gdGhlIGJlZ2lubmluZyBhbmQgYXBwZW5kIGtlcm5lbF9sZW5ndGgvMiAoY3JlYXRlZCBieSBjb252b2x2aW5nCgkgIHRoZSBmaWx0ZXIga2VybmVsIHdpdGggemVyb2VzKSB0byB0aGUgZW5kLgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2xwd3NpbmMuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgQWRqdXN0IHRoZSB1bml0IHRlc3QgZm9yIHRoaXMgc2xpZ2h0bHkgY2hhbmdlZCBiZWhhdmlvdXIuCgoyMDA3LTA4LTE2IDA3OjQwOjQ4ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvZGVidWcvcm5kYnVmZmVyc2l6ZS5jOiBGaXggZGEgbGVhay4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlYnVnL3JuZGJ1ZmZlcnNpemUuYzoKCSAgRml4IGRhIGxlYWsuCgoyMDA3LTA4LTE0IDEzOjUwOjQzICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvZGVidWcvOiBBZGQgbmV3IHRlc3QgZWxlbWVudCBhbmQgY2xlYW4tdXAgdGhlIG90aGVycyBhIGxpdHRsZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlYnVnL01ha2VmaWxlLmFtOgoJICAqIGdzdC9kZWJ1Zy9icmVha215ZGF0YS5jOgoJICAqIGdzdC9kZWJ1Zy9nc3RkZWJ1Zy5jOgoJICAqIGdzdC9kZWJ1Zy9uZWdvdGlhdGlvbi5jOgoJICAqIGdzdC9kZWJ1Zy9wcm9ncmVzc3JlcG9ydC5jOgoJICAqIGdzdC9kZWJ1Zy9ybmRidWZmZXJzaXplLmM6CgkgICogZ3N0L2RlYnVnL3Rlc3RwbHVnaW4uYzoKCSAgQWRkIG5ldyB0ZXN0IGVsZW1lbnQgYW5kIGNsZWFuLXVwIHRoZSBvdGhlcnMgYSBsaXR0bGUuCgoyMDA3LTA4LTEzIDEzOjUwOjM5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBBZGQgZG9jcyBmb3IgbHB3c2luYyBhbmQgYnB3c2luYyBhbmQgaW50ZWdyYXRlIHRoZW0gaW50byB0aGUgYnVpbGQgc3lzdGVtLiBXaGlsZSBkb2luZyB0aGF0IGFsc28gdXBkYXRlIGFsbCBvdGhlciBkb2MuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuc2lnbmFsczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2R4YXBhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1maWx0ZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVlemUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taDI2NHBhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzZXBhY2sueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNpY2JyYWluei54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5zZmRlYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BjZGVjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvc2lnbmFsLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGluZ2hlYWRlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXh2aWQueG1sOgoJICAqIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5jOgoJICAqIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5oOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5oOgoJICBBZGQgZG9jcyBmb3IgbHB3c2luYyBhbmQgYnB3c2luYyBhbmQgaW50ZWdyYXRlIHRoZW0KCSAgaW50byB0aGUgYnVpbGQgc3lzdGVtLiBXaGlsZSBkb2luZyB0aGF0IGFsc28gdXBkYXRlCgkgIGFsbCBvdGhlciBkb2NzIHZpYSBtYWtlIHVwZGF0ZSBpbiBkb2NzL3BsdWdpbnMuCgoyMDA3LTA4LTEyIDIwOjU1OjAxICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy9icHdzaW5jLmM6IE1ha2Ugb25lIHRlc3QgY29uc3RyYWludCBhIGJpdCBzdHJpY3Rlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYnB3c2luYy5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICBNYWtlIG9uZSB0ZXN0IGNvbnN0cmFpbnQgYSBiaXQgc3RyaWN0ZXIuCgoyMDA3LTA4LTEyIDIwOjUzOjExICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICB0ZXN0cy9jaGVjay86IEFkZCB1bml0IHRlc3RzIGZvciBicHdzaW5jLCB0ZXN0aW5nIGZ1bmRhbWVudGFsIGZ1bmN0aW9uYWxpdHkgYWdhaW4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5jdnNpZ25vcmU6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYnB3c2luYy5jOiAoc2V0dXBfYnB3c2luYyksCgkgIChjbGVhbnVwX2Jwd3NpbmMpLCAoR1NUX1NUQVJUX1RFU1QpLCAoYnB3c2luY19zdWl0ZSksIChtYWluKToKCSAgQWRkIHVuaXQgdGVzdHMgZm9yIGJwd3NpbmMsIHRlc3RpbmcgZnVuZGFtZW50YWwgZnVuY3Rpb25hbGl0eSBhZ2Fpbi4KCjIwMDctMDgtMTIgMjA6MTk6MzcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIHRlc3RzL2NoZWNrLzogQWRkIHVuaXQgdGVzdHMgZm9yIGxwd3NpbmMsIHRlc3RpbmcgZnVuZGFtZW50YWwgZnVuY3Rpb25hbGl0eS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvLmN2c2lnbm9yZToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9scHdzaW5jLmM6IChzZXR1cF9scHdzaW5jKSwKCSAgKGNsZWFudXBfbHB3c2luYyksIChHU1RfU1RBUlRfVEVTVCksIChscHdzaW5jX3N1aXRlKSwgKG1haW4pOgoJICBBZGQgdW5pdCB0ZXN0cyBmb3IgbHB3c2luYywgdGVzdGluZyBmdW5kYW1lbnRhbCBmdW5jdGlvbmFsaXR5LgoKMjAwNy0wOC0xMiAxNTo0MTo1NyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ZpbHRlci86IEltcHJvdmUgZGVidWdnaW5nIGEgYml0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuYzogKGJwd3NpbmNfYnVpbGRfa2VybmVsKToKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuYzogKGxwd3NpbmNfYnVpbGRfa2VybmVsKToKCSAgSW1wcm92ZSBkZWJ1Z2dpbmcgYSBiaXQuCgoyMDA3LTA4LTEyIDE0OjM1OjQxICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBGaXggcGFyc2luZyBvZiBtcDRhIHZlcnNpb24gMCBhdG9tcy4gRml4ZXMgIzQ2NTc3NC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF9wYXJzZV9ub2RlKToKCSAgRml4IHBhcnNpbmcgb2YgbXA0YSB2ZXJzaW9uIDAgYXRvbXMuIEZpeGVzICM0NjU3NzQuCgoyMDA3LTA4LTEyIDEyOjQ2OjIwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmlsdGVyLzogUmVzZXQgdGhlIHJlc2lkdWUgaW4gQmFzZVRyYW5zZm9ybTo6c3RhcnQgdG8gZ2V0IGEgY2xlYW4gcmVzaWR1ZSBvbiBzdHJlYW0gY2hhbmdlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmM6IChnc3RfYnB3c2luY19jbGFzc19pbml0KSwKCSAgKGJwd3NpbmNfc3RhcnQpOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOiAoZ3N0X2xwd3NpbmNfY2xhc3NfaW5pdCksCgkgIChscHdzaW5jX3N0YXJ0KToKCSAgUmVzZXQgdGhlIHJlc2lkdWUgaW4gQmFzZVRyYW5zZm9ybTo6c3RhcnQgdG8gZ2V0IGEgY2xlYW4gcmVzaWR1ZQoJICBvbiBzdHJlYW0gY2hhbmdlcy4KCjIwMDctMDgtMTEgMTU6NTg6MzAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9maWx0ZXIvOiBGaXggcHJvY2Vzc2luZyB3aXRoIGJ1ZmZlciBzaXplcyB0aGF0IGFyZSBsYXJnZXIgdGhhbiB0aGUgZmlsdGVyIGtlcm5lbCBzaXplLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuYzogKHByb2Nlc3NfMzIpLCAocHJvY2Vzc182NCk6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmM6IChwcm9jZXNzXzMyKSwgKHByb2Nlc3NfNjQpOgoJICBGaXggcHJvY2Vzc2luZyB3aXRoIGJ1ZmZlciBzaXplcyB0aGF0IGFyZSBsYXJnZXIgdGhhbiB0aGUgZmlsdGVyCgkgIGtlcm5lbCBzaXplLgoKMjAwNy0wOC0xMCAxNzowODowMSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3J0cC9nc3RydHBpbGJjZGVwYXkuYzogSW5jbHVkZSBzdGRsaWIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwaWxiY2RlcGF5LmM6CgkgIEluY2x1ZGUgc3RkbGliLgoKMjAwNy0wOC0xMCAxNjoxMDo0NyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvZ3N0cnRwbXB2ZGVwYXkuYzogU2V0IHRoZSBtcGVndmVyc2lvbiBpbiB0aGUgY2FwcyBzbyB0aGF0IGF1dG9wbHVnZ2luZyBkb2VzIG5vdCBnZXQgY29uZnVzZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXB2ZGVwYXkuYzoKCSAgU2V0IHRoZSBtcGVndmVyc2lvbiBpbiB0aGUgY2FwcyBzbyB0aGF0IGF1dG9wbHVnZ2luZyBkb2VzIG5vdCBnZXQKCSAgY29uZnVzZWQuCgoyMDA3LTA4LTEwIDA1OjUxOjQwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuYzogRml4IGEgc2VnZmF1bHQgd2l0aCBtb3JlIHRoYW4gb25lIGNoYW5uZWwgYW5kIGRvbid0IHJlYnVpbGQgdGhlIGtlcm5lbCAmIHJlc2lkdWUgd2l0aCBldmVyeSAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmM6IChicHdzaW5jX2J1aWxkX2tlcm5lbCk6CgkgIEZpeCBhIHNlZ2ZhdWx0IHdpdGggbW9yZSB0aGFuIG9uZSBjaGFubmVsIGFuZCBkb24ndCByZWJ1aWxkCgkgIHRoZSBrZXJuZWwgJiByZXNpZHVlIHdpdGggZXZlcnkgYnVmZmVyLgoKMjAwNy0wOC0xMCAwNTozNToyNSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ZpbHRlci9nc3RicHdzaW5jLio6IEFkZCBzdXBwb3J0IGZvciBhIGJhbmRyZWplY3QgbW9kZSBhbmQgYWxsb3cgc3BlY2lmeWluZyB0aGUgd2luZG93IGZ1bmN0aW9uIHRoYXQgc2hvdWxkIGJlIHVzZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5jOiAoZ3N0X2Jwd3NpbmNfbW9kZV9nZXRfdHlwZSksCgkgIChnc3RfYnB3c2luY193aW5kb3dfZ2V0X3R5cGUpLCAoZ3N0X2Jwd3NpbmNfY2xhc3NfaW5pdCksCgkgIChnc3RfYnB3c2luY19pbml0KSwgKGJwd3NpbmNfYnVpbGRfa2VybmVsKSwgKGJwd3NpbmNfc2V0X3Byb3BlcnR5KSwKCSAgKGJwd3NpbmNfZ2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuaDoKCSAgQWRkIHN1cHBvcnQgZm9yIGEgYmFuZHJlamVjdCBtb2RlIGFuZCBhbGxvdyBzcGVjaWZ5aW5nIHRoZSB3aW5kb3cKCSAgZnVuY3Rpb24gdGhhdCBzaG91bGQgYmUgdXNlZC4KCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuYzoKCSAgQW5kIGFub3RoZXIgc21hbGwgZm9ybWF0dGluZyBmaXguCgoyMDA3LTA4LTEwIDA1OjIwOjA2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuKjogQXBwbHkgdGhlIHNhbWUgY2hhbmdlcyB0byB0aGUgYmFuZHBhc3MgZmlsdGVyOgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuYzogKGdzdF9icHdzaW5jX2NsYXNzX2luaXQpLAoJICAoZ3N0X2Jwd3NpbmNfaW5pdCksIChwcm9jZXNzXzMyKSwgKHByb2Nlc3NfNjQpLAoJICAoYnB3c2luY19idWlsZF9rZXJuZWwpLCAoYnB3c2luY19zZXR1cCksIChicHdzaW5jX2dldF91bml0X3NpemUpLAoJICAoYnB3c2luY190cmFuc2Zvcm0pLCAoYnB3c2luY19zZXRfcHJvcGVydHkpLAoJICAoYnB3c2luY19nZXRfcHJvcGVydHkpOgoJICAqIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5oOgoJICBBcHBseSB0aGUgc2FtZSBjaGFuZ2VzIHRvIHRoZSBiYW5kcGFzcyBmaWx0ZXI6CgkgIC0gU3VwcG9ydCBkb3VibGUgaW5wdXQKCSAgLSBGaXggcHJvY2Vzc2luZyBmb3IgaW5wdXQgd2l0aCA+MSBjaGFubmVscwoJICAtIFNwZWNpZnkgZnJlcXVlbmN5IGluIEh6CgkgIC0gU3BlY2lmeSBhY3R1YWwgZmlsdGVyIGtlcm5lbCBsZW5ndGgKCSAgLSBVc2UgdHJhbnNmb3JtIGluc3RlYWQgb2YgdHJhbnNmb3JtX2lwIGFzIHdlJ3JlIHdvcmtpbmcKCSAgb3V0IG9mIHBsYWNlIGFueXdheQoJICAtIEZhY3RvciBvdXQgZmlsdGVyIGtlcm5lbCBnZW5lcmF0aW9uIGFuZCB1cGRhdGUgdGhlIGZpbHRlcgoJICBrZXJuZWwgd2hlbiB0aGUgcHJvcGVydGllcyBhcmUgc2V0CgkgIEZpeCBiYW5kcGFzcyBmaWx0ZXIga2VybmVsIGdlbmVyYXRpb24gdG8gYWN0dWFsbHkgZ2VuZXJhdGUKCSAgYSBiYW5kcGFzcyBmaWx0ZXIgYnkgY3JlYXRpbmcgYSBoaWdocGFzcyBpbnN0ZWFkIG9mIGEgc2Vjb25kCgkgIGxvd3Bhc3MuCgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmM6IChnc3RfbHB3c2luY19jbGFzc19pbml0KToKCSAgU21hbGwgZm9ybWF0dGluZyBmaXguCgoyMDA3LTA4LTEwIDA0OjQ0OjQzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuKjogU3BlY2lmeSB0aGUgYWN0dWFsIGZpbHRlciBsZW5ndGggaW5zdGVhZCBvZiBhIHdlaXJkIDJOKzEuIFNldHRpbmcgdGhlIHByb3BlcnR5IHdpbGwgcm91bmQgdG8uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmM6IChnc3RfbHB3c2luY19jbGFzc19pbml0KSwKCSAgKGdzdF9scHdzaW5jX2luaXQpLCAocHJvY2Vzc18zMiksIChwcm9jZXNzXzY0KSwKCSAgKGxwd3NpbmNfYnVpbGRfa2VybmVsKSwgKGxwd3NpbmNfc2V0X3Byb3BlcnR5KSwKCSAgKGxwd3NpbmNfZ2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuaDoKCSAgU3BlY2lmeSB0aGUgYWN0dWFsIGZpbHRlciBsZW5ndGggaW5zdGVhZCBvZiBhIHdlaXJkCgkgIDJOKzEuIFNldHRpbmcgdGhlIHByb3BlcnR5IHdpbGwgcm91bmQgdG8gdGhlIG5leHQgb2RkIG51bWJlci4KCSAgQWxzbyByZW1vdmUgbm93IG9ic29sZXRlIEZJWE1Fcy4KCjIwMDctMDgtMTAgMDQ6MzI6NDcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy4qOiBBbGxvdyBjaG9vc2luZyBiZXR3ZWVuIGhhbW1pbmcgYW5kIGJsYWNrbWFuIHdpbmRvdy4gVGhlIGJsYWNrbWFuIHdpbmRvdyBwcm92aWRlcyBhIGJldHRlciBzdC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuYzogKGdzdF9scHdzaW5jX3dpbmRvd19nZXRfdHlwZSksCgkgIChnc3RfbHB3c2luY19jbGFzc19pbml0KSwgKGdzdF9scHdzaW5jX2luaXQpLAoJICAobHB3c2luY19idWlsZF9rZXJuZWwpLCAobHB3c2luY19zZXRfcHJvcGVydHkpLAoJICAobHB3c2luY19nZXRfcHJvcGVydHkpOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5oOgoJICBBbGxvdyBjaG9vc2luZyBiZXR3ZWVuIGhhbW1pbmcgYW5kIGJsYWNrbWFuIHdpbmRvdy4gVGhlIGJsYWNrbWFuCgkgIHdpbmRvdyBwcm92aWRlcyBhIGJldHRlciBzdG9wYmFuZCBhdHRlbnVhdGlvbiBidXQgYSBiaXQgc2xvd2VyCgkgIHJvbGxvZmYuCgoyMDA3LTA4LTEwIDA0OjIxOjM5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuKjogQWRkIGEgaGlnaHBhc3MgbW9kZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmM6IChnc3RfbHB3c2luY19tb2RlX2dldF90eXBlKSwKCSAgKGdzdF9scHdzaW5jX2NsYXNzX2luaXQpLCAocHJvY2Vzc18zMiksIChwcm9jZXNzXzY0KSwKCSAgKGxwd3NpbmNfYnVpbGRfa2VybmVsKSwgKGxwd3NpbmNfc2V0X3Byb3BlcnR5KSwKCSAgKGxwd3NpbmNfZ2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuaDoKCSAgQWRkIGEgaGlnaHBhc3MgbW9kZS4KCjIwMDctMDgtMTAgMDQ6MDY6NTMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOiBGaXggcHJvY2Vzc2luZyBpZiB0aGUgaW5wdXQgaGFzIG1vcmUgdGhhbiBvbmUgY2hhbm5lbC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmM6IChwcm9jZXNzXzMyKSwgKHByb2Nlc3NfNjQpLAoJICAobHB3c2luY19idWlsZF9rZXJuZWwpOgoJICBGaXggcHJvY2Vzc2luZyBpZiB0aGUgaW5wdXQgaGFzIG1vcmUgdGhhbiBvbmUgY2hhbm5lbC4KCjIwMDctMDgtMDkgMTk6MjM6MzMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5jOiAidGhpcyIgaXMgYSBDKysga2V5d29yZCwgdXNlICJzZWxmIiBpbnN0ZWFkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuYzogKGdzdF9icHdzaW5jX2Rpc3Bvc2UpLAoJICAoZ3N0X2Jwd3NpbmNfaW5pdCksIChicHdzaW5jX3NldHVwKSwgKGJwd3NpbmNfdHJhbnNmb3JtX2lwKSwKCSAgKGJwd3NpbmNfc2V0X3Byb3BlcnR5KSwgKGJwd3NpbmNfZ2V0X3Byb3BlcnR5KToKCSAgInRoaXMiIGlzIGEgQysrIGtleXdvcmQsIHVzZSAic2VsZiIgaW5zdGVhZC4KCSAgQWRkIFRPRE9zIGFuZCBGSVhNRXMgYW5kIHJlbW92ZSB0d28gd3JvbmcgRklYTUVzLgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOgoJICBBZGQgRklYTUVzIGFuZCBhIG5ldyBUT0RPLgoKMjAwNy0wOC0wOSAxODowODowNSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ZpbHRlci9nc3RscHdzaW5jLio6IEFkZCBkb3VibGUgc3VwcG9ydCwgcmVwbGFjZSAidGhpcyIgd2l0aCAic2VsZiIgYXMgdGhlIGZvcm1lciBpcyBhIEMrKyBrZXl3b3JkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuYzogKGdzdF9scHdzaW5jX2Rpc3Bvc2UpLAoJICAoZ3N0X2xwd3NpbmNfY2xhc3NfaW5pdCksIChnc3RfbHB3c2luY19pbml0KSwgKHByb2Nlc3NfMzIpLAoJICAocHJvY2Vzc182NCksIChscHdzaW5jX2J1aWxkX2tlcm5lbCksIChscHdzaW5jX3NldHVwKSwKCSAgKGxwd3NpbmNfZ2V0X3VuaXRfc2l6ZSksIChscHdzaW5jX3RyYW5zZm9ybSksCgkgIChscHdzaW5jX3NldF9wcm9wZXJ0eSksIChscHdzaW5jX2dldF9wcm9wZXJ0eSk6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmg6CgkgIEFkZCBkb3VibGUgc3VwcG9ydCwgcmVwbGFjZSAidGhpcyIgd2l0aCAic2VsZiIgYXMgdGhlIGZvcm1lcgoJICBpcyBhIEMrKyBrZXl3b3JkLgoJICBJbXBsZW1lbnQgdGhlIGZyZXF1ZW5jeSBwcm9wZXJ0eSBpbiBIeiBpbnN0ZWFkIG9mIGZyYWN0aW9uCgkgIG9mIHNhbXBsaW5nIGZyZXF1ZW5jeS4KCSAgUmVtb3ZlIHNvbWUgdW5lY2Vzc2FyeSBGSVhNRXMgYW5kIGFkZCBzb21lIFRPRE9zLCBhZGQgc29tZQoJICByZXF1aXJlZCBsb2NraW5nIGFuZCByZWZhY3RvciB0aGUga2VybmVsIGdlbmVyYXRpb24gaW50byBhCgkgIHNlcGFyYXRlIGZ1bmN0aW9uIHRoYXQgaXMgYWxzbyBjYWxsZWQgd2hlbiB0aGUgcHJvcGVydGllcwoJICBjaGFuZ2Ugbm93LgoJICBBbmQgdXNlIEJhc2VUcmFuc2Zvcm06OnRyYW5zZm9ybSBpbnN0ZWFkIG9mIHRyYW5zZm9ybV9pcAoJICBhcyB0aGUgY29udm9sdXRpb24gaXMgZG9uZSBvdXQgb2YgcGxhY2UgYW55d2F5LiBTaG91bGQKCSAgYmUgZG9uZSBpbiBwbGFjZSBsYXRlci4KCjIwMDctMDgtMDkgMTA6NTQ6MDUgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgcG8vOiBVcGRhdGVkIHRyYW5zbGF0aW9ucy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogcG8vaHUucG86CgkgICogcG8vdWsucG86CgkgICogcG8vdmkucG86CgkgIFVwZGF0ZWQgdHJhbnNsYXRpb25zLgoKMjAwNy0wOC0wOCAyMDo0NzozMyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ZpbHRlci86IFVzZSBHc3RBdWRpb0ZpbHRlciBhcyBiYXNlIGNsYXNzIGFuZCBkb24ndCBsZWFrIHRoZSBtZW1vcnkgb2YgdGhlIGZpbHRlciBrZXJuZWwgYW5kIHJlc2lkdWUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9maWx0ZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmM6IChnc3RfYnB3c2luY19kaXNwb3NlKSwKCSAgKGdzdF9icHdzaW5jX2Jhc2VfaW5pdCksIChnc3RfYnB3c2luY19jbGFzc19pbml0KSwKCSAgKGdzdF9icHdzaW5jX2luaXQpLCAoYnB3c2luY19zZXR1cCk6CgkgICogZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmg6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmM6IChnc3RfbHB3c2luY19kaXNwb3NlKSwKCSAgKGdzdF9scHdzaW5jX2Jhc2VfaW5pdCksIChnc3RfbHB3c2luY19jbGFzc19pbml0KSwKCSAgKGdzdF9scHdzaW5jX2luaXQpLCAobHB3c2luY19zZXR1cCk6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmg6CgkgIFVzZSBHc3RBdWRpb0ZpbHRlciBhcyBiYXNlIGNsYXNzIGFuZCBkb24ndCBsZWFrIHRoZSBtZW1vcnkKCSAgb2YgdGhlIGZpbHRlciBrZXJuZWwgYW5kIHJlc2lkdWUuCgoyMDA3LTA4LTA4IDE3OjQ3OjA1ICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzogUmVuZGVyIHJpZ2h0IGJvcmRlciBpbiB0aGUgY29ycmVjdCBsb2NhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6IChnc3RfdmlkZW9fYm94X2F5dXZfaTQyMCk6CgkgIFJlbmRlciByaWdodCBib3JkZXIgaW4gdGhlIGNvcnJlY3QgbG9jYXRpb24uCgoyMDA3LTA4LTA4IDEwOjU0OjUwICswMDAwICBPbGl2aWVyIENyZXRlIDx0ZXN0ZXJAdGVzdGVyLmNhPgoKCSAgZ3N0L3J0cC86IE1ha2UgbW9kZSBwcm9wZXJ0eSBhIHN0cmluZy4gRml4ZXMgIzQ2NDQ3NS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBPbGl2aWVyIENyZXRlIDx0ZXN0ZXIgYXQgdGVzdGVyIGRvdCBjYT4KCSAgKiBnc3QvcnRwL2dzdHJ0cGlsYmNkZXBheS5jOiAoZ3N0X3J0cF9pbGJjX2RlcGF5X3NldGNhcHMpOgoJICAqIGdzdC9ydHAvZ3N0cnRwaWxiY3BheS5jOiAoZ3N0X3J0cGlsYmNwYXlfc2V0Y2Fwcyk6CgkgIE1ha2UgbW9kZSBwcm9wZXJ0eSBhIHN0cmluZy4gRml4ZXMgIzQ2NDQ3NS4KCjIwMDctMDgtMDUgMTQ6NTg6MjAgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzogV2lkZW4gY2FwcyB0byBtYXRjaCBkZWNvZGVyIGEgYml0IGFuZCBhZGQgbW9yZSBGSVhNRXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSAgV2lkZW4gY2FwcyB0byBtYXRjaCBkZWNvZGVyIGEgYml0IGFuZCBhZGQgbW9yZSBGSVhNRXMuCgoyMDA3LTA4LTA1IDE0OjUzOjM2ICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYW5hdXdAc2t5bmV0LmJlPgoKCSAgZ3N0L2F2aS9nc3RhdmltdXguYzogRml4IE9ETUwgaW5kZXggdGFnIG51bWJlcmluZy4gRml4ZXMgIzQ2MzYyNC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHBhdGNoIGJ5OiBNYXJrIE5hdXdlbGFlcnRzIDxtYW5hdXdAc2t5bmV0LmJlPgoJICAqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkgIEZpeCBPRE1MIGluZGV4IHRhZyBudW1iZXJpbmcuIEZpeGVzICM0NjM2MjQuCgoyMDA3LTA4LTAzIDE2OjA4OjU2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiBGaXggZGVmYXVsdCBjbG9jay1yYXRlIGZvciByZWFsbWVkaWEuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdldF9kZWZhdWx0X3JhdGVfZm9yX3B0KSwKCSAgKGdzdF9ydHNwc3JjX3BhcnNlX3J0cG1hcCksIChnc3RfcnRzcHNyY19tZWRpYV90b19jYXBzKSwKCSAgKGdzdF9ydHNwc3JjX3N0cmVhbV9jb25maWd1cmVfdGNwKSwKCSAgKGdzdF9ydHNwc3JjX3N0cmVhbV9jb25maWd1cmVfdWRwX3NpbmspOgoJICBGaXggZGVmYXVsdCBjbG9jay1yYXRlIGZvciByZWFsbWVkaWEuCgkgIEZpeCBwYXJzaW5nIG9mIHRyYW5zcG9ydC4KCSAgRG9uJ3QgdHJ5IHRvIGxpbmsgTlVMTCBwYWRzLgoKMjAwNy0wNy0zMCAxNzoxNzowNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHBvL1BPVEZJTEVTLnNraXA6IEFkZCBQT1RGSUxFUy5za2lwIHdpdGggbGlzdCBvZiBzb3VyY2UgZmlsZXMgdGhhdCBhcmVuJ3QgZGlzdGVkIGF0IHRoZSBtb21lbnQgYnV0IGNvbnRhaW4gdHJhbnNsYXRhYi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBwby9QT1RGSUxFUy5za2lwOgoJICBBZGQgUE9URklMRVMuc2tpcCB3aXRoIGxpc3Qgb2Ygc291cmNlIGZpbGVzIHRoYXQgYXJlbid0IGRpc3RlZCBhdCB0aGUKCSAgbW9tZW50IGJ1dCBjb250YWluIHRyYW5zbGF0YWJsZSBzdHJpbmdzLiBTaG91bGQgaG9wZWZ1bGx5IHBhY2lmeQoJICBicm9rZW4gdG9vbHMgYW5kIG1ha2UgaXQgY2xlYXJlciB0aGF0IHRoZXNlIGZpbGVzIGFyZSBsZWZ0IG91dAoJICBpbnRlbnRpb25hbGx5ICgjNDYxNjAwKS4KCjIwMDctMDctMzAgMTI6NDE6NTggKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IElmIHRoZSBidWZmZXIgd2FzIGVudGlyZWx5IGNsaXBwZWQgLi4uIGRvbid0IHRyeSBzZW5kaW5nIGl0IDopCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2xvb3Bfc3RhdGVfbW92aWUpOgoJICBJZiB0aGUgYnVmZmVyIHdhcyBlbnRpcmVseSBjbGlwcGVkIC4uLiBkb24ndCB0cnkgc2VuZGluZyBpdCA6KQoKMjAwNy0wNy0yNyAxNjo1Njo0NSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogSWYgd2UgZG9uJ3QgaGF2IGEgc2Vzc2lvbiBtYW5hZ2VyLCBzZXQgdGhlIGNhcHMgb24gb3V0Z29pbmcgYnVmZmVycyBvdXJzZWx2ZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX2FjdGl2YXRlX3N0cmVhbXMpLAoJICAoZ3N0X3J0c3BzcmNfbG9vcF9pbnRlcmxlYXZlZCksIChnc3RfcnRzcHNyY19wYXJzZV9tZXRob2RzKSwKCSAgKGdzdF9ydHNwc3JjX2NyZWF0ZV90cmFuc3BvcnRzX3N0cmluZyksCgkgIChnc3RfcnRzcHNyY19wcmVwYXJlX3RyYW5zcG9ydHMpOgoJICBJZiB3ZSBkb24ndCBoYXYgYSBzZXNzaW9uIG1hbmFnZXIsIHNldCB0aGUgY2FwcyBvbiBvdXRnb2luZyBidWZmZXJzCgkgIG91cnNlbHZlcy4KCSAgRm9yY2UgUEFVU0UvUExBWSBtZXRob2RzIGZvciBub3cgdW50aWwgdGhlIGV4dGVuc2lvbnMgY2FuIG92ZXJ3cml0ZS4KCSAgQXBwZW5kIGZpbmFsIGJpdCBvZiB0aGUgdHJhbnNwb3J0IHN0cmluZyBldmVuIHdoZW4gaXQgZG9lcyBub3QgY29udGFpbiBhCgkgIHBsYWNlaG9sZGVyLgoKMjAwNy0wNy0yNyAxMToyMToyMCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwLzogQ2xlYW4gdXAgdGhlIGludGVyZmFjZSBsaXN0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwZXh0LmM6IChnc3RfcnRzcF9leHRfbGlzdF9mcmVlKSwKCSAgKGdzdF9ydHNwX2V4dF9saXN0X2Nvbm5lY3QpOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BleHQuaDoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19pbml0KSwKCSAgKGdzdF9ydHNwc3JjX2ZpbmFsaXplKSwgKGdzdF9ydHNwc3JjX3NlbmRfY2IpOgoJICBDbGVhbiB1cCB0aGUgaW50ZXJmYWNlIGxpc3QuCgkgIEFsbG93IGNvbm5lY3RpbmcgdG8gaW50ZXJmYWNlIHNpZ25hbHMgZm9yIHRoZSBleHRlbnNpb25zLgoJICBSZW1vdmUgb2xkIGV4dGVuc2lvbiBjb2RlLgoJICBGcmVlIGxpc3Qgb24gY2xlYW51cC4KCSAgQWxsb3cgZXh0ZW5zaW9ucyB0byBzZW5kIGFkZGl0aW9uYWwgUlRTUCBtZXNzYWdlcy4KCjIwMDctMDctMjcgMTA6Mzg6MzQgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZXh0L2djb25mL2djb25mLmM6IEhhbmRsZSBhIE5VTEwgZ2NvbmYga2V5IGdyYWNlZnVsbHkgYnkgcmVuZGVyaW5nIHRoZSBkZWZhdWx0IGVsZW1lbnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9nY29uZi9nY29uZi5jOiAoZ3N0X2djb25mX3JlbmRlcl9iaW5fd2l0aF9kZWZhdWx0KToKCSAgSGFuZGxlIGEgTlVMTCBnY29uZiBrZXkgZ3JhY2VmdWxseSBieSByZW5kZXJpbmcgdGhlIGRlZmF1bHQgZWxlbWVudC4KCjIwMDctMDctMjcgMTA6MTE6MTggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwZXh0Lmg6IEZpeCBpbmNsdWRlIHBhdGggZm9yIGV4dGVuc2lvbiBpbnRlcmZhY2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BleHQuaDoKCSAgRml4IGluY2x1ZGUgcGF0aCBmb3IgZXh0ZW5zaW9uIGludGVyZmFjZS4KCjIwMDctMDctMjYgMTk6NDU6MzAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9hdWRpb2Z4L2F1ZGlvYW1wbGlmeS5oOiBBbHNvIHJlbW92ZSBhIG5vdyB1bmVjZXNzYXJ5IHZhcmlhYmxlIGhlcmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvYW1wbGlmeS5oOgoJICBBbHNvIHJlbW92ZSBhIG5vdyB1bmVjZXNzYXJ5IHZhcmlhYmxlIGhlcmUuCgoyMDA3LTA3LTI2IDE5OjQxOjA3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvYXVkaW9meC86IERvbid0IHNhdmUgZm9ybWF0IGluZm9ybWF0aW9uIG91cnNlbHZlcywgdGhpcyBpcyBhbHJlYWR5IHNhdmVkIGluCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvYW1wbGlmeS5jOiAoZ3N0X2F1ZGlvX2FtcGxpZnlfaW5pdCksCgkgIChnc3RfYXVkaW9fYW1wbGlmeV9zZXR1cCksIChnc3RfYXVkaW9fYW1wbGlmeV90cmFuc2Zvcm1faXApOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvZHluYW1pYy5jOgoJICAoZ3N0X2F1ZGlvX2R5bmFtaWNfc2V0X3Byb2Nlc3NfZnVuY3Rpb24pLCAoZ3N0X2F1ZGlvX2R5bmFtaWNfaW5pdCksCgkgIChnc3RfYXVkaW9fZHluYW1pY19zZXR1cCksIChnc3RfYXVkaW9fZHluYW1pY190cmFuc2Zvcm1faXApOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvZHluYW1pYy5oOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvaW52ZXJ0LmM6IChnc3RfYXVkaW9faW52ZXJ0X2luaXQpLAoJICAoZ3N0X2F1ZGlvX2ludmVydF9zZXR1cCksIChnc3RfYXVkaW9faW52ZXJ0X3RyYW5zZm9ybV9pcCk6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9pbnZlcnQuaDoKCSAgRG9uJ3Qgc2F2ZSBmb3JtYXQgaW5mb3JtYXRpb24gb3Vyc2VsdmVzLCB0aGlzIGlzIGFscmVhZHkgc2F2ZWQgaW4KCSAgR3N0QXVkaW9GaWx0ZXIuCgoyMDA3LTA3LTI2IDE1OjQ4OjQ3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvOiBVc2UgcmFuayB0byBmaWx0ZXIgb3V0IGV4dGVuc2lvbnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BleHQuYzogKGdzdF9ydHNwX2V4dF9saXN0X2ZpbHRlciksCgkgIChnc3RfcnRzcF9leHRfbGlzdF9zdHJlYW1fc2VsZWN0KToKCSAgKiBnc3QvcnRzcC9nc3RydHNwZXh0Lmg6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfc2V0dXBfc3RyZWFtcyk6CgkgIFVzZSByYW5rIHRvIGZpbHRlciBvdXQgZXh0ZW5zaW9ucy4KCSAgQWRkIHVybCB0byBzdHJlYW1fc2VsZWN0IGludGVyZmFjZSBjYWxsLgoKMjAwNy0wNy0yNSAxODo1MDowOCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwLzogVXNlIHNoaW55IG5ldyBSVFNQIGFuZCBTRFAgbGlicmFyeS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvTWFrZWZpbGUuYW06CgkgICogZ3N0L3J0c3AvYmFzZTY0LmM6CgkgICogZ3N0L3J0c3AvYmFzZTY0Lmg6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcGV4dC5jOiAoZ3N0X3J0c3BfZXh0X2xpc3RfZmlsdGVyKSwKCSAgKGdzdF9ydHNwX2V4dF9saXN0X2luaXQpLCAoZ3N0X3J0c3BfZXh0X2xpc3RfZ2V0KSwKCSAgKGdzdF9ydHNwX2V4dF9saXN0X2RldGVjdF9zZXJ2ZXIpLCAoZ3N0X3J0c3BfZXh0X2xpc3RfYmVmb3JlX3NlbmQpLAoJICAoZ3N0X3J0c3BfZXh0X2xpc3RfYWZ0ZXJfc2VuZCksIChnc3RfcnRzcF9leHRfbGlzdF9wYXJzZV9zZHApLAoJICAoZ3N0X3J0c3BfZXh0X2xpc3Rfc2V0dXBfbWVkaWEpLAoJICAoZ3N0X3J0c3BfZXh0X2xpc3RfY29uZmlndXJlX3N0cmVhbSksCgkgIChnc3RfcnRzcF9leHRfbGlzdF9nZXRfdHJhbnNwb3J0cyksCgkgIChnc3RfcnRzcF9leHRfbGlzdF9zdHJlYW1fc2VsZWN0KToKCSAgKiBnc3QvcnRzcC9nc3RydHNwZXh0Lmg6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BfbG93ZXJfdHJhbnNfZ2V0X3R5cGUpLAoJICAoZ3N0X3J0c3BzcmNfY2xhc3NfaW5pdCksIChnc3RfcnRzcHNyY19pbml0KSwKCSAgKGdzdF9ydHNwc3JjX2ZpbmFsaXplKSwgKGdzdF9ydHNwc3JjX2NyZWF0ZV9zdHJlYW0pLAoJICAoZ3N0X3J0c3BzcmNfcGFyc2VfcnRwbWFwKSwgKGdzdF9ydHNwc3JjX21lZGlhX3RvX2NhcHMpLAoJICAoZ3N0X3J0c3BzcmNfZmx1c2gpLCAoZ3N0X3J0c3BzcmNfZG9fc2VlayksCgkgIChnc3RfcnRzcHNyY19zaW5rX2NoYWluKSwgKGdzdF9ydHNwc3JjX3N0cmVhbV9jb25maWd1cmVfbWFuYWdlciksCgkgIChnc3RfcnRzcHNyY19zdHJlYW1fY29uZmlndXJlX3RjcCksCgkgIChnc3RfcnRzcHNyY19zdHJlYW1fY29uZmlndXJlX21jYXN0KSwKCSAgKGdzdF9ydHNwc3JjX3N0cmVhbV9jb25maWd1cmVfdWRwKSwKCSAgKGdzdF9ydHNwc3JjX3N0cmVhbV9jb25maWd1cmVfdWRwX3NpbmspLAoJICAoZ3N0X3J0c3BzcmNfc3RyZWFtX2NvbmZpZ3VyZV90cmFuc3BvcnQpLAoJICAoZ3N0X3J0c3BzcmNfaGFuZGxlX3JlcXVlc3QpLCAoZ3N0X3J0c3BzcmNfc2VuZF9rZWVwX2FsaXZlKSwKCSAgKGdzdF9ydHNwc3JjX2xvb3BfaW50ZXJsZWF2ZWQpLCAoZ3N0X3J0c3BzcmNfbG9vcF91ZHApLAoJICAoZ3N0X3J0c3BzcmNfbG9vcF9zZW5kX2NtZCksIChnc3RfcnRzcF9hdXRoX21ldGhvZF90b19zdHJpbmcpLAoJICAoZ3N0X3J0c3BzcmNfcGFyc2VfYXV0aF9oZHIpLCAoZ3N0X3J0c3BzcmNfc2V0dXBfYXV0aCksCgkgIChnc3RfcnRzcHNyY190cnlfc2VuZCksIChnc3RfcnRzcHNyY19zZW5kKSwKCSAgKGdzdF9ydHNwc3JjX3BhcnNlX21ldGhvZHMpLAoJICAoZ3N0X3J0c3BzcmNfY3JlYXRlX3RyYW5zcG9ydHNfc3RyaW5nKSwKCSAgKGdzdF9ydHNwc3JjX3ByZXBhcmVfdHJhbnNwb3J0cyksIChnc3RfcnRzcHNyY19zZXR1cF9zdHJlYW1zKSwKCSAgKGdzdF9ydHNwc3JjX3BhcnNlX3JhbmdlKSwgKGdzdF9ydHNwc3JjX29wZW4pLCAoZ3N0X3J0c3BzcmNfY2xvc2UpLAoJICAoZ3N0X3J0c3BzcmNfcGxheSksIChnc3RfcnRzcHNyY19wYXVzZSksCgkgIChnc3RfcnRzcHNyY19jaGFuZ2Vfc3RhdGUpLCAoZ3N0X3J0c3BzcmNfdXJpX3NldF91cmkpOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgKiBnc3QvcnRzcC9ydHNwLmg6CgkgICogZ3N0L3J0c3AvcnRzcGNvbm5lY3Rpb24uYzoKCSAgKiBnc3QvcnRzcC9ydHNwY29ubmVjdGlvbi5oOgoJICAqIGdzdC9ydHNwL3J0c3BkZWZzLmM6CgkgICogZ3N0L3J0c3AvcnRzcGRlZnMuaDoKCSAgKiBnc3QvcnRzcC9ydHNwZXh0Lmg6CgkgICogZ3N0L3J0c3AvcnRzcGV4dHdtcy5jOgoJICAqIGdzdC9ydHNwL3J0c3BleHR3bXMuaDoKCSAgKiBnc3QvcnRzcC9ydHNwbWVzc2FnZS5jOgoJICAqIGdzdC9ydHNwL3J0c3BtZXNzYWdlLmg6CgkgICogZ3N0L3J0c3AvcnRzcHJhbmdlLmM6CgkgICogZ3N0L3J0c3AvcnRzcHJhbmdlLmg6CgkgICogZ3N0L3J0c3AvcnRzcHRyYW5zcG9ydC5jOgoJICAqIGdzdC9ydHNwL3J0c3B0cmFuc3BvcnQuaDoKCSAgKiBnc3QvcnRzcC9ydHNwdXJsLmM6CgkgICogZ3N0L3J0c3AvcnRzcHVybC5oOgoJICAqIGdzdC9ydHNwL3NkcC5oOgoJICAqIGdzdC9ydHNwL3NkcG1lc3NhZ2UuYzoKCSAgKiBnc3QvcnRzcC9zZHBtZXNzYWdlLmg6CgkgICogZ3N0L3J0c3AvdGVzdC5jOgoJICBVc2Ugc2hpbnkgbmV3IFJUU1AgYW5kIFNEUCBsaWJyYXJ5LgoJICBJbXBsZW1lbnQgUlRTUCBleHRlbnNpb25zIHVzaW5nIHRoZSBuZXcgaW50ZXJmYWNlLgoJICBSZW1vdmUgYSBsb3Qgb2Ygb2xkIGNvZGUuCgoyMDA3LTA3LTI0IDE0OjMxOjU2ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBBZGQgY29kZWMgbWFwcGluZyBmb3IgJzJ2dXknIChSYXcgWVVWIHByb2R1Y2VkIGJ5IEZDUCkgYW5kICdkaXZ4Jy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF92aWRlb19jYXBzKToKCSAgQWRkIGNvZGVjIG1hcHBpbmcgZm9yICcydnV5JyAoUmF3IFlVViBwcm9kdWNlZCBieSBGQ1ApIGFuZCAnZGl2eCcuCgoyMDA3LTA3LTI0IDA1OjA3OjU5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IERvbid0IHVucmVmIHRoZSBvdXRnb2luZyBidWZmZXIgdHdpY2Ugd2hlbiBkcm9wcGluZyBpdCBiZWNhdXNlIGl0J3Mgb3V0c2lkZSBvZiB0aGUgc2VnbWVudC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOiAoZ3N0X3dhdnBhY2tfZGVjX2NoYWluKToKCSAgRG9uJ3QgdW5yZWYgdGhlIG91dGdvaW5nIGJ1ZmZlciB0d2ljZSB3aGVuIGRyb3BwaW5nIGl0IGJlY2F1c2UgaXQncwoJICBvdXRzaWRlIG9mIHRoZSBzZWdtZW50LgoKMjAwNy0wNy0yNCAwNDo1NzoyMCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgVXNlIHRoZSBuZXcgYnVmZmVyIGNsaXBwaW5nIGZ1bmN0aW9uIGZyb20gZ3N0YXVkaW8gaGVyZSBhbmQgcmVxdWlyZSBnc3QtcGx1Z2lucy1iYXNlIENWUy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzogKGdzdF93YXZwYWNrX2RlY19yZXNldCksCgkgIChnc3Rfd2F2cGFja19kZWNfY2hhaW4pLCAoZ3N0X3dhdnBhY2tfZGVjX3NpbmtfZXZlbnQpOgoJICBVc2UgdGhlIG5ldyBidWZmZXIgY2xpcHBpbmcgZnVuY3Rpb24gZnJvbSBnc3RhdWRpbyBoZXJlIGFuZAoJICByZXF1aXJlIGdzdC1wbHVnaW5zLWJhc2UgQ1ZTLgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3dhdnBhY2tkZWMuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgRm9yIGZyYW1lZCBXYXZwYWNrIGJ1ZmZlcnMgd2UgcmVxdWlyZSBhIHZhbGlkIHRpbWVzdGFtcC4KCjIwMDctMDctMjMgMTg6MDM6NTQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IENsaXAgcmF3IGF1ZGlvIGFuZCB2aWRlbyB3aGVuIHdlIGNhbiwga2VlcCB0cmFjayBvZiBjdXJyZW50IG91dHB1dCBzZWdtZW50LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9hY3RpdmF0ZV9zZWdtZW50KSwKCSAgKGdzdF9xdGRlbXV4X2NsaXBfYnVmZmVyKSwgKGdzdF9xdGRlbXV4X2xvb3Bfc3RhdGVfbW92aWUpLAoJICAocXRkZW11eF9wYXJzZV90cmFrKSwgKHF0ZGVtdXhfdmlkZW9fY2FwcyksIChxdGRlbXV4X2F1ZGlvX2NhcHMpOgoJICBDbGlwIHJhdyBhdWRpbyBhbmQgdmlkZW8gd2hlbiB3ZSBjYW4sIGtlZXAgdHJhY2sgb2YgY3VycmVudCBvdXRwdXQKCSAgc2VnbWVudC4KCSAgRG9uJ3QgbGVhayBidWZmZXJzIGFuZCBldmVudHMgd2hlbiB0aGVyZSBpcyBubyBvdXRwdXQgcGFkLgoJICBJbXByb3ZlIGRlYnVnZ2luZyBoZXJlIGFuZCB0aGVyZS4KCjIwMDctMDctMjMgMDk6MDI6MDcgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogU3luYyBsaWJvaWwgY2hlY2sgd2l0aCBwbHVnaW5zLWJhc2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgU3luYyBsaWJvaWwgY2hlY2sgd2l0aCBwbHVnaW5zLWJhc2UuCgoyMDA3LTA3LTIwIDExOjM3OjM3ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvZXF1YWxpemVyLzogQmV0dGVyIGFsZ29yaXRoIGZvciB0aGUgY2VudGVyIGZyZXF1ZW5jaWVzLiBTdWJ0cmFjdCBiYW5kIGZpbHRlcnMgZnJvbSBpbnB1dCBmb3IgbmVnYXRpdmUgZ2FpbnMuIFJld28uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzoKCSAgKGdzdF9paXJfZXF1YWxpemVyX2JhbmRfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2NoaWxkX3Byb3h5X2dldF9jaGlsZF9ieV9pbmRleCksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9jaGlsZF9wcm94eV9nZXRfY2hpbGRyZW5fY291bnQpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfY2hpbGRfcHJveHlfaW50ZXJmYWNlX2luaXQpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfY2xhc3NfaW5pdCksIChhcmdfdG9fc2NhbGUpLCAoc2V0dXBfZmlsdGVyKSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2NvbXB1dGVfZnJlcXVlbmNpZXMpOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyMTBiYW5kcy5jOgoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfMTBiYW5kc19jbGFzc19pbml0KToKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcjNiYW5kcy5jOgoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfM2JhbmRzX2NsYXNzX2luaXQpOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVybmJhbmRzLmM6CgkgIEJldHRlciBhbGdvcml0aCBmb3IgdGhlIGNlbnRlciBmcmVxdWVuY2llcy4gU3VidHJhY3QgYmFuZCBmaWx0ZXJzIGZyb20KCSAgaW5wdXQgZm9yIG5lZ2F0aXZlIGdhaW5zLiBSZXdvcmsgdGhlIGdhaW4gbWFwcGluZy4KCjIwMDctMDctMjAgMDc6NDE6NTggKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGV4dC9hbm5vZGV4L01ha2VmaWxlLmFtOiBGaXggQ0ZMQUdTL0xJQlMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hbm5vZGV4L01ha2VmaWxlLmFtOgoJICBGaXggQ0ZMQUdTL0xJQlMuCgkgICogZXh0L2NkaW8vZ3N0Y2Rpb2NkZGFzcmMuYzoKCSAgKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOiAoZ3N0X3BuZ2RlY190YXNrKToKCSAgSW5jbHVkZSBzdGRsaWIKCSAgKiBleHQvY2Fpcm8vTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZpZGVvZmlsdGVyL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2V4YW1wbGVzL2xldmVsL01ha2VmaWxlLmFtOgoJICBVc2UgJChMSUJNKSBpbnN0ZWFkIG9mIC1sbQoKMjAwNy0wNy0xOCAxMTo1NToxMyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOiBBZGQgYW5vdGhlciBleGFtcGxlIHBpcGVsaW5lLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIEFkZCBhbm90aGVyIGV4YW1wbGUgcGlwZWxpbmUuCgoyMDA3LTA3LTE4IDExOjQyOjMzICswMDAwICBBbGV4YW5kZXIgRWljaG5lciA8YWxleGVpY2hpQHlhaG9vLmRlPgoKCSAgc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOiBVc2UgZGVmaW5lIGhlcmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogQWxleGFuZGVyIEVpY2huZXIgPGFsZXhlaWNoaUB5YWhvby5kZT4KCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6IChnc3RfdjRsMnNyY19pbml0KToKCSAgVXNlIGRlZmluZSBoZXJlLgoJICAqIHN5cy92NGwyL2dzdHY0bDJ0dW5lci5jOgoJICAoZ3N0X3Y0bDJfdHVuZXJfc2V0X2ZyZXF1ZW5jeV9hbmRfbm90aWZ5KToKCSAgRG9uJ3QgdG91Y2ggdGhlIHByb3BlcnR5IC0gaXRzIHN0aWxsIGRpc2FibGVkLgoJICAqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzogKGdzdF92NGwyc3JjX3Byb2JlX2NhcHNfZm9yX2Zvcm1hdCksCgkgIChnc3RfdjRsMnNyY19ncmFiX2ZyYW1lKSwgKGdzdF92NGwyc3JjX2dldF9zaXplX2xpbWl0cyk6CgkgICogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5oOgoJICBJbXByb3ZlIGZhbGxiYWNrIGZvcm1hdCBuZWdvdGlvbmF0aW9uLiBGaXhlcyAjNDUxMzg4CgoyMDA3LTA3LTE4IDEwOjMzOjM5ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb2Nyb3AuYzogRml4IHRoZSB0ZXN0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb2Nyb3AuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgRml4IHRoZSB0ZXN0LgoKMjAwNy0wNy0xOCAwOToyMToyMyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgTW9yZSBkb2NzLiBNb3JlIGxvZ3MgaW4gcG5nZGVjLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJICAqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAgKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOiAoZ3N0X3BuZ2RlY190YXNrKSwKCSAgKGdzdF9wbmdkZWNfc2lua19zZXRjYXBzKToKCSAgTW9yZSBkb2NzLiBNb3JlIGxvZ3MgaW4gcG5nZGVjLgoKMjAwNy0wNy0xOCAwNzo1MToxMSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzcmMuYzogQWRkIGV4YW1wbGUgdG8gdGhlIGRvY3MuIEZpeCBidWZmZXItb2Zmc2V0LWVuZCBhbmQgYWRkIHNvbWUgZGVidWcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc3JjLmM6IChnc3RfbXVsdGlfZmlsZV9zcmNfY3JlYXRlKToKCSAgQWRkIGV4YW1wbGUgdG8gdGhlIGRvY3MuIEZpeCBidWZmZXItb2Zmc2V0LWVuZCBhbmQgYWRkIHNvbWUgZGVidWcuCgoyMDA3LTA3LTE4IDA3OjM1OjMyICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBBZGQgc3RkbGliIGluY2x1ZGUgKGZyZWUsIGF0b2ksIGV4aXQpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleGFtcGxlcy9hcHAvYXBwc3JjX2V4LmM6CgkgICogZXhhbXBsZXMvc3dpdGNoL3N3aXRjaGVyLmM6CgkgICogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzoKCSAgKiBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuYzoKCSAgKiBleHQveDI2NC9nc3R4MjY0ZW5jLmM6CgkgICogZ3N0L212ZS9tdmVhdWRpb2VuYy5jOiAobXZlX2NvbXByZXNzX2F1ZGlvKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBjbGllbnQuYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKiBnc3Qvc3BlY3RydW0vZGVtby1hdWRpb3Rlc3QuYzoKCSAgKiBnc3Qvc3BlY3RydW0vZGVtby1vc3NzcmMuYzoKCSAgKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBBZGQgc3RkbGliIGluY2x1ZGUgKGZyZWUsIGF0b2ksIGV4aXQpLgoKMjAwNy0wNy0xNyAxMTozNToyOSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOiBJbml0aWFsaXplIG51bV9idWZmZXJzIHdpdGggbWluaW11bSB2YWx1ZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOiAoZ3N0X3Y0bDJzcmNfaW5pdCk6CgkgIEluaXRpYWxpemUgbnVtX2J1ZmZlcnMgd2l0aCBtaW5pbXVtIHZhbHVlLgoJICAqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzogKGdzdF92NGwyc3JjX2ZpbGxfZm9ybWF0X2xpc3QpLAoJICAoZ3N0X3Y0bDJzcmNfcHJvYmVfY2Fwc19mb3JfZm9ybWF0KSwgKGdzdF92NGwyc3JjX2dyYWJfZnJhbWUpOgoJICBIYW5kbGUgZnJhbWUtc2l6ZSBxdWVyeSBmYWlsdXJlIGdyYWNlZnVsbHkuCgoyMDA3LTA3LTE2IDEyOjExOjM2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBGaXggcGFyc2luZyBvZiBlc2RzIGF0b21zIGluc2lkZSBtcDRhIGF0b21zIHNvIHRoYXQgd2UgY2FuIHNldCBjb3JyZWN0IGNvZGVjX2luZm8gZm9yIEFBQyBhdWRpLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfcGFyc2Vfbm9kZSk6CgkgIEZpeCBwYXJzaW5nIG9mIGVzZHMgYXRvbXMgaW5zaWRlIG1wNGEgYXRvbXMgc28gdGhhdCB3ZSBjYW4gc2V0IGNvcnJlY3QKCSAgY29kZWNfaW5mbyBmb3IgQUFDIGF1ZGlvLiBGaXhlcyAjNDU3MDk3IGFsb25nIHdpdGggYSB3aG9sZSBvdGhlciBidW5jaAoJICBvZiBxdC9hYWMgZmlsZXMuCgoyMDA3LTA3LTE2IDA5OjE2OjAzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IEZpeCBidWZmZXIgY2xpcHBpbmcgdG8gY29ycmVjdGx5IGNsaXAgdG8gdGhlIHNlZ21lbnQgc3RvcC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOgoJICAoZ3N0X3dhdnBhY2tfZGVjX2NsaXBfb3V0Z29pbmdfYnVmZmVyKToKCSAgRml4IGJ1ZmZlciBjbGlwcGluZyB0byBjb3JyZWN0bHkgY2xpcCB0byB0aGUgc2VnbWVudCBzdG9wLgoKMjAwNy0wNy0xMyAxNjozMToyNyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBSZW1vdmUgYm9ndXMgY2hlY2sgZm9yIGxpYmNoZWNrLCBzaW5jZSB3ZSBjaGVjayBmb3IgZ3N0cmVhbWVyLWNoZWNrIGFuZCBpdCBwdWxscyBpbiB0aGUgcmVxdWlyZWQgaW5mbyBmcm9tIHRoZXJlLCBhbmQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIHRlc3RzL01ha2VmaWxlLmFtOgoJICBSZW1vdmUgYm9ndXMgY2hlY2sgZm9yIGxpYmNoZWNrLCBzaW5jZSB3ZSBjaGVjayBmb3IKCSAgZ3N0cmVhbWVyLWNoZWNrIGFuZCBpdCBwdWxscyBpbiB0aGUgcmVxdWlyZWQgaW5mbyBmcm9tIHRoZXJlLAoJICBhbmQgd2Ugd2VyZW4ndCBhY3R1YWxseSBfdXNpbmdfIHRoZSBpbmZvcm1hdGlvbiBmb3IgbGliY2hlY2sKCSAgb3Vyc2VsdmVzIGFueXdheS4KCjIwMDctMDctMTIgMTE6MjE6MDEgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogVXNlIHBrZy1jb25maWcgdG8gbG9jYXRlIGNoZWNrLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIFVzZSBwa2ctY29uZmlnIHRvIGxvY2F0ZSBjaGVjay4KCjIwMDctMDctMTEgMjM6NDM6MjUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvOiBGaXggYnVpbGQgYWdhaW5zdCBjb3JlIENWUy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmM6IChnc3RfZGVpbnRlcmxlYXZlX3Byb2Nlc3MpOgoJICAqIGdzdC92bW5jL3ZtbmNkZWMuYzogKHZtbmNfbWFrZV9idWZmZXIpOgoJICBGaXggYnVpbGQgYWdhaW5zdCBjb3JlIENWUy4KCjIwMDctMDctMTEgMjI6MzE6MDYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBGaXggYnVpbGQgYWdhaW5zdCBjb3JlIENWUy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2NhaXJvL2dzdHRpbWVvdmVybGF5LmM6IChnc3RfY2Fpcm9fdGltZV9vdmVybGF5X3RyYW5zZm9ybSk6CgkgICogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOiAoZ3N0X2pwZWdlbmNfY2hhaW4pOgoJICAqIGV4dC9saWJwbmcvZ3N0cG5nZW5jLmM6IChnc3RfcG5nZW5jX2NoYWluKToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IChnc3Rfd2F2cGFja19kZWNfY2hhaW4pOgoJICAqIGdzdC9kZWJ1Zy9nc3RuYXZpZ2F0aW9udGVzdC5jOiAoZ3N0X25hdmlnYXRpb250ZXN0X3RyYW5zZm9ybSk6CgkgICogZ3N0L2VmZmVjdHYvZ3N0YWdpbmcuYzogKGdzdF9hZ2luZ3R2X3RyYW5zZm9ybSk6CgkgICogZ3N0L2VmZmVjdHYvZ3N0ZGljZS5jOiAoZ3N0X2RpY2V0dl90cmFuc2Zvcm0pOgoJICAqIGdzdC9lZmZlY3R2L2dzdGVkZ2UuYzogKGdzdF9lZGdldHZfdHJhbnNmb3JtKToKCSAgKiBnc3QvZWZmZWN0di9nc3RxdWFyay5jOiAoZ3N0X3F1YXJrdHZfdHJhbnNmb3JtKToKCSAgKiBnc3QvZWZmZWN0di9nc3RyZXYuYzogKGdzdF9yZXZ0dl90cmFuc2Zvcm0pOgoJICAqIGdzdC9lZmZlY3R2L2dzdHNoYWdhZGVsaWMuYzogKGdzdF9zaGFnYWRlbGljdHZfdHJhbnNmb3JtKToKCSAgKiBnc3QvZWZmZWN0di9nc3R2ZXJ0aWdvLmM6IChnc3RfdmVydGlnb3R2X3RyYW5zZm9ybSk6CgkgICogZ3N0L2VmZmVjdHYvZ3N0d2FycC5jOiAoZ3N0X3dhcnB0dl90cmFuc2Zvcm0pOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2FkZF93dnBrX2hlYWRlciksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfY2hlY2tfc3VidGl0bGVfYnVmZmVyKSwKCSAgKGdzdF9tYXRyb3NrYV9kZWNvZGVfYnVmZmVyKToKCSAgKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9mbGlwLmM6IChnc3RfdmlkZW9fZmxpcF90cmFuc2Zvcm0pOgoJICBGaXggYnVpbGQgYWdhaW5zdCBjb3JlIENWUy4KCjIwMDctMDctMTAgMTA6MTY6MzggKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvaWQzZGVtdXgvZ3N0aWQzZGVtdXguYzogRG9uJ3QgcmV0dXJuIEdTVF9GTE9XX0VSUk9SIHdoZW4gcHVzaGluZyBhbiBldmVudCByZXR1cm5zIEZBTFNFLiBXZSBkb24ndCBoYXZlIGVub3VnaCBncmEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2lkM2RlbXV4L2dzdGlkM2RlbXV4LmM6IChnc3RfaWQzZGVtdXhfY2hhaW4pOgoJICBEb24ndCByZXR1cm4gR1NUX0ZMT1dfRVJST1Igd2hlbiBwdXNoaW5nIGFuIGV2ZW50IHJldHVybnMgRkFMU0UuIFdlCgkgIGRvbid0IGhhdmUgZW5vdWdoIGdyYW51bGFyaXR5IHRvIGNvbnZlcnQgdGhhdCBib29sZWFuIGludG8gYQoJICBHc3RGbG93UmV0dXJuLgoKMjAwNy0wNy0wNiAxNTowMDo0NyArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgZ3N0L2xhdy86IEZpeCBjYXBzbmVnbyBib2dvc2l0eSBpbiAqbGF3IGRlY29kZXJzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbGF3L2FsYXctZGVjb2RlLmM6IChhbGF3ZGVjX3Npbmtfc2V0Y2FwcyksCgkgIChnc3RfYWxhd2RlY19jbGFzc19pbml0KSwgKGdzdF9hbGF3ZGVjX2luaXQpLCAoZ3N0X2FsYXdkZWNfY2hhaW4pLAoJICAoZ3N0X2FsYXdkZWNfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvbGF3L2FsYXctZGVjb2RlLmg6CgkgICogZ3N0L2xhdy9tdWxhdy1kZWNvZGUuYzogKG11bGF3ZGVjX3Npbmtfc2V0Y2FwcyksCgkgIChnc3RfbXVsYXdkZWNfY2xhc3NfaW5pdCksIChnc3RfbXVsYXdkZWNfaW5pdCksCgkgIChnc3RfbXVsYXdkZWNfY2hhaW4pLCAoZ3N0X211bGF3ZGVjX2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L2xhdy9tdWxhdy1kZWNvZGUuaDoKCSAgRml4IGNhcHNuZWdvIGJvZ29zaXR5IGluICpsYXcgZGVjb2RlcnMuCgoyMDA3LTA3LTA2IDE0OjM1OjU5ICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBleHQvanBlZy9nc3RzbW9rZWVuYy4qOiBSZW1vdmUgc3R1cGlkaXR5IGluIGdldC9zZXQgY2FwcyBmdW5jdGlvbnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9qcGVnL2dzdHNtb2tlZW5jLmM6IChnc3Rfc21va2VlbmNfaW5pdCksCgkgIChnc3Rfc21va2VlbmNfc2V0Y2FwcyksIChnc3Rfc21va2VlbmNfY2hhaW4pLAoJICAoZ3N0X3Ntb2tlZW5jX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L2pwZWcvZ3N0c21va2VlbmMuaDoKCSAgUmVtb3ZlIHN0dXBpZGl0eSBpbiBnZXQvc2V0IGNhcHMgZnVuY3Rpb25zLgoJICBGaXggc29tZSByZWZjb3VudGluZyBwcm9ibGVtcy4KCjIwMDctMDctMDYgMTE6NDI6NTMgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzogUmVtb3ZlIGVuZGlhbm5lc3MtZmxpcHBpbmcgaGFjayB0aGF0IHNlZW1zIHRvIGhhdmUgYmVlbiByZXF1aXJlZCBvbmx5IGJlY2F1c2Ugb2YgYSBidWcgaW4gZmZtLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6IChnc3RfcG5nZGVjX2NhcHNfY3JlYXRlX2FuZF9zZXQpOgoJICBSZW1vdmUgZW5kaWFubmVzcy1mbGlwcGluZyBoYWNrIHRoYXQgc2VlbXMgdG8gaGF2ZSBiZWVuIHJlcXVpcmVkCgkgIG9ubHkgYmVjYXVzZSBvZiBhIGJ1ZyBpbiBmZm1wZWdjb2xvcnNwYWNlLgoJICBQYXJ0aWFsbHkgRml4ZXM6ICM0NTE5MDgKCjIwMDctMDctMDUgMDg6NDQ6MTEgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbTogU2ltcGxpZnkgLS1leHRyYS1kaXIgYXMgZ3RrZG9jIHNjYW5zIHJlY3Vyc2l2ZWx5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgIFNpbXBsaWZ5IC0tZXh0cmEtZGlyIGFzIGd0a2RvYyBzY2FucyByZWN1cnNpdmVseS4KCjIwMDctMDctMDMgMDk6NTk6NDYgKzAwMDAgIFRvbW1pIE15w7Zow6RuZW4gPGV4dC10b21taS5teW9oYW5lbkBub2tpYS5jb20+CgoJICBnc3QvcnRwL2dzdHJ0cGlsYmNwYXkuYzogU2V0IHRoZSBlbmNvZGluZy1uYW1lIGluIHRoZSBydHAgY2FwcyB0byBhbGwgdXBwZXJjYXNlLCBhcyByZXF1aXJlZCBieSB0aGUgY2FwcyBzcGVjLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFRvbW1pIE15w7Zow6RuZW4gIDxleHQtdG9tbWkgZG90IG15b2hhbmVuIGF0IG5va2lhIGRvdCBjb20+CgkgICogZ3N0L3J0cC9nc3RydHBpbGJjcGF5LmM6IChnc3RfcnRwaWxiY3BheV9zZXRjYXBzKToKCSAgU2V0IHRoZSBlbmNvZGluZy1uYW1lIGluIHRoZSBydHAgY2FwcyB0byBhbGwgdXBwZXJjYXNlLCBhcyByZXF1aXJlZCBieQoJICB0aGUgY2FwcyBzcGVjLgoJICBTb21lIHNtYWxsIGNsZWFudXBzIGluIHRoZSBlcnJvciBwYXRocy4gRml4ZXMgIzQ1MzAzNy4KCjIwMDctMDctMDMgMDg6MDE6MTggKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9tdWx0aWZpbGUvOiBBZGQgLmggZmlsZXMgdG8gYmUgYWJsZSB0byBhZGQgaXQgdG8gdGhlIGRvY3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tdWx0aWZpbGUvTWFrZWZpbGUuYW06CgkgICogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGUuYzoKCSAgKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSAgKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuaDoKCSAgKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNyYy5jOgoJICAqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc3JjLmg6CgkgIEFkZCAuaCBmaWxlcyB0byBiZSBhYmxlIHRvIGFkZCBpdCB0byB0aGUgZG9jcy4KCjIwMDctMDctMDMgMDc6MTY6MjYgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9yZXBsYXlnYWluL2dzdHJndm9sdW1lLmg6IEZpeCBHT2JqZWN0IG1hY3Jvcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3JlcGxheWdhaW4vZ3N0cmd2b2x1bWUuaDoKCSAgRml4IEdPYmplY3QgbWFjcm9zLgoKMjAwNy0wNi0yOCAxOTowMDo0MyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLio6IFVzZSBhIEdTTGlzdCBmb3IgdGhlIEdBcnJheSB0aGF0IGlzIHVzZWQgbGlrZSBhIGxpc3QgYW55d2F5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzoKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2luZGV4X2dldF9sYXN0X2VudHJ5KSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2luZGV4X2dldF9lbnRyeV9mcm9tX3NhbXBsZSksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9pbmRleF9hcHBlbmRfZW50cnkpLCAoZ3N0X3dhdnBhY2tfcGFyc2VfcmVzZXQpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2Vfc2Nhbl90b19maW5kX3NhbXBsZSk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmg6CgkgIFVzZSBhIEdTTGlzdCBmb3IgdGhlIEdBcnJheSB0aGF0IGlzIHVzZWQgbGlrZSBhIGxpc3QgYW55d2F5LgoKMjAwNy0wNi0yOCAxMzoyNTowNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zi5jOiBBZGQgc3RhdGUgY2hhbmdlIGZ1bmN0aW9uIHdoZXJlIHdlIHNldCAwLzEgYXMgZGVmYXVsdCBmcmFtZXJhdGUgaW4gY2FzZSBvdXIgc2V0Y2FwcyBmdS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWYuYzogKGdzdF9nZGtfcGl4YnVmX3Npbmtfc2V0Y2FwcyksCgkgIChnc3RfZ2RrX3BpeGJ1Zl9jbGFzc19pbml0KSwgKGdzdF9nZGtfcGl4YnVmX2ZsdXNoKSwKCSAgKGdzdF9nZGtfcGl4YnVmX3NpbmtfZXZlbnQpLCAoZ3N0X2dka19waXhidWZfY2hhbmdlX3N0YXRlKToKCSAgQWRkIHN0YXRlIGNoYW5nZSBmdW5jdGlvbiB3aGVyZSB3ZSBzZXQgMC8xIGFzIGRlZmF1bHQgZnJhbWVyYXRlIGluCgkgIGNhc2Ugb3VyIHNldGNhcHMgZnVuY3Rpb24gaXNuJ3QgY2FsbGVkLCBsaWtlIGl0IG1pZ2h0IG5vdCBpbiBhCgkgIGZpbGVzcmMgISBnZGtwaXhidWZkZWMgc2NlbmFyaW8uIEZpeGVzIGFzc2VydGlvbiB0cmlnZ2VyZWQgYnkKCSAgZ2RrcGl4YnVmZGVjIHRyeWluZyB0byBjcmVhdGUgY2FwcyB3aXRoIGEgMC8wIGZyYW1lcmF0ZS4KCSAgQWxzbyBwb3N0IGFuIGVycm9yIG1lc3NhZ2Ugb24gdGhlIGJ1cyBpZiBnc3RfcGFkX3B1c2goKSBmYWlscyB3aGVuCgkgIGNhbGxlZCBmcm9tIG91ciBzaW5rIGV2ZW50IGhhbmRsZXIgKCsxIGZvciBmbG93IHJldHVybnMgZm9yIGV2ZW50CgkgIGZ1bmN0aW9ucyBpbiAwLjExKSBpbnN0ZWFkIG9mIGZhaWxpbmcgc2lsZW50bHkuCgoyMDA3LTA2LTI3IDExOjM2OjI0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiBDYXN0IHN0YWNrIGFyZ3MgdG8gdGhlIHByb3BlciB0eXBlcy4gRml4ZXMgIzQ1MTI0OS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfY29uZmlndXJlX2NhcHMpOgoJICBDYXN0IHN0YWNrIGFyZ3MgdG8gdGhlIHByb3BlciB0eXBlcy4gRml4ZXMgIzQ1MTI0OS4KCjIwMDctMDYtMjcgMTE6MDQ6NDcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLio6IEZvciBjb250YWluZXIgZm9ybWF0cyB3ZSBvbmx5IG5lZWQgdG8gYWN0aXZhdGUgb25lIG9mIHRoZSBzdHJlYW1zIHNvIHRoYXQgd2UgY29ycmVjdGx5IHNpZ25hbCAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfY3JlYXRlX3N0cmVhbSksCgkgIChuZXdfc2Vzc2lvbl9wYWQpLCAoZ3N0X3J0c3BzcmNfc2V0dXBfc3RyZWFtcyk6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBGb3IgY29udGFpbmVyIGZvcm1hdHMgd2Ugb25seSBuZWVkIHRvIGFjdGl2YXRlIG9uZSBvZiB0aGUgc3RyZWFtcyBzbwoJICB0aGF0IHdlIGNvcnJlY3RseSBzaWduYWwgbm8tbW9yZS1wYWRzLiBGaXhlcyAjNDUxMDE1LgoKMjAwNy0wNi0yNSAxMjo0NjowOCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZG9jcy9wbHVnaW5zLzogVXBkYXRlIGRvY3Mgd2l0aCBjYXBzIGluZm8uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFubm9kZXgueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Rpby54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oYWxlbGVtZW50cy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF1aWNrdGltZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9iYWxhbmNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZsaXAueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJICBVcGRhdGUgZG9jcyB3aXRoIGNhcHMgaW5mby4KCjIwMDctMDYtMjUgMTI6MTM6MDkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBwby9QT1RGSUxFUy5pbjogQWRkIG1vcmUgZmlsZXMgd2l0aCB0cmFuc2xhdGFibGUgc3RyaW5ncyAoIzQ1MDg3OCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHBvL1BPVEZJTEVTLmluOgoJICBBZGQgbW9yZSBmaWxlcyB3aXRoIHRyYW5zbGF0YWJsZSBzdHJpbmdzICgjNDUwODc4KS4KCjIwMDctMDYtMjIgMjA6MjM6MTggKzAwMDAgIEplbnMgR3JhbnNldWVyIDxqZW5zZ3JAZ214Lm5ldD4KCgkgIGdzdC86IEJ1aWxkIGZpeGVzIGZvciBnY2MtMi45eCAobm8gbWlkLWJsb2NrIHZhcmlhYmxlIGRlY2xhcmF0aW9ucyBldGMuKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBKZW5zIEdyYW5zZXVlciAgPGplbnNnciBhdCBnbXggbmV0PgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIxMGJhbmRzLmM6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIzYmFuZHMuYzoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcm5iYW5kcy5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2FzeW5jX2ppdHRlcl9xdWV1ZS5jOgoJICAoYXN5bmNfaml0dGVyX3F1ZXVlX3B1c2hfc29ydGVkKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jaGFpbik6CgkgICogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guYzogKGdzdF9zd2l0Y2hfY2hhaW4pOgoJICBCdWlsZCBmaXhlcyBmb3IgZ2NjLTIuOXggKG5vIG1pZC1ibG9jayB2YXJpYWJsZSBkZWNsYXJhdGlvbnMgZXRjLikuCgkgIEZpeGVzICM0NTAxODUuCgoyMDA3LTA2LTIyIDE0OjI2OjM2ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIE1BSU5UQUlORVJTOiBVcGRhdGluZyBhbGwgdGhlIG1haW50YWluZXJzIGZpbGVzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIE1BSU5UQUlORVJTOgoJICBVcGRhdGluZyBhbGwgdGhlIG1haW50YWluZXJzIGZpbGVzCgoyMDA3LTA2LTIyIDEwOjEyOjE1ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgRml4IG1lbW9yeSBsZWFrcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY3RhZy5jOiAoZ3N0X2ZsYWNfdGFnX2luaXQpOgoJICAqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOiAoZGVpbnRlcmxlYXZlX2luaXQpLAoJICAoZGVpbnRlcmxlYXZlX3NpbmtfbGluayk6CgkgICogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOiAoaW50ZXJsZWF2ZV9pbml0KToKCSAgKiBnc3QvbWVkaWFuL2dzdG1lZGlhbi5jOiAoZ3N0X21lZGlhbl9pbml0KToKCSAgKiBnc3Qvb2xkY29yZS9nc3RtdWx0aWZpbGVzcmMuYzogKGdzdF9tdWx0aWZpbGVzcmNfaW5pdCk6CgkgIEZpeCBtZW1vcnkgbGVha3MuCgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvaWQzZGVtdXguYzogKHBhZF9hZGRlZF9jYik6CgkgIFJlbW92ZSB1bnVzZWQgdmFyaWFibGUuCgoyMDA3LTA2LTIxIDEwOjQ4OjEwICswMDAwICBEYW1pZW4gQ2FyYmVyeSA8ZGFtaWVuLmNhcmJlcnlAc3VuLmNvbT4KCgkgIGV4dC9nY29uZi9nY29uZi5oOiBNYWtlIHRoZSBwcm90b3R5cGUgb2YgZ3N0X2djb25mX2dldF9rZXlfZm9yX3NpbmtfcHJvZmlsZSBtYXRjaCB0aGUgaW1wbGVtZW50YXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9nY29uZi9nY29uZi5oOgoJICBNYWtlIHRoZSBwcm90b3R5cGUgb2YgZ3N0X2djb25mX2dldF9rZXlfZm9yX3NpbmtfcHJvZmlsZQoJICBtYXRjaCB0aGUgaW1wbGVtZW50YXRpb24uCgkgIFBhdGNoIGJ5OiBEYW1pZW4gQ2FyYmVyeSA8ZGFtaWVuIGRvdCBjYXJiZXJ5IGF0IHN1biBkb3QgY29tPgoJICBGaXhlczogIzQ0OTc0NwoKMjAwNy0wNi0yMCAxMjo1NjoxMiArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgZ3N0L3J0cC9nc3RydHBkZXBheS5jOiBGaXggZGVzY3JpcHRpb24gLSBydHBkZXBheSBpcyBub3QgYSBwYXlsb2FkZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwZGVwYXkuYzoKCSAgRml4IGRlc2NyaXB0aW9uIC0gcnRwZGVwYXkgaXMgbm90IGEgcGF5bG9hZGVyLgoKMjAwNy0wNi0yMCAxMDoxNTowMCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzogRG9jdW1lbnQgcGFyYW1ldGVyIG1hcHBpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6CgkgIERvY3VtZW50IHBhcmFtZXRlciBtYXBwaW5nLgoKMjAwNy0wNi0yMCAwODo1NjoxNyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IEZpeCBsZWFraW5nIGJ1ZmZlcnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiAoZ3N0X3NwZWN0cnVtX2V2ZW50KSwKCSAgKGdzdF9zcGVjdHJ1bV90cmFuc2Zvcm1faXApOgoJICBGaXggbGVha2luZyBidWZmZXJzLgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NwZWN0cnVtLmM6IChzZXR1cF9zcGVjdHJ1bSksCgkgIChjbGVhbnVwX3NwZWN0cnVtKSwgKEdTVF9TVEFSVF9URVNUKSwgKHNwZWN0cnVtX3N1aXRlKSwgKG1haW4pOgoJICBBZGQgc2ltcGxlIHRlc3QgZm9yIHNwZWN0cnVtIGVsZW1lbnQuCgoyMDA3LTA2LTIwIDA4OjI2OjIxICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvcXRkZW11eC86IEFkZCBNSlBHIHRvIHRoZSB2YXJpYW50cyBvZiBtb3Rpb24ganBlZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF9wYXJzZV9zYW1wbGVzKSwKCSAgKHF0ZGVtdXhfdmlkZW9fY2Fwcyk6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eF9mb3VyY2MuaDoKCSAgQWRkIE1KUEcgdG8gdGhlIHZhcmlhbnRzIG9mIG1vdGlvbiBqcGVnLgoKMjAwNy0wNi0xOSAxNjo0MDo0MCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHRlc3RzL2NoZWNrLzogQWRkIEdTVF9PUFRJT05fQ0ZMQUdTIHRvIENGTEFHUyB3aGVuIGJ1aWxkaW5nIHVuaXQgdGVzdHMsIHNvIHRoZSBlcnJvciBmbGFncyBhcmUgaW5jbHVkZWQgYW5kIGl0IGVycm9ycy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3Bhbm9yYW1hLmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9jcm9wLmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9maWx0ZXIuYzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy93YXZwYWNrZGVjLmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvd2F2cGFja3BhcnNlLmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgIEFkZCBHU1RfT1BUSU9OX0NGTEFHUyB0byBDRkxBR1Mgd2hlbiBidWlsZGluZyB1bml0IHRlc3RzLCBzbyB0aGUKCSAgZXJyb3IgZmxhZ3MgYXJlIGluY2x1ZGVkIGFuZCBpdCBlcnJvcnMgb3V0IG9uIGNvbXBpbGVyIHdhcm5pbmdzCgkgIGZvciBDVlMgYnVpbGRzOyByZW1vdmUgdW51c2VkIHZhcmlhYmxlcyBpbiB2YXJpb3VzIHVuaXQgdGVzdHMuCgoyMDA3LTA2LTE5IDE0OjQ4OjAzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvcnRzcGNvbm5lY3Rpb24uYzogVXNlIHRocmVhZHNhZmUgaW5ldF9udG9wIHRvIGNvbnZlcnQgYW4gaXAgbnVtYmVyIHRvIGEgc3RyaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9ydHNwY29ubmVjdGlvbi5jOiAocnRzcF9jb25uZWN0aW9uX2Nvbm5lY3QpLAoJICAocnRzcF9jb25uZWN0aW9uX2Nsb3NlKSwgKHJ0c3BfY29ubmVjdGlvbl9mcmVlKToKCSAgVXNlIHRocmVhZHNhZmUgaW5ldF9udG9wIHRvIGNvbnZlcnQgYW4gaXAgbnVtYmVyIHRvIGEgc3RyaW5nLgoJICBGaXhlcyAjNDQ3OTYxLgoJICBEb24ndCBsZWFrIGZkIChhbmQgaXApIHdoZW4gZnJlZWluZyBhIGNvbm5lY3Rpb24gd2l0aG91dCBmaXJzdCBjbG9zaW5nCgkgIGl0LgoKMjAwNy0wNi0xOSAxNDoxMTo0OSArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZ3N0L3F0ZGVtdXgvTEVHQUw6CgkgIGFkZCAnTEVHQUwnIGZpbGUgZGVzY3JpYmluZyB3aHkgdGhpcyBpcyBpbiAtZ29vZCBhbmQgdW5kZXIgd2hhdCBjaXJjdW1zdGFuY2VzIGl0IG1pZ2h0IG5lZWQgdG8gbW92ZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGFkZCAnTEVHQUwnIGZpbGUgZGVzY3JpYmluZyB3aHkgdGhpcyBpcyBpbiAtZ29vZCBhbmQgdW5kZXIgd2hhdAoJICBjaXJjdW1zdGFuY2VzIGl0IG1pZ2h0IG5lZWQgdG8gbW92ZS4KCjIwMDctMDYtMTkgMTA6NDE6NDkgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgY29uZmlndXJlLmFjOiBCYWNrIHRvIENWUwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIEJhY2sgdG8gQ1ZTCgkgICogZ3N0LXBsdWdpbnMtZ29vZC5kb2FwOgoJICBBZGQgMC4xMC42IHRvIHRoZSBkb2FwIGZpbGUuCgo9PT0gcmVsZWFzZSAwLjEwLjYgPT09CgoyMDA3LTA2LTE5IDEwOjI0OjU1ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oYWxlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXVpY2t0aW1lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JhbGFuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmxpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAwLjEwLjYKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFJlbGVhc2UgMC4xMC42CgoyMDA3LTA2LTE4IDE3OjUzOjIwICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vY3MucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMDctMDYtMTcgMTI6MzU6MDMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcnRzcC9ydHNwY29ubmVjdGlvbi5jOiBSZXZlcnQgcHJldmlvdXMgY29tbWl0IGFnYWluLCBzaW5jZSB3ZSBhcmUgZnJvemVuIChzb3JyeSkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL3J0c3Bjb25uZWN0aW9uLmM6IChydHNwX2Nvbm5lY3Rpb25fY29ubmVjdCksCgkgIChydHNwX2Nvbm5lY3Rpb25fZnJlZSk6CgkgIFJldmVydCBwcmV2aW91cyBjb21taXQgYWdhaW4sIHNpbmNlIHdlIGFyZSBmcm96ZW4gKHNvcnJ5KS4KCjIwMDctMDYtMTcgMTI6MjQ6NTggKzAwMDAgIFBldGVyIEtqZWxsZXJzdGVkdCA8cGtqQGF4aXMuY29tPgoKCSAgZ3N0L3J0c3AvcnRzcGNvbm5lY3Rpb24uYzogaW5ldF9udG9hKCkgdXNlcyBhIHN0YXRpYyBidWZmZXIgaW50ZXJuYWxseSwgc28gd2UgbmVlZCB0byBjb3B5IHRoZSByZXR1cm5lZCBzdHJpbmcgaWYgd2UgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogUGV0ZXIgS2plbGxlcnN0ZWR0IDxwa2ogYXQgYXhpcyBjb20+CgkgICogZ3N0L3J0c3AvcnRzcGNvbm5lY3Rpb24uYzogKHJ0c3BfY29ubmVjdGlvbl9jb25uZWN0KSwKCSAgKHJ0c3BfY29ubmVjdGlvbl9mcmVlKToKCSAgaW5ldF9udG9hKCkgdXNlcyBhIHN0YXRpYyBidWZmZXIgaW50ZXJuYWxseSwgc28gd2UgbmVlZCB0byBjb3B5IHRoZQoJICByZXR1cm5lZCBzdHJpbmcgaWYgd2Ugd2FudCB0byBzdG9yZSBpdCBmb3IgbGF0ZXIgKCM0NDc5NjEpLgoKMjAwNy0wNi0xNSAwOToxMzo1NSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICB3aW4zMi92czYvOiBNYXJrICouZHNwICYgKi5kc3cgYXMgYmluYXJ5IGZpbGVzIGFuZCBjb252ZXJ0IHRvIERPUyBsaW5lIGVuZGluZ3MsIGFzIHRoZXkgZG9uJ3QgbG9hZCBpbnRvIFZTNiBjb3JyZWN0bHkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogd2luMzIvdnM2L2F1dG9nZW4uZHNwOgoJICAqIHdpbjMyL3ZzNi9nc3RfcGx1Z2luc19nb29kLmRzdzoKCSAgKiB3aW4zMi92czYvbGliZ3N0YWxhdy5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdGFscGhhLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0YWxwaGFjb2xvci5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdGFwZXRhZy5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdGF1ZGlvZnguZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RhdXBhcnNlLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0YXV0b2RldGVjdC5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdGF2aS5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdGN1dHRlci5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdGRpcmVjdGRyYXcuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RkaXJlY3Rzb3VuZC5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdGVmZmVjdHYuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RmbHguZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3Rnb29tLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0aWN5ZGVtdXguZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RpZDNkZW11eC5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdGludGVybGVhdmUuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RqcGVnLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0bGV2ZWwuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RtYXRyb3NrYS5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdG1lZGlhbi5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdG1vbm9zY29wZS5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdG11bGF3LmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0bXVsdGlwYXJ0LmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0cXRkZW11eC5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdHJ0cC5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdHJ0c3AuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RzbXB0ZS5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdHNwZWV4LmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0dWRwLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0dmlkZW9iYWxhbmNlLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0dmlkZW9ib3guZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3R2aWRlb2Nyb3AuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3R2aWRlb2ZsaXAuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3R2aWRlb21peGVyLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0d2F2ZWZvcm0uZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3R3YXZlbmMuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3R3YXZwYXJzZS5kc3A6CgkgIE1hcmsgKi5kc3AgJiAqLmRzdyBhcyBiaW5hcnkgZmlsZXMgYW5kIGNvbnZlcnQgdG8gRE9TIGxpbmUKCSAgZW5kaW5ncywgYXMgdGhleSBkb24ndCBsb2FkIGludG8gVlM2IGNvcnJlY3RseSBvdGhlcndpc2UuCgoyMDA3LTA2LTE1IDA4OjMyOjUyICswMDAwICBWaW5jZW50IFRvcnJpIDx2dG9ycmlAdW5pdi1ldnJ5LmZyPgoKCSAgZ3N0L3J0c3AvcnRzcGNvbm5lY3Rpb24uYzogRml4IHRoZSBNaW5nVyBidWlsZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvcnRzcGNvbm5lY3Rpb24uYzogKHJ0c3BfY29ubmVjdGlvbl9jcmVhdGUpLAoJICAocnRzcF9jb25uZWN0aW9uX2Nvbm5lY3QpOgoJICBGaXggdGhlIE1pbmdXIGJ1aWxkLgoJICBQYXRjaCBCeTogVmluY2VudCBUb3JyaSA8dnRvcnJpIGF0IHVuaXYtZXZyeSBkb3QgZnI+CgkgIEZpeGVzOiAjNDQ2OTgxCgoyMDA3LTA2LTE0IDE0OjAzOjQxICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIHRlc3RzLzogSHVzaCB0aGUgYnVpbGRib3RzIHVwCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5jdnNpZ25vcmU6CgkgICogdGVzdHMvaWNsZXMvLmN2c2lnbm9yZToKCSAgSHVzaCB0aGUgYnVpbGRib3RzIHVwCgoyMDA3LTA2LTE0IDEyOjE0OjI0ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIE1ha2Ugc3VyZSB0byBkaXN0IGV2ZXJ5dGhpbmcgbmVlZGVkIGZvciB3aW4zMiBidWlsZHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBzeXMvTWFrZWZpbGUuYW06CgkgICogc3lzL2RpcmVjdGRyYXcvTWFrZWZpbGUuYW06CgkgICogc3lzL2RpcmVjdHNvdW5kL01ha2VmaWxlLmFtOgoJICAqIHN5cy93YXZlZm9ybS9NYWtlZmlsZS5hbToKCSAgTWFrZSBzdXJlIHRvIGRpc3QgZXZlcnl0aGluZyBuZWVkZWQgZm9yIHdpbjMyIGJ1aWxkcy4KCjIwMDctMDYtMTQgMTA6MjM6MjAgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEZvciBBTVItTkIgc3RyZWFtcywgZXhwb3J0IHRoZSBBTVJTcGVjaWZpY0JveCBhcyBjb2RlY19kYXRhIG9uIHRoZSBjYXBzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3BhcnNlX3RyYWspOgoJICBGb3IgQU1SLU5CIHN0cmVhbXMsIGV4cG9ydCB0aGUgQU1SU3BlY2lmaWNCb3ggYXMgY29kZWNfZGF0YSBvbiB0aGUKCSAgY2Fwcy4KCSAgRml4ZXMgIzQ0NzQ1OAoKMjAwNy0wNi0xMyAxNzoxMToyNCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6IE1ha2Ugc3VyZSB3ZSBhbGxvY2F0ZSBlbm91Z2ggbWVtb3J5IGZvciB0aGUgY29kZWNfZGF0YS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzogKGdzdF9ydHBfaDI2NF9kZXBheV9zZXRjYXBzKToKCSAgTWFrZSBzdXJlIHdlIGFsbG9jYXRlIGVub3VnaCBtZW1vcnkgZm9yIHRoZSBjb2RlY19kYXRhLgoJICBGaXhlcyAjNDQ3MjEwLgoKMjAwNy0wNi0xMiAyMTowNToyMiArMDAwMCAgU8OpYmFzdGllbiBNb3V0dGUgPHNlYmFzdGllbkBtb3V0dGUubmV0PgoKCSAgd2luMzIvTUFOSUZFU1Q6IEFkZCB2aWRlb2Nyb3AgcHJvamVjdCBmaWxlIHRvIHRoZSB3aW4zMiBtYW5pZmVzdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogd2luMzIvTUFOSUZFU1Q6CgkgIEFkZCB2aWRlb2Nyb3AgcHJvamVjdCBmaWxlIHRvIHRoZSB3aW4zMiBtYW5pZmVzdC4KCSAgKiB3aW4zMi92czYvZ3N0X3BsdWdpbnNfZ29vZC5kc3c6CgkgIEFkZCBxdGRlbXV4LHZpZGVvY3JvcCBhbmQgd2F2ZWZvcm0gcHJvamVjdHMgdG8gdGhlIHdvcmtzcGFjZS4KCSAgKiB3aW4zMi92czYvbGliZ3N0cXRkZW11eC5kc3A6CgkgIEFkZCB6bGliIHRvIHRoZSBsaW5rIGxpc3Qgb2YgcXRkZW11eC4KCSAgKiB3aW4zMi92czYvbGliZ3N0dmlkZW9jcm9wLmRzcDoKCSAgQWRkIGEgcHJvamVjdCBmaWxlIGZvciB2aWRlb2Nyb3AuCgoyMDA3LTA2LTEyIDIwOjIyOjI2ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIHBvL1BPVEZJTEVTLmluOiBBZGQgcXRkZW11eCBmb3IgdHJhbnNsYXRpb24KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogcG8vUE9URklMRVMuaW46CgkgIEFkZCBxdGRlbXV4IGZvciB0cmFuc2xhdGlvbgoKMjAwNy0wNi0xMiAyMDoxNToyOSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBNb3ZlIHZpZGVvY3JvcCBhbmQgb3N4dmlkZW8gZnJvbSAtYmFkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJICAqIGdzdC1wbHVnaW5zLWdvb2Quc3BlYy5pbjoKCSAgKiBzeXMvTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvaWNsZXMvTWFrZWZpbGUuYW06CgkgICogdGVzdHMvaWNsZXMvdmlkZW9jcm9wLXRlc3QuYzoKCSAgTW92ZSB2aWRlb2Nyb3AgYW5kIG9zeHZpZGVvIGZyb20gLWJhZC4KCjIwMDctMDYtMTIgMTk6MzU6MDggKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgTW92ZSBxdGRlbXV4IGZyb20gLWJhZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF0ZGVtdXgueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdWlja3RpbWUueG1sOgoJICAqIHdpbjMyL01BTklGRVNUOgoJICBNb3ZlIHF0ZGVtdXggZnJvbSAtYmFkLgoJICAqIGdzdC1wbHVnaW5zLWdvb2Quc3BlYy5pbjoKCSAgVXBkYXRlIHNwZWMgZmlsZSB0byByZWZsZWN0IG1vdmluZyBvZiBxdGRlbXV4IGFuZCB3YXZwYWNrCgoyMDA3LTA2LTEyIDE5OjAxOjQxICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkqIENoYW5nZUxvZzoKCSogd2luMzIvTUFOSUZFU1Q6CgkgIEZpeCB0eXBvIGluIHRoZSBjaGFuZ2Vsb2cgYW5kIGNvbW1pdCB0aGUgbWFuaWZlc3QgdG9vCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBGaXggdHlwbyBpbiB0aGUgY2hhbmdlbG9nIGFuZCBjb21taXQgdGhlIG1hbmlmZXN0IHRvbwoKMjAwNy0wNi0xMiAxODo1MjozMyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICB3aW4zMi9NQU5JRkVTVAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB3aW4zMi9NQU5JRkVTVAoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGlyZWN0ZHJhdy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRpcmVjdHNvdW5kLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZWZvcm0ueG1sOgoJICBNb3ZlIHRoZSB3YXZlZm9ybSBwbHVnaW4gZnJvbSAtYmFkIHRvby4gVXBkYXRlIHRoZSBpbnNwZWN0IHhtbAoJICBmaWxlcyB0byBtZW50aW9uIFBsdWdpbnMgR29vZCBpbnN0ZWFkIG9mIFBsdWdpbnMgQmFkLgoKMjAwNy0wNi0xMiAxMzozMzo1NiArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkgIFJldHVybiBhIGNvcHkgb2YgdGhlIHBvb2wgYnVmZmVyIGlmIGFsbCBtbWFwIGJ1ZmZlcnMgaGF2ZSBiZWVuIGRlcXVldWVkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKGdzdF92NGwyc3JjX2dyYWJfZnJhbWUpOiBSZXR1cm4gYSBjb3B5IG9mIHRoZSBwb29sIGJ1ZmZlciBpZiBhbGwKCSAgbW1hcCBidWZmZXJzIGhhdmUgYmVlbiBkZXF1ZXVlZC4KCjIwMDctMDYtMTIgMTE6MjM6MDEgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkgIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYyAoZ3N0X3Y0bDJfYnVmZmVyX2ZpbmFsaXplKSAoZ3N0X3Y0bDJfYnVmZmVyX2NsYXNzX2luaXQsIGdzdF92NGwyX2J1ZmZlcl9nZXRfdHlwZSkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMDYtMTIgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jIChnc3RfdjRsMl9idWZmZXJfZmluYWxpemUpCgkgIChnc3RfdjRsMl9idWZmZXJfY2xhc3NfaW5pdCwgZ3N0X3Y0bDJfYnVmZmVyX2dldF90eXBlKQoJICAoZ3N0X3Y0bDJfYnVmZmVyX25ldyk6IEJlaGF2ZSBtb3JlIGxpa2UgeGltYWdlc2luaydzIGJ1ZmZlcnMsIHdpdGgKCSAgZmluYWxpemF0aW9uIGFuZCByZXN1c2NpdGF0aW9uLiBObyBsb25nZXIgcHVibGljLgoJICAoZ3N0X3Y0bDJfYnVmZmVyX3Bvb2xfZmluYWxpemUsIGdzdF92NGwyX2J1ZmZlcl9wb29sX2luaXQpCgkgIChnc3RfdjRsMl9idWZmZXJfcG9vbF9jbGFzc19pbml0LCBnc3RfdjRsMl9idWZmZXJfcG9vbF9nZXRfdHlwZSkKCSAgKGdzdF92NGwyX2J1ZmZlcl9wb29sX25ldywgZ3N0X3Y0bDJfYnVmZmVyX3Bvb2xfYWN0aXZhdGUpCgkgIChnc3RfdjRsMl9idWZmZXJfcG9vbF9kZXN0cm95KTogTWFrZSB0aGUgcG9vbCBmb2xsb3cgY29tbW9uCgkgIG1pbmlvYmplY3Qgc2VtYW50aWNzLCBhbmQgYmUgdGhyZWFkc2FmZS4KCSAgKGdzdF92NGwyc3JjX3F1ZXVlX2ZyYW1lKTogUmVtb3ZlIHRoaXMgZnVuY3Rpb24sIGFzIHdlIGp1c3QgY2FsbAoJICB0aGUgaW9jdGxzIGRpcmVjdGx5IGluIHRoZSB0d28gcGxhY2VzIHdoZXJlIHdlIHF1ZXVlIGJ1ZmZlcnMuCgkgIChnc3RfdjRsMnNyY19ncmFiX2ZyYW1lKTogUmV0dXJuIGEgZmxvd3JldHVybiBhbmQgZmlsbCB0aGUgYnVmZmVyCgkgIGRpcmVjdGx5LgoJICAoZ3N0X3Y0bDJzcmNfY2FwdHVyZV9pbml0KTogVXNlIHRoZSBuZXcgYnVmZmVyX3Bvb2xfbmV3IGZ1bmN0aW9uCgkgIHRvIGFsbG9jYXRlIHRoZSBwb29sLCB3aGljaCBhbHNvIHByZWFsbG9jYXRlcyB0aGUgR3N0QnVmZmVycy4KCSAgKGdzdF92NGwyc3JjX2NhcHR1cmVfc3RhcnQpOiBDYWxsIGJ1ZmZlcl9wb29sX2FjdGl2YXRlIGluc3RlYWQgb2YKCSAgcXVldWVpbmcgdGhlIGZyYW1lcyBkaXJlY3RseS4KCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmggKHN0cnVjdCBfR3N0VjRsMkJ1ZmZlclBvb2wpOiBNYWtlIHRoaXMgYQoJICByZWFsIE1pbmlPYmplY3QgaW5zdGVhZCBvZiByb2xsaW5nIG91ciBvd24gcmVmY291bnRpbmcgYW5kCgkgIGZpbmFsaXppbmcuIEdpdmUgaXQgYSBsb2NrLgoJICAoc3RydWN0IF9Hc3RWNGwyQnVmZmVyKTogUmVtb3ZlIG9uZSBpbnRlcm1lZGlhcnkgb2JqZWN0LCBoYXZpbmcKCSAgdGhlIGJ1ZmZlcnMgaG9sZCB0aGUgc3RydWN0IHY0bDJfYnVmZmVyIGRpcmVjdGx5LgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuYyAoZ3N0X3Y0bDJzcmNfc2V0X2NhcHMpOiBQYXNzIHRoZSBjYXBzIHRvCgkgIGNhcHR1cmVfaW5pdCBzbyB0aGF0IGl0IGNhbiBzZXQgdGhlbSBvbiB0aGUgYnVmZmVycyB0aGF0IGl0IHdpbGwKCSAgY3JlYXRlLgoJICAoZ3N0X3Y0bDJzcmNfZ2V0X3JlYWQpOiBGb3IgYmV0dGVyIG9yIGZvciB3b3JzZSwgaW5jbHVkZSB0aGUKCSAgdGltZXN0YW1waW5nIGFuZCBvZmZzZXR0aW5nIGNvZGUgaGVyZTsgcmVhbGx5IHdlIHNob3VsZCBiZSB1c2luZwoJICBidWZmZXJhbGxvYyB0aG91Z2guCgkgIChnc3RfdjRsMnNyY19nZXRfbW1hcCk6IEp1c3QgbWFrZSBncmFiX2ZyYW1lIHJldHVybiBvbmUgb2Ygb3VyCgkgIHByZWFsbG9jYXRlZCwgbW1hcCdkIGJ1ZmZlcnMuCgoyMDA3LTA2LTExIDExOjQxOjU2ICswMDAwICBkYW5pZWwgZmlzY2hlciA8ZGFuQGYzYy5jb20+CgoJICBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOiBBY3R1YWxseSB1c2UgdGhlIGRpc3BsYXlfbmFtZSBwcm9wZXJ0eSBzbyB0aGF0IHdlIGNhbiBkdW1wIGFueSBhdmFpbGFibGUgWCBkaXNwbGF5LiBGaXhlcyAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBkYW5pZWwgZmlzY2hlciA8ZGFuIGF0IGYzYyBkb3QgY29tPgoJICAqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6IChnc3RfeGltYWdlX3NyY19zdGFydCksCgkgIChnc3RfeGltYWdlX3NyY19nZXRfY2Fwcyk6CgkgIEFjdHVhbGx5IHVzZSB0aGUgZGlzcGxheV9uYW1lIHByb3BlcnR5IHNvIHRoYXQgd2UgY2FuIGR1bXAgYW55CgkgIGF2YWlsYWJsZSBYIGRpc3BsYXkuIEZpeGVzICM0NDU5MDUuCgoyMDA3LTA2LTExIDEwOjIxOjEzICswMDAwICBUb21taSBNecO2aMOkbmVuIDxleHQtdG9tbWkubXlvaGFuZW5Abm9raWEuY29tPgoKCSAgZ3N0L3J0cC86IEFkZCBtaXNzaW5nIHJhdGUgZmllbGRzIHRvIGNhcHMuIEZpeGVzICM0NDExMTguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogVG9tbWkgTXnDtmjDpG5lbiAgPGV4dC10b21taSBkb3QgbXlvaGFuZW4gYXQgbm9raWEgZG90IGNvbT4KCSAgKiBnc3QvcnRwL2dzdHJ0cHBjbWFkZXBheS5jOiAoZ3N0X3J0cF9wY21hX2RlcGF5X3NldGNhcHMpOgoJICAqIGdzdC9ydHAvZ3N0cnRwcGNtdWRlcGF5LmM6IChnc3RfcnRwX3BjbXVfZGVwYXlfc2V0Y2Fwcyk6CgkgIEFkZCBtaXNzaW5nIHJhdGUgZmllbGRzIHRvIGNhcHMuIEZpeGVzICM0NDExMTguCgoyMDA3LTA2LTEwIDIxOjE0OjExICswMDAwICBTw6liYXN0aWVuIE1vdXR0ZSA8c2ViYXN0aWVuQG1vdXR0ZS5uZXQ+CgoJICB3aW4zMi86IEFkZCBEaXJlY3RTb3VuZCBhbmQgRGlyZWN0RHJhdyBzaW5rcyBwcm9qZWN0IGZpbGVzIHRvIHdvcmtzcGFjZSBhbmQgc29sdXRpb24gZmlsZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHdpbjMyL3ZzNi9nc3RfcGx1Z2luc19nb29kLmRzdzoKCSAgKiB3aW4zMi92czgvZ3N0LXBsdWdpbnMtZ29vZC5zbG46CgkgIEFkZCBEaXJlY3RTb3VuZCBhbmQgRGlyZWN0RHJhdyBzaW5rcyBwcm9qZWN0IGZpbGVzIHRvCgkgIHdvcmtzcGFjZSBhbmQgc29sdXRpb24gZmlsZXMuCgoyMDA3LTA2LTEwIDEwOjUzOjI2ICswMDAwICBKb3NoIENvYWxzb24gPHhmbGFjQHlhaG9vLmNvbT4KCgkgIEFkZCBzdXBwb3J0IGZvciBmbGFjID49IDEuMS4zIHdoaWNoIGNoYW5nZWQgdGhlIEFQSS4gRml4ZXMgYnVnICMzODU4ODcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogSm9zaCBDb2Fsc29uIDx4ZmxhYyBhdCB5YWhvbyBkb3QgY29tPiwKCSAgdXBkYXRlZCBieSBBbGV4aXMgQmFsbGllciA8YWJhbGxpZXIgYXQgZ2VudG9vIGRvdCBvcmc+OgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6IChnc3RfZmxhY19kZWNfcmVzZXRfZGVjb2RlcnMpLAoJICAoZ3N0X2ZsYWNfZGVjX3NldHVwX3NlZWthYmxlX2RlY29kZXIpLAoJICAoZ3N0X2ZsYWNfZGVjX3NldHVwX3N0cmVhbV9kZWNvZGVyKSwgKGdzdF9mbGFjX2RlY19zZWVrKSwKCSAgKGdzdF9mbGFjX2RlY190ZWxsKSwgKGdzdF9mbGFjX2RlY19sZW5ndGgpLCAoZ3N0X2ZsYWNfZGVjX2VvZiksCgkgIChnc3RfZmxhY19kZWNfcmVhZF9zZWVrYWJsZSksIChnc3RfZmxhY19kZWNfcmVhZF9zdHJlYW0pOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNkZWMuaDoKCSAgKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6IChnc3RfZmxhY19lbmNfaW5pdCksCgkgIChnc3RfZmxhY19lbmNfZmluYWxpemUpLCAoZ3N0X2ZsYWNfZW5jX3NldF9tZXRhZGF0YSksCgkgIChnc3RfZmxhY19lbmNfc2lua19zZXRjYXBzKSwgKGdzdF9mbGFjX2VuY191cGRhdGVfcXVhbGl0eSksCgkgIChnc3RfZmxhY19lbmNfc2Vla19jYWxsYmFjayksIChnc3RfZmxhY19lbmNfd3JpdGVfY2FsbGJhY2spLAoJICAoZ3N0X2ZsYWNfZW5jX3RlbGxfY2FsbGJhY2spLCAoZ3N0X2ZsYWNfZW5jX3NpbmtfZXZlbnQpLAoJICAoZ3N0X2ZsYWNfZW5jX2NoYWluKSwgKGdzdF9mbGFjX2VuY19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2ZsYWNfZW5jX2dldF9wcm9wZXJ0eSksIChnc3RfZmxhY19lbmNfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvZmxhYy9nc3RmbGFjZW5jLmg6CgkgIEFkZCBzdXBwb3J0IGZvciBmbGFjID49IDEuMS4zIHdoaWNoIGNoYW5nZWQgdGhlIEFQSS4gRml4ZXMgYnVnICMzODU4ODcuCgoyMDA3LTA2LTA5IDE1OjQxOjUyICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6IFJlbW92ZSB3b3JrYXJvdW5kIGZvciBidWcgIzQyMTU0My4gVGhpcyBpcyBmaXhlZCBpbiBjb3JlIDAuMTAuMTMgYW5kIG5vdCBuZWNlc3NhcnkgYW55bW8uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOiAoZ3N0X3dhdnBhY2tfZW5jX3Npbmtfc2V0X2NhcHMpOgoJICBSZW1vdmUgd29ya2Fyb3VuZCBmb3IgYnVnICM0MjE1NDMuIFRoaXMgaXMgZml4ZWQgaW4gY29yZSAwLjEwLjEzIGFuZAoJICBub3QgbmVjZXNzYXJ5IGFueW1vcmUgYXMgd2UgbmVlZCBhdCBsZWFzdCB0aGF0IGNvcmUgdmVyc2lvbi4KCjIwMDctMDYtMDkgMTU6MzM6MzIgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC93YXZwYWNrLzogSW1wcm92ZSBkaXNjb250IGhhbmRsaW5nIGJ5IGNoZWNraW5nIGlmIHRoZSBuZXh0IFdhdnBhY2sgYmxvY2sgaGFzIHRoZSBleHBlY3RlZCwgZm9sbG93aW5nIGJsb2NrIGluZGV4LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IChnc3Rfd2F2cGFja19kZWNfcmVzZXQpLAoJICAoZ3N0X3dhdnBhY2tfZGVjX2NoYWluKToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmg6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IChnc3Rfd2F2cGFja19wYXJzZV9yZXNldCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9wdXNoX2J1ZmZlcik6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmg6CgkgIEltcHJvdmUgZGlzY29udCBoYW5kbGluZyBieSBjaGVja2luZyBpZiB0aGUgbmV4dCBXYXZwYWNrIGJsb2NrIGhhcwoJICB0aGUgZXhwZWN0ZWQsIGZvbGxvd2luZyBibG9jayBpbmRleC4KCjIwMDctMDYtMDggMjA6MjM6MDcgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSAgbW9hcCBpZ25vcmUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIG1vYXAgaWdub3JlCgoyMDA3LTA2LTA4IDIwOjIwOjU2ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5jIChnc3RfcnRwX21wNHZwYXlfZGV0YWlscyk6IEZpeCBlbGVtZW50IGRlc2NyaXB0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuYyAoZ3N0X3J0cF9tcDR2cGF5X2RldGFpbHMpOgoJICBGaXggZWxlbWVudCBkZXNjcmlwdGlvbi4KCjIwMDctMDYtMDggMjA6MTk6NTUgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgbW92ZSB3YXZwYWNrIHBsdWdpbi4gIFNlZSAjMzUyNjA1LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLnNpZ25hbHM6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkgICogZXh0L01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBtb3ZlIHdhdnBhY2sgcGx1Z2luLiAgU2VlICMzNTI2MDUuCgoyMDA3LTA2LTA4IDE5OjQ1OjQzICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgdGhlIGFscGhhYmV0IHRyaXBwaW5nIHVwIHBlb3BsZSBzaW5jZSAxMDkyOUJDCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB0aGUgYWxwaGFiZXQKCSAgdHJpcHBpbmcgdXAgcGVvcGxlIHNpbmNlIDEwOTI5QkMKCjIwMDctMDYtMDggMTc6Mzc6MDIgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgQWRkIERpcmVjdERyYXcgJiBEaXJlY3RTb3VuZCBwbHVnaW5zIHRvIHRoZSBidWlsZCBhbmQgZG9jcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkgICogc3lzL01ha2VmaWxlLmFtOgoJICAqIHdpbjMyL01BTklGRVNUOgoJICBBZGQgRGlyZWN0RHJhdyAmIERpcmVjdFNvdW5kIHBsdWdpbnMgdG8gdGhlIGJ1aWxkIGFuZCBkb2NzLgoKMjAwNy0wNi0wOCAxNjozMToxNSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBSZW5hbWUgdGhlIGtlZXAtYXNwZWN0LXJhdGlvIHByb3BlcnR5IHRvIGZvcmNlLWFzcGVjdC1yYXRpbyB0byBtYWtlIGl0IGNvbnNpc3RlbnQgd2l0aCB4dmltYWdlc2luayBhbmQgeGltYWdlc2luay4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgKGdzdF9kaXJlY3RkcmF3X3NpbmtfY2xhc3NfaW5pdCk6CgkgIFJlbmFtZSB0aGUga2VlcC1hc3BlY3QtcmF0aW8gcHJvcGVydHkgdG8gZm9yY2UtYXNwZWN0LXJhdGlvIHRvIG1ha2UKCSAgaXQgY29uc2lzdGVudCB3aXRoIHh2aW1hZ2VzaW5rIGFuZCB4aW1hZ2VzaW5rLgoKMjAwNy0wNi0wOCAxMDo0MzoyNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC86IFdoZW4gb3BlcmF0aW5nIGluIHB1bGwgbW9kZSwgZXJyb3Igb3V0IGNvcnJlY3Qgb24gbm90LWxpbmtlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2R2L2dzdGR2ZGVtdXguYzogKGdzdF9kdmRlbXV4X2xvb3ApOgoJICAqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6ICh1c2VyX3JlYWRfZGF0YSksIChnc3RfcG5nZGVjX3Rhc2spOgoJICBXaGVuIG9wZXJhdGluZyBpbiBwdWxsIG1vZGUsIGVycm9yIG91dCBjb3JyZWN0IG9uIG5vdC1saW5rZWQuCgoyMDA3LTA2LTA4IDA4OjEyOjQzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgdGVzdHMvaWNsZXMvdmlkZW9jcm9wLXRlc3QuYzogRGVmYXVsdCB0byB4dmltYWdlc2luayBpbnN0ZWFkIG9mIGF1dG92aWRlb3Npbmsgd2hpbGUgYXV0b3ZpZGVvc2luay9naG9zdHBhZHMvd2hhdGV2ZXIgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2ljbGVzL3ZpZGVvY3JvcC10ZXN0LmM6IChtYWluKToKCSAgRGVmYXVsdCB0byB4dmltYWdlc2luayBpbnN0ZWFkIG9mIGF1dG92aWRlb3Npbmsgd2hpbGUKCSAgYXV0b3ZpZGVvc2luay9naG9zdHBhZHMvd2hhdGV2ZXIgZG9uJ3QgaGFuZGxlIHRoZSB3YXkgd2UgdXNlIGl0IGluCgkgIHRoZSB3YXkgd2UgZXhwZWN0IGl0IHRvLgoKMjAwNy0wNi0wNiAxMDoxOToxNyArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkgIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYyAoZ3N0X3Y0bDJzcmNfcHJvYmVfY2Fwc19mb3JfZm9ybWF0KQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNy0wNi0wNiAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmMgKGdzdF92NGwyc3JjX3Byb2JlX2NhcHNfZm9yX2Zvcm1hdCkKCSAgKGdzdF92NGwyc3JjX3Byb2JlX2NhcHNfZm9yX2Zvcm1hdF9hbmRfc2l6ZSk6IE9ubHkgcHJvYmUgZm9yCgkgIGZvcm1hdCBhbmQgc2l6ZSBpZiB0aGUgaW9jdGxzIGFyZSBkZWZpbmVkOyBzaG91bGQgZml4IGNvbXBpbGF0aW9uCgkgIG9uIExpbnV4IDwgMi4xNi4xOS4KCjIwMDctMDYtMDYgMDg6NTM6MTIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzogUHJpbnRmIGZpeGVzIGluIGRlYnVnIHN0YXRlbWVudHM7IHVzZSBMT0cgbGV2ZWwgZm9yIGRlYnVnIHN0YXRlbWVudHMgdGhhdCBhcmUgcHJpbnRlZCBmb3IuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6IChnc3RfdmlkZW9fYm94X2F5dXZfaTQyMCk6CgkgIFByaW50ZiBmaXhlcyBpbiBkZWJ1ZyBzdGF0ZW1lbnRzOyB1c2UgTE9HIGxldmVsIGZvciBkZWJ1ZyBzdGF0ZW1lbnRzCgkgIHRoYXQgYXJlIHByaW50ZWQgZm9yIGVhY2ggYW5kIGV2ZXJ5IGZyYW1lOyBjb252ZXJ0IGMrKyBjb21tZW50cyB0bwoJICBDLXN0eWxlIGNvbW1lbnRzOyBub3QgbXVjaCBwb2ludCB1c2luZyBnX3RyeV9tYWxsb2MoKSBpZiB3ZSB0aGVuIG5vdAoJICBldmVuIGNoZWNrIHRoZSByZXR1cm4gdmFsdWUuCgoyMDA3LTA2LTA1IDE2OjMyOjE5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgY29uZmlndXJlLmFjOiBCdW1wIHJlcXVpcmVtZW50cyB0byByZWxlYXNlZCB2ZXJzaW9ucyAoY29yZSBhbmQgYmFzZSAwLjEwLjEzKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBCdW1wIHJlcXVpcmVtZW50cyB0byByZWxlYXNlZCB2ZXJzaW9ucyAoY29yZSBhbmQgYmFzZSAwLjEwLjEzKS4KCSAgKiBnc3QvaWN5ZGVtdXgvZ3N0aWN5ZGVtdXguYzogKGdzdF9pY3lkZW11eF91bmljb2RpZnkpOgoJICBVc2UgZ3N0X3RhZ191dGY4X2Zyb21fZnJlZWZvcm1fc3RyaW5nKCkgZnJvbSBsaWJnc3R0YWcgaW5zdGVhZCBvZgoJICBvd24gaW1wbGVtZW50YXRpb24uCgoyMDA3LTA2LTA1IDE0OjE3OjI1ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJICBzeXMvdjRsMi9nc3R2NGwyc3JjLmMgKGdzdF92NGwyc3JjX3N0YXJ0LCBnc3RfdjRsMnNyY19zdG9wKTogQWRkIHNvbWUgdXNlbGVzcyBjb21tZW50cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMDYtMDUgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jIChnc3RfdjRsMnNyY19zdGFydCwgZ3N0X3Y0bDJzcmNfc3RvcCk6IEFkZAoJICBzb21lIHVzZWxlc3MgY29tbWVudHMuCgkgICogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jIChnc3RfdjRsMnNyY19jYXB0dXJlX2luaXQpOiBEb24ndCBxdWV1ZQoJICBmcmFtZXMgYmVmb3JlIGNhbGxpbmcgU1RSRUFNT04sIHRoYXQgbWlnaHQgbGVhdmUgdGhlbSBpbiBhIHN0YXRlCgkgIHdoZXJlIHRoZXkgY2FuJ3QgYmUgZGVxdWV1ZWQgaWYgd2UgZ28gYmFjayB0byBOVUxMIHdpdGhvdXQgY2FsbGluZwoJICBTVFJFQU1PTiwgYWNjb3JkaW5nIHRvIHRoZSBkb2NzLgoJICAoZ3N0X3Y0bDJzcmNfY2FwdHVyZV9zdGFydCk6IEVucXVldWUgYnVmZmVycyBoZXJlIGluc3RlYWQsIHJpZ2h0CgkgIGJlZm9yZSB3ZSBjYWxsIFNUUkVBTU9OLgoJICAoZ3N0X3Y0bDJzcmNfY2FwdHVyZV9kZWluaXQpOiBSZW1vdmUgY3JhY2sgdG8gd29yayBhcm91bmQgZGVxdWV1ZQoJICBmYWlsdXJlcy4gKEZvciBtZSB0aGlzIGNvZGUgaHVuZy4pIFRoZSBwb29sIHJlZmNvdW50aW5nIGlzIHN0aWxsCgkgIGNyYWNrOyBhZGRlZCBhIG5vdGUgdG8gdGhhdCBlZmZlY3QuCgoyMDA3LTA2LTA1IDA5OjExOjQxICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L211bHRpcGFydC9tdWx0aXBhcnRtdXguYzogQWRkIHN1cHBvcnQgZm9yIG1hcHBpbmcgZ3N0IHN0cnVjdHVyZSBuYW1lcyB0byB0aGUgTUlNRSB0eXBlIGVxdWl2YWxlbnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0bXV4LmM6IChnc3RfbXVsdGlwYXJ0X211eF9jbGFzc19pbml0KSwKCSAgKGdzdF9tdWx0aXBhcnRfbXV4X2dldF9taW1lKSwgKGdzdF9tdWx0aXBhcnRfbXV4X2NvbGxlY3RlZCk6CgkgIEFkZCBzdXBwb3J0IGZvciBtYXBwaW5nIGdzdCBzdHJ1Y3R1cmUgbmFtZXMgdG8gdGhlIE1JTUUgdHlwZSBlcXVpdmFsZW50LgoJICBJbXBsZW1lbnRlZCBmb3IgYXVkaW8veC1tdWxhdy0+YXVkaW8vYmFzaWMuIEZpeGVzICM0NDI4NzQuCgoyMDA3LTA2LTAzIDExOjIxOjQ0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy4qOiBQcm9wZXJseSB3cml0ZSB3YXYgZmlsZXMgd2l0aCB3aWR0aCE9ZGVwdGggYnkgaGF2aW5nIHRoZSBkZXB0aCBtb3N0IHNpZ25pZmljYW50IGJ5dGVzIHNldCBhbmQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuYzogKGdzdF93YXZlbmNfY3JlYXRlX2hlYWRlcl9idWYpLAoJICAoZ3N0X3dhdmVuY19zaW5rX3NldGNhcHMpLCAoZ3N0X3dhdmVuY19mb3JtYXRfc2FtcGxlcyksCgkgIChnc3Rfd2F2ZW5jX2NoYWluKSwgKGdzdF93YXZlbmNfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5oOgoJICBQcm9wZXJseSB3cml0ZSB3YXYgZmlsZXMgd2l0aCB3aWR0aCE9ZGVwdGggYnkgaGF2aW5nIHRoZSBkZXB0aCBtb3N0CgkgIHNpZ25pZmljYW50IGJ5dGVzIHNldCBhbmQgYWxsIG90aGVycyB6ZXJvLiBGaXhlcyAjNDQyNTM1LgoKMjAwNy0wNi0wMSAxMzo1MjoxNyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL3J0c3Bjb25uZWN0aW9uLmM6IEFkZCBpbmNsdWRlIHRvIG1ha2UgYnVpbGRib3QgaGFwcHkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL3J0c3Bjb25uZWN0aW9uLmM6CgkgIEFkZCBpbmNsdWRlIHRvIG1ha2UgYnVpbGRib3QgaGFwcHkuCgoyMDA3LTA2LTAxIDEzOjA3OjExICswMDAwICBQZXRlciBLamVsbGVyc3RlZHQgPHBrakBheGlzLmNvbT4KCgkgIGdzdC9ydHNwLzogSW1wcm92ZXMgdmVyc2lvbiBjaGVja2luZywgYWxsb3dpbmcgYW4gUlRTUCBzZXJ2ZXIgdG8gcmVwbHkgd2l0aCAiNTA1CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogUGV0ZXIgS2plbGxlcnN0ZWR0ICA8cGtqIGF0IGF4aXMgY29tPgoJICAqIGdzdC9ydHNwL3J0c3Bjb25uZWN0aW9uLmM6IChydHNwX2Nvbm5lY3Rpb25fY3JlYXRlKSwKCSAgKHJ0c3BfY29ubmVjdGlvbl9jb25uZWN0KSwgKGFkZF9kYXRlX2hlYWRlciksCgkgIChydHNwX2Nvbm5lY3Rpb25fc2VuZCksIChwYXJzZV9yZXNwb25zZV9zdGF0dXMpLAoJICAocGFyc2VfcmVxdWVzdF9saW5lKSwgKHBhcnNlX2xpbmUpLCAocnRzcF9jb25uZWN0aW9uX3JlY2VpdmUpOgoJICAqIGdzdC9ydHNwL3J0c3BkZWZzLmM6IChydHNwX3ZlcnNpb25fYXNfdGV4dCk6CgkgICogZ3N0L3J0c3AvcnRzcGRlZnMuaDoKCSAgKiBnc3QvcnRzcC9ydHNwbWVzc2FnZS5jOiAoa2V5X3ZhbHVlX2ZvcmVhY2gpLAoJICAocnRzcF9tZXNzYWdlX2luaXRfcmVxdWVzdCksIChydHNwX21lc3NhZ2VfaW5pdF9yZXNwb25zZSksCgkgIChydHNwX21lc3NhZ2VfcmVtb3ZlX2hlYWRlciksIChydHNwX21lc3NhZ2VfYXBwZW5kX2hlYWRlcnMpLAoJICAocnRzcF9tZXNzYWdlX2R1bXApOgoJICAqIGdzdC9ydHNwL3J0c3BtZXNzYWdlLmg6CgkgIEltcHJvdmVzIHZlcnNpb24gY2hlY2tpbmcsIGFsbG93aW5nIGFuIFJUU1Agc2VydmVyIHRvIHJlcGx5IHdpdGggIjUwNQoJICBSVFNQIFZlcnNpb24gbm90IHN1cHBvcnRlZC4KCSAgQWRkcyBhIERhdGUgaGVhZGVyIHRvIGFsbCBtZXNzYWdlcy4KCSAgUmVwbGllcyB3aXRoIFJUU1BfRVBBUlNFIHJhdGhlciB0aGFuIFJUU1BfRUlOVkFMSUQgaW4gY2FzZXMgd2hlcmUgd2UKCSAgd2FudCB0byBiZSBhYmxlIHRvIHNlbmQgYSByZXNwb25zZSBldmVuIGlmIHNvbWV0aGluZyBpbiB0aGUgcmVxdWVzdCB3YXMKCSAgaW52YWxpZC4gRUlOVkFMIGlzIG9ubHkgdXNlZCB3aGVuIHBhc3Npbmcgd3JvbmcgYXJndW1lbnRzIHRvIGZ1bmN0aW9ucy4KCSAgRG8gbm90IGhhbmRsZSBhbiBpbnZhbGlkIG1ldGhvZCBpbiBwYXJzZV9yZXF1ZXN0X2xpbmUoKS4gRGVmZXIgdGhpcyB0bwoJICB0aGUgY2FsbGVyIHNvIGl0IGNhbiByZXNwb25kIHdpdGggIjQwNSBNZXRob2QgTm90IEFsbG93ZWQiLgoJICBJbXByb3ZlcyBwYXJzaW5nIG9mIHRoZSB0aW1lb3V0IHBhcmFtZXRlciB0byB0aGUgU2Vzc2lvbiBoZWFkZXIsCgkgIGFsbG93aW5nIHdoaXRlc3BhY2UgYWZ0ZXIgdGhlIHNlbWljb2xvbi4KCSAgQXZvaWRzIGEgY29tcGlsZXIgd2FybmluZyBkdWUgdG8gdmFyaWFibGVzIHNoYWRvd2luZyBhIGZ1bmN0aW9uIGFyZ3VtZW50LgoKMjAwNy0wNi0wMSAxMToxNjoxNyArMDAwMCAgRGFuaWVsIENoYXJsZXMgPGRjaGFybGVzQHRpLmNvbT4KCgkgIGdzdC9ydHAvOiBBZGQgc3VwcG9ydCBmb3IgQU1SLVdCLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQmFzZWQgb24gUGF0Y2ggYnk6IERhbmllbCBDaGFybGVzIDxkY2hhcmxlcyBhdCB0aSBkb3QgY29tPgoJICAqIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuYzogKGdzdF9ydHBfYW1yX2RlcGF5X3NldGNhcHMpLAoJICAoZ3N0X3J0cF9hbXJfZGVwYXlfcHJvY2Vzcyk6CgkgICogZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwYW1ycGF5LmM6IChnc3RfcnRwX2Ftcl9wYXlfYmFzZV9pbml0KSwKCSAgKGdzdF9ydHBfYW1yX3BheV9jbGFzc19pbml0KSwgKGdzdF9ydHBfYW1yX3BheV9pbml0KSwKCSAgKGdzdF9ydHBfYW1yX3BheV9zZXRjYXBzKSwgKGdzdF9ydHBfYW1yX3BheV9oYW5kbGVfYnVmZmVyKToKCSAgKiBnc3QvcnRwL2dzdHJ0cGFtcnBheS5oOgoJICBBZGQgc3VwcG9ydCBmb3IgQU1SLVdCLgoJICBTbWFsbCBjbGVhbnVwcyBzdWNoIGFzIHVzaW5nIEJPSUxFUlBMQVRFLgoKMjAwNy0wNS0zMSAxNTo1NzowNyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL3J0c3BleHR3bXMuYzogRml4IGNvbXBpbGUgd2FybmluZyB3aGVuIGRlYnVnIGlzIGRpc2FibGVkIGFzIHNwb3R0ZWQgYnUgU2F1ciBvbiBJUkMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL3J0c3BleHR3bXMuYzogKHJ0c3BfZXh0X3dtc19jb25maWd1cmVfc3RyZWFtKToKCSAgRml4IGNvbXBpbGUgd2FybmluZyB3aGVuIGRlYnVnIGlzIGRpc2FibGVkIGFzIHNwb3R0ZWQgYnUgU2F1ciBvbiBJUkMuCgoyMDA3LTA1LTMwIDE0OjU3OjQ0ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJICBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lio6IFJldmVydCBzb21lIHVuaW50ZW5kZWQgY2hhbmdlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMDUtMzAgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJICAqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYyAoZ3N0X3Y0bDJfb2JqZWN0X25ldyk6IFJldmVydCBzb21lCgkgIHVuaW50ZW5kZWQgY2hhbmdlcy4KCjIwMDctMDUtMzAgMTQ6NDA6NTMgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkgIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuKjogU3RvcmUgdGhlIGZvcm1hdCBsaXN0IGluIHRoZSBvcmRlciB0aGF0IHRoZSBkcml2ZXIgZ2l2ZXMgaXQgdG8gdXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA3LTA1LTMwICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuaDoKCSAgKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmMgKGdzdF92NGwyc3JjX2ZpbGxfZm9ybWF0X2xpc3QpOiBTdG9yZQoJICB0aGUgZm9ybWF0IGxpc3QgaW4gdGhlIG9yZGVyIHRoYXQgdGhlIGRyaXZlciBnaXZlcyBpdCB0byB1cy4KCSAgKGdzdF92NGwyc3JjX3Byb2JlX2NhcHNfZm9yX2Zvcm1hdF9hbmRfc2l6ZSkKCSAgKGdzdF92NGwyc3JjX3Byb2JlX2NhcHNfZm9yX2Zvcm1hdCk6IE5ldyBmdW5jdGlvbnMsIGZpbGwgR3N0Q2FwcwoJICBiYXNlZCBvbiB0aGUgY2FwYWJpbGl0aWVzIG9mIHRoZSBkZXZpY2UuCgkgIChnc3RfdjRsMnNyY19ncmFiX2ZyYW1lKTogVXBkYXRlIGZvciBvYmplY3QgdmFyaWFibGUgcmVuYW1pbmcuCgkgIChnc3RfdjRsMnNyY19zZXRfY2FwdHVyZSk6IFVwZGF0ZSB0byBiZSBzdHJpY3QgaW4gaXRzIHBhcmFtZXRlcnMsCgkgIGFzIGluIHRoZSBzZXRfY2FwcyBiZWxvdy4KCSAgKGdzdF92NGwyc3JjX2NhcHR1cmVfaW5pdCk6IFVwZGF0ZSBmb3Igb2JqZWN0IHZhcmlhYmxlIHJlbmFtaW5nLAoJICBhbmQgcmVmbG93LgoJICAoZ3N0X3Y0bDJzcmNfY2FwdHVyZV9zdGFydCwgZ3N0X3Y0bDJzcmNfY2FwdHVyZV9zdG9wKQoJICAoZ3N0X3Y0bDJzcmNfY2FwdHVyZV9kZWluaXQpOiBVcGRhdGUgZm9yIG9iamVjdCB2YXJpYWJsZSByZW5hbWluZy4KCSAgKGdzdF92NGwyc3JjX3VwZGF0ZV9mcHMsIGdzdF92NGwyc3JjX3NldF9mcHMpCgkgIChnc3RfdjRsMnNyY19nZXRfZnBzKTogUmVtb3ZlOyB0aGVzZSBmdW5jdGlvbnMgZG9uJ3QgaGF2ZSBtdWNoCgkgIG1lYW5pbmcgb3V0c2lkZSBvZiBhbiBhdG9taWMgc2V0X2NhcHMgbWV0aG9kLgoJICAoZ3N0X3Y0bDJzcmNfYnVmZmVyX25ldyk6IERvbid0IHNldCBidWZmZXIgZHVyYXRpb24sIGl0IGlzIG5vdAoJICBrbm93bi4KCSAgKiBzeXMvdjRsMi9nc3R2NGwydHVuZXIuYyAoZ3N0X3Y0bDJfdHVuZXJfc2V0X2NoYW5uZWwpOiBSZW1vdmUKCSAgY2FsbCB0byB1cGRhdGVfZnBzOyBub3Qgc3VyZSBhYm91dCB0aGlzIGNoYW5nZS4KCSAgKGdzdF92NGwyX3R1bmVyX3NldF9ub3JtKTogV29yayBhcm91bmQgdGhlIGZhY3QgdGhhdCBmb3IgdGhlCgkgIG1vbWVudCB3ZSBkb24ndCBoYXZlIGFuIHVwZGF0ZV9mcHNfZnVuYy4KCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmggKHN0cnVjdCBfR3N0VjRsMlNyYyk6IERvbid0IHB1dCB2NGwyCgkgIHN0cnVjdHVyZXMgaW4gdGhlIG9iamVjdCwganVzdCBzdG9yZSB3aGF0IHdlIG5lZWQuIERvIHN0b3JlIHRoZQoJICBwcm9iZWQgY2FwcyBvZiB0aGUgZGV2aWNlLiBEb24ndCBzdG9yZSB0aGUgY3VycmVudCBmcmFtZSByYXRlLgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuYyAoZ3N0X3Y0bDJzcmNfaW5pdCk6IFJlbW92ZSB0aGUKCSAgdXBkYXRlX2Zwc19mdW5jdGlvbiwgZm9yIG5vdy4gVXBkYXRlIGZvciBuZXcgb2JqZWN0IHZhcmlhYmxlCgkgIG5hbWluZy4KCSAgKGdzdF92NGwyc3JjX3NldF9wcm9wZXJ0eSwgZ3N0X3Y0bDJzcmNfZ2V0X3Byb3BlcnR5KTogVXBkYXRlIGZvcgoJICBuZXcgb2JqZWN0IHZhcmlhYmxlIG5hbWluZy4KCSAgKGdzdF92NGwyc3JjX3Y0bDJmb3VyY2NfdG9fc3RydWN0dXJlKTogUmVuYW1lIGZyb20gLi4uX3RvX2NhcHMuCgkgIChnc3RfdjRsMl9zdHJ1Y3R1cmVfdG9fdjRsMmZvdXJjYyk6IFJlbmFtZSBmcm9tIC4uLmNhcHNfdG9fLi4uLgoJICAoZ3N0X3Y0bDJzcmNfZ2V0X2NhcHMpOiBSZXdvcmsgdG8gcHJvYmUgdGhlIGRldmljZSBmb3Igc3VwcG9ydGVkCgkgIGZyYW1lIHNpemVzIGFuZCBmcmFtZSByYXRlcy4KCSAgKGdzdF92NGwyc3JjX3NldF9jYXBzKTogUmV3b3JrIHRvIGJlIHN0cmljdCBpbiB0aGUgZ2l2ZW4KCSAgcGFyYW1ldGVyczogaWYgc29tZW9uZSBhc2tzIHVzIHRvIGhhdmUgYSBjZXJ0YWluIHNpemUgYW5kIHJhdGUsCgkgIHRoYXQgaXMgd2hhdCB3ZSBjb25maWd1cmUuCgkgIChnc3RfdjRsMnNyY19nZXRfcmVhZCk6IFVwZGF0ZSBmb3Igb2JqZWN0IHZhcmlhYmxlIG5hbWluZy4gRG9uJ3QKCSAgbGVhayBidWZmZXJzIG9uIHNob3J0IHJlYWRzLgoJICAoZ3N0X3Y0bDJzcmNfZ2V0X21tYXApOiBVcGRhdGUgZm9yIG9iamVjdCB2YXJpYWJsZSBuYW1pbmcsIGFuZCBhZGQKCSAgY29tbWVudHMuCgkgIChnc3RfdjRsMnNyY19jcmVhdGUpOiBVcGRhdGUgZm9yIG9iamVjdCB2YXJpYWJsZSBuYW1pbmcuCgoyMDA3LTA1LTMwIDE0OjM4OjU5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC4qOiBQYXJzZSBzdWJ0aXRsZSB0ZXh0IHN0cmVhbXMgaW5zdGVhZCBvZiBlcnJvcmluZyBvdXQgKCM0NDIwMzQpLiBTdGlsbCBuZWVkcyBhIHBhcnNlciBmb3IgdGhlIHN1Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfYmFzZV9pbml0KSwKCSAgKGdzdF9hdmlfZGVtdXhfcmVzZXQpLCAoZ3N0X2F2aV9kZW11eF9wYXJzZV9zdHJlYW0pOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguaDoKCSAgUGFyc2Ugc3VidGl0bGUgdGV4dCBzdHJlYW1zIGluc3RlYWQgb2YgZXJyb3Jpbmcgb3V0ICgjNDQyMDM0KS4gU3RpbGwKCSAgbmVlZHMgYSBwYXJzZXIgZm9yIHRoZSBzdWJ0aXRsZXMgdG8gYWN0dWFsbHkgc2hvdyB1cC4KCjIwMDctMDUtMzAgMTI6NDY6MzIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IE1ha2UgX3B1c2hfZXZlbnQoKSByZXR1cm4gVFJVRSBpZiB0aGUgZXZlbnQgY291bGQgYmUgcHVzaGVkIG9uIGF0IGxlYXN0IG9uZSBwYWQgYW5kIG5vdCBvbmx5IGkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9wdXNoX2V2ZW50KSwKCSAgKGdzdF9hdmlfZGVtdXhfbG9vcCk6CgkgIE1ha2UgX3B1c2hfZXZlbnQoKSByZXR1cm4gVFJVRSBpZiB0aGUgZXZlbnQgY291bGQgYmUgcHVzaGVkIG9uIGF0CgkgIGxlYXN0IG9uZSBwYWQgYW5kIG5vdCBvbmx5IGlmIGl0IGNvdWxkIGJlIHB1c2hlZCBvbiBhbGwgcGFkcywKCSAgb3RoZXJ3aXNlIHdlJ2xsIGVuZCB1cCBwb3N0aW5nIGFuIGVycm9yIG1lc3NhZ2Ugb24gRU9TIGlmIG9uZSBvcgoJICBtb3JlIHNvdXJjZSBwYWRzIGFyZSBub3QgY29ubmVjdGVkLgoKMjAwNy0wNS0yOCAxNjozOTowOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL3J0c3B0cmFuc3BvcnQuYzogVXNlIHJlbmFtZWQgUlRQIGJpbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvcnRzcHRyYW5zcG9ydC5jOgoJICBVc2UgcmVuYW1lZCBSVFAgYmluLgoKMjAwNy0wNS0yOCAxNTowMTozMyArMDAwMCAgRGVqYW4gU2FrZWzFoWFrIDxzYWtkZWFuQGdtYWlsLmNvbT4KCgkgIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOiBBZGQgQVlVVi0+QVlVViBhbmQgQVlVVi0+STQyMCBmb3JtYXRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQmFzZWQgb24gcGF0Y2ggYnk6IERlamFuIFNha2VsxaFhayA8c2FrZGVhbiBhdCBnbWFpbCBkb3QgY29tPgoJICAqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOiAoZ3N0X3ZpZGVvX2JveF9jbGFzc19pbml0KSwKCSAgKGdzdF92aWRlb19ib3hfc2V0X3Byb3BlcnR5KSwgKGdzdF92aWRlb19ib3hfdHJhbnNmb3JtX2NhcHMpLAoJICAodmlkZW9fYm94X3JlY2FsY190cmFuc2Zvcm0pLCAoZ3N0X3ZpZGVvX2JveF9zZXRfY2FwcyksCgkgIChnc3RfdmlkZW9fYm94X2dldF91bml0X3NpemUpLCAoZ3N0X3ZpZGVvX2JveF9hcHBseV9hbHBoYSksCgkgIChnc3RfdmlkZW9fYm94X2F5dXZfYXl1diksIChnc3RfdmlkZW9fYm94X2NsZWFyKSwgKFVWZmxvb3IpLAoJICAoVVZjZWlsKSwgKGdzdF92aWRlb19ib3hfYXl1dl9pNDIwKSwgKGdzdF92aWRlb19ib3hfaTQyMF9heXV2KSwKCSAgKGdzdF92aWRlb19ib3hfaTQyMF9pNDIwKSwgKGdzdF92aWRlb19ib3hfdHJhbnNmb3JtKSwKCSAgKHBsdWdpbl9pbml0KToKCSAgQWRkIEFZVVYtPkFZVVYgYW5kIEFZVVYtPkk0MjAgZm9ybWF0cy4KCSAgRml4IG5lZ290aWF0aW9uIGFuZCBJNDIwLT5BWVVWIGNvbnZlcnNpb24uCgkgIEZpeGVzICM0MjkzMjkuCgoyMDA3LTA1LTI2IDE1OjI1OjE4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6IFVzZSBkaWZmZXJlbnQgdmFyaWFibGVzIGZvciBuZXN0ZWQgZm9yIGxvb3BzIHNvIHRoYXQgdGhlIG91dGVyIGxvb3AgZnVuY3Rpb25zIHByb3Blcmx5IGFuZCBzLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOiAoc3BlZXhfZGVjX2NoYWluX3BhcnNlX2RhdGEpOgoJICBVc2UgZGlmZmVyZW50IHZhcmlhYmxlcyBmb3IgbmVzdGVkIGZvciBsb29wcyBzbyB0aGF0IHRoZSBvdXRlciBsb29wCgkgIGZ1bmN0aW9ucyBwcm9wZXJseSBhbmQgc3BlZXggZmlsZXMgd2l0aCBtdWx0aXBsZSBmcmFtZXMgcGVyIGJ1ZmZlciB3b3JrCgkgIHByb3Blcmx5LgoJICBGaXhlcyAjNDQxNDA4LgoKMjAwNy0wNS0yNSAyMDo1MTozNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9pZDNkZW11eC9nc3RpZDNkZW11eC5jOiBEb24ndCBsZWFrIG5ld3NlZ21lbnQgZXZlbnRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaWQzZGVtdXgvZ3N0aWQzZGVtdXguYzogKGdzdF9pZDNkZW11eF9zaW5rX2V2ZW50KToKCSAgRG9uJ3QgbGVhayBuZXdzZWdtZW50IGV2ZW50cy4KCjIwMDctMDUtMjUgMjA6MzM6MTAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3Qvd2F2cGFyc2UvTWFrZWZpbGUuYW06IEFkZCAnLWxtJyB0byBMSUJTIGZvciBjZWlsKCksIGRvbid0IGFzc3VtZSBvbmUgb2Ygb3VyIGRlcGVuZGVuY2llcyBkcmFncyBpdCBpbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3dhdnBhcnNlL01ha2VmaWxlLmFtOgoJICBBZGQgJy1sbScgdG8gTElCUyBmb3IgY2VpbCgpLCBkb24ndCBhc3N1bWUgb25lIG9mIG91ciBkZXBlbmRlbmNpZXMKCSAgZHJhZ3MgaXQgaW4uCgoyMDA3LTA1LTI1IDE2OjAyOjUxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2ZsYWMvZ3N0ZmxhY2VuYy4qOiBDb2xsZWN0IGhlYWRlcnMsIGFkZCAic3RyZWFtaGVhZGVyIiBmaWVsZCB0byBvdXRwdXQgY2FwcyBhbmQgc2V0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzogKGdzdF9mbGFjX2VuY19pbml0KSwKCSAgKG5vdGdzdF92YWx1ZV9hcnJheV9hcHBlbmRfYnVmZmVyKSwKCSAgKGdzdF9mbGFjX2VuY19wcm9jZXNzX3N0cmVhbV9oZWFkZXJzKSwKCSAgKGdzdF9mbGFjX2VuY193cml0ZV9jYWxsYmFjayksIChnc3RfZmxhY19lbmNfY2hhaW4pLAoJICAoZ3N0X2ZsYWNfZW5jX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5oOgoJICBDb2xsZWN0IGhlYWRlcnMsIGFkZCAic3RyZWFtaGVhZGVyIiBmaWVsZCB0byBvdXRwdXQgY2FwcyBhbmQgc2V0CgkgIEJVRkZFUl9JTl9DQVBTIGZsYWcgb24gcHVzaGVkIGhlYWRlciBidWZmZXJzLiBUaGF0IHdheSBvZ2dtdXgKCSAgcHJvZHVjZXMgb3V0cHV0IGFjY29yZGluZyB0byB0aGUgb2ZmaWNpYWwgRkxBQy10by1PZ2cgbWFwcGluZwoJICBpbnN0ZWFkIG9mIGNvbXBsZXRlbHkgYnJva2VuIGZpbGVzLiBGaXhlcyAjNDI2MDQ0LgoKMjAwNy0wNS0yNSAxMDo0NDoxMiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvOiBIYW5kbGUgYW5kIGFkanVzdCBuZXctc2VnbWVudCBldmVudHMgc28gdGhhdCBkb3duc3RyZWFtIHJlYWxseSBzZWVzIGEgc3RyZWFtIHdpdGggdGhlIHRhZyBwaWVjZXMgc3RyaXBwZWQgb2ZmIHQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2lkM2RlbXV4L2dzdGlkM2RlbXV4LmM6IChnc3RfaWQzZGVtdXhfcmVzZXQpLAoJICAoZ3N0X2lkM2RlbXV4X3NlbmRfbmV3X3NlZ21lbnQpLCAoZ3N0X2lkM2RlbXV4X2NoYWluKSwKCSAgKGdzdF9pZDNkZW11eF9zaW5rX2V2ZW50KToKCSAgKiBnc3QvaWQzZGVtdXgvZ3N0aWQzZGVtdXguaDoKCSAgKiBnc3QvYXBldGFnL2dzdHRhZ2RlbXV4LmM6IChnc3RfdGFnX2RlbXV4X3Jlc2V0KSwKCSAgKGdzdF90YWdfZGVtdXhfY2hhaW4pLCAoZ3N0X3RhZ19kZW11eF9zaW5rX2V2ZW50KSwKCSAgKGdzdF90YWdfZGVtdXhfc2VuZF9uZXdfc2VnbWVudCk6CgkgIEhhbmRsZSBhbmQgYWRqdXN0IG5ldy1zZWdtZW50IGV2ZW50cyBzbyB0aGF0IGRvd25zdHJlYW0gcmVhbGx5CgkgIHNlZXMgYSBzdHJlYW0gd2l0aCB0aGUgdGFnIHBpZWNlcyBzdHJpcHBlZCBvZmYgdGhlIGZyb250IGFuZCBiYWNrLgoJICBGaXhlcyBzdHJhbmdlbmVzcyBpbiBzZWVraW5nIHdoZW4gbXAzIGRlY29kZXJzIHVzZSB0aGUgbmV3LXNlZ21lbnQKCSAgYnl0ZSBwb3NpdGlvbiB0byBlc3RpbWF0ZSB0aGVpciBjdXJyZW50IHBsYXliYWNrIHBvc2l0aW9uIHRpbWVzdGFtcAoJICBhbmQgdGhlbiB0aGUgYXJyaXZpbmcgYnVmZmVycyBkb24ndCBtYXRjaCB1cC4KCjIwMDctMDUtMjUgMTA6MjM6NDkgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc2luay5jOiBEb24ndCB1bm5lY2Vzc2FyaWx5IHBlcmZvcm0gYSBSRUFEWS0+TlVMTC0+UkVBRFkgdHJhbnNpdGlvbiBvbiB0aGUgZGV0ZWN0ZWQgYXVkaW8gLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NpbmsuYzogKGdzdF9hdXRvX2F1ZGlvX3NpbmtfZGV0ZWN0KToKCSAgRG9uJ3QgdW5uZWNlc3NhcmlseSBwZXJmb3JtIGEgUkVBRFktPk5VTEwtPlJFQURZIHRyYW5zaXRpb24gb24gdGhlCgkgIGRldGVjdGVkIGF1ZGlvIHNpbmsgd2hlbiBzdGFydGluZyB1cC4gRml4ZXM6ICM0NDAxMjcKCjIwMDctMDUtMjQgMTc6MDA6MjEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvZmxhYy9nc3RmbGFjZW5jLmM6IERvbid0IGNyYXNoIGluIGNoYWluIGZ1bmN0aW9uIGlmIHNldGNhcHMgaGFzbid0IGJlZW4gY2FsbGVkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6IChnc3RfZmxhY19lbmNfc2lua19zZXRjYXBzKSwKCSAgKGdzdF9mbGFjX2VuY19jaGFpbik6CgkgIERvbid0IGNyYXNoIGluIGNoYWluIGZ1bmN0aW9uIGlmIHNldGNhcHMgaGFzbid0IGJlZW4gY2FsbGVkLgoKMjAwNy0wNS0yNCAwODozNToyMyArMDAwMCAgVmluY2VudCBUb3JyaSA8dnRvcnJpQHVuaXYtZXZyeS5mcj4KCgkgIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLio6IEZpeCBtb3JlIHdhcm5pbmdzIHdoZW4gY29tcGlsaW5nIHdpdGggTWluZ1cgKCM0Mzk5MTQpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFZpbmNlbnQgVG9ycmkgIDx2dG9ycmkgYXQgdW5pdi1ldnJ5IGZyPgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgIChnc3RfZGlyZWN0ZHJhd19zaW5rX2J1ZmZlcl9hbGxvYyksCgkgIChnc3RfZGlyZWN0ZHJhd19zaW5rX3Nob3dfZnJhbWUpLAoJICAoZ3N0X2RpcmVjdGRyYXdfc2lua19jaGVja19wcmltYXJ5X3N1cmZhY2UpLAoJICAoZ3N0X2RpcmVjdGRyYXdfc2lua19jaGVja19vZmZzY3JlZW5fc3VyZmFjZSksCgkgIChFbnVtTW9kZXNDYWxsYmFjazIpLCAoZ3N0X2RpcmVjdGRyYXdfc2lua19nZXRfZGRyYXdjYXBzKSwKCSAgKGdzdF9kaXJlY3RkcmF3X3Npbmtfc3VyZmFjZV9jcmVhdGUpOgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmg6CgkgIEZpeCBtb3JlIHdhcm5pbmdzIHdoZW4gY29tcGlsaW5nIHdpdGggTWluZ1cgKCM0Mzk5MTQpLgoKMjAwNy0wNS0yNCAwODoxNDowMCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogSW5pdCB2YWx1ZSB0byBhdm9pZCBpbmZpbnRlIGxvb3BzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19wYXJzZV9tZXRob2RzKToKCSAgSW5pdCB2YWx1ZSB0byBhdm9pZCBpbmZpbnRlIGxvb3BzLgoKMjAwNy0wNS0yNCAwODoxMDo0MiArMDAwMCAgUGV0ZXIgS2plbGxlcnN0ZWR0IDxwa2pAYXhpcy5jb20+CgoJICBnc3QvcnRzcC86IEZpeCBmb3IgbmV3IEFQSS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBQZXRlciBLamVsbGVyc3RlZHQgIDxwa2ogYXQgYXhpcyBjb20+CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfc2V0dXBfYXV0aCksCgkgIChnc3RfcnRzcHNyY190cnlfc2VuZCksIChnc3RfcnRzcHNyY19wYXJzZV9tZXRob2RzKSwKCSAgKGdzdF9ydHNwc3JjX3NldHVwX3N0cmVhbXMpLCAoZ3N0X3J0c3BzcmNfb3BlbiksCgkgIChnc3RfcnRzcHNyY19wbGF5KToKCSAgKHJ0c3BfY29ubmVjdGlvbl9zZW5kKSwgKHJ0c3BfY29ubmVjdGlvbl9yZWNlaXZlKToKCSAgKiBnc3QvcnRzcC9ydHNwZXh0d21zLmM6IChydHNwX2V4dF93bXNfYWZ0ZXJfc2VuZCk6CgkgIEZpeCBmb3IgbmV3IEFQSS4KCSAgKiBnc3QvcnRzcC9ydHNwY29ubmVjdGlvbi5jOiAoYWRkX2F1dGhfaGVhZGVyKSwKCSAgT25seSBhZGQgYXV0aG9yaXNhdGlvbiBhbmQgc2Vzc2lvbiBoZWFkZXJzIHdoZW4gc2VuZGluZyBtZXNzYWdlcy4KCSAgKiBnc3QvcnRzcC9ydHNwbWVzc2FnZS5jOiAoa2V5X3ZhbHVlX2ZvcmVhY2gpLCAocnRzcF9tZXNzYWdlX2luaXQpLAoJICAocnRzcF9tZXNzYWdlX2luaXRfcmVxdWVzdCksIChydHNwX21lc3NhZ2VfaW5pdF9yZXNwb25zZSksCgkgIChydHNwX21lc3NhZ2VfdW5zZXQpLCAocnRzcF9tZXNzYWdlX2FkZF9oZWFkZXIpLAoJICAocnRzcF9tZXNzYWdlX3JlbW92ZV9oZWFkZXIpLCAocnRzcF9tZXNzYWdlX2dldF9oZWFkZXIpLAoJICAocnRzcF9tZXNzYWdlX2FwcGVuZF9oZWFkZXJzKSwgKGR1bXBfa2V5X3ZhbHVlKSwKCSAgKHJ0c3BfbWVzc2FnZV9kdW1wKToKCSAgKiBnc3QvcnRzcC9ydHNwbWVzc2FnZS5oOgoJICBBZGQgc3VwcG9ydCBmb3IgbXVsdGlwbGUgaGVhZGVycyBvZiB0aGUgc2FtZSB0eXBlIGJ5IHN0b3JpbmcgdGhlIHBhcnNlZAoJICBoZWFkZXJzIGluIGEgR0FycmF5IGluc3RhZWQgb2YgYSBoYXNodGFibGUuCgoyMDA3LTA1LTIzIDIyOjQ0OjEyICswMDAwICBTw6liYXN0aWVuIE1vdXR0ZSA8c2ViYXN0aWVuQG1vdXR0ZS5uZXQ+CgoJICBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczogUmVtb3ZlIGRpcmVjdHNvdW5kc2luayBwcm9wZXJ0eSBkb2MgYXMgdGhpcyBzaW5rIHVzZSB0aGUgbWl4ZXIgaW50ZXJmYWNlIG5vdy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkgIFJlbW92ZSBkaXJlY3Rzb3VuZHNpbmsgcHJvcGVydHkgZG9jIGFzIHRoaXMgc2luayB1c2UgdGhlIG1peGVyCgkgIGludGVyZmFjZSBub3cuCgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkgIEFkZCBpbnRlcmZhY2VzIGltcGxlbWVudGVkIGJ5IFdpbmRvd3Mgc2lua3MuCgkgICogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuaDoKCSAgUmVtb3ZlIGRpcmVjdHNvdW5kc2luayBwcm9wZXJ0eSAgYW5kIGltcGxlbWVudCB0aGUgbWl4ZXIgaW50ZXJmYWNlLgoJICAqIHdpbjMyL3ZzNi9nc3RfcGx1Z2luc19iYWQuZHN3OgoJICAqIHdpbjMyL3ZzNi9saWJnc3RkaXJlY3Rzb3VuZC5kc3A6CgkgIFVwZGF0ZSBwcm9qZWN0IGZpbGVzLgoJICAqIGdzdC1saWJzL2dzdC9kc2hvdy9nc3Rkc2hvdy5jcHA6CgkgICogZ3N0LWxpYnMvZ3N0L2RzaG93L2dzdGRzaG93Lmg6CgkgICogZ3N0LWxpYnMvZ3N0L2RzaG93L2dzdGRzaG93ZmFrZXNpbmsuY3BwOgoJICAqIGdzdC1saWJzL2dzdC9kc2hvdy9nc3Rkc2hvd2Zha2VzaW5rLmg6CgkgICogZ3N0LWxpYnMvZ3N0L2RzaG93L2dzdGRzaG93ZmFrZXNyYy5jcHA6CgkgICogZ3N0LWxpYnMvZ3N0L2RzaG93L2dzdGRzaG93ZmFrZXNyYy5oOgoJICAqIGdzdC1saWJzL2dzdC9kc2hvdy9nc3Rkc2hvd2ludGVyZmFjZS5jcHA6CgkgICogZ3N0LWxpYnMvZ3N0L2RzaG93L2dzdGRzaG93aW50ZXJmYWNlLmg6CgkgICogd2luMzIvY29tbW9uL2xpYmdzdGRzaG93LmRlZjoKCSAgKiB3aW4zMi92czYvbGliZ3N0ZHNob3cuZHNwOgoJICBBZGQgYSBuZXcgZ3N0IGxpYnJhcnkgd2hpY2ggYWxsb3cgdG8gY3JlYXRlIGludGVybmFsIERpcmVjdCBTaG93CgkgIGdyYXBoIChwaXBlbGluZXMpIHRvIHdyYXAgV2luZG93cyBzb3VyY2VzLCBkZWNvZGVycyBvciBlbmNvZGVycy4KCSAgSXQgaW5jbHVkZXMgYSBEaXJlY3RTaG93IGZha2Ugc291cmNlIGFuZCBzaW5rIGFuZCB1dGlsaXR5IGZ1bmN0aW9ucy4KCSAgKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93YXVkaW9zcmMuYzoKCSAgKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93YXVkaW9zcmMuaDoKCSAgKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93c3Jjd3JhcHBlci5jOgoJICAqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dzcmN3cmFwcGVyLmg6CgkgICogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvc3JjLmM6CgkgICogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvc3JjLmg6CgkgICogd2luMzIvdnM2L2xpYmRzaG93c3Jjd3JhcHBlci5kc3A6CgkgIEFkZCBhIG5ldyBwbHVnaW4gdG8gd3JhcCBEaXJlY3RTaG93IHNvdXJjZXMgb24gV2luZG93cy4KCSAgSXQgZ2V0cyBkYXRhIGZyb20gYW55IHdlYmNhbSwgZHYgY2FtLCBtaWNyby4gV2UgY291bGQgYWRkCgkgIHR2IHR1bm5lciBjYXJkIGxhdGVyLgoKMjAwNy0wNS0yMiAxMToxNDoxMyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgY29uZmlndXJlLmFjOiBEZXBlbmQgb24gZ3N0cmVhbWVyLTAuMTAuMTIuMS4gZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYyAoQVJHX0JBTkRfV0lEVEgsIF9kb19pbml0LCBBUkdfR0FJTiwgX0dzLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgRGVwZW5kIG9uIGdzdHJlYW1lci0wLjEwLjEyLjEuCgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYyAoQVJHX0JBTkRfV0lEVEgsIF9kb19pbml0LCBBUkdfR0FJTiwKCSAgX0dzdElpckVxdWFsaXplckJhbmQsIG9iamVjdCwgX0dzdElpckVxdWFsaXplckJhbmRDbGFzcywKCSAgcGFyZW50X2NsYXNzLCBnc3RfaWlyX2VxdWFsaXplcl9iYW5kX3NldF9wcm9wZXJ0eSwKCSAgZ3N0X2lpcl9lcXVhbGl6ZXJfYmFuZF9jbGFzc19pbml0LCBnc3RfaWlyX2VxdWFsaXplcl9iYW5kX2dldF90eXBlLAoJICBnc3RfaWlyX2VxdWFsaXplcl9jaGlsZF9wcm94eV9nZXRfY2hpbGRfYnlfaW5kZXgsCgkgIGdzdF9paXJfZXF1YWxpemVyX2NoaWxkX3Byb3h5X2dldF9jaGlsZHJlbl9jb3VudCwKCSAgZ3N0X2lpcl9lcXVhbGl6ZXJfY2hpbGRfcHJveHlfaW50ZXJmYWNlX2luaXQsIHNldHVwX2ZpbHRlciwKCSAgZ3N0X2lpcl9lcXVhbGl6ZXJfY29tcHV0ZV9mcmVxdWVuY2llcywKCSAgZ3N0X2lpcl9lcXVhbGl6ZXJfc2V0X3Byb3BlcnR5LCBnc3RfaWlyX2VxdWFsaXplcl9nZXRfcHJvcGVydHksCgkgIHBsdWdpbl9pbml0KToKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5oIChhdWRpb2ZpbHRlcik6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXJuYmFuZHMuYyAoQVJHX05VTV9CQU5EUywKCSAgZ3N0X2lpcl9lcXVhbGl6ZXJfbmJhbmRzX2Jhc2VfaW5pdCwgZ3N0X2lpcl9lcXVhbGl6ZXJfbmJhbmRzX2luaXQsCgkgIGdzdF9paXJfZXF1YWxpemVyX25iYW5kc19zZXRfcHJvcGVydHkpOgoJICBVc2UgbmV3IGxvY2tpbmcgbWFjcm9zLgoJICAqIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5jIChicHdzaW5jX3NldF9jYXBzKToKCSAgQWRkIGZpeG1lLgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jIChTUEVDVFJVTV9XSU5ET1dfQkFTRSwKCSAgU1BFQ1RSVU1fV0lORE9XX0xFTiwgZ3N0X3NwZWN0cnVtX2luaXQsIGdzdF9zcGVjdHJ1bV9zZXRfcHJvcGVydHksCgkgIGdzdF9zcGVjdHJ1bV9ldmVudCwgZ3N0X3NwZWN0cnVtX3RyYW5zZm9ybV9pcCk6CgkgIFVzZSBuZXcgbG9ja2luZyBtYWNyb3MuIFR1cm4gdHdvIGZpeGVkIHZhbHVlcyBpbnRvICNkZWZpbmVzLgoKMjAwNy0wNS0yMiAxMTowMzozMCArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbTogQWxzbyBsb29rIGZvciAubSAob2JqZWN0aXZlYykgZmlsZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgQWxzbyBsb29rIGZvciAubSAob2JqZWN0aXZlYykgZmlsZXMuCgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSAgKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIEFkZCBkb2N1bWVudGF0aW9uIGZvciBlbGVtZW50IGFuZCBwcm9wZXJ0aWVzLgoKMjAwNy0wNS0yMSAxNDowMToxNiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgQ2hhbmdlTG9nOiBDaGFuZ2VMb2cgc3VyZ2VyeS4gZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYyAoQVJHX0JBTkRfV0lEVEgsIF9kb19pbml0LCBBUkdfR0FJTiwgX0dzdElpckVxdWFsaXplckJhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIENoYW5nZUxvZzoKCSAgQ2hhbmdlTG9nIHN1cmdlcnkuCgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYyAoQVJHX0JBTkRfV0lEVEgsIF9kb19pbml0LCBBUkdfR0FJTiwKCSAgX0dzdElpckVxdWFsaXplckJhbmQsIG9iamVjdCwgX0dzdElpckVxdWFsaXplckJhbmRDbGFzcywKCSAgcGFyZW50X2NsYXNzLCBnc3RfaWlyX2VxdWFsaXplcl9iYW5kX3NldF9wcm9wZXJ0eSwKCSAgZ3N0X2lpcl9lcXVhbGl6ZXJfYmFuZF9jbGFzc19pbml0LCBnc3RfaWlyX2VxdWFsaXplcl9iYW5kX2dldF90eXBlLAoJICBnc3RfaWlyX2VxdWFsaXplcl9jaGlsZF9wcm94eV9nZXRfY2hpbGRfYnlfaW5kZXgsCgkgIGdzdF9paXJfZXF1YWxpemVyX2NoaWxkX3Byb3h5X2dldF9jaGlsZHJlbl9jb3VudCwKCSAgZ3N0X2lpcl9lcXVhbGl6ZXJfY2hpbGRfcHJveHlfaW50ZXJmYWNlX2luaXQsIHNldHVwX2ZpbHRlciwKCSAgZ3N0X2lpcl9lcXVhbGl6ZXJfY29tcHV0ZV9mcmVxdWVuY2llcywgcGx1Z2luX2luaXQpOgoJICAqIHRlc3RzL2ljbGVzL2VxdWFsaXplci10ZXN0LmM6CgkgIEFkZCBmaXhtZSBhbmQgY29tbWVudCBmb3IgZXhhbXBsZS4KCjIwMDctMDUtMjEgMTI6NDM6MzcgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJICBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYyAoZ3N0X3NwZWN0cnVtX3NldF9wcm9wZXJ0eSwgZ3N0X3NwZWN0cnVtX2V2ZW50LCBnc3Rfc3BlY3RydW1fdHJhbnNmb3JtX2lwKToKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmMgKGdzdF9zcGVjdHJ1bV9zZXRfcHJvcGVydHksCgkgIGdzdF9zcGVjdHJ1bV9ldmVudCwgZ3N0X3NwZWN0cnVtX3RyYW5zZm9ybV9pcCk6CgkgIFVzZSBsb2NrIHRvIHByb3RlY3QgZnJvbSBjb25jdXJyZW50IGFjY2Vzcy4KCjIwMDctMDUtMjEgMTE6Mzc6MTYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzogU3BlY2lmeSBhbmQgdXNlIHByb3BlcnRpZXMgYXMgdW5zaWduZWQgaW50IHRoYXQgYXJlIGFuIHVuc2lnbmVkIGludC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOiAoZ3N0X3dhdnBhY2tfZW5jX2NsYXNzX2luaXQpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX3NldF9wcm9wZXJ0eSksIChnc3Rfd2F2cGFja19lbmNfZ2V0X3Byb3BlcnR5KToKCSAgU3BlY2lmeSBhbmQgdXNlIHByb3BlcnRpZXMgYXMgdW5zaWduZWQgaW50IHRoYXQgYXJlIGFuIHVuc2lnbmVkIGludC4KCjIwMDctMDUtMjEgMTE6MTc6MjEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuKjogRml4dXAgZG9jcywgbWFrZSB0aGUgYml0cmF0ZSBwcm9wZXJ0eSBhbiBpbnQgYXMgaXQgc2hvdWxkIGJlIGFuZCBhbGxvdyB0byBzZXQgdGhlIGRpZmZlci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6IChnc3Rfd2F2cGFja19lbmNfY2xhc3NfaW5pdCksCgkgIChnc3Rfd2F2cGFja19lbmNfaW5pdCksIChnc3Rfd2F2cGFja19lbmNfc2V0X3dwX2NvbmZpZyksCgkgIChnc3Rfd2F2cGFja19lbmNfc2V0X3Byb3BlcnR5KSwgKGdzdF93YXZwYWNrX2VuY19nZXRfcHJvcGVydHkpOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuaDoKCSAgRml4dXAgZG9jcywgbWFrZSB0aGUgYml0cmF0ZSBwcm9wZXJ0eSBhbiBpbnQgYXMgaXQgc2hvdWxkIGJlIGFuZAoJICBhbGxvdyB0byBzZXQgdGhlIGRpZmZlcmVudCBleHRyYSBwcm9jZXNzaW5nIG1vZGVzIGluc3RlYWQgb2Ygb25seQoJICBhbGxvd2luZyBub25lIGFuZCB0aGUgZGVmYXVsdCBvbmUuCgoyMDA3LTA1LTIxIDEwOjA3OjA1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3VkcC9nc3R1ZHBzcmMuYzogU2luY2Ugd2UgZGVwZW5kIG9uIDAuMTAuMTMgLWNvcmUsIG92ZXJyaWRlIHRoZSB1bmxvY2tfc3RvcCB2bWV0aG9kIGZvciBzYWZlciBzaHV0ZG93bi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3VkcC9nc3R1ZHBzcmMuYzogKGdzdF91ZHBzcmNfY2xhc3NfaW5pdCksCgkgIChnc3RfdWRwc3JjX2NyZWF0ZSksIChnc3RfdWRwc3JjX3VubG9jayksIChnc3RfdWRwc3JjX3VubG9ja19zdG9wKToKCSAgU2luY2Ugd2UgZGVwZW5kIG9uIDAuMTAuMTMgLWNvcmUsIG92ZXJyaWRlIHRoZSB1bmxvY2tfc3RvcCB2bWV0aG9kIGZvcgoJICBzYWZlciBzaHV0ZG93bi4KCjIwMDctMDUtMjEgMTA6MDM6NDIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHBkZWMuKjogQWRkZWQgc2lnbmFsIGZvciBiYWNrd2FyZHMgY29tcGF0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHBkZWMuYzogKGdzdF9ydHBfZGVjX2NsYXNzX2luaXQpOgoJICAqIGdzdC9ydHNwL2dzdHJ0cGRlYy5oOgoJICBBZGRlZCBzaWduYWwgZm9yIGJhY2t3YXJkcyBjb21wYXQuCgoyMDA3LTA1LTIxIDA5OjMyOjI2ICswMDAwICBSZW7DqSBTdGFkbGVyIDxtYWlsQHJlbmVzdGFkbGVyLmRlPgoKCSAgVXNlIGF1ZGlvY29udmVydCBmb3IgY29udmVydGluZyBmcm9tIG5vbi1uYXRpdmUgZW5kaWFubmVzcyBmbG9hdHMgaW4gYXVwYXJzZSBpbnN0ZWFkIG9mIGRvaW5nIGl0IG91cnNlbGYuIEZpeGVzICM0MjQ1MjcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogUmVuw6kgU3RhZGxlciA8bWFpbCBhdCByZW5lc3RhZGxlciBkb3QgZGU+CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9hdXBhcnNlL2dzdGF1cGFyc2UuYzogKGdzdF9hdV9wYXJzZV9yZXNldCksCgkgIChnc3RfYXVfcGFyc2VfcGFyc2VfaGVhZGVyKSwgKGdzdF9hdV9wYXJzZV9jaGFpbik6CgkgICogZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS5oOgoJICBVc2UgYXVkaW9jb252ZXJ0IGZvciBjb252ZXJ0aW5nIGZyb20gbm9uLW5hdGl2ZSBlbmRpYW5uZXNzIGZsb2F0cwoJICBpbiBhdXBhcnNlIGluc3RlYWQgb2YgZG9pbmcgaXQgb3Vyc2VsZi4gRml4ZXMgIzQyNDUyNy4KCSAgVGhpcyBuZWVkcyB0aGUgYXVkaW9jb252ZXJ0IGZyb20gcGx1Z2lucy1iYXNlIENWUy4KCjIwMDctMDUtMjEgMDk6Mjk6MzAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwL2dzdHJ0cGgyNjNwcGF5LmM6IEZpeCBlbnVtIHJlZ2lzdHJhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBoMjYzcHBheS5jOiAoZ3N0X2ZyYWdtZW50YXRpb25fbW9kZV9nZXRfdHlwZSksCgkgIChnc3RfcnRwX2gyNjNwX3BheV9mbHVzaCk6CgkgIEZpeCBlbnVtIHJlZ2lzdHJhdGlvbi4KCjIwMDctMDUtMjEgMDg6NTc6MTggKzAwMDAgIEFudG9pbmUgVHJlbWJsYXkgPGhleGEwMEBnbWFpbC5jb20+CgoJICBnc3QvcnRwL2dzdHJ0cGgyNjNwcGF5Lio6IEFkZCBuZXcgZnJhZ21lbnRhdGlvbiBtb2RlIGJhc2Ugb24gR09CIGhlYWRlcnMuIEZpeGVzICM0Mzg5NDAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogQW50b2luZSBUcmVtYmxheSA8aGV4YTAwIGF0IGdtYWlsIGRvdCBjb20+CgkgICogZ3N0L3J0cC9nc3RydHBoMjYzcHBheS5jOiAoZ3N0X2ZyYWdtZW50YXRpb25fbW9kZV9nZXRfdHlwZSksCgkgIChnc3RfcnRwX2gyNjNwX3BheV9jbGFzc19pbml0KSwgKGdzdF9ydHBfaDI2M3BfcGF5X2luaXQpLAoJICAoZ3N0X3J0cF9oMjYzcF9wYXlfc2V0X3Byb3BlcnR5KSwgKGdzdF9ydHBfaDI2M3BfcGF5X2dldF9wcm9wZXJ0eSksCgkgIChnc3RfcnRwX2gyNjNwX3BheV9mbHVzaCk6CgkgICogZ3N0L3J0cC9nc3RydHBoMjYzcHBheS5oOgoJICBBZGQgbmV3IGZyYWdtZW50YXRpb24gbW9kZSBiYXNlIG9uIEdPQiBoZWFkZXJzLiBGaXhlcyAjNDM4OTQwLgoKMjAwNy0wNS0yMCAyMTozMTo1OCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOiBBZGQgbWlzc2luZyBhdWRpb2NvbnZlcnRzIGluIHRoZSBleGFtcGxlIHBpcGVsaW5lcyBvZiB3YXZwYWNrZW5jLiBBcyB0aGUgd2F2cGFjayBzdHVmZiBuLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzoKCSAgQWRkIG1pc3NpbmcgYXVkaW9jb252ZXJ0cyBpbiB0aGUgZXhhbXBsZSBwaXBlbGluZXMgb2Ygd2F2cGFja2VuYy4gQXMKCSAgdGhlIHdhdnBhY2sgc3R1ZmYgbm93IG5lZWRzIGlucHV0IHdpdGggMzIgYml0IHdpZHRoIChhbmQgcmFuZG9tIGRlcHRoKQoJICB0aGlzIGlzIG5lZWRlZCBub3cuIFRoZSBleGFtcGxlIHBpcGVsaW5lcyBmb3IgdGhlIHBhcnNlciBhbmQgZGVjb2RlcgoJICBhcmUgc3RpbGwgZmluZS4KCjIwMDctMDUtMjAgMTQ6NTk6NDYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOiBCdW5jaCBvZiBzbWFsbCBmaXhlczogcmVtb3ZlIHN0YXRpYyBmdW5jdGlvbiB0aGF0IGRvZXNuJ3QgZXhpc3Q7IGRlY2xhcmUgYW5vdGhlciAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzogKGdzdF9kZHJhd3N1cmZhY2VfZmluYWxpemUpLAoJICAoZ3N0X2RpcmVjdGRyYXdfc2lua19idWZmZXJfYWxsb2MpLAoJICAoZ3N0X2RpcmVjdGRyYXdfc2lua19nZXRfZGRyYXdjYXBzKSwKCSAgKGdzdF9kaXJlY3RkcmF3X3Npbmtfc3VyZmFjZV9jcmVhdGUpOgoJICBCdW5jaCBvZiBzbWFsbCBmaXhlczogcmVtb3ZlIHN0YXRpYyBmdW5jdGlvbiB0aGF0IGRvZXNuJ3QgZXhpc3Q7CgkgIGRlY2xhcmUgYW5vdGhlciBvbmUgdGhhdCBkb2VzOyBwcmludGYgZm9ybWF0IGZpeDsgdXNlIHJpZ2h0IG1hY3JvCgkgIHdoZW4gc3BlY2lmeWluZyBkZWJ1ZyBjYXRlZ29yeTsgcmVtb3ZlIGEgYnVuY2ggb2YgdW51c2VkIHZhcmlhYmxlczsKCSAgI2lmIDAgb3V0IGFuIHVudXNlZCBjaHVuayBvZiBjb2RlIChwYXJ0aWFsbHkgZml4ZXMgIzQzOTkxNCkuCgoyMDA3LTA1LTIwIDE0OjE0OjQ5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0LzogUHJpbnRmIGZvcm1hdCBmaXhlcyAoIzQzOTkxMCwgIzQzOTkxMSkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X3ByZXBhcmVfY3VycmVudF9zYW1wbGUpOgoJICAqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmM6IChnc3Rfc3dpdGNoX2NoYWluKToKCSAgUHJpbnRmIGZvcm1hdCBmaXhlcyAoIzQzOTkxMCwgIzQzOTkxMSkuCgoyMDA3LTA1LTIwIDE0OjA1OjQyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiBQcmludGYgZm9ybWF0IGZpeC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfbG9vcF91ZHApOgoJICBQcmludGYgZm9ybWF0IGZpeC4KCjIwMDctMDUtMTkgMTA6MDE6NDUgKzAwMDAgIFJlbsOpIFN0YWRsZXIgPG1haWxAcmVuZXN0YWRsZXIuZGU+CgoJICBBZGQgcmVwbGF5Z2FpbiBwbGF5YmFjayBlbGVtZW50cyAoIzQxMjcxMCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogUmVuw6kgU3RhZGxlciA8bWFpbCBhdCByZW5lc3RhZGxlciBkZT4KCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSAgKiBnc3QvcmVwbGF5Z2Fpbi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ2FuYWx5c2lzLmM6IChnc3RfcmdfYW5hbHlzaXNfY2xhc3NfaW5pdCksCgkgIChnc3RfcmdfYW5hbHlzaXNfc3RhcnQpLCAoZ3N0X3JnX2FuYWx5c2lzX3NldF9jYXBzKSwKCSAgKGdzdF9yZ19hbmFseXNpc190cmFuc2Zvcm1faXApLCAoZ3N0X3JnX2FuYWx5c2lzX2V2ZW50KSwKCSAgKGdzdF9yZ19hbmFseXNpc19zdG9wKSwgKGdzdF9yZ19hbmFseXNpc19oYW5kbGVfdGFncyksCgkgIChnc3RfcmdfYW5hbHlzaXNfaGFuZGxlX2VvcyksIChnc3RfcmdfYW5hbHlzaXNfdHJhY2tfcmVzdWx0KSwKCSAgKGdzdF9yZ19hbmFseXNpc19hbGJ1bV9yZXN1bHQpOgoJICAqIGdzdC9yZXBsYXlnYWluL2dzdHJnYW5hbHlzaXMuaDoKCSAgKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ2xpbWl0ZXIuYzogKGdzdF9yZ19saW1pdGVyX2Jhc2VfaW5pdCksCgkgIChnc3RfcmdfbGltaXRlcl9jbGFzc19pbml0KSwgKGdzdF9yZ19saW1pdGVyX2luaXQpLAoJICAoZ3N0X3JnX2xpbWl0ZXJfc2V0X3Byb3BlcnR5KSwgKGdzdF9yZ19saW1pdGVyX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfcmdfbGltaXRlcl90cmFuc2Zvcm1faXApOgoJICAqIGdzdC9yZXBsYXlnYWluL2dzdHJnbGltaXRlci5oOgoJICAqIGdzdC9yZXBsYXlnYWluL2dzdHJndm9sdW1lLmM6IChnc3Rfcmdfdm9sdW1lX2Jhc2VfaW5pdCksCgkgIChnc3Rfcmdfdm9sdW1lX2NsYXNzX2luaXQpLCAoZ3N0X3JnX3ZvbHVtZV9pbml0KSwKCSAgKGdzdF9yZ192b2x1bWVfc2V0X3Byb3BlcnR5KSwgKGdzdF9yZ192b2x1bWVfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9yZ192b2x1bWVfZGlzcG9zZSksIChnc3Rfcmdfdm9sdW1lX2NoYW5nZV9zdGF0ZSksCgkgIChnc3Rfcmdfdm9sdW1lX3NpbmtfZXZlbnQpLCAoZ3N0X3JnX3ZvbHVtZV90YWdfZXZlbnQpLAoJICAoZ3N0X3JnX3ZvbHVtZV9yZXNldCksIChnc3Rfcmdfdm9sdW1lX3VwZGF0ZV9nYWluKSwKCSAgKGdzdF9yZ192b2x1bWVfZGV0ZXJtaW5lX2dhaW4pOgoJICAqIGdzdC9yZXBsYXlnYWluL2dzdHJndm9sdW1lLmg6CgkgICogZ3N0L3JlcGxheWdhaW4vcmVwbGF5Z2Fpbi5jOiAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9yZXBsYXlnYWluL3JlcGxheWdhaW4uaDoKCSAgKiBnc3QvcmVwbGF5Z2Fpbi9yZ2FuYWx5c2lzLmg6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvLmN2c2lnbm9yZToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ2FuYWx5c2lzLmM6IChzZW5kX2Vvc19ldmVudCksCgkgIChHU1RfU1RBUlRfVEVTVCk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvcmdsaW1pdGVyLmM6IChzZXR1cF9yZ2xpbWl0ZXIpLAoJICAoY2xlYW51cF9yZ2xpbWl0ZXIpLCAoc2V0X3BsYXlpbmdfc3RhdGUpLCAoY3JlYXRlX3Rlc3RfYnVmZmVyKSwKCSAgKHZlcmlmeV90ZXN0X2J1ZmZlciksIChHU1RfU1RBUlRfVEVTVCksIChyZ2xpbWl0ZXJfc3VpdGUpLCAobWFpbik6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvcmd2b2x1bWUuYzogKGV2ZW50X2Z1bmMpLCAoc2V0dXBfcmd2b2x1bWUpLAoJICAoY2xlYW51cF9yZ3ZvbHVtZSksIChzZXRfcGxheWluZ19zdGF0ZSksIChzZXRfbnVsbF9zdGF0ZSksCgkgIChzZW5kX2Vvc19ldmVudCksIChzZW5kX3RhZ19ldmVudCksICh0ZXN0X2J1ZmZlcl9uZXcpLAoJICAoZmFpbF91bmxlc3NfdGFyZ2V0X2dhaW4pLCAoZmFpbF91bmxlc3NfcmVzdWx0X2dhaW4pLAoJICAoZmFpbF91bmxlc3NfZ2FpbiksIChHU1RfU1RBUlRfVEVTVCksIChyZ3ZvbHVtZV9zdWl0ZSksIChtYWluKToKCSAgQWRkIHJlcGxheWdhaW4gcGxheWJhY2sgZWxlbWVudHMgKCM0MTI3MTApLgoKMjAwNy0wNS0xOCAxMzoyNzozOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogRG9uJ3QgY3Jhc2ggd2hlbiBhbiB1bnN1cHBvcnRlZCB0cmFuc3BvcnQgZXJyb3Igd2FzIHJldHVybmVkIGJ5IHRoZSBzZXJ2ZXIsIGp1c3QgdHJ5IHRvIGNvbmZpZy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19zZXR1cF9zdHJlYW1zKToKCSAgRG9uJ3QgY3Jhc2ggd2hlbiBhbiB1bnN1cHBvcnRlZCB0cmFuc3BvcnQgZXJyb3Igd2FzIHJldHVybmVkIGJ5IHRoZQoJICBzZXJ2ZXIsIGp1c3QgdHJ5IHRvIGNvbmZpZ3VyZSB0aGUgbmV4dCBzdHJlYW0uIEZpeGVzICM0MzkyNTUuCgoyMDA3LTA1LTE4IDExOjM5OjEyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy4qOiBBZGQgVENQIHRpbWVvdXQgcHJvcGVydHkgYW5kIHVzZSBpdCBmb3IgYWxsIFRDUCBjb25uZWN0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19jbGFzc19pbml0KSwKCSAgKGdzdF9ydHNwc3JjX3NldF9wcm9wZXJ0eSksIChnc3RfcnRzcHNyY19nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3J0c3BzcmNfc3RyZWFtX2NvbmZpZ3VyZV91ZHApLCAoZ3N0X3J0c3BzcmNfbG9vcF9pbnRlcmxlYXZlZCksCgkgIChnc3RfcnRzcHNyY19sb29wX3VkcCksIChnc3RfcnRzcHNyY190cnlfc2VuZCksIChnc3RfcnRzcHNyY19zZW5kKSwKCSAgKGdzdF9ydHNwc3JjX3NldHVwX3N0cmVhbXMpLCAoZ3N0X3J0c3BzcmNfb3Blbik6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBBZGQgVENQIHRpbWVvdXQgcHJvcGVydHkgYW5kIHVzZSBpdCBmb3IgYWxsIFRDUCBjb25uZWN0aW9uLgoJICAqIGdzdC9ydHNwL3J0c3Bjb25uZWN0aW9uLmM6IChydHNwX2Nvbm5lY3Rpb25fY29ubmVjdCksCgkgIChydHNwX2Nvbm5lY3Rpb25fd3JpdGUpLCAocnRzcF9jb25uZWN0aW9uX25leHRfdGltZW91dCksCgkgIChydHNwX2Nvbm5lY3Rpb25fcmVzZXRfdGltZW91dCk6CgkgIE1ha2UgY29ubmVjdCBhbmQgd3JpdGVzIGNhbmNlbGFibGUgYW5kIG1ha2UgdGhlbSB1c2UgdGhlIHRpbWVvdXQuCgoyMDA3LTA1LTE4IDEwOjM2OjEyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiBSZWZhY3RvciB0aW1lb3V0IGhhbmRsaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19zZW5kX2tlZXBfYWxpdmUpLAoJICAoZ3N0X3J0c3BzcmNfbG9vcF9pbnRlcmxlYXZlZCksIChnc3RfcnRzcHNyY19sb29wX3VkcCksCgkgIChnc3RfcnRzcHNyY190cnlfc2VuZCksIChnc3RfcnRzcHNyY19zZW5kKSwKCSAgKGdzdF9ydHNwc3JjX3NldHVwX3N0cmVhbXMpOgoJICBSZWZhY3RvciB0aW1lb3V0IGhhbmRsaW5nLgoJICBBbHNvIHNlbmQga2VlcC1hbGl2ZSB3aGVuIGRlYWxpbmcgd2l0aCBUQ1AgdHJhbnNwb3J0LgoJICAqIGdzdC9ydHNwL3J0c3Bjb25uZWN0aW9uLmM6IChydHNwX2Nvbm5lY3Rpb25fY3JlYXRlKSwKCSAgKHJ0c3BfY29ubmVjdGlvbl9mcmVlKSwgKHJ0c3BfY29ubmVjdGlvbl9uZXh0X3RpbWVvdXQpLAoJICAocnRzcF9jb25uZWN0aW9uX3Jlc2V0X3RpbWVvdXQpOgoJICAqIGdzdC9ydHNwL3J0c3Bjb25uZWN0aW9uLmg6CgkgIFVzZSBhIHRpbWVyIHRvIGhhbmRsZSB0aGUgc2Vzc2lvbiB0aW1lb3V0cywgYWRkIHNvbWUgbWV0aG9kcyB0byBkZWFsCgkgIHdpdGggdGltZW91dHMuCgoyMDA3LTA1LTE3IDE0OjU2OjM5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiBJZ25vcmUgc3RyZWFtcyB0aGF0IGZhaWwgdGhlIHNldHVwIGNvbW1hbmQsIHdlIHdpbGwgcmV0cnkgd2l0aCBhIGRpZmZlcmVudCB0cmFuc3BvcnQgbGF0ZXIgb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX3NlbmQpLAoJICAoZ3N0X3J0c3BzcmNfc2V0dXBfc3RyZWFtcyk6CgkgIElnbm9yZSBzdHJlYW1zIHRoYXQgZmFpbCB0aGUgc2V0dXAgY29tbWFuZCwgd2Ugd2lsbCByZXRyeSB3aXRoIGEKCSAgZGlmZmVyZW50IHRyYW5zcG9ydCBsYXRlciBvbi4KCSAgKiBnc3QvcnRzcC9ydHNwZXh0d21zLmM6IChydHNwX2V4dF93bXNfcGFyc2Vfc2RwKSwKCSAgKHJ0c3BfZXh0X3dtc19jb25maWd1cmVfc3RyZWFtKToKCSAgRml4IGVuY29kaW5nIG5hbWUgY2FzZS4KCjIwMDctMDUtMTcgMTA6NTk6MDAgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLio6IFJlbW92ZSB0aGUgZXZlbnQtbG9vcC1pbi1zZXBhcmF0ZS10aHJlYWQgbW9kaWZpY2F0aW9ucywgYmVjYXVzZSBNYWNPU1ggaXMgJCNAKColJCMgISBGb3IuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5oOgoJICAqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgUmVtb3ZlIHRoZSBldmVudC1sb29wLWluLXNlcGFyYXRlLXRocmVhZCBtb2RpZmljYXRpb25zLCBiZWNhdXNlIE1hY09TWAoJICBpcyAkI0AoKiUkIyAhIEZvciB0aG9zZSB3b25kZXJpbmcsIHRoZSBldmVudCBoYW5kbGluZyBuZWVkcyB0byBiZSBkb25lCgkgIGluIHRoZSBtYWluIHRocmVhZCBhZnRlciBhbGwuLgoKMjAwNy0wNS0xNyAwOTo0MTo0OCArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsuKjogRml4IGEgc3R1cGlkICNpZiB2cyAjaWZkZWYgYnVnLiBTaG91bGQgdXNlIHRoZSBwcm9wZXIgY29sb3JzcGFjZSBub3cuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsuaDoKCSAgKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIEZpeCBhIHN0dXBpZCAjaWYgdnMgI2lmZGVmIGJ1Zy4gU2hvdWxkIHVzZSB0aGUgcHJvcGVyIGNvbG9yc3BhY2Ugbm93LgoJICBVc2UgYSBzZXBhcmF0ZSB0aHJlYWQvdGFzayBmb3IgdGhlIGNvY29hIGV2ZW50X2xvb3AsIGVsc2UgaXQgd291bGRuJ3QKCSAgc3RvcC4KCjIwMDctMDUtMTYgMTY6NTA6MjMgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOiBGaXggYnVpbGQgb24gbWFjb3N4LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOiAodXNlcl9lbmRyb3dfY2FsbGJhY2spLCAodXNlcl9yZWFkX2RhdGEpOgoJICBGaXggYnVpbGQgb24gbWFjb3N4LgoKMjAwNy0wNS0xNiAxNjozMDowMyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3JhdzEzOTQvZ3N0ZHYxMzk0c3JjLmM6IFJlcGxhY2UgZGlyZWN0IGNvbXBhcmlzb24gb2YgYSBzdHJpbmcgd2l0aCB0aGUgc3RyaW5nIGxpdGVyYWwgIiIgd2l0aCBhIGNvbXBhcmlzb24gb2YgdGhlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9yYXcxMzk0L2dzdGR2MTM5NHNyYy5jOiAoZ3N0X2R2MTM5NHNyY191cmlfc2V0X3VyaSk6CgkgIFJlcGxhY2UgZGlyZWN0IGNvbXBhcmlzb24gb2YgYSBzdHJpbmcgd2l0aCB0aGUgc3RyaW5nIGxpdGVyYWwgIiIgd2l0aAoJICBhIGNvbXBhcmlzb24gb2YgdGhlIGZpcnN0IGNoYXJhY3RlciB3aXRoICdcMCcuIEZpeGVzICM0Mzg5MjYuCgoyMDA3LTA1LTE1IDE3OjIyOjU4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgQWRkIERJUkVDVERSQVdfQ0ZMQUdTIGFuZCBESVJFQ1RTT1VORF9DRkxBR1MgdG8gTWFrZWZpbGUuYW07IHNhdmUgYW5kIHJlc3RvcmUgdGhlIHZhcmlvdXMgZmxhZ3MgaW4gdGhlIGRpcmVjdGRyYXcvZGlyLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBzeXMvZGlyZWN0ZHJhdy9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZGlyZWN0c291bmQvTWFrZWZpbGUuYW06CgkgIEFkZCBESVJFQ1REUkFXX0NGTEFHUyBhbmQgRElSRUNUU09VTkRfQ0ZMQUdTIHRvIE1ha2VmaWxlLmFtOyBzYXZlCgkgIGFuZCByZXN0b3JlIHRoZSB2YXJpb3VzIGZsYWdzIGluIHRoZSBkaXJlY3RkcmF3L2RpcmVjdHNvdW5kCgkgIGRldGVjdGlvbiBzZWN0aW9uLiBBcHBhcmVudGx5IGltcHJvdmVzIGNyb3NzLWNvbXBpbGluZyBmb3Igd2luMzIKCSAgd2l0aCBtaW5ndzMyIHVuZGVyIHNvbWUgY2lyY3Vtc3RhbmNlcyAoIzQzNzUzOSkuCgoyMDA3LTA1LTE1IDExOjE4OjMzICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvZGVidWcvYnJlYWtteWRhdGEuYyAoZ3N0X2JyZWFrX215X2RhdGFfaW5pdCk6IE9uZSBtb3JlIHRyeS4gVGhpcyBzaG91bGQgYmUgdGhlIHByb3BlciBmaXggbm93LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVidWcvYnJlYWtteWRhdGEuYyAoZ3N0X2JyZWFrX215X2RhdGFfaW5pdCk6CgkgIE9uZSBtb3JlIHRyeS4gVGhpcyBzaG91bGQgYmUgdGhlIHByb3BlciBmaXggbm93LgoKMjAwNy0wNS0xNSAwNjo0MTo1OCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2RlYnVnL2JyZWFrbXlkYXRhLmM6IE9vb3BzLCBubyAvLyBjb21tZW50cyBwbGVhc2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWJ1Zy9icmVha215ZGF0YS5jOgoJICBPb29wcywgbm8gLy8gY29tbWVudHMgcGxlYXNlLgoKMjAwNy0wNS0xNSAwNjozNDo0OCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2RlYnVnL2JyZWFrbXlkYXRhLmM6IEZpeCBnc3RfYnVmZmVyX2lzX3dyaXRhYmxlKCkgYXNzZXJ0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVidWcvYnJlYWtteWRhdGEuYzogKGdzdF9icmVha19teV9kYXRhX2NsYXNzX2luaXQpLAoJICAoZ3N0X2JyZWFrX215X2RhdGFfaW5pdCk6CgkgIEZpeCBnc3RfYnVmZmVyX2lzX3dyaXRhYmxlKCkgYXNzZXJ0aW9uLgoKMjAwNy0wNS0xNSAwMjo1NjoyMyArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6IEFkZCBzdXBwb3J0IGZvciBCYXllciBpbWFnZXMgYXMgdmlkZW8veC1yYXctYmF5ZXIuICBGaXhlcyAjMzE0MTYwLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6IEFkZCBzdXBwb3J0IGZvciBCYXllciBpbWFnZXMgYXMKCSAgdmlkZW8veC1yYXctYmF5ZXIuICBGaXhlcyAjMzE0MTYwLgoKMjAwNy0wNS0xNCAxNzoxMDoxMiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvOiBVcGRhdGUgdGhlb3JhIHBheS9kZXBheWxvYWRlciBpbiBhIHNpbWlsYXIgdG8gdm9yYmlzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYWRlcGF5LmM6IChkZWNvZGVfYmFzZTY0KSwKCSAgKGdzdF9ydHBfdGhlb3JhX2RlcGF5X3BhcnNlX2NvbmZpZ3VyYXRpb24pOgoJICAqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhcGF5LmM6IChlbmNvZGVfYmFzZTY0KSwKCSAgKGdzdF9ydHBfdGhlb3JhX3BheV9maW5pc2hfaGVhZGVycyksCgkgIChnc3RfcnRwX3RoZW9yYV9wYXlfaGFuZGxlX2J1ZmZlcik6CgkgIFVwZGF0ZSB0aGVvcmEgcGF5L2RlcGF5bG9hZGVyIGluIGEgc2ltaWxhciB0byB2b3JiaXMuCgkgICogZ3N0L3J0cC9nc3RydHB2b3JiaXNkZXBheS5jOgoJICAoZ3N0X3J0cF92b3JiaXNfZGVwYXlfcGFyc2VfY29uZmlndXJhdGlvbik6CgkgIFVwZGF0ZSBkb2NzLgoKMjAwNy0wNS0xNCAxNjoxOTo1OCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogV2hlbiB3ZSB0cnkgdG8gZXhlY3V0ZSBhIG1ldGhvZCB0aGF0IGlzIG5vdCBzdXBwb3J0ZWQgYnkgdGhlIHNlcnZlciwgZG9uJ3QgZXJyb3Igb3V0IGJ1dCByZW1vdi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19zZW5kKToKCSAgV2hlbiB3ZSB0cnkgdG8gZXhlY3V0ZSBhIG1ldGhvZCB0aGF0IGlzIG5vdCBzdXBwb3J0ZWQgYnkgdGhlIHNlcnZlciwKCSAgZG9uJ3QgZXJyb3Igb3V0IGJ1dCByZW1vdmUgdGhlIG1ldGhvZCBmcm9tIHRoZSBhY2NlcHRlZCBtZXRob2RzIHNvIHRoYXQKCSAgd2UgbmV2ZXIgdHJ5IHRvIHBlcmZvcm0gdGhpcyBtZXRob2QgYWdhaW4uCgoyMDA3LTA1LTE0IDE0OjQ3OjI2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC9nc3RydHB2b3JiaXNkZXBheS5jOiBSZW1vdmUgYW5ub3lpbmcgX2R1bXBfbWVtLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc2RlcGF5LmM6IChnc3RfcnRwX3ZvcmJpc19kZXBheV9wcm9jZXNzKToKCSAgUmVtb3ZlIGFubm95aW5nIF9kdW1wX21lbS4KCjIwMDctMDUtMTQgMTE6MTE6NDIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IFBhcnNlIHJhbmdlIGNvcnJlY3RseS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfcGFyc2VfcmFuZ2UpOgoJICBQYXJzZSByYW5nZSBjb3JyZWN0bHkuCgkgICogZ3N0L3J0c3AvcnRzcHVybC5jOiAocnRzcF91cmxfZ2V0X3JlcXVlc3RfdXJpKToKCSAgVGhlIGJhc2V1cmwgbm93IGFsd2F5cyBoYXMgYSAnLycgYXQgdGhlIHN0YXJ0LgoKMjAwNy0wNS0xNCAwOTowMTowNSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogRmFjdG9yIG91dCBjYXBzIGNvbmZpZ3VyYXRpb24gYW5kIGNvbmZpZ3VyZSBtb3JlIHN0dWZmIHN1Y2ggYXMgdGhlIHRpbWUgcmFuZ2VzIGFuZCBzcGVlZC9zY2FsZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19jb25maWd1cmVfY2FwcyksCgkgIChnc3RfcnRzcHNyY19wYXJzZV9yYW5nZSksIChnc3RfcnRzcHNyY19vcGVuKSwKCSAgKGdzdF9ydHNwc3JjX3BhcnNlX3J0cGluZm8pLCAoZ3N0X3J0c3BzcmNfcGxheSk6CgkgIEZhY3RvciBvdXQgY2FwcyBjb25maWd1cmF0aW9uIGFuZCBjb25maWd1cmUgbW9yZSBzdHVmZiBzdWNoIGFzIHRoZSB0aW1lCgkgIHJhbmdlcyBhbmQgc3BlZWQvc2NhbGUgdmFsdWVzLgoJICAqIGdzdC9ydHNwL3J0c3B0cmFuc3BvcnQuYzoKCSAgQWRkIENvcHlyaWdodCBhZnRlciBub24tdHJpdmFsIGZpeGVzLgoKMjAwNy0wNS0xMyAxOTo1Nzo0NSArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBnc3QvcmVwbGF5Z2Fpbi9yZ2FuYWx5c2lzLmM6IEZpeCB3cm9uZyBpZmRlZiBmb3IgdmlzdWFsIEMrKy4gIEZpeGVzOiAjNDM3NDAzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcmVwbGF5Z2Fpbi9yZ2FuYWx5c2lzLmM6CgkgIEZpeCB3cm9uZyBpZmRlZiBmb3IgdmlzdWFsIEMrKy4gIEZpeGVzOiAjNDM3NDAzLgoJICBCeSBBbGkgU2FiaWwgPGFsaS5zYWJpbEBnbWFpbC5jb20+LgoKMjAwNy0wNS0xMyAxNTo0NzoxMyArMDAwMCAgU8OpYmFzdGllbiBNb3V0dGUgPHNlYmFzdGllbkBtb3V0dGUubmV0PgoKCSAgZ3N0L2xldmVsL2dzdGxldmVsLmM6IFVzZSBndWludDggKiBpbnN0ZWFkIG9mIGdwb2ludGVyIHRoZW4gdnM2IGNhbiBidWlsZCBpbl9kYXRhICs9IChmaWx0ZXItPndpZHRoIC8gOCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOiAoZ3N0X2xldmVsX3RyYW5zZm9ybV9pcCk6CgkgIFVzZSBndWludDggKiBpbnN0ZWFkIG9mIGdwb2ludGVyIHRoZW4gdnM2IGNhbiBidWlsZAoJICBpbl9kYXRhICs9IChmaWx0ZXItPndpZHRoIC8gOCkuCgoyMDA3LTA1LTEyIDE2OjM3OjUwICswMDAwICBQZXRlciBLamVsbGVyc3RlZHQgPHBrakBheGlzLmNvbT4KCgkgIGdzdC9ydHNwLzogTWFrZSBjaGFubmVsIGd1aW50OCB3aGVyZSBwb3NzaWJsZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBQZXRlciBLamVsbGVyc3RlZHQgIDxwa2ogYXQgYXhpcyBjb20+CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICAqIGdzdC9ydHNwL3J0c3Bjb25uZWN0aW9uLmM6IChydHNwX2Nvbm5lY3Rpb25fcmVjZWl2ZSk6CgkgICogZ3N0L3J0c3AvcnRzcG1lc3NhZ2UuYzogKHJ0c3BfbWVzc2FnZV9pbml0X2RhdGEpLAoJICAocnRzcF9tZXNzYWdlX2dldF9oZWFkZXIpOgoJICAqIGdzdC9ydHNwL3J0c3BtZXNzYWdlLmg6CgkgIE1ha2UgY2hhbm5lbCBndWludDggd2hlcmUgcG9zc2libGUuCgkgIE1ha2UgcnRzcF9tZXNzYWdlX2luaXRfZGF0YSgpIHRha2UgdGhlIGNoYW5uZWwgYXMgYSBndWludDguCgkgICogZ3N0L3J0c3AvcnRzcGRlZnMuYzoKCSAgRml4ZWQgYSB0eXBvOiBUaW1vdXQgLT4gVGltZW91dAoJICAqIGdzdC9ydHNwL3J0c3BkZWZzLmg6CgkgIE1ha2UgUlRTUF9DSEVDSygpIGJlaGF2ZSBhcyBhIHN0YXRlbWVudC4KCSAgKiBnc3QvcnRzcC9zZHBtZXNzYWdlLmM6CgkgIEF2b2lkIGEgY29tcGlsZXIgd2FybmluZyBpbiBJTklUX0FSUkFZKCkuCgkgIEZpeGVzICM0Mzc2OTIuCgoyMDA3LTA1LTEyIDE2OjI3OjUxICswMDAwICBQZXRlciBLamVsbGVyc3RlZHQgPHBrakBheGlzLmNvbT4KCgkgIGdzdC9ydHNwL3J0c3B1cmwuKjogQWRkIHN1cHBvcnQgZm9yIHF1ZXJ5IHBhcmFtZXRlcnMgdG8gUlRTUCBVUkxzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFBldGVyIEtqZWxsZXJzdGVkdCAgPHBraiBhdCBheGlzIGNvbT4KCSAgKiBnc3QvcnRzcC9ydHNwdXJsLmM6IChydHNwX3VybF9wYXJzZSksIChydHNwX3VybF9mcmVlKSwKCSAgKHJ0c3BfdXJsX2dldF9yZXF1ZXN0X3VyaSk6CgkgICogZ3N0L3J0c3AvcnRzcHVybC5oOgoJICBBZGQgc3VwcG9ydCBmb3IgcXVlcnkgcGFyYW1ldGVycyB0byBSVFNQIFVSTHMuCgoyMDA3LTA1LTEyIDE2OjI2OjA2ICswMDAwICBQZXRlciBLamVsbGVyc3RlZHQgPHBrakBheGlzLmNvbT4KCgkgIGdzdC9ydHNwL3J0c3B0cmFuc3BvcnQuKjogQWRkIHZhbGlkYXRpb24gdG8gcnRzcF90cmFuc3BvcnRfcGFyc2UoKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBQZXRlciBLamVsbGVyc3RlZHQgIDxwa2ogYXQgYXhpcyBjb20+CgkgICogZ3N0L3J0c3AvcnRzcHRyYW5zcG9ydC5jOiAocnRzcF90cmFuc3BvcnRfaW5pdCksIChwYXJzZV9tb2RlKSwKCSAgKHBhcnNlX3JhbmdlKSwgKHJhbmdlX2FzX3RleHQpLCAocnRzcF90cmFuc3BvcnRfbW9kZV9hc190ZXh0KSwKCSAgKHJ0c3BfdHJhbnNwb3J0X3Byb2ZpbGVfYXNfdGV4dCksIChydHNwX3RyYW5zcG9ydF9sdHJhbnNfYXNfdGV4dCksCgkgIChydHNwX3RyYW5zcG9ydF9wYXJzZSksIChydHNwX3RyYW5zcG9ydF9hc190ZXh0KToKCSAgKiBnc3QvcnRzcC9ydHNwdHJhbnNwb3J0Lmg6CgkgIEFkZCB2YWxpZGF0aW9uIHRvIHJ0c3BfdHJhbnNwb3J0X3BhcnNlKCkuCgkgIEFkZCBydHNwX3RyYW5zcG9ydF9hc190ZXh0KCkgdG8gZ2VuZXJhdGUgYW4gUlRTUCBoZWFkZXIgZnJvbSBhbgoJICBSVFNQVHJhbnNwb3J0LgoJICBDaGFuZ2Ugc3NyYyB0byBndWludCAod2FzIGEgc3RyaW5nKSBzaW5jZSB0aGF0IGlzIHdoYXQgaXQgaXMsIGV2ZW4KCSAgdGhvdWdoIGl0IGlzIHNlbnQgYXMgYSBoZXggc3RyaW5nLgoJICBDb3JyZWN0bHkgaWRlbnRpZnkgUExBWXxSRUNPUkQgbW9kZSBwYXJhbWV0ZXJzICh0aGUgc3ludGF4IGluIHRoZSBSRkMgaXMKCSAgaW5jb3JyZWN0LCB3aGljaCBjYW4gYmUgc2VlbiB3aGVuIGxvb2tpbmcgYXQgdGhlIGV4YW1wbGVzIGluIHRoZSBSRkMpLgoJICBGaXhlcyAjNDM3NjcwLgoKMjAwNy0wNS0xMSAxNjoxMTowNCArMDAwMCAgRXJpYyBBbmhvbHQgPGFuaG9sdEBmcmVlYnNkLm9yZz4KCgkqIENoYW5nZUxvZzoKCSogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzoKCSAgc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYyAoZ3N0X3hpbWFnZV9zcmNfb3Blbl9kaXNwbGF5LCBnc3RfeGltYWdlX3NyY194aW1hZ2VfZ2V0KToKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBFcmljIEFuaG9sdAoJICAqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmMgKGdzdF94aW1hZ2Vfc3JjX29wZW5fZGlzcGxheSwKCSAgZ3N0X3hpbWFnZV9zcmNfeGltYWdlX2dldCk6CgkgIFVzZSB1bmlvbiBvZiBhbGwgZGFtYWdlIGJldHdlZW4gZnJhbWVzIHRvIG1ha2UgaXQgZmFzdGVyLgoJICBGaXhlcyBidWcgIzM0MjQ2My4KCSAgQWxzbyBmaXggY3Jhc2hlciB3aGVuIGN1cnNvciBpcyBhdCBib3R0b20gcmlnaHQgb2Ygd2luZG93LgoKMjAwNy0wNS0xMSAxNjowMTo0NSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiBTa2lwIExJU1QgY2h1bmtzIGJlZm9yZSB0aGUgZm10IGNodW5rIChmaXhlcyAjNDM3NDk5KS4gQWxzbyBmaXggc3RyZWFtaW5nIG1vZGUgcmVncmVzc2lvbi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogKGdzdF93YXZwYXJzZV9zdHJlYW1faGVhZGVycyk6CgkgIFNraXAgTElTVCBjaHVua3MgYmVmb3JlIHRoZSBmbXQgY2h1bmsgKGZpeGVzICM0Mzc0OTkpLiBBbHNvIGZpeAoJICBzdHJlYW1pbmcgbW9kZSByZWdyZXNzaW9uIGZvciBmaWxlIGZyb20gIzM0MzgzNyB3aXRoICdiZXh0JyBjaHVuawoJICBiZWZvcmUgdGhlICdmbXQnIGNodW5rLgoKMjAwNy0wNS0xMSAxNTowOTozOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwLzogUHJlbGltaW5hcnkgc2VlayBzdXBwb3J0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19mbHVzaCksCgkgIChnc3RfcnRzcHNyY19kb19zZWVrKSwgKGdzdF9ydHNwc3JjX3BlcmZvcm1fc2VlayksCgkgIChnc3RfcnRzcHNyY19oYW5kbGVfc3JjX2V2ZW50KSwKCSAgKGdzdF9ydHNwc3JjX3N0cmVhbV9jb25maWd1cmVfbWFuYWdlciksCgkgIChnc3RfcnRzcHNyY19zdHJlYW1fY29uZmlndXJlX3RjcCksIChnc3RfcnRzcHNyY19sb29wX2ludGVybGVhdmVkKSwKCSAgKGdzdF9ydHNwc3JjX3NlbmRfa2VlcF9hbGl2ZSksIChnc3RfcnRzcHNyY19vcGVuKSwKCSAgKGdzdF9ydHNwc3JjX3BhcnNlX3J0cGluZm8pLCAoZ3N0X3J0c3BzcmNfcGxheSk6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICAqIGdzdC9ydHNwL3J0c3BkZWZzLmg6CgkgIFByZWxpbWluYXJ5IHNlZWsgc3VwcG9ydC4KCSAgQWN0aXZhdGUgaW50ZXJuYWwgcGFkcyBzbyB0aGF0IHdlIGNhbiByZWNlaXZlIGV2ZW50cyBvbiB0aGVtLgoJICBEb24ndCB0cnkgdG8gcGFyc2UgYSByYW5nZSBzdHJpbmcgd2hlbiBpdCdzIE5VTEwuCgoyMDA3LTA1LTExIDE1OjA0OjM4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC9SRUFETUU6IFVwZGF0ZSBSRUFETUUgd2l0aCBuZXcgUlRQIHZhcmlhYmxlcyB0aGF0IHdpbGwgYmUgdXNlZCBmb3Igc3luY2hyb25pc2F0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL1JFQURNRToKCSAgVXBkYXRlIFJFQURNRSB3aXRoIG5ldyBSVFAgdmFyaWFibGVzIHRoYXQgd2lsbCBiZSB1c2VkIGZvcgoJICBzeW5jaHJvbmlzYXRpb24uCgkgICogZ3N0L3J0cC9nc3RydHB2b3JiaXNkZXBheS5jOiAoZGVjb2RlX2Jhc2U2NCksCgkgIChnc3RfcnRwX3ZvcmJpc19kZXBheV9wYXJzZV9jb25maWd1cmF0aW9uKSwKCSAgKGdzdF9ydHBfdm9yYmlzX2RlcGF5X3Byb2Nlc3MpOgoJICAqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzcGF5LmM6IChlbmNvZGVfYmFzZTY0KSwKCSAgKGdzdF9ydHBfdm9yYmlzX3BheV9maW5pc2hfaGVhZGVycyksCgkgIChnc3RfcnRwX3ZvcmJpc19wYXlfaGFuZGxlX2J1ZmZlcik6CgkgIFVwZGF0ZSB2b3JiaXMgcGF5IGFuZCBkZXBheWxvYWRlciB0byBkcmFmdC0wNC4KCjIwMDctMDUtMTEgMTE6MjQ6MTMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9ydHNwdHJhbnNwb3J0LmM6IFVEUCBNQ0FTVCBpcyBhY3R1YWxseSB0aGUgZGVmYXVsdCBmb3IgUlRQL0FWUC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvcnRzcHRyYW5zcG9ydC5jOgoJICBVRFAgTUNBU1QgaXMgYWN0dWFsbHkgdGhlIGRlZmF1bHQgZm9yIFJUUC9BVlAuCgoyMDA3LTA1LTExIDEwOjMxOjI3ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYyAoZ3N0X3hpbWFnZV9zcmNfc3RhcnQsIGdzdF94aW1hZ2Vfc3JjX3hpbWFnZV9nZXQpOgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jIChnc3RfeGltYWdlX3NyY19zdGFydCwKCSAgZ3N0X3hpbWFnZV9zcmNfeGltYWdlX2dldCk6CgkgICogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuaCAobGFzdF94aW1hZ2UpOgoJICBXaGVuIHVzaW5nIERhbWFnZSBhY3R1YWxseSBrZWVwIHRoZSBsYXN0IGZyYW1lLCBhbmQgbm90IGFzc3VtZQoJICB0aGF0IHRoZSBidWZmZXIgd2UgZ2V0IGFscmVhZHkgaGFzIHRoZSBsYXN0IGZyYW1lIG9uIGl0LgoJICBDb3B5IHRoZSBjdXJzb3Igb3ZlciBpZiB3ZSBzcGVjaWZ5IGEgbm9uLXplcm8gc3RhcnQgeCBhbmQKCSAgc3RhcnQgeS4KCjIwMDctMDUtMTEgMDk6MTI6NTUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9ydHNwdHJhbnNwb3J0LmM6IE1ha2UgVURQIHRoZSBkZWZhdWx0IHRyYW5zcG9ydCB3aGVuIG5vdCBzcGVjaWZpZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL3J0c3B0cmFuc3BvcnQuYzoKCSAgTWFrZSBVRFAgdGhlIGRlZmF1bHQgdHJhbnNwb3J0IHdoZW4gbm90IHNwZWNpZmllZC4KCjIwMDctMDUtMTAgMTQ6MDI6MDcgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYyAoZ3N0X3F0ZGVtdXhfbW92ZV9zdHJlYW0sIGdzdF9xdGRlbXV4X2xvb3Bfc3RhdGVfaGVhZGVyLCBnc3RfcXRkZW11eF9hY3RpdmF0ZV9zZWdtZW50LCBnc3RfcXRkZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmMgKGdzdF9xdGRlbXV4X21vdmVfc3RyZWFtLAoJICBnc3RfcXRkZW11eF9sb29wX3N0YXRlX2hlYWRlciwgZ3N0X3F0ZGVtdXhfYWN0aXZhdGVfc2VnbWVudCwKCSAgZ3N0X3F0ZGVtdXhfcHJlcGFyZV9jdXJyZW50X3NhbXBsZSwgZ3N0X3F0ZGVtdXhfY29tYmluZV9mbG93cywKCSAgZ3N0X3F0ZGVtdXhfbG9vcF9zdGF0ZV9tb3ZpZSwgZ3N0X3F0ZGVtdXhfbG9vcCwKCSAgcXRkZW11eF9wYXJzZV9zZWdtZW50cywgcXRkZW11eF9wYXJzZV90cmFrKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmMgKHJ0cF9zZXNzaW9uX2dldF9iYW5kd2lkdGgsCgkgIHJ0cF9zZXNzaW9uX2dldF9ydGNwX2JhbmR3aWR0aCwgcnRwX3Nlc3Npb25fZ2V0X2NuYW1lLAoJICBydHBfc2Vzc2lvbl9nZXRfbmFtZSwgcnRwX3Nlc3Npb25fZ2V0X2VtYWlsLCBydHBfc2Vzc2lvbl9nZXRfcGhvbmUsCgkgIHJ0cF9zZXNzaW9uX2dldF9sb2NhdGlvbiwgcnRwX3Nlc3Npb25fZ2V0X3Rvb2wsCgkgIHJ0cF9zZXNzaW9uX3Byb2Nlc3NfYnllLCBzZXNzaW9uX3JlcG9ydF9ibG9ja3MpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jIChydHBfc291cmNlX3Byb2Nlc3NfcnRwLAoJICBydHBfc291cmNlX3NlbmRfcnRwLCBydHBfc291cmNlX3Byb2Nlc3Nfc3IsIHJ0cF9zb3VyY2VfcHJvY2Vzc19yYik6CgkgIE1vcmUgZm9ybWF0IGFyZyBmaXhpbmcgKHNwb3R0ZWQgYnkgQWxpIFNhYmlsIDxhbGkuc2FiaWxAZ21haWwuY29tPikuCgkgICogZ3N0L3N3aXRjaC9NYWtlZmlsZS5hbToKCSAgQWRkIHJlcXVpcmUgbGlicmFyaWVzKHNwb3R0ZWQgYnkgQWxpIFNhYmlsIDxhbGkuc2FiaWxAZ21haWwuY29tPikuCgoyMDA3LTA1LTEwIDAxOjIxOjE5ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIGdzdC9sZXZlbC9nc3RsZXZlbC5jOiBSZXZlcnQgbGFzdCBjaGFuZ2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOgoJICBSZXZlcnQgbGFzdCBjaGFuZ2UuCgoyMDA3LTA1LTA5IDIxOjMwOjUzICswMDAwICBTw6liYXN0aWVuIE1vdXR0ZSA8c2ViYXN0aWVuQG1vdXR0ZS5uZXQ+CgoJICBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzogVXNlIGd1aW50OCAqIGluc3RlYWQgb2YgZ3BvaW50ZXIgdGhlbiB2czYga25vdyB0aGUgc2l6ZSBvZiBkYXRhIHBvaW50ZWQgd2hlbiBtb3ZpbmcgdGhlIHBvaW50ZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOiAoZ3N0X2xldmVsX2NhbGN1bGF0ZV8jI1RZUEUpLAoJICAoZ3N0X2xldmVsX3RyYW5zZm9ybV9pcCk6CgkgIFVzZSBndWludDggKiBpbnN0ZWFkIG9mIGdwb2ludGVyIHRoZW4gdnM2IGtub3cgdGhlIHNpemUgb2YgZGF0YQoJICBwb2ludGVkIHdoZW4gbW92aW5nIHRoZSBwb2ludGVyLgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOiAoZ3N0X3J0cF9oMjY0X3BheV9oYW5kbGVfYnVmZmVyKToKCSAgTW92ZSBpbnN0cnVjdGlvbnMgYWZ0ZXIgdmFyaWFibGVzIGRlY2xhcmF0aW9uLgoJICAqIHdpbjMyL3ZzNi9hdXRvZ2VuLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0cnRwLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0cnRzcC5kc3A6CgkgIFVwZGF0ZSB2czYgcHJvamVjdCBmaWxlcy4KCjIwMDctMDUtMDkgMTE6MjM6MzkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC86IEFkZCBjb2RlIHRvIHBhcnNlIHRpbWUgcmFuZ2VzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19oYW5kbGVfc3JjX3F1ZXJ5KSwKCSAgKGdzdF9ydHNwc3JjX3NlbmRfa2VlcF9hbGl2ZSksIChnc3RfcnRzcHNyY19vcGVuKToKCSAgKiBnc3QvcnRzcC9ydHNwcmFuZ2UuYzogKHBhcnNlX25wdF90aW1lKSwgKHBhcnNlX25wdF9yYW5nZSksCgkgIChwYXJzZV9jbG9ja19yYW5nZSksIChwYXJzZV9zbXB0ZV9yYW5nZSksIChydHNwX3JhbmdlX3BhcnNlKSwKCSAgKHJ0c3BfcmFuZ2VfZnJlZSk6CgkgICogZ3N0L3J0c3AvcnRzcHJhbmdlLmg6CgkgIEFkZCBjb2RlIHRvIHBhcnNlIHRpbWUgcmFuZ2VzLgoJICBSZXBvcnQgRFVSQVRJT04gb24gdGhlIHN0cmVhbSB3aGVuIHBvc3NpYmxlLgoKMjAwNy0wNS0wOCAxNTo0OTowMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzogRml4IHN0cmlkZXMgY2FsY3VsYXRpb24gZm9yIEFZVVYgKGl0J3MganVzdCB3aWR0aCo0KSAoIzQzNjkxMCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzogKGdzdF92aWRlb21peGVyX2JsZW5kX2F5dXZfYXl1diksCgkgIChnc3RfdmlkZW9taXhlcl9maWxsX2NoZWNrZXIpLCAoZ3N0X3ZpZGVvbWl4ZXJfZmlsbF9jb2xvciksCgkgIChnc3RfdmlkZW9taXhlcl9jb2xsZWN0ZWQpOgoJICBGaXggc3RyaWRlcyBjYWxjdWxhdGlvbiBmb3IgQVlVViAoaXQncyBqdXN0IHdpZHRoKjQpICgjNDM2OTEwKS4KCjIwMDctMDUtMDYgMjE6MzI6NDAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9hdWRpb2Z4LzogU3luYyB0aGUgR09iamVjdCBwcm9wZXJ0aWVzIGJlZm9yZSBlYWNoIHByb2Nlc3Npbmcgc3RlcCB0byBwcm9wZXJseSB3b3JrIHdpdGggdGhlIGNvbnRyb2xsZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvYW1wbGlmeS5jOiAoZ3N0X2F1ZGlvX2FtcGxpZnlfdHJhbnNmb3JtX2lwKToKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2R5bmFtaWMuYzogKGdzdF9hdWRpb19keW5hbWljX3RyYW5zZm9ybV9pcCk6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9pbnZlcnQuYzogKGdzdF9hdWRpb19pbnZlcnRfdHJhbnNmb3JtX2lwKToKCSAgU3luYyB0aGUgR09iamVjdCBwcm9wZXJ0aWVzIGJlZm9yZSBlYWNoIHByb2Nlc3Npbmcgc3RlcCB0byBwcm9wZXJseQoJICB3b3JrIHdpdGggdGhlIGNvbnRyb2xsZXIuCgoyMDA3LTA1LTA0IDE1OjE3OjE0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiBMZXQgbW9yZSBlcnJvciBzdGF0ZSB0cmlja2xlIGRvd24gc28gdGhhdCB3ZSBjYW4gY2F0Y2ggbW9yZSBlcnJvciBjYXNlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfc2VuZF9rZWVwX2FsaXZlKSwKCSAgKGdzdF9ydHNwc3JjX2xvb3BfdWRwKSwgKGdzdF9ydHNwc3JjX3RyeV9zZW5kKSwgKGdzdF9ydHNwc3JjX3NlbmQpLAoJICAoZ3N0X3J0c3BzcmNfc2V0dXBfc3RyZWFtcyksIChnc3RfcnRzcHNyY19vcGVuKSwKCSAgKGdzdF9ydHNwc3JjX2Nsb3NlKSwgKGdzdF9ydHNwc3JjX3BsYXkpLCAoZ3N0X3J0c3BzcmNfcGF1c2UpLAoJICAoZ3N0X3J0c3BzcmNfY2hhbmdlX3N0YXRlKToKCSAgTGV0IG1vcmUgZXJyb3Igc3RhdGUgdHJpY2tsZSBkb3duIHNvIHRoYXQgd2UgY2FuIGNhdGNoIG1vcmUgZXJyb3IKCSAgY2FzZXMuCgkgIEhhbmRsZSBrZWVwLWFsaXZlIGEgbGl0dGxlIHNtYXJ0ZXIgYnkgc2VsZWN0aW5nIGEgbWV0aG9kIHRoZSBzZXJ2ZXIKCSAgYWN0dWFsbHkgc3VwcG9ydHMuCgkgIEZpeCBhIHJhY2UgaW4gVURQIHN0cmVhbWluZyBzaHV0ZG93bi4KCjIwMDctMDUtMDQgMTM6MDQ6MzEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IElnbm9yZSBlcnJvcnMgd2hlbiB0cnlpbmcgdG8gdXNlIHRoZSBrZWVwLWFsaXZlIG1lc3NhZ2VzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19zZW5kX2tlZXBfYWxpdmUpOgoJICBJZ25vcmUgZXJyb3JzIHdoZW4gdHJ5aW5nIHRvIHVzZSB0aGUga2VlcC1hbGl2ZSBtZXNzYWdlcy4KCjIwMDctMDUtMDQgMTI6MzE6MzIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IFNlbmQgUlRDUCBtZXNzYWdlcyBiYWNrIHRvIHRoZSBzZXJ2ZXIgb3ZlciB0aGUgVENQIGNvbm5lY3Rpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX2hhbmRsZV9zcmNfZXZlbnQpLAoJICAoZ3N0X3J0c3BzcmNfaGFuZGxlX3NyY19xdWVyeSksIChnc3RfcnRzcHNyY19zaW5rX2NoYWluKSwKCSAgKGdzdF9ydHNwc3JjX3N0cmVhbV9jb25maWd1cmVfbWFuYWdlciksCgkgIChnc3RfcnRzcHNyY19zdHJlYW1fZnJlZV91ZHApLCAoZ3N0X3J0c3BzcmNfc3RyZWFtX2NvbmZpZ3VyZV90Y3ApLAoJICAoZ3N0X3J0c3BzcmNfc3RyZWFtX2NvbmZpZ3VyZV9tY2FzdCksCgkgIChnc3RfcnRzcHNyY19zdHJlYW1fY29uZmlndXJlX3VkcCksCgkgIChnc3RfcnRzcHNyY19zdHJlYW1fY29uZmlndXJlX3VkcF9zaW5rKSwKCSAgKGdzdF9ydHNwc3JjX3N0cmVhbV9jb25maWd1cmVfdHJhbnNwb3J0KToKCSAgU2VuZCBSVENQIG1lc3NhZ2VzIGJhY2sgdG8gdGhlIHNlcnZlciBvdmVyIHRoZSBUQ1AgY29ubmVjdGlvbi4KCSAgKiBnc3QvcnRzcC9ydHNwY29ubmVjdGlvbi5jOiAocnRzcF9jb25uZWN0aW9uX3dyaXRlKSwKCSAgKHJ0c3BfY29ubmVjdGlvbl9zZW5kKSwgKHJ0c3BfY29ubmVjdGlvbl9yZWFkKSwgKHJlYWRfYm9keSksCgkgIChydHNwX2Nvbm5lY3Rpb25fcmVjZWl2ZSk6CgkgICogZ3N0L3J0c3AvcnRzcGNvbm5lY3Rpb24uaDoKCSAgRmFjdG9yIG91dCBhbmQgZXhwb3NlIGxvd2xldmVsIF93cml0ZSBhbmQgX3JlYWQgbWV0aG9kcy4KCSAgSW1wbGVtZW50IHNlbmRpbmcgZGF0YSBtZXNzYWdlcyB0byB0aGUgc2VydmVyLgoKMjAwNy0wNS0wMyAxNTo1NTowNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0bXV4LmM6IEZpeCB0aW1lc3RhbXBzIG9uIG91dGdvaW5nIGJ1ZmZlcnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0bXV4LmM6IChnc3RfbXVsdGlwYXJ0X211eF9xdWV1ZV9wYWRzKSwKCSAgKGdzdF9tdWx0aXBhcnRfbXV4X2NvbGxlY3RlZCk6CgkgIEZpeCB0aW1lc3RhbXBzIG9uIG91dGdvaW5nIGJ1ZmZlcnMuCgoyMDA3LTA1LTAzIDE0OjM5OjA5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L211bHRpcGFydC9tdWx0aXBhcnRtdXguYzogRW1pdCBORVdTRUdNRU5UIGV2ZW50cyBiZWZvcmUgcHVzaGluZyB0aGUgZmlyc3QgYnVmZmVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydG11eC5jOgoJICAoZ3N0X211bHRpcGFydF9tdXhfcmVxdWVzdF9uZXdfcGFkKSwgKGdzdF9tdWx0aXBhcnRfbXV4X2NvbGxlY3RlZCksCgkgIChnc3RfbXVsdGlwYXJ0X211eF9jaGFuZ2Vfc3RhdGUpOgoJICBFbWl0IE5FV1NFR01FTlQgZXZlbnRzIGJlZm9yZSBwdXNoaW5nIHRoZSBmaXJzdCBidWZmZXIuCgoyMDA3LTA1LTAzIDEzOjQ4OjU0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiBSZWZhY3RvciB0cmFuc3BvcnQgY29uZmlndXJhdGlvbiBjb2RlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19maW5hbGl6ZSksCgkgIChnc3RfcnRzcHNyY19hbGxvY191ZHBfcG9ydHMpLCAoZ3N0X3J0c3BzcmNfaGFuZGxlX3NyY19ldmVudCksCgkgIChnc3RfcnRzcHNyY19oYW5kbGVfc3JjX3F1ZXJ5KSwKCSAgKGdzdF9ydHNwc3JjX3N0cmVhbV9jb25maWd1cmVfbWFuYWdlciksCgkgIChnc3RfcnRzcHNyY19zdHJlYW1fZnJlZV91ZHApLCAoZ3N0X3J0c3BzcmNfc3RyZWFtX2NvbmZpZ3VyZV90Y3ApLAoJICAoZ3N0X3J0c3BzcmNfc3RyZWFtX2NvbmZpZ3VyZV9tY2FzdCksCgkgIChnc3RfcnRzcHNyY19zdHJlYW1fY29uZmlndXJlX3VkcCksCgkgIChnc3RfcnRzcHNyY19zdHJlYW1fY29uZmlndXJlX3VkcF9zaW5rKSwKCSAgKGdzdF9ydHNwc3JjX3N0cmVhbV9jb25maWd1cmVfdHJhbnNwb3J0KSwgKGdzdF9ydHNwc3JjX3B1c2hfZXZlbnQpLAoJICAoZ3N0X3J0c3BzcmNfbG9vcF91ZHApLCAoZ3N0X3J0c3BzcmNfb3BlbiksCgkgIChnc3RfcnRzcHNyY19wYXJzZV9ydHBpbmZvKSwgKGdzdF9ydHNwc3JjX3BsYXkpLAoJICAoZ3N0X3J0c3BzcmNfcGF1c2UpOgoJICBSZWZhY3RvciB0cmFuc3BvcnQgY29uZmlndXJhdGlvbiBjb2RlLgoJICBDcmVhdGUgaW50ZXJuYWwgcGFkcyBmb3IgVENQIHRyYW5zcG9ydCBzbyB0aGF0IHdlIGNhbiBpbXBsZW1lbnQgZXZlbnRzCgkgIGFuZCBxdWVyaWVzLgoJICBIYW5kbGUgZXZlbnRzIGFuZCBxdWVyaWVzLgoJICBQYXJzZSByYW5nZSBmcm9tIHRoZSBTRFAuCgkgIEZpeCByYWNlIGluIHBhdXNlIGhhbmRsZXIgd2hlcmUgdGhlIGNvbm5lY3Rpb24gY291bGQgc3RpbGwgYmUgZmx1c2hpbmcuCgoyMDA3LTA1LTAyIDE5OjMyOjU4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy4qOiBGaXggcmFjZSB3aGVuIG11bHRpcGxlIHVkcCBzb3VyY2VzIHBvc3QgdGltZW91dHMsIGp1c3QgYWN0IG9uIHRoZSBmaXJzdCByZWNlaXZlZCB0aW1lb3V0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19pbml0KSwKCSAgKGdzdF9ydHNwc3JjX2ZpbmFsaXplKSwgKG5ld19zZXNzaW9uX3BhZCksIChyZXF1ZXN0X3B0X21hcCksCgkgIChnc3RfcnRzcHNyY19sb29wX3NlbmRfY21kKSwgKGdzdF9ydHNwc3JjX3RyeV9zZW5kKSwKCSAgKGdzdF9ydHNwc3JjX3NlbmQpLCAoZ3N0X3J0c3BzcmNfYXN5bmNfb3BlbiksIChnc3RfcnRzcHNyY19jbG9zZSksCgkgIChnc3RfcnRzcHNyY19wbGF5KSwgKGdzdF9ydHNwc3JjX2hhbmRsZV9tZXNzYWdlKSwKCSAgKGdzdF9ydHNwc3JjX2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBGaXggcmFjZSB3aGVuIG11bHRpcGxlIHVkcCBzb3VyY2VzIHBvc3QgdGltZW91dHMsIGp1c3QgYWN0IG9uIHRoZSBmaXJzdAoJICByZWNlaXZlZCB0aW1lb3V0LgoJICBQcm90ZWN0IHN0cmVhbSBsaXN0IHdpdGggYSByZWN1cnNpdmUgbG9jayB0byBmaXggc29tZSByYWNlcy4KCSAgRmx1c2ggY29ubmVjdGlvbiB3aGVuIHdlIG5lZWQgdG8gZG8gYSByZWNvbm5lY3Qgb3Igc3RvcC4KCSAgTWFrZSBzdGF0ZSBsb2NrIHJlY3Vyc2l2ZS4KCSAgKiBnc3QvcnRzcC9ydHNwY29ubmVjdGlvbi5jOiAocnRzcF9jb25uZWN0aW9uX2Nvbm5lY3QpLAoJICAocnRzcF9jb25uZWN0aW9uX2Nsb3NlKToKCSAgU29tZSBzbWFsbCBjbGVhbnVwcy4KCjIwMDctMDUtMDIgMTg6MzE6MTYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC93YXZwYWNrL2dzdHdhdnBhY2suYzogQ2FsbCBiaW5kdGV4dGRvbWFpbigpIHRvIGdldCBsb2NhbGl6ZWQgc3RyaW5ncy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFjay5jOiAocGx1Z2luX2luaXQpOgoJICBDYWxsIGJpbmR0ZXh0ZG9tYWluKCkgdG8gZ2V0IGxvY2FsaXplZCBzdHJpbmdzLgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzogKGdzdF93YXZwYWNrX2RlY19jaGFpbik6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IChnc3Rfd2F2cGFja19wYXJzZV9yZXNldCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9oYW5kbGVfc2Vla19ldmVudCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9wdXNoX2J1ZmZlciksIChnc3Rfd2F2cGFja19wYXJzZV9jaGFpbik6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmg6CgkgIEhhbmRsZSBESVNDT05UIGJ1ZmZlcnMgYnkgY29ycmVjdGx5IHNldHRpbmcgdGhlIERJU0NPTlQgZmxhZwoJICBvbiBvdXRnb2luZyBidWZmZXJzIHdoZW4gbmVjZXNzYXJ5LgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOiAoZ3N0X3dhdnBhY2tfcGFyc2VfaGFuZGxlX3NlZWtfZXZlbnQpCgkgIFNlbmQgbmV3c2VnbWVudCBmcm9tIHRoZSBzdHJlYW1pbmcgdGhyZWFkLgoKMjAwNy0wNS0wMiAxODoyNTowOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiBPbmx5IHNldCBESVNDT05UIHdoZW4gdGhlcmUgYWN0dWFsbHkgaXMgYSBkaXNjb250IG9yIHdoZW4gd2UganVzdCBzdGFydGVkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogKGdzdF93YXZwYXJzZV9wZXJmb3JtX3NlZWspLAoJICAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9oZWFkZXJzKSwgKGdzdF93YXZwYXJzZV9zdHJlYW1fZGF0YSk6CgkgIE9ubHkgc2V0IERJU0NPTlQgd2hlbiB0aGVyZSBhY3R1YWxseSBpcyBhIGRpc2NvbnQgb3Igd2hlbiB3ZSBqdXN0CgkgIHN0YXJ0ZWQuCgoyMDA3LTA1LTAyIDE4OjAxOjUyICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvZmxhYy9nc3RmbGFjLmM6IENhbGwgYmluZHRleHRkb21haW4oKSB0byBnZXQgbG9jYWxpemVkIHN0cmluZ3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mbGFjL2dzdGZsYWMuYzogKHBsdWdpbl9pbml0KToKCSAgQ2FsbCBiaW5kdGV4dGRvbWFpbigpIHRvIGdldCBsb2NhbGl6ZWQgc3RyaW5ncy4KCjIwMDctMDUtMDIgMTc6MTk6MzYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuKjogQmUgYSBiaXQgbW9yZSBjbGV2ZXIgd2hlbiBkZWFsaW5nIHdpdGggVkJSIGZpbGVzIHdpdGggRkFDVCB0YWdzLCB3ZSBkb24ndCB3YW50IHRvIHRpbWVzdGEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IChnc3Rfd2F2cGFyc2VfcGVyZm9ybV9zZWVrKSwKCSAgKGdzdF93YXZwYXJzZV9zdHJlYW1faGVhZGVycyksIChnc3Rfd2F2cGFyc2VfYWRkX3NyY19wYWQpLAoJICAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9kYXRhKToKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuaDoKCSAgQmUgYSBiaXQgbW9yZSBjbGV2ZXIgd2hlbiBkZWFsaW5nIHdpdGggVkJSIGZpbGVzIHdpdGggRkFDVCB0YWdzLCB3ZQoJICBkb24ndCB3YW50IHRvIHRpbWVzdGFtcCBidWZmZXJzIGluIHRoYXQgY2FzZSBidXQgdGhlIGVzdGltYXRlZCBCUFMgY2FuCgkgIGJlIHVzZWQgZm9yIHNlZWtpbmcuCgkgIE9ubHkgc2VuZCBjbG9zZSBzZWdtZW50IGluIHRoZSBzdHJlYW1pbmcgdGhyZWFkLgoKMjAwNy0wNS0wMiAxNzowODowOSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOiBDb3JyZWN0bHkgcG9zdCBhbiBlcnJvciBvbiB0aGUgYnVzIGlmIHNvbWV0aGluZyB3ZW50IHdyb25nIGluIHRoZSBsb29wIGZ1bmN0aW9uLiBUaGlzIGZpeGVzIGEgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzogKGdzdF9mbGFjX2RlY19sb29wKToKCSAgQ29ycmVjdGx5IHBvc3QgYW4gZXJyb3Igb24gdGhlIGJ1cyBpZiBzb21ldGhpbmcgd2VudCB3cm9uZyBpbiB0aGUgbG9vcAoJICBmdW5jdGlvbi4gVGhpcyBmaXhlcyBhIGZldyBjYXNlcyB3aGVyZSB0aGUgdGFzayB3YXMgcGF1c2VkIGFuZCBub3RoaW5nCgkgIGhhcHBlbmVkIGFueW1vcmUuCgoyMDA3LTA1LTAyIDE2OjU4OjA2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogUmVtb3ZlIG9sZCB3b3JrYXJvdW5kIHRoYXQgd2FzIG5lZWRlZCB3aGVuIHNlZWtpbmcgYWZ0ZXIgdGhlIGxhc3Qgc2FtcGxlLiBXaXRoIHRoZSBmaXguLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6CgkgIChnc3Rfd2F2cGFja19wYXJzZV9oYW5kbGVfc2Vla19ldmVudCk6CgkgIFJlbW92ZSBvbGQgd29ya2Fyb3VuZCB0aGF0IHdhcyBuZWVkZWQgd2hlbiBzZWVraW5nIGFmdGVyIHRoZSBsYXN0CgkgIHNhbXBsZS4gV2l0aCB0aGUgZml4ZWQgZXJyb3IgaGFuZGxpbmcgdGhpcyB3b3JrcyBub3cgYXMgZXhwZWN0ZWQKCSAgd2l0aG91dCBwdXNoaW5nIHRoZSBsYXN0IHNhbXBsZSBhbHRob3VnaCBpdCB3YXNuJ3QgcmVxdWVzdGVkLgoKMjAwNy0wNS0wMiAxNjo0NTo0MyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IEhhbmRsZSBzZWdtZW50IHNlZWtzIGluIHRoZSBzZWVrIGV2ZW50IGhhbmRsZXIsIGNvcnJlY3RseSB3b3JrIHdpdGggc3RvcCBwb3NpdGlvbiA9PSAtLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOgoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfaGFuZGxlX3NlZWtfZXZlbnQpOgoJICBIYW5kbGUgc2VnbWVudCBzZWVrcyBpbiB0aGUgc2VlayBldmVudCBoYW5kbGVyLCBjb3JyZWN0bHkgd29yayB3aXRoCgkgIHN0b3AgcG9zaXRpb24gPT0gLTEgYW5kIGluc3RlYWQgb2Ygc3RvcHBpbmcgdGhlIHRhc2sgb24gc2VlayBqdXN0CgkgIHBhdXNlIGl0LgoKMjAwNy0wNS0wMiAxNjoxOTo1OCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IEFkZCBoYW5kbGluZyBmb3Igc2VnbWVudCBzZWVrcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IChnc3Rfd2F2cGFja19wYXJzZV9sb29wKToKCSAgQWRkIGhhbmRsaW5nIGZvciBzZWdtZW50IHNlZWtzLgoKMjAwNy0wNS0wMiAxNToxMzowNCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IENvcnJlY3RseSBoYW5kbGUgZXJyb3JzLCBlc3BlY2lhbGx5IGluIHRoZSBsb29wIGZ1bmN0aW9uLiBCZWZvcmUgaXQgd2FzIGVhc3kgdG8gZ2V0IHRoLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOiAoZ3N0X3dhdnBhY2tfcGFyc2VfcHVsbF9idWZmZXIpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfY3JlYXRlX3NyY19wYWQpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfcmVzeW5jX2xvb3ApLCAoZ3N0X3dhdnBhY2tfcGFyc2VfbG9vcCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9jaGFpbik6CgkgIENvcnJlY3RseSBoYW5kbGUgZXJyb3JzLCBlc3BlY2lhbGx5IGluIHRoZSBsb29wIGZ1bmN0aW9uLiBCZWZvcmUgaXQKCSAgd2FzIGVhc3kgdG8gZ2V0IHRoZSB0YXNrIHBhdXNlZCBidXQgbm8gZXJyb3IgYmVpbmcgcG9zdGVkIG9uIHRoZSBidXMuCgoyMDA3LTA1LTAyIDE0OjI3OjI4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvdGVzdC5jOiBGaXggY29tcGlsYXRpb24gb2YgZGVwcmVjYXRlZCB0ZXN0IGp1c3QgYmVjYXVzZSBJJ20gdG9vIGxhenkgdG8gZGVsZXRlIGl0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC90ZXN0LmM6IChtYWluKToKCSAgRml4IGNvbXBpbGF0aW9uIG9mIGRlcHJlY2F0ZWQgdGVzdCBqdXN0IGJlY2F1c2UgSSdtIHRvbyBsYXp5IHRvIGRlbGV0ZQoJICBpdC4KCjIwMDctMDUtMDIgMTM6MzI6NTcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLio6IEZpeCBzZW5kaW5nIFJUQ1AgdG8gdGhlIHJpZ2h0IHBsYWNlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19pbml0KSwKCSAgKGdzdF9ydHNwc3JjX2ZpbmFsaXplKSwgKGdzdF9ydHNwc3JjX3N0cmVhbV9jb25maWd1cmVfdHJhbnNwb3J0KSwKCSAgKGdzdF9ydHNwc3JjX2hhbmRsZV9yZXF1ZXN0KSwgKGdzdF9ydHNwc3JjX2xvb3BfaW50ZXJsZWF2ZWQpLAoJICAoZ3N0X3J0c3BzcmNfc2VuZF9rZWVwX2FsaXZlKSwgKGdzdF9ydHNwc3JjX2xvb3BfdWRwKSwKCSAgKGdzdF9ydHNwc3JjX2xvb3Bfc2VuZF9jbWQpLCAoZ3N0X3J0c3BzcmNfdHJ5X3NlbmQpLAoJICAoZ3N0X3J0c3BzcmNfb3BlbiksIChnc3RfcnRzcHNyY19oYW5kbGVfbWVzc2FnZSk6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBGaXggc2VuZGluZyBSVENQIHRvIHRoZSByaWdodCBwbGFjZS4KCSAgRml4IGJ1ZyBpbiByZWZmaW5nIHRoZSB3cm9uZyBVRFAgZWxlbWVudC4KCSAgVXNlIG5ldyBwYWQgbmFtZXMgZm9yIHRoZSBzZXNzaW9uIG1hbmFnZXIuCgkgIEltcGxlbWVudCBoYW5kbGluZyBzZXJ2ZXIgcmVxdWVzdHMgaW4gaW50ZXJsZWF2ZWQgYW5kIFVEUCBtb2Rlcy4KCSAgSGFuZGxlIHNlc3Npb24ga2VlcC1hbGl2ZSBpbiBVRFAgbW9kZXMuCgkgIFJlbW92ZSBHQ29uZCBmb3IgaGFuZGxpbmcgVURQIHRpbWVvdXRzLgoJICAqIGdzdC9ydHNwL3J0c3Bjb25uZWN0aW9uLmM6IChydHNwX2Nvbm5lY3Rpb25fY29ubmVjdCksCgkgIChydHNwX2Nvbm5lY3Rpb25fc2VuZCksIChydHNwX2Nvbm5lY3Rpb25fcmVhZCksIChyZWFkX2JvZHkpLAoJICAocnRzcF9jb25uZWN0aW9uX3JlY2VpdmUpLCAocnRzcF9jb25uZWN0aW9uX2Nsb3NlKToKCSAgKiBnc3QvcnRzcC9ydHNwY29ubmVjdGlvbi5oOgoJICBTdG9yZSBjb25uZWN0aW9uIElQIGFkZHJlc3MgZm9yIGxhdGVyLgoJICBBZGQgdGltZW91dCBhcmdzIHRvIGFsbCBvcGVyYXRpb25zIHRoYXQgbWlnaHQgYmxvY2sgZm9yZXZlci4KCSAgUGFyc2Ugc2Vzc2lvbiB0aW1lb3V0LgoJICBPbmx5IGNsb3NlIHNvY2tldHMgd2hlbiBub3QgYWxyZWFkeSBjbG9zZWQuCgkgICogZ3N0L3J0c3AvcnRzcGRlZnMuYzoKCSAgKiBnc3QvcnRzcC9ydHNwZGVmcy5oOgoJICBBZGQgdGltZW91dCByZXR1cm4gdmFsdWUgYW5kIGVycm9yIHN0cmluZy4KCSAgKiBnc3QvcnRzcC9ydHNwbWVzc2FnZS5jOiAocnRzcF9tZXNzYWdlX2luaXRfcmVzcG9uc2UpOgoJICBBZGQgc21hbGwgY29tbWVudC4KCjIwMDctMDUtMDEgMTY6MTM6NTggKzAwMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZEBsdW9uLm5ldD4KCgkgIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS4qOiBIYW5kbGUgTkVXU0VHTUVOVCBhbmQgRkxVU0ggZXZlbnRzLiBGaXhlcyAjNDM0ODI0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFNqb2VyZCBTaW1vbnMgPHNqb2VyZCBhdCBsdW9uIGRvdCBuZXQ+CgkgICogZ3N0L3J0cC9nc3RydHBtcDR2cGF5LmM6IChnc3RfcnRwX21wNHZfcGF5X2luaXQpLAoJICAoZ3N0X3J0cF9tcDR2X3BheV9lbXB0eSksIChnc3RfcnRwX21wNHZfcGF5X2V2ZW50KToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuaDoKCSAgSGFuZGxlIE5FV1NFR01FTlQgYW5kIEZMVVNIIGV2ZW50cy4gRml4ZXMgIzQzNDgyNC4KCjIwMDctMDQtMzAgMTE6MTU6NTggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDogUmVtb3ZlIHY0bDJzcmMgZnJvbSBkb2NzLCBzaW5jZSBpdCBicmVha3MgdGhlIGRvY3MgYnVpbGQsIGFuZCB0aGUgcGwuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgIFJlbW92ZSB2NGwyc3JjIGZyb20gZG9jcywgc2luY2UgaXQgYnJlYWtzIHRoZSBkb2NzIGJ1aWxkLCBhbmQgdGhlCgkgIHBsdWdpbiBpcyBvbmx5IGJ1aWx0IGlmIC0tZW5hYmxlLWV4cGVyaW1lbnRhbCBpcyB1c2VkIGFueXdheS4KCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgIFNwYWNlcyA9PiB0YWIuCgoyMDA3LTA0LTI5IDE0OjQzOjM3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzogQWRkIGNvZGUgdG8gZHJvcCBtZW1iZXJzaGlwIG9mIGEgbXVsdGljYXN0IGdyb3VwLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOiAobGVhdmVfbXVsdGljYXN0KSwKCSAgKGdzdF9tdWx0aXVkcHNpbmtfYWRkKSwgKGdzdF9tdWx0aXVkcHNpbmtfcmVtb3ZlKToKCSAgQWRkIGNvZGUgdG8gZHJvcCBtZW1iZXJzaGlwIG9mIGEgbXVsdGljYXN0IGdyb3VwLgoJICAqIGdzdC91ZHAvZ3N0dWRwc2luay5jOiAoZ3N0X3VkcHNpbmtfdXBkYXRlX3VyaSksCgkgIChnc3RfdWRwc2lua19zZXRfdXJpKToKCSAgSW1wbGVtZW50IFVSSSBoYW5kbGVyLgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX3N0cmVhbV9jb25maWd1cmVfdHJhbnNwb3J0KSwKCSAgKGdzdF9ydHNwc3JjX3BhcnNlX3J0cGluZm8pOgoJICBVc2UgVVJJIGhhbmRsZXIgdG8gbWFrZSB1ZHBzaW5rIGluc3RhY2UuCgkgIEltcHJvdmUgY29kZSB0byBjb25maWd1cmUgcG9ydCBhbmQgZGVzdGluYXRpb24uCgoyMDA3LTA0LTI5IDEzOjU2OjE4ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgODAgY2hhciBwb2xpY2UKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDgwIGNoYXIgcG9saWNlCgoyMDA3LTA0LTI5IDEzOjUzOjE2ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGF1dG9nZW4uc2g6IFJlcXVpcmUgYXV0b21ha2UgMS43CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGF1dG9nZW4uc2g6CgkgIFJlcXVpcmUgYXV0b21ha2UgMS43CgkgICogZXh0L2Fsc2FzcGRpZi9NYWtlZmlsZS5hbToKCSAgKiBleHQvZGl2eC9NYWtlZmlsZS5hbToKCSAgKiBleHQvaXZvcmJpcy9NYWtlZmlsZS5hbToKCSAgKiBleHQvbXVzaWNicmFpbnovTWFrZWZpbGUuYW06CgkgICogZXh0L25lb24vTWFrZWZpbGUuYW06CgkgICogZXh0L3NkbC9NYWtlZmlsZS5hbToKCSAgKiBleHQvc3dmZGVjL01ha2VmaWxlLmFtOgoJICAqIGV4dC90aGVvcmEvTWFrZWZpbGUuYW06CgkgICogZXh0L3dhdnBhY2svTWFrZWZpbGUuYW06CgkgICogZXh0L3h2aWQvTWFrZWZpbGUuYW06CgkgICogZ3N0L21vZHBsdWcvTWFrZWZpbGUuYW06CgkgIEZpeCB1cCBNYWtlZmlsZS5hbSBhY2NvcmRpbmdseS4KCjIwMDctMDQtMjkgMTM6NDk6MDIgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvOiBBZGQgamFjayBhbmQgdXBkYXRlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxzYXNwZGlmLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2R4YXBhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGZidmlkZW9zaW5rLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1maWx0ZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVlemUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nbGltYWdlc2luay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWgyNjRwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzZXBhY2sueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNpY2JyYWluei54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uc2ZkZWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RsLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGluZ2hlYWRlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXh2aWQueG1sOgoJICBBZGQgamFjayBhbmQgdXBkYXRlLgoKMjAwNy0wNC0yOSAxMjoxOToyMSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6IEZpeCBtdWx0aWNhc3QgZGV0ZWN0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOiAoZ3N0X211bHRpdWRwc2lua19hZGQpOgoJICBGaXggbXVsdGljYXN0IGRldGVjdGlvbi4KCSAgRG9uJ3QgdHJ5IHRvIGpvaW4gYSBtdWx0aWNhc3QgZ3JvdXAgaWYgdGhlIGFkZHJlc3MgaXMgbm90IG11bHRpY2FzdC4KCSAgKiBnc3QvdWRwL2dzdHVkcHNyYy5jOiAoZ3N0X3VkcHNyY191cGRhdGVfdXJpKToKCSAgU21hbGwgZGVidWcgaW1wcm92ZW1lbnQuCgoyMDA3LTA0LTI3IDE2OjQ0OjE3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiBJZ25vcmUgQVNZTkMgc3RhdGUgbWVzc2FnZXMgZnJvbSB0aGUgdWRwc2luaywgaXQncyBpcnJlbGV2YW50IGZvciB0aGUgcGFyZW50LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19zdHJlYW1fY29uZmlndXJlX3RyYW5zcG9ydCksCgkgIChnc3RfcnRzcHNyY19wYXJzZV9ydHBpbmZvKSwgKGdzdF9ydHNwc3JjX3BsYXkpLAoJICAoZ3N0X3J0c3BzcmNfaGFuZGxlX21lc3NhZ2UpOgoJICBJZ25vcmUgQVNZTkMgc3RhdGUgbWVzc2FnZXMgZnJvbSB0aGUgdWRwc2luaywgaXQncyBpcnJlbGV2YW50IGZvciB0aGUKCSAgcGFyZW50LgoKMjAwNy0wNC0yNyAxNTozMDozOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvZ3N0cnRwaWxiY2RlcGF5Lmg6IEZpeCBtb2RlIHByb3BlcnR5IHdoZW4gc3BlY2lmaWVkIGFzIGFuIGFyZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBpbGJjZGVwYXkuaDoKCSAgRml4IG1vZGUgcHJvcGVydHkgd2hlbiBzcGVjaWZpZWQgYXMgYW4gYXJnLgoKMjAwNy0wNC0yNiAxNTowODoyMCArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGRvY3MvcGx1Z2lucy86IEFkZCBkb2N1bWVudGF0aW9uIGZvciBvc3hhdWRpbyBwbHVnaW4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3hhdWRpby54bWw6CgkgIEFkZCBkb2N1bWVudGF0aW9uIGZvciBvc3hhdWRpbyBwbHVnaW4uCgoyMDA3LTA0LTI2IDE0OjMxOjMyICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZG9jcy9wbHVnaW5zLzogQWRkIGRvY3VtZW50YXRpb24gZm9yIG9zeHZpZGVvCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3h2aWRlby54bWw6CgkgIEFkZCBkb2N1bWVudGF0aW9uIGZvciBvc3h2aWRlbwoKMjAwNy0wNC0yNiAxMDowODoyNyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuKjogUHJvdGVjdCBzdGF0ZSBjaGFuZ2VzIHdpdGggYSBsb2NrLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19pbml0KSwKCSAgKGdzdF9ydHNwc3JjX2ZpbmFsaXplKSwgKGdzdF9ydHNwc3JjX3N0cmVhbV9jb25maWd1cmVfdHJhbnNwb3J0KSwKCSAgKGdzdF9ydHNwc3JjX29wZW4pLCAoZ3N0X3J0c3BzcmNfY2xvc2UpLAoJICAoZ3N0X3J0c3BzcmNfcGFyc2VfcnRwaW5mbyksIChnc3RfcnRzcHNyY19wbGF5KSwKCSAgKGdzdF9ydHNwc3JjX3BhdXNlKToKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIFByb3RlY3Qgc3RhdGUgY2hhbmdlcyB3aXRoIGEgbG9jay4KCSAgKiBnc3QvcnRzcC9ydHNwY29ubmVjdGlvbi5jOiAocnRzcF9jb25uZWN0aW9uX2NyZWF0ZSksCgkgIChwYXJzZV9saW5lKToKCSAgKiBnc3QvcnRzcC9ydHNwY29ubmVjdGlvbi5oOgoJICBSZW1vdmUgc29tZSB1bnVzZWQgc3R1ZmYuCgoyMDA3LTA0LTI2IDA4OjQ4OjMwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3VkcC9nc3R1ZHBzcmMuYzogSGFuZGxlIHRoZSBjYXNlIHdoZXJlIHRoZXJlIGFyZSBleGFjdGx5IDAgYnl0ZXMgdG8gcmVhZCBhbmQgdGhlIGlvY3RsIGRpZCBub3QgcmVwb3J0IGFuIGVycm9yLiBGLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6IChnc3RfdWRwc3JjX2NyZWF0ZSk6CgkgIEhhbmRsZSB0aGUgY2FzZSB3aGVyZSB0aGVyZSBhcmUgZXhhY3RseSAwIGJ5dGVzIHRvIHJlYWQgYW5kIHRoZSBpb2N0bAoJICBkaWQgbm90IHJlcG9ydCBhbiBlcnJvci4gRml4ZXMgIzQzMzUzMC4KCjIwMDctMDQtMjYgMDg6Mzk6NDkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuKjogQXBwbHkgRElTQ09OVCB0byBidWZmZXJzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogKGdzdF93YXZwYXJzZV9wZXJmb3JtX3NlZWspLAoJICAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9oZWFkZXJzKSwgKGdzdF93YXZwYXJzZV9zdHJlYW1fZGF0YSk6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmg6CgkgIEFwcGx5IERJU0NPTlQgdG8gYnVmZmVycy4KCSAgT25seSBhcHBseSB0aW1lc3RhbXAgdG8gdGhlIGZpcnN0IHNhbXBsZSBhZnRlciBhIERJU0NPTlQsIHRvbyBtYW55IFZCUgoJICBmaWxlcyBjYXVzZSByYW5kb20gaml0dGVyIGluIHRoZSB0aW1lc3RhbXBzLiBGaXhlcyAjNDMzMTE5LgoKMjAwNy0wNC0yNSAxNTo1NTozMiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0cGRlYy4qOiBBZGQgZHVtbXkgbGF0ZW5jeSBwcm9wZXJ0eSB0byBiZSBiYWNrd2FyZHMgY29tcGF0IHdpdGggcnRwYmluLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHBkZWMuYzogKGdzdF9ydHBfZGVjX2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cF9kZWNfaW5pdCksIChnc3RfcnRwX2RlY19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3J0cF9kZWNfZ2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvcnRzcC9nc3RydHBkZWMuaDoKCSAgQWRkIGR1bW15IGxhdGVuY3kgcHJvcGVydHkgdG8gYmUgYmFja3dhcmRzIGNvbXBhdCB3aXRoIHJ0cGJpbi4KCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19jbGFzc19pbml0KSwKCSAgKGdzdF9ydHNwc3JjX3NldF9wcm9wZXJ0eSksIChnc3RfcnRzcHNyY19nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3J0c3BzcmNfc3RyZWFtX2NvbmZpZ3VyZV90cmFuc3BvcnQpLAoJICAoZ3N0X3J0c3BzcmNfcGFyc2VfcnRwaW5mbyk6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBBZGQgbGF0ZW5jeSBwcm9wZXJ0eSBhbmQgY29uZmlndXJlIGluIHRoZSBzZXNzaW9uIG1hbmFnZXIuCgkgIERvbid0IHNldCBpbnZhbGlkIGNsb2NrLWJhc2UgYW5kIHNlcW51bS1iYXNlIG9uIGNhcHMsIHNvbWUgc2VydmVycwoJICBzb21ldGltZXMgZG9uJ3Qgc2VuZCB0aGVtLgoKMjAwNy0wNC0yNSAxNTozMTo1MyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9hbHBoYS9nc3RhbHBoYWNvbG9yLmM6IERvdWJsZS1jaGVjayB0aGF0IFJHQiBpbnB1dCBjYXBzIGFyZSByZWFsbHkgUkdCQSBjYXBzIChhcHBhcmVudGx5IHRoZSBjb3JlIGRvZXNuJ3QgYWx3YXlzIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYWxwaGEvZ3N0YWxwaGFjb2xvci5jOiAoZ3N0X2FscGhhX2NvbG9yX2Jhc2VfaW5pdCksCgkgIChnc3RfYWxwaGFfY29sb3JfdHJhbnNmb3JtX2NhcHMpLCAoZ3N0X2FscGhhX2NvbG9yX3NldF9jYXBzKToKCSAgRG91YmxlLWNoZWNrIHRoYXQgUkdCIGlucHV0IGNhcHMgYXJlIHJlYWxseSBSR0JBIGNhcHMgKGFwcGFyZW50bHkKCSAgdGhlIGNvcmUgZG9lc24ndCBhbHdheXMgY2F0Y2ggaXQgaWYgdGhvc2UgY2FwcyBhcmVuJ3QgYSBzdWJzZXQgb2YKCSAgb3VyIHRlbXBsYXRlIGNhcHMsIGFsc28gc2VlICM0MjE1NDMpLiBGaXhlcyAjNDI5MzE5IGluIGEgd2F5LgoJICBBbHNvLCBkb24ndCBsZWFrIHRoZSBwYWQgdGVtcGxhdGUgaW4gdGhlIHRyYW5zZm9ybV9jYXBzIGZ1bmN0aW9uLgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5jdnNpZ25vcmU6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYWxwaGFjb2xvci5jOiAoc2V0dXBfYWxwaGFjb2xvciksCgkgIChjbGVhbnVwX2FscGhhY29sb3IpLCAoY3JlYXRlX2NhcHNfcmdiMjQpLCAoY3JlYXRlX2NhcHNfcmdiYTMyKSwKCSAgKGNyZWF0ZV9idWZmZXJfcmdiMjRfM3g0KSwgKGNyZWF0ZV9idWZmZXJfcmdiYTMyXzN4NCksCgkgIChHU1RfU1RBUlRfVEVTVCksIChhbHBoYWNvbG9yX3N1aXRlKToKCSAgQWRkIHNvbWUgYmFzaWMgdW5pdCB0ZXN0cyBmb3IgYWxwaGFjb2xvci4KCjIwMDctMDQtMjUgMTU6MDg6MjIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOiBJZiB3ZSBnZXQgYSBmYXRhbCBmbG93IHJldHVybiBpbiB0aGUgbG9vcCBmdW5jdGlvbiwgZmlyc3QgcG9zdCB0aGUgZXJyb3IgbWVzc2FnZSBhbmQgb25seSB0aGUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzogKGdzdF9wbmdkZWNfdGFzayk6CgkgIElmIHdlIGdldCBhIGZhdGFsIGZsb3cgcmV0dXJuIGluIHRoZSBsb29wIGZ1bmN0aW9uLCBmaXJzdCBwb3N0IHRoZQoJICBlcnJvciBtZXNzYWdlIGFuZCBvbmx5IHRoZW4gc2VuZCB0aGUgRU9TIGV2ZW50IGRvd25zdHJlYW0sIG90aGVyd2lzZQoJICBhcHBsaWNhdGlvbnMgbWlnaHQgZ2V0IGFuIGVvcyBtZXNzYWdlIGJlZm9yZSB0aGUgZXJyb3IgbWVzc2FnZSBhbmQKCSAgdGhpbmsgZXZlcnl0aGluZyB3YXMgb2sgKHJlbGF0ZWQgdG8gIzQyOTMxOSkuCgoyMDA3LTA0LTI1IDEwOjA3OjEyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvcnRzcGNvbm5lY3Rpb24uYzogUmVhZCB0aGUgY2hhbm5lbCBieXRlIGFzIGFuIHVuc2lnbmVkIGJ5dGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL3J0c3Bjb25uZWN0aW9uLmM6IChydHNwX2Nvbm5lY3Rpb25fcmVjZWl2ZSk6CgkgIFJlYWQgdGhlIGNoYW5uZWwgYnl0ZSBhcyBhbiB1bnNpZ25lZCBieXRlLgoKMjAwNy0wNC0yNSAwOTo0Nzo0OCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvOiBNYWtlIHN1cmUgd2UgY29uZmlndXJlIHRoZSBjbG9ja19yYXRlIGluIHRoZSBiYXNlY2xhc3MgaW4gdGhlIHNldGNhcHMgZnVuY3Rpb24uIEZpeGVzICM0MzEyODIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwTDE2ZGVwYXkuYzogKGdzdF9ydHBfTDE2X2RlcGF5X3NldF9wcm9wZXJ0eSk6CgkgICogZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5jOiAoZ3N0X3J0cF9hbXJfZGVwYXlfaW5pdCksCgkgIChnc3RfcnRwX2Ftcl9kZXBheV9zZXRjYXBzKSwgKGdzdF9ydHBfYW1yX2RlcGF5X3Byb2Nlc3MpOgoJICAqIGdzdC9ydHAvZ3N0cnRwZ3NtZGVwYXkuYzogKGdzdF9ydHBfZ3NtX2RlcGF5X2luaXQpLAoJICAoZ3N0X3J0cF9nc21fZGVwYXlfc2V0Y2Fwcyk6CgkgICogZ3N0L3J0cC9nc3RydHBoMjYzcGRlcGF5LmM6IChnc3RfcnRwX2gyNjNwX2RlcGF5X3NldGNhcHMpOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6IChnc3RfcnRwX2gyNjRfZGVwYXlfc2V0Y2Fwcyk6CgkgICogZ3N0L3J0cC9nc3RydHBpbGJjZGVwYXkuYzogKGdzdF9ydHBfaWxiY19kZXBheV9jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBfaWxiY19kZXBheV9pbml0KSwgKGdzdF9ydHBfaWxiY19kZXBheV9zZXRjYXBzKSwKCSAgKGdzdF9ydHBfaWxiY19kZXBheV9wcm9jZXNzKSwgKGdzdF9pbGJjX2RlcGF5X3NldF9wcm9wZXJ0eSksCgkgIChnc3RfaWxiY19kZXBheV9nZXRfcHJvcGVydHkpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXAydGRlcGF5LmM6IChnc3RfcnRwX21wMnRfZGVwYXlfc2V0Y2Fwcyk6CgkgICogZ3N0L3J0cC9nc3RydHBtcDRhZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cHBjbWFkZXBheS5jOiAoZ3N0X3J0cF9wY21hX2RlcGF5X2luaXQpLAoJICAoZ3N0X3J0cF9wY21hX2RlcGF5X3NldGNhcHMpOgoJICAqIGdzdC9ydHAvZ3N0cnRwcGNtdWRlcGF5LmM6IChnc3RfcnRwX3BjbXVfZGVwYXlfaW5pdCksCgkgIChnc3RfcnRwX3BjbXVfZGVwYXlfc2V0Y2Fwcyk6CgkgIE1ha2Ugc3VyZSB3ZSBjb25maWd1cmUgdGhlIGNsb2NrX3JhdGUgaW4gdGhlIGJhc2VjbGFzcyBpbiB0aGUgc2V0Y2FwcwoJICBmdW5jdGlvbi4gRml4ZXMgIzQzMTI4Mi4KCjIwMDctMDQtMjUgMDg6MzY6NDYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLio6IFBhcnNlIHNlcnZlciBhZGRyZXNzIGZyb20gU0RQLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19maW5hbGl6ZSksCgkgIChnc3RfcnRzcHNyY19zdHJlYW1fZnJlZSksIChyZXF1ZXN0X3B0X21hcCksCgkgIChnc3RfcnRzcHNyY19zdHJlYW1fY29uZmlndXJlX3RyYW5zcG9ydCksIChnc3RfcnRzcHNyY19vcGVuKToKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIFBhcnNlIHNlcnZlciBhZGRyZXNzIGZyb20gU0RQLgoJICBIb29rIHVwIGEgdWRwc2luayB0byBzZW5kIFJUQ1AgYmFjayB0byB0aGUgc2VydmVyLgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGdzdC9ydHNwL3J0c3B0cmFuc3BvcnQuaDoKCSAgQWRkIHNvbWUgZG9jcy4KCjIwMDctMDQtMjUgMDY6NTI6MDkgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiBNYWtlIGhlYWRlciBmaWVsZCBjaGVjayBjb25kaXRpb25hbC4gRml4ZXMgIzQzMzEzNQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogKGdzdF93YXZwYXJzZV9zdHJlYW1faGVhZGVycyk6CgkgIE1ha2UgaGVhZGVyIGZpZWxkIGNoZWNrIGNvbmRpdGlvbmFsLiBGaXhlcyAjNDMzMTM1CgoyMDA3LTA0LTI0IDA5OjEyOjQyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgQWRkIG1pbmltYWwgZG9jcyBibHVyYiB0byBhbHBoYWNvbG9yOyBzcGxpdCBvdXQgaGVhZGVycyBpbnRvIHNlcGFyYXRlIGhlYWRlciBmaWxlIGZvciBndGstZG9jLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJICAqIGdzdC9hbHBoYS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYWxwaGEvZ3N0YWxwaGFjb2xvci5jOgoJICAqIGdzdC9hbHBoYS9nc3RhbHBoYWNvbG9yLmg6CgkgIEFkZCBtaW5pbWFsIGRvY3MgYmx1cmIgdG8gYWxwaGFjb2xvcjsgc3BsaXQgb3V0IGhlYWRlcnMgaW50bwoJICBzZXBhcmF0ZSBoZWFkZXIgZmlsZSBmb3IgZ3RrLWRvYy4KCjIwMDctMDQtMjAgMTc6MjU6NTAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvZGVidWcvcHJvZ3Jlc3NyZXBvcnQuYzogRG9uJ3QgdHJ5IHRvIHBvc3QgTlVMTCBtZXNzYWdlIChpbiBjYXNlIHdlIGNhbid0IHF1ZXJ5IHVwc3RyZWFtIHBvc2l0aW9uIG9yIGR1cmF0aW9uKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlYnVnL3Byb2dyZXNzcmVwb3J0LmM6IChnc3RfcHJvZ3Jlc3NfcmVwb3J0X3JlcG9ydCk6CgkgIERvbid0IHRyeSB0byBwb3N0IE5VTEwgbWVzc2FnZSAoaW4gY2FzZSB3ZSBjYW4ndCBxdWVyeSB1cHN0cmVhbQoJICBwb3NpdGlvbiBvciBkdXJhdGlvbikuCgoyMDA3LTA0LTE4IDEyOjM2OjM3ICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBnc3QvY3V0dGVyL2dzdGN1dHRlci4qOiBGaXggc29tZSBvZiB0aGUgbW9zdCBvYnZpb3VzIGJ1Z3MgaW4gY3V0dGVyLiBOb3cgZG9lc24ndCBsZWFrIGV2ZXJ5dGhpbmcgaWYgaW5wdXQgaXMgc2lsZW50LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvY3V0dGVyL2dzdGN1dHRlci5jOiAoZ3N0X2N1dHRlcl9pbml0KSwgKGdzdF9jdXR0ZXJfY2hhaW4pLAoJICAoZ3N0X2N1dHRlcl9nZXRfY2Fwcyk6CgkgICogZ3N0L2N1dHRlci9nc3RjdXR0ZXIuaDoKCSAgRml4IHNvbWUgb2YgdGhlIG1vc3Qgb2J2aW91cyBidWdzIGluIGN1dHRlci4gTm93IGRvZXNuJ3QgbGVhawoJICBldmVyeXRoaW5nIGlmIGlucHV0IGlzIHNpbGVudC4KCjIwMDctMDQtMTggMDk6NDg6MjUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLio6IGV2ZXJ5dGhpbmcgZWxzZSByZXN1bHRzIGluIGEgaW52YWxpZCBibG9jayBhbGlnbiBhbmQgaW52YWxpZCBmaWxlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuYzogKGdzdF93YXZlbmNfY3JlYXRlX2hlYWRlcl9idWYpLAoJICAoZ3N0X3dhdmVuY19zaW5rX3NldGNhcHMpLCAoZ3N0X3dhdmVuY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmg6CgkgIFdhdiBhcHBhcmVudGx5IG9ubHkgc3VwcG9ydHMgd2lkdGg9PUdTVF9ST1VORF9VUChkZXB0aCksIGV2ZXJ5dGhpbmcKCSAgZWxzZSByZXN1bHRzIGluIGEgaW52YWxpZCBibG9jayBhbGlnbiBhbmQgaW52YWxpZCBmaWxlcy4KCjIwMDctMDQtMTcgMTY6Mzk6MDIgKzAwMDAgIFNuYWlrIDxzbmFpazMyQGdtYWlsLmNvbT4KCgkgIGdzdC9zbXB0ZS9iYXJib3h3aXBlcy5jOiBBZGQgbWlzc2luZyBicmVhayBzdGF0ZW1lbnQgZm9yIEJPWF9IT1JJWk9OVEFMIGNhc2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU25haWsgPHNuYWlrMzIgZ21haWwgY29tPgoJICAqIGdzdC9zbXB0ZS9iYXJib3h3aXBlcy5jOiAoZ3N0X3dpcGVfYm94ZXNfZHJhdyk6CgkgIEFkZCBtaXNzaW5nIGJyZWFrIHN0YXRlbWVudCBmb3IgQk9YX0hPUklaT05UQUwgY2FzZS4KCjIwMDctMDQtMTcgMTA6MTQ6NDMgKzAwMDAgIFZpbmNlbnQgVG9ycmkgPHZ0b3JyaUB1bml2LWV2cnkuZnI+CgoJICBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogVXNlIGNvcnJlY3QgZm9ybWF0IHN0cmluZ3MgZm9yIGludGVnZXIgdHlwZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogVmluY2VudCBUb3JyaSA8dnRvcnJpIGF0IHVuaXYtZXZyeSBkb3QgZnI+CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2hlYWRlcnMpOgoJICBVc2UgY29ycmVjdCBmb3JtYXQgc3RyaW5ncyBmb3IgaW50ZWdlciB0eXBlcy4KCjIwMDctMDQtMTcgMDI6NTE6MDIgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiBVc2UgZ3N0X3JpZmZfY3JlYXRlX2F1ZGlvX3RlbXBsYXRlX2NhcHMgKCkgaW5zdGVhZCBvZiB0aGUgbG9jYWwgY2Fwcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IChnc3Rfd2F2cGFyc2VfYmFzZV9pbml0KSwKCSAgKGdzdF93YXZwYXJzZV9jcmVhdGVfc291cmNlcGFkKToKCSAgVXNlIGdzdF9yaWZmX2NyZWF0ZV9hdWRpb190ZW1wbGF0ZV9jYXBzICgpIGluc3RlYWQgb2YgdGhlIGxvY2FsIGNhcHMuCgkgIFRoaXMgbWFrZXMgdXBkYXRlcyBvZiB0aGUgbG9jYWwgY2FwcyB1bmVjZXNzYXJ5IHdoZW5ldmVyIGxpYmdzdHJpZmYKCSAgZ2V0cyBzdXBwb3J0IGZvciBuZXcgZm9ybWF0cy4KCjIwMDctMDQtMTYgMjE6Mjk6NDAgKzAwMDAgIEJyaWFuIENhbWVyb24gPGJyaWFuLmNhbWVyb25Ac3VuLmNvbT4KCgkgIHN5cy9zdW5hdWRpby86IEZpeCBhbmQvb3IgdXBkYXRlIGNvcHlyaWdodCBhdHRyaWJ1dGlvbnMgKCM0MzAyMjgpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEJyaWFuIENhbWVyb24gIDxicmlhbi5jYW1lcm9uIGF0IHN1biBkb3QgY29tPgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpby5jOgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVyLmM6CgkgICogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXIuaDoKCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlcmN0cmwuYzoKCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlcmN0cmwuaDoKCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlcnRyYWNrLmg6CgkgICogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvc2luay5jOgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NpbmsuaDoKCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zcmMuYzoKCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zcmMuaDoKCSAgRml4IGFuZC9vciB1cGRhdGUgY29weXJpZ2h0IGF0dHJpYnV0aW9ucyAoIzQzMDIyOCkuCgoyMDA3LTA0LTE0IDE3OjE4OjE0ICswMDAwICBTw6liYXN0aWVuIE1vdXR0ZSA8c2ViYXN0aWVuQG1vdXR0ZS5uZXQ+CgoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC86IEFkZCB4bWwgZG9jIGZpbGVzIGZvciBXaW5kb3dzIHNpbmtzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kaXJlY3RkcmF3LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGlyZWN0c291bmQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlZm9ybS54bWw6CgkgIEFkZCB4bWwgZG9jIGZpbGVzIGZvciBXaW5kb3dzIHNpbmtzCgkgICogd2luMzIvdnM2L2xpYmdzdHF0ZGVtdXguZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RtcGVndmlkZW9wYXJzZS5kc3A6CgkgICogd2luMzIvdnM2L2dzdF9wbHVnaW5zX2JhZC5kc3c6CgkgIFVwZGF0ZSBwcm9qZWN0cyBmaWxlcy4KCjIwMDctMDQtMTMgMDk6MzI6MjEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDogRml4IGRvY3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICBGaXggZG9jcy4KCSAgKiBnc3QvcnRzcC9VUkxTOgoJICBBZGQgc29tZSBtb3JlIGV4YW1wbGUgdXJscy4KCSAgKiBnc3QvcnRzcC9nc3RydHBkZWMuYzogKGdzdF9ydHBfZGVjX21hcnNoYWxfQk9YRURfX1VJTlRfVUlOVCksCgkgIChnc3RfcnRwX2RlY19jaGFpbl9ydHApOgoJICBCZXR0ZXIgZGVidWdnaW5nLgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKHJlcXVlc3RfcHRfbWFwKSwKCSAgKGdzdF9ydHNwc3JjX2FjdGl2YXRlX3N0cmVhbXMpLCAoZ3N0X3J0c3BzcmNfbG9vcF9pbnRlcmxlYXZlZCksCgkgIChnc3RfcnRzcHNyY19wYXJzZV9ydHBpbmZvKToKCSAgUmVtb3ZlIHVudXNlZCBjb2RlLgoKMjAwNy0wNC0xMyAwODoxOTozNSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IFJlbGF4IHRoZSBhdWRpby9tcGVnIGNhcHMgYWdhaW4gYW5kIGFkZCBGSVhNRTogY29tbWVudC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6ICh1aW50NjRfY2VpbGluZ19zY2FsZV9pbnQpLAoJICAoZ3N0X3dhdnBhcnNlX3BlcmZvcm1fc2VlayksIChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2hlYWRlcnMpLAoJICAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9kYXRhKToKCSAgUmVsYXggdGhlIGF1ZGlvL21wZWcgY2FwcyBhZ2FpbiBhbmQgYWRkIEZJWE1FOiBjb21tZW50LgoKMjAwNy0wNC0xMyAwNjoyMDoyOCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLio6IE1vcmUgc2FuaXR5IGNoZWNrIGZvciB0aGUgaGVhZGVyIGZpZWxkcy4gRml4IHR5cGUgZm9yICdyYXRlJyBoZWFkZXIgZmllbGQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiAodWludDY0X2NlaWxpbmdfc2NhbGVfaW50KSwKCSAgKGdzdF93YXZwYXJzZV9wZXJmb3JtX3NlZWspLCAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9oZWFkZXJzKSwKCSAgKGdzdF93YXZwYXJzZV9zdHJlYW1fZGF0YSk6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmg6CgkgIE1vcmUgc2FuaXR5IGNoZWNrIGZvciB0aGUgaGVhZGVyIGZpZWxkcy4gRml4IHR5cGUgZm9yICdyYXRlJyBoZWFkZXIKCSAgZmllbGQuCgoyMDA3LTA0LTEyIDE2OjA2OjMxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2ljeWRlbXV4L2dzdGljeWRlbXV4LmM6IElmIHRoZSBtZXRhZGF0YSBzdHJpbmdzIHdlIGdldCBpbiB0aGUgc3RyZWFtIGFyZSBub3QgVVRGLTgsIHRyeSB0byBpbnRlcnByZXQgdGhlbSBhY2NvcmRpLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pY3lkZW11eC9nc3RpY3lkZW11eC5jOiAobm90Z3N0X3RhZ19mcmVlZm9ybV9zdHJpbmdfdG9fdXRmOCksCgkgIChnc3RfaWN5ZGVtdXhfdW5pY29kaWZ5KToKCSAgSWYgdGhlIG1ldGFkYXRhIHN0cmluZ3Mgd2UgZ2V0IGluIHRoZSBzdHJlYW0gYXJlIG5vdCBVVEYtOCwgdHJ5IHRvCgkgIGludGVycHJldCB0aGVtIGFjY29yZGluZyB0byB0aGUgY2hhcmFjdGVyIGVuY29kaW5ncyBzcGVjaWZpZWQgaW4gdGhlCgkgIEdTVF9JQ1lfVEFHX0VOQ09ESU5HIGFuZCBHU1RfVEFHX0VOQ09ESU5HIGVudmlyb25tZW50IHZhcmlhYmxlcywgYW5kCgkgIG9ubHkgZmFsbCBiYWNrIHRvIGxvY2FsZS9JU08tODg1OS0xIGlmIHRob3NlIGFyZW4ndCBzZXQgb3IgZG9uJ3QKCSAgd29yay4gU2hvdWxkIGZpeCAjNDI4OTAxLgoKMjAwNy0wNC0xMiAxNDoyMDo1NiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6IFVzZSB0aGUgcHJvcGVyIHN5bmMgd29yZCBmb3IgU1BTIGFuZCBQUFMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkgIFVzZSB0aGUgcHJvcGVyIHN5bmMgd29yZCBmb3IgU1BTIGFuZCBQUFMuCgoyMDA3LTA0LTEyIDExOjQxOjExICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGdzdC9ydHAvTWFrZWZpbGUuYW06IGdzdC9ydHAvZm52MWhhc2guYyAoTUFTS18yNCwgRk5WMV9IQVNIXzMyX0lOSVQsIEZOVjFfSEFTSF8zMl9QUklNRSwgZm52MV9oYXNoXzMyX25ldywgZm52MV9oYXNoXy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9ydHAvZm52MWhhc2guYyAoTUFTS18yNCwgRk5WMV9IQVNIXzMyX0lOSVQsIEZOVjFfSEFTSF8zMl9QUklNRSwKCSAgZm52MV9oYXNoXzMyX25ldywgZm52MV9oYXNoXzMyX3VwZGF0ZSwgZm52MV9oYXNoXzMyX3RvXzI0KToKCSAgKiBnc3QvcnRwL2ZudjFoYXNoLmggKF9fR1NUX0ZOVjFfSEFTSF9IX18pOgoJICBBZGQgYSBzaW1wbGUgaGFzaGluZyBpbXBsZW1lbnRhdGlvbiB0aGF0IHdlIGNhbiB1c2UgdG8gZ2VuZXJhdGUKCSAgYSAyNC1iaXQgaWRlbnQgdmFsdWUgYmFzZWQgb24gdGhlIGNvZGVib29rcyBmb3Igdm9yYmlzIGFuZCB0aGVvcmEuCgkgICogZ3N0L3J0cC9nc3RydHB0aGVvcmFwYXkuYyAoZ3N0X3J0cF90aGVvcmFfcGF5X2ZpbmlzaF9oZWFkZXJzLAoJICBnc3RfcnRwX3RoZW9yYV9wYXlfaGFuZGxlX2J1ZmZlcik6CgkgICogZ3N0L3J0cC9nc3RydHB2b3JiaXNkZXBheS5jCgkgIChnc3RfcnRwX3ZvcmJpc19kZXBheV9wYXJzZV9jb25maWd1cmF0aW9uLAoJICBnc3RfcnRwX3ZvcmJpc19kZXBheV9zd2l0Y2hfY29kZWJvb2ssIGdzdF9ydHBfdm9yYmlzX2RlcGF5X3Byb2Nlc3MpOgoJICAqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzcGF5LmMgKGdzdF9ydHBfdm9yYmlzX3BheV9yZXNldF9wYWNrZXQsCgkgIGdzdF9ydHBfdm9yYmlzX3BheV9pbml0X3BhY2tldCwgZ3N0X3J0cF92b3JiaXNfcGF5X2ZsdXNoX3BhY2tldCwKCSAgZ3N0X3J0cF92b3JiaXNfcGF5X2ZpbmlzaF9oZWFkZXJzLCBnc3RfcnRwX3ZvcmJpc19wYXlfaGFuZGxlX2J1ZmZlcik6CgkgIFVzZSB0aGUgaGFzaGluZyBmdW5jdGlvbiwgZW5zdXJpbmcgdGhhdCB0aGUgc2FtZSBjb2RlYm9va3MgcmVzdWx0CgkgIGluIHRoZSBzYW1lIGlkZW50IGFuZCB0aHVzIHRoZSBzYW1lIFNEUCBkZXNjcmlwdGlvbi4KCSAgVmFyaW91cyBsb2cgZml4ZXMvY2hhbmdlcy4KCjIwMDctMDQtMTIgMTE6Mzc6NTAgKzAwMDAgIGplcnJ5IHRhbiA8amVycnkudGFuQHN1bi5jb20+CgoJICBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zcmMuYzogaXQgaXMgdGhlIGFwcGxpY2F0aW9uJ3MgcmVzcG9uc2liaWxpdHkgdG8gbWFrZSBzdXJlIGl0IG9wZW4gdGhlIGRldmljZSBvbmNlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IGplcnJ5IHRhbiA8amVycnkgZG90IHRhbiBhdCBzdW4gZG90IGNvbT4KCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zcmMuYzogKGdzdF9zdW5hdWRpb3NyY19vcGVuKToKCSAgcmVtb3ZlIHRoZSBjYWxsIG9mICBpb2N0bCAoZmQsIEFVRElPX01JWEVSX01VTFRJUExFX09QRU4pLCBpdCBpcyB0aGUKCSAgYXBwbGljYXRpb24ncyByZXNwb25zaWJpbGl0eSB0byBtYWtlIHN1cmUgaXQgb3BlbiB0aGUgZGV2aWNlIG9uY2UuCgkgIFJlbW92ZSBhIGNhcmVsZXNzIGVycm9yIGlmIEFVRElPREVWIGlzIHNldC4gRml4ZXMgIzM5MjYyMC4KCjIwMDctMDQtMTIgMTA6NTI6MDIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IE1ha2UgdGltZXNjYWxlIDMyIGJpdHMgYWdhaW4gc28gd2UgZG9uJ3Qgc2NyZXcgdXAgdGhlIHB0c19vZmZzZXQgY2FsY3VsYXRpb25zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIE1ha2UgdGltZXNjYWxlIDMyIGJpdHMgYWdhaW4gc28gd2UgZG9uJ3Qgc2NyZXcgdXAgdGhlIHB0c19vZmZzZXQKCSAgY2FsY3VsYXRpb25zLgoKMjAwNy0wNC0xMiAwODoyMToyOCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0cGRlYy4qOiBNYWtlIGJhY2t3YXJkIGNvbXBhdCB3aXRoIHJ0cGJpbiBieSBhZGRpbmcgdGhlIHJlcXVlc3QtcHQtbWFwIHNpZ25hbHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0cGRlYy5jOiAoZ3N0X3J0cF9kZWNfbWFyc2hhbF9CT1hFRF9fVUlOVF9VSU5UKSwKCSAgKGdzdF9ydHBfZGVjX2NsYXNzX2luaXQpLCAoZ3N0X3J0cF9kZWNfY2hhaW5fcnRwKToKCSAgKiBnc3QvcnRzcC9nc3RydHBkZWMuaDoKCSAgTWFrZSBiYWNrd2FyZCBjb21wYXQgd2l0aCBydHBiaW4gYnkgYWRkaW5nIHRoZSByZXF1ZXN0LXB0LW1hcCBzaWduYWxzLgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX2NyZWF0ZV9zdHJlYW0pLAoJICAobmV3X3Nlc3Npb25fcGFkKSwgKHJlcXVlc3RfcHRfbWFwKSwKCSAgKGdzdF9ydHNwc3JjX3N0cmVhbV9jb25maWd1cmVfdHJhbnNwb3J0KSwKCSAgKGdzdF9ydHNwc3JjX3N0cmVhbV9jb25maWd1cmVfY2FwcyksCgkgIChnc3RfcnRzcHNyY19hY3RpdmF0ZV9zdHJlYW1zKToKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIEltcGxlbWVudCByZXF1ZXN0LXB0LW1hcCBzaWduYWxzIGluc3RlYWQgb2Ygc2V0dGluZyBjYXBzIG9uIHRoZSBidWZmZXJzCgkgIGZvciB0aGUgc2Vzc2lvbiBtYW5hZ2VyLgoKMjAwNy0wNC0xMSAxMDoyNToyNSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC91ZHAvZ3N0dWRwLmM6IFJlZ2lzdGVyIEdzdE5ldEJ1ZmZlciBpbiBwbHVnaW5faW5pdCBzbyB0aGF0IHRoZSB0eXBlIGNhbiBiZSB1c2VkIGZyb20gbXVsdGlwbGUgdGhyZWFkcyB3aXRob3V0IHJhY2VzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdWRwL2dzdHVkcC5jOiAocGx1Z2luX2luaXQpOgoJICBSZWdpc3RlciBHc3ROZXRCdWZmZXIgaW4gcGx1Z2luX2luaXQgc28gdGhhdCB0aGUgdHlwZSBjYW4gYmUgdXNlZCBmcm9tCgkgIG11bHRpcGxlIHRocmVhZHMgd2l0aG91dCByYWNlcy4KCjIwMDctMDQtMTEgMTA6MTk6MDYgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWdvb2Quc3BlYy5pbjoKCSAgdXBkYXRlIHRvIHNwZWMgZmlsZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgdXBkYXRlIHRvIHNwZWMgZmlsZQoKMjAwNy0wNC0xMSAwOTo1MzozOCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4LzogSGFuZGxlIHZlcnNpb24gMSBtZGhkIGF0b21zIHRvIGdldCBleHRlbmRlZCBwcmVjaXNpb24gZHVyYXRpb25zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9nZXRfZHVyYXRpb24pLAoJICAocXRkZW11eF9wYXJzZV9zYW1wbGVzKSwgKHF0ZGVtdXhfcGFyc2Vfc2VnbWVudHMpLAoJICAocXRkZW11eF9wYXJzZV90cmFrKSwgKHF0ZGVtdXhfcGFyc2VfdHJlZSk6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eF9kdW1wLmM6IChxdGRlbXV4X2R1bXBfbWRoZCk6CgkgIEhhbmRsZSB2ZXJzaW9uIDEgbWRoZCBhdG9tcyB0byBnZXQgZXh0ZW5kZWQgcHJlY2lzaW9uIGR1cmF0aW9ucy4KCSAgRml4ZXMgIzQyNjk3Mi4KCjIwMDctMDQtMTAgMTc6MDY6MDUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5LmM6IEZpeCBkZXBheWxvYWRlciBjbG9ja19yYXRlIGFuZCBzb21lIGNsZWFudXBzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5LmM6IChnc3RfcnRwX2Ftcl9kZXBheV9zZXRjYXBzKSwKCSAgKGdzdF9ydHBfYW1yX2RlcGF5X3Byb2Nlc3MpOgoJICBGaXggZGVwYXlsb2FkZXIgY2xvY2tfcmF0ZSBhbmQgc29tZSBjbGVhbnVwcy4KCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOiAoZ3N0X3J0cF9oMjY0X2RlcGF5X2ZpbmFsaXplKSwKCSAgKGdzdF9ydHBfaDI2NF9kZXBheV9zZXRjYXBzKSwgKGdzdF9ydHBfaDI2NF9kZXBheV9wcm9jZXNzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5oOgoJICBEb24ndCBwdXNoIGNvZGVjX2RhdGEgaW4gdGhlIGFkYXB0ZXIgYmVjYXVzZSBpdCBtaWdodCBnZXQgZmx1c2hlZCB3aGVuCgkgIHdlIGdldCBhIGRpc2NvbnQuCgkgICogZ3N0L3J0cC9nc3RydHBtcDRnZGVwYXkuYzogKGdzdF9ydHBfbXA0Z19kZXBheV9wcm9jZXNzKToKCSAgSGFuZGxlIG11bHRpcGxlIEFVIHBlciBwYWNrZXQuCgkgICogZ3N0L3J0cC9nc3RydHBzdjN2ZGVwYXkuYzogKGdzdF9ydHBfc3Yzdl9kZXBheV9wcm9jZXNzKSwKCSAgKGdzdF9ydHBfc3Yzdl9kZXBheV9wbHVnaW5faW5pdCk6CgkgIERpc2FibGUgcmFuaywgdGhpcyBvbmUgZG9lcyBub3Qgd29yay4KCSAgUmVtb3ZlIHRpbWVzdGFtcGluZywgYmFzZSBjbGFzcyBkb2VzIHRoYXQuCgoyMDA3LTA0LTEwIDEyOjAxOjMzICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLmM6IGxpbWl0IGNhcHMgdG8gdGhlIGZvcm1hdHMgd2UgYW5ub3VuY2UgaW4gdGhlIHRlbXBsYXRlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdXBhcnNlL2dzdGF1cGFyc2UuYzogKGdzdF9hdV9wYXJzZV9wYXJzZV9oZWFkZXIpOgoJICBsaW1pdCBjYXBzIHRvIHRoZSBmb3JtYXRzIHdlIGFubm91bmNlIGluIHRoZSB0ZW1wbGF0ZQoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiAodWludDY0X2NlaWxpbmdfc2NhbGVfaW50KSwKCSAgKGdzdF93YXZwYXJzZV9wZXJmb3JtX3NlZWspLCAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9oZWFkZXJzKSwKCSAgKGdzdF93YXZwYXJzZV9hZGRfc3JjX3BhZCksIChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2RhdGEpOgoJICBmaXggc29tZSBjcmFzaGVycy9hc3NlcnRzIHdoZW4gZGVhbGluZyB3aXRoIGJyb2tlbiBmaWxlcwoKMjAwNy0wNC0xMCAxMDowMToxNCArMDAwMCAgUGV0ZXIgS2plbGxlcnN0ZWR0IDxwa2pAYXhpcy5jb20+CgoJICBnc3QvOiBGaXggc29tZSBjb21waWxlciB3YXJuaW5ncy4gRml4ZXMgIzQyODE4Mi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBQZXRlciBLamVsbGVyc3RlZHQgIDxwa2ogYXQgYXhpcyBjb20+CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9tYXNzYWdlX2luZGV4KToKCSAgKiBnc3QvcnRwL2dzdHJ0cEwxNmRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBtcDRnZGVwYXkuYzogKGdzdF9ydHBfbXA0Z19kZXBheV9wcm9jZXNzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cHNwZWV4ZGVwYXkuYzogKGdzdF9ydHBfc3BlZXhfZGVwYXlfZ2V0X21vZGUpLAoJICAoZ3N0X3J0cF9zcGVleF9kZXBheV9zZXRjYXBzKToKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19tZWRpYV90b19jYXBzKSwKCSAgKGdzdF9ydHNwc3JjX3N0cmVhbV9jb25maWd1cmVfdHJhbnNwb3J0KSwgKGdzdF9ydHNwc3JjX2xvb3BfdWRwKToKCSAgKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOiAoZ3N0X211bHRpdWRwc2lua19pbml0X3NlbmQpOgoJICBGaXggc29tZSBjb21waWxlciB3YXJuaW5ncy4gRml4ZXMgIzQyODE4Mi4KCjIwMDctMDQtMDYgMTI6NTQ6MTYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC86IE1vcnBoIFJUUERlYyBpbnRvIHNvbWV0aGluZyBjb21wYXRpYmxlIHdpdGggUlRQQmluIGFzIGEgZmFsbGJhY2suCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9ydHNwL2dzdHJ0cGRlYy5jOiAoZmluZF9zZXNzaW9uX2J5X2lkKSwgKGNyZWF0ZV9zZXNzaW9uKSwKCSAgKGZyZWVfc2Vzc2lvbiksIChnc3RfcnRwX2RlY19iYXNlX2luaXQpLCAoZ3N0X3J0cF9kZWNfY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwX2RlY19pbml0KSwgKGdzdF9ydHBfZGVjX2ZpbmFsaXplKSwKCSAgKGdzdF9ydHBfZGVjX3F1ZXJ5X3NyYyksIChnc3RfcnRwX2RlY19jaGFpbl9ydHApLAoJICAoZ3N0X3J0cF9kZWNfY2hhaW5fcnRjcCksIChnc3RfcnRwX2RlY19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3J0cF9kZWNfZ2V0X3Byb3BlcnR5KSwgKGdzdF9ydHBfZGVjX3Byb3ZpZGVfY2xvY2spLAoJICAoZ3N0X3J0cF9kZWNfY2hhbmdlX3N0YXRlKSwgKGNyZWF0ZV9yZWN2X3J0cCksIChjcmVhdGVfcmVjdl9ydGNwKSwKCSAgKGNyZWF0ZV9ydGNwKSwgKGdzdF9ydHBfZGVjX3JlcXVlc3RfbmV3X3BhZCksCgkgIChnc3RfcnRwX2RlY19yZWxlYXNlX3BhZCk6CgkgICogZ3N0L3J0c3AvZ3N0cnRwZGVjLmg6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcC5jOiAocGx1Z2luX2luaXQpOgoJICBNb3JwaCBSVFBEZWMgaW50byBzb21ldGhpbmcgY29tcGF0aWJsZSB3aXRoIFJUUEJpbiBhcyBhIGZhbGxiYWNrLgoJICBWYXJpb3VzIG90aGVyIHN0eWxlIGZpeGVzLgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGZpbmRfc3RyZWFtX2J5X2lkKSwKCSAgKGZpbmRfc3RyZWFtX2J5X3VkcHNyYyksIChnc3RfcnRzcHNyY19zdHJlYW1fZnJlZSksCgkgIChnc3RfcnRzcHNyY19jbGVhbnVwKSwgKGdzdF9ydHNwc3JjX21lZGlhX3RvX2NhcHMpLAoJICAobmV3X3Nlc3Npb25fcGFkKSwgKGdzdF9ydHNwc3JjX3N0cmVhbV9jb25maWd1cmVfdHJhbnNwb3J0KSwKCSAgKGdzdF9ydHNwc3JjX2FjdGl2YXRlX3N0cmVhbXMpLCAoZ3N0X3J0c3BzcmNfbG9vcF9pbnRlcmxlYXZlZCksCgkgIChnc3RfcnRzcHNyY19sb29wX3VkcCksIChnc3RfcnRzcHNyY19zZXR1cF9hdXRoKSwKCSAgKGdzdF9ydHNwc3JjX2hhbmRsZV9tZXNzYWdlKSwgKGdzdF9ydHNwc3JjX2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBJbXBsZW1lbnQgUlRQQmluIHNlc3Npb24gbWFuYWdlciBoYW5kbGluZy4KCSAgRG9uJ3QgdHJ5IHRvIGFkZCBlbXB0eSBwcm9wZXJ0aWVzIHRvIGNhcHMuCgkgIEltcGxlbWVudCBmYWxsYmFjayBzZXNzaW9uIG1hbmFnZXIsIGhhbmRsaW5nLgoJICBEb24ndCBjb21iaW5lIGVycm9ycyBmcm9tIFJUQ1Agc3RyZWFtcywganVzdCBpZ25vcmUgdGhlbS4KCSAgKiBnc3QvcnRzcC9ydHNwdHJhbnNwb3J0LmM6IChydHNwX3RyYW5zcG9ydF9nZXRfbWFuYWdlcik6CgkgICogZ3N0L3J0c3AvcnRzcHRyYW5zcG9ydC5oOgoJICBJbXBsZW1lbnQgZmFsbGJhY2sgc2Vzc2lvbiBtYW5hZ2VyLgoJICBNYWtlIFJUUEJpbiB0aGUgZGVmYXVsdCBvbmUgd2hlbiBhdmFpbGFibGUuCgoyMDA3LTA0LTA1IDE1OjA1OjI0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvZ3N0cnRweHF0ZGVwYXkuKjogVHJ5IHRvIHJlY292ZXIgZnJvbSBwYWNrZXQgbG9zcyBhIGxpdHRsZSBiZXR0ZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L2dzdHJ0cHhxdGRlcGF5LmM6IChnc3RfcnRwX3hxdF9kZXBheV9wcm9jZXNzKSwKCSAgKGdzdF9ydHBfeHF0X2RlcGF5X2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L3F0ZGVtdXgvZ3N0cnRweHF0ZGVwYXkuaDoKCSAgVHJ5IHRvIHJlY292ZXIgZnJvbSBwYWNrZXQgbG9zcyBhIGxpdHRsZSBiZXR0ZXIuCgoyMDA3LTA0LTA1IDEzOjU2OjQ0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC9nc3RydHBtcDRhZGVwYXkuYzogVGhpcyBlbGVtZW50IGlzIHJlYWR5IHRvIGJlIGF1dG9wbHVnZ2VkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGFkZXBheS5jOiAoZ3N0X3J0cF9tcDRhX2RlcGF5X2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cF9tcDRhX2RlcGF5X3NldGNhcHMpLCAoZ3N0X3J0cF9tcDRhX2RlcGF5X3BsdWdpbl9pbml0KToKCSAgVGhpcyBlbGVtZW50IGlzIHJlYWR5IHRvIGJlIGF1dG9wbHVnZ2VkLgoKMjAwNy0wNC0wNSAxMToyNjoyNSArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IERvbid0IGxlYXZlIHRoZSBvZmZzZXRzIGRlZmluZWQgYnkgdXBzdHJlYW0gZWxlbWVudCBvbiB0aGUgY29tcHJlc3NlZCBkYXRhIGJ1ZmZlciB3ZSBhcmUgcHVzaGkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMDQtMDUgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X3Byb2Nlc3NfbmV4dF9lbnRyeSk6CgkgIERvbid0IGxlYXZlIHRoZSBvZmZzZXRzIGRlZmluZWQgYnkgdXBzdHJlYW0gZWxlbWVudCBvbiB0aGUKCSAgY29tcHJlc3NlZCBkYXRhIGJ1ZmZlciB3ZSBhcmUgcHVzaGluZyBkb3duc3RyZWFtLiBNYWtlIHRoZW0KCSAgR1NUX0JVRkZFUl9PRkZTRVRfTk9ORS4KCjIwMDctMDQtMDQgMTI6Mzk6NDEgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9hdmkvOiBEb24ndCBhYm9ydCBvbiBvdXQtb2YtbWVtb3J5LiBVc2Ugc3RyZWFtLW5yIGFzIHVuc2lnbmVkIGludGVnZXIgb25seS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9SRUFETUU6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9oYW5kbGVfc3JjX3F1ZXJ5KSwKCSAgKGdzdF9hdmlfZGVtdXhfcGFyc2Vfc3RyZWFtKSwgKGdzdF9hdmlfZGVtdXhfcGFyc2VfaW5kZXgpLAoJICAoZ3N0X2F2aV9kZW11eF9zdHJlYW1faW5kZXgpLCAoZ3N0X2F2aV9kZW11eF9zeW5jKSwKCSAgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX3NjYW4pLCAoZ3N0X2F2aV9kZW11eF9tYXNzYWdlX2luZGV4KSwKCSAgKGdzdF9hdmlfZGVtdXhfY2FsY3VsYXRlX2R1cmF0aW9uc19mcm9tX2luZGV4KSwKCSAgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2hlYWRlcl9wdXNoKSwKCSAgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2hlYWRlcl9wdWxsKSwgKGdzdF9hdmlfZGVtdXhfY29tYmluZV9mbG93cyksCgkgIChnc3RfYXZpX2RlbXV4X3Byb2Nlc3NfbmV4dF9lbnRyeSksIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9kYXRhKToKCSAgRG9uJ3QgYWJvcnQgb24gb3V0LW9mLW1lbW9yeS4gVXNlIHN0cmVhbS1uciBhcyB1bnNpZ25lZCBpbnRlZ2VyIG9ubHkuCgoyMDA3LTA0LTAzIDA5OjU1OjQ1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3NtcHRlL2JhcmJveHdpcGVzLmM6CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zbXB0ZS9iYXJib3h3aXBlcy5jOgoJICBGaXggZXJyb3IgYXMgc3BvdHRlZCBieSBTbmFpayA8c25haWszMiBhdCBnbWFpbCBkb3QgY29tPgoKMjAwNy0wMy0zMCAxNzoxOTozNCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IFN1cHBvcnQgYXVkaW8veC1yYXctZmxvYXQgaW4gd2F2IGZpbGVzLiBUaGlzIG9ubHkgd29ya3Mgd2l0aCBwbHVnaW5zLWJhc2UgQ1ZTLCB1c2luZyBhbiBvLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICBTdXBwb3J0IGF1ZGlvL3gtcmF3LWZsb2F0IGluIHdhdiBmaWxlcy4gVGhpcyBvbmx5IHdvcmtzIHdpdGgKCSAgcGx1Z2lucy1iYXNlIENWUywgdXNpbmcgYW4gb2xkZXIgdmVyc2lvbiBkb2Vzbid0IGhhdmUgYW55CgkgIGRpc2FkdmFudGFnZXMgdGhvdWdoLgoKMjAwNy0wMy0zMCAxNTo1OToyNyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgUmV2ZXJ0IGxhc3QgY2hhbmdlIGFzIHdlIGRvbid0IHdhbnQgcGx1Z2lucy1nb29kIHRvIGRlcGVuZCBvbiBwbHVnaW5zLWJhc2UgQ1ZTIG5vdy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9hdXBhcnNlL2dzdGF1cGFyc2UuYzogKGdzdF9hdV9wYXJzZV9yZXNldCksCgkgIChnc3RfYXVfcGFyc2VfcGFyc2VfaGVhZGVyKSwgKGdzdF9hdV9wYXJzZV9jaGFpbik6CgkgICogZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS5oOgoJICBSZXZlcnQgbGFzdCBjaGFuZ2UgYXMgd2UgZG9uJ3Qgd2FudCBwbHVnaW5zLWdvb2QgdG8gZGVwZW5kIG9uCgkgIHBsdWdpbnMtYmFzZSBDVlMgbm93LgoKMjAwNy0wMy0zMCAwNDo1MDoxMSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3dhdnBhY2svOiBEb24ndCBwbGF5IGF1ZGlvY29udmVydC4gQXMgd2F2cGFjayB3YW50cy9vdXRwdXRzIGFsbCBzYW1wbGVzIHdpdGggd2lkdGg9PTMyIGFuZCBkZXB0aD1bMSwzMl0gYWNjZXB0IHRoLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzogKGdzdF93YXZwYWNrX2RlY19yZXNldCksCgkgIChnc3Rfd2F2cGFja19kZWNfaW5pdCksIChnc3Rfd2F2cGFja19kZWNfc2lua19zZXRfY2FwcyksCgkgIChnc3Rfd2F2cGFja19kZWNfY2xpcF9vdXRnb2luZ19idWZmZXIpLAoJICAoZ3N0X3dhdnBhY2tfZGVjX3Bvc3RfdGFncyksIChnc3Rfd2F2cGFja19kZWNfY2hhaW4pOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuaDoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6IChnc3Rfd2F2cGFja19lbmNfcmVzZXQpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX3Npbmtfc2V0X2NhcHMpLCAoZ3N0X3dhdnBhY2tfZW5jX3NldF93cF9jb25maWcpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX2NoYWluKToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmg6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6CgkgIERvbid0IHBsYXkgYXVkaW9jb252ZXJ0LiBBcyB3YXZwYWNrIHdhbnRzL291dHB1dHMgYWxsIHNhbXBsZXMgd2l0aAoJICB3aWR0aD09MzIgYW5kIGRlcHRoPVsxLDMyXSBhY2NlcHQgdGhpcyBhbmQgbGV0IGF1ZGlvY29udmVydCBjb252ZXJ0CgkgIHRvIGFjY2VwdGVkIGZvcm1hdHMgaW5zdGVhZCBvZiBkb2luZyBpdCBpbiB0aGUgZWxlbWVudCBmb3Igbio4IGRlcHRocy4KCSAgVGhpcyBhbHNvIGFkZHMgc3VwcG9ydCBmb3Igbm9uLW4qOCBkZXB0aHMgYW5kIHByZXZlbnRzIHNvbWUgdXNlbGVzcwoJICBtZW1vcnkgYWxsb2NhdGlvbnMuIEZpeGVzICM0MjE1OTgKCSAgQWxzbyBhZGQgYSB3b3JrYXJvdW5kIGZvciBidWcgIzQyMTU0MiBpbiB3YXZwYWNrZW5jIGZvciBub3cuLi4KCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy93YXZwYWNrZGVjLmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvd2F2cGFja2VuYy5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3dhdnBhY2twYXJzZS5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICBDb25zaWRlciB0aGUgY2hhbmdlIGFib3ZlIGluIHRoZSB1bml0IHRlc3RzIGFuZCB0ZXN0IGlmIHRoZSBjb3JyZWN0CgkgIGNhcHMgYXJlIGFjY2VwdGVkIGFuZCBzZXQuIEFsc28gY2hlY2sgZm9yIEdTVF9CVUZGRVJfT0ZGU0VUX0VORCBpbgoJICB0aGUgd2F2cGFja3BhcnNlIHVuaXQgdGVzdC4KCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IChnc3Rfd2F2cGFja19kZWNfaW5pdCksCgkgIChnc3Rfd2F2cGFja19kZWNfc2lua19zZXRfY2Fwcyk6CgkgIFNldCBjYXBzIG9uIHRoZSBzcmMgcGFkIGFzIHNvb24gYXMgcG9zc2libGUuCgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5oOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tjb21tb24uaDoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmg6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmg6CgkgIEZpeCBpbmRlbnRpb24uIGdzdC1pbmRlbnQgaXMgbm93IGNhbGxlZCBieSBjaWNsLgoKMjAwNy0wMy0yOSAxODo1MTozMyArMDAwMCAgUmVuw6kgU3RhZGxlciA8bWFpbEByZW5lc3RhZGxlci5kZT4KCgkgIGNvbmZpZ3VyZS5hYzogUmVxdWlyZSBnc3QtcGx1Z2lucy1iYXNlIENWUyBmb3IgYXVkaW9jb252ZXJ0IHdpdGggbm9uLW5hdGl2ZSBmbG9hdCBzdXBwb3J0IGFuZCB3aWR0aC9kZXB0aCBmaXggaW4gbGliZy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIFJlcXVpcmUgZ3N0LXBsdWdpbnMtYmFzZSBDVlMgZm9yIGF1ZGlvY29udmVydCB3aXRoIG5vbi1uYXRpdmUKCSAgZmxvYXQgc3VwcG9ydCBhbmQgd2lkdGgvZGVwdGggZml4IGluIGxpYmdzdHJpZmYuCgkgIFBhdGNoIGJ5OiBSZW7DqSBTdGFkbGVyIDxtYWlsIGF0IHJlbmVzdGFkbGVyIGRvdCBkZT4KCSAgKiBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLmM6IChnc3RfYXVfcGFyc2VfcmVzZXQpLAoJICAoZ3N0X2F1X3BhcnNlX3BhcnNlX2hlYWRlciksIChnc3RfYXVfcGFyc2VfY2hhaW4pOgoJICAqIGdzdC9hdXBhcnNlL2dzdGF1cGFyc2UuaDoKCSAgRG9uJ3Qgc3dhcCB0aGUgZmxvYXRzIG91cnNlbGYgaWYgdGhleSdyZSBub3QgaW4gbmF0aXZlIGVuZGlhbm5lc3MuCgkgIEluc3RlYWQgbGV0IGF1ZGlvY29udmVydCBoYW5kbGUgdGhpcy4gRml4ZXMgIzMzOTgzOC4KCjIwMDctMDMtMjkgMTQ6NDA6MzUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwLzogRmx1c2ggYWRhcHRlciBvbiBkaXNjb250cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3Rhc3Rlcmlza2gyNjMuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjNwZGVwYXkuYzogKGdzdF9ydHBfaDI2M3BfZGVwYXlfcHJvY2VzcyksCgkgIChnc3RfcnRwX2gyNjNwX2RlcGF5X2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L3J0cC9nc3RydHBoMjYzcGRlcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzogKGdzdF9ydHBfaDI2NF9kZXBheV9jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBfaDI2NF9kZXBheV9zZXRjYXBzKSwgKGdzdF9ydHBfaDI2NF9kZXBheV9wcm9jZXNzKSwKCSAgKGdzdF9ydHBfaDI2NF9kZXBheV9jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBtcDRhZGVwYXkuYzogKGdzdF9ydHBfbXA0YV9kZXBheV9jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBfbXA0YV9kZXBheV9zZXRjYXBzKSwgKGdzdF9ydHBfbXA0YV9kZXBheV9wcm9jZXNzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGdkZXBheS5jOiAoZ3N0X3J0cF9tcDRnX2RlcGF5X3Byb2Nlc3MpOgoJICBGbHVzaCBhZGFwdGVyIG9uIGRpc2NvbnRzLgoKMjAwNy0wMy0yOSAxNDowMzoyMSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvOiBVc2UgbW9yZSBlZmZpY2llbnQgYWRhcHRlciBhbmQgcnRwYnVmZmVyIG1ldGhvZHMgd2hlbiBwb3NzaWJsZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBMMTZkZXBheS5jOiAoZ3N0X3J0cF9MMTZfZGVwYXlfcHJvY2Vzcyk6CgkgICogZ3N0L3J0cC9nc3RydHBnc21kZXBheS5jOiAoZ3N0X3J0cF9nc21fZGVwYXlfcHJvY2Vzcyk6CgkgICogZ3N0L3J0cC9nc3RydHBpbGJjZGVwYXkuYzogKGdzdF9ydHBfaWxiY19kZXBheV9wcm9jZXNzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wMnRkZXBheS5jOiAoZ3N0X3J0cF9tcDJ0X2RlcGF5X3Byb2Nlc3MpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0Z2RlcGF5LmM6IChnc3RfcnRwX21wNGdfZGVwYXlfcHJvY2Vzcyk6CgkgICogZ3N0L3J0cC9nc3RydHBtcDRncGF5LmM6IChnc3RfcnRwX21wNGdfcGF5X2ZsdXNoKToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNHZkZXBheS5jOiAoZ3N0X3J0cF9tcDR2X2RlcGF5X3NldGNhcHMpLAoJICAoZ3N0X3J0cF9tcDR2X2RlcGF5X3Byb2Nlc3MpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5jOiAoZ3N0X3J0cF9tcDR2X3BheV9mbHVzaCk6CgkgICogZ3N0L3J0cC9nc3RydHBtcGFkZXBheS5jOiAoZ3N0X3J0cF9tcGFfZGVwYXlfcHJvY2Vzcyk6CgkgICogZ3N0L3J0cC9nc3RydHBtcGFwYXkuYzogKGdzdF9ydHBfbXBhX3BheV9mbHVzaCk6CgkgICogZ3N0L3J0cC9nc3RydHBtcHZkZXBheS5jOiAoZ3N0X3J0cF9tcHZfZGVwYXlfcHJvY2Vzcyk6CgkgICogZ3N0L3J0cC9nc3RydHBwY21hZGVwYXkuYzogKGdzdF9ydHBfcGNtYV9kZXBheV9wcm9jZXNzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cHBjbXVkZXBheS5jOiAoZ3N0X3J0cF9wY211X2RlcGF5X3Byb2Nlc3MpOgoJICAqIGdzdC9ydHAvZ3N0cnRwc3YzdmRlcGF5LmM6IChnc3RfcnRwX3N2M3ZfZGVwYXlfcHJvY2Vzcyk6CgkgIFVzZSBtb3JlIGVmZmljaWVudCBhZGFwdGVyIGFuZCBydHBidWZmZXIgbWV0aG9kcyB3aGVuIHBvc3NpYmxlLgoKMjAwNy0wMy0yOSAxMjoxNDoyMiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3dhdmVuYy9nc3R3YXZlbmMuYzogQ29ycmVjdGx5IGhhbmRsZSB3aWR0aCE9ZGVwdGggaW5wdXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmM6IChnc3Rfd2F2ZW5jX2NyZWF0ZV9oZWFkZXJfYnVmKSwKCSAgKGdzdF93YXZlbmNfc2lua19zZXRjYXBzKToKCSAgQ29ycmVjdGx5IGhhbmRsZSB3aWR0aCE9ZGVwdGggaW5wdXQuCgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIEFscmVhZHkgZXhwb3J0IGluIHRoZSBjYXBzIHRoYXQgd2lkdGg9PTggdXNlcyB1bnNpZ25lZCBzYW1wbGVzIGFuZAoJICBldmVyeXRoaW5nIGVsc2UgdXNlcyBzaWduZWQgc2FtcGxlcy4KCjIwMDctMDMtMjkgMDk6NTk6MjMgKzAwMDAgIExhdXJlbnQgR2xheWFsIDxzcGdsZWdsZUB5YWhvby5mcj4KCgkgIGdzdC91ZHAvOiBSZXdvcmsgdGhlIHNvY2tldCBhbGxvY2F0aW9uIGEgYml0IGJhc2VkIG9uIHRoZSBzb2NrZmQgYXJndW1lbnQgc28gdGhhdCBpdCBiZWNvbWVzIHVzYWJsZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBMYXVyZW50IEdsYXlhbCA8c3BnbGVnbGUgYXQgeWFob28gZG90IGZyPgoJICAqIGdzdC91ZHAvZ3N0ZHludWRwc2luay5jOiAoZ3N0X2R5bnVkcHNpbmtfY2xhc3NfaW5pdCksCgkgIChnc3RfZHludWRwc2lua19pbml0KSwgKGdzdF9keW51ZHBzaW5rX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfZHludWRwc2lua19nZXRfcHJvcGVydHkpLCAoZ3N0X2R5bnVkcHNpbmtfaW5pdF9zZW5kKSwKCSAgKGdzdF9keW51ZHBzaW5rX2Nsb3NlKToKCSAgKiBnc3QvdWRwL2dzdGR5bnVkcHNpbmsuaDoKCSAgKiBnc3QvdWRwL2dzdHVkcHNyYy5jOiAoZ3N0X3VkcHNyY19jbGFzc19pbml0KSwgKGdzdF91ZHBzcmNfaW5pdCksCgkgIChnc3RfdWRwc3JjX2NyZWF0ZSksIChnc3RfdWRwc3JjX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfdWRwc3JjX2dldF9wcm9wZXJ0eSksIChnc3RfdWRwc3JjX3N0YXJ0KSwgKGdzdF91ZHBzcmNfc3RvcCk6CgkgICogZ3N0L3VkcC9nc3R1ZHBzcmMuaDoKCSAgUmV3b3JrIHRoZSBzb2NrZXQgYWxsb2NhdGlvbiBhIGJpdCBiYXNlZCBvbiB0aGUgc29ja2ZkIGFyZ3VtZW50IHNvIHRoYXQKCSAgaXQgYmVjb21lcyB1c2FibGUuCgkgIEFkZCBhIGNsb3NlZmQgcHJvcGVydHkgdG8gaW5zdHJ1Y3QgdGhlIHVkcCBlbGVtZW50cyB0byBjbG9zZSB0aGUgY3VzdG9tCgkgIGZpbGUgZGVzY3JpcHRvcnMgd2hlbiBnb2luZyB0byBSRUFEWS4gRml4ZXMgIzQyMzMwNC4KCSAgQVBJOkdzdFVEUFNyYzo6Y2xvc2VmZCBwcm9wZXJ0eQoJICBBUEk6R3N0RHluVURQU2luazo6Y2xvc2VmZCBwcm9wZXJ0eQoKMjAwNy0wMy0yOSAwODowODo0OSArMDAwMCAgTGF1cmVudCBHbGF5YWwgPHNwZ2xlZ2xlQHlhaG9vLmZyPgoKCSAgZ3N0L3J0cC86IEFkZGVkIEgyNjQgcGF5bG9hZGVyLiBGaXhlcyAjNDIzNzgyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IExhdXJlbnQgR2xheWFsIDxzcGdsZWdsZSBhdCB5YWhvbyBkb3QgZnI+CgkgICogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcnRwL2dzdHJ0cC5jOiAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOiAoZ3N0X3J0cF9oMjY0X3BheV9iYXNlX2luaXQpLAoJICAoZ3N0X3J0cF9oMjY0X3BheV9jbGFzc19pbml0KSwgKGdzdF9ydHBfaDI2NF9wYXlfaW5pdCksCgkgIChnc3RfcnRwX2gyNjRfcGF5X2ZpbmFsaXplKSwgKGdzdF9ydHBfaDI2NF9wYXlfc2V0Y2FwcyksCgkgIChnc3RfcnRwX2gyNjRfcGF5X2hhbmRsZV9idWZmZXIpLCAoZ3N0X3J0cF9oMjY0X3BheV9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3J0cF9oMjY0X3BheV9nZXRfcHJvcGVydHkpLCAoZ3N0X3J0cF9oMjY0X3BheV9jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X3J0cF9oMjY0X3BheV9wbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBoMjY0cGF5Lmg6CgkgIEFkZGVkIEgyNjQgcGF5bG9hZGVyLiBGaXhlcyAjNDIzNzgyLgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6IChnc3RfcnRwX2gyNjRfZGVwYXlfY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwX2gyNjRfZGVwYXlfc2V0Y2FwcyksIChnc3RfcnRwX2gyNjRfZGVwYXlfcHJvY2Vzcyk6CgkgIFNtYWxsIGZpeGVzLgoKMjAwNy0wMy0yOCAyMjoyNzozNiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IEFjdHVhbGx5IHN1cHBvcnQgZGVwdGhzIGZyb20gMSB0byAzMiwgbm90IG9ubHkgOCB0byAzMi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIEFjdHVhbGx5IHN1cHBvcnQgZGVwdGhzIGZyb20gMSB0byAzMiwgbm90IG9ubHkgOCB0byAzMi4KCjIwMDctMDMtMjggMjI6MjM6NDMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiBBZGQgc3VwcG9ydCBmb3Igd2F2IGZpbGVzIGNvbnRhaW5pbmcgYXVkaW8veC1yYXctaW50IHdpdGggcmFuZG9tIGRlcHRocyBiZXR3ZWVuIDEgYW5kIDMyIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgQWRkIHN1cHBvcnQgZm9yIHdhdiBmaWxlcyBjb250YWluaW5nIGF1ZGlvL3gtcmF3LWludCB3aXRoIHJhbmRvbQoJICBkZXB0aHMgYmV0d2VlbiAxIGFuZCAzMiBiaXRzLgoKMjAwNy0wMy0yOCAxODo0MDoxMiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSAgZ3N0L3J0cC86IEFkZGVkIE1QNEEtTEFUTSBkZXBheWxvYWRlci4gRml4ZXMgIzQxNzc5Mi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEJhc2VkIG9uIHBhdGNoIGJ5OiBTdGVmYW4gS29zdCAgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoJICAqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkgICogZ3N0L3J0cC9nc3RydHAuYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGFkZXBheS5jOiAoZ3N0X3J0cF9tcDRhX2RlcGF5X2Jhc2VfaW5pdCksCgkgIChnc3RfcnRwX21wNGFfZGVwYXlfY2xhc3NfaW5pdCksIChnc3RfcnRwX21wNGFfZGVwYXlfaW5pdCksCgkgIChnc3RfcnRwX21wNGFfZGVwYXlfZmluYWxpemUpLCAoZ3N0X3J0cF9tcDRhX2RlcGF5X3NldGNhcHMpLAoJICAoZ3N0X3J0cF9tcDRhX2RlcGF5X3Byb2Nlc3MpLCAoZ3N0X3J0cF9tcDRhX2RlcGF5X3NldF9wcm9wZXJ0eSksCgkgIChnc3RfcnRwX21wNGFfZGVwYXlfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9ydHBfbXA0YV9kZXBheV9jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X3J0cF9tcDRhX2RlcGF5X3BsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGFkZXBheS5oOgoJICBBZGRlZCBNUDRBLUxBVE0gZGVwYXlsb2FkZXIuIEZpeGVzICM0MTc3OTIuCgkgICogZ3N0L3J0cC9nc3RydHBtcDR2ZGVwYXkuYzogKGdzdF9ydHBfbXA0dl9kZXBheV9zZXRjYXBzKSwKCSAgKGdzdF9ydHBfbXA0dl9kZXBheV9wcm9jZXNzKToKCSAgRml4dXAgZGVwYXlsb2FkZXIsIHNldHRpbmcgY29kZWNfZGF0YSwgdXNpbmcgbW9yZSBlZmZpY2llbnQgYWRhcHRvciBhbmQKCSAgcnRwYnVmZmVyIGhhbmRsaW5nLgoJICAqIGdzdC9ydHNwL1VSTFM6CgkgIEFkZCB1cmwgdG8gdGVzdCBhYm92ZS4KCjIwMDctMDMtMjggMTU6MTc6MjcgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvcXRkZW11eC86IFByb2Nlc3MgJ2N0dHMnIGF0b21zLCB3aGljaCBhcmUgcHJlc2VudCBpbiBBVkMgSVNPIGZpbGVzICgubW92IGZpbGVzIHdpdGggaDI2NCB2aWRlbykuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X3ByZXBhcmVfY3VycmVudF9zYW1wbGUpLAoJICAoZ3N0X3F0ZGVtdXhfY2hhaW4pLCAocXRkZW11eF9wYXJzZV9zYW1wbGVzKToKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4X2R1bXAuYzogKHF0ZGVtdXhfZHVtcF9jdHRzKToKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4X2R1bXAuaDoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4X2ZvdXJjYy5oOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfdHlwZXMuYzoKCSAgUHJvY2VzcyAnY3R0cycgYXRvbXMsIHdoaWNoIGFyZSBwcmVzZW50IGluIEFWQyBJU08gZmlsZXMgKC5tb3YgZmlsZXMKCSAgd2l0aCBoMjY0IHZpZGVvKS4KCSAgVXNlIHRoZSBvZmZzZXQgcHJlc2VudCBpbiAnY3R0cycgdG8gY2FsY3VsYXRlIHRoZSBQVFMgZm9yIGVhY2ggcGFja2V0CgkgIGFuZCBzZXQgdGhlIFBUUyBvbiBvdXRnb2luZyBidWZmZXJzLgoJICBGaXhlcyAjNDIzMjgzCgoyMDA3LTAzLTI1IDE1OjM0OjQyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy4qOiBIYW5kbGUgZGVmYXVsdCBjbG9jay1yYXRlcyBmb3Igc3RhdGljIHBheWxvYWQgdHlwZXMsIHJlYXJyYW5nZSBzdHVmZiBzbyB0aGF0IHRoZSBydHBtYXAgZmllbGQgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGZpbmRfc3RyZWFtX2J5X3NldHVwKSwKCSAgKGdzdF9ydHNwc3JjX2NyZWF0ZV9zdHJlYW0pLCAoZ3N0X3J0c3BzcmNfc3RyZWFtX2ZyZWUpLAoJICAoZ2V0X2RlZmF1bHRfcmF0ZV9mb3JfcHQpLCAoZ3N0X3J0c3BzcmNfcGFyc2VfcnRwbWFwKSwKCSAgKGdzdF9ydHNwc3JjX21lZGlhX3RvX2NhcHMpLAoJICAoZ3N0X3J0c3BzcmNfc3RyZWFtX2NvbmZpZ3VyZV90cmFuc3BvcnQpLAoJICAoZ3N0X3J0c3BzcmNfc3RyZWFtX2NvbmZpZ3VyZV9jYXBzKSwKCSAgKGdzdF9ydHNwc3JjX2FjdGl2YXRlX3N0cmVhbXMpLCAoZ3N0X3J0c3BzcmNfcGFyc2VfcnRwaW5mbyk6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBIYW5kbGUgZGVmYXVsdCBjbG9jay1yYXRlcyBmb3Igc3RhdGljIHBheWxvYWQgdHlwZXMsIHJlYXJyYW5nZSBzdHVmZiBzbwoJICB0aGF0IHRoZSBydHBtYXAgZmllbGQgaW4gdGhlIHNkcCBjYW4gb3ZlcnJpZGUgdGhlIGRlZmF1bHRzLgoJICBQYXJzZSBSVFAtSW5mbyBmaWVsZCB0byBnZXQgdGhlIHNlcW51bSBhbmQgdGltZWJhc2UgZmllbGRzIHRoYXQgc2hvdWxkCgkgIGdvIGluIHRoZSBjYXBzLgoJICBEZWxheSBjb25maWd1cmluZyBjYXBzIGFmdGVyIHdlIGdvdCB0aGUgUlRQLUluZm8gZnJvbSB0aGUgUExBWSByZXBseSBmcm9tCgkgIHRoZSBzZXJ2ZXIuCgoyMDA3LTAzLTI0IDE5OjQ2OjU5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmM6IFJlbW92ZSAnY2hhbm5lbC1wb3NpdGlvbnMnIGZpZWxkIHdoZW4gbXVuZ2luZyBpbnB1dCBjYXBzIGludG8gMS1jaGFubmVsIG91dHB1dCBjYXBzIChJLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOiAoZ3N0X2RlaW50ZXJsZWF2ZV9zaW5rX3NldGNhcHMpOgoJICBSZW1vdmUgJ2NoYW5uZWwtcG9zaXRpb25zJyBmaWVsZCB3aGVuIG11bmdpbmcgaW5wdXQgY2FwcyBpbnRvCgkgIDEtY2hhbm5lbCBvdXRwdXQgY2FwcyAoSSBndWVzcyB0ZWNobmljYWxseSB3ZSBzaG91bGQgc2V0IHRoZQoJICBwb3NpdGlvbiBmb3IgZWFjaCBjaGFubmVsIG9uIHRoZSBvdXRwdXQgY2FwcyBpZiBpdCdzIG5vbi1OT05FLAoJICBidXQgSSdsbCBzYXZlIHRoYXQgYXMgYSB0YXNrIGZvciBhbm90aGVyIGRheSkuCgoyMDA3LTAzLTIyIDIyOjE0OjI5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmM6IERvbid0IGxlYWsgaW5wdXQgYnVmZmVyIGluIGNoYWluIGZ1bmN0aW9uOyBtYWludGFpbiBvdXIgb3duIGxpc3Qgb2Ygc291cmNlIHBhZHMgLSB0aGVyLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOiAoZ3N0X2RlaW50ZXJsZWF2ZV9hZGRfbmV3X3BhZHMpLAoJICAoZ3N0X2RlaW50ZXJsZWF2ZV9yZW1vdmVfcGFkcyksIChnc3RfZGVpbnRlcmxlYXZlX3Byb2Nlc3MpLAoJICAoZ3N0X2RlaW50ZXJsZWF2ZV9jaGFpbik6CgkgIERvbid0IGxlYWsgaW5wdXQgYnVmZmVyIGluIGNoYWluIGZ1bmN0aW9uOyBtYWludGFpbiBvdXIgb3duIGxpc3Qgb2YKCSAgc291cmNlIHBhZHMgLSB0aGVyZSBhcmUgbm8gZ3VhcmFudGVlcyBhYm91dCB0aGUgb3JkZXIgb2YgdGhlIGxpc3QKCSAgaW4gdGhlIEdzdEVsZW1lbnQgc3RydWN0LCBhbmQgd2Ugd2FudCBhIHZlcnkgc3BlY2lmaWMgb3JkZXI7IGxhc3RseSwKCSAgc29tZSBtb3JlIGRlYnVnZ2luZy4KCjIwMDctMDMtMjIgMTY6MjU6NTYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOiBSZXZlcnQgbGFzdCBjb21taXQsIHByZXZlbnRpbmcgaW5maW5pdGUgcGx1Z2dpbmcgbG9vcHMgd2l0aCByYW5rcyBpcyBubyBjbGVhbiBzb2x1dGlvbi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogKGdzdF93YXZwYWNrX3BhcnNlX3BsdWdpbl9pbml0KToKCSAgUmV2ZXJ0IGxhc3QgY29tbWl0LCBwcmV2ZW50aW5nIGluZmluaXRlIHBsdWdnaW5nIGxvb3BzIHdpdGggcmFua3MKCSAgaXMgbm8gY2xlYW4gc29sdXRpb24gYW5kIGluIGdlbmVyYWwgdGhlcmUncyBubyByZWFzb24gd2h5IG9uZSB3YW50cwoJICB0byBwYXJzZSBmcmFtZWQgd2F2cGFjayBkYXRhIGFnYWluLgoKMjAwNy0wMy0yMiAxNTo1Mjo1MSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOiBTZW5kIHRoZSBuZXcgc2VnbWVudCBldmVudCBpbiB0aW1lIGZvcm1hdCBpbnN0ZWFkIG9mIGJ5dGVzLiBUaGlzIGFsbG93cyAid2F2cGFja2VuYyAhIHdhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzogKGdzdF93YXZwYWNrX2VuY19wdXNoX2Jsb2NrKToKCSAgU2VuZCB0aGUgbmV3IHNlZ21lbnQgZXZlbnQgaW4gdGltZSBmb3JtYXQgaW5zdGVhZCBvZiBieXRlcy4gVGhpcwoJICBhbGxvd3MgIndhdnBhY2tlbmMgISB3YXZwYWNrZGVjICEgc29tZWF1ZGlvc2luayIgcGlwZWxpbmVzLgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOiAoZ3N0X3dhdnBhY2tfcGFyc2VfcGx1Z2luX2luaXQpOgoJICBBY2NlcHQgZnJhbWVkIGFuZCBub24tZnJhbWVkIGlucHV0LCB3YXZwYWNrcGFyc2UgZG9lc24ndCBjYXJlLiBUbwoJICBwcmV2ZW50ICJ3YXZwYWNrcGFyc2UgISB3YXZwYWNrcGFyc2UgISAuLi4iIHBpcGVsaW5lcyBsb3dlciB0aGUKCSAgcmFuayBvZiB3YXZwYWNrcGFyc2UgYnkgb25lLiBUaGlzIGFsbG93cyAid2F2cGFja2VuYyAhIHdhdnBhY2twYXJzZSAhCgkgIC4uLiIgcGlwZWxpbmVzLgoKMjAwNy0wMy0yMiAxMTowODowMyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOiBSZXZlcnQgdG8gdXNlIGdzdF9wYWRfYWxsb2NfYnVmZmVyKCkgaGVyZS4gV2UgY2FuIGFuZCBzaG91bGQgdXNlIGl0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IChnc3Rfd2F2cGFja19kZWNfY2hhaW4pOgoJICBSZXZlcnQgdG8gdXNlIGdzdF9wYWRfYWxsb2NfYnVmZmVyKCkgaGVyZS4gV2UgY2FuIGFuZCBzaG91bGQgdXNlIGl0LgoJICBUaGFua3MgdG8gSmFuIGFuZCBNaWtlIGZvciBub3RpY2luZyBteSBtaXN0YWtlLgoKMjAwNy0wMy0yMiAwOTo0NDoxNyArMDAwMCAgQ2hyaXN0b3BoZSBEZWhhaXMgPGNocmlzdG9waGUuZGVoYWlzQGdtYWlsLmNvbT4KCgkgIGV4dC9nY29uZi9nY29uZi5jOiBBY2NlcHQgY29tcGxleCBwaXBlbGluZSBkZXNjcmlwdGlvbnMgYXMgYW4gYXVkaW8gcHJvZmlsZSBpbnN0ZWFkIG9mIGp1c3QgYSBzaW5nbGUgZWxlbWVudC4gRml4ZXMgIy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IENocmlzdG9waGUgRGVoYWlzIDxjaHJpc3RvcGhlIGRvdCBkZWhhaXMgYXQgZ21haWwgZG90IGNvbT4KCSAgKiBleHQvZ2NvbmYvZ2NvbmYuYzogKGdzdF9nY29uZl9yZW5kZXJfYmluX3dpdGhfZGVmYXVsdCk6CgkgIEFjY2VwdCBjb21wbGV4IHBpcGVsaW5lIGRlc2NyaXB0aW9ucyBhcyBhbiBhdWRpbyBwcm9maWxlIGluc3RlYWQgb2YganVzdAoJICBhIHNpbmdsZSBlbGVtZW50LiBGaXhlcyAjNDIwNjU4LgoKMjAwNy0wMy0yMiAwMDoxNzo0MSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy4qOiBQdXQgdGhlIHdyaXRlIGhlbHBlcnMgaW50byB0aGUgR3N0V2F2cGFja0VuYyBzdHJ1Y3QgZGlyZWN0bHkgYW5kIG5vdCBhcyBhIHBvaW50ZXIgdG8gc2F2Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzogKGdzdF93YXZwYWNrX2VuY19jbGFzc19pbml0KSwKCSAgKGdzdF93YXZwYWNrX2VuY19pbml0KSwgKGdzdF93YXZwYWNrX2VuY19jaGFpbiksCgkgIChnc3Rfd2F2cGFja19lbmNfcmV3cml0ZV9maXJzdF9ibG9jayk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5oOgoJICBQdXQgdGhlIHdyaXRlIGhlbHBlcnMgaW50byB0aGUgR3N0V2F2cGFja0VuYyBzdHJ1Y3QgZGlyZWN0bHkgYW5kIG5vdAoJICBhcyBhIHBvaW50ZXIgdG8gc2F2ZSB0d28gc21hbGwsIGJ1dCB1c2VsZXNzIG1hbGxvY3MuIFRoaXMgYWxzbyBtYWtlcwoJICBpdCBwb3NzaWJsZSB0byBkcm9wIHRoZSBmaW5hbGl6ZSBtZXRob2QuCgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IChnc3Rfd2F2cGFja19wYXJzZV9wdXNoX2J1ZmZlcik6CgkgIEZvciBjb25zaXN0ZW5jeSByZWFzb25zIGFsc28gc2V0IEdTVF9CVUZGRVJfT0ZGU0VUX0VORCBvbiB0aGUgb3V0Z29pbmcKCSAgYnVmZmVycyB0aGUgc2FtZSB3YXkgd2F2cGFja2VuYyBkb2VzIGl0LgoKMjAwNy0wMy0yMSAyMzo1MDowOSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOiBEb24ndCB1c2UgZ3N0X3BhZF9hbGxvY19idWZmZXIoKSBhcyB3ZSBtaWdodCBjbGlwIHRoZSBidWZmZXIgbGF0ZXIgYW5kCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzogKGdzdF93YXZwYWNrX2RlY19jaGFpbik6CgkgIERvbid0IHVzZSBnc3RfcGFkX2FsbG9jX2J1ZmZlcigpIGFzIHdlIG1pZ2h0IGNsaXAgdGhlIGJ1ZmZlciBsYXRlciBhbmQKCSAgQmFzZVRyYW5zZm9ybS1iYXNlZCBlbGVtZW50cyB3aWxsIGxpa2VseSBicmVhayBiZWNhdXNlIG9mIHdyb25nCgkgIHVuaXQtc2l6ZS4gQWxzbyBwbHVnIGEgcG9zc2libGUgbWVtbGVhayB0aGF0IGhhcHBlbnMgd2hlbiBkZWNvZGluZwoJICBmYWlscyBmb3Igc29tZSByZWFzb24uCgoyMDA3LTAzLTIxIDExOjQ5OjMyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2FwZXRhZy9nc3R0YWdkZW11eC5jOiBSZW5hbWUgcmVnaXN0ZXJlZCB0eXBlIGluIHByZXBhcmF0aW9uIG9mIEdzdFRhZ0RlbXV4IG1vdmluZyB0bwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXBldGFnL2dzdHRhZ2RlbXV4LmM6IChnc3RfdGFnX2RlbXV4X2dldF90eXBlKToKCSAgUmVuYW1lIHJlZ2lzdGVyZWQgdHlwZSBpbiBwcmVwYXJhdGlvbiBvZiBHc3RUYWdEZW11eCBtb3ZpbmcgdG8KCSAgLWJhc2UgYXQgc29tZSBwb2ludCBpbiB0aGUgZnV0dXJlLgoKMjAwNy0wMy0xOSAxMDoyOToxOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiBTdHJlYW1pbmcgbW9kZSBmaXhlczogZG9uJ3QgdW5yZWYgYnVmZmVyIHdlIGRvbid0IG93biBhbnkgbG9uZ2VyOyByZW1vdmUgYm9ndXMgYWRhcHRlciBmbC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogKGdzdF93YXZwYXJzZV9zdHJlYW1faGVhZGVycyk6CgkgIFN0cmVhbWluZyBtb2RlIGZpeGVzOiBkb24ndCB1bnJlZiBidWZmZXIgd2UgZG9uJ3Qgb3duIGFueSBsb25nZXI7CgkgIHJlbW92ZSBib2d1cyBhZGFwdGVyIGZsdXNoLiBGaXhlcyAjNDE5MzM4LgoKMjAwNy0wMy0xOCAwNDoyMToyOCArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBSRVFVSVJFTUVOVFM6IENoYW5nZSB0aGUgZm9ybWF0IHRvIGtleS92YWx1ZSwgYWRkIGEgYnVuY2ggb2YgaW5mb3JtYXRpb24sIHJlbW92ZSBhIGJ1bmNoIG9mIHJlcXVpcmVtZW50cyB0aGF0IGFyZSBmb3IuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogUkVRVUlSRU1FTlRTOiBDaGFuZ2UgdGhlIGZvcm1hdCB0byBrZXkvdmFsdWUsIGFkZCBhIGJ1bmNoIG9mCgkgIGluZm9ybWF0aW9uLCByZW1vdmUgYSBidW5jaCBvZiByZXF1aXJlbWVudHMgdGhhdCBhcmUgZm9yCgkgIG90aGVyIEdTdHJlYW1lciBwYWNrYWdlcy4KCjIwMDctMDMtMTggMDI6MDA6NTQgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgUkVRVUlSRU1FTlRTOiBGaXggYSBmZXcgdGhpbmdzLiAgVGhpcyBmaWxlIHJlYWxseSBuZWVkcyBhIGdvb2Qgb25jZS1vdmVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBSRVFVSVJFTUVOVFM6IEZpeCBhIGZldyB0aGluZ3MuICBUaGlzIGZpbGUgcmVhbGx5IG5lZWRzIGEKCSAgZ29vZCBvbmNlLW92ZXIuCgoyMDA3LTAzLTE2IDE4OjM4OjE4ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOiBGaXggcHJldmlvdXMgY29tbWl0LCB3ZSB3YW50IHRvIHBhc3MgdGhlIE5TVmlldyBpbiB0aGUgbWVzc2FnZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBGaXggcHJldmlvdXMgY29tbWl0LCB3ZSB3YW50IHRvIHBhc3MgdGhlIE5TVmlldyBpbiB0aGUgbWVzc2FnZS4KCjIwMDctMDMtMTYgMTY6Mjc6MjAgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06IEVtaXQgJ2hhdmUtbnMtdmlldycgbWVzc2FnZSB3aGVuIHdvcmtpbmcgaW4gZW1iZWRkZWQgbW9kZS4gVGhlIG1lc3NhZ2Ugd2lsbCBjb250YWluIGEgcG8uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBFbWl0ICdoYXZlLW5zLXZpZXcnIG1lc3NhZ2Ugd2hlbiB3b3JraW5nIGluIGVtYmVkZGVkIG1vZGUuIFRoZSBtZXNzYWdlCgkgIHdpbGwgY29udGFpbiBhIHBvaW50ZXIgdG8gdGhlIG5ld2x5IGNyZWF0ZWQgTlNWaWV3LgoKMjAwNy0wMy0xNiAwOTo1Nzo0MCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIxMGJhbmRzLmM6IEEgMTAgYmFuZCBFUSBzaG91bGQgYmUgaW5pdGlhbGl6ZWQgdG8gMSBiYW5kcyBhbmQgbm90IHRvIDMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyMTBiYW5kcy5jOgoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfMTBiYW5kc19pbml0KToKCSAgQSAxMCBiYW5kIEVRIHNob3VsZCBiZSBpbml0aWFsaXplZCB0byAxIGJhbmRzIGFuZCBub3QgdG8gMy4KCjIwMDctMDMtMTUgMTI6MDU6MDEgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBzeXMvTWFrZWZpbGUuYW06IERvbid0IGZvcmdldCB0byBkaXN0cmlidXRlIHRoZSBzeXMvb3N4YXVkaW8vIGRpcmVjdG9yeS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL01ha2VmaWxlLmFtOgoJICBEb24ndCBmb3JnZXQgdG8gZGlzdHJpYnV0ZSB0aGUgc3lzL29zeGF1ZGlvLyBkaXJlY3RvcnkuCgoyMDA3LTAzLTE1IDExOjM5OjUzICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgQWN0aXZhdGUgb3N4YXVkaW8gaW4gZ3N0LXBsdWdpbnMtZ29vZCB3aXRoIHByb3BlciBidWlsZCBzZXR1cC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIHN5cy9NYWtlZmlsZS5hbToKCSAgKiBzeXMvb3N4YXVkaW8vTWFrZWZpbGUuYW06CgkgICogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvLmM6CgkgICogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5jOgoJICAoZ3N0X29zeF9hdWRpb19zaW5rX29zeGVsZW1lbnRfZG9faW5pdCksIChnc3Rfb3N4X2F1ZGlvX3NpbmtfaW5pdCksCgkgIChnc3Rfb3N4X2F1ZGlvX3NpbmtfZ2V0Y2FwcyksCgkgIChnc3Rfb3N4X2F1ZGlvX3NpbmtfY3JlYXRlX3JpbmdidWZmZXIpLCAocGx1Z2luX2luaXQpOgoJICAqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NyYy5jOgoJICAoZ3N0X29zeF9hdWRpb19zcmNfb3N4ZWxlbWVudF9kb19pbml0KSwgKGdzdF9vc3hfYXVkaW9fc3JjX2luaXQpLAoJICAoZ3N0X29zeF9hdWRpb19zcmNfY3JlYXRlX3JpbmdidWZmZXIpOgoJICAqIHN5cy9vc3hhdWRpby9nc3Rvc3hyaW5nYnVmZmVyLmM6IChnc3Rfb3N4X3JpbmdfYnVmZmVyX2dldF90eXBlKSwKCSAgKGdzdF9vc3hfcmluZ19idWZmZXJfY2xhc3NfaW5pdCksIChnc3Rfb3N4X3JpbmdfYnVmZmVyX2luaXQpLAoJICAoZ3N0X29zeF9yaW5nX2J1ZmZlcl9hY3F1aXJlKSwgKGdzdF9vc3hfcmluZ19idWZmZXJfc3RhcnQpLAoJICAoZ3N0X29zeF9yaW5nX2J1ZmZlcl9wYXVzZSksIChnc3Rfb3N4X3JpbmdfYnVmZmVyX3N0b3ApOgoJICAqIHN5cy9vc3hhdWRpby9nc3Rvc3hyaW5nYnVmZmVyLmg6CgkgIEFjdGl2YXRlIG9zeGF1ZGlvIGluIGdzdC1wbHVnaW5zLWdvb2Qgd2l0aCBwcm9wZXIgYnVpbGQgc2V0dXAuCgkgIEFkZCBpbmxpbmVkIGRvY3VtZW50YXRpb24uCgkgIEZpeCBkZWJ1ZyBzdGF0ZW1lbnRzCgkgIEZpeCByaW5nYnVmZmVyIHdoZW4gcGF1c2luZy4KCSAgRml4ZXMgIzMyMzQ3MQoKMjAwNy0wMy0xNCAyMjoyMToyNiArMDAwMCAgUGhpbGlwcGUgS2FsYWYgPHBoaWxpcHBlLmthbGFmQGNvbGxhYm9yYS5jby51az4KCgkgIGdzdC9ydHAvOiBQb3J0ZWQgbXVsYXcgYW5kIGFsYXcgcGF5bG9hZGVycyB0byB1c2UgbmV3IGJhc2UgY2xhc3MKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBwY21hcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBwY21hcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBwY211cGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBwY211cGF5Lmg6CgkgIFBvcnRlZCBtdWxhdyBhbmQgYWxhdyBwYXlsb2FkZXJzIHRvIHVzZSBuZXcgYmFzZSBjbGFzcwoKMjAwNy0wMy0xNCAxNjozMDoxOSArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIHN5cy9vc3h2aWRlby86IEZpeCBsZWFrcyB3aGVuIHJ1bm5pbmcgYSBOU0FwcC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL29zeHZpZGVvL2NvY29hd2luZG93Lmg6CgkgICogc3lzL29zeHZpZGVvL2NvY29hd2luZG93Lm06CgkgICogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5oOgoJICAqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgRml4IGxlYWtzIHdoZW4gcnVubmluZyBhIE5TQXBwLgoJICBBY2NlcHQgYW55IGtpbmQgb2YgcmVzb2x1dGlvbnMuCgkgIFdvcmtzIGluIGZ1bGxzY3JlZW4uIENhbiBtYXhpbWl6ZS4KCSAgT25seSB0aGluZyBsZWZ0IGJlZm9yZSBiZWluZyBhYmxlIHRvIG1vdmUgdGhpcyB0byAtZ29vZCBpcyBkb2N1bWVudGF0aW9uCgkgIGFuZCBlbWJlZGRlZCB3aW5kb3cgc3VwcG9ydC4KCjIwMDctMDMtMTQgMTU6MjU6MTAgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgcG8vOiBVcGRhdGUgdHJhbnNsYXRpb25zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBwby9hZi5wbzoKCSAgKiBwby9hei5wbzoKCSAgKiBwby9jcy5wbzoKCSAgKiBwby9lbl9HQi5wbzoKCSAgKiBwby9pdC5wbzoKCSAgKiBwby9ubC5wbzoKCSAgKiBwby9vci5wbzoKCSAgKiBwby9zcS5wbzoKCSAgKiBwby9zci5wbzoKCSAgKiBwby9zdi5wbzoKCSAgKiBwby91ay5wbzoKCSAgKiBwby92aS5wbzoKCSAgVXBkYXRlIHRyYW5zbGF0aW9ucy4KCjIwMDctMDMtMTQgMTQ6NDk6NDUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBjb25maWd1cmUuYWM6IEZpeCBzdHJpbmcgcmVwbGFjZSBlcnJvciAoQUdfQUdfR1NUXyogPT4gQUdfR1NUXyopLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIEZpeCBzdHJpbmcgcmVwbGFjZSBlcnJvciAoQUdfQUdfR1NUXyogPT4gQUdfR1NUXyopLgoKMjAwNy0wMy0xNCAxNDo0ODowOCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2VxdWFsaXplci86IEFkZCAzIGFuZCAxMCBiYW5kIHZlcnNpb24gYW5kIGFkZCBtaXNzaW5nIGdzdF9vYmplY3Rfc3luY192YWx1ZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9lcXVhbGl6ZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzogKF9kb19pbml0KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2JhbmRfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2JhbmRfY2xhc3NfaW5pdCksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9iYW5kX2dldF90eXBlKSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2NoaWxkX3Byb3h5X2dldF9jaGlsZF9ieV9pbmRleCksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9jaGlsZF9wcm94eV9nZXRfY2hpbGRyZW5fY291bnQpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfY2hpbGRfcHJveHlfaW50ZXJmYWNlX2luaXQpLCAoc2V0dXBfZmlsdGVyKSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2NvbXB1dGVfZnJlcXVlbmNpZXMpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfdHJhbnNmb3JtX2lwKSwgKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcjEwYmFuZHMuYzoKCSAgKGdzdF9paXJfZXF1YWxpemVyXzEwYmFuZHNfYmFzZV9pbml0KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyXzEwYmFuZHNfY2xhc3NfaW5pdCksCgkgIChnc3RfaWlyX2VxdWFsaXplcl8xMGJhbmRzX2luaXQpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfMTBiYW5kc19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfMTBiYW5kc19nZXRfcHJvcGVydHkpOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyMTBiYW5kcy5oOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyM2JhbmRzLmM6CgkgIChnc3RfaWlyX2VxdWFsaXplcl8zYmFuZHNfYmFzZV9pbml0KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyXzNiYW5kc19jbGFzc19pbml0KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyXzNiYW5kc19pbml0KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyXzNiYW5kc19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfM2JhbmRzX2dldF9wcm9wZXJ0eSk6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIzYmFuZHMuaDoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcm5iYW5kcy5jOgoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfbmJhbmRzX2Jhc2VfaW5pdCksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9uYmFuZHNfaW5pdCk6CgkgIEFkZCAzIGFuZCAxMCBiYW5kIHZlcnNpb24gYW5kIGFkZCBtaXNzaW5nIGdzdF9vYmplY3Rfc3luY192YWx1ZXMuCgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IChnc3Rfc3BlY3RydW1fZXZlbnQpLAoJICAoZ3N0X3NwZWN0cnVtX3RyYW5zZm9ybV9pcCk6CgkgIEFkZCBzb21lIGNvbW1lbnRzIGFib3V0IGZsb2F0IHN1cHBvcnQuCgoyMDA3LTAzLTEyIDE3OjU2OjU0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2FwZXRhZy9nc3R0YWdkZW11eC5jOiBGaXggaGFuZGxpbmcgb2YgLTEgdmFsdWVzIGZvciBzdGFydCBhbmQgc3RvcCB2YWx1ZXMgd2hlbiBzZWVraW5nLCBhbmQgU0VFS19DVVIrU0VFS19FTkQgaGVyLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hcGV0YWcvZ3N0dGFnZGVtdXguYzogKGdzdF90YWdfZGVtdXhfc3JjcGFkX2V2ZW50KToKCSAgRml4IGhhbmRsaW5nIG9mIC0xIHZhbHVlcyBmb3Igc3RhcnQgYW5kIHN0b3AgdmFsdWVzIHdoZW4gc2Vla2luZywKCSAgYW5kIFNFRUtfQ1VSK1NFRUtfRU5EIGhlcmUgYXMgd2VsbC4KCjIwMDctMDMtMTIgMTc6MjQ6MjMgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0L2lkM2RlbXV4L2dzdGlkM2RlbXV4LmM6IEZpeCBoYW5kbGluZyBvZiAtMSB2YWx1ZXMgZm9yIHN0YXJ0IGFuZCBzdG9wIHZhbHVlcyB3aGVuIHNlZWtpbmcsIGFuZCBTRUVLX0NVUitTRUVLX0VORC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2lkM2RlbXV4L2dzdGlkM2RlbXV4LmM6IChnc3RfaWQzZGVtdXhfc3JjcGFkX2V2ZW50KToKCSAgRml4IGhhbmRsaW5nIG9mIC0xIHZhbHVlcyBmb3Igc3RhcnQgYW5kIHN0b3AgdmFsdWVzIHdoZW4gc2Vla2luZywKCSAgYW5kIFNFRUtfQ1VSK1NFRUtfRU5ELgoKMjAwNy0wMy0xMiAxNTo0OTowMiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkgIEknbSB0b28gbGF6eSB0byBjb21tZW50IHRoaXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEFkZCBQYXRjaCBieTogbGluZSBmb3Igd2ltLCBzaW5jZSBoZSdzIGF3YXkKCjIwMDctMDMtMTIgMTM6Mjg6MjkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvaWQzZGVtdXgvaWQzdjJmcmFtZXMuYzogRml4IHBhcnNpbmcgb2YgSUQzIHYyLjIuMCBQSUMgZnJhbWVzLiBPbmx5IGluIHZlcnNpb24gPj0gMi4zLjAgaXMgdGhlIGltYWdlIGZvcm1hdCBhIHZhcmkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2lkM2RlbXV4L2lkM3YyZnJhbWVzLmM6IChwYXJzZV9waWN0dXJlX2ZyYW1lKToKCSAgRml4IHBhcnNpbmcgb2YgSUQzIHYyLjIuMCBQSUMgZnJhbWVzLiBPbmx5IGluIHZlcnNpb24gPj0gMi4zLjAgaXMKCSAgdGhlIGltYWdlIGZvcm1hdCBhIHZhcmlhYmxlLWxlbmd0aCBOVUwtdGVybWluYXRlZCBzdHJpbmc7IGluCgkgIHZlcnNpb25zIGJlZm9yZSB0aGF0IHRoZSBpbWFnZSBmb3JtYXQgaXMgYSBmaXhlZC1sZW5ndGggc3RyaW5nIG9mCgkgIDMgY2hhcmFjdGVycyAoc2VlICMzNDg2NDQgZm9yIGEgc2FtcGxlIHRhZykuCgkgIEFsc28gbWFrZSBzdXBwbGllZCBtaW1lIHR5cGUgbG93ZXItY2FzZSBhbmQgZml4IHVwICdqcGcnIHRvICdqcGVnJy4KCjIwMDctMDMtMTEgMjI6MjM6MDQgKzAwMDAgIFPDqWJhc3RpZW4gTW91dHRlIDxzZWJhc3RpZW5AbW91dHRlLm5ldD4KCgkgIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLio6IEhhbmRsZSBkaXNwbGF5IG1vZGUgY2hhbmdlcyBkdXJpbmcgcGxheWJhY2suCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuaDoKCSAgSGFuZGxlIGRpc3BsYXkgbW9kZSBjaGFuZ2VzIGR1cmluZyBwbGF5YmFjay4KCjIwMDctMDMtMTAgMTY6MDc6MzEgKzAwMDAgIFPDqWJhc3RpZW4gTW91dHRlIDxzZWJhc3RpZW5AbW91dHRlLm5ldD4KCgkgIHdpbjMyL01BTklGRVNUOiBBZGQgbmV3IHByb2plY3QgZmlsZXMgdG8gTUFOSUZFU1QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHdpbjMyL01BTklGRVNUOgoJICBBZGQgbmV3IHByb2plY3QgZmlsZXMgdG8gTUFOSUZFU1QuCgkgICogd2luMzIvdnM2L2xpYmdzdGF1ZGlvZnguZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RydHAuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RydHNwLmRzcDoKCSAgVXBkYXRlIHByb2plY3QgZmlsZXMuCgoyMDA3LTAzLTEwIDEyOjMwOjQ4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgUHJpbnRmIGZvcm1hdCBmaXhlczsgYWxzbyBhZGQgc29tZSBtaXNzaW5nIHF1b3RlcyBpbiB0cmFuc2xhdGVkIHN0cmluZ3MuIEZpeGVzICM0MTY3MjggYW5kICM0MTY3MjcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfcGFyc2Vfc3ViaW5kZXgpLAoJICAoZ3N0X2F2aV9kZW11eF9wYXJzZV9pbmRleCk6CgkgICogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOiAoZ3N0X3Y0bDJfZmlsbF9saXN0cyk6CgkgICogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOiAoZ3N0X3Y0bDJzcmNfZ3JhYl9mcmFtZSk6CgkgIFByaW50ZiBmb3JtYXQgZml4ZXM7IGFsc28gYWRkIHNvbWUgbWlzc2luZyBxdW90ZXMgaW4gdHJhbnNsYXRlZAoJICBzdHJpbmdzLiBGaXhlcyAjNDE2NzI4IGFuZCAjNDE2NzI3LgoKMjAwNy0wMy0wOSAyMDoxMjowOCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zaW5rLmM6IFRpbSBhbmQgSSBjYW4ndCB0aGluayBvZiBhbnkgcmVhc29uIHRoZSBjaGlsZCBhdWRpbyBzaW5rIG5lZWRzIHRvIGJlIHNldCBiYWNrIHRvIE4uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc2luay5jOiAoZ3N0X2F1dG9fYXVkaW9fc2lua19maW5kX2Jlc3QpOgoJICBUaW0gYW5kIEkgY2FuJ3QgdGhpbmsgb2YgYW55IHJlYXNvbiB0aGUgY2hpbGQgYXVkaW8gc2luayBuZWVkcyB0bwoJICBiZSBzZXQgYmFjayB0byBOVUxMIGFmdGVyIHN1Y2Nlc3NmdWxseSBkZXRlcm1pbmluZyB0aGF0IGl0IGNhbgoJICByZWFjaCBSRUFEWSAtIGl0IGdldHMgaW1tZWRpYXRlbHkgc2V0IGJhY2sgdG8gUkVBRFkgYnkgdGhlIGNhbGxlcgoJICBhbnl3YXksIGNhdXNpbmcgYW4gdW5uZWNlc3NhcnkgY2xvc2Uvb3BlbiBvZiBhbnkgYXVkaW8gZGV2aWNlcwoJICBpbnZvbHZlZC4KCjIwMDctMDMtMDkgMTk6NTE6MjcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBwby86IEFkZCBqYS5wbyBmaWxlIGZyb20gIzM3NzMwNi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogcG8vTElOR1VBUzoKCSAgKiBwby9qYS5wbzoKCSAgQWRkIGphLnBvIGZpbGUgZnJvbSAjMzc3MzA2LgoKMjAwNy0wMy0wOSAxOTo0NDozMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHN5cy9zdW5hdWRpby86IEFjdHVhbGx5IHRyYW5zbGF0ZSBzdW5hdWRpbyBtaXhlciB0cmFjayBsYWJlbHMgaW5zdGVhZCBvZiBqdXN0IG1hcmtpbmcgdGhlIHN0cmluZ3MgYXMgdHJhbnNsYXRhYmxlICgjMy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW8uYzogKHBsdWdpbl9pbml0KToKCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlcnRyYWNrLmM6CgkgIChnc3Rfc3VuYXVkaW9taXhlcl90cmFja19uZXcpOgoJICBBY3R1YWxseSB0cmFuc2xhdGUgc3VuYXVkaW8gbWl4ZXIgdHJhY2sgbGFiZWxzIGluc3RlYWQgb2YganVzdAoJICBtYXJraW5nIHRoZSBzdHJpbmdzIGFzIHRyYW5zbGF0YWJsZSAoIzM3NzMwNik7IGNsZWFuIHVwIHdlaXJkCgkgIGxhYmVsIHN0cmluZyBtYXBwaW5nIGNvZGUgdGhhdCBzZXJ2ZXMgbm8gYXBwYXJlbnQgcHVycG9zZS4gQWxzbwoJICBzZXQgdGhlICd1bnRyYW5zbGF0ZWQtbGFiZWwnIHByb3BlcnR5IHdoZW4gY3JlYXRpbmcgbWl4ZXIgdHJhY2tzCgkgIGlmIHRoZSBHc3RNaXhlclRyYWNrIGJhc2UgY2xhc3Mgc3VwcG9ydHMgdGhpcy4KCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uY3ZzaWdub3JlOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3N1bmF1ZGlvLmM6IChHU1RfU1RBUlRfVEVTVCksCgkgIChzdW5hdWRpb19zdWl0ZSk6CgkgIFZlcnkgbWluaW1hbGlzdGljIHVuaXQgdGVzdCBmb3Igc3VuYXVkaW9taXhlciBlbGVtZW50IChjb21waWxlcywgYnV0IG5vdAoJICBhY3R1YWxseSB0ZXN0ZWQgb24gYSBzeXN0ZW0gd2hlcmUgc3VuYXVkaW9taXhlciBpcyBhdmFpbGFibGUpLgoKMjAwNy0wMy0wOSAxODo0OTozNyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbTogUmUtZW5hYmxlIHRoZSBzdGF0ZXMgdGVzdCBhbmQgc2VlIGlmIGl0IHdvcmtzIG9uIHRoZSBidWlsZGJvdHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBSZS1lbmFibGUgdGhlIHN0YXRlcyB0ZXN0IGFuZCBzZWUgaWYgaXQgd29ya3Mgb24gdGhlIGJ1aWxkYm90cy4KCjIwMDctMDMtMDkgMTc6MzI6MzIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW1AZmx1ZW5kby5jb20+CgoJICBleHQvZHYvZ3N0ZHZkZWMuKjogSW5mZXIgcGl4ZWwtYXNwZWN0LXJhdGlvIGZyb20gdGhlIHZpZGVvIGZyYW1lIGZvcm1hdCBpZiBpdCBpc24ndCBwcm92aWRlZCBieSB0aGUgY29udGFpbmVyLCBhcyBoYXAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2R2L2dzdGR2ZGVjLmM6IChnc3RfZHZkZWNfaW5pdCksIChnc3RfZHZkZWNfc2lua19zZXRjYXBzKSwKCSAgKGdzdF9kdmRlY19zcmNfbmVnb3RpYXRlKSwgKGdzdF9kdmRlY19jaGFpbiksCgkgIChnc3RfZHZkZWNfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvZHYvZ3N0ZHZkZWMuaDoKCSAgSW5mZXIgcGl4ZWwtYXNwZWN0LXJhdGlvIGZyb20gdGhlIHZpZGVvIGZyYW1lIGZvcm1hdCBpZiBpdCBpc24ndAoJICBwcm92aWRlZCBieSB0aGUgY29udGFpbmVyLCBhcyBoYXBwZW5zIHdoZW4gcGxheWluZyBEViBmcm9tIEFWSQoJICBvciBRdWlja3RpbWUgY29udGFpbmVycy4KCSAgUGF0Y2ggYnk6IFdpbSBUYXltYW5zIDx3aW1AZmx1ZW5kby5jb20+CgkgIEZpeGVzICMzODA5NDQKCjIwMDctMDMtMDkgMTc6MDU6MTcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IFdoZW4gYWN0aXZhdGVkLCByZW1vdmUgdGhlIHVkcHNyYyB0aW1lb3V0LCB3ZSBoYXZlIGRhdGFmbG93IGFuZCB0aW1lb3V0cyB3aWxsIGxhdGVyIGJlIGhhbmRsZWQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfYWN0aXZhdGVfc3RyZWFtcyk6CgkgIFdoZW4gYWN0aXZhdGVkLCByZW1vdmUgdGhlIHVkcHNyYyB0aW1lb3V0LCB3ZSBoYXZlIGRhdGFmbG93IGFuZCB0aW1lb3V0cwoJICB3aWxsIGxhdGVyIGJlIGhhbmRsZWQgYnkgdGhlIGppdHRlcmJ1ZmZlci4KCjIwMDctMDMtMDkgMTY6NTM6MzkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvdGFnbGliL2dzdGlkM3YybXV4LmNjOiBBZGQgd3JpdGUgc3VwcG9ydCBmb3IgR1NUX1RBR19NVVNJQ0JSQUlOWl9TT1JUTkFNRSAoVFNPUCkgdGFnLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvdGFnbGliL2dzdGlkM3YybXV4LmNjOgoJICBBZGQgd3JpdGUgc3VwcG9ydCBmb3IgR1NUX1RBR19NVVNJQ0JSQUlOWl9TT1JUTkFNRSAoVFNPUCkgdGFnLgoJICBGaXhlcyAjNDE0NDk2LgoKMjAwNy0wMy0wOSAxNTowNDo0NSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogRml4IHN0cmVhbSBwb3NpdGlvbiByZXBvcnRpbmcgYWZ0ZXIgYSBzZWVrLiBGaXhlcyAjNDE2NDQ1LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X3BhcnNlX3N0cmVhbSksCgkgIChnc3RfYXZpX2RlbXV4X3B1c2hfZXZlbnQpLCAoZ3N0X2F2aV9kZW11eF9kb19zZWVrKSwKCSAgKGdzdF9hdmlfZGVtdXhfcHJvY2Vzc19uZXh0X2VudHJ5KSwgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2RhdGEpLAoJICAoZ3N0X2F2aV9kZW11eF9jaGFpbik6CgkgIEZpeCBzdHJlYW0gcG9zaXRpb24gcmVwb3J0aW5nIGFmdGVyIGEgc2Vlay4gRml4ZXMgIzQxNjQ0NS4KCjIwMDctMDMtMDkgMDg6NTg6MjYgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9lcXVhbGl6ZXIvOiBSZWZhY3RvciBwbHVnaW4gaW50byBhIGJhc2UgY2xhc3MgYW5kIGEgZmlyc3Qgc3ViY2xhc3MgKG5iYW5kIGVxKS4gVGhlIG5iYW5kIGVxIHVzZXMgR3N0Q2hpbGRQcm94eSBhbi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZXF1YWxpemVyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6IChfZG9faW5pdCksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9iYW5kX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9iYW5kX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9iYW5kX2NsYXNzX2luaXQpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfYmFuZF9nZXRfdHlwZSksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9jaGlsZF9wcm94eV9nZXRfY2hpbGRfYnlfaW5kZXgpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfY2hpbGRfcHJveHlfZ2V0X2NoaWxkcmVuX2NvdW50KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2NoaWxkX3Byb3h5X2ludGVyZmFjZV9pbml0KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2Jhc2VfaW5pdCksIChnc3RfaWlyX2VxdWFsaXplcl9jbGFzc19pbml0KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2ZpbmFsaXplKSwgKHNldHVwX2ZpbHRlciksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9jb21wdXRlX2ZyZXF1ZW5jaWVzKSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX3NldF9wcm9wZXJ0eSksIChnc3RfaWlyX2VxdWFsaXplcl9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfc2V0dXApLCAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmg6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXJuYmFuZHMuYzoKCSAgKGdzdF9paXJfZXF1YWxpemVyX25iYW5kc19iYXNlX2luaXQpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfbmJhbmRzX2NsYXNzX2luaXQpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfbmJhbmRzX2luaXQpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfbmJhbmRzX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9uYmFuZHNfZ2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcm5iYW5kcy5oOgoJICBSZWZhY3RvciBwbHVnaW4gaW50byBhIGJhc2UgY2xhc3MgYW5kIGEgZmlyc3Qgc3ViY2xhc3MgKG5iYW5kIGVxKS4gVGhlCgkgIG5iYW5kIGVxIHVzZXMgR3N0Q2hpbGRQcm94eSBhbmQgaXMgY29udHJvbGFibGUuIE1vcmUgc3ViY2xhc3NlcyB3aWxsCgkgIGZvbGxvdy4KCjIwMDctMDMtMDggMTY6MDE6NDIgKzAwMDAgIFJlbsOpIFN0YWRsZXIgPG1haWxAcmVuZXN0YWRsZXIuZGU+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IE1ha2UgYXZpZGVtdXggYWNjZXB0IG9wdGlvbmFsIGhlYWRlciBjaHVua3MgaW4gYW55IG9yZGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFJlbsOpIFN0YWRsZXIgPG1haWwgYXQgcmVuZXN0YWRsZXIgZG90IGRlPgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfcGFyc2Vfc3RyZWFtKSwKCSAgKGdzdF9hdmlfZGVtdXhfcHVzaF9ldmVudCksIChnc3RfYXZpX2RlbXV4X3Byb2Nlc3NfbmV4dF9lbnRyeSksCgkgIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9kYXRhKSwgKGdzdF9hdmlfZGVtdXhfY2hhaW4pOgoJICBNYWtlIGF2aWRlbXV4IGFjY2VwdCBvcHRpb25hbCBoZWFkZXIgY2h1bmtzIGluIGFueSBvcmRlci4KCSAgRml4ZXMgIzQxNTQ0Ni4KCjIwMDctMDMtMDggMTI6MjM6NTcgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06IERpc2FibGUgdGhlIHN0YXRlcyBjaGVjayB1bnRpbCB0aGUgcmVtYWluaW5nIFZhbGdyaW5kIGVycm9ycyBhcmUgZml4ZWQgb3Igc3VwcHJlc3NlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIERpc2FibGUgdGhlIHN0YXRlcyBjaGVjayB1bnRpbCB0aGUgcmVtYWluaW5nIFZhbGdyaW5kIGVycm9ycwoJICBhcmUgZml4ZWQgb3Igc3VwcHJlc3NlZC4KCjIwMDctMDMtMDggMTA6MjQ6NDMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5jdnNpZ25vcmU6IEFkZCBhdWRpb2R5bmFtaWMgY2hlY2sgdG8gLmN2c2lnbm9yZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uY3ZzaWdub3JlOgoJICBBZGQgYXVkaW9keW5hbWljIGNoZWNrIHRvIC5jdnNpZ25vcmUKCjIwMDctMDMtMDggMTA6MDI6MTIgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9hdWRpb2Z4LzogQWRkIG5ldyBhdWRpb2R5bmFtaWMgZWxlbWVudCB3aGljaCBjYW4gYWN0IGFzIGEgY29tcHJlc3NvciBvciBleHBhbmRlci4gU3VwcG9ydGVkIGFyZSBoYXJkLWtuZWUgYW5kIHNvZi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmV2aWV3ZWQgYnk6IFN0ZWZhbiBLb3N0ICA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgkgICogZ3N0L2F1ZGlvZngvTWFrZWZpbGUuYW06CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9keW5hbWljLmM6CgkgIChnc3RfYXVkaW9fZHluYW1pY19jaGFyYWN0ZXJpc3RpY3NfZ2V0X3R5cGUpLAoJICAoZ3N0X2F1ZGlvX2R5bmFtaWNfbW9kZV9nZXRfdHlwZSksCgkgIChnc3RfYXVkaW9fZHluYW1pY19zZXRfcHJvY2Vzc19mdW5jdGlvbiksCgkgIChnc3RfYXVkaW9fZHluYW1pY19iYXNlX2luaXQpLCAoZ3N0X2F1ZGlvX2R5bmFtaWNfY2xhc3NfaW5pdCksCgkgIChnc3RfYXVkaW9fZHluYW1pY19pbml0KSwgKGdzdF9hdWRpb19keW5hbWljX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfYXVkaW9fZHluYW1pY19nZXRfcHJvcGVydHkpLCAoZ3N0X2F1ZGlvX2R5bmFtaWNfc2V0dXApLAoJICAoZ3N0X2F1ZGlvX2R5bmFtaWNfdHJhbnNmb3JtX2hhcmRfa25lZV9jb21wcmVzc29yX2ludCksCgkgIChnc3RfYXVkaW9fZHluYW1pY190cmFuc2Zvcm1faGFyZF9rbmVlX2NvbXByZXNzb3JfZmxvYXQpLAoJICAoZ3N0X2F1ZGlvX2R5bmFtaWNfdHJhbnNmb3JtX3NvZnRfa25lZV9jb21wcmVzc29yX2ludCksCgkgIChnc3RfYXVkaW9fZHluYW1pY190cmFuc2Zvcm1fc29mdF9rbmVlX2NvbXByZXNzb3JfZmxvYXQpLAoJICAoZ3N0X2F1ZGlvX2R5bmFtaWNfdHJhbnNmb3JtX2hhcmRfa25lZV9leHBhbmRlcl9pbnQpLAoJICAoZ3N0X2F1ZGlvX2R5bmFtaWNfdHJhbnNmb3JtX2hhcmRfa25lZV9leHBhbmRlcl9mbG9hdCksCgkgIChnc3RfYXVkaW9fZHluYW1pY190cmFuc2Zvcm1fc29mdF9rbmVlX2V4cGFuZGVyX2ludCksCgkgIChnc3RfYXVkaW9fZHluYW1pY190cmFuc2Zvcm1fc29mdF9rbmVlX2V4cGFuZGVyX2Zsb2F0KSwKCSAgKGdzdF9hdWRpb19keW5hbWljX3RyYW5zZm9ybV9pcCk6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9keW5hbWljLmg6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9meC5jOiAocGx1Z2luX2luaXQpOgoJICBBZGQgbmV3IGF1ZGlvZHluYW1pYyBlbGVtZW50IHdoaWNoIGNhbiBhY3QgYXMgYSBjb21wcmVzc29yIG9yCgkgIGV4cGFuZGVyLiBTdXBwb3J0ZWQgYXJlIGhhcmQta25lZSBhbmQgc29mdC1rbmVlIG9wZXJhdGlvbiBtb2RlcyB3aXRoCgkgIHVzZXItc3BlY2lmaWVkIHJhdGlvIGFuZCB0aHJlc2hvbGQuCgkgIEF0dGFjayBhbmQgcmVsZWFzZSBwYXJhbWV0ZXJzIGFyZSBub3QgeWV0IGltcGxlbWVudGVkIGJ1dCB3aWxsIGZvbGxvdy4KCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSAgSW50ZWdyYXRlIGF1ZGlvZHluYW1pYyBpbnRvIHRoZSBkb2NzLgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvZHluYW1pYy5jOiAoc2V0dXBfZHluYW1pYyksCgkgIChjbGVhbnVwX2R5bmFtaWMpLCAoR1NUX1NUQVJUX1RFU1QpLCAoZHluYW1pY19zdWl0ZSksIChtYWluKToKCSAgQWRkIHVuaXQgdGVzdCBmb3IgYXVkaW9keW5hbWljLgoKMjAwNy0wMy0wNyAxOTo0ODowMyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBleHQvcmF3MTM5NC9nc3RkdjEzOTRzcmMuYzogRnJlZSBoYW5kbGVzIHRoYXQgd2UgYWxsb2NhdGVkIHdoZW4gZXhpdGluZyB2aWEgdGhlIGVycm9yIHBhdGhzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvcmF3MTM5NC9nc3RkdjEzOTRzcmMuYzogKGdzdF9kdjEzOTRzcmNfc3RhcnQpOgoJICBGcmVlIGhhbmRsZXMgdGhhdCB3ZSBhbGxvY2F0ZWQgd2hlbiBleGl0aW5nIHZpYSB0aGUgZXJyb3IgcGF0aHMuCgoyMDA3LTAzLTA3IDEyOjA3OjA3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay86IFVzZSBhIGdlbmVyYWwgd2F2cGFjayBkZWJ1ZyBjYXRlZ29yeSBmb3IgY29tbW9uIGNvZGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2suYzogKHBsdWdpbl9pbml0KToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrY29tbW9uLmM6CgkgIFVzZSBhIGdlbmVyYWwgd2F2cGFjayBkZWJ1ZyBjYXRlZ29yeSBmb3IgY29tbW9uIGNvZGUuCgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3N0cmVhbXJlYWRlci5jOgoJICAoZ3N0X3dhdnBhY2tfc3RyZWFtX3JlYWRlcl9zZXRfcG9zX2FicyksCgkgIChnc3Rfd2F2cGFja19zdHJlYW1fcmVhZGVyX3NldF9wb3NfcmVsKSwKCSAgKGdzdF93YXZwYWNrX3N0cmVhbV9yZWFkZXJfd3JpdGVfYnl0ZXMpOgoJICBVc2UgdGhlIGdlbmVyYWwgd2F2cGFjayBkZWJ1ZyBjYXRlZ29yeSBoZXJlIHRvbyBhbmQgYWRkIGRlYnVnCgkgIG91dHB1dCB0byB0aGUgZnVuY3Rpb25zIHRoYXQgc2hvdWxkIG5vdCBiZSBjYWxsZWQgYXQgYWxsIGJ5CgkgIHRoZSB3YXZwYWNrIGxpYnJhcnkuCgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOiAoZ3N0X3dhdnBhY2tfZGVjX3BsdWdpbl9pbml0KToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6IChnc3Rfd2F2cGFja19lbmNfcGx1Z2luX2luaXQpOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOiAoZ3N0X3dhdnBhY2tfcGFyc2VfcGx1Z2luX2luaXQpOgoJICBDaGFuZ2UgZGVidWdnaW5nIGNhdGVnb3J5IG5hbWVzIHRvIGNvbmZvcm0gdG8gdGhlIGNvbnZlbnRpb25zLgoKMjAwNy0wMy0wNyAxMTozNzoyMyArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguKjogU2hhcmUgcXRkZW11eCBkZWJ1ZyBjYXRlZ29yeSBhY3Jvc3MgYWxsIGZpbGVzLCBvdGhlcndpc2UgYWxsIGRlYnVnZ2luZyBpbiBmaWxlcyBvdGhlciB0aGFuIHF0ZC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5oOgoJICBTaGFyZSBxdGRlbXV4IGRlYnVnIGNhdGVnb3J5IGFjcm9zcyBhbGwgZmlsZXMsIG90aGVyd2lzZSBhbGwgZGVidWdnaW5nCgkgIGluIGZpbGVzIG90aGVyIHRoYW4gcXRkZW11eC5jIHdvdWxkIGVuZCB1cCBpbiB0aGUgZGVmYXVsdCBjYXRlZ29yeS4KCjIwMDctMDMtMDcgMTE6MjQ6MDUgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9sZXZlbC9nc3RsZXZlbC4qOiBSZXNvbHZlIG1lc3NhZ2UgdGltZXN0YW1wcyBhZ2FpbnN0IHRoZSBwbGF5YmFjayBzZWdtZW50LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzogKGdzdF9sZXZlbF9jbGFzc19pbml0KSwKCSAgKGdzdF9sZXZlbF9zZXRfY2FwcyksIChnc3RfbGV2ZWxfc3RhcnQpLCAoZ3N0X2xldmVsX2V2ZW50KSwKCSAgKGdzdF9sZXZlbF90cmFuc2Zvcm1faXApOgoJICAqIGdzdC9sZXZlbC9nc3RsZXZlbC5oOgoJICBSZXNvbHZlIG1lc3NhZ2UgdGltZXN0YW1wcyBhZ2FpbnN0IHRoZSBwbGF5YmFjayBzZWdtZW50LgoKMjAwNy0wMy0wNyAxMToyMzoyMCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLio6IE9uZSBGSVhNRSBsZXNzLCBieSByZXNvbHZpbmcgbWVzc2FnZSB0aW1lc3RhbXBzIGFnYWluc3QgdGhlIHBsYXliYWNrIHNlZ21lbnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiAoZ3N0X3NwZWN0cnVtX3N0YXJ0KSwKCSAgKGdzdF9zcGVjdHJ1bV9ldmVudCksIChnc3Rfc3BlY3RydW1fdHJhbnNmb3JtX2lwKToKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uaDoKCSAgT25lIEZJWE1FIGxlc3MsIGJ5IHJlc29sdmluZyBtZXNzYWdlIHRpbWVzdGFtcHMgYWdhaW5zdCB0aGUgcGxheWJhY2sKCSAgc2VnbWVudC4KCjIwMDctMDMtMDYgMjM6MjE6NDEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBDaGFuZ2VMb2c6CgkgIEZpeCBDaGFuZ2VMb2cgbWVzc2FnZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgRml4IENoYW5nZUxvZyBtZXNzYWdlCgoyMDA3LTAzLTA2IDIzOjE5OjMwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2lkM2RlbXV4L2dzdGlkM2RlbXV4LmM6IERvbid0IGxlYWsgY2FwczogbWFrZSBnc3RfaWQzZGVtdXhfYWRkX3NyY3BhZCgpIG5vdCB0YWtlIG93bmVyc2hpcCBvZiB0aGUgY2FwcyBwYXNzZWQgdG8gLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pZDNkZW11eC9nc3RpZDNkZW11eC5jOiAoZ3N0X2lkM2RlbXV4X2FkZF9zcmNwYWQpLAoJICAoZ3N0X2lkM2RlbXV4X3NpbmtfYWN0aXZhdGUpOgoJICBEb24ndCBsZWFrIGNhcHM6IG1ha2UgZ3N0X2lkM2RlbXV4X2FkZF9zcmNwYWQoKSBub3QgdGFrZSBvd25lcnNoaXAgb2YgdGhlCgkgIGNhcHMgcGFzc2VkIHRvIGl0IChwcmV2aW91c2xseSBvbmUgY29kZSBwYXRoIGFzc3VtZXMgaXQgdGFrZXMgb3duZXJzaGlwCgkgIHdoaWxlIGFub3RoZXIgb25lIGFzc3VtZXMgaXQgZG9lc24ndCkuCgkgICogY29uZmlndXJlLmFjOgoJICAqIHRlc3RzL2ZpbGVzL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2ZpbGVzL2lkMy00MDczNDktMS50YWc6CgkgICogdGVzdHMvZmlsZXMvaWQzLTQwNzM0OS0yLnRhZzoKCSAgQWRkIGRpcmVjdG9yeSB3aGVyZSBkYXRhIGZvciB1bml0IHRlc3RzIGNhbiBiZSBzdG9yZWQuCgkgICogdGVzdHMvTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvLmN2c2lnbm9yZToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pZDNkZW11eC5jOiAocGFkX2FkZGVkX2NiKSwgKGVycm9yX2NiKSwKCSAgKHJlYWRfdGFnc19mcm9tX2ZpbGUpLCAocnVuX2NoZWNrX2Zvcl9maWxlKSwKCSAgKGNoZWNrX2RhdGVfMTk3N18wNl8yMyksIChHU1RfU1RBUlRfVEVTVCksIChpZDNkZW11eF9zdWl0ZSk6CgkgIEFkZCB1bml0IHRlc3QgZm9yIGlkM2RlbXV4LCBhbmQgaW4gcGFydGljdWxhciBmb3IgYnVnICM0MDczNDkuIE9ubHkKCSAgdGVzdGluZyBwdWxsLW1vZGUgZm9yIG5vdzsgcHVzaCBtb2RlIGRvZXNuJ3Qgd29yayB5ZXQgYmVjYXVzZSB0aGUgdGVzdAoJICBmaWxlcyBhcmUgc21hbGxlciB0aGFuIElEM19UWVBFX0ZJTkRfTUlOX1NJWkUuCgoyMDA3LTAzLTA2IDIyOjE0OjU5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06IEFkZCBtaXNzaW5nIGJhY2tzbGFzaCBhdCBlbmQgb2YgbGluZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIEFkZCBtaXNzaW5nIGJhY2tzbGFzaCBhdCBlbmQgb2YgbGluZS4KCjIwMDctMDMtMDYgMTg6MzY6MDkgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBjb21tb246CgkgIFRyaWdnZXIgcmVidWlsZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFRyaWdnZXIgcmVidWlsZC4KCjIwMDctMDMtMDYgMTg6MTY6NDkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvaWQzZGVtdXgvOiBEbyBub3QgY29udmVydCBvYnNvbGV0ZSBUREEvVERBVCBmcmFtZXMgdG8gVERSQyBmcmFtZXMsIG90aGVyd2lzZSB0aGUgZm91ci1kaWdpdCBudW1iZXIgd2lsbCBiZSBpbnRlcnAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2lkM2RlbXV4L2lkM3RhZ3MuYzogKGlkM2RlbXV4X2lkM3YyX2ZyYW1lc190b190YWdfbGlzdCk6CgkgICogZ3N0L2lkM2RlbXV4L2lkM3RhZ3MuaDoKCSAgKiBnc3QvaWQzZGVtdXgvaWQzdjJmcmFtZXMuYzogKGlkM2RlbXV4X2lkM3YyX3BhcnNlX2ZyYW1lKSwKCSAgKHBhcnNlX29ic29sZXRlX3RkYXRfZnJhbWUpOgoJICBEbyBub3QgY29udmVydCBvYnNvbGV0ZSBUREEvVERBVCBmcmFtZXMgdG8gVERSQyBmcmFtZXMsIG90aGVyd2lzZQoJICB0aGUgZm91ci1kaWdpdCBudW1iZXIgd2lsbCBiZSBpbnRlcnByZXRlZCBhcyBhIHllYXIsIHdoZXJlYXMgaXQgaXMKCSAgbW9udGggYW5kIGRheSBpbiBERE1NIGZvcm1hdC4gSW5zdGVhZCwgcGFyc2UgVERBVCBmcmFtZXMgYW5kIGZpeCB1cAoJICB0aGUgZGF0ZSBpbiB0aGUgR1NUX1RBR19EQVRFIHRhZyBsYXRlciBpZiB3ZSBhbHNvIGV4dHJhY3RlZCBhIHllYXIuCgkgIEZpeGVzICM0MDczNDkuCgoyMDA3LTAzLTA2IDE0OjUzOjA0ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGV4dC9nY29uZi9nc3Rzd2l0Y2hzaW5rLmM6IEZpeCB1cCB0aGUgZGlzcG9zZSBsb2dpYyBzbyBpdCBkb2Vzbid0IGxlYWssIGFuZCBmaXggc2V0dGluZyBvZiB0aGUgY2hpbGQgc3RhdGUgc28gdGhhdCB3ZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZ2NvbmYvZ3N0c3dpdGNoc2luay5jOiAoZ3N0X3N3aXRjaF9zaW5rX2Rpc3Bvc2UpLAoJICAoZ3N0X3N3aXRjaF9jb21taXRfbmV3X2tpZCk6CgkgIEZpeCB1cCB0aGUgZGlzcG9zZSBsb2dpYyBzbyBpdCBkb2Vzbid0IGxlYWssIGFuZCBmaXggc2V0dGluZyBvZgoJICB0aGUgY2hpbGQgc3RhdGUgc28gdGhhdCB3ZSBkb24ndCBzZXQgYSBjaGlsZCB0byBvdXIgY3VycmVudCBzdGF0ZQoJICBqdXN0IGFzIHdlIGFyZSBjaGFuZ2luZyBpdCB0byBzb21ldGhpbmcgZWxzZS4KCjIwMDctMDMtMDYgMTM6NTc6NTUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogRml4IGFuZCBjbGVhbnVwIGRlZmF1bHQgcHJvcGVydHkgdmFsdWVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogKGdzdF9zcGVjdHJ1bV9jbGFzc19pbml0KSwKCSAgKGdzdF9zcGVjdHJ1bV9pbml0KSwgKGdzdF9zcGVjdHJ1bV9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3NwZWN0cnVtX3RyYW5zZm9ybV9pcCk6CgkgIEZpeCBhbmQgY2xlYW51cCBkZWZhdWx0IHByb3BlcnR5IHZhbHVlcy4KCSAgQWRkIEZJWE1FcyBmb3Igc3R1ZmYgdGhhdCBsb29rcyByYXRoZXIgd3JvbmcuCgoyMDA3LTAzLTA2IDEzOjIxOjIzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L2dvb20vZ3N0Z29vbS4qOiBEb2N1bWVudCwgZml4IGFuZCBpbXByb3ZlIGdvb20gYWRhcHRlciBiZWhhdmlvdXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9nb29tL2dzdGdvb20uYzogKGdzdF9nb29tX3NyY19zZXRjYXBzKSwgKGdldF9idWZmZXIpLAoJICAoZ3N0X2dvb21fY2hhaW4pOgoJICAqIGdzdC9nb29tL2dzdGdvb20uaDoKCSAgRG9jdW1lbnQsIGZpeCBhbmQgaW1wcm92ZSBnb29tIGFkYXB0ZXIgYmVoYXZpb3VyLgoJICBGaXhlcyAjNDA3MDA2LgoKMjAwNy0wMy0wNSAxODo0MzoyOSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBleHQvZXNkL2VzZHNpbmsuYzogVW5yZWYgc3RhdGljIHBhZCB0ZW1wbGF0ZSBhZnRlciB1c2luZyBpdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2VzZC9lc2RzaW5rLmM6IChnc3RfZXNkc2lua19vcGVuKToKCSAgVW5yZWYgc3RhdGljIHBhZCB0ZW1wbGF0ZSBhZnRlciB1c2luZyBpdC4KCjIwMDctMDMtMDUgMTc6MTc6MDQgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZXh0L2djb25mL2dzdHN3aXRjaHNpbmsuYzogRml4IHVwIHRoZSByZWZlcmVuY2UgY291bnRpbmcgb2YgdGhlIGNoaWxkIGVsZW1lbnRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZ2NvbmYvZ3N0c3dpdGNoc2luay5jOiAoZ3N0X3N3aXRjaF9zaW5rX2Rpc3Bvc2UpLAoJICAoZ3N0X3N3aXRjaF9jb21taXRfbmV3X2tpZCk6CgkgIEZpeCB1cCB0aGUgcmVmZXJlbmNlIGNvdW50aW5nIG9mIHRoZSBjaGlsZCBlbGVtZW50cy4KCjIwMDctMDMtMDUgMTc6MDg6MzIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwLzogRml4IGVuY29kaW5nLW5hbWUgY2FzZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBtcDRncGF5LmM6IChnc3RfcnRwX21wNGdfcGF5X3NldGNhcHMpOgoJICAqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhcGF5LmM6IChnc3RfcnRwX3RoZW9yYV9wYXlfZmluaXNoX2hlYWRlcnMpOgoJICAqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzcGF5LmM6IChnc3RfcnRwX3ZvcmJpc19wYXlfZmluaXNoX2hlYWRlcnMpOgoJICBGaXggZW5jb2RpbmctbmFtZSBjYXNlLgoKMjAwNy0wMy0wNSAxNjozOToyOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvOiBGaXggc3BlZXggKGRlKXBheWxvYWRlci4gRml4ZXMgIzM1ODA0MC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBzcGVleGRlcGF5LmM6IChnc3RfcnRwX3NwZWV4X2RlcGF5X2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cF9zcGVleF9kZXBheV9nZXRfbW9kZSksIChnc3RfcnRwX3NwZWV4X2RlcGF5X3NldGNhcHMpLAoJICAoZ3N0X3J0cF9zcGVleF9kZXBheV9wcm9jZXNzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cHNwZWV4cGF5LmM6IChnc3RfcnRwX3NwZWV4X3BheV9iYXNlX2luaXQpLAoJICAoZ3N0X3J0cF9zcGVleF9wYXlfY2xhc3NfaW5pdCksIChnc3RfcnRwX3NwZWV4X3BheV9zZXRjYXBzKSwKCSAgKGdzdF9ydHBfc3BlZXhfcGF5X3BhcnNlX2lkZW50KSwgKGdzdF9ydHBfc3BlZXhfcGF5X2hhbmRsZV9idWZmZXIpLAoJICAoZ3N0X3J0cF9zcGVleF9wYXlfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvcnRwL2dzdHJ0cHNwZWV4cGF5Lmg6CgkgIEZpeCBzcGVleCAoZGUpcGF5bG9hZGVyLiBGaXhlcyAjMzU4MDQwLgoKMjAwNy0wMy0wNSAxNTo0Mjo1OCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBleHQvZ2NvbmYvZ3N0c3dpdGNoc2luay5jOiBJbnN0YWxsIGZha2VzaW5rIGluIE5VTEwgYnkgZml4aW5nIHNvbWUgYnJva2VuIGxvZ2ljLiBUaGlzIG9idmlhdGVzIHRoZSBuZWVkIHRvIG1hbnVhbGx5IHMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2djb25mL2dzdHN3aXRjaHNpbmsuYzogKGdzdF9zd2l0Y2hfc2lua19yZXNldCksCgkgIChnc3Rfc3dpdGNoX2NvbW1pdF9uZXdfa2lkKSwgKGdzdF9zd2l0Y2hfc2lua19zZXRfY2hpbGQpOgoJICBJbnN0YWxsIGZha2VzaW5rIGluIE5VTEwgYnkgZml4aW5nIHNvbWUgYnJva2VuIGxvZ2ljLiBUaGlzIG9idmlhdGVzCgkgIHRoZSBuZWVkIHRvIG1hbnVhbGx5IHNldCBfSVNfU0lOSy4KCSAgQWRkIHNvbWUgY29tbWVudHMgYW5kIHJlbW92ZSBhIGxpdHRsZSBjcnVmdCB3aGlsZSBJJ20gYXQgaXQuCgoyMDA3LTAzLTA1IDE0OjQ2OjQzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L2djb25mL2dzdHN3aXRjaHNpbmsuYzogTWFyayB1cyBhcyBhIHNpbmsgd2hlbiB3ZSBoYXZlIG5vIGZha2VzaW5rIGluIE5VTEwuIEZpeGVzICM0MTQ4ODcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9nY29uZi9nc3Rzd2l0Y2hzaW5rLmM6IChnc3Rfc3dpdGNoX3NpbmtfcmVzZXQpOgoJICBNYXJrIHVzIGFzIGEgc2luayB3aGVuIHdlIGhhdmUgbm8gZmFrZXNpbmsgaW4gTlVMTC4gRml4ZXMgIzQxNDg4Ny4KCjIwMDctMDMtMDUgMDg6MzA6NTIgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9zcGVjdHJ1bS86IFJlbW92ZSB0d28gb2Jzb2xldGUgYW5kIGNvbmZ1c2luZyBjb21tZW50cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWN0cnVtL2RlbW8tYXVkaW90ZXN0LmM6IChtZXNzYWdlX2hhbmRsZXIpOgoJICAqIGdzdC9zcGVjdHJ1bS9kZW1vLW9zc3NyYy5jOiAobWVzc2FnZV9oYW5kbGVyKToKCSAgUmVtb3ZlIHR3byBvYnNvbGV0ZSBhbmQgY29uZnVzaW5nIGNvbW1lbnRzLgoKMjAwNy0wMy0wNCAxODo1MjoxMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHBvL1BPVEZJTEVTLmluOiBVcGRhdGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHBvL1BPVEZJTEVTLmluOgoJICBVcGRhdGUuCgoyMDA3LTAzLTA0IDE3OjMzOjM0ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOiBHYWghIEFsc28gZGlzYWJsZSBnY29uZnZpZGVvc2luayBmcm9tIHRoZSB0ZXN0cywgb3RoZXJ3aXNlIGl0IHdpbGwgaW5zdGFudGlhdGUgYXV0b3ZpZGVvc2luay4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgR2FoISBBbHNvIGRpc2FibGUgZ2NvbmZ2aWRlb3NpbmsgZnJvbSB0aGUgdGVzdHMsIG90aGVyd2lzZQoJICBpdCB3aWxsIGluc3RhbnRpYXRlIGF1dG92aWRlb3NpbmssIGFuZCBkZmJ2aWRlb3NpbmsgYW5kCgkgIGxlYWsgb24gdGhlIGJ1aWxkYm90cy4KCjIwMDctMDMtMDQgMTc6MTM6MTkgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZXh0L2NkaW8vZ3N0Y2Rpb2NkZGFzcmMuYzogTWFrZSBzdXJlIHdlIGFsd2F5cyBkZXN0cm95IG91ciBsaWJjZGlvIGhhbmRsZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2NkaW8vZ3N0Y2Rpb2NkZGFzcmMuYzogKGdzdF9jZGlvX2NkZGFfc3JjX29wZW4pLAoJICAoZ3N0X2NkaW9fY2RkYV9zcmNfZmluYWxpemUpOgoJICBNYWtlIHN1cmUgd2UgYWx3YXlzIGRlc3Ryb3kgb3VyIGxpYmNkaW8gaGFuZGxlLgoKMjAwNy0wMy0wNCAxNzowNTo1OCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbTogRGlzYWJsZSBhdXRvdmlkZW9zaW5rIHNvIHRoZSBidWlsZGJvdHMgZG9uJ3QgYmFyZiBvdmVyIG1lbW9yeSBsZWFrZWQgaW4gdGhlIGRpcmVjdGZiIHNpbmsuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBEaXNhYmxlIGF1dG92aWRlb3Npbmsgc28gdGhlIGJ1aWxkYm90cyBkb24ndCBiYXJmIG92ZXIgbWVtb3J5CgkgIGxlYWtlZCBpbiB0aGUgZGlyZWN0ZmIgc2luay4KCjIwMDctMDMtMDQgMTU6Mjg6MzAgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzogQ2hhaW4gdXAgaW4gZGlzcG9zZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOiAoZ3N0X3hpbWFnZV9zcmNfZGlzcG9zZSk6CgkgIENoYWluIHVwIGluIGRpc3Bvc2UKCjIwMDctMDMtMDQgMTU6MDc6MTUgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOiBVc2UgZ3N0X3BhZF9uZXdfZnJvbV9zdGF0aWNfdGVtcGxhdGUgaW5zdGVhZCBvZiBzdGF0aWNfcGFkX3RlbXBsYXRlX2dldCtwYWRfbmV3LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4LmM6IChnc3RfbXVsdGlwYXJ0X2RlbXV4X2luaXQpLAoJICAoZ3N0X211bHRpcGFydF9maW5kX3BhZF9ieV9taW1lKToKCSAgVXNlIGdzdF9wYWRfbmV3X2Zyb21fc3RhdGljX3RlbXBsYXRlIGluc3RlYWQgb2YKCSAgc3RhdGljX3BhZF90ZW1wbGF0ZV9nZXQrcGFkX25ldy4KCjIwMDctMDMtMDQgMTQ6NTY6NTMgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzogQ2F0Y2ggdGhlIGNhc2Ugd2hlcmUgbm8gY2xvY2sgaGFzIGJlZW4gc2V0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOiAoZ3N0X3hpbWFnZV9zcmNfY3JlYXRlKToKCSAgQ2F0Y2ggdGhlIGNhc2Ugd2hlcmUgbm8gY2xvY2sgaGFzIGJlZW4gc2V0LgoKMjAwNy0wMy0wNCAxMzo1MjowMyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBGaXggYSBidW5jaCBvZiBsZWFrcyBzaG93biBieSB0aGUgbmV3bHktYWRkZWQgc3RhdGVzIHRlc3QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzogKGdzdF9mbGFjX2VuY19maW5hbGl6ZSk6CgkgICogZXh0L2djb25mL2dzdGdjb25mYXVkaW9zaW5rLmM6IChnc3RfZ2NvbmZfYXVkaW9fc2lua19jbGFzc19pbml0KSwKCSAgKGdzdF9nY29uZl9hdWRpb19zaW5rX2Rpc3Bvc2UpLCAoZ3N0X2djb25mX2F1ZGlvX3NpbmtfZmluYWxpemUpOgoJICAqIGV4dC9nY29uZi9nc3RnY29uZmF1ZGlvc3JjLmM6IChnc3RfZ2NvbmZfYXVkaW9fc3JjX2Jhc2VfaW5pdCksCgkgIChnc3RfZ2NvbmZfYXVkaW9fc3JjX2NsYXNzX2luaXQpLCAoZ3N0X2djb25mX2F1ZGlvX3NyY19kaXNwb3NlKSwKCSAgKGdzdF9nY29uZl9hdWRpb19zcmNfZmluYWxpemUpLCAoZG9fdG9nZ2xlX2VsZW1lbnQpOgoJICAqIGV4dC9nY29uZi9nc3RnY29uZnZpZGVvc2luay5jOiAoZ3N0X2djb25mX3ZpZGVvX3NpbmtfYmFzZV9pbml0KSwKCSAgKGdzdF9nY29uZl92aWRlb19zaW5rX2NsYXNzX2luaXQpLCAoZ3N0X2djb25mX3ZpZGVvX3NpbmtfZmluYWxpemUpLAoJICAoZG9fdG9nZ2xlX2VsZW1lbnQpOgoJICAqIGV4dC9nY29uZi9nc3RnY29uZnZpZGVvc3JjLmM6IChnc3RfZ2NvbmZfdmlkZW9fc3JjX2Jhc2VfaW5pdCksCgkgIChnc3RfZ2NvbmZfdmlkZW9fc3JjX2NsYXNzX2luaXQpLCAoZ3N0X2djb25mX3ZpZGVvX3NyY19kaXNwb3NlKSwKCSAgKGdzdF9nY29uZl92aWRlb19zcmNfZmluYWxpemUpLCAoZG9fdG9nZ2xlX2VsZW1lbnQpOgoJICAqIGV4dC9nY29uZi9nc3Rzd2l0Y2hzaW5rLmM6IChnc3Rfc3dpdGNoX3NpbmtfY2xhc3NfaW5pdCksCgkgIChnc3Rfc3dpdGNoX3NpbmtfcmVzZXQpLCAoZ3N0X3N3aXRjaF9zaW5rX3NldF9jaGlsZCk6CgkgICogZXh0L2hhbC9nc3RoYWxhdWRpb3NpbmsuYzogKGdzdF9oYWxfYXVkaW9fc2lua19iYXNlX2luaXQpOgoJICAqIGV4dC9oYWwvZ3N0aGFsYXVkaW9zcmMuYzogKGdzdF9oYWxfYXVkaW9fc3JjX2Jhc2VfaW5pdCk6CgkgICogZXh0L3Nob3V0Mi9nc3RzaG91dDIuYzogKGdzdF9zaG91dDJzZW5kX2NsYXNzX2luaXQpLAoJICAoZ3N0X3Nob3V0MnNlbmRfaW5pdCksIChnc3Rfc2hvdXQyc2VuZF9maW5hbGl6ZSk6CgkgICogZ3N0L2RlYnVnL3Rlc3RwbHVnaW4uYzogKGdzdF90ZXN0X2NsYXNzX2luaXQpLAoJICAoZ3N0X3Rlc3RfZmluYWxpemUpOgoJICAqIGdzdC9mbHgvZ3N0Zmx4ZGVjLmM6IChnc3RfZmx4ZGVjX2NsYXNzX2luaXQpLAoJICAoZ3N0X2ZseGRlY19kaXNwb3NlKToKCSAgKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydG11eC5jOiAoZ3N0X211bHRpcGFydF9tdXhfZmluYWxpemUpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0Z3BheS5jOiAoZ3N0X3J0cF9tcDRnX3BheV9maW5hbGl6ZSk6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfaW5pdCksCgkgIChnc3RfcnRzcHNyY19maW5hbGl6ZSk6CgkgICogZ3N0L3J0c3AvcnRzcGV4dHdtcy5jOiAocnRzcF9leHRfd21zX2ZyZWVfY29udGV4dCk6CgkgICogZ3N0L3J0c3AvcnRzcGV4dHdtcy5oOgoJICAqIGdzdC9zbXB0ZS9nc3RzbXB0ZS5jOiAoZ3N0X3NtcHRlX2NsYXNzX2luaXQpLAoJICAoZ3N0X3NtcHRlX2ZpbmFsaXplKToKCSAgKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOiAoZ3N0X211bHRpdWRwc2lua19maW5hbGl6ZSk6CgkgICogZ3N0L3VkcC9nc3R1ZHBzaW5rLmM6IChnc3RfdWRwc2lua19jbGFzc19pbml0KSwKCSAgKGdzdF91ZHBzaW5rX2ZpbmFsaXplKToKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogKGdzdF93YXZwYXJzZV9kaXNwb3NlKSwKCSAgKGdzdF93YXZwYXJzZV9zaW5rX2FjdGl2YXRlKToKCSAgKiBzeXMvb3NzL2dzdG9zc3NpbmsuYzogKGdzdF9vc3Nfc2lua19maW5hbGlzZSk6CgkgICogc3lzL29zcy9nc3Rvc3NzcmMuYzogKGdzdF9vc3Nfc3JjX2NsYXNzX2luaXQpLAoJICAoZ3N0X29zc19zcmNfZmluYWxpemUpOgoJICAqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzogKGdzdF92NGwyX29iamVjdF9kZXN0cm95KToKCSAgKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOiAoZ3N0X3Y0bDJzcmNfY2xhc3NfaW5pdCksCgkgIChnc3RfdjRsMnNyY19maW5hbGl6ZSk6CgkgICogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzogKGdzdF94aW1hZ2Vfc3JjX3hpbWFnZV9nZXQpOgoJICBGaXggYSBidW5jaCBvZiBsZWFrcyBzaG93biBieSB0aGUgbmV3bHktYWRkZWQgc3RhdGVzIHRlc3QuCgoyMDA3LTAzLTA0IDEzOjQxOjAwICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGV4dC9kdi9nc3RkdmRlYy5jOiBVc2UgZ3N0X3BhZF9uZXdfZnJvbV9zdGF0aWNfdGVtcGxhdGUgaW5zdGVhZCBvZiBzdGF0aWNfcGFkX3RlbXBsYXRlX2dldCtwYWRfbmV3LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZHYvZ3N0ZHZkZWMuYzogKGdzdF9kdmRlY19pbml0KToKCSAgVXNlIGdzdF9wYWRfbmV3X2Zyb21fc3RhdGljX3RlbXBsYXRlIGluc3RlYWQgb2YKCSAgc3RhdGljX3BhZF90ZW1wbGF0ZV9nZXQrcGFkX25ldy4KCjIwMDctMDMtMDMgMTM6MDY6MjEgKzAwMDAgIExvw69jIE1pbmllciA8bG9vbCtnbm9tZUB2aWEuZWNwLmZyPgoKCSAgRG9uJ3QgbWl4IHRhYnMgYW5kIHNwYWNlcyAoIzQxNDE2OCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogTG/Dr2MgTWluaWVyIDxsb29sK2dub21lIGF0IHZpYSBlY3AgZnI+CgkgICogZXh0L2xpYmNhY2EvTWFrZWZpbGUuYW06CgkgICogZ3N0L2RlYnVnL01ha2VmaWxlLmFtOgoJICBEb24ndCBtaXggdGFicyBhbmQgc3BhY2VzICgjNDE0MTY4KS4KCjIwMDctMDMtMDIgMjE6MzU6MTEgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIHRlc3RzL2NoZWNrL2dlbmVyaWMvLmN2c2lnbm9yZTogSWdub3JlIGZpbGVzIHRvIHBsZWFzZSBidWlsZGJvdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZ2VuZXJpYy8uY3ZzaWdub3JlOgoJICBJZ25vcmUgZmlsZXMgdG8gcGxlYXNlIGJ1aWxkYm90LgoKMjAwNy0wMy0wMiAyMTowMToxOSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IFVuYnJlYWsgbXkgcHJldmlvdXMgY29tbWl0IChzd2FwcGVkIG5vbWluYXRvciAmIGRlbm9taW5hdG9yKS4gVGltLCB0aGFua3MgZm9yIHNwb3R0aW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogKGdzdF93YXZwYXJzZV9zdHJlYW1faGVhZGVycyksCgkgIChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2RhdGEpOgoJICBVbmJyZWFrIG15IHByZXZpb3VzIGNvbW1pdCAoc3dhcHBlZCBub21pbmF0b3IgJiBkZW5vbWluYXRvcikuIFRpbSwKCSAgdGhhbmtzIGZvciBzcG90dGluZy4KCjIwMDctMDMtMDIgMTY6MDg6MTcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvY2Rpby9nc3RjZGlvY2RkYXNyYy5jOiBTbWFsbCBjb2RlIGNsZWFudXBzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvY2Rpby9nc3RjZGlvY2RkYXNyYy5jOiAoZ3N0X2NkaW9fY2RkYV9zcmNfcHJvYmVfZGV2aWNlcyksCgkgIChnc3RfY2Rpb19jZGRhX3NyY19yZWFkX3NlY3RvciksIChnc3RfY2Rpb19jZGRhX3NyY19vcGVuKSwKCSAgKGdzdF9jZGlvX2NkZGFfc3JjX2ZpbmFsaXplKToKCSAgU21hbGwgY29kZSBjbGVhbnVwcy4KCSAgRG9uJ3QgdXNlIHBhZF9hbGxvYyBhcyB0aGUgYmFzZSBjbGFzcyBjYW5ub3QgZGVhbCB3aXRoIHRoZSBlcnJvciBjb2Rlcy4KCjIwMDctMDMtMDIgMTM6NDA6MDYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvdWRwL2dzdHVkcHNyYy5jOiBGaXggZG9jLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdWRwL2dzdHVkcHNyYy5jOiAoZ3N0X3VkcHNyY19jbGFzc19pbml0KSwKCSAgKGdzdF91ZHBzcmNfY3JlYXRlKToKCSAgRml4IGRvYy4KCjIwMDctMDMtMDIgMTM6Mjk6MjUgKzAwMDAgIFJlbsOpIFN0YWRsZXIgPG1haWxAcmVuZXN0YWRsZXIuZGU+CgoJICBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogSGFuZGxlIHJvdW5kaW5nIGJldHRlciB0byBub3QgZHJvcCBsYXN0IHNhbXBsZSBmcmFtZS4gRml4ZXMgIzM1NjY5MgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFJlbsOpIFN0YWRsZXIgPG1haWxAcmVuZXN0YWRsZXIuZGU+CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6ICh1aW50NjRfY2VpbGluZ19zY2FsZV9pbnQpLAoJICAoZ3N0X3dhdnBhcnNlX3BlcmZvcm1fc2VlayksIChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2hlYWRlcnMpLAoJICAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9kYXRhKToKCSAgSGFuZGxlIHJvdW5kaW5nIGJldHRlciB0byBub3QgZHJvcCBsYXN0IHNhbXBsZSBmcmFtZS4gRml4ZXMgIzM1NjY5MgoKMjAwNy0wMy0wMiAxMzoxOTo1NyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbTogRGlzYWJsZSBjYWNhc2luayBmcm9tIHRoZSBzdGF0ZXMgY2hlY2sgdG9vIC0gaXQgYWxzbyBjYWxscyBleGl0KDEpIG9uIHVzIHdoZW4gaXQgY2FuJ3QgZmluZCAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIERpc2FibGUgY2FjYXNpbmsgZnJvbSB0aGUgc3RhdGVzIGNoZWNrIHRvbyAtIGl0IGFsc28gY2FsbHMgZXhpdCgxKQoJICBvbiB1cyB3aGVuIGl0IGNhbid0IGZpbmQgYSB0ZXJtaW5hbCB0byB0YWxrIHRvLgoKMjAwNy0wMy0wMiAxMjo1NjoxMyArMDAwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkgIGdzdC91ZHAvZ3N0dWRwc3JjLio6IEFkZCBzdXBwb3J0IHRvIHN0cmlwIHByb3ByaWV0YXJ5IGhlYWRlcnMuIEZpeGVzICMzNTAyOTYuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyIGF0IGdtYWlsIGRvdCBjb20+CgkgICogZ3N0L3VkcC9nc3R1ZHBzcmMuYzogKGdzdF91ZHBzcmNfY2xhc3NfaW5pdCksIChnc3RfdWRwc3JjX2luaXQpLAoJICAoZ3N0X3VkcHNyY19jcmVhdGUpLCAoZ3N0X3VkcHNyY19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3VkcHNyY19nZXRfcHJvcGVydHkpOgoJICAqIGdzdC91ZHAvZ3N0dWRwc3JjLmg6CgkgIEFkZCBzdXBwb3J0IHRvIHN0cmlwIHByb3ByaWV0YXJ5IGhlYWRlcnMuIEZpeGVzICMzNTAyOTYuCgoyMDA3LTAzLTAyIDEyOjUyOjU2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC9nc3RydHBtcDJ0ZGVwYXkuYzogRml4IGNvbXBpbGF0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wMnRkZXBheS5jOiAoZ3N0X3J0cF9tcDJ0X2RlcGF5X3Byb2Nlc3MpOgoJICBGaXggY29tcGlsYXRpb24uCgoyMDA3LTAzLTAyIDEyOjE2OjE2ICswMDAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC9nc3RydHBtcDJ0ZGVwYXkuKjogQWRkIHN1cHBvcnQgdG8gc3RyaXAgb2ZmIHByb3ByaWV0YXJ5IGhlYWRlcnMuIEZpeGVzICMzNTAyNzguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyIGF0IGdtYWlsIGRvdCBjb20+CgkgICogZ3N0L3J0cC9nc3RydHBtcDJ0ZGVwYXkuYzogKGdzdF9ydHBfbXAydF9kZXBheV9jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBfbXAydF9kZXBheV9pbml0KSwgKGdzdF9ydHBfbXAydF9kZXBheV9wcm9jZXNzKSwKCSAgKGdzdF9ydHBfbXAydF9kZXBheV9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3J0cF9tcDJ0X2RlcGF5X2dldF9wcm9wZXJ0eSk6CgkgICogZ3N0L3J0cC9nc3RydHBtcDJ0ZGVwYXkuaDoKCSAgQWRkIHN1cHBvcnQgdG8gc3RyaXAgb2ZmIHByb3ByaWV0YXJ5IGhlYWRlcnMuIEZpeGVzICMzNTAyNzguCgoyMDA3LTAzLTAyIDExOjIyOjM1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L2hhbC9oYWwuYzogRml4IGNvbXBpbGF0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvaGFsL2hhbC5jOgoJICBGaXggY29tcGlsYXRpb24uCgoyMDA3LTAzLTAyIDEwOjU0OjQ5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvc3JjLio6IFJlbW92ZSBkZXZpY2UtbmFtZSBmcm9tIEdzdFN1bkF1ZGlvU3JjLiBGaXhlcyAjNDEyNTk3LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zcmMuYzogKGdzdF9zdW5hdWRpb3NyY19jbGFzc19pbml0KSwKCSAgKGdzdF9zdW5hdWRpb3NyY19pbml0KSwgKGdzdF9zdW5hdWRpb3NyY19nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3N1bmF1ZGlvc3JjX29wZW4pOgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NyYy5oOgoJICBSZW1vdmUgZGV2aWNlLW5hbWUgZnJvbSBHc3RTdW5BdWRpb1NyYy4gRml4ZXMgIzQxMjU5Ny4KCjIwMDctMDMtMDEgMjE6NTA6MzYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9oYWwvOiBIYXZpbmcgTlVMTCBhcyBVREkgcHJldmlvdXNseSBzZWxlY3RlZCB0aGUgZGVmYXVsdCBzaW5rL3NyYy4gQ2hhbmdlIHRoaXMgYmFjayBidXQgbWVudGlvbiBpdCBpbiB0aGUgZGVidWcgby4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvaGFsL2dzdGhhbGF1ZGlvc2luay5jOiAoZG9fdG9nZ2xlX2VsZW1lbnQpOgoJICAqIGV4dC9oYWwvZ3N0aGFsYXVkaW9zcmMuYzogKGRvX3RvZ2dsZV9lbGVtZW50KToKCSAgSGF2aW5nIE5VTEwgYXMgVURJIHByZXZpb3VzbHkgc2VsZWN0ZWQgdGhlIGRlZmF1bHQgc2luay9zcmMuIENoYW5nZQoJICB0aGlzIGJhY2sgYnV0IG1lbnRpb24gaXQgaW4gdGhlIGRlYnVnIG91dHB1dC4KCSAgKiBleHQvaGFsL2hhbC5jOiAoZ3N0X2hhbF9nZXRfYWxzYV9lbGVtZW50KSwKCSAgKGdzdF9oYWxfZ2V0X29zc19lbGVtZW50KSwgKGdzdF9oYWxfZ2V0X3N0cmluZyksCgkgIChnc3RfaGFsX3JlbmRlcl9iaW5fZnJvbV91ZGkpLCAoZ3N0X2hhbF9nZXRfYXVkaW9fc2luayksCgkgIChnc3RfaGFsX2dldF9hdWRpb19zcmMpOgoJICAqIGV4dC9oYWwvaGFsLmg6CgkgIFJlZmFjdG9yIGEgYml0LCBjaGVjayBhbGwgZXJyb3IgY29uZGl0aW9ucywgZ3JlYXRseSBpbXByb3ZlIGRlYnVnZ2luZwoJICBhbmQgZml4IHNvbWUgcG9zc2libGUgbWVtb3J5IGxlYWtzLiBBbHNvIGltcGxlbWVudCBPU1Mgc3VwcG9ydAoJICBhbmQgYWxsb3cgc3BlY2lmeWluZyBhbiBVREkgdGhhdCBwb2ludHMgdG8gYSByZWFsIGRldmljZS4gRm9yIHRoaXMgdGhlCgkgIGNoaWxkIGRldmljZSB3aGljaCBzdXBwb3J0cyBBTFNBIChwcmVmZXJyZWQpIG9yIE9TUyBpcyB1c2VkLgoJICBBcyBhIHNpZGUgZWZmZWN0IHRoaXMgbWFrZXMgaXQgaW1wb3NzaWJsZSBub3cgdG8gZ2V0IGEgYWxzYXNpbmsgaW4KCSAgaGFsYXVkaW9zcmMgYW5kIGEgYWxzYXNyYyBpbiBoYWxhdWRpb3NpbmsuCgoyMDA3LTAzLTAxIDE4OjQ3OjI4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiBFcnJvcnMgZnJvbSB0aGUgdWRwIHNvdXJjZXMgYXJlIG5vdCBmYXRhbCB1bmxlc3MgYWxsIG9mIHRoZW0gYXJlIGluIGVycm9yLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChmaW5kX3N0cmVhbV9ieV9jaGFubmVsKSwKCSAgKGZpbmRfc3RyZWFtX2J5X3VkcHNyYyksIChnc3RfcnRzcHNyY19oYW5kbGVfbWVzc2FnZSk6CgkgIEVycm9ycyBmcm9tIHRoZSB1ZHAgc291cmNlcyBhcmUgbm90IGZhdGFsIHVubGVzcyBhbGwgb2YgdGhlbSBhcmUgaW4KCSAgZXJyb3IuCgoyMDA3LTAzLTAxIDE4OjE0OjQyICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOiBEaXNhYmxlIGFhc2luayBpbiB0aGUgc3RhdGVzIHRlc3QuIEkgc3VzcGVjdCB0aGlzIGlzIHRoZSBlbGVtZW50IHRoYXQgaXMgY2FsbGluZyBleGl0KDEpIHdoZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgRGlzYWJsZSBhYXNpbmsgaW4gdGhlIHN0YXRlcyB0ZXN0LiBJIHN1c3BlY3QgdGhpcyBpcyB0aGUgZWxlbWVudCB0aGF0CgkgIGlzIGNhbGxpbmcgZXhpdCgxKSB3aGVuIGl0IGNhbid0IHByb2NlZWQuCgoyMDA3LTAzLTAxIDE3OjI2OjMwICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOiBEcmF3IHBsdWdpbnMgaW4gZnJvbSB0aGUgYnVpbGQgdHJlZSBzeXMvIGRpciwgcmF0aGVyIHRoYW4gcGlja2luZyB1cCB0aGUgYWxyZWFkeSBpbnN0YWxsZWQgdi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgRHJhdyBwbHVnaW5zIGluIGZyb20gdGhlIGJ1aWxkIHRyZWUgc3lzLyBkaXIsIHJhdGhlciB0aGFuIHBpY2tpbmcKCSAgdXAgdGhlIGFscmVhZHkgaW5zdGFsbGVkIHZlcnNpb25zLgoKMjAwNy0wMy0wMSAxMDo0NDozNiArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6IEVycm9yIG91dCBjb3JyZWN0bHkgd2hlbiBnZXR0aW5nIHhjb250ZXh0IGZhaWxzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNy0wMy0wMSAgWmFoZWVyIEFiYmFzIE1lcmFsaSAgPHphaGVlcmFiYmFzIGF0IG1lcmFsaSBkb3Qgb3JnPgoJICAqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6IChnc3RfeGltYWdlX3NyY19vcGVuX2Rpc3BsYXkpOgoJICBFcnJvciBvdXQgY29ycmVjdGx5IHdoZW4gZ2V0dGluZyB4Y29udGV4dCBmYWlscy4KCjIwMDctMDMtMDEgMDk6Mjk6MzQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHBkZWMuYzogTWFrZSBzdGF0ZSBjaGFuZ2UgdG8gUEFVU0VEIE5PX1BSRVJPTEwgYmVjYXVzZSB0aGF0J3Mgd2hhdCBpdCB3aWxsIGJlIGluIHRoZSBmdXR1cmUgYW5kIHJ0c3BzcmMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRwZGVjLmM6IChnc3RfcnRwZGVjX2NoYW5nZV9zdGF0ZSk6CgkgIE1ha2Ugc3RhdGUgY2hhbmdlIHRvIFBBVVNFRCBOT19QUkVST0xMIGJlY2F1c2UgdGhhdCdzIHdoYXQgaXQgd2lsbCBiZSBpbgoJICB0aGUgZnV0dXJlIGFuZCBydHNwc3JjIHJlbGllcyBvbiBpdC4KCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19zdHJlYW1fY29uZmlndXJlX3RyYW5zcG9ydCksCgkgIChnc3RfcnRzcHNyY19jaGFuZ2Vfc3RhdGUpOgoJICBEb24ndCBlcnJvciBvdXQgd2hlbiB3ZSBkb24ndCBnZXQgYW4gZXJyb3IgZnJvbSB0aGUgc3RhdGUgY2hhbmdlCgkgIGZ1bmN0aW9uLgoKMjAwNy0wMy0wMSAwMTo0ODo1OSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L2hhbC86IENoZWNrIGlmIHRoZSBkZXZpY2UgVURJIGlzIHNldCBiZWZvcmUgdHJ5aW5nIHRvIHF1ZXJ5IEhBTCBhYm91dCBpdCBhbmQgZ2l2ZSBhIHVzZWZ1bCBlcnJvciBtZXNzYWdlIGlmIGl0IHdhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9oYWwvZ3N0aGFsYXVkaW9zaW5rLmM6IChkb190b2dnbGVfZWxlbWVudCk6CgkgICogZXh0L2hhbC9nc3RoYWxhdWRpb3NyYy5jOiAoZG9fdG9nZ2xlX2VsZW1lbnQpOgoJICBDaGVjayBpZiB0aGUgZGV2aWNlIFVESSBpcyBzZXQgYmVmb3JlIHRyeWluZyB0byBxdWVyeSBIQUwKCSAgYWJvdXQgaXQgYW5kIGdpdmUgYSB1c2VmdWwgZXJyb3IgbWVzc2FnZSBpZiBpdCB3YXNuJ3Qgc2V0LgoJICAqIGV4dC9oYWwvaGFsLmM6IChnc3RfaGFsX2dldF9zdHJpbmcpOgoJICBEb24ndCBxdWVyeSBIQUwgZm9yIE5VTEwgVURJcy4gUGFzc2luZyBOVUxMIGFzIFVESSB0byBIQUwKCSAgZ2l2ZXMgYW4gYXNzZXJ0aW9uIGZhaWx1cmUgaW4gRC1CdXMgd2hlbiBydW5uaW5nIHdpdGgKCSAgREJVU19GQVRBTF9XQVJOSU5HUz0xLgoKMjAwNy0wMi0yOCAxOToyOTo0MiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIHVwZGF0ZSBjb25maWcgdG8gdHJ1bmsKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHVwZGF0ZSBjb25maWcgdG8gdHJ1bmsKCjIwMDctMDItMjggMTk6Mjk6MjUgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgY29uZmlndXJlLmFjOiBDb252ZXJ0IHRvIG5ldyBBR19HU1Qgc3R5bGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQ29udmVydCB0byBuZXcgQUdfR1NUIHN0eWxlLgoKMjAwNy0wMi0yOCAxMjo1OTo0MyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICB0ZXN0cy9jaGVjay86IGFkZCB0ZXN0IGZvciBzdGF0ZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZ2VuZXJpYy9zdGF0ZXMuYzogKEdTVF9TVEFSVF9URVNUKSwgKHN0YXRlc19zdWl0ZSk6CgkgIGFkZCB0ZXN0IGZvciBzdGF0ZXMKCjIwMDctMDItMjggMTA6NTg6MTAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy8uY3ZzaWdub3JlOiBBZGQgbmV3IHZpZGVvZmlsdGVyIGNoZWNrIHRvIC5jdnNpZ25vcmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5jdnNpZ25vcmU6CgkgIEFkZCBuZXcgdmlkZW9maWx0ZXIgY2hlY2sgdG8gLmN2c2lnbm9yZS4KCjIwMDctMDItMjggMTA6NTQ6NTUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IEZpeCBjb21iaW5lZCBmbG93IHJldHVybi4gRml4ZXMgIzQxMjYwOC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9jb21iaW5lX2Zsb3dzKSwKCSAgKGdzdF9hdmlfZGVtdXhfcHJvY2Vzc19uZXh0X2VudHJ5KSwgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2RhdGEpLAoJICAoZ3N0X2F2aV9kZW11eF9sb29wKSwgKGdzdF9hdmlfZGVtdXhfY2hhaW4pOgoJICBGaXggY29tYmluZWQgZmxvdyByZXR1cm4uIEZpeGVzICM0MTI2MDguCgoyMDA3LTAyLTI4IDEwOjQxOjE0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3ZpZGVvZmlsdGVyL01ha2VmaWxlLmFtOiBEaXN0IGhlYWRlci4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC92aWRlb2ZpbHRlci9NYWtlZmlsZS5hbToKCSAgRGlzdCBoZWFkZXIuLgoKMjAwNy0wMi0yOCAxMDoyOTowOCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC92aWRlb2ZpbHRlci9nc3RnYW1tYS5oOiBBZGQgaGVhZGVyIHRvby4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3ZpZGVvZmlsdGVyL2dzdGdhbW1hLmg6CgkgIEFkZCBoZWFkZXIgdG9vLgoKMjAwNy0wMi0yOCAxMDoxNzoxNSArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFuYXV3QHNreW5ldC5iZT4KCgkgIGdzdC92aWRlb2ZpbHRlci86IFBvcnQgZ2FtbWEgZmlsdGVyIHRvIDAuMTAuIEZpeGVzICM0MTI3MDQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogTWFyayBOYXV3ZWxhZXJ0cyA8bWFuYXV3IGF0IHNreW5ldCBiZT4KCSAgKiBnc3QvdmlkZW9maWx0ZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZpZGVvZmlsdGVyL2dzdGdhbW1hLmM6IChnc3RfZ2FtbWFfYmFzZV9pbml0KSwKCSAgKGdzdF9nYW1tYV9jbGFzc19pbml0KSwgKGdzdF9nYW1tYV9pbml0KSwgKGdzdF9nYW1tYV9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2dhbW1hX2dldF9wcm9wZXJ0eSksIChnc3RfZ2FtbWFfY2FsY3VsYXRlX3RhYmxlcyksCgkgIChvaWxfdGFibGVsb29rdXBfdTgpLCAoZ3N0X2dhbW1hX3NldF9jYXBzKSwKCSAgKGdzdF9nYW1tYV9wbGFuYXI0MTFfaXApLCAoZ3N0X2dhbW1hX3RyYW5zZm9ybV9pcCksIChwbHVnaW5faW5pdCk6CgkgIFBvcnQgZ2FtbWEgZmlsdGVyIHRvIDAuMTAuIEZpeGVzICM0MTI3MDQuCgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9maWx0ZXIuYzogKHNldHVwX2ZpbHRlciksCgkgIChjbGVhbnVwX2ZpbHRlciksIChjaGVja19maWx0ZXIpLCAoR1NUX1NUQVJUX1RFU1QpLAoJICAodmlkZW9iYWxhbmNlX3N1aXRlKSwgKHZpZGVvZmxpcF9zdWl0ZSksIChnYW1tYV9zdWl0ZSksIChtYWluKToKCSAgQWRkIHVuaXQgdGVzdHMgZm9yIHZpZGVvZmlsdGVycy4KCjIwMDctMDItMjggMTA6MDY6MjcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9VUkxTOiBBZGQgYW5vdGhlciBpbnRlcmVzdGluZyB0ZXN0IHVybC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvVVJMUzoKCSAgQWRkIGFub3RoZXIgaW50ZXJlc3RpbmcgdGVzdCB1cmwuCgkgICogZ3N0L3J0c3AvcnRzcG1lc3NhZ2UuYzogKHJ0c3BfbWVzc2FnZV9nZXRfaGVhZGVyKToKCSAgRG9uJ3QgYWxsb3cgZ2V0dGluZyBoZWFkZXIgZmllbGRzIGZyb20gZGF0YSBwYWNrZXRzLgoKMjAwNy0wMi0yNyAyMzo0MzowOCArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgZXh0L3Nob3V0Mi9nc3RzaG91dDIuKjogQWRkIGEgcHJvcGVydHkgZm9yIHVzZXJuYW1lLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvc2hvdXQyL2dzdHNob3V0Mi5jOiAoZ3N0X3Nob3V0MnNlbmRfY2xhc3NfaW5pdCksCgkgIChnc3Rfc2hvdXQyc2VuZF9pbml0KSwgKGdzdF9zaG91dDJzZW5kX3N0YXJ0KSwKCSAgKGdzdF9zaG91dDJzZW5kX3NldF9wcm9wZXJ0eSksIChnc3Rfc2hvdXQyc2VuZF9nZXRfcHJvcGVydHkpOgoJICAqIGV4dC9zaG91dDIvZ3N0c2hvdXQyLmg6CgkgIEFkZCBhIHByb3BlcnR5IGZvciB1c2VybmFtZS4KCjIwMDctMDItMjcgMTI6MDI6MDMgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdwbHVnaW4uYzoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuaDoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kcGx1Z2luLmM6CgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5oOgoJKiBzeXMvb3N4dmlkZW8vY29jb2F3aW5kb3cuaDoKCSogc3lzL29zeHZpZGVvL2NvY29hd2luZG93Lm06CgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsuaDoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICB1cGRhdGUgY29weXJpZ2h0IHN0YXRlbWVudHMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHVwZGF0ZSBjb3B5cmlnaHQgc3RhdGVtZW50cwoKMjAwNy0wMi0yNyAxMTo1OToyMSArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW8uYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvZWxlbWVudC5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9lbGVtZW50Lmg6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NpbmsuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5oOgoJICB1cGRhdGUgY29weXJpZ2h0IHN0YXRlbWVudAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgdXBkYXRlIGNvcHlyaWdodCBzdGF0ZW1lbnQKCjIwMDctMDItMjcgMTE6MzA6MTkgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBzeXMvb3N4dmlkZW8vOiBEaXNhYmxlIHRoZSBjb2NvYSBldmVudCBsb29wIHNpbmNlIGl0J3MgYSBodWdlIG1lbW9yeSBsZWFrLiBTaG91bGQgb25seSBtYXR0ZXIgaWYgdGhlIHNpbmsgaXNuJ3QgdXNlZCAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL29zeHZpZGVvL2NvY29hd2luZG93Lmg6CgkgICogc3lzL29zeHZpZGVvL2NvY29hd2luZG93Lm06CgkgICogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5oOgoJICAqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgRGlzYWJsZSB0aGUgY29jb2EgZXZlbnQgbG9vcCBzaW5jZSBpdCdzIGEgaHVnZSBtZW1vcnkgbGVhay4gU2hvdWxkIG9ubHkKCSAgbWF0dGVyIGlmIHRoZSBzaW5rIGlzbid0IHVzZWQgd2l0aGluIGFuIE5TQXBwICh3aGljaCBoYXMgYWxyZWFkeSBnb3QKCSAgYSBjb2NhIGV2ZW50IGxvb3ApLgoJICBSZW1vdmUgYWxsIHVudXNlZCBjb2RlLgoKMjAwNy0wMi0yNiAxMjowNzoxNCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvcnRzcC9NYWtlZmlsZS5hbTogRml4IG1ha2UgY2hlY2sgdG9vLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9NYWtlZmlsZS5hbToKCSAgRml4IG1ha2UgY2hlY2sgdG9vLgoKMjAwNy0wMi0yNiAxMDowMDoyOCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvcnRzcC9iYXNlNjQuKjogQ29tbWl0IG1pc3NpbmcgZmlsZXMgZm9yIGJhc2U2NCBlbmNvZGluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvYmFzZTY0LmM6ICh1dGlsX2Jhc2U2NF9lbmNvZGUpOgoJICAqIGdzdC9ydHNwL2Jhc2U2NC5oOgoJICBDb21taXQgbWlzc2luZyBmaWxlcyBmb3IgYmFzZTY0IGVuY29kaW5nLgoKMjAwNy0wMi0yNCAyMjo1Nzo0OSArMDAwMCAgTG/Dr2MgTWluaWVyIDxsb29sK2dub21lQHZpYS5lY3AuZnI+CgoJICBGaXggYnVpbGQgd2l0aCBMREZMQUdTPSctV2wsLXosZGVmcycgKCM0MTA5OTcpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogTG/Dr2MgTWluaWVyIDxsb29sK2dub21lIGF0IHZpYSBlY3AgZnI+CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9hbm5vZGV4L01ha2VmaWxlLmFtOgoJICAqIGV4dC9qcGVnL01ha2VmaWxlLmFtOgoJICAqIGV4dC9zcGVleC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYWxwaGEvTWFrZWZpbGUuYW06CgkgICogZ3N0L2N1dHRlci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZGVidWcvTWFrZWZpbGUuYW06CgkgICogZ3N0L2VmZmVjdHYvTWFrZWZpbGUuYW06CgkgICogZ3N0L2dvb20vTWFrZWZpbGUuYW06CgkgICogZ3N0L2xldmVsL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zbXB0ZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdmlkZW9maWx0ZXIvTWFrZWZpbGUuYW06CgkgIEZpeCBidWlsZCB3aXRoIExERkxBR1M9Jy1XbCwteixkZWZzJyAoIzQxMDk5NykKCjIwMDctMDItMjQgMjI6NTI6NDcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBGaXggYnVpbGQgd2l0aCBMREZMQUdTPSctV2wsLXosZGVmcycuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvZ3NtL01ha2VmaWxlLmFtOgoJICAqIGV4dC9sYWRzcGEvTWFrZWZpbGUuYW06CgkgICogZXh0L3dhdnBhY2svTWFrZWZpbGUuYW06CgkgICogZ3N0L2VxdWFsaXplci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZmlsdGVyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tdmUvTWFrZWZpbGUuYW06CgkgICogZ3N0L25zZi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcmVwbGF5Z2Fpbi9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc3BlZWQvTWFrZWZpbGUuYW06CgkgIEZpeCBidWlsZCB3aXRoIExERkxBR1M9Jy1XbCwteixkZWZzJy4KCjIwMDctMDItMjMgMTk6MTI6NTIgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0L3J0c3AvOiBnX2Jhc2U2NF9lbmNvZGUgaXMgYSBHTGliIDIuMTIgZnVuY3Rpb24uIFVzZSBhbiBlcXVpdmFsZW50IHRha2VuIGZyb20gaWNlY2FzdCB0byByZXBsYWNlIGl0LiBSZWxpY2Vuc2VkIGZyLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9ydHNwL3J0c3Bjb25uZWN0aW9uLmM6IChhcHBlbmRfYXV0aF9oZWFkZXIpLAoJICAocnRzcF9jb25uZWN0aW9uX3NlbmQpLCAocnRzcF9jb25uZWN0aW9uX3NldF9hdXRoKToKCSAgZ19iYXNlNjRfZW5jb2RlIGlzIGEgR0xpYiAyLjEyIGZ1bmN0aW9uLiBVc2UgYW4gZXF1aXZhbGVudCB0YWtlbgoJICBmcm9tIGljZWNhc3QgdG8gcmVwbGFjZSBpdC4gUmVsaWNlbnNlZCBmcm9tIEdQTCBjb3VydGVzeSBvZiBNaWtlCgkgIFNtaXRoLgoKMjAwNy0wMi0yMyAxODoxMjoyNyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvcnRzcC86IEltcGxlbWVudCBzaW1wbGUgQmFzaWMgQXV0aGVudGljYXRpb24gc3VwcG9ydCBzbyB0aGF0IHVybHMgbGlrZSBydHNwOi8vdXNlcjpwYXNzQGhvc3RuYW1lL3J0c3BzdHJlYW0gd29yayAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfZmluYWxpemUpLAoJICAoZ3N0X3J0c3BzcmNfY3JlYXRlX3N0cmVhbSksIChydHNwX2F1dGhfbWV0aG9kX3RvX3N0cmluZyksCgkgIChnc3RfcnRzcHNyY19wYXJzZV9hdXRoX2hkciksIChnc3RfcnRzcHNyY19zZXR1cF9hdXRoKSwKCSAgKGdzdF9ydHNwc3JjX3NlbmQpLCAoZ3N0X3J0c3BzcmNfdHJ5X3NlbmQpLCAoZ3N0X3J0c3BzcmNfb3BlbiksCgkgIChnc3RfcnRzcHNyY19jbG9zZSksIChnc3RfcnRzcHNyY19wbGF5KSwgKGdzdF9ydHNwc3JjX3BhdXNlKSwKCSAgKGdzdF9ydHNwc3JjX3VyaV9zZXRfdXJpKToKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgICogZ3N0L3J0c3AvcnRzcGNvbm5lY3Rpb24uYzogKHJ0c3BfY29ubmVjdGlvbl9jcmVhdGUpLAoJICAoYXBwZW5kX2F1dGhfaGVhZGVyKSwgKHJ0c3BfY29ubmVjdGlvbl9zZW5kKSwKCSAgKHJ0c3BfY29ubmVjdGlvbl9mcmVlKSwgKHJ0c3BfY29ubmVjdGlvbl9zZXRfYXV0aCk6CgkgICogZ3N0L3J0c3AvcnRzcGNvbm5lY3Rpb24uaDoKCSAgKiBnc3QvcnRzcC9ydHNwZGVmcy5oOgoJICAqIGdzdC9ydHNwL3J0c3B1cmwuYzogKHJ0c3BfdXJsX2dldF9yZXF1ZXN0X3VyaSk6CgkgICogZ3N0L3J0c3AvcnRzcHVybC5oOgoJICBJbXBsZW1lbnQgc2ltcGxlIEJhc2ljIEF1dGhlbnRpY2F0aW9uIHN1cHBvcnQgc28gdGhhdCB1cmxzIGxpa2UKCSAgcnRzcDovL3VzZXI6cGFzc0Bob3N0bmFtZS9ydHNwc3RyZWFtIHdvcmsgb24gaG9zdHMgdGhhdCByZXF1aXJlCgkgIGF1dGhlbnRpY2F0aW9uLgoKMjAwNy0wMi0yMiAxNzo1MzoyNiArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ0dW5lci5jOgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkgIEZpeCBzZWdmYXVsdCB3aGVuIG9wcGVuaW5nIGEgcmFkaW8gZGV2aWNlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgRml4IHNlZ2ZhdWx0IHdoZW4gb3BwZW5pbmcgYSByYWRpbyBkZXZpY2UuCgoyMDA3LTAyLTIyIDE0OjM1OjI4ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBGaXggbGV2ZWwgZm9yIG11bHRpLWNoYW5uZWwgY2FzZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2xldmVsL2dzdGxldmVsLmM6IChnc3RfbGV2ZWxfc2V0X2NhcHMpLAoJICAoZ3N0X2xldmVsX3RyYW5zZm9ybV9pcCk6CgkgICogc3lzL3Y0bDIvUkVBRE1FOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2xldmVsLmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgIEZpeCBsZXZlbCBmb3IgbXVsdGktY2hhbm5lbCBjYXNlLgoKMjAwNy0wMi0yMSAxMDoxODoxMiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2xldmVsL2dzdGxldmVsLio6IFVzZSBmdW5jdGlvbiBwb2ludGVyIGZvciBwcm9jZXNzIGZ1bmN0aW9uIGFuZCBhZGQgcHJvY2VzcyBmdW5jdGlvbnMgZm9yIGZsb2F0IGF1ZGlvLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzogKGdzdF9sZXZlbF9pbml0KSwgKGdzdF9sZXZlbF9zZXRfY2FwcyksCgkgIChnc3RfbGV2ZWxfdHJhbnNmb3JtX2lwKToKCSAgKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuaDoKCSAgVXNlIGZ1bmN0aW9uIHBvaW50ZXIgZm9yIHByb2Nlc3MgZnVuY3Rpb24gYW5kIGFkZCBwcm9jZXNzIGZ1bmN0aW9ucwoJICBmb3IgZmxvYXQgYXVkaW8uCgoyMDA3LTAyLTIwIDIxOjM0OjAwICswMDAwICBTw6liYXN0aWVuIE1vdXR0ZSA8c2ViYXN0aWVuQG1vdXR0ZS5uZXQ+CgoJICBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLio6IFJlbW92ZSBpbmNsdWRlIG9mIHVudXNlZCBoZWFkZXJzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkgICogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5oOgoJICBSZW1vdmUgaW5jbHVkZSBvZiB1bnVzZWQgaGVhZGVycy4KCSAgKiBzeXMvd2F2ZWZvcm0vZ3N0d2F2ZWZvcm1wbHVnaW4uYzoKCSAgKiBzeXMvd2F2ZWZvcm0vZ3N0d2F2ZWZvcm1zaW5rLmM6CgkgICogc3lzL3dhdmVmb3JtL2dzdHdhdmVmb3Jtc2luay5oOgoJICAqIHdpbjMyL3ZzNi9saWJnc3R3YXZlZm9ybS5kc3A6CgkgIEFkZCBhIG5ldyB3YXZlZm9ybSBwbHVnaW4gd2hpY2ggaW5jbHVkZXMgYW4gYXVkaW8gc2luawoJICBlbGVtZW50IHVzaW5nIHRoZSBXYXZlRm9ybSB3aW4zMiBBUEkuCgkgICogd2luMzIvTUFOSUZFU1Q6CgkgIEFkZCB0aGUgbmV3IHByb2plY3QgZmlsZSBmb3JtIHdhdmVmb3JtIHBsdWdpbi4KCjIwMDctMDItMTkgMTI6MjI6NDMgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzogUmVhZGQgR1NUX0VMRU1FTlRfRVJST1IgaWYgd2UgY2FuJ3QgcmVlbnF1ZSBidWZmZXJzIGFmdGVyIEVJTywgZml4ZXMgIzQwNzM2OQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6IChnc3RfdjRsMnNyY19maWxsX2Zvcm1hdF9saXN0KSwKCSAgKGdzdF92NGwyc3JjX2dyYWJfZnJhbWUpLCAoZ3N0X3Y0bDJzcmNfc2V0X2NhcHR1cmUpLAoJICAoZ3N0X3Y0bDJzcmNfY2FwdHVyZV9pbml0KToKCSAgUmVhZGQgR1NUX0VMRU1FTlRfRVJST1IgaWYgd2UgY2FuJ3QgcmVlbnF1ZSBidWZmZXJzIGFmdGVyIEVJTywKCSAgZml4ZXMgIzQwNzM2OQoKMjAwNy0wMi0xOCAxODowMDo1MSArMDAwMCAgU8OpYmFzdGllbiBNb3V0dGUgPHNlYmFzdGllbkBtb3V0dGUubmV0PgoKCSAgc3lzL2RpcmVjdGRyYXcvOiBQcmVwYXJlIHRoZSBwbHVnaW4gdG8gbW92ZSB0byBnb29kOgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3cGx1Z2luLmM6CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5oOgoJICBQcmVwYXJlIHRoZSBwbHVnaW4gdG8gbW92ZSB0byBnb29kOgoJICBSZW1vdmUgdW51c2VkL3VudGVzdGVkIGNvZGUgKHJlbmRlcmluZyB0byBhbiBleHRlcm4gc3VyZmFjZSwKCSAgeXV2IGZvcm1hdCByZW5kZXJpbmcpLlVzZSBHU1RfKERFQlVHLyopX09CSkVDVCBtYWNyb3MKCSAgUmVuYW1lIGFsbCBmdW5jdGlvbnMgZnJvbSBnc3RfZGlyZWN0ZHJhd3NpbmsgdG8gZ3N0X2RpcmVjdGRyYXdfc2luay4KCSAgQWRkIGd0ayBkb2Mgc2VjdGlvbgoJICBGaXggYSBidWcgaW4gZ3N0X2RpcmVjdGRyYXdfc2lua19zaG93X2ZyYW1lLCBtZW1jcHkgbGluZSBieSBsaW5lCgkgIHJlc3BlY3RpbmcgZGVzdGluYXRpb24gc3VyZmFjZSBzdHJpZGUuCgkgICogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kcGx1Z2luLmM6CgkgICogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuaDoKCSAgUHJlcGFyZSB0aGUgcGx1Z2luIHRvIG1vdmUgdG8gZ29vZDoKCSAgUmVuYW1lIGFsbCBmdW5jdGlvbnMgZnJvbSBnc3RfZGlyZWN0c291bmRzaW5rIHRvIGdzdF9kaXJlY3Rzb3VuZF9zaW5rLgoJICBBZGQgZ3RrIGRvYyBzZWN0aW9uCgkgICogd2luMzIvY29tbW9uL2NvbmZpZy5oLmluOgoJICAqIHdpbjMyL01BTklGRVNUOgoJICBBZGQgY29uZmlnLmguaW4KCjIwMDctMDItMTggMTM6MjQ6MjYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwLzogQWRkZWQgc2ltcGxlIG1wZWcgdHJhbnNwb3J0IHN0cmVhbSBwYXlsb2FkZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkgICogZ3N0L3J0cC9nc3RydHAuYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wMnRwYXkuYzogKGdzdF9ydHBfbXAydF9wYXlfYmFzZV9pbml0KSwKCSAgKGdzdF9ydHBfbXAydF9wYXlfY2xhc3NfaW5pdCksIChnc3RfcnRwX21wMnRfcGF5X2luaXQpLAoJICAoZ3N0X3J0cF9tcDJ0X3BheV9zZXRjYXBzKSwgKGdzdF9ydHBfbXAydF9wYXlfaGFuZGxlX2J1ZmZlciksCgkgIChnc3RfcnRwX21wMnRfcGF5X3BsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wMnRwYXkuaDoKCSAgQWRkZWQgc2ltcGxlIG1wZWcgdHJhbnNwb3J0IHN0cmVhbSBwYXlsb2FkZXIuCgoyMDA3LTAyLTE2IDEyOjMyOjAxICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvVVJMUzogQWRkIGV4YW1wbGUgSDI2NCBydHNwIHVybC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvVVJMUzoKCSAgQWRkIGV4YW1wbGUgSDI2NCBydHNwIHVybC4KCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19tZWRpYV90b19jYXBzKSwKCSAgKGdzdF9ydHNwc3JjX2hhbmRsZV9tZXNzYWdlKSwgKGdzdF9ydHNwc3JjX2NoYW5nZV9zdGF0ZSk6CgkgIERvbid0IGNvbnZlcnQgdmFsdWVzIHRvIGxvd2VyY2FzZSBvciB3ZSBtaWdodCBtZXNzIHVwIGJhc2U2NCBlbmNvZGVkCgkgIHByb3BlcnRpZXMuCgoyMDA3LTAyLTE2IDEyOjMwOjIyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC9SRUFETUU6IEZpeCBjYXNlIG9mIHN0cmluZyBwYXJhbXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvUkVBRE1FOgoJICBGaXggY2FzZSBvZiBzdHJpbmcgcGFyYW1zLgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6IChnc3RfcnRwX2gyNjRfZGVwYXlfY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwX2gyNjRfZGVwYXlfc2V0Y2FwcyksIChnc3RfcnRwX2gyNjRfZGVwYXlfcHJvY2Vzcyk6CgkgIEZpeCBkZXBheWxvYWRlciwgc3VwcG9ydCBtb3JlIHBhY2tldCB0eXBlcy4KCSAgQWRkIHN5bmMgY29kZXMgdG8gbWFrZSBzdXJlIHRoZSBwYWNrZXRpemVyIGNhbiBkbyBpdHMgam9iLgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0Z2RlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBtcDRncGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBtcHZkZXBheS5jOiAoZ3N0X3J0cF9tcHZfZGVwYXlfcHJvY2Vzcyk6CgkgIEZpeCBjYXBzIGNhc2UgYWdhaW4uCgoyMDA3LTAyLTE1IDEyOjI2OjI4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzogU2V0IHJpZ2h0IGNhcHMgb24gb3V0cHV0IGJ1ZmZlcnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6IChnc3RfcnRwX2gyNjRfZGVwYXlfcHJvY2Vzcyk6CgkgIFNldCByaWdodCBjYXBzIG9uIG91dHB1dCBidWZmZXJzLgoKMjAwNy0wMi0xNCAxNzowNDo0NyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL3NkcG1lc3NhZ2UuYzogQ2xlYXIgc3RhY2sgYWxsb2NhdGVkIFNEUE1lZGlhIHN0cnVjdCBiZWZvcmUgY2FsbGluZyBfaW5pdCgpIG9uIGl0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9zZHBtZXNzYWdlLmM6IChzZHBfcGFyc2VfbGluZSk6CgkgIEFzIHNwb3R0ZWQgYnk6IFBldGVyIEtqZWxsZXJzdGVkdCAgPHBraiBhdCBheGlzIGNvbT46CgkgIENsZWFyIHN0YWNrIGFsbG9jYXRlZCBTRFBNZWRpYSBzdHJ1Y3QgYmVmb3JlIGNhbGxpbmcgX2luaXQoKSBvbiBpdC4KCSAgQ2xhcmlmeSB0aGlzIGluIHRoZSBkb2NzIGFzIHdlbGwuCgoyMDA3LTAyLTE0IDE3OjAxOjI1ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGV4dC9nY29uZi9nc3RnY29uZmF1ZGlvc2luay5jOiBEb24ndCByZXNldCB0aGUgcHJvZmlsZSB3aGVuIGdvaW5nIHN3aXRjaGluZyBzdGF0ZXMsIGFzIGl0IG1ha2VzIHRoZSBlbGVtZW50IG5vbi1yZXVzYS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZ2NvbmYvZ3N0Z2NvbmZhdWRpb3NpbmsuYzogKGdzdF9nY29uZl9hdWRpb19zaW5rX3Jlc2V0KSwKCSAgKGRvX2NoYW5nZV9jaGlsZCk6CgkgIERvbid0IHJlc2V0IHRoZSBwcm9maWxlIHdoZW4gZ29pbmcgc3dpdGNoaW5nIHN0YXRlcywgYXMgaXQgbWFrZXMKCSAgdGhlIGVsZW1lbnQgbm9uLXJldXNhYmxlLgoKMjAwNy0wMi0xNCAxNToyNDo1MCArMDAwMCAganAubGl1IDxqcF9saXVAYXN0cm9jb20uY24+CgoJICBnc3QvcnRzcC9zZHBtZXNzYWdlLio6IEZpeCBtZW1vcnkgbWFuYWdlbWVudCBvZiBTRFAgbWVzc2FnZXMuIEZpeGVzICM0MDc3OTMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL3NkcG1lc3NhZ2UuYzogKHNkcF9vcmlnaW5faW5pdCksIChzZHBfY29ubmVjdGlvbl9pbml0KSwKCSAgKHNkcF9iYW5kd2lkdGhfaW5pdCksIChzZHBfdGltZV9pbml0KSwgKHNkcF96b25lX2luaXQpLAoJICAoc2RwX2tleV9pbml0KSwgKHNkcF9hdHRyaWJ1dGVfaW5pdCksIChzZHBfbWVzc2FnZV9pbml0KSwKCSAgKHNkcF9tZXNzYWdlX3VuaW5pdCksIChzZHBfbWVzc2FnZV9mcmVlKSwgKHNkcF9tZWRpYV9pbml0KSwKCSAgKHNkcF9tZWRpYV91bmluaXQpLCAoc2RwX21lZGlhX2ZyZWUpLCAoc2RwX21lc3NhZ2VfYWRkX21lZGlhKSwKCSAgKHNkcF9wYXJzZV9saW5lKToKCSAgKiBnc3QvcnRzcC9zZHBtZXNzYWdlLmg6CgkgIEJhc2VkIG9uIHBhdGNoIGJ5OiBqcC5saXUgPGpwX2xpdSBhdCBhc3Ryb2NvbSBkb3QgY24+CgkgIEZpeCBtZW1vcnkgbWFuYWdlbWVudCBvZiBTRFAgbWVzc2FnZXMuIEZpeGVzICM0MDc3OTMuCgoyMDA3LTAyLTE0IDEyOjA3OjAxICswMDAwICB6aGFuZ2ZlaSBnYW8gPGdhb3poYW5nZmVpQHlhaG9vLmNvbS5jbj4KCgkgIGdzdC9hdmkvZ3N0YXZpbXV4LmM6IEFsbG93IG11eGluZyB2aWRlby94LWgyNjQgKHdhcyBhbHJlYWR5IGluIHRoZSBjYXBzKS4gRml4ZXMgIzQwNzc4MC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiB6aGFuZ2ZlaSBnYW8gPGdhb3poYW5nZmVpQHlhaG9vLmNvbS5jbj4KCSAgKiBnc3QvYXZpL2dzdGF2aW11eC5jOiAoZ3N0X2F2aV9tdXhfdmlkc2lua19zZXRfY2Fwcyk6CgkgIEFsbG93IG11eGluZyB2aWRlby94LWgyNjQgKHdhcyBhbHJlYWR5IGluIHRoZSBjYXBzKS4gRml4ZXMgIzQwNzc4MC4KCjIwMDctMDItMTQgMTA6MDk6MTIgKzAwMDAgIGpwLmxpdSA8anBfbGl1QGFzdHJvY29tLmNuPgoKCSAgZ3N0L3J0c3AvcnRzcHVybC5jOiBGaXggcGFyc2luZyBvZiBwYXNzd29yZCBmaWVsZCBpbiB1cmwuIEZpeGVzICM0MDc3OTcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieToganAubGl1IDxqcF9saXUgYXQgYXN0cm9jb20gZG90IGNuPgoJICAqIGdzdC9ydHNwL3J0c3B1cmwuYzogKHJ0c3BfdXJsX3BhcnNlKToKCSAgRml4IHBhcnNpbmcgb2YgcGFzc3dvcmQgZmllbGQgaW4gdXJsLiBGaXhlcyAjNDA3Nzk3LgoKMjAwNy0wMi0xNCAwOTo1NTo0NyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS4qOiBVcGRhdGUgZG9jcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IChnc3Rfd2F2cGFyc2VfY2xhc3NfaW5pdCksCgkgIChnc3Rfd2F2cGFyc2VfcmVzZXQpLCAoZ3N0X3dhdnBhcnNlX2luaXQpLAoJICAoZ3N0X3dhdnBhcnNlX2Rlc3Ryb3lfc291cmNlcGFkKSwgKGdzdF93YXZwYXJzZV9mbXQpLAoJICAoZ3N0X3dhdnBhcnNlX3BhcnNlX2ZpbGVfaGVhZGVyKSwgKGdzdF93YXZwYXJzZV9zdHJlYW1faW5pdCksCgkgIChnc3Rfd2F2cGFyc2VfcGVyZm9ybV9zZWVrKSwgKGdzdF93YXZwYXJzZV9wZWVrX2NodW5rX2luZm8pLAoJICAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9oZWFkZXJzKSwgKGdzdF93YXZwYXJzZV9wYXJzZV9zdHJlYW1faW5pdCksCgkgIChnc3Rfd2F2cGFyc2VfYWRkX3NyY19wYWQpLCAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9kYXRhKSwKCSAgKGdzdF93YXZwYXJzZV9sb29wKSwgKGdzdF93YXZwYXJzZV9jaGFpbiksCgkgIChnc3Rfd2F2cGFyc2VfcGFkX2NvbnZlcnQpLCAoZ3N0X3dhdnBhcnNlX3BhZF9xdWVyeSksCgkgIChnc3Rfd2F2cGFyc2Vfc3JjcGFkX2V2ZW50KSwgKGdzdF93YXZwYXJzZV9jaGFuZ2Vfc3RhdGUpLAoJICAocGx1Z2luX2luaXQpOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5oOgoJICBVcGRhdGUgZG9jcy4KCSAgVXNlIGJvaWxlcnBsYXRlLgoJICBWYXJpb3VzIGNvZGUgY2xlYW51cHMuCgkgIFdoZW4gdGhlIGJpdHJhdGUgaXMgbm90IGtub3duIChicHMgPT0gMCBvciBjb21wcmVzc2VkIGZvcm1hdHMpIGxldAoJICBkb3duc3RyZWFtIGVsZW1lbnQgZ3Vlc3RpbWF0ZSB0aGUgZHVyYXRpb24gYW5kIHBvc2l0aW9uIGFuZCBkb24ndAoJICBnZW5lcmF0ZSB0aW1lc3RhbXBzIG9yIGR1cmF0aW9ucy4gRml4ZXMgIzQwNTIxMy4KCSAgRml4IEVPUyBhbmQgRVJST1IgY29uZGl0aW9ucyBpbiBjaGFpbiBtb2RlLCB3ZSBqdXN0IG5lZWQgdG8gZm9yd2FyZCB0aGUKCSAgZXJyb3IgZmxvd3JldHVybiB1cHN0cmVhbS4KCjIwMDctMDItMTMgMTY6MDE6MjkgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgUmUtZmFjdG9yIHRoZSBnY29uZmF1ZGlvc2luayBpbnRvIGEgIkdzdFN3aXRjaFNpbmsiIGJhc2UgY2xhc3MgYW5kIGEgY2hpbGQgdGhhdCBpbXBsZW1lbnRzIHRoZSBHQ29uZiBrZXkgbW9uaXRvcmluZy4gLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9nY29uZi9NYWtlZmlsZS5hbToKCSAgKiBleHQvZ2NvbmYvZ2NvbmYuYzogKGdzdF9nY29uZl9nZXRfc3RyaW5nKSwKCSAgKGdzdF9nY29uZl9nZXRfa2V5X2Zvcl9zaW5rX3Byb2ZpbGUpLCAoZ3N0X2djb25mX3NldF9zdHJpbmcpLAoJICAoZ3N0X2djb25mX3JlbmRlcl9iaW5fd2l0aF9kZWZhdWx0KToKCSAgKiBleHQvZ2NvbmYvZ2NvbmYuaDoKCSAgKiBleHQvZ2NvbmYvZ3N0Z2NvbmZhdWRpb3NpbmsuYzogKGdzdF9nY29uZl9hdWRpb19zaW5rX2Jhc2VfaW5pdCksCgkgIChnc3RfZ2NvbmZfYXVkaW9fc2lua19yZXNldCksIChnc3RfZ2NvbmZfYXVkaW9fc2lua19pbml0KSwKCSAgKGdzdF9nY29uZl9hdWRpb19zaW5rX2Rpc3Bvc2UpLCAoZG9fY2hhbmdlX2NoaWxkKSwKCSAgKGdzdF9nY29uZl9zd2l0Y2hfcHJvZmlsZSksIChnc3RfZ2NvbmZfYXVkaW9fc2lua19zZXRfcHJvcGVydHkpLAoJICAoY2JfY2hhbmdlX2NoaWxkKSwgKGdzdF9nY29uZl9hdWRpb19zaW5rX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L2djb25mL2dzdGdjb25mYXVkaW9zaW5rLmg6CgkgICogZXh0L2djb25mL2dzdHN3aXRjaHNpbmsuYzogKGdzdF9zd2l0Y2hfc2lua19iYXNlX2luaXQpLAoJICAoZ3N0X3N3aXRjaF9zaW5rX2NsYXNzX2luaXQpLCAoZ3N0X3N3aXRjaF9zaW5rX3Jlc2V0KSwKCSAgKGdzdF9zd2l0Y2hfc2lua19pbml0KSwgKGdzdF9zd2l0Y2hfc2lua19kaXNwb3NlKSwKCSAgKGdzdF9zd2l0Y2hfY29tbWl0X25ld19raWQpLCAoZ3N0X3N3aXRjaF9zaW5rX3NldF9jaGlsZCksCgkgIChnc3Rfc3dpdGNoX3Npbmtfc2V0X3Byb3BlcnR5KSwgKGdzdF9zd2l0Y2hfc2lua19oYW5kbGVfZXZlbnQpLAoJICAoZ3N0X3N3aXRjaF9zaW5rX2dldF9wcm9wZXJ0eSksIChnc3Rfc3dpdGNoX3NpbmtfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvZ2NvbmYvZ3N0c3dpdGNoc2luay5oOgoJICAqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NpbmsuYzoKCSAgKGdzdF9hdXRvX2F1ZGlvX3NpbmtfY2xhc3NfaW5pdCksIChnc3RfYXV0b19hdWRpb19zaW5rX2Rpc3Bvc2UpLAoJICAoZ3N0X2F1dG9fYXVkaW9fc2lua19jbGVhcl9raWQpLCAoZ3N0X2F1dG9fYXVkaW9fc2lua19yZXNldCksCgkgIChnc3RfYXV0b19hdWRpb19zaW5rX2RldGVjdCk6CgkgICogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc2luay5jOgoJICAoZ3N0X2F1dG9fdmlkZW9fc2lua19jbGFzc19pbml0KSwgKGdzdF9hdXRvX3ZpZGVvX3NpbmtfZGlzcG9zZSksCgkgIChnc3RfYXV0b192aWRlb19zaW5rX2NsZWFyX2tpZCksIChnc3RfYXV0b192aWRlb19zaW5rX3Jlc2V0KSwKCSAgKGdzdF9hdXRvX3ZpZGVvX3NpbmtfZGV0ZWN0KToKCSAgUmUtZmFjdG9yIHRoZSBnY29uZmF1ZGlvc2luayBpbnRvIGEgIkdzdFN3aXRjaFNpbmsiIGJhc2UgY2xhc3MKCSAgYW5kIGEgY2hpbGQgdGhhdCBpbXBsZW1lbnRzIHRoZSBHQ29uZiBrZXkgbW9uaXRvcmluZy4gVGhlIGVuZCBnb2FsIG9mCgkgIHRoaXMgaXMgYW4gYXVkaW8gc2luayB0aGF0IGNhbiBiZSBjaGFuZ2VkIG9uIHRoZSBmbHksIGJ1dCBhdCB0aGUKCSAgbW9tZW50IGl0IHN0aWxsIG9ubHkgY2hhbmdlcyBvbiB0aGUgbmV4dCBSRUFEWSB0cmFuc2l0aW9uLgoKMjAwNy0wMi0xMyAxMTo1NzoxOCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiBQdXQgZGVidWcgc3R1ZmYgaW50byAjaWZuZGVmIEdTVF9ESVNBQkxFX0RFQlVHICNlbmRpZgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X2hhbmRsZV9zcmNfcXVlcnkpLAoJICAoZ3N0X2F2aV9kZW11eF9wYXJzZV9pbmRleCksIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9pbmRleCksCgkgIChnc3RfYXZpX2RlbXV4X3N5bmMpLCAoZ3N0X2F2aV9kZW11eF9tYXNzYWdlX2luZGV4KSwKCSAgKGdzdF9hdmlfZGVtdXhfY2FsY3VsYXRlX2R1cmF0aW9uc19mcm9tX2luZGV4KSwKCSAgKGdzdF9hdmlfZGVtdXhfcHVzaF9ldmVudCksIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9oZWFkZXJfcHVsbCksCgkgIChnc3RfYXZpX2RlbXV4X3Byb2Nlc3NfbmV4dF9lbnRyeSksIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9kYXRhKSwKCSAgKGdzdF9hdmlfZGVtdXhfbG9vcCk6CgkgIFB1dCBkZWJ1ZyBzdHVmZiBpbnRvICNpZm5kZWYgR1NUX0RJU0FCTEVfREVCVUcgI2VuZGlmCgoyMDA3LTAyLTEzIDA5OjQ2OjI2ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBBZGQgY3Jvc3NyZWZlcmVuY2VzIHRvIGdsaWIvZ29iamVjdC9nc3RyZWFtIGRvY3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgIEFkZCBjcm9zc3JlZmVyZW5jZXMgdG8gZ2xpYi9nb2JqZWN0L2dzdHJlYW0gZG9jcy4KCjIwMDctMDItMTIgMjM6MzU6MTYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvbW9ub3Njb3BlLzogRml4IGNvcHknbidwYXN0ZS1vIGluIGRvY3MgY2h1bmsuIEFsc28gYWRkIHNvbWUgbWlzc2luZyBDRkxBR1MgKGJ1dCBubyBMSUJTLCBzaW5jZSB3ZSBvbmx5IHVzZSBkZWZpbmUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21vbm9zY29wZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbW9ub3Njb3BlL2dzdG1vbm9zY29wZS5jOgoJICBGaXggY29weSduJ3Bhc3RlLW8gaW4gZG9jcyBjaHVuay4gQWxzbyBhZGQgc29tZSBtaXNzaW5nIENGTEFHUwoJICAoYnV0IG5vIExJQlMsIHNpbmNlIHdlIG9ubHkgdXNlIGRlZmluZXMgZnJvbSB0aGUgaGVhZGVycykuCgoyMDA3LTAyLTEyIDIzOjI3OjMxICswMDAwICBKb25hdGhhbiBNYXR0aGV3IDxqb25hdGhhbkBrYW9saW4ud2g5Lm5ldD4KCgkgIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiBGaXggbWFzc2l2ZSBtZW1vcnkgbGVhayB3aGVuIG9wZXJhdGluZyBpbiBzdHJlYW1pbmcgbW9kZSBkdWUgdG8KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEJhc2VkIG9uIHBhdGNoIGJ5OiBKb25hdGhhbiBNYXR0aGV3ICA8am9uYXRoYW4gYXQga2FvbGluIHdoOSBuZXQ+CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IChnc3Rfd2F2cGFyc2VfcGFyc2Vfc3RyZWFtX2luaXQpLAoJICAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9kYXRhKToKCSAgRml4IG1hc3NpdmUgbWVtb3J5IGxlYWsgd2hlbiBvcGVyYXRpbmcgaW4gc3RyZWFtaW5nIG1vZGUgZHVlIHRvCgkgIEdTVF9CVUZGRVJfTUFMTE9DREFUQSgpIG5vdCBiZWluZyBzZXQgb24gbmV3bHktY3JlYXRlZCBidWZmZXJzLgoJICBGaXhlcyAjNDA3MDU3LgoKMjAwNy0wMi0xMiAxNToyOTo0NCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC4qOiBTYXZlIHNvbWUgbWVtb3J5ICg4JSkgYnkgcmVwYWNraW5nIHRoZSBpbmRleCBlbnRyeSBzdHJ1Y3R1cmUgKG1vcmUgdG8gY29tZSkuIEFkZCBtb3JlIEZJWE1FcyB0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfY2xhc3NfaW5pdCksCgkgIChnc3RfYXZpX2RlbXV4X3Jlc2V0KSwgKGdzdF9hdmlfZGVtdXhfaW5kZXhfZW50cnlfZm9yX3RpbWUpLAoJICAoZ3N0X2F2aV9kZW11eF9oYW5kbGVfc3JjX3F1ZXJ5KSwgKGdzdF9hdmlfZGVtdXhfcGFyc2Vfc3VwZXJpbmRleCksCgkgIChnc3RfYXZpX2RlbXV4X3BhcnNlX3N1YmluZGV4KSwgKGdzdF9hdmlfZGVtdXhfcGFyc2Vfc3RyZWFtKSwKCSAgKGdzdF9hdmlfZGVtdXhfcGFyc2VfaW5kZXgpLCAoZ3N0X2F2aV9kZW11eF9zdHJlYW1faW5kZXgpLAoJICAoZ3N0X2F2aV9kZW11eF9zeW5jKSwgKGdzdF9hdmlfZGVtdXhfbmV4dF9kYXRhX2J1ZmZlciksCgkgIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9zY2FuKSwgKGdzdF9hdmlfZGVtdXhfbWFzc2FnZV9pbmRleCksCgkgIChnc3RfYXZpX2RlbXV4X2NhbGN1bGF0ZV9kdXJhdGlvbnNfZnJvbV9pbmRleCksCgkgIChnc3RfYXZpX2RlbXV4X3B1c2hfZXZlbnQpLCAoZ3N0X2F2aV9kZW11eF9zdHJlYW1faGVhZGVyX3B1bGwpLAoJICAoZ3N0X2F2aV9kZW11eF9kb19zZWVrKSwgKGdzdF9hdmlfZGVtdXhfcHJvY2Vzc19uZXh0X2VudHJ5KSwKCSAgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2RhdGEpLCAoZ3N0X2F2aV9kZW11eF9sb29wKToKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4Lmg6CgkgIFNhdmUgc29tZSBtZW1vcnkgKDglKSBieSByZXBhY2tpbmcgdGhlIGluZGV4IGVudHJ5IHN0cnVjdHVyZSAobW9yZSB0bwoJICBjb21lKS4gQWRkIG1vcmUgRklYTUVzIHRvIHF1ZXN0aW9uYWJsZSBwYXJ0cy4KCjIwMDctMDItMTIgMTI6NTc6MjIgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIHN5cy92NGwyLzogTW9yZSBGSVhNRSBjb21tZW50cyBhbmQgbWVzc2FnaW5nIGNoYW5nZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzogKGdzdF92NGwyc3JjX3Y0bDJmb3VyY2NfdG9fY2FwcyksCgkgIChnc3RfdjRsMnNyY19nZXRfY2Fwcyk6CgkgICogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOiAoZ3N0X3Y0bDJzcmNfZmlsbF9mb3JtYXRfbGlzdCksCgkgIChnc3RfdjRsMnNyY19ncmFiX2ZyYW1lKSwgKGdzdF92NGwyc3JjX3NldF9jYXB0dXJlKSwKCSAgKGdzdF92NGwyc3JjX2NhcHR1cmVfaW5pdCk6CgkgIE1vcmUgRklYTUUgY29tbWVudHMgYW5kIG1lc3NhZ2luZyBjaGFuZ2VzLgoKMjAwNy0wMi0xMiAxMjo0MzowMCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2dvb20vZ3N0Z29vbS4qOiBJbXByb3ZlZCBkb2NzIGFuZCB1c2UgR1NUX0RFQlVHX0ZVTkNQVFIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9nb29tL2dzdGdvb20uYzogKGdzdF9nb29tX2NsYXNzX2luaXQpLCAoZ3N0X2dvb21faW5pdCksCgkgIChnc3RfZ29vbV9jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9nb29tL2dzdGdvb20uaDoKCSAgSW1wcm92ZWQgZG9jcyBhbmQgdXNlIEdTVF9ERUJVR19GVU5DUFRSLgoJICAqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOiAoZ3N0X2xldmVsX2NsYXNzX2luaXQpOgoJICBVc2UgR1NUX0RFQlVHX0ZVTkNQVFIuCgkgICogZ3N0L21vbm9zY29wZS9nc3Rtb25vc2NvcGUuYzogKGdzdF9tb25vc2NvcGVfaW5pdCksCgkgIChnc3RfbW9ub3Njb3BlX2NoYWluKSwgKGdzdF9tb25vc2NvcGVfY2hhbmdlX3N0YXRlKToKCSAgSW1wcm92ZWQgZG9jcyBzb3VyY2UgY2xlYW51cHMuCgoyMDA3LTAyLTEyIDEwOjI5OjU3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2RlYnVnLzogQWRkIGNvZGUgZm9yIGEgcHVzaGZpbGVzcmMgZWxlbWVudCB0aGF0IGltcGxlbWVudHMgYSBwdXNoZmlsZTovLyBVUkkgaGFuZGxlciwgdG8gbWFrZSBkZWJ1Z2dpbmcgcHVzaC1tb2RlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWJ1Zy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZGVidWcvZ3N0ZGVidWcuYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvZGVidWcvZ3N0cHVzaGZpbGVzcmMuYzoKCSAgKiBnc3QvZGVidWcvZ3N0cHVzaGZpbGVzcmMuaDoKCSAgQWRkIGNvZGUgZm9yIGEgcHVzaGZpbGVzcmMgZWxlbWVudCB0aGF0IGltcGxlbWVudHMgYSBwdXNoZmlsZTovLyBVUkkKCSAgaGFuZGxlciwgdG8gbWFrZSBkZWJ1Z2dpbmcgcHVzaC1tb2RlIG9wZXJhdGlvbiBvZiBkZW11eGVyL2RlY29kZXJzCgkgIHRoYXQgc3VwcG9ydCBib3RoIGVhc2llciBpbiBjb25uZWN0aW9uIHdpdGggc2Vlay9wbGF5YmluL2V0Yy4KCSAgVGhlIGVsZW1lbnQgaXNuJ3QgcmVnaXN0ZXJlZCBhdCB0aGUgbW9tZW50LgoKMjAwNy0wMi0xMSAxNToyNjo0OSArMDAwMCAgU8OpYmFzdGllbiBNb3V0dGUgPHNlYmFzdGllbkBtb3V0dGUubmV0PgoKCSAgTWFrZWZpbGUuYW06IEFkZCB3aW4zMiBNQU5JRkVTVAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBNYWtlZmlsZS5hbToKCSAgQWRkIHdpbjMyIE1BTklGRVNUCgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5oOgoJICBDbGVhciB1bnVzZWQgY29kZSBhbmQgYWRkIGNvbW1lbnRzLgoJICBSZW1vdmUgeXV2IGZyb20gdGVtcGxhdGUgY2FwcywgaXQgb25seSBzdXBwb3J0cyBSR0IKCSAgYWN0dWFsbHkuCgkgIEltcGxlbWVudCBYT3ZlcmxheSBpbnRlcmZhY2UgYW5kIHJlbW92ZSB3aW5kb3cgYW5kIGZ1bGxzY3JlZW4KCSAgcHJvcGVydGllcy4KCSAgQWRkIGRlYnVnIGxvZ3MuCgkgIFRlc3QgZm9yIGJsaXQgY2FwYWJpbGl0aWVzIHRvIHJldHVybiBvbmx5IHRoZSBjdXJyZW50IGNvbG9yc3BhY2UgaWYKCSAgdGhlIGhhcmR3YXJlIGNhbid0IGJsaXQgZm9yIG9uZSBjb2xvcnNwYWNlIHRvIGFub3RoZXIuCgkgICogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJICBBZGQgc29tZSBkZWJ1Z3MuCgkgICogd2luMzIvTUFOSUZFU1Q6CgkgIEFkZCBWUzcgcHJvamVjdCBmaWxlcyBhbmQgc29sdXRpb24uCgkgICogd2luMzIvdnM2L2dzdF9wbHVnaW5zX2JhZC5kc3c6CgkgICogd2luMzIvdnM2L2xpYmdzdGRpcmVjdGRyYXcuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RkaXJlY3Rzb3VuZC5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdHF0ZGVtdXguZHNwOgoJICBVcGRhdGUgcHJvamVjdCBmaWxlcy4KCjIwMDctMDItMTEgMTI6NTc6NDcgKzAwMDAgIFPDqWJhc3RpZW4gTW91dHRlIDxzZWJhc3RpZW5AbW91dHRlLm5ldD4KCgkgIGdzdC9hdmkvZ3N0YXZpbXV4LmM6IENvbW1lbnQgYSAjaWYgMCBpbiBjYXBzIHRlbXBsYXRlIGRlZmluaXRpb24gYXMgVlM2IHNlZW1zIHRvIGRvIG5vdCBzdXBwb3J0IGl0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJICBDb21tZW50IGEgI2lmIDAgaW4gY2FwcyB0ZW1wbGF0ZSBkZWZpbml0aW9uIGFzIFZTNiBzZWVtcyB0bwoJICBkbyBub3Qgc3VwcG9ydCBpdC4KCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6KGdzdF9ydHNwc3JjX2xvb3BfdWRwKToKCSAgVXNlIGdzdF9ndWludDY0X3RvX2dkb3VibGUgZm9yIGNvbnZlcnNpb24uCgkgICogZ3N0L3J0c3AvcnRzcGNvbm5lY3Rpb24uYzoocnRzcF9jb25uZWN0aW9uX3NlbmQpOgoJICBNb3ZlIHZhcmlhYmxlcyBkZWNsYXJhdGlvbiBiZWZvcmUgdGhlIGZpcnN0IGluc3RydWN0aW9uLgoJICAqIGdzdC9ydHNwL3J0c3BkZWZzLmM6KHJ0c3Bfc3RycmVzdWx0KToKCSAgRG9uJ3QgdXNlIGhzdHJlcnJvciBmb3IgZXJyb3IgbG9nIG9uIEdfT1NfV0lOMzIgYnVpbGQgYXMgaXQncyBub3Qgc3VwcG9ydGVkLgoJICBBbmQgZG9uJ3QgaW5jbHVkZSBuZXRkYi5oIGZvciBHX09TX1dJTjMyCgkgICogZ3N0L3J0c3Avc2RwbWVzc2FnZS5jOihzZHBfcGFyc2VfbGluZSk6CgkgIFRoaXMgaW5pdGlhbGl6YXRpb24gU0RQTWVkaWEgbm1lZGlhID0gey5tZWRpYSA9IE5VTEwgfTsgaXMgbm90IHN1cHBvcnRlZAoJICBieSBWUzYgdGhlbiB1c2UgYW4gb3RoZXIgd2F5IHRvIGluaXRpYWxpemUgU0RQTWVkaWEgc3RydWN0dXJlLgoJICAqIGdzdC91ZHAvZ3N0ZHludWRwc2luay5oOgoJICAqIGdzdC91ZHAvZ3N0ZHludWRwbmV0dXRpbHMuaDoKCSAgRG8gbm90IGluY2x1ZGUgPHN5cy90aW1lLmg+IGZvciBHX09TX1dJTjMyCgkgICogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgRGVmaW5lIHNvY2tsZW5fdCBhcyBpbnQgZm9yIEdfT1NfV0lOMzIKCSAgKiB3aW4vY29tbW9uL2NvbmZpZy5oLmluOgoJICBVbmRlZiBIQVZFX05FVElORVRfSU5fSAoJICAqIHdpbjMyL3ZzNi9nc3RfcGx1Z2luc19nb29kLmRzdzoKCSAgKiB3aW4zMi92czYvbGliZ3N0cnRwLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0cnRzcC5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdGF1dG9nZW4uZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RhdWRpb2Z4LmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0dWRwLmRzcDoKCSAgQWRkIGFuZCB1cGRhdGUgcHJvamVjdCBmaWxlcy4KCSAgKiB3aW4zMi9jb21tb24vZ3N0dWRwLWVudW10eXBlcy5jOgoJICAqIHdpbjMyL2NvbW1vbi9nc3R1ZHAtZW51bXR5cGVzLmg6CgkgIEFkZCBhIGNvcHkgb2YgdWRwIGVudW10eXBlcyB0byB3aW4zMi9jb21tb24gYXMgaW4gY29yZQoJICBhbmQgYmFzZS4KCjIwMDctMDItMTEgMTA6NTM6MjEgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogQWN0aXZhdGUgbW9ub3Njb3BlIHdoZW4gYnVpbGRpbmcgd2l0aCAtLWVuYWJsZS1leHBlcmltZW50YWwuIEZpeAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIEFjdGl2YXRlIG1vbm9zY29wZSB3aGVuIGJ1aWxkaW5nIHdpdGggLS1lbmFibGUtZXhwZXJpbWVudGFsLiBGaXgKCSAgLS1lbmFibGUtZXh0ZXJuYWwgY29uZmlndXJlIHN3aXRjaCBkZXNjcmlwdGlvbi4KCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlci5jOiAoZ3N0X3N1bmF1ZGlvbWl4ZXJfYmFzZV9pbml0KToKCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zcmMuYzogKGdzdF9zdW5hdWRpb3NyY19kaXNwb3NlKToKCSAgSGVscCBnc3QtaW5kZW50LgoKMjAwNy0wMi0wOSAwOToyNDo1OCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9hdmkvZ3N0YXZpbXV4LmM6IEV4cGxpY2l0bHkgY2FzdCByZXN1bHQgb2YgcG9pbnRlciBhcml0aG1ldGljIHRvIGludGVnZXIgaW4gb3JkZXIgdG8gYXZvaWQgY29tcGlsZXIgd2FybmluZ3Mgb24gcy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aW11eC5jOiAoZ3N0X2F2aV9tdXhfcmlmZl9nZXRfYXZpX2hlYWRlcik6CgkgIEV4cGxpY2l0bHkgY2FzdCByZXN1bHQgb2YgcG9pbnRlciBhcml0aG1ldGljIHRvIGludGVnZXIgaW4gb3JkZXIgdG8KCSAgYXZvaWQgY29tcGlsZXIgd2FybmluZ3Mgb24gc29tZSA2NC1iaXQgc3lzdGVtcy4gU2hvdWxkIGZpeCAjNDA2MDE4LgoKMjAwNy0wMi0wOCAxMTowOToxNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9kZWJ1Zy9wcm9ncmVzc3JlcG9ydC5jOiBTb21lIG1vcmUgZG9jcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlYnVnL3Byb2dyZXNzcmVwb3J0LmM6CgkgIFNvbWUgbW9yZSBkb2NzLgoKMjAwNy0wMi0wNyAyMTowOTo0NSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOiBVcGRhdGUgZm9yIG5ldyBlbGVtZW50cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkgIFVwZGF0ZSBmb3IgbmV3IGVsZW1lbnRzLgoJICAqIGdzdC9kZWJ1Zy9wcm9ncmVzc3JlcG9ydC5oOgoJICBDb21taXQgbmV3bHktY3JlYXRlZCBoZWFkZXIgZmlsZSBhcyB3ZWxsLgoKMjAwNy0wMi0wNyAyMDozOToxNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIE1ha2UgcHJvZ3Jlc3NyZXBvcnQgZWxlbWVudCBwb3N0IG1lc3NhZ2VzIHdpdGggdGhlIGN1cnJlbnQgcHJvZ3Jlc3Mgb24gdGhlIGJ1cy4gQWxzbyBhZGQgc29tZSBiYXNpYyBkb2NzIGZvciBpdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGdzdC9kZWJ1Zy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZGVidWcvcHJvZ3Jlc3NyZXBvcnQuYzogKGdzdF9wcm9ncmVzc19yZXBvcnRfcG9zdF9wcm9ncmVzcyksCgkgIChnc3RfcHJvZ3Jlc3NfcmVwb3J0X2RvX3F1ZXJ5KSwgKGdzdF9wcm9ncmVzc19yZXBvcnRfcmVwb3J0KToKCSAgTWFrZSBwcm9ncmVzc3JlcG9ydCBlbGVtZW50IHBvc3QgbWVzc2FnZXMgd2l0aCB0aGUgY3VycmVudCBwcm9ncmVzcwoJICBvbiB0aGUgYnVzLiBBbHNvIGFkZCBzb21lIGJhc2ljIGRvY3MgZm9yIGl0LgoKMjAwNy0wMi0wNyAxMzowODozNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9oYWwvaGFsLio6IFNvbWUgc21hbGwgY2xlYW51cHM7IGRlYWwgd2l0aCBlcnJvcnMgd2hlbiBwYXJzaW5nIHRoZSBIQUwgQUxTQSBjYXBhYmlsaXRpZXMgYSBiaXQgYmV0dGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvaGFsL2hhbC5jOiAoZ3N0X2hhbF9nZXRfc3RyaW5nKToKCSAgKiBleHQvaGFsL2hhbC5oOgoJICBTb21lIHNtYWxsIGNsZWFudXBzOyBkZWFsIHdpdGggZXJyb3JzIHdoZW4gcGFyc2luZyB0aGUgSEFMIEFMU0EKCSAgY2FwYWJpbGl0aWVzIGEgYml0IGJldHRlci4KCjIwMDctMDItMDYgMTY6Mjk6MzAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3Qvc21wdGUvZ3N0c21wdGUuYzogTGV0J3MgdHJ5IHRoaXMgYWdhaW4gYW5kIHVzZSB0aGUgcmlnaHQgY2FzdCB0aGlzIHRpbWUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zbXB0ZS9nc3RzbXB0ZS5jOiAoZ3N0X3NtcHRlX3RyYW5zaXRpb25fdHlwZV9nZXRfdHlwZSk6CgkgIExldCdzIHRyeSB0aGlzIGFnYWluIGFuZCB1c2UgdGhlIHJpZ2h0IGNhc3QgdGhpcyB0aW1lLgoKMjAwNy0wMi0wNiAxNjoyNDo1NyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9zbXB0ZS9nc3RzbXB0ZS5jOiBBZGQgY2FzdCB0byBhdm9pZCBjb21waWxlciB3YXJuaW5ncyB3aXRoIG9sZGVyIEdMaWIgdmVyc2lvbnMgd2hlcmUgdGhlIG5pY2svbmFtZSBtZW1iZXJzIGluIEdFbi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc21wdGUvZ3N0c21wdGUuYzogKGdzdF9zbXB0ZV90cmFuc2l0aW9uX3R5cGVfZ2V0X3R5cGUpOgoJICBBZGQgY2FzdCB0byBhdm9pZCBjb21waWxlciB3YXJuaW5ncyB3aXRoIG9sZGVyIEdMaWIgdmVyc2lvbnMKCSAgd2hlcmUgdGhlIG5pY2svbmFtZSBtZW1iZXJzIGluIEdFbnVtVmFsdWUgYXJlIG5vdCBkZWNsYXJlZCBhcwoJICBjb25zdGFudCBzdHJpbmdzLgoKMjAwNy0wMi0wNiAxNTo1NjoxNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9nY29uZi86IEluIGdjb25mYXVkaW9zaW5rLCBnZXQgdGhlIHJpZ2h0IGtleSBhcyB0aGUgb2xkIGtleSBpbiBkb190b2dnbGUgKGllLiBvbmUgZGVwZW5kZW50IG9uIHRoZSBwcm9maWxlIHNlbGVjdC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZ2NvbmYvZ2NvbmYuYzogKGdzdF9nY29uZl9nZXRfa2V5X2Zvcl9zaW5rX3Byb2ZpbGUpLAoJICAoZ3N0X2djb25mX3JlbmRlcl9iaW5fZnJvbV9rZXkpLAoJICAoZ3N0X2djb25mX2dldF9kZWZhdWx0X2F1ZGlvX3NpbmspOgoJICAqIGV4dC9nY29uZi9nY29uZi5oOgoJICAqIGV4dC9nY29uZi9nc3RnY29uZmF1ZGlvc2luay5jOiAoZ2V0X2djb25mX2tleV9mb3JfcHJvZmlsZSksCgkgIChkb190b2dnbGVfZWxlbWVudCksIChnc3RfZ2NvbmZfYXVkaW9fc2lua19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2djb25mX2F1ZGlvX3NpbmtfZ2V0X3Byb3BlcnR5KToKCSAgSW4gZ2NvbmZhdWRpb3NpbmssIGdldCB0aGUgcmlnaHQga2V5IGFzIHRoZSBvbGQga2V5IGluIGRvX3RvZ2dsZQoJICAoaWUuIG9uZSBkZXBlbmRlbnQgb24gdGhlIHByb2ZpbGUgc2VsZWN0ZWQpLiBMb2cgc29tZSBtb3JlIHN0dWZmIHNvCgkgIHdlIGNhbiBzZWUgd2hhdCdzIGFjdHVhbGx5IGdvaW5nIG9uLgoKMjAwNy0wMi0wNiAxMToxNjo0OSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2F1ZGlvZngvOiBTb21lIHNtYWxsIGNsZWFudXBzIGFuZCBwb3J0IGJvdGggZWxlbWVudHMgdG8gdGhlIG5ldyBHc3RBdWRpb0ZpbHRlciBiYXNlIGNsYXNzIHRvIHNhdmUgYSBmZXcgbGluZXMgb2YgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvYW1wbGlmeS5jOiAoZ3N0X2F1ZGlvX2FtcGxpZnlfYmFzZV9pbml0KSwKCSAgKGdzdF9hdWRpb19hbXBsaWZ5X2NsYXNzX2luaXQpLCAoZ3N0X2F1ZGlvX2FtcGxpZnlfaW5pdCksCgkgIChnc3RfYXVkaW9fYW1wbGlmeV9zZXRfcHJvY2Vzc19mdW5jdGlvbiksCgkgIChnc3RfYXVkaW9fYW1wbGlmeV9zZXR1cCk6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9hbXBsaWZ5Lmg6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9pbnZlcnQuYzogKGdzdF9hdWRpb19pbnZlcnRfYmFzZV9pbml0KSwKCSAgKGdzdF9hdWRpb19pbnZlcnRfY2xhc3NfaW5pdCksIChnc3RfYXVkaW9faW52ZXJ0X3NldHVwKToKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2ludmVydC5oOgoJICBTb21lIHNtYWxsIGNsZWFudXBzIGFuZCBwb3J0IGJvdGggZWxlbWVudHMgdG8gdGhlIG5ldyBHc3RBdWRpb0ZpbHRlcgoJICBiYXNlIGNsYXNzIHRvIHNhdmUgYSBmZXcgbGluZXMgb2YgY29tbW9uIGNvZGUuCgkgICogZ3N0L2F1ZGlvZngvTWFrZWZpbGUuYW06CgkgIExpbmsgYWdhaW5zdCBsaWJnc3RhdWRpbyBmb3IgdGhlIGFib3ZlIGNoYW5nZXMKCjIwMDctMDItMDMgMjM6MzU6MjYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBGaXggdXAgdG8gdXNlIHRoZSBuZXdseSBwb3J0ZWQgKGFjdHVhbGx5IHdvcmtpbmcpIEdzdEF1ZGlvRmlsdGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L2VxdWFsaXplci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOiAoZ3N0X2lpcl9lcXVhbGl6ZXJfYmFzZV9pbml0KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2NsYXNzX2luaXQpLCAoZ3N0X2lpcl9lcXVhbGl6ZXJfaW5pdCksCgkgIChzZXR1cF9maWx0ZXIpLCAoZ3N0X2lpcl9lcXVhbGl6ZXJfY29tcHV0ZV9mcmVxdWVuY2llcyksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9zZXRfcHJvcGVydHkpLCAoZ3N0X2lpcl9lcXVhbGl6ZXJfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX3RyYW5zZm9ybV9pcCksIChnc3RfaWlyX2VxdWFsaXplcl9zZXR1cCksCgkgIChwbHVnaW5faW5pdCk6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuaDoKCSAgRml4IHVwIHRvIHVzZSB0aGUgbmV3bHkgcG9ydGVkIChhY3R1YWxseSB3b3JraW5nKSBHc3RBdWRpb0ZpbHRlci4KCSAgQnVtcCBjb3JlL2Jhc2UgcmVxdWlyZW1lbnRzIHRvIENWUyBmb3IgdGhpcy4KCSAgKiB0ZXN0cy9pY2xlcy8uY3ZzaWdub3JlOgoJICAqIHRlc3RzL2ljbGVzL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2ljbGVzL2VxdWFsaXplci10ZXN0LmM6IChjaGVja19idXMpLAoJICAoZXF1YWxpemVyX3NldF9iYW5kX3ZhbHVlKSwgKGVxdWFsaXplcl9zZXRfYWxsX2JhbmRfdmFsdWVzKSwKCSAgKGVxdWFsaXplcl9zZXRfYmFuZF92YWx1ZV9hbmRfd2FpdCksCgkgIChlcXVhbGl6ZXJfc2V0X2FsbF9iYW5kX3ZhbHVlc19hbmRfd2FpdCksIChkb19zbGlkZXJfZmlkZGxpbmcpLAoJICAobWFpbik6CgkgIEFkZCBicmFpbi1kZWFkIGludGVyYWN0aXZlIHRlc3QgZm9yIGVxdWFsaXplci4KCjIwMDctMDItMDIgMTg6MzY6MjggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOiBSZW5hbWUgInZhbHVlcyIgcHJvcGVydHkgdG8gImJhbmQtdmFsdWVzIiBhbmQgY2hhbmdlIHR5cGUgaW50byBhCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6IChnc3RfaWlyX2VxdWFsaXplcl9jbGFzc19pbml0KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX3NldF9wcm9wZXJ0eSksIChnc3RfaWlyX2VxdWFsaXplcl9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfZmlsdGVyX2lucGxhY2UpOgoJICBSZW5hbWUgInZhbHVlcyIgcHJvcGVydHkgdG8gImJhbmQtdmFsdWVzIiBhbmQgY2hhbmdlIHR5cGUgaW50byBhCgkgIEdWYWx1ZUFycmF5LCBzbyBpdCdzIG1vcmUgZWFzaWx5IGJpbmRhYmxlIGFuZCB0aGUgcmFuZ2Ugb2YgdGhlCgkgIHZhbHVlcyBwYXNzZWQgaW4gaXMgZGVmaW5lZCBhbmQgY2hlY2tlZCBldGMuOyBhbHNvIGRvIHNvbWUKCSAgbG9ja2luZy4KCjIwMDctMDItMDIgMTc6Mzk6MjEgKzAwMDAgIEphbWVzIERvYyBMaXZpbmdzdG9uIDxkb2NsaXZpbmdzdG9uQGdtYWlsLmNvbT4KCgkgIFBvcnQgZXF1YWxpemVyIHBsdWdpbiB0byAwLjEwICgjNDAzNTcyKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBKYW1lcyAiRG9jIiBMaXZpbmdzdG9uICA8ZG9jbGl2aW5nc3RvbiBhdCBnbWFpbCBjb20+CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9lcXVhbGl6ZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzogKGdzdF9paXJfZXF1YWxpemVyX2dldF90eXBlKSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2Jhc2VfaW5pdCksIChnc3RfaWlyX2VxdWFsaXplcl9jbGFzc19pbml0KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2NvbXB1dGVfZnJlcXVlbmNpZXMpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2ZpbHRlcl9pbnBsYWNlKSwgKGdzdF9paXJfZXF1YWxpemVyX3NldHVwKSwKCSAgKHBsdWdpbl9pbml0KToKCSAgUG9ydCBlcXVhbGl6ZXIgcGx1Z2luIHRvIDAuMTAgKCM0MDM1NzIpLgoKMjAwNy0wMS0zMSAwODozMjo1OSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IEZpeCBhIG9mZiBieSBvbmUgdGhhdCBsZWFkcyB0byB0aGUgZHVyYXRpb24gcmVwb3J0ZWQgYXMgb25lIHNhbXBsZSBsZXNzIHRoYW4gaXQgaXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IChnc3Rfd2F2cGFja19wYXJzZV9zcmNfcXVlcnkpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfaGFuZGxlX3NlZWtfZXZlbnQpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfY3JlYXRlX3NyY19wYWQpOgoJICBGaXggYSBvZmYgYnkgb25lIHRoYXQgbGVhZHMgdG8gdGhlIGR1cmF0aW9uIHJlcG9ydGVkIGFzIG9uZQoJICBzYW1wbGUgbGVzcyB0aGFuIGl0IGlzCgoyMDA3LTAxLTMwIDE3OjE5OjMzICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgY29uZmlndXJlLmFjOiBDaGVjayBmb3IgYW4gT2JqZWN0aXZlIEMgY29tcGlsZXIKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBDaGVjayBmb3IgYW4gT2JqZWN0aXZlIEMgY29tcGlsZXIKCSAgKiBzeXMvTWFrZWZpbGUuYW06CgkgICogc3lzL29zeHZpZGVvL01ha2VmaWxlLmFtOgoJICAqIHN5cy9vc3h2aWRlby9jb2NvYXdpbmRvdy5oOgoJICAqIHN5cy9vc3h2aWRlby9jb2NvYXdpbmRvdy5tOgoJICAqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsuaDoKCSAgKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIFBvcnQgb2Ygb3N4dmlkZW8gcGx1Z2luIHRvIDAuMTAuIERvIE5PVCBjb25zaWRlciAxMDAlIHN0YWJsZSAhCgkgIEZpeGVzICM0MDI0NzAKCjIwMDctMDEtMjkgMTA6NTk6NDggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy8uY3ZzaWdub3JlOiBTb21lIG1vcmUgaWdub3Jlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvLmN2c2lnbm9yZToKCSAgU29tZSBtb3JlIGlnbm9yZXMuCgoyMDA3LTAxLTI4IDE4OjI4OjMzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuYzogRml4IGNyb3BwaW5nIGZvciBwYWNrZWQgNDoyOjIgZm9ybWF0cyBZVVlWL1lVWTIgYW5kIFVZVlkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmM6CgkgIChnc3RfdmlkZW9fY3JvcF9nZXRfaW1hZ2VfZGV0YWlsc19mcm9tX2NhcHMpLAoJICAoZ3N0X3ZpZGVvX2Nyb3BfdHJhbnNmb3JtX3BhY2tlZF9jb21wbGV4KToKCSAgRml4IGNyb3BwaW5nIGZvciBwYWNrZWQgNDoyOjIgZm9ybWF0cyBZVVlWL1lVWTIgYW5kIFVZVlkuCgkgICogdGVzdHMvaWNsZXMvdmlkZW9jcm9wLXRlc3QuYzogKGNoZWNrX2J1c19mb3JfZXJyb3JzKSwKCSAgKHRlc3Rfd2l0aF9jYXBzKSwgKG1haW4pOgoJICBCbG9jayBzdHJlYW1pbmcgdGhyZWFkIGJlZm9yZSBjaGFuZ2luZyBmaWx0ZXIgY2FwcyB3aGlsZSB0aGUKCSAgcGlwZWxpbmUgaXMgcnVubmluZyBzbyB0aGF0IHdlIGRvbid0IGdldCByYW5kb20gbm90LW5lZ290aWF0ZWQKCSAgZXJyb3JzIGp1c3QgYmVjYXVzZSBHU3RyZWFtZXIgY2FuJ3QgaGFuZGxlIHRoYXQgeWV0LgoKMjAwNy0wMS0yNyAxNjowODoxNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHRlc3RzL2ljbGVzL3ZpZGVvY3JvcC10ZXN0LmM6IENhdGNoIGVycm9ycyB3aGlsZSB0aGUgdGVzdCBpcyBydW5uaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9pY2xlcy92aWRlb2Nyb3AtdGVzdC5jOiAodGVzdF93aXRoX2NhcHMpOgoJICBDYXRjaCBlcnJvcnMgd2hpbGUgdGhlIHRlc3QgaXMgcnVubmluZy4KCjIwMDctMDEtMjYgMTI6MjE6NDEgKzAwMDAgIGNoYXJsZXMgPGNoYXJsZXNnM0BnbWFpbC5jb20+CgoJICBleHQvc2hvdXQyL2dzdHNob3V0Mi4qOiBQcm9wZXJseSBoYW5kbGUgdGFncyBpbiBzaG91dDJzZW5kLiBGaXhlcyAjMzk5ODI1LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IGNoYXJsZXMgPGNoYXJsZXNnMyBhdCBnbWFpbCBkb3QgY29tPgoJICAqIGV4dC9zaG91dDIvZ3N0c2hvdXQyLmM6IChnc3Rfc2hvdXQyc2VuZF9pbml0KSwKCSAgKHNldF9zaG91dF9tZXRhZGF0YSksIChnc3Rfc2hvdXQyc2VuZF9ldmVudCk6CgkgICogZXh0L3Nob3V0Mi9nc3RzaG91dDIuaDoKCSAgUHJvcGVybHkgaGFuZGxlIHRhZ3MgaW4gc2hvdXQyc2VuZC4gRml4ZXMgIzM5OTgyNS4KCjIwMDctMDEtMjUgMjM6Mjc6NTkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOiBGaXggdGhlIFNFRUtJTkcgcXVlcnkuIFdlIGNhbiBzZWVrIGlmIHdlIGFyZSBpbiBwdWxsIG1vZGUsIG5vdCB0aGUgb3RoZXIgd2F5IGFyb3VuZC4gQS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogKGdzdF93YXZwYWNrX3BhcnNlX3NyY19xdWVyeSk6CgkgIEZpeCB0aGUgU0VFS0lORyBxdWVyeS4gV2UgY2FuIHNlZWsgaWYgd2UgYXJlIGluIHB1bGwgbW9kZSwgbm90IHRoZQoJICBvdGhlciB3YXkgYXJvdW5kLiBBbHNvIHNldCB0aGUgY29ycmVjdCBmb3JtYXQgaW4gdGhlIHNlZWtpbmcgcXVlcnkgYW5kCgkgIGhhbmRsZSB0aGUgY2FzZSB3aGVyZSB0aGUgaGVhZGVycyBhcmUgbm90IHJlYWQgeWV0IGFuZCB3ZSBjYW4ndCBzYXkKCSAgYW55dGhpbmcgYWJvdXQgb3VyIHNlZWtpbmcgY2FwYWJpbGl0aWVzLgoKMjAwNy0wMS0yNSAyMTo1NTo0OSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3dhdnBhY2svOiBGaXggc3BlbGxpbmcgaW4gMiBwbGFjZXM6IEl0J3MgY2FsbGVkIFdhdnBhY2ssIG5vdCBXYXZlUGFjay4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOiAoZ3N0X3dhdnBhY2tfZGVjX2Jhc2VfaW5pdCk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IChnc3Rfd2F2cGFja19wYXJzZV9iYXNlX2luaXQpOgoJICBGaXggc3BlbGxpbmcgaW4gMiBwbGFjZXM6IEl0J3MgY2FsbGVkIFdhdnBhY2ssIG5vdCBXYXZlUGFjay4KCjIwMDctMDEtMjUgMTQ6NDA6MTUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IENvbnZlcnQgU0RQIGZpZWxkcyB0byB1cHBlci9sb3dlcmNhc2UgZm9sbG93aW5nIHRoZSBydWxlcyBpbiB0aGUgU0RQIHRvIGNhcHMgZG9jdW1lbnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX21lZGlhX3RvX2NhcHMpLAoJICAoZ3N0X3J0c3BzcmNfYWN0aXZhdGVfc3RyZWFtcyk6CgkgIENvbnZlcnQgU0RQIGZpZWxkcyB0byB1cHBlci9sb3dlcmNhc2UgZm9sbG93aW5nIHRoZSBydWxlcyBpbiB0aGUgU0RQIHRvCgkgIGNhcHMgZG9jdW1lbnQuCgoyMDA3LTAxLTI1IDE0OjIyOjUzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC86IEZpeCBjYXNlIG9mIGVuY29kaW5nLW5hbWUgYW5kIGtleS92YWx1ZSBwYWlycyB0byBtYXRjaCB0aGUgZG9jdW1lbnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvUkVBRE1FOgoJICAqIGdzdC9ydHAvZ3N0cnRwaWxiY2RlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBpbGJjcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBtcDRnZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGdwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cHNwZWV4ZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cHNwZWV4cGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBzdjN2ZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYWRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHB0aGVvcmFwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc2RlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHB2b3JiaXNwYXkuYzoKCSAgRml4IGNhc2Ugb2YgZW5jb2RpbmctbmFtZSBhbmQga2V5L3ZhbHVlIHBhaXJzIHRvIG1hdGNoIHRoZSBkb2N1bWVudC4KCSAgVGhpcyBpcyB0byBtYWtlIGludGVyb3BlcmF0aW9uIHdpdGggU0RQIGNhc2UtaW5zZW5zaXRpdmUgYXMgcmVxdWlyZWQgYnkKCSAgdGhlIHJlbGV2YW50IFJGQ3MuCgoyMDA3LTAxLTI1IDEyOjA1OjExICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0LzogVXNlIHByb3BlciBwcmludCBzdGF0ZW1lbnRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSAgKGdzdF9tdWx0aV9maWxlX3NpbmtfY2xhc3NfaW5pdCk6CgkgICogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzcmMuYzogKGdzdF9tdWx0aV9maWxlX3NyY19jbGFzc19pbml0KToKCSAgKiBnc3QvbXZlL2dzdG12ZWRlbXV4LmM6IChnc3RfbXZlX3ZpZGVvX2NyZWF0ZV9idWZmZXIpLAoJICAoZ3N0X212ZV92aWRlb19wYWxldHRlKSwgKGdzdF9tdmVfdmlkZW9fY29kZV9tYXApLAoJICAoZ3N0X212ZV9hdWRpb19pbml0KSwgKGdzdF9tdmVfYXVkaW9fZGF0YSksIChnc3RfbXZlX3RpbWVyX2NyZWF0ZSksCgkgIChnc3RfbXZlX2RlbXV4X2NoYWluKToKCSAgKiBnc3QvbXZlL2dzdG12ZW11eC5jOiAoZ3N0X212ZV9tdXhfcHVzaF9jaHVuayk6CgkgICogZ3N0L212ZS9tdmVhdWRpb2VuYy5jOiAobXZlX2NvbXByZXNzX2F1ZGlvKToKCSAgKiBnc3QvbXZlL212ZXZpZGVvZGVjMTYuYzogKGlwdmlkZW9fY29weV9ibG9jayk6CgkgICogZ3N0L212ZS9tdmV2aWRlb2RlYzguYzogKGlwdmlkZW9fY29weV9ibG9jayk6CgkgICogZ3N0L212ZS9tdmV2aWRlb2VuYzE2LmM6IChtdmVfZW5jb2RlX2ZyYW1lMTYpOgoJICAqIGdzdC9tdmUvbXZldmlkZW9lbmM4LmM6IChtdmVfZW5jb2RlX2ZyYW1lOCk6CgkgIFVzZSBwcm9wZXIgcHJpbnQgc3RhdGVtZW50cy4KCSAgRml4ZXMgYnVpbGQgb24gbWFjIG9zIHguCgkgIDx3aW5nbz4gb28gbG9vayBhdCBtZSBteSBuYW1lIGlzIGVkd2FyZCBpJ20gaGFja2luZyBvbiBtYWNvcyB3b29vCgoyMDA3LTAxLTI1IDExOjAyOjAxICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgY29uZmlndXJlLmFjOiBCdW1wIHJlcXVpcmVkIC1jb3JlLy1iYXNlIHRvIENWUwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIEJ1bXAgcmVxdWlyZWQgLWNvcmUvLWJhc2UgdG8gQ1ZTCgoyMDA3LTAxLTI1IDEwOjU0OjE5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC9nc3RydHBMMTZwYXkuKjogRmlsbCB1cCB0byBNVFUgdXNpbmcgYWRhcHRlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBMMTZwYXkuYzogKGdzdF9ydHBfTDE2X3BheV9zZXRjYXBzKSwKCSAgKGdzdF9ydHBfTDE2X3BheV9mbHVzaCksIChnc3RfcnRwX0wxNl9wYXlfaGFuZGxlX2J1ZmZlcik6CgkgICogZ3N0L3J0cC9nc3RydHBMMTZwYXkuaDoKCSAgRmlsbCB1cCB0byBNVFUgdXNpbmcgYWRhcHRlci4KCSAgVGltZXN0YW1wIHJ0cCBwYWNrZXRzLgoKMjAwNy0wMS0yNSAxMDozNjozNSArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIFVzZSBHX0dTSVpFX0ZPUk1BVCBpbiBwcmludCBzdGF0ZW1lbnRzIGZvciBwb3J0YWJpbGl0eS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRtdXguYzogKGdzdF9tdWx0aXBhcnRfbXV4X2NvbGxlY3RlZCk6CgkgICogc3lzL3hpbWFnZS94aW1hZ2V1dGlsLmM6ICh4aW1hZ2V1dGlsX2NoZWNrX3hzaG1fY2FsbHMpOgoJICBVc2UgR19HU0laRV9GT1JNQVQgaW4gcHJpbnQgc3RhdGVtZW50cyBmb3IgcG9ydGFiaWxpdHkuCgkgIEZpeGVzIGJ1aWxkIG9uIG1hY29zeC4KCjIwMDctMDEtMjQgMTg6MjA6MTQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwLzogUG9ydCBhbmQgZW5hYmxlIHJhdyBhdWRpbyBwYXlsb2FkZXIvZGVwYXlsb2FkZXIuIE5lZWRzIGEgYml0IG1vcmUgd29yayBvbiB0aGUgcGF5bG9hZGVyIHNpZGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkgICogZ3N0L3J0cC9nc3RydHAuYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cEwxNmRlcGF5LmM6IChnc3RfcnRwX0wxNl9kZXBheV9iYXNlX2luaXQpLAoJICAoZ3N0X3J0cF9MMTZfZGVwYXlfY2xhc3NfaW5pdCksIChnc3RfcnRwX0wxNl9kZXBheV9pbml0KSwKCSAgKGdzdF9ydHBfTDE2X2RlcGF5X3BhcnNlX2ludCksIChnc3RfcnRwX0wxNl9kZXBheV9zZXRjYXBzKSwKCSAgKGdzdF9ydHBfTDE2X2RlcGF5X3Byb2Nlc3MpLCAoZ3N0X3J0cF9MMTZfZGVwYXlfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9ydHBfTDE2X2RlcGF5X2dldF9wcm9wZXJ0eSksIChnc3RfcnRwX0wxNl9kZXBheV9jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X3J0cF9MMTZfZGVwYXlfcGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwTDE2ZGVwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cEwxNnBheS5jOiAoZ3N0X3J0cF9MMTZfcGF5X2dldF90eXBlKSwKCSAgKGdzdF9ydHBfTDE2X3BheV9iYXNlX2luaXQpLCAoZ3N0X3J0cF9MMTZfcGF5X2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cF9MMTZfcGF5X2luaXQpLCAoZ3N0X3J0cF9MMTZfcGF5X2ZpbmFsaXplKSwKCSAgKGdzdF9ydHBfTDE2X3BheV9zZXRjYXBzKSwgKGdzdF9ydHBfTDE2X3BheV9oYW5kbGVfYnVmZmVyKSwKCSAgKGdzdF9ydHBfTDE2X3BheV9wbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBMMTZwYXkuaDoKCSAgUG9ydCBhbmQgZW5hYmxlIHJhdyBhdWRpbyBwYXlsb2FkZXIvZGVwYXlsb2FkZXIuIE5lZWRzIGEgYml0IG1vcmUgd29yawoJICBvbiB0aGUgcGF5bG9hZGVyIHNpZGUuCgoyMDA3LTAxLTI0IDE2OjI1OjU1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy4qOiBPbmx5IHVuYmxvY2sgdGhlIHVkcCBwYWRzIHdoZW4gd2UgbGlua2VkIGFuZCBhY3RpdmF0ZWQgdGhlbSBhbGwuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKHBhZF9ibG9ja2VkKSwKCSAgKGdzdF9ydHNwc3JjX3N0cmVhbV9jb25maWd1cmVfdHJhbnNwb3J0KSwKCSAgKGdzdF9ydHNwc3JjX2FjdGl2YXRlX3N0cmVhbXMpLCAoZ3N0X3J0c3BzcmNfbG9vcF91ZHApOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgT25seSB1bmJsb2NrIHRoZSB1ZHAgcGFkcyB3aGVuIHdlIGxpbmtlZCBhbmQgYWN0aXZhdGVkIHRoZW0gYWxsLgoJICBGaXhlcyAjMzk1Njg4LgoKMjAwNy0wMS0yNCAxNToxODozNCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvOiBBZGRlZCBzaW1wbGUgQUMzIGRlcGF5bG9hZGVyIChSRkMgNDE4NCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkgICogZ3N0L3J0cC9nc3RydHAuYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cGFjM2RlcGF5LmM6IChnc3RfcnRwX2FjM19kZXBheV9iYXNlX2luaXQpLAoJICAoZ3N0X3J0cF9hYzNfZGVwYXlfY2xhc3NfaW5pdCksIChnc3RfcnRwX2FjM19kZXBheV9pbml0KSwKCSAgKGdzdF9ydHBfYWMzX2RlcGF5X3NldGNhcHMpLCAoZ3N0X3J0cF9hYzNfZGVwYXlfcHJvY2VzcyksCgkgIChnc3RfcnRwX2FjM19kZXBheV9zZXRfcHJvcGVydHkpLCAoZ3N0X3J0cF9hYzNfZGVwYXlfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9ydHBfYWMzX2RlcGF5X2NoYW5nZV9zdGF0ZSksIChnc3RfcnRwX2FjM19kZXBheV9wbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBhYzNkZXBheS5oOgoJICBBZGRlZCBzaW1wbGUgQUMzIGRlcGF5bG9hZGVyIChSRkMgNDE4NCkuCgkgICogZ3N0L3J0cC9nc3RydHBtcDJ0ZGVwYXkuYzogKGdzdF9ydHBfbXAydF9kZXBheV9zZXRjYXBzKToKCSAgRml4IGEgbGVhay4KCjIwMDctMDEtMjQgMTI6NDE6MDMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9hdWRpb2Z4LzogQWRkIG5ldyBlbGVtZW50ICJhdWRpb2FtcGxpZnkiLiBUaGlzIGFsbG93cyBzY2FsaW5nIG9mIHJhdyBhdWRpbyBzYW1wbGVzLCBzaW1pbGFyIHRvIHRoZSAidm9sdW1lIiBlbGVtZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmV2aWV3ZWQgYnk6IFN0ZWZhbiBLb3N0ICA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgkgICogZ3N0L2F1ZGlvZngvTWFrZWZpbGUuYW06CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9hbXBsaWZ5LmM6CgkgIChnc3RfYXVkaW9fYW1wbGlmeV9jbGlwcGluZ19tZXRob2RfZ2V0X3R5cGUpLAoJICAoZ3N0X2F1ZGlvX2FtcGxpZnlfYmFzZV9pbml0KSwgKGdzdF9hdWRpb19hbXBsaWZ5X2NsYXNzX2luaXQpLAoJICAoZ3N0X2F1ZGlvX2FtcGxpZnlfaW5pdCksIChnc3RfYXVkaW9fYW1wbGlmeV9zZXRfcHJvY2Vzc19mdW5jdGlvbiksCgkgIChnc3RfYXVkaW9fYW1wbGlmeV9zZXRfcHJvcGVydHkpLCAoZ3N0X2F1ZGlvX2FtcGxpZnlfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9hdWRpb19hbXBsaWZ5X3NldF9jYXBzKSwKCSAgKGdzdF9hdWRpb19hbXBsaWZ5X3RyYW5zZm9ybV9pbnRfY2xpcCksCgkgIChnc3RfYXVkaW9fYW1wbGlmeV90cmFuc2Zvcm1faW50X3dyYXBfbmVnYXRpdmUpLAoJICAoZ3N0X2F1ZGlvX2FtcGxpZnlfdHJhbnNmb3JtX2ludF93cmFwX3Bvc2l0aXZlKSwKCSAgKGdzdF9hdWRpb19hbXBsaWZ5X3RyYW5zZm9ybV9mbG9hdF9jbGlwKSwKCSAgKGdzdF9hdWRpb19hbXBsaWZ5X3RyYW5zZm9ybV9mbG9hdF93cmFwX25lZ2F0aXZlKSwKCSAgKGdzdF9hdWRpb19hbXBsaWZ5X3RyYW5zZm9ybV9mbG9hdF93cmFwX3Bvc2l0aXZlKSwKCSAgKGdzdF9hdWRpb19hbXBsaWZ5X3RyYW5zZm9ybV9pcCk6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9hbXBsaWZ5Lmg6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9meC5jOiAocGx1Z2luX2luaXQpOgoJICBBZGQgbmV3IGVsZW1lbnQgImF1ZGlvYW1wbGlmeSIuIFRoaXMgYWxsb3dzIHNjYWxpbmcgb2YgcmF3IGF1ZGlvCgkgIHNhbXBsZXMsIHNpbWlsYXIgdG8gdGhlICJ2b2x1bWUiIGVsZW1lbnQsIGJ1dCBwcm92aWRlcyBkaWZmZXJlbnQgbW9kZXMKCSAgZm9yIGNsaXBwaW5nIGFuZCBhbGxvd3MgdW5saW1pdGVkIGFtcGxpZmljYXRpb24uIEl0J3MgbWFpbmx5IHRhcmdldGVkCgkgIGZvciBjcmVhdGl2ZSBzb3VuZCBkZXNpZ24gYW5kIG5vdCBhcyBhIHJlcGxhY2VtZW50IG9mIHRoZSAidm9sdW1lIgoJICBlbGVtZW50LiBGaXhlcyAjMzk3MTYyCgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkgIEFkZCBkb2NzIGZvciBhdWRpb2FtcGxpZnkgYW5kIGludGVncmF0ZSB0aGVtIGludG8gdGhlIGJ1aWxkIHN5c3RlbQoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvYW1wbGlmeS5jOiAoc2V0dXBfYW1wbGlmeSksCgkgIChjbGVhbnVwX2FtcGxpZnkpLCAoR1NUX1NUQVJUX1RFU1QpLCAoYW1wbGlmeV9zdWl0ZSksIChtYWluKToKCSAgQWRkIGZhaXJseSBleHRlbnNpdmUgdW5pdCB0ZXN0IHN1aXRlIGZvciBhdWRpb2FtcGxpZnkKCjIwMDctMDEtMjQgMTI6MjY6NDEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IFVuYmxvY2sgcGFkcyBhZnRlciBhZGRpbmcgdGhlIHBhZHMgdG8gdGhlIGVsZW1lbnQgc28gdGhhdCBhdXRvcGx1Z2dlcnMgZ2V0IGEgY2hhbmdlIHRvIGxpbmsgc28uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAocGFkX3VuYmxvY2tlZCksIChwYWRfYmxvY2tlZCk6CgkgIFVuYmxvY2sgcGFkcyBhZnRlciBhZGRpbmcgdGhlIHBhZHMgdG8gdGhlIGVsZW1lbnQgc28gdGhhdCBhdXRvcGx1Z2dlcnMKCSAgZ2V0IGEgY2hhbmdlIHRvIGxpbmsgc29tZXRoaW5nLiBQb3NzaWJseSBmaXhlcyAjMzk1Njg4LgoKMjAwNy0wMS0yNCAxMjoyMjo1MSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvOiBGaXggY2FwcyB3aXRoIHBheWxvYWQgbnVtYmVycy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwZ3NtZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjNwZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjNwcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGlsYmNkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXAydGRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBtcDRnZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGdwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNHZkZXBheS5jOiAoZ3N0X3J0cF9tcDR2X2RlcGF5X2NsYXNzX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXBhZGVwYXkuYzogKGdzdF9ydHBfbXBhX2RlcGF5X2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cF9tcGFfZGVwYXlfaW5pdCksIChnc3RfcnRwX21wYV9kZXBheV9zZXRjYXBzKSwKCSAgKGdzdF9ydHBfbXBhX2RlcGF5X3Byb2Nlc3MpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXB2ZGVwYXkuYzogKGdzdF9ydHBfbXB2X2RlcGF5X2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cF9tcHZfZGVwYXlfaW5pdCksIChnc3RfcnRwX21wdl9kZXBheV9wcm9jZXNzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cHBjbWFkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwcGNtdWRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBzcGVleGRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBzcGVleHBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwc3YzdmRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHB0aGVvcmFkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHB2b3JiaXNkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzcGF5LmM6CgkgIEZpeCBjYXBzIHdpdGggcGF5bG9hZCBudW1iZXJzLgoJICBBZGQgc29tZSBmaXhlZCBwYXlsb2FkIG51bWJlcnMgdG8gY2FwcyB3aGVuIHBvc3NpYmxlLgoKMjAwNy0wMS0yNCAxMToyOTowMCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L2dzdHJ0cHhxdGRlcGF5LmM6IEZpeCBjYXBzIG9uIHRoZSBkZXBheWxvYWRlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvZ3N0cnRweHF0ZGVwYXkuYzoKCSAgRml4IGNhcHMgb24gdGhlIGRlcGF5bG9hZGVyLgoKMjAwNy0wMS0yMyAxODoxNjowOSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2F1ZGlvZngvOiBBZGQgbmV3IGF1ZGlvZnggZWxlbWVudCAiYXVkaW9pbnZlcnQiLiBUaGlzIGVsZW1lbnQgc3dhcHMgdGhlIHVwcGVyIGFuZCBsb3dlciBoYWxmIG9mIHNhbXBsZXMgYW5kIGNhbiBiLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZXZpZXdlZCBieTogU3RlZmFuIEtvc3QgIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCSAgKiBnc3QvYXVkaW9meC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2Z4LmM6IChwbHVnaW5faW5pdCk6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9pbnZlcnQuYzogKGdzdF9hdWRpb19pbnZlcnRfYmFzZV9pbml0KSwKCSAgKGdzdF9hdWRpb19pbnZlcnRfY2xhc3NfaW5pdCksIChnc3RfYXVkaW9faW52ZXJ0X2luaXQpLAoJICAoZ3N0X2F1ZGlvX2ludmVydF9zZXRfcHJvcGVydHkpLCAoZ3N0X2F1ZGlvX2ludmVydF9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X2F1ZGlvX2ludmVydF9zZXRfY2FwcyksIChnc3RfYXVkaW9faW52ZXJ0X3RyYW5zZm9ybV9pbnQpLAoJICAoZ3N0X2F1ZGlvX2ludmVydF90cmFuc2Zvcm1fZmxvYXQpLAoJICAoZ3N0X2F1ZGlvX2ludmVydF90cmFuc2Zvcm1faXApOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvaW52ZXJ0Lmg6CgkgIEFkZCBuZXcgYXVkaW9meCBlbGVtZW50ICJhdWRpb2ludmVydCIuIFRoaXMgZWxlbWVudCBzd2FwcyB0aGUgdXBwZXIKCSAgYW5kIGxvd2VyIGhhbGYgb2Ygc2FtcGxlcyBhbmQgY2FuIGJlIHVzZWQgZm9yIGV4YW1wbGUgZm9yIGEKCSAgd2lkZS1zdGVyZW8gZWZmZWN0LiBGaXhlcyAjMzk2MDU3CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkgIEFkZCBkb2NzIGZvciB0aGUgYXVkaW9pbnZlcnQgZWxlbWVudCBhbmQgYWRkIHRoZW0gdG8gdGhlIGJ1aWxkIHN5c3RlbS4KCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2ludmVydC5jOiAoc2V0dXBfaW52ZXJ0KSwKCSAgKGNsZWFudXBfaW52ZXJ0KSwgKEdTVF9TVEFSVF9URVNUKSwgKGludmVydF9zdWl0ZSksIChtYWluKToKCSAgQWRkIHVuaXQgdGVzdCBzdWl0ZSBmb3IgdGhlIGF1ZGlvaW52ZXJ0IGVsZW1lbnQuCgoyMDA3LTAxLTIzIDE3OjM2OjMyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC9nc3RydHBtcDRnZGVwYXkuYzogUGFyc2UgY29uZmlnIHBhcmFtcyBhcyBzdHJpbmcgYW5kIGludC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBtcDRnZGVwYXkuYzogKGdzdF9ydHBfbXA0Z19kZXBheV9wYXJzZV9pbnQpLAoJICAoZ3N0X3J0cF9tcDRnX2RlcGF5X3NldGNhcHMpLCAoZ3N0X3J0cF9tcDRnX2RlcGF5X3Byb2Nlc3MpOgoJICBQYXJzZSBjb25maWcgcGFyYW1zIGFzIHN0cmluZyBhbmQgaW50LgoJICBQYXJzZSBhbmQgdXNlIEFVIGhlYWRlciBsZW5ndGgKCjIwMDctMDEtMjMgMTc6Mjc6MzkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3Qvc21wdGUvOiBjb25zdGlmeSBzb21lIHN0YXRpYyBzdHJ1Y3RzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc21wdGUvYmFyYm94d2lwZXMuYzogKGdzdF93aXBlX2JveGVzX2RyYXcpLAoJICAoZ3N0X3dpcGVfdHJpYW5nbGVzX2Nsb2NrX2RyYXcpLCAoZ3N0X3dpcGVfdHJpYW5nbGVzX2RyYXcpOgoJICAqIGdzdC9zbXB0ZS9nc3RtYXNrLmM6IChfZ3N0X21hc2tfcmVnaXN0ZXIpOgoJICAqIGdzdC9zbXB0ZS9nc3RtYXNrLmg6CgkgICogZ3N0L3NtcHRlL2dzdHNtcHRlLmM6IChnc3Rfc21wdGVfdXBkYXRlX21hc2spOgoJICAqIGdzdC9zbXB0ZS9wYWludC5jOiAoZ3N0X3NtcHRlX3BhaW50X2hib3gpLCAoZHJhd19icmVzZW5oYW1fbGluZSksCgkgIChnc3Rfc21wdGVfcGFpbnRfdHJpYW5nbGVfY2xvY2spOgoJICBjb25zdGlmeSBzb21lIHN0YXRpYyBzdHJ1Y3RzLgoJICBEb24ndCB1cGRhdGUgdGhlIG1hc2sgaWYgbm90aGluZyBjaGFuZ2VkIHRvIHRoZSBwYXJhbXMuCgkgIE1ha2Ugc3VyZSB3ZSBuZXZlciBkcmF3IG91dHNpZGUgb2YgdGhlIHBpY3R1cmUuIEZpeGVzICMzOTgzMjUuCgoyMDA3LTAxLTIyIDEzOjA2OjQzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiBFcnJvciBvdXQgcHJvcGVybHkgd2hlbiBwdWxsX3JhbmdlIGZhaWxzIHdoaWxlIHdlJ3JlIHJlYWRpbmcgdGhlIGhlYWRlcnMsIGluc3RlYWQgb2YganVzdCBwYXVzLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2hlYWRlcl9wdWxsKToKCSAgRXJyb3Igb3V0IHByb3Blcmx5IHdoZW4gcHVsbF9yYW5nZSBmYWlscyB3aGlsZSB3ZSdyZSByZWFkaW5nIHRoZQoJICBoZWFkZXJzLCBpbnN0ZWFkIG9mIGp1c3QgcGF1c2luZyB0aGUgdGFzayBzaWxlbnRseS4gRml4ZXMgIzM5OTMzOC4KCjIwMDctMDEtMTkgMTM6MDY6MDcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3Qvc21wdGUvZ3N0c21wdGUuYzogU29tZSBtb3JlIHNhbml0eSBjaGVja3MgdG8gbWFrZSBzdXJlIHRoZSBpbnB1dCBmb3JtYXRzIG1hdGNoIGFuZCB0aGUgaW5wdXQgcGFkcyBhcmUgYWN0dWFsbHkgbmUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NtcHRlL2dzdHNtcHRlLmM6IChnc3Rfc21wdGVfY29sbGVjdGVkKToKCSAgU29tZSBtb3JlIHNhbml0eSBjaGVja3MgdG8gbWFrZSBzdXJlIHRoZSBpbnB1dCBmb3JtYXRzIG1hdGNoIGFuZCB0aGUKCSAgaW5wdXQgcGFkcyBhcmUgYWN0dWFsbHkgbmVnb3RpYXRlZCwgaW4gY2FzZSBzb21lb25lIHRyaWVzIHRvIGZlZWQKCSAgYnVmZmVycyBmcm9tIGZha2VzcmMgb3IgZmlsZXNyYy4gRml4ZXMgIzM5ODI5OS4KCSAgQWxzbyBjb25zdC1pZnkgYW4gYXJyYXksIGp1c3QgYmVjYXVzZSB3ZSBjYW4uCgoyMDA3LTAxLTE5IDEwOjM1OjEzICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L3NtcHRlL2dzdHNtcHRlLmM6IElnbm9yZSBwcmV2aW91cyBjb21taXQsIHRoYXQgd2FzIG9ubHkgdmFsaWQgZm9yIHdpZHRocyBhbmQgaGVpZ2h0cyB0aGF0IGFyZSBtdWx0aXBsZXMgb2YgNC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NtcHRlL2dzdHNtcHRlLmM6IChmaWxsX2k0MjApLCAoZ3N0X3NtcHRlX2NvbGxlY3RlZCk6CgkgIElnbm9yZSBwcmV2aW91cyBjb21taXQsIHRoYXQgd2FzIG9ubHkgdmFsaWQgZm9yIHdpZHRocyBhbmQgaGVpZ2h0cwoJICB0aGF0IGFyZSBtdWx0aXBsZXMgb2YgNC4KCSAgQ29weSBvdmVyIHNpemUvc3RyaWRlIG1hY3JvcyBmcm9tIGpwZWdkZWMuIFRoaXMgYWxsb3dzIHRoZSBlbGVtZW50CgkgIHRvIHdvcmsgd2l0aCBhbnkgd2lkdGgsaGVpZ2h0Li4uCgkgIC4uLiBidXQgcHV0cyBpbiBldmlkZW5jZSB0aGF0IHRoZSBhY3R1YWwgdHJhbnNmb3JtYXRpb25zIG9ubHkgd29yawoJICB3aXRoIHdpZHRoL2hlaWdodCB0aGF0IGFyZSBtdWx0aXBsZXMgb2YgNC4KCjIwMDctMDEtMTkgMDk6NDg6NDcgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3Qvc21wdGUvZ3N0c21wdGUuYzogQWxsb2NhdGUgYnVmZmVycyBvZiB0aGUgcmlnaHQgc2l6ZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NtcHRlL2dzdHNtcHRlLmM6IChnc3Rfc21wdGVfY29sbGVjdGVkKToKCSAgQWxsb2NhdGUgYnVmZmVycyBvZiB0aGUgcmlnaHQgc2l6ZS4KCSAgVGhlIHByb3BlciBzaXplIG9mIGEgSTQyMCBidWZmZXIgaW4gYnl0ZXMgaXM6CgkgIHdpZHRoICogaGVpZ2h0ICogMwoJICAtLS0tLS0tLS0tLS0tLS0tLS0KCSAgMgoKMjAwNy0wMS0xOCAxODozNzozOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9zbXB0ZS9nc3RzbXB0ZS5jOiBQcm94eSBnZXRjYXBzIG9uIHNpbmsgcGFkcyB0b28sIHNvIHRoYXQgd2UgZWl0aGVyIGVuZCB1cCB3aXRoIHRoZSBzYW1lIGRpbWVuc2lvbnMgb24gYWxsIHBhZHMgby4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc21wdGUvZ3N0c21wdGUuYzogKGdzdF9zbXB0ZV9pbml0KToKCSAgUHJveHkgZ2V0Y2FwcyBvbiBzaW5rIHBhZHMgdG9vLCBzbyB0aGF0IHdlIGVpdGhlciBlbmQgdXAgd2l0aCB0aGUKCSAgc2FtZSBkaW1lbnNpb25zIG9uIGFsbCBwYWRzIG9yIGVycm9yIG91dCBpZiB0aGF0J3Mgbm90IHBvc3NpYmxlCgkgIChzZWVtcyB0byB3b3JrIGV2ZW4hKS4gRml4ZXMgIzM5ODA4NiwgSSB0aGluay4KCjIwMDctMDEtMTggMTE6Mjk6MTcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBkb2NzL3BsdWdpbnMvOiBSZW1vdmUgbGFkc3BhIGZyb20gZG9jczsgYWRkIGhpZXJhcmNoeSBpbmZvIGZvciBHc3RBdWRpb1Bhbm9yYW1hOyBmaXggaW50ZWdlciBwcm9wZXJ0aWVzIHdpdGggLTEgYXMgbWkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJICBSZW1vdmUgbGFkc3BhIGZyb20gZG9jczsgYWRkIGhpZXJhcmNoeSBpbmZvIGZvciBHc3RBdWRpb1Bhbm9yYW1hOwoJICBmaXggaW50ZWdlciBwcm9wZXJ0aWVzIHdpdGggLTEgYXMgbWluaW11bSB2YWx1ZS4KCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkaW8ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oYWxlbGVtZW50cy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYmFsYW5jZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9mbGlwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSAgVXBkYXRlIHRvIENWUy4KCjIwMDctMDEtMTggMTE6MjM6MzYgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9hdWRpb2Z4L2F1ZGlvcGFub3JhbWEuYzogRml4IGRvYyBzZWN0aW9uIG5hbWUgKEZpeGVzICMzOTc5NDYpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvcGFub3JhbWEuYzoKCSAgRml4IGRvYyBzZWN0aW9uIG5hbWUgKEZpeGVzICMzOTc5NDYpCgoyMDA3LTAxLTE4IDEwOjMzOjUwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogQ2hhbmdlTG9nOgoJICBSZW1vdmUgYm9ndXMgQ2hhbmdlTG9nIGVudHJ5CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBSZW1vdmUgYm9ndXMgQ2hhbmdlTG9nIGVudHJ5CgoyMDA3LTAxLTE3IDE0OjMwOjUwICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBzeXMvdjRsMi86IEZpeCBFSU8gaGFuZGluZyB3aGVuIGNhcHR1cmluZy4gQWRkIG5ldyBwcm9wZXJ0eSB0byBzcGVjaWZ5IHRoZSBudW1iZXIgb2YgYnVmZmVycyB0byBlbnF1ZSAoYW5kIHJlbW92ZSB0aGUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICAoZ3N0X3Y0bDJfb2JqZWN0X2luc3RhbGxfcHJvcGVydGllc19oZWxwZXIpLAoJICAoZ3N0X3Y0bDJfb2JqZWN0X3NldF9wcm9wZXJ0eV9oZWxwZXIpLAoJICAoZ3N0X3Y0bDJfb2JqZWN0X2dldF9wcm9wZXJ0eV9oZWxwZXIpLCAoZ3N0X3Y0bDJfc2V0X2RlZmF1bHRzKToKCSAgKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOiAoZ3N0X3Y0bDJzcmNfY2xhc3NfaW5pdCksCgkgIChnc3RfdjRsMnNyY19pbml0KSwgKGdzdF92NGwyc3JjX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfdjRsMnNyY19nZXRfcHJvcGVydHkpLCAoZ3N0X3Y0bDJzcmNfc2V0X2NhcHMpOgoJICAqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzogKGdzdF92NGwyc3JjX2ZpbGxfZm9ybWF0X2xpc3QpLAoJICAoZ3N0X3Y0bDJzcmNfZ3JhYl9mcmFtZSksIChnc3RfdjRsMnNyY19zZXRfY2FwdHVyZSksCgkgIChnc3RfdjRsMnNyY19jYXB0dXJlX2luaXQpLCAoZ3N0X3Y0bDJzcmNfY2FwdHVyZV9zdGFydCksCgkgIChnc3RfdjRsMnNyY19jYXB0dXJlX2RlaW5pdCk6CgkgIEZpeCBFSU8gaGFuZGluZyB3aGVuIGNhcHR1cmluZy4gQWRkIG5ldyBwcm9wZXJ0eSB0byBzcGVjaWZ5IHRoZSBudW1iZXIgb2YKCSAgYnVmZmVycyB0byBlbnF1ZSAoYW5kIHJlbW92ZSB0aGUgYm9ya2VkIG51bS1idWZmZXJzIHVzYWdlKS4KCjIwMDctMDEtMTYgMDg6Mjk6MTEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9hdWRpb2Z4L2F1ZGlvcGFub3JhbWEuYzogVXNlIGEgZnVuY3Rpb24gYXJyYXkgZm9yIHByb2Nlc3MgbWV0aG9kcywgYWRkIG1vcmUgZG9jcyBhbmQgZGVmaW5lIHRoZSBzdGFydGluZGV4IG9mIGVudW1zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vIGNpcmN1bGFyLWNoYW9zIG9yZz4KCSAgKiBnc3QvYXVkaW9meC9hdWRpb3Bhbm9yYW1hLmM6IChnc3RfYXVkaW9fcGFub3JhbWFfY2xhc3NfaW5pdCksCgkgIChnc3RfYXVkaW9fcGFub3JhbWFfc2V0X3Byb2Nlc3NfZnVuY3Rpb24pOgoJICBVc2UgYSBmdW5jdGlvbiBhcnJheSBmb3IgcHJvY2VzcyBtZXRob2RzLCBhZGQgbW9yZSBkb2NzIGFuZCBkZWZpbmUgdGhlCgkgIHN0YXJ0aW5kZXggb2YgZW51bXMuCgoyMDA3LTAxLTE0IDE3OjU1OjMzICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYW5hdXdAc2t5bmV0LmJlPgoKCSAgQWRkIHN1cHBvcnQgZm9yIG1vcmUgdGhhbiBvbmUgYXVkaW8gc3RyZWFtOyB3cml0ZSBiZXR0ZXIgQVZJWCBoZWFkZXI7IHJlZmFjdG9yIGNvZGUgYSBiaXQ7IGRvbid0IGFubm91bmNlIHZvcmJpcyBjYXBzLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogTWFyayBOYXV3ZWxhZXJ0cyA8bWFuYXV3IGF0IHNreW5ldCBiZT4KCSAgKiBnc3QvYXZpL2dzdGF2aW11eC5jOiAoZ3N0X2F2aV9tdXhfZmluYWxpemUpLAoJICAoZ3N0X2F2aV9tdXhfcGFkX3Jlc2V0KSwgKGdzdF9hdmlfbXV4X3Jlc2V0KSwgKGdzdF9hdmlfbXV4X2luaXQpLAoJICAoZ3N0X2F2aV9tdXhfdmlkc2lua19zZXRfY2FwcyksIChnc3RfYXZpX211eF9hdWRzaW5rX3NldF9jYXBzKSwKCSAgKGdzdF9hdmlfbXV4X3JlcXVlc3RfbmV3X3BhZCksIChnc3RfYXZpX211eF9yZWxlYXNlX3BhZCksCgkgIChnc3RfYXZpX211eF9yaWZmX2dldF9hdmlfaGVhZGVyKSwKCSAgKGdzdF9hdmlfbXV4X3JpZmZfZ2V0X2F2aXhfaGVhZGVyKSwgKGdzdF9hdmlfbXV4X3JpZmZfZ2V0X2hlYWRlciksCgkgIChnc3RfYXZpX211eF93cml0ZV9hdml4X2luZGV4KSwgKGdzdF9hdmlfbXV4X2FkZF9pbmRleCksCgkgIChnc3RfYXZpX211eF9iaWdmaWxlKSwgKGdzdF9hdmlfbXV4X3N0YXJ0X2ZpbGUpLAoJICAoZ3N0X2F2aV9tdXhfc3RvcF9maWxlKSwgKGdzdF9hdmlfbXV4X2hhbmRsZV9ldmVudCksCgkgIChnc3RfYXZpX211eF9kb19idWZmZXIpLCAoZ3N0X2F2aV9tdXhfZG9fb25lX2J1ZmZlciksCgkgIChnc3RfYXZpX211eF9jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9hdmkvZ3N0YXZpbXV4Lmg6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYXZpbXV4LmM6ICh0ZWFyZG93bl9zcmNfcGFkKToKCSAgQWRkIHN1cHBvcnQgZm9yIG1vcmUgdGhhbiBvbmUgYXVkaW8gc3RyZWFtOyB3cml0ZSBiZXR0ZXIgQVZJWAoJICBoZWFkZXI7IHJlZmFjdG9yIGNvZGUgYSBiaXQ7IGRvbid0IGFubm91bmNlIHZvcmJpcyBjYXBzIG9uIG91ciBhdWRpbwoJICBzaW5rIHBhZHMgc2luY2Ugd2UgZG9uJ3Qgc3VwcG9ydCBpdCBhbnl3YXkuIENsb3NlcyAjMzc5Mjk4LgoKMjAwNy0wMS0xMyAxOToxMjozMiArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSAgZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmMgKGdzdF9kZWludGVybGVhdmVfYWRkX25ld19wYWRzKTogVXNlIGZpeGVkIGNhcHMgb24gc3JjIHBhZHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA3LTAxLTEzICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jIChnc3RfZGVpbnRlcmxlYXZlX2FkZF9uZXdfcGFkcyk6CgkgIFVzZSBmaXhlZCBjYXBzIG9uIHNyYyBwYWRzLgoJICAoZ3N0X2RlaW50ZXJsZWF2ZV9yZW1vdmVfcGFkcyk6IFJlbW92ZSBzcmMgcGFkcywgbm90IHNpbmsgcGFkcy4gSQoJICBzZWVtIHRvIGhhdmUgcmV2ZXJzZSBtaWRhcyBkaXNlYXNlIQoJICAoZ3N0X2RlaW50ZXJsZWF2ZV9wcm9jZXNzKTogUHJveHkgdGltZXN0YW1wcywgb2Zmc2V0cywgZHVyYXRpb25zLAoJICBhbmQgc2V0IGNhcHMgb24gb3V0Z29pbmcgYnVmZmVycy4gRml4ZXMgIzM5NTU5NywgSSB0aGluay4KCjIwMDctMDEtMTMgMTg6MDE6NDEgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkgIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYyAoZ3N0X2ludGVybGVhdmVfaW5pdCk6IEluaXQgdGhlIGFjdGl2YXRpb24gbW9kZSBwcm9wZXJseS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMDEtMTMgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jIChnc3RfaW50ZXJsZWF2ZV9pbml0KTogSW5pdCB0aGUKCSAgYWN0aXZhdGlvbiBtb2RlIHByb3Blcmx5LgoJICAoZ3N0X2ludGVybGVhdmVfc3JjX3NldGNhcHMsIGdzdF9pbnRlcmxlYXZlX3NyY19nZXRjYXBzKQoJICAoZ3N0X2ludGVybGVhdmVfaW5pdCk6IFNldCBhIHNldGNhcHMgYW5kIGdldGNhcHMgZnVuY3Rpb24gb24gdGhlCgkgIHNyYyBwYWQsIHNvIHRoYXQgd2UgY2FuIGltcGxlbWVudCBwdWxsLW1vZGUgbmVnb3RpYXRpb24uCgkgIChnc3RfaW50ZXJsZWF2ZV9zaW5rX3NldGNhcHMpOiBSZW5hbWVkIGZyb20KCSAgZ3N0X2ludGVybGVhdmVfc2V0Y2FwcywgYXMgaXQgb25seSBkb2VzIHRoZSBzaW5rIGxvZ2ljIG5vdy4KCSAgSW1wbGVtZW50IGJvdGggZm9yIHB1bGwtbW9kZSBhbmQgcHVzaC1tb2RlLgoJICAoZ3N0X2ludGVybGVhdmVfcHJvY2Vzcyk6IFNldCBjYXBzIG9uIG91ciBvdXRnb2luZyBidWZmZXIuCgkgIChnc3RfaW50ZXJsZWF2ZV9zcmNfYWN0aXZhdGVfcHVsbCk6IEZpeCBzb21lIG1vcmUgYm9ndXMgY2FzdHMuCgkgIFdoYXQgaXMgdXAgd2l0aCB0aGlzLgoKMjAwNy0wMS0xMyAxNTo1MjoxOCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2F1ZGlvZngvYXVkaW9wYW5vcmFtYS4qOiBBZGQgJ21ldGhvZCcgcHJvcGVydHkgYW5kIHByb3ZpZGUgYSBzaW1wbGUgKG5vbi1wc3ljaG9hY3VzdGljKSBwcm9jZXNzaW5nIG1ldGhvZCAoIzM5NDg1OSkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW8gY2lyY3VsYXItY2hhb3Mgb3JnPgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvcGFub3JhbWEuYzoKCSAgKGdzdF9hdWRpb19wYW5vcmFtYV9tZXRob2RfZ2V0X3R5cGUpLAoJICAoZ3N0X2F1ZGlvX3Bhbm9yYW1hX2NsYXNzX2luaXQpLCAoZ3N0X2F1ZGlvX3Bhbm9yYW1hX2luaXQpLAoJICAoZ3N0X2F1ZGlvX3Bhbm9yYW1hX3NldF9wcm9jZXNzX2Z1bmN0aW9uKSwKCSAgKGdzdF9hdWRpb19wYW5vcmFtYV9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2F1ZGlvX3Bhbm9yYW1hX2dldF9wcm9wZXJ0eSksIChnc3RfYXVkaW9fcGFub3JhbWFfc2V0X2NhcHMpLAoJICAoZ3N0X2F1ZGlvX3Bhbm9yYW1hX3RyYW5zZm9ybV9tMnNfaW50X3NpbXBsZSksCgkgIChnc3RfYXVkaW9fcGFub3JhbWFfdHJhbnNmb3JtX3Myc19pbnRfc2ltcGxlKSwKCSAgKGdzdF9hdWRpb19wYW5vcmFtYV90cmFuc2Zvcm1fbTJzX2Zsb2F0X3NpbXBsZSksCgkgIChnc3RfYXVkaW9fcGFub3JhbWFfdHJhbnNmb3JtX3Myc19mbG9hdF9zaW1wbGUpOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvcGFub3JhbWEuaDoKCSAgQWRkICdtZXRob2QnIHByb3BlcnR5IGFuZCBwcm92aWRlIGEgc2ltcGxlIChub24tcHN5Y2hvYWN1c3RpYykKCSAgcHJvY2Vzc2luZyBtZXRob2QgKCMzOTQ4NTkpLgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvcGFub3JhbWEuYzogKEdTVF9TVEFSVF9URVNUKSwKCSAgKHBhbm9yYW1hX3N1aXRlKToKCSAgVGVzdHMgZm9yIG5ldyBtZXRob2QuCgoyMDA3LTAxLTEyIDE4OjI4OjEzICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBnc3QtcGx1Z2lucy1nb29kLnNwZWMuaW46CgkgIGNvbW1lbnQgb3V0IExBRFNQQSBwbHVnaW4gZm9yIG5vdwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgY29tbWVudCBvdXQgTEFEU1BBIHBsdWdpbiBmb3Igbm93CgoyMDA3LTAxLTEyIDE3OjE2OjUxICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvOiBBZGQgWC1RVCBkZXBheWxvYWRlciB0aGF0IHdpbGwgZXZlbnR1YWxseSBzaGFyZSBjb2RlIHdpdGggdGhlIGRlbXV4ZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9xdGRlbXV4L2dzdHJ0cHhxdGRlcGF5LmM6IChnc3RfcnRwX3hxdF9kZXBheV9iYXNlX2luaXQpLAoJICAoZ3N0X3J0cF94cXRfZGVwYXlfY2xhc3NfaW5pdCksIChnc3RfcnRwX3hxdF9kZXBheV9pbml0KSwKCSAgKGdzdF9ydHBfeHF0X2RlcGF5X2ZpbmFsaXplKSwgKGdzdF9ydHBfcXVpY2t0aW1lX3BhcnNlX3NkKSwKCSAgKGdzdF9ydHBfeHF0X2RlcGF5X3NldGNhcHMpLCAoZ3N0X3J0cF94cXRfZGVwYXlfcHJvY2VzcyksCgkgIChnc3RfcnRwX3hxdF9kZXBheV9zZXRfcHJvcGVydHkpLCAoZ3N0X3J0cF94cXRfZGVwYXlfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9ydHBfeHF0X2RlcGF5X2NoYW5nZV9zdGF0ZSksIChnc3RfcnRwX3hxdF9kZXBheV9wbHVnaW5faW5pdCk6CgkgICogZ3N0L3F0ZGVtdXgvZ3N0cnRweHF0ZGVwYXkuaDoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9iYXNlX2luaXQpLAoJICAoZ3N0X3F0ZGVtdXhfbG9vcF9zdGF0ZV9oZWFkZXIpLCAoZ3N0X3F0ZGVtdXhfbG9vcCksCgkgIChxdGRlbXV4X3BhcnNlX21vb3YpLCAocXRkZW11eF9wYXJzZV9jb250YWluZXIpLAoJICAocXRkZW11eF9wYXJzZV9ub2RlKSwgKGdzdF9xdGRlbXV4X2FkZF9zdHJlYW0pLAoJICAocXRkZW11eF9wYXJzZV90cmFrKSwgKHF0ZGVtdXhfYXVkaW9fY2Fwcyk6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5oOgoJICAqIGdzdC9xdGRlbXV4L3F1aWNrdGltZS5jOiAocGx1Z2luX2luaXQpOgoJICBBZGQgWC1RVCBkZXBheWxvYWRlciB0aGF0IHdpbGwgZXZlbnR1YWxseSBzaGFyZSBjb2RlIHdpdGggdGhlIGRlbXV4ZXIuCgkgIE1ha2UgbmV3IHBsdWdpbiBlbnRyeSBwb2ludCB3aXRoIHF1aWNrdGltZSByZWxlYXRlZCBzdHVmZi4KCjIwMDctMDEtMTIgMTI6MTA6MTkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcXRkZW11eC9NYWtlZmlsZS5hbTogRGlzdCBhbGwgbmV3IGZpbGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9NYWtlZmlsZS5hbToKCSAgRGlzdCBhbGwgbmV3IGZpbGVzLgoKMjAwNy0wMS0xMiAxMDoyNzoyNSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGRvY3MvcGx1Z2lucy86IEFjdGl2YXRlIGRvY3MgZm9yIGphY2ssIHNkbCBhbmQgcXRkZW11eC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5zaWduYWxzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdGRlbXV4LnhtbDoKCSAgQWN0aXZhdGUgZG9jcyBmb3IgamFjaywgc2RsIGFuZCBxdGRlbXV4LgoKMjAwNy0wMS0xMiAxMDoyMjoxNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4LzogQ2xlYW51cCBhbmQgcmVmYWN0b3IgdG8gbWFrZSB0aGUgY29kZSBtb3JlIHJlYWRhYmxlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChleHRyYWN0X2luaXRpYWxfbGVuZ3RoX2FuZF9mb3VyY2MpLAoJICAoZ3N0X3F0ZGVtdXhfbG9vcF9zdGF0ZV9oZWFkZXIpLCAoZ3N0X3F0ZGVtdXhfY29tYmluZV9mbG93cyksCgkgIChnc3RfcXRkZW11eF9sb29wX3N0YXRlX21vdmllKSwgKGdzdF9xdGRlbXV4X2xvb3ApLAoJICAoZ3N0X3F0ZGVtdXhfY2hhaW4pLCAocXRkZW11eF9zaW5rX2FjdGl2YXRlX3B1bGwpLAoJICAocXRkZW11eF9pbmZsYXRlKSwgKHF0ZGVtdXhfcGFyc2VfbW9vdiksIChxdGRlbXV4X3BhcnNlX2NvbnRhaW5lciksCgkgIChxdGRlbXV4X3BhcnNlX25vZGUpLCAocXRkZW11eF90cmVlX2dldF9jaGlsZF9ieV90eXBlKSwKCSAgKHF0ZGVtdXhfdHJlZV9nZXRfc2libGluZ19ieV90eXBlKSwgKGdzdF9xdGRlbXV4X2FkZF9zdHJlYW0pLAoJICAocXRkZW11eF9wYXJzZV9zYW1wbGVzKSwgKHF0ZGVtdXhfcGFyc2Vfc2VnbWVudHMpLAoJICAocXRkZW11eF9wYXJzZV90cmFrKSwgKHF0ZGVtdXhfdGFnX2FkZF9zdHIpLCAocXRkZW11eF90YWdfYWRkX251bSksCgkgIChxdGRlbXV4X3RhZ19hZGRfZGF0ZSksIChxdGRlbXV4X3RhZ19hZGRfZ25yZSksCgkgIChxdGRlbXV4X3BhcnNlX3VkdGEpLCAocXRkZW11eF9yZWRpcmVjdHNfc29ydF9mdW5jKSwKCSAgKHF0ZGVtdXhfcHJvY2Vzc19yZWRpcmVjdHMpLCAocXRkZW11eF9wYXJzZV9yZWRpcmVjdHMpLAoJICAocXRkZW11eF9wYXJzZV90cmVlKSwgKGdzdF9xdGRlbXV4X2hhbmRsZV9lc2RzKSwKCSAgKHF0ZGVtdXhfdmlkZW9fY2FwcyksIChxdGRlbXV4X2F1ZGlvX2NhcHMpOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguaDoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4X2R1bXAuYzogKHF0ZGVtdXhfZHVtcF9tdmhkKSwKCSAgKHF0ZGVtdXhfZHVtcF90a2hkKSwgKHF0ZGVtdXhfZHVtcF9lbHN0KSwgKHF0ZGVtdXhfZHVtcF9tZGhkKSwKCSAgKHF0ZGVtdXhfZHVtcF9oZGxyKSwgKHF0ZGVtdXhfZHVtcF92bWhkKSwgKHF0ZGVtdXhfZHVtcF9kcmVmKSwKCSAgKHF0ZGVtdXhfZHVtcF9zdHNkKSwgKHF0ZGVtdXhfZHVtcF9zdHRzKSwgKHF0ZGVtdXhfZHVtcF9zdHNzKSwKCSAgKHF0ZGVtdXhfZHVtcF9zdHNjKSwgKHF0ZGVtdXhfZHVtcF9zdHN6KSwgKHF0ZGVtdXhfZHVtcF9zdGNvKSwKCSAgKHF0ZGVtdXhfZHVtcF9jbzY0KSwgKHF0ZGVtdXhfZHVtcF9kY29tKSwgKHF0ZGVtdXhfZHVtcF9jbXZkKSwKCSAgKHF0ZGVtdXhfZHVtcF91bmtub3duKSwgKHF0ZGVtdXhfbm9kZV9kdW1wX2ZvcmVhY2gpLAoJICAocXRkZW11eF9ub2RlX2R1bXApOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfZHVtcC5oOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfZm91cmNjLmg6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eF90eXBlcy5jOiAocXRkZW11eF90eXBlX2dldCk6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eF90eXBlcy5oOgoJICAqIGdzdC9xdGRlbXV4L3F0cGFsZXR0ZS5oOgoJICBDbGVhbnVwIGFuZCByZWZhY3RvciB0byBtYWtlIHRoZSBjb2RlIG1vcmUgcmVhZGFibGUuCgkgIE1vdmUgZGVidWdnaW5nL3RhYmxlcyBpbnRvIHNlcGFyYXRlIGZpbGVzLgoJICBBZGQgMi80LzE2IGNvbG9yIHBhbGxldGVlIHN1cHBvcnQuCgkgIEZpeCByYXcgMTUgYml0IFJHQiBoYW5kbGluZy4KCSAgVXNlIG1vcmUgRk9VUkNDIGNvbnN0YW50cy4KCSAgQWRkIHNvbWUgZG9jcy4KCjIwMDctMDEtMTEgMTk6NTE6MDQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzogTWlub3IgY2xlYW4tdXA6IHVzZSBlbnVtIHZhbHVlcyBpbnN0ZWFkIG9mIGhhcmRjb2RlZCBjb25zdGFudHMgKCMzOTU1MzYpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFNlYmFzdGlhbiBEcsO2Z2UgIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOiAoZ3N0X3dhdnBhY2tfZW5jX21vZGVfZ2V0X3R5cGUpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX2NvcnJlY3Rpb25fbW9kZV9nZXRfdHlwZSksCgkgIChnc3Rfd2F2cGFja19lbmNfam9pbnRfc3RlcmVvX21vZGVfZ2V0X3R5cGUpOgoJICBNaW5vciBjbGVhbi11cDogdXNlIGVudW0gdmFsdWVzIGluc3RlYWQgb2YgaGFyZGNvZGVkIGNvbnN0YW50cyAoIzM5NTUzNikuCgoyMDA3LTAxLTExIDE2OjU5OjQwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0LzogU2V0IGNvcnJlY3QgY2FwcyBvbiBvdXRnb2luZyBwdWxsZWQgYnVmZmVycywgb3IgdGhpbmdzIGJsb3cgdXAgYWZ0ZXIgcmVjZW50IGNvcmUgY2hhbmdlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2FwZXRhZy9nc3R0YWdkZW11eC5jOiAoZ3N0X3RhZ19kZW11eF9yZWFkX3JhbmdlKToKCSAgKiBnc3QvaWQzZGVtdXgvZ3N0aWQzZGVtdXguYzogKGdzdF9pZDNkZW11eF9yZWFkX3JhbmdlKToKCSAgU2V0IGNvcnJlY3QgY2FwcyBvbiBvdXRnb2luZyBwdWxsZWQgYnVmZmVycywgb3IgdGhpbmdzIGJsb3cgdXAKCSAgYWZ0ZXIgcmVjZW50IGNvcmUgY2hhbmdlcy4KCjIwMDctMDEtMTEgMTE6MDU6MDQgKzAwMDAgIEpvbmFzIEhvbG1iZXJnIDxqb25hcy5ob2xtYmVyZ0BheGlzLmNvbT4KCgkgIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0bXV4LmM6IFJldHVybiBGTE9XIGVycm9ycyBBU0FQLiBGaXhlcyAjMzk0OTc3LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQmFzZWQgb24gcGF0Y2ggYnk6IEpvbmFzIEhvbG1iZXJnIDxqb25hcyBkb3QgaG9sbWJlcmcgYXQgYXhpcyBkb3QgY29tPgoJICAqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0bXV4LmM6IChnc3RfbXVsdGlwYXJ0X211eF9pbml0KSwKCSAgKGdzdF9tdWx0aXBhcnRfbXV4X3JlcXVlc3RfbmV3X3BhZCksCgkgIChnc3RfbXVsdGlwYXJ0X211eF9xdWV1ZV9wYWRzKSwgKGdzdF9tdWx0aXBhcnRfbXV4X2NvbGxlY3RlZCksCgkgIChnc3RfbXVsdGlwYXJ0X211eF9jaGFuZ2Vfc3RhdGUpOgoJICBSZXR1cm4gRkxPVyBlcnJvcnMgQVNBUC4gRml4ZXMgIzM5NDk3Ny4KCSAgTWlzYyBjbGVhbnVwcy4KCjIwMDctMDEtMTEgMDk6MzA6NTkgKzAwMDAgIEx1dHogTXVlbGxlciA8bHV0ekB0b3Bmcm9zZS5kZT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogQ2hlY2sgZm9yIHN0cmVhbSBwYWQgYmVmb3JlIGFjdGl2YXRpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogTHV0eiBNdWVsbGVyIDxsdXR6IGF0IHRvcGZyb3NlIGRvdCBkZT4KCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19hY3RpdmF0ZV9zdHJlYW1zKToKCSAgQ2hlY2sgZm9yIHN0cmVhbSBwYWQgYmVmb3JlIGFjdGl2YXRpbmcuCgoyMDA3LTAxLTEwIDE1OjE5OjQ4ICswMDAwICBQZXRlciBLamVsbGVyc3RlZHQgPHBrakBheGlzLmNvbT4KCgkgIGdzdC9ydHNwLzogQWxsb3cgdXJsIHRvIGJlIE5VTEwgdG8gYmUgYWJsZSB0byB1c2UgaXQgZm9yIHNlcnZlciBjb25uZWN0aW9ucy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBQZXRlciBLamVsbGVyc3RlZHQgIDxwa2ogYXQgYXhpcyBjb20+CgkgICogZ3N0L3J0c3AvQ09QWUlORy5NSVQ6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfY3JlYXRlX3N0cmVhbSksCgkgIChnc3RfcnRzcHNyY19zdHJlYW1fZnJlZSksIChnc3RfcnRzcHNyY19jbGVhbnVwKSwKCSAgKGdzdF9ydHNwc3JjX2FsbG9jX3VkcF9wb3J0cyksIChwYWRfdW5ibG9ja2VkKSwgKHBhZF9ibG9ja2VkKSwKCSAgKGdzdF9ydHNwc3JjX3N0cmVhbV9jb25maWd1cmVfdHJhbnNwb3J0KSwKCSAgKGdzdF9ydHNwc3JjX2FjdGl2YXRlX3N0cmVhbXMpLCAoZ3N0X3J0c3BzcmNfbG9vcF9pbnRlcmxlYXZlZCksCgkgIChnc3RfcnRzcHNyY19sb29wX3VkcCksIChnc3RfcnRzcHNyY19zZW5kKSwKCSAgKGdzdF9ydHNwc3JjX3BhcnNlX21ldGhvZHMpLAoJICAoZ3N0X3J0c3BzcmNfY3JlYXRlX3RyYW5zcG9ydHNfc3RyaW5nKSwKCSAgKGdzdF9ydHNwc3JjX3ByZXBhcmVfdHJhbnNwb3J0cyksIChnc3RfcnRzcHNyY19zZXR1cF9zdHJlYW1zKSwKCSAgKGdzdF9ydHNwc3JjX29wZW4pLCAoZ3N0X3J0c3BzcmNfY2xvc2UpOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgKiBnc3QvcnRzcC9ydHNwY29ubmVjdGlvbi5jOiAocnRzcF9jb25uZWN0aW9uX2NyZWF0ZSksCgkgIChydHNwX2Nvbm5lY3Rpb25fY29ubmVjdCksIChydHNwX2Nvbm5lY3Rpb25fc2VuZCksIChyZWFkX2xpbmUpLAoJICAocGFyc2VfcmVxdWVzdF9saW5lKSwgKHBhcnNlX2xpbmUpLCAocnRzcF9jb25uZWN0aW9uX3JlYWQpLAoJICAocnRzcF9jb25uZWN0aW9uX2Nsb3NlKToKCSAgKiBnc3QvcnRzcC9ydHNwZGVmcy5jOiAocnRzcF9pbml0X3N0YXR1cyksIChydHNwX3N0cnJlc3VsdCksCgkgIChydHNwX21ldGhvZF9hc190ZXh0KSwgKHJ0c3BfaGVhZGVyX2FzX3RleHQpLAoJICAocnRzcF9zdGF0dXNfYXNfdGV4dCksIChydHNwX2ZpbmRfaGVhZGVyX2ZpZWxkKSwKCSAgKHJ0c3BfZmluZF9tZXRob2QpOgoJICAqIGdzdC9ydHNwL3J0c3BkZWZzLmg6CgkgICogZ3N0L3J0c3AvcnRzcGV4dHdtcy5jOiAocnRzcF9leHRfd21zX2FmdGVyX3NlbmQpLAoJICAocnRzcF9leHRfd21zX2NvbmZpZ3VyZV9zdHJlYW0pOgoJICAqIGdzdC9ydHNwL3J0c3BtZXNzYWdlLmM6IChydHNwX21lc3NhZ2VfbmV3KSwgKHJ0c3BfbWVzc2FnZV9pbml0KSwKCSAgKHJ0c3BfbWVzc2FnZV9uZXdfcmVxdWVzdCksIChydHNwX21lc3NhZ2VfaW5pdF9yZXF1ZXN0KSwKCSAgKHJ0c3BfbWVzc2FnZV9uZXdfcmVzcG9uc2UpLCAocnRzcF9tZXNzYWdlX2luaXRfcmVzcG9uc2UpLAoJICAocnRzcF9tZXNzYWdlX2luaXRfZGF0YSksIChydHNwX21lc3NhZ2VfdW5zZXQpLAoJICAocnRzcF9tZXNzYWdlX2ZyZWUpLCAocnRzcF9tZXNzYWdlX2FkZF9oZWFkZXIpLAoJICAocnRzcF9tZXNzYWdlX2dldF9oZWFkZXIpLCAocnRzcF9tZXNzYWdlX3NldF9ib2R5KSwKCSAgKHJ0c3BfbWVzc2FnZV9nZXRfYm9keSksIChkdW1wX21lbSksIChydHNwX21lc3NhZ2VfZHVtcCk6CgkgICogZ3N0L3J0c3AvcnRzcG1lc3NhZ2UuaDoKCSAgKiBnc3QvcnRzcC9zZHBtZXNzYWdlLmM6IChzZHBfbWVzc2FnZV9nZXRfYXR0cmlidXRlX3ZhbF9uKSwKCSAgKHNkcF9tZWRpYV9nZXRfYXR0cmlidXRlX3ZhbF9uKSwgKHJlYWRfc3RyaW5nKSwgKHJlYWRfc3RyaW5nX2RlbCksCgkgIChzZHBfcGFyc2VfbGluZSksIChzZHBfbWVzc2FnZV9wYXJzZV9idWZmZXIpLCAocHJpbnRfbWVkaWEpLAoJICAoc2RwX21lc3NhZ2VfZHVtcCk6CgkgIEFsbG93IHVybCB0byBiZSBOVUxMIHRvIGJlIGFibGUgdG8gdXNlIGl0IGZvciBzZXJ2ZXIgY29ubmVjdGlvbnMuCgkgIENhbiBub3cgc2VuZCByZXNwb25zZXMgYXMgd2VsbCBhcyByZXF1ZXN0cy4KCSAgTm8gbG9uZ2VyIGhhbmdzIGluIGFuIGVuZGxlc3MgbG9vcCBpZiBFT0YgaXMgcmVjZWl2ZWQuCgkgIENhbiBub3cgY29udmVydCBhIHN0YXR1cyBjb2RlIHRvIGEgdGV4dCBzdHJpbmcuCgkgIFJldHVybiBSVFNQX0hEUl9JTlZBTElEIGZvciB1bmtub3duIGhlYWRlcnMuCgkgIFJldHVybiBSVFNQX0lOVkFMSUQgZm9yIHVua25vd24gbWV0aG9kcy4KCSAgQ29weSBDU2VxIGFuZCBTZXNzaW9uIGhlYWRlcnMgZnJvbSB0aGUgcmVxdWVzdC4KCSAgT25seSBmcmVlIG1lbW9yeSBjb3JyZXNwb25kaW5nIHRvIHRoZSBjdXJyZW50bHkgc2V0IG1lc3NhZ2UgdHlwZS4KCSAgQWRkZWQgY29uc3QgdG8gZnVuY3Rpb24gYXJndW1lbnRzIGFzIGFwcHJvcHJpYXRlLgoJICBBdm9pZCBhIGNvbXBpbGVyIHdhcm5pbmcgd2hlbiBpbml0aWFsaXppbmcgbm1lZGlhLgoJICBVc2UgZ3VpbnQgcmF0aGVyIHRoYW4gZ2ludCB0byBhdm9pZCBjb21waWxlciB3YXJuaW5ncy4KCSAgRml4IGNyYXNoZXIgaW4gd21zIGV4dGVuc2lvbi4KCSAgRmFjdG9yIG91dCBzdHJlYW0gc2V0dXAgZnJvbSBvcGVuX2Nvbm5lY3Rpb24uCgkgIERlbGF5IGFjdGl2YXRpb24gb2Ygc3RyZWFtcyB3aGVuIGFjdHVhbCBkYXRhIGlzIHJlY2VpdmVkIGZyb20gdGhlCgkgIHNlcnZlciwgdGhpcyBwcmVwYXJlcyB1cyB0byBkbyBwcm9wZXIgcHJvdG9jb2wgc3dpdGNoaW5nLgoJICBBZGRlZCBuZXcgbGljZW5zZS4KCSAgRml4ZXMgIzM4MDg5NS4KCjIwMDctMDEtMTAgMDk6NDc6NDMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFNvbWUgc21hbGwgZG9jcyBmaXhlcyAoIzM5NDg1MSkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW8gdWJ1bnR1IGNvbT4KCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9wYW5vcmFtYS5jOgoJICBTb21lIHNtYWxsIGRvY3MgZml4ZXMgKCMzOTQ4NTEpLgoKMjAwNy0wMS0wOSAxMjoyNToyNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogRml4IGRvY3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgRml4IGRvY3MuCgoyMDA3LTAxLTA5IDEyOjIzOjQ4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC86IEFkZGVkIFJGQyAyMjUwIE1QRUcgVmlkZW8gRGVwYXlsb2FkZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkgICogZ3N0L3J0cC9nc3RydHAuYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wdmRlcGF5LmM6IChnc3RfcnRwX21wdl9kZXBheV9iYXNlX2luaXQpLAoJICAoZ3N0X3J0cF9tcHZfZGVwYXlfY2xhc3NfaW5pdCksIChnc3RfcnRwX21wdl9kZXBheV9pbml0KSwKCSAgKGdzdF9ydHBfbXB2X2RlcGF5X3NldGNhcHMpLCAoZ3N0X3J0cF9tcHZfZGVwYXlfcHJvY2VzcyksCgkgIChnc3RfcnRwX21wdl9kZXBheV9zZXRfcHJvcGVydHkpLCAoZ3N0X3J0cF9tcHZfZGVwYXlfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9ydHBfbXB2X2RlcGF5X2NoYW5nZV9zdGF0ZSksIChnc3RfcnRwX21wdl9kZXBheV9wbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBtcHZkZXBheS5oOgoJICBBZGRlZCBSRkMgMjI1MCBNUEVHIFZpZGVvIERlcGF5bG9hZGVyLgoJICAqIGdzdC9ydHAvZ3N0cnRwTDE2ZGVwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjNwZGVwYXkuYzogKGdzdF9ydHBfaDI2M3BfZGVwYXlfc2V0Y2FwcyksCgkgIChnc3RfcnRwX2gyNjNwX2RlcGF5X3Byb2Nlc3MpOgoJICBGaXggSGVhZGVyIGZpbGUuIFNtYWxsIGNsZWFudXBzLgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0Z2RlcGF5LmM6IChnc3RfcnRwX21wNGdfZGVwYXlfY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwX21wNGdfZGVwYXlfaW5pdCksIChnc3RfcnRwX21wNGdfZGVwYXlfZmluYWxpemUpLAoJICAoZ3N0X3J0cF9tcDRnX2RlcGF5X3Byb2Nlc3MpLCAoZ3N0X3J0cF9tcDRnX2RlcGF5X2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L3J0cC9nc3RydHBtcDR2ZGVwYXkuYzogKGdzdF9ydHBfbXA0dl9kZXBheV9jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBfbXA0dl9kZXBheV9pbml0KSwgKGdzdF9ydHBfbXA0dl9kZXBheV9maW5hbGl6ZSksCgkgIChnc3RfcnRwX21wNHZfZGVwYXlfc2V0Y2FwcyksIChnc3RfcnRwX21wNHZfZGVwYXlfcHJvY2VzcyksCgkgIChnc3RfcnRwX21wNHZfZGVwYXlfY2hhbmdlX3N0YXRlKToKCSAgUmVtb3ZlIHVzdXNlZCBjb2RlLiBSZW1vdmUgQWRhcHRlciBmcm9tIHN0YXRlIENoYW5nZS4gQWRkZWQgZGVidWcuCgkgICogZ3N0L3J0cC9nc3RydHBtcGFkZXBheS5jOiAoZ3N0X3J0cF9tcGFfZGVwYXlfYmFzZV9pbml0KSwKCSAgKGdzdF9ydHBfbXBhX2RlcGF5X2NsYXNzX2luaXQpLCAoZ3N0X3J0cF9tcGFfZGVwYXlfaW5pdCksCgkgIChnc3RfcnRwX21wYV9kZXBheV9zZXRjYXBzKSwgKGdzdF9ydHBfbXBhX2RlcGF5X3Byb2Nlc3MpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXBhZGVwYXkuaDoKCSAgU3ViY2xhc3MgYmFzZSBkZXBheWxvYWRlci4KCSAgQWRkZWQgZGVidWcuCgkgIFN1cHBvcnQgc3RhdGljIHBheWxvYWQgdHlwZSBhc3NpZ25tZW50IGFzIHdlbGwuCgkgICogZ3N0L3J0cC9nc3RydHBtcGFwYXkuYzoKCSAgRml4IGNhcHMuCgoyMDA3LTAxLTA4IDEyOjQ1OjEwICswMDAwICBWaW5jZW50IFRvcnJpIDx2dG9ycmlAdW5pdi1ldnJ5LmZyPgoKCSAgZXh0L2pwZWcvOiBUaGVzZSBsaWJqcGVnIGNhbGxiYWNrcyBzaG91bGQgcmV0dXJuIGEgJ2Jvb2xlYW4nICh1bnNpZ25lZCBjaGFyIGFwcGFyZW50bHkpIGFuZCBub3QgYSAnZ2Jvb2xlYW4nICh3aGljaCBtLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogVmluY2VudCBUb3JyaSAgPHZ0b3JyaSBhdCB1bml2LWV2cnkgZnI+CgkgICogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICAqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSAgKiBleHQvanBlZy9zbW9rZWNvZGVjLmM6CgkgIFRoZXNlIGxpYmpwZWcgY2FsbGJhY2tzIHNob3VsZCByZXR1cm4gYSAnYm9vbGVhbicgKHVuc2lnbmVkIGNoYXIKCSAgYXBwYXJlbnRseSkgYW5kIG5vdCBhICdnYm9vbGVhbicgKHdoaWNoIG1hcHMgdG8gZ2ludCkuIEZpeGVzCgkgIHdhcm5pbmdzIHdoZW4gY29tcGlsaW5nIHdpdGggTWluZ1cgKCMzOTM0MjcpLgoJICAqIGdzdC9ydHNwL3J0c3Bjb25uZWN0aW9uLmM6IChydHNwX2Nvbm5lY3Rpb25fcmVhZCk6CgkgIFVzZSBpb2N0bHNvY2tldCBvbiB3aW4zMi4KCSAgKiBnc3QvdWRwL2dzdHVkcHNyYy5jOiAoZ3N0X3VkcHNyY19jcmVhdGUpOgoJICBTb21lIHByaW50ZiBmb3JtYXQgZml4ZXMgZm9yIHdpbjMyLgoKMjAwNy0wMS0wNyAyMjowMzo1NCArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSAgTmV3IGVsZW1lbnRzIGludGVybGVhdmUgYW5kIGRlaW50ZXJsZWF2ZSwgaW1wbGVtZW50IGNoYW5uZWwgaW50ZXJsZWF2aW5nIGFuZCBkZWludGVybGVhdmluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMDEtMDcgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9pbnRlcmxlYXZlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9pbnRlcmxlYXZlL3BsdWdpbi5oOgoJICAqIGdzdC9pbnRlcmxlYXZlL3BsdWdpbi5jOgoJICAqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzoKCSAgKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYzogTmV3IGVsZW1lbnRzIGludGVybGVhdmUgYW5kCgkgIGRlaW50ZXJsZWF2ZSwgaW1wbGVtZW50IGNoYW5uZWwgaW50ZXJsZWF2aW5nIGFuZCBkZWludGVybGVhdmluZy4KCSAgVGhlIGludGVybGVhdmVyIGNhbiBvcGVyYXRlIGluIHB1bGwgb3IgcHVzaCBtb2RlIGJ1dCB0aGUKCSAgZGVpbnRlcmxlYXZlciBpcyBtb3JlIGxpa2UgYSBkZW11eGVyIGFuZCBjYW4gb25seSBvcGVyYXRlIGluIHB1c2gKCSAgbW9kZS4KCjIwMDctMDEtMDcgMTA6NDQ6MTIgKzAwMDAgIFPDqWJhc3RpZW4gTW91dHRlIDxzZWJhc3RpZW5AbW91dHRlLm5ldD4KCgkgIGdzdC9jdXR0ZXIvZ3N0Y3V0dGVyLmM6IFVzZSBnc3RfZ3VpbnQ2NF90b19nZG91YmxlIGZvciBjb252ZXJzaW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvY3V0dGVyL2dzdGN1dHRlci5jOiAoZ3N0X2N1dHRlcl9jaGFpbik6CgkgIFVzZSBnc3RfZ3VpbnQ2NF90b19nZG91YmxlIGZvciBjb252ZXJzaW9uLgoJICAqIHdpbjMyL3ZzNi9saWJnc3RtYXRyb3NrYS5kc3A6CgkgIEFkZCB6bGliIHRvIHRoZSBsaW5rLgoJICAqIHdpbjMyL3ZzNi9saWJnc3R2aWRlb2JveC5kc3A6CgkgIFVwZGF0ZSBsaWJvaWwgbGlicmFyeSBuYW1lIChwcm9qZWN0IGlzIGxpbmtlZCB0byBsaWJvaWwtMC4zLTAubGliIG5vdykuCgoyMDA3LTAxLTA1IDE4OjMyOjAzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgQ2hlY2sgZm9yIHpsaWIgYW5kIGlmIGF2YWlsYWJsZSBwYXNzIGl0IGV4cGxpY2l0bHkgdG8gdGhlIGxpbmtlciB3aGVuIGxpbmtpbmcgcXRkZW11eC4gSWYgbm90IGF2YWlsYWJsZSAob3IgLS1kaXNhYmxlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvcXRkZW11eC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3BhcnNlX21vb3YpOgoJICBDaGVjayBmb3IgemxpYiBhbmQgaWYgYXZhaWxhYmxlIHBhc3MgaXQgZXhwbGljaXRseSB0byB0aGUgbGlua2VyCgkgIHdoZW4gbGlua2luZyBxdGRlbXV4LiBJZiBub3QgYXZhaWxhYmxlIChvciAtLWRpc2FibGUtZXh0ZXJuYWwgaGFzCgkgIGJlZW4gc3BlY2lmaWVkISksIGRpc2FibGUgdGhlIGJpdHMgaW4gcXRkZW11eCB0aGF0IHVzZSBpdC4gRml4ZXMKCSAgYnVpbGQgb24gTWluZ1cgKCMzOTI4NTYpLgoKMjAwNy0wMS0wNSAxNzoyMzowNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9tYXRyb3NrYS9NYWtlZmlsZS5hbTogSWYgemxpYiBpcyBhdmFpbGFibGUgYW5kIHVzZWQsIHdlIG11c3QgbGluayBpdCBleHBsaWNpdGx5IGZvciB0aGluZ3MgdG8gd29yayBvbiBNaW5nVyAoZml4ZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvTWFrZWZpbGUuYW06CgkgIElmIHpsaWIgaXMgYXZhaWxhYmxlIGFuZCB1c2VkLCB3ZSBtdXN0IGxpbmsgaXQgZXhwbGljaXRseSBmb3IKCSAgdGhpbmdzIHRvIHdvcmsgb24gTWluZ1cgKGZpeGVzICMzOTI4NTUpLgoKMjAwNy0wMS0wNSAxNjowNzoxMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHRlc3RzL2ljbGVzL3ZpZGVvY3JvcC10ZXN0LmM6IENhbGwgZ190aHJlYWRfaW5pdCgpIHJpZ2h0IGF0IHRoZSBiZWdpbm5pbmcuIFJlbW92ZSBzdXBlcmZsdW91cyBnc3RfaW5pdCgpIC0gd2UndmUgYWxyZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9pY2xlcy92aWRlb2Nyb3AtdGVzdC5jOiAobWFpbik6CgkgIENhbGwgZ190aHJlYWRfaW5pdCgpIHJpZ2h0IGF0IHRoZSBiZWdpbm5pbmcuIFJlbW92ZSBzdXBlcmZsdW91cwoJICBnc3RfaW5pdCgpIC0gd2UndmUgYWxyZWFkeSBiZWVuIGluaXRlZCB2aWEgdGhlIEdPcHRpb24gc3R1ZmYuCgoyMDA3LTAxLTA0IDExOjAyOjI5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2VzZC9lc2RzaW5rLmM6IERvbid0IHJldHVybiBib2d1cyB2YWx1ZXMgd2hlbiBlc2RfZ2V0X2RlbGF5KCkgZmFpbHMgZm9yIHNvbWUgcmVhc29uICgjMzkyMTg5KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2VzZC9lc2RzaW5rLmM6IChnc3RfZXNkc2lua19kZWxheSk6CgkgIERvbid0IHJldHVybiBib2d1cyB2YWx1ZXMgd2hlbiBlc2RfZ2V0X2RlbGF5KCkgZmFpbHMgZm9yIHNvbWUKCSAgcmVhc29uICgjMzkyMTg5KS4KCjIwMDctMDEtMDQgMDk6NDQ6NTcgKzAwMDAgIFZpbmNlbnQgVG9ycmkgPHZ0b3JyaUB1bml2LWV2cnkuZnI+CgoJICBBZGQgZGlyZWN0c291bmRzaW5rIHRvIGJ1aWxkIGFuZCBkaXN0IGl0LCBzbyBpdCBnZXRzIGJ1aWx0IHdoZW4gY29tcGlsaW5nIHdpdGggTWluZ1cgb24gd2luMzIgYW5kIHRoZSByZXF1aXJlZCBoZWFkZXIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBWaW5jZW50IFRvcnJpICA8dnRvcnJpIGF0IHVuaXYtZXZyeSBmcj4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogc3lzL01ha2VmaWxlLmFtOgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkgIChnc3RfZGlyZWN0c291bmRzaW5rX3Jlc2V0KToKCSAgQWRkIGRpcmVjdHNvdW5kc2luayB0byBidWlsZCBhbmQgZGlzdCBpdCwgc28gaXQgZ2V0cyBidWlsdCB3aGVuCgkgIGNvbXBpbGluZyB3aXRoIE1pbmdXIG9uIHdpbjMyIGFuZCB0aGUgcmVxdWlyZWQgaGVhZGVycyBhbmQgbGlicmFyaWVzCgkgIGFyZSBhdmFpbGFibGUgKGZpeGVzOiAjMzkyNjM4KS4gQWxzbyBzaW1wbGlmeSBEaXJlY3REcmF3IGNoZWNrIGEgYml0LgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5jdnNpZ25vcmU6CgkgIEZpeCBDVlMgaWdub3JlIGZvciBuZW9uaHR0cHNyYyB0ZXN0IGJpbmFyeS4KCjIwMDctMDEtMDMgMTk6NTQ6MzMgKzAwMDAgIFZpbmNlbnQgVG9ycmkgPHZ0b3JyaUB1bml2LWV2cnkuZnI+CgoJICBBZGQgZGlyZWN0ZHJhd3NpbmsgdG8gYnVpbGQgYW5kIGRpc3QgaXQsIHNvIGl0IGdldHMgYnVpbHQgd2hlbiBjb21waWxpbmcgd2l0aCBNaW5nVyBvbiB3aW4zMiBhbmQgdGhlIHJlcXVpcmVkIGhlYWRlcnMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBWaW5jZW50IFRvcnJpICA8dnRvcnJpIGF0IHVuaXYtZXZyeSBmcj4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogc3lzL01ha2VmaWxlLmFtOgoJICAqIHN5cy9kaXJlY3RkcmF3L01ha2VmaWxlLmFtOgoJICBBZGQgZGlyZWN0ZHJhd3NpbmsgdG8gYnVpbGQgYW5kIGRpc3QgaXQsIHNvIGl0IGdldHMgYnVpbHQgd2hlbgoJICBjb21waWxpbmcgd2l0aCBNaW5nVyBvbiB3aW4zMiBhbmQgdGhlIHJlcXVpcmVkIGhlYWRlcnMgYW5kIGxpYnJhcmllcwoJICBhcmUgYXZhaWxhYmxlIChmaXhlczogIzM5MjMxMykuCgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgKGdzdF9kaXJlY3RkcmF3c2lua19jZW50ZXJfcmVjdCksIChnc3RfZGlyZWN0ZHJhd3Npbmtfc2hvd19mcmFtZSksCgkgIChnc3RfZGlyZWN0ZHJhd3Npbmtfc2V0dXBfZGRyYXcpLAoJICAoZ3N0X2RpcmVjdGRyYXdzaW5rX3N1cmZhY2VfY3JlYXRlKToKCSAgQ29tbWVudCBvdXQgc29tZSB1bnVzZWQgdGhpbmdzIGFuZCBmaXggc29tZSBwcmludGYgZm9ybWF0IGlzc3VlcyBpbgoJICBvcmRlciB0byBhdm9pZCB3YXJuaW5ncyB3aGVuIGJ1aWxkbGluZyB3aXRoIE1pbmdXICgjMzkyMzEzKS4KCjIwMDctMDEtMDMgMTY6NDE6MTAgKzAwMDAgIEplbnMgR3JhbnNldWVyIDxqZW5zZ3JAZ214Lm5ldD4KCgkgIEZpeCBidWlsZCB3aXRoIGdjYy0yLnggKGRlY2xhcmUgdmFyaWFibGVzIGF0IHRoZSBiZWdpbm5pbmcgb2YgYSBibG9jayBldGMuKS4gRml4ZXMgIzM5MTk3MS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBKZW5zIEdyYW5zZXVlciAgPGplbnNnciBhdCBnbXggbmV0PgoJICAqIGV4dC94dmlkL2dzdHh2aWRlbmMuYzogKGdzdF94dmlkZW5jX2VuY29kZSksCgkgIChnc3RfeHZpZGVuY19nZXRfcHJvcGVydHkpOgoJICAqIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5jOiAoYnB3c2luY190cmFuc2Zvcm1faXApOgoJICAqIGdzdC9maWx0ZXIvZ3N0ZmlsdGVyLmM6IChwbHVnaW5faW5pdCk6CgkgICogZ3N0L2ZpbHRlci9nc3RpaXIuYzogKGlpcl90cmFuc2Zvcm1faXApOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOiAobHB3c2luY190cmFuc2Zvcm1faXApOgoJICAqIGdzdC9tb2RwbHVnL2dzdG1vZHBsdWcuY2M6CgkgICogZ3N0L251dmRlbXV4L2dzdG51dmRlbXV4LmM6IChnc3RfbnV2X2RlbXV4X2hlYWRlcl9sb2FkKSwKCSAgKGdzdF9udXZfZGVtdXhfc3RyZWFtX2V4dGVuZF9oZWFkZXIpOgoJICBGaXggYnVpbGQgd2l0aCBnY2MtMi54IChkZWNsYXJlIHZhcmlhYmxlcyBhdCB0aGUgYmVnaW5uaW5nIG9mIGEKCSAgYmxvY2sgZXRjLikuIEZpeGVzICMzOTE5NzEuCgoyMDA2LTEyLTMwIDEyOjQ0OjAxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9jcm9wLmM6IFdoZW4gd2UgY2FuJ3QgY3JlYXRlIGFuIGVsZW1lbnQgbmVlZGVkIGZvciB0aGUgdGVzdCwgcHJpbnQgYSBtZXNzYWdlIGRldGFpbGluZyB3aGljLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvY3JvcC5jOiAoR1NUX1NUQVJUX1RFU1QpLAoJICAodmlkZW9jcm9wX3Rlc3RfY3JvcHBpbmdfaW5pdF9jb250ZXh0KToKCSAgV2hlbiB3ZSBjYW4ndCBjcmVhdGUgYW4gZWxlbWVudCBuZWVkZWQgZm9yIHRoZSB0ZXN0LCBwcmludCBhIG1lc3NhZ2UKCSAgZGV0YWlsaW5nIHdoaWNoIGVsZW1lbnQgaXQgYWN0dWFsbHkgaXMgdGhhdCdzIG1pc3NpbmcgKCMzOTA2NzMpLgoKMjAwNi0xMi0yNCAxMTozNjozMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6IEZpeCBwcmVzdW1hYmx5IGNvcHknbidwYXN0byBmb3IgMTZicHAgZGVwdGguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6IChjb21wb3NpdGVfcGl4ZWwpOgoJICBGaXggcHJlc3VtYWJseSBjb3B5J24ncGFzdG8gZm9yIDE2YnBwIGRlcHRoLgoKMjAwNi0xMi0yNCAxMToyNDo1OSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzogVGhlICJzaWduZWQiIGZpZWxkIGluIGF1ZGlvIGNhcHMgaXMgb2YgYm9vbGVhbiB0eXBlLCB0cnlpbmcgdG8gdXNlIGdzdF9zdHJ1Y3R1cmVfZ2V0X2ludC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIChnc3RfbWF0cm9za2FfbXV4X2F1ZGlvX3BhZF9zZXRjYXBzKToKCSAgVGhlICJzaWduZWQiIGZpZWxkIGluIGF1ZGlvIGNhcHMgaXMgb2YgYm9vbGVhbiB0eXBlLCB0cnlpbmcgdG8gdXNlCgkgIGdzdF9zdHJ1Y3R1cmVfZ2V0X2ludCgpIHRvIGV4dHJhY3QgaXQgd2lsbCBmYWlsLiBGaXhpbmcgdGhpcyBtYWtlcwoJICBtYXRyb3NrYW11eCBhY2NlcHQgcmF3IGF1ZGlvIGlucHV0ICgjMzg3MTIxKSAodXNlIGF0IHlvdXIgb3duIHJpc2sKCSAgdGhvdWdoLCBkdWUgdG8gdGhlIG1hdHJvc2thIHNwZWMgYmVpbmcgbm90IGVudGlyZWx5IHVzZWZ1bCBpbiB0aGlzCgkgIHJlc3BlY3QpLgoJICBBbHNvIGZpeCB1cCByYXcgYXVkaW8gc3RydWN0dXJlcyBpbiB0ZW1wbGF0ZSBjYXBzIHNvIHRoYXQgdGhleQoJICByZXByZXNlbnQgd2hhdCBvdXIgc2V0Y2FwcyBmdW5jdGlvbiB3aWxsIGFjdHVhbGx5IGFjY2VwdCwgc28gdGhhdAoJICBjb252ZXJ0ZXJzIGtub3cgd2hhdCB0byBjb252ZXJ0IHRvLgoJICBGaW5hbGx5LCBkb24ndCBmYWlsIGlmIHRoZXJlIGlzbid0IGFuICJlbmRpYW5uZXNzIiBmaWVsZCBpbiA4LWJpdAoJICBQQ00gY2Fwcy4KCjIwMDYtMTItMjIgMTA6MTU6MjQgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzLzogcmVhcHBseSBjb25zaXN0ZW50IHBhZCAoZGUpYWN0aXZhdGlvbgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGVnMmVuYy5jOiAoc2V0dXBfbXBlZzJlbmMpLAoJICAoY2xlYW51cF9tcGVnMmVuYyk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvcmdhbmFseXNpcy5jOiAoY2xlYW51cF9yZ2FuYWx5c2lzKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy93YXZwYWNrZGVjLmM6IChzZXR1cF93YXZwYWNrZGVjKSwKCSAgKGNsZWFudXBfd2F2cGFja2RlYyk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvd2F2cGFja2VuYy5jOiAoc2V0dXBfd2F2cGFja2VuYyksCgkgIChjbGVhbnVwX3dhdnBhY2tlbmMpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3k0bWVuYy5jOiAoc2V0dXBfeTRtZW5jKSwgKGNsZWFudXBfeTRtZW5jKToKCSAgcmVhcHBseSBjb25zaXN0ZW50IHBhZCAoZGUpYWN0aXZhdGlvbgoKMjAwNi0xMi0yMiAxMDoxNToyMyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvOiByZWFwcGx5IGNvbnNpc3RlbnQgcGFkIChkZSlhY3RpdmF0aW9uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvcGFub3JhbWEuYzogKGNsZWFudXBfcGFub3JhbWEpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F2aW11eC5jOiAoc2V0dXBfYXZpbXV4KSwgKGNsZWFudXBfYXZpbXV4KToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jbW1sZGVjLmM6IChzZXR1cF9jbW1sZGVjKSwKCSAgKHRlYXJkb3duX2NtbWxkZWMpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NtbWxlbmMuYzogKHNldHVwX2NtbWxlbmMpLAoJICAodGVhcmRvd25fY21tbGVuYyk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvbGV2ZWwuYzogKHNldHVwX2xldmVsKSwgKGNsZWFudXBfbGV2ZWwpOgoJICByZWFwcGx5IGNvbnNpc3RlbnQgcGFkIChkZSlhY3RpdmF0aW9uCgoyMDA2LTEyLTIxIDE3OjAzOjM5ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogQmFjayB0byBDVlMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBCYWNrIHRvIENWUwoJICAqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSAgQWRkIDAuMTAuNSBkb2FwIGVudHJ5Cgo9PT0gcmVsZWFzZSAwLjEwLjQgPT09CgoyMDA2LTEyLTIxIDE1OjQ1OjAyICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogcmVsZWFzaW5nIDAuMTAuNCwgIkJsYWNrIEJ1Z3MiCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICA9PT0gcmVsZWFzZSAwLjEwLjQgPT09CgkgIDIwMDYtMTItMjEgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgcmVsZWFzaW5nIDAuMTAuNCwgIkJsYWNrIEJ1Z3MiCgo9PT0gcmVsZWFzZSAwLjEwLjUgPT09CgoyMDA2LTEyLTIxIDE1OjQwOjU1ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogcmVsZWFzaW5nIDAuMTAuNSwgIlRoZSBQYXRoIG9mIFRob3JucyIKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgID09PSByZWxlYXNlIDAuMTAuNSA9PT0KCSAgMjAwNi0xMi0yMSAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgkgICogY29uZmlndXJlLmFjOgoJICByZWxlYXNpbmcgMC4xMC41LCAiVGhlIFBhdGggb2YgVGhvcm5zIgoKMjAwNi0xMi0yMSAxNDowMzo0MiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvbXBlZzJlbmMuYzogKHNldHVwX21wZWcyZW5jKQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGVnMmVuYy5jOiAoc2V0dXBfbXBlZzJlbmMpCgkgIChjbGVhbnVwX21wZWcyZW5jKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ2FuYWx5c2lzLmM6IChjbGVhbnVwX3JnYW5hbHlzaXMpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3dhdnBhY2tkZWMuYzogKHNldHVwX3dhdnBhY2tkZWMpLAoJICAoY2xlYW51cF93YXZwYWNrZGVjKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy93YXZwYWNrZW5jLmM6IChzZXR1cF93YXZwYWNrZW5jKSwKCSAgKGNsZWFudXBfd2F2cGFja2VuYyk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMveTRtZW5jLmM6IChzZXR1cF95NG1lbmMpLCAoY2xlYW51cF95NG1lbmMpOgoJICByZXZlcnQgbXkgZnJlZXplIGJyZWFrYWdlCgoyMDA2LTEyLTIxIDEyOjQ4OjMyICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy86IHJldmVydCBteSBmcmVlemUgYnJlYWthZ2UKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9wYW5vcmFtYS5jOiAoY2xlYW51cF9wYW5vcmFtYSk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYXZpbXV4LmM6IChzZXR1cF9hdmltdXgpLCAoY2xlYW51cF9hdmltdXgpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NtbWxkZWMuYzogKHNldHVwX2NtbWxkZWMpLAoJICAodGVhcmRvd25fY21tbGRlYyk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvY21tbGVuYy5jOiAoc2V0dXBfY21tbGVuYyksCgkgICh0ZWFyZG93bl9jbW1sZW5jKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9sZXZlbC5jOiAoc2V0dXBfbGV2ZWwpLCAoY2xlYW51cF9sZXZlbCk6CgkgIHJldmVydCBteSBmcmVlemUgYnJlYWthZ2UKCjIwMDYtMTItMjEgMDg6MjA6MTAgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzLzogY29uc2lzdGVudCBwYWQgKGRlKWFjdGl2YXRpb24KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBlZzJlbmMuYzogKHNldHVwX21wZWcyZW5jKSwKCSAgKGNsZWFudXBfbXBlZzJlbmMpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnYW5hbHlzaXMuYzogKGNsZWFudXBfcmdhbmFseXNpcyk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvd2F2cGFja2RlYy5jOiAoc2V0dXBfd2F2cGFja2RlYyksCgkgIChjbGVhbnVwX3dhdnBhY2tkZWMpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3dhdnBhY2tlbmMuYzogKHNldHVwX3dhdnBhY2tlbmMpLAoJICAoY2xlYW51cF93YXZwYWNrZW5jKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy95NG1lbmMuYzogKHNldHVwX3k0bWVuYyksIChjbGVhbnVwX3k0bWVuYyk6CgkgIGNvbnNpc3RlbnQgcGFkIChkZSlhY3RpdmF0aW9uCgoyMDA2LTEyLTIxIDA4OjE1OjIzICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy86IGNvbnNpc3RlbnQgcGFkIChkZSlhY3RpdmF0aW9uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvcGFub3JhbWEuYzogKGNsZWFudXBfcGFub3JhbWEpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F2aW11eC5jOiAoc2V0dXBfYXZpbXV4KSwgKGNsZWFudXBfYXZpbXV4KToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jbW1sZGVjLmM6IChzZXR1cF9jbW1sZGVjKSwKCSAgKHRlYXJkb3duX2NtbWxkZWMpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NtbWxlbmMuYzogKHNldHVwX2NtbWxlbmMpLAoJICAodGVhcmRvd25fY21tbGVuYyk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvbGV2ZWwuYzogKHNldHVwX2xldmVsKSwgKGNsZWFudXBfbGV2ZWwpOgoJICBjb25zaXN0ZW50IHBhZCAoZGUpYWN0aXZhdGlvbgoKMjAwNi0xMi0xOCAxNzoxMTo0OSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogRG9uJ3QgcG9zdCBCVUZGRVJJTkcgbWVzc2FnZXMgaW4gc3RyZWFtaW5nIG1vZGUgaWYgdGhlIHN0cmVhbSBoZWFkZXJzIGFyZSBiZWhpbmQgdGhlIG1vdmllIGRhdC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9wb3N0X3Byb2dyZXNzKSwKCSAgKGdzdF9xdGRlbXV4X2NoYWluKToKCSAgRG9uJ3QgcG9zdCBCVUZGRVJJTkcgbWVzc2FnZXMgaW4gc3RyZWFtaW5nIG1vZGUgaWYgdGhlIHN0cmVhbQoJICBoZWFkZXJzIGFyZSBiZWhpbmQgdGhlIG1vdmllIGRhdGE7IGluc3RlYWQsIHBvc3QgInByb2dyZXNzIiBlbGVtZW50CgkgIG1lc3NhZ2VzIGFzIGEgdGVtcG9yYXJ5IHNvbHV0aW9uLiBBcHBzIG1pZ2h0IGdldCBjb25mdXNlZCBhbmQgZG8KCSAgc2lsbHkgdGhpbmdzIHRvIHRoZSBwaXBlbGluZSBzdGF0ZSBpZiB0aGV5IHNlZSBidWZmZXJpbmcgbWVzc2FnZXMKCSAgZnJvbSBkaWZmZXJlbnQgc291cmNlcyBhbmQgZG9uJ3QgcmVhbGl6ZSB0aGV5IGNvbWUgZnJvbSBkaWZmZXJlbnQKCSAgc291cmNlcyAoIzM4NzE2MCkuCgoyMDA2LTEyLTE4IDE2OjQ2OjE3ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIERpc2FibGUgTEFEUFNBLCBhcyBpdCBoYXMgbW92ZWQgdG8gdGhlIC1iYWQgbW9kdWxlIGZvciB0aGUgZHVyYXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvTWFrZWZpbGUuYW06CgkgIERpc2FibGUgTEFEUFNBLCBhcyBpdCBoYXMgbW92ZWQgdG8gdGhlIC1iYWQgbW9kdWxlIGZvciB0aGUgZHVyYXRpb24uCgoyMDA2LTEyLTE4IDE1OjUxOjU0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuYzogUmVzZXQgZmxvd19zdGF0ZSBiYWNrIHRvIF9PSyBhZnRlciBhIGZsdXNoIHN0b3Agc28gdGhhdCB3ZSBleGl0IG91ciBlcnJvciBzdGF0ZSBhZnRlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmM6IChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9zZXRjYXBzKSwKCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX2V2ZW50KToKCSAgUmVzZXQgZmxvd19zdGF0ZSBiYWNrIHRvIF9PSyBhZnRlciBhIGZsdXNoIHN0b3Agc28gdGhhdCB3ZSBleGl0IG91cgoJICBlcnJvciBzdGF0ZSBhZnRlciB0aGUgZmx1c2guIEZpeGVzICMzNzQyMTMKCjIwMDYtMTItMTggMTU6NDk6MDggKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgQ2hhbmdlTG9nIHN1cmdlcnkgb24gb25lIG9mIFN0ZWZhbidzIGNvbW1pdHMgZnJvbSBBdWd1c3Q6CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBDaGFuZ2VMb2cgc3VyZ2VyeSBvbiBvbmUgb2YgU3RlZmFuJ3MgY29tbWl0cyBmcm9tIEF1Z3VzdDoKCSAgKiBleHQvTWFrZWZpbGUuYW06CgkgIFF1aWV0bHkgKGFjY2lkZW50YWxseSkgZW5hYmxlIExBRFNQQSBmb3IgYnVpbGRpbmcgYnkgZGVmYXVsdCwKCSAgZGVzcGl0ZSB0aGUgZmFjdCB0aGF0IGl0IGRvZXNuJ3QgbWVldCB0aGUgcGx1Z2luIGNoZWNrbGlzdC4KCSAgLS0gQWRkZWQgYnkgSmFuIFNjaG1pZHQgMTggRGVjIDIwMDYKCjIwMDYtMTItMTggMTM6NDA6MzQgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBEb24ndCBvdXRwdXQgZ193YXJuaW5nIGZvciBhbiB1bnN1cHBvcnRlZCBmb3JtYXQsIGp1c3Qgc2VuZCBhCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2NoYWluKSwKCSAgKGdzdF9xdGRlbXV4X2FkZF9zdHJlYW0pOgoJICBEb24ndCBvdXRwdXQgZ193YXJuaW5nIGZvciBhbiB1bnN1cHBvcnRlZCBmb3JtYXQsIGp1c3Qgc2VuZCBhCgkgIEdTVF9FTEVNRU5UX1dBUk5JTkcgYW5kIGRvbid0IGFkZCB0aGUgcGFkLgoJICBGaXggdGhlIGNhc2Ugd2hlcmUgaXQgZG9lc24ndCBjaGVjayBmb3IgYSBOVUxMIHBhZCBpbiBzdHJlYW1pbmcgbW9kZS4KCSAgRml4ZXMgIzM4NzEzNwoKMjAwNi0xMi0xOCAxMjoyNzozMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogRml4IGNyYXNoIGRlcmVmZXJlbmNpbmcgTlVMTCBwb2ludGVyIGlmIHRoZXJlJ3Mgbm8gc3RjbyBhdG9tLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3BhcnNlX3RyYWspOgoJICBGaXggY3Jhc2ggZGVyZWZlcmVuY2luZyBOVUxMIHBvaW50ZXIgaWYgdGhlcmUncyBubyBzdGNvIGF0b20uCgkgIEZpeGVzICMzODcxMjIuCgoyMDA2LTEyLTE4IDEwOjAyOjU2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0B1YnVudHUuY29tPgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5oOiBVc2UgbG9jYWwgY29weSBvZiBtZDUuaCwgYXMgaXQgZGlzYXBwZWFyZWQgaW4gcmVjZW50IHdhdnBhY2sgaW5zdGFsbHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuaDoKCSAgVXNlIGxvY2FsIGNvcHkgb2YgbWQ1LmgsIGFzIGl0IGRpc2FwcGVhcmVkIGluIHJlY2VudCB3YXZwYWNrCgkgIGluc3RhbGxzLgoJICBQYXRjaCBieTogU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW8gYXQgdWJ1bnR1IGRvdCBjb20+CgkgIEZpeGVzOiAjMzg3MDc2CgoyMDA2LTEyLTE3IDE5OjQyOjA1ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vY3MucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAwNi0xMi0xNyAwNjoxMTozOSArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLio6IERlY2VudCBlZmZvcnQgYXQgcG9ydGluZyB0byAwLjEwLiAgTmVlZHMgY2xlYW51cCBvbiBPUy9YLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLmg6CgkgICogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBEZWNlbnQgZWZmb3J0IGF0IHBvcnRpbmcgdG8gMC4xMC4gIE5lZWRzIGNsZWFudXAgb24gT1MvWC4KCjIwMDYtMTItMTcgMDU6MDc6MDcgKzAwMDAgIFZpamF5IFNhbnRoYW5hbSA8dmlqYXlAc2FudGhhbmFtLmdtYWlsLmNvbT4KCgkgIHN5cy9vc3h2aWRlby86IFByZWxpbWluYXJ5IHBhdGNoIGZvciBwb3J0aW5nIG9zeHZpZGVvc2luawoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFZpamF5IFNhbnRoYW5hbSA8dmlqYXkgc2FudGhhbmFtIGdtYWlsIGNvbT4KCSAgKiBzeXMvb3N4dmlkZW8vTWFrZWZpbGUuYW06CgkgICogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5oOgoJICAqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgUHJlbGltaW5hcnkgcGF0Y2ggZm9yIHBvcnRpbmcgb3N4dmlkZW9zaW5rCgoyMDA2LTEyLTE2IDE2OjIxOjI2ICswMDAwICBTam9lcmQgU2ltb25zIDxzam9lcmRAbHVvbi5uZXQ+CgoJICBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6IEludHJvZHVjZSBzb21lIGxvY2tpbmcgYXJvdW5kIHRoZSB2aWRlb21peGVyIHN0YXRlIHNvIHRoYXQgaXQgZG9lcyBub3QgY3Jhc2ggd2hlbiBhZGRpbmcuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBTam9lcmQgU2ltb25zIDxzam9lcmQgYXQgbHVvbiBkb3QgbmV0PgoJICAqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzogKGdzdF92aWRlb21peGVyX3BhZF9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3ZpZGVvbWl4ZXJfc2V0X21hc3Rlcl9nZW9tZXRyeSksCgkgIChnc3RfdmlkZW9taXhlcl9wYWRfc2lua19zZXRjYXBzKSwgKGdzdF92aWRlb21peGVyX2NvbGxlY3RfZnJlZSksCgkgIChnc3RfdmlkZW9taXhlcl9yZXNldCksIChnc3RfdmlkZW9taXhlcl9pbml0KSwKCSAgKGdzdF92aWRlb21peGVyX2ZpbmFsaXplKSwgKGdzdF92aWRlb21peGVyX3JlcXVlc3RfbmV3X3BhZCksCgkgIChnc3RfdmlkZW9taXhlcl9yZWxlYXNlX3BhZCksIChnc3RfdmlkZW9taXhlcl9jb2xsZWN0ZWQpLAoJICAoZ3N0X3ZpZGVvbWl4ZXJfY2hhbmdlX3N0YXRlKToKCSAgSW50cm9kdWNlIHNvbWUgbG9ja2luZyBhcm91bmQgdGhlIHZpZGVvbWl4ZXIgc3RhdGUgc28gdGhhdCBpdCBkb2VzIG5vdAoJICBjcmFzaCB3aGVuIGFkZGluZy9yZW1vdmluZyBwYWRzLiBGaXhlcyAjMzgzMDQzLgoKMjAwNi0xMi0xNiAxNToyNToyMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogV2UgZG9uJ3Qgc3VwcG9ydCBzZWVraW5nIGluIHN0cmVhbWluZyBtb2RlLCBzbyBkb24ndCBldmVuIHRyeS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfZ2V0X3NyY19xdWVyeV90eXBlcyksCgkgIChnc3RfcXRkZW11eF9oYW5kbGVfc3JjX3F1ZXJ5KSwgKGdzdF9xdGRlbXV4X2hhbmRsZV9zcmNfZXZlbnQpOgoJICBXZSBkb24ndCBzdXBwb3J0IHNlZWtpbmcgaW4gc3RyZWFtaW5nIG1vZGUsIHNvIGRvbid0IGV2ZW4gdHJ5LgoJICBJbXBsZW1lbnQgc2Vla2luZyBxdWVyeSBzbyBhcHBzIGNhbiBxdWVyeSBzZWVrYWJpbGl0eSBwcm9wZXJseQoJICAoc2VlICMzNjU0MTQpLiBGaXggZHVyYXRpb24gcXVlcnkuCgoyMDA2LTEyLTE2IDExOjQyOjU2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgY29uZmlndXJlLmFjOiBNYWtlIHN1cmUgbGliY2FjYSBjYW4gYWN0dWFsbHkgYmUgdXNlZCBpbnN0ZWFkIG9mIGp1c3QgY2hlY2tpbmcgZm9yIC91c3IvYmluL2NhY2EtY29uZmlnLCBzbyB3ZSBkb24ndCB3Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgTWFrZSBzdXJlIGxpYmNhY2EgY2FuIGFjdHVhbGx5IGJlIHVzZWQgaW5zdGVhZCBvZiBqdXN0IGNoZWNraW5nIGZvcgoJICAvdXNyL2Jpbi9jYWNhLWNvbmZpZywgc28gd2UgZG9uJ3Qgd3JvbmdseSB0cnkgdG8gYnVpbGQgY2FjYXNpbmsgd2hlbgoJICBjcm9zcy1jb21waWxpbmcgKGZpeGVzICMzODQ1ODcpLgoKMjAwNi0xMi0xNSAxMDo1NDoyOCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBhZGRpbmcgZG9hcCBmaWxlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIE1ha2VmaWxlLmFtOgoJICAqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSAgKiBnc3QtcGx1Z2lucy1nb29kLnNwZWMuaW46CgkgIGFkZGluZyBkb2FwIGZpbGUKCjIwMDYtMTItMTQgMTY6MjA6MTUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBjb25maWd1cmUuYWM6IGxpYmZsYWMtMS4xLjMgY2hhbmdlZCBBUEkgYWdhaW4sIGJ1dCB3ZSBjYW4ndCBidWlsZCBhZ2FpbnN0IGl0IHlldCwgc28gbWFrZSBzdXJlIG91ciBjaGVjayBkb2Vzbid0IHVzZSAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBsaWJmbGFjLTEuMS4zIGNoYW5nZWQgQVBJIGFnYWluLCBidXQgd2UgY2FuJ3QgYnVpbGQgYWdhaW5zdCBpdCB5ZXQsCgkgIHNvIG1ha2Ugc3VyZSBvdXIgY2hlY2sgZG9lc24ndCB1c2UgbGliZmxhYy0xLjEuMyBhbmQgYWRkIGEgY29tbWVudAoJICB0byB0aGlzIGVmZmVjdC4KCjIwMDYtMTItMTQgMTQ6MjU6MTcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvZWZmZWN0di9nc3RxdWFyay5jOiBBZGQgc29tZSBOVUxMIHBvaW50ZXIgY2hlY2tzIChwb3NzaWJseSByZWxhdGVkIHRvICMzODU2MjMpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZWZmZWN0di9nc3RxdWFyay5jOiAoZ3N0X3F1YXJrdHZfdHJhbnNmb3JtKSwKCSAgKGdzdF9xdWFya3R2X3BsYW5ldGFibGVfY2xlYXIpOgoJICBBZGQgc29tZSBOVUxMIHBvaW50ZXIgY2hlY2tzIChwb3NzaWJseSByZWxhdGVkIHRvICMzODU2MjMpLgoKMjAwNi0xMi0xMyAxNzoxMjoyMiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogQWRkIEFNUi1XQiB0byB0aGUgbGlzdCBvZiBzdXBwb3J0ZWQgZm9ybWF0cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfZ2V0X2R1cmF0aW9uKSwKCSAgKGdzdF9xdGRlbXV4X2hhbmRsZV9zcmNfcXVlcnkpLCAocXRkZW11eF9wYXJzZV90cmFrKSwKCSAgKHF0ZGVtdXhfYXVkaW9fY2Fwcyk6CgkgIEFkZCBBTVItV0IgdG8gdGhlIGxpc3Qgb2Ygc3VwcG9ydGVkIGZvcm1hdHMuCgoyMDA2LTEyLTEyIDE4OjQ1OjU4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0LzogSW4gc3RyZWFtaW5nIG1vZGUsIGlmIHRoZSBmaXJzdCBidWZmZXIgd2UgZ2V0IGRvZXNuJ3QgaGF2ZSBhbiBvZmZzZXQsIGZpeCBpdCB1cCB0byBiZSAwLCBvdGhlcndpc2UgdHJpbW1pbmcgd29uLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hcGV0YWcvZ3N0dGFnZGVtdXguYzogKGdzdF90YWdfZGVtdXhfY2hhaW5fcGFyc2VfdGFnKSwKCSAgKGdzdF90YWdfZGVtdXhfY2hhaW4pOgoJICAqIGdzdC9pZDNkZW11eC9nc3RpZDNkZW11eC5jOiAoZ3N0X2lkM2RlbXV4X2NoYWluKToKCSAgSW4gc3RyZWFtaW5nIG1vZGUsIGlmIHRoZSBmaXJzdCBidWZmZXIgd2UgZ2V0IGRvZXNuJ3QgaGF2ZSBhbgoJICBvZmZzZXQsIGZpeCBpdCB1cCB0byBiZSAwLCBvdGhlcndpc2UgdHJpbW1pbmcgd29uJ3Qgd29yayBsYXRlciBvbgoJICBhbmQgd2UnbGwgYmUgdHlwZWZpbmRpbmcgYXBwbGljYXRpb24veC1pZDMsIHdoaWNoIG1heSByZXN1bHQgaW4KCSAgZGVjb2RlYmluIHBsdWdnaW5nIGFuIGVuZGxlc3MgbnVtYmVyIG9mIGlkM2RlbXV4IGVsZW1lbnRzIGFzIGEKCSAgY29uc2VxdWVuY2UuIEZpeGVzICMzODUwMzEuCgoyMDA2LTEyLTExIDIxOjIxOjE2ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NpbmsuYzogSWdub3JlIHRoZSBidWZmZXJfdGltZSB0aGUgc291bmQgZGV2aWNlIHJlcG9ydHMuIFR1cm5zIG91dCBpdCBpcyBzb21ldGltZXMgY29tcGxldGVseS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zaW5rLmM6IChnc3Rfc3VuYXVkaW9zaW5rX3ByZXBhcmUpOgoJICBJZ25vcmUgdGhlIGJ1ZmZlcl90aW1lIHRoZSBzb3VuZCBkZXZpY2UgcmVwb3J0cy4gVHVybnMgb3V0IGl0IGlzCgkgIHNvbWV0aW1lcyBjb21wbGV0ZWx5IGJvZ3VzIGFuZCB3ZSdyZSBiZXR0ZXIgb2ZmIHdpdGhvdXQgaXQuCgoyMDA2LTEyLTExIDE3OjMzOjI2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBGaXggbm9uLXdvcmtpbmcgcmVkaXJlY3RzIGZyb20gaW5ldGZpbG0uY29tIChoYW5kbGUgJ2FsaXMnIHJlZmVyZW5jZSBkYXRhIHR5cGUgYXMgd2VsbCkuIEZpeGVzLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfcGFyc2VfdHJlZSk6CgkgIEZpeCBub24td29ya2luZyByZWRpcmVjdHMgZnJvbSBpbmV0ZmlsbS5jb20gKGhhbmRsZSAnYWxpcycgcmVmZXJlbmNlCgkgIGRhdGEgdHlwZSBhcyB3ZWxsKS4gRml4ZXMgIzM3ODYxMy4KCjIwMDYtMTItMTEgMTM6NTk6MzMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvbWF0cm9za2EvOiBUcnkgaGFyZGVyIHRvIGV4dHJhY3QgdGhlIGZyYW1lcmF0ZSBmb3IgdmlkZW8gdHJhY2tzIGNvcnJlY3RseSBhbmQgc2F2ZSBpdCBkaXJlY3RseSBpbnN0ZWFkIG9mIGNvbnZlcnQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IChnc3RfbWF0cm9za2FfZGVtdXhfYWRkX3N0cmVhbSksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfdmlkZW9fY2Fwcyk6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5jOgoJICAoZ3N0X21hdHJvc2thX3RyYWNrX2luaXRfdmlkZW9fY29udGV4dCk6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5oOgoJICBUcnkgaGFyZGVyIHRvIGV4dHJhY3QgdGhlIGZyYW1lcmF0ZSBmb3IgdmlkZW8gdHJhY2tzIGNvcnJlY3RseSBhbmQKCSAgc2F2ZSBpdCBkaXJlY3RseSBpbnN0ZWFkIG9mIGNvbnZlcnRpbmcgaXQgYmFjayBhbmQgZm9ydGggYSBmZXcKCSAgdGltZXMuIE1vc3RseSBtYWtlcyBhIGRpZmZlcmVuY2UgZm9yIHZlcnkgc21hbGwgZnJhbWVyYXRlcyAoPDEpLgoJICBGaXhlcyAjMzgwMTk5LgoKMjAwNi0xMi0xMSAxMTo0MToxOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9nY29uZi9nc3RnY29uZmF1ZGlvc3JjLio6IFJlbW92ZSBnY29uZiBub3RpZnkgaG9vayB3aGVuIHRoZSBnY29uZmF1ZGlvc3JjIGVsZW1lbnQgaXMgZGVzdHJveWVkLCBvdGhlcndpc2UgdGhlIGNhbC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZ2NvbmYvZ3N0Z2NvbmZhdWRpb3NyYy5jOiAoZ3N0X2djb25mX2F1ZGlvX3NyY19pbml0KSwKCSAgKGdzdF9nY29uZl9hdWRpb19zcmNfZGlzcG9zZSksIChkb190b2dnbGVfZWxlbWVudCk6CgkgICogZXh0L2djb25mL2dzdGdjb25mYXVkaW9zcmMuaDoKCSAgUmVtb3ZlIGdjb25mIG5vdGlmeSBob29rIHdoZW4gdGhlIGdjb25mYXVkaW9zcmMgZWxlbWVudCBpcwoJICBkZXN0cm95ZWQsIG90aGVyd2lzZSB0aGUgY2FsbGJhY2sgbWF5IGJlIGNhbGxlZCBvbiBhbgoJICBhbHJlYWR5LWRlc3Ryb3llZCBpbnN0YW5jZSBhbmQgYmFkIHRoaW5ncyBoYXBwZW4uIFNob3VsZCBmaXgKCSAgIzM3ODE4NC4KCSAgQWxzbyBpZ25vcmUgZ2NvbmYga2V5IGNoYW5nZXMgd2hlbiB0aGUgc291cmNlIGlzIGFscmVhZHkgcnVubmluZy4KCjIwMDYtMTItMDkgMTk6Mjc6MjggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPG1haWxAc2xvbW9zbmFpbC5kZT4KCgkgIGdzdC9hcGV0YWcvZ3N0YXBlZGVtdXguYzogV2UgbmVlZCB0byBiZSBhYmxlIHRvIHJlYWQgYW5kIHBhcnNlIGFueSBwb3NzaWJsZSBmbG9hdGluZyBwb2ludCBzdHJpbmcgZm9ybWF0ICgiMSwyMzQiIG9yIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFNlYmFzdGlhbiBEcsO2Z2UgIDxtYWlsIGF0IHNsb21vc25haWwgZGU+CgkgICogZ3N0L2FwZXRhZy9nc3RhcGVkZW11eC5jOiAoYXBlX2RlbXV4X3BhcnNlX3RhZ3MpOgoJICBXZSBuZWVkIHRvIGJlIGFibGUgdG8gcmVhZCBhbmQgcGFyc2UgYW55IHBvc3NpYmxlIGZsb2F0aW5nIHBvaW50IHN0cmluZwoJICBmb3JtYXQgKCIxLDIzNCIgb3IgIjEuMjM0IikgaXJyZXNwZWN0aXZlIG9mIHRoZSBjdXJyZW50IGxvY2FsZS4gZ19zdHJvZCgpCgkgIHdpbGwgcGFyc2UgdGhlIGZvcm1lciBvbmx5IGluIGNlcnRhaW4gbG9jYWxlcyB0aG91Z2gsIHNvIHdlIHJlYWxseSBuZWVkCgkgIHRvIGNhbm9uaWNhbGlzZSB0aGUgc2VwYXJhdG9yIHRvICcuJyBhbmQgdGhlbiB1c2UgZ19hc2NpaV9zdHJ0b2QoKSB0bwoJICBtYWtlIHN1cmUgd2UgY2FuIHBhcnNlIGVpdGhlciB2ZXJzaW9uIGF0IGFsbCB0aW1lcy4KCSAgRml4ZXMgIzM4Mjk4MiBmb3IgcmVhbC4KCjIwMDYtMTItMDkgMTY6MTc6MzMgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgc3lzL3N1bmF1ZGlvLzogVXNlIHRoZSBzdW5hdWRpbyBkZWJ1ZyBjYXRlZ29yeS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXJjdHJsLmM6CgkgICogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvc3JjLmM6CgkgIFVzZSB0aGUgc3VuYXVkaW8gZGVidWcgY2F0ZWdvcnkuCgkgICogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvc2luay5jOiAoZ3N0X3N1bmF1ZGlvc2lua19maW5hbGl6ZSksCgkgIChnc3Rfc3VuYXVkaW9zaW5rX2NsYXNzX2luaXQpLCAoZ3N0X3N1bmF1ZGlvc2lua19pbml0KSwKCSAgKGdzdF9zdW5hdWRpb3Npbmtfc2V0X3Byb3BlcnR5KSwgKGdzdF9zdW5hdWRpb3NpbmtfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9zdW5hdWRpb3Npbmtfb3BlbiksIChnc3Rfc3VuYXVkaW9zaW5rX2Nsb3NlKSwKCSAgKGdzdF9zdW5hdWRpb3NpbmtfcHJlcGFyZSksIChnc3Rfc3VuYXVkaW9fc2lua19kb19kZWxheSksCgkgIChnc3Rfc3VuYXVkaW9zaW5rX3dyaXRlKSwgKGdzdF9zdW5hdWRpb3NpbmtfZGVsYXkpLAoJICAoZ3N0X3N1bmF1ZGlvc2lua19yZXNldCk6CgkgICogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvc2luay5oOgoJICBVc2VzIHRoZSBzdW5hdWRpbyBkZWJ1ZyBjYXRlZ29yeSBmb3IgYWxsIGRlYnVnIG91dHB1dAoJICBJbXBsZW1lbnRzIHRoZSBfZGVsYXkoKSBjYWxsYmFjayB0byBzeW5jaHJvbmlzZSB2aWRlbyBwbGF5YmFjayBiZXR0ZXIKCSAgQ2hhbmdlIHRoZSBzZWd0b3RhbCBhbmQgc2Vnc2l6ZSB2YWx1ZXMgYmFjayB0byB0aGUgcGFyZW50IGNsYXNzCgkgIGRlZmF1bHRzICh0YWtlbiBmcm9tIGJ1ZmZlcl90aW1lIGFuZCBsYXRlbmN5X3RpbWVzIG9mIDIwMG1zIGFuZCAxMG1zCgkgIHJlc3BlY3RpdmVseSkKCSAgTWVhc3VyZSB0aGUgc2FtcGxlcyB3cml0dGVuIHRvIHRoZSBkZXZpY2UgdnMuIHBsYXllZC4KCSAgS2VlcCB0cmFjayBvZiBzZWdtZW50cyBpbiB0aGUgZGV2aWNlIGJ5IHdyaXRpbmcgZW1wdHkgZW9mIGZyYW1lcywgYW5kCgkgIHNsZWVwIHVzaW5nIGEgR0NvbmQgd2hlbiB3ZSBnZXQgdG9vIGZhciBhaGVhZCBhbmQgcmlzayBvdmVycnVubmluZyB0aGUKCSAgc2luaydzIHJpbmdidWZmZXIuCgkgIEZpeGVzOiAjMzYwNjczCgoyMDA2LTEyLTA4IDIxOjEyOjQ3ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkqIENoYW5nZUxvZzoKCSAgQ29ycmVjdCB0aGUgYXR0cmlidXRpb24gb2YgdGhlIHByZXZpb3VzIGNvbW1pdC4gVGhlIHBhdGNoIGluIHF1ZXN0aW9uIHdhcyB3cml0dGVuIGJ5IEJyaWFuIENhbWVyb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBDb3JyZWN0IHRoZSBhdHRyaWJ1dGlvbiBvZiB0aGUgcHJldmlvdXMgY29tbWl0LiBUaGUgcGF0Y2ggaW4KCSAgcXVlc3Rpb24gd2FzIHdyaXR0ZW4gYnkgQnJpYW4gQ2FtZXJvbi4KCjIwMDYtMTItMDggMTc6MDY6NDMgKzAwMDAgIFJlbsOpIFN0YWRsZXIgPG1haWxAcmVuZXN0YWRsZXIuZGU+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEZpeCBjYXBzIGZvciAyNCBiaXQgcmF3IFBDTSBhdWRpbyAoMikuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogUmVuw6kgU3RhZGxlciAgPG1haWwgYXQgcmVuZXN0YWRsZXIgZGU+CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfZ2V0X2R1cmF0aW9uKSwKCSAgKGdzdF9xdGRlbXV4X2hhbmRsZV9zcmNfcXVlcnkpLCAocXRkZW11eF9wYXJzZV90cmFrKSwKCSAgKHF0ZGVtdXhfYXVkaW9fY2Fwcyk6CgkgIEZpeCBjYXBzIGZvciAyNCBiaXQgcmF3IFBDTSBhdWRpbyAoMikuCgkgIEZpeGVzICMzODM0NzEuCgoyMDA2LTEyLTA4IDE2OjM4OjE4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxtYWlsQHNsb21vc25haWwuZGU+CgoJICBnc3QvYXVkaW9meC9hdWRpb3Bhbm9yYW1hLio6IEZpeCBhdWRpb3Bhbm9yYW1lIHdpdGggZmxvYXQgc2FtcGxlcy4gRml4ZXMgIzM4MzcyNi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBTZWJhc3RpYW4gRHLDtmdlICA8bWFpbCBhdCBzbG9tb3NuYWlsIGRlID4KCSAgKiBnc3QvYXVkaW9meC9hdWRpb3Bhbm9yYW1hLmM6IChnc3RfYXVkaW9fcGFub3JhbWFfaW5pdCksCgkgIChnc3RfYXVkaW9fcGFub3JhbWFfc2V0X2NhcHMpLCAoZ3N0X2F1ZGlvX3Bhbm9yYW1hX3RyYW5zZm9ybSk6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9wYW5vcmFtYS5oOgoJICBGaXggYXVkaW9wYW5vcmFtZSB3aXRoIGZsb2F0IHNhbXBsZXMuIEZpeGVzICMzODM3MjYuCgoyMDA2LTEyLTA4IDE1OjEyOjAxICswMDAwICBQYWRyYWlnIE8nQnJpYWluIDxwYWRyYWlnLm9icmlhaW5Ac3VuLmNvbT4KCgkgIHN5cy9zdW5hdWRpby86IEltcGxlbWVudCByZXNldCBmdW5jdGlvbnMgdG8gdW5ibG9jayB0aGUgc3JjL3NpbmsgbW9yZSBxdWlja2x5IG9uIHN0YXRlIGNoYW5nZSByZXF1ZXN0cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvc2luay5jOiAoZ3N0X3N1bmF1ZGlvc2lua19yZXNldCk6CgkgICogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvc3JjLmM6IChnc3Rfc3VuYXVkaW9zcmNfb3BlbiksCgkgIChnc3Rfc3VuYXVkaW9zcmNfcmVzZXQpOgoJICBJbXBsZW1lbnQgcmVzZXQgZnVuY3Rpb25zIHRvIHVuYmxvY2sgdGhlIHNyYy9zaW5rIG1vcmUgcXVpY2tseSBvbgoJICBzdGF0ZSBjaGFuZ2UgcmVxdWVzdHMuCgkgIFBhdGNoIGJ5OiBQYWRyYWlnIE8nQnJpYWluIDxwYWRyYWlnIGRvdCBvYnJpYWluIGF0IHN1biBkb3QgY29tPgoKMjAwNi0xMi0wOCAxNDo0Mjo0MiArMDAwMCAgSmVycnkgVGFuIDxqZXJyeS50YW5Ac3VuLmNvbT4KCgkgIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVyLmM6IENvbnN0cnVjdCB0aGUgY29ycmVjdCBtaXhlciBkZXZpY2UgbmFtZSB3aGVuIHRoZSBBVURJT0RFViBlbnYgdmFyIGlzIHNldC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXIuYzoKCSAgKGdzdF9zdW5hdWRpb21peGVyX2NoYW5nZV9zdGF0ZSk6CgkgIENvbnN0cnVjdCB0aGUgY29ycmVjdCBtaXhlciBkZXZpY2UgbmFtZSB3aGVuIHRoZSBBVURJT0RFViBlbnYgdmFyCgkgIGlzIHNldC4KCSAgUGF0Y2ggYnk6IEplcnJ5IFRhbiA8amVycnkudGFuIGF0IHN1biBkb3QgY29tPgoJICBGaXhlczogIzM4MzU5NgoKMjAwNi0xMi0wOCAxNDozMjo1MSArMDAwMCAgSmVycnkgVGFuIDxqZXJyeS50YW5Ac3VuLmNvbT4KCgkgIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NyYy5jOiBBcHBseSBwYXRjaCB0byBvcGVuIHRoZSBtaXhlciBjb250cm9sIGFuZCBzZXQgdGhlIE1VTFRJUExFX09QRU4gaW9jdGwuIE9uIHNvbGFyaXMsIHRoZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zcmMuYzogKGdzdF9zdW5hdWRpb3NyY19vcGVuKToKCSAgQXBwbHkgcGF0Y2ggdG8gb3BlbiB0aGUgbWl4ZXIgY29udHJvbCBhbmQgc2V0IHRoZSBNVUxUSVBMRV9PUEVOCgkgIGlvY3RsLiBPbiBzb2xhcmlzLCB0aGUgbWl4ZXIgZGV2aWNlIGRvZXNuJ3QgbmVlZCBvcGVuaW5nIG5vbi1ibG9ja2luZwoJICAtIGl0IGNhbiBiZSBvcGVuZWQgYnkgbXVsdGlwbGUgcHJvY2Vzc2VzIGJ5IGRlZmF1bHQsIGJ1dCBuZWVkcyB0aGUgaW9jdGwgCWZvciBtdWx0aXBsZSBvcGVucyB3aXRoaW4gMSBwcm9jZXNzLgoJICBQYXRjaCBieTogSmVycnkgVGFuIDxqZXJyeS50YW4gYXQgc3VuIGRvdCBjb20+CgkgIEZpeGVzOiAjMzQ5MDE1CgoyMDA2LTEyLTA3IDE3OjMwOjAzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3NtcHRlLzogUG9ydCB0byAwLjEwIHNvbWUgbW9yZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NtcHRlL2dzdG1hc2suaDoKCSAgKiBnc3Qvc21wdGUvZ3N0c21wdGUuYzogKGdzdF9zbXB0ZV9jbGFzc19pbml0KSwKCSAgKGdzdF9zbXB0ZV9zZXRjYXBzKSwgKGdzdF9zbXB0ZV9pbml0KSwgKGdzdF9zbXB0ZV9yZXNldCksCgkgIChnc3Rfc21wdGVfY29sbGVjdGVkKSwgKGdzdF9zbXB0ZV9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3NtcHRlX2dldF9wcm9wZXJ0eSksIChnc3Rfc21wdGVfY2hhbmdlX3N0YXRlKSwgKHBsdWdpbl9pbml0KToKCSAgKiBnc3Qvc21wdGUvZ3N0c21wdGUuaDoKCSAgUG9ydCB0byAwLjEwIHNvbWUgbW9yZS4KCSAgQWRkZWQgZHVyYXRpb24gcHJvcGVydHkgdG8gc3BlY2lmeSB0aGUgZHVyYXRpb24gb2YgdGhlIHRyYW5zaXRpb24uCgkgIE1ha2UgZnJhbWVyYXRlIGEgZnJhY3Rpb24uCgkgIERlcHJlY2F0ZSBmcHMgcHJvcGVydHksIHdlIG9ubHkgdXNlIG5lZ290aWF0ZWQgZnBzLgoJICBBZGRlZCBkb2NzLgoJICBGaXggY29sbGVjdHBhZCB1c2FnZS4KCSAgUmVzZXQgc3RhdGUgaW4gUkVBRFkuCgkgIFNlbmQgTkVXU0VHTUVOVCBldmVudC4KCSAgRml4IHJhY3kgdXBkYXRlcyBvZiBvYmplY3QgcHJvcGVydGllcy4KCSAgQWRkZWQgZGVidWcgY2F0ZWdvcnkuCgkgIEZpeGVzICMzODMzMjMuCgoyMDA2LTEyLTA3IDExOjM1OjQxICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBIYW5kbGUgbW9yZSBIMjYzIHZhcmlhbnRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9nZXRfZHVyYXRpb24pLAoJICAoZ3N0X3F0ZGVtdXhfaGFuZGxlX3NyY19xdWVyeSksIChxdGRlbXV4X3BhcnNlX3RyYWspLAoJICAocXRkZW11eF92aWRlb19jYXBzKToKCSAgSGFuZGxlIG1vcmUgSDI2MyB2YXJpYW50cy4KCjIwMDYtMTItMDYgMTU6MDY6MDQgKzAwMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZEBsdW9uLm5ldD4KCgkgIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzogRG9uJ3QgcmVzZXQgeHBvcyBhbmQgeXBvcyBpbiB0aGUgc2V0Y2FwcyBmdW5jdGlvbiBiZWNhdXNlIGNhdXNlcyB1bmV4cGVjdGVkIGJlaGF2aW91ci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBTam9lcmQgU2ltb25zIDxzam9lcmQgYXQgbHVvbiBkb3QgbmV0PgoJICAqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSAgKGdzdF92aWRlb21peGVyX3NldF9tYXN0ZXJfZ2VvbWV0cnkpLAoJICAoZ3N0X3ZpZGVvbWl4ZXJfcGFkX3Npbmtfc2V0Y2FwcyksIChnc3RfdmlkZW9taXhlcl9jb2xsZWN0X2ZyZWUpOgoJICBEb24ndCByZXNldCB4cG9zIGFuZCB5cG9zIGluIHRoZSBzZXRjYXBzIGZ1bmN0aW9uIGJlY2F1c2UgY2F1c2VzCgkgIHVuZXhwZWN0ZWQgYmVoYXZpb3VyLgoJICBGaXhlcyAjMzgyMTc5LgoKMjAwNi0xMi0wNiAxNDo0NTozMCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0bXV4LmM6IEtlZXAgdHJhY2sgb2YgdGhlIGJ1ZmZlciB0aW1lc3RhbXAgaW4gdGhlIGNvbGxlY3RkYXRhIG1lbWJlciBpbnN0ZWFkIG9mIG1vZGlmeWluZyB0aGUgYi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydG11eC5jOiAoZ3N0X211bHRpcGFydF9tdXhfY29tcGFyZV9wYWRzKSwKCSAgKGdzdF9tdWx0aXBhcnRfbXV4X3F1ZXVlX3BhZHMpLCAoZ3N0X211bHRpcGFydF9tdXhfY29sbGVjdGVkKToKCSAgS2VlcCB0cmFjayBvZiB0aGUgYnVmZmVyIHRpbWVzdGFtcCBpbiB0aGUgY29sbGVjdGRhdGEgbWVtYmVyIGluc3RlYWQKCSAgb2YgbW9kaWZ5aW5nIHRoZSBidWZmZXIgd2l0aG91dCBtYWtpbmcgdGhlIG1ldGFkYXRhIHdyaXRhYmxlIGZpcnN0LgoJICBGaXhlcyAjMzgyMjc3LgoKMjAwNi0xMi0wNiAxNDozMzo1NCArMDAwMCAgUm9iIFRheWxvciA8cm9idGF5bG9yQGZsb29waWx5Lm9yZz4KCgkgIGdzdC91ZHAvZ3N0dWRwc3JjLmM6IElmIHVzaW5nIG11bHRpY2FzdCBpbiB1ZHBzcmMsIGJpbmQgdG8gdGhlIG11bHRpY2FzdCBhZGRyZXNzIHJhdGhlciB0aGFuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogUm9iIFRheWxvciA8cm9idGF5bG9yIGF0IGZsb29waWx5IGRvdCBvcmc+CgkgICogZ3N0L3VkcC9nc3R1ZHBzcmMuYzogKGdzdF91ZHBzcmNfc3RhcnQpOgoJICBJZiB1c2luZyBtdWx0aWNhc3QgaW4gdWRwc3JjLCBiaW5kIHRvIHRoZSBtdWx0aWNhc3QgYWRkcmVzcyByYXRoZXIgdGhhbgoJICBJTl9BRERSX0FOWS4KCSAgVGhpcyBhbGxvd3MgdGhlIHNpbXVsdGFub3VzIHVzZSBvZiBtdWx0aXBsZSB1ZHBzcmNzIGxpc3RlbmluZyBvbgoJICBkaWZmZXJlbnQgbXVsdGljYXQgYWRkcmVzc2VzLiBXaXRob3V0IHRoaXMgYWxsIHVkcHNyY3Mgd2lsbCByZWNlaXZlIGFsbAoJICBwYWNrZXRzIGZyb20gYWxsIHN1YnNjcmliZWQgbXVsdGljYXN0IGFkZHJlc3Nlcy4KCSAgRml4ZXMgIzM4MzAwMS4KCjIwMDYtMTItMDYgMTM6MzU6NTIgKzAwMDAgIEpvbmF0aGFuIE1hdHRoZXcgPGpvbmF0aGFuQDBrYW9saW4ud2g5Lm5ldD4KCgkgIGV4dC90YWdsaWIvZ3N0aWQzdjJtdXguY2M6IERvbid0IGF0dGVtcHQgdG8gd3JpdGUgYSBOVUxMIGZyYW1lIGludG8gdGhlIElEMyB0YWcgc2V0IHdoZW4gdGhlIGNyZWF0ZUZyYW1lIG1ldGhvZCByZXR1ci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvdGFnbGliL2dzdGlkM3YybXV4LmNjOgoJICBEb24ndCBhdHRlbXB0IHRvIHdyaXRlIGEgTlVMTCBmcmFtZSBpbnRvIHRoZSBJRDMgdGFnIHNldCB3aGVuIHRoZQoJICBjcmVhdGVGcmFtZSBtZXRob2QgcmV0dXJuZWQgTlVMTC4KCSAgRml4ZXM6ICMzODE4NTcKCSAgUGF0Y2ggYnk6IEpvbmF0aGFuIE1hdHRoZXcgPGpvbmF0aGFuIGF0IDBrYW9saW4gd2g5IG5ldCA+CgoyMDA2LTEyLTA2IDEzOjE2OjU5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxtYWlsQHNsb21vc25haWwuZGU+CgoJICBnc3QvYXBldGFnL2dzdGFwZWRlbXV4LmM6IFVzZSBnX3N0cnRvZCgpIGluc3RlYWQgb2Ygc3NjYW5mIHRvIHBhcnNlIGRvdWJsZXMsIHNvIHRoYXQgaXQgd2lsbCB0cnkgcGFyc2luZyBpbiB0aGUgQyBsb2MuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2FwZXRhZy9nc3RhcGVkZW11eC5jOiAoYXBlX2RlbXV4X3BhcnNlX3RhZ3MpOgoJICBVc2UgZ19zdHJ0b2QoKSBpbnN0ZWFkIG9mIHNzY2FuZiB0byBwYXJzZSBkb3VibGVzLCBzbyB0aGF0IGl0IHdpbGwKCSAgdHJ5IHBhcnNpbmcgaW4gdGhlIEMgbG9jYWxlIGlmIHRoZSBjdXJyZW50IGxvY2FsZSBmYWlscy4KCSAgRml4ZXM6ICMzODI5ODIKCSAgUGF0Y2ggYnk6IFNlYmFzdGlhbiBEcsO2Z2UgIDxtYWlsIGF0IHNsb21vc25haWwgZGUgPgoKMjAwNi0xMi0wMSAxMDozMTo0NiArMDAwMCAgU2VyZ2V5IFNjb2JpY2ggPHNlcmdleS5zY29iaWNoQGdtYWlsLmNvbT4KCgkgIHdpbjMyL01BTklGRVNUOiBGaXggY29tcGlsYXRpb24gb24gd2luMzIgdW5kZXIgVlM4CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHdpbjMyL01BTklGRVNUOgoJICBGaXggY29tcGlsYXRpb24gb24gd2luMzIgdW5kZXIgVlM4CgkgIFBhdGNoIGJ5OiBTZXJnZXkgU2NvYmljaCA8c2VyZ2V5IGRvdCBzY29iaWNoIGF0IGdtYWlsIGRvdCBjb20+CgkgIFBhcnRpYWxseSBmaXhlcyAjMzgxMTc1CgoyMDA2LTExLTMwIDE2OjQ4OjUxICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvYXZpL2dzdGF2aW11eC5jOiBhY2NlcHQgYWxsIG1wZWd2ZXJzaW9ucyxmaXhlcyAjMzgwODI1IHNwb3R0ZWQgYnk6IEplcm9tZSBBbGV0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkgIGFjY2VwdCBhbGwgbXBlZ3ZlcnNpb25zLGZpeGVzICMzODA4MjUKCSAgc3BvdHRlZCBieTogSmVyb21lIEFsZXQKCjIwMDYtMTEtMzAgMTY6NDY6MTMgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzogY2xlYW51cCB0aGUgZXJyb3IgbWVzc2FnZSBhIGJpdCBtb3JlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzogKGdzdF92NGwyc3JjX2ZpbGxfZm9ybWF0X2xpc3QpLAoJICAoZ3N0X3Y0bDJzcmNfcXVldWVfZnJhbWUpLCAoZ3N0X3Y0bDJzcmNfZ3JhYl9mcmFtZSksCgkgIChnc3RfdjRsMnNyY19nZXRfY2FwdHVyZSksIChnc3RfdjRsMnNyY19zZXRfY2FwdHVyZSksCgkgIChnc3RfdjRsMnNyY19jYXB0dXJlX2luaXQpLCAoZ3N0X3Y0bDJzcmNfYnVmZmVyX2ZpbmFsaXplKToKCSAgY2xlYW51cCB0aGUgZXJyb3IgbWVzc2FnZSBhIGJpdCBtb3JlCgoyMDA2LTExLTMwIDE1OjA4OjA4ICswMDAwICBSZW7DqSBTdGFkbGVyIDxtYWlsQHJlbmVzdGFkbGVyLmRlPgoKCSAgZ3N0L3JlcGxheWdhaW4vZ3N0cmdhbmFseXNpcy5jOiBDYWxsIHRoZSBiYXNlIGNsYXNzIGhhbmRsZXIuICBGaXhlcyAjMzgwNjEwLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFJlbsOpIFN0YWRsZXIgIDxtYWlsIGF0IHJlbmVzdGFkbGVyIGRlPgoJICAqIGdzdC9yZXBsYXlnYWluL2dzdHJnYW5hbHlzaXMuYzogKGdzdF9yZ19hbmFseXNpc19ldmVudCk6CgkgIENhbGwgdGhlIGJhc2UgY2xhc3MgaGFuZGxlci4gIEZpeGVzICMzODA2MTAuCgoyMDA2LTExLTI4IDEyOjMwOjEwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L2xpYmNhY2EvZ3N0Y2FjYXNpbmsuYzogRml4IHdpZHRoIGFuZCBoZWlnaHQgcHJvcGVydGllcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2xpYmNhY2EvZ3N0Y2FjYXNpbmsuYzogKGdzdF9jYWNhc2lua19jbGFzc19pbml0KToKCSAgRml4IHdpZHRoIGFuZCBoZWlnaHQgcHJvcGVydGllcy4KCSAgKiBleHQvbGliY2FjYS9nc3RjYWNhc2luay5oOgoJICBGaXggY29tcGlsYXRpb24gb24gbmV3ZXIgbGliY2FjYSB0aGF0IHJlcXVpcmUgdXMgdG8gaW5jbHVkZSBhIG5ldwoJICBoZWFkZXIuIEZpeGVzICMzNzk5MTguCgoyMDA2LTExLTI4IDExOjUyOjI3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvOiBBZGQgbWV0aG9kIHNvIHRoYXQgZXh0ZW5zaW9ucyBjYW4gY2hvb3NlIHRvIGRpc2FibGUgdGhlIHNldHVwIG9mIGEgc3RyZWFtLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19vcGVuKToKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgICogZ3N0L3J0c3AvcnRzcGV4dC5oOgoJICAqIGdzdC9ydHNwL3J0c3BleHR3bXMuYzogKHJ0c3BfZXh0X3dtc19jb25maWd1cmVfc3RyZWFtKSwKCSAgKHJ0c3BfZXh0X3dtc19nZXRfY29udGV4dCk6CgkgIEFkZCBtZXRob2Qgc28gdGhhdCBleHRlbnNpb25zIGNhbiBjaG9vc2UgdG8gZGlzYWJsZSB0aGUgc2V0dXAgb2YKCSAgYSBzdHJlYW0uCgkgIE1ha2UgdGhlIFdNUyBleHRlbnNpb24gc2tpcCBzZXR1cCBvZiB4LXdtcy1ydHggc3RyZWFtcy4gRml4ZXMgIzM3Nzc5Mi4KCjIwMDYtMTEtMjcgMTc6MTY6MjYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IFJlbW92ZSBzb21lIGFzc2VydHMgYW5kIHJlcGxhY2UgdGhlbSB3aXRoIGEgcHJvcGVyIGVycm9yIG1lc3NhZ2UuIEZpeGVzICMzNzkyNjEuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2dldF9kdXJhdGlvbiksCgkgIChnc3RfcXRkZW11eF9oYW5kbGVfc3JjX3F1ZXJ5KSwgKHF0ZGVtdXhfcGFyc2VfdHJhayk6CgkgIFJlbW92ZSBzb21lIGFzc2VydHMgYW5kIHJlcGxhY2UgdGhlbSB3aXRoIGEgcHJvcGVyIGVycm9yCgkgIG1lc3NhZ2UuIEZpeGVzICMzNzkyNjEuCgoyMDA2LTExLTI3IDE2OjMwOjQ5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSogQ2hhbmdlTG9nOgoJICBtZW50aW9uIGJ1ZyBmaXgKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIG1lbnRpb24gYnVnIGZpeAoKMjAwNi0xMS0yNyAxNjoyOTowNyArMDAwMCAgSm9uYXMgSG9sbWJlcmcgPGpvbmFzLmhvbG1iZXJnQGF4aXMuY29tPgoKCSAgZ3N0L211bHRpcGFydC9tdWx0aXBhcnRtdXguYzogUHVzaCBoZWFkZXIgaW4gYSBzZXBhcmF0ZSBidWZmZXIgaW5zdGVhZCBvZiBtZW1jcHk6aW5nIGFsbCBkYXRhCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogSm9uYXMgSG9sbWJlcmcgPGpvbmFzIGRvdCBob2xtYmVyZyBhdCBheGlzIGRvdCBjb20+CgkgICogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRtdXguYzogKGdzdF9tdWx0aXBhcnRfbXV4X2NvbGxlY3RlZCk6CgkgIFB1c2ggaGVhZGVyIGluIGEgc2VwYXJhdGUgYnVmZmVyIGluc3RlYWQgb2YgbWVtY3B5OmluZyBhbGwgZGF0YQoJICBDaGFuZ2UgTEYgPT4gQ1JMRiBpbiBoZWFkZXJzCgkgIE1vdmUgdHJhaWxpbmcgTEYgdG8gaGVhZGVyCgoyMDA2LTExLTI3IDE2OjI2OjUwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC9nc3RydHBtcGFkZXBheS5jOiBTbWFsbCBidWZmZXIgb3ZlcmZsb3cgZml4IGFuZCBpbXByb3ZlIGRlYnVnZ2luZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBtcGFkZXBheS5jOiAoZ3N0X3J0cF9tcGFfZGVwYXlfY2hhaW4pOgoJICBTbWFsbCBidWZmZXIgb3ZlcmZsb3cgZml4IGFuZCBpbXByb3ZlIGRlYnVnZ2luZy4KCjIwMDYtMTEtMjQgMDg6NTg6NTMgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGV4dC9lc2QvOiByZW1vdmUgb2Jzb2xldGUgX2ZhY3RvcnlfaW5pdCBwcm90b3MKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2VzZC9lc2Rtb24uaDoKCSAgKiBleHQvZXNkL2VzZHNpbmsuaDoKCSAgcmVtb3ZlIG9ic29sZXRlIF9mYWN0b3J5X2luaXQgcHJvdG9zCgoyMDA2LTExLTI0IDA3OjQ2OjU0ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IHJlbW92ZSBkZWFkIGNvZGUsIHR3ZWFrIGRlYnVncyBzdGF0ZW1lbnRzLCBhZGQgY29tbWVudHMsIHVzZSBfdWludDY0X3NjYWxlIGluc3RlYWQgX3VpbnQ2NF9zY2EuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9pbmRleF9lbnRyeV9mb3JfdGltZSksCgkgIChnc3RfYXZpX2RlbXV4X3NyY19jb252ZXJ0KSwgKGdzdF9hdmlfZGVtdXhfaGFuZGxlX3NyY19xdWVyeSksCgkgIChnc3RfYXZpX2RlbXV4X3BlZWtfY2h1bmspLCAoZ3N0X2F2aV9kZW11eF9wYXJzZV9zdWJpbmRleCksCgkgIChnc3RfYXZpX2RlbXV4X3JlYWRfc3ViaW5kZXhlc19wdXNoKSwKCSAgKGdzdF9hdmlfZGVtdXhfcmVhZF9zdWJpbmRleGVzX3B1bGwpLCAoZ3N0X2F2aV9kZW11eF9wYXJzZV9zdHJlYW0pLAoJICAoZ3N0X2F2aV9kZW11eF9wYXJzZV9pbmRleCksIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9pbmRleCksCgkgIChnc3RfYXZpX2RlbXV4X3N5bmMpLCAoZ3N0X2F2aV9kZW11eF9uZXh0X2RhdGFfYnVmZmVyKSwKCSAgKGdzdF9hdmlfZGVtdXhfbWFzc2FnZV9pbmRleCksCgkgIChnc3RfYXZpX2RlbXV4X2NhbGN1bGF0ZV9kdXJhdGlvbnNfZnJvbV9pbmRleCksCgkgIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9oZWFkZXJfcHVsbCksIChnc3RfYXZpX2RlbXV4X2RvX3NlZWspLAoJICAoZ3N0X2F2aV9kZW11eF9oYW5kbGVfc2VlayksIChnc3RfYXZpX2RlbXV4X3Byb2Nlc3NfbmV4dF9lbnRyeSksCgkgIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9kYXRhKSwgKGdzdF9hdmlfZGVtdXhfbG9vcCk6CgkgIHJlbW92ZSBkZWFkIGNvZGUsIHR3ZWFrIGRlYnVncyBzdGF0ZW1lbnRzLCBhZGQgY29tbWVudHMsIHVzZQoJICBfdWludDY0X3NjYWxlIGluc3RlYWQgX3VpbnQ2NF9zY2FsZV9pbnQgd2hlbiB1c2luZyBndWludDY0IHZhbHVlcywKCSAgc21hbGwgb3B0aW1pemF0aW9ucywgcmVmbG93IHNvbWUgZXJyb3IgaGFuZGxpbmcKCjIwMDYtMTEtMjIgMTc6Mzk6MTMgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBwby8uY3ZzaWdub3JlOiBXZSBuZXZlciBwdXQgLnBvdCBmaWxlcyBpbiBjdnMuIExldCdzIGlnbm9yZSB0aGVtIGFsbC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogcG8vLmN2c2lnbm9yZToKCSAgV2UgbmV2ZXIgcHV0IC5wb3QgZmlsZXMgaW4gY3ZzLiBMZXQncyBpZ25vcmUgdGhlbSBhbGwuCgoyMDA2LTExLTIxIDEyOjU3OjUwICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBnc3QtcGx1Z2lucy1nb29kLnNwZWMuaW46CgkgIGVuYWxiZSBMQURTUEEgcGx1Z2luIGluIHNwZWMgZmlsZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZW5hbGJlIExBRFNQQSBwbHVnaW4gaW4gc3BlYyBmaWxlCgoyMDA2LTExLTE5IDE4OjQ2OjAzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgcG8vUE9URklMRVMuaW46IC4uLiBidXQgYmV0dGVyIGV4Y2x1ZGUgZmlsZXMgdGhhdCBhcmVuJ3QgZGlzdGVkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBwby9QT1RGSUxFUy5pbjoKCSAgLi4uIGJ1dCBiZXR0ZXIgZXhjbHVkZSBmaWxlcyB0aGF0IGFyZW4ndCBkaXN0ZWQuCgoyMDA2LTExLTE5IDE2OjMyOjQ5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgcG8vUE9URklMRVMuaW46IEFkZCB2NGwyIHNvdXJjZSBmaWxlcyB0byBsaXN0IG9mIGZpbGVzIHdpdGggdHJhbnNsYXRpb25zLCBzbyB0aGUgc3RyaW5ncyBhcmUgYWN0dWFsbHkgZXh0cmFjdGVkIChob3dlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHBvL1BPVEZJTEVTLmluOgoJICBBZGQgdjRsMiBzb3VyY2UgZmlsZXMgdG8gbGlzdCBvZiBmaWxlcyB3aXRoIHRyYW5zbGF0aW9ucywgc28gdGhlCgkgIHN0cmluZ3MgYXJlIGFjdHVhbGx5IGV4dHJhY3RlZCAoaG93ZXZlciBiYWQgdGhleSBzdGlsbCBtYXkgYmUpLgoKMjAwNi0xMS0xOSAxNjozMDoxOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOiBNaW5vciBjbGVhbi11cHM6IGNvbnN0LWlmeSBzdGF0aWMgYXJyYXksIHJlbW92ZSB0cmFpbGluZyBjb21tYSBmcm9tIHVzZSBHU1RfREVCVUdfRlVOQ1BUUi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6IChnc3RfdmlkZW9fYm94X2NsYXNzX2luaXQpOgoJICBNaW5vciBjbGVhbi11cHM6IGNvbnN0LWlmeSBzdGF0aWMgYXJyYXksIHJlbW92ZSB0cmFpbGluZyBjb21tYSBmcm9tCgkgIGxhc3QgZW51bSAoZ2NjLTIuOXggdHJpcHMgb3ZlciB0aGF0KSwgdXNlIEdTVF9ERUJVR19GVU5DUFRSLgoKMjAwNi0xMS0xOSAxMzo0MTo1MyArMDAwMCAgUmVuw6kgU3RhZGxlciA8bWFpbEByZW5lc3RhZGxlci5kZT4KCgkgIGdzdC9pZDNkZW11eC9pZDN2MmZyYW1lcy5jOiBNYWtlIHN1cmUgdGhhdCBnX2ZyZWUgYWx3YXlzIGdldHMgY2FsbGVkIG9uIHRoZSBzYW1lIHBvaW50ZXIgdGhhdCB3YXMgcmV0dXJuZWQgYnkgZ19tYWxsby4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaWQzZGVtdXgvaWQzdjJmcmFtZXMuYzogKGlkM2RlbXV4X2lkM3YyX3BhcnNlX2ZyYW1lKToKCSAgTWFrZSBzdXJlIHRoYXQgZ19mcmVlIGFsd2F5cyBnZXRzIGNhbGxlZCBvbiB0aGUgc2FtZSBwb2ludGVyIHRoYXQgd2FzCgkgIHJldHVybmVkIGJ5IGdfbWFsbG9jLiAgRml4ZXMgIzM3NjU5NC4KCSAgRG8gbm90IGxlYWsgbWVtb3J5IGlmIGRlY29tcHJlc3NlZCBzaXplIGlzIHdyb25nLgoJICBSZW1vdmUgdW5uZWVkZWQgY2hlY2sgb2YgcmV0dXJuIHZhbHVlIG9mIGdfbWFsbG9jLgoJICBQYXRjaCBieTogUmVuw6kgU3RhZGxlciA8bWFpbEByZW5lc3RhZGxlci5kZT4KCjIwMDYtMTEtMTggMTg6MTQ6MzQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6IEFkZCBtaXNzaW5nIGN1cmx5IGJyYWNrZXRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6IChnc3RfdjRsMnNyY19jYXB0dXJlX2RlaW5pdCk6CgkgIEFkZCBtaXNzaW5nIGN1cmx5IGJyYWNrZXRzLgoKMjAwNi0xMS0xNyAxNDo1NDowMSArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkgIEZpeCBjYXB0dXJlX2RlaW5pdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEZpeCBjYXB0dXJlX2RlaW5pdC4KCjIwMDYtMTEtMTYgMTU6MzY6NDggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6IFVzZSBHU1RfREVCVUdfRlVOQ1BUUjsgYWN0aXZhdGUgcmVxdWVzdCBwYWQgYmVmb3JlIHJldHVybmluZyBpdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOiAoZ3N0X21hdHJvc2thX211eF9jbGFzc19pbml0KSwKCSAgKGdzdF9tYXRyb3NrYV9tdXhfcmVxdWVzdF9uZXdfcGFkKToKCSAgVXNlIEdTVF9ERUJVR19GVU5DUFRSOyBhY3RpdmF0ZSByZXF1ZXN0IHBhZCBiZWZvcmUgcmV0dXJuaW5nIGl0LgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21hdHJvc2thbXV4LmM6IChzZXR1cF9zcmNfcGFkKSwKCSAgKHNldHVwX3NpbmtfcGFkKSwgKEdTVF9TVEFSVF9URVNUKToKCSAgQWN0aXZhdGUgcGFkcyBiZWZvcmUgdXNpbmcgdGhlbS4KCjIwMDYtMTEtMTYgMTU6MDQ6NTUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IEluaXRpYWxpc2UgdmFyaWFibGUgdG8gZ2V0IHJpZCBvZiBib2d1cyBjb21waWxlciB3YXJuaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X3N0cmVhbV9zY2FuKToKCSAgSW5pdGlhbGlzZSB2YXJpYWJsZSB0byBnZXQgcmlkIG9mIGJvZ3VzIGNvbXBpbGVyIHdhcm5pbmcuCgoyMDA2LTExLTE2IDA3OjI2OjE3ICswMDAwICBWaWxsZSBTeXJqYWxhIDx2aWxsZS5zeXJqYWxhQG1vdmlhbC5maT4KCgkgIGdzdC9ydHAvOiBTcGVjaWZ5IEguMjYzIHZhcmlhbnQgYW5kIHZlcnNpb24gaW4gdGhlIGNhcHMgKGZpeGVzICMzNjE2MzcpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogVmlsbGUgU3lyamFsYSA8dmlsbGUuc3lyamFsYUBtb3ZpYWwuZmk+CgkgICogZ3N0L3J0cC9nc3RydHBoMjYzcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBoMjYzcGRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBoMjYzcHBheS5jOgoJICBTcGVjaWZ5IEguMjYzIHZhcmlhbnQgYW5kIHZlcnNpb24gaW4gdGhlIGNhcHMgKGZpeGVzICMzNjE2MzcpCgoyMDA2LTExLTE1IDE3OjQ0OjAxICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvcnRzcGNvbm5lY3Rpb24uYzogRG9uJ3Qgc2V0IGEgZGF0YSBwb2ludGVyIHRvIE5VTEwgYW5kIGEgc2l6ZSA+IDAgd2hlbiB3ZSBkZWFsIHdpdGggZW1wdHkgcGFja2V0cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvcnRzcGNvbm5lY3Rpb24uYzogKHJlYWRfYm9keSk6CgkgIERvbid0IHNldCBhIGRhdGEgcG9pbnRlciB0byBOVUxMIGFuZCBhIHNpemUgPiAwIHdoZW4gd2UgZGVhbAoJICB3aXRoIGVtcHR5IHBhY2tldHMuCgkgICogZ3N0L3J0c3AvcnRzcG1lc3NhZ2UuYzogKHJ0c3BfbWVzc2FnZV9uZXdfcmVzcG9uc2UpLAoJICAocnRzcF9tZXNzYWdlX2luaXRfcmVzcG9uc2UpLCAocnRzcF9tZXNzYWdlX2luaXRfZGF0YSksCgkgIChydHNwX21lc3NhZ2VfdW5zZXQpLCAocnRzcF9tZXNzYWdlX2ZyZWUpLAoJICAocnRzcF9tZXNzYWdlX3Rha2VfYm9keSk6CgkgIENoZWNrIHRoYXQgd2UgY2FuJ3QgY3JlYXRlIGludmFsaWQgZW1wdHkgcGFja2V0cy4KCjIwMDYtMTEtMTUgMTI6MzU6NDYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC93YXZwYWNrLzogU29tZSBzbWFsbCBjbGVhbi11cHM6IHVzZSBlbnVtcyBpbnN0ZWFkIG9mIGhhcmQtY29kZWQgbnVtYmVycywgY29uc3QtaWZ5IGVsZW1lbnQgZGV0YWlscywgcmUtZmFjdG9yIHNvbS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFNlYmFzdGlhbiBEcsO2Z2UgIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOiAoZ3N0X3dhdnBhY2tfZGVjX3Jlc2V0KSwKCSAgKGdzdF93YXZwYWNrX2RlY19pbml0KSwgKGdzdF93YXZwYWNrX2RlY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzogKGdzdF93YXZwYWNrX2VuY19iYXNlX2luaXQpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX2NsYXNzX2luaXQpLCAoZ3N0X3dhdnBhY2tfZW5jX3Jlc2V0KSwKCSAgKGdzdF93YXZwYWNrX2VuY19pbml0KSwgKGdzdF93YXZwYWNrX2VuY19zZXRfd3BfY29uZmlnKSwKCSAgKGdzdF93YXZwYWNrX2VuY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOgoJICBTb21lIHNtYWxsIGNsZWFuLXVwczogdXNlIGVudW1zIGluc3RlYWQgb2YgaGFyZC1jb2RlZCBudW1iZXJzLAoJICBjb25zdC1pZnkgZWxlbWVudCBkZXRhaWxzLCByZS1mYWN0b3Igc29tZSBjb2RlIGludG8gX3Jlc2V0KCkKCSAgZnVuY3Rpb25zICgjMzUyNjA1KS4KCjIwMDYtMTEtMTUgMTI6MDg6MjAgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hbmF1d0Bza3luZXQuYmU+CgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4Lio6IEFkZCBiYXNpYyB0YWcgd3JpdGluZyBzdXBwb3J0OyBpbXBsZW1lbnQgcmVsZWFzaW5nIHBhZHMgKCMzNzQ2NTgpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE1hcmsgTmF1d2VsYWVydHMgIDxtYW5hdXcgYXQgc2t5bmV0IGJlPgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzogKGdzdF9tYXRyb3NrYV9tdXhfYWRkX2ludGVyZmFjZXMpLAoJICAoZ3N0X21hdHJvc2thX211eF9jbGFzc19pbml0KSwgKGdzdF9tYXRyb3NrYV9wYWRfZnJlZSksCgkgIChnc3RfbWF0cm9za2FfbXV4X3Jlc2V0KSwgKGdzdF9tYXRyb3NrYV9tdXhfaGFuZGxlX3NpbmtfZXZlbnQpLAoJICAoZ3N0X21hdHJvc2thX211eF9yZXF1ZXN0X25ld19wYWQpLCAoZ3N0X21hdHJvc2thX211eF9yZWxlYXNlX3BhZCksCgkgIChnc3RfbWF0cm9za2FfbXV4X3RyYWNrX2hlYWRlciksIChnc3RfbWF0cm9za2FfbXV4X3N0YXJ0KSwKCSAgKGdzdF9tYXRyb3NrYV9tdXhfd3JpdGVfc2ltcGxlX3RhZyksIChnc3RfbWF0cm9za2FfbXV4X2ZpbmlzaCk6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5oOgoJICBBZGQgYmFzaWMgdGFnIHdyaXRpbmcgc3VwcG9ydDsgaW1wbGVtZW50IHJlbGVhc2luZyBwYWRzICgjMzc0NjU4KS4KCjIwMDYtMTEtMTUgMTE6MTk6MTMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogSGFuZGxlIG9wYXF1ZS91bnNwZWNpZmllZCBBX0FBQyBhdWRpbyBjb2RlYyBJRCAoZml4ZXMgIzM3NDczNykuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiAoZ3N0X21hdHJvc2thX2RlbXV4X2FkZF9zdHJlYW0pLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2F1ZGlvX2NhcHMpOgoJICBIYW5kbGUgb3BhcXVlL3Vuc3BlY2lmaWVkIEFfQUFDIGF1ZGlvIGNvZGVjIElEIChmaXhlcyAjMzc0NzM3KS4KCjIwMDYtMTEtMTUgMDA6MTI6MTkgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOiBBZGQgRGlyYWMgZm91cmNjLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6IEFkZCBEaXJhYyBmb3VyY2MuCgoyMDA2LTExLTE0IDIwOjA3OjIyICswMDAwICBTZXJnZXkgU2NvYmljaCA8c2VyZ2V5LnNjb2JpY2hAZ21haWwuY29tPgoKCSAgd2luMzIvdnM4LzogTWFrZSBlbmQtb2YtbGluZSByZXR1cm5zIHVuaXh5LCBzbyB0aGF0IHdoZW4gdGhlIGZpbGVzIGFyZSBjaGVja2VkIG91dCBvbiB3aW4zMiB0aGUgbGluZSByZXR1cm5zIHdpbGwgYmUgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU2VyZ2V5IFNjb2JpY2ggIDxzZXJnZXkuc2NvYmljaCBhdCBnbWFpbCBjb20+CgkgICogd2luMzIvdnM4L2dzdC1wbHVnaW5zLWdvb2Quc2xuOgoJICAqIHdpbjMyL3ZzOC9saWJnc3QxMzk0LnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0YWFzaW5rLnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0YWxhdy52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdGFscGhhLnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0YWxwaGFjb2xvci52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdGFubm9kZXgudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RhcGV0YWcudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RhdWRpb2Z4LnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0YXVwYXJzZS52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdGF1dG9kZXRlY3QudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RhdmkudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RjYWNhc2luay52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdGNkaW8udmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RjdXR0ZXIudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3Rkdi52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdGVmZmVjdHYudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RmbGFjLnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0Zmx4ZGVjLnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0Z29vbS52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdGljeWRlbXV4LnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0aWQzZGVtdXgudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RqcGVnLnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0bGFkc3BhLnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0bGV2ZWwudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RtYXRyb3NrYS52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdG1pa21vZC52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdG1uZy52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdG1vbm9zY29wZS52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdG11bGF3LnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0bXVsdGlwYXJ0LnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0cG5nLnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0cnRwLnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0cnRzcC52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdHNob3V0Mi52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdHNtcHRlLnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0c3BlZXgudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3R0YWdsaWIudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3R1ZHAudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3R2aWRlb2JhbGFuY2UudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3R2aWRlb2JveC52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdHZpZGVvZmxpcC52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdHZpZGVvbWl4ZXIudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3R3YXZlbmMudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3R3YXZwYXJzZS52Y3Byb2o6CgkgIE1ha2UgZW5kLW9mLWxpbmUgcmV0dXJucyB1bml4eSwgc28gdGhhdCB3aGVuIHRoZSBmaWxlcyBhcmUgY2hlY2tlZAoJICBvdXQgb24gd2luMzIgdGhlIGxpbmUgcmV0dXJucyB3aWxsIGJlIDBkIDBhIGFuZCBub3QgMGQgMGQgMGEuCgkgIEhvcGVmdWxseSBmaXhlcyAjMzY2NDkyLgoKMjAwNi0xMS0xNCAxNTo1NTozMiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogRGlzYWJsZSBpbml0X2ZyYW1lcyBkZWxheSB0aW1lc3RhbXAgYWRqdXN0bWVudCwgaXQgZG9lcyBub3Qgc2VlbSB0byBiZSBuZWVkZWQgYXQgYWxsLiBGaXhlcyAjMy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X21hc3NhZ2VfaW5kZXgpOgoJICBEaXNhYmxlIGluaXRfZnJhbWVzIGRlbGF5IHRpbWVzdGFtcCBhZGp1c3RtZW50LCBpdCBkb2VzIG5vdAoJICBzZWVtIHRvIGJlIG5lZWRlZCBhdCBhbGwuIEZpeGVzICMzNjk2MjEuCgoyMDA2LTExLTE0IDExOjQzOjQwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBEb24ndCBwYXJzZSBleHRyYSBzYW1wbGUgcGFyYW1zIGZvciByYXcgcGNtLiBGaXhlcyAjMzc0OTE0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9nZXRfZHVyYXRpb24pLAoJICAoZ3N0X3F0ZGVtdXhfaGFuZGxlX3NyY19xdWVyeSksIChxdGRlbXV4X3BhcnNlX3RyYWspOgoJICBEb24ndCBwYXJzZSBleHRyYSBzYW1wbGUgcGFyYW1zIGZvciByYXcgcGNtLiBGaXhlcyAjMzc0OTE0LgoKMjAwNi0xMS0xMyAxODozMToxOCArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFuYXV3QHNreW5ldC5iZT4KCgkgIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzogRml4IG1lbWxlYWsgYnkgdW5yZWYnaW5nIGNvbGxlY3RwYWRzIGluc3RhbmNlICh3aGVuIGZpbmFsaXppbmcpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogTWFyayBOYXV3ZWxhZXJ0cyAgPG1hbmF1dyBhdCBza3luZXQgYmU+CgkgICogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJICAoZ3N0X3ZpZGVvbWl4ZXJfc2V0X21hc3Rlcl9nZW9tZXRyeSksCgkgIChnc3RfdmlkZW9taXhlcl9wYWRfc2lua19zZXRjYXBzKSwgKGdzdF92aWRlb21peGVyX2NsYXNzX2luaXQpLAoJICAoZ3N0X3ZpZGVvbWl4ZXJfY29sbGVjdF9mcmVlKSwgKGdzdF92aWRlb21peGVyX3Jlc2V0KSwKCSAgKGdzdF92aWRlb21peGVyX2luaXQpLCAoZ3N0X3ZpZGVvbWl4ZXJfZmluYWxpemUpLAoJICAoZ3N0X3ZpZGVvbWl4ZXJfcmVxdWVzdF9uZXdfcGFkKSwgKGdzdF92aWRlb21peGVyX3JlbGVhc2VfcGFkKSwKCSAgKGdzdF92aWRlb21peGVyX2NvbGxlY3RlZCksIChnc3RfdmlkZW9taXhlcl9jaGFuZ2Vfc3RhdGUpOgoJICBGaXggbWVtbGVhayBieSB1bnJlZidpbmcgY29sbGVjdHBhZHMgaW5zdGFuY2UgKHdoZW4gZmluYWxpemluZykKCSAgSW1wbGVtZW50IHJlbGVhc2luZyBhIHJlcXVlc3QgcGFkLiBGaXhlcyAjMzc0NDc5LgoKMjAwNi0xMS0xMCAyMDowODo0MiArMDAwMCAgU2VyZ2V5IFNjb2JpY2ggPHNlcmdleS5zY29iaWNoQGdtYWlsLmNvbT4KCgkgIHdpbjMyL3ZzOC86IEFkZCBWUzggcHJvamVjdCBmaWxlcyAobm90ZSB0aGF0IG1hbnkgb2YgdGhlIHBsdWdpbnMgaW4gZXh0IGFyZSBkaXNhYmxlZCBieSBkZWZhdWx0KS4gRml4ZXMgIzM2NjQ5Mi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBTZXJnZXkgU2NvYmljaCAgPHNlcmdleS5zY29iaWNoIGF0IGdtYWlsIGNvbT4KCSAgKiB3aW4zMi92czgvZ3N0LXBsdWdpbnMtZ29vZC5zbG46CgkgICogd2luMzIvdnM4L2xpYmdzdDEzOTQudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RhYXNpbmsudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RhbGF3LnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0YWxwaGEudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RhbHBoYWNvbG9yLnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0YW5ub2RleC52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdGFwZXRhZy52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdGF1ZGlvZngudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RhdXBhcnNlLnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0YXV0b2RldGVjdC52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdGF2aS52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdGNhY2FzaW5rLnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0Y2Rpby52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdGN1dHRlci52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdGR2LnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0ZWZmZWN0di52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdGZsYWMudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RmbHhkZWMudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3Rnb29tLnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0aWN5ZGVtdXgudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RpZDNkZW11eC52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdGpwZWcudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RsYWRzcGEudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RsZXZlbC52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdG1hdHJvc2thLnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0bWlrbW9kLnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0bW5nLnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0bW9ub3Njb3BlLnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0bXVsYXcudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RtdWx0aXBhcnQudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RwbmcudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RydHAudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RydHNwLnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0c2hvdXQyLnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0c21wdGUudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RzcGVleC52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdHRhZ2xpYi52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdHVkcC52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdHZpZGVvYmFsYW5jZS52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdHZpZGVvYm94LnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0dmlkZW9mbGlwLnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0dmlkZW9taXhlci52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdHdhdmVuYy52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdHdhdnBhcnNlLnZjcHJvajoKCSAgQWRkIFZTOCBwcm9qZWN0IGZpbGVzIChub3RlIHRoYXQgbWFueSBvZiB0aGUgcGx1Z2lucyBpbiBleHQgYXJlCgkgIGRpc2FibGVkIGJ5IGRlZmF1bHQpLiBGaXhlcyAjMzY2NDkyLgoKMjAwNi0xMS0xMCAxOToxODozMyArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBnc3QvbXVsdGlmaWxlL01ha2VmaWxlLmFtOiBMZXQncyBub3QgZGVwZW5kIG9uIGEgZmlsZSB0aGF0IGRvZXNuJ3QgZXhpc3QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tdWx0aWZpbGUvTWFrZWZpbGUuYW06CgkgIExldCdzIG5vdCBkZXBlbmQgb24gYSBmaWxlIHRoYXQgZG9lc24ndCBleGlzdC4KCjIwMDYtMTEtMTAgMTg6NTE6MTAgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgUmV2aXZlIG11bHRpZmlsZVtzcmN8c2lua10uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvbXVsdGlmaWxlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlLmM6CgkgICogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmM6CgkgICogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzcmMuYzoKCSAgKiBnc3QvbXVsdGlmaWxlL211bHRpZmlsZS52cHJvajoKCSAgUmV2aXZlIG11bHRpZmlsZVtzcmN8c2lua10uCgoyMDA2LTExLTEwIDA4OjA5OjA1ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6IHdlIGRvIG5vdCB0cmFuc2xhdGUgZGVidWcgbWVzc2FnZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOiAoZ3N0X3Y0bDJzcmNfZ3JhYl9mcmFtZSk6CgkgIHdlIGRvIG5vdCB0cmFuc2xhdGUgZGVidWcgbWVzc2FnZXMKCjIwMDYtMTEtMDggMTI6MDQ6MDMgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9mbHgvZ3N0Zmx4ZGVjLmM6IGZpeCBjYXRlZ29yaXNhdGlvbiwgbWFrZSBzaG9ydCBkZXNjIG1vcmUgZXhwbGljaXQsIHJlbW92ZSB1bnVzZWQgY29kZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx4L2dzdGZseGRlYy5jOiAoZ3N0X2ZseGRlY19jbGFzc19pbml0KToKCSAgZml4IGNhdGVnb3Jpc2F0aW9uLCBtYWtlIHNob3J0IGRlc2MgbW9yZSBleHBsaWNpdCwgcmVtb3ZlIHVudXNlZCBjb2RlCgkgIEZpeGVzICMzNzIwMjEKCjIwMDYtMTEtMDggMDE6MzA6MzkgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkgIGdzdC9ydHAvOiBGaXggZWxlbWVudCBkZXNjcmlwdGlvbnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwTDE2ZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBhbXJwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGdzbWRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBoMjYzcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBoMjYzcGRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBoMjYzcHBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBtcDJ0ZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGdkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0Z3BheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0dmRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBtcDR2cGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBtcGFkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXBhcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBwY21hZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cHBjbWFwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cHBjbXVkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwcGNtdXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwc3BlZXhkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwc3BlZXhwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cHN2M3ZkZXBheS5jOgoJICBGaXggZWxlbWVudCBkZXNjcmlwdGlvbnMuCgoyMDA2LTExLTA4IDAxOjI5OjUxICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJICBnc3QvcnRwLzogRml4IGRlc2NyaXB0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc2RlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHB2b3JiaXNwYXkuYzogKGdzdF9ydHBfdm9yYmlzX3BheV9oYW5kbGVfYnVmZmVyKToKCSAgRml4IGRlc2NyaXB0aW9uLgoJICBTbWFsbCBjbGVhbnVwIGluIHRoZSBwYXlsb2FkZXIuCgoyMDA2LTExLTA4IDAxOjI4OjAwICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJICBnc3QvcnRwLzogQWRkIHRoZW9yYSBwYXkvZGVwYXlsb2FkZXJzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9ydHAvZ3N0cnRwLmM6IChwbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHB0aGVvcmFkZXBheS5jOiAoZ3N0X3J0cF90aGVvcmFfZGVwYXlfYmFzZV9pbml0KSwKCSAgKGdzdF9ydHBfdGhlb3JhX2RlcGF5X2NsYXNzX2luaXQpLCAoZ3N0X3J0cF90aGVvcmFfZGVwYXlfaW5pdCksCgkgIChnc3RfcnRwX3RoZW9yYV9kZXBheV9maW5hbGl6ZSksCgkgIChnc3RfcnRwX3RoZW9yYV9kZXBheV9wYXJzZV9jb25maWd1cmF0aW9uKSwKCSAgKGdzdF9ydHBfdGhlb3JhX2RlcGF5X3NldGNhcHMpLAoJICAoZ3N0X3J0cF90aGVvcmFfZGVwYXlfc3dpdGNoX2NvZGVib29rKSwKCSAgKGdzdF9ydHBfdGhlb3JhX2RlcGF5X3Byb2Nlc3MpLAoJICAoZ3N0X3J0cF90aGVvcmFfZGVwYXlfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9ydHBfdGhlb3JhX2RlcGF5X2dldF9wcm9wZXJ0eSksCgkgIChnc3RfcnRwX3RoZW9yYV9kZXBheV9jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X3J0cF90aGVvcmFfZGVwYXlfcGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhZGVwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYXBheS5jOiAoZ3N0X3J0cF90aGVvcmFfcGF5X2Jhc2VfaW5pdCksCgkgIChnc3RfcnRwX3RoZW9yYV9wYXlfY2xhc3NfaW5pdCksIChnc3RfcnRwX3RoZW9yYV9wYXlfaW5pdCksCgkgIChnc3RfcnRwX3RoZW9yYV9wYXlfc2V0Y2FwcyksIChnc3RfcnRwX3RoZW9yYV9wYXlfcmVzZXRfcGFja2V0KSwKCSAgKGdzdF9ydHBfdGhlb3JhX3BheV9pbml0X3BhY2tldCksCgkgIChnc3RfcnRwX3RoZW9yYV9wYXlfZmx1c2hfcGFja2V0KSwKCSAgKGdzdF9ydHBfdGhlb3JhX3BheV9maW5pc2hfaGVhZGVycyksIChnc3RfcnRwX3RoZW9yYV9wYXlfcGFyc2VfaWQpLAoJICAoZ3N0X3J0cF90aGVvcmFfcGF5X2hhbmRsZV9idWZmZXIpLAoJICAoZ3N0X3J0cF90aGVvcmFfcGF5X3BsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYXBheS5oOgoJICBBZGQgdGhlb3JhIHBheS9kZXBheWxvYWRlcnMuCgoyMDA2LTExLTA3IDAxOjQzOjA2ICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJICBnc3QvcnRwL01ha2VmaWxlLmFtOiBXZSBkZXBlbmQgb24gZ3N0dGFnIHRvIGdlbmVyYXRlIHRoZSB2b3JiaXMgY29tbWVudHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkgIFdlIGRlcGVuZCBvbiBnc3R0YWcgdG8gZ2VuZXJhdGUgdGhlIHZvcmJpcyBjb21tZW50cy4KCSAgKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc2RlcGF5LmM6CgkgIChnc3RfcnRwX3ZvcmJpc19kZXBheV9wYXJzZV9jb25maWd1cmF0aW9uKSwKCSAgKGdzdF9ydHBfdm9yYmlzX2RlcGF5X3NldGNhcHMpLAoJICAoZ3N0X3J0cF92b3JiaXNfZGVwYXlfc3dpdGNoX2NvZGVib29rKSwKCSAgKGdzdF9ydHBfdm9yYmlzX2RlcGF5X3Byb2Nlc3MpOgoJICAqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzZGVwYXkuaDoKCSAgUGFyc2UgY29uZmlndXJhdGlvbiBzdHJpbmcgaW4gdGhlIGRlcGF5bG9hZGVyLgoJICBJbXBsZW1lbnQgc2VsZWN0aW5nIGFuZCBzd2l0Y2hpbmcgdG8gYSBuZXcgY29kZWJvb2suCgkgIFJlY2VpdmluZyB2b3JiaXMgb3ZlciBSVFAgbm93IHdvcmtzLgoJICAqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzcGF5LmM6IChnc3RfcnRwX3ZvcmJpc19wYXlfcmVzZXRfcGFja2V0KSwKCSAgKGdzdF9ydHBfdm9yYmlzX3BheV9pbml0X3BhY2tldCksCgkgIChnc3RfcnRwX3ZvcmJpc19wYXlfZmluaXNoX2hlYWRlcnMpLAoJICAoZ3N0X3J0cF92b3JiaXNfcGF5X2hhbmRsZV9idWZmZXIpOgoJICAqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzcGF5Lmg6CgkgIFNldCB0aW1lc3RhbXBzIG9uIG91dGdvaW5nIGJ1ZmZlcnMgYW5kIFJUUCBwYWNrZXRzLgoJICBGaXggY29uZmlndXJhdGlvbiBzdHJpbmcsIHByZXBlbmQgbnVtYmVyIG9mIFBhY2tldCBoZWFkZXJzLgoJICBGaXggZW5jb2Rpbmcgb2YgaWRlbnQgc3RyaW5nLgoJICBBZGQgZGVsaXZlcnktbWV0aG9kIHRvIGNhcHMuCgkgIFN0cmVhbWluZyB2b3JiaXMgb3ZlciBSVFAgbm93IHdvcmtzLgoKMjAwNi0xMS0wNiAyMDo1MjoxMCArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSAgZ3N0L3J0cC9nc3RydHB2b3JiaXNwYXkuKjogR2VuZXJhdGUgYSB2YWxpZCBjb25maWd1cmF0aW9uIHN0cmluZyBpbiB0aGUgY2FwcyBiYXNlZCBvbiB0aGUgdm9yYmlzIGhlYWRlcnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzcGF5LmM6IChnc3RfcnRwX3ZvcmJpc19wYXlfc2V0Y2FwcyksCgkgIChnc3RfcnRwX3ZvcmJpc19wYXlfZmluaXNoX2hlYWRlcnMpLCAoZ3N0X3J0cF92b3JiaXNfcGF5X3BhcnNlX2lkKSwKCSAgKGdzdF9ydHBfdm9yYmlzX3BheV9oYW5kbGVfYnVmZmVyKToKCSAgKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc3BheS5oOgoJICBHZW5lcmF0ZSBhIHZhbGlkIGNvbmZpZ3VyYXRpb24gc3RyaW5nIGluIHRoZSBjYXBzIGJhc2VkIG9uIHRoZQoJICB2b3JiaXMgaGVhZGVycy4KCjIwMDYtMTEtMDIgMjA6MTM6MjYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIEZpeCBlbnVtIG5pY2tzOyBvbmx5IGVtaXQgbm8tbW9yZS1wYWRzIG9uY2U7IGFkZCBzdXBwb3J0IGZvciB2ZXJ5IGZhc3QgZW5jb2RpbmcgbW9kZSBpbiB1cGNvbWluZyA0LjQwLjAgcmVsZWFzZSAoIzM2OS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vIGF0IGNpcmN1bGFyLWNoYW9zLm9yZz4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOiAoZ3N0X3dhdnBhY2tfZW5jX21vZGVfZ2V0X3R5cGUpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX2NvcnJlY3Rpb25fbW9kZV9nZXRfdHlwZSksCgkgIChnc3Rfd2F2cGFja19lbmNfam9pbnRfc3RlcmVvX21vZGVfZ2V0X3R5cGUpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX2luaXQpLCAoZ3N0X3dhdnBhY2tfZW5jX3NldF93cF9jb25maWcpOgoJICBGaXggZW51bSBuaWNrczsgb25seSBlbWl0IG5vLW1vcmUtcGFkcyBvbmNlOyBhZGQgc3VwcG9ydCBmb3IgdmVyeQoJICBmYXN0IGVuY29kaW5nIG1vZGUgaW4gdXBjb21pbmcgNC40MC4wIHJlbGVhc2UgKCMzNjk1MzkpLgoKMjAwNi0xMS0wMiAxNDo0MzoxMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9jZGlvLzogTW92ZSBDRC1URVhUIHV0aWxpdHkgZnVuY3Rpb24gaW50byBjb21tb24gZmlsZSBzbyBpdCBjYW4gYWxzbyBiZSB1c2VkIGJ5IGEgZnV0dXJlIGNkaW9wYXJhbm9pYXNyYy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2NkaW8vZ3N0Y2Rpby5jOiAoZ3N0X2NkaW9fZ2V0X2NkdGV4dCk6CgkgICogZXh0L2NkaW8vZ3N0Y2Rpby5oOgoJICAqIGV4dC9jZGlvL2dzdGNkaW9jZGRhc3JjLmM6IChnc3RfY2Rpb19jZGRhX3NyY19vcGVuKToKCSAgTW92ZSBDRC1URVhUIHV0aWxpdHkgZnVuY3Rpb24gaW50byBjb21tb24gZmlsZSBzbyBpdCBjYW4gYWxzbyBiZQoJICB1c2VkIGJ5IGEgZnV0dXJlIGNkaW9wYXJhbm9pYXNyYy4KCjIwMDYtMTEtMDEgMTk6NDg6MjYgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogc3lzL3Y0bDIvTWFrZWZpbGUuYW06CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSAgSW1wcm92ZWQgY29tbWVudHMgaW4gRUxFTUVOVF9FUlJPUi9XQVJOSU5HIGFuZCBhZGRlZCAiI2lmIDAiIHRvIHhvdmVybGF5IGNvZGUgdGhhdCBpcyBzdGlsbCBub3QgaW1wbGVtZW50ZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBJbXByb3ZlZCBjb21tZW50cyBpbiBFTEVNRU5UX0VSUk9SL1dBUk5JTkcgYW5kIGFkZGVkICIjaWYgMCIgdG8geG92ZXJsYXkgY29kZSB0aGF0IGlzIHN0aWxsIG5vdCBpbXBsZW1lbnRlZC4KCjIwMDYtMTEtMDEgMTM6NTk6NDkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvaWQzZGVtdXgvaWQzdjJmcmFtZXMuYzogV2UgcmVxdWlyZSBhIC1iYXNlIG1vcmUgcmVjZW50IHRoYW4gMC4xMC45LCBzbyBpdCdzIHNhZmUgdG8gdXNlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pZDNkZW11eC9pZDN2MmZyYW1lcy5jOiAocGFyc2VfcGljdHVyZV9mcmFtZSk6CgkgIFdlIHJlcXVpcmUgYSAtYmFzZSBtb3JlIHJlY2VudCB0aGFuIDAuMTAuOSwgc28gaXQncyBzYWZlIHRvIHVzZQoJICBHU1RfVFlQRV9UQUdfSU1BR0VfVFlQRSB1bmNvbmRpdGlvbmFsbHkgbm93LgoJICAqIGV4dC9kdi9nc3RkdmRlYy5jOiAoZ3N0X2R2ZGVjX3NpbmtfZXZlbnQpOgoJICAqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzogKGdzdF9qcGVnX2RlY19zaW5rX2V2ZW50KToKCSAgVXNlIF9uZXdzZWdtZW50X2Z1bGwoKSBub3cgdGhhdCB3ZSBkZXBlbmQgb24gYSByZWNlbnQgZW5vdWdoIGNvcmUuCgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIFJlbW92ZSBjcnVmdCB0aGF0IHdlIGRvbid0IG5lZWQgYW55IGxvbmdlciBub3cgdGhhdCB3ZSBkZXBlbmQgb24KCSAgYSByZWNlbnQgZW5vdWdoIC1iYXNlLgoKMjAwNi0xMS0wMSAxMDoxOToxOCArMDAwMCAgU2VyZ2V5IFNjb2JpY2ggPHNlcmdleS5zY29iaWNoQGdtYWlsLmNvbT4KCgkgIHN5cy86IFdhaXQgdW50aWwgdGhlIHdpbmRvdyBpcyBjcmVhdGVkIGJlZm9yZSB1c2luZyBpdDsgZ3VhcmQgdW5pc3RkLmggaW5jbHVkZXMgd2l0aCBIQVZFX1VOSVNURF9ILiAoIzM2NjUyMykKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBTZXJnZXkgU2NvYmljaCAgPHNlcmdleSBkb3Qgc2NvYmljaCBhdCBnbWFpbCBjb20+CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgKGdzdF9kaXJlY3RkcmF3c2lua193aW5kb3dfdGhyZWFkKSwKCSAgKGdzdF9kaXJlY3RkcmF3c2lua19jcmVhdGVfZGVmYXVsdF93aW5kb3cpOgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmg6CgkgICogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJICBXYWl0IHVudGlsIHRoZSB3aW5kb3cgaXMgY3JlYXRlZCBiZWZvcmUgdXNpbmcgaXQ7IGd1YXJkIHVuaXN0ZC5oCgkgIGluY2x1ZGVzIHdpdGggSEFWRV9VTklTVERfSC4gKCMzNjY1MjMpCgkgICogd2luMzIvdnM4L2xpYmdzdGRpcmVjdGRyYXcudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RkaXJlY3Rzb3VuZC52Y3Byb2o6CgkgIFVwZGF0ZSBwcm9qZWN0IGZpbGVzLgoKMjAwNi0xMC0zMSAxMDo1MjozMSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvOiBGaXggYW5kIGFjdGl2YXRlIElMQkMgcGF5IGFuZCBkZXBheWxvYWRlcnMuIEZpeGVzICMzNjgxNjIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkgICogZ3N0L3J0cC9nc3RydHAuYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cGlsYmNwYXkuYzogKGdzdF9ydHBpbGJjcGF5X2luaXQpLAoJICAoZ3N0X3J0cGlsYmNwYXlfc2V0Y2Fwcyk6CgkgIEZpeCBhbmQgYWN0aXZhdGUgSUxCQyBwYXkgYW5kIGRlcGF5bG9hZGVycy4gRml4ZXMgIzM2ODE2Mi4KCjIwMDYtMTAtMzEgMTA6MzE6MTggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEhhbmRsZSB1bmJvdW5kZWQgbGVuZ3RoIHN0cmVhbXMgYSBiaXQgYmV0dGVyLiBGaXhlcyAjMzY3Njk2LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9nZXRfZHVyYXRpb24pLAoJICAoZ3N0X3F0ZGVtdXhfaGFuZGxlX3NyY19xdWVyeSksIChxdGRlbXV4X3BhcnNlX3RyZWUpLAoJICAocXRkZW11eF9wYXJzZV90cmFrKToKCSAgSGFuZGxlIHVuYm91bmRlZCBsZW5ndGggc3RyZWFtcyBhIGJpdCBiZXR0ZXIuIEZpeGVzICMzNjc2OTYuCgoyMDA2LTEwLTMxIDA5OjQ0OjM5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6IFNvbWUgc21hbGwgY2xlYW51cHMsIHVzZSBfc2NhbGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOiAoc3BlZXhfZGVjX2NvbnZlcnQpLAoJICAoc3BlZXhfZGVjX3NpbmtfZXZlbnQpLCAoc3BlZXhfZGVjX2NoYWluX3BhcnNlX2hlYWRlcik6CgkgIFNvbWUgc21hbGwgY2xlYW51cHMsIHVzZSBfc2NhbGUuCgoyMDA2LTEwLTMxIDA5OjI5OjM2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiBVc2UgaGlnaGVyIHByZWNpc2lvbiBzY2FsZSBmdW5jdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9oYW5kbGVfc3JjX3F1ZXJ5KToKCSAgVXNlIGhpZ2hlciBwcmVjaXNpb24gc2NhbGUgZnVuY3Rpb24uCgoyMDA2LTEwLTMwIDE2OjE4OjE4ICswMDAwICBNaWNoYWwgQmVuZXMgPG1pY2hhbC5iZW5lc0BpdG9uaXMudHY+CgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogRml4IHNldmVyYWwgaXNzdWVzIHdpdGggZW5jb2RlZC9jb21wcmVzc2VkL2VuY3J5cHRlZC9zaWduZWQgdHJhY2tzOyBhbHNvLCByZW1vdmUgc3VwZXIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBNaWNoYWwgQmVuZXMgIDxtaWNoYWwgZG90IGJlbmVzIGF0IGl0b25pcyB0dj4KCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogKGdzdF9tYXRyb3NrYV9kZW11eF9lbmNvZGluZ19jbXApLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3JlYWRfdHJhY2tfZW5jb2RpbmdzKSwKCSAgKGdzdF9tYXRyb3NrYV9kZWNvZGVfYnVmZmVyKToKCSAgRml4IHNldmVyYWwgaXNzdWVzIHdpdGggZW5jb2RlZC9jb21wcmVzc2VkL2VuY3J5cHRlZC9zaWduZWQgdHJhY2tzOwoJICBhbHNvLCByZW1vdmUgc3VwZXJmbHVvdXMgbmV3bGluZSBjaGFyYWN0ZXJzIGZyb20gc29tZSBkZWJ1ZwoJICBzdGF0ZW1lbnRzLiAoIzM2NjE1NSkKCjIwMDYtMTAtMzAgMDk6MjQ6NTMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvanBlZy86IFZhcmlvdXMgY2xlYW51cHMsIGNhcHNuZWdvIGFuZCBsZWFrIGZpeGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6IChnc3RfanBlZ2VuY19nZXRjYXBzKToKCSAgKiBleHQvanBlZy9nc3RzbW9rZWRlYy5jOiAoZ3N0X3Ntb2tlZGVjX2NsYXNzX2luaXQpLAoJICAoZ3N0X3Ntb2tlZGVjX2luaXQpLCAoZ3N0X3Ntb2tlZGVjX2ZpbmFsaXplKSwgKGdzdF9zbW9rZWRlY19jaGFpbiksCgkgIChnc3Rfc21va2VkZWNfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvanBlZy9nc3RzbW9rZWVuYy5jOiAoZ3N0X3Ntb2tlZW5jX2NsYXNzX2luaXQpLAoJICAoZ3N0X3Ntb2tlZW5jX2luaXQpLCAoZ3N0X3Ntb2tlZW5jX2ZpbmFsaXplKSwKCSAgKGdzdF9zbW9rZWVuY19nZXRjYXBzKSwgKGdzdF9zbW9rZWVuY19zZXRjYXBzKSwKCSAgKGdzdF9zbW9rZWVuY19yZXN5bmMpLCAoZ3N0X3Ntb2tlZW5jX2NoYWluKSwKCSAgKGdzdF9zbW9rZWVuY19zZXRfcHJvcGVydHkpLCAoZ3N0X3Ntb2tlZW5jX2dldF9wcm9wZXJ0eSksCgkgIChnc3Rfc21va2VlbmNfY2hhbmdlX3N0YXRlKToKCSAgVmFyaW91cyBjbGVhbnVwcywgY2Fwc25lZ28gYW5kIGxlYWsgZml4ZXMuCgoyMDA2LTEwLTMwIDA4OjE3OjA4ICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYW5hdXdAc2t5bmV0LmJlPgoKCSAgZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOiBGaXggdmlkZW9taXhlciBzbyB0aGF0IGl0IGNhbiBoYW5kbGUgYW55IGNvbWJpbmF0aW9uIG9mIGZyYW1lcmF0ZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogTWFyayBOYXV3ZWxhZXJ0cyAgPG1hbmF1dyBhdCBza3luZXQgYmU+CgkgICogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOiAoZ3N0X3ZpZGVvbWl4ZXJfdXBkYXRlX3F1ZXVlcyk6CgkgIEZpeCB2aWRlb21peGVyIHNvIHRoYXQgaXQgY2FuIGhhbmRsZSBhbnkgY29tYmluYXRpb24gb2YgZnJhbWVyYXRlcy4KCSAgRml4ZXMgIzM2NzIyMS4KCjIwMDYtMTAtMjggMTY6Mzc6MjAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IEZpeCBwb3NpdGlvbiBxdWVyeSBmb3IgYXVkaW8uIGFsc28gZml4ZXMgdGltZXN0YW1wcyBpbiBzdHJlYW1pbmcgbW9kZSBhbmQgYnVnICMzNjQ5NTguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfaGFuZGxlX3NyY19xdWVyeSksCgkgIChnc3RfYXZpX2RlbXV4X3BhcnNlX2ZpbGVfaGVhZGVyKSwKCSAgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2luaXRfcHVzaCksIChnc3RfYXZpX2RlbXV4X3BhcnNlX3N0cmVhbSksCgkgIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9oZWFkZXJfcHVzaCksIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9kYXRhKSwKCSAgKGdzdF9hdmlfZGVtdXhfY2hhaW4pOgoJICBGaXggcG9zaXRpb24gcXVlcnkgZm9yIGF1ZGlvLiBhbHNvIGZpeGVzIHRpbWVzdGFtcHMgaW4gc3RyZWFtaW5nCgkgIG1vZGUgYW5kIGJ1ZyAjMzY0OTU4LgoJICBTbWFsbCBjbGVhbnVwcy4KCjIwMDYtMTAtMjcgMTc6MTA6NDIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvbGlicG5nL2dzdHBuZ2VuYy4qOiBGaXggc3RyaWRlcy4gRml4ZXMgIzM2NDg1Ni4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2xpYnBuZy9nc3RwbmdlbmMuYzogKGdzdF9wbmdlbmNfc2V0Y2FwcyksIChnc3RfcG5nZW5jX2NoYWluKToKCSAgKiBleHQvbGlicG5nL2dzdHBuZ2VuYy5oOgoJICBGaXggc3RyaWRlcy4gRml4ZXMgIzM2NDg1Ni4KCSAgQ2xlYW51cCBjYXBzbmVnby4KCSAgU2V0IGNhcHMgb24gb3V0Z29pbmcgYnVmZmVycy4KCjIwMDYtMTAtMTggMTc6MDY6MjEgKzAwMDAgIFZpbGxlIFN5cmphbGEgPHZpbGxlLnN5cmphbGFAbW92aWFsLmZpPgoKCSAgZ3N0L3J0cC86IEFkZCBzdGF0aWMgcGF5bG9hZCBudW1iZXJzIGluIGFkZGl0aW9uIHRvIHRoZSBkeW5hbWljIG9uZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogVmlsbGUgU3lyamFsYSA8dmlsbGUgZG90IHN5cmphbGEgYXQgbW92aWFsIGRvdCBmaT4KCSAgKiBnc3QvcnRwL2dzdHJ0cGdzbXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXBhcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBwY21hcGF5LmM6IChnc3RfcnRwX3BjbWFfcGF5X2ZsdXNoKSwKCSAgKGdzdF9ydHBfcGNtYV9wYXlfaGFuZGxlX2J1ZmZlcik6CgkgICogZ3N0L3J0cC9nc3RydHBwY211cGF5LmM6IChnc3RfcnRwX3BjbXVfcGF5X2ZsdXNoKToKCSAgQWRkIHN0YXRpYyBwYXlsb2FkIG51bWJlcnMgaW4gYWRkaXRpb24gdG8gdGhlIGR5bmFtaWMgb25lcy4KCSAgRml4ZXMgIzM2MTYzOS4KCjIwMDYtMTAtMTggMTY6MTg6NTUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC86IFJldXNlIGFscmVhZHkgZXhpc3RpbmcgZW51bSBmb3IgbG93ZXIgdHJhbnNwb3J0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcF9sb3dlcl90cmFuc19nZXRfdHlwZSksCgkgIChnc3RfcnRzcHNyY19jbGFzc19pbml0KSwgKGdzdF9ydHNwc3JjX2xvb3BfaW50ZXJsZWF2ZWQpLAoJICAoZ3N0X3J0c3BzcmNfbG9vcF91ZHApLCAoZ3N0X3J0c3BzcmNfb3BlbiksCgkgIChnc3RfcnRzcHNyY191cmlfZ2V0X3Byb3RvY29scyksIChnc3RfcnRzcHNyY191cmlfc2V0X3VyaSk6CgkgICogZ3N0L3J0c3AvcnRzcGNvbm5lY3Rpb24uYzogKHJ0c3BfY29ubmVjdGlvbl9jcmVhdGUpOgoJICAqIGdzdC9ydHNwL3J0c3BkZWZzLmg6CgkgICogZ3N0L3J0c3AvcnRzcHVybC5jOiAocnRzcF91cmxfcGFyc2UpOgoJICAqIGdzdC9ydHNwL3J0c3B1cmwuaDoKCSAgUmV1c2UgYWxyZWFkeSBleGlzdGluZyBlbnVtIGZvciBsb3dlciB0cmFuc3BvcnQuCgkgIEFkZCBydHNwdCBhbmQgcnRzcHUgcHJvdG9jb2xzLgoJICBTZW5kIHJlZGlyZWN0IHRvIHJ0c3B0IHdoZW4gdWRwIHRpbWVzIG91dC4KCjIwMDYtMTAtMTggMTQ6MDA6NDQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogRml4IHNlZWtpbmcgc29tZSBtb3JlLCBtb3N0bHkgZm9yIHNwZWVkIGNoYW5nZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiAoZ3N0X3dhdnBhcnNlX3BlcmZvcm1fc2VlayksCgkgIChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2RhdGEpOgoJICBGaXggc2Vla2luZyBzb21lIG1vcmUsIG1vc3RseSBmb3Igc3BlZWQgY2hhbmdlcy4KCjIwMDYtMTAtMTggMTE6Mjg6MDUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBDaGFuZ2VMb2c6CgkgIENoYW5nZUxvZyBzdXJnZXJ5OiBmaXggRnJlZHJpaydzIGUtbWFpbCBhZGRyZXNzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBDaGFuZ2VMb2cgc3VyZ2VyeTogZml4IEZyZWRyaWsncyBlLW1haWwgYWRkcmVzcwoKMjAwNi0xMC0xOCAxMTowNDowOSArMDAwMCAgRnJlZHJpayBQZXJzc29uIDxmcmVwZUBicm9hZGJhbmQubmV0PgoKCSAgc3lzL3Y0bDIvZ3N0djRsMnR1bmVyLio6IEZpeCBfc2V0X2NoYW5uZWwoKTogcmVtb3ZlIHVzZWxlc3MgZ19vYmplY3Rfbm90aWZ5KCkgZm9yICJjaGFubmVsIiBwcm9wZXJ0eSB0aGF0IGRvZXNuJ3QgZXhpLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogRnJlZHJpayBQZXJzc29uICA8ZnJlcGUgYXQgYnJvYWRiYW5kIG5ldD4KCSAgKiBzeXMvdjRsMi9nc3R2NGwydHVuZXIuYzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwydHVuZXIuaDoKCSAgRml4IF9zZXRfY2hhbm5lbCgpOiByZW1vdmUgdXNlbGVzcyBnX29iamVjdF9ub3RpZnkoKSBmb3IgImNoYW5uZWwiCgkgIHByb3BlcnR5IHRoYXQgZG9lc24ndCBleGlzdCBhbnkgbG9uZ2VyIGFuZCB0aGVyZWZvcmUgbm93IGFsc28KCSAgdXNlbGVzcyByZWRpcmVjdCAoIzMzODgxOCkuCgoyMDA2LTEwLTE3IDE1OjE2OjQ3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgQWN0aXZhdGUgcGFkcyBiZWZvcmUgYWRkaW5nIHRoZW0gdG8gcnVubmluZyBlbGVtZW50LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6IChnc3Rfd2F2cGFja19lbmNfc2V0X3dwX2NvbmZpZyk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6CgkgIChnc3Rfd2F2cGFja19wYXJzZV9jcmVhdGVfc3JjX3BhZCk6CgkgICogZ3N0L251dmRlbXV4L2dzdG51dmRlbXV4LmM6IChnc3RfbnV2X2RlbXV4X2NyZWF0ZV9wYWRzKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy93YXZwYWNrcGFyc2UuYzogKHdhdnBhY2twYXJzZV9mb3VuZF9wYWQpOgoJICBBY3RpdmF0ZSBwYWRzIGJlZm9yZSBhZGRpbmcgdGhlbSB0byBydW5uaW5nIGVsZW1lbnQuCgoyMDA2LTEwLTE3IDE0OjU3OjE3ICswMDAwICBKb3NlcCBUb3JyYSBWYWxsZXMgPGpvc2VwQGZsdWVuZG8uY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBNYWtlIGNvbXBpbGUgd2l0aCBGb3J0ZSBjb21waWxlciwgbW9zdGx5IGRvbid0IGRvIHBvaW50ZXIgYXJpdGhtZXRpYyB3aXRoIHZvaWQgcG9pbnRlcnMgKCMzNjI2Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogSm9zZXAgVG9ycmEgVmFsbGVzICA8am9zZXAgYXQgZmx1ZW5kbyBjb20+CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfaGFuZGxlX3NpbmtfZXZlbnQpLAoJICAobmV4dF9lbnRyeV9zaXplKSwgKHF0ZGVtdXhfaW5mbGF0ZSksIChxdGRlbXV4X3BhcnNlX21vb3YpLAoJICAocXRkZW11eF9wYXJzZV90cmVlKSwgKHF0ZGVtdXhfcGFyc2VfdHJhayksIChxdGRlbXV4X3RhZ19hZGRfc3RyKSwKCSAgKHF0ZGVtdXhfdGFnX2FkZF9udW0pLCAocXRkZW11eF90YWdfYWRkX2RhdGUpLAoJICAocXRkZW11eF90YWdfYWRkX2ducmUpOgoJICBNYWtlIGNvbXBpbGUgd2l0aCBGb3J0ZSBjb21waWxlciwgbW9zdGx5IGRvbid0IGRvIHBvaW50ZXIgYXJpdGhtZXRpYwoJICB3aXRoIHZvaWQgcG9pbnRlcnMgKCMzNjI2MjYpLgoKMjAwNi0xMC0xNyAxNDozNzo0OSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIHN5cy9vc3MvZ3N0b3Nzc2luay5jOiBTb21lIGRyaXZlcnMgZG8gbm90IHN1cHBvcnQgdW5zZXR0aW5nIHRoZSBub24tYmxvY2tpbmcgZmxhZyBvbmNlIHRoZSBkZXZpY2UgaXMgb3BlbmVkLiBJbiB0aG9zZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvb3NzL2dzdG9zc3NpbmsuYzogKGdzdF9vc3Nfc2lua19wcmVwYXJlKToKCSAgU29tZSBkcml2ZXJzIGRvIG5vdCBzdXBwb3J0IHVuc2V0dGluZyB0aGUgbm9uLWJsb2NraW5nIGZsYWcgb25jZSB0aGUKCSAgZGV2aWNlIGlzIG9wZW5lZC4gSW4gdGhvc2UgY2FzZXMsIGNsb3NlL29wZW4gdGhlIGRldmljZSBpbgoJICBub24tYmxvY2tpbmcgbW9kZS4gRml4ZXMgIzM2MjY3My4KCjIwMDYtMTAtMTcgMTM6NDQ6MTQgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIHN5cy92NGwyLzogZGVhciBzdGVmYW4sIGZyYW1lc3BlcnNlY29uZCBpcyBub3QgZnJhbWVwZXJpb2QsIHJldmVydGluZyBidXQgYWRkaW5nIGNvbW1lbnQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOiAoZ3N0X3Y0bDJfZmlsbF9saXN0cyk6CgkgICogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOiAoZ3N0X3Y0bDJzcmNfc2V0X2ZwcyksCgkgIChnc3RfdjRsMnNyY19nZXRfZnBzKToKCSAgZGVhciBzdGVmYW4sIGZyYW1lc3BlcnNlY29uZCBpcyBub3QgZnJhbWVwZXJpb2QsIHJldmVydGluZyBidXQgYWRkaW5nCgkgIGNvbW1lbnQKCjIwMDYtMTAtMTcgMTE6Mjg6NTAgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIHN5cy92NGwyLzogTnVtZXJhdG9yIGlzIG51bWVyYXRvciBhbmQgZGVub21pbmF0b3IgaXMgZGVub21pbmF0b3IuIFNheSB0aGF0IGFsb3VkIDUgdGltZXMgYW5kIHJldHJ5IGFmdGVyIG5leHQgYmVlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOiAoZ3N0X3Y0bDJfZmlsbF9saXN0cyk6CgkgICogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOiAoZ3N0X3Y0bDJzcmNfc2V0X2ZwcyksCgkgIChnc3RfdjRsMnNyY19nZXRfZnBzKToKCSAgTnVtZXJhdG9yIGlzIG51bWVyYXRvciBhbmQgZGVub21pbmF0b3IgaXMgZGVub21pbmF0b3IuIFNheSB0aGF0IGFsb3VkCgkgIDUgdGltZXMgYW5kIHJldHJ5IGFmdGVyIG5leHQgYmVlci4KCjIwMDYtMTAtMTcgMTA6NTk6NTUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4Lio6IEF2b2lkIHZvaWQgcG9pbnRlciB1c2FnZSwgYmV0dGVyIHVzZSBndWludDggKiBpbnN0ZWFkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3BhcnNlX21vb3YpLCAocXRkZW11eF9wYXJzZSksCgkgIChxdGRlbXV4X25vZGVfZHVtcF9mb3JlYWNoKSwgKHF0ZGVtdXhfZHVtcF9tdmhkKSwKCSAgKHF0ZGVtdXhfZHVtcF90a2hkKSwgKHF0ZGVtdXhfZHVtcF9lbHN0KSwgKHF0ZGVtdXhfZHVtcF9tZGhkKSwKCSAgKHF0ZGVtdXhfZHVtcF9oZGxyKSwgKHF0ZGVtdXhfZHVtcF92bWhkKSwgKHF0ZGVtdXhfZHVtcF9kcmVmKSwKCSAgKHF0ZGVtdXhfZHVtcF9zdHNkKSwgKHF0ZGVtdXhfZHVtcF9zdHRzKSwgKHF0ZGVtdXhfZHVtcF9zdHNzKSwKCSAgKHF0ZGVtdXhfZHVtcF9zdHNjKSwgKHF0ZGVtdXhfZHVtcF9zdHN6KSwgKHF0ZGVtdXhfZHVtcF9zdGNvKSwKCSAgKHF0ZGVtdXhfZHVtcF9jbzY0KSwgKHF0ZGVtdXhfZHVtcF9kY29tKSwgKHF0ZGVtdXhfZHVtcF9jbXZkKSwKCSAgKHF0ZGVtdXhfZHVtcF91bmtub3duKSwgKHF0ZGVtdXhfdHJlZV9nZXRfY2hpbGRfYnlfdHlwZSksCgkgIChxdGRlbXV4X3RyZWVfZ2V0X3NpYmxpbmdfYnlfdHlwZSk6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5oOgoJICBBdm9pZCB2b2lkIHBvaW50ZXIgdXNhZ2UsIGJldHRlciB1c2UgZ3VpbnQ4ICogaW5zdGVhZC4KCjIwMDYtMTAtMTYgMTg6MjI6NDcgKzAwMDAgIEpvc2VwIFRvcnJhIFZhbGxlcyA8am9zZXBAZmx1ZW5kby5jb20+CgoJICBGaXggYSBidW5jaCBvZiBwcm9ibGVtcyBkaXNjb3ZlcmVkIGJ5IHRoZSBGb3J0ZSBjb21waWxlciwgbW9zdGx5IHR5cGUgbWl4dXBzIGFuZCBwb2ludGVyIGFyaXRobWV0aWNzIHdpdGggdm9pZCBwb2ludGUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBKb3NlcCBUb3JyYSBWYWxsZXMgIDxqb3NlcCBhdCBmbHVlbmRvIGNvbT4KCSAgKiBleHQvY2Fpcm8vZ3N0dGltZW92ZXJsYXkuYzogKGdzdF9jYWlyb190aW1lX292ZXJsYXlfdHJhbnNmb3JtKToKCSAgKiBleHQvZXNkL2VzZHNpbmsuYzogKGdzdF9lc2RzaW5rX3dyaXRlKToKCSAgKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6IChnc3RfZmxhY19kZWNfbGVuZ3RoKSwKCSAgKGdzdF9mbGFjX2RlY19yZWFkX3NlZWthYmxlKSwgKGdzdF9mbGFjX2RlY19jaGFpbiksCgkgIChnc3RfZmxhY19kZWNfc2VuZF9uZXdzZWdtZW50KToKCSAgKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6IChnc3RfZmxhY19lbmNfc2Vla19jYWxsYmFjayksCgkgIChnc3RfZmxhY19lbmNfdGVsbF9jYWxsYmFjayk6CgkgICogZXh0L2pwZWcvc21va2Vjb2RlYy5jOiAoZmluZF9iZXN0X3NpemUpLCAoc21va2Vjb2RlY19lbmNvZGUpLAoJICAoc21va2Vjb2RlY19wYXJzZV9oZWFkZXIpLCAoc21va2Vjb2RlY19kZWNvZGUpOgoJICAqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6IChnc3RfYXZpX211eF93cml0ZV9hdml4X2luZGV4KToKCSAgKiBnc3QvZGVidWcvZWZlbmNlLmM6IChnc3RfZmVuY2VkX2J1ZmZlcl9hbGxvYyk6CgkgICogZ3N0L2dvb20vTWFrZWZpbGUuYW06CgkgICogZ3N0L2dvb20vZ3N0Z29vbS5jOgoJICAqIGdzdC9pY3lkZW11eC9nc3RpY3lkZW11eC5jOiAoZ3N0X2ljeWRlbXV4X3R5cGVmaW5kX29yX2ZvcndhcmQpOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgKiBnc3QvcnRzcC9ydHNwY29ubmVjdGlvbi5jOiAocnRzcF9jb25uZWN0aW9uX3JlYWQpOgoJICAqIGdzdC91ZHAvZ3N0dWRwc2luay5jOgoJICAqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IChnc3Rfd2F2cGFyc2VfY2hhbmdlX3N0YXRlKToKCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlcnRyYWNrLmg6CgkgIEZpeCBhIGJ1bmNoIG9mIHByb2JsZW1zIGRpc2NvdmVyZWQgYnkgdGhlIEZvcnRlIGNvbXBpbGVyLCBtb3N0bHkgdHlwZQoJICBtaXh1cHMgYW5kIHBvaW50ZXIgYXJpdGhtZXRpY3Mgd2l0aCB2b2lkIHBvaW50ZXJzLiBGaXhlcyAjMzYyNjAzLgoKMjAwNi0xMC0xMiAxOTowMjo1MSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9zcGVleC86IE1pc2NlbGxhbmVvdXMgY2xlYW4tdXBzLCBhbW9uZyBvdGhlciB0aGluZ3M6IHNwZWV4ZW5jID0+IGVuYyB0byBlbmhhbmNlIGNvZGUgcmVhZGFiaWxpdHk7IGNoYW5nZSBzcGVleGVuYy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvc3BlZXgvZ3N0c3BlZXguYzogKHBsdWdpbl9pbml0KToKCSAgKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzogKGdzdF9zcGVleF9lbmNfZ2V0X2Zvcm1hdHMpLAoJICAoZ3N0X3NwZWV4X2VuY19zZXR1cF9pbnRlcmZhY2VzKSwgKGdzdF9zcGVleF9lbmNfYmFzZV9pbml0KSwKCSAgKGdzdF9zcGVleF9lbmNfY2xhc3NfaW5pdCksIChnc3Rfc3BlZXhfZW5jX2ZpbmFsaXplKSwKCSAgKGdzdF9zcGVleF9lbmNfc2lua19zZXRjYXBzKSwgKGdzdF9zcGVleF9lbmNfY29udmVydF9zcmMpLAoJICAoZ3N0X3NwZWV4X2VuY19jb252ZXJ0X3NpbmspLCAoZ3N0X3NwZWV4X2VuY19nZXRfcXVlcnlfdHlwZXMpLAoJICAoZ3N0X3NwZWV4X2VuY19zcmNfcXVlcnkpLCAoZ3N0X3NwZWV4X2VuY19zaW5rX3F1ZXJ5KSwKCSAgKGdzdF9zcGVleF9lbmNfaW5pdCksIChnc3Rfc3BlZXhfZW5jX2NyZWF0ZV9tZXRhZGF0YV9idWZmZXIpLAoJICAoZ3N0X3NwZWV4X2VuY19zZXRfbGFzdF9tc2cpLCAoZ3N0X3NwZWV4X2VuY19zZXR1cCksCgkgIChnc3Rfc3BlZXhfZW5jX2J1ZmZlcl9mcm9tX2RhdGEpLCAoZ3N0X3NwZWV4X2VuY19wdXNoX2J1ZmZlciksCgkgIChnc3Rfc3BlZXhfZW5jX3NldF9oZWFkZXJfb25fY2FwcyksIChnc3Rfc3BlZXhfZW5jX3NpbmtldmVudCksCgkgIChnc3Rfc3BlZXhfZW5jX2NoYWluKSwgKGdzdF9zcGVleF9lbmNfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9zcGVleF9lbmNfc2V0X3Byb3BlcnR5KSwgKGdzdF9zcGVleF9lbmNfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuaDoKCSAgTWlzY2VsbGFuZW91cyBjbGVhbi11cHMsIGFtb25nIG90aGVyIHRoaW5nczogc3BlZXhlbmMgPT4gZW5jIHRvCgkgIGVuaGFuY2UgY29kZSByZWFkYWJpbGl0eTsgY2hhbmdlIHNwZWV4ZW5jID0+IHNwZWV4X2VuYzsgaW4gY2hhaW4KCSAgZnVuY3Rpb24gdW5yZWYgaW5wdXQgYnVmZmVyIGluIGNhc2Ugb2YgZXJyb3I7IHRha2UgcmVmZXJlbmNlIGluCgkgIGV2ZW50IGZ1bmN0aW9uOyB1c2UgYm9pbGVycGxhdGUgbWFjcm87IHVzZSBnc3RfcGFkX3F1ZXJ5X3BlZXJfKgoJICBjb252ZW5pZW5jZSBmdW5jdGlvbnMuCgoyMDA2LTEwLTEyIDE4OjM1OjEwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6IEZpeCBzb21lIG1lbSBsZWFrcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6IChnc3Rfc3BlZXhlbmNfZmluYWxpemUpLAoJICAoZ3N0X3NwZWV4ZW5jX3NldF9sYXN0X21zZyksIChnc3Rfc3BlZXhlbmNfc2V0dXApLAoJICAoZ3N0X3NwZWV4ZW5jX3NldF9oZWFkZXJfb25fY2Fwcyk6CgkgIEZpeCBzb21lIG1lbSBsZWFrcy4KCjIwMDYtMTAtMTEgMTY6MjE6NTMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9VUkxTOiBBZGRlZCBzb21lIG90aGVyIFVSTC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvVVJMUzoKCSAgQWRkZWQgc29tZSBvdGhlciBVUkwuCgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfbG9vcF91ZHApLAoJICAoZ3N0X3J0c3BzcmNfaGFuZGxlX3JlcXVlc3QpLCAoZ3N0X3J0c3BzcmNfc2VuZCksCgkgIChnc3RfcnRzcHNyY19vcGVuKSwgKGdzdF9ydHNwc3JjX3BsYXkpLAoJICAoZ3N0X3J0c3BzcmNfaGFuZGxlX21lc3NhZ2UpLCAoZ3N0X3J0c3BzcmNfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIFdvcmsgb24gZmFsbGJhY2sgdG8gVENQIGNvbm5lY3Rpb24gd2hlbiB0aGUgVURQIHNvY2tldCB0aW1lcyBvdXQuCgkgIEhhbmRsZXIgc2VydmVyIHJlcXVlc3RzLCBqdXN0IHJlcGx5IHdpdGggT0sgZm9yIG5vdy4KCSAgKiBnc3QvcnRzcC9ydHNwZGVmcy5jOiAocnRzcF9zdHJyZXN1bHQpOgoJICAqIGdzdC9ydHNwL3J0c3BkZWZzLmg6CgkgIEFkZGVkIHNvbWUgbW9yZSBSZWFsIGV4dGVuc2lvbiBoZWFkZXJzLgoJICAqIGdzdC9ydHNwL3J0c3B1cmwuYzogKHJ0c3BfdXJsX3BhcnNlKToKCSAgRml4IHBhcnNpbmcgb2YgdXJscyB3aXRoIGEgJzonIHRoYXQgaXMgbm90IHBhcnQgb2YgdGhlIGhvc3RuYW1lOnBvcnQKCSAgcGFydCBvZiB0aGUgdXJsLgoKMjAwNi0xMC0xMSAxMzo0OToyNiArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogQWRkIHNvbWUgZm91cmNjIGZvciBEViBmb3JtYXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfdmlkZW9fY2Fwcyk6CgkgIEFkZCBzb21lIGZvdXJjYyBmb3IgRFYgZm9ybWF0LgoKMjAwNi0xMC0xMSAxMzoyNDo0MiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC86IEFjdGl2YXRlIHBhZCBiZWZvcmUgYWRkaW5nIGl0IHRvIHRoZSBhbHJlYWR5LXJ1bm5pbmcgZWxlbWVudC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2FwZXRhZy9nc3R0YWdkZW11eC5jOiAoZ3N0X3RhZ19kZW11eF9hZGRfc3JjcGFkKToKCSAgKiBnc3QvaWN5ZGVtdXgvZ3N0aWN5ZGVtdXguYzogKGdzdF9pY3lkZW11eF9hZGRfc3JjcGFkKToKCSAgKiBnc3QvaWQzZGVtdXgvZ3N0aWQzZGVtdXguYzogKGdzdF9pZDNkZW11eF9hZGRfc3JjcGFkKToKCSAgQWN0aXZhdGUgcGFkIGJlZm9yZSBhZGRpbmcgaXQgdG8gdGhlIGFscmVhZHktcnVubmluZyBlbGVtZW50LgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ljeWRlbXV4LmM6IChpY3lkZW11eF9mb3VuZF9wYWQpOgoJICBBY3RpdmF0ZSBuZXdseS1jcmVhdGVkIHBhZCB0b28uCgoyMDA2LTEwLTExIDA4OjM0OjE0ICswMDAwICBTZWJhc3RpZW4gQ290ZSA8c2ViYXM2NDJAeWFob28uY2E+CgoJICBnc3QvdWRwL2dzdHVkcHNyYy5jOiBGaXggc29tZSBsZWFrcyBpbiBjYXBzIGFuZCB1cmlzLiBGaXhlcyAjMzYxMjUyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFNlYmFzdGllbiBDb3RlIDxzZWJhczY0MiBhdCB5YWhvbyBkb3QgY2E+CgkgICogZ3N0L3VkcC9nc3R1ZHBzcmMuYzogKGdzdF91ZHBzcmNfY2xhc3NfaW5pdCksCgkgIChnc3RfdWRwc3JjX2ZpbmFsaXplKSwgKGdzdF91ZHBzcmNfY3JlYXRlKSwgKGdzdF91ZHBzcmNfc2V0X3VyaSksCgkgIChnc3RfdWRwc3JjX3N0YXJ0KToKCSAgRml4IHNvbWUgbGVha3MgaW4gY2FwcyBhbmQgdXJpcy4gRml4ZXMgIzM2MTI1Mi4KCjIwMDYtMTAtMTAgMTg6NTQ6MDUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IFByaW50ZiBmb3JtYXQgZml4ZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGV4dHJhY3RfaW5pdGlhbF9sZW5ndGhfYW5kX2ZvdXJjYyksCgkgIChnc3RfcXRkZW11eF9sb29wX3N0YXRlX2hlYWRlcik6CgkgIFByaW50ZiBmb3JtYXQgZml4ZXMuCgkgICogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgVXNlICJfc3RkaW50LmgiLgoKMjAwNi0xMC0xMCAwOTo1NzoxOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogUmVvcmdhbmlzZSBzb21lIHN0dWZmLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9pbml0KSwKCSAgKGdzdF9xdGRlbXV4X3B1c2hfZXZlbnQpLCAoZ3N0X3F0ZGVtdXhfZG9fc2VlayksCgkgIChnc3RfcXRkZW11eF9jaGFuZ2Vfc3RhdGUpLCAoZXh0cmFjdF9pbml0aWFsX2xlbmd0aF9hbmRfZm91cmNjKSwKCSAgKGdzdF9xdGRlbXV4X2xvb3Bfc3RhdGVfaGVhZGVyKSwgKGdzdF9xdGRlbXV4X2FjdGl2YXRlX3NlZ21lbnQpLAoJICAoZ3N0X3F0ZGVtdXhfbG9vcF9zdGF0ZV9tb3ZpZSksIChnc3RfcXRkZW11eF9sb29wKSwKCSAgKGdzdF9xdGRlbXV4X3Bvc3RfYnVmZmVyaW5nKSwgKGdzdF9xdGRlbXV4X2NoYWluKSwKCSAgKGdzdF9xdGRlbXV4X2FkZF9zdHJlYW0pLCAocXRkZW11eF9wcm9jZXNzX3JlZGlyZWN0cyksCgkgIChxdGRlbXV4X3BhcnNlX3RyZWUpLCAocXRkZW11eF9wYXJzZV90cmFrKToKCSAgUmVvcmdhbmlzZSBzb21lIHN0dWZmLgoJICBQYXJzZSBSVFNQIHJlZGlyZWN0aW9uIFVSTFMuCgoyMDA2LTEwLTEwIDA4OjI5OjA3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3dhdnBhcnNlL01ha2VmaWxlLmFtOiBGaXggY29weSduJ3Bhc3RlLW8gKHNwb3R0ZWQgYnkgTWFyayBOYXV3ZWxhZXJ0cywgIzM0MTQ4OSkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC93YXZwYXJzZS9NYWtlZmlsZS5hbToKCSAgRml4IGNvcHknbidwYXN0ZS1vIChzcG90dGVkIGJ5IE1hcmsgTmF1d2VsYWVydHMsICMzNDE0ODkpLgoKMjAwNi0xMC0wOSAwNzowMToxOSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBzeXMvdjRsMi9nc3R2NGwyeG92ZXJsYXkuKjogRml4IGJ1aWxkIGFzIHBlciB0aGUgcGF0Y2ggaW4gIzMzODgxOCBjb21tZW50IDM2LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyeG92ZXJsYXkuYzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyeG92ZXJsYXkuaDoKCSAgRml4IGJ1aWxkIGFzIHBlciB0aGUgcGF0Y2ggaW4gIzMzODgxOCBjb21tZW50IDM2LgoKMjAwNi0xMC0wOCAyMDowNToxMyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkgIGluc3BlY3QgdXBkYXRlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgaW5zcGVjdCB1cGRhdGVzCgoyMDA2LTEwLTA3IDIxOjE1OjQwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiBBY3RpdmF0ZSBwYWRzIGJlZm9yZSBhZGRpbmcgdGhlbSB0byB0aGUgc291cmNlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19zdHJlYW1fY29uZmlndXJlX3RyYW5zcG9ydCk6CgkgIEFjdGl2YXRlIHBhZHMgYmVmb3JlIGFkZGluZyB0aGVtIHRvIHRoZSBzb3VyY2UuCgoyMDA2LTEwLTA3IDExOjM3OjU5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZG9jcy9wbHVnaW5zLzogQWRkL3VwZGF0ZSBkb2NzIHN0dWZmLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwY2RlYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN3ZmRlYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJICBBZGQvdXBkYXRlIGRvY3Mgc3R1ZmYuCgoyMDA2LTEwLTA2IDE3OjAwOjE0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgQWN0aXZhdGUgcGFkcyBiZWZvcmUgYWRkaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZHYvZ3N0ZHZkZW11eC5jOiAoZ3N0X2R2ZGVtdXhfYWRkX3BhZHMpLCAoZ3N0X2R2ZGVtdXhfY2hhaW4pOgoJICAqIGdzdC9hdXBhcnNlL2dzdGF1cGFyc2UuYzogKGdzdF9hdV9wYXJzZV9hZGRfc3JjcGFkKToKCSAgQWN0aXZhdGUgcGFkcyBiZWZvcmUgYWRkaW5nLgoKMjAwNi0xMC0wNiAxNjowMzoyMyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzogQWN0aXZhdGUgcGFkcyBiZWZvcmUgYWRkaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4LmM6IChnc3RfbXVsdGlwYXJ0X2RlbXV4X2luaXQpLAoJICAoZ3N0X211bHRpcGFydF9maW5kX3BhZF9ieV9taW1lKToKCSAgQWN0aXZhdGUgcGFkcyBiZWZvcmUgYWRkaW5nLgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0dmRlcGF5LmM6IChnc3RfcnRwX21wNHZfZGVwYXlfY2xhc3NfaW5pdCk6CgkgIEJPSUxFUlBMQVRFIHNldHMgcGFyZW50X2NsYXNzIGZvciB1cy4KCjIwMDYtMTAtMDYgMTU6NTY6MDEgKzAwMDAgIFJlbsOpIFN0YWRsZXIgPG1haWxAcmVuZXN0YWRsZXIuZGU+CgoJICBBZGQgUmVwbGF5R2FpbiBhbmFseXNpcyBlbGVtZW50ICgjMzU3MDY5KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBSZW7DqSBTdGFkbGVyICA8bWFpbCBhdCByZW5lc3RhZGxlciBkZT4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBnc3QvcmVwbGF5Z2Fpbi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ2FuYWx5c2lzLmM6IChnc3RfcmdfYW5hbHlzaXNfYmFzZV9pbml0KSwKCSAgKGdzdF9yZ19hbmFseXNpc19jbGFzc19pbml0KSwgKGdzdF9yZ19hbmFseXNpc19pbml0KSwKCSAgKGdzdF9yZ19hbmFseXNpc19zZXRfcHJvcGVydHkpLCAoZ3N0X3JnX2FuYWx5c2lzX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfcmdfYW5hbHlzaXNfc3RhcnQpLCAoZ3N0X3JnX2FuYWx5c2lzX3NldF9jYXBzKSwKCSAgKGdzdF9yZ19hbmFseXNpc190cmFuc2Zvcm1faXApLCAoZ3N0X3JnX2FuYWx5c2lzX2V2ZW50KSwKCSAgKGdzdF9yZ19hbmFseXNpc19zdG9wKSwgKGdzdF9yZ19hbmFseXNpc19oYW5kbGVfdGFncyksCgkgIChnc3RfcmdfYW5hbHlzaXNfaGFuZGxlX2VvcyksIChnc3RfcmdfYW5hbHlzaXNfdHJhY2tfcmVzdWx0KSwKCSAgKGdzdF9yZ19hbmFseXNpc19hbGJ1bV9yZXN1bHQpLCAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9yZXBsYXlnYWluL2dzdHJnYW5hbHlzaXMuaDoKCSAgKiBnc3QvcmVwbGF5Z2Fpbi9yZ2FuYWx5c2lzLmM6ICh5dWxlX2ZpbHRlciksIChidXR0ZXJfZmlsdGVyKSwKCSAgKGFwcGx5X2ZpbHRlcnMpLCAocmVzZXRfZmlsdGVycyksIChhY2N1bXVsYXRvcl9hZGQpLAoJICAoYWNjdW11bGF0b3JfY2xlYXIpLCAoYWNjdW11bGF0b3JfcmVzdWx0KSwgKHJnX2FuYWx5c2lzX25ldyksCgkgIChyZ19hbmFseXNpc19zZXRfc2FtcGxlX3JhdGUpLCAocmdfYW5hbHlzaXNfZGVzdHJveSksCgkgIChyZ19hbmFseXNpc19hbmFseXplX21vbm9fZmxvYXQpLAoJICAocmdfYW5hbHlzaXNfYW5hbHl6ZV9zdGVyZW9fZmxvYXQpLAoJICAocmdfYW5hbHlzaXNfYW5hbHl6ZV9tb25vX2ludDE2KSwKCSAgKHJnX2FuYWx5c2lzX2FuYWx5emVfc3RlcmVvX2ludDE2KSwgKHJnX2FuYWx5c2lzX2FuYWx5emUpLAoJICAocmdfYW5hbHlzaXNfdHJhY2tfcmVzdWx0KSwgKHJnX2FuYWx5c2lzX2FsYnVtX3Jlc3VsdCksCgkgIChyZ19hbmFseXNpc19yZXNldF9hbGJ1bSksIChyZ19hbmFseXNpc19yZXNldCk6CgkgICogZ3N0L3JlcGxheWdhaW4vcmdhbmFseXNpcy5oOgoJICBBZGQgUmVwbGF5R2FpbiBhbmFseXNpcyBlbGVtZW50ICgjMzU3MDY5KS4KCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uY3ZzaWdub3JlOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnYW5hbHlzaXMuYzogKGdldF9leHBlY3RlZF9nYWluKSwKCSAgKHNldHVwX3JnYW5hbHlzaXMpLCAoY2xlYW51cF9yZ2FuYWx5c2lzKSwgKHNldF9wbGF5aW5nX3N0YXRlKSwKCSAgKHNlbmRfZW9zX2V2ZW50KSwgKHNlbmRfdGFnX2V2ZW50KSwgKHBvbGxfZW9zKSwgKHBvbGxfdGFncyksCgkgIChmYWlsX3VubGVzc190cmFja19nYWluKSwgKGZhaWxfdW5sZXNzX3RyYWNrX3BlYWspLAoJICAoZmFpbF91bmxlc3NfYWxidW1fZ2FpbiksIChmYWlsX3VubGVzc19hbGJ1bV9wZWFrKSwKCSAgKGZhaWxfaWZfdHJhY2tfdGFncyksIChmYWlsX2lmX2FsYnVtX3RhZ3MpLAoJICAoZmFpbF91bmxlc3NfbnVtX3RyYWNrcyksICh0ZXN0X2J1ZmZlcl9jb25zdF9mbG9hdF9tb25vKSwKCSAgKHRlc3RfYnVmZmVyX2NvbnN0X2Zsb2F0X3N0ZXJlbyksICh0ZXN0X2J1ZmZlcl9jb25zdF9pbnQxNl9tb25vKSwKCSAgKHRlc3RfYnVmZmVyX2NvbnN0X2ludDE2X3N0ZXJlbyksICh0ZXN0X2J1ZmZlcl9zcXVhcmVfZmxvYXRfbW9ubyksCgkgICh0ZXN0X2J1ZmZlcl9zcXVhcmVfZmxvYXRfc3RlcmVvKSwgKHRlc3RfYnVmZmVyX3NxdWFyZV9pbnQxNl9tb25vKSwKCSAgKHRlc3RfYnVmZmVyX3NxdWFyZV9pbnQxNl9zdGVyZW8pLCAocHVzaF9idWZmZXIpLCAoR1NUX1NUQVJUX1RFU1QpLAoJICAocmdhbmFseXNpc19zdWl0ZSksIChtYWluKToKCSAgVW5pdCB0ZXN0cyBmb3IgdGhlIG5ldyByZXBsYXlnYWluIGVsZW1lbnQuCgoyMDA2LTEwLTA2IDE1OjQ5OjM5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L2ZhYWQvZ3N0ZmFhZC5jOiBTb21lIGNsZWFudXBzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmFhZC9nc3RmYWFkLmM6IChnc3RfZmFhZF9zZXRjYXBzKSwgKGdzdF9mYWFkX2NoYWluKSwKCSAgKGdzdF9mYWFkX2Nsb3NlX2RlY29kZXIpOgoJICBTb21lIGNsZWFudXBzLgoJICBBZGRlZCBzb21lIG1vcmUgZGVidWdnaW5nLgoJICBEb24ndCBldmVyIGlnbm9yZSB1bmxpbmtlZCwgd2UncmUgbm90IGEgZGVtdXhlci4KCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9hZGRfc3RyZWFtKToKCSAgQWN0aXZhdGUgcGFkIGJlZm9yZSBhZGRpbmcgaXQgdG8gdGhlIGVsZW1lbnQuCgoyMDA2LTEwLTA2IDEyOjU1OjUzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy4qOiBSZXdvcmsgaG93IHRoZSB0cmFuc3BvcnQgc3RyaW5nIGlzIGNvbnN0cnVjdGVkLCB0cnkgdG8gc2hhcmUgY2hhbm5lbHMgYW5kIHVkcCBwb3J0cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BfcHJvdG9fZ2V0X3R5cGUpLAoJICAoZ3N0X3J0c3BzcmNfY2xhc3NfaW5pdCksIChnc3RfcnRzcHNyY19pbml0KSwKCSAgKGdzdF9ydHNwc3JjX2NyZWF0ZV9zdHJlYW0pLCAoZ3N0X3J0c3BzcmNfbWVkaWFfdG9fY2FwcyksCgkgIChnc3RfcnRzcHNyY19hbGxvY191ZHBfcG9ydHMpLAoJICAoZ3N0X3J0c3BzcmNfc3RyZWFtX2NvbmZpZ3VyZV90cmFuc3BvcnQpLCAoZmluZF9zdHJlYW1fYnlfY2hhbm5lbCksCgkgIChnc3RfcnRzcHNyY19wdXNoX2V2ZW50KSwgKGdzdF9ydHNwc3JjX2xvb3BfaW50ZXJsZWF2ZWQpLAoJICAoZ3N0X3J0c3BzcmNfY3JlYXRlX3RyYW5zcG9ydHNfc3RyaW5nKSwKCSAgKGdzdF9ydHNwc3JjX2NvbmZpZ3VyZV90cmFuc3BvcnRzKSwgKGdzdF9ydHNwc3JjX29wZW4pLAoJICAoZ3N0X3J0c3BzcmNfaGFuZGxlX21lc3NhZ2UpLCAoZ3N0X3J0c3BzcmNfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIFJld29yayBob3cgdGhlIHRyYW5zcG9ydCBzdHJpbmcgaXMgY29uc3RydWN0ZWQsIHRyeSB0byBzaGFyZSBjaGFubmVscwoJICBhbmQgdWRwIHBvcnRzLgoJICBNYWtlIG1vc3Qgb2YgdGhlIHN0dWZmIGxlc3MgZGVwZW5kYW50IG9uIFJUUCBhcyB3ZSBhcmUgYWxzbyBnb2luZyB0byB1c2UKCSAgaXQgZm9yIFJEVC4KCSAgQWRkIHN1cHBvcnQgZm9yIHRyYW5zcG9ydCBzcGVjaWZpYyBzZXNzaW9uIG1hbmFnZXJzLgoJICAqIGdzdC9ydHNwL3J0c3Bjb25uZWN0aW9uLmM6IChydHNwX2Nvbm5lY3Rpb25fZmx1c2gpOgoJICBJbXBsZW1lbnQgX2ZsdXNoKCkuCgkgICogZ3N0L3J0c3AvcnRzcGRlZnMuYzogKHJ0c3Bfc3RycmVzdWx0KToKCSAgKiBnc3QvcnRzcC9ydHNwZGVmcy5oOgoJICBBZGQgZ2VuZXJpYyBlcnJvciByZXR1cm4gY29kZS4KCSAgKiBnc3QvcnRzcC9ydHNwZXh0Lmg6CgkgIEFkZCBzdXBwb3J0IGZvciBwbHVnZ2FibGUgdHJhbnBvcnQgc3RyaW5ncy4KCSAgKiBnc3QvcnRzcC9ydHNwZXh0d21zLmM6IChydHNwX2V4dF93bXNfYmVmb3JlX3NlbmQpLAoJICAocnRzcF9leHRfd21zX2FmdGVyX3NlbmQpLCAocnRzcF9leHRfd21zX3BhcnNlX3NkcCksCgkgIChydHNwX2V4dF93bXNfZ2V0X2NvbnRleHQpOgoJICBEZXRlY3QgV01TZXJ2ZXIgYW5kIGFjdGl2YXRlIHRoZSBleHRlbnNpb24uCgkgICogZ3N0L3J0c3AvcnRzcHRyYW5zcG9ydC5jOiAocnRzcF90cmFuc3BvcnRfZ2V0X21pbWUpLAoJICAocnRzcF90cmFuc3BvcnRfZ2V0X21hbmFnZXIpLCAocnRzcF90cmFuc3BvcnRfcGFyc2UpOgoJICAqIGdzdC9ydHNwL3J0c3B0cmFuc3BvcnQuaDoKCSAgQWRkZWQgbWV0aG9kcyB0byBnZXQgbWltZS9tYW5hZ2VyIGZvciBjZXJ0YWluIHRyYW5zcG9ydHMuCgoyMDA2LTEwLTA2IDExOjMxOjExICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IEZpeCBtZW0gbGVhaywgYXZvaWQgdW5uZWNlc3NhcnkgbWVtY3B5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogKGdzdF9zcGVjdHJ1bV90cmFuc2Zvcm1faXApOgoJICBGaXggbWVtIGxlYWssIGF2b2lkIHVubmVjZXNzYXJ5IG1lbWNweS4KCjIwMDYtMTAtMDYgMDI6Mjk6MzUgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiBSZW1vdmVkIGNydWZ0IGNvZGUgdGhhdCB3YXMganVzdCBjb21tZW50ZWQgb3V0LiBSZW1vdmVkIHNvbWUgb2Jzb2xldGUgZGVidWcgbG9ncyBzdGF0ZW1lbnRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogKGdzdF9zcGVjdHJ1bV9pbml0KSwKCSAgKGdzdF9zcGVjdHJ1bV90cmFuc2Zvcm1faXApOgoJICBSZW1vdmVkIGNydWZ0IGNvZGUgdGhhdCB3YXMganVzdCBjb21tZW50ZWQgb3V0LiBSZW1vdmVkIHNvbWUgb2Jzb2xldGUKCSAgZGVidWcgbG9ncyBzdGF0ZW1lbnRzLgoKMjAwNi0xMC0wNSAxODoxNDo0NiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIEFub3RoZXIgYmF0Y2ggb2YgcHJpbnRmIGZvcm1hdCBmaXhlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2R0cy9nc3RkdHNkZWMuYzogKGdzdF9kdHNkZWNfY2hhaW4pOgoJICAqIGV4dC9tdXNpY2JyYWluei9nc3R0cm0uYzogKGdzdF90cm1fc2V0Y2Fwcyk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOiAoZ3N0X3dhdnBhY2tfZW5jX3Npbmtfc2V0X2NhcHMpOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2NoYWluKSwgKHF0ZGVtdXhfcGFyc2UpLAoJICAocXRkZW11eF9wYXJzZV90cmFrKToKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogKGdzdF9zcGVjdHJ1bV90cmFuc2Zvcm1faXApOgoJICBBbm90aGVyIGJhdGNoIG9mIHByaW50ZiBmb3JtYXQgZml4ZXMuCgoyMDA2LTEwLTA1IDE2OjM3OjMzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgUHJpbnRmIGZvcm1hdCBmaXhlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2NhaXJvL2dzdHRpbWVvdmVybGF5LmM6CgkgIChnc3RfY2Fpcm9fdGltZV9vdmVybGF5X3VwZGF0ZV9mb250X2hlaWdodCk6CgkgICogZXh0L2dka19waXhidWYvcGl4YnVmc2NhbGUuYzogKGdzdF9waXhidWZzY2FsZV90cmFuc2Zvcm1fY2Fwcyk6CgkgICogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOiAoZ3N0X2pwZWdfZGVjX3BhcnNlX2ltYWdlX2RhdGEpOgoJICAqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzogKGdzdF9qcGVnZW5jX2NoYWluKToKCSAgKiBleHQvanBlZy9nc3RzbW9rZWRlYy5jOiAoZ3N0X3Ntb2tlZGVjX2NoYWluKToKCSAgKiBleHQvanBlZy9nc3RzbW9rZWVuYy5jOiAoZ3N0X3Ntb2tlZW5jX2NoYWluKToKCSAgKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOiAodXNlcl9lbmRyb3dfY2FsbGJhY2spOgoJICAqIGdzdC9hdXBhcnNlL2dzdGF1cGFyc2UuYzogKGdzdF9hdV9wYXJzZV9wYXJzZV9oZWFkZXIpOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfcGFyc2Vfc3VwZXJpbmRleCksCgkgIChnc3RfYXZpX2RlbXV4X3BhcnNlX3N1YmluZGV4KSwgKGdzdF9hdmlfZGVtdXhfcGFyc2Vfc3RyZWFtKSwKCSAgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2RhdGEpOgoJICAqIGdzdC9jdXR0ZXIvZ3N0Y3V0dGVyLmM6IChnc3RfY3V0dGVyX2NoYWluKToKCSAgKiBnc3QvZGVidWcvZWZlbmNlLmM6IChnc3RfZWZlbmNlX2J1ZmZlcl9hbGxvYyksCgkgIChnc3RfZmVuY2VkX2J1ZmZlcl9jb3B5KToKCSAgKiBnc3QvaWQzZGVtdXgvaWQzdjJmcmFtZXMuYzogKGlkM2RlbXV4X2lkM3YyX3BhcnNlX2ZyYW1lKToKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogKGdzdF9tYXRyb3NrYV9kZW11eF9hZGRfc3RyZWFtKToKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6IChnc3RfbWF0cm9za2FfbXV4X3N0YXJ0KToKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19zZW5kKSwKCSAgKGdzdF9ydHNwc3JjX2hhbmRsZV9tZXNzYWdlKToKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogKGdzdF93YXZwYXJzZV9zdHJlYW1faGVhZGVycyk6CgkgICogc3lzL3hpbWFnZS94aW1hZ2V1dGlsLmM6ICh4aW1hZ2V1dGlsX3hjb250ZXh0X2dldCk6CgkgIFByaW50ZiBmb3JtYXQgZml4ZXMuCgoyMDA2LTEwLTA0IDIyOjM3OjA3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuKjogSGFuZGxlIHBhY2tlZCBZVVYgZm9ybWF0cyAoVVlWWSwgWVVZMiwgWVVZVikgc2VwYXJhdGVseTsgYWxzbywgZml4IHBhc3N0aHJvdWdoIG1vZGU7IGxhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmM6IChnc3RfdmlkZW9fY3JvcF9jbGFzc19pbml0KSwKCSAgKGdzdF92aWRlb19jcm9wX2luaXQpLAoJICAoZ3N0X3ZpZGVvX2Nyb3BfZ2V0X2ltYWdlX2RldGFpbHNfZnJvbV9jYXBzKSwKCSAgKGdzdF92aWRlb19jcm9wX3RyYW5zZm9ybV9wYWNrZWRfY29tcGxleCksCgkgIChnc3RfdmlkZW9fY3JvcF90cmFuc2Zvcm1fcGFja2VkX3NpbXBsZSksCgkgIChnc3RfdmlkZW9fY3JvcF90cmFuc2Zvcm0pLCAoZ3N0X3ZpZGVvX2Nyb3BfdHJhbnNmb3JtX2NhcHMpLAoJICAoZ3N0X3ZpZGVvX2Nyb3Bfc2V0X2NhcHMpLAoJICAoZ3N0X3ZpZGVvY3JvcF9jbGVhcl9uZWdvdGlhdGVkX2NhcHNfbG9ja2VkKSwKCSAgKGdzdF92aWRlb19jcm9wX3NldF9wcm9wZXJ0eSk6CgkgICogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuaDoKCSAgSGFuZGxlIHBhY2tlZCBZVVYgZm9ybWF0cyAoVVlWWSwgWVVZMiwgWVVZVikgc2VwYXJhdGVseTsgYWxzbywgZml4CgkgIHBhc3N0aHJvdWdoIG1vZGU7IGxhc3RseSwgY2xlYXIgbmVnb3RpYXRlZCBiYXNldHJhbnNmb3JtIGNhcHMgd2hlbgoJICB0aGUgY3JvcHBpbmcgY2hhbmdlcyBpbiBvcmRlciB0byBmb3JjZSByZW5lZ290aWF0aW9uLgoKMjAwNi0xMC0wNCAyMDowNTowNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHRlc3RzL2ljbGVzLzogVmlzdWFsIHRlc3QgZm9yIHZpZGVvY3JvcCwgc2hvd3MgdGhhdCBwYWNrZWQgeXV2IGRvZXNuJ3Qgd29yayByaWdodCB5ZXQuIC0td2l0aC1mZm1wZWdjb2xvcnNwYWNlIG9wdGlvbi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9pY2xlcy8uY3ZzaWdub3JlOgoJICAqIHRlc3RzL2ljbGVzL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2ljbGVzL3ZpZGVvY3JvcC10ZXN0LmM6IChxdWl0X21haW5sb29wKSwgKHRpY2tfY2IpLAoJICAodGVzdF93aXRoX2NhcHMpLCAodmlkZW9fY3JvcF9nZXRfdGVzdF9jYXBzKSwgKG1haW4pOgoJICBWaXN1YWwgdGVzdCBmb3IgdmlkZW9jcm9wLCBzaG93cyB0aGF0IHBhY2tlZCB5dXYgZG9lc24ndCB3b3JrIHJpZ2h0CgkgIHlldC4gLS13aXRoLWZmbXBlZ2NvbG9yc3BhY2Ugb3B0aW9uIGRvZXNuJ3Qgd29yayB5ZXQgZm9yIHVua25vd24KCSAgcmVhc29ucyAoYW5vdGhlciBiYXNldHJhbnNmb3JtIGlzc3VlPykKCjIwMDYtMTAtMDQgMTc6NTM6MTIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9NYWtlZmlsZS5hbTogRGlzdCBuZXcgLmggZmlsZSB0b28uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL01ha2VmaWxlLmFtOgoJICBEaXN0IG5ldyAuaCBmaWxlIHRvby4KCjIwMDYtMTAtMDQgMTc6MjQ6NDAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC86IEZhY3RvciBvdXQgZXh0ZW5zaW9uIGluIHNlcGFyYXRlIG1vZHVsZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvTWFrZWZpbGUuYW06CgkgICogZ3N0L3J0c3AvZ3N0cnRwZGVjLmM6IChnc3RfcnRwZGVjX2dldGNhcHMpLAoJICAoZ3N0X3J0cGRlY19jaGFpbl9ydHApLCAoZ3N0X3J0cGRlY19jaGFpbl9ydGNwKToKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19pbml0KSwKCSAgKGdzdF9ydHNwc3JjX2ZpbmFsaXplKSwgKGdzdF9ydHNwc3JjX2NyZWF0ZV9zdHJlYW0pLAoJICAoZ3N0X3J0c3BzcmNfcGFyc2VfcnRwbWFwKSwKCSAgKGdzdF9ydHNwc3JjX3N0cmVhbV9jb25maWd1cmVfdHJhbnNwb3J0KSwgKGdzdF9ydHNwc3JjX3NlbmQpLAoJICAoZ3N0X3J0c3BzcmNfcGFyc2VfbWV0aG9kcyksIChnc3RfcnRzcHNyY19vcGVuKSwKCSAgKGdzdF9ydHNwc3JjX3BsYXkpLCAoZ3N0X3J0c3BzcmNfaGFuZGxlX21lc3NhZ2UpOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgKiBnc3QvcnRzcC9ydHNwZGVmcy5jOiAocnRzcF9zdHJyZXN1bHQpOgoJICAqIGdzdC9ydHNwL3J0c3BkZWZzLmg6CgkgICogZ3N0L3J0c3AvcnRzcGV4dC5oOgoJICAqIGdzdC9ydHNwL3J0c3BleHR3bXMuYzogKHJ0c3BfZXh0X3dtc19wYXJzZV9zZHApLAoJICAocnRzcF9leHRfd21zX2dldF9jb250ZXh0KToKCSAgKiBnc3QvcnRzcC9ydHNwZXh0d21zLmg6CgkgICogZ3N0L3J0c3AvcnRzcHRyYW5zcG9ydC5jOiAocnRzcF90cmFuc3BvcnRfaW5pdCksIChwYXJzZV9tb2RlKSwKCSAgKHJ0c3BfdHJhbnNwb3J0X3BhcnNlKToKCSAgKiBnc3QvcnRzcC9ydHNwdHJhbnNwb3J0Lmg6CgkgIEZhY3RvciBvdXQgZXh0ZW5zaW9uIGluIHNlcGFyYXRlIG1vZHVsZS4KCSAgRml4IGdldGNhcHMgdG8gZmlsdGVyIGFnYWluc3QgdGhlIHBhZHRlbXBsYXRlLgoJICBVc2UgQ29udGVudC1CYXNlIGlmIHRoZSBzZXJ2ZXIgZ2l2ZXMgb25lLgoJICBSZXdvcmsgdGhlIHRyYW5zcG9ydCBwYXJzaW5nIGEgYml0IGZvciBmdXR1cmUgZXh0ZW5zaW9ucy4KCSAgQWRkZWQgc29tZSBSZWFsIEhlYWRlciBmaWVsZCBkZWZpbml0aW9ucy4KCjIwMDYtMTAtMDQgMTA6Mjk6MTEgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgZG9jcy9wbHVnaW5zLzogYWRkZWQgdjRsMiBzdHVicwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgIGFkZGVkIHY0bDIgc3R1YnMKCSAgKiBnc3QtcGx1Z2lucy1nb29kLnNwZWMuaW46CgkgIGFkZCB2NGwyCgoyMDA2LTEwLTA0IDEwOjI0OjQ5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2FwZXRhZy9nc3RhcGVkZW11eC5jOiBFeHRyYWN0IGRpc2MvYWxidW0vbWVkaXVtIG51bWJlciBhbmQgY291bnQgYW5kIHRyeSBoYXJkZXIgdG8gZXh0cmFjdCB0cmFjayBudW1iZXIvY291bnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hcGV0YWcvZ3N0YXBlZGVtdXguYzogKGFwZV9kZW11eF9wYXJzZV90YWdzKToKCSAgRXh0cmFjdCBkaXNjL2FsYnVtL21lZGl1bSBudW1iZXIgYW5kIGNvdW50IGFuZCB0cnkgaGFyZGVyCgkgIHRvIGV4dHJhY3QgdHJhY2sgbnVtYmVyL2NvdW50LgoKMjAwNi0xMC0wMyAxODozNjoyOSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiB0ZXN0cy9pY2xlcy8uZ2l0aWdub3JlOgoJICBtb2FwIGlnbm9yZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgbW9hcCBpZ25vcmUKCjIwMDYtMTAtMDMgMTg6MzU6MzQgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogdGVzdHMvaWNsZXMvTWFrZWZpbGUuYW06CgkgIGFkZCBpY2xlIGZvciB2NGwyCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBhZGQgaWNsZSBmb3IgdjRsMgoKMjAwNi0xMC0wMyAxODoxNTo1OCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBhZGQgYnVpbGQgc3R1ZmYgZm9yIHY0bDIsIG5lZWRzIC0tZW5hYmxlLWV4cGVyaW1lbnRhbCB1bnRpbCB0aGUgbGFzdCBiaXRzIGFyZSByZXNvbHZlZAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogc3lzL01ha2VmaWxlLmFtOgoJICBhZGQgYnVpbGQgc3R1ZmYgZm9yIHY0bDIsIG5lZWRzIC0tZW5hYmxlLWV4cGVyaW1lbnRhbCB1bnRpbAoJICB0aGUgbGFzdCBiaXRzIGFyZSByZXNvbHZlZAoKMjAwNi0xMC0wMyAxMzo0NzoxMCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIGNvbW1lbnQgb3V0IHRoZSBub3RpZmllcyBmb3IgcmVtb3ZlZCBwcm9wZXJ0aWVzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBjb21tZW50IG91dCB0aGUgbm90aWZpZXMgZm9yIHJlbW92ZWQgcHJvcGVydGllcwoKMjAwNi0xMC0wMyAxMzozMDo0OCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6IGNvbW1lbnQgb3V0IHRoZSBwcm9wZXJ0aWVzIHRoYXQgYXJlIGFscmVhZHkgcGFydCBvZiB0aGUgdHVuZXIgaW50ZXJmYWNlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIChnc3RfdjRsMl9vYmplY3RfaW5zdGFsbF9wcm9wZXJ0aWVzX2hlbHBlcik6CgkgIGNvbW1lbnQgb3V0IHRoZSBwcm9wZXJ0aWVzIHRoYXQgYXJlIGFscmVhZHkgcGFydCBvZiB0aGUgdHVuZXIKCSAgaW50ZXJmYWNlLgoKMjAwNi0xMC0wMyAxMzoxODo1OSArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIHN5cy92NGwyL2dzdHY0bDJzcmMuYzogSW1wcm92ZSBkb2NzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0xMC0wMyAgWmFoZWVyIEFiYmFzIE1lcmFsaSAgPHphaGVlcmFiYmFzIGF0IG1lcmFsaSBkb3Qgb3JnPgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgSW1wcm92ZSBkb2NzLgoKMjAwNi0xMC0wMiAxNjoxNDowNiArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZ3N0LXBsdWdpbnMtZ29vZC5zcGVjLmluOgoJICBzdG9wIHJlbW92aW5nIGdka3BpeGJ1ZiBwbHVnaW4gZnJvbSBwYWNrYWdlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBzdG9wIHJlbW92aW5nIGdka3BpeGJ1ZiBwbHVnaW4gZnJvbSBwYWNrYWdlCgoyMDA2LTA5LTI5IDE1OjM5OjQxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06IERpc2FibGUgYXV0b2RldGVjdCB0ZXN0IHRlbXBvcmFyaWx5LCBzbyB0aGF0IHRoZSBidWlsZCBib3RzIHVwZGF0ZSAtYmFkIGFuZCB0aGUgcmFua3Mgb2YgdW5yLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBEaXNhYmxlIGF1dG9kZXRlY3QgdGVzdCB0ZW1wb3JhcmlseSwgc28gdGhhdCB0aGUgYnVpbGQgYm90cwoJICB1cGRhdGUgLWJhZCBhbmQgdGhlIHJhbmtzIG9mIHVucmVsaWFibGUgdmlkZW8gc2lua3MgaW4gdGhlcmUuCgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYXV0b2RldGVjdC5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICBTa2lwIHRlc3QgaWYgbm8gdXNhYmxlIHZpZGVvc2luayBpcyBmb3VuZC4KCjIwMDYtMDktMjkgMTU6Mzc6MjkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9VUkxTOiBBZGQgc29tZSBtb3JlIFVSTHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL1VSTFM6CgkgIEFkZCBzb21lIG1vcmUgVVJMcy4KCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19jbGFzc19pbml0KSwKCSAgKGdzdF9ydHNwc3JjX2luaXQpLCAoZ3N0X3J0c3BzcmNfZmluYWxpemUpLAoJICAoZ3N0X3J0c3BzcmNfc2V0X3Byb3BlcnR5KSwgKGdzdF9ydHNwc3JjX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfcnRzcHNyY19zdHJlYW1fc2V0dXBfcnRwKSwgKGdzdF9ydHNwc3JjX2xvb3BfaW50ZXJsZWF2ZWQpLAoJICAoZ3N0X3J0c3BzcmNfbG9vcF91ZHApLCAoZ3N0X3J0c3BzcmNfbG9vcF9zZW5kX2NtZCksCgkgIChnc3RfcnRzcHNyY19sb29wKSwgKGdzdF9ydHNwc3JjX3NlbmQpLAoJICAoZ3N0X3J0c3BzcmNfcGFyc2VfbWV0aG9kcyksIChnc3RfcnRzcHNyY19vcGVuKSwKCSAgKGdzdF9ydHNwc3JjX2Nsb3NlKSwgKGdzdF9ydHNwc3JjX3BsYXkpLCAoZ3N0X3J0c3BzcmNfcGF1c2UpLAoJICAoZ3N0X3J0c3BzcmNfaGFuZGxlX21lc3NhZ2UpLCAoZ3N0X3J0c3BzcmNfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIEFkZCB0aW1lb3V0IHByb3BlcnR5IHRvIGNvbnRyb2wgVURQIHRpbWVvdXRzLgoJICBGaXggZXJyb3IgbWVzc2FnZXMuCgkgIEFsc28gc3RhcnQgYSBsb29wIGZ1bmN0aW9uIHdoZW4gb3BlcmF0aW5nIGluIFVEUCBtb2RlIHNvIHRoYXQgd2UgY2FuCgkgIGRvIHNvbWUgbW9yZSBzdHVmZiBhc3luYy4KCSAgSGFuZGxlIGVsZW1lbnQgbWVzc2FnZXMgZnJvbSB1ZHBzcmMgdG8gZGV0ZWN0IHRpbWVvdXRzLiBJZiBhIHRpbWVvdXQKCSAgaGFwcGVucyB3ZSBjdXJyZW50bHkgZ2VuZXJhdGUgYW4gZXJyb3IuCgkgIEFQSTogcnRzcHNyYzo6dGltZW91dCBwcm9wZXJ0eS4KCSAgKiBnc3QvdWRwL2dzdHVkcHNyYy5jOiAoZ3N0X3VkcHNyY19jbGFzc19pbml0KSwKCSAgKGdzdF91ZHBzcmNfY3JlYXRlKToKCSAgUmVhbGx5IGltcGxlbWVudCB0aGUgdGltZW91dCBpbiBtaWNyb3NlY29uZHMgYW5kIG5vdCBtaWxsaXNlY29uZHMuCgoyMDA2LTA5LTI5IDExOjA5OjQwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3VkcC9nc3R1ZHBzcmMuKjogQWRkZWQgcHJvcGVydHkgdG8gcG9zdCBhIG1lc3NhZ2Ugb24gdGltZW91dC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3VkcC9nc3R1ZHBzcmMuYzogKGdzdF91ZHBzcmNfY2xhc3NfaW5pdCksIChnc3RfdWRwc3JjX2luaXQpLAoJICAoZ3N0X3VkcHNyY19jcmVhdGUpLCAoZ3N0X3VkcHNyY19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3VkcHNyY19nZXRfcHJvcGVydHkpLCAoZ3N0X3VkcHNyY191bmxvY2spLCAoZ3N0X3VkcHNyY19zdG9wKToKCSAgKiBnc3QvdWRwL2dzdHVkcHNyYy5oOgoJICBBZGRlZCBwcm9wZXJ0eSB0byBwb3N0IGEgbWVzc2FnZSBvbiB0aW1lb3V0LgoJICBVcGRhdGVkIGRvY3MuCgkgIFdoZW4gcmVzdGFydGluZyB0aGUgc2VsZWN0LCBpbml0aWFsaXplIHRoZSBmZHNldHMgYWdhaW4uCgkgIEluaXQgY29udHJvbCBzb2NrZXRzIHNvIHdlIGRvbid0IGFjY2lkZW50YWxseSBjbG9zZSBhIHJhbmRvbSBzb2NrZXQuCgkgIEFQSTogR3N0VURQU3JjOjp0aW1lb3V0IHByb3BlcnR5CgoyMDA2LTA5LTI5IDA4OjE1OjA1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiBGaXggZmxhZyByZWdpc3RyYXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwX3Byb3RvX2dldF90eXBlKToKCSAgRml4IGZsYWcgcmVnaXN0cmF0aW9uLgoJICAqIGdzdC9ydHNwL3J0c3Bjb25uZWN0aW9uLmM6IChydHNwX2Nvbm5lY3Rpb25fcmVhZCk6CgkgIFJlYWRpbmcgMCBhbHNvIG1lYW5zICdubyBtb3JlIGNvbW1hbmRzJwoKMjAwNi0wOS0yOSAwODowOToyNCArMDAwMCAgQW50b2luZSBUcmVtYmxheSA8aGV4YTAwQGdtYWlsLmNvbT4KCgkgIGdzdC91ZHAvZ3N0dWRwc3JjLmM6IEZpeCBwb3NzaWJsZSBpbmZpbml0ZSBsb29wIHdoZW4gc2h1dHRpbmcgZG93biwgYSByZWFkIGNhbiBhbHNvIHJldHVybiAwIHRvIGluZGljYXRlIG5vIG1vcmUgbWVzcy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEFudG9pbmUgVHJlbWJsYXkgPGhleGEwMCBhdCBnbWFpbCBkb3QgY29tPgoJICAqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6IChnc3RfdWRwc3JjX2NyZWF0ZSk6CgkgIEZpeCBwb3NzaWJsZSBpbmZpbml0ZSBsb29wIHdoZW4gc2h1dHRpbmcgZG93biwgYSByZWFkIGNhbiBhbHNvIHJldHVybgoJICAwIHRvIGluZGljYXRlIG5vIG1vcmUgbWVzc2FnZXMgYXJlIGF2YWlsYWJsZS4gRml4ZXMgIzM1ODE1Ni4KCjIwMDYtMDktMjggMTc6MDg6NDcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBzeXMvdjRsMi86IEZyYW1lcmF0ZSBjYW4gYmUgMC8xIHRvby4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOiAoZ3N0X3Y0bDJzcmNfZ2V0X2FsbF9jYXBzKSwKCSAgKGdzdF92NGwyc3JjX2dldF9jYXBzKToKCSAgKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6IChnc3RfdjRsMl9maWxsX2xpc3RzKToKCSAgRnJhbWVyYXRlIGNhbiBiZSAwLzEgdG9vLgoJICBJbml0IGZyYW1lcmF0ZSB0byAwLzEgYmVmb3JlIHF1ZXJ5aW5nIGl0IHNvIHRoYXQgd2UgY2FuIGRldGVjdAoJICBkZXZpY2VzIHRoYXQgZG9uJ3Qga25vdyBhYm91dCBhIGZyYW1lcmF0ZS4KCSAgQWRkIHNvbWUgbW9yZSBkZWJ1Z2dpbmcgaW5mby4KCjIwMDYtMDktMjggMTQ6MzE6NDEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEFkZCBzdXBwb3J0IGZvciAneXYxMicgZm91cmNjLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3ZpZGVvX2NhcHMpOgoJICBBZGQgc3VwcG9ydCBmb3IgJ3l2MTInIGZvdXJjYy4KCjIwMDYtMDktMjcgMTc6NDc6NTcgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5oOgoJKiB0ZXN0cy9pY2xlcy92NGwyc3JjLXRlc3QuYzoKCSAgUmVtb3ZlZCBzZXQtdW5kZWYtZnBzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUmVtb3ZlZCBzZXQtdW5kZWYtZnBzLgoKMjAwNi0wOS0yNyAxNzowNDoyMiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIHN5cy92NGwyLzogUmVuYW1lZCBzb21lIHByb3BlcnRpZXMgdG8gbWF0Y2ggdGhlIHR1bmVyIGludGVyZmFjZSBuYW1pbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgKGdzdF92NGwyX29iamVjdF9pbnN0YWxsX3Byb3BlcnRpZXNfaGVscGVyKSwgKGdzdF92NGwyX29iamVjdF9uZXcpLAoJICAoZ3N0X3Y0bDJfb2JqZWN0X3NldF9wcm9wZXJ0eV9oZWxwZXIpLAoJICAoZ3N0X3Y0bDJfb2JqZWN0X2dldF9wcm9wZXJ0eV9oZWxwZXIpLCAoZ3N0X3Y0bDJfc2V0X2RlZmF1bHRzKToKCSAgKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOiAoZ3N0X3Y0bDJzcmNfY2xhc3NfaW5pdCksCgkgIChnc3RfdjRsMnNyY19jcmVhdGUpOgoJICAqIHN5cy92NGwyL2dzdHY0bDJ0dW5lci5jOiAoZ3N0X3Y0bDJfdHVuZXJfY29udGFpbnNfY2hhbm5lbCksCgkgIChnc3RfdjRsMl90dW5lcl9saXN0X2NoYW5uZWxzKSwKCSAgKGdzdF92NGwyX3R1bmVyX3NldF9jaGFubmVsX2FuZF9ub3RpZnkpLAoJICAoZ3N0X3Y0bDJfdHVuZXJfZ2V0X2NoYW5uZWwpLCAoZ3N0X3Y0bDJfdHVuZXJfY29udGFpbnNfbm9ybSksCgkgIChnc3RfdjRsMl90dW5lcl9saXN0X25vcm1zKSwgKGdzdF92NGwyX3R1bmVyX3NldF9ub3JtX2FuZF9ub3RpZnkpLAoJICAoZ3N0X3Y0bDJfdHVuZXJfZ2V0X25vcm0pOgoJICAqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzogKGdzdF92NGwyX2dldF9jYXBhYmlsaXRpZXMpLAoJICAoZ3N0X3Y0bDJfZmlsbF9saXN0cyksIChnc3RfdjRsMl9lbXB0eV9saXN0cyk6CgkgICogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOiAoZ3N0X3Y0bDJzcmNfZ2V0X2Zwcyk6CgkgIFJlbmFtZWQgc29tZSBwcm9wZXJ0aWVzIHRvIG1hdGNoIHRoZSB0dW5lciBpbnRlcmZhY2UgbmFtaW5nLgoKMjAwNi0wOS0yNyAxNjoxNDoxOCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIFNtYWxsIGNsZWFudXBzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6IChnc3RfdjRsMl9vYmplY3Rfc2V0X3Byb3BlcnR5X2hlbHBlciksCgkgIChnc3RfdjRsMl9zZXRfZGVmYXVsdHMpOgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzogKGdzdF92NGwyc3JjX2dldF9yZWFkKSwKCSAgKGdzdF92NGwyc3JjX2NyZWF0ZSk6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnhvdmVybGF5LmM6IChnc3RfdjRsMl94b3ZlcmxheV9vcGVuKToKCSAgKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6IChnc3RfdjRsMl9nZXRfY2FwYWJpbGl0aWVzKSwKCSAgKGdzdF92NGwyX2ZpbGxfbGlzdHMpLCAoZ3N0X3Y0bDJfb3BlbiksIChnc3RfdjRsMl9zZXRfbm9ybSksCgkgIChnc3RfdjRsMl9nZXRfZnJlcXVlbmN5KSwgKGdzdF92NGwyX3NldF9mcmVxdWVuY3kpLAoJICAoZ3N0X3Y0bDJfc2lnbmFsX3N0cmVuZ3RoKSwgKGdzdF92NGwyX2dldF9hdHRyaWJ1dGUpLAoJICAoZ3N0X3Y0bDJfc2V0X2F0dHJpYnV0ZSksIChnc3RfdjRsMl9nZXRfaW5wdXQpLAoJICAoZ3N0X3Y0bDJfc2V0X2lucHV0KToKCSAgKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6IChnc3RfdjRsMnNyY19maWxsX2Zvcm1hdF9saXN0KSwKCSAgKGdzdF92NGwyc3JjX2dyYWJfZnJhbWUpLCAoZ3N0X3Y0bDJzcmNfZ2V0X2NhcHR1cmUpLAoJICAoZ3N0X3Y0bDJzcmNfc2V0X2NhcHR1cmUpLCAoZ3N0X3Y0bDJzcmNfY2FwdHVyZV9pbml0KSwKCSAgKGdzdF92NGwyc3JjX2NhcHR1cmVfc3RhcnQpLCAoZ3N0X3Y0bDJzcmNfY2FwdHVyZV9zdG9wKSwKCSAgKGdzdF92NGwyc3JjX2J1ZmZlcl9uZXcpOgoJICAqIHRlc3RzL2ljbGVzL3Y0bDJzcmMtdGVzdC5jOiAobXlfYnVzX2NhbGxiYWNrKSwgKG1haW4pOgoJICBTbWFsbCBjbGVhbnVwcy4KCSAgRml4IGVycm9yIG1lc3NhZ2VzLgoJICBVc2UgbG9ja3Mgd2hlbiBnZXR0aW5nIHRpbWVzdGFtcHMuCgkgIEZpeCBsZWFrcyBpbiB0ZXN0LgoJICBBZGQgbGljZW5zaW5nIGhlYWRlciB0byB0ZXN0cy4KCjIwMDYtMDktMjcgMTU6MTQ6MDcgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJ0dW5lci5jOgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSogdGVzdHMvaWNsZXMvdjRsMnNyYy10ZXN0LmM6CgkgIFNvbWUgY2xlYW51cHMgYW5kIGNvbW1lbnRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgU29tZSBjbGVhbnVwcyBhbmQgY29tbWVudHMuCgoyMDA2LTA5LTI3IDEzOjQxOjM1ICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBnc3QtcGx1Z2lucy1nb29kLnNwZWMuaW46CgkgIGFkZCBhdWRpb2Z4IHBsdWdpbgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYWRkIGF1ZGlvZnggcGx1Z2luCgoyMDA2LTA5LTI2IDE0OjE3OjU0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZG9jcy9wbHVnaW5zLzogQWRkIHY0bDIgcGx1Z2luIHRvIHRoZSBkb2NzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICBBZGQgdjRsMiBwbHVnaW4gdG8gdGhlIGRvY3MuCgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOiAoZ3N0X3Y0bDJzcmNfZ2V0X3JlYWQpLAoJICAoZ3N0X3Y0bDJzcmNfZ2V0X21tYXApLCAoZ3N0X3Y0bDJzcmNfY3JlYXRlKToKCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmg6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnZpZG9yaWVudC5jOgoJICBGaXggZG9jcy4KCSAgUmVtb3ZlIHNvbWUgbW9yZSBleHRlcm5zLgoKMjAwNi0wOS0yNiAxMzoxODowNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIHN5cy92NGwyL01ha2VmaWxlLmFtOiBGaXggbWFrZWZpbGUsIGxpc3QgbGlicyBpbiBzdGFjayBvcmRlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvTWFrZWZpbGUuYW06CgkgIEZpeCBtYWtlZmlsZSwgbGlzdCBsaWJzIGluIHN0YWNrIG9yZGVyLgoJICAqIHN5cy92NGwyL2dzdHY0bDJjb2xvcmJhbGFuY2UuYzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyY29sb3JiYWxhbmNlLmg6CgkgICogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOiAoZ3N0X3Y0bDJfZGV2aWNlX2dldF90eXBlKSwKCSAgKGdzdF92NGwyX29iamVjdF9pbnN0YWxsX3Byb3BlcnRpZXNfaGVscGVyKToKCSAgKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOiAoZ3N0X3Y0bDJzcmNfZ2V0X3JlYWQpLAoJICAoZ3N0X3Y0bDJzcmNfZ2V0X21tYXApLCAoZ3N0X3Y0bDJzcmNfY3JlYXRlKToKCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmg6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnR1bmVyLmg6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnZpZG9yaWVudC5oOgoJICAqIHN5cy92NGwyL2dzdHY0bDJ4b3ZlcmxheS5oOgoJICAqIHN5cy92NGwyL3Y0bDJfY2FsbHMuaDoKCSAgKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmg6CgkgIEZpeCBjb2Rpbmcgc3R5bGU6CgkgIC0gUmVtb3ZlIGV4dGVybiBmcm9tIGZ1bmN0aW9ucy4KCSAgLSBGaXggaGVhZGVyIGluZGVudGF0aW9uLgoJICBGaXggRmxhZ3MsIGFkZCBkZWZhdWx0cyBmb3IgcHJvcGVydGllcy4KCSAgUmVtb3ZlIHVudXNlZCBlbnVtcy4KCSAgRml4IFRPT19MQVpZIGluIGVycm9yIG1lc3NhZ2VzLgoKMjAwNi0wOS0yNiAxMTowNjoxNyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIHN5cy92NGwyLzogRml4IHBhc3MgYXQgY29kZSBjbGVhbnVwcywgbW92ZSBlcnJvcnMgY2FzZXMgb3V0IG9mIHRoZSBub3JtYWwgZmxvdyBmb3IgYWRkaXRpb25hbCBjb2RlIGNsYXJpdHkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzogKGdzdF92NGwyX2NsYXNzX3Byb2JlX2RldmljZXMpLAoJICAoZ3N0X3Y0bDJfcHJvYmVfbmVlZHNfcHJvYmUpLAoJICAoZ3N0X3Y0bDJfb2JqZWN0X2luc3RhbGxfcHJvcGVydGllc19oZWxwZXIpLCAoZ3N0X3Y0bDJfb2JqZWN0X25ldyksCgkgIChnc3RfdjRsMl9vYmplY3RfZGVzdHJveSksIChnc3RfdjRsMl9vYmplY3Rfc2V0X3Byb3BlcnR5X2hlbHBlciksCgkgIChnc3RfdjRsMl9vYmplY3RfZ2V0X3Byb3BlcnR5X2hlbHBlciksIChnc3RfdjRsMl9zZXRfZGVmYXVsdHMpLAoJICAoZ3N0X3Y0bDJfb2JqZWN0X3N0YXJ0KSwgKGdzdF92NGwyX29iamVjdF9zdG9wKToKCSAgKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOiAoZ3N0X3Y0bDJzcmNfY2xhc3NfaW5pdCksCgkgIChnc3RfdjRsMnNyY19pbml0KSwgKGdzdF92NGwyc3JjX2Rpc3Bvc2UpLAoJICAoZ3N0X3Y0bDJzcmNfc2V0X3Byb3BlcnR5KSwgKGdzdF92NGwyc3JjX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfdjRsMnNyY19maXhhdGUpLCAoZ3N0X3Y0bDJzcmNfZ2V0X2NhcHMpLAoJICAoZ3N0X3Y0bDJzcmNfc2V0X2NhcHMpLCAoZ3N0X3Y0bDJzcmNfZ2V0X3JlYWQpLAoJICAoZ3N0X3Y0bDJzcmNfZ2V0X21tYXApLCAoZ3N0X3Y0bDJzcmNfY3JlYXRlKToKCSAgKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6IChnc3RfdjRsMl9nZXRfY2FwYWJpbGl0aWVzKSwKCSAgKGdzdF92NGwyX29wZW4pLCAoZ3N0X3Y0bDJfY2xvc2UpLCAoZ3N0X3Y0bDJfZ2V0X25vcm0pLAoJICAoZ3N0X3Y0bDJfc2V0X25vcm0pLCAoZ3N0X3Y0bDJfZ2V0X2ZyZXF1ZW5jeSksCgkgIChnc3RfdjRsMl9zZXRfZnJlcXVlbmN5KSwgKGdzdF92NGwyX3NpZ25hbF9zdHJlbmd0aCksCgkgIChnc3RfdjRsMl9nZXRfYXR0cmlidXRlKSwgKGdzdF92NGwyX3NldF9hdHRyaWJ1dGUpLAoJICAoZ3N0X3Y0bDJfZ2V0X2lucHV0KSwgKGdzdF92NGwyX3NldF9pbnB1dCk6CgkgICogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOiAoZ3N0X3Y0bDJzcmNfZmlsbF9mb3JtYXRfbGlzdCksCgkgIChnc3RfdjRsMnNyY19xdWV1ZV9mcmFtZSksIChnc3RfdjRsMnNyY19ncmFiX2ZyYW1lKSwKCSAgKGdzdF92NGwyc3JjX2dldF9jYXB0dXJlKSwgKGdzdF92NGwyc3JjX3NldF9jYXB0dXJlKSwKCSAgKGdzdF92NGwyc3JjX2NhcHR1cmVfaW5pdCksIChnc3RfdjRsMnNyY19jYXB0dXJlX3N0YXJ0KSwKCSAgKGdzdF92NGwyc3JjX2NhcHR1cmVfc3RvcCksIChnc3RfdjRsMnNyY19jYXB0dXJlX2RlaW5pdCksCgkgIChnc3RfdjRsMnNyY19nZXRfc2l6ZV9saW1pdHMpLCAoZ3N0X3Y0bDJzcmNfc2V0X2ZwcyksCgkgIChnc3RfdjRsMnNyY19nZXRfZnBzKSwgKGdzdF92NGwyc3JjX2J1ZmZlcl9maW5hbGl6ZSksCgkgIChnc3RfdjRsMnNyY19idWZmZXJfbmV3KToKCSAgRml4IHBhc3MgYXQgY29kZSBjbGVhbnVwcywgbW92ZSBlcnJvcnMgY2FzZXMgb3V0IG9mIHRoZSBub3JtYWwKCSAgZmxvdyBmb3IgYWRkaXRpb25hbCBjb2RlIGNsYXJpdHkuCgoyMDA2LTA5LTI1IDEzOjU1OjQ0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L2F1dG9kZXRlY3QvOiBTbWFsbCBjbGVhbnVwcy4gZG9uJ3QgdHJ5IHRvIHNldCAic3luYyIgcHJvcGVydHkgd2hlbiBpdCBpcyBub3QgYXZhaWxhYmxlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zaW5rLmM6CgkgIChnc3RfYXV0b19hdWRpb19zaW5rX2Jhc2VfaW5pdCksIChnc3RfYXV0b19hdWRpb19zaW5rX2NsYXNzX2luaXQpLAoJICAoZ3N0X2F1dG9fYXVkaW9fc2lua19maW5kX2Jlc3QpOgoJICAqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NpbmsuYzogKGdzdF9hdXRvX3ZpZGVvX3NpbmtfZGV0ZWN0KToKCSAgU21hbGwgY2xlYW51cHMuCgkgIGRvbid0IHRyeSB0byBzZXQgInN5bmMiIHByb3BlcnR5IHdoZW4gaXQgaXMgbm90IGF2YWlsYWJsZS4KCjIwMDYtMDktMjUgMTE6NDc6NDIgKzAwMDAgIFBldGVyIEtqZWxsZXJzdGVkdCA8cGtqQGF4aXMuY29tPgoKCSAgZ3N0LzogSW5jbHVkZSBzdGRsaWIuaCBpbiBzb21lIG1vcmUgcGxhY2VzLCBtYWtlcyB0aGluZ3MgY29tcGlsZSB3aXRoIHVDbGliYyBhbmQgLVdlcnJvciAoIzM1NzU5MikuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogUGV0ZXIgS2plbGxlcnN0ZWR0ICA8cGtqIGF0IGF4aXMgY29tPgoJICAqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuYzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgICogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkgIEluY2x1ZGUgc3RkbGliLmggaW4gc29tZSBtb3JlIHBsYWNlcywgbWFrZXMgdGhpbmdzIGNvbXBpbGUKCSAgd2l0aCB1Q2xpYmMgYW5kIC1XZXJyb3IgKCMzNTc1OTIpLgoKMjAwNi0wOS0yNSAwOToxNToxMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzogb3VyIGNvZGUgc2hvdWxkIGhhbmRsZSB0aGF0IGZpbmUuIFNvbWUgb2YgdGhlIGJ1dHRvbnMgb24gdGhlIGFwcGxlIHRyYWlsZXIgc2l0ZSBhcmUgYXBwYXJlbnRseS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgIFNldCBtaW5pbXVtIGhlaWdodCB0byA4IChmcm9tIDE2KSwgb3VyIGNvZGUgc2hvdWxkIGhhbmRsZQoJICB0aGF0IGZpbmUuIFNvbWUgb2YgdGhlIGJ1dHRvbnMgb24gdGhlIGFwcGxlIHRyYWlsZXIgc2l0ZQoJICBhcmUgYXBwYXJlbnRseSBvbmx5IDE1IHBpeGVscyBoaWdoIChzZWUgIzM1NzQ3MCkuCgoyMDA2LTA5LTIzIDE1OjMxOjU2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvOiBJbXByb3ZlIGVycm9yIHJlcG9ydGluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfbG9vcCksIChnc3RfcnRzcHNyY19zZW5kKSwKCSAgKGdzdF9ydHNwc3JjX29wZW4pOgoJICAqIGdzdC9ydHNwL3J0c3Bjb25uZWN0aW9uLmM6IChydHNwX2Nvbm5lY3Rpb25fY3JlYXRlKSwKCSAgKHJ0c3BfY29ubmVjdGlvbl9jb25uZWN0KSwgKHJ0c3BfY29ubmVjdGlvbl9yZWFkKSwgKHJlYWRfYm9keSksCgkgIChydHNwX2Nvbm5lY3Rpb25fcmVjZWl2ZSk6CgkgICogZ3N0L3J0c3AvcnRzcGRlZnMuYzogKHJ0c3Bfc3RycmVzdWx0KToKCSAgKiBnc3QvcnRzcC9ydHNwZGVmcy5oOgoJICBJbXByb3ZlIGVycm9yIHJlcG9ydGluZy4KCjIwMDYtMDktMjMgMTU6MzA6NDAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwLzogRml4IGtsYXNzIHR5cG9zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdGFzdGVyaXNraDI2My5jOiAoZ3N0X2FzdGVyaXNraDI2M19wbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBMMTZkZXBheS5jOiAoZ3N0X3J0cF9MMTZkZXBheV9wbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5jOiAoZ3N0X3J0cF9hbXJfZGVwYXlfcGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGdzbWRlcGF5LmM6IChnc3RfcnRwX2dzbV9kZXBheV9wbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBoMjYzcGRlcGF5LmM6IChnc3RfcnRwX2gyNjNwX2RlcGF5X3BsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOiAoZ3N0X3J0cF9oMjY0X2RlcGF5X3BsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cGlsYmNkZXBheS5jOiAoZ3N0X3J0cF9pbGJjX2RlcGF5X3BsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wMnRkZXBheS5jOiAoZ3N0X3J0cF9tcDJ0X2RlcGF5X3NldGNhcHMpLAoJICAoZ3N0X3J0cF9tcDJ0X2RlcGF5X3BsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGdkZXBheS5jOiAoZ3N0X3J0cF9tcDRnX2RlcGF5X3BsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNHZkZXBheS5jOiAoZ3N0X3J0cF9tcDR2X2RlcGF5X3BsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wYWRlcGF5LmM6IChnc3RfcnRwX21wYV9kZXBheV9wbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBwY21hZGVwYXkuYzogKGdzdF9ydHBfcGNtYV9kZXBheV9wbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBwY211ZGVwYXkuYzogKGdzdF9ydHBfcGNtdV9kZXBheV9wbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBzcGVleGRlcGF5LmM6IChnc3RfcnRwX3NwZWV4X2RlcGF5X3BsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cHN2M3ZkZXBheS5jOiAoZ3N0X3J0cF9zdjN2X2RlcGF5X3BsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc2RlcGF5LmM6IChnc3RfcnRwX3ZvcmJpc19kZXBheV9wbHVnaW5faW5pdCk6CgkgIEZpeCBrbGFzcyB0eXBvcy4KCSAgTWFyayBSQU5LX01BUkdJTkFMLCBkZWNvZGViaW4gY2FuIGhhbmRsZSB0aGUgZGVwYXlsb2FkZXJzIGZpbmUuCgoyMDA2LTA5LTIyIDE3OjUzOjQ4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgY29uZmlndXJlLmFjOiBOZWVkICAtYmFzZSBDVlMgZm9yIGdzdF9iYXNlX3J0cF9kZXBheWxvYWRfcHVzaF90cygpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIE5lZWQgIC1iYXNlIENWUyBmb3IgZ3N0X2Jhc2VfcnRwX2RlcGF5bG9hZF9wdXNoX3RzKCkuCgoyMDA2LTA5LTIyIDE3OjIyOjM0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiBEb24ndCBjaGVjayBmb3IgYSB0YWcgdGhhdCBpcyBuZXZlciB0aGVyZSBhbmQgY2hlY2sgaWYgd2UgcmVhZCB0aGUgY29ycmVjdCB0YWcuIEZpeGVzIHNlZWtpbmcgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2luZGV4KToKCSAgRG9uJ3QgY2hlY2sgZm9yIGEgdGFnIHRoYXQgaXMgbmV2ZXIgdGhlcmUgYW5kIGNoZWNrIGlmIHdlIHJlYWQgdGhlCgkgIGNvcnJlY3QgdGFnLiBGaXhlcyBzZWVraW5nIGFnYWluLgoJICBXZSBtdXN0IHBvc3QgYW4gZXJyb3Igd2hlbiBhbGwgcGFkcyBhcmUgdW5saW5rZWQuCgoyMDA2LTA5LTIyIDE1OjE1OjEzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC86IE1vcmUgZml4YWdlLCBzZXQgZW5kb2Rlci1wYXJhbXMgY29ycmVjdGx5IGluIHRoZSBwYXlsb2FkZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkgICogZ3N0L3J0cC9nc3RydHAuYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc2RlcGF5LmM6IChnc3RfcnRwX3ZvcmJpc19kZXBheV9wcm9jZXNzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc3BheS5jOiAoZ3N0X3J0cF92b3JiaXNfcGF5X3NldGNhcHMpLAoJICAoZ3N0X3J0cF92b3JiaXNfcGF5X3Jlc2V0X3BhY2tldCksCgkgIChnc3RfcnRwX3ZvcmJpc19wYXlfaW5pdF9wYWNrZXQpLAoJICAoZ3N0X3J0cF92b3JiaXNfcGF5X2ZsdXNoX3BhY2tldCksIChnc3RfcnRwX3ZvcmJpc19wYXlfcGFyc2VfaWQpLAoJICAoZ3N0X3J0cF92b3JiaXNfcGF5X2hhbmRsZV9idWZmZXIpOgoJICBNb3JlIGZpeGFnZSwgc2V0IGVuZG9kZXItcGFyYW1zIGNvcnJlY3RseSBpbiB0aGUgcGF5bG9hZGVyLgoKMjAwNi0wOS0yMiAxMjoxMjoxMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9hdXRvZGV0ZWN0LzogTWFrZSBzdGF0aWMgcGFkIHRlbXBsYXRlcyBzdGF0aWMgdG8gYXBwZWFzZSB2YWxncmluZCdzIGxlYWsgZGV0ZWN0b3IuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NpbmsuYzoKCSAgKGdzdF9hdXRvX2F1ZGlvX3NpbmtfYmFzZV9pbml0KToKCSAgKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zaW5rLmM6CgkgIChnc3RfYXV0b192aWRlb19zaW5rX2Jhc2VfaW5pdCk6CgkgIE1ha2Ugc3RhdGljIHBhZCB0ZW1wbGF0ZXMgc3RhdGljIHRvIGFwcGVhc2UgdmFsZ3JpbmQncyBsZWFrCgkgIGRldGVjdG9yLgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5jdnNpZ25vcmU6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYXV0b2RldGVjdC5jOiAoR1NUX1NUQVJUX1RFU1QpLAoJICAoYXV0b2RldGVjdF9zdWl0ZSk6CgkgIEFkZCBzaW1wbGUgdGVzdCBmb3IgdGhlIGdob3N0cGFkIGxvY2t1cCBvbiBzaHV0ZG93biBmaXhlZCBpbiBjb3JlCgkgIENWUyAoYXVkaW8gYml0IGRpc2FibGVkIGJlY2F1c2UgaXQgd291bGQgbmVlZCBkb3plbnMgb2YgYWxzYQoJICBzdXBwcmVzc2lvbnMgYW5kIEknbSB0b28gbGF6eSB0byBhZGQgdGhvc2Ugbm93KS4KCjIwMDYtMDktMjIgMTI6MDg6MTQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwLzogU21hbGwgY2xlYW51cHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwTDE2ZGVwYXkuYzogKGdzdF9ydHBfTDE2ZGVwYXlfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGdkZXBheS5jOiAoZ3N0X3J0cF9tcDRnX2RlcGF5X2NsYXNzX2luaXQpOgoJICBTbWFsbCBjbGVhbnVwcy4KCSAgKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9ydHAvZ3N0cnRwLmM6IChwbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHB2b3JiaXNkZXBheS5jOiAoZ3N0X3J0cF92b3JiaXNfZGVwYXlfYmFzZV9pbml0KSwKCSAgKGdzdF9ydHBfdm9yYmlzX2RlcGF5X2NsYXNzX2luaXQpLCAoZ3N0X3J0cF92b3JiaXNfZGVwYXlfaW5pdCksCgkgIChnc3RfcnRwX3ZvcmJpc19kZXBheV9maW5hbGl6ZSksIChnc3RfcnRwX3ZvcmJpc19kZXBheV9zZXRjYXBzKSwKCSAgKGdzdF9ydHBfdm9yYmlzX2RlcGF5X3Byb2Nlc3MpLAoJICAoZ3N0X3J0cF92b3JiaXNfZGVwYXlfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9ydHBfdm9yYmlzX2RlcGF5X2dldF9wcm9wZXJ0eSksCgkgIChnc3RfcnRwX3ZvcmJpc19kZXBheV9jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X3J0cF92b3JiaXNfZGVwYXlfcGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzZGVwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc3BheS5jOiAoZ3N0X3J0cF92b3JiaXNfcGF5X2Jhc2VfaW5pdCksCgkgIChnc3RfcnRwX3ZvcmJpc19wYXlfY2xhc3NfaW5pdCksIChnc3RfcnRwX3ZvcmJpc19wYXlfaW5pdCksCgkgIChnc3RfcnRwX3ZvcmJpc19wYXlfc2V0Y2FwcyksIChnc3RfcnRwX3ZvcmJpc19wYXlfaW5pdF9wYWNrZXQpLAoJICAoZ3N0X3J0cF92b3JiaXNfcGF5X2ZsdXNoX3BhY2tldCksCgkgIChnc3RfcnRwX3ZvcmJpc19wYXlfYXBwZW5kX2J1ZmZlciksCgkgIChnc3RfcnRwX3ZvcmJpc19wYXlfaGFuZGxlX2J1ZmZlciksCgkgIChnc3RfcnRwX3ZvcmJpc19wYXlfcGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzcGF5Lmg6CgkgIEFkZCBleHBlcmltZW50YWwgdm9yYmlzIHBheSBhbmQgZGVwYXlsb2FkZXJzLgoKMjAwNi0wOS0yMSAxMzozMzoxNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvZ3N0cnRwbXA0Z3BheS5jOiBGaXggcHJvZmlsZS1sZXZlbC1pZCBwYXJzaW5nIGFuZCBzZXR1cC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBtcDRncGF5LmM6IChnc3RfcnRwX21wNGdfcGF5X3BhcnNlX2F1ZGlvX2NvbmZpZyk6CgkgIEZpeCBwcm9maWxlLWxldmVsLWlkIHBhcnNpbmcgYW5kIHNldHVwLgoKMjAwNi0wOS0yMSAwOTo1MDo0MSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC91ZHAvOiBVcGRhdGUgUkVBRE1FLCBzaW1wbGUgY2xlYW51cC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3VkcC9SRUFETUU6CgkgICogZ3N0L3VkcC9nc3R1ZHBzcmMuYzogKGdzdF91ZHBzcmNfc2V0X3Byb3BlcnR5KToKCSAgVXBkYXRlIFJFQURNRSwgc2ltcGxlIGNsZWFudXAuCgoyMDA2LTA5LTIxIDA5OjM1OjEzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC9SRUFETUU6IFVwZGF0ZSBSRUFETUUgd2l0aCBzb21lIGV4YW1wbGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL1JFQURNRToKCSAgVXBkYXRlIFJFQURNRSB3aXRoIHNvbWUgZXhhbXBsZXMuCgkgICogZ3N0L3J0cC9nc3RydHBtcDRncGF5LmM6IChnc3RfcnRwX21wNGdfcGF5X2luaXQpLAoJICAoZ3N0X3J0cF9tcDRnX3BheV9maW5hbGl6ZSksIChnc3RfcnRwX21wNGdfcGF5X3BhcnNlX2F1ZGlvX2NvbmZpZyksCgkgIChnc3RfcnRwX21wNGdfcGF5X3BhcnNlX3ZpZGVvX2NvbmZpZyksIChnc3RfcnRwX21wNGdfcGF5X25ld19jYXBzKSwKCSAgKGdzdF9ydHBfbXA0Z19wYXlfc2V0Y2Fwcyk6CgkgICogZ3N0L3J0cC9nc3RydHBtcDRncGF5Lmg6CgkgIE1ha2Ugb3B0aW9uYWwgUlRQIHBhcmFtZXRlcnMgb2YgdHlwZSBTVFJJTkcsIGFzIHJlcXVpcmVkIGJ5IHRoZQoJICBhcHBsaWNhdGlvbi94LXJ0cCBjYXBzIHNwZWNpZmljYXRpb24uCgoyMDA2LTA5LTIwIDE5OjM3OjQ1ICswMDAwICBQaGlsaXBwZSBLYWxhZiA8cGhpbGlwcGUua2FsYWZAY29sbGFib3JhLmNvLnVrPgoKCSAgZ3N0L3J0cC86IENvcnJlY3RseSBjYWxjdWxhdGUgc2l6ZSBvZiBlYWNoIEgyNjMrIFJUUCBidWZmZXIgdGFraW5nIGludG8gYWNjb3VudCBNVFUgYW5kCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2M3BkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuYzoKCSAgQ29ycmVjdGx5IGNhbGN1bGF0ZSBzaXplIG9mIGVhY2ggSDI2MysgUlRQIGJ1ZmZlciB0YWtpbmcgaW50byBhY2NvdW50IE1UVSBhbmQKCSAgUlRQIGhlYWRlci4KCjIwMDYtMDktMjAgMTY6NDE6NDggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwL01ha2VmaWxlLmFtOiBBbmQgbWFrZWZpbGUgdG9vLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJICBBbmQgbWFrZWZpbGUgdG9vLgoKMjAwNi0wOS0yMCAxNjowOTowMyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvOiBBZGRlZCBwcmVsaW1pbmFyeSBBU0YgZGVwYXlsb2FkZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwLmM6IChwbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBhc2ZkZXBheS5jOiAoZ3N0X3J0cF9hc2ZfZGVwYXlfYmFzZV9pbml0KSwKCSAgKGdzdF9ydHBfYXNmX2RlcGF5X2NsYXNzX2luaXQpLCAoZ3N0X3J0cF9hc2ZfZGVwYXlfaW5pdCksCgkgIChkZWNvZGVfYmFzZTY0KSwgKGdzdF9ydHBfYXNmX2RlcGF5X3NldGNhcHMpLAoJICAoZ3N0X3J0cF9hc2ZfZGVwYXlfcHJvY2VzcyksIChnc3RfcnRwX2FzZl9kZXBheV9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3J0cF9hc2ZfZGVwYXlfZ2V0X3Byb3BlcnR5KSwgKGdzdF9ydHBfYXNmX2RlcGF5X2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfcnRwX2FzZl9kZXBheV9wbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBhc2ZkZXBheS5oOgoJICBBZGRlZCBwcmVsaW1pbmFyeSBBU0YgZGVwYXlsb2FkZXIuCgkgICogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzogKGRlY29kZV9iYXNlNjQpOgoJICBGaXggYmFzZTY0IGRlY29kaW5nLgoKMjAwNi0wOS0yMCAxNjowNjoyNyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL1VSTFM6IEFkZGVkIHNvbWUgdGVzdCBVUkxTLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9VUkxTOgoJICBBZGRlZCBzb21lIHRlc3QgVVJMUy4KCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19jcmVhdGVfc3RyZWFtKSwKCSAgKGdzdF9ydHNwc3JjX2xvb3ApLCAoZ3N0X3J0c3BzcmNfb3Blbik6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBXaGVuIGNyZWF0aW5nIHN0cmVhbXMsIGdpdmUgYWNjZXNzIHRvIHRoZSBjb21wbGV0ZSBTRFAuCgkgIEZpeCBzb21lIGxlYWtzLgoJICBDb2xsZWN0IGFuZCBtZXJnZSBnbG9iYWwgc3RyZWFtIHByb3BlcnRpZXMgaW4gc3RyZWFtIGNhcHMuCgkgIFByZWxpbWluYXJ5IHN1cHBvcnQgZm9yIFdNU2VydmVyLgoJICAqIGdzdC9ydHNwL3J0c3Bjb25uZWN0aW9uLmM6IChydHNwX2Nvbm5lY3Rpb25fY3JlYXRlKSwKCSAgKHJ0c3BfY29ubmVjdGlvbl9jb25uZWN0KSwgKHJ0c3BfY29ubmVjdGlvbl9yZWFkKSwgKHJlYWRfYm9keSksCgkgIChydHNwX2Nvbm5lY3Rpb25fcmVjZWl2ZSk6CgkgICogZ3N0L3J0c3AvcnRzcGNvbm5lY3Rpb24uaDoKCSAgTWFrZSBjb25uZWN0aW9uIGludGVycnVwdGFibGUuCgkgIFJlZmFjdG9yIHRvIG1ha2UgaXQgcmVjb25uZWN0YWJsZS4KCSAgRG9uJ3QgZmFpbCBvbiBzaG9ydCByZWFkcyB3aGVuIHJlYWRpbmcgZGF0YSBwYWNrZXRzLgoJICAqIGdzdC9ydHNwL3J0c3B1cmwuYzogKHJ0c3BfdXJsX3BhcnNlKSwgKHJ0c3BfdXJsX3NldF9wb3J0KSwKCSAgKHJ0c3BfdXJsX2dldF9wb3J0KToKCSAgKiBnc3QvcnRzcC9ydHNwdXJsLmg6CgkgIEFkZCBtZXRob2RzIGZvciBnZXR0aW5nL3NldHRpbmcgdGhlIHBvcnQuCgkgICogZ3N0L3J0c3Avc2RwbWVzc2FnZS5jOiAoc2RwX21lc3NhZ2VfZ2V0X2F0dHJpYnV0ZV92YWxfbiksCgkgIChzZHBfbWVzc2FnZV9nZXRfYXR0cmlidXRlX3ZhbCksIChzZHBfbWVkaWFfZ2V0X2F0dHJpYnV0ZSksCgkgIChzZHBfbWVkaWFfZ2V0X2F0dHJpYnV0ZV92YWxfbiksIChzZHBfbWVkaWFfZ2V0X2F0dHJpYnV0ZV92YWwpLAoJICAoc2RwX21lZGlhX2dldF9mb3JtYXQpLCAoc2RwX3BhcnNlX2xpbmUpLAoJICAoc2RwX21lc3NhZ2VfcGFyc2VfYnVmZmVyKToKCSAgRml4IGhlYWRlcnMuCgkgIEFkZCBtZXRob2RzIGZvciBnZXR0aW5nIG11bHRpcGxlIGF0dHJpYnV0ZXMgd2l0aCB0aGUgc2FtZSBuYW1lLgoJICBJbmNyZWFzZSBidWZmZXIgc2l6ZSB3aGVuIHBhcnNpbmcuCgkgIEZpeCBwYXJzaW5nIG9mIGE9Zm9vIGZpZWxkcy4KCSAgKiBnc3QvcnRzcC90ZXN0LmM6IChtYWluKToKCSAgVXBkYXRlIHRvIG5ldyBjb25uZWN0aW9uIEFQSS4KCSAgKiBnc3QvcnRzcC9ydHNwbWVzc2FnZS5jOiAocnRzcF9tZXNzYWdlX25ld19yZXNwb25zZSksCgkgIChydHNwX21lc3NhZ2VfaW5pdF9yZXNwb25zZSksIChydHNwX21lc3NhZ2VfaW5pdF9kYXRhKSwKCSAgKHJ0c3BfbWVzc2FnZV91bnNldCksIChydHNwX21lc3NhZ2VfZnJlZSksIChydHNwX21lc3NhZ2VfZHVtcCk6CgkgICogZ3N0L3J0c3AvcnRzcG1lc3NhZ2UuaDoKCSAgKiBnc3QvcnRzcC9ydHNwdHJhbnNwb3J0LmM6IChydHNwX3RyYW5zcG9ydF9mcmVlKToKCSAgKiBnc3QvcnRzcC9ydHNwdHJhbnNwb3J0Lmg6CgkgICogZ3N0L3J0c3Avc2RwLmg6CgkgICogZ3N0L3J0c3Avc2RwbWVzc2FnZS5oOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3AuYzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwLmg6CgkgICogZ3N0L3J0c3AvZ3N0cnRwZGVjLmM6CgkgICogZ3N0L3J0c3AvZ3N0cnRwZGVjLmg6CgkgICogZ3N0L3J0c3AvcnRzcC5oOgoJICAqIGdzdC9ydHNwL3J0c3BkZWZzLmM6CgkgICogZ3N0L3J0c3AvcnRzcGRlZnMuaDoKCSAgRHVhbCBsaWNlbnNlZCB1bmRlciBNSVQgYW5kIExHUEwgbm93LgoKMjAwNi0wOS0xOSAxNzoyNToxNSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuKjogUmVvcmdhbml6ZSBzdHJlYW0gcGFyc2luZyBhbmQgY3JlYXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGZpbmRfc3RyZWFtX2J5X3B0KSwKCSAgKGdzdF9ydHNwc3JjX2NyZWF0ZV9zdHJlYW0pLCAoZ3N0X3J0c3BzcmNfZnJlZV9zdHJlYW0pLAoJICAoZ3N0X3J0c3BzcmNfbWVkaWFfdG9fY2FwcyksIChnc3RfcnRzcHNyY19zdHJlYW1fc2V0dXBfcnRwKSwKCSAgKGdzdF9ydHNwc3JjX3N0cmVhbV9jb25maWd1cmVfdHJhbnNwb3J0KSwgKGZpbmRfc3RyZWFtX2J5X2NoYW5uZWwpLAoJICAoZ3N0X3J0c3BzcmNfcHVzaF9ldmVudCksIChnc3RfcnRzcHNyY19sb29wKSwgKGdzdF9ydHNwc3JjX3NlbmQpLAoJICAoZ3N0X3J0c3BzcmNfcGFyc2VfbWV0aG9kcyksIChnc3RfcnRzcHNyY19vcGVuKSwKCSAgKGdzdF9ydHNwc3JjX3BhcnNlX3J0cGluZm8pLCAoZ3N0X3J0c3BzcmNfcGxheSk6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBSZW9yZ2FuaXplIHN0cmVhbSBwYXJzaW5nIGFuZCBjcmVhdGlvbi4KCSAgRGV0ZWN0IGNvbnRhaW5lciBmb3JtYXRzIGluIGludGVybGVhdmVkIG1vZGUuCgkgIEtlZXAgbW9yZSBzdGF0ZSBhYm91dCB0aGUgc3RyZWFtcy4KCSAgQXNzdW1lIGEgc2VydmVyIGFsc28gc3VwcG9ydHMgUExBWSBpZiBpdCBkb2VzIG5vdCBzYXkuCgkgIEFkZCB1bmljYXN0IGFuZCBpbnRlcmxlYXZlZCBwcm9wZXJ0aWVzIHRvIFRDUCB0cmFuc3BvcnQgcmVxdWVzdHMgdG8gbWFrZQoJICBzb21lIHNlcnZlcnMgaGFwcHkgKFdNU2VydmVyKS4KCSAgKiBnc3QvcnRzcC9zZHBtZXNzYWdlLmg6CgkgIEFkZCBzb21lIGRlZmluZXMgZm9yIHRoZSBzdGFuZGFyZCBCYW5kd2lkdGggdHlwZXMuCgoyMDA2LTA5LTE5IDE2OjI0OjEwICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiB0ZXN0cy9pY2xlcy92NGwyc3JjLXRlc3QuYzoKCSAgSnVzdCBhIHNtYWxsIGZpeCB0byB0aGUgYXBwIG9wdGlvbnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBKdXN0IGEgc21hbGwgZml4IHRvIHRoZSBhcHAgb3B0aW9ucy4KCjIwMDYtMDktMTkgMTM6MDg6MzUgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIHN5cy92NGwyL01ha2VmaWxlLmFtOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRvcmllbnQuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZG9yaWVudC5oOgoJKiB0ZXN0cy9pY2xlcy92NGwyc3JjLXRlc3QuYzoKCSAgQWRkIFZpZGVvIE9yaWVudGF0aW9uIGludGVyZmFjZSBzdXBwb3J0IHRvIHY0bDJzcmMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBBZGQgVmlkZW8gT3JpZW50YXRpb24gaW50ZXJmYWNlIHN1cHBvcnQgdG8gdjRsMnNyYy4KCjIwMDYtMDktMTkgMTA6NTM6NTYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC90ZXN0LmM6IEZpeCBidWlsZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvdGVzdC5jOiAobWFpbik6CgkgIEZpeCBidWlsZC4KCjIwMDYtMDktMTkgMTA6MTQ6NTIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogQWRkIG1zLWdzbSB0byB0aGUgc3JjIHRlbXBsYXRlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgQWRkIG1zLWdzbSB0byB0aGUgc3JjIHRlbXBsYXRlLgoKMjAwNi0wOS0xOCAxNzozNzo0NiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuKjogU21hbGwgY2xlYW51cHMsIGFkZGVkIGRvY3VtZW50YXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX21lZGlhX3RvX2NhcHMpLAoJICAoZ3N0X3J0c3BzcmNfc2VuZCksIChnc3RfcnRzcHNyY19wYXJzZV9tZXRob2RzKSwKCSAgKGdzdF9ydHNwc3JjX29wZW4pLCAoZ3N0X3J0c3BzcmNfY2xvc2UpLCAoZ3N0X3J0c3BzcmNfcGxheSksCgkgIChnc3RfcnRzcHNyY19wYXVzZSksIChnc3RfcnRzcHNyY19jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X3J0c3BzcmNfdXJpX2dldF91cmkpLCAoZ3N0X3J0c3BzcmNfdXJpX3NldF91cmkpOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgU21hbGwgY2xlYW51cHMsIGFkZGVkIGRvY3VtZW50YXRpb24uCgkgIFRyeSB0byBjbGVhbiB1cCB0aGUgcmVxdWVzdHMgYW5kIHJlc3BvbnNlcy4KCSAgUmVmYWN0b3IgcGFyc2luZyB0aGUgc3VwcG9ydGVkIG1ldGhvZHMuCgkgICogZ3N0L3J0c3AvcnRzcGNvbm5lY3Rpb24uYzogKHJ0c3BfY29ubmVjdGlvbl9vcGVuKSwKCSAgKHJ0c3BfY29ubmVjdGlvbl9jcmVhdGUpLCAocnRzcF9jb25uZWN0aW9uX3NlbmQpLAoJICAocGFyc2VfcmVzcG9uc2Vfc3RhdHVzKSwgKHBhcnNlX3JlcXVlc3RfbGluZSksCgkgIChydHNwX2Nvbm5lY3Rpb25fcmVjZWl2ZSksIChydHNwX2Nvbm5lY3Rpb25fY2xvc2UpLAoJICAocnRzcF9jb25uZWN0aW9uX2ZyZWUpOgoJICAqIGdzdC9ydHNwL3J0c3B0cmFuc3BvcnQuYzogKHJ0c3BfdHJhbnNwb3J0X25ldyksCgkgIChydHNwX3RyYW5zcG9ydF9pbml0KSwgKHJ0c3BfdHJhbnNwb3J0X3BhcnNlKSwKCSAgKHJ0c3BfdHJhbnNwb3J0X2ZyZWUpOgoJICAqIGdzdC9ydHNwL3J0c3B1cmwuYzogKHJ0c3BfdXJsX3BhcnNlKToKCSAgKiBnc3QvcnRzcC9zZHBtZXNzYWdlLmM6IChzZHBfbWVzc2FnZV9uZXcpLCAoc2RwX21lc3NhZ2VfaW5pdCksCgkgIChzZHBfbWVzc2FnZV9jbGVhbiksIChzZHBfbWVzc2FnZV9mcmVlKSwgKHNkcF9tZWRpYV9uZXcpLAoJICAoc2RwX21lZGlhX2luaXQpLCAoc2RwX21lc3NhZ2VfcGFyc2VfYnVmZmVyKSwgKHNkcF9tZXNzYWdlX2R1bXApOgoJICBVc2UgZ19yZXR1cm5fdmFsIHNvbWUgbW9yZS4KCSAgKiBnc3QvcnRzcC9ydHNwZGVmcy5oOgoJICBBZGQgbW9yZSBlbnVtIHZhbHVlcyB0byB0cmFjayBpbml0aWFsIHN0YXRlcy4KCSAgKiBnc3QvcnRzcC9ydHNwbWVzc2FnZS5jOiAocnRzcF9tZXNzYWdlX25ld19yZXF1ZXN0KSwKCSAgKHJ0c3BfbWVzc2FnZV9pbml0X3JlcXVlc3QpLCAocnRzcF9tZXNzYWdlX25ld19yZXNwb25zZSksCgkgIChydHNwX21lc3NhZ2VfaW5pdF9yZXNwb25zZSksIChydHNwX21lc3NhZ2VfaW5pdF9kYXRhKSwKCSAgKHJ0c3BfbWVzc2FnZV91bnNldCksIChydHNwX21lc3NhZ2VfZnJlZSksCgkgIChydHNwX21lc3NhZ2VfYWRkX2hlYWRlciksIChydHNwX21lc3NhZ2VfcmVtb3ZlX2hlYWRlciksCgkgIChydHNwX21lc3NhZ2VfZ2V0X2hlYWRlciksIChydHNwX21lc3NhZ2Vfc2V0X2JvZHkpLAoJICAocnRzcF9tZXNzYWdlX3Rha2VfYm9keSksIChydHNwX21lc3NhZ2VfZ2V0X2JvZHkpLAoJICAocnRzcF9tZXNzYWdlX3N0ZWFsX2JvZHkpLCAocnRzcF9tZXNzYWdlX2R1bXApOgoJICAqIGdzdC9ydHNwL3J0c3BtZXNzYWdlLmg6CgkgIFJlb3JkZXIgYXJndW1lbnRzLCBvYmplY3QgZ29lcyBhcyB0aGUgZmlyc3Qgb25lLgoJICBVc2UgZ19yZXR1cm5fdmFsIHNvbWUgbW9yZS4KCjIwMDYtMDktMTggMTU6MzY6MTQgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSAgRml4IEdTVF9CVUZGRVJfRFVSQVRJT04uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBGaXggR1NUX0JVRkZFUl9EVVJBVElPTi4KCjIwMDYtMDktMTggMTQ6MDA6NDEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLio6IEV4cG9ydCBzb21ldGltZXMgc291cmNlIHBhZCB3aXRoIGNvcnJlY3QgY2FwcyBvbiB0aGUgdGVtcGxhdGUsIGNyZWF0ZSB0aGUgZ2hvc3RwYWQgZnJvbSB0aGUgdGUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfYmFzZV9pbml0KSwKCSAgKGdzdF9ydHNwc3JjX3N0cmVhbV9jb25maWd1cmVfdHJhbnNwb3J0KSwgKGdzdF9ydHNwc3JjX3B1c2hfZXZlbnQpLAoJICAoZ3N0X3J0c3BzcmNfbG9vcCksIChnc3RfcnRzcHNyY191cmlfc2V0X3VyaSk6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBFeHBvcnQgc29tZXRpbWVzIHNvdXJjZSBwYWQgd2l0aCBjb3JyZWN0IGNhcHMgb24gdGhlIHRlbXBsYXRlLCBjcmVhdGUKCSAgdGhlIGdob3N0cGFkIGZyb20gdGhlIHRlbXBsYXRlLgoJICBSZW1vdmUgUlRDUCB0ZW1wbGF0ZSBhcyB3ZSBuZXZlciBleHBvc2UgUlRDUC4KCSAgUHJvdGVjdCBhZ2FpbnN0IGludmFsaWQgYm9keSBzaXplLgoJICBBdm9pZCBtZW1jcHkgd2hlbiBjcmVhdGluZyB0aGUgb3V0cHV0IGJ1ZmZlci4KCSAgUHJvcGVybHkgcG9zdCBhbiBlcnJvciBhbmQgc2VuZCBFT1Mgd2hlbiB0aGUgbG9vcCBmdW5jdGlvbiBpcyBzaHV0IGRvd24uCgoyMDA2LTA5LTE4IDExOjI5OjEyICswMDAwICBMdXR6IE11ZWxsZXIgPGx1dHpAdG9wZnJvc2UuZGU+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLio6IE1ha2Ugc3VyZSB3ZSBjYW4gbmV2ZXIgc2V0IGFuIGludmFsaWQgbG9jYXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBCYXNlZCBvbiBwYXRjaCBieTogTHV0eiBNdWVsbGVyIDxsdXR6IGF0IHRvcGZyb3NlIGRvdCBkZT4KCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19jbGFzc19pbml0KSwKCSAgKGdzdF9ydHNwc3JjX2luaXQpLCAoZ3N0X3J0c3BzcmNfc2V0X3Byb3BlcnR5KSwgKGdzdF9ydHNwc3JjX29wZW4pLAoJICAoZ3N0X3J0c3BzcmNfdXJpX2dldF91cmkpLCAoZ3N0X3J0c3BzcmNfdXJpX3NldF91cmkpOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgTWFrZSBzdXJlIHdlIGNhbiBuZXZlciBzZXQgYW4gaW52YWxpZCBsb2NhdGlvbi4KCSAgKiBnc3QvcnRzcC9ydHNwbWVzc2FnZS5jOiAocnRzcF9tZXNzYWdlX3N0ZWFsX2JvZHkpOgoJICAqIGdzdC9ydHNwL3J0c3BtZXNzYWdlLmg6CgkgIEFkZGVkIF9zdGVhbF9ib2R5IG1ldGhvZCBmb3IgZnV0dXJlIHVzZS4KCSAgKiBnc3QvcnRzcC9ydHNwdXJsLmM6IChydHNwX3VybF9wYXJzZSksIChydHNwX3VybF9mcmVlKToKCSAgTWFrZSBmcmVlaW5nIG9mIE5VTEwgdXJsIHJldHVybiBpbW1lZGlhdGx5LgoKMjAwNi0wOS0xOCAxMDo0Mjo1MiArMDAwMCAgTHV0eiBNdWVsbGVyIDxsdXR6QHRvcGZyb3NlLmRlPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy4qOiBVc2UgYm9pbGVycGxhdGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBCYXNlZCBvbiBwYXRjaCBieTogTHV0eiBNdWVsbGVyIDxsdXR6IGF0IHRvcGZyb3NlIGRvdCBkZT4KCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChfZG9faW5pdCksIChnc3RfcnRzcHNyY19jbGFzc19pbml0KSwKCSAgKGdzdF9ydHNwc3JjX2luaXQpLCAoZ3N0X3J0c3BzcmNfc3RyZWFtX3NldHVwX3J0cCksCgkgIChnc3RfcnRzcHNyY19zdHJlYW1fY29uZmlndXJlX3RyYW5zcG9ydCksIChnc3RfcnRzcHNyY19wbGF5KSwKCSAgKGdzdF9ydHNwc3JjX2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBVc2UgYm9pbGVycGxhdGUuCgkgIE1ha2UgcnRzcHNyYyBzdWJjbGFzcyBHc3RCaW4gdG8gbWFrZSBzdGF0ZSBjaGFuZ2VzIGVhc2llci4KCSAgQWRkIFJhbmdlIGhlYWRlciBmaWVsZCBvbiB0aGUgUExBWSByZXF1ZXN0LgoKMjAwNi0wOS0xOCAwODo1OToxNyArMDAwMCAgVGhpanMgVmVybWVpciA8dGhpanMudmVybWVpckBiYXJjby5jb20+CgoJICBnc3QvcnRzcC86IFNtYWxsIGNsZWFudXBzLiB3aGVuIG11bHRpY2FzdCBpcyBzZWxlY3RlZCBhcyB0aGUgdHJhbnNwb3J0LCBjcmVhdGUgVURQIHNvdXJjZXMgYW5kIGNvbm5lY3QgdG8gdGhlIG11bHRpY2EuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEJhc2VkIG9uIHBhdGNoIGJ5OiBUaGlqcyBWZXJtZWlyIDx0aGlqcyBkb3QgdmVybWVpciBhdCBiYXJjbyBkb3QgY29tPgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX3NldF9zdGF0ZSksCgkgIChnc3RfcnRzcHNyY19tZWRpYV90b19jYXBzKSwgKGdzdF9ydHNwc3JjX3N0cmVhbV9zZXR1cF9ydHApLAoJICAoZ3N0X3J0c3BzcmNfc3RyZWFtX2NvbmZpZ3VyZV90cmFuc3BvcnQpLCAoZ3N0X3J0c3BzcmNfb3BlbiksCgkgIChnc3RfcnRzcHNyY19jbG9zZSksIChnc3RfcnRzcHNyY19wbGF5KSwgKGdzdF9ydHNwc3JjX3BhdXNlKToKCSAgKiBnc3QvcnRzcC9ydHNwY29ubmVjdGlvbi5jOiAoaW5ldF9hdG9uKToKCSAgU21hbGwgY2xlYW51cHMuCgkgIHdoZW4gbXVsdGljYXN0IGlzIHNlbGVjdGVkIGFzIHRoZSB0cmFuc3BvcnQsIGNyZWF0ZSBVRFAgc291cmNlcyBhbmQKCSAgY29ubmVjdCB0byB0aGUgbXVsdGljYXN0IGdyb3VwLgoJICBNb3ZlIHBhcnNpbmcgYW5kIHNldHRpbmcgb2YgY2FwcyB0byBhIGNvbW1vbiBwbGFjZS4KCSAgRml4ZXMgIzM0OTg5NC4KCjIwMDYtMDktMTYgMjI6MTQ6MzUgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIE1vcmUgR19PQkpFQ1QgbWFjcm8gZml4aW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvaGVybWVzL2dzdGhlcm1lc2NvbG9yc3BhY2UuYzoKCSAgKiBleHQvaXZvcmJpcy92b3JiaXNmaWxlLmM6CgkgICogZXh0L2xjcy9nc3Rjb2xvcnNwYWNlLmM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5oOgoJICAqIGV4dC94aW5lL3hpbmVhdWRpb2RlYy5jOgoJICAqIGV4dC94aW5lL3hpbmVhdWRpb3NpbmsuYzoKCSAgKiBleHQveGluZS94aW5laW5wdXQuYzoKCSAgKiBnc3QvY2hhcnQvZ3N0Y2hhcnQuYzoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOgoJICAqIGdzdC9nYW1lcy9nc3RwdXp6bGUuYzoKCSAgKiBnc3QvbGlicmZiL2dzdHJmYnNyYy5jOgoJICAqIGdzdC9taXhtYXRyaXgvbWl4bWF0cml4LmM6CgkgICogZ3N0L25zZi9nc3Ruc2YuaDoKCSAgKiBnc3QvdmJpZGVjL2dzdHZiaWRlYy5jOgoJICAqIGdzdC92aXJ0dWFsZHViL2dzdHhzaGFycGVuLmM6CgkgIE1vcmUgR19PQkpFQ1QgbWFjcm8gZml4aW5nLgoKMjAwNi0wOS0xNiAyMTo1NzoyOSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgTW9yZSBHX09CSkVDVCBtYWNybyBmaXhpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mbGFjL2dzdGZsYWN0YWcuYzoKCSAgKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzoKCSAgKiBnc3QvZGVidWcvYnJlYWtteWRhdGEuYzoKCSAgKiBnc3QvZGVidWcvbmVnb3RpYXRpb24uYzoKCSAgKiBnc3QvZGVidWcvdGVzdHBsdWdpbi5jOgoJICAqIGdzdC9lZmZlY3R2L2dzdGFnaW5nLmM6CgkgICogZ3N0L2VmZmVjdHYvZ3N0ZGljZS5jOgoJICAqIGdzdC9lZmZlY3R2L2dzdGVkZ2UuYzoKCSAgKiBnc3QvZWZmZWN0di9nc3RxdWFyay5jOgoJICAqIGdzdC9lZmZlY3R2L2dzdHJldi5jOgoJICAqIGdzdC9lZmZlY3R2L2dzdHNoYWdhZGVsaWMuYzoKCSAgKiBnc3QvZWZmZWN0di9nc3R2ZXJ0aWdvLmM6CgkgICogZ3N0L2VmZmVjdHYvZ3N0d2FycC5jOgoJICAqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzoKCSAgKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydG11eC5jOgoJICAqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOgoJICAqIGdzdC92aWRlb2ZpbHRlci9nc3RnYW1tYS5jOgoJICAqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb3RlbXBsYXRlLmM6CgkgICogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NyYy5oOgoJICBNb3JlIEdfT0JKRUNUIG1hY3JvIGZpeGluZy4KCjIwMDYtMDktMTYgMTQ6MzA6NTkgKzAwMDAgIFl2ZXMgTGVmZWJ2cmUgPGl2YW5vaGVAYWJhY29tLmNvbT4KCgkgIGdzdC9hdmkvZ3N0YXZpbXV4LmM6IENvcnJlY3RseSBzZXQgdGhlIGR3TGVuZ3RoIGluIHN0cmguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogWXZlcyBMZWZlYnZyZSA8aXZhbm9oZSBhdCBhYmFjb20gZG90IGNvbT4KCSAgKiBnc3QvYXZpL2dzdGF2aW11eC5jOiAoZ3N0X2F2aV9tdXhfc3RvcF9maWxlKToKCSAgQ29ycmVjdGx5IHNldCB0aGUgZHdMZW5ndGggaW4gc3RyaC4KCSAgV2l0aCB0aGlzIHBhdGNoLCB0aGUgZmlsZSBkdXJhdGlvbiBpcyBub3cgZGlzcGxheWVkIGNvcnJlY3RseSBpbiB3aW5kb3cKCSAgbWVkaWEgcGxheWVyIGFuZCB0aGUgQVZJIHBsYXlzIGNvbXBsZXRlbHkuIEZpeGVzICMzNTYxNDcKCjIwMDYtMDktMTUgMTk6MTE6MDAgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyeG92ZXJsYXkuYzoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkqIHRlc3RzL2ljbGVzL3Y0bDJzcmMtdGVzdC5jOgoJICBUaGUgdGVzdCBhcHBsaWNhdGlvbiBhbmQgdGhlIHBsZ2luZCBlcnJvciBtZXNzYWdlcyBoYXMgYmVlbiBpbXByb3ZlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFRoZSB0ZXN0IGFwcGxpY2F0aW9uIGFuZCB0aGUgcGxnaW5kIGVycm9yIG1lc3NhZ2VzIGhhcyBiZWVuIGltcHJvdmVkLgoKMjAwNi0wOS0xNSAxNzoxMDoyMiArMDAwMCAgRGFycmVuIEtlbm55IDxkYXJyZW4ua2VubnlAc3VuLmNvbT4KCgkgIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVyY3RybC5jOiBTZXQgdGhlIG91dHB1dCB0cmFjayBhcyB0aGUgTUFTVEVSIHNvIHRoYXQgdGhlIGdub21lLXNldHRpbmdzLWRhZW1vbiBrZXliaW5kaW5ncy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IERhcnJlbiBLZW5ueSA8ZGFycmVuIGRvdCBrZW5ueSBhdCBzdW4gZG90IGNvbT4KCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlcmN0cmwuYzoKCSAgKGdzdF9zdW5hdWRpb21peGVyX2N0cmxfYnVpbGRfbGlzdCk6CgkgIFNldCB0aGUgb3V0cHV0IHRyYWNrIGFzIHRoZSBNQVNURVIgc28gdGhhdCB0aGUgZ25vbWUtc2V0dGluZ3MtZGFlbW9uCgkgIGtleWJpbmRpbmdzIGZvciBjaGFuZ2luZyB0aGUgdm9sdW1lIHVzaW5nIHRoZSBrZXlib2FyZCB3b3Jrcy4KCSAgRml4ZXMgIzM1NjE0Mi4KCjIwMDYtMDktMTUgMTY6MDE6NDggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4LmM6IEZpeCBkb2N1bWVudGF0aW9uLCBpdCBpcyBub3QgcG9zc2libGUgdG8gY29udHJvbCB0aGUgZnJhbWVyYXRlIG9mIGpwZWdkZWMgdXNpbmcgZmlsdGUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOiAoZ3N0X211bHRpcGFydF9kZW11eF9jaGFpbik6CgkgIEZpeCBkb2N1bWVudGF0aW9uLCBpdCBpcyBub3QgcG9zc2libGUgdG8gY29udHJvbCB0aGUgZnJhbWVyYXRlIG9mIGpwZWdkZWMKCSAgdXNpbmcgZmlsdGVyZWQgY2FwcyB5ZXQuIEZpeGVzICMzNTUyMTAuCgkgIFJldHVybiB0aGUgZG93bnN0cmVhbSBHc3RGbG93UmV0dXJuIGluc3RlYWQgb2YgR1NUX0ZMT1dfT0sgc28gdGhhdCB3ZQoJICBzdG9wIHdoZW4gdGhlcmUgaXMgYW4gZXJyb3IuCgoyMDA2LTA5LTE0IDExOjA1OjM1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0LzogRG9uJ3QgaW50ZXJwcmV0IGEgZmlyc3QgYnVmZmVyIHdpdGggYW4gb2Zmc2V0IG9mIE5PTkUgYXMgJ2Zyb20gdGhlIG1pZGRsZSBvZiB0aGUgc3RyZWFtJywgYnV0IG9ubHkgYSBmaXJzdCBidWZmLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hcGV0YWcvZ3N0dGFnZGVtdXguYzogKGdzdF90YWdfZGVtdXhfY2hhaW5fcGFyc2VfdGFnKToKCSAgKiBnc3QvaWQzZGVtdXgvZ3N0aWQzZGVtdXguYzogKGdzdF9pZDNkZW11eF9jaGFpbik6CgkgIERvbid0IGludGVycHJldCBhIGZpcnN0IGJ1ZmZlciB3aXRoIGFuIG9mZnNldCBvZiBOT05FIGFzCgkgICdmcm9tIHRoZSBtaWRkbGUgb2YgdGhlIHN0cmVhbScsIGJ1dCBvbmx5IGEgZmlyc3QgYnVmZmVyCgkgIHRoYXQgaGFzIGEgdmFsaWQgYnVmZmVyIG9mZnNldCB0aGF0J3Mgbm9uLXplcm8gKHNlZSAjMzQ1NDQ5KS4KCjIwMDYtMDktMTQgMTA6Mzg6NDIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvaWN5ZGVtdXgvZ3N0aWN5ZGVtdXguKjogV2hlbiB3ZSBtZXJnZS9jb2xsZWN0IG11bHRpcGxlIGluY29taW5nIGJ1ZmZlcnMgZm9yIHR5cGVmaW5kaW5nIHB1cnBvc2VzLCBrZWVwIGFuIGluaXRpYWwuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ljeWRlbXV4L2dzdGljeWRlbXV4LmM6IChnc3RfaWN5ZGVtdXhfcmVzZXQpLAoJICAoZ3N0X2ljeWRlbXV4X3R5cGVmaW5kX29yX2ZvcndhcmQpOgoJICAqIGdzdC9pY3lkZW11eC9nc3RpY3lkZW11eC5oOgoJICBXaGVuIHdlIG1lcmdlL2NvbGxlY3QgbXVsdGlwbGUgaW5jb21pbmcgYnVmZmVycyBmb3IgdHlwZWZpbmRpbmcKCSAgcHVycG9zZXMsIGtlZXAgYW4gaW5pdGlhbCAwIG9mZnNldCBvbiB0aGUgZmlyc3Qgb3V0Z29pbmcgYnVmZmVyCgkgIGFzIHdlbGwgKG90aGVyd2lzZSBpZDNkZW11eCB3b24ndCB3b3JrIHJpZ2h0KS4gRml4ZXMgIzM0NTQ0OS4KCSAgQWxzbyBNYWtlIGJ1ZmZlciBtZXRhZGF0YSB3cml0YWJsZSBiZWZvcmUgc2V0dGluZyBidWZmZXIgY2Fwcy4KCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pY3lkZW11eC5jOiAodHlwZWZpbmRfc3VjY2VlZCksCgkgIChjbGVhbnVwX2ljeWRlbXV4KSwgKHB1c2hfZGF0YSksIChHU1RfU1RBUlRfVEVTVCksCgkgIChpY3lkZW11eF9zdWl0ZSk6CgkgIFNtYWxsIHRlc3QgY2FzZSBmb3IgdGhlIGFib3ZlLgoKMjAwNi0wOS0xMyAxMzoyNjoxNSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiBNb3JlIGNvZGUgcmV1c2UgYW5kIGJldHRlciBsb2dnaW5nIGluIF9wZWVrX2NodW5rKCkuIFJlaW50cm9kdWNlIGNoZWNrIGZvciBjaHVuayBzaXplcyBiZWZvcmUgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfcGVla19jaHVuayksCgkgIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9pbmRleCksIChnc3RfYXZpX2RlbXV4X3N5bmMpLAoJICAoZ3N0X2F2aV9kZW11eF9zdHJlYW1faGVhZGVyX3B1c2gpLAoJICAoZ3N0X2F2aV9kZW11eF9wcm9jZXNzX25leHRfZW50cnkpLCAoZ3N0X2F2aV9kZW11eF9zdHJlYW1fZGF0YSksCgkgIChnc3RfYXZpX2RlbXV4X2xvb3ApOgoJICBNb3JlIGNvZGUgcmV1c2UgYW5kIGJldHRlciBsb2dnaW5nIGluIF9wZWVrX2NodW5rKCkuIFJlaW50cm9kdWNlIGNoZWNrCgkgIGZvciBjaHVuayBzaXplcyBiZWZvcmUgcmVhZGluZyB0aGVtIChhdm9pZCBvb20pLiBCZXR0ZXIgaGFuZGxpbmcgZm9yCgkgIGludmFsaWQgY2h1bmtzaXplcyB3aGVuIHN0cmVhbWluZy4KCjIwMDYtMDktMTIgMjA6MTg6NTUgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiBJbXBsZW1lbnRzIHN0b3AoKSB0byBjbGVhciB0aGUgYWRhcHRlciBhbmQgZXZlbnQoKSB0byBjbGVhciB0aGUgYWRhcHRlciBvbiBGTFVTSF9TVE9QIGFuZC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogKGdzdF9zcGVjdHJ1bV9jbGFzc19pbml0KSwKCSAgKGdzdF9zcGVjdHJ1bV9zdGFydCksIChnc3Rfc3BlY3RydW1fc3RvcCksIChnc3Rfc3BlY3RydW1fZXZlbnQpOgoJICBJbXBsZW1lbnRzIHN0b3AoKSB0byBjbGVhciB0aGUgYWRhcHRlciBhbmQgZXZlbnQoKSB0byBjbGVhciB0aGUKCSAgYWRhcHRlciBvbiBGTFVTSF9TVE9QIGFuZCBFT1MuCgoyMDA2LTA5LTExIDIwOjM4OjQxICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvbGV2ZWwvZ3N0bGV2ZWwuKjogRml4IHR5cGUgbWl4dXAgaW4gbGV2ZWwtPmludGVydmFsIChnZG91YmxlPC0+Z3VpbnQ2NCkuIFNwb3R0ZWQgYnkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2xldmVsL2dzdGxldmVsLmM6IChnc3RfbGV2ZWxfc2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuaDoKCSAgRml4IHR5cGUgbWl4dXAgaW4gbGV2ZWwtPmludGVydmFsIChnZG91YmxlPC0+Z3VpbnQ2NCkuIFNwb3R0ZWQgYnkKCSAgUmVuw6kgU3RhZGxlcgoKMjAwNi0wOS0xMSAxODoyMzo1OSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLio6IEZpeCB0eXBlIG1peHVwIGluIHNwZWN0cnVtLT5pbnRlcnZhbCAoZ2RvdWJsZTwtPmd1aW50NjQpLiBTcG90dGVkIGJ5CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiAoZ3N0X3NwZWN0cnVtX2luaXQpLAoJICAoZ3N0X3NwZWN0cnVtX3NldF9wcm9wZXJ0eSk6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmg6CgkgIEZpeCB0eXBlIG1peHVwIGluIHNwZWN0cnVtLT5pbnRlcnZhbCAoZ2RvdWJsZTwtPmd1aW50NjQpLiBTcG90dGVkIGJ5CgkgIFJlbsOpIFN0YWRsZXIKCjIwMDYtMDktMTEgMTg6MDI6MzkgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9zcGVjdHJ1bS9kZW1vLW9zc3NyYy5jOiBVc2UgbW9yZSBkZWZpbmVzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVjdHJ1bS9kZW1vLW9zc3NyYy5jOiAoZHJhd19zcGVjdHJ1bSksIChtYWluKToKCSAgVXNlIG1vcmUgZGVmaW5lcwoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiAoZ3N0X3NwZWN0cnVtX2luaXQpLAoJICAoZ3N0X3NwZWN0cnVtX2Rpc3Bvc2UpLCAoZ3N0X3NwZWN0cnVtX3NldF9jYXBzKSwKCSAgKGdzdF9zcGVjdHJ1bV90cmFuc2Zvcm1faXApOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5oOgoJICBBcHBseSBzb21lIG9mIHRoZSBzcGVjdHJ1bSBjbGVhbnVwIGNoYW5nZXMgc3VnZ2VzdGVkIGluICMzNDgwODUuCgoyMDA2LTA5LTA4IDE2OjQ3OjQ2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgY29uZmlndXJlLmFjOiBCdW1wIHJlcXVpcmVtZW50cyBvZiAtYmFzZSAodmlkZW9jcm9wIHRlc3QgY2FzZSBuZWVkcyB0aGlzKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBCdW1wIHJlcXVpcmVtZW50cyBvZiAtYmFzZSAodmlkZW9jcm9wIHRlc3QgY2FzZSBuZWVkcyB0aGlzKS4KCSAgKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5jOgoJICBEb2N1bWVudCBzbG9wcHkgaGFuZGxpbmcgb2Ygc3Vic2FtcGxlZCBjaHJvbWEgcGxhbmVzIGlmCgkgIGxlZnQvdG9wIGNyb3BwaW5nIGlzIGFuIG9kZCBudW1iZXIuCgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9jcm9wLmM6IChoYW5kb2ZmX2NiKSwKCSAgKHZpZGVvY3JvcF90ZXN0X2Nyb3BwaW5nX2luaXRfY29udGV4dCksCgkgICh2aWRlb2Nyb3BfdGVzdF9jcm9wcGluZ19kZWluaXRfY29udGV4dCksCgkgICh2aWRlb2Nyb3BfdGVzdF9jcm9wcGluZyksIChjaGVja18xeDFfYnVmZmVyKSwgKEdTVF9TVEFSVF9URVNUKSwKCSAgKHZpZGVvY3JvcF9zdWl0ZSksIChtYWluKToKCSAgQWRkIGFub3RoZXIgdW5pdCB0ZXN0IHRoYXQgY3JvcHMgdGhlIGlucHV0IHRvIDF4MSAoYW5kIGNoZWNrcwoJICB0aGF0IHRoYXQgcGl4ZWwgaGFzIHRoZSBleHBlY3RlZCB2YWx1ZXMgaW4gYSBudW1iZXIgb2YgZm9ybWF0cykuCgoyMDA2LTA5LTA4IDExOjA0OjI0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3ZpZGVvY3JvcC86IFNvbWUgcXVpY2sgdGVzdHMgaW5kaWNhdGUgdGhhdCBpdCBkb2Vzbid0IG1ha2UgYSBncmVhdCBkZWFsIG9mIHNlbnNlIHRvIHVzZSBsaWJvaWwgaGVyZSwgYXQgbGVhc3Qgbm90Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC92aWRlb2Nyb3AvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuYzogKGdzdF92aWRlb19jcm9wX2NsYXNzX2luaXQpLAoJICAoZ3N0X3ZpZGVvX2Nyb3BfdHJhbnNmb3JtX3BhY2tlZCksCgkgIChnc3RfdmlkZW9fY3JvcF90cmFuc2Zvcm1fcGxhbmFyKToKCSAgU29tZSBxdWljayB0ZXN0cyBpbmRpY2F0ZSB0aGF0IGl0IGRvZXNuJ3QgbWFrZSBhIGdyZWF0IGRlYWwKCSAgb2Ygc2Vuc2UgdG8gdXNlIGxpYm9pbCBoZXJlLCBhdCBsZWFzdCBub3QgZm9yIHRoZSBtZW1jcHkoKXMKCSAgd2UgZG8sIHNvIHJlbW92ZSBsaWJvaWwgdXNhZ2UgdW50aWwgdGhlcmUgaXMgY2xlYXIgZXZpZGVuY2UKCSAgaXQgYWN0dWFsbHkgbWFrZXMgYSBwb3NpdGl2ZSBkaWZmZXJlbmNlIHNvbWV3aGVyZS4KCjIwMDYtMDktMDYgMDk6MDU6MzMgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogUmV2ZXJ0IG9uZSBjaGFuZ2UgdG8gZml4IHN0cmVhbWluZyBhdmkgKGFkYXB0ZXIgc2l6ZSAhPSBkYXRhIHNpemUpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X3JlYWRfc3ViaW5kZXhlc19wdWxsKSwKCSAgKGdzdF9hdmlfZGVtdXhfc3luYyksIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9oZWFkZXJfcHVzaCksCgkgIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9kYXRhKToKCSAgUmV2ZXJ0IG9uZSBjaGFuZ2UgdG8gZml4IHN0cmVhbWluZyBhdmkgKGFkYXB0ZXIgc2l6ZSAhPSBkYXRhIHNpemUpLgoKMjAwNi0wOS0wNCAxNjoyMToxNyArMDAwMCAgRnLDqWTDqXJpYyBSaXNzIDxmcmVkZXJpYy5yaXNzQGdtYWlsLmNvbT4KCgkgIGdzdC9tYXRyb3NrYS86IEFkZCBzdXBwb3J0IGZvciBWT0JTVUIgc3VidGl0bGUgdHJhY2tzIGFuZCB6bGliLWNvbXByZXNzZWQgdHJhY2tzLiBNYWtlIHN1cmUgd2Ugc3RhcnQgb24gYSBrZXlmcmFtZSBhZi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEZyw6lkw6lyaWMgUmlzcyAgPGZyZWRlcmljLnJpc3MgYXQgZ21haWwgZG90IGNvbT4KCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogKGdzdF9tYXRyb3NrYV90cmFja19mcmVlKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9yZXNldCksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcmVhZF90cmFja19lbmNvZGluZ3MpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2FkZF9zdHJlYW0pLCAoZ3N0X21hdHJvc2thX2RlY29kZV9idWZmZXIpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2Jsb2NrZ3JvdXBfb3Jfc2ltcGxlYmxvY2spLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3N1YnRpdGxlX2NhcHMpOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuaDoKCSAgQWRkIHN1cHBvcnQgZm9yIFZPQlNVQiBzdWJ0aXRsZSB0cmFja3MgYW5kIHpsaWItY29tcHJlc3NlZAoJICB0cmFja3MuIE1ha2Ugc3VyZSB3ZSBzdGFydCBvbiBhIGtleWZyYW1lIGFmdGVyIGEgc2Vlay4gKCMzNDMzNDgpCgoyMDA2LTA5LTA0IDE1OjA2OjI1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L21hdHJvc2thLzogbm90IHBlcmZlY3QgeWV0IHRob3VnaCwgbmVlZHMgc29tZSB0d2Vha2luZyBpbiBmbGFjZGVjOyBhbHNvLCBzZWVraW5nIGNvdWxkIGJlIGJldHRlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IChnc3RfbWF0cm9za2FfZGVtdXhfcHVzaF9oZHJfYnVmKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wdXNoX2ZsYWNfY29kZWNfcHJpdl9kYXRhKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wdXNoX3hpcGhfY29kZWNfcHJpdl9kYXRhKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9ibG9ja2dyb3VwX29yX3NpbXBsZWJsb2NrKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF92aWRlb19jYXBzKSwgKGdzdF9tYXRyb3NrYV9kZW11eF9hdWRpb19jYXBzKToKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmg6CgkgIEFkZCBiYXNpYyBGTEFDIHN1cHBvcnQgKCMzMTE1ODYpLCBub3QgcGVyZmVjdCB5ZXQgdGhvdWdoLCBuZWVkcyBzb21lCgkgIHR3ZWFraW5nIGluIGZsYWNkZWM7IGFsc28sIHNlZWtpbmcgY291bGQgYmUgYmV0dGVyLgoJICBEbyBiZXR0ZXIgYm91bmRzIGNoZWNraW5nIHdoZW4gZGVzZXJpYWxpc2luZyB2b3JiaXMgc3RyZWFtIGhlYWRlcnMKCSAgdG8gbWFrZSBzdXJlIHdlIGRvbid0IHJlYWQgYmV5b25kIHRoZSBlbmQgb2YgdGhlIGJ1ZmZlciBvbiBiYWQgaW5wdXQuCgoyMDA2LTA5LTA0IDA5OjM0OjI1ICswMDAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyb0BubnZhLm9yZz4KCgkgIGV4dC9hbm5vZGV4L2dzdGNtbWxkZWMuYzogU2Vla2luZyBiYWNrIGluIGEgZmlsZSBjb250YWluaW5nIGEgQ01NTCBzdHJlYW0gZXJyb3JzIG91dCBpZiB0aGUgc2VlayBnb2VzIGJhY2sgdXAgdG8gdGhlIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvIGF0IG5udmEgZG90IG9yZz4KCSAgKiBleHQvYW5ub2RleC9nc3RjbW1sZGVjLmM6IChnc3RfY21tbF9kZWNfY2hhaW4pOgoJICBTZWVraW5nIGJhY2sgaW4gYSBmaWxlIGNvbnRhaW5pbmcgYSBDTU1MIHN0cmVhbSBlcnJvcnMgb3V0IGlmIHRoZSBzZWVrCgkgIGdvZXMgYmFjayB1cCB0byB0aGUgQ01NTCBoZWFkZXJzLiBUaGlzIGlzIGJlY2F1c2UgYWZ0ZXIgdGhlIHNlZWsgdGhlIHhtbAoJICBwcm9jZXNzaW5nIGluc3RydWN0aW9uIDw/eG1sIC4uLj8+IGlzIHN1Ym1pdHRlZCB0byB0aGUgeG1sIHBhcnNlciBhZ2FpbiwKCSAgd2hpY2ggcmVzdWx0cyBpbiBhbiBlcnJvci4gVGhlIGF0dGFjaGVkIHBhdGNoIGZpeGVzIHRoZSBwcm9ibGVtLgoJICBGaXhlcyAjMzUzOTA4LgoJICAqIGV4dC9hbm5vZGV4L2dzdGNtbWxlbmMuaDoKCSAgRml4IGF1dGhvcnMgbmFtZS4KCjIwMDYtMDktMDMgMTA6NDY6MTcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb2Nyb3AuYzogTW9yZSB0ZXN0czogY2hlY2sgcGFzc3Rocm91Z2ggbW9kZSBhbmQgY2FwcyB0cmFuc2Zvcm0gaW4gYm90aCBkaXJlY3Rpb25zIHdpdGggZml4ZWQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9jcm9wLmM6IChoYW5kb2ZmX2NiKSwKCSAgKGJ1ZmZlcl9wcm9iZV9jYiksICh0ZXN0X2NhcHNfdHJhbnNmb3JtKSwgKHRlc3RfcGFzc3Rocm91Z2gpLAoJICAobm90Z3N0X3ZhbHVlX2xpc3RfZ2V0X250aF9pbnQpLCAodmlkZW9jcm9wX3N1aXRlKToKCSAgTW9yZSB0ZXN0czogY2hlY2sgcGFzc3Rocm91Z2ggbW9kZSBhbmQgY2FwcyB0cmFuc2Zvcm0gaW4KCSAgYm90aCBkaXJlY3Rpb25zIHdpdGggZml4ZWQgdmFsdWVzLCByYW5nZXMgYW5kIGxpc3RzLgoKMjAwNi0wOS0wMiAxODo0OTowMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGRvY3MvcGx1Z2lucy86IEFkZCB2aWRlb2Nyb3AgdG8gZG9jcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJICBBZGQgdmlkZW9jcm9wIHRvIGRvY3MuCgkgICogZ3N0L3ZpZGVvY3JvcC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5jOgoJICAqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmg6CgkgIE1vdmUgYm9pbGVycGxhdGUgc3R1ZmYgYW5kIHN0cnVjdHVyZXMgaW50byBhIGhlYWRlciBmaWxlLgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5jdnNpZ25vcmU6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9jcm9wLmM6ICh2aWRlb19jcm9wX2dldF90ZXN0X2NhcHMpLAoJICAodGVzdF91bml0X3NpemVzKSwgKHZpZGVvY3JvcF90ZXN0X2Nyb3BwaW5nX2luaXRfY29udGV4dCksCgkgICh2aWRlb2Nyb3BfdGVzdF9jcm9wcGluZ19kZWluaXRfY29udGV4dCksCgkgICh2aWRlb2Nyb3BfdGVzdF9jcm9wcGluZyksICh0ZXN0X2Nyb3BwaW5nKSwgKHZpZGVvY3JvcF9zdWl0ZSk6CgkgIEFkZCB1bml0IHRlc3RzIGZvciB2aWRlb2Nyb3AuCgoyMDA2LTA5LTAyIDE1OjMwOjQ1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgUG9ydC9yZXdyaXRlIHZpZGVvY3JvcCBmcm9tIHNjcmF0Y2ggZm9yIEdTdHJlYW1lci0wLjEwLCBhbmQgbWFrZSBpdCBzdXBwb3J0IGFsbCBmb3JtYXRzIHZpZGVvc2NhbGUgc3VwcG9ydHMgKCMzNDU2NTMpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L3ZpZGVvY3JvcC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5jOiAoZ3N0X3ZpZGVvX2Nyb3BfYmFzZV9pbml0KSwKCSAgKGdzdF92aWRlb19jcm9wX2NsYXNzX2luaXQpLCAoZ3N0X3ZpZGVvX2Nyb3BfaW5pdCksCgkgIChnc3RfdmlkZW9fY3JvcF9nZXRfaW1hZ2VfZGV0YWlsc19mcm9tX2NhcHMpLAoJICAoZ3N0X3ZpZGVvX2Nyb3BfZ2V0X3VuaXRfc2l6ZSksIChnc3RfdmlkZW9fY3JvcF90cmFuc2Zvcm1fcGFja2VkKSwKCSAgKGdzdF92aWRlb19jcm9wX3RyYW5zZm9ybV9wbGFuYXIpLCAoZ3N0X3ZpZGVvX2Nyb3BfdHJhbnNmb3JtKSwKCSAgKGdzdF92aWRlb19jcm9wX3RyYW5zZm9ybV9kaW1lbnNpb24pLAoJICAoZ3N0X3ZpZGVvX2Nyb3BfdHJhbnNmb3JtX2RpbWVuc2lvbl92YWx1ZSksCgkgIChnc3RfdmlkZW9fY3JvcF90cmFuc2Zvcm1fY2FwcyksIChnc3RfdmlkZW9fY3JvcF9zZXRfY2FwcyksCgkgIChnc3RfdmlkZW9fY3JvcF9zZXRfcHJvcGVydHkpLCAoZ3N0X3ZpZGVvX2Nyb3BfZ2V0X3Byb3BlcnR5KSwKCSAgKHBsdWdpbl9pbml0KToKCSAgUG9ydC9yZXdyaXRlIHZpZGVvY3JvcCBmcm9tIHNjcmF0Y2ggZm9yIEdTdHJlYW1lci0wLjEwLCBhbmQgbWFrZQoJICBpdCBzdXBwb3J0IGFsbCBmb3JtYXRzIHZpZGVvc2NhbGUgc3VwcG9ydHMgKCMzNDU2NTMpLgoKMjAwNi0wOS0wMiAxNDo0NTowNCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgc3lzL3Y0bDIvOiBXaGl0ZXNwYWNlIGNsZWFudXBzLCBkYXNoaWZ5IHByb3BlcnR5LW5hbWVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyLmM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMmNvbG9yYmFsYW5jZS5jOgoJICAqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgKGdzdF92NGwyX29iamVjdF9pbnN0YWxsX3Byb3BlcnRpZXNfaGVscGVyKToKCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6IChnc3RfdjRsMnNyY19jbGFzc19pbml0KToKCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmg6CgkgIFdoaXRlc3BhY2UgY2xlYW51cHMsIGRhc2hpZnkgcHJvcGVydHktbmFtZXMuCgoyMDA2LTA5LTAyIDE0OjI4OjU1ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBzeXMvdjRsMi86IENsZWFudXAgZXJyb3IgbWVzc2FnZXMgYW5kIHVuaWZ5IGhlYWRlciBjb21tZW50cwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyLmM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMmNvbG9yYmFsYW5jZS5jOgoJICAqIHN5cy92NGwyL2dzdHY0bDJjb2xvcmJhbGFuY2UuaDoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmg6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnR1bmVyLmM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnR1bmVyLmg6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnhvdmVybGF5LmM6IChnc3RfdjRsMl94b3ZlcmxheV9vcGVuKToKCSAgKiBzeXMvdjRsMi9nc3R2NGwyeG92ZXJsYXkuaDoKCSAgKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6IChnc3RfdjRsMl9nZXRfY2FwYWJpbGl0aWVzKSwKCSAgKGdzdF92NGwyX29wZW4pOgoJICAqIHN5cy92NGwyL3Y0bDJfY2FsbHMuaDoKCSAgKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6IChnc3RfdjRsMnNyY19xdWV1ZV9mcmFtZSksCgkgIChnc3RfdjRsMnNyY19jYXB0dXJlX2luaXQpOgoJICAqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuaDoKCSAgQ2xlYW51cCBlcnJvciBtZXNzYWdlcyBhbmQgdW5pZnkgaGVhZGVyIGNvbW1lbnRzCgoyMDA2LTA4LTMwIDE4OjAxOjUyICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIEFub3RoZXIgc21hbGwgZml4IHRvIHNldF9jYXBzIGZ1bmN0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQW5vdGhlciBzbWFsbCBmaXggdG8gc2V0X2NhcHMgZnVuY3Rpb24uCgoyMDA2LTA4LTMwIDEzOjMwOjEzICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIFNlbmQgbmV3X3NlZ21lbnQgaW4gR1NUX0ZPUk1BVF9USU1FIGluc3RlYWQgb2YgaW4gR1NUX0ZPUk1BVF9CWVRFUy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFNlbmQgbmV3X3NlZ21lbnQgaW4gR1NUX0ZPUk1BVF9USU1FIGluc3RlYWQgb2YgaW4gR1NUX0ZPUk1BVF9CWVRFUy4KCjIwMDYtMDgtMzAgMTE6MzY6MDYgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgQSBzbWFsbCBmaXggdG8gc2V0X2NhcHMgZnVuY3Rpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBBIHNtYWxsIGZpeCB0byBzZXRfY2FwcyBmdW5jdGlvbi4KCjIwMDYtMDgtMzAgMTE6Mjc6NDAgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IFJlc2V0IGVhY2ggc3RyZWFtcyBsYXN0X2Zsb3cgdG8gR1NUX0ZMT1dfT0suCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgKGdzdF9xdGRlbXV4X2RvX3NlZWspOgoJICBSZXNldCBlYWNoIHN0cmVhbXMgbGFzdF9mbG93IHRvIEdTVF9GTE9XX09LLgoJICAoZ3N0X3F0ZGVtdXhfYWN0aXZhdGVfc2VnbWVudCk6CgkgIFJlbW92aW5nIG15c3RpYyBtb2RpZmljYXRpb25zIGZvciBnb29kLgoKMjAwNi0wOC0zMCAxMTowNzozNyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBwdXQgYmFjayAnc2VnbWVudCBzdGFydDw9c3RvcCcgY2hhbmdlIHRoYXQgd2FzIG15c3RpY2FsbHkgcmV2ZXJ0ZWQgYnkgdGhlIGxhc3QgY29tbWl0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2FjdGl2YXRlX3NlZ21lbnQpLAoJICAocXRkZW11eF9wYXJzZV90cmVlKToKCSAgcHV0IGJhY2sgJ3NlZ21lbnQgc3RhcnQ8PXN0b3AnIGNoYW5nZSB0aGF0IHdhcyBteXN0aWNhbGx5IHJldmVydGVkIGJ5CgkgIHRoZSBsYXN0IGNvbW1pdAoKMjAwNi0wOC0zMCAxMDo0Mzo1MyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBGaXggdGhlIGJ1aWxkIGZvciBkaXNhYmxlZCBkZWJ1ZwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9hY3RpdmF0ZV9zZWdtZW50KSwKCSAgKHF0ZGVtdXhfcGFyc2VfdHJlZSk6CgkgIEZpeCB0aGUgYnVpbGQgZm9yIGRpc2FibGVkIGRlYnVnCgoyMDA2LTA4LTI5IDIwOjU5OjQ3ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5oOgoJICBGaXhlZCBmcmFtZXJhdGUgbmVnb3RpYXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBGaXhlZCBmcmFtZXJhdGUgbmVnb3RpYXRpb24uCgoyMDA2LTA4LTI4IDE3OjQ3OjI5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBNYWtlIHN1cmUgc2VnbWVudCBzdGFydDw9c3RvcCBpbiB3ZWlyZCBxdWlja3RpbWUgZmlsZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2FjdGl2YXRlX3NlZ21lbnQpLAoJICAoZ3N0X3F0ZGVtdXhfYWRkX3N0cmVhbSksIChxdGRlbXV4X3BhcnNlX3RyYWspLAoJICAocXRkZW11eF92aWRlb19jYXBzKToKCSAgTWFrZSBzdXJlIHNlZ21lbnQgc3RhcnQ8PXN0b3AgaW4gd2VpcmQgcXVpY2t0aW1lIGZpbGVzLgoKMjAwNi0wOC0yOCAxNjo1OToxMyArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSAgZXh0L3JhdzEzOTQvZ3N0ZHYxMzk0c3JjLmMgKGdzdF9kdjEzOTRzcmNfZnJvbV9yYXcxMzk0aGFuZGxlKTogTmV3IGhlbHBlciBmdW5jdGlvbiB0byBsZXNzZW4gdGhlIGlmZGVmcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDgtMjggIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogZXh0L3JhdzEzOTQvZ3N0ZHYxMzk0c3JjLmMgKGdzdF9kdjEzOTRzcmNfZnJvbV9yYXcxMzk0aGFuZGxlKToKCSAgTmV3IGhlbHBlciBmdW5jdGlvbiB0byBsZXNzZW4gdGhlIGlmZGVmcy4KCSAgKEdTVF9JTkZPX09CSkVDVCk6CgkgIChnc3RfZHYxMzk0c3JjX2lzb19yZWNlaXZlKTogVXNlIGl0LgoJICAoZ3N0X2R2MTM5NHNyY19jcmVhdGUpOiBBbHNvIHVzZSB0aGUgY29udHJvbCBzb2NrZXRzIGluIGllYzYxODgzCgkgIG1vZGUuCgkgIChnc3RfZHYxMzk0c3JjX3N0YXJ0LCBnc3RfZHYxMzk0c3JjX3N0b3ApOiBBbHdheXMgdXNlIGEgc2VwYXJhdGUKCSAgaGFuZGxlIGZvciBBVkMgb3BlcmF0aW9uczsgZml4ZXMgIzM0ODIzMy4KCjIwMDYtMDgtMjggMTQ6NTk6MDUgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzogYWRkIGNvbW1lbnRzIGFuZCBtb3JlIGRlYnVnIGxvZ2dpbmcKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOiAoZ3N0X3Y0bDJfZmlsbF9saXN0cyk6CgkgIGFkZCBjb21tZW50cyBhbmQgbW9yZSBkZWJ1ZyBsb2dnaW5nCgoyMDA2LTA4LTI3IDE3OjE0OjA2ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBSZW5hbWUgYWdhaW4gKGF1ZGlvZnhnb29kIC0+IGF1ZGlvZngpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4Z29vZC54bWw6CgkgICogZ3N0L2F1ZGlvZngvTWFrZWZpbGUuYW06CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9meC5jOgoJICAqIGdzdC9hdWRpb2Z4Z29vZC8uY3ZzaWdub3JlOgoJICAqIGdzdC9hdWRpb2Z4Z29vZC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYXVkaW9meGdvb2QvYXVkaW9meC5jOgoJICAqIGdzdC9hdWRpb2Z4Z29vZC9hdWRpb3Bhbm9yYW1hLmM6CgkgICogZ3N0L2F1ZGlvZnhnb29kL2F1ZGlvcGFub3JhbWEuaDoKCSAgUmVuYW1lIGFnYWluIChhdWRpb2Z4Z29vZCAtPiBhdWRpb2Z4KS4KCjIwMDYtMDgtMjcgMTM6MTI6NTIgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogSW5pdGlhbHplIHZhcmlhYmxlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9uZXh0X2RhdGFfYnVmZmVyKSwKCSAgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX3NjYW4pOgoJICBJbml0aWFsemUgdmFyaWFibGVzLgoKMjAwNi0wOC0yNSAxNjoyMTozNyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguKjogTW9yZSBhdHRlbXB0cyB0byB0dXJuIHRoaXMgaW50byByZWFkYWJsZSBjb2RlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X2NsYXNzX2luaXQpLAoJICAoZ3N0X2F2aV9kZW11eF9pbml0KSwgKGdzdF9hdmlfZGVtdXhfZmluYWxpemUpLAoJICAoZ3N0X2F2aV9kZW11eF9yZXNldCksIChnc3RfYXZpX2RlbXV4X2luZGV4X2xhc3QpLAoJICAoZ3N0X2F2aV9kZW11eF9pbmRleF9uZXh0KSwgKGdzdF9hdmlfZGVtdXhfaW5kZXhfZW50cnlfZm9yX3RpbWUpLAoJICAoZ3N0X2F2aV9kZW11eF9wYXJzZV9zdWJpbmRleCksIChnc3RfYXZpX2RlbXV4X3BhcnNlX2luZGV4KSwKCSAgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2luZGV4KSwgKGdzdF9hdmlfZGVtdXhfcGVla190YWcpLAoJICAoZ3N0X2F2aV9kZW11eF9uZXh0X2RhdGFfYnVmZmVyKSwgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX3NjYW4pLAoJICAoZ3N0X2F2aV9kZW11eF9tYXNzYWdlX2luZGV4KSwKCSAgKGdzdF9hdmlfZGVtdXhfY2FsY3VsYXRlX2R1cmF0aW9uc19mcm9tX2luZGV4KSwKCSAgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2hlYWRlcl9wdWxsKSwgKGdzdF9hdmlfZGVtdXhfZG9fc2VlayksCgkgIChnc3RfYXZpX2RlbXV4X3Byb2Nlc3NfbmV4dF9lbnRyeSksIChnc3RfYXZpX2RlbXV4X2xvb3ApLAoJICAoZ3N0X2F2aV9kZW11eF9jaGFpbiksIChnc3RfYXZpX2RlbXV4X3NpbmtfYWN0aXZhdGUpLAoJICAoZ3N0X2F2aV9kZW11eF9jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguaDoKCSAgTW9yZSBhdHRlbXB0cyB0byB0dXJuIHRoaXMgaW50byByZWFkYWJsZSBjb2RlLgoJICBEb24ndCBsZWFrIGFkYXB0ZXJzLgoJICBDYWxjdWxhdGUgZHVyYXRpb24gYWNjb3JkaW5nIHRvIGluZGV4IG1vcmUgZWZmaWNpZW50bHkuCgkgIERvbid0IHRyeSB0byBhY3QgbGlrZSB3ZSBkcml2ZSB0aGUgcGlwZWxpbmUgaW4gY2hhaW4gbW9kZS4KCjIwMDYtMDgtMjUgMDk6NTM6MTggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvYW5ub2RleC9nc3RjbW1sdXRpbHMuYzogRml4IGJ1aWxkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYW5ub2RleC9nc3RjbW1sdXRpbHMuYzogKGdzdF9jbW1sX2Nsb2NrX3RpbWVfZnJvbV9ucHQpOgoJICBGaXggYnVpbGQuCgoyMDA2LTA4LTI1IDA5OjQyOjQzICswMDAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyb0BubnZhLm9yZz4KCgkgIGV4dC9hbm5vZGV4L2dzdGFubm9kZXguYzogRG8gc29tZSBleHRyYSBzYW5pdHkgY2hlY2tzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvIGF0IG5udmEgZG90IG9yZz4KCSAgKiBleHQvYW5ub2RleC9nc3Rhbm5vZGV4LmM6IChnc3RfYW5ub2RleF9ncmFudWxlX3RvX3RpbWUpOgoJICBEbyBzb21lIGV4dHJhIHNhbml0eSBjaGVja3MuCgkgIEZpeGVzICMzNTAzNDAuCgkgICogZXh0L2Fubm9kZXgvZ3N0Y21tbGVuYy5jOiAoZ3N0X2NtbWxfZW5jX2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfY21tbF9lbmNfcGFyc2VfdGFnX2hlYWQpLCAoZ3N0X2NtbWxfZW5jX3BhcnNlX3RhZ19jbGlwKSwKCSAgKGdzdF9jbW1sX2VuY19wdXNoX2NsaXApLCAoZ3N0X2NtbWxfZW5jX3B1c2gpOgoJICBDaGVjayBpZiBjbGlwLT5zdGFydF90aW1lIGlzIHZhbGlkIGJlZm9yZSBhZGRpbmcgdGhlIGNsaXAgdG8gdGhlCgkgIHRyYWNrIGxpc3QuCgkgIFJlc2V0IGVuYy0+cHJlYW1ibGUgZ29pbmcgZnJvbSBQQVVTRUQgdG8gUkVBRFkuCgkgIERvbid0IHVzZSBHU1RfRkxPV19VTkVYUEVDVEVEIGZvciB3cm9uZyB1c2FnZSBvZiB0aGUgZWxlbWVudCwgaXQgaXMKCSAgb25seSB1c2VkIGZvciBFT1MuCgkgIE9ubHkgcG9zdCBhbiBlcnJvciBtZXNzYWdlIGlmIHdlIHdlcmUgdGhlIG9uZSB0aGF0IGNyZWF0ZWQgdGhlIGZhdGFsCgkgIEdzdEZsb3dSZXR1cm4gdmFsdWUuCgkgICogZXh0L2Fubm9kZXgvZ3N0Y21tbHV0aWxzLmM6IChnc3RfY21tbF9jbG9ja190aW1lX2Zyb21fbnB0KSwKCSAgKGdzdF9jbW1sX2Nsb2NrX3RpbWVfdG9fZ3JhbnVsZSksIChnc3RfY21tbF90cmFja19saXN0X2hhc19jbGlwKToKCSAgUGFyc2UgdGhlIHNlY29uZHMgZmllbGQgb2YgdGhlIG5wdC1zZWMgdGltZSBmb3JtYXQgdXNpbmcgJWxsdSByYXRoZXIgdGhhbgoJICAlZCBhbmQgY2hlY2sgdGhhdCB0aGUgdmFsdWUgc2NhbGVkIGJ5IEdTVF9TRUNPTkQgZG9lc24ndCBvdmVyZmxvdy4KCSAgVXNlIGd1aW50NjQocykgdG8gcmVwcmVzZW50IHRoZSBrZXlpbmRleCBhbmQga2V5b2Zmc2V0IGZpZWxkcyBvZiBhIGdyYW51bGVwb3MuCgkgIExvb2t1cCBhIGNsaXAncyB0cmFjayB3aXRoIGNsaXAtPnRyYWNrIHJhdGhlciB0aGFuIGNsaXAtPmlkIHdoaWNoCgkgIG1ha2VzIG5vIHNlbnNlLgoJICBJZGVudGlmeSBhIGNsaXAgYnkgaXRzIHRyYWNrIGFuZCBzdGFydCB0aW1lIGFuZCBub3QgaXRzIHhtbCBpZC4KCSAgZG8gc29tZSBtb3JlIGlucHV0IGNoZWNraW5nIGFuZCBtYWtlIHN1cmUgd2UgZG9uJ3QgZG8gdW5kZWZpbmVkIHNoaWZ0cy4KCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jbW1sZGVjLmM6IChzZXR1cF9jbW1sZGVjKSwKCSAgKHRlYXJkb3duX2NtbWxkZWMpLCAoY2hlY2tfb3V0cHV0X2J1ZmZlcl9pc19lcXVhbCksIChwdXNoX2RhdGEpLAoJICAoY21tbF90YWdfbWVzc2FnZV9wb3ApLCAoY2hlY2tfaGVhZGVycyksIChwdXNoX2NsaXBfZnVsbCksCgkgIChwdXNoX2NsaXApLCAocHVzaF9lbXB0eV9jbGlwKSwgKGNoZWNrX291dHB1dF9jbGlwKSwKCSAgKEdTVF9TVEFSVF9URVNUKSwgKGNtbWxkZWNfc3VpdGUpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NtbWxlbmMuYzogKHNldHVwX2NtbWxlbmMpLAoJICAodGVhcmRvd25fY21tbGVuYyksIChjaGVja19vdXRwdXRfYnVmZmVyX2lzX2VxdWFsKSwgKHB1c2hfZGF0YSksCgkgIChjaGVja19oZWFkZXJzKSwgKHB1c2hfY2xpcCksIChjaGVja19jbGlwX3RpbWVzKSwgKGNoZWNrX2NsaXApLAoJICAoY2hlY2tfZW1wdHlfY2xpcCksIChHU1RfU1RBUlRfVEVTVCksIChjbW1sZW5jX3N1aXRlKToKCSAgQWRkZWQgc29tZSBtb3JlIGNoZWNrcy4KCjIwMDYtMDgtMjQgMTk6MDA6MjIgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIE1ha2UgYWxzbyB0aGUgcGFuLXByb3BlcnR5IGZsb2F0IChzYXZlcyBzY2FsaW5nIGFuZCB5aWVsZHMgYmV0dGVyIHJlc29sdXRpb24pCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdWRpb2Z4Z29vZC9hdWRpb3Bhbm9yYW1hLmM6IChnc3RfYXVkaW9fcGFub3JhbWFfY2xhc3NfaW5pdCksCgkgIChnc3RfYXVkaW9fcGFub3JhbWFfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9hdWRpb19wYW5vcmFtYV9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X2F1ZGlvX3Bhbm9yYW1hX3RyYW5zZm9ybV9tMnNfaW50KSwKCSAgKGdzdF9hdWRpb19wYW5vcmFtYV90cmFuc2Zvcm1fczJzX2ludCksCgkgIChnc3RfYXVkaW9fcGFub3JhbWFfdHJhbnNmb3JtX20yc19mbG9hdCksCgkgIChnc3RfYXVkaW9fcGFub3JhbWFfdHJhbnNmb3JtX3Myc19mbG9hdCk6CgkgICogZ3N0L2F1ZGlvZnhnb29kL2F1ZGlvcGFub3JhbWEuaDoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3Bhbm9yYW1hLmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgIE1ha2UgYWxzbyB0aGUgcGFuLXByb3BlcnR5IGZsb2F0IChzYXZlcyBzY2FsaW5nIGFuZCB5aWVsZHMgYmV0dGVyCgkgIHJlc29sdXRpb24pCgoyMDA2LTA4LTI0IDE4OjIzOjE0ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvYXVkaW9meGdvb2QvYXVkaW9wYW5vcmFtYS5jOiBDaGFuZ2VMb2cgc3VyZ2VyeSB0byBhZGQgY3ltYXgncyByZWFsIG5hbWUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1ZGlvZnhnb29kL2F1ZGlvcGFub3JhbWEuYzogKGdzdF9hdWRpb19wYW5vcmFtYV9zZXRfY2FwcyksCgkgIChnc3RfYXVkaW9fcGFub3JhbWFfdHJhbnNmb3JtX20yc19mbG9hdCksCgkgIChnc3RfYXVkaW9fcGFub3JhbWFfdHJhbnNmb3JtX3Myc19mbG9hdCk6CgkgIENoYW5nZUxvZyBzdXJnZXJ5IHRvIGFkZCBjeW1heCdzIHJlYWwgbmFtZQoKMjAwNi0wOC0yNCAxODoxNzoyMCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2F1ZGlvZnhnb29kL2F1ZGlvcGFub3JhbWEuKjogQWRkZWQgZmxvYXQgc3VwcG9ydCAodGhhbmtzIGN5bWF4KQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXVkaW9meGdvb2QvYXVkaW9wYW5vcmFtYS5jOiAoZ3N0X2F1ZGlvX3Bhbm9yYW1hX3NldF9jYXBzKSwKCSAgKGdzdF9hdWRpb19wYW5vcmFtYV90cmFuc2Zvcm1fbTJzX2ludCksCgkgIChnc3RfYXVkaW9fcGFub3JhbWFfdHJhbnNmb3JtX3Myc19pbnQpLAoJICAoZ3N0X2F1ZGlvX3Bhbm9yYW1hX3RyYW5zZm9ybV9tMnNfZmxvYXQpLAoJICAoZ3N0X2F1ZGlvX3Bhbm9yYW1hX3RyYW5zZm9ybV9zMnNfZmxvYXQpLAoJICAoZ3N0X2F1ZGlvX3Bhbm9yYW1hX3RyYW5zZm9ybSk6CgkgICogZ3N0L2F1ZGlvZnhnb29kL2F1ZGlvcGFub3JhbWEuaDoKCSAgQWRkZWQgZmxvYXQgc3VwcG9ydCAodGhhbmtzIGN5bWF4KQoKMjAwNi0wOC0yNCAxNDoxNjo1NSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2F1ZGlvZnhnb29kL2F1ZGlvcGFub3JhbWEuYzogRml4IGRvY3MgJiBkZWJ1ZyBjYXRlZ29yeS4gQWRkIEZpeG1lIGZvciB2b2x1bWUgcGFuIGxldmVscy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1ZGlvZnhnb29kL2F1ZGlvcGFub3JhbWEuYzoKCSAgKGdzdF9hdWRpb19wYW5vcmFtYV90cmFuc2Zvcm1fbTJzKToKCSAgRml4IGRvY3MgJiBkZWJ1ZyBjYXRlZ29yeS4gQWRkIEZpeG1lIGZvciB2b2x1bWUgcGFuIGxldmVscy4KCjIwMDYtMDgtMjQgMTM6NTE6MTUgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogdW5icmVhayBBVkkgaW5kZXggaGFuZGxpbmcsIHNvbWUgbW9yZSBkZWJ1ZywgcmVtb3ZlIGFuIG9ic29sZXRlIGFkYXB0ZXJfZmx1c2ggdGhhdCBjYXVzZWQgc3RyZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X3JlYWRfc3ViaW5kZXhlc19wdWxsKSwKCSAgKGdzdF9hdmlfZGVtdXhfc3luYyksIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9oZWFkZXJfcHVzaCksCgkgIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9oZWFkZXJfcHVsbCksCgkgIChnc3RfYXZpX2RlbXV4X3Byb2Nlc3NfbmV4dF9lbnRyeSksIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9kYXRhKSwKCSAgKGdzdF9hdmlfZGVtdXhfY2hhaW4pOgoJICB1bmJyZWFrIEFWSSBpbmRleCBoYW5kbGluZywgc29tZSBtb3JlIGRlYnVnLCByZW1vdmUgYW4gb2Jzb2xldGUKCSAgYWRhcHRlcl9mbHVzaCB0aGF0IGNhdXNlZCBzdHJlYW1pbmcgdG8gd2FuZGVyIG9mZiBpbiB0aGUgd2lsZAoKMjAwNi0wOC0yNCAxMToyMTowNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguKjogU29tZSBtb3JlIGNsZWFudXBzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X2hhbmRsZV9zcmNfcXVlcnkpLAoJICAoZ3N0X2F2aV9kZW11eF9wYXJzZV9zdXBlcmluZGV4KSwgKGdzdF9hdmlfZGVtdXhfcGFyc2Vfc3ViaW5kZXgpLAoJICAoZ3N0X2F2aV9kZW11eF9wYXJzZV9zdHJlYW0pLCAoZ3N0X2F2aV9kZW11eF9wYXJzZV9vZG1sKSwKCSAgKGdzdF9hdmlfZGVtdXhfcGFyc2VfaW5kZXgpLCAoZ3N0X2F2aV9kZW11eF9zdHJlYW1faW5kZXgpLAoJICAoZ3N0X2F2aV9kZW11eF9jYWxjdWxhdGVfZHVyYXRpb25zX2Zyb21faW5kZXgpLAoJICAoZ3N0X2F2aV9kZW11eF9zdHJlYW1faGVhZGVyX3B1c2gpLAoJICAoZ3N0X2F2aV9kZW11eF9zdHJlYW1faGVhZGVyX3B1bGwpOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguaDoKCSAgU29tZSBtb3JlIGNsZWFudXBzLgoJICBGaXggdG90YWxGcmFtZXMgcGFyc2luZyBpbiBPRE1MLgoJICBEaXNhYmxlIHVzZSBvZiBpbmRleCBmb3IgbGVuZ3RoIGNhbGN1bGF0aW9uIGluIGNhc2Ugb2YgT0RNTCBhcyB0aGlzIGlzCgkgIGJyb2tlbiBub3cuCgoyMDA2LTA4LTI0IDEwOjAzOjAzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOiBVc2UgbGliZ3N0dGFnIGhlbHBlciBmdW5jdGlvbiBoZXJlIHRvby4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOiAoZ3N0X2ZsYWNfZGVjX3VwZGF0ZV9tZXRhZGF0YSk6CgkgIFVzZSBsaWJnc3R0YWcgaGVscGVyIGZ1bmN0aW9uIGhlcmUgdG9vLgoKMjAwNi0wOC0yNCAwOToyNDoxMSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOiBQb3N0IGF1ZGlvIGNvZGVjIGFuZCBhdmVyYWdlIGJpdHJhdGUgdGFncyBvbiBidXMgKCMzNDQ0NzIpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vIGF0IGNpcmN1bGFyLWNoYW9zLm9yZz4KCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IChnc3Rfd2F2cGFja19kZWNfcG9zdF90YWdzKSwKCSAgKGdzdF93YXZwYWNrX2RlY19jaGFpbik6CgkgIFBvc3QgYXVkaW8gY29kZWMgYW5kIGF2ZXJhZ2UgYml0cmF0ZSB0YWdzIG9uIGJ1cyAoIzM0NDQ3MikuCgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IChnc3Rfd2F2cGFja19wYXJzZV9iYXNlX2luaXQpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2Vfc3JjX3F1ZXJ5KToKCSAgRm9yd2FyZCBxdWVyaWVzIGluIG90aGVyIGZvcm1hdHMgKEJZVEUgZm9ybWF0IGluIHBhcnRpY3VsYXIpCgkgIHVwc3RyZWFtOyBhZGQgU2ViYXN0aWFuIHRvIGF1dGhvcnMuCgoyMDA2LTA4LTI0IDAwOjQwOjA3ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5oOgoJICBGaXggc2V0X2NhcHMgdG8gc2V0IHdpZHRoIGFuZCBoZWlnaHQgdG8gdGhlIHZhbHVlcyB0aGUgZHJpdmVyIGlzIHJlYWxseSB3b3JraW5nIHdpdGguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBGaXggc2V0X2NhcHMgdG8gc2V0IHdpZHRoIGFuZCBoZWlnaHQgdG8gdGhlIHZhbHVlcyB0aGUgZHJpdmVyIGlzIHJlYWxseSB3b3JraW5nIHdpdGguCgoyMDA2LTA4LTIzIDE1OjMzOjQ3ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4Lio6IEluaXRpYWwgc3RyZWFtaW5nIHN1cHBvcnQgZm9yIGF2aWRlbXV4IChmaXhlcyAjMzM2NDY1KQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X2NsYXNzX2luaXQpLAoJICAoZ3N0X2F2aV9kZW11eF9pbml0KSwgKGdzdF9hdmlfZGVtdXhfZGlzcG9zZSksCgkgIChnc3RfYXZpX2RlbXV4X3Jlc2V0KSwgKGdzdF9hdmlfZGVtdXhfaW5kZXhfbmV4dCksCgkgIChnc3RfYXZpX2RlbXV4X2luZGV4X2VudHJ5X2Zvcl90aW1lKSwgKGdzdF9hdmlfZGVtdXhfc3JjX2NvbnZlcnQpLAoJICAoZ3N0X2F2aV9kZW11eF9oYW5kbGVfc3JjX3F1ZXJ5KSwgKGdzdF9hdmlfZGVtdXhfaGFuZGxlX3NyY19ldmVudCksCgkgIChnc3RfYXZpX2RlbXV4X3BlZWtfY2h1bmtfaW5mbyksIChnc3RfYXZpX2RlbXV4X3BlZWtfY2h1bmspLAoJICAoZ3N0X2F2aV9kZW11eF9zdHJlYW1faW5pdF9wdXNoKSwgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2luaXRfcHVsbCksCgkgIChnc3RfYXZpX2RlbXV4X3BhcnNlX3N1YmluZGV4KSwKCSAgKGdzdF9hdmlfZGVtdXhfcmVhZF9zdWJpbmRleGVzX3B1c2gpLAoJICAoZ3N0X2F2aV9kZW11eF9yZWFkX3N1YmluZGV4ZXNfcHVsbCksIChnc3RfYXZpX2RlbXV4X3BhcnNlX3N0cmVhbSksCgkgIChzb3J0KSwgKGdzdF9hdmlfZGVtdXhfcGFyc2VfaW5kZXgpLCAoZ3N0X2F2aV9kZW11eF9zdHJlYW1faW5kZXgpLAoJICAoZ3N0X2F2aV9kZW11eF9zeW5jKSwgKGdzdF9hdmlfZGVtdXhfcGVla190YWcpLAoJICAoZ3N0X2F2aV9kZW11eF9tYXNzYWdlX2luZGV4KSwgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2hlYWRlcl9wdXNoKSwKCSAgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2hlYWRlcl9wdWxsKSwKCSAgKGdzdF9hdmlfZGVtdXhfcHJvY2Vzc19uZXh0X2VudHJ5KSwgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2RhdGEpLAoJICAocHVzaF90YWdfbGlzdHMpLCAoZ3N0X2F2aV9kZW11eF9sb29wKSwgKGdzdF9hdmlfZGVtdXhfY2hhaW4pLAoJICAoZ3N0X2F2aV9kZW11eF9zaW5rX2FjdGl2YXRlKSwgKGdzdF9hdmlfZGVtdXhfYWN0aXZhdGVfcHVzaCksCgkgIChnc3RfYXZpX2RlbXV4X2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5oOgoJICBJbml0aWFsIHN0cmVhbWluZyBzdXBwb3J0IGZvciBhdmlkZW11eCAoZml4ZXMgIzMzNjQ2NSkKCjIwMDYtMDgtMjMgMTA6MzA6MzEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6IEZpeCBtZW0gbGVhaywgc2VuZCBuZXdzZWdtZW50IGV2ZW50IG9uIGNvcnJlY3Rpb24gcGFkIGFzIHdlbGwgKCMzNTI0NzYpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6IChnc3Rfd2F2cGFja19lbmNfcHVzaF9ibG9jayk6CgkgIEZpeCBtZW0gbGVhaywgc2VuZCBuZXdzZWdtZW50IGV2ZW50IG9uIGNvcnJlY3Rpb24gcGFkCgkgIGFzIHdlbGwgKCMzNTI0NzYpLgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOiAoZ3N0X3dhdnBhY2tfcGFyc2VfYmFzZV9pbml0KToKCSAgUmVzdG9yZSBvcmlnaW5hbCBhdXRob3IgKG9uIFNlYmFzdGlhbidzIHJlcXVlc3QpLgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2dzdC1wbHVnaW5zLWJhZC5zdXBwOgoJICBBZGQgKHNvIGZhciBlbXB0eSkgc3VwcHJlc3Npb24gZmlsZSBmb3IgLWJhZC4gUmVtb3ZlCgkgIHdhdnBhY2tlbmMgdGVzdCBmcm9tIFZBTEdSSU5EX1RPX0ZJWCBub3cgdGhhdCB0aGUgbGVhawoJICBpcyBmaXhlZC4KCjIwMDYtMDgtMjMgMDk6MjI6MDcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIHRlc3RzL2NoZWNrLzogQWRkIHVuaXQgdGVzdHMgZm9yIHdhdnBhY2sgZWxlbWVudHMgKCMzNTI0NzYpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vIGF0IGNpcmN1bGFyLWNoYW9zLm9yZz4KCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uY3ZzaWdub3JlOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3dhdnBhY2tkZWMuYzogKHNldHVwX3dhdnBhY2tkZWMpLAoJICAoY2xlYW51cF93YXZwYWNrZGVjKSwgKEdTVF9TVEFSVF9URVNUKSwgKHdhdnBhY2tkZWNfc3VpdGUpLCAobWFpbik6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvd2F2cGFja2VuYy5jOiAoc2V0dXBfd2F2cGFja2VuYyksCgkgIChjbGVhbnVwX3dhdnBhY2tlbmMpLCAoR1NUX1NUQVJUX1RFU1QpLCAod2F2cGFja2VuY19zdWl0ZSksIChtYWluKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy93YXZwYWNrcGFyc2UuYzogKHdhdnBhY2twYXJzZV9mb3VuZF9wYWQpLAoJICAoc2V0dXBfd2F2cGFja3BhcnNlKSwgKGNsZWFudXBfd2F2cGFja3BhcnNlKSwgKEdTVF9TVEFSVF9URVNUKSwKCSAgKHdhdnBhY2twYXJzZV9zdWl0ZSksIChtYWluKToKCSAgQWRkIHVuaXQgdGVzdHMgZm9yIHdhdnBhY2sgZWxlbWVudHMgKCMzNTI0NzYpLgoKMjAwNi0wOC0yMyAwODo1Mjo1MCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgQWRkIGRvY3MgZm9yIHdhdnBhY2sgZWxlbWVudHMgKCMzNTI0NzYpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vIGF0IGNpcmN1bGFyLWNoYW9zLm9yZz4KCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmg6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuaDoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuaDoKCSAgQWRkIGRvY3MgZm9yIHdhdnBhY2sgZWxlbWVudHMgKCMzNTI0NzYpLgoKMjAwNi0wOC0yMiAyMDozOToyNiArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkgIEZpeGVkIHF1ZXJ5IHNpemUgdG8gd29yayB3aXRoIGRyaXZlcnMgdGhhdCB1c2VzIGludGVybWVkaWF0ZSBzdGVwIGxpa2UgIndpZHRoICogaGVpZ2h0IiB0byBmaW5kIGNsb3Nlc3Qgc2l6ZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEZpeGVkIHF1ZXJ5IHNpemUgdG8gd29yayB3aXRoIGRyaXZlcnMgdGhhdCB1c2VzIGludGVybWVkaWF0ZSBzdGVwIGxpa2UgIndpZHRoICogaGVpZ2h0IiB0byBmaW5kIGNsb3Nlc3Qgc2l6ZS4KCjIwMDYtMDgtMjIgMTc6MjA6NDEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDogVGhlcmUgaXMgbm8gdGFnbGlibXV4IGVsZW1lbnQgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICBUaGVyZSBpcyBubyB0YWdsaWJtdXggZWxlbWVudCAuLi4KCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIFVzZSAnJScgcmF0aGVyIHRoYW4gJyZwZXJjOycgaW4gZ3RrLWRvYyBibHVyYiwgZG9jcyBidWlsZAoJICB3YXMgY29tcGxhaW5pbmcgYWJvdXQgdW5rbm93biBlbnRpdHkgaGVyZS4KCjIwMDYtMDgtMjIgMTc6MDI6MzkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4Lio6IE1hcmsgRElTQ09OVC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9wYXJzZV9zdHJlYW0pLAoJICAoZ3N0X2F2aV9kZW11eF9kb19zZWVrKSwgKGdzdF9hdmlfZGVtdXhfaGFuZGxlX3NlZWspLAoJICAoZ3N0X2F2aV9kZW11eF9wcm9jZXNzX25leHRfZW50cnkpOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguaDoKCSAgTWFyayBESVNDT05ULgoJICBSZW1vdmUgb2xkIHVudXNlZCBmaWVsZHMgYW5kIHJlb3JkZXIgdGhlIHN0cnVjdCBhIGJpdC4KCjIwMDYtMDgtMjIgMTY6NDU6MzcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBTbWFsbCBkb2N1bWVudGF0aW9uIHVwZGF0ZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX21lZGlhX3RvX2NhcHMpLAoJICAoZ3N0X3J0c3BzcmNfc2VuZCksIChnc3RfcnRzcHNyY19jbG9zZSksIChnc3RfcnRzcHNyY19wbGF5KSwKCSAgKGdzdF9ydHNwc3JjX3BhdXNlKToKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgICogc3lzL29zcy9nc3Rvc3NzaW5rLmM6IChnc3Rfb3NzX3Npbmtfb3BlbiksCgkgIChnc3Rfb3NzX3NpbmtfcHJlcGFyZSksIChnc3Rfb3NzX3NpbmtfdW5wcmVwYXJlKToKCSAgU21hbGwgZG9jdW1lbnRhdGlvbiB1cGRhdGVzLgoKMjAwNi0wOC0yMiAxNjo0MjoyMiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguKjogUHJlY2FsYyBtb3N0IG9mIHRoZSBkdXJhdGlvbiBxdWVyeSBmb3IgZWFjaCBzdHJlYW0uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfcmVzZXQpLAoJICAoZ3N0X2F2aV9kZW11eF9pbmRleF9lbnRyeV9mb3JfdGltZSksCgkgIChnc3RfYXZpX2RlbXV4X2hhbmRsZV9zcmNfcXVlcnkpLCAoZ3N0X2F2aV9kZW11eF9oYW5kbGVfc3JjX2V2ZW50KSwKCSAgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2luaXQpLCAoZ3N0X2F2aV9kZW11eF9wYXJzZV9zdHJlYW0pLAoJICAoZ3N0X2F2aV9kZW11eF9zdHJlYW1faW5kZXgpLCAoZ3N0X2F2aV9kZW11eF9wZWVrX3RhZyksCgkgIChnc3RfYXZpX2RlbXV4X25leHRfZGF0YV9idWZmZXIpLAoJICAoZ3N0X2F2aV9kZW11eF9jYWxjdWxhdGVfZHVyYXRpb25zX2Zyb21faW5kZXgpLAoJICAoZ3N0X2F2aV9kZW11eF9zdHJlYW1faGVhZGVyKSwgKGdzdF9hdmlfZGVtdXhfZG9fc2VlayksCgkgIChnc3RfYXZpX2RlbXV4X2hhbmRsZV9zZWVrKSwgKGdzdF9hdmlfZGVtdXhfYWdncmVnYXRlZF9mbG93KSwKCSAgKGdzdF9hdmlfZGVtdXhfcHJvY2Vzc19uZXh0X2VudHJ5KSwgKGdzdF9hdmlfZGVtdXhfbG9vcCksCgkgIChnc3RfYXZpX2RlbXV4X3NpbmtfYWN0aXZhdGVfcHVsbCksIChnc3RfYXZpX2RlbXV4X2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5oOgoJICBQcmVjYWxjIG1vc3Qgb2YgdGhlIGR1cmF0aW9uIHF1ZXJ5IGZvciBlYWNoIHN0cmVhbS4KCSAgTWFrZSBzZWVraW5nIG1vcmUgY29ycmVjdC4KCSAgVXNlIEdzdFNlZ21lbnQgdG8gdHJhY2sgcG9zaXRpb24gYW5kIGR1cmF0aW9uLgoJICBDb2RlIGNsZWFudXBzIGFuZCBsZWFrIGZpeGVzLgoJICBDYWxjdWxhdGUgY29ycmVjdCB0b3RhbCBkdXJhdGlvbiBiYXNlZCBvbiBpbmRleCBsZW5ndGguCgoyMDA2LTA4LTIyIDEzOjUzOjM0ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC9pZDNkZW11eC9pZDN2MmZyYW1lcy5jOiBJZiBzdHJpbmdzIGluIHRleHQgZmllbGRzIGFyZSBtYXJrZWQgSVNPODg1OS0xLCBidXQgY29udGFpbiB2YWxpZCBVVEYtOCBhbHJlYWR5LCB0aGVuIGhhbi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaWQzZGVtdXgvaWQzdjJmcmFtZXMuYzogKHBhcnNlX3RleHRfaWRlbnRpZmljYXRpb25fZnJhbWUpLAoJICAocGFyc2VfaW5zZXJ0X3N0cmluZ19maWVsZCk6CgkgIElmIHN0cmluZ3MgaW4gdGV4dCBmaWVsZHMgYXJlIG1hcmtlZCBJU084ODU5LTEsIGJ1dCBjb250YWluCgkgIHZhbGlkIFVURi04IGFscmVhZHksIHRoZW4gaGFuZGxlIHRoZW0gYXMgVVRGLTggYW5kIGlnbm9yZQoJICB0aGUgZW5jb2RpbmcuICgjMzUxNzk0KQoKMjAwNi0wOC0yMiAxMjoyODoyNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9mbGFjL2dzdGZsYWNkZWMuKjogTWFrZSBmbGFjLWluLW9nZyB3b3JrICgjMzUyMTAwKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOiAoZ3N0X2ZsYWNfZGVjX3NjYW5fZ290X2ZyYW1lKSwKCSAgKGdzdF9mbGFjX2RlY193cml0ZSksIChnc3RfZmxhY19kZWNfbG9vcCksCgkgIChnc3RfZmxhY19kZWNfc2lua19ldmVudCksIChnc3RfZmxhY19kZWNfY2hhaW4pLAoJICAoZ3N0X2ZsYWNfZGVjX3NyY19xdWVyeSk6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5oOgoJICBNYWtlIGZsYWMtaW4tb2dnIHdvcmsgKCMzNTIxMDApLgoKMjAwNi0wOC0yMiAxMjoxMDozMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9tb25vc2NvcGUvZ3N0bW9ub3Njb3BlLmM6IERvbid0IHVucmVmIGJ1ZmZlcnMgb2Ygd2hpY2ggd2UndmUgYWxyZWFkeSBnaXZlbiBhd2F5IG93bmVyc2hpcCB0byB0aGUgYWRhcHRlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21vbm9zY29wZS9nc3Rtb25vc2NvcGUuYzogKGdzdF9tb25vc2NvcGVfY2hhaW4pOgoJICBEb24ndCB1bnJlZiBidWZmZXJzIG9mIHdoaWNoIHdlJ3ZlIGFscmVhZHkgZ2l2ZW4gYXdheQoJICBvd25lcnNoaXAgdG8gdGhlIGFkYXB0ZXIuCgoyMDA2LTA4LTIyIDEwOjMyOjM0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6IE1ha2UgbWV0YWRhdGEgZXh0cmFjdGlvbiBhY3R1YWxseSB3b3JrLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzogKHNwZWV4X2RlY19jaGFpbl9wYXJzZV9jb21tZW50cyk6CgkgIE1ha2UgbWV0YWRhdGEgZXh0cmFjdGlvbiBhY3R1YWxseSB3b3JrLgoJICAqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOiAoZ3N0X3NwZWV4ZW5jX2Jhc2VfaW5pdCksCgkgIChnc3Rfc3BlZXhlbmNfaW5pdCksIChnc3Rfc3BlZXhlbmNfY3JlYXRlX21ldGFkYXRhX2J1ZmZlciksCgkgIChnc3Rfc3BlZXhlbmNfY2hhaW4pOgoJICBGaXggbWV0YWRhdGEgd3JpdGluZzogcmVwbGFjZSBvbGQgY29kZSB3aGljaCB3cm90ZSBjb21wbGV0ZWx5CgkgIGJyb2tlbiB0YWdzIHdpdGggbGliZ3N0dGFnLWJhc2VkIGNvZGUuIFBsdXMgbWlzY2VsbGFuZW91cwoJICBjb2RlIGNsZWFudXBzICh1c2Ugc3RhdGljIHBhZCB0ZW1wbGF0ZXMgZXRjLikgYW5kIGEgYnVuY2gKCSAgb2YgbGVhayBmaXhlcy4KCjIwMDYtMDgtMjEgMTk6MzQ6MDMgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9hdWRpb3Bhbm9yYW1hLzogZGllISBkaWUhIGRpZSEgeW91IHNob3VsZCBuZXZlciBoYXZlIGJlZW4gdGhlcmUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1ZGlvcGFub3JhbWEvLmN2c2lnbm9yZToKCSAgKiBnc3QvYXVkaW9wYW5vcmFtYS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYXVkaW9wYW5vcmFtYS9hdWRpb2Z4LmM6CgkgICogZ3N0L2F1ZGlvcGFub3JhbWEvYXVkaW9wYW5vcmFtYS5jOgoJICAqIGdzdC9hdWRpb3Bhbm9yYW1hL2F1ZGlvcGFub3JhbWEuaDoKCSAgZGllISBkaWUhIGRpZSEgeW91IHNob3VsZCBuZXZlciBoYXZlIGJlZW4gdGhlcmUKCjIwMDYtMDgtMjEgMTY6MjQ6MjggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IFNvbWUgbW9yZSBjb25zdGlmaWNhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfYWRkX3N0cmVhbSksIChxdGRlbXV4X3BhcnNlKSwKCSAgKHF0ZGVtdXhfbm9kZV9kdW1wX2ZvcmVhY2gpLCAocXRkZW11eF9wYXJzZV90cmFrKSwKCSAgKHF0ZGVtdXhfdmlkZW9fY2FwcyksIChxdGRlbXV4X2F1ZGlvX2NhcHMpOgoJICBTb21lIG1vcmUgY29uc3RpZmljYXRpb24uCgkgIEZpeCBzb21lIHBhbGV0dGVkIGRhdGEgZm9ybWF0cyBhZ2Fpbi4KCSAgRml4IHVsYXcvYWxhdyBpbiBxdC4KCSAgU2V0IGNvcnJlY3QgY2FwcyBmb3IgcmF3IFJHQi4KCSAgQWRkIHN1cHBvcnQgZm9yIHl1djIsIHdoaWNoIGlzIGxpa2UgWXV2Mi4KCSAgQWRkIHN1cHBvcnQgZm9yIHJhdyBhdWRpbyB3aXRoIHRoZSBOT05FIGZvdXJjYywgd2hpY2ggaXMgbGlrZSByYXcuCgoyMDA2LTA4LTIxIDEzOjU5OjUyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3dhdnBhY2svOiBNb3JlIGNsZWFuLXVwczogdXNlIHNob3J0ZXIgdmFyaWFibGUgbmFtZXMgdG8gbWFrZSBjb2RlIGVhc2llciB0byByZWFkOyBwcmVmaXggc3RydWN0dXJlcyB3ZSBkZWZpbmUgd2l0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzogKGdzdF93YXZwYWNrX2VuY19pbml0KSwKCSAgKGdzdF93YXZwYWNrX2VuY19maW5hbGl6ZSksIChnc3Rfd2F2cGFja19lbmNfc2lua19zZXRfY2FwcyksCgkgIChnc3Rfd2F2cGFja19lbmNfc2V0X3dwX2NvbmZpZyksIChnc3Rfd2F2cGFja19lbmNfZm9ybWF0X3NhbXBsZXMpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX3B1c2hfYmxvY2spLCAoZ3N0X3dhdnBhY2tfZW5jX2NoYWluKSwKCSAgKGdzdF93YXZwYWNrX2VuY19yZXdyaXRlX2ZpcnN0X2Jsb2NrKSwKCSAgKGdzdF93YXZwYWNrX2VuY19zaW5rX2V2ZW50KSwgKGdzdF93YXZwYWNrX2VuY19jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX3NldF9wcm9wZXJ0eSksIChnc3Rfd2F2cGFja19lbmNfZ2V0X3Byb3BlcnR5KToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmg6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IChnc3Rfd2F2cGFja19wYXJzZV9yZXNldCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9zcmNfcXVlcnkpLCAoZ3N0X3dhdnBhY2tfcGFyc2Vfc3JjX2V2ZW50KSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2luaXQpLCAoZ3N0X3dhdnBhY2tfcGFyc2VfZ2V0X3Vwc3RyZWFtX2xlbmd0aCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9sb29wKToKCSAgTW9yZSBjbGVhbi11cHM6IHVzZSBzaG9ydGVyIHZhcmlhYmxlIG5hbWVzIHRvIG1ha2UgY29kZSBlYXNpZXIgdG8KCSAgcmVhZDsgcHJlZml4IHN0cnVjdHVyZXMgd2UgZGVmaW5lIHdpdGggJ0dzdCcgdG8gbWFrZSBpdCBjbGVhcmVyCgkgIHdoZXJlIHRoZXkgY29tZSBmcm9tLgoKMjAwNi0wOC0yMSAxMzoyNjozNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzogRml4IGNhcHMgc2V0IG9uIGJ1ZmZlcnMgYW5kIHRlbXBsYXRlIGNhcHMgKG91dHB1dCBpcyBmcmFtZWQpIGFuZCBtYWtlIHRoZW0gbWF0Y2ggKCMzNTE2Ni4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6IChnc3Rfd2F2cGFja19lbmNfaW5pdCksCgkgIChnc3Rfd2F2cGFja19lbmNfc2V0X3dwX2NvbmZpZyksIChnc3Rfd2F2cGFja19lbmNfcHVzaF9ibG9jayksCgkgIChnc3Rfd2F2cGFja19lbmNfY2hhaW4pLCAoZ3N0X3dhdnBhY2tfZW5jX3Jld3JpdGVfZmlyc3RfYmxvY2spLAoJICAoZ3N0X3dhdnBhY2tfZW5jX3NpbmtfZXZlbnQpOgoJICBGaXggY2FwcyBzZXQgb24gYnVmZmVycyBhbmQgdGVtcGxhdGUgY2FwcyAob3V0cHV0IGlzIGZyYW1lZCkKCSAgYW5kIG1ha2UgdGhlbSBtYXRjaCAoIzM1MTY2Myk7IHVzZSBHU1RfV0FSTklOR19PQkpFQ1QgaW5zdGVhZCBvZgoJICBHU1RfRUxFTUVOVF9XQVJOSU5HOyBzaW1wbGlmeSBwdXNoX2Jsb2NrKCk7IGRvIHNvbWUgc21hbGwKCSAgY2xlYW4tdXBzIGhlcmUgYW5kIHRoZXJlOyBmaXggbWVtbGVhayAoIzM1MTY2MykuCgoyMDA2LTA4LTIxIDEzOjEyOjQ3ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvcGFub3JhbWEuYzogRml4IGludmFsaWQgbWVtb3J5IGFjY2VzcyBpbiBhdWRpb3Bhbm9yYW1hIHRlc3Qgc3VpdGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvcGFub3JhbWEuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgRml4IGludmFsaWQgbWVtb3J5IGFjY2VzcyBpbiBhdWRpb3Bhbm9yYW1hIHRlc3Qgc3VpdGUuCgoyMDA2LTA4LTIxIDExOjM0OjQxICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvLmN2c2lnbm9yZTogaWdub3JlIGJ1aWx0IGZpbGUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvLmN2c2lnbm9yZToKCSAgaWdub3JlIGJ1aWx0IGZpbGUKCjIwMDYtMDgtMjEgMTA6NDY6MjEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwL01ha2VmaWxlLmFtOiBGaXggdGhlIGJ1aWxkIGFnYWluLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJICBGaXggdGhlIGJ1aWxkIGFnYWluLgoKMjAwNi0wOC0yMSAwOToyMToyNyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2F1ZGlvZnhnb29kLzogcmVzdWJtaXQgd2l0aCB0aGUgZGVzaXJlZCBuYW1lICphZ2FpbioKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1ZGlvZnhnb29kLy5jdnNpZ25vcmU6CgkgICogZ3N0L2F1ZGlvZnhnb29kL01ha2VmaWxlLmFtOgoJICAqIGdzdC9hdWRpb2Z4Z29vZC9hdWRpb2Z4LmM6IChwbHVnaW5faW5pdCk6CgkgICogZ3N0L2F1ZGlvZnhnb29kL2F1ZGlvcGFub3JhbWEuYzogKGdzdF9hdWRpb19wYW5vcmFtYV9iYXNlX2luaXQpLAoJICAoZ3N0X2F1ZGlvX3Bhbm9yYW1hX2NsYXNzX2luaXQpLCAoZ3N0X2F1ZGlvX3Bhbm9yYW1hX2luaXQpLAoJICAoZ3N0X2F1ZGlvX3Bhbm9yYW1hX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfYXVkaW9fcGFub3JhbWFfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9hdWRpb19wYW5vcmFtYV9nZXRfdW5pdF9zaXplKSwKCSAgKGdzdF9hdWRpb19wYW5vcmFtYV90cmFuc2Zvcm1fY2FwcyksIChnc3RfYXVkaW9fcGFub3JhbWFfc2V0X2NhcHMpLAoJICAoZ3N0X2F1ZGlvX3Bhbm9yYW1hX3RyYW5zZm9ybV9tMnMpLAoJICAoZ3N0X2F1ZGlvX3Bhbm9yYW1hX3RyYW5zZm9ybV9zMnMpLCAoZ3N0X2F1ZGlvX3Bhbm9yYW1hX3RyYW5zZm9ybSk6CgkgICogZ3N0L2F1ZGlvZnhnb29kL2F1ZGlvcGFub3JhbWEuaDoKCSAgcmVzdWJtaXQgd2l0aCB0aGUgZGVzaXJlZCBuYW1lICphZ2FpbioKCjIwMDYtMDgtMjAgMTM6MDk6NTEgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIHVzZSBnX2Fzc2VydCBpbiBfZ2V0X3VuaXRfc2l6ZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZ2RrX3BpeGJ1Zi9waXhidWZzY2FsZS5jOiAoZ3N0X3BpeGJ1ZnNjYWxlX2dldF91bml0X3NpemUpOgoJICAqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOiAoZ3N0X3ZpZGVvX2JveF9nZXRfdW5pdF9zaXplKToKCSAgdXNlIGdfYXNzZXJ0IGluIF9nZXRfdW5pdF9zaXplCgoyMDA2LTA4LTIwIDEzOjA2OjQ0ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBkb2NzL3BsdWdpbnMvOiBjbGVhbnVwIC11bnVzZWQudHh0IHRvIG1ha2UgaXQgdXNlZnVsLCBhZGQgcHJldmlvdXNseSBtaXNzaW5nIGRvY3MKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZnhnb29kLnhtbDoKCSAgY2xlYW51cCAtdW51c2VkLnR4dCB0byBtYWtlIGl0IHVzZWZ1bCwgYWRkIHByZXZpb3VzbHkgbWlzc2luZyBkb2NzCgkgICogZXh0L01ha2VmaWxlLmFtOgoJICAqIGV4dC9lc2QvZXNkbW9uLmM6CgkgICogZXh0L2VzZC9lc2RzaW5rLmM6CgkgICogZXh0L2VzZC9nc3Rlc2QuYzogKHBsdWdpbl9pbml0KToKCSAgcmVmbG93IHRvIGdldCByaWQgb2YgdHdvIGV4dGVybmFsIHN5bWJvbHMKCSAgKiBnc3QvYXVkaW9meGdvb2QvYXVkaW9meC5jOiAocGx1Z2luX2luaXQpOgoJICByZS1hZGQKCjIwMDYtMDgtMjAgMTI6MDk6MTYgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9hdWRpb2Z4Z29vZC9hdWRpb2Z4LmMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9hdWRpb2Z4Z29vZC8uY3ZzaWdub3JlOgoJICAqIGdzdC9hdWRpb2Z4Z29vZC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYXVkaW9meGdvb2QvYXVkaW9meC5jCgkgICogZ3N0L2F1ZGlvZnhnb29kL2F1ZGlvcGFub3JhbWEuYzogKGdzdF9hdWRpb19wYW5vcmFtYV9iYXNlX2luaXQpLAoJICAoZ3N0X2F1ZGlvX3Bhbm9yYW1hX2NsYXNzX2luaXQpLCAoZ3N0X2F1ZGlvX3Bhbm9yYW1hX2luaXQpLAoJICAoZ3N0X2F1ZGlvX3Bhbm9yYW1hX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfYXVkaW9fcGFub3JhbWFfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9hdWRpb19wYW5vcmFtYV9nZXRfdW5pdF9zaXplKSwKCSAgKGdzdF9hdWRpb19wYW5vcmFtYV90cmFuc2Zvcm1fY2FwcyksIChnc3RfYXVkaW9fcGFub3JhbWFfc2V0X2NhcHMpLAoJICAoZ3N0X2F1ZGlvX3Bhbm9yYW1hX3RyYW5zZm9ybV9tMnMpLAoJICAoZ3N0X2F1ZGlvX3Bhbm9yYW1hX3RyYW5zZm9ybV9zMnMpLCAoZ3N0X2F1ZGlvX3Bhbm9yYW1hX3RyYW5zZm9ybSk6CgkgICogZ3N0L2F1ZGlvZnhnb29kL2F1ZGlvcGFub3JhbWEuaDoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3Bhbm9yYW1hLmM6IChzZXR1cF9wYW5vcmFtYV9tKSwKCSAgKHNldHVwX3Bhbm9yYW1hX3MpLCAoY2xlYW51cF9wYW5vcmFtYSksIChHU1RfU1RBUlRfVEVTVCksCgkgIChwYW5vcmFtYV9zdWl0ZSksIChtYWluKToKCSAgQWRkIGF1ZGlvZnhnb29kIHBsdWdpbiB3aXRoIGF1ZGlvcGFub3JhbWEgZWxlbWVudAoKMjAwNi0wOC0xOCAyMTozOTowMCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IEZpeCByZXN5bmNpbmcgaW4gcHVzaCBtb2RlIG5vdCBzdG9wcGluZyByZS1zeW5jaW5nIGF0IGVtYmVkZGVkIHplcm9lczsgc2tpcCBnYXJiYWdlIGJlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBCYXNlZCBvbiBwYXRjaCBieTogU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW8gYXQgY2lyY3VsYXItY2hhb3Mub3JnPgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOiAoZ3N0X3dhdnBhY2tfcGFyc2Vfc2lua19ldmVudCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9nZXRfdXBzdHJlYW1fbGVuZ3RoKSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2ZpbmRfbWFya2VyKSwgKGdzdF93YXZwYWNrX3BhcnNlX3Jlc3luY19sb29wKSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2xvb3ApLCAoZ3N0X3dhdnBhY2tfcGFyc2VfcmVzeW5jX2FkYXB0ZXIpOgoJICBGaXggcmVzeW5jaW5nIGluIHB1c2ggbW9kZSBub3Qgc3RvcHBpbmcgcmUtc3luY2luZyBhdCBlbWJlZGRlZAoJICB6ZXJvZXM7IHNraXAgZ2FyYmFnZSBiZXR3ZWVuIGZyYW1lcyBpbiBwdWxsIG1vZGUgYXMgd2VsbCBpZgoJICBuZWNlc3Nhcnk7IHVzZSBnc3RfcGFkX3F1ZXJ5X3BlZXJfZHVyYXRpb24oKTsgcHVzaCBFT1MgYW5kCgkgIE5FV1NFR01FTlQgZXZlbnQgaW4gcmlnaHQgZGlyZWN0aW9uICgjMzUxNjU5KS4KCjIwMDYtMDgtMTggMTc6MDA6NTMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06IE1vcmUgT3NzIGRvY3MgZml4YWdlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgIE1vcmUgT3NzIGRvY3MgZml4YWdlLgoKMjAwNi0wOC0xOCAxNjo1MjoyMSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvOiBBZGRlZCBleHBlcmltZW50YWwgU1ZRMyBkZXBheWxvYWRlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcnRwL2dzdHJ0cC5jOiAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwc3YzdmRlcGF5LmM6IChnc3RfcnRwX3N2M3ZfZGVwYXlfYmFzZV9pbml0KSwKCSAgKGdzdF9ydHBfc3Yzdl9kZXBheV9jbGFzc19pbml0KSwgKGdzdF9ydHBfc3Yzdl9kZXBheV9pbml0KSwKCSAgKGdzdF9ydHBfc3Yzdl9kZXBheV9maW5hbGl6ZSksIChnc3RfcnRwX3N2M3ZfZGVwYXlfc2V0Y2FwcyksCgkgIChnc3RfcnRwX3N2M3ZfZGVwYXlfcHJvY2VzcyksIChnc3RfcnRwX3N2M3ZfZGVwYXlfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9ydHBfc3Yzdl9kZXBheV9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3J0cF9zdjN2X2RlcGF5X2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfcnRwX3N2M3ZfZGVwYXlfcGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwc3YzdmRlcGF5Lmg6CgkgIEFkZGVkIGV4cGVyaW1lbnRhbCBTVlEzIGRlcGF5bG9hZGVyLgoKMjAwNi0wOC0xOCAxMzoyNTowNiArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGV4dC9kdi9nc3RkdmRlbXV4Lio6IFdoZW4gaGFuZGxpbmcgc2VlayByZXF1ZXN0cywgZG9uJ3Qgc2VuZCB0aGUgbmV3c2VnbWVudCBldmVudCBmcm9tIHRoZSBjYWxsaW5nIHRocmVhZC4gSW5zdGVhZCBzYS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZHYvZ3N0ZHZkZW11eC5jOiAoZ3N0X2R2ZGVtdXhfaGFuZGxlX3B1bGxfc2VlayksCgkgIChnc3RfZHZkZW11eF9sb29wKSwgKGdzdF9kdmRlbXV4X2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L2R2L2dzdGR2ZGVtdXguaDoKCSAgV2hlbiBoYW5kbGluZyBzZWVrIHJlcXVlc3RzLCBkb24ndCBzZW5kIHRoZSBuZXdzZWdtZW50IGV2ZW50IGZyb20gdGhlCgkgIGNhbGxpbmcgdGhyZWFkLiBJbnN0ZWFkIHNhdmUgaXQgc28gaXQgY2FuIGJlIHNlbnQgZnJvbSB0aGUgc3RyZWFtaW5nCgkgIHRocmVhZC4KCjIwMDYtMDgtMTcgMTU6NTE6NTAgKzAwMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZEBsdW9uLm5ldD4KCgkgIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzogQWNjZXB0IGxlYWRpbmcgd2hpdGVzcGFjZSBiZWZvcmUgdGhlIGJvdW5kYXJ5CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU2pvZXJkIFNpbW9ucyA8c2pvZXJkIGF0IGx1b24gZG90IG5ldD4KCSAgKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4LmM6IChtdWx0aXBhcnRfcGFyc2VfaGVhZGVyKToKCSAgQWNjZXB0IGxlYWRpbmcgd2hpdGVzcGFjZSBiZWZvcmUgdGhlIGJvdW5kYXJ5CgkgIFRoaXMgcGF0Y2ggbWFrZXMgdGhlIGRlbXV4ZXIgYWxsb3cgc29tZSB3aGl0ZXNwYWNlIGJlZm9yZSB0aGUgYWN0dWFsCgkgIGJvdW5kYXJ5LiBUaGlzIG1ha2VzIHRoZSBkZW11eGVyIHdvcmsgd2l0aCB0aGUgYGBvbGQnJyBnc3RyZWFtZXIKCSAgbXVsdGlwYXJ0bXV4ZXIgYWdhaW4gKHdoaWNoIHBsYWNlZCBhbiBleHRyYSBcbiBiZWZvcmUgdGhlIHN0YXJ0CgkgIG9mIHRoZSBzdHJlYW0pIEZpeGVzICMzNDkwNjguCgoyMDA2LTA4LTE3IDE1OjQ3OjI4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzogRXJyb3Igb3V0IG9uIG5vbi1pbXBsZW1lbnRlZCBzdHVmZi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzogKGdzdF9ydHBfaDI2NF9kZXBheV9wcm9jZXNzKToKCSAgRXJyb3Igb3V0IG9uIG5vbi1pbXBsZW1lbnRlZCBzdHVmZi4KCjIwMDYtMDgtMTYgMTY6NTA6MDAgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkgIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmM6IE1ha2UgbGFkc3BhIGVsZW1lbnRzIHJldXNhYmxlLiBGaXhlcyAjMzUwMDA2LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEFuZHkgV2luZ28gPHdpbmdvIGF0IHBvYm94IGRvdCBjb20+CgkgICogZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuYzogKGdzdF9zaWduYWxfcHJvY2Vzc29yX3NldHVwKSwKCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3N0YXJ0KSwgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3N0b3ApLAoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfY2xlYW51cCksIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9zZXRjYXBzKSwKCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3Blbl9idWZmZXIpLCAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfZmx1c2gpLAoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfZG9fcHVsbHMpLCAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfZG9fcHVzaGVzKSwKCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX2NoYW5nZV9zdGF0ZSk6CgkgIE1ha2UgbGFkc3BhIGVsZW1lbnRzIHJldXNhYmxlLiBGaXhlcyAjMzUwMDA2LgoKMjAwNi0wOC0xNiAxNTozMzoxMiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9sYWRzcGEvZ3N0bGFkc3BhLmM6IENvbnZlcnQgJyAnIGludG8gJ18nLiBUcnkgdG8ga2VlcCBhcyBtYW55IGNoYXJhY3RlcnMgaW4gdGhlIHBhZHRlbXBsYXRlIG5hbWVzIGFzIHBvc3NpYmxlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbGFkc3BhL2dzdGxhZHNwYS5jOiAoZ3N0X2xhZHNwYV9iYXNlX2luaXQpOgoJICBDb252ZXJ0ICcgJyBpbnRvICdfJy4gVHJ5IHRvIGtlZXAgYXMgbWFueSBjaGFyYWN0ZXJzIGluIHRoZSBwYWR0ZW1wbGF0ZQoJICBuYW1lcyBhcyBwb3NzaWJsZS4KCjIwMDYtMDgtMTYgMTQ6NDc6NTAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5jOiBBIHB1c2goKSBnaXZlcyBhd2F5IG91ciByZWZjb3VudCBzbyB3ZSBzaG91bGQgbm90IHVzZSB0aGUgYnVmZmVyIG9uIHRoZSBwZW4gYW55bW9yZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuYzogKGdzdF9zaWduYWxfcHJvY2Vzc29yX2ZsdXNoKSwKCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX2RvX3B1c2hlcyk6CgkgIEEgcHVzaCgpIGdpdmVzIGF3YXkgb3VyIHJlZmNvdW50IHNvIHdlIHNob3VsZCBub3QgdXNlIHRoZSBidWZmZXIgb24gdGhlCgkgIHBlbiBhbnltb3JlLgoKMjAwNi0wOC0xNiAxMzo0ODowMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHN5cy9vc3MvZ3N0b3NzbWl4ZXJlbGVtZW50LmM6IERvbid0IGxlYWsgZGV2aWNlIHN0cmluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL29zcy9nc3Rvc3NtaXhlcmVsZW1lbnQuYzogKGdzdF9vc3NfbWl4ZXJfZWxlbWVudF9jbGFzc19pbml0KSwKCSAgKGdzdF9vc3NfbWl4ZXJfZWxlbWVudF9maW5hbGl6ZSk6CgkgIERvbid0IGxlYWsgZGV2aWNlIHN0cmluZy4KCjIwMDYtMDgtMTYgMTM6MDE6MzIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBjb25maWd1cmUuYWM6IFJlcXVpcmUgQ1ZTIG9mIEdTdHJlYW1lciBjb3JlIGFuZCAtYmFzZSAoZm9yCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgUmVxdWlyZSBDVlMgb2YgR1N0cmVhbWVyIGNvcmUgYW5kIC1iYXNlIChmb3IKCSAgR1NUX1RBR19FWFRFTkRFRF9DT01NRU5UIGFuZCBnc3RfdGFnX3BhcnNlX2V4dGVuZGVkX2NvbW1lbnQoKSkuCgkgICogZXh0L3RhZ2xpYi9nc3RpZDN2Mm11eC5jYzoKCSAgV3JpdGUgZXh0ZW5kZWQgY29tbWVudCB0YWdzIHByb3Blcmx5ICgjMzQ4NzYyKS4KCSAgKiBnc3QvaWQzZGVtdXgvaWQzdjJmcmFtZXMuYzogKGlkM2RlbXV4X2lkM3YyX3BhcnNlX2ZyYW1lKSwKCSAgKHBhcnNlX2NvbW1lbnRfZnJhbWUpOgoJICBFeHRyYWN0IENPTU0gZnJhbWVzIGludG8gZXh0ZW5kZWQgY29tbWVudHMsIHdoaWNoIG1ha2VzIGl0CgkgIGVhc2llciB0byBwcm9wZXJseSByZXRhaW4gdGhlIGRlc2NyaXB0aW9uIGJpdCBvZiB0aGUgdGFnCgkgIGFuZCBtYWludGFpbiB0aGlzIGluZm9ybWF0aW9uIHdoZW4gcmUtdGFnZ2luZyAoIzM0ODc2MikuCgoyMDA2LTA4LTE2IDEyOjAyOjQ4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06IERvbid0IHRyeSB0byBydW4gYW5ub2RleCB1bml0IHRlc3RzIGlmIHRoZSBhbm5vZGV4IHBsdWdpbiBoYXMgbm90IGJlZW4gYnVpbHQgKEZpeGVzICMzNTExMTYpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgRG9uJ3QgdHJ5IHRvIHJ1biBhbm5vZGV4IHVuaXQgdGVzdHMgaWYgdGhlIGFubm9kZXgKCSAgcGx1Z2luIGhhcyBub3QgYmVlbiBidWlsdCAoRml4ZXMgIzM1MTExNikuCgoyMDA2LTA4LTE2IDEwOjUzOjMyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc2luay5jOiBXaGVuIHdlIGNhbid0IGZpbmQgYSB1c2FibGUgYXVkaW9zaW5rLCBkb24ndCBlcnJvciBvdXQsIGJ1dCB1c2UgYSBmYWtlIHNpbmsgaW5zdGVhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NpbmsuYzoKCSAgKGdzdF9hdXRvX2F1ZGlvX3NpbmtfZmluZF9iZXN0KToKCSAgV2hlbiB3ZSBjYW4ndCBmaW5kIGEgdXNhYmxlIGF1ZGlvc2luaywgZG9uJ3QgZXJyb3Igb3V0LAoJICBidXQgdXNlIGEgZmFrZSBzaW5rIGluc3RlYWQgYW5kIHBvc3QgYSB3YXJuaW5nIG1lc3NhZ2UKCSAgb24gdGhlIGJ1cyAoIzM0MTI3OCkuCgoyMDA2LTA4LTE2IDEwOjQwOjA0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay86IEluIHB1c2ggbW9kZSwgcmUtc3luYyB0byBuZXh0IHdhdnBhY2sgaGVhZGVyIGlmIHN5bmMgaXMgbG9zdCAoIzM1MTU1NykuIEFsc28gdXNlIGh5cGhlbnMgaW5zdGVhZCBvZiB1bmQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tbyBhdCBjaXJjdWxhci1jaGFvcy5vcmc+CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOiAoZ3N0X3dhdnBhY2tfZW5jX2NsYXNzX2luaXQpOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOgoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfcmVzeW5jX2FkYXB0ZXIpLCAoZ3N0X3dhdnBhY2tfcGFyc2VfY2hhaW4pOgoJICBJbiBwdXNoIG1vZGUsIHJlLXN5bmMgdG8gbmV4dCB3YXZwYWNrIGhlYWRlciBpZiBzeW5jIGlzIGxvc3QKCSAgKCMzNTE1NTcpLiBBbHNvIHVzZSBoeXBoZW5zIGluc3RlYWQgb2YgdW5kZXJzY29yZXMgaW4KCSAgR09iamVjdCBwcm9wZXJ0eSBuYW1lcy4KCjIwMDYtMDgtMTYgMTA6MjI6MzIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBzeXMvb3NzLzogRG9jdW1lbnQgT1NTIGVsZW1lbnRzOyBhZGQgZ3RrLWRvYyBibHVyYiB3aXRoICdTaW5jZSAwLjEwLjUnIGZvciBvc3NtaXhlcidzIG5ldyBkZXZpY2UgcHJvcGVydHkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9vc3MvZ3N0b3NzbWl4ZXJlbGVtZW50LmM6IChnc3Rfb3NzX21peGVyX2VsZW1lbnRfY2xhc3NfaW5pdCk6CgkgICogc3lzL29zcy9nc3Rvc3NzaW5rLmM6CgkgICogc3lzL29zcy9nc3Rvc3NzcmMuYzoKCSAgRG9jdW1lbnQgT1NTIGVsZW1lbnRzOyBhZGQgZ3RrLWRvYyBibHVyYiB3aXRoICdTaW5jZSAwLjEwLjUnIGZvcgoJICBvc3NtaXhlcidzIG5ldyBkZXZpY2UgcHJvcGVydHkuCgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgIEFkZCBkb2NzIGZvciBPU1MgZWxlbWVudHMuCgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Rpby54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhhbGVsZW1lbnRzLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9iYWxhbmNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZsaXAueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJICBVcGRhdGUgdG8gQ1ZTIHZlcnNpb24uCgoyMDA2LTA4LTE2IDEwOjA1OjAwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC86IENhcHMgZXh0cmEgcHJvcGVydGllcyBtdXN0IGJlIGRlZmluZWQgYXMgc3RyaW5ncyBmb3IgZGVwYXlsb2FkZXJzIGJlY2F1c2UgdGhleSBhcmUgZ2VuZXJhdGVkIGZyb20gYW4gU0RQLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBtcDRnZGVwYXkuYzoKCSAgQ2FwcyBleHRyYSBwcm9wZXJ0aWVzIG11c3QgYmUgZGVmaW5lZCBhcyBzdHJpbmdzIGZvcgoJICBkZXBheWxvYWRlcnMgYmVjYXVzZSB0aGV5IGFyZSBnZW5lcmF0ZWQgZnJvbSBhbiBTRFAuCgkgICogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcnRwL2dzdHJ0cC5jOiAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6IChnc3RfcnRwX2gyNjRfZGVwYXlfYmFzZV9pbml0KSwKCSAgKGdzdF9ydHBfaDI2NF9kZXBheV9jbGFzc19pbml0KSwgKGdzdF9ydHBfaDI2NF9kZXBheV9pbml0KSwKCSAgKGdzdF9ydHBfaDI2NF9kZXBheV9maW5hbGl6ZSksIChkZWNvZGVfYmFzZTY0KSwKCSAgKGdzdF9ydHBfaDI2NF9kZXBheV9zZXRjYXBzKSwgKGdzdF9ydHBfaDI2NF9kZXBheV9wcm9jZXNzKSwKCSAgKGdzdF9ydHBfaDI2NF9kZXBheV9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3J0cF9oMjY0X2RlcGF5X2dldF9wcm9wZXJ0eSksCgkgIChnc3RfcnRwX2gyNjRfZGVwYXlfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9ydHBfaDI2NF9kZXBheV9wbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuaDoKCSAgQWRkZWQgYmFzaWMsIG5vdCBjb21wbGV0ZWx5IGZ1bmN0aW9uYWwgUkZDIDM5ODQgSDI2NCBkZXBheWxvYWRlci4KCjIwMDYtMDgtMTYgMDk6NDg6MjYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHBkZWMuYzogQWRkIHBhZHMgYWZ0ZXIgc2V0dGluZyB0aGVtIHVwLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHBkZWMuYzogKGdzdF9ydHBkZWNfaW5pdCksIChnc3RfcnRwZGVjX2dldGNhcHMpOgoJICBBZGQgcGFkcyBhZnRlciBzZXR0aW5nIHRoZW0gdXAuCgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfY2xhc3NfaW5pdCksCgkgIChnc3RfcnRzcHNyY19pbml0KSwgKGdzdF9ydHNwc3JjX2ZpbmFsaXplKSwKCSAgKGdzdF9ydHNwc3JjX2ZyZWVfc3RyZWFtKSwgKGdzdF9ydHNwc3JjX21lZGlhX3RvX2NhcHMpLAoJICAoZ3N0X3J0c3BzcmNfc3RyZWFtX3NldHVwX3J0cCksCgkgIChnc3RfcnRzcHNyY19zdHJlYW1fY29uZmlndXJlX3RyYW5zcG9ydCksCgkgIChnc3RfcnRzcHNyY19jb21iaW5lX2Zsb3dzKSwgKGdzdF9ydHNwc3JjX2xvb3ApLAoJICAoZ3N0X3J0c3BzcmNfb3BlbiksIChnc3RfcnRzcHNyY19jbG9zZSksIChnc3RfcnRzcHNyY19wbGF5KSwKCSAgKGdzdF9ydHNwc3JjX3BhdXNlKToKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIEZpeCBpbnRlcmxlYXZlZCBtb2RlLgoJICAtIFByb3RlY3Qgc3RyZWFtaW5nIHdpdGggbG9jay4KCSAgLSBDb21iaW5lIGZsb3dzCgkgIC0gc2V0IGNhcHMgb24gb3V0Z29pbmcgYnVmZmVycy4KCSAgLSBzdHJpcCB0cmFpbGluZyBcMCBmcm9tIGRhdGEgcGFja2V0cy4KCSAgLSBDb25maWd1cmUgUlRQL1JUQ1AgaW4gc3RyZWFtLgoJICBVc2UgREVCVUdfT0JKRUNUIG1vcmUuCgoyMDA2LTA4LTE2IDA5OjI5OjIwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzogVHVybiBhIGdfcHJpbnQgaW50byBhIERFQlVHIGxpbmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6IChnc3RfbXVsdGl1ZHBzaW5rX2FkZCk6CgkgIFR1cm4gYSBnX3ByaW50IGludG8gYSBERUJVRyBsaW5lLgoKMjAwNi0wOC0xNiAwOToyNToxNyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIHN5cy9vc3MvOiBTbWFsbCBjbGVhbnVwcy4gQmV0dGVyIGVycm9yIHJlcG9ydGluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL29zcy9nc3Rvc3NtaXhlci5jOiAoZ3N0X29zc21peGVyX29wZW4pLCAoZ3N0X29zc21peGVyX25ldyk6CgkgICogc3lzL29zcy9nc3Rvc3NtaXhlcmVsZW1lbnQuYzogKGdzdF9vc3NfbWl4ZXJfZWxlbWVudF9jbGFzc19pbml0KSwKCSAgKGdzdF9vc3NfbWl4ZXJfZWxlbWVudF9pbml0KSwgKGdzdF9vc3NfbWl4ZXJfZWxlbWVudF9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X29zc19taXhlcl9lbGVtZW50X2dldF9wcm9wZXJ0eSksCgkgIChnc3Rfb3NzX21peGVyX2VsZW1lbnRfY2hhbmdlX3N0YXRlKToKCSAgKiBzeXMvb3NzL2dzdG9zc21peGVyZWxlbWVudC5oOgoJICBTbWFsbCBjbGVhbnVwcy4gQmV0dGVyIGVycm9yIHJlcG9ydGluZy4KCSAgQWRkIGRldmljZSBwcm9wZXJ0eSBmb3IgdGhlIG1peGVyIGluc3RlYWQgb2YgdGhlIGhhcmRjb2RlZAoJICAvZGV2L21peGVyLiBGaXhlcyAjMzUwNzg1LgoJICBBUEk6IEdzdE9zc01peGVyRWxlbWVudDo6ZGV2aWNlIHByb3BlcnR5CgoyMDA2LTA4LTE1IDIyOjQ0OjI3ICswMDAwICBKZW5zIEdyYW5zZXVlciA8amVuc2dyQGdteC5uZXQ+CgoJICBnY29uZi9NYWtlZmlsZS5hbTogTWFrZSAtLWRpc2FibGUtc2NoZW1hcyB3b3JrIHJpZ2h0ICh0aGV5IHN0aWxsIG5lZWQgdG8gYmUgY29waWVkIHRvIHRoZSBpbnN0YWxsYXRpb24gZGlyZWN0b3J5LCBqdXMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBKZW5zIEdyYW5zZXVlciA8amVuc2dyIGF0IGdteCBuZXQ+CgkgICogZ2NvbmYvTWFrZWZpbGUuYW06CgkgIE1ha2UgLS1kaXNhYmxlLXNjaGVtYXMgd29yayByaWdodCAodGhleSBzdGlsbCBuZWVkCgkgIHRvIGJlIGNvcGllZCB0byB0aGUgaW5zdGFsbGF0aW9uIGRpcmVjdG9yeSwganVzdCBub3QKCSAgYXBwbGllZCkuIEZpeGVzICMzNTEzNDcgKGFsc28gIzM0NDEwMCkuCgoyMDA2LTA4LTE1IDIwOjI5OjQ1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuKjogTWFrZSB3YXZwYWNrcGFyc2UgYWxzbyB3b3JrIGluIHB1c2gtbW9kZSAobm90IHNlZWthYmxlIHlldCB0aG91Z2gpOyBzb21lIHNtYWxsIGNsZWFuLXUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IChnc3Rfd2F2cGFja19wYXJzZV9jbGFzc19pbml0KSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX3Jlc2V0KSwgKGdzdF93YXZwYWNrX3BhcnNlX2dldF9zcmNfcXVlcnlfdHlwZXMpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2Vfc3JjX3F1ZXJ5KSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2hhbmRsZV9zZWVrX2V2ZW50KSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX3NpbmtfZXZlbnQpLCAoZ3N0X3dhdnBhY2tfcGFyc2VfaW5pdCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9jcmVhdGVfc3JjX3BhZCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9wdXNoX2J1ZmZlciksIChnc3Rfd2F2cGFja19wYXJzZV9sb29wKSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2NoYWluKSwgKGdzdF93YXZwYWNrX3BhcnNlX3NpbmtfYWN0aXZhdGUpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2Vfc2lua19hY3RpdmF0ZV9wdWxsKToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuaDoKCSAgUGF0Y2ggYnk6IFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vIGF0IGNpcmN1bGFyLWNoYW9zLm9yZz4KCSAgTWFrZSB3YXZwYWNrcGFyc2UgYWxzbyB3b3JrIGluIHB1c2gtbW9kZSAobm90IHNlZWthYmxlIHlldCB0aG91Z2gpOwoJICBzb21lIHNtYWxsIGNsZWFuLXVwcyBhbG9uZyB0aGUgd2F5OyBhZGQgc3VwcG9ydCBmb3IgU0VFS0lORyBxdWVyeQoJICBhbmQgcXVlcnkgdHlwZXMgZnVuY3Rpb24uICgjMzUxNDk1KS4KCjIwMDYtMDgtMTQgMTE6Mzc6MTAgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBjb25maWd1cmUuYWM6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgYmFjayB0byBIRUFECgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBiYWNrIHRvIEhFQUQKCjIwMDYtMDgtMTQgMTE6MTQ6NDMgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oYWxlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYmFsYW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICByZWxlYXNpbmcgMC4xMC40CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZWxlYXNpbmcgMC4xMC40CgoyMDA2LTA4LTE0IDEwOjA2OjU1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBFeHRyYWN0IGFsbCByZWZlcmVuY2VzL3JlZGlyZWN0aW9ucyBpZiB0aGVyZSBpcyBtb3JlIHRoYW4gb25lIGFuZCBzb3J0IHRoZW07IGFsc28gZXh0cmFjdCBtaW5pLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfcmVkaXJlY3RzX3NvcnRfZnVuYyksCgkgIChxdGRlbXV4X3Byb2Nlc3NfcmVkaXJlY3RzKSwgKHF0ZGVtdXhfcGFyc2VfdHJlZSk6CgkgIEV4dHJhY3QgYWxsIHJlZmVyZW5jZXMvcmVkaXJlY3Rpb25zIGlmIHRoZXJlIGlzIG1vcmUKCSAgdGhhbiBvbmUgYW5kIHNvcnQgdGhlbTsgYWxzbyBleHRyYWN0IG1pbmltdW0gcmVxdWlyZWQKCSAgYml0cmF0ZSBpbmZvcm1hdGlvbiBpZiBhdmFpbGFibGUuICgjMzUwMzk5KQoKMjAwNi0wOC0xMCAxNDoxMDoyOCArMDAwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGZsdWVuZG8uY29tPgoKCSAgU2VuZCB0aGUgbmV3c2VnbWVudCBldmVudCBpbiB0aGUgc3RyZWFtaW5nIHRocmVhZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBFZHdhcmQgSGVydmV5IDxlZHdhcmRAZmx1ZW5kby5jb20+CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiAoZ3N0X3dhdnBhcnNlX3BlcmZvcm1fc2VlayksCgkgIChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2RhdGEpOgoJICBTZW5kIHRoZSBuZXdzZWdtZW50IGV2ZW50IGluIHRoZSBzdHJlYW1pbmcgdGhyZWFkLgoJICBGaXhlcyAjMzQ3NTI5CgoyMDA2LTA4LTEwIDE0OjAyOjQ1ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgYnVtcGVkIGZvciBwcmVyZWwKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGJ1bXBlZCBmb3IgcHJlcmVsCgoyMDA2LTA4LTEwIDEzOjEwOjM4ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vY3MucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSAgdXBkYXRlIHRyYW5zbGF0aW9ucwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgdXBkYXRlIHRyYW5zbGF0aW9ucwoKMjAwNi0wOC0wOCAxNDo1NTo1MyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogRml4IHNpbGx5IHR5cG8uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfcGFyc2VfdHJlZSk6CgkgIEZpeCBzaWxseSB0eXBvLgoKMjAwNi0wOC0wOCAxNDo0NjowMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIENoYW5nZUxvZzoKCSAgQ2hhbmdlTG9nIHN1cmdlcnk6IG1lbnRpb24gYnVnIG51bWJlcgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQ2hhbmdlTG9nIHN1cmdlcnk6IG1lbnRpb24gYnVnIG51bWJlcgoKMjAwNi0wOC0wOCAxNDo0MDo0NyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9qcGVnLzogUmVmdXNlIHNpbmsgY2FwcyBpbiB0aGUgZW5jb2RlciBpZiB3aWR0aCBvciBoZWlnaHQgaXMgbm90IGEgbXVsdGlwbGUgb2YgMTYsIHRoZSBlbmNvZGVyIGRvZXMgbm90IHN1cHBvcnQgdC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvanBlZy9nc3RzbW9rZWRlYy5jOiAoZ3N0X3Ntb2tlZGVjX2NoYWluKToKCSAgKiBleHQvanBlZy9nc3RzbW9rZWVuYy5jOiAoZ3N0X3Ntb2tlZW5jX3NldGNhcHMpLAoJICAoZ3N0X3Ntb2tlZW5jX3Jlc3luYyksIChnc3Rfc21va2VlbmNfY2hhaW4pOgoJICBSZWZ1c2Ugc2luayBjYXBzIGluIHRoZSBlbmNvZGVyIGlmIHdpZHRoIG9yIGhlaWdodCBpcyBub3QgYQoJICBtdWx0aXBsZSBvZiAxNiwgdGhlIGVuY29kZXIgZG9lcyBub3Qgc3VwcG9ydCB0aGF0IHlldDsgYWxvbmcgdGhlCgkgIHNhbWUgbGluZXMsIGNoZWNrIHRoZSByZXR1cm4gdmFsdWUgb2YgdGhlIGVuY29kZXIgc2V0dXAgZnVuY3Rpb247CgkgIGFsc28gcmVtb3ZlIHNvbWUgZGVidWcgbG9nIGNsdXR0ZXIuCgoyMDA2LTA4LTA0IDExOjM4OjU0ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJICBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5oOiBBZGQgaW5mcmFzdHJ1Y3R1cmUgZm9yIHN0b3Jpbmcgd2hldGhlciBhIHByb2Nlc3NvciBjYW4gd29yayBpbiBwbGFjZSBvciBub3QsIGFuZCBmb3IuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDgtMDQgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuaDogQWRkIGluZnJhc3RydWN0dXJlIGZvciBzdG9yaW5nCgkgIHdoZXRoZXIgYSBwcm9jZXNzb3IgY2FuIHdvcmsgaW4gcGxhY2Ugb3Igbm90LCBhbmQgZm9yIGtlZXBpbmcKCSAgdHJhY2sgb2YgaXRzIHN0YXRlLiBDaGFuZ2UgdGhlIEZsb3dSZXR1cm4gaW5zdGFuY2UgdmFyaWFibGUgZnJvbQoJICAic3RhdGUiIHRvICJmbG93X3N0YXRlIiwgYWxsIGNhbGxlcnMgY2hhbmdlZC4KCSAgKiBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5jIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9zZXR1cCkKCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3N0YXJ0LCBnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9zdG9wKQoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfY2xlYW51cCk6IE5ldyBmdW5jdGlvbnMgdG8gbWFuYWdlIHRoZQoJICBwcm9jZXNzb3IncyBzdGF0ZS4KCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3NldGNhcHMpOiBzdGFydCgpIGFzIHdlbGwgYXMgc2V0dXAoKSBoZXJlLgoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfcHJlcGFyZSk6IFJlc3BlY3QgQ0FOX1BST0NFU1NfSU5fUExBQ0UuCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9jaGFuZ2Vfc3RhdGUpOiBTdG9wIGFuZCBjbGVhbnVwIHRoZQoJICBwcm9jZXNzb3IgYXMgd2UgZ28gdG8gTlVMTC4KCSAgKiBleHQvbGFkc3BhL2dzdGxhZHNwYS5jIChnc3RfbGFkc3BhX2Jhc2VfaW5pdCk6IFJldXNlIGJ1ZmZlcnMgaWYKCSAgSU5QTEFDRV9CUk9LRU4gaXMgbm90IHNldC4KCSAgKiBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5jIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9wcmVwYXJlKToKCSAgRG8gdGhlIGFsbG9jX2J1ZmZlciBpbiBieXRlcywgbm90IGZyYW1lcy4KCjIwMDYtMDgtMDQgMTA6MjE6MjYgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBzeXMveGltYWdlL3hpbWFnZXV0aWwuYzogRml4IHJnYiBtYXNrcyB3aGVuIHJlY29yZGluZyBpbiA8IDI0YnBwLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wOC0wNCAgWmFoZWVyIEFiYmFzIE1lcmFsaSAgPHphaGVlcmFiYmFzIGF0IG1lcmFsaSBkb3Qgb3JnPgoJICAqIHN5cy94aW1hZ2UveGltYWdldXRpbC5jOiAoeGltYWdldXRpbF94Y29udGV4dF9nZXQpOgoJICBGaXggcmdiIG1hc2tzIHdoZW4gcmVjb3JkaW5nIGluIDwgMjRicHAuCgoyMDA2LTA4LTA0IDA5OjIwOjI2ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmM6CgkgIEJQQgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3NyY19hY3RpdmF0ZV9wdWxsKTogQlBCCgoyMDA2LTA4LTA0IDA5OjA1OjUzICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmM6CgkgIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmMgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3NldGNhcHMpIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9wcmVwYXJlKSAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfdS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wOC0wNCAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5jIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9zZXRjYXBzKQoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfcHJlcGFyZSkKCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3VwZGF0ZV9pbnB1dHMpCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9wcm9jZXNzLCBnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9wZW5fYnVmZmVyKQoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfZmx1c2gpCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9zaW5rX2FjdGl2YXRlX3B1c2gpCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9zcmNfYWN0aXZhdGVfcHVsbCkKCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX2NoYW5nZV9zdGF0ZSk6IFJlbW92ZSB0aGUgbGFzdCBvZiB0aGUgY29kZQoJICB0aGF0IGFzc3VtZXMgdGhhdCB3ZSBwcm9jZXNzIHdob2xlIGJ1ZmZlcnMgYXQgYSB0aW1lLiBGaXggc29tZQoJICBkZWJ1Z2dpbmcuIFNlZW1zIHRvIHdvcmsgbm93IGluIHNvbWUgY2FzZXMuCgoyMDA2LTA3LTMxIDIyOjI3OjIyICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJICBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5jIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9wcm9jZXNzKTogRml4IG5mcmFtZXMtY2hvb3NpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTA4LTAxICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmMgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3Byb2Nlc3MpOgoJICBGaXggbmZyYW1lcy1jaG9vc2luZy4KCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX2luaXQpOiBJbml0IHBlbmRpbmdfaW4gYW5kIHBlbmRpbmdfb3V0LgoKMjAwNi0wNy0zMSAyMjowMzowOSArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSAgZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuYyAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfaW5pdCk6IE5vIG1vcmUgZGVmYXVsdCBzYW1wbGUgcmF0ZSwgYWx0aG91Z2ggd2UgbmV2ZXIgY2hlY2sgdGhhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTA4LTAxICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmMgKGdzdF9zaWduYWxfcHJvY2Vzc29yX2luaXQpOiBObwoJICBtb3JlIGRlZmF1bHQgc2FtcGxlIHJhdGUsIGFsdGhvdWdoIHdlIG5ldmVyIGNoZWNrIHRoYXQgdGhlIHNhbXBsZQoJICByYXRlIGFjdHVhbGx5IGdldHMgc2V0LiBTb21ldGhpbmcgZm9yIHRoZSBmdXR1cmUuCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9zZXRjYXBzKTogU29tZSByZWZjb3VudCBmaXhlcywgZmxvdyBmaXhlcy4KCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX2V2ZW50KTogUmVmY291bnQgZml4ZW4uCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9wcm9jZXNzKTogUHVsbCB0aGUgbnVtYmVyIG9mIGZyYW1lcyB0bwoJICBwcm9jZXNzIGZyb20gdGhlIHNpemVzIG9mIHRoZSBidWZmZXJzIGluIHRoZSBpbnB1dCBwZW5zLgoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfcGVuX2J1ZmZlcik6IFJlbW92ZSBhbiBpbmNvcnJlY3QgRklYTUUgOikKCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX2RvX3B1bGxzKTogQWRkIGFuIG5mcmFtZXMgYXJndW1lbnQsIGFuZCB1c2UKCSAgaXQgaW5zdGVhZCBvZiBidWZmZXJfZnJhbWVzLgoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfZ2V0cmFuZ2UpOiBSZWZjb3VudCBmaXhlbiwgcGFzcyBuZnJhbWVzIG9uCgkgIHRvIGRvX3B1bGxzLgoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfY2hhaW4pCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9zaW5rX2FjdGl2YXRlX3B1c2gpCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9zcmNfYWN0aXZhdGVfcHVsbCk6ICBSZWZjb3VudCBmaXhlbi4KCSAgKiBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5oOiBObyBtb3JlIGJ1ZmZlcl9mcmFtZXMsIHlheS4KCjIwMDYtMDctMzEgMTk6NDQ6MTggKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmM6IGRvbid0IHF1ZXJ5IGJ1ZmZlci1mcmFtZXMgZnJvbSBjYXBzLCBhZGQgbG90cyBvZiBkZWJ1Zy1sb2csIHRyeSBmaXggZm9yIGFzc2VydCAoIzM0OS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5jOiAoZ3N0X3NpZ25hbF9wcm9jZXNzb3Jfc2V0Y2FwcyksCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9wcm9jZXNzKToKCSAgZG9uJ3QgcXVlcnkgYnVmZmVyLWZyYW1lcyBmcm9tIGNhcHMsIGFkZCBsb3RzIG9mIGRlYnVnLWxvZywKCSAgdHJ5IGZpeCBmb3IgYXNzZXJ0ICgjMzQ5MTg5KQoKMjAwNi0wNy0zMSAxNTo1ODo0MyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC91ZHAvZ3N0dWRwc3JjLmM6IEZpeCBkb2NzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICBGaXggZG9jcy4KCjIwMDYtMDctMjkgMTY6MzI6MjYgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmM6IEFkZCBkZWJ1Z3MgbG9ncyBoZXJlIGFuZCB0aGVyZSwgYWRkIG1vcmUgZXJyb3IgaGFuZGxpbmcsIGFkZCBzb21lCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmM6CgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9hZGRfcGFkX2Zyb21fdGVtcGxhdGUpLAoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfaW5pdCksIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9zZXRjYXBzKSwKCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3Byb2Nlc3MpLCAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfcGVuX2J1ZmZlciksCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9kb19wdWxscyksIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9nZXRyYW5nZSksCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9zaW5rX2FjdGl2YXRlX3B1c2gpLAoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3Jfc3JjX2FjdGl2YXRlX3B1bGwpLAoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfY2hhbmdlX3N0YXRlKToKCSAgQWRkIGRlYnVncyBsb2dzIGhlcmUgYW5kIHRoZXJlLCBhZGQgbW9yZSBlcnJvciBoYW5kbGluZywgYWRkIHNvbWUKCSAgRklYTUUgY29tbWVudHMsIGZpbGVkICMzNDkxODkKCjIwMDYtMDctMjkgMTE6MjI6NDcgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBleHQvanBlZy9nc3RzbW9rZWVuYy5jOiBTZXQgY2FwcyBvbiBidWZmZXIgY29ycmVjdGx5LiAgRml4ZXMgYnVnICMzNDkxNTUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTA3LTI5ICBaYWhlZXIgQWJiYXMgTWVyYWxpICA8emFoZWVyYWJiYXMgYXQgbWVyYWxpIGRvdCBvcmc+CgkgICogZXh0L2pwZWcvZ3N0c21va2VlbmMuYzogKGdzdF9zbW9rZWVuY19nZXRjYXBzKSwKCSAgKGdzdF9zbW9rZWVuY19zZXRjYXBzKSwgKGdzdF9zbW9rZWVuY19jaGFpbik6CgkgIFNldCBjYXBzIG9uIGJ1ZmZlciBjb3JyZWN0bHkuICBGaXhlcyBidWcgIzM0OTE1NS4KCjIwMDYtMDctMjggMTY6MTc6MTcgKzAwMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZEBsdW9uLm5ldD4KCgkgIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzogVXNlcyBHc3RBZGFwdGVyIGluc3RlYWQgb2Ygb3duIGJ1ZmZlcmluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBTam9lcmQgU2ltb25zIDxzam9lcmQgYXQgbHVvbiBkb3QgbmV0PgoJICAqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzogKGdzdF9tdWx0aXBhcnRfZGVtdXhfYmFzZV9pbml0KSwKCSAgKGdzdF9tdWx0aXBhcnRfZGVtdXhfY2xhc3NfaW5pdCksIChnc3RfbXVsdGlwYXJ0X2RlbXV4X2luaXQpLAoJICAoZ3N0X211bHRpcGFydF9kZW11eF9maW5hbGl6ZSksIChnZXRfbGluZV9lbmQpLAoJICAobXVsdGlwYXJ0X3BhcnNlX2hlYWRlciksIChtdWx0aXBhcnRfZmluZF9ib3VuZGFyeSksCgkgIChnc3RfbXVsdGlwYXJ0X2RlbXV4X2NoYWluKSwgKGdzdF9tdWx0aXBhcnRfZGVtdXhfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9tdWx0aXBhcnRfc2V0X3Byb3BlcnR5KSwgKGdzdF9tdWx0aXBhcnRfZ2V0X3Byb3BlcnR5KToKCSAgVXNlcyBHc3RBZGFwdGVyIGluc3RlYWQgb2Ygb3duIGJ1ZmZlcmluZy4KCSAgQWN0dWFsbHkgcGFyc2VzIHRoZSBtaW1lLXR5cGUgY29ycmVjdGx5IChJbiB0ZXN0cyB0aGUgbWltZS10eXBlIHdhcwoJICBhbHdheXMgIiIgd2l0aCB0aGUgb2xkIHZlcnNpb24pLgoJICBVc2VzIHRoZSBDb250ZW50LWxlbmd0aCBoZWFkZXIgaWYgYXZhaWxhYmxlIHRvIHNwZWVkIHVwIHRoaW5ncy4KCSAgUmVsaWFibHkgYXV0b3NjYW5zIHRoZSBib3VuZGFyeSBuYW1lIGJ5IGRlZmF1bHQuCgkgIEZpeGVzICMzNDkwNjguCgkgICogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRtdXguYzogKGdzdF9tdWx0aXBhcnRfbXV4X2NvbGxlY3RlZCk6CgkgIERvbid0IHN0YXJ0IHRoZSBzdHJlYW0gd2l0aCBhIFxuLgoKMjAwNi0wNy0yOCAwODozMjo0NyArMDAwMCAgQnJpYW4gQ2FtZXJvbiA8YnJpYW4uY2FtZXJvbkBzdW4uY29tPgoKCSAgc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvc3JjLmM6IE9wZW4gc291cmNlIHdpdGggT19OT05CTE9DSyAoIzM0OTAxNSkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogQnJpYW4gQ2FtZXJvbiA8YnJpYW4gZG90IGNhbWVyb24gYXQgc3VuIGNvbT4KCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zcmMuYzogKGdzdF9zdW5hdWRpb3NyY19vcGVuKToKCSAgT3BlbiBzb3VyY2Ugd2l0aCBPX05PTkJMT0NLICgjMzQ5MDE1KS4KCjIwMDYtMDctMjggMDg6MjE6MjcgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguKjogV2hpdGVzcGFjZSBmaXhlcyBhbmQgbW9yZSBkZWJ1ZwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X3N0cmVhbV9pbmRleCksCgkgIChnc3RfYXZpX2RlbXV4X21hc3NhZ2VfaW5kZXgpOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguaDoKCSAgV2hpdGVzcGFjZSBmaXhlcyBhbmQgbW9yZSBkZWJ1ZwoKMjAwNi0wNy0yNyAxMToyMTo1MyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NpbmsuYzogR2V0IHJpZCBvZiBvbGQgYW5kIHVudXNlZCBtYWdpYyBzb3VuZC1zZXJ2ZXIgcHJvcGVydGllcyBzdHVmZi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc2luay5jOgoJICAoZ3N0X2F1dG9fYXVkaW9fc2lua19jcmVhdGVfZWxlbWVudF93aXRoX3ByZXR0eV9uYW1lKSwKCSAgKGdzdF9hdXRvX2F1ZGlvX3NpbmtfZmluZF9iZXN0KSwKCSAgKGdzdF9hdXRvX2F1ZGlvX3NpbmtfY2hhbmdlX3N0YXRlKToKCSAgR2V0IHJpZCBvZiBvbGQgYW5kIHVudXNlZCBtYWdpYyBzb3VuZC1zZXJ2ZXIgcHJvcGVydGllcyBzdHVmZi4KCSAgQWRkIHN1ZmZpeCB0byBjaGlsZCBzaW5rJ3MgbmFtZSB0aGF0IG1ha2VzIGl0IGVhc3kgdG8gc2VlIGZyb20KCSAgdGhlIG5hbWUgYWxvbmUgd2hpY2ggdHlwZSBpdCBhY3R1YWxseSBpcyAoYWxzYSwgb3NzLCBlc2QsIGV0Yy4pLgoKMjAwNi0wNy0yNyAxMDowNToyNyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC91ZHAvZ3N0dWRwc3JjLio6IFJlbmFtZSAiYnVmZmVyIiB0byAiYnVmZmVyLXNpemUiIHRvIG1ha2UgY2xlYXIgaXQgaXMgYSBzaXplIHdlIHNldCBhbmQgbm90IHNvbWUgc29ydCBvZiBmZWF0dXJlIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdWRwL2dzdHVkcHNyYy5jOiAoZ3N0X3VkcHNyY19jbGFzc19pbml0KSwgKGdzdF91ZHBzcmNfaW5pdCksCgkgIChnc3RfdWRwc3JjX3NldF9wcm9wZXJ0eSksIChnc3RfdWRwc3JjX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfdWRwc3JjX3N0YXJ0KToKCSAgKiBnc3QvdWRwL2dzdHVkcHNyYy5oOgoJICBSZW5hbWUgImJ1ZmZlciIgdG8gImJ1ZmZlci1zaXplIiB0byBtYWtlIGNsZWFyIGl0IGlzIGEgc2l6ZSB3ZSBzZXQgYW5kCgkgIG5vdCBzb21lIHNvcnQgb2YgZmVhdHVyZSB3ZSBlbmFibGUuCgoyMDA2LTA3LTI3IDEwOjAxOjQ5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3VkcC9nc3R1ZHBzcmMuYzogVXNlIENMT1NFX1NPQ0tFVCgpIGhlcmUgaW5zdGVhZCBvZiBjbG9zZSgpIHRvIG1haW50YWluIHdpbjMyIHdvcmtpbmVzcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3VkcC9nc3R1ZHBzcmMuYzogKGdzdF91ZHBzcmNfc3RhcnQpOgoJICBVc2UgQ0xPU0VfU09DS0VUKCkgaGVyZSBpbnN0ZWFkIG9mIGNsb3NlKCkgdG8gbWFpbnRhaW4KCSAgd2luMzIgd29ya2luZXNzLgoKMjAwNi0wNy0yNyAwOTowNDo1MSArMDAwMCAgVGhpanMgVmVybWVpciA8dGhpanMudmVybWVpckBiYXJjby5jb20+CgoJICBnc3QvdWRwL2dzdHVkcHNyYy4qOiBBZGRlZCAiYnVmZmVyIiBwcm9wZXJ0eSB0byBjb250cm9sIHRoZSBrZXJuZWwgcmVjZWl2ZSBidWZmZXIgc2l6ZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBUaGlqcyBWZXJtZWlyIDx0aGlqcyBkb3QgdmVybWVpciBhdCBiYXJjbyBkb3QgY29tPgoJICAqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6IChnc3RfdWRwc3JjX2NsYXNzX2luaXQpLCAoZ3N0X3VkcHNyY19pbml0KSwKCSAgKGdzdF91ZHBzcmNfY3JlYXRlKSwgKGdzdF91ZHBzcmNfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF91ZHBzcmNfZ2V0X3Byb3BlcnR5KSwgKGdzdF91ZHBzcmNfc3RhcnQpOgoJICAqIGdzdC91ZHAvZ3N0dWRwc3JjLmg6CgkgIEFkZGVkICJidWZmZXIiIHByb3BlcnR5IHRvIGNvbnRyb2wgdGhlIGtlcm5lbCByZWNlaXZlIGJ1ZmZlciBzaXplLgoJICBVcGRhdGUgZG9jdW1lbnRhdGlvbi4KCSAgU21hbGwgY2xlYW51cHMuIEZpeGVzICMzNDg3NTIuCgkgIEFQSTogYnVmZmVyIHByb3BlcnR5CgoyMDA2LTA3LTI2IDE2OjM2OjU5ICswMDAwICBLYWkgVmVobWFuZW4gPGt2MjAwNEBlY2EuY3g+CgoJICBnc3QvcnRwLzogRml4IHRpbWVzdGFtcCBjYWxjdWxhdGlvbiBvbiBvdXRnb2luZyBSVFAgcGFja2V0cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBLYWkgVmVobWFuZW4gPGt2MjAwNCBhdCBlY2EgZG90IGN4PgoJICAqIGdzdC9ydHAvZ3N0cnRwcGNtYXBheS5jOiAoZ3N0X3J0cF9wY21hX3BheV9mbHVzaCksCgkgIChnc3RfcnRwX3BjbWFfcGF5X2hhbmRsZV9idWZmZXIpOgoJICAqIGdzdC9ydHAvZ3N0cnRwcGNtdXBheS5jOiAoZ3N0X3J0cF9wY211X3BheV9mbHVzaCksCgkgIChnc3RfcnRwX3BjbXVfcGF5X2hhbmRsZV9idWZmZXIpOgoJICBGaXggdGltZXN0YW1wIGNhbGN1bGF0aW9uIG9uIG91dGdvaW5nIFJUUCBwYWNrZXRzLgoJICBGaXhlcyAjMzQ4Njc1LgoKMjAwNi0wNy0yNiAxMDowNzoyOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC90YWdsaWIvZ3N0aWQzdjJtdXguY2M6IGlzIHN0aWxsIHN1Yi1vcHRpbWFsIHRob3VnaCwgc2luY2Ugd2UgZG9uJ3QgcmV0YWluIG9yIGV4dHJhY3QgdGhlIGNvbW1lbnQgZGVzY3JpcHRpb25zIHByby4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvdGFnbGliL2dzdGlkM3YybXV4LmNjOgoJICBGaXggd3JpdGluZyBvZiBjb21tZW50IGZyYW1lcyAoc2hvdWxkIGJlIENPTU0gbm90IFRDT00pLAoJICBpcyBzdGlsbCBzdWItb3B0aW1hbCB0aG91Z2gsIHNpbmNlIHdlIGRvbid0IHJldGFpbiBvcgoJICBleHRyYWN0IHRoZSBjb21tZW50IGRlc2NyaXB0aW9ucyBwcm9wZXJseSAoIzMzNDM3NSwKCSAgYWxzbyBzZWUgIzMzNDM3NSkuCgoyMDA2LTA3LTI2IDA5OjAyOjU2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6ICNkZWZpbmUgJ2ZhY3QnIFJJRkYgY2h1bmsgaWYgd2UgYXJlIG5vdCBjb21waWxpbmcgYWdhaW5zdAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgI2RlZmluZSAnZmFjdCcgUklGRiBjaHVuayBpZiB3ZSBhcmUgbm90IGNvbXBpbGluZyBhZ2FpbnN0CgkgIC1iYXNlIENWUyAod2UgZG9uJ3Qgd2FudCB0byBkZXBlbmQgb24gLWJhc2UgQ1ZTIGZvciB0aGlzCgkgIG9uZSBkZWZpbmUgb25seSwgYW5kIGFsc28gbm90IGZvciByZWxlYXNlIG9yZGVyIHJlYXNvbnMpLgoKMjAwNi0wNy0yNiAwODoxNzo0NSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC90YWdsaWIvZ3N0aWQzdjJtdXguY2M6IEhhbmRsZSBtdWx0aXBsZSB0YWdzIG9mIHRoZSBzYW1lIHR5cGUgcHJvcGVybHkuIFJlLWluamVjdCB1bnBhcnNlZCBJRDN2MiBmcmFtZXMgdGhhdCB3ZSBnZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvdGFnbGliL2dzdGlkM3YybXV4LmNjOgoJICBIYW5kbGUgbXVsdGlwbGUgdGFncyBvZiB0aGUgc2FtZSB0eXBlIHByb3Blcmx5LiBSZS1pbmplY3QKCSAgdW5wYXJzZWQgSUQzdjIgZnJhbWVzIHRoYXQgd2UgZ2V0IGFzIGJpbmFyeSBibG9icyBmcm9tCgkgIGlkM2RlbXV4IGludG8gdGhlIHRhZyBhZ2FpbiBzbyB3ZSBkb24ndCBsb3NlIGluZm9ybWF0aW9uCgkgIHdoZW4gcmV0YWdnaW5nICgjMzM0Mzc1KS4KCjIwMDYtMDctMjUgMTc6NTQ6MjUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOiBEb2N1bWVudCBuZXdseS1hZGRlZCBwcm9wZXJ0aWVzIHByb3Blcmx5LCBzbyB0aGF0IHRoZXJlIGlzIGEgJ1NpbmNlOiAwLjEwLjQnIGluIHRoZSBwbHVnaW4uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzogKGdzdF94aW1hZ2Vfc3JjX2NsYXNzX2luaXQpOgoJICBEb2N1bWVudCBuZXdseS1hZGRlZCBwcm9wZXJ0aWVzIHByb3Blcmx5LCBzbyB0aGF0IHRoZXJlIGlzIGEKCSAgJ1NpbmNlOiAwLjEwLjQnIGluIHRoZSBwbHVnaW4gZG9jcy4gQ29udmVydCBzb21lIHByb3BlcnR5CgkgIG5hbWVzIGludG8gY2Fub25pY2FsIEdPYmplY3Qgc3R5bGUgKEdPYmplY3Qgd2lsbCBkbyB0aGF0CgkgIGludGVybmFsbHkgYW55d2F5KS4KCjIwMDYtMDctMjUgMTY6NDc6MDQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvaWQzZGVtdXgvaWQzdGFncy5jOiBFeHRyYWN0IGZyYW1lcyBmb3IgSUQzdjIgdmVyc2lvbnMgcHJpb3IgdG8gSUQzdjIuMy4wIHByb3Blcmx5IGFzIHdlbGwsIGFuZCBhZGQgdGhlIHZlcnNpb24gdG8uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2lkM2RlbXV4L2lkM3RhZ3MuYzoKCSAgKGlkM2RlbXV4X2FkZF9pZDN2Ml9mcmFtZV9ibG9iX3RvX3RhZ2xpc3QpOgoJICBFeHRyYWN0IGZyYW1lcyBmb3IgSUQzdjIgdmVyc2lvbnMgcHJpb3IgdG8gSUQzdjIuMy4wIHByb3Blcmx5IGFzCgkgIHdlbGwsIGFuZCBhZGQgdGhlIHZlcnNpb24gdG8gdGhlIGJsb2IncyBidWZmZXIgY2Fwcywgc2luY2UgdGhhdAoJICBpbmZvcm1hdGlvbiB3aWxsIGJlIG5lZWRlZCBmb3IgZGVzZXJpYWxpc2F0aW9uIGxhdGVyIG9uICgjMzQ4NjQ0KS4KCjIwMDYtMDctMjUgMTM6MTQ6MDUgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogTW92ZWQgd2luMzIgdmFyaWFudCBvZiBHU1RfREVCVUdfQ0FURUdPUllfRVhURVJOIHRvIGdzdGluZm8uaC4gRml4ZWQgaW5kZW50YXRpb24gYW5kIHNwYWNpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfcmVhZF9zdWJpbmRleGVzKSwKCSAgKGdzdF9hdmlfZGVtdXhfcGFyc2Vfc3RyZWFtKToKCSAgTW92ZWQgd2luMzIgdmFyaWFudCBvZiBHU1RfREVCVUdfQ0FURUdPUllfRVhURVJOIHRvIGdzdGluZm8uaC4gRml4ZWQKCSAgaW5kZW50YXRpb24gYW5kIHNwYWNpbmcuCgoyMDA2LTA3LTI0IDIxOjQzOjA2ICswMDAwICBTw6liYXN0aWVuIE1vdXR0ZSA8c2ViYXN0aWVuQG1vdXR0ZS5uZXQ+CgoJICBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLio6IEFkZCBhbiBhdHRlbnVhdGlvbiBwcm9wZXJ0eSB0aGF0IHdpbGwgZGlyZWN0bHkgYXR0ZW51YXRlIHRoZSBkaXJlY3Rzb3VuZCBidWZmZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuaDoKCSAgKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkgIEFkZCBhbiBhdHRlbnVhdGlvbiBwcm9wZXJ0eSB0aGF0IHdpbGwgZGlyZWN0bHkgYXR0ZW51YXRlIHRoZQoJICBkaXJlY3Rzb3VuZCBidWZmZXIuCgkgIENoYW5nZSB0aGUgc2l6ZSBvZiB0aGUgZGlyZWN0c291bmQgc2Vjb25kYXJ5IGJ1ZmZlciB0byBhIGhhbGYgc2Vjb25kLgoJICBBZGQgbW9yZSBkZWJ1ZyBsb2dzLgoJICBBZGQgYSBsb2NrIHRvIHByb3RlY3QgZHNvdW5kIGJ1ZmZlciB3cml0ZSBhY2Nlc3MuCgkgIEZpeCBhIGJhZCBpbXBsZW1lbnRhdGlvbiBvZiByZXNldC4KCSAgKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0ZHJhd3NpbmsuaDoKCSAgQWRkIGEga2VlcF9hc3BlY3RfcmF0aW8gcHJvcGVydHkuCgkgIERvIG5vdCB1c2Ugb3ZlcmxheSBpZiBub3Qgc3VwcG9ydGVkLgoJICBBZGQgbW9yZSBkZWJ1ZyBsb2dzLgoJICBSZW1vdmUgb3ZlcndyaXRlIG9mIFdNX0VSQVNFQktHTkQgbWVzc2FnZSBoYW5kbGluZy4gSXQgd2FzIG5vdAoJICByZWRyYXdpbmcgYm9yZGVyIHdoZW4ga2VlcF9hc3BlY3RfcmF0aW8gd2FzIGVuYWJsZWQuCgkgICogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICB1cGRhdGUgdmVyc2lvbiB3YWl0aW5nIGFuIGF1dG8tZ2VuZXJhdGVkIGNvbmZpZy5oCgoyMDA2LTA3LTI0IDE1OjI1OjQ5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZG9jcy9wbHVnaW5zLzogVXBkYXRlIGZpbGVzIHRvIENWUy9QcmVyZWxlYXNlIHZlcnNpb24sIGFkZCBlc2RzaW5rIGRvY3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkaW8ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oYWxlbGVtZW50cy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYmFsYW5jZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9mbGlwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSAgVXBkYXRlIGZpbGVzIHRvIENWUy9QcmVyZWxlYXNlIHZlcnNpb24sIGFkZCBlc2RzaW5rIGRvY3MuCgkgICogZXh0L2VzZC9lc2RzaW5rLmM6CgkgIEFkZCBndGstZG9jIGJsdXJiLgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5jOgoJICBGaXggdHlwbyBpbiBlbGVtZW50IGRlc2NyaXB0aW9uLgoKMjAwNi0wNy0yNCAxNDo1NDowNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIENoYW5nZUxvZzoKCSAgQ2hhbmdlTG9nIHN1cmdlcnk6IGZpeCBTdGVmYW4ncyBlLW1haWwgYWRkcmVzcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQ2hhbmdlTG9nIHN1cmdlcnk6IGZpeCBTdGVmYW4ncyBlLW1haWwgYWRkcmVzcwoKMjAwNi0wNy0yNCAxNDo0OToxOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9lc2QvZXNkc2luay5jOiBQcmV2ZW50IGxpYmVzZCBmcm9tIGF1dG8tc3Bhd25pbmcgYSBzb3VuZCBkYWVtb24gaWYgaXQgaXMgbm90IGFscmVhZHkgcnVubmluZy4gTm93IHRoYXQgd2UgZG9uJ3QgZC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZXNkL2VzZHNpbmsuYzogKGdzdF9lc2RzaW5rX29wZW4pLAoJICAoZ3N0X2VzZHNpbmtfZmFjdG9yeV9pbml0KToKCSAgUHJldmVudCBsaWJlc2QgZnJvbSBhdXRvLXNwYXduaW5nIGEgc291bmQgZGFlbW9uIGlmIGl0CgkgIGlzIG5vdCBhbHJlYWR5IHJ1bm5pbmcuIE5vdyB0aGF0IHdlIGRvbid0IGRvIGV2aWwgc3R1ZmYKCSAgbGlrZSB0aGF0IGFueSBsb25nZXIgd2UgY2FuIGdpdmUgZXNkc2luayBhIHJhbmsgc28gdGhhdAoJICBhdXRvYXVkaW9zaW5rIHdpbGwgdHJ5IGl0IGFzIHdlbGwgaWYgYWxsIG90aGVyIGF1ZGlvCgkgIHNpbmtzIGZhaWwgKCMzNDMwNTEpLgoKMjAwNi0wNy0yNCAxNDo0MjoxMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9lc2QvTWFrZWZpbGUuYW06IE9vcHMsIG5lZWQgdG8gcmVtb3ZlIFJFQURNRSBmcm9tIEVYVFJBX0RJU1QgYXMgd2VsbC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2VzZC9NYWtlZmlsZS5hbToKCSAgT29wcywgbmVlZCB0byByZW1vdmUgUkVBRE1FIGZyb20gRVhUUkFfRElTVCBhcyB3ZWxsLgoKMjAwNi0wNy0yNCAxNDozNzozNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9lc2QvUkVBRE1FOiBSZW1vdmUsIGl0IGNvbnRhaW5zIG5vdGhpbmcgdXNlZnVsIGFueXdheS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2VzZC9SRUFETUU6CgkgIFJlbW92ZSwgaXQgY29udGFpbnMgbm90aGluZyB1c2VmdWwgYW55d2F5LgoJICAqIGV4dC9lc2QvZXNkc2luay5jOiAoZ3N0X2VzZHNpbmtfaW5pdCksIChnc3RfZXNkc2lua19wcmVwYXJlKSwKCSAgKGdzdF9lc2RzaW5rX2RlbGF5KToKCSAgU29tZSBzbWFsbCBjbGVhbi11cHM7IHVzZSBHU1RfQk9JTEVSUExBVEUgZXRjLgoKMjAwNi0wNy0yNCAxNDoxNjowNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9sYXcvOiBGaXggbmVnb3RpYXRpb24gdG8gZGVhbCB3aXRoIEFOWS9FTVBUWSBjYXBzIGluc3RlYWQgb2YgbGVha2luZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2xhdy9hbGF3LWRlY29kZS5jOiAoYWxhd2RlY19nZXRjYXBzKToKCSAgKiBnc3QvbGF3L2FsYXctZW5jb2RlLmM6IChhbGF3ZW5jX2dldGNhcHMpLCAoZ3N0X2FsYXdlbmNfY2hhaW4pOgoJICAqIGdzdC9sYXcvbXVsYXctZGVjb2RlLmM6IChtdWxhd2RlY19nZXRjYXBzKToKCSAgKiBnc3QvbGF3L211bGF3LWVuY29kZS5jOiAobXVsYXdlbmNfZ2V0Y2Fwcyk6CgkgIEZpeCBuZWdvdGlhdGlvbiB0byBkZWFsIHdpdGggQU5ZL0VNUFRZIGNhcHMgaW5zdGVhZCBvZiBsZWFraW5nLgoKMjAwNi0wNy0yNCAxMzo0MDo1NiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLio6IFVzZSBpbmZvcm1hdGlvbiBmcm9tICdmYWN0JyBjaHVuayBmb3IgbGVuZ3RoIGNhbGN1bGF0aW9uIG9mIGNvbXByZXNzZWQgc2FtcGxlcy4gQ2FsY3VsYXRlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiAoZ3N0X3dhdnBhcnNlX3Jlc2V0KSwKCSAgKGdzdF93YXZwYXJzZV9vdGhlciksIChnc3Rfd2F2cGFyc2VfcGVyZm9ybV9zZWVrKSwKCSAgKGdzdF93YXZwYXJzZV9nZXRfdXBzdHJlYW1fc2l6ZSksIChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2hlYWRlcnMpLAoJICAoZ3N0X3dhdnBhcnNlX2FkZF9zcmNfcGFkKSwgKGdzdF93YXZwYXJzZV9zdHJlYW1fZGF0YSksCgkgIChnc3Rfd2F2cGFyc2VfcGFkX3F1ZXJ5KToKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuaDoKCSAgVXNlIGluZm9ybWF0aW9uIGZyb20gJ2ZhY3QnIGNodW5rIGZvciBsZW5ndGggY2FsY3VsYXRpb24gb2YgY29tcHJlc3NlZAoJICBzYW1wbGVzLiBDYWxjdWxhdGUgYnBzIGlmIGJvZ3VzIHZhbHVlIGlzIGZvdW5kIGluIHdhdiBoZWFkZXIgKGVtYmVkZWQKCSAgbXAyL21wMykuCgoyMDA2LTA3LTI0IDExOjQ4OjAzICswMDAwICBKb25pIFZhbHRhbmVuIDxqb25pLnZhbHRhbmVuQG1vdmlhbC5maT4KCgkgIFBvcnQgdWRwIHBsdWdpbiB0byB3aW4zMiAoIzM0NTI4OCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBCYXNlZCBvbiBwYXRjaCBieTogSm9uaSBWYWx0YW5lbiAgPGpvbmkgZG90IHZhbHRhbmVuIGF0IG1vdmlhbCBmaT4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L3VkcC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdWRwL2dzdGR5bnVkcHNpbmsuYzogKGdzdF9keW51ZHBzaW5rX2luaXQpLAoJICAoZ3N0X2R5bnVkcHNpbmtfZmluYWxpemUpLCAoZ3N0X2R5bnVkcHNpbmtfY2xvc2UpOgoJICAqIGdzdC91ZHAvZ3N0ZHludWRwc2luay5oOgoJICAqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6IChnc3RfbXVsdGl1ZHBzaW5rX2luaXQpLAoJICAoZ3N0X211bHRpdWRwc2lua19maW5hbGl6ZSksIChnc3RfbXVsdGl1ZHBzaW5rX2Nsb3NlKToKCSAgKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5oOgoJICAqIGdzdC91ZHAvZ3N0dWRwLmM6IChwbHVnaW5faW5pdCk6CgkgICogZ3N0L3VkcC9nc3R1ZHBzaW5rLmg6CgkgICogZ3N0L3VkcC9nc3R1ZHBzcmMuYzogKGdzdF91ZHBzcmNfaW5pdCksIChnc3RfdWRwc3JjX2NyZWF0ZSksCgkgIChnc3RfdWRwc3JjX3N0YXJ0KSwgKGdzdF91ZHBzcmNfc3RvcCk6CgkgICogZ3N0L3VkcC9nc3R1ZHBzcmMuaDoKCSAgKiBnc3QvdWRwL2dzdHVkcG5ldHV0aWxzLmM6IChnc3RfdWRwX25ldF91dGlsc193aW4zMl9pbmV0X2F0b24pLAoJICAoZ3N0X3VkcF9uZXRfdXRpbHNfd2luMzJfd3NhX3N0YXJ0dXApOgoJICAqIGdzdC91ZHAvZ3N0dWRwbmV0dXRpbHMuaDoKCSAgUG9ydCB1ZHAgcGx1Z2luIHRvIHdpbjMyICgjMzQ1Mjg4KS4KCjIwMDYtMDctMjQgMTE6MDA6MzQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9ydHNwY29ubmVjdGlvbi5jOiBSZW1vdmUgdW53YW50ZWQgREVCVUcgbGluZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvcnRzcGNvbm5lY3Rpb24uYzogKHJ0c3BfY29ubmVjdGlvbl9zZW5kKToKCSAgUmVtb3ZlIHVud2FudGVkIERFQlVHIGxpbmUuCgoyMDA2LTA3LTIzIDExOjMzOjU0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2lkM2RlbXV4LzogT24gc2Vjb25kIHRob3VnaHQsIGl0IG1pZ2h0IGJlIHdpc2VyIGFuZCBtb3JlIGVmZmljaWVudCBub3QgdG8gZG8gdGFnIHJlZ2lzdHJhdGlvbiBmcm9tIGEgc3RyZWFtaW5nIHRoLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pZDNkZW11eC9nc3RpZDNkZW11eC5jOiAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9pZDNkZW11eC9pZDN0YWdzLmM6CgkgIChpZDNkZW11eF9hZGRfaWQzdjJfZnJhbWVfYmxvYl90b190YWdsaXN0KToKCSAgKiBnc3QvaWQzZGVtdXgvaWQzdGFncy5oOgoJICBPbiBzZWNvbmQgdGhvdWdodCwgaXQgbWlnaHQgYmUgd2lzZXIgYW5kIG1vcmUgZWZmaWNpZW50CgkgIG5vdCB0byBkbyB0YWcgcmVnaXN0cmF0aW9uIGZyb20gYSBzdHJlYW1pbmcgdGhyZWFkLgoKMjAwNi0wNy0yMyAxMDo1NjoyNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9pZDNkZW11eC9pZDN0YWdzLmM6IFB1dCBJRDN2MiBmcmFtZXMgd2UgY2FuJ3QgcGFyc2UgYXMgYmluYXJ5IGJsb2JzIGludG8gcHJpdmF0ZSB0YWdzLCBzbyB0aGF0IHRoZXkgYXJlIG5vdCBsb3N0IC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaWQzZGVtdXgvaWQzdGFncy5jOgoJICAoaWQzZGVtdXhfYWRkX2lkM3YyX2ZyYW1lX2Jsb2JfdG9fdGFnbGlzdCksCgkgIChpZDNkZW11eF9pZDN2Ml9mcmFtZXNfdG9fdGFnX2xpc3QpOgoJICBQdXQgSUQzdjIgZnJhbWVzIHdlIGNhbid0IHBhcnNlIGFzIGJpbmFyeSBibG9icyBpbnRvIHByaXZhdGUKCSAgdGFncywgc28gdGhhdCB0aGV5IGFyZSBub3QgbG9zdCB3aGVuIHJldGFnZ2luZywgYXQgbGVhc3Qgb25jZQoJICBpZDN2Mm11eCBoYXMgYmVlbiB0YXVnaHQgdG8gcmUtaW5qZWN0IHRob3NlIGZyYW1lcyBhZ2Fpbi4KCSAgU2VlIGJ1ZyAjMzM0Mzc1LgoKMjAwNi0wNy0yMSAxMDo1NzowMCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogRml4IHNvbWUgbGVha3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfcGFyc2Vfc3RyZWFtKSwKCSAgKGdzdF9hdmlfZGVtdXhfcHJvY2Vzc19uZXh0X2VudHJ5KToKCSAgRml4IHNvbWUgbGVha3MuCgkgICogZ3N0L2lkM2RlbXV4L2lkM3RhZ3MuYzogKGlkM2RlbXV4X2lkM3YyX2ZyYW1lc190b190YWdfbGlzdCk6CgkgIERvbid0IHVzZSBcbiBpbiBkZWJ1ZyBsaW5lcy4KCjIwMDYtMDctMjAgMTg6NDg6MzIgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGRvY3MvcGx1Z2lucy86IEFkZCBhbm5vZGV4IGFuZCBpY3lkZW11eCwgY2xlYW51cCB0aGUgc2VjdGlvbnMgYSBiaXQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgIEFkZCBhbm5vZGV4IGFuZCBpY3lkZW11eCwgY2xlYW51cCB0aGUgc2VjdGlvbnMgYSBiaXQKCjIwMDYtMDctMTkgMTQ6MzY6MDAgKzAwMDAgIE1hcnRpbiBTenVsZWNraSA8Y29tcGl6QHN1a2ltYXNoaXRhLmNvbT4KCgkgIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzogSWYgImRldmljZS1uYW1lIiBpcyByZXF1ZXN0ZWQgYW5kIHRoZSBkZXZpY2UgaXMgbm90IG9wZW4sIHRyeSB0byB0ZW1wb3JhcmlseSBvcGVuIGl0IHRvIG9idC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE1hcnRpbiBTenVsZWNraQoJICAqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzogKGdzdF92NGwyX29iamVjdF9nZXRfcHJvcGVydHlfaGVscGVyKToKCSAgSWYgImRldmljZS1uYW1lIiBpcyByZXF1ZXN0ZWQgYW5kIHRoZSBkZXZpY2UgaXMgbm90CgkgIG9wZW4sIHRyeSB0byB0ZW1wb3JhcmlseSBvcGVuIGl0IHRvIG9idGFpbiB0aGlzCgkgIGluZm9ybWF0aW9uICgjMzQyNDk0KS4KCjIwMDYtMDctMTkgMTE6NTI6NTMgKzAwMDAgIEFsZXggTGFuY2FzdGVyIDxhbGV4bEB1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBleHQvdGFnbGliL2dzdGlkM3YybXV4LmNjOiBXcml0ZSBHU1RfVEFHX0VOQ09ERVIgYW5kIEdTVF9UQUdfRU5DT0RFUl9WRVJTSU9OIGFzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogQWxleCBMYW5jYXN0ZXIgPGFsZXhsIGF0IHVzZXJzIHNvdXJjZWZvcmdlIG5ldD4KCSAgKiBleHQvdGFnbGliL2dzdGlkM3YybXV4LmNjOgoJICBXcml0ZSBHU1RfVEFHX0VOQ09ERVIgYW5kIEdTVF9UQUdfRU5DT0RFUl9WRVJTSU9OIGFzCgkgIElEM3YyIFRTU0UgZnJhbWVzICgjMzQ3ODk4KS4KCjIwMDYtMDctMTkgMDc6NDA6NTIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBDaGFuZ2VMb2c6CgkgIENoYW5nZUxvZyBzdXJnZXJ5OiBtZW50aW9uIGZpeGVkIGJ1ZwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQ2hhbmdlTG9nIHN1cmdlcnk6IG1lbnRpb24gZml4ZWQgYnVnCgoyMDA2LTA3LTE4IDE5OjU5OjAxICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvYXZpL2dzdGF2aW11eC5jOiBSZXNwZWN0IG1wZWd2ZXJzaW9uIGZvciAidmlkZW8vbXBlZyIgYW5kIGdpdmUgbWVzc2FnZSBpbiBjYXNlIG9mIHVuaGFuZGxlZCB2ZXJzaW9ucy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmltdXguYzogKGdzdF9hdmlfbXV4X3ZpZHNpbmtfc2V0X2NhcHMpOgoJICBSZXNwZWN0IG1wZWd2ZXJzaW9uIGZvciAidmlkZW8vbXBlZyIgYW5kIGdpdmUgbWVzc2FnZSBpbiBjYXNlIG9mCgkgIHVuaGFuZGxlZCB2ZXJzaW9ucy4KCjIwMDYtMDctMTggMTg6MDU6MTUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IEZpeCBjYXBzIGFmdGVyIHByZXZpb3VzIGNoYW5nZSB0byBieXRlIG9yZGVyIGVuZGlhbm5lc3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzogKGdzdF93YXZwYWNrX2RlY19jaGFpbik6CgkgIEZpeCBjYXBzIGFmdGVyIHByZXZpb3VzIGNoYW5nZSB0byBieXRlIG9yZGVyIGVuZGlhbm5lc3MuCgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IChnc3Rfd2F2cGFja19wYXJzZV9yZXNldCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9zaW5rX2V2ZW50KSwgKGdzdF93YXZwYWNrX3BhcnNlX2luaXQpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfbG9vcCk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmg6CgkgIFF1ZXVlIGluY29taW5nIGV2ZW50cyBpZiB0aGVyZSdzIG5vIHNvdXJjZSBwYWQgeWV0IGFuZAoJICBzZW5kIHRoZW0gZG93bnN0cmVhbSBsYXRlciB3aGVuIHRoZSBwYWQgaXMgdGhlcmUuCgoyMDA2LTA3LTE4IDE2OjQ3OjI1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy4qOiBPdXRwdXQgYXVkaW8gaW4gbmF0aXZlIGJ5dGUgb3JkZXIgKHdoaWNoIGlzIGFsc28gaG93IHdlIGdldCBzYW1wbGVzIGZyb20gd2F2cGFjayk7IG91dHB1Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzogKGdzdF93YXZwYWNrX2RlY19pbml0KSwKCSAgKGdzdF93YXZwYWNrX2RlY19mb3JtYXRfc2FtcGxlcyksCgkgIChnc3Rfd2F2cGFja19kZWNfY2xpcF9vdXRnb2luZ19idWZmZXIpLCAoZ3N0X3dhdnBhY2tfZGVjX2NoYWluKSwKCSAgKGdzdF93YXZwYWNrX2RlY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuaDoKCSAgT3V0cHV0IGF1ZGlvIGluIG5hdGl2ZSBieXRlIG9yZGVyICh3aGljaCBpcyBhbHNvIGhvdyB3ZSBnZXQKCSAgc2FtcGxlcyBmcm9tIHdhdnBhY2spOyBvdXRwdXQgc2FtcGxlcyB3aXRoIDIxLTI0IGJpdCBkZXB0aAoJICB3aXRoIDMyIGJpdCB3aWR0aCAobWFrZXMgdGhpbmdzIGVhc2llciBmb3IgdXMpLgoKMjAwNi0wNy0xOCAxNTo1MzozNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuKjogTW9yZSBjbGVhbi11cHM6IHJlbW92ZSBtb3N0IG9mIHRoZSBkaXNmdW5jdGlvbmFsIGNvcnJlY3Rpb24gcGFkIHN0dWZmIGZvciBub3csIGlmIGl0IGV2ZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IChnc3Rfd2F2cGFja19kZWNfYmFzZV9pbml0KSwKCSAgKGdzdF93YXZwYWNrX2RlY19jbGFzc19pbml0KSwgKGdzdF93YXZwYWNrX2RlY19pbml0KSwKCSAgKGdzdF93YXZwYWNrX2RlY19maW5hbGl6ZSksIChnc3Rfd2F2cGFja19kZWNfZm9ybWF0X3NhbXBsZXMpLAoJICAoZ3N0X3dhdnBhY2tfZGVjX2NsaXBfb3V0Z29pbmdfYnVmZmVyKSwgKGdzdF93YXZwYWNrX2RlY19jaGFpbiksCgkgIChnc3Rfd2F2cGFja19kZWNfc2lua19ldmVudCksIChnc3Rfd2F2cGFja19kZWNfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmg6CgkgIE1vcmUgY2xlYW4tdXBzOiByZW1vdmUgbW9zdCBvZiB0aGUgZGlzZnVuY3Rpb25hbCBjb3JyZWN0aW9uCgkgIHBhZCBzdHVmZiBmb3Igbm93LCBpZiBpdCBldmVyIGdldHMgaW1wbGVtZW50ZWQgYSBsb3Qgb2Ygc3R1ZmYKCSAgd2lsbCBoYXZlIHRvIGJlIHJld3JpdHRlbiBhbnl3YXk7IHJlZG8gY2hhaW4gZnVuY3Rpb24sIG1vdmUKCSAgZXJyb3JzIHRvIGVuZCwgZXJyb3Igb3V0IGluc3RlYWQgb2YgZ19hc3NlcnQoKWluZy4gQWxzbyByZW5hbWUKCSAgb3Zlcmx5IGxvbmcgdmFyaWFibGUgJ3dhdnBhY2tkZWMnIHRvIGp1c3QgJ2RlYyc7IG1pc2NlbGxhbmVvdXMKCSAgb3RoZXIgc21hbGwgc3R1ZmYuCgoyMDA2LTA3LTE4IDE0OjA4OjA2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBjb25maWd1cmUuYWM6IENoZWNrIGZvciB3YXZwYWNrIHZlcnNpb24gYW5kIGRlZmluZSBXQVZQQUNLX09MRF9BUEkgaWYgbmVjZXNzYXJ5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vIGF0IGNpcmN1bGFyLWNoYW9zLm9yZz4KCSAgKiBjb25maWd1cmUuYWM6CgkgIENoZWNrIGZvciB3YXZwYWNrIHZlcnNpb24gYW5kIGRlZmluZSBXQVZQQUNLX09MRF9BUEkgaWYKCSAgbmVjZXNzYXJ5LgoJICAqIGV4dC93YXZwYWNrL01ha2VmaWxlLmFtOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tjb21tb24uYzogKGdzdF93YXZwYWNrX3JlYWRfaGVhZGVyKSwKCSAgKGdzdF93YXZwYWNrX3JlYWRfbWV0YWRhdGEpOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tjb21tb24uaDoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IChnc3Rfd2F2cGFja19kZWNfYmFzZV9pbml0KSwKCSAgKGdzdF93YXZwYWNrX2RlY19jbGFzc19pbml0KSwgKGdzdF93YXZwYWNrX2RlY19pbml0KSwKCSAgKGdzdF93YXZwYWNrX2RlY19maW5hbGl6ZSksIChnc3Rfd2F2cGFja19kZWNfZm9ybWF0X3NhbXBsZXMpLAoJICAoZ3N0X3dhdnBhY2tfZGVjX2NsaXBfb3V0Z29pbmdfYnVmZmVyKSwgKGdzdF93YXZwYWNrX2RlY19jaGFpbiksCgkgIChnc3Rfd2F2cGFja19kZWNfc2lua19ldmVudCksIChnc3Rfd2F2cGFja19kZWNfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF93YXZwYWNrX2RlY19yZXF1ZXN0X25ld19wYWQpLCAoZ3N0X3dhdnBhY2tfZGVjX3BsdWdpbl9pbml0KToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmg6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOiAoZ3N0X3dhdnBhY2tfZW5jX2NsYXNzX2luaXQpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX2luaXQpLCAoZ3N0X3dhdnBhY2tfZW5jX2ZpbmFsaXplKSwKCSAgKGdzdF93YXZwYWNrX2VuY19zZXRfd3BfY29uZmlnKToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogKGdzdF93YXZwYWNrX3BhcnNlX2Jhc2VfaW5pdCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9maW5hbGl6ZSksIChnc3Rfd2F2cGFja19wYXJzZV9jbGFzc19pbml0KSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2luZGV4X2dldF9lbnRyeV9mcm9tX3NhbXBsZSksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9zY2FuX3RvX2ZpbmRfc2FtcGxlKSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2hhbmRsZV9zZWVrX2V2ZW50KSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2NyZWF0ZV9zcmNfcGFkKToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrc3RyZWFtcmVhZGVyLmM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3N0cmVhbXJlYWRlci5oOgoJICBQb3J0IHRvIG5ldy9vZmZpY2lhbCB3YXZwYWNrIEFQSSwgZG9uJ3QgdXNlIEFQSSB0aGF0IHdhcyBleHBvcnRlZAoJICBpbiB3YXZwYWNrIGhlYWRlciBmaWxlcyBhbmQgaW4gdGhlIGxpYiBidXQgbWVhbnQgdG8gYmUgcHJpdmF0ZSwgYXQKCSAgbGVhc3Qgbm90IGZvciByZWNlbnQgd2F2cGFjayB2ZXJzaW9uczsgbWlzYy4gJ2NsZWFudXBzJyAoIzM0NzQ0MykuCgoyMDA2LTA3LTE3IDEwOjI1OjU3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBTdG9yZSBkdXJhdGlvbiBpbiB1aW50NjQgdG9vIGluc3RlYWQgb2YgY2xpcHBpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X3BlcmZvcm1fc2VlayksCgkgIChnc3RfcXRkZW11eF9wcmVwYXJlX2N1cnJlbnRfc2FtcGxlKSwKCSAgKGdzdF9xdGRlbXV4X2xvb3Bfc3RhdGVfbW92aWUpOgoJICBTdG9yZSBkdXJhdGlvbiBpbiB1aW50NjQgdG9vIGluc3RlYWQgb2YgY2xpcHBpbmcuCgkgIFdoZW4gd2UgZG8gYSBrZXlmcmFtZSBzZWVrIGFuZCB0aGUgcmVxdWVzdGVkIHRpbWUgaXMgYXQgdGhlCgkgIGtleWZyYW1lLCBkb24ndCBzZWVrIGJhY2sgdG8gdGhlIGJlZ2lubmluZyBvZiB0aGUga2V5ZnJhbWUuCgkgIEZpeGVzICMzNDc0MzkuCgoyMDA2LTA3LTE3IDEwOjIyOjU0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L2xpYnBuZy9nc3RwbmdkZWMuKjogVXNlIHN0YXRpY2FsbHkgYWxsb2NhdGVkIHNlZ21lbnQgaW5zdGVhZCBvZiBsZWFraW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOiAoZ3N0X3BuZ2RlY19pbml0KSwgKGJ1ZmZlcl9jbGlwKSwKCSAgKGdzdF9wbmdkZWNfY2Fwc19jcmVhdGVfYW5kX3NldCksIChnc3RfcG5nZGVjX3Rhc2spLAoJICAoZ3N0X3BuZ2RlY19jaGFpbiksIChnc3RfcG5nZGVjX3NpbmtfZXZlbnQpLAoJICAoZ3N0X3BuZ2RlY19saWJwbmdfaW5pdCksIChnc3RfcG5nZGVjX2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfcG5nZGVjX3NpbmtfYWN0aXZhdGVfcHVzaCk6CgkgICogZXh0L2xpYnBuZy9nc3RwbmdkZWMuaDoKCSAgVXNlIHN0YXRpY2FsbHkgYWxsb2NhdGVkIHNlZ21lbnQgaW5zdGVhZCBvZiBsZWFraW5nLgoJICBWYXJpb3VzIGNsZWFudXBzLgoJICBGaXggZmx1c2ggYW5kIHNlZWsgaGFuZGxpbmcuCgoyMDA2LTA3LTE2IDE0OjMxOjQ4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC86IEFkZGVkIHNpbXBsZSBnZW5lcmljIG1wZWc0IGRlcGF5bG9hZGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9ydHAvZ3N0cnRwLmM6IChwbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBtcDRnZGVwYXkuYzogKGdzdF9ydHBfbXA0Z19kZXBheV9iYXNlX2luaXQpLAoJICAoZ3N0X3J0cF9tcDRnX2RlcGF5X2NsYXNzX2luaXQpLCAoZ3N0X3J0cF9tcDRnX2RlcGF5X2luaXQpLAoJICAoZ3N0X3J0cF9tcDRnX2RlcGF5X3NldGNhcHMpLCAoZ3N0X3J0cF9tcDRnX2RlcGF5X3Byb2Nlc3MpLAoJICAoZ3N0X3J0cF9tcDRnX2RlcGF5X3NldF9wcm9wZXJ0eSksCgkgIChnc3RfcnRwX21wNGdfZGVwYXlfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9ydHBfbXA0Z19kZXBheV9jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X3J0cF9tcDRnX2RlcGF5X3BsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGdkZXBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0Z3BheS5jOiAoZ3N0X3J0cF9tcDRnX3BheV9jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBfbXA0Z19wYXlfcGFyc2VfYXVkaW9fY29uZmlnKSwgKGdzdF9ydHBfbXA0Z19wYXlfc2V0Y2FwcyksCgkgIChnc3RfcnRwX21wNGdfcGF5X2ZsdXNoKToKCSAgQWRkZWQgc2ltcGxlIGdlbmVyaWMgbXBlZzQgZGVwYXlsb2FkZXIuCgkgIEZpeCBnZW5lcmljIG1wZWc0IHBheWxvYWRlci4KCjIwMDYtMDctMTUgMTU6MjU6MDUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IERvbid0IHRyeSBkb2luZyBzdGF0ZSBjaGFuZ2VzIG9uIGEgTlVMTCBwb2ludGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19zZXRfc3RhdGUpOgoJICBEb24ndCB0cnkgZG9pbmcgc3RhdGUgY2hhbmdlcyBvbiBhIE5VTEwgcG9pbnRlci4KCjIwMDYtMDctMTUgMTE6NTA6MjUgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9zcGVjdHJ1bS86IERvIG5vdCB1c2UgZGVwcmVjYXRlZCBndGsgZnVuY3Rpb25zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlY3RydW0vZGVtby1hdWRpb3Rlc3QuYzogKG1haW4pOgoJICAqIGdzdC9zcGVjdHJ1bS9kZW1vLW9zc3NyYy5jOiAobWFpbik6CgkgIERvIG5vdCB1c2UgZGVwcmVjYXRlZCBndGsgZnVuY3Rpb25zLgoKMjAwNi0wNy0xNCAxMzozMzo1NCArMDAwMCAgU2ViYXN0aWVuIENvdGUgPHNlYmFzNjQyQHlhaG9vLmNhPgoKCSAgZ3N0L3J0cC9nc3RydHBhbXJkZXBheS4qOiBydHBhbXJkZWMgaXNuJ3QgYSBzdWJjbGFzcyBvZiBHc3RCYXNlUnRwRGVwYXlsb2FkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFNlYmFzdGllbiBDb3RlIDxzZWJhczY0MiBhdCB5YWhvbyBkb3QgY2E+CgkgICogZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5jOiAoZ3N0X3J0cF9hbXJfZGVwYXlfYmFzZV9pbml0KSwKCSAgKGdzdF9ydHBfYW1yX2RlcGF5X2NsYXNzX2luaXQpLCAoZ3N0X3J0cF9hbXJfZGVwYXlfaW5pdCksCgkgIChnc3RfcnRwX2Ftcl9kZXBheV9zZXRjYXBzKSwgKGdzdF9ydHBfYW1yX2RlcGF5X3Byb2Nlc3MpOgoJICAqIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuaDoKCSAgcnRwYW1yZGVjIGlzbid0IGEgc3ViY2xhc3Mgb2YgR3N0QmFzZVJ0cERlcGF5bG9hZC4KCSAgRml4ZXMgIzMyMTE5MQoKMjAwNi0wNy0xNCAxMjowMTowNSArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6IEZpeCBzZWdmYXVsdCB3aGVuIG1vdmluZyBtb3VzZSBwb2ludGVyIHRvIHRoZSBib3R0b20gcmlnaHQgY29ybmVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wNy0xNCAgWmFoZWVyIEFiYmFzIE1lcmFsaSAgPHphaGVlcmFiYmFzIGF0IG1lcmFsaSBkb3Qgb3JnPgoJICAqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6IChnc3RfeGltYWdlX3NyY194aW1hZ2VfZ2V0KSwKCSAgKGdzdF94aW1hZ2Vfc3JjX2dldF9jYXBzKSwgKGdzdF94aW1hZ2Vfc3JjX2NsYXNzX2luaXQpOgoJICBGaXggc2VnZmF1bHQgd2hlbiBtb3ZpbmcgbW91c2UgcG9pbnRlciB0byB0aGUgYm90dG9tIHJpZ2h0IGNvcm5lci4KCjIwMDYtMDctMTMgMTU6MjI6MjAgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogY29tbW9uOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXRkZW11eC54bWw6CgkgIHJlbW92ZSBzZGx2aWRlb3NpbmsgcGx1Z2luIGFuZCB1cGRhdGUgdGhlIHJlc3QKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHJlbW92ZSBzZGx2aWRlb3NpbmsgcGx1Z2luIGFuZCB1cGRhdGUgdGhlIHJlc3QKCjIwMDYtMDctMTIgMDk6MzQ6MTUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwLzogQWRkZWQgbXBlZzIgVFMgZGVwYXlsb2FkZXIuIENsb3NpbmcgIzM0NzIzNC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcnRwL2dzdHJ0cC5jOiAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXAydGRlcGF5LmM6IChnc3RfcnRwX21wMnRfZGVwYXlfYmFzZV9pbml0KSwKCSAgKGdzdF9ydHBfbXAydF9kZXBheV9jbGFzc19pbml0KSwgKGdzdF9ydHBfbXAydF9kZXBheV9pbml0KSwKCSAgKGdzdF9ydHBfbXAydF9kZXBheV9zZXRjYXBzKSwgKGdzdF9ydHBfbXAydF9kZXBheV9wcm9jZXNzKSwKCSAgKGdzdF9ydHBfbXAydF9kZXBheV9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3J0cF9tcDJ0X2RlcGF5X2dldF9wcm9wZXJ0eSksCgkgIChnc3RfcnRwX21wMnRfZGVwYXlfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9ydHBfbXAydF9kZXBheV9wbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBtcDJ0ZGVwYXkuaDoKCSAgQWRkZWQgbXBlZzIgVFMgZGVwYXlsb2FkZXIuIENsb3NpbmcgIzM0NzIzNC4KCjIwMDYtMDctMTIgMDk6Mjg6NDYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogRml4IHR5cG8gaW4gcHJvcGVydHkgbmljay4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IChnc3Rfc3BlY3RydW1fY2xhc3NfaW5pdCk6CgkgIEZpeCB0eXBvIGluIHByb3BlcnR5IG5pY2suCgoyMDA2LTA3LTExIDIyOjQ2OjQ3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2NkaW8vZ3N0Y2Rpb2NkZGFzcmMuYzogUmVtb3ZlIGdfYXNzZXJ0IHRoYXQgc2hvdWxkbid0IGJlIHRoZXJlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvY2Rpby9nc3RjZGlvY2RkYXNyYy5jOiAoZ3N0X2NkaW9fY2RkYV9zcmNfY2xvc2UpOgoJICBSZW1vdmUgZ19hc3NlcnQgdGhhdCBzaG91bGRuJ3QgYmUgdGhlcmUuCgoyMDA2LTA3LTEwIDIwOjExOjM0ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC4qOiBEb24ndCBwdXNoIHRhZyBldmVudHMgZm91bmQgYnkgZ3N0X3JpZmZfcGFyc2VfaW5mbygpIGJlZm9yZSBvdXRwdXR0aW5nCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfcmVzZXQpLAoJICAoZ3N0X2F2aV9kZW11eF9zdHJlYW1faGVhZGVyKSwgKHB1c2hfdGFnX2xpc3RzKToKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4Lmg6CgkgIERvbid0IHB1c2ggdGFnIGV2ZW50cyBmb3VuZCBieSBnc3RfcmlmZl9wYXJzZV9pbmZvKCkgYmVmb3JlIG91dHB1dHRpbmcKCSAgR1NUX0VWRU5UX05FV1NFR01FTlQuCgoyMDA2LTA3LTEwIDE2OjQxOjU3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvOiByZXBsYWNlZCBjbG9zZXNvY2tldCBhbmQgY2xvc2UgaW4gY29kZSB3aXRoIG9uZSBDTE9TRV9TT0NLRVQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9ydHNwL3J0c3Bjb25uZWN0aW9uLmM6IChydHNwX2Nvbm5lY3Rpb25fc2VuZCksCgkgIChydHNwX2Nvbm5lY3Rpb25fY2xvc2UpOgoJICAqIGdzdC9ydHNwL3J0c3BkZWZzLmg6CgkgIHJlcGxhY2VkIGNsb3Nlc29ja2V0IGFuZCBjbG9zZSBpbiBjb2RlIHdpdGggb25lIENMT1NFX1NPQ0tFVC4KCSAgU29tZSBtb3JlIGNsZWFudXBzLiBGaXhlcyAjMzQ1MzAxLgoKMjAwNi0wNy0xMCAxNToyNjozOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NpbmsuYzogRml4IGV4YW1wbGUgcGlwZWxpbmUgaW4gZG9jcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc2luay5jOgoJICBGaXggZXhhbXBsZSBwaXBlbGluZSBpbiBkb2NzLgoKMjAwNi0wNy0xMCAxNDo0OTo0NiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9maWx0ZXIvOiBEb24ndCBmb3JnZXQgbmV3IGZpbGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuaDoKCSAgKiBnc3QvZmlsdGVyL2dzdGlpci5oOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5oOgoJICBEb24ndCBmb3JnZXQgbmV3IGZpbGVzLgoKMjAwNi0wNy0xMCAxNDo0MjoxNSArMDAwMCAgTWF0aGlzIEhvZmVyIDxtYXRoaXMuaG9mZXJAZHJlYW1sYWIubmV0PgoKCSAgUG9ydGVkIHRoZSBnc3RmaWx0ZXIgcGx1Z2luIHRvIEdTdHJlYW1lciAwLjEwLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE1hdGhpcyBIb2ZlciA8bWF0aGlzIGRvdCBob2ZlciBhdCBkcmVhbWxhYiBkb3QgbmV0PgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvZmlsdGVyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5jOiAoZ3N0X2Jwd3NpbmNfZGlzcG9zZSksCgkgIChnc3RfYnB3c2luY19iYXNlX2luaXQpLCAoZ3N0X2Jwd3NpbmNfY2xhc3NfaW5pdCksCgkgIChnc3RfYnB3c2luY19pbml0KSwgKGJwd3NpbmNfc2V0X2NhcHMpLCAoYnB3c2luY190cmFuc2Zvcm1faXApLAoJICAoYnB3c2luY19zZXRfcHJvcGVydHkpLCAoYnB3c2luY19nZXRfcHJvcGVydHkpOgoJICAqIGdzdC9maWx0ZXIvZ3N0ZmlsdGVyLmM6IChwbHVnaW5faW5pdCk6CgkgICogZ3N0L2ZpbHRlci9nc3RmaWx0ZXIuaDoKCSAgKiBnc3QvZmlsdGVyL2dzdGlpci5jOiAoZ3N0X2lpcl9kaXNwb3NlKSwgKGdzdF9paXJfYmFzZV9pbml0KSwKCSAgKGdzdF9paXJfY2xhc3NfaW5pdCksIChnc3RfaWlyX2luaXQpLCAoaWlyX3NldF9jYXBzKSwKCSAgKGlpcl90cmFuc2Zvcm1faXApLCAoaWlyX3NldF9wcm9wZXJ0eSksIChpaXJfZ2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuYzogKGdzdF9scHdzaW5jX2Rpc3Bvc2UpLAoJICAoZ3N0X2xwd3NpbmNfYmFzZV9pbml0KSwgKGdzdF9scHdzaW5jX2NsYXNzX2luaXQpLAoJICAoZ3N0X2xwd3NpbmNfaW5pdCksIChscHdzaW5jX3NldF9jYXBzKSwgKGxwd3NpbmNfdHJhbnNmb3JtX2lwKSwKCSAgKGxwd3NpbmNfc2V0X3Byb3BlcnR5KSwgKGxwd3NpbmNfZ2V0X3Byb3BlcnR5KToKCSAgUG9ydGVkIHRoZSBnc3RmaWx0ZXIgcGx1Z2luIHRvIEdTdHJlYW1lciAwLjEwLgoKMjAwNi0wNy0xMCAxMDoyMTo1NyArMDAwMCAgUm9iIFRheWxvciA8cm9idGF5bG9yQGZsb29waWx5Lm9yZz4KCgkgIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6IElmIGEgZGVzdGluYXRpb24gaXMgYWRkZWQgYmVmb3JlIHRoZSBzdHJlYW0gaXMgc2V0IHRvIFBBVVNFRCwgdGhlIG11bHRpY2FzdCBncm91cCBpcyBub3Qgai4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFJvYiBUYXlsb3IgPHJvYnRheWxvciBhdCBmbG9vcGlseSBkb3Qgb3JnPgoJICAqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6IChqb2luX211bHRpY2FzdCksCgkgIChnc3RfbXVsdGl1ZHBzaW5rX2luaXRfc2VuZCksIChnc3RfbXVsdGl1ZHBzaW5rX2FkZCk6CgkgIElmIGEgZGVzdGluYXRpb24gaXMgYWRkZWQgYmVmb3JlIHRoZSBzdHJlYW0gaXMgc2V0IHRvIFBBVVNFRCwgdGhlCgkgIG11bHRpY2FzdCBncm91cCBpcyBub3Qgam9pbmVkIGFzIHRoZSBzb2NrZXQgaXMgbm90IGNyZWF0ZWQgeWV0LgoJICBBbHNvIFRUTCBhbmQgTE9PUCBzaG91bGQgYWxzbyBiZSBzZXQuIEZpeGVzICMzNDY5MjEuCgoyMDA2LTA3LTEwIDA5OjU3OjI2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBFeHRyYWN0IGNvbW1lbnQgaW5mb3JtYXRpb24hIQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3BhcnNlX3VkdGEpOgoJICBFeHRyYWN0IGNvbW1lbnQgaW5mb3JtYXRpb24hIQoKMjAwNi0wNy0xMCAwOTo0NjoyNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogRXh0cmFjdCB5ZWFyL2RhdGUgaW5mb3JtYXRpb24gKGZpeGVzICMzNDcwNzkpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3BhcnNlX3VkdGEpLAoJICAocXRkZW11eF90YWdfYWRkX2RhdGUpOgoJICBFeHRyYWN0IHllYXIvZGF0ZSBpbmZvcm1hdGlvbiAoZml4ZXMgIzM0NzA3OSkuCgoyMDA2LTA3LTA4IDIyOjQxOjI1ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuKjogRml4IHVzZS1kYW1hZ2UgcHJvcGVydHkgdG8gYWN0dWFsbHkgd29yayA6KQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wNy0wOSAgWmFoZWVyIEFiYmFzIE1lcmFsaSAgPHphaGVlcmFiYmFzIGF0IG1lcmFsaSBkb3Qgb3JnPgoJICAqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6IChnc3RfeGltYWdlX3NyY194aW1hZ2VfZ2V0KSwKCSAgKGdzdF94aW1hZ2Vfc3JjX3NldF9wcm9wZXJ0eSksIChnc3RfeGltYWdlX3NyY19nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3hpbWFnZV9zcmNfZ2V0X2NhcHMpLCAoZ3N0X3hpbWFnZV9zcmNfY2xhc3NfaW5pdCksCgkgIChnc3RfeGltYWdlX3NyY19pbml0KToKCSAgKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5oOgoJICBGaXggdXNlLWRhbWFnZSBwcm9wZXJ0eSB0byBhY3R1YWxseSB3b3JrIDopCgkgIEFkZCBzdGFydHgsIHN0YXJ0eSwgZW5keCwgZW5keSBwcm9wZXJ0aWVzIHNvIHNjcmVlbmNhc3RzIG90aGVyIHRoYW4gZnVsbAoJICBzY3JlZW4gb25lcyBjYW4gd29yay4KCjIwMDYtMDctMDggMTk6MDM6NTQgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy4qOiBBZGQgdXNlX2RhbWFnZSBwcm9wZXJ0eSB0byBvZmZlciBhYmlsaXR5IHRvIGNob29zZSB3aGV0aGVyIHRvIHVzZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wNy0wOCAgWmFoZWVyIEFiYmFzIE1lcmFsaSAgPHphaGVlcmFiYmFzIGF0IG1lcmFsaSBkb3Qgb3JnPgoJICAqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6IChnc3RfeGltYWdlX3NyY194aW1hZ2VfZ2V0KSwKCSAgKGdzdF94aW1hZ2Vfc3JjX3NldF9wcm9wZXJ0eSksIChnc3RfeGltYWdlX3NyY19nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3hpbWFnZV9zcmNfY2xhc3NfaW5pdCksIChnc3RfeGltYWdlX3NyY19pbml0KToKCSAgKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5oOgoJICBBZGQgdXNlX2RhbWFnZSBwcm9wZXJ0eSB0byBvZmZlciBhYmlsaXR5IHRvIGNob29zZSB3aGV0aGVyIHRvIHVzZQoJICBYRGFtYWdlIG9yIG5vdC4KCjIwMDYtMDctMDcgMTU6MDQ6MjkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvZ29vbS9maWx0ZXJzLmM6IEF2b2lkIGdvb20gY29yZWR1bXBpbmcgYnkgY2xlYXJpbmcgbWVtb3J5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZ29vbS9maWx0ZXJzLmM6ICh6b29tRmlsdGVyU2V0UmVzb2x1dGlvbik6CgkgIEF2b2lkIGdvb20gY29yZWR1bXBpbmcgYnkgY2xlYXJpbmcgbWVtb3J5LgoJICBGaXhlcyAzNDU2NzkuCgoyMDA2LTA3LTA3IDE0OjMwOjI2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBEb24ndCBjcmFzaCBvbiB0d29zL3Nvd3QvcmF3IGF1ZGlvLiAjMzQ1ODMwLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3BhcnNlX3RyYWspOgoJICBEb24ndCBjcmFzaCBvbiB0d29zL3Nvd3QvcmF3IGF1ZGlvLiAjMzQ1ODMwLgoKMjAwNi0wNy0wNSAyMDoyMTowMiArMDAwMCAgU8OpYmFzdGllbiBNb3V0dGUgPHNlYmFzdGllbkBtb3V0dGUubmV0PgoKCSAgd2luMzIvdnM2L2xpYmdzdGlkM2RlbXV4LmRzcDogQWRkIGEgbGluayB0byBsaWJnc3R0YWctMC4xMC5saWIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RpZDNkZW11eC5kc3A6CgkgIEFkZCBhIGxpbmsgdG8gbGliZ3N0dGFnLTAuMTAubGliLgoKMjAwNi0wNy0wNSAxNDo1MjoxMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC86IERvbid0IHJldHVybiBGTE9XX1VORVhQRUNURUQgd2hlbiBhIGJ1ZmZlciBpcyBiZWZvcmUgdGhlIHN0YXJ0IG9mIHRoZSBzdHJlYW0gKHdoaWNoIG1pZ2h0IGhhcHBlbiB3aXRoIGxhcmdlIElEMy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXBldGFnL2dzdHRhZ2RlbXV4LmM6IChnc3RfdGFnX2RlbXV4X3RyaW1fYnVmZmVyKSwKCSAgKGdzdF90YWdfZGVtdXhfcmVhZF9yYW5nZSk6CgkgICogZ3N0L2lkM2RlbXV4L2dzdGlkM2RlbXV4LmM6IChnc3RfaWQzZGVtdXhfdHJpbV9idWZmZXIpLAoJICAoZ3N0X2lkM2RlbXV4X3JlYWRfcmFuZ2UpOgoJICBEb24ndCByZXR1cm4gRkxPV19VTkVYUEVDVEVEIHdoZW4gYSBidWZmZXIgaXMgYmVmb3JlCgkgIHRoZSBzdGFydCBvZiB0aGUgc3RyZWFtICh3aGljaCBtaWdodCBoYXBwZW4gd2l0aAoJICBsYXJnZSBJRDN2MiB0YWdzIGlmIHRoZSB0YWcgcmVhZGluZyB3YXMgZG9uZSBwdWxscmFuZ2UKCSAgYmFzZWQgYW5kIHdlIHRoZW4gc3dpdGNoZWQgdG8gcHVzaCBtb2RlIGxhdGVyIG9uKS4KCSAgRml4ZXMgcmVncmVzc2lvbiBpbnRyb2R1Y2VkIGJ5IGNvbW1pdCBmcm9tIEp1bmUgMjl0aC4KCjIwMDYtMDctMDUgMTA6MTQ6MTYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvdGFnbGliL2dzdGlkM3YybXV4LmNjOiBNYWtlIFVURi04IHRoZSBkZWZhdWx0IGVuY29kaW5nIHdoZW4gd3JpdGluZyBzdHJpbmcgdGFncyAoYmVmb3JlLCBvdXIgVVRGLTggc3RyaW5ncyB3b3VsZCAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3RhZ2xpYi9nc3RpZDN2Mm11eC5jYzoKCSAgTWFrZSBVVEYtOCB0aGUgZGVmYXVsdCBlbmNvZGluZyB3aGVuIHdyaXRpbmcgc3RyaW5nCgkgIHRhZ3MgKGJlZm9yZSwgb3VyIFVURi04IHN0cmluZ3Mgd291bGQgYXV0b21hdGljYWxseQoJICBiZSBjb252ZXJ0ZWQgdG8gSVNPLTg4NTktMSBieSB0YWdsaWIgYW5kIHdyaXR0ZW4gYXMKCSAgSVNPLTg4NTktMSBmaWVsZHMgaWYgdGhhdCB3YXMgcG9zc2libGUpLgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2lkM3YybXV4LmM6ICh1dGY4X3N0cmluZ19pbl9idWYpLAoJICAodGVzdF90YWdsaWJfaWQzbXV4X2NoZWNrX3RhZ19idWZmZXIpLCAoaWRlbnRpdHlfY2IpLAoJICAodGVzdF90YWdsaWJfaWQzbXV4X3dpdGhfdGFncyk6CgkgIEFkZCB0ZXN0IGNhc2UgdGhhdCBtYWtlcyBzdXJlIG91ciBVVEYtOCBzdHJpbmdzIGhhdmUKCSAgYWN0dWFsbHkgYmVlbiB3cml0dGVuIGludG8gdGhlIHRhZyBhcyBVVEYtOC4KCjIwMDYtMDctMDQgMTY6MDA6MjYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBjb25maWd1cmUuYWM6IExldCdzIHRyeSB0aGF0IGFnYWluLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIExldCdzIHRyeSB0aGF0IGFnYWluLgoKMjAwNi0wNy0wNCAxNTo0MDo0NyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogRGlzYWJsZSBtb25vc2NvcGUgcGx1Z2luIGZvciBub3cgdW50aWwgaXQgZnVsZmlsbHMgYWxsIHRoZSByZXF1aXJlbWVudHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgRGlzYWJsZSBtb25vc2NvcGUgcGx1Z2luIGZvciBub3cgdW50aWwgaXQgZnVsZmlsbHMKCSAgYWxsIHRoZSByZXF1aXJlbWVudHMuCgoyMDA2LTA3LTAzIDIwOjM1OjQ1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgUG9ydCBtb25vc2NvcGUgdmlzdWFsaXNhdGlvbiB0byAwLjEwLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L21vbm9zY29wZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbW9ub3Njb3BlL2dzdG1vbm9zY29wZS5jOiAoZ3N0X21vbm9zY29wZV9iYXNlX2luaXQpLAoJICAoZ3N0X21vbm9zY29wZV9jbGFzc19pbml0KSwgKGdzdF9tb25vc2NvcGVfaW5pdCksCgkgIChnc3RfbW9ub3Njb3BlX2ZpbmFsaXplKSwgKGdzdF9tb25vc2NvcGVfcmVzZXQpLAoJICAoZ3N0X21vbm9zY29wZV9zaW5rX3NldGNhcHMpLCAoZ3N0X21vbm9zY29wZV9zcmNfc2V0Y2FwcyksCgkgIChnc3RfbW9ub3Njb3BlX3NyY19uZWdvdGlhdGUpLCAoZ2V0X2J1ZmZlciksIChnc3RfbW9ub3Njb3BlX2NoYWluKSwKCSAgKGdzdF9tb25vc2NvcGVfc2lua19ldmVudCksIChnc3RfbW9ub3Njb3BlX3NyY19ldmVudCksCgkgIChnc3RfbW9ub3Njb3BlX2NoYW5nZV9zdGF0ZSksIChwbHVnaW5faW5pdCk6CgkgICogZ3N0L21vbm9zY29wZS9nc3Rtb25vc2NvcGUuaDoKCSAgUG9ydCBtb25vc2NvcGUgdmlzdWFsaXNhdGlvbiB0byAwLjEwLgoKMjAwNi0wNy0wMyAyMDowMjo1NiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogRml4IHNpbGx5IGNyYXNoZXIgaW4gc3RhdGUgY2hhbmdlIGZ1bmN0aW9uOyBhZGQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9xdGRlbXV4X2xvb3Bfc3RhdGVfaGVhZGVyKSwgKHF0ZGVtdXhfdmlkZW9fY2Fwcyk6CgkgIEZpeCBzaWxseSBjcmFzaGVyIGluIHN0YXRlIGNoYW5nZSBmdW5jdGlvbjsgYWRkCgkgIElWNDEgZm91cmNjIChzZWUgYnVnICMxNzExMTEpOyBkb24ndCBvdXRwdXQgY29uZnVzaW5nCgkgIGRlYnVnIG1lc3NhZ2Ugd2hlbiBza2lwcGluZyBhdG9tcy4KCjIwMDYtMDctMDMgMTY6NDM6MTAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvOiBSZXR1cm4gRkxPV19VTkVYUEVDVEVEIHdoZW4gYXQgdGhlIGVuZCBvZiB0aGUgZmlsZSwgbm90CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hcGV0YWcvZ3N0dGFnZGVtdXguYzogKGdzdF90YWdfZGVtdXhfY2hhaW4pOgoJICAqIGdzdC9pZDNkZW11eC9nc3RpZDNkZW11eC5jOiAoZ3N0X2lkM2RlbXV4X2NoYWluKToKCSAgUmV0dXJuIEZMT1dfVU5FWFBFQ1RFRCB3aGVuIGF0IHRoZSBlbmQgb2YgdGhlIGZpbGUsIG5vdAoJICBGTE9XX0VSUk9SLiBGaXhlcyAnaW50ZXJuYWwgc3RyZWFtIGVycm9yJyBlcnJvcnMgdGhhdAoJICB3b3VsZCBzb21ldGltZXMgb2NjdXIgaW4gdG90ZW0gd2hlbiBzY3J1YmJpbmcgdG8gdGhlCgkgIGVuZCBvZiBhbiBJRDN2MSB0YWdnZWQgbXAzIGZpbGUuCgoyMDA2LTA3LTAzIDE1OjMxOjIyICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZXh0L2xpYnBuZy9nc3RwbmdkZWMuKjogSW1wbGVtZW50IGJ1ZmZlciBjbGlwcGluZy9kcm9wcGluZyB1c2luZyBHc3RTZWdtZW50LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOiAoZ3N0X3BuZ2RlY19pbml0KSwgKHVzZXJfaW5mb19jYWxsYmFjayksCgkgIChidWZmZXJfY2xpcCksICh1c2VyX2VuZF9jYWxsYmFjayksIChnc3RfcG5nZGVjX2NoYWluKSwKCSAgKGdzdF9wbmdkZWNfc2lua19ldmVudCksIChnc3RfcG5nZGVjX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L2xpYnBuZy9nc3RwbmdkZWMuaDoKCSAgSW1wbGVtZW50IGJ1ZmZlciBjbGlwcGluZy9kcm9wcGluZyB1c2luZyBHc3RTZWdtZW50LgoJICBUaGlzIHByb3ZpZGVzIGFjY3VyYXRlIHNlZWtpbmcuCgoyMDA2LTA3LTAzIDE1OjI4OjQ4ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC4qOiBQcm9wZXIgYWdncmVnYXRpb24gb2YgZWFjaCBzdHJlYW0ncyBHc3RGbG93UmV0dXJuIGluIG9yZGVyIHRvIGZpZ3VyZSBvdXQgd2hldGhlciB0aGUgdGFzayBzaG91Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfcmVzZXQpLAoJICAoZ3N0X2F2aV9kZW11eF9yZWFkX3N1YmluZGV4ZXMpLCAoZ3N0X2F2aV9kZW11eF9wYXJzZV9zdHJlYW0pLAoJICAoZ3N0X2F2aV9kZW11eF9oYW5kbGVfc2VlayksIChnc3RfYXZpX2RlbXV4X2FnZ3JlZ2F0ZWRfZmxvdyksCgkgIChnc3RfYXZpX2RlbXV4X3Byb2Nlc3NfbmV4dF9lbnRyeSksIChwdXNoX3RhZ19saXN0cyksCgkgIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9kYXRhKSwgKGdzdF9hdmlfZGVtdXhfbG9vcCk6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5oOgoJICBQcm9wZXIgYWdncmVnYXRpb24gb2YgZWFjaCBzdHJlYW0ncyBHc3RGbG93UmV0dXJuIGluIG9yZGVyIHRvIGZpZ3VyZSBvdXQKCSAgd2hldGhlciB0aGUgdGFzayBzaG91bGQgc3RvcCBvciBub3QuCgkgIERvbid0IHNlbmQgaW5saW5lIGV2ZW50cyBiZWZvcmUgcHVzaGluZyBvdXQgYSBORVdfU0VHTUVOVCwgbW9yZQoJICBzcGVjaWZpY2FsbHkgZm9yIEdTVF9UQUdfRVZFTlQuCgkgIENoYW5nZSBhIEdTVF9FUlJPUiB0byBhIEdTVF9XQVJOSU5HIGZvciBhIG5vbi1mYXRhbCBzaXR1YXRpb24gaW4gcmVhZGluZwoJICBzdWItaW5kZXhlcy4KCjIwMDYtMDYtMzAgMDc6MTE6MjQgKzAwMDAgIEJyaWFuIENhbWVyb24gPGJyaWFuLmNhbWVyb25Ac3VuLmNvbT4KCgkgIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVyY3RybC5jOiBNb3ZlICJNb25pdG9yIiBzbGlkZXIgdG8gaW5wdXQgdGFiIHNvIGl0IHdvcmtzIG1vcmUgbGlrZSBzZHRhdWRpb2NvbnRyb2wsIHdoaWNoIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEJyaWFuIENhbWVyb24gIDxicmlhbiBkb3QgY2FtZXJvbiBhdCBzdW4gZG90IGNvbT4KCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlcmN0cmwuYzoKCSAgKGdzdF9zdW5hdWRpb21peGVyX2N0cmxfYnVpbGRfbGlzdCk6CgkgIE1vdmUgIk1vbml0b3IiIHNsaWRlciB0byBpbnB1dCB0YWIgc28gaXQgd29ya3MgbW9yZSBsaWtlCgkgIHNkdGF1ZGlvY29udHJvbCwgd2hpY2ggaXMgd2hhdCBwZW9wbGUgb24gU29sYXJpcyBhcmUgdXNlZAoJICB0byB1c2luZyBmb3IgdGhlaXIgbWl4ZXIgcHJvZ3JhbSAoIzM0NjI1OSkuCgoyMDA2LTA2LTI5IDE0OjUwOjE4ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2xldmVsLmM6IGZpeCBhIGxlYWssIGNsZWFuIHVwIGF0IHRoZSBlbmQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvbGV2ZWwuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgZml4IGEgbGVhaywgY2xlYW4gdXAgYXQgdGhlIGVuZAoKMjAwNi0wNi0yOSAxMTo0MTo1NSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9tYXRyb3NrYS86IFNlbmQgdGFnIGV2ZW50IGFmdGVyIG5ld3NlZ21lbnQgZXZlbnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiAoZ3N0X21hdHJvc2thX2RlbXV4X2FkZF9zdHJlYW0pLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3NlbmRfZXZlbnQpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2xvb3Bfc3RyZWFtX3BhcnNlX2lkKToKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmg6CgkgIFNlbmQgdGFnIGV2ZW50IGFmdGVyIG5ld3NlZ21lbnQgZXZlbnQuCgoyMDA2LTA2LTI5IDExOjExOjUwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2lkM2RlbXV4L2dzdGlkM2RlbXV4LmM6IE1ha2Ugc3VyZSB3ZSBkb24ndCByZXR1cm4gR1NUX0ZMT1dfT0sgd2l0aCBhIE5VTEwgYnVmZmVyIGluIGNlcnRhaW4gY2FzZXMgd2hlcmUgYSByZWFkIGJlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pZDNkZW11eC9nc3RpZDNkZW11eC5jOiAoZ3N0X2lkM2RlbXV4X3RyaW1fYnVmZmVyKSwKCSAgKGdzdF9pZDNkZW11eF9yZWFkX3JhbmdlKToKCSAgTWFrZSBzdXJlIHdlIGRvbid0IHJldHVybiBHU1RfRkxPV19PSyB3aXRoIGEgTlVMTCBidWZmZXIgaW4KCSAgY2VydGFpbiBjYXNlcyB3aGVyZSBhIHJlYWQgYmV5b25kIHRoZSBlbmQgb2YgdGhlIGZpbGUgaXMKCSAgcmVxdWVzdGVkLiBGaXhlcyAjMzQ1OTMwLgoJICAqIGdzdC9hcGV0YWcvZ3N0dGFnZGVtdXguYzogKGdzdF90YWdfZGVtdXhfdHJpbV9idWZmZXIpLAoJICAoZ3N0X3RhZ19kZW11eF9yZWFkX3JhbmdlKToKCSAgRml4IHNhbWUgaXNzdWUgaGVyZSBhcyB3ZWxsLgoKMjAwNi0wNi0yOSAxMTowNToxNCArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6IEZpeCBoeXBvdGhldGljYWwgY3Jhc2guCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTA2LTI5ICBaYWhlZXIgQWJiYXMgTWVyYWxpICA8emFoZWVyYWJiYXMgYXQgbWVyYWxpIGRvdCBvcmc+CgkgICogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzogKGdzdF94aW1hZ2Vfc3JjX3hpbWFnZV9nZXQpOgoJICBGaXggaHlwb3RoZXRpY2FsIGNyYXNoLgoKMjAwNi0wNi0yOCAwODozNjozMCArMDAwMCAgQnJpYW4gQ2FtZXJvbiA8YnJpYW4uY2FtZXJvbkBzdW4uY29tPgoKCSAgc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvc2luay5jOiBEbyBub3QgbW9kaWZ5IHRoZSBwb3J0cyB2YWx1ZS4gSWYgdGhlIHVzZXIgaGFzIHR1cm5lZCBvZmYgdGhlIGJ1aWx0LWluIHNwZWFrZXJzLCB0aGVuLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogQnJpYW4gQ2FtZXJvbiAgPGJyaWFuIGRvdCBjYW1lcm9uIGF0IHN1biBkb3QgY29tPgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NpbmsuYzogKGdzdF9zdW5hdWRpb3NpbmtfcHJlcGFyZSk6CgkgIERvIG5vdCBtb2RpZnkgdGhlIHBvcnRzIHZhbHVlLiBJZiB0aGUgdXNlciBoYXMgdHVybmVkIG9mZiB0aGUKCSAgYnVpbHQtaW4gc3BlYWtlcnMsIHRoZW4gd2Ugc2hvdWxkIG5vdCByZXNldCBpdCBpbiB0aGUgcHJlcGFyZQoJICBmdW5jdGlvbiwgc2luY2UgdGhpcyBjYXVzZXMgdGhlIGJ1aWx0LWluIHNwZWFrZXJzIHRvIHR1cm4KCSAgYmFjayBvbiBhbnl0aW1lIHRoZSB1c2VyIGNoYW5nZXMgYSB0cmFjayBpbiB0b3RlbSwgcmh5dGhtYm94LAoJICBldGMuICgjMzQ2MDY2KS4KCjIwMDYtMDYtMjMgMDk6MzU6NDUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvZ29vbS9nc3Rnb29tLmM6IEZpeCBkb3VibGUgY2FwcyB1bnJlZiB3aGVuIG5lZ290aWF0aW9uIGZhaWxzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZ29vbS9nc3Rnb29tLmM6IChnc3RfZ29vbV9zcmNfbmVnb3RpYXRlKToKCSAgRml4IGRvdWJsZSBjYXBzIHVucmVmIHdoZW4gbmVnb3RpYXRpb24gZmFpbHMuCgoyMDA2LTA2LTIyIDE5OjMxOjA0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgVXNlIEdTVF9ERUJVR19DQVRFR09SWV9TVEFUSUMgd2hlcmUgcG9zc2libGUgKCMzNDI1MDMpIHBsdXMgdHdvIG1pbm9yIG1hY3JvIGZpeGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYW5ub2RleC9nc3RjbW1sZGVjLmM6CgkgICogZXh0L2Fubm9kZXgvZ3N0Y21tbGVuYy5jOgoJICAqIGV4dC9hbm5vZGV4L2dzdGNtbWxwYXJzZXIuYzoKCSAgKiBleHQvZHYvZ3N0ZHZkZWMuYzoKCSAgKiBleHQvZHYvZ3N0ZHZkZW11eC5jOgoJICAqIGV4dC9nZGtfcGl4YnVmL3BpeGJ1ZnNjYWxlLmM6CgkgICogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJICAqIGV4dC9qcGVnL2dzdHNtb2tlZGVjLmM6CgkgICogZXh0L2pwZWcvZ3N0c21va2VlbmMuYzoKCSAgKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOgoJICAqIGV4dC9saWJwbmcvZ3N0cG5nZW5jLmM6CgkgICogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6CgkgICogZ3N0L2FscGhhL2dzdGFscGhhY29sb3IuYzoKCSAgKiBnc3QvY3V0dGVyL2dzdGN1dHRlci5jOgoJICAqIGdzdC9kZWJ1Zy9nc3RuYXZpZ2F0aW9udGVzdC5jOgoJICAqIGdzdC9pY3lkZW11eC9nc3RpY3lkZW11eC5jOgoJICAqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOgoJICAqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0LmM6CgkgICogZ3N0L3J0cC9nc3RydHBhbXJwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBpbGJjcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBtcDRncGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBtcDR2cGF5LmM6CgkgICogZ3N0L3J0c3AvZ3N0cnRwZGVjLmM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICAqIGdzdC91ZHAvZ3N0ZHludWRwc2luay5jOgoJICAqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkgICogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzoKCSAgKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9mbGlwLmM6CgkgIFVzZSBHU1RfREVCVUdfQ0FURUdPUllfU1RBVElDIHdoZXJlIHBvc3NpYmxlICgjMzQyNTAzKQoJICBwbHVzIHR3byBtaW5vciBtYWNybyBmaXhlcy4KCjIwMDYtMDYtMjIgMTY6Mjc6MDMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvbWF0cm9za2EvOiBUcnkgdG8gZml4IHVwIGJyb2tlbiBtYXRyb3NrYSBmaWxlcyBjb250YWluaW5nIHN1YnRpdGxlIHN0cmVhbXMgd2l0aCBub24tVVRGOCBjaGFyYWN0ZXIgZW5jb2RpbmdzIChjb3UuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIChnc3RfbWF0cm9za2FfZGVtdXhfY2hlY2tfc3VidGl0bGVfYnVmZmVyKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9ibG9ja2dyb3VwX29yX3NpbXBsZWJsb2NrKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9zdWJ0aXRsZV9jYXBzKToKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmM6CgkgIChnc3RfbWF0cm9za2FfdHJhY2tfaW5pdF9zdWJ0aXRsZV9jb250ZXh0KToKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmg6CgkgIFRyeSB0byBmaXggdXAgYnJva2VuIG1hdHJvc2thIGZpbGVzIGNvbnRhaW5pbmcgc3VidGl0bGUKCSAgc3RyZWFtcyB3aXRoIG5vbi1VVEY4IGNoYXJhY3RlciBlbmNvZGluZ3MgKGNvdXJ0ZXN5IG9mCgkgIG1rdm1lcmdlKSB1c2luZyBlaXRoZXIgdGhlIGVuY29kaW5nIHNwZWNpZmllZCBpbiB0aGUKCSAgR1NUX1NVQlRJVExFX0VOQ09ESU5HIGVudmlyb25tZW50IHZhcmlhYmxlIG9yIHRoZQoJICBjdXJyZW50IGxvY2FsZSdzIGNoYXJhY3RlciBzZXQgaWYgaXQgaXMgbm9uLVVURjguCgkgIEZpeGVzICMzMzcwNzYuCgoyMDA2LTA2LTIyIDEyOjE3OjEzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2lkM2RlbXV4L2lkM3YyZnJhbWVzLmM6IFNldCBpbWFnZSB0eXBlIGZyb20gQVBJQyBmcmFtZSBhcyAiaW1hZ2UtdHlwZSIgZmllbGQgb2YgR1NUX1RBR19JTUFHRSBidWZmZXIgY2FwcyAoIzM0NDYwNSkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pZDNkZW11eC9pZDN2MmZyYW1lcy5jOiAocGFyc2VfcGljdHVyZV9mcmFtZSk6CgkgIFNldCBpbWFnZSB0eXBlIGZyb20gQVBJQyBmcmFtZSBhcyAiaW1hZ2UtdHlwZSIgZmllbGQKCSAgb2YgR1NUX1RBR19JTUFHRSBidWZmZXIgY2FwcyAoIzM0NDYwNSkuCgoyMDA2LTA2LTIwIDE5OjQwOjI5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2ZsYWMvOiBTdXBwb3J0IGNoYWluLWJhc2VkIG9wZXJhdGlvbiwgc2hvdWxkIG1ha2UgZmxhYy1vdmVyLURBQVAgd29yayAoIzM0MDQ5MikuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mbGFjL01ha2VmaWxlLmFtOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzogKGdzdF9mbGFjX2RlY19pbml0KSwKCSAgKGdzdF9mbGFjX2RlY19yZXNldF9kZWNvZGVycyksCgkgIChnc3RfZmxhY19kZWNfc2V0dXBfc2Vla2FibGVfZGVjb2RlciksCgkgIChnc3RfZmxhY19kZWNfc2V0dXBfc3RyZWFtX2RlY29kZXIpLCAoZ3N0X2ZsYWNfZGVjX2ZpbmFsaXplKSwKCSAgKGdzdF9mbGFjX2RlY19tZXRhZGF0YV9jYWxsYmFjayksCgkgIChnc3RfZmxhY19kZWNfbWV0YWRhdGFfY2FsbGJhY2tfc2Vla2FibGUpLAoJICAoZ3N0X2ZsYWNfZGVjX21ldGFkYXRhX2NhbGxiYWNrX3N0cmVhbSksCgkgIChnc3RfZmxhY19kZWNfZXJyb3JfY2FsbGJhY2spLAoJICAoZ3N0X2ZsYWNfZGVjX2Vycm9yX2NhbGxiYWNrX3NlZWthYmxlKSwKCSAgKGdzdF9mbGFjX2RlY19lcnJvcl9jYWxsYmFja19zdHJlYW0pLCAoZ3N0X2ZsYWNfZGVjX3JlYWRfc2Vla2FibGUpLAoJICAoZ3N0X2ZsYWNfZGVjX3JlYWRfc3RyZWFtKSwgKGdzdF9mbGFjX2RlY193cml0ZSksCgkgIChnc3RfZmxhY19kZWNfd3JpdGVfc2Vla2FibGUpLCAoZ3N0X2ZsYWNfZGVjX3dyaXRlX3N0cmVhbSksCgkgIChnc3RfZmxhY19kZWNfbG9vcCksIChnc3RfZmxhY19kZWNfc2lua19ldmVudCksCgkgIChnc3RfZmxhY19kZWNfY2hhaW4pLCAoZ3N0X2ZsYWNfZGVjX2NvbnZlcnRfc2luayksCgkgIChnc3RfZmxhY19kZWNfZ2V0X3NpbmtfcXVlcnlfdHlwZXMpLCAoZ3N0X2ZsYWNfZGVjX3NpbmtfcXVlcnkpLAoJICAoZ3N0X2ZsYWNfZGVjX2dldF9zcmNfcXVlcnlfdHlwZXMpLCAoZ3N0X2ZsYWNfZGVjX3NyY19xdWVyeSksCgkgIChnc3RfZmxhY19kZWNfaGFuZGxlX3NlZWtfZXZlbnQpLCAoZ3N0X2ZsYWNfZGVjX3NpbmtfYWN0aXZhdGUpLAoJICAoZ3N0X2ZsYWNfZGVjX3NpbmtfYWN0aXZhdGVfcHVzaCksCgkgIChnc3RfZmxhY19kZWNfc2lua19hY3RpdmF0ZV9wdWxsKSwgKGdzdF9mbGFjX2RlY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNkZWMuaDoKCSAgU3VwcG9ydCBjaGFpbi1iYXNlZCBvcGVyYXRpb24sIHNob3VsZCBtYWtlIGZsYWMtb3Zlci1EQUFQCgkgIHdvcmsgKCMzNDA0OTIpLgoKMjAwNi0wNi0yMCAxNTozNTowNSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OiBEb2MgdXBkYXRlcywgbWVyZ2Ugc29tZSB1bnVzZWQgc3ltYm9scy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgIERvYyB1cGRhdGVzLCBtZXJnZSBzb21lIHVudXNlZCBzeW1ib2xzLgoKMjAwNi0wNi0yMCAxNDo1NzowOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIEFkZGVkIGRvY3VtZW50YXRpb24gZm9yIHRoZSBydHNwIHBsdWdpbi4gRml4ZXMgIzM0NTM5My4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGdzdC9ydHNwL2dzdHJ0cGRlYy5jOiAoZ3N0X3J0cGRlY19jbGFzc19pbml0KToKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBBZGRlZCBkb2N1bWVudGF0aW9uIGZvciB0aGUgcnRzcCBwbHVnaW4uIEZpeGVzICMzNDUzOTMuCgoyMDA2LTA2LTIwIDEyOjEwOjI5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvcnRzcGNvbm5lY3Rpb24uYzogVXNlIGJldHRlciBHX09TXyogbWFjcm9zLiBGaXhlcyAjMzQ1MzAxIHNvbWUgbW9yZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvcnRzcGNvbm5lY3Rpb24uYzogKGluZXRfYXRvbiksIChydHNwX2Nvbm5lY3Rpb25fc2VuZCksCgkgIChydHNwX2Nvbm5lY3Rpb25fY2xvc2UpLCAocnRzcF9jb25uZWN0aW9uX2ZyZWUpOgoJICBVc2UgYmV0dGVyIEdfT1NfKiBtYWNyb3MuIEZpeGVzICMzNDUzMDEgc29tZSBtb3JlLgoKMjAwNi0wNi0yMCAxMDozNTo0OCArMDAwMCAgQnJpYW4gQ2FtZXJvbiA8YnJpYW4uY2FtZXJvbkBzdW4uY29tPgoKCSAgc3lzL3N1bmF1ZGlvLzogQWRkIGEgU3VuQXVkaW8gc291cmNlIHBsdWdpbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBCcmlhbiBDYW1lcm9uIDxicmlhbiBkb3QgY2FtZXJvbiBhdCBzdW4gZG90IGNvbT4KCSAgKiBzeXMvc3VuYXVkaW8vTWFrZWZpbGUuYW06CgkgICogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvLmM6IChwbHVnaW5faW5pdCk6CgkgICogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXJjdHJsLmM6CgkgIChnc3Rfc3VuYXVkaW9taXhlcl9jdHJsX2J1aWxkX2xpc3QpLCAoZ3N0X3N1bmF1ZGlvbWl4ZXJfY3RybF9uZXcpLAoJICAoZ3N0X3N1bmF1ZGlvbWl4ZXJfY3RybF9saXN0X3RyYWNrcyksCgkgIChnc3Rfc3VuYXVkaW9taXhlcl9jdHJsX2dldF92b2x1bWUpLAoJICAoZ3N0X3N1bmF1ZGlvbWl4ZXJfY3RybF9zZXRfdm9sdW1lKSwKCSAgKGdzdF9zdW5hdWRpb21peGVyX2N0cmxfc2V0X211dGUpLAoJICAoZ3N0X3N1bmF1ZGlvbWl4ZXJfY3RybF9zZXRfcmVjb3JkKToKCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlcmN0cmwuaDoKCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlcnRyYWNrLmM6CgkgIChnc3Rfc3VuYXVkaW9taXhlcl90cmFja19pbml0KSwgKGdzdF9zdW5hdWRpb21peGVyX3RyYWNrX25ldyk6CgkgICogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXJ0cmFjay5oOgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NyYy5jOiAoZ3N0X3N1bmF1ZGlvc3JjX2Rpc3Bvc2UpLAoJICAoZ3N0X3N1bmF1ZGlvc3JjX2Jhc2VfaW5pdCksIChnc3Rfc3VuYXVkaW9zcmNfY2xhc3NfaW5pdCksCgkgIChnc3Rfc3VuYXVkaW9zcmNfaW5pdCksIChnc3Rfc3VuYXVkaW9zcmNfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9zdW5hdWRpb3NyY19nZXRfcHJvcGVydHkpLCAoZ3N0X3N1bmF1ZGlvc3JjX2dldGNhcHMpLAoJICAoZ3N0X3N1bmF1ZGlvc3JjX29wZW4pLCAoZ3N0X3N1bmF1ZGlvc3JjX2Nsb3NlKSwKCSAgKGdzdF9zdW5hdWRpb3NyY19wcmVwYXJlKSwgKGdzdF9zdW5hdWRpb3NyY191bnByZXBhcmUpLAoJICAoZ3N0X3N1bmF1ZGlvc3JjX3JlYWQpLCAoZ3N0X3N1bmF1ZGlvc3JjX2RlbGF5KSwKCSAgKGdzdF9zdW5hdWRpb3NyY19yZXNldCk6CgkgICogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvc3JjLmg6CgkgIEFkZCBhIFN1bkF1ZGlvIHNvdXJjZSBwbHVnaW4uCgkgIFN1cHBvcnQgc3RlcmVvIGFuZCByaWdodC9sZWZ0IGNoYW5uZWwgZ2FpbiBpbiB0aGUgbWl4ZXIgcGx1Z2luLgoJICBTdXBwb3J0IHRoZSBSRUNPUkQgZmxhZyBzbyB0aGF0IHlvdSBjYW4gc3dpdGNoIGJldHdlZW4gbGluZS1pbnB1dCBhbmQKCSAgbWljcm9waG9uZSBpbiBnbm9tZS12b2x1bWUtY29udHJvbC4KCSAgQ29kZSBjbGVhbnVwcyBsaWtlIHVzaW5nIGFuIGVudW1lcmF0b3IgZm9yIHRyYWNrIG51bWJlciBpbnN0ZWFkIG9mIGFuCgkgIGludGVnZXIuIEZpeGVzICMzNDQ5MjMuCgoyMDA2LTA2LTIwIDEwOjMxOjQxICswMDAwICBKb25pIFZhbHRhbmVuIDxqb25pLnZhbHRhbmVuQG1vdmlhbC5maT4KCgkgIGdzdC9ydHNwL3J0c3Bjb25uZWN0aW9uLmM6IE1ha2UgUlRTUCBwbHVnaW4gY29tcGlsZSBvbiB3aW5kb3dzLiBGaXhlcyAjMzQ1MzAxLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEpvbmkgVmFsdGFuZW4gPGpvbmkgZG90IHZhbHRhbmVuIGF0IG1vdmlhbCBkb3QgZmk+CgkgICogZ3N0L3J0c3AvcnRzcGNvbm5lY3Rpb24uYzogKGluZXRfYXRvbiksIChydHNwX2Nvbm5lY3Rpb25fc2VuZCksCgkgIChydHNwX2Nvbm5lY3Rpb25fY2xvc2UpOgoJICBNYWtlIFJUU1AgcGx1Z2luIGNvbXBpbGUgb24gd2luZG93cy4gRml4ZXMgIzM0NTMwMS4KCSAgU29tZSBjaGFuZ2VzIHRvIG9yaWdpbmFsIHBhdGNoIHRvIGNhdGNoIGVycm9ycyBiZXR0ZXIuCgkgIHVzZSBpZmRlZiBXSU4zMiBpbnN0ZWFkIG9mIGlmbmRlZi4KCjIwMDYtMDYtMTkgMTA6MDA6MTggKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBjb25maWd1cmUuYWM6IElmIHdlIGhhdmUgbGlicmF3MTM5NCA+PSAxLjIuMSwgdGhlbiB3ZSBuZWVkIGxpYmllYzYxODgzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wNi0xOSAgWmFoZWVyIEFiYmFzIE1lcmFsaSAgPHphaGVlcmFiYmFzIGF0IG1lcmFsaSBkb3Qgb3JnPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgSWYgd2UgaGF2ZSBsaWJyYXcxMzk0ID49IDEuMi4xLCB0aGVuIHdlIG5lZWQgbGliaWVjNjE4ODMuCgoyMDA2LTA2LTE4IDE0OjAwOjE5ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOiBBZnRlciBhIGZhaWxlZCBidWZmZXIgYWxsb2MsIHdlIG5lZWQgdG8gYWJvcnQgdGhlIGpwZWcgZGVjb2RpbmcgKGl0IHN0YXJ0ZWQgd2hlbiBwYXJzaW5nIGhlYWRlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzogKGdzdF9qcGVnX2RlY19jaGFpbik6CgkgIEFmdGVyIGEgZmFpbGVkIGJ1ZmZlciBhbGxvYywgd2UgbmVlZCB0byBhYm9ydCB0aGUganBlZyBkZWNvZGluZyAoaXQKCSAgc3RhcnRlZCB3aGVuIHBhcnNpbmcgaGVhZGVycyB0byBmaWd1cmUgb3V0IGhvdyBtYW55IGJ5dGVzIHdlIG5lZWQKCSAgdG8gcmVxdWVzdCBkb3duc3RyZWFtKS4KCjIwMDYtMDYtMTggMTI6Mzc6MTIgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hbmF1d0Bza3luZXQuYmU+CgoJICBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogTWFrZSBzdXJlIHdlIGRvbid0IHJlYWQgYmV5b25kIHRoZSBlbmQgb2YgdGhlIGZpbGUgKCMzNDUyMzIpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE1hcmsgTmF1d2VsYWVydHMgIDxtYW5hdXcgYXQgc2t5bmV0IGJlPgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiAoZ3N0X3dhdnBhcnNlX3BlcmZvcm1fc2Vlayk6CgkgIE1ha2Ugc3VyZSB3ZSBkb24ndCByZWFkIGJleW9uZCB0aGUgZW5kIG9mIHRoZSBmaWxlICgjMzQ1MjMyKS4KCjIwMDYtMDYtMTcgMTQ6MzU6MzcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBjb25maWd1cmUuYWM6IEZpeCAtLWRpc2FibGUtZXh0ZXJuYWwgKGNhbid0IHNldCBjb25kaXRpb25hbHMgY29uZGl0aW9uYWxseSwgIzM0MzYwMikuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgRml4IC0tZGlzYWJsZS1leHRlcm5hbCAoY2FuJ3Qgc2V0IGNvbmRpdGlvbmFscyBjb25kaXRpb25hbGx5LAoJICAjMzQzNjAyKS4KCjIwMDYtMDYtMTYgMTI6MzU6MDggKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBnc3Qvc3BlY3RydW0vTWFrZWZpbGUuYW06IEZpeCBidWlsZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDYtMTYgIFphaGVlciBBYmJhcyBNZXJhbGkgIDx6YWhlZXJhYmJhcyBhdCBtZXJhbGkgZG90IG9yZz4KCSAgKiBnc3Qvc3BlY3RydW0vTWFrZWZpbGUuYW06CgkgIEZpeCBidWlsZC4KCjIwMDYtMDYtMTYgMTA6NTY6MjQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBVc2UgR1NUX1BMVUdJTl9ET0NTLCAtLWVuYWJsZS1wbHVnaW4tZG9jcyBldGMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGF1dG9nZW4uc2g6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGRvY3MvTWFrZWZpbGUuYW06CgkgIFVzZSBHU1RfUExVR0lOX0RPQ1MsIC0tZW5hYmxlLXBsdWdpbi1kb2NzIGV0Yy4KCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkgIEFkZC9maXggYXBldjJtdXggZG9jcy4KCjIwMDYtMDYtMTYgMDk6NDk6MDcgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9zcGVjdHJ1bS86IHBvcnQgdG8gdXNlIG1lc3NhZ2UgdG8gZ2V0IHJlc3VsdHMsIGNsZWFubHkgZXhpdCB3aGVuIGNsb3NpbmcgdGhlIHdpbmRvdwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlY3RydW0vZGVtby1hdWRpb3Rlc3QuYzogKG9uX3dpbmRvd19kZXN0cm95KSwKCSAgKGRyYXdfc3BlY3RydW0pLCAobWVzc2FnZV9oYW5kbGVyKSwgKG1haW4pOgoJICAqIGdzdC9zcGVjdHJ1bS9kZW1vLW9zc3NyYy5jOiAob25fd2luZG93X2Rlc3Ryb3kpLCAoZHJhd19zcGVjdHJ1bSksCgkgIChtZXNzYWdlX2hhbmRsZXIpLCAobWFpbik6CgkgIHBvcnQgdG8gdXNlIG1lc3NhZ2UgdG8gZ2V0IHJlc3VsdHMsIGNsZWFubHkgZXhpdCB3aGVuIGNsb3NpbmcgdGhlIHdpbmRvdwoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiAoZ3N0X3NwZWN0cnVtX2NsYXNzX2luaXQpLAoJICAoZ3N0X3NwZWN0cnVtX2luaXQpLCAoZ3N0X3NwZWN0cnVtX2Rpc3Bvc2UpLAoJICAoZ3N0X3NwZWN0cnVtX3NldF9wcm9wZXJ0eSksIChnc3Rfc3BlY3RydW1fZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9zcGVjdHJ1bV9zZXRfY2FwcyksIChnc3Rfc3BlY3RydW1fc3RhcnQpLAoJICAoZ3N0X3NwZWN0cnVtX21lc3NhZ2VfbmV3KSwgKGdzdF9zcGVjdHJ1bV90cmFuc2Zvcm1faXApOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5oOgoJICBwb3J0IHRvIGRlcml2ZSBmcm9tIGJhc2V0cmFuc2Zvcm0gYW5kIHNlbmQgcmVzdWx0cyB2aWEgbWVzc2FnZXMKCSAgKGxpa2UgbGV2ZWwgZWxlbWVudCkKCjIwMDYtMDYtMTUgMTU6NTg6MDkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IENvbWJpbmUgcmV0dXJuIHZhbHVlcyBmcm9tIHNyYyBwYWQgcHVzaGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9wZXJmb3JtX3NlZWspLAoJICAoZ3N0X3F0ZGVtdXhfY29tYmluZV9mbG93cyksIChnc3RfcXRkZW11eF9sb29wX3N0YXRlX21vdmllKSwKCSAgKGdzdF9xdGRlbXV4X2xvb3ApLCAoZ3N0X3F0ZGVtdXhfY2hhaW4pLCAocXRkZW11eF9wYXJzZV90cmFrKToKCSAgQ29tYmluZSByZXR1cm4gdmFsdWVzIGZyb20gc3JjIHBhZCBwdXNoZXMuCgoyMDA2LTA2LTE1IDA4OjUwOjA5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBEb24ndCBjcmFzaCBvbiBmaWxlcyB3aXRoIDAgc2FtcGxlcywgRU9TIGltbWVkaWF0bHkgaW5zdGVhZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfbG9vcF9zdGF0ZV9oZWFkZXIpLAoJICAoZ3N0X3F0ZGVtdXhfcHJlcGFyZV9jdXJyZW50X3NhbXBsZSksIChnc3RfcXRkZW11eF9hZHZhbmNlX3NhbXBsZSksCgkgIChnc3RfcXRkZW11eF9hZGRfc3RyZWFtKToKCSAgRG9uJ3QgY3Jhc2ggb24gZmlsZXMgd2l0aCAwIHNhbXBsZXMsIEVPUyBpbW1lZGlhdGx5IGluc3RlYWQuCgkgIEZpeGVzICMzNDQ5NDQuCgoyMDA2LTA2LTE0IDE1OjU5OjU2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L2R2L2dzdGR2ZGVjLmM6IFJlc2V0IHNlZ21lbnQgaW5mbyBvbiBmbHVzaC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2R2L2dzdGR2ZGVjLmM6IChnc3RfZHZkZWNfY2xhc3NfaW5pdCksIChnc3RfZHZkZWNfaW5pdCksCgkgIChnc3RfZHZkZWNfZmluYWxpemUpLCAoZ3N0X2R2ZGVjX3NpbmtfZXZlbnQpLAoJICAoZ3N0X2R2ZGVjX2NoYW5nZV9zdGF0ZSk6CgkgIFJlc2V0IHNlZ21lbnQgaW5mbyBvbiBmbHVzaC4KCSAgQWxsb2Mgc2VnbWVudCBpbiBfaW5pdCwgZnJlZSBpbiBfZmluYWxpemUuCgkgICogZXh0L2R2L2dzdGR2ZGVtdXguYzogKGdzdF9kdmRlbXV4X2hhbmRsZV9wdWxsX3NlZWspOgoJICBEb24ndCBzZW5kIHNlZ21lbnRzIHR3aWNlLgoKMjAwNi0wNi0xNCAxNTowNzoyMiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9kdi9nc3RkdmRlbXV4LmM6IFJlc3BlY3Qgc2VnbWVudC5zdG9wLiBGaXhlcyAjMzQyNTkyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZHYvZ3N0ZHZkZW11eC5jOiAoZ3N0X2R2ZGVtdXhfZGVtdXhfZnJhbWUpOgoJICBSZXNwZWN0IHNlZ21lbnQuc3RvcC4gRml4ZXMgIzM0MjU5Mi4KCjIwMDYtMDYtMTQgMTE6Mjg6NDEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogTm8gbGFuZ3VhZ2Ugc3BlY2lmaWVkIG1lYW5zIHRoZSBpbXBsaWVkIGxhbmd1YWdlIGlzIEVuZ2xpc2ggYWNjb3JkaW5nIHRvIHRoZSBtYXRyb3NrYSAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IChnc3RfbWF0cm9za2FfZGVtdXhfYWRkX3N0cmVhbSk6CgkgIE5vIGxhbmd1YWdlIHNwZWNpZmllZCBtZWFucyB0aGUgaW1wbGllZCBsYW5ndWFnZSBpcyBFbmdsaXNoCgkgIGFjY29yZGluZyB0byB0aGUgbWF0cm9za2Egc3BlYyAocGFydGlhbGx5IGZpeGVzICMzNDQ3MDgpOwoJICBhZGQgc29tZSBtb3JlIGRlYnVnIG91dHB1dC4KCjIwMDYtMDYtMTQgMDk6MzI6MjcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuKjogVXNlIGJpdHJhdGUgcHJvcGVydHkgc29sZWx5IGZvciBiaXRyYXRlcyBhbmQgYWRkIG5ldyBiaXRzLXBlci1zYW1wbGUgcHJvcGVydHkgZm9yIHRoZSBvdC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFNlYmFzdGlhbiBEcsO2Z2UgIDxzbG9tbyBhdCBjaXJjdWxhci1jaGFvcyBvcmc+CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOiAoZ3N0X3dhdnBhY2tfZW5jX2Jhc2VfaW5pdCksCgkgIChnc3Rfd2F2cGFja19lbmNfY2xhc3NfaW5pdCksIChnc3Rfd2F2cGFja19lbmNfc2V0X3dwX2NvbmZpZyksCgkgIChnc3Rfd2F2cGFja19lbmNfY2hhaW4pLCAoZ3N0X3dhdnBhY2tfZW5jX3NpbmtfZXZlbnQpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX3NldF9wcm9wZXJ0eSksIChnc3Rfd2F2cGFja19lbmNfZ2V0X3Byb3BlcnR5KToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmg6CgkgIFVzZSBiaXRyYXRlIHByb3BlcnR5IHNvbGVseSBmb3IgYml0cmF0ZXMgYW5kIGFkZCBuZXcKCSAgYml0cy1wZXItc2FtcGxlIHByb3BlcnR5IGZvciB0aGUgb3RoZXIgc3R1ZmYuIFNldCBkdXJhdGlvbgoJICB0byAndW5rbm93bicgaW4gaW5pdGlhbCBoZWFkZXIgYW5kIHJlc2VuZCBoZWFkZXIgd2l0aCBwcm9wZXIKCSAgZHVyYXRpb24gb24gRU9TOyB1cGRhdGUgU2ViYXN0aWFuJ3MgZS1tYWlsIGFkZHJlc3MuCgoyMDA2LTA2LTE0IDA4OjA2OjQzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IFdoZW4gb3BlcmF0aW5nIGNoYWluLWJhc2VkLCBkb24ndCBtYWtlIGFueSBhc3N1bXB0aW9ucyBhYm91dCB0aGUgY2h1bmtpbmcgb2YgdGhlIGluY29taW5nLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiAoZ3N0X3dhdnBhcnNlX3BlZWtfY2h1bmtfaW5mbyksCgkgIChnc3Rfd2F2cGFyc2VfcGVla19jaHVuayksIChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2hlYWRlcnMpLAoJICAoZ3N0X3dhdnBhcnNlX2NoYWluKToKCSAgV2hlbiBvcGVyYXRpbmcgY2hhaW4tYmFzZWQsIGRvbid0IG1ha2UgYW55IGFzc3VtcHRpb25zIGFib3V0IHRoZQoJICBjaHVua2luZyBvZiB0aGUgaW5jb21pbmcgZGF0YSBhbmQgbWFrZSBzdHJlYW1pbmcgd29yayBvbiBkYXlzIG90aGVyCgkgIHRoYW4gdGhlIHNlY29uZCBUaHVyc2RheSBhZnRlciBhIGZ1bGwgbW9vbi4gQWxzbyBmaXggdXAgZGVidWcKCSAgbWVzc2FnZXMgaGVyZSBhbmQgdGhlcmUgYW5kIG1ha2UgdXNlIG9mIHRoZSBtb3N0IGV4Y2VsbGVudCBuZXcKCSAgZ3N0X3BhZF9xdWVyeV9wZWVyX2R1cmF0aW9uKCkgdXRpbGl0eSBmdW5jdGlvbi4KCSAgU2tpcCBhbnkgJ2JleHQnIGNodW5rcyBpbiBmcm9udCBvZiB0aGUgJ2ZtdCAnIGNodW5rLiBGaXhlcyAjMzQzODM3LgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5oOgoJICBSZW1vdmUgdHJhaWxpbmcgY29tbWEgYWZ0ZXIgbGFzdCBlbnVtIHZhbHVlLCBzb21lIGNvbXBpbGVycyBkb24ndAoJICBsaWtlIHRoYXQuCgoyMDA2LTA2LTEzIDE3OjA1OjI1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IEhhbmRsZSBwcmVtYXR1cmUgRU9TIGdyYWNlZnVsbHkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9kYXRhKToKCSAgSGFuZGxlIHByZW1hdHVyZSBFT1MgZ3JhY2VmdWxseS4KCjIwMDYtMDYtMTMgMDk6NTQ6MjYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IFByZXZlbnQgb3V0IG9mIGJvdW5kcyBhcnJheSBhY2Nlc3Mgd2hlbiBzY3J1YmJpbmcgdG93YXJkcyB0aGUgZW5kIG9mIHRoZSBmaWxlIGJldHdlZW4gdGhlIGxhc3QuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9oYW5kbGVfc2Vlayk6CgkgIFByZXZlbnQgb3V0IG9mIGJvdW5kcyBhcnJheSBhY2Nlc3Mgd2hlbiBzY3J1YmJpbmcgdG93YXJkcwoJICB0aGUgZW5kIG9mIHRoZSBmaWxlIGJldHdlZW4gdGhlIGxhc3QgaW5kZXggZW50cnkgYW5kIHRoZQoJICBlbmQuIEZpeGVzIG9jY2FzaW9uYWwgJ3N0YXJ0IDw9IHN0b3AnIG5ld3NlZ21lbnQgZXZlbnQKCSAgYXNzZXJ0aW9ucyB3aGVuIHNjcnViYmluZyBpbiBNSlBFRyBmaWxlcy4KCjIwMDYtMDYtMTIgMTE6MTM6MzkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy8uY3ZzaWdub3JlOiBBbmQgYW5vdGhlciBvbmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5jdnNpZ25vcmU6CgkgIEFuZCBhbm90aGVyIG9uZS4KCjIwMDYtMDYtMTIgMTE6MDQ6NTkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3Qvc3BlY3RydW0vLmN2c2lnbm9yZTogSWdub3JlIG1vcmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVjdHJ1bS8uY3ZzaWdub3JlOgoJICBJZ25vcmUgbW9yZS4KCjIwMDYtMDYtMTIgMTA6NTM6MjYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvbGlibW1zL2dzdG1tcy5jOiBTZXQgY2FwcyBvbiBvdXRnb2luZyBidWZmZXJzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbGlibW1zL2dzdG1tcy5jOiAoZ3N0X21tc19jcmVhdGUpOgoJICBTZXQgY2FwcyBvbiBvdXRnb2luZyBidWZmZXJzLgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6IChnc3RfZGlyZWN0ZHJhd3NpbmtfaW5pdCk6CgkgIENvbW1lbnQgb3V0IHVudXNlZCBnbG9iYWwgaW5zdGFuY2UgdmFyaWFibGUuCgoyMDA2LTA2LTExIDE5OjMxOjEwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2lkM2RlbXV4L2lkM3YyZnJhbWVzLmM6IEV4dHJhY3QgaW1hZ2VzIGZyb20gSUQzdjIgdGFncyAoQVBJQyBmcmFtZXMpLiBGaXhlcyAjMzM5NzA0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaWQzZGVtdXgvaWQzdjJmcmFtZXMuYzogKGlkM2RlbXV4X2lkM3YyX3BhcnNlX2ZyYW1lKSwKCSAgKHNjYW5fZW5jb2RlZF9zdHJpbmcpLCAocGFyc2VfcGljdHVyZV9mcmFtZSk6CgkgIEV4dHJhY3QgaW1hZ2VzIGZyb20gSUQzdjIgdGFncyAoQVBJQyBmcmFtZXMpLiBGaXhlcyAjMzM5NzA0LgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgUmVxdWlyZSBjb3JlID49IDAuMTAuOCAoZm9yIEdTVF9UQUdfSU1BR0UgYW5kCgkgIEdTVF9UQUdfUFBFVklFV19JTUFHRSB1c2VkIGluIHRoZSBwYXRjaCBhYm92ZSkuCgoyMDA2LTA2LTExIDE4OjU2OjI0ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGV4dC9yYXcxMzk0Ly5naXRpZ25vcmU6CgkqIGV4dC90YWdsaWIvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogdGVzdHMvZXhhbXBsZXMvbGV2ZWwvLmdpdGlnbm9yZToKCSAgbW9hcCBpZ25vcmUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIG1vYXAgaWdub3JlCgoyMDA2LTA2LTExIDE4OjUyOjE5ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGV4dC9yYXcxMzk0L2dzdGR2MTM5NHNyYy5jOiBncmF0dWl0b3VzIGNvbW1lbnQgY2hhbmdlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvcmF3MTM5NC9nc3RkdjEzOTRzcmMuYzogKGdzdF9kdjEzOTRzcmNfZGlzY292ZXJfYXZjX25vZGUpOgoJICBncmF0dWl0b3VzIGNvbW1lbnQgY2hhbmdlcwoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2xldmVsLmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgIGZpeCBsZXZlbCB0ZXN0IGxlYWtzCgoyMDA2LTA2LTExIDE4OjQ0OjU0ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIC5naXRpZ25vcmU6CgkgIGlnbm9yZSBtb3JlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBpZ25vcmUgbW9yZQoKMjAwNi0wNi0xMSAxODoyMDozOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC86IFVzZSBnc3RfcGFkX3F1ZXJ5X3BlZXJfZHVyYXRpb24oKSB1dGlsaXR5IGZ1bmN0aW9uIGhlcmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hcGV0YWcvZ3N0dGFnZGVtdXguYzogKGdzdF90YWdfZGVtdXhfZ2V0X3Vwc3RyZWFtX3NpemUpOgoJICAqIGdzdC9pZDNkZW11eC9nc3RpZDNkZW11eC5jOiAoaWQzZGVtdXhfZ2V0X3Vwc3RyZWFtX3NpemUpOgoJICBVc2UgZ3N0X3BhZF9xdWVyeV9wZWVyX2R1cmF0aW9uKCkgdXRpbGl0eSBmdW5jdGlvbiBoZXJlLgoKMjAwNi0wNi0xMSAxMzo1NzoxOSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBhdXRvZ2VuLnNoOiByZXF1aXJlIGFtMTcKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogYXV0b2dlbi5zaDoKCSAgcmVxdWlyZSBhbTE3CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9hbm5vZGV4L01ha2VmaWxlLmFtOgoJICAqIGV4dC9jZGlvL01ha2VmaWxlLmFtOgoJICAqIGV4dC9kdi9NYWtlZmlsZS5hbToKCSAgKiBleHQvZXNkL01ha2VmaWxlLmFtOgoJICAqIGV4dC9mbGFjL01ha2VmaWxlLmFtOgoJICAqIGV4dC9nZGtfcGl4YnVmL01ha2VmaWxlLmFtOgoJICAqIGV4dC9sYWRzcGEvTWFrZWZpbGUuYW06CgkgICogZXh0L2xpYmNhY2EvTWFrZWZpbGUuYW06CgkgICogZXh0L3NwZWV4L01ha2VmaWxlLmFtOgoJICAqIGV4dC90YWdsaWIvTWFrZWZpbGUuYW06CgkgICogc3lzL29zcy9NYWtlZmlsZS5hbToKCSAgKiBzeXMvc3VuYXVkaW8vTWFrZWZpbGUuYW06CgkgICogc3lzL3hpbWFnZS9NYWtlZmlsZS5hbToKCSAgY2xlYW4gdXAgYnVpbGQgZnVydGhlcgoKMjAwNi0wNi0xMSAxMzo1NTozNCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBjb21tb246CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgdXBkYXRlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB1cGRhdGUKCjIwMDYtMDYtMTAgMTU6MzM6MTggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPG1haWxAc2xvbW9zbmFpbC5kZT4KCgkgIGV4dC93YXZwYWNrLzogQWRkIHdhdnBhY2sgZW5jb2RlciBlbGVtZW50ICgjMzQzMTMxKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBTZWJhc3RpYW4gRHLDtmdlICA8bWFpbCBhdCBzbG9tb3NuYWlsIGRlPgoJICAqIGV4dC93YXZwYWNrL01ha2VmaWxlLmFtOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2suYzogKHBsdWdpbl9pbml0KToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrY29tbW9uLmg6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOiAoZ3N0X3dhdnBhY2tfZW5jX21vZGVfZ2V0X3R5cGUpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX2NvcnJlY3Rpb25fbW9kZV9nZXRfdHlwZSksCgkgIChnc3Rfd2F2cGFja19lbmNfam9pbnRfc3RlcmVvX21vZGVfZ2V0X3R5cGUpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX2Jhc2VfaW5pdCksIChnc3Rfd2F2cGFja19lbmNfY2xhc3NfaW5pdCksCgkgIChnc3Rfd2F2cGFja19lbmNfaW5pdCksIChnc3Rfd2F2cGFja19lbmNfZGlzcG9zZSksCgkgIChnc3Rfd2F2cGFja19lbmNfc2lua19zZXRfY2FwcyksIChnc3Rfd2F2cGFja19lbmNfc2V0X3dwX2NvbmZpZyksCgkgIChnc3Rfd2F2cGFja19lbmNfZm9ybWF0X3NhbXBsZXMpLCAoZ3N0X3dhdnBhY2tfZW5jX3B1c2hfYmxvY2spLAoJICAoZ3N0X3dhdnBhY2tfZW5jX2NoYWluKSwgKGdzdF93YXZwYWNrX2VuY19yZXdyaXRlX2ZpcnN0X2Jsb2NrKSwKCSAgKGdzdF93YXZwYWNrX2VuY19zaW5rX2V2ZW50KSwgKGdzdF93YXZwYWNrX2VuY19jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX3NldF9wcm9wZXJ0eSksIChnc3Rfd2F2cGFja19lbmNfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF93YXZwYWNrX2VuY19wbHVnaW5faW5pdCk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5oOgoJICAqIGV4dC93YXZwYWNrL21kNS5jOgoJICAqIGV4dC93YXZwYWNrL21kNS5oOgoJICBBZGQgd2F2cGFjayBlbmNvZGVyIGVsZW1lbnQgKCMzNDMxMzEpLgoKMjAwNi0wNi0wOSAyMDozNjowMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdjb25mL01ha2VmaWxlLmFtOiBIb25vdXIgLS1kaXNhYmxlLXNjaGVtYXMtaW5zdGFsbCBjb25maWd1cmUgb3B0aW9uLiBGaXhlcyAjMzQ0MTAwLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnY29uZi9NYWtlZmlsZS5hbToKCSAgSG9ub3VyIC0tZGlzYWJsZS1zY2hlbWFzLWluc3RhbGwgY29uZmlndXJlIG9wdGlvbi4gRml4ZXMgIzM0NDEwMC4KCjIwMDYtMDYtMDkgMTg6MzM6MDEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICB0ZXN0cy9leGFtcGxlcy9sZXZlbC9NYWtlZmlsZS5hbTogQWRkIC1sbSB0byBMSUJTIGZvciBwb3coKSBmdW5jdGlvbiwgZG9uJ3QgYXNzdW1lIG9uZSBvZiBvdXIgZGVwZW5kZW5jaWVzIChzdWNoIGFzIGwuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvZXhhbXBsZXMvbGV2ZWwvTWFrZWZpbGUuYW06CgkgIEFkZCAtbG0gdG8gTElCUyBmb3IgcG93KCkgZnVuY3Rpb24sIGRvbid0IGFzc3VtZSBvbmUgb2Ygb3VyCgkgIGRlcGVuZGVuY2llcyAoc3VjaCBhcyBsaWJ4bWwtMi4wKSBkcmFncyBpdCBpbiBhdXRvbWF0aWNhbGx5CgkgICgjMzQzNjAzKS4KCjIwMDYtMDYtMDkgMTg6MTc6MjMgKzAwMDAgIFBldGVyIEtqZWxsZXJzdGVkdCA8cGtqQGF4aXMuY29tPgoKCSAgY29uZmlndXJlLmFjOiBXZSBzaG91bGQgdXNlICRTRUQgYW5kIG5vdCAkKFNFRCkgaW4gY29uZmlndXJlLmFjICgjMzQzNjc4KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBQZXRlciBLamVsbGVyc3RlZHQgIDxwa2ogYXQgYXhpcyBkb3QgY29tPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgV2Ugc2hvdWxkIHVzZSAkU0VEIGFuZCBub3QgJChTRUQpIGluIGNvbmZpZ3VyZS5hYyAoIzM0MzY3OCkuCgoyMDA2LTA2LTA5IDE3OjM4OjE5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgY29uZmlndXJlLmFjOiBDaGVjayBmb3IgWCBiZWZvcmUgdXNpbmcgWF9DRkxBR1MgaW4gdGhlIGNoZWNrIGZvciBvcGVuZ2wgKCMzNDM4NjYpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIENoZWNrIGZvciBYIGJlZm9yZSB1c2luZyBYX0NGTEFHUyBpbiB0aGUgY2hlY2sgZm9yIG9wZW5nbCAoIzM0Mzg2NikuCgkgICogZXh0L211c2VwYWNrL01ha2VmaWxlLmFtOgoJICAqIGV4dC93YXZwYWNrL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zcGVlZC9NYWtlZmlsZS5hbToKCSAgQWRkIG1pc3NpbmcgR1NUX0xJQlMsIGZpeGVzIGJ1aWxkIG9uIGN5Z3dpbiAoIzM0Mzg2NikuCgoyMDA2LTA2LTA5IDE3OjI5OjA4ICswMDAwICBCcmlhbiBDYW1lcm9uIDxicmlhbi5jYW1lcm9uQHN1bi5jb20+CgoJICBzeXMvc3VuYXVkaW8vOiBBdHRhY2hlZCBmaW5kIGEgcGF0Y2ggdGhhdCBmaXhlcyBhIG51bWJlciBvZiBidWdzIHdpdGggdGhlIFN1bkF1ZGlvIG1peGVyIHBsdWdpbiBhbmQgZml4ZXMgIzM0NDEwMTogMS4uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBCcmlhbiBDYW1lcm9uIDxicmlhbiBkb3QgY2FtZXJvbiBhdCBzdW4gZG90IGNvbT4KCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlcmN0cmwuYzoKCSAgKGdzdF9zdW5hdWRpb21peGVyX2N0cmxfb3BlbiksIChnc3Rfc3VuYXVkaW9taXhlcl9jdHJsX2J1aWxkX2xpc3QpLAoJICAoZ3N0X3N1bmF1ZGlvbWl4ZXJfY3RybF9uZXcpLCAoZ3N0X3N1bmF1ZGlvbWl4ZXJfY3RybF9zZXRfdm9sdW1lKSwKCSAgKGdzdF9zdW5hdWRpb21peGVyX2N0cmxfc2V0X211dGUpOgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NpbmsuYzogKGdzdF9zdW5hdWRpb3NpbmtfY2xhc3NfaW5pdCksCgkgIChnc3Rfc3VuYXVkaW9zaW5rX2luaXQpLCAoZ3N0X3N1bmF1ZGlvc2lua19wcmVwYXJlKSwKCSAgKGdzdF9zdW5hdWRpb3Npbmtfd3JpdGUpOgoJICBBdHRhY2hlZCBmaW5kIGEgcGF0Y2ggdGhhdCBmaXhlcyBhIG51bWJlciBvZiBidWdzIHdpdGggdGhlIFN1bkF1ZGlvIG1peGVyCgkgIHBsdWdpbiBhbmQgZml4ZXMgIzM0NDEwMToKCSAgMS4gVGhlIGdzdF9zdW5hdWRpb21peGVyX2N0cmxfYnVpbGRfbGlzdCBrZXB0IGFwcGVuZGluZyB0aGUgc2FtZSAzIHRyYWNrcyBvbnRvCgkgIHRoZSB0cmFja2xpc3QgY2F1c2luZyBnbm9tZS12b2x1bWUtY29udHJvbCdzIHByZWZlcmVuY2VzIGRpYWxvZyB0byBiZSBtZXNzZWQKCSAgdXAgYW5kIHdvdWxkIGNvcmUgZHVtcCBpZiB5b3UgY2hlY2tlZC91bmNoZWNrZWQgYW55IGl0ZW0uCgkgIDIuIFdlIHdlcmVuJ3QgcHJldmlvdXNseSBzZXR0aW5nIHRoZSBNVVRFIGZsYWcgcHJvcGVybHkuICBGaXhpbmcgdGhpcyBtYWtlcwoJICBnbm9tZS12b2x1bWUtY29udHJvbCB3b3JrIGJldHRlci4KCSAgMy4gTm93IHdlIHByb3Blcmx5IGRlZmluZSB0aGUgaW5wdXQgdHJhY2sgdG8gYmUgR1NUX01JWEVSX1RSQUNLX0lOUFVUIGFuZAoJICB0aGUgbW9uaXRvciB0byBiZSBHU1RfTUlYRVJfVFJBQ0tfT1VUUFVULCBzbyB0aGF0IG1ha2VzIGdub21lLXZvbHVtZS1jb250cm9sCgkgIGxvb2sgYmV0dGVyLgoJICBBbHNvIHNvbWUgbWlub3IgY2xlYW51cCBpbiBnc3RzdW5hdWRpb3NpbmsuYy4KCjIwMDYtMDYtMDkgMTc6MTI6NTIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvanBlZy9nc3RqcGVnZGVjLio6IEFQSTogQWRkZWQgSURDVCBtZXRob2QgcHJvcGVydHkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOiAoZ3N0X2lkY3RfbWV0aG9kX2dldF90eXBlKSwKCSAgKGdzdF9qcGVnX2RlY19jbGFzc19pbml0KSwgKGdzdF9qcGVnX2RlY19pbml0KSwKCSAgKGdzdF9qcGVnX2RlY19kZWNvZGVfaW5kaXJlY3QpLCAoZ3N0X2pwZWdfZGVjX2RlY29kZV9kaXJlY3QpLAoJICAoZ3N0X2pwZWdfZGVjX2NoYWluKSwgKGdzdF9qcGVnX2RlY19zaW5rX2V2ZW50KSwKCSAgKGdzdF9qcGVnX2RlY19zZXRfcHJvcGVydHkpLCAoZ3N0X2pwZWdfZGVjX2dldF9wcm9wZXJ0eSk6CgkgICogZXh0L2pwZWcvZ3N0anBlZ2RlYy5oOgoJICBBUEk6IEFkZGVkIElEQ1QgbWV0aG9kIHByb3BlcnR5CgkgIFNtYWxsIGNsZWFudXBzLgoJICBBdm9pZCBkeW5hbWljIGFsbG9jYXRpb24gb2YgdHJpdmlhbCBmaXhlZCBzdHJ1Y3R1cmUuCgkgIEFsbG9jYXRlIGVub3VnaCBzcGFjZSBmb3IgdGVtcCA0OjQ6NCBZVVYgYnVmZmVycy4gRml4ZXMgIzM0MzY2MS4KCjIwMDYtMDYtMDcgMDk6MjU6MTYgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBjb25maWd1cmUuYWM6IFdlIG5vdyByZXF1aXJlIGxpYnJhdzEzOTQgPj0gMS4xLjAgYW5kIHRoYXQgdmVyc2lvbiBvbndhcmRzIGFsbCBoYXZlIC5wYyBmaWxlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDYtMDcgIFphaGVlciBBYmJhcyBNZXJhbGkgIDx6YWhlZXJhYmJhcyBhdCBtZXJhbGkgZG90IG9yZz4KCSAgKiBjb25maWd1cmUuYWM6CgkgIFdlIG5vdyByZXF1aXJlIGxpYnJhdzEzOTQgPj0gMS4xLjAgYW5kIHRoYXQgdmVyc2lvbiBvbndhcmRzIGFsbAoJICBoYXZlIC5wYyBmaWxlcy4KCjIwMDYtMDYtMDIgMTU6MDI6NTQgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvbGF3L2FsYXctZGVjb2RlLmM6IFRyeWluZyB0byBnZXQgaXRlbXMgZnJvbSBhbiBBTlkgb3IgRU1QVFkgY2FwcyBpcyAuLi4gc3R1cGlkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbGF3L2FsYXctZGVjb2RlLmM6IChhbGF3ZGVjX2dldGNhcHMpOgoJICBUcnlpbmcgdG8gZ2V0IGl0ZW1zIGZyb20gYW4gQU5ZIG9yIEVNUFRZIGNhcHMgaXMgLi4uIHN0dXBpZC4KCjIwMDYtMDYtMDIgMTE6MzM6MTggKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBleHQvZHYvZ3N0ZHZkZWMuKjogQWRkZWQgR3N0U2VnbWVudCBoYW5kbGluZywgbm93IGltcGxlbWVudHMgZHJvcHBpbmcvY2xpcHBpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9kdi9nc3RkdmRlYy5jOiAoZ3N0X2R2ZGVjX2luaXQpLCAoZ3N0X2R2ZGVjX3NpbmtfZXZlbnQpLAoJICAoZ3N0X2R2ZGVjX2NoYWluKSwgKGdzdF9kdmRlY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9kdi9nc3RkdmRlYy5oOgoJICBBZGRlZCBHc3RTZWdtZW50IGhhbmRsaW5nLCBub3cgaW1wbGVtZW50cyBkcm9wcGluZy9jbGlwcGluZy4KCjIwMDYtMDYtMDEgMjI6MDA6MjYgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIEZpeCBtb3JlIGdvYmplY3QgbWFjcm9zOiBvYmo8LT5rbGFzcywgR3N0WFhYPC0+R3N0WFhYQ2xhc3MKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2Fsc2FzcGRpZi9hbHNhc3BkaWZzaW5rLmg6CgkgICogZXh0L2FtcndiL2dzdGFtcndiZGVjLmg6CgkgICogZXh0L2FtcndiL2dzdGFtcndiZW5jLmg6CgkgICogZXh0L2FtcndiL2dzdGFtcndicGFyc2UuaDoKCSAgKiBleHQvYXJ0cy9nc3RfYXJ0cy5oOgoJICAqIGV4dC9hcnRzZC9nc3RhcnRzZHNpbmsuaDoKCSAgKiBleHQvYXVkaW9maWxlL2dzdGFmcGFyc2UuaDoKCSAgKiBleHQvYXVkaW9maWxlL2dzdGFmc2luay5oOgoJICAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzcmMuaDoKCSAgKiBleHQvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmg6CgkgICogZXh0L2J6Mi9nc3RiejJkZWMuaDoKCSAgKiBleHQvYnoyL2dzdGJ6MmVuYy5oOgoJICAqIGV4dC9kaXJhYy9nc3RkaXJhY2RlYy5oOgoJICAqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuaDoKCSAgKiBleHQvZGl2eC9nc3RkaXZ4ZGVjLmg6CgkgICogZXh0L2RpdngvZ3N0ZGl2eGVuYy5oOgoJICAqIGV4dC9kdHMvZ3N0ZHRzZGVjLmg6CgkgICogZXh0L2ZhYWMvZ3N0ZmFhYy5oOgoJICAqIGV4dC9nc20vZ3N0Z3NtZGVjLmg6CgkgICogZXh0L2dzbS9nc3Rnc21lbmMuaDoKCSAgKiBleHQvaXZvcmJpcy92b3JiaXNlbmMuaDoKCSAgKiBleHQvbGliZmFtZS9nc3RsaWJmYW1lLmg6CgkgICogZXh0L25hcy9uYXNzaW5rLmg6CgkgICogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuaDoKCSAgKiBleHQvcG9seXAvcG9seXBzaW5rLmg6CgkgICogZXh0L3NkbC9zZGxhdWRpb3NpbmsuaDoKCSAgKiBleHQvc2RsL3NkbHZpZGVvc2luay5oOgoJICAqIGV4dC9zaG91dC9nc3RzaG91dC5oOgoJICAqIGV4dC9zbmFwc2hvdC9nc3RzbmFwc2hvdC5oOgoJICAqIGV4dC9zbmRmaWxlL2dzdHNmLmg6CgkgICogZXh0L3N3ZmRlYy9nc3Rzd2ZkZWMuaDoKCSAgKiBleHQvdGFya2luL2dzdHRhcmtpbmRlYy5oOgoJICAqIGV4dC90YXJraW4vZ3N0dGFya2luZW5jLmg6CgkgICogZXh0L3RoZW9yYS90aGVvcmFkZWMuaDoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmg6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmg6CgkgICogZXh0L3hpbmUvZ3N0eGluZS5oOgoJICAqIGV4dC94dmlkL2dzdHh2aWRkZWMuaDoKCSAgKiBleHQveHZpZC9nc3R4dmlkZW5jLmg6CgkgICogZ3N0L2NkeGFwYXJzZS9nc3RjZHhhcGFyc2UuaDoKCSAgKiBnc3QvY2R4YXBhcnNlL2dzdGNkeGFzdHJpcC5oOgoJICAqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2UuaDoKCSAgKiBnc3QvZmVzdGl2YWwvZ3N0ZmVzdGl2YWwuaDoKCSAgKiBnc3QvZnJlZXplL2dzdGZyZWV6ZS5oOgoJICAqIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuaDoKCSAgKiBnc3QvZ2RwL2dzdGdkcHBheS5oOgoJICAqIGdzdC9tb2RwbHVnL2dzdG1vZHBsdWcuaDoKCSAgKiBnc3QvbXBlZzFzeXMvZ3N0bXBlZzFzeXN0ZW1lbmNvZGUuaDoKCSAgKiBnc3QvbXBlZzF2aWRlb3BhcnNlL2dzdG1wMXZpZGVvcGFyc2UuaDoKCSAgKiBnc3QvbXBlZzJzdWIvZ3N0bXBlZzJzdWJ0Lmg6CgkgICogZ3N0L21wZWdhdWRpb3BhcnNlL2dzdG1wZWdhdWRpb3BhcnNlLmg6CgkgICogZ3N0L211bHRpZmlsZXNpbmsvZ3N0bXVsdGlmaWxlc2luay5oOgoJICAqIGdzdC9vdmVybGF5L2dzdG92ZXJsYXkuaDoKCSAgKiBnc3QvcGxheW9uZGVtYW5kL2dzdHBsYXlvbmRlbWFuZC5oOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguaDoKCSAgKiBnc3QvcnRqcGVnL2dzdHJ0anBlZ2RlYy5oOgoJICAqIGdzdC9ydGpwZWcvZ3N0cnRqcGVnZW5jLmg6CgkgICogZ3N0L3Ntb290aC9nc3RzbW9vdGguaDoKCSAgKiBnc3Qvc21vb3Rod2F2ZS9nc3RzbW9vdGh3YXZlLmg6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmg6CgkgICogZ3N0L3NwZWVkL2dzdHNwZWVkLmg6CgkgICogZ3N0L3N0ZXJlby9nc3RzdGVyZW8uaDoKCSAgKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5oOgoJICAqIGdzdC90dGEvZ3N0dHRhZGVjLmg6CgkgICogZ3N0L3R0YS9nc3R0dGFwYXJzZS5oOgoJICAqIGdzdC92aWRlb2Ryb3AvZ3N0dmlkZW9kcm9wLmg6CgkgICogZ3N0L3hpbmdoZWFkZXIvZ3N0eGluZ211eC5oOgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmg6CgkgICogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5oOgoJICAqIHN5cy9keHIzL2R4cjNhdWRpb3NpbmsuaDoKCSAgKiBzeXMvZHhyMy9keHIzc3B1c2luay5oOgoJICAqIHN5cy9keHIzL2R4cjN2aWRlb3NpbmsuaDoKCSAgKiBzeXMvcWNhbS9nc3RxY2Ftc3JjLmg6CgkgICogc3lzL3ZjZC92Y2RzcmMuaDoKCSAgRml4IG1vcmUgZ29iamVjdCBtYWNyb3M6IG9iajwtPmtsYXNzLCBHc3RYWFg8LT5Hc3RYWFhDbGFzcwoKMjAwNi0wNi0wMSAyMTowNzoyNiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgRml4IG1vcmUgZ29iamVjdCBtYWNyb3M6IG9iajwtPmtsYXNzLCBHc3RYWFg8LT5Hc3RYWFhDbGFzcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYWFsaWIvZ3N0YWFzaW5rLmg6CgkgICogZXh0L2Fubm9kZXgvZ3N0Y21tbGRlYy5oOgoJICAqIGV4dC9jYWlyby9nc3R0aW1lb3ZlcmxheS5oOgoJICAqIGV4dC9kdi9nc3RkdmRlYy5oOgoJICAqIGV4dC9kdi9nc3RkdmRlbXV4Lmg6CgkgICogZXh0L2VzZC9lc2Rtb24uaDoKCSAgKiBleHQvZXNkL2VzZHNpbmsuaDoKCSAgKiBleHQvZmxhYy9nc3RmbGFjZW5jLmg6CgkgICogZXh0L2djb25mL2dzdGdjb25mYXVkaW9zaW5rLmg6CgkgICogZXh0L2djb25mL2dzdGdjb25mYXVkaW9zcmMuaDoKCSAgKiBleHQvZ2NvbmYvZ3N0Z2NvbmZ2aWRlb3NpbmsuaDoKCSAgKiBleHQvZ2NvbmYvZ3N0Z2NvbmZ2aWRlb3NyYy5oOgoJICAqIGV4dC9nZGtfcGl4YnVmL2dzdGdka2FuaW1hdGlvbi5oOgoJICAqIGV4dC9nZGtfcGl4YnVmL3BpeGJ1ZnNjYWxlLmg6CgkgICogZXh0L2hhbC9nc3RoYWxhdWRpb3NpbmsuaDoKCSAgKiBleHQvaGFsL2dzdGhhbGF1ZGlvc3JjLmg6CgkgICogZXh0L2pwZWcvZ3N0anBlZ2VuYy5oOgoJICAqIGV4dC9qcGVnL2dzdHNtb2tlZGVjLmg6CgkgICogZXh0L2pwZWcvZ3N0c21va2VlbmMuaDoKCSAgKiBleHQvbGliY2FjYS9nc3RjYWNhc2luay5oOgoJICAqIGV4dC9saWJtbmcvZ3N0bW5nZGVjLmg6CgkgICogZXh0L2xpYm1uZy9nc3RtbmdlbmMuaDoKCSAgKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5oOgoJICAqIGV4dC9saWJwbmcvZ3N0cG5nZW5jLmg6CgkgICogZXh0L3JhdzEzOTQvZ3N0ZHYxMzk0c3JjLmg6CgkgICogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmg6CgkgICogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc2luay5oOgoJICAqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NpbmsuaDoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4Lmg6CgkgICogZ3N0L2N1dHRlci9nc3RjdXR0ZXIuaDoKCSAgKiBnc3QvZGVidWcvZWZlbmNlLmg6CgkgICogZ3N0L2RlYnVnL2dzdG5hdmlnYXRpb250ZXN0Lmg6CgkgICogZ3N0L2RlYnVnL2dzdG5hdnNlZWsuaDoKCSAgKiBnc3QvZmx4L2dzdGZseGRlYy5oOgoJICAqIGdzdC9nb29tL2dzdGdvb20uaDoKCSAgKiBnc3QvaWN5ZGVtdXgvZ3N0aWN5ZGVtdXguaDoKCSAgKiBnc3QvaWQzZGVtdXgvZ3N0aWQzZGVtdXguaDoKCSAgKiBnc3QvbGF3L2FsYXctZGVjb2RlLmg6CgkgICogZ3N0L2xhdy9hbGF3LWVuY29kZS5oOgoJICAqIGdzdC9sYXcvbXVsYXctZGVjb2RlLmg6CgkgICogZ3N0L2xhdy9tdWxhdy1lbmNvZGUuaDoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4Lmg6CgkgICogZ3N0L21lZGlhbi9nc3RtZWRpYW4uaDoKCSAgKiBnc3Qvb2xkY29yZS9nc3RhZ2dyZWdhdG9yLmg6CgkgICogZ3N0L29sZGNvcmUvZ3N0ZmRzaW5rLmg6CgkgICogZ3N0L29sZGNvcmUvZ3N0bWQ1c2luay5oOgoJICAqIGdzdC9vbGRjb3JlL2dzdG11bHRpZmlsZXNyYy5oOgoJICAqIGdzdC9vbGRjb3JlL2dzdHBpcGVmaWx0ZXIuaDoKCSAgKiBnc3Qvb2xkY29yZS9nc3RzaGFwZXIuaDoKCSAgKiBnc3Qvb2xkY29yZS9nc3RzdGF0aXN0aWNzLmg6CgkgICogZ3N0L3J0cC9nc3Rhc3Rlcmlza2gyNjMuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cEwxNmRlcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBMMTZwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBhbXJwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cGRlcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBnc21kZXBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwZ3NtcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBoMjYzcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBoMjYzcGRlcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBoMjYzcHBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0Z3BheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0dmRlcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBtcDR2cGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBtcGFkZXBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXBhcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBwY21hZGVwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cHBjbWFwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cHBjbXVkZXBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwcGNtdXBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwc3BlZXhkZXBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwc3BlZXhwYXkuaDoKCSAgKiBnc3QvcnRzcC9nc3RydHBkZWMuaDoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgICogZ3N0L3NtcHRlL2dzdHNtcHRlLmg6CgkgICogZ3N0L3VkcC9nc3RkeW51ZHBzaW5rLmg6CgkgICogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuaDoKCSAgKiBnc3QvdWRwL2dzdHVkcHNpbmsuaDoKCSAgKiBnc3QvdWRwL2dzdHVkcHNyYy5oOgoJICAqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2JhbGFuY2UuaDoKCSAgKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9mbGlwLmg6CgkgICogc3lzL29zcy9nc3Rvc3NkbWFidWZmZXIuaDoKCSAgKiBzeXMvb3NzL2dzdG9zc21peGVyZWxlbWVudC5oOgoJICAqIHN5cy9vc3MvZ3N0b3Nzc2luay5oOgoJICAqIHN5cy9vc3MvZ3N0b3Nzc3JjLmg6CgkgICogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5oOgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVyLmg6CgkgICogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvc2luay5oOgoJICAqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmg6CgkgIEZpeCBtb3JlIGdvYmplY3QgbWFjcm9zOiBvYmo8LT5rbGFzcywgR3N0WFhYPC0+R3N0WFhYQ2xhc3MKCjIwMDYtMDUtMzEgMTY6MjM6NTQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvZ29vbS9nc3Rnb29tLio6IEhhbmRsZSBRb1MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9nb29tL2dzdGdvb20uYzogKGdzdF9nb29tX2NsYXNzX2luaXQpLCAoZ3N0X2dvb21faW5pdCksCgkgIChnc3RfZ29vbV9maW5hbGl6ZSksIChnc3RfZ29vbV9yZXNldCksIChnc3RfZ29vbV9zaW5rX3NldGNhcHMpLAoJICAoZ3N0X2dvb21fc3JjX3NldGNhcHMpLCAoZ3N0X2dvb21fc3JjX2V2ZW50KSwKCSAgKGdzdF9nb29tX3NpbmtfZXZlbnQpLCAoZ2V0X2J1ZmZlciksIChnc3RfZ29vbV9jaGFpbiksCgkgIChnc3RfZ29vbV9jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9nb29tL2dzdGdvb20uaDoKCSAgSGFuZGxlIFFvUy4KCSAgSGFuZGxlIGZsdXNoaW5nLCBkaXNjb250IGFuZCBldmVudHMuCgkgIEZpeCB0aW1lc3RhbXBzIGFuZCB2YXJpb3VzIG90aGVyIGNsZWFudXBzLgoKMjAwNi0wNS0zMSAxNTozNzoxNiArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIGV4dC9yYXcxMzk0L2dzdGR2MTM5NHNyYy5jOiBGaXggYnVzIHJlc2V0IHdoZW4gdXNpbmcgbGliaWVjNjE4ODMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDUtMzEgIFphaGVlciBBYmJhcyBNZXJhbGkgIDx6YWhlZXJhYmJhcyBhdCBtZXJhbGkgZG90IG9yZz4KCSAgKiBleHQvcmF3MTM5NC9nc3RkdjEzOTRzcmMuYzogKGdzdF9kdjEzOTRzcmNfYnVzX3Jlc2V0KToKCSAgRml4IGJ1cyByZXNldCB3aGVuIHVzaW5nIGxpYmllYzYxODgzCgoyMDA2LTA1LTMxIDEwOjMxOjIzICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgY29uZmlndXJlLmFjOiBEZXRlY3QgbGliaWVjNjE4ODMgYW5kIHNldCBuZWNlc3NhcnkgQ0ZMQUdTIGFuZCBMSUJTIGZvciBkdjEzOTQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTA1LTMxICBaYWhlZXIgQWJiYXMgTWVyYWxpICA8emFoZWVyYWJiYXMgYXQgbWVyYWxpIGRvdCBvcmc+CgkgICogY29uZmlndXJlLmFjOgoJICBEZXRlY3QgbGliaWVjNjE4ODMgYW5kIHNldCBuZWNlc3NhcnkgQ0ZMQUdTIGFuZCBMSUJTIGZvciBkdjEzOTQuCgkgICogZXh0L3JhdzEzOTQvTWFrZWZpbGUuYW06CgkgIEFkZCBDRkxBR1MuCgkgICogZXh0L3JhdzEzOTQvZ3N0ZHYxMzk0c3JjLmM6IChnc3RfZHYxMzk0c3JjX2llYzYxODgzX3JlY2VpdmUpLAoJICBOZXcgbWV0aG9kLCB0byByZWNlaXZlIHVzaW5nIGxpYmllYzYxODgzLgoJICAoZ3N0X2R2MTM5NHNyY19pc29fcmVjZWl2ZSksCgkgICNpZmRlZidkIG91dCBpZiBsaWJpZWM2MTg4MyBpcyBwcmVzZW50LgoJICAoZ3N0X2R2MTM5NHNyY19idXNfcmVzZXQpLAoJICBHZXQgdXNlcmRhdGEgY29ycmVjdGx5IGlmIHVzaW5nIGxpYmllYzYxODgzLgoJICAoZ3N0X2R2MTM5NHNyY19jcmVhdGUpLAoJICBXaGVuIHVzaW5nIGxpYmllYzYxODgzLCBvbmx5IHBvbGwgb25lIGZkIGFuZCBubyBuZWVkIHRvIHJlYWQuCgkgIChnc3RfZHYxMzk0c3JjX2Rpc2NvdmVyX2F2Y19ub2RlKSwKCSAgUmVwbGFjZSBnX3dhcm5pbmdzLgoJICAoZ3N0X2R2MTM5NHNyY19zdGFydCksCgkgIENyZWF0ZSBuZXcgaGFuZGxlIHdoZW4gd2Uga25vdyB3aGljaCBkdiBwb3J0LiAgTW9yZSByZWxpYWJsZQoJICB0aGFuIHNldHRpbmcgcG9ydCBvbiBhbiBleGlzdGluZyBoYW5kbGUuICBJbml0aWFsaXNlIGxpYmllYzYxODgzLgoJICAoZ3N0X2R2MTM5NHNyY19zdG9wKToKCSAgSWYgdXNpbmcgbGliaWVjNjE4ODMsIHRoZW4gY2xlYW51cCBpdHMgaGFuZGxlIHByb3Blcmx5LgoJICAqIGV4dC9yYXcxMzk0L2dzdGR2MTM5NHNyYy5oOgoJICBBZGQgbGliaWVjNjE4ODMgaGFuZGxlLgoKMjAwNi0wNS0zMCAyMTowNzozOCArMDAwMCAgU8OpYmFzdGllbiBNb3V0dGUgPHNlYmFzdGllbkBtb3V0dGUubmV0PgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiBhZGQgYW4gZXhwbGljaXQgZGxsIGltcG9ydGVkIGRlY2xhcmF0aW9uIGZvciBHU1RfQ0FUX0VWRU5UK1dJTjMyCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYWRkIGFuIGV4cGxpY2l0IGRsbCBpbXBvcnRlZCBkZWNsYXJhdGlvbiBmb3IgR1NUX0NBVF9FVkVOVCtXSU4zMgoJICAqIHdpbjMyL01BTklGRVNUOgoJICBzb3J0IGZpbGUgbGlzdGluZwoJICAqIHdpbjMyL3ZzNi9saWJnc3RhdmkuZHNwOgoJICBhZGQgZ3N0YXZpbXV4LmMgdG8gdGhlIHByb2plY3QKCSAgKiB3aW4zMi92czYvbGliZ3N0aWQzZGVtdXguZHNwOgoJICBhZGQgbGluayB0byB6bGliIGxpYnJhcnkKCSAgKiB3aW4zMi92czYvbGliZ3N0bWF0cm9za2EuZHNwOgoJICBhZGQgbWF0cm9za2EtaWRzLmMgdG8gdGhlIHByb2plY3QKCjIwMDYtMDUtMzAgMTQ6MzU6MTggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPG1haWxAc2xvbW9zbmFpbC5kZT4KCgkgIEFkZCBhcGV2Mm11eCBlbGVtZW50ICgjMzQzMTIyKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBTZWJhc3RpYW4gRHLDtmdlICA8bWFpbCBhdCBzbG9tb3NuYWlsIGRlID4KCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBleHQvdGFnbGliL01ha2VmaWxlLmFtOgoJICAqIGV4dC90YWdsaWIvZ3N0YXBldjJtdXguY2M6CgkgICogZXh0L3RhZ2xpYi9nc3RhcGV2Mm11eC5oOgoJICAqIGV4dC90YWdsaWIvZ3N0aWQzdjJtdXguY2M6CgkgICogZXh0L3RhZ2xpYi9nc3R0YWdsaWJtdXguYzogKHBsdWdpbl9pbml0KToKCSAgKiBleHQvdGFnbGliL2dzdHRhZ2xpYm11eC5oOgoJICBBZGQgYXBldjJtdXggZWxlbWVudCAoIzM0MzEyMikuCgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYXBldjJtdXguYzoKCSAgKHRlc3RfdGFnbGliX2FwZXYybXV4X2NyZWF0ZV90YWdzKSwKCSAgKHRlc3RfdGFnbGliX2FwZXYybXV4X2NoZWNrX3RhZ3MpLCAoZmlsbF9tcDNfYnVmZmVyKSwgKGdvdF9idWZmZXIpLAoJICAoZGVtdXhfcGFkX2FkZGVkKSwgKHRlc3RfdGFnbGliX2FwZXYybXV4X2NoZWNrX291dHB1dF9idWZmZXIpLAoJICAodGVzdF90YWdsaWJfYXBldjJtdXhfd2l0aF90YWdzKSwgKEdTVF9TVEFSVF9URVNUKSwKCSAgKGFwZXYybXV4X3N1aXRlKSwgKG1haW4pOgoJICBBZGQgdW5pdCB0ZXN0IGZvciBhcGV2Mm11eCBlbGVtZW50LgoKMjAwNi0wNS0yOCAxNzozMzoxMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC86IEdTVF9QVFJfRk9STUFUIHNob3VsZCBiZSB1c2VkIHRvIHByaW50IGNhcHMgaW4gZGVidWcgc3RhdGVtZW50cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2FscGhhL2dzdGFscGhhY29sb3IuYzogKGdzdF9hbHBoYV9jb2xvcl90cmFuc2Zvcm1fY2Fwcyk6CgkgICogZ3N0L2RlYnVnL25lZ290aWF0aW9uLmM6IChnc3RfbmVnb3RpYXRpb25fdXBkYXRlX2NhcHMpOgoJICAqIGdzdC9ydHAvZ3N0cnRwaWxiY2RlcGF5LmM6IChnc3RfcnRwX2lsYmNfZGVwYXlfc2V0Y2Fwcyk6CgkgIEdTVF9QVFJfRk9STUFUIHNob3VsZCBiZSB1c2VkIHRvIHByaW50IGNhcHMgaW4gZGVidWcgc3RhdGVtZW50cy4KCjIwMDYtMDUtMjggMTQ6Mzg6MTEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQHVidW50dS5jb20+CgoJICBnc3QvYXBldGFnL2dzdGFwZWRlbXV4LmM6IFNvbWUgY2xlYW4tdXBzIGFuZCBhZGRpdGlvbnM6IG1hcCBBUEUgJ2ZpbGUnIHRhZyB0bwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFNlYmFzdGlhbiBEcsO2Z2UgIDxzbG9tbyBhdCB1YnVudHUgZG90IGNvbT4KCSAgKiBnc3QvYXBldGFnL2dzdGFwZWRlbXV4LmM6IChhcGVfZGVtdXhfZ2V0X2dzdF90YWdfZnJvbV90YWcpLAoJICAoYXBlX2RlbXV4X3BhcnNlX3RhZ3MpOgoJICBTb21lIGNsZWFuLXVwcyBhbmQgYWRkaXRpb25zOiBtYXAgQVBFICdmaWxlJyB0YWcgdG8KCSAgR1NUX1RBR19MT0NBVElPTiAoIzM0MzEyMyk7IGFkZCBzdXBwb3J0IGZvciBleHRyYWN0aW5nCgkgIHRoZSB0cmFjayBjb3VudCBhbmQgY2xlYW4gdXAgcGFyc2luZyBhIGJpdCAoIzM0MzEyNykuCgoyMDA2LTA1LTI4IDEzOjQ5OjEyICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOiBJbml0aWFsaXplIHNlZ21lbnQgdG8gR1NUX0ZPUk1BVF9VTkRFRklORUQgaW4gUkVBRFktPlBBVVNFRC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOiAoZ3N0X2pwZWdfZGVjX2NoYW5nZV9zdGF0ZSk6CgkgIEluaXRpYWxpemUgc2VnbWVudCB0byBHU1RfRk9STUFUX1VOREVGSU5FRCBpbiBSRUFEWS0+UEFVU0VELgoKMjAwNi0wNS0yOCAxMzozMDoxMyArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGV4dC9qcGVnL2dzdGpwZWdkZWMuKjogQ2xpcCBvdXRnb2luZyBidWZmZXJzIGFjY29yZGluZyB0byBjdXJyZW50bHkgY29uZmlndXJlZCBzZWdtZW50LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6IChnc3RfanBlZ19kZWNfZmluYWxpemUpLAoJICAoZ3N0X2pwZWdfZGVjX2luaXQpLCAoZ3N0X2pwZWdfZGVjX2NoYWluKSwKCSAgKGdzdF9qcGVnX2RlY19zaW5rX2V2ZW50KSwgKGdzdF9qcGVnX2RlY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9qcGVnL2dzdGpwZWdkZWMuaDoKCSAgQ2xpcCBvdXRnb2luZyBidWZmZXJzIGFjY29yZGluZyB0byBjdXJyZW50bHkgY29uZmlndXJlZCBzZWdtZW50LgoKMjAwNi0wNS0yOCAxMDozOTowMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC90YWdsaWIvZ3N0aWQzdjJtdXguY2M6IEhhbmRsZSAgd3JpdGluZyBvZiB0cmFjay1jb3VudCBvciBhbGJ1bS12b2x1bWUtY291bnQgd2l0aG91dCB0cmFjay1udW1iZXIgb3IgYWxidW1lLXZvbHVtZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvdGFnbGliL2dzdGlkM3YybXV4LmNjOgoJICBIYW5kbGUgIHdyaXRpbmcgb2YgdHJhY2stY291bnQgb3IgYWxidW0tdm9sdW1lLWNvdW50IHdpdGhvdXQKCSAgdHJhY2stbnVtYmVyIG9yIGFsYnVtZS12b2x1bWUtbnVtYmVyIChpbiB0aGlzIGNhc2UgdGhlIG51bWJlcgoJICB3aWxsIGp1c3QgYmUgc2V0IHRvIDApLgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2lkM3YybXV4LmM6ICh0ZXN0X3RhZ2xpYl9pZDNtdXhfY2hlY2tfdGFncyk6CgkgIEl0IHdvdWxkIGJlIG5pY2UgaWYgd2UgYWN0dWFsbHkgY2hlY2tlZCB0aGUgdmFsdWVzIHJlY2VpdmVkIGZvcgoJICB0cmFjay9hbGJ1bS12b2x1bWUgbnVtYmVyL2NvdW50IGluICBfY2hlY2tfdGFncygpLCByYXRoZXIgdGhhbgoJICBzZXR0aW5nIHRoZW0gYWdhaW4gLi4uCgoyMDA2LTA1LTI4IDEwOjA1OjQ3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2lkM2RlbXV4L2lkM3YyZnJhbWVzLmM6IEEgdHJhY2svdm9sdW1lIG51bWJlciBvciBjb3VudCBvZiAwIGRvZXMgbm90IG1ha2Ugc2Vuc2UsIGp1c3QgaWdub3JlIGl0IGFsb25nIHdpdGggbmVnYXRpLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pZDNkZW11eC9pZDN2MmZyYW1lcy5jOiAoaWQzdjJfdGFnX3RvX3RhZ2xpc3QpOgoJICBBIHRyYWNrL3ZvbHVtZSBudW1iZXIgb3IgY291bnQgb2YgMCBkb2VzIG5vdCBtYWtlIHNlbnNlLAoJICBqdXN0IGlnbm9yZSBpdCBhbG9uZyB3aXRoIG5lZ2F0aXZlIG51bWJlcnMgKGEgdGFnIG1pZ2h0CgkgIG9ubHkgY29udGFpbiBhIHRyYWNrIGNvdW50IHdpdGhvdXQgYSB0cmFjayBudW1iZXIpLgoKMjAwNi0wNS0yNyAxMzoxMTozNyArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzogQWJvcnQgZGVjb21wcmVzc2lvbiB3aGVuIHJlY2VpdmluZyBGTFVTSF9TVE9QLiBUaGlzIHNob3VsZCBhdm9pZCBpc3N1ZXMgd2hlbiBpbnRlcnJ1cHRpbmcgZGVjby4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6IChnc3RfanBlZ19kZWNfaW5pdCksCgkgIChnc3RfanBlZ19kZWNfc2lua19ldmVudCk6CgkgIEFib3J0IGRlY29tcHJlc3Npb24gd2hlbiByZWNlaXZpbmcgRkxVU0hfU1RPUC4gVGhpcyBzaG91bGQgYXZvaWQKCSAgaXNzdWVzIHdoZW4gaW50ZXJydXB0aW5nIGRlY29kaW5nIHdpdGggZmx1c2hlcy4KCjIwMDYtMDUtMjcgMTI6MTA6NTAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvZmxhYy9nc3RmbGFjLmM6IERvbid0ICNpbmNsdWRlIGZpbGUgd2UgZG9uJ3QgZGlzdCBhbnkgbG9uZ2VyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmxhYy9nc3RmbGFjLmM6CgkgIERvbid0ICNpbmNsdWRlIGZpbGUgd2UgZG9uJ3QgZGlzdCBhbnkgbG9uZ2VyLgoKMjAwNi0wNS0yNyAxMToyNzo1OSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIFJFQURNRTogUmVwbGFjZSBjdXJyZW50IFJFQURNRSAoY29udGFpbmluZyB0aGUgcmVsZWFzZSBub3RlcyBmcm9tIHNvbWUgMC45LnggdmVyc2lvbikgd2l0aCBhIHByb3BlciBSRUFETUUgdGFrZW4gZnJvbS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBSRUFETUU6CgkgIFJlcGxhY2UgY3VycmVudCBSRUFETUUgKGNvbnRhaW5pbmcgdGhlIHJlbGVhc2Ugbm90ZXMgZnJvbQoJICBzb21lIDAuOS54IHZlcnNpb24pIHdpdGggYSBwcm9wZXIgUkVBRE1FIHRha2VuIGZyb20gdGhlIGNvcmUuCgoyMDA2LTA1LTI2IDIyOjM1OjAwICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3Qvc3BlY3RydW0vOiBhZGRlZCBhbm90aGVyIGV4YW1wbGUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWN0cnVtL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zcGVjdHJ1bS9kZW1vLWF1ZGlvdGVzdC5jOiAob25fZnJlcXVlbmN5X2NoYW5nZWQpLAoJICAoc3BlY3RydW1fY2hhaW4pLCAobWFpbik6CgkgICogZ3N0L3NwZWN0cnVtL2RlbW8tb3Nzc3JjLmM6CgkgIGFkZGVkIGFub3RoZXIgZXhhbXBsZQoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgZml4IHR5cG8KCjIwMDYtMDUtMjYgMTM6MTY6NTQgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IENsaXAgdGhlIG91dHB1dGVkIE5FV1NFR01FTlQgc3RvcCB0aW1lIHRvIHRoZSBjb25maWd1cmVkIHNlZ21lbnQgc3RvcCB0aW1lLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9hY3RpdmF0ZV9zZWdtZW50KToKCSAgQ2xpcCB0aGUgb3V0cHV0ZWQgTkVXU0VHTUVOVCBzdG9wIHRpbWUgdG8gdGhlIGNvbmZpZ3VyZWQgc2VnbWVudCBzdG9wCgkgIHRpbWUuCgoyMDA2LTA1LTI2IDExOjQ4OjQ0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBEb24ndCBjbGVhciB0aGUgcnVubmluZyB2YXJpYWJsZSBpbiB0aGUgc2VlayBjb2RlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9kb19zZWVrKToKCSAgRG9uJ3QgY2xlYXIgdGhlIHJ1bm5pbmcgdmFyaWFibGUgaW4gdGhlIHNlZWsgY29kZS4KCjIwMDYtMDUtMjQgMTY6MDM6NDAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvZHYvZ3N0ZHZkZW11eC5jOiBJbXBsZW1lbnQgRU9TIGNvcnJlY3RseSBieSBlaXRoZXIgcG9zdGluZwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZHYvZ3N0ZHZkZW11eC5jOiAoZ3N0X2R2ZGVtdXhfbG9vcCk6CgkgIEltcGxlbWVudCBFT1MgY29ycmVjdGx5IGJ5IGVpdGhlciBwb3N0aW5nCgkgIFNFR01FTlRfRE9ORSBvciBwdXNoaW5nIGFuIEVPUyBtZXNzYWdlIGRlcGVuZGluZwoJICBvbiB0aGUgc2VlayB0eXBlLiBGaXhlcyAjMzQyNTkyCgoyMDA2LTA1LTI0IDExOjU2OjQzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBEZXRlY3QgUUNFTFAgaW4gbXA0YSBkZXNjcmlwdG9ycy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfaGFuZGxlX2VzZHMpOgoJICBEZXRlY3QgUUNFTFAgaW4gbXA0YSBkZXNjcmlwdG9ycy4KCjIwMDYtMDUtMjQgMTA6MDA6NTAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvbGF3LzogU29tZSBjbGVhbnVwcyBpbiB0aGUgY2hhaW4gZnVuY3Rpb25zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbGF3L2FsYXctZGVjb2RlLmM6IChnc3RfYWxhd2RlY19jaGFpbik6CgkgICogZ3N0L2xhdy9hbGF3LWRlY29kZS5oOgoJICAqIGdzdC9sYXcvYWxhdy1lbmNvZGUuYzogKGdzdF9hbGF3ZW5jX2NoYWluKToKCSAgKiBnc3QvbGF3L2FsYXctZW5jb2RlLmg6CgkgICogZ3N0L2xhdy9tdWxhdy1kZWNvZGUuYzogKGdzdF9tdWxhd2RlY19jaGFpbik6CgkgICogZ3N0L2xhdy9tdWxhdy1kZWNvZGUuaDoKCSAgKiBnc3QvbGF3L211bGF3LWVuY29kZS5jOiAoZ3N0X211bGF3ZW5jX2NoYWluKToKCSAgKiBnc3QvbGF3L211bGF3LWVuY29kZS5oOgoJICBTb21lIGNsZWFudXBzIGluIHRoZSBjaGFpbiBmdW5jdGlvbnMuCgkgIFJlbW92ZSBzb21lIEdTdHJlYW1lciAwLjAuMiBiaXRzLgoKMjAwNi0wNS0yMyAyMDoxNTowNCArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFuYXV3QHNreW5ldC5iZT4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzogZ3N0X2NvbGxlY3RfcGFkc19zdG9wKCkgbmVlZHMgdG8gYmUgY2FsbGVkIGJlZm9yZSBjaGFpbmluZyB1cCB0byB0aGUgcGFyZW50IGNsYXNzICgjMzQyNy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE1hcmsgTmF1d2VsYWVydHMgIDxtYW5hdXcgYXQgc2t5bmV0IGJlPgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzogKGdzdF9tYXRyb3NrYV9tdXhfY2hhbmdlX3N0YXRlKToKCSAgZ3N0X2NvbGxlY3RfcGFkc19zdG9wKCkgbmVlZHMgdG8gYmUgY2FsbGVkIGJlZm9yZSBjaGFpbmluZyB1cAoJICB0byB0aGUgcGFyZW50IGNsYXNzICgjMzQyNzM0KS4KCjIwMDYtMDUtMjMgMTY6NDU6MjIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvZmxhYy86IFJlbW92ZSBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSBjcnVmdCBmb3IgZGVhbGluZyB3aXRoIEZMQUMgQVBJIGNoYW5nZXMgaW4gdGhlIDEuMC54IHNlcmllcyAtIHdlIHJlcXVpcmUgMS4uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZsYWMvTWFrZWZpbGUuYW06CgkgICogZXh0L2ZsYWMvZmxhY19jb21wYXQuaDoKCSAgKiBleHQvZmxhYy9nc3RmbGFjLmM6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOiAoZ3N0X2ZsYWNfZGVjX2luaXQpOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSAgUmVtb3ZlIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5IGNydWZ0IGZvciBkZWFsaW5nIHdpdGggRkxBQyBBUEkKCSAgY2hhbmdlcyBpbiB0aGUgMS4wLnggc2VyaWVzIC0gd2UgcmVxdWlyZSAxLjEuMSBvciBuZXdlciB0aGVzZSBkYXlzLgoKMjAwNi0wNS0yMyAxMzo0NDoxMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9tYXRyb3NrYS86IEFkZCBzdXBwb3J0IGZvciBtdXhpbmcvZGVtdXhpbmcgdGhlb3JhIHZpZGVvICgjMzQyNDQ4OyB0b28gYmFkIG5vbmUgb2YgdGhlIHVzdWFsIGxpbnV4IHBsYXllcnMgY2FuIGFjdC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogKGdzdF9tYXRyb3NrYV9kZW11eF9hZGRfc3RyZWFtKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wdXNoX3hpcGhfY29kZWNfcHJpdl9kYXRhKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9ibG9ja2dyb3VwX29yX3NpbXBsZWJsb2NrKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF92aWRlb19jYXBzKSwgKGdzdF9tYXRyb3NrYV9kZW11eF9hdWRpb19jYXBzKToKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmg6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOiAoZ3N0X21hdHJvc2thX211eF9iYXNlX2luaXQpLAoJICAoZ3N0X21hdHJvc2thX211eF92aWRlb19wYWRfc2V0Y2FwcyksCgkgICh4aXBoM19zdHJlYW1oZWFkZXJfdG9fY29kZWNkYXRhKSwKCSAgKHZvcmJpc19zdHJlYW1oZWFkZXJfdG9fY29kZWNkYXRhKSwKCSAgKHRoZW9yYV9zdHJlYW1oZWFkZXJfdG9fY29kZWNkYXRhKSwKCSAgKGdzdF9tYXRyb3NrYV9tdXhfYXVkaW9fcGFkX3NldGNhcHMpLAoJICAoZ3N0X21hdHJvc2thX211eF93cml0ZV9kYXRhKToKCSAgQWRkIHN1cHBvcnQgZm9yIG11eGluZy9kZW11eGluZyB0aGVvcmEgdmlkZW8gKCMzNDI0NDg7IHRvbyBiYWQKCSAgbm9uZSBvZiB0aGUgdXN1YWwgbGludXggcGxheWVycyBjYW4gYWN0dWFsbHkgcGxheSB0aGlzKS4gUGxheWJhY2sKCSAgaW4gR1N0cmVhbWVyIHdpbGwgcmVxdWlyZSBhZGRpdGlvbmFsIGNoYW5nZXMgdG8gdGhlb3JhZGVjIGluIC1iYXNlLgoJICBSZWZhY3RvciBzdHJlYW1oZWFkZXJzIDw9PiBDb2RlY1ByaXZhdGVEYXRhIGNvZGUgYSBiaXQ7IHNvbWUgc21hbGwKCSAgY2xlYW51cHMuCgoyMDA2LTA1LTIyIDE4OjAwOjUyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBwby9QT1RGSUxFUy5pbjoKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF9wYXJzZV90cmFrKSwgKHBsdWdpbl9pbml0KToKCSAgcG8vUE9URklMRVMuaW46CgkgIFRocm93IGFuIGVycm9yIHdoZW4gdGhlIGZpbGUgaXMgZW5jcnlwdGVkLiBNb3ZlIHBsdWdpbl9pbml0IHN0dWZmCgkgIHRvIHRoZSBlbmQgb2YgdGhlIGZpbGUsIGFkZCBzdHVmZiBmb3IgaTE4biwgbWFrZSBkZWJ1ZyBjYXRlZ29yeQoJICBzdGF0aWMuCgoyMDA2LTA1LTIyIDE1OjIzOjA1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOiBGaXggY3Jhc2hlcyB3aGVuIHRoZSBob3Jpem9udGFsIHN1YnNhbXBsaW5nIGlzIDEuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzogKGhyZXNhbXBsZWNweTEpLAoJICAoZ3N0X2pwZWdfZGVjX2RlY29kZV9pbmRpcmVjdCksIChnc3RfanBlZ19kZWNfY2hhaW4pOgoJICBGaXggY3Jhc2hlcyB3aGVuIHRoZSBob3Jpem9udGFsIHN1YnNhbXBsaW5nIGlzIDEuCgkgIEZpeGVzICMzNDIwOTcuCgoyMDA2LTA1LTIyIDE0OjU2OjI5ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGdzdC9ydHAvZ3N0YXN0ZXJpc2toMjYzLmg6CgkqIGdzdC9ydHAvZ3N0cnRwTDE2ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBMMTZwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcnBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbWRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcHBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcDR2ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcDR2cGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcGFwYXkuaDoKCSAgY292ZXIgdXAgdGhlIGRpcnR5IHRydXRoCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBjb3ZlciB1cCB0aGUgZGlydHkgdHJ1dGgKCjIwMDYtMDUtMjIgMTM6NTM6MTggKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hbmF1d0Bza3luZXQuYmU+CgoJICBnc3QvYXZpL2dzdGF2aW11eC4qOiAtIGFkZCBvZG1sIChsYXJnZSBmaWxlKSBpbmRleCBzdXBwb3J0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogTWFyayBOYXV3ZWxhZXJ0cyAgPG1hbmF1dyBhdCBza3luZXQgYmU+CgkgICogZ3N0L2F2aS9nc3RhdmltdXguYzogKGdzdF9hdmlfbXV4X2ZpbmFsaXplKSwgKGdzdF9hdmlfbXV4X2luaXQpLAoJICAoZ3N0X2F2aV9tdXhfdmlkc2lua19zZXRfY2FwcyksIChnc3RfYXZpX211eF9hdWRzaW5rX3NldF9jYXBzKSwKCSAgKGdzdF9hdmlfbXV4X3dyaXRlX3RhZyksIChnc3RfYXZpX211eF9yaWZmX2dldF9hdmlfaGVhZGVyKSwKCSAgKGdzdF9hdmlfbXV4X3JpZmZfZ2V0X2F2aXhfaGVhZGVyKSwgKGdzdF9hdmlfbXV4X3dyaXRlX2F2aXhfaW5kZXgpLAoJICAoZ3N0X2F2aV9tdXhfYWRkX2luZGV4KSwgKGdzdF9hdmlfbXV4X2JpZ2ZpbGUpLAoJICAoZ3N0X2F2aV9tdXhfc3RhcnRfZmlsZSksIChnc3RfYXZpX211eF9zdG9wX2ZpbGUpLAoJICAoZ3N0X2F2aV9tdXhfaGFuZGxlX2V2ZW50KSwgKGdzdF9hdmlfbXV4X2RvX2F1ZGlvX2J1ZmZlciksCgkgIChnc3RfYXZpX211eF9kb192aWRlb19idWZmZXIpLCAoZ3N0X2F2aV9tdXhfZG9fb25lX2J1ZmZlciksCgkgIChnc3RfYXZpX211eF9jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9hdmkvZ3N0YXZpbXV4Lmg6CgkgIFNvbWUgZW5oYW5jZW1lbnRzIGZvciBhdmltdXggKCMzNDI1MjYpOgoJICAtIGFkZCBvZG1sIChsYXJnZSBmaWxlKSBpbmRleCBzdXBwb3J0CgkgIC0gc3RvcmUgY29kZWMgaW5pdCBkYXRhIChlLmcuIGh1ZmZ5dXYpCgkgIC0gbWlzY2VsbGFuZW91cyBvdGhlciBmaXhlcy9jbGVhbnVwcwoKMjAwNi0wNS0yMiAxMzo1MTozMCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBnc3QvcnRwL2dzdGFzdGVyaXNraDI2My5jOgoJKiBnc3QvcnRwL2dzdHJ0cEwxNmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhbXJwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc21kZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBpbGJjZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBpbGJjcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcGFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbWFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbWFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY211ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY211cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4cGF5LmM6CgkgIGZpeCBkZXNjcmlwdGlvbnMgYW5kIGxpY2Vuc2UgYmxvY2tzIGN1dCBhbmQgcGFzdGUgYW55b25lID8KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGZpeCBkZXNjcmlwdGlvbnMgYW5kIGxpY2Vuc2UgYmxvY2tzCgkgIGN1dCBhbmQgcGFzdGUgYW55b25lID8KCjIwMDYtMDUtMjEgMTY6NDE6NDQgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiBVc2UgYm9pbGVycGxhdGUgbWFjcm8sIGZpeCBzdHJpbmdzIHRvIG1hdGNoIHBsdWdpbi1tb3ZhbC1yZXF1aXJlbWVudHMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IChnc3Rfc3BlY3RydW1fY2xhc3NfaW5pdCksCgkgIChnc3Rfc3BlY3RydW1faW5pdCksIChnc3Rfc3BlY3RydW1fc2V0X3NpbmtfY2FwcyksCgkgIChnc3Rfc3BlY3RydW1fZ2V0X3NpbmtfY2FwcyksIChnc3Rfc3BlY3RydW1fY2hhaW4pOgoJICBVc2UgYm9pbGVycGxhdGUgbWFjcm8sIGZpeCBzdHJpbmdzIHRvIG1hdGNoIHBsdWdpbi1tb3ZhbC1yZXF1aXJlbWVudHMKCjIwMDYtMDUtMjEgMTY6MjM6MjMgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9zcGVjdHJ1bS9NYWtlZmlsZS5hbTogTGluayB0byBiYXNlIGxpYnJhcmllcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlY3RydW0vTWFrZWZpbGUuYW06CgkgIExpbmsgdG8gYmFzZSBsaWJyYXJpZXMKCSAgKiBnc3Qvc3BlY3RydW0vZGVtby1vc3NzcmMuYzogKG1haW4pOgoJICB1c2UgbmV3IHRocmVzaGhvbGQgcHJvcGVydHkKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogKGdzdF9zcGVjdHJ1bV9jbGFzc19pbml0KSwKCSAgKGdzdF9zcGVjdHJ1bV9pbml0KSwgKGdzdF9zcGVjdHJ1bV9kaXNwb3NlKSwKCSAgKGdzdF9zcGVjdHJ1bV9zZXRfcHJvcGVydHkpLCAoZ3N0X3NwZWN0cnVtX3NldF9zaW5rX2NhcHMpLAoJICAoZ3N0X3NwZWN0cnVtX2dldF9zaW5rX2NhcHMpLCAoZ3N0X3NwZWN0cnVtX2NoYWluKSwKCSAgKGdzdF9zcGVjdHJ1bV9jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5oOgoJICBVc2UgZ3N0X2FkYXB0ZXIsIHN1cHBvcnQgbXVsdGlwbGUtY2hhbm5lbHMsIGFkZCB0aHJlc2hvbGQgcHJvcGVydHkgZm9yCgkgIHJlc3VsdCwgYWRkIGRvY3MsIGZpeCByZXN1bHRpbmcgc3BlY3RydW0gcmFuZ2UgKHdhcyBpbmNsdWRpbmcgbWlycm9yZWQKCSAgcmVzdWx0cykKCjIwMDYtMDUtMjAgMjI6NDI6MTUgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIEluaXRpYWwgcG9ydCBvZiB0aGUgc3BlY3RydW0gZWxlbWVudAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L3NwZWN0cnVtL2RlbW8tb3Nzc3JjLmM6IChzcGVjdHJ1bV9jaGFpbiksIChtYWluKToKCSAgKiBnc3Qvc3BlY3RydW0vZml4X2ZmdC5jOiAoZ3N0X3NwZWN0cnVtX2ZpeF9kb3QpOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiAoZ3N0X3NwZWN0cnVtX2dldF90eXBlKSwKCSAgKGdzdF9zcGVjdHJ1bV9iYXNlX2luaXQpLCAoZ3N0X3NwZWN0cnVtX2NsYXNzX2luaXQpLAoJICAoZ3N0X3NwZWN0cnVtX2luaXQpLCAoZ3N0X3NwZWN0cnVtX2Rpc3Bvc2UpLAoJICAoZ3N0X3NwZWN0cnVtX3NldF9wcm9wZXJ0eSksIChnc3Rfc3BlY3RydW1fY2hhaW4pOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5oOgoJICBJbml0aWFsIHBvcnQgb2YgdGhlIHNwZWN0cnVtIGVsZW1lbnQKCjIwMDYtMDUtMTkgMTg6NTg6MDUgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIHN5cy92NGwyL2dzdHY0bDJ4b3ZlcmxheS5jOgoJICBJIGZvcmdldCB0byBhZGQgc3lzL3Y0bDIvZ3N0djRsMnhvdmVybGF5LmMgaW4gbGFzIGNvbW1pdAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgSSBmb3JnZXQgdG8gYWRkIHN5cy92NGwyL2dzdHY0bDJ4b3ZlcmxheS5jIGluIGxhcyBjb21taXQKCjIwMDYtMDUtMTkgMTg6MzE6MjUgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIHN5cy92NGwyL2dzdHY0bDIuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgU29tZSBjbGVhbi11cHMgcmVxdWVzdGVkIGJ5IHdpbmdvIGluIGJ1ZyAjMzM4ODE4LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgU29tZSBjbGVhbi11cHMgcmVxdWVzdGVkIGJ5IHdpbmdvIGluIGJ1ZyAjMzM4ODE4LgoKMjAwNi0wNS0xOSAxNDowNTo1MyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvaWQzZGVtdXgvaWQzdjJmcmFtZXMuYzogRG9uJ3Qgb3V0cHV0IGFueSB0YWcgd2hlbiB3ZSBlbmNvdW50ZXIgYSBuZWdhdGl2ZSB0cmFjayBudW1iZXIgLSB0aGUgdGFnIHR5cGUgaXMgdWludCwgc28uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2lkM2RlbXV4L2lkM3YyZnJhbWVzLmM6IChpZDN2Ml90YWdfdG9fdGFnbGlzdCk6CgkgIERvbid0IG91dHB1dCBhbnkgdGFnIHdoZW4gd2UgZW5jb3VudGVyIGEgbmVnYXRpdmUgdHJhY2sgbnVtYmVyIC0gdGhlCgkgIHRhZyB0eXBlIGlzIHVpbnQsIHNvIHdlIGVuZCB1cCBvdXRwdXR0aW5nIGh1Z2UgcG9zaXRpdmUgbnVtYmVycwoJICBpbnN0ZWFkLiAoRml4ZXM6ICMzNDIwMjkpCgoyMDA2LTA1LTE4IDIzOjA0OjU5ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGNvbmZpZ3VyZS5hYzogdXBkYXRlIGZvciBuZXcgR1NUUEJfUExVR0lOU19ESVIKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICB1cGRhdGUgZm9yIG5ldyBHU1RQQl9QTFVHSU5TX0RJUgoKMjAwNi0wNS0xOCAxOTozNDo0NyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgY29uZmlndXJlLmFjOiBDaGVjayBmb3IgWDExCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQ2hlY2sgZm9yIFgxMQoJICAqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzogKGdzdF92NGwyX2NsYXNzX3Byb2JlX2RldmljZXMpOgoJICAqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6IChnc3RfdjRsMnNyY19pZmFjZV9zdXBwb3J0ZWQpOgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuaDoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyeG92ZXJsYXkuYzogKGdzdF92NGwyX3hvdmVybGF5X29wZW4pOgoJICAqIHN5cy92NGwyL2dzdHY0bDJ4b3ZlcmxheS5oOgoJICBDb2RlIGNsZWFudXBzLCBmaXggZGVidWcgbWFjcm9zCgoyMDA2LTA1LTE4IDE0OjQ1OjMzICswMDAwICBQaGlsaXBwZSBLYWxhZiA8cGhpbGlwcGUua2FsYWZAY29sbGFib3JhLmNvLnVrPgoKCSAgcnRwL2dzdC9nc3RydHBoMjYzcGF5LmM6IFByb3Blcmx5IHNldCBzdGF0aWMgY2FwcyBmb3IgSDI2MyBhdCAzNC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDUtMTggIFBoaWxpcHBlIEthbGFmICA8cGhpbGlwcGUua2FsYWYgYXQgY29sbGFib3JhLmNvLnVrPgoJICAqIHJ0cC9nc3QvZ3N0cnRwaDI2M3BheS5jOgoJICBQcm9wZXJseSBzZXQgc3RhdGljIGNhcHMgZm9yIEgyNjMgYXQgMzQuCgoyMDA2LTA1LTE4IDEyOjQ2OjA4ICswMDAwICBKYW1lcyBEb2MgTGl2aW5nc3RvbiA8ZG9jbGl2aW5nc3RvbkBnbWFpbC5jb20+CgoJICBleHQvdGFnbGliL2dzdHRhZ2xpYm11eC5jOiBNZXJnZSBldmVudCB0YWdzIGFuZCB0YWcgc2V0dGVyIHRhZ3MgY29ycmVjdGx5ICgjMzM5OTE4KS4gQWxzbywgZG9uJ3QgbGVhayB0YWdsaXN0IGluIGNhc2UuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBKYW1lcyAiRG9jIiBMaXZpbmdzdG9uICA8ZG9jbGl2aW5nc3RvbiBnbWFpbCBjb20+CgkgICogZXh0L3RhZ2xpYi9nc3R0YWdsaWJtdXguYzogKGdzdF90YWdfbGliX211eF9yZW5kZXJfdGFnKToKCSAgTWVyZ2UgZXZlbnQgdGFncyBhbmQgdGFnIHNldHRlciB0YWdzIGNvcnJlY3RseSAoIzMzOTkxOCkuIEFsc28sCgkgIGRvbid0IGxlYWsgdGFnbGlzdCBpbiBjYXNlIG9mIGFuIGVycm9yLgoKMjAwNi0wNS0xNyAxODowOTowNiArMDAwMCAgUGhpbGlwcGUgS2FsYWYgPHBoaWxpcHBlLmthbGFmQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGF5LmM6CgkgIEZpeGVkIGNhcHMgZm9yIEgyNjMgKG5vdCB0aGUgc2FtZSBhcyBIMjYzKykKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEZpeGVkIGNhcHMgZm9yIEgyNjMgKG5vdCB0aGUgc2FtZSBhcyBIMjYzKykKCjIwMDYtMDUtMTcgMTI6MzY6MjYgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvbGF3L211bGF3LWRlY29kZS5jOiBXZSBjYW4gb25seSBkbyBjYXBzIGludGVyc2VjdGlvbiBpZiB0aGUgb3RoZXJjYXBzIGFyZSBub24tZW1wdHkgYW5kIG5vdAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbGF3L211bGF3LWRlY29kZS5jOiAobXVsYXdkZWNfZ2V0Y2Fwcyk6CgkgIFdlIGNhbiBvbmx5IGRvIGNhcHMgaW50ZXJzZWN0aW9uIGlmIHRoZSBvdGhlcmNhcHMgYXJlIG5vbi1lbXB0eSBhbmQgbm90CgkgIEFOWS4gRWxzZSB3ZSByZXR1cm4gdGhlIHBhZCB0ZW1wbGF0ZSAoYmFzZV9jYXBzKS4KCjIwMDYtMDUtMTcgMTE6MjA6NDQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvanBlZy9nc3RqcGVnZGVjLmM6IEZpeCBjcmFzaCB3aGVuIG91dHB1dHRpbmcgZGVidWdnaW5nIGluZm9ybWF0aW9uIGZvciBjZXJ0YWluIHBpY3R1cmVzIChhbHdheXMgZ29vZCB0byB1c2UgdGhlIHIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOiAoZ3N0X2pwZWdfZGVjX2NoYWluKToKCSAgRml4IGNyYXNoIHdoZW4gb3V0cHV0dGluZyBkZWJ1Z2dpbmcgaW5mb3JtYXRpb24gZm9yIGNlcnRhaW4KCSAgcGljdHVyZXMgKGFsd2F5cyBnb29kIHRvIHVzZSB0aGUgcmlnaHQgc3RydWN0IG1lbWJlciBmb3IKCSAgdGhlIG51bWJlciBvZiByZWNvcmRzIGluIGFuIGFycmF5KS4KCjIwMDYtMDUtMTcgMDg6MTA6MzEgKzAwMDAgIEppbmRyaWNoIE1ha292aWNrYSA8amluZHJpY2gubWFraXZpY2thQGl0b25pcy50dj4KCgkgIGdzdC9tYXRyb3NrYS9lYm1sLXJlYWQuYzogRG9uJ3QgY3JlYXRlIHVubmVjZXNzYXJ5IHN1Yi1idWZmZXJzIGFsbCB0aGUgdGltZS4gRHJhbWF0aWNhbGx5IGltcHJvdmVzIHBlcmZvcm1hbmNlIHdpdGggbS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEppbmRyaWNoIE1ha292aWNrYSAgPGppbmRyaWNoLm1ha2l2aWNrYSBhdCBpdG9uaXMgdHY+CgkgICogZ3N0L21hdHJvc2thL2VibWwtcmVhZC5jOiAoZ3N0X2VibWxfcmVhZF9wZWVrX2J5dGVzKSwKCSAgKGdzdF9lYm1sX3JlYWRfcHVsbF9ieXRlcyksIChnc3RfZWJtbF9yZWFkX2VsZW1lbnRfaWQpLAoJICAoZ3N0X2VibWxfcmVhZF9lbGVtZW50X2xlbmd0aCksIChnc3RfZWJtbF9yZWFkX2J1ZmZlciksCgkgIChnc3RfZWJtbF9yZWFkX2J5dGVzKSwgKGdzdF9lYm1sX3JlYWRfdWludCksIChnc3RfZWJtbF9yZWFkX3NpbnQpLAoJICAoZ3N0X2VibWxfcmVhZF9mbG9hdCksIChnc3RfZWJtbF9yZWFkX2FzY2lpKSwKCSAgKGdzdF9lYm1sX3JlYWRfYmluYXJ5KToKCSAgRG9uJ3QgY3JlYXRlIHVubmVjZXNzYXJ5IHN1Yi1idWZmZXJzIGFsbCB0aGUgdGltZS4gRHJhbWF0aWNhbGx5CgkgIGltcHJvdmVzIHBlcmZvcm1hbmNlIHdpdGggbXVsdGlwbGUgY29uY3VycmVudGx5IHJ1bm5pbmcKCSAgbWF0cm9za2FkZW11eCBpbnN0YW5jZXMgKCMzNDE4MTgpIChhbmQgYXZvaWRzIGRvaW5nCgkgIHVubmVjZXNzYXJpbHkgaW5lZmZpY2llbnQgdGhpbmdzIGluIHRoZSBnZW5lcmFsIGNhc2UpLgoKMjAwNi0wNS0xNiAxNzoyMDowNCArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGV4dC9saWJwbmcvZ3N0cG5nZW5jLmM6IEluIHNuYXBzaG90IG1vZGUsIHdlIGFsd2F5cyByZXR1cm4gR1NUX0ZMT1dfVU5FWFBFQ1RFRCB3aGF0ZXZlciB0aGUgcmV0dXJuIHZhbHVlIG9mIGdzdF9wYWRfcC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbGlicG5nL2dzdHBuZ2VuYy5jOiAoZ3N0X3BuZ2VuY19jaGFpbik6CgkgIEluIHNuYXBzaG90IG1vZGUsIHdlIGFsd2F5cyByZXR1cm4gR1NUX0ZMT1dfVU5FWFBFQ1RFRCB3aGF0ZXZlciB0aGUKCSAgcmV0dXJuIHZhbHVlIG9mIGdzdF9wYWRfcHVzaF9ldmVudCgpLgoKMjAwNi0wNS0xNiAxNDowNzoyOSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvYXV0b2RldGVjdC86IE1ha2UgdGhlIG5hbWUgb2YgdGhlIGNoaWxkIGVsZW1lbnQgYmUgYmFzZWQgb24gdGhlIG5hbWUgb2YgdGhlIHBhcmVudCwgc28gdGhhdCBkZWJ1ZyBvdXRwdXQgaXMgbW9yZSAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc2luay5jOgoJICAoZ3N0X2F1dG9fYXVkaW9fc2lua19maW5kX2Jlc3QpOgoJICAqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NpbmsuYzoKCSAgKGdzdF9hdXRvX3ZpZGVvX3NpbmtfZmluZF9iZXN0KToKCSAgTWFrZSB0aGUgbmFtZSBvZiB0aGUgY2hpbGQgZWxlbWVudCBiZSBiYXNlZCBvbiB0aGUgbmFtZSBvZiB0aGUKCSAgcGFyZW50LCBzbyB0aGF0IGRlYnVnIG91dHB1dCBpcyBtb3JlIHVzZWZ1bC4KCSAgKiBnc3QvaWQzZGVtdXgvaWQzdjJmcmFtZXMuYzogKGZpbmRfdXRmMTZfYm9tKSwKCSAgKHBhcnNlX2luc2VydF9zdHJpbmdfZmllbGQpLCAocGFyc2Vfc3BsaXRfc3RyaW5ncyk6CgkgIFJld29yayBzdHJpbmcgcGFyc2luZyB0byBhbHdheXMgd2FsayBvdmVyIEJPTSBtYXJrZXJzIGluIFVURjE2CgkgIHN0cmluZ3MsIHVzaW5nIHRoZSBlbmRpYW5uZXNzIGluZGljYXRlZCBieSB0aGUgaW5uZXJtb3N0IG9uZSwKCSAgdGhlbiB0cnlpbmcgdGhlIG9wcG9zaXRlIGVuZGlhbm5lc3MgaWYgdGhhdCBmYWlscyB0byBjb252ZXJ0CgkgIHRvIHZhbGlkIFVURi04LiBGaXhlcyAjMzQxNzc0CgoyMDA2LTA1LTE2IDEzOjMxOjAyICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgZXh0L2xpYnBuZy9NYWtlZmlsZS5hbTogQWRkIExJQlBOR19DRkxBR1MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTA1LTE2ICBaYWhlZXIgQWJiYXMgTWVyYWxpICA8emFoZWVyYWJiYXMgYXQgbWVyYWxpIGRvdCBvcmc+CgkgIFBhdGNoIGZyb206IE1hdHRoaWV1IDxtYXR0aGlldSBhdCBmbHVlbmRvIGRvdCBjb20+CgkgICogZXh0L2xpYnBuZy9NYWtlZmlsZS5hbToKCSAgQWRkIExJQlBOR19DRkxBR1MuCgoyMDA2LTA1LTE1IDExOjIwOjIxICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBnc3QtcGx1Z2lucy1nb29kLnNwZWMuaW46CgkgIHVwZGF0ZSB3aXRoIGxhdGVzdCBjaGFuZ2VzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB1cGRhdGUgd2l0aCBsYXRlc3QgY2hhbmdlcwoKMjAwNi0wNS0xNSAwOTowMDo0MiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC90YWdsaWIvZ3N0aWQzdjJtdXguY2M6IEFkZCBzdXBwb3J0IGZvciB3cml0aW5nIGltYWdlcyAoQVBJQyBmcmFtZXMpIGludG8gSUQzdjIgdGFncyAocGljdHVyZSB0eXBlIGFsd2F5cyBzZXQgdG8gJy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvdGFnbGliL2dzdGlkM3YybXV4LmNjOgoJICBBZGQgc3VwcG9ydCBmb3Igd3JpdGluZyBpbWFnZXMgKEFQSUMgZnJhbWVzKSBpbnRvIElEM3YyCgkgIHRhZ3MgKHBpY3R1cmUgdHlwZSBhbHdheXMgc2V0IHRvICdvdGhlcicgZm9yIG5vdyB0aG91Z2gpLgoKMjAwNi0wNS0xNCAxMjo1MDowNyArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IFVwZGF0ZSBkb2NzOyB3YXZwYXJzZSBpbXBsZW1lbnRzIHB1c2ggYW5kIHB1bGwgbW9kZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICBVcGRhdGUgZG9jczsgd2F2cGFyc2UgaW1wbGVtZW50cyBwdXNoIGFuZCBwdWxsIG1vZGVzLgoKMjAwNi0wNS0xMiAxODoxMDozNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogT29vcHMsIGJpdHRlbiBieSB0aGUgY29weS1hbmQtcGFzdGUgZGVzaWduIHBhcmFkaWdtLCBmaXhlcyBzZWVrIGFnYWluLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X2luZGV4X25leHQpLAoJICAoZ3N0X2F2aV9kZW11eF9wYXJzZV9pbmRleCksIChnc3RfYXZpX2RlbXV4X21hc3NhZ2VfaW5kZXgpLAoJICAoZ3N0X2F2aV9kZW11eF9oYW5kbGVfc2VlayksIChnc3RfYXZpX2RlbXV4X2xvb3ApOgoJICBPb29wcywgYml0dGVuIGJ5IHRoZSBjb3B5LWFuZC1wYXN0ZSBkZXNpZ24gcGFyYWRpZ20sIGZpeGVzCgkgIHNlZWsgYWdhaW4uCgoyMDA2LTA1LTEyIDE4OjA0OjIyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC4qOiBTb21lIGNsZWFudXBzLCBwcmVwYXJlIHRvIHVzZSBHc3RTZWdtZW50LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X3Jlc2V0KSwKCSAgKGdzdF9hdmlfZGVtdXhfaW5kZXhfbmV4dCksIChnc3RfYXZpX2RlbXV4X2hhbmRsZV9zcmNfcXVlcnkpLAoJICAoZ3N0X2F2aV9kZW11eF9oYW5kbGVfc3JjX2V2ZW50KSwgKGdzdF9hdmlfZGVtdXhfcGFyc2Vfc3ViaW5kZXgpLAoJICAoZ3N0X2F2aV9kZW11eF9wYXJzZV9zdHJlYW0pLCAoZ3N0X2F2aV9kZW11eF9wYXJzZV9pbmRleCksCgkgIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9pbmRleCksIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9zY2FuKSwKCSAgKGdzdF9hdmlfZGVtdXhfbWFzc2FnZV9pbmRleCksCgkgIChnc3RfYXZpX2RlbXV4X2NhbGN1bGF0ZV9kdXJhdGlvbnNfZnJvbV9pbmRleCksCgkgIChnc3RfYXZpX2RlbXV4X3B1c2hfZXZlbnQpLCAoZ3N0X2F2aV9kZW11eF9zdHJlYW1faGVhZGVyKSwKCSAgKGdzdF9hdmlfZGVtdXhfaGFuZGxlX3NlZWspLCAoZ3N0X2F2aV9kZW11eF9wcm9jZXNzX25leHRfZW50cnkpLAoJICAoZ3N0X2F2aV9kZW11eF9sb29wKToKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4Lmg6CgkgIFNvbWUgY2xlYW51cHMsIHByZXBhcmUgdG8gdXNlIEdzdFNlZ21lbnQuCgkgIEZpeCBlcnJvciBpbiBlbnRyeSB3YWxraW5nIGNvZGUuCgkgIEZpeCBWQlIgZGV0ZWN0aW9uLgoJICBTbWFydGVyIHRpbWVzdGFtcCBjYWxjdWxhdGlvbiBjb2RlLgoJICBVbmlmb3JtIGVycm9yL2VvcyBoYW5kbGluZy4KCjIwMDYtMDUtMTIgMTc6NDQ6MTUgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiBGaXggdXNlIG9mIHVuaW5pdGlhbGlzZWQgdmFsdWVzIGlmIHdlJ3JlIE5PVCBzZWVraW5nIGluIHJlYWR5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogKGdzdF93YXZwYXJzZV9mbXQpLAoJICAoZ3N0X3dhdnBhcnNlX3BlcmZvcm1fc2VlayksIChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2hlYWRlcnMpOgoJICBGaXggdXNlIG9mIHVuaW5pdGlhbGlzZWQgdmFsdWVzIGlmIHdlJ3JlIE5PVCBzZWVraW5nIGluIHJlYWR5LgoJICBGaXggdHlwb3MuCgoyMDA2LTA1LTEyIDA4OjIzOjE4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3dhdnBhcnNlL01ha2VmaWxlLmFtOiBBZGQgQ0ZMQUdTIGFuZCBMSUJTIGZvciBsaWJnc3RiYXNlLCBmaXhlcyBidWlsZCBvbgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvd2F2cGFyc2UvTWFrZWZpbGUuYW06CgkgIEFkZCBDRkxBR1MgYW5kIExJQlMgZm9yIGxpYmdzdGJhc2UsIGZpeGVzIGJ1aWxkIG9uCgkgIEN5Z3dpbiAoIzM0MTQ4OSkuCgoyMDA2LTA1LTEyIDA4OjIxOjM3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2lkM2RlbXV4L2lkM3YyZnJhbWVzLmM6IFNvbWUgbW9yZSBkZWJ1ZyBpbmZvLiBObyBuZWVkIHRvIGNoZWNrIHdoZXRoZXIgdGhlIHN0cmluZyByZXR1cm5lZCBieSBnX2NvbnZlcnQoKSBpcyByZWFsLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pZDNkZW11eC9pZDN2MmZyYW1lcy5jOiAocGFyc2VfaW5zZXJ0X3N0cmluZ19maWVsZCk6CgkgIFNvbWUgbW9yZSBkZWJ1ZyBpbmZvLiBObyBuZWVkIHRvIGNoZWNrIHdoZXRoZXIgdGhlIHN0cmluZwoJICByZXR1cm5lZCBieSBnX2NvbnZlcnQoKSBpcyByZWFsbHkgVVRGLTggLSBlaXRoZXIgaXQgaXMgb3IKCSAgd2UgZ2V0IE5VTEwgcmV0dXJuZWQuCgoyMDA2LTA1LTExIDE3OjU5OjU5ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBzeXMvdjRsMi9NYWtlZmlsZS5hbToKCSogc3lzL3Y0bDIvZ3N0djRsMi5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyY29sb3JiYWxhbmNlLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJjb2xvcmJhbGFuY2UuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMmVsZW1lbnQuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmVsZW1lbnQuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5oOgoJKiBzeXMvdjRsMi9nc3R2NGwydHVuZXIuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnR1bmVyLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJ4b3ZlcmxheS5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyeG92ZXJsYXkuaDoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmg6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5oOgoJICBDaGFuZ2VzIHByb3Bvc2VkIGJ5IFdpbmdvIGluIGJ1ZyAjMzM4ODE4LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQ2hhbmdlcyBwcm9wb3NlZCBieSBXaW5nbyBpbiBidWcgIzMzODgxOC4KCjIwMDYtMDUtMTEgMDk6MDk6NDkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEZpZ3VyZSBvdXQgdGhlIHJlYWwgYXVkaW8gdHlwZSBpbiBtcDRhIGJveGVzIGJ5IHBhcnNpbmcgdGhlIG9wdGlvbmFsIGRlc2NyaXB0b3JzIGluIHRoZSBvcHRpb24uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF9wYXJzZSksIChxdGRlbXV4X3BhcnNlX3RyYWspLAoJICAoZ3N0X3F0ZGVtdXhfaGFuZGxlX2VzZHMpOgoJICBGaWd1cmUgb3V0IHRoZSByZWFsIGF1ZGlvIHR5cGUgaW4gbXA0YSBib3hlcyBieSBwYXJzaW5nIHRoZQoJICBvcHRpb25hbCBkZXNjcmlwdG9ycyBpbiB0aGUgb3B0aW9uYWwgZXNkcyBib3guIFByb21vdGUgdGhlCgkgIGRlZmF1bHQgQUFDIHRvIG1wMyB3aGVuIGluZGljYXRlZC4gRml4ZXMgIzMzMDYzMi4KCjIwMDYtMDUtMTAgMTc6NDQ6NTAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IFBhcnNlIHZlcnNpb24gMiBzYW1wbGUgZGVzY3JpcHRpb25zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3BhcnNlKSwgKHF0ZGVtdXhfZHVtcF91bmtub3duKSwKCSAgKHF0ZGVtdXhfcGFyc2VfdHJhayksIChnc3RfcXRkZW11eF9oYW5kbGVfZXNkcyk6CgkgIFBhcnNlIHZlcnNpb24gMiBzYW1wbGUgZGVzY3JpcHRpb25zLgoJICBEb24ndCAjZGVmaW5lIGdzdF91dGlsX2R1bXBfbWVtKCksIHVzZSBzb21ldGhpbmcgbW9yZQoJICBzcGVjaWZpYyBpbnN0ZWFkIHRvIGF2b2lkIGNvbmZ1c2lvbi4KCjIwMDYtMDUtMTAgMTM6NTE6MDEgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0L2lkM2RlbXV4L2lkM3YyZnJhbWVzLmM6IEZpeCBwYXJzaW5nIG9mIG51bWVyaWMgZ2VucmUgc3RyaW5ncyBzb21lIG1vcmUsIGJ5IGVuc3VyaW5nIHRoYXQgd2Ugb25seSB0cnkgYW5kIHBhcnNlIHN0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pZDNkZW11eC9pZDN2MmZyYW1lcy5jOiAoaWQzdjJfZ2VucmVfZmllbGRzX3RvX3RhZ2xpc3QpOgoJICBGaXggcGFyc2luZyBvZiBudW1lcmljIGdlbnJlIHN0cmluZ3Mgc29tZSBtb3JlLCBieSBlbnN1cmluZyB0aGF0CgkgIHdlIG9ubHkgdHJ5IGFuZCBwYXJzZSBzdHJpbmdzIHRoYXQgYSkgU3RhcnQgd2l0aCAnKCcgYW5kIGIpIENvbnNpc3QKCSAgb25seSBvZiBkaWdpdHMuCgkgIEFsc28sIHdoZW4gZmluZGluZyBhbiBlc2NhcGluZyAnKCgnIHNlcXVlbmNlLCBidXN0IGl0IGJhY2sgdG8gJygnIGJ5CgkgIHN3YWxsb3dpbmcgdGhlIGZpcnN0IHBhcmVudGhlc2lzCgoyMDA2LTA1LTEwIDExOjE3OjMxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2VzZC9lc2RzaW5rLio6IE1vdmUgdGhlIGVzZF9nZXRfc2VydmVyX2luZm8oKSBpbnRvIGdzdF9lc2RzaW5rX29wZW4oKSBhbmQgZmFpbCB3aXRoIGEgZGVjZW50IGVycm9yIG1lc3NhZ2Ugb24gZXJyLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9lc2QvZXNkc2luay5jOiAoZ3N0X2VzZHNpbmtfZmluYWxpemUpLCAoZ3N0X2VzZHNpbmtfZ2V0Y2FwcyksCgkgIChnc3RfZXNkc2lua19vcGVuKSwgKGdzdF9lc2RzaW5rX2Nsb3NlKToKCSAgKiBleHQvZXNkL2VzZHNpbmsuaDoKCSAgTW92ZSB0aGUgZXNkX2dldF9zZXJ2ZXJfaW5mbygpIGludG8gZ3N0X2VzZHNpbmtfb3BlbigpIGFuZCBmYWlsCgkgIHdpdGggYSBkZWNlbnQgZXJyb3IgbWVzc2FnZSBvbiBlcnJvcnMuCgoyMDA2LTA1LTEwIDEwOjI5OjU0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgQ29uc3QtaWZ5IEdFbnVtVmFsdWUgYXJyYXlzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZXNkL2VzZG1vbi5jOiAoZ3N0X2VzZG1vbl9kZXB0aHNfZ2V0X3R5cGUpLAoJICAoZ3N0X2VzZG1vbl9jaGFubmVsc19nZXRfdHlwZSk6CgkgICogZXh0L2djb25mL2dzdGdjb25mYXVkaW9zaW5rLmM6IChnc3RfZ2NvbmZfcHJvZmlsZV9nZXRfdHlwZSk6CgkgICogZXh0L2dka19waXhidWYvcGl4YnVmc2NhbGUuYzogKGdzdF9waXhidWZzY2FsZV9tZXRob2RfZ2V0X3R5cGUpOgoJICAqIGV4dC9saWJjYWNhL2dzdGNhY2FzaW5rLmM6IChnc3RfY2FjYXNpbmtfZGl0aGVyX2dldF90eXBlKToKCSAgKiBleHQvc2hvdXQyL2dzdHNob3V0Mi5jOiAoZ3N0X3Nob3V0MnNlbmRfcHJvdG9jb2xfZ2V0X3R5cGUpOgoJICAqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOiAoZ3N0X2FscGhhX21ldGhvZF9nZXRfdHlwZSk6CgkgICogZ3N0L3J0cC9nc3RydHBpbGJjZGVwYXkuYzogKGdzdF9pbGJjX21vZGVfZ2V0X3R5cGUpOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwX3Byb3RvX2dldF90eXBlKToKCSAgKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzogKGdzdF92aWRlb19ib3hfZmlsbF9nZXRfdHlwZSk6CgkgICogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmxpcC5jOiAoZ3N0X3ZpZGVvX2ZsaXBfbWV0aG9kX2dldF90eXBlKToKCSAgKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkgIChnc3RfdmlkZW9fbWl4ZXJfYmFja2dyb3VuZF9nZXRfdHlwZSk6CgkgIENvbnN0LWlmeSBHRW51bVZhbHVlIGFycmF5cy4KCjIwMDYtMDUtMDkgMTQ6MDg6MTUgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hbmF1d0Bza3luZXQuYmV0PgoKCSAgZ3N0L2F2aS9nc3RhdmltdXguYzogV29yayBhcm91bmQgZ3N0X2J1ZmZlcl9tYWtlX21ldGFkYXRhX3dyaXRhYmxlKCkgYnVnIHRoYXQgcmVzdWx0cyBpbiBhdmltdXggbWFya2luZyBhbGwgZnJhbWVzIGluLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogTWFyayBOYXV3ZWxhZXJ0cyAgPG1hbmF1dyBhdCBza3luZXQgYmV0PgoJICAqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6IChnc3RfYXZpX211eF9kb19hdWRpb19idWZmZXIpLAoJICAoZ3N0X2F2aV9tdXhfZG9fdmlkZW9fYnVmZmVyKToKCSAgV29yayBhcm91bmQgZ3N0X2J1ZmZlcl9tYWtlX21ldGFkYXRhX3dyaXRhYmxlKCkgYnVnIHRoYXQKCSAgcmVzdWx0cyBpbiBhdmltdXggbWFya2luZyBhbGwgZnJhbWVzIGluIHRoZSBpbmRleCBhcwoJICBrZXlmcmFtZXMgKCMzNDA4NTkpLgoKMjAwNi0wNS0wOCAxOToyMToxOCArMDAwMCAgTWFydGluIFJ1YmxpIDxtYXJ0aW5fcnVibGlAbG9naXRlY2guY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkgIEZpeCBmb3VyY2MgbmFtZSBwcmludGVkIG91dC4gUGF0Y2ggZnJvbSBNYXJ0aW4gUnVibGkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBGaXggZm91cmNjIG5hbWUgcHJpbnRlZCBvdXQuIFBhdGNoIGZyb20gTWFydGluIFJ1YmxpLgoKMjAwNi0wNS0wOCAxNToyMDoxMCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogRG9uJ3QgY2F1c2Ugc2lkZSBlZmZlY3RzIGluIGEgZGVidWdnaW5nIGZ1bmN0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9oYW5kbGVfc3JjX3F1ZXJ5KSwKCSAgKHF0ZGVtdXhfZHVtcF9tdmhkKToKCSAgRG9uJ3QgY2F1c2Ugc2lkZSBlZmZlY3RzIGluIGEgZGVidWdnaW5nIGZ1bmN0aW9uLgoJICBBbHNvIHJlcG9ydCBkdXJhdGlvbiBpbiBwdXNoIG1vZGUgc2luY2Ugd2UgY2FuLgoKMjAwNi0wNS0wOCAxNDozNToyMCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL3J0c3B1cmwuYzogTWFrZSBwYXJzaW5nIG9mIHVybHMgc3VjayBzbGlnaHRseSBsZXNzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9ydHNwdXJsLmM6IChydHNwX3VybF9wYXJzZSk6CgkgIE1ha2UgcGFyc2luZyBvZiB1cmxzIHN1Y2sgc2xpZ2h0bHkgbGVzcy4KCjIwMDYtMDUtMDggMTE6NTM6MDMgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBhdXRvZ2VuLnNoOiBsaWJ0b29saXplIG9uIERhcndpbi9NYWNPU1ggaXMgY2FsbGVkIGdsaWJ0b29saXplLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBhdXRvZ2VuLnNoOiAoQ09ORklHVVJFX0RFRl9PUFQpOgoJICBsaWJ0b29saXplIG9uIERhcndpbi9NYWNPU1ggaXMgY2FsbGVkIGdsaWJ0b29saXplLgoKMjAwNi0wNS0wOCAxMDo1OTowNSArMDAwMCAgSmVucyBHcmFuc2V1ZXIgPGplbnNnckBnbXgubmV0PgoKCSAgQzg5IGNvbXBsaWFuY2UgZml4ZXMuIEZpeGVzICMzNDA5ODAKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBKZW5zIEdyYW5zZXVlciA8amVuc2dyIGF0IGdteCBkb3QgbmV0PgoJICAqIGV4dC9nZGtfcGl4YnVmL3BpeGJ1ZnNjYWxlLmM6IChnc3RfcGl4YnVmc2NhbGVfaW5pdCk6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IChnc3Rfd2F2cGFyc2VfZGlzcG9zZSk6CgkgIEM4OSBjb21wbGlhbmNlIGZpeGVzLiBGaXhlcyAjMzQwOTgwCgoyMDA2LTA1LTA2IDA5OjAxOjM0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2ZsYWMvZ3N0ZmxhY2RlYy4qOiBIYW5kbGUgc2VnbWVudCBzZWVrcyB0aGF0IGluY2x1ZGUgdGhlIGVuZCBvZiB0aGUgZmlsZSBhcyBzdG9wIHBvaW50IHByb3Blcmx5OiB3aGVuIHRoZSBkZWNvZGVyLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzogKGdzdF9mbGFjX2RlY19sb29wKToKCSAgKiBleHQvZmxhYy9nc3RmbGFjZGVjLmg6CgkgIEhhbmRsZSBzZWdtZW50IHNlZWtzIHRoYXQgaW5jbHVkZSB0aGUgZW5kIG9mIHRoZSBmaWxlIGFzIHN0b3AgcG9pbnQKCSAgcHJvcGVybHk6IHdoZW4gdGhlIGRlY29kZXIgaGl0cyBFT1Mgd2Ugd2FudCB0byBzZW5kIGEgU0VHTUVOVF9ET05FCgkgIG1lc3NhZ2UgaW5zdGVhZCBvZiBhbiBFT1MgZXZlbnQgaW4gY2FzZSB3ZSdyZSBpbiBzZWdtZW50IHNlZWsKCSAgbW9kZSAoZml4ZXMgIzM0MDY5OSkuCgoyMDA2LTA1LTA2IDAwOjE0OjA5ICswMDAwICBNYWNpZWogS2F0YWZpYXN6IDxtYXRocmlja0BtYXRocmljay5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9jYWlyby9nc3R0ZXh0b3ZlcmxheS5jOgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkqIGV4dC9nZGtfcGl4YnVmL3BpeGJ1ZnNjYWxlLmM6CgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzoKCSogZ3N0L2FwZXRhZy9nc3RhcGVkZW11eC5jOgoJKiBnc3QvZGVidWcvYnJlYWtteWRhdGEuYzoKCSogZ3N0L2RlYnVnL3Rlc3RwbHVnaW4uYzoKCSogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuYzoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zaW5rLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NyYy5jOgoJICBBZGQgc2VtaWNvbG9ucyBhZnRlciBHU1RfQk9JTEVSUExBVEVbX0ZVTExdIHNvIHRoYXQgaW5kZW50IGRvZXNuJ3QgbWVzcyB1cCBmb2xsb3dpbmcgbGluZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBBZGQgc2VtaWNvbG9ucyBhZnRlciBHU1RfQk9JTEVSUExBVEVbX0ZVTExdIHNvIHRoYXQgaW5kZW50IGRvZXNuJ3QgbWVzcyB1cCBmb2xsb3dpbmcgbGluZXMuCgoyMDA2LTA1LTA1IDIwOjEyOjU5ICswMDAwICBNYXJ0aW4gUnVibGkgPG1hcnRpbl9ydWJsaUBsb2dpdGVjaC5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyZWxlbWVudC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyZWxlbWVudC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnR1bmVyLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ0dW5lci5oOgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuaDoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmg6CgkqIHRlc3RzL2ljbGVzL3Y0bDJzcmMtdGVzdC5jOgoJICBTb21lIGNoYW5nZXMgcHJvcG9zZWQgYnkgd2luZ28gaW4gYnVnICMzMzg4MTggKGJ1dCBub3QgZXZlcnl0aGluZyB5ZXQpLiBQYXRjaCBmcm9tIE1hcnRpbiBSdWJsaSB0byBmaXggZnJhbWVyYXRlIGRldGUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFNvbWUgY2hhbmdlcyBwcm9wb3NlZCBieSB3aW5nbyBpbiBidWcgIzMzODgxOCAoYnV0IG5vdCBldmVyeXRoaW5nIHlldCkuIFBhdGNoIGZyb20gTWFydGluIFJ1YmxpIHRvIGZpeCBmcmFtZXJhdGUgZGV0ZWN0aW9uLgoKMjAwNi0wNS0wNCAxNzoyNzoyNyArMDAwMCAgTWljaGFsIEJlbmVzIDxtaWNoYWwuYmVuZXNAeGVyaXMuY3o+CgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogRG9uJ3QgbGVhayBjYXBzIHdoZW4gZnJlZWluZyB0aGUgc3RyZWFtIGNvbnRleHQgKCMzNDA2MjMpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE1pY2hhbCBCZW5lcyAgPG1pY2hhbCBkb3QgYmVuZXMgYXQgeGVyaXMgZG90IGN6PgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiAoZ3N0X21hdHJvc2thX2RlbXV4X3Jlc2V0KToKCSAgRG9uJ3QgbGVhayBjYXBzIHdoZW4gZnJlZWluZyB0aGUgc3RyZWFtIGNvbnRleHQgKCMzNDA2MjMpLgoKMjAwNi0wNS0wNCAxNTo0MDoxOCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBjb25maWd1cmUuYWM6IEJhY2sgdG8gQ1ZTCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQmFjayB0byBDVlMKCj09PSByZWxlYXNlIDAuMTAuMyA9PT0KCjIwMDYtMDUtMDQgMTU6MzY6MDIgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFubm9kZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Rpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhhbGVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9iYWxhbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmxpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlYWxseSByZWxlYXNlIDAuMTAuMwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUmVhbGx5IHJlbGVhc2UgMC4xMC4zCgoyMDA2LTA1LTA0IDE1OjI4OjUzICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdGRlbXV4LnhtbDoKCSAgUmVhbGx5IHJlbGVhc2UgMC4xMC4zIHRoaXMgdGltZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUmVhbGx5IHJlbGVhc2UgMC4xMC4zIHRoaXMgdGltZQoKMjAwNi0wNS0wNCAxNTowNTowMCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLnNpZ25hbHM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGFsZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdGRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JhbGFuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9mbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAwLjEwLjMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFJlbGVhc2UgMC4xMC4zCgoyMDA2LTA1LTAzIDE4OjQ0OjM4ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vY3MucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAwNi0wNS0wMyAxODo0MTo0NyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzogRG9uJ3Qgc3RyY21wKCkgTlVMTCBzdHJpbmdzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIChnc3RfbWF0cm9za2FfbXV4X3N0cmVhbV9pc192b3JiaXNfaGVhZGVyKSwKCSAgKGdzdF9tYXRyb3NrYV9tdXhfd3JpdGVfZGF0YSk6CgkgIERvbid0IHN0cmNtcCgpIE5VTEwgc3RyaW5ncy4KCSAgT25seSBzdGFydCBuZXcgY2x1c3RlcnMgb24gdmlkZW8ga2V5ZnJhbWVzLCBub3Qgb24gYW55CgkgIHJhbmRvbSBhdWRpbyBidWZmZXIgdGhhdCBkb2Vzbid0IGhhdmUgdGhlIERFTFRBX1VOSVQKCSAgZmxhZyBzZXQgKGZpeGVzICdtYWtlIGNoZWNrJyBhZ2FpbikuCgoyMDA2LTA1LTAzIDE0OjUxOjUwICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYW5hdXdAc2t5bmV0LmJlPgoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOiBEb24ndCBtaXNpbnRlcnByZXQgR1NUX0NMT0NLX1RJTUVfTk9ORSBhcyB2ZXJ5IGhpZ2ggdGltZXN0YW1wIHZhbHVlIGFuZCB0aGVuIGRlYWQtbG9jayB3Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogTWFyayBOYXV3ZWxhZXJ0cyAgPG1hbmF1dyBhdCBza3luZXQgYmU+CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOiAoZ3N0X21hdHJvc2thX211eF9iZXN0X3BhZCksCgkgIChnc3RfbWF0cm9za2FfbXV4X3N0cmVhbV9pc192b3JiaXNfaGVhZGVyKSwKCSAgKGdzdF9tYXRyb3NrYV9tdXhfd3JpdGVfZGF0YSk6CgkgIERvbid0IG1pc2ludGVycHJldCBHU1RfQ0xPQ0tfVElNRV9OT05FIGFzIHZlcnkgaGlnaCB0aW1lc3RhbXAKCSAgdmFsdWUgYW5kIHRoZW4gZGVhZC1sb2NrIHdoZW4gbXV4aW5nIHZvcmJpcyBhdWRpbyBzdHJlYW1zCgkgICh0aGUgdGhyZWUgdm9yYmlzIGhlYWRlciBidWZmZXJzIGNhcnJ5IG5vIHRpbWVzdGFtcCwgYW5kIGl0CgkgIHdvdWxkIHRyeSB0byBtdXggdGhlc2UgYWZ0ZXIgYWxsIHZpZGVvIGJ1ZmZlcnMpLiBGaXhlcyAjMzQwMzQ2LgoJICBJbXByb3ZlIGNsdXN0ZXJpbmc6IHN0YXJ0IGEgbmV3IGNsdXN0ZXIgYWxzbyB3aGVuZXZlciB3ZSBnZXQKCSAgYSBrZXlmcmFtZS4KCjIwMDYtMDUtMDMgMTQ6MzA6MjEgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBDbGVhbiB1cCBvbmUgcGllY2Ugb2YgbG9naWMgc2xpZ2h0bHkgYW5kIHJlbW92ZSBhIGRlYWQgY29kZSBibG9jay4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF9wYXJzZV90cmFrKToKCSAgQ2xlYW4gdXAgb25lIHBpZWNlIG9mIGxvZ2ljIHNsaWdodGx5IGFuZCByZW1vdmUgYQoJICBkZWFkIGNvZGUgYmxvY2suCgoyMDA2LTA1LTAzIDE0OjI4OjU3ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGFkZCB3aW4zMiBzdHVmZgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBNYWtlZmlsZS5hbToKCSAgKiBjb25maWd1cmUuYWM6CgkgICogd2luMzIvY29tbW9uL2NvbmZpZy5oLmluOgoJICBhZGQgd2luMzIgc3R1ZmYKCjIwMDYtMDUtMDMgMTQ6MjY6NTEgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgYWRkIHdpbjMyIHN0dWZmCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIE1ha2VmaWxlLmFtOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiB3aW4zMi9jb21tb24vY29uZmlnLmguaW46CgkgIGFkZCB3aW4zMiBzdHVmZgoKMjAwNi0wNS0wMiAyMjozNDo1MiArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgZXh0L2NhaXJvL2dzdHRpbWVvdmVybGF5LmM6IEZpeCB0aW1lb3ZlcmxheSBmb3Igbm9uLW11bHRpcGxlLW9mLTQgd2lkdGhzLiBUaGlzIGZvdXJjYyBjcmFwCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9jYWlyby9nc3R0aW1lb3ZlcmxheS5jOiAoZ3N0X2NhaXJvX3RpbWVfb3ZlcmxheV90cmFuc2Zvcm0pOgoJICBGaXggdGltZW92ZXJsYXkgZm9yIG5vbi1tdWx0aXBsZS1vZi00IHdpZHRocy4gVGhpcyBmb3VyY2MgY3JhcAoJICBTVUNLUy4KCjIwMDYtMDUtMDIgMjE6NTI6NDggKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgRml4IGdldF9jYXBzIGZ1bmMgdG8gd29yayB3aGVuIG5vIGZyYW1lcmF0ZSBpcyBhdmFpbGFibGUgYW5kIHRoZSBjYXBzIGlzbid0IHNpbXBsZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEZpeCBnZXRfY2FwcyBmdW5jIHRvIHdvcmsgd2hlbiBubyBmcmFtZXJhdGUgaXMgYXZhaWxhYmxlIGFuZCB0aGUgY2FwcyBpc24ndCBzaW1wbGUuCgoyMDA2LTA1LTAyIDE4OjUwOjIzICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvOiBkb24ndCBsZWFrIGNhcHMtc3RyaW5nCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hbHBoYS9nc3RhbHBoYWNvbG9yLmM6IChnc3RfYWxwaGFfY29sb3JfdHJhbnNmb3JtX2NhcHMpOgoJICAqIGdzdC9kZWJ1Zy9uZWdvdGlhdGlvbi5jOiAoZ3N0X25lZ290aWF0aW9uX3VwZGF0ZV9jYXBzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cGlsYmNkZXBheS5jOiAoZ3N0X3J0cF9pbGJjX2RlcGF5X3NldGNhcHMpOgoJICBkb24ndCBsZWFrIGNhcHMtc3RyaW5nCgoyMDA2LTA1LTAyIDE1OjQ2OjAyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2lkM2RlbXV4L2dzdGlkM2RlbXV4LmM6IExldCBjb3JlIGluc2VydCBkZWZhdWx0IGVycm9yIG1lc3NhZ2UgZm9yIFRZUEVfTk9UX0ZPVU5EIGVycm9ycywgaXQncyBqdXN0IGFzIGdvb2QgYXMgb3VyLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pZDNkZW11eC9nc3RpZDNkZW11eC5jOiAoZ3N0X2lkM2RlbXV4X2NoYWluKSwKCSAgKGdzdF9pZDNkZW11eF9zaW5rX2FjdGl2YXRlKToKCSAgTGV0IGNvcmUgaW5zZXJ0IGRlZmF1bHQgZXJyb3IgbWVzc2FnZSBmb3IgVFlQRV9OT1RfRk9VTkQKCSAgZXJyb3JzLCBpdCdzIGp1c3QgYXMgZ29vZCBhcyBvdXIgb3duIGFuZCBoYXMgdGhlIGFkZGVkCgkgIGJvbnVzIG9mIGJlaW5nIHRyYW5zbGF0ZWQuCgoyMDA2LTA1LTAyIDE1OjQwOjE1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0LzogUG9zdCBhbiBlcnJvciBtZXNzYWdlIHdoZW4gd2UgZ2V0IGFuIEVPUyBldmVudCBhbmQgd2VyZSBub3QgYWJsZSB0byBmaW5kIG91dCB0aGUgdHlwZSBvZiBzdHJlYW0uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hcGV0YWcvZ3N0dGFnZGVtdXguYzogKGdzdF90YWdfZGVtdXhfaW5pdCksCgkgIChnc3RfdGFnX2RlbXV4X3NpbmtfZXZlbnQpOgoJICAqIGdzdC9pZDNkZW11eC9nc3RpZDNkZW11eC5jOiAoZ3N0X2lkM2RlbXV4X2luaXQpLAoJICAoZ3N0X2lkM2RlbXV4X3NpbmtfZXZlbnQpOgoJICBQb3N0IGFuIGVycm9yIG1lc3NhZ2Ugd2hlbiB3ZSBnZXQgYW4gRU9TIGV2ZW50IGFuZCB3ZXJlIG5vdAoJICBhYmxlIHRvIGZpbmQgb3V0IHRoZSB0eXBlIG9mIHN0cmVhbS4KCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pZDN2Mm11eC5jOiAoZmlsbF9tcDNfYnVmZmVyKSwgKGdvdF9idWZmZXIpLAoJICAodGVzdF90YWdsaWJfaWQzbXV4X3dpdGhfdGFncyk6CgkgIERlY3JlYXNlIG51bS1idWZmZXJzIHRvIDE2IHBlciBpdGVyYXRpb24gYWdhaW4sIG90aGVyd2lzZSB0aGUKCSAgbWFueSBtZW1jcHkoKXMgYW5kIHJlYWxsb2NhdGlvbnMgaW4gdGhlIHRlc3Qgd2lsbCBoYW1tZXIgc2xvdwoJICBDUFVzIGNvbXBsZXRlbHkgYW5kIG1ha2UgdGhlIHRlc3QgdGltZW91dC4KCjIwMDYtMDUtMDIgMTM6MjQ6MzggKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgY29uZmlndXJlLmFjOiBmaWd1cmUgb3V0IHdoZXJlIHBsdWdpbnMtYmFzZSBwbHVnaW5zIGFyZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIGZpZ3VyZSBvdXQgd2hlcmUgcGx1Z2lucy1iYXNlIHBsdWdpbnMgYXJlCgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHVzZSBwbHVnaW5zLWJhc2UgcGx1Z2lucywgc28gd2UgaGF2ZSB0eXBlZmluZCBmdW5jdGlvbnMKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pZDN2Mm11eC5jOiAodGVzdF90YWdsaWJfaWQzbXV4X3dpdGhfdGFncyk6CgkgIGluY3JlYXNlIG51bS1idWZmZXJzLCB0aGlzIG1ha2VzIHN1cmUgdGhlIHRlc3QgZXJyb3JzIG91dCBpbnN0ZWFkCgkgIG9mIHRpbWluZyBvdXQgd2hlbiBubyB0eXBlZmluZCBmdW5jdGlvbnMgYXJlIHByZXNlbnQKCjIwMDYtMDUtMDIgMTM6MDE6NTAgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIGZpeCBkb2NzIGZvciB3YXZwYXJzZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZml4IGRvY3MgZm9yIHdhdnBhcnNlCgoyMDA2LTA1LTAxIDIxOjM3OjUxICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBzeXMvdjRsMi9NYWtlZmlsZS5hbToKCSogc3lzL3Y0bDIvZ3N0djRsMmNvbG9yYmFsYW5jZS5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyeG92ZXJsYXkuYzoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJKiB0ZXN0cy9pY2xlcy92NGwyc3JjLXRlc3QuYzoKCSAgRmV3IGltcHJvdmVtZW50cyB0byBtb3ZlIHRvIGdvb2QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBGZXcgaW1wcm92ZW1lbnRzIHRvIG1vdmUgdG8gZ29vZC4KCjIwMDYtMDUtMDEgMTE6NDY6MzMgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOiBhbHNvIGNoZWNrIC5jYyBmaWxlcyBmb3IgZ3RrLWRvYyBtYXJrdXAKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICBhbHNvIGNoZWNrIC5jYyBmaWxlcyBmb3IgZ3RrLWRvYyBtYXJrdXAKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvaWQzdjJtdXguYzogKGlkM3YybXV4X3N1aXRlKSwgKG1haW4pOgoJICAqIGV4dC9NYWtlZmlsZS5hbToKCSAgKiBleHQvdGFnbGliL01ha2VmaWxlLmFtOgoJICAqIGV4dC90YWdsaWIvZ3N0aWQzdjJtdXguaDoKCSAgKiBleHQvdGFnbGliL2dzdHRhZ2xpYm11eC5jOgoJICAqIGV4dC90YWdsaWIvZ3N0dGFnbGlibXV4Lmg6CgkgIG1vdmUgdGFnbGliLWJhc2VkIGlkM3YybXV4ZXIgdG8gLWdvb2QuICBGaXhlcyAjMzM2MTEwLgoKMjAwNi0wNS0wMSAxMTo0NToxNSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJICBhZGQgaWN5ZGVtdXggaW5zcGVjdGlvbgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYWRkIGljeWRlbXV4IGluc3BlY3Rpb24KCjIwMDYtMDUtMDEgMTE6NDM6MzEgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogcG8vUE9URklMRVMuaW46CgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vY3MucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSAgYWRkIHhpbWFnZXNyYyBmb3IgdHJhbnNsYXRpb24KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGFkZCB4aW1hZ2VzcmMgZm9yIHRyYW5zbGF0aW9uCgoyMDA2LTA0LTMwIDE2OjE2OjU5ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGV4dC90YWdsaWIvZ3N0aWQzdjJtdXguY2M6CgkqIGV4dC90YWdsaWIvZ3N0dGFnbGlibXV4LmM6CgkgIHNtYWxsIGNsZWFudXBzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBzbWFsbCBjbGVhbnVwcwoKMjAwNi0wNC0zMCAxNTozMjoxMyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBleHQvdGFnbGliL2dzdGlkM3YybXV4LmNjOgoJICBmaXggZG9jcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZml4IGRvY3MKCjIwMDYtMDQtMzAgMTQ6NTU6MTUgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF0ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSAgdXBkYXRlIHRvIGxhdGVzdCB2ZXJzaW9uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB1cGRhdGUgdG8gbGF0ZXN0IHZlcnNpb24KCjIwMDYtMDQtMjkgMTg6NDY6MzYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvdGFnbGliL2dzdHRhZ2xpYi5jYzogUG9zdCBhbiBlcnJvciBtZXNzYWdlIG9uIHRoZSBidXMgaW4gdGhlIChleHRyZW1lbHkgdW5saWtlbHkpIGNhc2Ugb2YgYW4gZXJyb3IuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC90YWdsaWIvZ3N0dGFnbGliLmNjOgoJICBQb3N0IGFuIGVycm9yIG1lc3NhZ2Ugb24gdGhlIGJ1cyBpbiB0aGUgKGV4dHJlbWVseSB1bmxpa2VseSkKCSAgY2FzZSBvZiBhbiBlcnJvci4KCjIwMDYtMDQtMjkgMTg6MTg6MjQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvdGFnbGliLzogU3BsaXQgdGhlIGFjdHVhbCBJRDN2MiB0YWcgcmVuZGVyaW5nIGNvZGUgaW50byBpdHMgb3duIHN1YmNsYXNzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvdGFnbGliL01ha2VmaWxlLmFtOgoJICAqIGV4dC90YWdsaWIvZ3N0aWQzdjJtdXguY2M6CgkgICogZXh0L3RhZ2xpYi9nc3RpZDN2Mm11eC5oOgoJICAqIGV4dC90YWdsaWIvZ3N0dGFnbGliLmNjOgoJICAqIGV4dC90YWdsaWIvZ3N0dGFnbGliLmg6CgkgIFNwbGl0IHRoZSBhY3R1YWwgSUQzdjIgdGFnIHJlbmRlcmluZyBjb2RlIGludG8KCSAgaXRzIG93biBzdWJjbGFzcy4KCjIwMDYtMDQtMjkgMTY6MTQ6MjAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogLi4uIGFuZCBmaXggbXVsdGljaGFubmVsL1dBVkZPUk1BVEVYIHN1cHBvcnQgYWdhaW4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9oZWFkZXJzKToKCSAgLi4uIGFuZCBmaXggbXVsdGljaGFubmVsL1dBVkZPUk1BVEVYIHN1cHBvcnQgYWdhaW4uCgoyMDA2LTA0LTI4IDIzOjA5OjE3ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuKjogQWRkIHB1c2ggKHN0cmVhbWluZykgbW9kZSB0byB3YXZwYXJzZSAoZml4ZXMgIzMzNzYyNSkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IChnc3Rfd2F2cGFyc2VfYmFzZV9pbml0KSwKCSAgKGdzdF93YXZwYXJzZV9jbGFzc19pbml0KSwgKGdzdF93YXZwYXJzZV9kaXNwb3NlKSwKCSAgKGdzdF93YXZwYXJzZV9yZXNldCksIChnc3Rfd2F2cGFyc2VfaW5pdCksCgkgIChnc3Rfd2F2cGFyc2VfY3JlYXRlX3NvdXJjZXBhZCksIChnc3Rfd2F2cGFyc2VfcGFyc2VfYWR0bCksCgkgIChnc3Rfd2F2cGFyc2VfcGFyc2VfY3VlcyksIChnc3Rfd2F2cGFyc2VfcGFyc2VfZmlsZV9oZWFkZXIpLAoJICAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9pbml0KSwgKGdzdF93YXZwYXJzZV9wZXJmb3JtX3NlZWspLAoJICAoZ3N0X3dhdnBhcnNlX3BlZWtfY2h1bmtfaW5mbyksIChnc3Rfd2F2cGFyc2VfcGVla19jaHVuayksCgkgIChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2hlYWRlcnMpLCAoZ3N0X3dhdnBhcnNlX3BhcnNlX3N0cmVhbV9pbml0KSwKCSAgKGdzdF93YXZwYXJzZV9zZW5kX2V2ZW50KSwgKGdzdF93YXZwYXJzZV9hZGRfc3JjX3BhZCksCgkgIChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2RhdGEpLCAoZ3N0X3dhdnBhcnNlX2xvb3ApLAoJICAoZ3N0X3dhdnBhcnNlX2NoYWluKSwgKGdzdF93YXZwYXJzZV9zcmNwYWRfZXZlbnQpLAoJICAoZ3N0X3dhdnBhcnNlX3NpbmtfYWN0aXZhdGUpLCAoZ3N0X3dhdnBhcnNlX3NpbmtfYWN0aXZhdGVfcHVsbCksCgkgIChnc3Rfd2F2cGFyc2VfY2hhbmdlX3N0YXRlKSwgKHBsdWdpbl9pbml0KToKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuaDoKCSAgQWRkIHB1c2ggKHN0cmVhbWluZykgbW9kZSB0byB3YXZwYXJzZSAoZml4ZXMgIzMzNzYyNSkKCjIwMDYtMDQtMjggMjE6NDM6MDcgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaWQzdjJtdXguYzoKCSAgZWxlbWVudCByZW5hbWVkCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBlbGVtZW50IHJlbmFtZWQKCjIwMDYtMDQtMjggMTk6MjI6NDYgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkgIGFkZCBwbHVnaW4gZG9jcyBmb3IgeGltYWdlc3JjCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBhZGQgcGx1Z2luIGRvY3MgZm9yIHhpbWFnZXNyYwoKMjAwNi0wNC0yOCAxOToxNTowOCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBhZGQgeGltYWdlc3JjIGljbGVzIHRlc3QKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIHRlc3RzL01ha2VmaWxlLmFtOgoJICBhZGQgeGltYWdlc3JjIGljbGVzIHRlc3QKCjIwMDYtMDQtMjggMTg6NTc6MDkgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgTW92ZSB4aW1hZ2VzcmMgcGx1Zy1pbiB0byBnb29kIGFmdGVyIHJldmlldy4gIEZpeGVzICMzMzY3NTYuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZXh0L2Fubm9kZXgvZ3N0Y21tbGVuYy5jOiAoZ3N0X2NtbWxfZW5jX2NsYXNzX2luaXQpLAoJICAoZ3N0X2NtbWxfZW5jX3B1c2hfY2xpcCk6CgkgICogc3lzL01ha2VmaWxlLmFtOgoJICAqIHN5cy94aW1hZ2UvTWFrZWZpbGUuYW06CgkgICogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzoKCSAgTW92ZSB4aW1hZ2VzcmMgcGx1Zy1pbiB0byBnb29kIGFmdGVyIHJldmlldy4gIEZpeGVzICMzMzY3NTYuCgoyMDA2LTA0LTI4IDE2OjUxOjMzICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6CgkqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmg6CgkgIGJvcmdpZnkgbmFtaW5nCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBib3JnaWZ5IG5hbWluZwoKMjAwNi0wNC0yOCAxNjo0Njo1MiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOgoJICBkb2MgdHdlYWtzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBkb2MgdHdlYWtzCgoyMDA2LTA0LTI4IDE2OjE1OjIwICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIHN5cy94aW1hZ2UvTWFrZWZpbGUuYW06CgkqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6CgkgIGNsZWFuIHVwIE1ha2VmaWxlLmFtCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBjbGVhbiB1cCBNYWtlZmlsZS5hbQoKMjAwNi0wNC0yOCAxNTozMzowOSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBleHQvdGFnbGliL2dzdHRhZ2xpYm11eC5jOgoJKiBleHQvdGFnbGliL2dzdHRhZ2xpYm11eC5oOgoJICBwZWRhbnRpYyBjbGVhbnVwcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcGVkYW50aWMgY2xlYW51cHMKCjIwMDYtMDQtMjggMTQ6NTc6NTcgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIGdzdC9pY3lkZW11eC9nc3RpY3lkZW11eC4qOiBGaXggZXZlbnQgaGFuZGxpbmc6IGNhY2hlIGV2ZW50cyB3aGVuIHR5cGVmaW5kaW5nIGFuZCBmb3J3YXJkIGxhdGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaWN5ZGVtdXgvZ3N0aWN5ZGVtdXguYzogKGdzdF9pY3lkZW11eF9yZXNldCksICAgICAgICAgKGdzdF9pY3lkZW11eF9pbml0KSwgKGdzdF9pY3lkZW11eF9zaW5rX3NldGNhcHMpLAoJICAoZ3N0X2ljeWRlbXV4X2FkZF9zcmNwYWQpLCAoZ3N0X2ljeWRlbXV4X3BhcnNlX2FuZF9zZW5kX3RhZ3MpLAoJICAoZ3N0X2ljeWRlbXV4X2hhbmRsZV9ldmVudCksIChnc3RfaWN5ZGVtdXhfc2VuZF9jYWNoZWRfZXZlbnRzKSwKCSAgKGdzdF9pY3lkZW11eF90eXBlZmluZF9vcl9mb3J3YXJkKSwgKGdzdF9pY3lkZW11eF9hZGRfbWV0YSksCgkgIChnc3RfaWN5ZGVtdXhfY2hhaW4pLCAoZ3N0X2ljeWRlbXV4X3NlbmRfdGFnX2V2ZW50KToKCSAgKiBnc3QvaWN5ZGVtdXgvZ3N0aWN5ZGVtdXguaDoKCSAgRml4IGV2ZW50IGhhbmRsaW5nOiBjYWNoZSBldmVudHMgd2hlbiB0eXBlZmluZGluZyBhbmQgZm9yd2FyZCBsYXRlci4KCjIwMDYtMDQtMjggMTQ6NTU6MjAgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zaW5rLmM6IFJlZ2lzdGVyIG9zeGF1ZGlvc3JjIHRvIHRoZSBwbHVnaW4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTA0LTI4ICBaYWhlZXIgQWJiYXMgTWVyYWxpICA8emFoZWVyYWJiYXMgYXQgbWVyYWxpIGRvdCBvcmc+CgkgICogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5jOgoJICAocGx1Z2luX2luaXQpOgoJICBSZWdpc3RlciBvc3hhdWRpb3NyYyB0byB0aGUgcGx1Z2luLgoJICAqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NyYy5jOgoJICAoZ3N0X29zeF9hdWRpb19zcmNfb3N4ZWxlbWVudF9kb19pbml0KSwKCSAgKGdzdF9vc3hfYXVkaW9fc3JjX2Jhc2VfaW5pdCksIChnc3Rfb3N4X2F1ZGlvX3NyY19jbGFzc19pbml0KSwKCSAgKGdzdF9vc3hfYXVkaW9fc3JjX2luaXQpLCAoZ3N0X29zeF9hdWRpb19zcmNfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9vc3hfYXVkaW9fc3JjX2dldF9wcm9wZXJ0eSksCgkgIChnc3Rfb3N4X2F1ZGlvX3NyY19jcmVhdGVfcmluZ2J1ZmZlciksIChnc3Rfb3N4X2F1ZGlvX3NyY19pb19wcm9jKSwKCSAgKGdzdF9vc3hfYXVkaW9fc3JjX29zeGVsZW1lbnRfaW5pdCk6CgkgICogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc3JjLmg6CgkgIFBvcnQgb2Ygb3N4YXVkaW9zcmMgdG8gMC4xMC4KCSAgKiBzeXMvb3N4YXVkaW8vTWFrZWZpbGUuYW06CgkgIEFkZCBvc3hhdWRpb3NyYwoKMjAwNi0wNC0yOCAxMjowMDozOSArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkqIENoYW5nZUxvZzoKCSAgY29tbWl0IENoYW5nZWxvZyBmb3IgcHJldmlvdXMgY29tbWl0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBjb21taXQgQ2hhbmdlbG9nIGZvciBwcmV2aW91cyBjb21taXQKCjIwMDYtMDQtMjggMTE6NTc6MzkgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4cmluZ2J1ZmZlci5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4cmluZ2J1ZmZlci5oOgoJICBGb3Jnb3QgdG8gY29tbWl0LCBxdWljayBjb21taXQgYmU0IGFwcGxlIGRpZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEZvcmdvdCB0byBjb21taXQsIHF1aWNrIGNvbW1pdCBiZTQgYXBwbGUgZGllcwoKMjAwNi0wNC0yOCAxMTozNzoyMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9pZDNkZW11eC9pZDN2MmZyYW1lcy5jOiBSZWNvZ25pc2UgYW5kIHNraXAgYW55IGJ5dGUgb3JkZXIgbWFya2VyIChCT00pIGluCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pZDNkZW11eC9pZDN2MmZyYW1lcy5jOiAoaGFzX3V0ZjE2X2JvbSksCgkgIChwYXJzZV9zcGxpdF9zdHJpbmdzKToKCSAgUmVjb2duaXNlIGFuZCBza2lwIGFueSBieXRlIG9yZGVyIG1hcmtlciAoQk9NKSBpbgoJICBVVEYtMTYgc3RyaW5ncy4KCjIwMDYtMDQtMjcgMTY6MDU6NTQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBBZGQgZG9jcyBmb3IgYm90aCBhdmlkZW11eCBhbmQgYXZpbXV4LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICAqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkgIEFkZCBkb2NzIGZvciBib3RoIGF2aWRlbXV4IGFuZCBhdmltdXguCgoyMDA2LTA0LTI3IDE0OjUxOjA2ICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYW5hdXdAc2t5bmV0LmJlPgoKCSAgZ3N0L2F2aS86IFBvcnQgQVZJIG11eGVyIHRvIEdTdHJlYW1lci0wLjEwICgjMzMyMDMxKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBNYXJrIE5hdXdlbGFlcnRzICA8bWFuYXV3IGF0IHNreW5ldCBkb3QgYmU+CgkgICogZ3N0L2F2aS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYXZpL2dzdGF2aS5jOiAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6IChnc3RfYXZpX211eF9nZXRfdHlwZSksCgkgIChnc3RfYXZpX211eF9iYXNlX2luaXQpLCAoZ3N0X2F2aV9tdXhfZmluYWxpemUpLAoJICAoZ3N0X2F2aV9tdXhfY2xhc3NfaW5pdCksIChnc3RfYXZpX211eF9pbml0KSwKCSAgKGdzdF9hdmlfbXV4X3ZpZHNpbmtfc2V0X2NhcHMpLCAoZ3N0X2F2aV9tdXhfYXVkc2lua19zZXRfY2FwcyksCgkgIChnc3RfYXZpX211eF9wYWRfbGluayksIChnc3RfYXZpX211eF9wYWRfdW5saW5rKSwKCSAgKGdzdF9hdmlfbXV4X3JlcXVlc3RfbmV3X3BhZCksIChnc3RfYXZpX211eF9yZWxlYXNlX3BhZCksCgkgIChnc3RfYXZpX211eF93cml0ZV90YWcpLCAoZ3N0X2F2aV9tdXhfcmlmZl9nZXRfYXZpX2hlYWRlciksCgkgIChnc3RfYXZpX211eF9yaWZmX2dldF9hdml4X2hlYWRlciksCgkgIChnc3RfYXZpX211eF9yaWZmX2dldF92aWRlb19oZWFkZXIpLAoJICAoZ3N0X2F2aV9tdXhfcmlmZl9nZXRfYXVkaW9faGVhZGVyKSwgKGdzdF9hdmlfbXV4X2FkZF9pbmRleCksCgkgIChnc3RfYXZpX211eF93cml0ZV9pbmRleCksIChnc3RfYXZpX211eF9iaWdmaWxlKSwKCSAgKGdzdF9hdmlfbXV4X3N0YXJ0X2ZpbGUpLCAoZ3N0X2F2aV9tdXhfc3RvcF9maWxlKSwKCSAgKGdzdF9hdmlfbXV4X3Jlc3RhcnRfZmlsZSksIChnc3RfYXZpX211eF9oYW5kbGVfZXZlbnQpLAoJICAoZ3N0X2F2aV9tdXhfZmlsbF9xdWV1ZSksIChnc3RfYXZpX211eF9zZW5kX3BhZF9kYXRhKSwKCSAgKGdzdF9hdmlfbXV4X3N0cmlwX2J1ZmZlciksIChnc3RfYXZpX211eF9kb19hdWRpb19idWZmZXIpLAoJICAoZ3N0X2F2aV9tdXhfZG9fdmlkZW9fYnVmZmVyKSwgKGdzdF9hdmlfbXV4X2RvX29uZV9idWZmZXIpLAoJICAoZ3N0X2F2aV9tdXhfbG9vcCksIChnc3RfYXZpX211eF9jb2xsZWN0X3BhZHMpLAoJICAoZ3N0X2F2aV9tdXhfZ2V0X3Byb3BlcnR5KSwgKGdzdF9hdmlfbXV4X3NldF9wcm9wZXJ0eSksCgkgIChnc3RfYXZpX211eF9jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9hdmkvZ3N0YXZpbXV4Lmg6CgkgIFBvcnQgQVZJIG11eGVyIHRvIEdTdHJlYW1lci0wLjEwICgjMzMyMDMxKS4KCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdmltdXguYzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uY3ZzaWdub3JlOgoJICBBZGQgdW5pdCB0ZXN0IGZvciBBVkkgbXV4ZXIuCgoyMDA2LTA0LTI2IDIxOjI5OjQ1ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuKjogcmV2ZXJ0ZWQgcGF0Y2ggIzMzNzYyNSBmb3IgdGhlIHByaWNlIG9mIDEgaG91ciBzbGVlcAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogKGdzdF93YXZwYXJzZV9iYXNlX2luaXQpLAoJICAoZ3N0X3dhdnBhcnNlX2NsYXNzX2luaXQpLCAoZ3N0X3dhdnBhcnNlX3Jlc2V0KSwKCSAgKGdzdF93YXZwYXJzZV9pbml0KSwgKGdzdF93YXZwYXJzZV9jcmVhdGVfc291cmNlcGFkKSwKCSAgKGdzdF93YXZwYXJzZV9wYXJzZV9maWxlX2hlYWRlciksIChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2luaXQpLAoJICAoZ3N0X3dhdnBhcnNlX3BlcmZvcm1fc2VlayksIChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2hlYWRlcnMpLAoJICAoZ3N0X3dhdnBhcnNlX3NlbmRfZXZlbnQpLCAoZ3N0X3dhdnBhcnNlX2FkZF9zcmNfcGFkKSwKCSAgKGdzdF93YXZwYXJzZV9zdHJlYW1fZGF0YSksIChnc3Rfd2F2cGFyc2VfbG9vcCksCgkgIChnc3Rfd2F2cGFyc2Vfc3JjcGFkX2V2ZW50KSwgKGdzdF93YXZwYXJzZV9zaW5rX2FjdGl2YXRlKSwKCSAgKGdzdF93YXZwYXJzZV9zaW5rX2FjdGl2YXRlX3B1bGwpLCAoZ3N0X3dhdnBhcnNlX2NoYW5nZV9zdGF0ZSksCgkgIChwbHVnaW5faW5pdCk6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmg6CgkgIHJldmVydGVkIHBhdGNoICMzMzc2MjUgZm9yIHRoZSBwcmljZSBvZiAxIGhvdXIgc2xlZXAKCjIwMDYtMDQtMjYgMjA6MTE6MTggKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS4qOiBjb3JyZWN0IHBhcnRpYWwgaW1wbGVtZW50YXRpb24gb2YgcHVzaCBtb2RlIChmcm9tIG15IGxhc3QgY29tbWl0KQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogKGdzdF93YXZwYXJzZV9iYXNlX2luaXQpLAoJICAoZ3N0X3dhdnBhcnNlX2NsYXNzX2luaXQpLCAoZ3N0X3dhdnBhcnNlX3Jlc2V0KSwKCSAgKGdzdF93YXZwYXJzZV9pbml0KSwgKGdzdF93YXZwYXJzZV9jcmVhdGVfc291cmNlcGFkKSwKCSAgKGdzdF93YXZwYXJzZV9wYXJzZV9hZHRsKSwgKGdzdF93YXZwYXJzZV9wYXJzZV9jdWVzKSwKCSAgKGdzdF93YXZwYXJzZV9wYXJzZV9maWxlX2hlYWRlciksIChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2luaXQpLAoJICAoZ3N0X3dhdnBhcnNlX3BlcmZvcm1fc2VlayksIChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2hlYWRlcnMpLAoJICAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9kYXRhKSwgKGdzdF93YXZwYXJzZV9sb29wKSwKCSAgKGdzdF93YXZwYXJzZV9jaGFpbiksIChwbHVnaW5faW5pdCk6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmg6CgkgIGNvcnJlY3QgcGFydGlhbCBpbXBsZW1lbnRhdGlvbiBvZiBwdXNoIG1vZGUKCSAgKGZyb20gbXkgbGFzdCBjb21taXQpCgoyMDA2LTA0LTI2IDE3OjM3OjEwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L2VzZC9lc2RzaW5rLmM6IEZpeCBjb21waWxlIHByb2JsZW0gYnkgZGVmaW5pbmcgRVNEX01BWF9XUklURV9TSVpFIGlmIGl0IGlzIG5vdCBpbiBlc2QuaAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZXNkL2VzZHNpbmsuYzoKCSAgRml4IGNvbXBpbGUgcHJvYmxlbSBieSBkZWZpbmluZyBFU0RfTUFYX1dSSVRFX1NJWkUgaWYKCSAgaXQgaXMgbm90IGluIGVzZC5oCgoyMDA2LTA0LTI2IDE3OjA4OjI0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS4qOiBSZXdyaXRlIGF1cGFyc2UgdG8gc3VjayBhIGxpdHRsZSBiaXQgbGVzczogbWFrZSBzb3VyY2UgcGFkIGR5bmFtaWMsIHNvIGRlY29kZWJpbi9wbGF5YmluIHdvLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdXBhcnNlL2dzdGF1cGFyc2UuYzogKGdzdF9hdV9wYXJzZV9iYXNlX2luaXQpLAoJICAoZ3N0X2F1X3BhcnNlX2NsYXNzX2luaXQpLCAoZ3N0X2F1X3BhcnNlX2luaXQpLAoJICAoZ3N0X2F1X3BhcnNlX3Jlc2V0KSwgKGdzdF9hdV9wYXJzZV9hZGRfc3JjcGFkKSwKCSAgKGdzdF9hdV9wYXJzZV9yZW1vdmVfc3JjcGFkKSwgKGdzdF9hdV9wYXJzZV9wYXJzZV9oZWFkZXIpLAoJICAoZ3N0X2F1X3BhcnNlX2NoYWluKSwgKGdzdF9hdV9wYXJzZV9zcmNfY29udmVydCksCgkgIChnc3RfYXVfcGFyc2Vfc3JjX3F1ZXJ5KSwgKGdzdF9hdV9wYXJzZV9oYW5kbGVfc2VlayksCgkgIChnc3RfYXVfcGFyc2Vfc2lua19ldmVudCksIChnc3RfYXVfcGFyc2Vfc3JjX2V2ZW50KSwKCSAgKGdzdF9hdV9wYXJzZV9jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9hdXBhcnNlL2dzdGF1cGFyc2UuaDoKCSAgUmV3cml0ZSBhdXBhcnNlIHRvIHN1Y2sgYSBsaXR0bGUgYml0IGxlc3M6IG1ha2Ugc291cmNlIHBhZAoJICBkeW5hbWljLCBzbyBkZWNvZGViaW4vcGxheWJpbiB3b3JrIHdpdGggbm9uLXJhdyBmb3JtYXRzCgkgIGxpa2UgYWxhdy9tdWxhdzsgYWRkIHF1ZXJ5IGZ1bmN0aW9uIGZvciBkdXJhdGlvbi9wb3NpdGlvbgoJICBxdWVyaWVzOyBjaGVjayB3aGV0aGVyIHdlIGhhdmUgZW5vdWdoIGRhdGEgYmVmb3JlIGF0dGVtcHRpbmcKCSAgdG8gcGFyc2UgdGhlIGhlYWRlciAoaW5zdGVhZCBvZiBjcmFzaGluZyB3aGVuIHRoYXQgaXMgbm90IHRoZQoJICBjYXNlKTsgd29yayBhcm91bmQgYXVkaW9jb252ZXJ0IHN1Y2tpbmcgYnkgc3dhcHBpbmcgZW5kaWFubmVzcwoJICB0byB0aGUgbmF0aXZlIGVuZGlhbm5lc3Mgb3Vyc2VsdmVzIGZvciBmbG9hdCBmb3JtYXRzOyBzZW5kCgkgIGluaXRpYWwgbmV3c2VnbWVudCBldmVudC4gRml4ZXMgIzE2MTcxMi4KCjIwMDYtMDQtMjYgMTY6Mjk6MzggKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBzeXMvb3N4YXVkaW8vOiBQb3J0IG9mIG9zeGF1ZGlvc2luayB0byAwLjEwCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTA0LTI2ICBaYWhlZXIgQWJiYXMgTWVyYWxpICA8emFoZWVyYWJiYXMgYXQgbWVyYWxpIGRvdCBvcmc+CgkgICogc3lzL29zeGF1ZGlvL01ha2VmaWxlLmFtOgoJICAqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb2VsZW1lbnQuYzoKCSAgKGdzdF9vc3hfYXVkaW9fZWxlbWVudF9nZXRfdHlwZSksCgkgIChnc3Rfb3N4X2F1ZGlvX2VsZW1lbnRfY2xhc3NfaW5pdCk6CgkgICogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvZWxlbWVudC5oOgoJICAqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NpbmsuYzoKCSAgKGdzdF9vc3hfYXVkaW9fc2lua19vc3hlbGVtZW50X2RvX2luaXQpLAoJICAoZ3N0X29zeF9hdWRpb19zaW5rX2Jhc2VfaW5pdCksIChnc3Rfb3N4X2F1ZGlvX3NpbmtfY2xhc3NfaW5pdCksCgkgIChnc3Rfb3N4X2F1ZGlvX3NpbmtfaW5pdCksIChnc3Rfb3N4X2F1ZGlvX3Npbmtfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9vc3hfYXVkaW9fc2lua19nZXRfcHJvcGVydHkpLCAoZ3N0X29zeF9hdWRpb19zaW5rX2dldGNhcHMpLAoJICAoZ3N0X29zeF9hdWRpb19zaW5rX2NyZWF0ZV9yaW5nYnVmZmVyKSwKCSAgKGdzdF9vc3hfYXVkaW9fc2lua19pb19wcm9jKSwgKGdzdF9vc3hfYXVkaW9fc2lua19vc3hlbGVtZW50X2luaXQpLAoJICAocGx1Z2luX2luaXQpOgoJICAqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NpbmsuaDoKCSAgUG9ydCBvZiBvc3hhdWRpb3NpbmsgdG8gMC4xMAoKMjAwNi0wNC0yNiAwODo1NToyNyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9lc2QvZXNkc2luay5jOiBBbHdheXMgd3JpdGUgRVNEX0JVRl9TSVpFIGJ5dGVzIGFuZCB1c2UgRVNEX01BWF9XUklURV9TSVpFIGFzIHRoZSBzaXplIG9mIHRoZSByaW5nYnVmZmVyLiBUaGlzIHNoby4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZXNkL2VzZHNpbmsuYzogKGdzdF9lc2RzaW5rX3ByZXBhcmUpLCAoZ3N0X2VzZHNpbmtfZGVsYXkpOgoJICBBbHdheXMgd3JpdGUgRVNEX0JVRl9TSVpFIGJ5dGVzIGFuZCB1c2UgRVNEX01BWF9XUklURV9TSVpFIGFzCgkgIHRoZSBzaXplIG9mIHRoZSByaW5nYnVmZmVyLiBUaGlzIHNob3VsZCBmaXggaGFuZ3Mgd2l0aCBvbGRlcgoJICBlc2Qgc291bmQgc2VydmVycy4KCjIwMDYtMDQtMjUgMjE6NTY6MzggKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIERlZmluZSBHc3RFbGVtZW50RGV0YWlscyBhcyBjb25zdCBhbmQgYWxzbyBzdGF0aWMgKHdoZW4gZGVmaW5lZCBhcyBnbG9iYWwpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmRlYy5jOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmVuYy5jOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YnBhcnNlLmM6CgkgICogZXh0L2FydHMvZ3N0X2FydHMuYzoKCSAgKiBleHQvYXJ0c2QvZ3N0YXJ0c2RzaW5rLmM6CgkgICogZXh0L2F1ZGlvZmlsZS9nc3RhZnBhcnNlLmM6CgkgICogZXh0L2F1ZGlvZmlsZS9nc3RhZnNpbmsuYzoKCSAgKiBleHQvYXVkaW9maWxlL2dzdGFmc3JjLmM6CgkgICogZXh0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOgoJICAqIGV4dC9iejIvZ3N0YnoyZGVjLmM6CgkgICogZXh0L2J6Mi9nc3RiejJlbmMuYzoKCSAgKiBleHQvY2RhdWRpby9nc3RjZGF1ZGlvLmM6CgkgICogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOgoJICAqIGV4dC9kaXZ4L2dzdGRpdnhkZWMuYzoKCSAgKiBleHQvZGl2eC9nc3RkaXZ4ZW5jLmM6CgkgICogZXh0L2R0cy9nc3RkdHNkZWMuYzogKGdzdF9kdHNkZWNfYmFzZV9pbml0KToKCSAgKiBleHQvZmFhYy9nc3RmYWFjLmM6IChnc3RfZmFhY19iYXNlX2luaXQpOgoJICAqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSAgKiBleHQvZ3NtL2dzdGdzbWRlYy5jOgoJICAqIGV4dC9nc20vZ3N0Z3NtZW5jLmM6CgkgICogZXh0L2hlcm1lcy9nc3RoZXJtZXNjb2xvcnNwYWNlLmM6CgkgICogZXh0L2l2b3JiaXMvdm9yYmlzZmlsZS5jOgoJICAqIGV4dC9sY3MvZ3N0Y29sb3JzcGFjZS5jOgoJICAqIGV4dC9saWJmYW1lL2dzdGxpYmZhbWUuYzoKCSAgKiBleHQvbGlibW1zL2dzdG1tcy5jOiAoZ3N0X21tc19iYXNlX2luaXQpOgoJICAqIGV4dC9tdXNlcGFjay9nc3RtdXNlcGFja2RlYy5jOiAoZ3N0X211c2VwYWNrZGVjX2Jhc2VfaW5pdCk6CgkgICogZXh0L211c2ljYnJhaW56L2dzdHRybS5jOiAoZ3N0X211c2ljYnJhaW56X2Jhc2VfaW5pdCk6CgkgICogZXh0L25hcy9uYXNzaW5rLmM6IChnc3RfbmFzc2lua19iYXNlX2luaXQpOgoJICAqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6CgkgICogZXh0L3NkbC9zZGxhdWRpb3NpbmsuYzoKCSAgKiBleHQvc2RsL3NkbHZpZGVvc2luay5jOgoJICAqIGV4dC9zaG91dC9nc3RzaG91dC5jOgoJICAqIGV4dC9zbmFwc2hvdC9nc3RzbmFwc2hvdC5jOgoJICAqIGV4dC9zbmRmaWxlL2dzdHNmLmM6CgkgICogZXh0L3N3ZmRlYy9nc3Rzd2ZkZWMuYzoKCSAgKiBleHQvdGFya2luL2dzdHRhcmtpbmRlYy5jOgoJICAqIGV4dC90YXJraW4vZ3N0dGFya2luZW5jLmM6CgkgICogZXh0L3RoZW9yYS90aGVvcmFkZWMuYzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IChnc3Rfd2F2cGFja19kZWNfYmFzZV9pbml0KToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogKGdzdF93YXZwYWNrX3BhcnNlX2Jhc2VfaW5pdCk6CgkgICogZXh0L3h2aWQvZ3N0eHZpZGRlYy5jOgoJICAqIGV4dC94dmlkL2dzdHh2aWRlbmMuYzoKCSAgKiBnc3QvY2R4YXBhcnNlL2dzdGNkeGFwYXJzZS5jOiAoZ3N0X2NkeGFfcGFyc2VfYmFzZV9pbml0KToKCSAgKiBnc3QvY2R4YXBhcnNlL2dzdGNkeGFzdHJpcC5jOiAoZ3N0X2NkeGFzdHJpcF9iYXNlX2luaXQpOgoJICAqIGdzdC9jaGFydC9nc3RjaGFydC5jOgoJICAqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2UuYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOiAoZ3N0X2lpcl9lcXVhbGl6ZXJfYmFzZV9pbml0KToKCSAgKiBnc3QvZmVzdGl2YWwvZ3N0ZmVzdGl2YWwuYzoKCSAgKiBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuYzoKCSAgKiBnc3QvZmlsdGVyL2dzdGlpci5jOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOgoJICAqIGdzdC9mcmVlemUvZ3N0ZnJlZXplLmM6CgkgICogZ3N0L2dhbWVzL2dzdHB1enpsZS5jOiAoZ3N0X3B1enpsZV9iYXNlX2luaXQpOgoJICAqIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6CgkgICogZ3N0L21peG1hdHJpeC9taXhtYXRyaXguYzoKCSAgKiBnc3QvbXBlZzFzeXMvZ3N0bXBlZzFzeXN0ZW1lbmNvZGUuYzoKCSAgKiBnc3QvbXBlZzF2aWRlb3BhcnNlL2dzdG1wMXZpZGVvcGFyc2UuYzoKCSAgKiBnc3QvbXBlZzJzdWIvZ3N0bXBlZzJzdWJ0LmM6CgkgICogZ3N0L21wZWdhdWRpb3BhcnNlL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkgICogZ3N0L211bHRpZmlsZXNpbmsvZ3N0bXVsdGlmaWxlc2luay5jOgoJICAqIGdzdC9vdmVybGF5L2dzdG92ZXJsYXkuYzoKCSAgKiBnc3QvcGFzc3Rocm91Z2gvZ3N0cGFzc3Rocm91Z2guYzoKCSAgKiBnc3QvcGxheW9uZGVtYW5kL2dzdHBsYXlvbmRlbWFuZC5jOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgKiBnc3QvcnRqcGVnL2dzdHJ0anBlZ2RlYy5jOgoJICAqIGdzdC9ydGpwZWcvZ3N0cnRqcGVnZW5jLmM6CgkgICogZ3N0L3Ntb290aC9nc3RzbW9vdGguYzoKCSAgKiBnc3Qvc21vb3Rod2F2ZS9nc3RzbW9vdGh3YXZlLmM6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkgICogZ3N0L3NwZWVkL2dzdHNwZWVkLmM6CgkgICogZ3N0L3N0ZXJlby9nc3RzdGVyZW8uYzoKCSAgKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5jOgoJICAqIGdzdC90dGEvZ3N0dHRhZGVjLmM6IChnc3RfdHRhX2RlY19iYXNlX2luaXQpOgoJICAqIGdzdC90dGEvZ3N0dHRhcGFyc2UuYzogKGdzdF90dGFfcGFyc2VfYmFzZV9pbml0KToKCSAgKiBnc3QvdmJpZGVjL2dzdHZiaWRlYy5jOgoJICAqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmM6CgkgICogZ3N0L3ZpZGVvZHJvcC9nc3R2aWRlb2Ryb3AuYzoKCSAgKiBnc3QvdmlydHVhbGR1Yi9nc3R4c2hhcnBlbi5jOgoJICAqIGdzdC94aW5naGVhZGVyL2dzdHhpbmdtdXguYzogKGdzdF94aW5nX211eF9iYXNlX2luaXQpOgoJICAqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6CgkgICogc3lzL2Nkcm9tL2dzdGNkcGxheWVyLmM6CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkgICogc3lzL2dsc2luay9nbGltYWdlc2luay5jOgoJICAqIHN5cy9xY2FtL2dzdHFjYW1zcmMuYzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgICogc3lzL3ZjZC92Y2RzcmMuYzogKGdzdF92Y2RzcmNfYmFzZV9pbml0KToKCSAgKiBzeXMveGltYWdlc3JjL3hpbWFnZXNyYy5jOgoJICBEZWZpbmUgR3N0RWxlbWVudERldGFpbHMgYXMgY29uc3QgYW5kIGFsc28gc3RhdGljICh3aGVuIGRlZmluZWQgYXMKCSAgZ2xvYmFsKQoKMjAwNi0wNC0yNSAyMTozOTo0NiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgRGVmaW5lIEdzdEVsZW1lbnREZXRhaWxzIGFzIGNvbnN0IGFuZCBhbHNvIHN0YXRpYyAod2hlbiBkZWZpbmVkIGFzIGdsb2JhbCkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2FhbGliL2dzdGFhc2luay5jOgoJICAqIGV4dC9hbm5vZGV4L2dzdGNtbWxkZWMuYzoKCSAgKiBleHQvYW5ub2RleC9nc3RjbW1sZW5jLmM6CgkgICogZXh0L2NhaXJvL2dzdHRleHRvdmVybGF5LmM6CgkgICogZXh0L2NhaXJvL2dzdHRpbWVvdmVybGF5LmM6CgkgICogZXh0L2NkaW8vZ3N0Y2Rpb2NkZGFzcmMuYzoKCSAgKiBleHQvZHYvZ3N0ZHZkZWMuYzoKCSAgKiBleHQvZHYvZ3N0ZHZkZW11eC5jOgoJICAqIGV4dC9lc2QvZXNkbW9uLmM6CgkgICogZXh0L2VzZC9lc2RzaW5rLmM6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJICAqIGV4dC9mbGFjL2dzdGZsYWN0YWcuYzoKCSAgKiBleHQvZ2NvbmYvZ3N0Z2NvbmZhdWRpb3NpbmsuYzogKGdzdF9nY29uZl9hdWRpb19zaW5rX2Jhc2VfaW5pdCk6CgkgICogZXh0L2djb25mL2dzdGdjb25mYXVkaW9zcmMuYzogKGdzdF9nY29uZl9hdWRpb19zcmNfYmFzZV9pbml0KToKCSAgKiBleHQvZ2NvbmYvZ3N0Z2NvbmZ2aWRlb3NpbmsuYzogKGdzdF9nY29uZl92aWRlb19zaW5rX2Jhc2VfaW5pdCk6CgkgICogZXh0L2djb25mL2dzdGdjb25mdmlkZW9zcmMuYzogKGdzdF9nY29uZl92aWRlb19zcmNfYmFzZV9pbml0KToKCSAgKiBleHQvZ2RrX3BpeGJ1Zi9waXhidWZzY2FsZS5jOgoJICAqIGV4dC9oYWwvZ3N0aGFsYXVkaW9zaW5rLmM6IChnc3RfaGFsX2F1ZGlvX3NpbmtfYmFzZV9pbml0KToKCSAgKiBleHQvaGFsL2dzdGhhbGF1ZGlvc3JjLmM6IChnc3RfaGFsX2F1ZGlvX3NyY19iYXNlX2luaXQpOgoJICAqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAgKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkgICogZXh0L2pwZWcvZ3N0c21va2VkZWMuYzoKCSAgKiBleHQvanBlZy9nc3RzbW9rZWVuYy5jOgoJICAqIGV4dC9saWJjYWNhL2dzdGNhY2FzaW5rLmM6CgkgICogZXh0L2xpYm1uZy9nc3RtbmdkZWMuYzoKCSAgKiBleHQvbGlibW5nL2dzdG1uZ2VuYy5jOgoJICAqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6CgkgICogZXh0L2xpYnBuZy9nc3RwbmdlbmMuYzoKCSAgKiBleHQvbWlrbW9kL2dzdG1pa21vZC5jOgoJICAqIGV4dC9yYXcxMzk0L2dzdGR2MTM5NHNyYy5jOgoJICAqIGV4dC9zaG91dDIvZ3N0c2hvdXQyLmM6IChnc3Rfc2hvdXQyc2VuZF9pbml0KToKCSAgKiBleHQvc2hvdXQyL2dzdHNob3V0Mi5oOgoJICAqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOgoJICAqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOgoJICAqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOgoJICAqIGdzdC9hbHBoYS9nc3RhbHBoYWNvbG9yLmM6CgkgICogZ3N0L2FwZXRhZy9nc3RhcGVkZW11eC5jOgoJICAqIGdzdC9hdXBhcnNlL2dzdGF1cGFyc2UuYzoKCSAgKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zaW5rLmM6CgkgIChnc3RfYXV0b19hdWRpb19zaW5rX2Jhc2VfaW5pdCk6CgkgICogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc2luay5jOgoJICAoZ3N0X2F1dG9fdmlkZW9fc2lua19iYXNlX2luaXQpOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfYmFzZV9pbml0KToKCSAgKiBnc3QvYXZpL2dzdGF2aW11eC5jOiAoZ3N0X2F2aW11eF9iYXNlX2luaXQpOgoJICAqIGdzdC9jdXR0ZXIvZ3N0Y3V0dGVyLmM6CgkgICogZ3N0L2RlYnVnL2JyZWFrbXlkYXRhLmM6CgkgICogZ3N0L2RlYnVnL2VmZW5jZS5jOgoJICAqIGdzdC9kZWJ1Zy9nc3RuYXZpZ2F0aW9udGVzdC5jOgoJICAqIGdzdC9kZWJ1Zy9nc3RuYXZzZWVrLmM6CgkgICogZ3N0L2RlYnVnL25lZ290aWF0aW9uLmM6CgkgICogZ3N0L2RlYnVnL3Byb2dyZXNzcmVwb3J0LmM6CgkgICogZ3N0L2RlYnVnL3Rlc3RwbHVnaW4uYzoKCSAgKiBnc3QvZWZmZWN0di9nc3RhZ2luZy5jOgoJICAqIGdzdC9lZmZlY3R2L2dzdGRpY2UuYzoKCSAgKiBnc3QvZWZmZWN0di9nc3RlZGdlLmM6CgkgICogZ3N0L2VmZmVjdHYvZ3N0cXVhcmsuYzoKCSAgKiBnc3QvZWZmZWN0di9nc3RyZXYuYzoKCSAgKiBnc3QvZWZmZWN0di9nc3RzaGFnYWRlbGljLmM6CgkgICogZ3N0L2VmZmVjdHYvZ3N0dmVydGlnby5jOgoJICAqIGdzdC9lZmZlY3R2L2dzdHdhcnAuYzoKCSAgKiBnc3QvZmx4L2dzdGZseGRlYy5jOgoJICAqIGdzdC9nb29tL2dzdGdvb20uYzoKCSAgKiBnc3QvaWN5ZGVtdXgvZ3N0aWN5ZGVtdXguYzoKCSAgKiBnc3QvaWQzZGVtdXgvZ3N0aWQzZGVtdXguYzoKCSAgKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYzoKCSAgKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6CgkgICogZ3N0L2xhdy9hbGF3LWRlY29kZS5jOiAoZ3N0X2FsYXdkZWNfYmFzZV9pbml0KToKCSAgKiBnc3QvbGF3L2FsYXctZW5jb2RlLmM6IChnc3RfYWxhd2VuY19iYXNlX2luaXQpOgoJICAqIGdzdC9sYXcvbXVsYXctZGVjb2RlLmM6IChnc3RfbXVsYXdkZWNfYmFzZV9pbml0KToKCSAgKiBnc3QvbGF3L211bGF3LWVuY29kZS5jOiAoZ3N0X211bGF3ZW5jX2Jhc2VfaW5pdCk6CgkgICogZ3N0L2xldmVsL2dzdGxldmVsLmM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IChnc3RfbWF0cm9za2FfZGVtdXhfYmFzZV9pbml0KToKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6IChnc3RfbWF0cm9za2FfbXV4X2Jhc2VfaW5pdCk6CgkgICogZ3N0L21lZGlhbi9nc3RtZWRpYW4uYzoKCSAgKiBnc3QvbW9ub3Njb3BlL2dzdG1vbm9zY29wZS5jOgoJICAqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzoKCSAgKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydG11eC5jOgoJICAqIGdzdC9vbGRjb3JlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgKiBnc3Qvb2xkY29yZS9nc3RmZHNpbmsuYzoKCSAgKiBnc3Qvb2xkY29yZS9nc3RtZDVzaW5rLmM6CgkgICogZ3N0L29sZGNvcmUvZ3N0bXVsdGlmaWxlc3JjLmM6CgkgICogZ3N0L29sZGNvcmUvZ3N0cGlwZWZpbHRlci5jOgoJICAqIGdzdC9vbGRjb3JlL2dzdHNoYXBlci5jOgoJICAqIGdzdC9vbGRjb3JlL2dzdHN0YXRpc3RpY3MuYzoKCSAgKiBnc3QvcnRwL2dzdGFzdGVyaXNraDI2My5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwTDE2ZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cEwxNnBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGFtcnBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGdzbXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2M3BkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGlsYmNkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0Z3BheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0dmRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBtcDR2cGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBtcGFkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXBhcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBwY21hZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cHBjbWFwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cHBjbXVkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwcGNtdXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwc3BlZXhkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwc3BlZXhwYXkuYzoKCSAgKiBnc3QvcnRzcC9nc3RydHBkZWMuYzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgICogZ3N0L3NtcHRlL2dzdHNtcHRlLmM6CgkgICogZ3N0L3VkcC9nc3RkeW51ZHBzaW5rLmM6CgkgICogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSAgKiBnc3QvdWRwL2dzdHVkcHNpbmsuYzoKCSAgKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICAqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOgoJICAqIGdzdC92aWRlb2ZpbHRlci9nc3RnYW1tYS5jOiAoZ3N0X2dhbW1hX2Jhc2VfaW5pdCk6CgkgICogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvYmFsYW5jZS5jOgoJICAqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZsaXAuYzoKCSAgKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW90ZW1wbGF0ZS5jOgoJICAoZ3N0X3ZpZGVvdGVtcGxhdGVfYmFzZV9pbml0KToKCSAgKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IChnc3Rfd2F2cGFyc2VfYmFzZV9pbml0KSwKCSAgKGdzdF93YXZwYXJzZV9jbGFzc19pbml0KSwgKGdzdF93YXZwYXJzZV9kaXNwb3NlKSwKCSAgKGdzdF93YXZwYXJzZV9yZXNldCksIChnc3Rfd2F2cGFyc2VfaW5pdCksCgkgIChnc3Rfd2F2cGFyc2VfcGVyZm9ybV9zZWVrKSwgKGdzdF93YXZwYXJzZV9wZWVrX2NodW5rX2luZm8pLAoJICAoZ3N0X3dhdnBhcnNlX3BlZWtfY2h1bmspLCAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9oZWFkZXJzKSwKCSAgKGdzdF93YXZwYXJzZV9wYXJzZV9zdHJlYW1faW5pdCksIChnc3Rfd2F2cGFyc2Vfc2VuZF9ldmVudCksCgkgIChnc3Rfd2F2cGFyc2VfYWRkX3NyY19wYWQpLCAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9kYXRhKSwKCSAgKGdzdF93YXZwYXJzZV9jaGFpbiksIChnc3Rfd2F2cGFyc2Vfc3JjcGFkX2V2ZW50KSwKCSAgKGdzdF93YXZwYXJzZV9zaW5rX2FjdGl2YXRlKSwgKGdzdF93YXZwYXJzZV9zaW5rX2FjdGl2YXRlX3B1bGwpLAoJICAoZ3N0X3dhdnBhcnNlX2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmg6CgkgICogc3lzL29zcy9nc3Rvc3NtaXhlcmVsZW1lbnQuYzoKCSAgKiBzeXMvb3NzL2dzdG9zc3NpbmsuYzoKCSAgKiBzeXMvb3NzL2dzdG9zc3NyYy5jOgoJICAqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb2VsZW1lbnQuYzoKCSAgKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zaW5rLmM6CgkgICogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc3JjLmM6CgkgICogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXIuYzoKCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zaW5rLmM6CgkgIERlZmluZSBHc3RFbGVtZW50RGV0YWlscyBhcyBjb25zdCBhbmQgYWxzbyBzdGF0aWMgKHdoZW4gZGVmaW5lZCBhcwoJICBnbG9iYWwpCgoyMDA2LTA0LTI1IDE3OjU3OjIzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOiBTb3VyY2UgcGFkIGhhcyBmaXhlZCBjYXBzLiBJZiB3ZSBkb24ndCBzZXQgdGhpcywgYmFkIHRoaW5ncyBoYXBwZW4gd2hlbiB0aGUgd2luZG93IGlzIHJlc2l6ZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzogKGdzdF9qcGVnX2RlY19jaGFpbik6CgkgIFNvdXJjZSBwYWQgaGFzIGZpeGVkIGNhcHMuIElmIHdlIGRvbid0IHNldCB0aGlzLCBiYWQKCSAgdGhpbmdzIGhhcHBlbiB3aGVuIHRoZSB3aW5kb3cgaXMgcmVzaXplZC4KCjIwMDYtMDQtMjUgMTY6Mzg6NTAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvbWF0cm9za2EvOiBIYW5kbGUgY2FzZSB3aGVyZSB0aGUgVHJhY2tUeXBlIGVibWwgY2h1bmsgZG9lcyBub3QgY29tZSBiZWZvcmUgdGhlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogKGdzdF9tYXRyb3NrYV9kZW11eF9hZGRfc3RyZWFtKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9oYW5kbGVfc3JjX2V2ZW50KToKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmM6CgkgIChnc3RfbWF0cm9za2FfdHJhY2tfaW5pdF92aWRlb19jb250ZXh0KSwKCSAgKGdzdF9tYXRyb3NrYV90cmFja19pbml0X2F1ZGlvX2NvbnRleHQpLAoJICAoZ3N0X21hdHJvc2thX3RyYWNrX2luaXRfc3VidGl0bGVfY29udGV4dCksCgkgIChnc3RfbWF0cm9za2FfdHJhY2tfaW5pdF9jb21wbGV4X2NvbnRleHQpOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuaDoKCSAgSGFuZGxlIGNhc2Ugd2hlcmUgdGhlIFRyYWNrVHlwZSBlYm1sIGNodW5rIGRvZXMgbm90IGNvbWUgYmVmb3JlIHRoZQoJICBUcmFja0luZm9BdWRpbyBvciBUcmFja0luZm9WaWRlbyBlYm1sIGNodW5rICgjMzM5NDQ2KS4gSWdub3JlIFFvUwoJICBldmVudHMuCgoyMDA2LTA0LTI1IDE2OjA5OjU1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC86IEl0J3MgY29kZWNfZGF0YSwgbm90IGNvZGVjX2luZm8uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0Z3BheS5jOiAoZ3N0X3J0cF9tcDRnX3BheV9zZXRjYXBzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuYzogKGdzdF9ydHBfbXA0dl9wYXlfc2V0Y2Fwcyk6CgkgIEl0J3MgY29kZWNfZGF0YSwgbm90IGNvZGVjX2luZm8uCgoyMDA2LTA0LTI1IDExOjQ1OjAwICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYW5hdXdAc2t5bmV0LmJlPgoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IEhhbmRsZSBjb2RlY19kYXRhIGZvciBWZlcgY29tcGF0aWJpbGl0eSBjb2RlYyBJRHMgKCMzMzk0NTEpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogTWFyayBOYXV3ZWxhZXJ0cyAgPG1hbmF1dyBhdCBza3luZXQgZG90IGJlPgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiAoZ3N0X21hdHJvc2thX2RlbXV4X3ZpZGVvX2NhcHMpOgoJICBIYW5kbGUgY29kZWNfZGF0YSBmb3IgVmZXIGNvbXBhdGliaWxpdHkgY29kZWMgSURzICgjMzM5NDUxKQoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgKGdzdF9tYXRyb3NrYV9tdXhfdmlkZW9fcGFkX3NldGNhcHMpOgoJICBTYW1lIGhlcmUsIGhhbmRsZSBjb2RlY19kYXRhIGFuZCBhZGQgYWRkaXRpb25hbCBjYXBzIHdlIGNhbiBoYW5kbGUKCSAgbm93IHRvIHRoZSBwYWQgdGVtcGxhdGUgKGh1ZmZ5dXYsIGR2IGFuZCBoMjYzIHZpZGVvKSAoIzMzOTQ1MSkKCjIwMDYtMDQtMjUgMTE6MDk6MjQgKzAwMDAgIEpvc2VmIFpsb21layA8am9zZWYuemxvbWVrQGl0b25pcy50dj4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzogRml4IHRpbWVzdGFtcGluZyBvZiBCLWZyYW1lcywgdXNlIHNpZ25lZCBpbnRlZ2VycywgZG8gc29tZSByb3VuZGluZyAoIzMzOTY3OCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogSm9zZWYgWmxvbWVrICA8am9zZWYgZG90IHpsb21layBhdCBpdG9uaXMgZG90IHR2PgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgKGdzdF9tYXRyb3NrYV9tdXhfY3JlYXRlX2J1ZmZlcl9oZWFkZXIpLAoJICAoZ3N0X21hdHJvc2thX211eF93cml0ZV9kYXRhKToKCSAgRml4IHRpbWVzdGFtcGluZyBvZiBCLWZyYW1lcywgdXNlIHNpZ25lZCBpbnRlZ2VycywgZG8KCSAgc29tZSByb3VuZGluZyAoIzMzOTY3OCkuCgoyMDA2LTA0LTI0IDE4OjMwOjU1ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9hbm5vZGV4L2dzdGNtbWxwYXJzZXIuYzoKCSAganVzdCBtYWtlIGl0IGNvbXBpbGUgd2l0aCAtLWRpc2FibGUtZ3N0LWRlYnVnLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAganVzdCBtYWtlIGl0IGNvbXBpbGUgd2l0aCAtLWRpc2FibGUtZ3N0LWRlYnVnLgoKMjAwNi0wNC0yMyAxNTo1NTozMCArMDAwMCAgU8OpYmFzdGllbiBNb3V0dGUgPHNlYmFzdGllbkBtb3V0dGUubmV0PgoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IEZpeCBhIGJhZCBjb252ZXJzaW9uIHVzaW5nIGdzdF9ndWludDY0X3RvX2dkb3VibGUuIGZhYnMgKChnZG91YmxlKSBkZW11eC0+aW5kZXhbZW50cnldLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiAoZ3N0X21hdHJvc2thZGVtdXhfZG9faW5kZXhfc2Vlayk6CgkgIEZpeCBhIGJhZCBjb252ZXJzaW9uIHVzaW5nIGdzdF9ndWludDY0X3RvX2dkb3VibGUuCgkgIGZhYnMgKChnZG91YmxlKSBkZW11eC0+aW5kZXhbZW50cnldLnRpbWUgLSAoZ2RvdWJsZSkgc2Vla19wb3MpIGNhbiBub3QgYmUKCSAgcmVwbGFjZWQgYnkgZmFicyAoZ3N0X2d1aW50NjRfdG9fZ2RvdWJsZSAoZGVtdXgtPmluZGV4W2VudHJ5XS50aW1lIC0gc2Vla19wb3MpKSBhcyB0aGUKCSAgZGlmZmVyZW5jZSBjb3VsZCBiZSBuZWdhdGl2ZS4gZmFicyAoZ3N0X2d1aW50NjRfdG9fZ2RvdWJsZSAoZGVtdXgtPmluZGV4W2VudHJ5XS50aW1lKSAtCgkgIGdzdF9ndWludDY0X3RvX2dkb3VibGUgKHNlZWtfcG9zKSkgaXMgdGhlIGdvb2Qgc29sdXRpb24uIFRoYW5rcyB0byBUaW0gd2hvIGhhcyBzZWVuIG15CgkgIG1pc3Rha2UuCgoyMDA2LTA0LTIyIDE1OjMyOjQ4ICswMDAwICBTw6liYXN0aWVuIE1vdXR0ZSA8c2ViYXN0aWVuQG1vdXR0ZS5uZXQ+CgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogVXNlIGdzdF9ndWludDY0X3RvX2dkb3VibGUgZm9yIGNvbnZlcnNpb25zCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiAoZ3N0X21hdHJvc2thZGVtdXhfZG9faW5kZXhfc2Vlayk6CgkgIFVzZSBnc3RfZ3VpbnQ2NF90b19nZG91YmxlIGZvciBjb252ZXJzaW9ucwoJICAqIHdpbjMyL3ZzNi9nc3RfcGx1Z2luc19nb29kLmRzdzoKCSAgKiB3aW4zMi92czYvbGliZ3N0aWN5ZGVtdXguZHNwOgoJICBBZGQgYSBwcm9qZWN0IGZpbGUgZm9yIGljeWRlbXV4CgoyMDA2LTA0LTIxIDE4OjA3OjEwICswMDAwICBGYWJyaXppbyBHZW5uYXJpIDxmYWJyaXppby5nZUB0aXNjYWxpLml0PgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiBXaGVuIHNwbGl0dGluZyBhdWRpbyBjaHVua3MsIHRoZSBibG9jayBhbGlnbm1lbnQgaXMgbm90IHRha2VuIGluIGNvbnNpZGVyYXRpb24sIHNvIHRoZSBzbWFsbGVyLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogRmFicml6aW8gR2VubmFyaSA8ZmFicml6aW8gZG90IGdlIGF0IHRpc2NhbGkgZG90IGl0PgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfcGFyc2Vfc3RyZWFtKSwKCSAgKGdzdF9hdmlfZGVtdXhfcGFyc2VfaW5kZXgpLCAoZ3N0X2F2aV9kZW11eF9tYXNzYWdlX2luZGV4KToKCSAgV2hlbiBzcGxpdHRpbmcgYXVkaW8gY2h1bmtzLCB0aGUgYmxvY2sgYWxpZ25tZW50IGlzIG5vdCB0YWtlbiBpbgoJICBjb25zaWRlcmF0aW9uLCBzbyB0aGUgc21hbGxlciBjaHVua3MgY291bGQgYmUgb2Ygc2l6ZSB3aGljaCBpcwoJICBub3QgYSBtdWx0aXBsZSBvZiB0aGUgYmxvY2sgYWxpZ25tZW50LiBGaXhlcyAjMzM2OTA0CgoyMDA2LTA0LTIxIDE3OjU5OjAzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L3JhdzEzOTQvZ3N0ZHYxMzk0c3JjLmM6IFVzZSBzY2FsZSBmdW5jdGlvbnMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3JhdzEzOTQvZ3N0ZHYxMzk0c3JjLmM6IChnc3RfZHYxMzk0c3JjX2NvbnZlcnQpOgoJICBVc2Ugc2NhbGUgZnVuY3Rpb25zCgoyMDA2LTA0LTIxIDE3OjI3OjQwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2R2L2dzdGR2LmM6IEZpeCBidWlsZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2R2L2dzdGR2LmM6IChwbHVnaW5faW5pdCk6CgkgIEZpeCBidWlsZC4KCjIwMDYtMDQtMjEgMTc6MTU6MjkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvZGVidWcvcHJvZ3Jlc3NyZXBvcnQuYzogQWRkICdmb3JtYXQnIHByb3BlcnR5IHRvIGZvcmNlIHF1ZXJ5aW5nIHRvIGEgcGFydGljdWxhciBmb3JtYXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWJ1Zy9wcm9ncmVzc3JlcG9ydC5jOiAoZ3N0X3Byb2dyZXNzX3JlcG9ydF9maW5hbGl6ZSksCgkgIChnc3RfcHJvZ3Jlc3NfcmVwb3J0X2NsYXNzX2luaXQpLCAoZ3N0X3Byb2dyZXNzX3JlcG9ydF9pbml0KSwKCSAgKGdzdF9wcm9ncmVzc19yZXBvcnRfZG9fcXVlcnkpLCAoZ3N0X3Byb2dyZXNzX3JlcG9ydF9yZXBvcnQpLAoJICAoZ3N0X3Byb2dyZXNzX3JlcG9ydF9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3Byb2dyZXNzX3JlcG9ydF9nZXRfcHJvcGVydHkpOgoJICBBZGQgJ2Zvcm1hdCcgcHJvcGVydHkgdG8gZm9yY2UgcXVlcnlpbmcgdG8gYSBwYXJ0aWN1bGFyIGZvcm1hdC4KCjIwMDYtMDQtMjEgMTU6NTA6MjggKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkgIGV4dC9kdi9nc3Rkdi5jIChwbHVnaW5faW5pdCk6IGxpYmR2IGlzIGEgbWFyZ2luYWwgZGVjb2RlciwgYXQgYmVzdCwgb24gYmlnIGVuZGlhbiBzeXN0ZW1zLiBEcm9wIGl0cyByYW5rIGluIHRoYXQgY2FzZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wNC0yMSAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBleHQvZHYvZ3N0ZHYuYyAocGx1Z2luX2luaXQpOiBsaWJkdiBpcyBhIG1hcmdpbmFsIGRlY29kZXIsIGF0CgkgIGJlc3QsIG9uIGJpZyBlbmRpYW4gc3lzdGVtcy4gRHJvcCBpdHMgcmFuayBpbiB0aGF0IGNhc2UuIE9UT0ggb24KCSAgeDg2IGl0J3MgcXVpdGUgZmluZS4gU2VlIGNoYW5nZXMgZnJvbSB0b2RheSBpbiBnc3QtZmZtcGVnIGFzIHdlbGwuCgoyMDA2LTA0LTIxIDA5OjI3OjExICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBBZGQgaWN5ZGVtdXgsIGFuZCB0ZXN0cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9pY3lkZW11eC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvaWN5ZGVtdXgvZ3N0aWN5ZGVtdXguYzogKGdzdF9pY3lkZW11eF9nZXRfdHlwZSksCgkgIChnc3RfaWN5ZGVtdXhfYmFzZV9pbml0KSwgKGdzdF9pY3lkZW11eF9jbGFzc19pbml0KSwKCSAgKGdzdF9pY3lkZW11eF9yZXNldCksIChnc3RfaWN5ZGVtdXhfaW5pdCksCgkgIChnc3RfaWN5ZGVtdXhfc2lua19zZXRjYXBzKSwgKGdzdF9pY3lkZW11eF9kaXNwb3NlKSwKCSAgKGdzdF9pY3lkZW11eF9hZGRfc3JjcGFkKSwgKGdzdF9pY3lkZW11eF9yZW1vdmVfc3JjcGFkKSwKCSAgKHVuaWNvZGlmeSksIChnc3RfaWN5ZGVtdXhfdW5pY29kaWZ5KSwKCSAgKGdzdF9pY3lkZW11eF9wYXJzZV9hbmRfc2VuZF90YWdzKSwKCSAgKGdzdF9pY3lkZW11eF90eXBlZmluZF9vcl9mb3J3YXJkKSwgKGdzdF9pY3lkZW11eF9hZGRfbWV0YSksCgkgIChnc3RfaWN5ZGVtdXhfY2hhaW4pLCAoZ3N0X2ljeWRlbXV4X2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfaWN5ZGVtdXhfc2VuZF90YWdfZXZlbnQpLCAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9pY3lkZW11eC9nc3RpY3lkZW11eC5oOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ljeWRlbXV4LmM6ICh0eXBlZmluZF9zdWNjZWVkKSwKCSAgKHBsdWdpbl9pbml0KSwgKGljeWRlbXV4X2ZvdW5kX3BhZCksIChjcmVhdGVfaWN5ZGVtdXgpLAoJICAoY2xlYW51cF9pY3lkZW11eCksIChwdXNoX2RhdGEpLCAoR1NUX1NUQVJUX1RFU1QpLAoJICAoaWN5ZGVtdXhfc3VpdGUpLCAobWFpbik6CgkgIEFkZCBpY3lkZW11eCwgYW5kIHRlc3RzLgoKMjAwNi0wNC0yMCAxNzo0ODoyOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzogUG9zdCBTRUdNRU5UX0RPTkUgbWVzc2FnZSBpbiBUSU1FIGZvcm1hdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOiAoZ3N0X2ZsYWNfZGVjX2xvb3ApOgoJICBQb3N0IFNFR01FTlRfRE9ORSBtZXNzYWdlIGluIFRJTUUgZm9ybWF0LgoKMjAwNi0wNC0yMCAxNzoyOTo1NiArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICBBZGRlZCBhIGNvdXBsZSBvZiBpZmRlZnMgdG8gbWFrZSBpdCBjb21waWxlIHdpdGggb3RoZXIga2VybmVscy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEFkZGVkIGEgY291cGxlIG9mIGlmZGVmcyB0byBtYWtlIGl0IGNvbXBpbGUgd2l0aCBvdGhlciBrZXJuZWxzLgoKMjAwNi0wNC0yMCAxNjozMzo1NSArMDAwMCAgRmFicml6aW8gR2VubmFyaSA8ZmFicml6aW8uZ2VAdGlzY2FsaS5pdD4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogRml4IGluZGV4IGNyZWF0aW9uIHdoZW4gd2UgaGF2ZSB0byBzY2FuIHRoZSBmaWxlIHRvIGNyZWF0ZSBhbiBpbmRleC4gVGhlcmUgbWF5IGJlIG90aGVyIHR5cGVzIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEZhYnJpemlvIEdlbm5hcmkgIDxmYWJyaXppbyBkb3QgZ2UgYXQgdGlzY2FsaSBkb3QgaXQ+CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9wZWVrX3RhZyksCgkgIChnc3RfYXZpX2RlbXV4X25leHRfZGF0YV9idWZmZXIpLCAoZ3N0X2F2aV9kZW11eF9zdHJlYW1fc2Nhbik6CgkgIEZpeCBpbmRleCBjcmVhdGlvbiB3aGVuIHdlIGhhdmUgdG8gc2NhbiB0aGUgZmlsZSB0byBjcmVhdGUKCSAgYW4gaW5kZXguIFRoZXJlIG1heSBiZSBvdGhlciB0eXBlcyBvZiBSSUZGICdMSVNUJyBjaHVua3MgdGhhbgoJICAnbW92aScgYW5kIHdlIG5lZWQgdG8gc2tpcCB0aGVtIHByb3Blcmx5IGFzIHdlbGwgb3Igd2UnbGwgZW5kIHVwCgkgIHJlYWRpbmcgZ2FyYmFnZSAoIzMzNjg4OSkuIFNvbWUgb3RoZXIgY29zbWV0aWMgY2hhbmdlcy4KCjIwMDYtMDQtMjAgMTQ6MjE6NDIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvZmxhYy9nc3RmbGFjZGVjLmM6IEFkZCBzdXBwb3J0IGZvciBzZWdtZW50IHNlZWtzIChmaXhlcyAjMzM4MjkwKS4gQWxzbyBkZW1vdGUgc29tZSByZWN1cnJpbmcgZGVidWcgbWVzc2FnZSBmcm9tIEQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOiAoZ3N0X2ZsYWNfZGVjX2xvb3ApLAoJICAoZ3N0X2ZsYWNfZGVjX2hhbmRsZV9zZWVrX2V2ZW50KToKCSAgQWRkIHN1cHBvcnQgZm9yIHNlZ21lbnQgc2Vla3MgKGZpeGVzICMzMzgyOTApLiBBbHNvIGRlbW90ZQoJICBzb21lIHJlY3VycmluZyBkZWJ1ZyBtZXNzYWdlIGZyb20gREVCVUcgdG8gTE9HIGxldmVsLgoKMjAwNi0wNC0yMCAxMzoyMzo0MCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9tYXRyb3NrYS86IFNldCBESVNDT05UIGZsYWcgb24gZmlyc3QgYnVmZmVyIGFmdGVyIGEgZGlzY29udGludWl0eS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IChnc3RfbWF0cm9za2FfZGVtdXhfYWRkX3N0cmVhbSksCgkgIChnc3RfbWF0cm9za2FkZW11eF9kb19pbmRleF9zZWVrKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9oYW5kbGVfc2Vla19ldmVudCksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfYmxvY2tncm91cF9vcl9zaW1wbGVibG9jayk6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5oOgoJICBTZXQgRElTQ09OVCBmbGFnIG9uIGZpcnN0IGJ1ZmZlciBhZnRlciBhIGRpc2NvbnRpbnVpdHkuCgkgIEZpeCBuZXdzZWdtZW50IGV2ZW50cyBzZW50IHdoZW4gc2Vla2luZyBhbmQgaG9ub3VyIEtFWV9VTklUCgkgIHNlZWsgZmxhZy4gQ3JlYXRlIHBhZCB3aXRoIGJvZ3VzIGNhcHMgaWYgd2UgZG9uJ3QgcmVjb2duaXNlCgkgIHRoZSBzdHJlYW0gY29kZWMgaWQuCgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4Lmg6CgkgIEZpeCBHT2JqZWN0IG1hY3Jvcy4KCjIwMDYtMDQtMjAgMTE6MDA6MTYgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hbmF1d0Bza3luZXQuYmU+CgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogSGFuZGxlIGVuZCBvZiBzZWdtZW50IHByb3Blcmx5IHdoZW4gc2V0OyBkb24ndCBkZWFkLWxvY2sgd2hlbiBwb3N0aW5nIHN0YXJ0IG9mIHNlZ21lbnQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBNYXJrIE5hdXdlbGFlcnRzICA8bWFuYXV3IGF0IHNreW5ldCBkb3QgYmU+CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIChnc3RfbWF0cm9za2FfZGVtdXhfaGFuZGxlX3NlZWtfZXZlbnQpLCAoZ3N0X21hdHJvc2thX2RlbXV4X2xvb3ApOgoJICBIYW5kbGUgZW5kIG9mIHNlZ21lbnQgcHJvcGVybHkgd2hlbiBzZXQ7IGRvbid0IGRlYWQtbG9jayB3aGVuCgkgIHBvc3Rpbmcgc3RhcnQgb2Ygc2VnbWVudCBtZXNzYWdlIHdoZW4gZG9pbmcgYSBzZWdtZW50IHNlZWsuCgkgIEZpeGVzICMzMzg4MTAuCgoyMDA2LTA0LTIwIDA5OjQ4OjA1ICswMDAwICBqXiA8akBib290bGFiLm9yZz4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogTmV2ZXIgdHJlYXQgdmlkZW8gc3RyZWFtcyBhcyBhbiBhdWRpbyBzdHJlYW0uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogal4gPGogYXQgYm9vdGxhYiBkb3Qgb3JnPgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfcGFyc2VfdHJhayksCgkgIChxdGRlbXV4X3ZpZGVvX2NhcHMpOgoJICBOZXZlciB0cmVhdCB2aWRlbyBzdHJlYW1zIGFzIGFuIGF1ZGlvIHN0cmVhbS4KCSAgQWRkIHF0ZHJ3IG1pbWUgdHlwZS4KCSAgRml4ZXMgIzMzOTA0MQoKMjAwNi0wNC0yMCAwOToxMToyMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiBNYWtlIG1wZWcyIGFhYyBhdWRpbyB3b3JrOiBjcmVhdGUgYXJ0aWZpY2lhbCBwcml2YXRlIGNvZGVjIGRhdGEgY2h1bmsgd2hpY2ggZmFhZDIgc2VlbS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogKGdzdF9tYXRyb3NrYV9kZW11eF9hdWRpb19jYXBzKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wbHVnaW5faW5pdCk6CgkgIE1ha2UgbXBlZzIgYWFjIGF1ZGlvIHdvcms6IGNyZWF0ZSBhcnRpZmljaWFsIHByaXZhdGUgY29kZWMgZGF0YQoJICBjaHVuayB3aGljaCBmYWFkMiBzZWVtcyB0byByZXF1aXJlLCBqdXN0IGFzIHdlIGRvIGZvciBtcGVnNCBhYWMuCgkgIEFsc28gY2FsbCBnc3RfcmlmZl9pbml0KCkuIFBhcnRpYWxseSBmaXhlcyAjMzM4NzY3LgoKMjAwNi0wNC0xOSAxNToxNjozMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLio6IFNldCBjYXBzIG9uIGZpcnN0IG91dGdvaW5nIGJ1ZmZlciwgc28gdGhhdCBpdCBkb2Vzbid0IGVycm9yIG91dCBpbW1lZGlhdGVseSB3aXRoIGEgbm9uLW5lZ290aS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5jOiAoZ3N0X3dhdmVuY19iYXNlX2luaXQpLAoJICAoZ3N0X3dhdmVuY19jbGFzc19pbml0KSwgKGdzdF93YXZlbmNfaW5pdCksCgkgIChnc3Rfd2F2ZW5jX2NyZWF0ZV9oZWFkZXJfYnVmKSwgKGdzdF93YXZlbmNfcHVzaF9oZWFkZXIpLAoJICAoZ3N0X3dhdmVuY19zaW5rX3NldGNhcHMpLCAoZ2V0X2lkX2Zyb21fbmFtZSksIChnc3Rfd2F2ZW5jX2V2ZW50KSwKCSAgKGdzdF93YXZlbmNfY2hhaW4pLCAoZ3N0X3dhdmVuY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmg6CgkgIFNldCBjYXBzIG9uIGZpcnN0IG91dGdvaW5nIGJ1ZmZlciwgc28gdGhhdCBpdCBkb2Vzbid0IGVycm9yIG91dAoJICBpbW1lZGlhdGVseSB3aXRoIGEgbm9uLW5lZ290aWF0ZWQgZXJyb3IgKCMzMzg3MTYpLiBSZXdyaXRlIGFuZAoJICBjbGVhbiB1cCBhIGJpdDsgZml4IHNldGNhcHMgZnVuY3Rpb24gdG8gcGFyc2UgdGhpbmdzIHByb3Blcmx5OwoJICBmaXggc2luayBjYXBzICg4Yml0IGF1ZGlvIGlzIHVuc2lnbmVkIGFuZCBkb2Vzbid0IGhhdmUgZGVwdGgpOwoJICB1c2UgYm9pbGVycGxhdGUgbWFjcm9zOyByZW1vdmUgdW51c2VkIHByb3BlcnRpZXMgc3R1ZmYuCgoyMDA2LTA0LTE5IDA5OjI3OjAwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBGb3IgVkJSIGF1ZGlvLCBkb24ndCB0cnkgdG8gY2FsY3VsYXRlIHRoZSBzYW1wbGVzX3Blcl9mcmFtZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF9wYXJzZV90cmFrKToKCSAgRm9yIFZCUiBhdWRpbywgZG9uJ3QgdHJ5IHRvIGNhbGN1bGF0ZSB0aGUgc2FtcGxlc19wZXJfZnJhbWUuCgkgIEZpeGVzICMzMzg5MzUuCgoyMDA2LTA0LTE4IDE4OjE0OjM0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmLmM6IExlYXZlIEpQRUcgZGVjb2RpbmcgdG8gb3VyIGpwZWdkZWMgcGx1Z2luLiBnZGtwaXhidWZkZWMgY2Fubm90IGhhbmRsZSBNSlBFRyBzdHJlYW1zIGFuLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zi5jOgoJICBMZWF2ZSBKUEVHIGRlY29kaW5nIHRvIG91ciBqcGVnZGVjIHBsdWdpbi4gZ2RrcGl4YnVmZGVjIGNhbm5vdAoJICBoYW5kbGUgTUpQRUcgc3RyZWFtcyBhbmQgbWlnaHQgYmUgYXV0b3BsdWdnZWQgZm9yIHRob3NlIGlmIHRoZQoJICB1c2VyIGRvZXNuJ3QgaGF2ZSBqcGVnZGVjIGluc3RhbGxlZCAocmVzdWx0aW5nIGluIGEgY3J5cHRpYyBlcnJvcgoJICBtZXNzYWdlIGFib3V0IGh1ZmZtYW4gdGFibGVzKS4gQmV0dGVyIHRvIGRpc2FibGUgSlBFRyBkZWNvZGluZyBoZXJlCgkgIGFuZCBsZXQgdGhlIHVzZXIgZmlndXJlIG91dCB0aGF0IHNoZSBuZWVkcyB0byBpbnN0YWxsIGpwZWdkZWMuCgoyMDA2LTA0LTE4IDE4OjA0OjQ4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmLio6IE1ha2Ugd29yayB3aXRoIHBhY2tldGlzZWQvZnJhbWVkIGlucHV0IChlLmcuIHBuZy1pbi1xdWlja3RpbWUpLiBVc2UKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmLmM6IChnc3RfZ2RrX3BpeGJ1Zl9zaW5rX3NldGNhcHMpLAoJICAoZ3N0X2dka19waXhidWZfY2xhc3NfaW5pdCksIChnc3RfZ2RrX3BpeGJ1Zl9pbml0KSwKCSAgKGdzdF9nZGtfcGl4YnVmX2ZsdXNoKSwgKGdzdF9nZGtfcGl4YnVmX2NoYWluKToKCSAgKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWYuaDoKCSAgTWFrZSB3b3JrIHdpdGggcGFja2V0aXNlZC9mcmFtZWQgaW5wdXQgKGUuZy4gcG5nLWluLXF1aWNrdGltZSkuIFVzZQoJICBHU1RfRUxFTUVOVF9FUlJPUiB3aGVuIHdlIHJldHVybiBHU1RfRkxPV19FUlJPUi4gQWRkIHNvbWUKCSAgR1NUX0RFQlVHX0ZVTkNQVFIgaGVyZSBhbmQgdGhlcmUuIFVzZSBHU1RfTE9HIGZvciByZWN1cnJpbmcKCSAgZGVidWcgbWVzc2FnZXMuIEZpeCBib2lsZXJwbGF0ZSBtYWNyb3MuCgoyMDA2LTA0LTE4IDE3OjI5OjQyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmLmM6IE5vIG5lZWQgdG8gc3BlY2lhbC1jYXNlIGZvciBHZGstMi4wIGFueSBsb25nZXIsIHdlIHJlcXVpcmUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmLmM6IChnc3RfZ2RrX3BpeGJ1Zl9nZXRfY2Fwc2xpc3QpLAoJICAoZ3N0X2dka19waXhidWZfc2V0X3Byb3BlcnR5KSwgKGdzdF9nZGtfcGl4YnVmX2dldF9wcm9wZXJ0eSk6CgkgIE5vIG5lZWQgdG8gc3BlY2lhbC1jYXNlIGZvciBHZGstMi4wIGFueSBsb25nZXIsIHdlIHJlcXVpcmUKCSAgR2RrIDIuMiBvciBuZXdlcjsgbWlub3IgY2xlYW4tdXBzLgoKMjAwNi0wNC0xOCAxNzoxNzo1NSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIFJld3JpdGUgYSBiaXQ6IHVzZSBHc3RCYXNlU2luazo6c3RhcnQgYW5kIHN0b3AgaW5zdGVhZCBvZiBhIHN0YXRlIGNoYW5nZSBmdW5jdGlvbjsgdXNlIEdTVF9FTEVNRU5UX0VSUk9SIGZvciBlcnJvciByZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvc2hvdXQyL2dzdHNob3V0Mi5jOiAoZ3N0X3Nob3V0MnNlbmRfYmFzZV9pbml0KSwKCSAgKGdzdF9zaG91dDJzZW5kX2NsYXNzX2luaXQpLCAoZ3N0X3Nob3V0MnNlbmRfaW5pdCksCgkgIChzZXRfc2hvdXRfbWV0YWRhdGEpLCAoZ3N0X3Nob3V0MnNlbmRfc2V0X21ldGFkYXRhKSwKCSAgKGdzdF9zaG91dDJzZW5kX2V2ZW50KSwgKGdzdF9zaG91dDJzZW5kX3N0YXJ0KSwKCSAgKGdzdF9zaG91dDJzZW5kX2Nvbm5lY3QpLCAoZ3N0X3Nob3V0MnNlbmRfc3RvcCksCgkgIChnc3Rfc2hvdXQyc2VuZF9yZW5kZXIpLCAoZ3N0X3Nob3V0MnNlbmRfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9zaG91dDJzZW5kX2dldF9wcm9wZXJ0eSksIChnc3Rfc2hvdXQyc2VuZF9zZXRjYXBzKSwKCSAgKHBsdWdpbl9pbml0KToKCSAgKiBleHQvc2hvdXQyL2dzdHNob3V0Mi5oOgoJICAqIHBvL1BPVEZJTEVTLmluOgoJICBSZXdyaXRlIGEgYml0OiB1c2UgR3N0QmFzZVNpbms6OnN0YXJ0IGFuZCBzdG9wIGluc3RlYWQgb2YgYSBzdGF0ZQoJICBjaGFuZ2UgZnVuY3Rpb247IHVzZSBHU1RfRUxFTUVOVF9FUlJPUiBmb3IgZXJyb3IgcmVwb3J0aW5nLCBub3QKCSAgZ19lcnJvcigpIG9yIEdTVF9FUlJPUigpOyBkb24ndCB1bnJlZiBjYXBzIGluIHNldGNhcHMgZnVuY3Rpb24sCgkgIHdpbGwgY2F1c2UgY3Jhc2hlcyBvciBhc3NlcnRpb24gZmFpbHVyZXM7IHJlbW92ZSAodW51c2VkKSAic3luYyIKCSAgcHJvcGVydHksIGJhc2VzaW5rIGFscmVhZHkgaGFzIHN1Y2ggYSBwcm9wZXJ0eTsgbWlzYy4gb3RoZXIKCSAgbWlub3IgZml4ZXMgYW5kIGNsZWFudXBzLgoKMjAwNi0wNC0xOCAxNDoxNTozMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIEFkZCB0cmFuc2xhdGFibGUgZXJyb3IgbWVzc2FnZSBmb3Igd2hlbiB3ZSBjYW5ub3QgY29ubmVjdCB0byB0aGUgc291bmQgc2VydmVyLCBhcyAiQ2Fubm90IG9wZW4gcmVzb3VyY2UgZm9yIHdyaXRpbmciIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZXNkL2VzZHNpbmsuYzogKGdzdF9lc2RzaW5rX29wZW4pLCAoZ3N0X2VzZHNpbmtfcHJlcGFyZSk6CgkgICogZXh0L2VzZC9nc3Rlc2QuYzogKHBsdWdpbl9pbml0KToKCSAgKiBwby9QT1RGSUxFUy5pbjoKCSAgQWRkIHRyYW5zbGF0YWJsZSBlcnJvciBtZXNzYWdlIGZvciB3aGVuIHdlIGNhbm5vdAoJICBjb25uZWN0IHRvIHRoZSBzb3VuZCBzZXJ2ZXIsIGFzICJDYW5ub3Qgb3BlbiByZXNvdXJjZQoJICBmb3Igd3JpdGluZyIgaXNuJ3QgcmVhbGx5IGFuIGFjY2VwdGFibGUgbWVzc2FnZSB0byBzaG93CgkgIHRvIHRoZSB1c2VyIGluIHRoaXMgY2FzZS4KCjIwMDYtMDQtMTggMTM6MzI6MjkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBzeXMvb3NzL2dzdC1pMThuLXBsdWdpbi5oOiBSZW1vdmUgYm9ndXMgZmlsZSB0aGF0IGRvZXNuJ3QgYmVsb25nIGhlcmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9vc3MvZ3N0LWkxOG4tcGx1Z2luLmg6CgkgIFJlbW92ZSBib2d1cyBmaWxlIHRoYXQgZG9lc24ndCBiZWxvbmcgaGVyZS4KCjIwMDYtMDQtMTcgMTk6NTc6MTAgKzAwMDAgIFBoaWxpcHBlIFZhbGVtYm9pcyA8bGVwaGlsb3Vzb3BoZUB1c2Vycy5zZi5uZXQ+CgoJICBleHQvc2hvdXQyL2dzdHNob3V0Mi4qOiBIYW5kbGUgdGFncyBiZWluZyByZWNlaXZlZCBiZWZvcmUgdGhlIGNvbm5lY3Rpb24gdG8gdGhlIHNlcnZlciBpcyBlc3RhYmxpc2hlZCBwcm9wZXJseSAoc2VlICMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBQaGlsaXBwZSBWYWxlbWJvaXMKCSAgKiBleHQvc2hvdXQyL2dzdHNob3V0Mi5jOiAoZ3N0X3Nob3V0MnNlbmRfaW5pdCksCgkgIChnc3Rfc2hvdXQyc2VuZF9zZXRfbWV0YWRhdGEpLCAoZ3N0X3Nob3V0MnNlbmRfZXZlbnQpLAoJICAoZ3N0X3Nob3V0MnNlbmRfcmVuZGVyKSwgKGdzdF9zaG91dDJzZW5kX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L3Nob3V0Mi9nc3RzaG91dDIuaDoKCSAgSGFuZGxlIHRhZ3MgYmVpbmcgcmVjZWl2ZWQgYmVmb3JlIHRoZSBjb25uZWN0aW9uIHRvCgkgIHRoZSBzZXJ2ZXIgaXMgZXN0YWJsaXNoZWQgcHJvcGVybHkgKHNlZSAjMzM4NjM2KS4KCjIwMDYtMDQtMTcgMTk6NDM6MzIgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgSnVzdCBhZGRlZCBhIGd0ay1kb2MgY29tbWVudC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEp1c3QgYWRkZWQgYSBndGstZG9jIGNvbW1lbnQuCgoyMDA2LTA0LTE3IDE5OjEyOjM2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3Nob3V0Mi9nc3RzaG91dDIuYzogRG9uJ3QgY3Jhc2ggaW4gY2FzZSB0aGUgY29ubmVjdGlvbiB0byB0aGUgc2VydmVyIGZhaWxzOiBkb24ndCBzZXQgcG9pbnRlciB0byBOVUxMIGJ5IGFzc2lnbmluLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9zaG91dDIvZ3N0c2hvdXQyLmM6IChnc3Rfc2hvdXQyc2VuZF9yZW5kZXIpOgoJICBEb24ndCBjcmFzaCBpbiBjYXNlIHRoZSBjb25uZWN0aW9uIHRvIHRoZSBzZXJ2ZXIgZmFpbHM6CgkgIGRvbid0IHNldCBwb2ludGVyIHRvIE5VTEwgYnkgYXNzaWduaW5nIEZBTFNFOyBlcnJvciBvdXQKCSAgcHJvcGVybHkgYnkgdXNpbmcgR1NUX0VMRU1FTlRfRVJST1IgYW5kIHJldHVybmluZwoJICBHU1RfRkxPV19FUlJPUiAoZml4ZXMgIzMzODYzNikuIExhc3RseSwgZnJlZSBjb25uZWN0aW9uCgkgIGJlZm9yZSByZXNldHRpbmcgdGhlIHBvaW50ZXIuCgoyMDA2LTA0LTE3IDEwOjAxOjUxICswMDAwICBBbGV4IExhbmNhc3RlciA8YWxleGxhbkBmZWRvcmFwcm9qZWN0Lm9yZz4KCgkgIGdzdC9pZDNkZW11eC9pZDN0YWdzLmM6IChGaXhlcyAjMzM4NzEzKQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaWQzZGVtdXgvaWQzdGFncy5jOgoJICBSZWNvZ25pc2UgVENPIChHZW5yZSkgdGFncyBpbiBJRDN2Mi4yLiBQYXRjaCBieSBBbGV4IExhbmNhc3RlcgoJICAoRml4ZXMgIzMzODcxMykKCjIwMDYtMDQtMTMgMjE6NDU6NTcgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJICBGaXhlZCBzb21lIG1lbW9yeSBsZWFrcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEZpeGVkIHNvbWUgbWVtb3J5IGxlYWtzLgoKMjAwNi0wNC0xMyAwOToxNTozMSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHAvZ3N0YXN0ZXJpc2toMjYzLmg6CgkqIGdzdC9ydHAvZ3N0cnRwLmM6CgkqIGdzdC9ydHAvZ3N0cnRwTDE2ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBMMTZwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcnBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBnc21wYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z3BheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcGFkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbWFkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbWFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY21hcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtdWRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtdXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbXVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBzcGVleGRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhwYXkuaDoKCSAgcmV2ZXJ0aW5nIHJ0cCBwYXRjaGVzIHRvIGZpeCBmcmVlemUgYnJlYWsgb24gLWJhc2UgYXMgZXhwbGFpbmVkIG9uIHRoZSBsaXN0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZXZlcnRpbmcgcnRwIHBhdGNoZXMgdG8gZml4IGZyZWV6ZSBicmVhayBvbiAtYmFzZSBhcyBleHBsYWluZWQgb24gdGhlIGxpc3QKCjIwMDYtMDQtMTMgMDk6MDE6MTcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcnRwLzogRml4IEdPYmplY3QgbWFjcm9zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdGFzdGVyaXNraDI2My5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwTDE2ZGVwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cEwxNnBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cGFtcnBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwZGVwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cGdzbWRlcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBnc21wYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjNwZGVwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjNwcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBpbGJjZGVwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cGlsYmNwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGdwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNHZkZXBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXBhZGVwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wYXBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwcGNtYWRlcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBwY21hcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBwY211ZGVwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cHBjbXVwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cHNwZWV4ZGVwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cHNwZWV4cGF5Lmg6CgkgIEZpeCBHT2JqZWN0IG1hY3Jvcy4KCjIwMDYtMDQtMTMgMDM6NDI6NTEgKzAwMDAgIFBoaWxpcHBlIEthbGFmIDxwaGlsaXBwZS5rYWxhZkBjb2xsYWJvcmEuY28udWs+CgoJICBnc3QvcnRwLzogUG9ydGVkIG11bGF3IGFuZCBhbGF3IHBheWxvYWRlcnMgdG8gdXNlIG5ldyBiYXNlIGNsYXNzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTA0LTEyIFBoaWxpcHBlIEthbGFmIDxwaGlsaXBwZS5rYWxhZkBjb2xsYWJvcmEuY28udWs+CgkgICogZ3N0L3J0cC9nc3RydHBwY21hcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBwY21hcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBwY211cGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBwY211cGF5Lmg6CgkgIFBvcnRlZCBtdWxhdyBhbmQgYWxhdyBwYXlsb2FkZXJzIHRvIHVzZSBuZXcgYmFzZSBjbGFzcwoJICAqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkgICogZ3N0L3J0cC9nc3RydHAuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGlsYmNwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGlsYmNwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cGlsYmNkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwaWxiY2RlcGF5Lmg6CgkgIEFkZGVkIG5ldyBpTEJDIHBheWxvYWRlci9kZXBheWxvYWRlci4gUGF5bG9hZGVyIHVzZXMgbmV3IGF1ZGlvIHBheWxvYWQgYmFzZQoJICBjbGFzcy4KCjIwMDYtMDQtMTIgMjE6NTc6MDIgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgRml4IHRvIHdvcmsgaW4gcmVhZCBtb2RlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgRml4IHRvIHdvcmsgaW4gcmVhZCBtb2RlLgoKMjAwNi0wNC0xMiAwOTo0MjoxMCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zi5jOiBTb21lIGNsZWFudXBzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWYuYzogKGdzdF9nZGtfcGl4YnVmX3Npbmtfc2V0Y2FwcyksCgkgIChnc3RfZ2RrX3BpeGJ1Zl9nZXRfY2Fwc2xpc3QpLCAoZ3N0X2dka19waXhidWZfc2lua19nZXRjYXBzKSwKCSAgKGdzdF9nZGtfcGl4YnVmX2NsYXNzX2luaXQpLCAoZ3N0X2dka19waXhidWZfaW5pdCksCgkgIChnc3RfZ2RrX3BpeGJ1Zl9mbHVzaCksIChnc3RfZ2RrX3BpeGJ1Zl9zaW5rX2V2ZW50KSwKCSAgKGdzdF9nZGtfcGl4YnVmX2NoYWluKToKCSAgU29tZSBjbGVhbnVwcy4KCSAgQWRkZWQgUkdCQSBhcyBhIHBvc3NpYmxlIG91dHB1dCBmb3JtYXQuCgkgIENvcnJlY3RseSBmcmVlIHRoZSBzdXBwb3J0ZWQgbWltZXR5cGVzLgoJICBkZXByZWNhdGUgc2lsZW50IGFyZywgaXQncyBub3QgdXNlZC4KCSAgUmV0dXJuIHJlc3VsdCBmcm9tIF9hbGxvY19idWZmZXIgdG8gcGVlci4KCjIwMDYtMDQtMTEgMTg6MDM6MzYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcnRwL2dzdHJ0cG1wNHZkZXBheS5jOiBEb24ndCBsZWFrIG1lbW9yeSBhbGxvY2F0ZWQgYnkgZ3N0X2J1ZmZlcl9uZXdfYW5kX2FsbG9jKCkgYnkgb3ZlcndyaXRpbmcgR1NUX0JVRkZFUl9NQUxMT0MuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBtcDR2ZGVwYXkuYzogKGdzdF9ydHBfbXA0dl9kZXBheV9wcm9jZXNzKToKCSAgRG9uJ3QgbGVhayBtZW1vcnkgYWxsb2NhdGVkIGJ5IGdzdF9idWZmZXJfbmV3X2FuZF9hbGxvYygpIGJ5CgkgIG92ZXJ3cml0aW5nIEdTVF9CVUZGRVJfTUFMTE9DREFUQS4KCjIwMDYtMDQtMTEgMTU6Mjc6MzEgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWdvb2Quc3BlYy5pbjoKCSAgZml4IHZlcnNpb24gbnVtYmVyIG1hY3JvCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBmaXggdmVyc2lvbiBudW1iZXIgbWFjcm8KCjIwMDYtMDQtMTEgMDk6MzU6NDUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvbGlicG5nL2dzdHBuZ2RlYy4qOiBIYW5kbGUgbW9yZSB0aGFuIG9uZSBmcmFtZSBpZiB0aGUgY29udGVudCBpcyBmcmFtZWQsIGxpa2Ugd2l0aCBwbmctaW4tcXVpY2t0aW1lICgjMzMxOTE3KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzogKGdzdF9wbmdkZWNfaW5pdCksCgkgICh1c2VyX2VuZHJvd19jYWxsYmFjayksICh1c2VyX2VuZF9jYWxsYmFjayksCgkgIChnc3RfcG5nZGVjX2NhcHNfY3JlYXRlX2FuZF9zZXQpLCAoZ3N0X3BuZ2RlY19jaGFpbiksCgkgIChnc3RfcG5nZGVjX3Npbmtfc2V0Y2FwcyksIChnc3RfcG5nZGVjX3NpbmtfZXZlbnQpLAoJICAoZ3N0X3BuZ2RlY19saWJwbmdfY2xlYXIpLCAoZ3N0X3BuZ2RlY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmg6CgkgIEhhbmRsZSBtb3JlIHRoYW4gb25lIGZyYW1lIGlmIHRoZSBjb250ZW50IGlzIGZyYW1lZCwKCSAgbGlrZSB3aXRoIHBuZy1pbi1xdWlja3RpbWUgKCMzMzE5MTcpLgoKMjAwNi0wNC0xMCAxOTo1NTozMSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBzeXMvb3NzLzogLSB0aGUgdXNlci12aXNpYmxlIGVycm9yIHN0cmluZ3Mgd2VyZSBpbiB0aGUgd3JvbmcgY2F0ZWdvcnkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL29zcy9NYWtlZmlsZS5hbToKCSAgKiBzeXMvb3NzL2NvbW1vbi5oOgoJICAqIHN5cy9vc3MvZ3N0b3Nzc2luay5jOiAoZ3N0X29zc19zaW5rX2luaXQpLCAoZ3N0X29zc19zaW5rX29wZW4pLAoJICAoZ3N0X29zc19zaW5rX3ByZXBhcmUpLCAoZ3N0X29zc19zaW5rX3VucHJlcGFyZSk6CgkgICogc3lzL29zcy9nc3Rvc3NzcmMuYzogKGdzdF9vc3Nfc3JjX3ByZXBhcmUpLAoJICAoZ3N0X29zc19zcmNfdW5wcmVwYXJlKToKCSAgLSB0aGUgdXNlci12aXNpYmxlIGVycm9yIHN0cmluZ3Mgd2VyZSBpbiB0aGUgd3JvbmcgY2F0ZWdvcnkKCSAgLSBhbmQgdGhlIG1lc3NhZ2VzIHdlcmUgbm90IG1hcmtlZCBmb3IgdHJhbnNsYXRpb24KCSAgLSB3aGljaCBpcyBhY3R1YWxseSBhIGdvb2QgdGhpbmcsIGJlY2F1c2UgdGhleSB3ZXJlIGV4YWN0bHkKCSAgdGhlIGtpbmQgb2YgbWVzc2FnZSB5b3Ugd291bGQgbmV2ZXIgd2FudCBhbnlvbmUgdG8gc2VlCgkgIC0gdGhlIG1hY3JvcyB3ZXJlIHVzaW5nIHZhcmlhYmxlcyB0aGF0IGRpZG4ndCBleGlzdCBpbiB0aGUgbWFjcm8KCSAgYXJndW1lbnRzCgkgIC0gYW5kIHRoZXkgd2VyZSBvYnZpb3VzbHkgY29waWVkIGZyb20gZWFjaCBvdGhlciBhbmQgdGhlbiBtb2RpZmllZAoJICAtIHNvIGEgY29tbW9uIGhlYWRlciBtYWtlcyBzZW5zZQoKMjAwNi0wNC0xMCAxNzoxNjowOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogRml4IHBhcnNpbmcgb2YgbmV3ZXIgc3RzZCBjaHVua3MgYWdhaW4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfcGFyc2VfdHJhayk6CgkgIEZpeCBwYXJzaW5nIG9mIG5ld2VyIHN0c2QgY2h1bmtzIGFnYWluLgoKMjAwNi0wNC0xMCAxNjowOTowMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9tYXRyb3NrYS9lYm1sLXJlYWQuYzogRG9uJ3QgdHJ5IHRvIG1vZGlmeSByZWFkLW9ubHkgZGF0YS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL2VibWwtcmVhZC5jOiAoZ3N0X2VibWxfcmVhZF9zaW50KToKCSAgRG9uJ3QgdHJ5IHRvIG1vZGlmeSByZWFkLW9ubHkgZGF0YS4KCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9ibG9ja2dyb3VwX29yX3NpbXBsZWJsb2NrKToKCSAgRml4IGNvbW1lbnQgKHdvbid0IGNyYXNoIGFueSBsb25nZXIgbm93KS4KCjIwMDYtMDQtMTAgMTU6NDg6NTUgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIGV4dC9hbm5vZGV4L2dzdGNtbWxlbmMuYzogVXNlIGNvcGllcyBvZiBoZWFkZXIgYnVmZmVycyBmb3IgY2FwcyB0byBhdm9pZCBjaXJjdWxhciByZWZjb3VudGluZyBwcm9ibGVtcyAoYXMgaW4gdGhlb3JhZC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYW5ub2RleC9nc3RjbW1sZW5jLmM6IChnc3RfY21tbF9lbmNfc2V0X2hlYWRlcl9vbl9jYXBzKToKCSAgVXNlIGNvcGllcyBvZiBoZWFkZXIgYnVmZmVycyBmb3IgY2FwcyB0byBhdm9pZCBjaXJjdWxhciByZWZjb3VudGluZwoJICBwcm9ibGVtcyAoYXMgaW4gdGhlb3JhZGVjLCB2b3JiaXNkZWMpLgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NtbWxkZWMuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgRml4IGEgdHlwbyBpbiB0ZXN0IHRoYXQgbWVhbnQgaXQgd2FzIHRlc3RpbmcgdGhlIHdyb25nIHRoaW5nLgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NtbWxlbmMuYzogKGNoZWNrX2hlYWRlcnMpOgoJICBGaXggcmVmY291bnQgY2hlY2tzIG5vdyB0aGF0IHdlIHVzZSBidWZmZXItY29waWVzIGZvciBjYXBzLgoKMjAwNi0wNC0xMCAxNTo0Mzo1NCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiBVc2Ugc3RhdGljIHBhZCB0ZW1wbGF0ZXMgd2l0aCBBTlkgY2FwcyBmb3IgYXVkaW8gYW5kIHZpZGVvIHNvdXJjZSBwYWRzIGFuZCBnZXQgcmlkIG9mIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogKGdzdF9tYXRyb3NrYV9kZW11eF9iYXNlX2luaXQpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2hhbmRsZV9zZWVrX2V2ZW50KSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF92aWRlb19jYXBzKSwgKGdzdF9tYXRyb3NrYV9kZW11eF9hdWRpb19jYXBzKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9zdWJ0aXRsZV9jYXBzKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wbHVnaW5faW5pdCk6CgkgIFVzZSBzdGF0aWMgcGFkIHRlbXBsYXRlcyB3aXRoIEFOWSBjYXBzIGZvciBhdWRpbyBhbmQgdmlkZW8KCSAgc291cmNlIHBhZHMgYW5kIGdldCByaWQgb2YgYSBsb3Qgb2YgdW5uZWNlc3NhcnkgKGFuZCBwYXJ0aWFsbHkKCSAgYnJva2VuKSBjb2RlIGZvciB0aGUgdGVtcGxhdGUgY2Fwcy4gQ2xlYW4gdXAgY2FwcyBmaW5kaW5nCgkgIGZ1bmN0aW9ucy4gRml4ZXMgcGxheWJhY2sgb2YgYXVkaW8gZmlsZXMvc3RyZWFtcyB0aGF0IGRvIG5vdAoJICBjb250YWluIHRoZSBzYW1wbGUgcmF0ZSBhbmQvb3IgbnVtYmVyIG9mIGNoYW5uZWxzIGluIHRoZSBhdWRpbwoJICBjb250ZXh0IChoYXBwZW5zIGEgbG90IHdpdGggdm9yYmlzL21wMyAubWthIGZpbGVzIGl0IHNlZW1zKS4KCSAgRml4ZXMgIzMzNzE4My4KCSAgQWxzbyBhZGQgbXlzZWxmIHRvIGNvcHlyaWdodCBob2xkZXJzLgoKMjAwNi0wNC0xMCAxNToyOToyMSArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgZXh0L2Fubm9kZXgvZ3N0Y21tbHV0aWxzLmM6IFVzZSBnX2xpc3RfZGVsZXRlX2xpbmsgKCkgaW5zdGVhZCBvZiBnX2xpc3RfcmVtb3ZlX2xpbmsgKCkgc28gdGhhdCB3ZSBmcmVlIHRoZSBsaW5rIGFzIHdlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hbm5vZGV4L2dzdGNtbWx1dGlscy5jOiAoZ3N0X2NtbWxfdHJhY2tfbGlzdF9kZWxfY2xpcCk6CgkgIFVzZSBnX2xpc3RfZGVsZXRlX2xpbmsgKCkgaW5zdGVhZCBvZiBnX2xpc3RfcmVtb3ZlX2xpbmsgKCkgc28gdGhhdAoJICB3ZSBmcmVlIHRoZSBsaW5rIGFzIHdlbGwgYXMgdGhlIGNvbnRhaW5lZCBkYXRhLgoKMjAwNi0wNC0xMCAxNDoyMDo0MSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogRml4IGZyYW1lcmF0ZSBjYWxjdWxhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfYWRkX3N0cmVhbSksCgkgIChxdGRlbXV4X3BhcnNlX3RyYWspOgoJICBGaXggZnJhbWVyYXRlIGNhbGN1bGF0aW9uLgoKMjAwNi0wNC0xMCAxMDoxMDo1NSArMDAwMCAgUnlhbiBMb3J0aWUgKGRlc3J0KSA8ZGVzcnRAZGVzdHIuY2E+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IEZpeCBzb21lIGNyYXNoZXJzIHdpdGggZW1wdHkgY2h1bmtzLiAoRml4ZXMgIzMzNzc0OSkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBSeWFuIExvcnRpZSAoZGVzcnQpIDxkZXNydCBhdCBkZXN0ciBkb3QgY2E+CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9wYXJzZV9zdXBlcmluZGV4KSwKCSAgKGdzdF9hdmlfZGVtdXhfcGFyc2Vfc3RyZWFtKSwgKGdzdF9hdmlfZGVtdXhfcGFyc2VfaW5kZXgpLAoJICAoZ3N0X2F2aV9kZW11eF9zdHJlYW1faGVhZGVyKToKCSAgRml4IHNvbWUgY3Jhc2hlcnMgd2l0aCBlbXB0eSBjaHVua3MuIChGaXhlcyAjMzM3NzQ5KQoKMjAwNi0wNC0xMCAwODozMTo0MCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogZm9yY2UgbW9ubyA4MDAwIEh6IG9uIEFNUiBzYW1wbGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3BhcnNlX3RyYWspOgoJICBmb3JjZSBtb25vIDgwMDAgSHogb24gQU1SIHNhbXBsZXMuCgoyMDA2LTA0LTA5IDE4OjMwOjUxICswMDAwICBTw6liYXN0aWVuIE1vdXR0ZSA8c2ViYXN0aWVuQG1vdXR0ZS5uZXQ+CgoJICBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOiByZW1vdmUgYXRvbGwgYnkgdXNpbmcgZ19hc2NpaV9zdHJ0b3VsbCAoYXRvbGwgaXMgbm90IHN1cHBvcnRlZCBvbiBXSU4zMikKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzogKGdzdF9uZW9uaHR0cF9zcmNfc3RhcnQpOgoJICByZW1vdmUgYXRvbGwgYnkgdXNpbmcgZ19hc2NpaV9zdHJ0b3VsbCAoYXRvbGwgaXMgbm90IHN1cHBvcnRlZCBvbiBXSU4zMikKCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSAgZG9uZSBzb21lIGNsZWFucyBpbiBzb3VyY2VzCgkgICogd2luMzIvdnM2OgoJICBhZGQgcHJvamVjdCBmaWxlcyBmb3IgbmVvbiwgcXRkZW11eAoKMjAwNi0wNC0wOSAxNzozMTozNyArMDAwMCAgU8OpYmFzdGllbiBNb3V0dGUgPHNlYmFzdGllbkBtb3V0dGUubmV0PgoKCSAgZ3N0L2xldmVsL2dzdGxldmVsLmM6IHVzZSBHX0dJTlQ2NF9DT05TVEFOVCBmb3IgSU5UNjQgY29uc3RhbnRzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOiAoZ3N0X2xldmVsX3NldF9jYXBzKSwoZ3N0X2xldmVsX3RyYW5zZm9ybV9pcCk6CgkgIHVzZSBHX0dJTlQ2NF9DT05TVEFOVCBmb3IgSU5UNjQgY29uc3RhbnRzCgkgICogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvYmFsYW5jZS5jOgoJICBkZWZpbmUgcmludCBmb3IgV0lOMzIgI2RlZmluZSByaW50KHgpIChmbG9vcigoeCkrMC41KSkKCSAgKiB3aW4zMi92czYvbGliZ3N0YXZpLmRzcDoKCSAgYWRkIG1pc3NpbmcgbGlicmFyaWVzIGZvciB0aGUgbGluayBhbmQgcmVtb3ZlIGF2aW11eC5jIGZyb20KCSAgdGhlIHByb2plY3QgYXMgaXQgaXNuJ3QgcG9ydGVkIHRvIDAuMTAgeWV0CgoyMDA2LTA0LTA5IDE0OjAwOjMyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L21hdHJvc2thL2VibWwtcmVhZC5jOiBFdmVuIGJldHRlciB3b3VsZCBiZSBpZiB3ZSBhY3R1YWxseSBkaWQgdGhlIHJpZ2h0IHRoaW5nIGhlcmUgKGFsc28sIEdfR1VJTlQ2NF9DT05TVEFOVCBvbmx5Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9lYm1sLXJlYWQuYzogKGdzdF9lYm1sX3JlYWRfc2ludCk6CgkgIEV2ZW4gYmV0dGVyIHdvdWxkIGJlIGlmIHdlIGFjdHVhbGx5IGRpZCB0aGUgcmlnaHQgdGhpbmcKCSAgaGVyZSAoYWxzbywgR19HVUlOVDY0X0NPTlNUQU5UIG9ubHkgZXhpc3RzIHNpbmNlIEdMaWItMi4xMCkuCgoyMDA2LTA0LTA5IDEzOjUyOjAzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L21hdHJvc2thL2VibWwtcmVhZC5jOiBDYW4ndCBqdXN0IHJlcGxhY2UgMUxMIHdpdGggMUwgaGVyZSBqdXN0IGJlY2F1c2UgTVNWQyBkb2Vzbid0IHN1cHBvcnQgaXQsIGFzIGl0IG1pZ2h0IGxlYWQgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9lYm1sLXJlYWQuYzogKGdzdF9lYm1sX3JlYWRfc2ludCk6CgkgIENhbid0IGp1c3QgcmVwbGFjZSAxTEwgd2l0aCAxTCBoZXJlIGp1c3QgYmVjYXVzZSBNU1ZDIGRvZXNuJ3QKCSAgc3VwcG9ydCBpdCwgYXMgaXQgbWlnaHQgbGVhZCB0byBpbmNvcnJlY3QgcmVzdWx0cyB3aGVuIGRvaW5nIHRoZQoJICBiaXRzaGlmdGluZyBoZXJlLiBVc2luZyBHTGliJ3MgR19HVUlOVDY0X0NPTlNUQU5UKCkgbWFjcm8gdG8KCSAgZm9yY2UgYSA2NC1iaXQgY29uc3RhbnQgaW4gYSB3YXkgdGhhdCBhbGwgY29tcGlsZXJzIGFyZSBoYXBweSB3aXRoLgoKMjAwNi0wNC0wOCAyMTo0ODowMSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgRml4ICMzMzczNjUgKGdfdHlwZV9jbGFzc19yZWYgPC0+IGdfdHlwZV9jbGFzc19wZWVrX3BhcmVudCkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2FtcndiL2dzdGFtcndiZGVjLmM6IChnc3RfYW1yd2JkZWNfY2xhc3NfaW5pdCk6CgkgICogZXh0L2FtcndiL2dzdGFtcndiZW5jLmM6IChnc3RfYW1yd2JlbmNfY2xhc3NfaW5pdCk6CgkgICogZXh0L2FtcndiL2dzdGFtcndicGFyc2UuYzogKGdzdF9hbXJ3YnBhcnNlX2NsYXNzX2luaXQpOgoJICAqIGV4dC9hcnRzL2dzdF9hcnRzLmM6IChnc3RfYXJ0c19jbGFzc19pbml0KToKCSAgKiBleHQvYXJ0c2QvZ3N0YXJ0c2RzaW5rLmM6IChnc3RfYXJ0c2RzaW5rX2NsYXNzX2luaXQpOgoJICAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzaW5rLmM6IChnc3RfYWZzaW5rX2NsYXNzX2luaXQpOgoJICAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzcmMuYzogKGdzdF9hZnNyY19jbGFzc19pbml0KToKCSAgKiBleHQvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6CgkgICogZXh0L2NkYXVkaW8vZ3N0Y2RhdWRpby5jOiAoZ3N0X2NkYXVkaW9fY2xhc3NfaW5pdCk6CgkgICogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOiAoZ3N0X2RmYnZpZGVvc2lua19jbGFzc19pbml0KToKCSAgKiBleHQvZGl2eC9nc3RkaXZ4ZGVjLmM6IChnc3RfZGl2eGRlY19jbGFzc19pbml0KToKCSAgKiBleHQvaGVybWVzL2dzdGhlcm1lc2NvbG9yc3BhY2UuYzoKCSAgKGdzdF9oZXJtZXNfY29sb3JzcGFjZV9jbGFzc19pbml0KToKCSAgKiBleHQvaXZvcmJpcy92b3JiaXNmaWxlLmM6IChnc3RfaXZvcmJpc2ZpbGVfY2xhc3NfaW5pdCk6CgkgICogZXh0L2phY2svZ3N0amFjay5jOiAoZ3N0X2phY2tfY2xhc3NfaW5pdCk6CgkgICogZXh0L2phY2svZ3N0amFja2Jpbi5jOiAoZ3N0X2phY2tfYmluX2NsYXNzX2luaXQpOgoJICAqIGV4dC9sY3MvZ3N0Y29sb3JzcGFjZS5jOiAoZ3N0X2NvbG9yc3BhY2VfY2xhc3NfaW5pdCk6CgkgICogZXh0L2xpYmZhbWUvZ3N0bGliZmFtZS5jOiAoZ3N0X2ZhbWVlbmNfY2xhc3NfaW5pdCk6CgkgICogZXh0L211c2ljYnJhaW56L2dzdHRybS5jOiAoZ3N0X211c2ljYnJhaW56X2NsYXNzX2luaXQpOgoJICAqIGV4dC9uYXMvbmFzc2luay5jOiAoZ3N0X25hc3NpbmtfY2xhc3NfaW5pdCk6CgkgICogZXh0L3Nob3V0L2dzdHNob3V0LmM6IChnc3RfaWNlY2FzdHNlbmRfY2xhc3NfaW5pdCk6CgkgICogZXh0L3NuYXBzaG90L2dzdHNuYXBzaG90LmM6IChnc3Rfc25hcHNob3RfY2xhc3NfaW5pdCk6CgkgICogZXh0L3NuZGZpbGUvZ3N0c2YuYzogKGdzdF9zZl9jbGFzc19pbml0KToKCSAgKiBleHQvc3dmZGVjL2dzdHN3ZmRlYy5jOiAoZ3N0X3N3ZmRlY2J1ZmZlcl9jbGFzc19pbml0KSwKCSAgKGdzdF9zd2ZkZWNfY2xhc3NfaW5pdCk6CgkgICogZXh0L3Rhcmtpbi9nc3R0YXJraW5kZWMuYzogKGdzdF90YXJraW5kZWNfY2xhc3NfaW5pdCk6CgkgICogZXh0L3Rhcmtpbi9nc3R0YXJraW5lbmMuYzogKGdzdF90YXJraW5lbmNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2NkeGFwYXJzZS9nc3RjZHhhc3RyaXAuYzogKGdzdF9jZHhhc3RyaXBfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2NoYXJ0L2dzdGNoYXJ0LmM6IChnc3RfY2hhcnRfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZS5jOiAoZ3N0X2NvbG9yc3BhY2VfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6IChnc3RfZGVpbnRlcmxhY2VfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2Zlc3RpdmFsL2dzdGZlc3RpdmFsLmM6IChnc3RfZmVzdGl2YWxfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmM6IChnc3RfYnB3c2luY19jbGFzc19pbml0KToKCSAgKiBnc3QvZmlsdGVyL2dzdGlpci5jOiAoZ3N0X2lpcl9jbGFzc19pbml0KToKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuYzogKGdzdF9scHdzaW5jX2NsYXNzX2luaXQpOgoJICAqIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6IChnc3RfcmZic3JjX2NsYXNzX2luaXQpOgoJICAqIGdzdC9taXhtYXRyaXgvbWl4bWF0cml4LmM6IChnc3RfbWl4bWF0cml4X2NsYXNzX2luaXQpOgoJICAqIGdzdC9tcGVnMXN5cy9nc3RtcGVnMXN5c3RlbWVuY29kZS5jOgoJICAoZ3N0X3N5c3RlbV9lbmNvZGVfY2xhc3NfaW5pdCk6CgkgICogZ3N0L21wZWcxdmlkZW9wYXJzZS9nc3RtcDF2aWRlb3BhcnNlLmM6CgkgIChnc3RfbXAxdmlkZW9wYXJzZV9jbGFzc19pbml0KToKCSAgKiBnc3QvbXBlZzJzdWIvZ3N0bXBlZzJzdWJ0LmM6IChnc3RfbXBlZzJzdWJ0X2NsYXNzX2luaXQpOgoJICAqIGdzdC9tcGVnYXVkaW9wYXJzZS9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJICAoZ3N0X21wM3BhcnNlX2NsYXNzX2luaXQpOgoJICAqIGdzdC9vdmVybGF5L2dzdG92ZXJsYXkuYzogKGdzdF9vdmVybGF5X2NsYXNzX2luaXQpOgoJICAqIGdzdC9wYXNzdGhyb3VnaC9nc3RwYXNzdGhyb3VnaC5jOiAocGFzc3Rocm91Z2hfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3BsYXlvbmRlbWFuZC9nc3RwbGF5b25kZW1hbmQuYzogKHBsYXlfb25fZGVtYW5kX2NsYXNzX2luaXQpOgoJICAqIGdzdC9ydGpwZWcvZ3N0cnRqcGVnZGVjLmM6IChnc3RfcnRqcGVnZGVjX2NsYXNzX2luaXQpOgoJICAqIGdzdC9ydGpwZWcvZ3N0cnRqcGVnZW5jLmM6IChnc3RfcnRqcGVnZW5jX2NsYXNzX2luaXQpOgoJICAqIGdzdC9zbW9vdGgvZ3N0c21vb3RoLmM6IChnc3Rfc21vb3RoX2NsYXNzX2luaXQpOgoJICAqIGdzdC9zbW9vdGh3YXZlL2dzdHNtb290aHdhdmUuYzogKGdzdF9zbW9vdGh3YXZlX2NsYXNzX2luaXQpOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiAoZ3N0X3NwZWN0cnVtX2NsYXNzX2luaXQpOgoJICAqIGdzdC9zdGVyZW8vZ3N0c3RlcmVvLmM6IChnc3Rfc3RlcmVvX2NsYXNzX2luaXQpOgoJICAqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmM6IChnc3Rfc3dpdGNoX2NsYXNzX2luaXQpOgoJICAqIGdzdC90dGEvZ3N0dHRhZGVjLmM6IChnc3RfdHRhX2RlY19jbGFzc19pbml0KToKCSAgKiBnc3QvdHRhL2dzdHR0YXBhcnNlLmM6IChnc3RfdHRhX3BhcnNlX2NsYXNzX2luaXQpOgoJICAqIGdzdC92YmlkZWMvZ3N0dmJpZGVjLmM6IChnc3RfdmJpZGVjX2NsYXNzX2luaXQpOgoJICAqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmM6IChnc3RfdmlkZW9fY3JvcF9jbGFzc19pbml0KToKCSAgKiBnc3QvdmlydHVhbGR1Yi9nc3R4c2hhcnBlbi5jOiAoZ3N0X3hzaGFycGVuX2NsYXNzX2luaXQpOgoJICAqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6IChnc3RfeTRtZW5jb2RlX2NsYXNzX2luaXQpOgoJICAqIHN5cy9jZHJvbS9nc3RjZHBsYXllci5jOiAoY2RwbGF5ZXJfY2xhc3NfaW5pdCk6CgkgICogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJICAoZ3N0X2RpcmVjdHNvdW5kc2lua19jbGFzc19pbml0KToKCSAgKiBzeXMvZHhyMy9keHIzYXVkaW9zaW5rLmM6IChkeHIzYXVkaW9zaW5rX2NsYXNzX2luaXQpOgoJICAqIHN5cy9keHIzL2R4cjNzcHVzaW5rLmM6IChkeHIzc3B1c2lua19jbGFzc19pbml0KToKCSAgKiBzeXMvZHhyMy9keHIzdmlkZW9zaW5rLmM6IChkeHIzdmlkZW9zaW5rX2NsYXNzX2luaXQpOgoJICAqIHN5cy9xY2FtL2dzdHFjYW1zcmMuYzogKGdzdF9xY2Ftc3JjX2NsYXNzX2luaXQpOgoJICAqIHN5cy92NGwyL2dzdHY0bDJjb2xvcmJhbGFuY2UuYzoKCSAgKGdzdF92NGwyX2NvbG9yX2JhbGFuY2VfY2hhbm5lbF9jbGFzc19pbml0KToKCSAgKiBzeXMvdjRsMi9nc3R2NGwydHVuZXIuYzogKGdzdF92NGwyX3R1bmVyX2NoYW5uZWxfY2xhc3NfaW5pdCksCgkgIChnc3RfdjRsMl90dW5lcl9ub3JtX2NsYXNzX2luaXQpOgoJICAqIHN5cy94aW1hZ2VzcmMveGltYWdlc3JjLmM6IChnc3RfeGltYWdlc3JjX2NsYXNzX2luaXQpOgoJICBGaXggIzMzNzM2NSAoZ190eXBlX2NsYXNzX3JlZiA8LT4gZ190eXBlX2NsYXNzX3BlZWtfcGFyZW50KQoKMjAwNi0wNC0wOCAyMToyMTo0NSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgRml4ICMzMzczNjUgKGdfdHlwZV9jbGFzc19yZWYgPC0+IGdfdHlwZV9jbGFzc19wZWVrX3BhcmVudCkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2FhbGliL2dzdGFhc2luay5jOiAoZ3N0X2Fhc2lua19jbGFzc19pbml0KToKCSAgKiBleHQvZXNkL2VzZHNpbmsuYzogKGdzdF9lc2RzaW5rX2NsYXNzX2luaXQpOgoJICAqIGV4dC9mbGFjL2dzdGZsYWN0YWcuYzogKGdzdF9mbGFjX3RhZ19jbGFzc19pbml0KToKCSAgKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWYuYzogKGdzdF9nZGtfcGl4YnVmX2NsYXNzX2luaXQpOgoJICAqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzogKGdzdF9qcGVnZW5jX2NsYXNzX2luaXQpOgoJICAqIGV4dC9qcGVnL2dzdHNtb2tlZGVjLmM6IChnc3Rfc21va2VkZWNfY2xhc3NfaW5pdCk6CgkgICogZXh0L2pwZWcvZ3N0c21va2VlbmMuYzogKGdzdF9zbW9rZWVuY19jbGFzc19pbml0KToKCSAgKiBleHQvbGliY2FjYS9nc3RjYWNhc2luay5jOiAoZ3N0X2NhY2FzaW5rX2NsYXNzX2luaXQpOgoJICAqIGV4dC9saWJtbmcvZ3N0bW5nZGVjLmM6IChnc3RfbW5nZGVjX2NsYXNzX2luaXQpOgoJICAqIGV4dC9saWJtbmcvZ3N0bW5nZW5jLmM6IChnc3RfbW5nZW5jX2NsYXNzX2luaXQpOgoJICAqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6IChnc3RfcG5nZGVjX2NsYXNzX2luaXQpOgoJICAqIGV4dC9saWJwbmcvZ3N0cG5nZW5jLmM6IChnc3RfcG5nZW5jX2NsYXNzX2luaXQpOgoJICAqIGV4dC9taWttb2QvZ3N0bWlrbW9kLmM6IChnc3RfbWlrbW9kX2NsYXNzX2luaXQpOgoJICAqIGV4dC9zaG91dDIvZ3N0c2hvdXQyLmM6IChnc3Rfc2hvdXQyc2VuZF9jbGFzc19pbml0KToKCSAgKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzogKGdzdF9zcGVleGVuY19jbGFzc19pbml0KToKCSAgKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzogKGdzdF9hbHBoYV9jbGFzc19pbml0KToKCSAgKiBnc3QvYXZpL2dzdGF2aW11eC5jOiAoZ3N0X2F2aW11eF9jbGFzc19pbml0KToKCSAgKiBnc3QvZGVidWcvZWZlbmNlLmM6IChnc3RfZWZlbmNlX2NsYXNzX2luaXQpOgoJICAqIGdzdC9kZWJ1Zy9uZWdvdGlhdGlvbi5jOiAoZ3N0X25lZ290aWF0aW9uX2NsYXNzX2luaXQpOgoJICAqIGdzdC9mbHgvZ3N0Zmx4ZGVjLmM6IChnc3RfZmx4ZGVjX2NsYXNzX2luaXQpOgoJICAqIGdzdC9nb29tL2dzdGdvb20uYzogKGdzdF9nb29tX2NsYXNzX2luaXQpOgoJICAqIGdzdC9pZDNkZW11eC9nc3RpZDNkZW11eC5jOiAoZ3N0X2lkM2RlbXV4X2NsYXNzX2luaXQpOgoJICAqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOiAoZGVpbnRlcmxlYXZlX2NsYXNzX2luaXQpOgoJICAqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzogKGludGVybGVhdmVfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2xhdy9hbGF3LWRlY29kZS5jOiAoZ3N0X2FsYXdkZWNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2xhdy9hbGF3LWVuY29kZS5jOiAoZ3N0X2FsYXdlbmNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2xhdy9tdWxhdy1lbmNvZGUuYzogKGdzdF9tdWxhd2VuY19jbGFzc19pbml0KToKCSAgKiBnc3QvbWVkaWFuL2dzdG1lZGlhbi5jOiAoZ3N0X21lZGlhbl9jbGFzc19pbml0KToKCSAgKiBnc3QvbW9ub3Njb3BlL2dzdG1vbm9zY29wZS5jOiAoZ3N0X21vbm9zY29wZV9jbGFzc19pbml0KToKCSAgKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydG11eC5jOiAoZ3N0X211bHRpcGFydF9tdXhfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3J0cC9nc3Rhc3Rlcmlza2gyNjMuYzogKGdzdF9hc3Rlcmlza2gyNjNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBMMTZkZXBheS5jOiAoZ3N0X3J0cF9MMTZkZXBheV9jbGFzc19pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cEwxNnBheS5jOiAoZ3N0X3J0cEwxNnBheV9jbGFzc19pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5LmM6IChnc3RfcnRwX2Ftcl9kZXBheV9jbGFzc19pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cGFtcnBheS5jOiAoZ3N0X3J0cF9hbXJfcGF5X2NsYXNzX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwZGVwYXkuYzogKGdzdF9ydHBfZGVwYXlfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBnc21kZXBheS5jOiAoZ3N0X3J0cF9nc21fZGVwYXlfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBnc21wYXkuYzogKGdzdF9ydHBfZ3NtX3BheV9jbGFzc19pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuYzogKGdzdF9ydHBfaDI2M19wYXlfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBoMjYzcGRlcGF5LmM6IChnc3RfcnRwX2gyNjNwX2RlcGF5X2NsYXNzX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuYzogKGdzdF9ydHBfaDI2M3BfcGF5X2NsYXNzX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0Z3BheS5jOiAoZ3N0X3J0cF9tcDRnX3BheV9jbGFzc19pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNHZkZXBheS5jOiAoZ3N0X3J0cF9tcDR2X2RlcGF5X2NsYXNzX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5jOiAoZ3N0X3J0cF9tcDR2X3BheV9jbGFzc19pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wYWRlcGF5LmM6IChnc3RfcnRwX21wYV9kZXBheV9jbGFzc19pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wYXBheS5jOiAoZ3N0X3J0cF9tcGFfcGF5X2NsYXNzX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwcGNtYWRlcGF5LmM6IChnc3RfcnRwX3BjbWFfZGVwYXlfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBwY21hcGF5LmM6IChnc3RfcnRwX3BjbWFfcGF5X2NsYXNzX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwcGNtdWRlcGF5LmM6IChnc3RfcnRwX3BjbXVfZGVwYXlfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBwY211cGF5LmM6IChnc3RfcnRwX3BjbXVfcGF5X2NsYXNzX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwc3BlZXhkZXBheS5jOiAoZ3N0X3J0cF9zcGVleF9kZXBheV9jbGFzc19pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cHNwZWV4cGF5LmM6IChnc3RfcnRwX3NwZWV4X3BheV9jbGFzc19pbml0KToKCSAgKiBnc3QvcnRzcC9nc3RydHBkZWMuYzogKGdzdF9ydHBkZWNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3NtcHRlL2dzdHNtcHRlLmM6IChnc3Rfc21wdGVfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3VkcC9nc3RkeW51ZHBzaW5rLmM6IChnc3RfZHludWRwc2lua19jbGFzc19pbml0KToKCSAgKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOiAoZ3N0X211bHRpdWRwc2lua19jbGFzc19pbml0KToKCSAgKiBnc3QvdWRwL2dzdHVkcHNpbmsuYzogKGdzdF91ZHBzaW5rX2NsYXNzX2luaXQpOgoJICAqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzogKGdzdF92aWRlb21peGVyX2NsYXNzX2luaXQpOgoJICAqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmM6IChnc3Rfd2F2ZW5jX2NsYXNzX2luaXQpOgoJICAqIHN5cy9vc3MvZ3N0b3NzZG1hYnVmZmVyLmM6IChnc3Rfb3NzZG1hYnVmZmVyX2NsYXNzX2luaXQpOgoJICAqIHN5cy9vc3MvZ3N0b3Nzc2luay5jOiAoZ3N0X29zc19zaW5rX2NsYXNzX2luaXQpOgoJICAqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb2VsZW1lbnQuYzoKCSAgKGdzdF9vc3hhdWRpb2VsZW1lbnRfY2xhc3NfaW5pdCk6CgkgICogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5jOiAoZ3N0X29zeGF1ZGlvc2lua19jbGFzc19pbml0KToKCSAgKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zcmMuYzogKGdzdF9vc3hhdWRpb3NyY19jbGFzc19pbml0KToKCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zaW5rLmM6IChnc3Rfc3VuYXVkaW9zaW5rX2NsYXNzX2luaXQpOgoJICBGaXggIzMzNzM2NSAoZ190eXBlX2NsYXNzX3JlZiA8LT4gZ190eXBlX2NsYXNzX3BlZWtfcGFyZW50KQoKMjAwNi0wNC0wOCAxOTowNjoyNSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgRml4IG1vcmUgYnJva2VuIEdPYmplY3QgbWFjcm9zCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9taWttb2QvZ3N0bWlrbW9kLmg6CgkgICogZ3N0L2xldmVsL2dzdGxldmVsLmg6CgkgIEZpeCBtb3JlIGJyb2tlbiBHT2JqZWN0IG1hY3JvcwoKMjAwNi0wNC0wOCAxODo0MTowNyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgRml4IGJyb2tlbiBHT2JqZWN0IG1hY3JvcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQveGluZS9nc3R4aW5lLmg6CgkgICogZ3N0LWxpYnMvZ3N0L3BsYXkvcGxheS5oOgoJICAqIHN5cy92NGwyL2dzdHY0bDJlbGVtZW50Lmg6CgkgICogc3lzL3hpbWFnZXNyYy94aW1hZ2V1dGlsLmg6CgkgIEZpeCBicm9rZW4gR09iamVjdCBtYWNyb3MKCjIwMDYtMDQtMDggMTg6MjU6NTUgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIEZpeCBicm9rZW4gR09iamVjdCBtYWNyb3MKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2Fubm9kZXgvZ3N0Y21tbGRlYy5oOgoJICAqIGV4dC9hbm5vZGV4L2dzdGNtbWxlbmMuaDoKCSAgKiBleHQvYW5ub2RleC9nc3RjbW1sdGFnLmg6CgkgICogZXh0L2NhaXJvL2dzdHRleHRvdmVybGF5Lmg6CgkgICogZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuaDoKCSAgKiBnc3QvbWF0cm9za2EvZWJtbC1yZWFkLmg6CgkgICogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuaDoKCSAgKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9lbGVtZW50Lmg6CgkgIEZpeCBicm9rZW4gR09iamVjdCBtYWNyb3MKCjIwMDYtMDQtMDggMTg6MjM6MDQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IERvbid0IG1ha2Ugcm91bmRpbmcgZXJyb3JzIGluIHRpbWVzdGFtcC9kdXJhdGlvbiBjYWxjdWxhdGlvbnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X3ByZXBhcmVfY3VycmVudF9zYW1wbGUpLAoJICAoZ3N0X3F0ZGVtdXhfY2hhaW4pLCAoZ3N0X3F0ZGVtdXhfYWRkX3N0cmVhbSksIChxdGRlbXV4X2R1bXBfc3RzeiksCgkgIChxdGRlbXV4X2R1bXBfc3RjbyksIChxdGRlbXV4X3BhcnNlX3RyYWspOgoJICBEb24ndCBtYWtlIHJvdW5kaW5nIGVycm9ycyBpbiB0aW1lc3RhbXAvZHVyYXRpb24gY2FsY3VsYXRpb25zLgoJICBGaXggdGltZXN0YW1wcyBmb3IgQU1SIGFuZCBJTUE0LiAgRml4ZXMgKCMzMzc0MzYpLgoJICBDcmVhdGUgYSBkdW1teSBzZWdtZW50IGV2ZW4gd2hlbiB0aGVyZSBpcyBubyBlZGl0IGxpc3QuCgoyMDA2LTA0LTA4IDEzOjA5OjUwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOiBEb24ndCB0cnkgdG8gc2VlayBiZXlvbmQgdGhlIGVuZCBvZiB0aGUgZmlsZSAod291bGQgb2NjYXNpb25hbGx5IGRpc3BsYXkgZXJyb3IgZGlhbG9ncyBpbiB0b3RlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzogKGdzdF9mbGFjX2RlY19oYW5kbGVfc2Vla19ldmVudCk6CgkgIERvbid0IHRyeSB0byBzZWVrIGJleW9uZCB0aGUgZW5kIG9mIHRoZSBmaWxlICh3b3VsZAoJICBvY2Nhc2lvbmFsbHkgZGlzcGxheSBlcnJvciBkaWFsb2dzIGluIHRvdGVtIHdoZW4gc2Vla2luZwoJICB0byB0aGUgZW5kKSAoIzMzNTg2OSkuIFdpbGwgc3RpbGwgdGhyb3cgYW4gZXJyb3IgdGhvdWdoCgkgIGlmIHRoZSBmaWxlIGlzIHRydW5jYXRlZCBhbmQgdGhlIHRvdGFsX3NhbXBsZXMgdmFsdWUgaW4KCSAgdGhlIHN0cmVhbSBoZWFkZXIgaXMgd3JvbmcuCgoyMDA2LTA0LTA3IDE4OjE1OjA4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2ZsYWMvZ3N0ZmxhY2RlYy4qOiBJZiB0aGUgc3RyZWFtIGhlYWRlciBkb2Vzbid0IGNvbnRhaW4gdGhlIHRvdGFsIG51bWJlciBvZiBzYW1wbGVzLCBzZWFyY2ggZm9yIHRoZSBsYXN0IGZsYWMgZnJhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzogKGdzdF9mbGFjX2NhbGN1bGF0ZV9jcmM4KSwKCSAgKGdzdF9mbGFjX2RlY19zY2FuX2dvdF9mcmFtZSksIChnc3RfZmxhY19kZWNfc2Nhbl9mb3JfbGFzdF9ibG9jayksCgkgIChnc3RfZmxhY19kZWNfbWV0YWRhdGFfY2FsbGJhY2spOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNkZWMuaDoKCSAgSWYgdGhlIHN0cmVhbSBoZWFkZXIgZG9lc24ndCBjb250YWluIHRoZSB0b3RhbCBudW1iZXIgb2Ygc2FtcGxlcywKCSAgc2VhcmNoIGZvciB0aGUgbGFzdCBmbGFjIGZyYW1lIGF0IHRoZSBlbmQgb2YgdGhlIGZpbGUgYW5kIGNhbGN1bGF0ZQoJICB0aGUgdG90YWwgZHVyYXRpb24gZnJvbSB0aGF0IGZyYW1lJ3Mgb2Zmc2V0IChmaXhlcyAjMzM3NjA5KS4KCjIwMDYtMDQtMDcgMTU6NTM6NDMgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBUeXBvIGZpeCwgcy9YRnJlZTg2L1gxMSBhbmQgYWRkZWQgZG9jIGJsdXJiIHNheWluZyB0aGF0IGl0IGZpeGF0ZXMgdG8gMjVmcHMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDQtMDcgIFphaGVlciBBYmJhcyBNZXJhbGkgIDx6YWhlZXJhYmJhcyBhdCBtZXJhbGkgZG90IG9yZz4KCSAgKiBleHQvYW1yd2IvYW1yd2ItY29kZS9NYWtlZmlsZS5hbToKCSAgKiBzeXMveGltYWdlc3JjL3hpbWFnZXNyYy5jOiAoZ3N0X3hpbWFnZXNyY19yZWNhbGMpLAoJICAoZ3N0X3hpbWFnZXNyY19jcmVhdGUpLCAoZ3N0X3hpbWFnZXNyY19zZXRfcHJvcGVydHkpOgoJICBUeXBvIGZpeCwgcy9YRnJlZTg2L1gxMSBhbmQgYWRkZWQgZG9jIGJsdXJiIHNheWluZyB0aGF0IGl0IGZpeGF0ZXMgdG8KCSAgMjVmcHMKCjIwMDYtMDQtMDcgMTU6NDc6MjcgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICB0ZXN0cy9pY2xlcy94aW1hZ2VzcmMtdGVzdC5jOiBBY3R1YWxseSBhc3NlcnQgdGhhdCBwaXBlbGluZSBnb2VzIHRvIHBsYXlpbmcKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDQtMDcgIFphaGVlciBBYmJhcyBNZXJhbGkgIDx6YWhlZXJhYmJhcyBhdCBtZXJhbGkgZG90IG9yZz4KCSAgKiB0ZXN0cy9pY2xlcy94aW1hZ2VzcmMtdGVzdC5jOiAobWFpbik6CgkgIEFjdHVhbGx5IGFzc2VydCB0aGF0IHBpcGVsaW5lIGdvZXMgdG8gcGxheWluZwoKMjAwNi0wNC0wNyAxNToyNzo0MCArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIHN5cy94aW1hZ2VzcmMveGltYWdlc3JjLmM6IEZpeCB0eXBvLCBDKysgc3R5bGUgY29tbWVudHMgYW5kIG90aGVyIHNtYWxsIGNsZWFudXBzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTA0LTA3ICBaYWhlZXIgQWJiYXMgTWVyYWxpICA8emFoZWVyYWJiYXMgYXQgbWVyYWxpIGRvdCBvcmc+CgkgICogc3lzL3hpbWFnZXNyYy94aW1hZ2VzcmMuYzogKGdzdF94aW1hZ2VzcmNfcmVjYWxjKSwKCSAgKGNvbXBvc2l0ZV9waXhlbCksIChnc3RfeGltYWdlc3JjX3hpbWFnZV9nZXQpLAoJICAoZ3N0X3hpbWFnZXNyY19jcmVhdGUpLCAoZ3N0X3hpbWFnZXNyY19zZXRfcHJvcGVydHkpOgoJICBGaXggdHlwbywgQysrIHN0eWxlIGNvbW1lbnRzIGFuZCBvdGhlciBzbWFsbCBjbGVhbnVwcwoKMjAwNi0wNC0wNyAxMDo0ODoxOSArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogRG9uJ3QgdW5yZWYgdGhlIEdzdFBhZFRlbXBsYXRlIHJldHVybmVkIGJ5IGdzdF9lbGVtZW50X2NsYXNzX2dldF9wYWRfdGVtcGxhdGUoKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9wYXJzZV9zdHJlYW0pOgoJICBEb24ndCB1bnJlZiB0aGUgR3N0UGFkVGVtcGxhdGUgcmV0dXJuZWQgYnkKCSAgZ3N0X2VsZW1lbnRfY2xhc3NfZ2V0X3BhZF90ZW1wbGF0ZSgpLgoKMjAwNi0wNC0wNiAxOToxNjowMiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogQWRkZWQgZnVsbCBlZGl0IGxpc3Qgc3VwcG9ydC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfaW5pdCksCgkgIChnc3RfcXRkZW11eF9oYW5kbGVfc3JjX3F1ZXJ5KSwgKGdzdF9xdGRlbXV4X2ZpbmRfaW5kZXgpLAoJICAoZ3N0X3F0ZGVtdXhfZmluZF9rZXlmcmFtZSksIChnc3RfcXRkZW11eF9maW5kX3NlZ21lbnQpLAoJICAoZ3N0X3F0ZGVtdXhfbW92ZV9zdHJlYW0pLCAoZ3N0X3F0ZGVtdXhfcGVyZm9ybV9zZWVrKSwKCSAgKGdzdF9xdGRlbXV4X2RvX3NlZWspLCAoZ3N0X3F0ZGVtdXhfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9xdGRlbXV4X2FjdGl2YXRlX3NlZ21lbnQpLAoJICAoZ3N0X3F0ZGVtdXhfcHJlcGFyZV9jdXJyZW50X3NhbXBsZSksIChnc3RfcXRkZW11eF9hZHZhbmNlX3NhbXBsZSksCgkgIChnc3RfcXRkZW11eF9sb29wX3N0YXRlX21vdmllKSwgKGdzdF9xdGRlbXV4X2xvb3ApLAoJICAocXRkZW11eF9wYXJzZV90cmFrKToKCSAgQWRkZWQgZnVsbCBlZGl0IGxpc3Qgc3VwcG9ydC4KCSAgQXZvaWQgb3ZlcmZsb3dzIGluIHByb2xvZ3VlIGltYWdlIGRldGVjdGlvbiBjb2RlLgoJICBBdm9pZCByb3VuZG9mZiBlcnJvcnMgaW4gdGltZXN0YW1wIGNhbGN1bGF0aW9ucy4KCjIwMDYtMDQtMDYgMTE6MzU6MjYgKzAwMDAgIGpeIDxqQGJvb3RsYWIub3JnPgoKCSAgVW5pZnkgdGhlIGxvbmcgZGVzY3JpcHRpb25zIGluIHRoZSBwbHVnaW4gZGV0YWlscyAoIzMzNzI2MykuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogal4gIDxqIGF0IGJvb3RsYWIgZG90IG9yZz4KCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JkZWMuYzoKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JlbmMuYzoKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JwYXJzZS5jOgoJICAqIGV4dC9hcnRzL2dzdF9hcnRzLmM6CgkgICogZXh0L2FydHNkL2dzdGFydHNkc2luay5jOgoJICAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZwYXJzZS5jOgoJICAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzaW5rLmM6CgkgICogZXh0L2F1ZGlvZmlsZS9nc3RhZnNyYy5jOgoJICAqIGV4dC9jZGF1ZGlvL2dzdGNkYXVkaW8uYzoKCSAgKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6CgkgICogZXh0L2RpdngvZ3N0ZGl2eGRlYy5jOgoJICAqIGV4dC9kaXZ4L2dzdGRpdnhlbmMuYzoKCSAgKiBleHQvZHRzL2dzdGR0c2RlYy5jOiAoZ3N0X2R0c2RlY19iYXNlX2luaXQpOgoJICAqIGV4dC9mYWFjL2dzdGZhYWMuYzogKGdzdF9mYWFjX2Jhc2VfaW5pdCk6CgkgICogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJICAqIGV4dC9nc20vZ3N0Z3NtZGVjLmM6CgkgICogZXh0L2dzbS9nc3Rnc21lbmMuYzoKCSAgKiBleHQvaGVybWVzL2dzdGhlcm1lc2NvbG9yc3BhY2UuYzoKCSAgKiBleHQvaXZvcmJpcy92b3JiaXNmaWxlLmM6CgkgICogZXh0L2xjcy9nc3Rjb2xvcnNwYWNlLmM6CgkgICogZXh0L2xpYmZhbWUvZ3N0bGliZmFtZS5jOgoJICAqIGV4dC9saWJtbXMvZ3N0bW1zLmM6IChnc3RfbW1zX2Jhc2VfaW5pdCk6CgkgICogZXh0L211c2ljYnJhaW56L2dzdHRybS5jOiAoZ3N0X211c2ljYnJhaW56X2Jhc2VfaW5pdCk6CgkgICogZXh0L25hcy9uYXNzaW5rLmM6IChnc3RfbmFzc2lua19iYXNlX2luaXQpOgoJICAqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6CgkgICogZXh0L3BvbHlwL3BvbHlwc2luay5jOiAoZ3N0X3BvbHlwc2lua19iYXNlX2luaXQpOgoJICAqIGV4dC9zZGwvc2RsYXVkaW9zaW5rLmM6CgkgICogZXh0L3NkbC9zZGx2aWRlb3NpbmsuYzoKCSAgKiBleHQvc2hvdXQvZ3N0c2hvdXQuYzoKCSAgKiBleHQvc25hcHNob3QvZ3N0c25hcHNob3QuYzoKCSAgKiBleHQvc25kZmlsZS9nc3RzZi5jOgoJICAqIGV4dC90YXJraW4vZ3N0dGFya2luZGVjLmM6CgkgICogZXh0L3Rhcmtpbi9nc3R0YXJraW5lbmMuYzoKCSAgKiBleHQvdGhlb3JhL3RoZW9yYWRlYy5jOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzogKGdzdF93YXZwYWNrX2RlY19iYXNlX2luaXQpOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOiAoZ3N0X3dhdnBhY2tfcGFyc2VfYmFzZV9pbml0KToKCSAgKiBleHQveHZpZC9nc3R4dmlkZGVjLmM6CgkgICogZXh0L3h2aWQvZ3N0eHZpZGVuYy5jOgoJICAqIGdzdC9jZHhhcGFyc2UvZ3N0Y2R4YXBhcnNlLmM6IChnc3RfY2R4YV9wYXJzZV9iYXNlX2luaXQpOgoJICAqIGdzdC9jZHhhcGFyc2UvZ3N0Y2R4YXN0cmlwLmM6IChnc3RfY2R4YXN0cmlwX2Jhc2VfaW5pdCk6CgkgICogZ3N0L2NoYXJ0L2dzdGNoYXJ0LmM6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzogKGdzdF9paXJfZXF1YWxpemVyX2Jhc2VfaW5pdCk6CgkgICogZ3N0L2Zlc3RpdmFsL2dzdGZlc3RpdmFsLmM6CgkgICogZ3N0L2ZpbHRlci9nc3RpaXIuYzoKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuYzoKCSAgKiBnc3QvZnJlZXplL2dzdGZyZWV6ZS5jOgoJICAqIGdzdC9nYW1lcy9nc3RwdXp6bGUuYzogKGdzdF9wdXp6bGVfYmFzZV9pbml0KToKCSAgKiBnc3QvbWl4bWF0cml4L21peG1hdHJpeC5jOgoJICAqIGdzdC9tcGVnMXN5cy9nc3RtcGVnMXN5c3RlbWVuY29kZS5jOgoJICAqIGdzdC9tcGVnMXZpZGVvcGFyc2UvZ3N0bXAxdmlkZW9wYXJzZS5jOgoJICAqIGdzdC9tcGVnMnN1Yi9nc3RtcGVnMnN1YnQuYzoKCSAgKiBnc3QvbXBlZ2F1ZGlvcGFyc2UvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSAgKiBnc3QvbXVsdGlmaWxlc2luay9nc3RtdWx0aWZpbGVzaW5rLmM6CgkgICogZ3N0L292ZXJsYXkvZ3N0b3ZlcmxheS5jOgoJICAqIGdzdC9wYXNzdGhyb3VnaC9nc3RwYXNzdGhyb3VnaC5jOgoJICAqIGdzdC9wbGF5b25kZW1hbmQvZ3N0cGxheW9uZGVtYW5kLmM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICAqIGdzdC9ydGpwZWcvZ3N0cnRqcGVnZGVjLmM6CgkgICogZ3N0L3J0anBlZy9nc3RydGpwZWdlbmMuYzoKCSAgKiBnc3Qvc21vb3RoL2dzdHNtb290aC5jOgoJICAqIGdzdC90dGEvZ3N0dHRhZGVjLmM6IChnc3RfdHRhX2RlY19iYXNlX2luaXQpOgoJICAqIGdzdC90dGEvZ3N0dHRhcGFyc2UuYzogKGdzdF90dGFfcGFyc2VfYmFzZV9pbml0KToKCSAgKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5jOgoJICAqIGdzdC92aWRlb2Ryb3AvZ3N0dmlkZW9kcm9wLmM6CgkgICogZ3N0L3ZpcnR1YWxkdWIvZ3N0eHNoYXJwZW4uYzoKCSAgKiBnc3QveGluZ2hlYWRlci9nc3R4aW5nbXV4LmM6IChnc3RfeGluZ19tdXhfYmFzZV9pbml0KToKCSAgKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOgoJICBVbmlmeSB0aGUgbG9uZyBkZXNjcmlwdGlvbnMgaW4gdGhlIHBsdWdpbiBkZXRhaWxzICgjMzM3MjYzKS4KCjIwMDYtMDQtMDYgMDk6MTQ6MzAgKzAwMDAgIEJyaWFuIENhbWVyb24gPGJyaWFuLmNhbWVyb25Ac3VuLmNvbT4KCgkgIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NpbmsuKjogVXNlIHNwZWMtPnNlZ3NpemUgYW5kIHNwZWMtPnNlZ3RvdGFsIGluIHRoZSBwcmVwYXJlIGZ1bmN0aW9uIHRvIGluaXRpYWxpc2UgdGhlIHJpbmcgYi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEJyaWFuIENhbWVyb24gIDxicmlhbiBkb3QgY2FtZXJvbiBhdCBzdW4gZG90IGNvbT4KCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zaW5rLmM6IChnc3Rfc3VuYXVkaW9zaW5rX2luaXQpLAoJICAoZ3N0X3N1bmF1ZGlvc2lua19wcmVwYXJlKSwgKGdzdF9zdW5hdWRpb3Npbmtfd3JpdGUpOgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NpbmsuaDoKCSAgVXNlIHNwZWMtPnNlZ3NpemUgYW5kIHNwZWMtPnNlZ3RvdGFsIGluIHRoZSBwcmVwYXJlIGZ1bmN0aW9uCgkgIHRvIGluaXRpYWxpc2UgdGhlIHJpbmcgYnVmZmVyIGluc3RlYWQgb2YgdXNpbmcgdGhlIGJ1ZmZlci10aW1lCgkgIHByb3BlcnR5ICgjMzM3NDIxKS4KCjIwMDYtMDQtMDYgMDg6NTI6NTEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBjb25maWd1cmUuYWM6IEJ1bXAgY29yZSByZXF1aXJlbWVudHMgdG8gQ1ZTIGZvciBnc3RfcGFkX3F1ZXJ5X3BlZXJfZHVyYXRpb24oKSB3aGljaCBpcyB1c2VkIGJ5IHNwZWV4ZGVjLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIEJ1bXAgY29yZSByZXF1aXJlbWVudHMgdG8gQ1ZTIGZvciBnc3RfcGFkX3F1ZXJ5X3BlZXJfZHVyYXRpb24oKQoJICB3aGljaCBpcyB1c2VkIGJ5IHNwZWV4ZGVjLgoKMjAwNi0wNC0wNSAxODoyNzoyMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9zcGVleC86IEZpeCBzZWVraW5nIGFuZCBkdXJhdGlvbiBxdWVyaWVzICgjMzM3MDMzKTsgY2xlYW4gdXAgYW5kIHJlZmFjdG9yIGEgYml0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvc3BlZXgvZ3N0c3BlZXguYzogKHBsdWdpbl9pbml0KToKCSAgKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzogKGdzdF9zcGVleF9kZWNfY2xhc3NfaW5pdCksCgkgIChnc3Rfc3BlZXhfZGVjX3Jlc2V0KSwgKGdzdF9zcGVleF9kZWNfaW5pdCksIChzcGVleF9kZWNfY29udmVydCksCgkgIChzcGVleF9nZXRfc2lua19xdWVyeV90eXBlcyksIChzcGVleF9kZWNfc2lua19xdWVyeSksCgkgIChzcGVleF9nZXRfc3JjX3F1ZXJ5X3R5cGVzKSwgKHNwZWV4X2RlY19zcmNfcXVlcnkpLAoJICAoc3BlZXhfZGVjX3NyY19ldmVudCksIChzcGVleF9kZWNfc2lua19ldmVudCksCgkgIChzcGVleF9kZWNfY2hhaW5fcGFyc2VfaGVhZGVyKSwgKHNwZWV4X2RlY19jaGFpbl9wYXJzZV9jb21tZW50cyksCgkgIChzcGVleF9kZWNfY2hhaW5fcGFyc2VfZGF0YSksIChzcGVleF9kZWNfY2hhaW4pLAoJICAoZ3N0X3NwZWV4X2RlY19nZXRfcHJvcGVydHkpLCAoZ3N0X3NwZWV4X2RlY19zZXRfcHJvcGVydHkpLAoJICAoc3BlZXhfZGVjX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmg6CgkgIEZpeCBzZWVraW5nIGFuZCBkdXJhdGlvbiBxdWVyaWVzICgjMzM3MDMzKTsgY2xlYW4gdXAgYW5kCgkgIHJlZmFjdG9yIGEgYml0LgoKMjAwNi0wNC0wNSAxMjo0MToxNCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBleHQvcmF3MTM5NC9nc3RkdjEzOTRzcmMuYzogZGlzdGluZ3Vpc2ggYmV0d2VlbiBkZXZpY2Ugbm90IGZvdW5kIGFuZCBjb3VsZCBub3Qgb3BlbiBmb3IgcmVhZGluZwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvcmF3MTM5NC9nc3RkdjEzOTRzcmMuYzoKCSAgZGlzdGluZ3Vpc2ggYmV0d2VlbiBkZXZpY2Ugbm90IGZvdW5kIGFuZCBjb3VsZCBub3Qgb3BlbiBmb3IKCSAgcmVhZGluZwoKMjAwNi0wNC0wNSAwODozNjo1NSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogVXNlIGR1cmF0aW9uIGFzIHNlZ21lbnQgc3RvcCBwb3NpdGlvbiBpZiBub25lIGlzIGV4cGxpY2l0bHkgY29uZmlndXJlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfcGVyZm9ybV9zZWVrKSwKCSAgKGdzdF9xdGRlbXV4X2RvX3NlZWspLCAoZ3N0X3F0ZGVtdXhfbG9vcF9zdGF0ZV9tb3ZpZSksCgkgIChnc3RfcXRkZW11eF9sb29wKToKCSAgVXNlIGR1cmF0aW9uIGFzIHNlZ21lbnQgc3RvcCBwb3NpdGlvbiBpZiBub25lIGlzCgkgIGV4cGxpY2l0bHkgY29uZmlndXJlZC4KCSAgQWxzbyBwZXJmb3JtIEVPUyB3aGVuIHdlIHJ1biBwYXN0IHRoZSBzZWdtZW50IHN0b3AuCgoyMDA2LTA0LTA0IDExOjIwOjU4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBNb3JlIGNsZWFudXBzLCBhZGRlZCBjb21tZW50cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfZ29fYmFjayksCgkgIChnc3RfcXRkZW11eF9wZXJmb3JtX3NlZWspLCAoZ3N0X3F0ZGVtdXhfZG9fc2VlayksCgkgIChnc3RfcXRkZW11eF9sb29wX3N0YXRlX21vdmllKSwgKGdzdF9xdGRlbXV4X2xvb3ApLAoJICAoZ3N0X3F0ZGVtdXhfY2hhaW4pLCAocXRkZW11eF9wYXJzZV90cmVlKSwgKHF0ZGVtdXhfcGFyc2VfdHJhayk6CgkgIE1vcmUgY2xlYW51cHMsIGFkZGVkIGNvbW1lbnRzLgoJICBNYXJrIGRpc2NvbnRpbnVpdGllcyBvbiBvdXRnb2luZyBidWZmZXJzLgoJICBQb3N0IGJldHRlciBlcnJvcnMgd2hlbiBzb21ldGhpbmcgZ29lcyB3cm9uZy4KCSAgSGFuZGxlIEVPUyBhbmQgc2VnbWVudCBlbmQgcHJvcGVybHkuCgoyMDA2LTA0LTA0IDA4OjMxOjEwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC4qOiBIYW5kbGUgc3RzcyBib3hlcyBzbyB3ZSBjYW4gbWFyayBhbmQgZmluZCBrZXlmcmFtZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2luaXQpLAoJICAoZ3N0X3F0ZGVtdXhfcHVzaF9ldmVudCksIChnc3RfcXRkZW11eF9nb19iYWNrKSwKCSAgKGdzdF9xdGRlbXV4X3BlcmZvcm1fc2VlayksIChnc3RfcXRkZW11eF9kb19zZWVrKSwKCSAgKGdzdF9xdGRlbXV4X2hhbmRsZV9zcmNfZXZlbnQpLCAocGx1Z2luX2luaXQpLAoJICAoZ3N0X3F0ZGVtdXhfY2hhbmdlX3N0YXRlKSwgKGdzdF9xdGRlbXV4X2xvb3Bfc3RhdGVfbW92aWUpLAoJICAoZ3N0X3F0ZGVtdXhfbG9vcCksIChnc3RfcXRkZW11eF9jaGFpbiksCgkgIChxdGRlbXV4X3NpbmtfYWN0aXZhdGVfcHVsbCksIChnc3RfcXRkZW11eF9hZGRfc3RyZWFtKSwKCSAgKHF0ZGVtdXhfcGFyc2UpLCAocXRkZW11eF9wYXJzZV90cmVlKSwgKHF0ZGVtdXhfcGFyc2VfdHJhayksCgkgIChxdGRlbXV4X3BhcnNlX3VkdGEpLCAocXRkZW11eF90YWdfYWRkX3N0ciksIChxdGRlbXV4X3RhZ19hZGRfbnVtKSwKCSAgKHF0ZGVtdXhfdGFnX2FkZF9nbnJlKSwgKGdzdF9xdGRlbXV4X2hhbmRsZV9lc2RzKToKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4Lmg6CgkgIEhhbmRsZSBzdHNzIGJveGVzIHNvIHdlIGNhbiBtYXJrIGFuZCBmaW5kIGtleWZyYW1lcy4KCSAgSW1wbGVtZW50IGNvcnJlY3QgYWNjdXJhdGUgYW5kIGtleWZyYW1lIHNlZWtpbmcuCgkgIFVzZSBfREVCVUdfT0JKRUNUIHdoZW4gcG9zc2libGUuCgoyMDA2LTA0LTAzIDEzOjI5OjIwICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkgIGlnbm9yZSBtb3JlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBpZ25vcmUgbW9yZQoKMjAwNi0wNC0wMyAxMzoyODo1NSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBwa2djb25maWcvTWFrZWZpbGUuYW06CgkgIGZpeCBkaXN0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBmaXggZGlzdAoKMjAwNi0wNC0wMyAwOTowMjoyOSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBhZGQgYSAucGMgZmlsZSBzbyBvdGhlciBtb2R1bGVzIGNhbiB1c2UgZ29vZCBwbHVnaW5zIGluIHRlc3RzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIE1ha2VmaWxlLmFtOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBwa2djb25maWcvLmN2c2lnbm9yZToKCSAgKiBwa2djb25maWcvTWFrZWZpbGUuYW06CgkgICogcGtnY29uZmlnL2dzdHJlYW1lci1wbHVnaW5zLWdvb2QtdW5pbnN0YWxsZWQucGMuaW46CgkgIGFkZCBhIC5wYyBmaWxlIHNvIG90aGVyIG1vZHVsZXMgY2FuIHVzZSBnb29kIHBsdWdpbnMgaW4gdGVzdHMKCjIwMDYtMDQtMDEgMTY6NTA6NDkgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogY29tbW9uOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXRkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBleHQvdGFnbGliL2dzdHRhZ2xpYm11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pZDN2Mm11eC5jOgoJICBhZGQgdGFnbGliIGNoZWNrcyBhbmQgZG9jcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYWRkIHRhZ2xpYiBjaGVja3MgYW5kIGRvY3MKCjIwMDYtMDQtMDEgMTU6MzA6NTEgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy91cGxvYWQubWFrOgoJICBkaXNhYmxlIHVzZSBvZiBBU19MSUJUT09MX1RBR1MsIGl0IGRvZXNuJ3Qgd29yayBjb3JyZWN0bHkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGRpc2FibGUgdXNlIG9mIEFTX0xJQlRPT0xfVEFHUywgaXQgZG9lc24ndCB3b3JrIGNvcnJlY3RseQoKMjAwNi0wNC0wMSAxNDowMzowMyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBjb21tb246CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGFsZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYmFsYW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJICBhZGRpbmcgaW5zcGVjdCBmaWxlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYWRkaW5nIGluc3BlY3QgZmlsZXMKCjIwMDYtMDQtMDEgMTA6MTU6MzMgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogdGVzdHMvaWNsZXMveGltYWdlc3JjLXRlc3QuYzoKCSAgNSBzZWNvbmQgdGltZW91dAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgNSBzZWNvbmQgdGltZW91dAoKMjAwNi0wNC0wMSAxMDoxNDoyNiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiB0ZXN0cy9pY2xlcy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9pY2xlcy9NYWtlZmlsZS5hbToKCSogdGVzdHMvaWNsZXMveGltYWdlc3JjLXRlc3QuYzoKCSAgcmVuYW1lIHRlc3QKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHJlbmFtZSB0ZXN0CgoyMDA2LTA0LTAxIDEwOjA5OjExICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmM6CgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdwbHVnaW4uYzoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kcGx1Z2luLmM6CgkqIHN5cy92NGwyL2dzdHY0bDIuYzoKCSogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzoKCSAgcmV3b3JrIGJ1aWxkOyBhZGQgdHJhbnNsYXRpb25zIGZvciB2NGwyCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZXdvcmsgYnVpbGQ7IGFkZCB0cmFuc2xhdGlvbnMgZm9yIHY0bDIKCjIwMDYtMDQtMDEgMDk6NTY6NDUgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgY29uZmlndXJlLmFjOiBjbGVhbiB1cCwgdXNlIEFTX1ZFUlNJT04gYW5kIEFTX05BTk8KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBjbGVhbiB1cCwgdXNlIEFTX1ZFUlNJT04gYW5kIEFTX05BTk8KCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6IChnc3RfbWF0cm9za2FfbXV4X3N0YXJ0KToKCSAgdXNlIFBBQ0tBR0VfVkVSU0lPTiBkZWZpbmUKCSAgKiBwby9hZi5wbzoKCSAgKiBwby9hei5wbzoKCSAgKiBwby9jcy5wbzoKCSAgKiBwby9lbl9HQi5wbzoKCSAgKiBwby9odS5wbzoKCSAgKiBwby9pdC5wbzoKCSAgKiBwby9uYi5wbzoKCSAgKiBwby9ubC5wbzoKCSAgKiBwby9vci5wbzoKCSAgKiBwby9zcS5wbzoKCSAgKiBwby9zci5wbzoKCSAgKiBwby9zdi5wbzoKCSAgKiBwby91ay5wbzoKCSAgKiBwby92aS5wbzoKCSAgdXBkYXRlZAoKMjAwNi0wMy0zMSAxNzo1MjozNiArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIEFkZCB0ZXN0cyBhbmQgZml4IFBBUiBjYXBzIGlzc3VlIHRvIHhpbWFnZXNyYwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wMy0zMSAgWmFoZWVyIEFiYmFzIE1lcmFsaSAgPHphaGVlcmFiYmFzIGF0IG1lcmFsaSBkb3Qgb3JnPgoJICAqIE1ha2VmaWxlLmFtOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBzeXMveGltYWdlc3JjL3hpbWFnZXNyYy5jOgoJICAoZ3N0X3hpbWFnZXNyY194aW1hZ2VfZ2V0KSwKCSAgKGdzdF94aW1hZ2VzcmNfZ2V0X2NhcHMpLCAoZ3N0X3hpbWFnZXNyY19jbGFzc19pbml0KToKCSAgKiBzeXMveGltYWdlc3JjL3hpbWFnZXV0aWwuYzoKCSAgKiB0ZXN0cy9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9pY2xlcy9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9pY2xlcy94aW1hZ2VzcmMtdGVzdC5jOiAodGVybWluYXRlX3BsYXliYWNrKSwgKG1haW4pOgoJICBBZGQgdGVzdHMgYW5kIGZpeCBQQVIgY2FwcyBpc3N1ZSB0byB4aW1hZ2VzcmMKCjIwMDYtMDMtMzEgMTY6MzI6NDcgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBzeXMveGltYWdlc3JjL3hpbWFnZXNyYy5jOiBBZGQgZG9jcyB0byB4aW1hZ2VzcmMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDMtMzEgIFphaGVlciBBYmJhcyBNZXJhbGkgIDx6YWhlZXJhYmJhcyBhdCBtZXJhbGkgZG90IG9yZz4KCSAgKiBzeXMveGltYWdlc3JjL3hpbWFnZXNyYy5jOgoJICBBZGQgZG9jcyB0byB4aW1hZ2VzcmMKCjIwMDYtMDMtMzEgMTU6MjE6MzUgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBzeXMveGltYWdlc3JjLzogRml4IHhpbWFnZXNyYyBzbyBhKSB0aGUgY3Vyc29yIGRvZXNudCB0cmFpbCBhbmQgYikgdGhlcmUgYXJlIG5vIHllbGxvdyByZWN0YW5nbGVzIHdpdGggdGhlIGN1cnNvcgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wMy0zMSAgWmFoZWVyIEFiYmFzIE1lcmFsaSAgPHphaGVlcmFiYmFzIGF0IG1lcmFsaSBkb3Qgb3JnPgoJICAqIHN5cy94aW1hZ2VzcmMveGltYWdlc3JjLmM6IChjb21wb3NpdGVfcGl4ZWwpLAoJICAoZ3N0X3hpbWFnZXNyY194aW1hZ2VfZ2V0KSwgKGdzdF94aW1hZ2VzcmNfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF94aW1hZ2VzcmNfZ2V0X2NhcHMpLCAoZ3N0X3hpbWFnZXNyY19jbGFzc19pbml0KToKCSAgKiBzeXMveGltYWdlc3JjL3hpbWFnZXNyYy5oOgoJICAqIHN5cy94aW1hZ2VzcmMveGltYWdldXRpbC5jOiAoeGltYWdldXRpbF94Y29udGV4dF9nZXQpOgoJICAqIHN5cy94aW1hZ2VzcmMveGltYWdldXRpbC5oOgoJICBGaXggeGltYWdlc3JjIHNvIGEpIHRoZSBjdXJzb3IgZG9lc250IHRyYWlsIGFuZCBiKSB0aGVyZSBhcmUgbm8KCSAgeWVsbG93IHJlY3RhbmdsZXMgd2l0aCB0aGUgY3Vyc29yCgoyMDA2LTAzLTMwIDIzOjQ2OjQyICswMDAwICBTw6liYXN0aWVuIE1vdXR0ZSA8c2ViYXN0aWVuQG1vdXR0ZS5uZXQ+CgoJKiB3aW4zMi92czYvZ3N0X3BsdWdpbnNfZ29vZC5kc3c6CgkqIHdpbjMyL3ZzNi9saWJnc3RhbGF3LmRzcDoKCSogd2luMzIvdnM2L2xpYmdzdGFscGhhLmRzcDoKCSogd2luMzIvdnM2L2xpYmdzdGFscGhhY29sb3IuZHNwOgoJKiB3aW4zMi92czYvbGliZ3N0YXBldGFnLmRzcDoKCSogd2luMzIvdnM2L2xpYmdzdGF1cGFyc2UuZHNwOgoJKiB3aW4zMi92czYvbGliZ3N0YXV0b2RldGVjdC5kc3A6CgkqIHdpbjMyL3ZzNi9saWJnc3RhdmkuZHNwOgoJKiB3aW4zMi92czYvbGliZ3N0Y3V0dGVyLmRzcDoKCSogd2luMzIvdnM2L2xpYmdzdGVmZmVjdHYuZHNwOgoJKiB3aW4zMi92czYvbGliZ3N0Zmx4LmRzcDoKCSogd2luMzIvdnM2L2xpYmdzdGdvb20uZHNwOgoJKiB3aW4zMi92czYvbGliZ3N0aWQzZGVtdXguZHNwOgoJKiB3aW4zMi92czYvbGliZ3N0aW50ZXJsZWF2ZS5kc3A6CgkqIHdpbjMyL3ZzNi9saWJnc3RqcGVnLmRzcDoKCSogd2luMzIvdnM2L2xpYmdzdGxldmVsLmRzcDoKCSogd2luMzIvdnM2L2xpYmdzdG1hdHJvc2thLmRzcDoKCSogd2luMzIvdnM2L2xpYmdzdG1lZGlhbi5kc3A6CgkqIHdpbjMyL3ZzNi9saWJnc3Rtb25vc2NvcGUuZHNwOgoJKiB3aW4zMi92czYvbGliZ3N0bXVsYXcuZHNwOgoJKiB3aW4zMi92czYvbGliZ3N0bXVsdGlwYXJ0LmRzcDoKCSogd2luMzIvdnM2L2xpYmdzdHJ0cC5kc3A6CgkqIHdpbjMyL3ZzNi9saWJnc3RydHNwLmRzcDoKCSogd2luMzIvdnM2L2xpYmdzdHNtcHRlLmRzcDoKCSogd2luMzIvdnM2L2xpYmdzdHNwZWV4LmRzcDoKCSogd2luMzIvdnM2L2xpYmdzdHZpZGVvYmFsYW5jZS5kc3A6CgkqIHdpbjMyL3ZzNi9saWJnc3R2aWRlb2JveC5kc3A6CgkqIHdpbjMyL3ZzNi9saWJnc3R2aWRlb2ZsaXAuZHNwOgoJKiB3aW4zMi92czYvbGliZ3N0dmlkZW9taXhlci5kc3A6CgkqIHdpbjMyL3ZzNi9saWJnc3R3YXZlbmMuZHNwOgoJKiB3aW4zMi92czYvbGliZ3N0d2F2cGFyc2UuZHNwOgoJICBJJ20gdG9vIGxhenkgdG8gY29tbWVudCB0aGlzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqKiogZW1wdHkgbG9nIG1lc3NhZ2UgKioqCgoyMDA2LTAzLTMwIDIzOjM3OjE2ICswMDAwICBTw6liYXN0aWVuIE1vdXR0ZSA8c2ViYXN0aWVuQG1vdXR0ZS5uZXQ+CgoJICBleHRcanBlZ1xzbW9rZWNvZGVjLmM6IHVzZSBvZiBHU1RfREVCVUcgaW5zdGVhZCBvZiBERUJVRyhhLi4uKSBmb3IgV0lOMzIKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0XGpwZWdcc21va2Vjb2RlYy5jOgoJICB1c2Ugb2YgR1NUX0RFQlVHIGluc3RlYWQgb2YgREVCVUcoYS4uLikgZm9yIFdJTjMyCgkgICogZXh0XHNwZWV4XGdzdHNwZWV4ZW5jLmM6IChnc3Rfc3BlZXhlbmNfc2V0X2hlYWRlcl9vbl9jYXBzKToKCSAgbW92ZSBmaXJzdCBpbnN0cnVjdGlvbiBhZnRlciBhbGwgdmFyaWFibGVzIGRlY2xhcmF0aW9ucwoJICAqIGdzdFxhbHBoYVxnc3RhbHBoYS5jOgoJICAqIGdzdFxlZmZlY3R2XGdzdHNoYWdhZGVsaWMuYzoKCSAgKiBnc3Rcc21wdGVccGFpbnQuYzoKCSAgKiBnc3RcdmlkZW9maWx0ZXJcZ3N0dmlkZW9iYWxhbmNlLmM6CgkgIGRlZmluZSBNX1BJIGlmIGl0J3Mgbm90IGRlZmluZWQgKGl0J3Mgbm90IGRlZmluZWQgb24gV0lOMzIpCgkgICogZ3N0XGN1dHRlclxnc3RjdXR0ZXIuYzogKGdzdF9jdXR0ZXJfY2hhaW4pOgoJICAqIGdzdFxpZDNkZW11eFxpZDN2MmZyYW1lcy5jOiAocGFyc2VfcmVsYXRpdmVfdm9sdW1lX2FkanVzdG1lbnRfdHdvKToKCSAgKiBnc3RcbGV2ZWxcZ3N0bGV2ZWwuYzogKGdzdF9sZXZlbF9zZXRfcHJvcGVydHkpLCAoZ3N0X2xldmVsX3RyYW5zZm9ybV9pcCk6CgkgICogZ3N0XG1hdHJvc2thXG1hdHJvc2thLWRlbXV4LmM6IChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfaW5mbyksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfdmlkZW9fY2Fwcyk6CgkgICogZ3N0XG1hdHJvc2thXG1hdHJvc2thLW11eC5jOiAoZ3N0X21hdHJvc2thX211eF9zdGFydCksIChnc3RfbWF0cm9za2FfbXV4X2ZpbmlzaCk6CgkgICogZ3N0XHdhdnBhcnNlXGdzdHdhdnBhcnNlLmM6IChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2RhdGEpOgoJICB1c2UgZ3N0X2d1aW50NjRfdG9fZ2RvdWJsZSBmb3IgY29udmVyc2lvbnMKCSAgKiBnc3RcZ29vbVxmaWx0ZXJzLmM6IChzZXRQaXhlbFJHQl8pOgoJICBmaXggYSBkZWJ1ZyB3aGljaCB3YXMgdXNpbmcgdW5kZWZpbmVkIHZhcmlhYmxlCgkgICogZ3N0XGxldmVsXGdzdGxldmVsLmM6IChnc3RfbGV2ZWxfc2V0X2NhcHMpLCAoZ3N0X2xldmVsX3RyYW5zZm9ybV9pcCk6CgkgICogZ3N0XG1hdHJvc2thXGVibWwtcmVhZC5jOiAoZ3N0X2VibWxfcmVhZF9zaW50KToKCSAgcmVwbGFjZSBMTCBzdWZmaXggd2l0aCBMIHN1ZmZpeCAoTEwgaXNuJ3Qgc3VwcG9ydGVkIGJ5IE1TVkM2LjApCgkgICogd2luMzIvdnM2OgoJICBhZGQgdnM2IHByb2plY3RzIGZpbGVzIGZvciBtb3N0IG9mIHBsdWdpbnMtZ29vZAoKMjAwNi0wMy0zMCAxNTozNzowNSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGJldHRlci91bmlmaWVkIGxvbmcgZGVzY3JpcHRpb25zCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hYWxpYi9nc3RhYXNpbmsuYzoKCSAgKiBleHQvYW5ub2RleC9nc3RjbW1sZGVjLmM6CgkgICogZXh0L2Fubm9kZXgvZ3N0Y21tbGVuYy5jOgoJICAqIGV4dC9jYWlyby9nc3R0ZXh0b3ZlcmxheS5jOgoJICAqIGV4dC9jYWlyby9nc3R0aW1lb3ZlcmxheS5jOgoJICAqIGV4dC9jZGlvL2dzdGNkaW9jZGRhc3JjLmM6CgkgICogZXh0L2R2L2dzdGR2ZGVjLmM6CgkgICogZXh0L2VzZC9lc2Rtb24uYzoKCSAgKiBleHQvZXNkL2VzZHNpbmsuYzoKCSAgKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJICAqIGV4dC9mbGFjL2dzdGZsYWN0YWcuYzoKCSAgKiBleHQvZ2NvbmYvZ3N0Z2NvbmZhdWRpb3NpbmsuYzogKGdzdF9nY29uZl9hdWRpb19zaW5rX2Jhc2VfaW5pdCk6CgkgICogZXh0L2djb25mL2dzdGdjb25mYXVkaW9zcmMuYzogKGdzdF9nY29uZl9hdWRpb19zcmNfYmFzZV9pbml0KToKCSAgKiBleHQvZ2NvbmYvZ3N0Z2NvbmZ2aWRlb3NpbmsuYzogKGdzdF9nY29uZl92aWRlb19zaW5rX2Jhc2VfaW5pdCk6CgkgICogZXh0L2djb25mL2dzdGdjb25mdmlkZW9zcmMuYzogKGdzdF9nY29uZl92aWRlb19zcmNfYmFzZV9pbml0KToKCSAgKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWYuYzoKCSAgKiBleHQvZ2RrX3BpeGJ1Zi9waXhidWZzY2FsZS5jOgoJICAqIGV4dC9oYWwvZ3N0aGFsYXVkaW9zaW5rLmM6IChnc3RfaGFsX2F1ZGlvX3NpbmtfYmFzZV9pbml0KToKCSAgKiBleHQvaGFsL2dzdGhhbGF1ZGlvc3JjLmM6IChnc3RfaGFsX2F1ZGlvX3NyY19iYXNlX2luaXQpOgoJICAqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAgKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkgICogZXh0L2pwZWcvZ3N0c21va2VkZWMuYzoKCSAgKiBleHQvanBlZy9nc3RzbW9rZWVuYy5jOgoJICAqIGV4dC9saWJjYWNhL2dzdGNhY2FzaW5rLmM6CgkgICogZXh0L2xpYm1uZy9nc3RtbmdkZWMuYzoKCSAgKiBleHQvbGlibW5nL2dzdG1uZ2VuYy5jOgoJICAqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6CgkgICogZXh0L2xpYnBuZy9nc3RwbmdlbmMuYzoKCSAgKiBleHQvbWlrbW9kL2dzdG1pa21vZC5jOgoJICAqIGV4dC9yYXcxMzk0L2dzdGR2MTM5NHNyYy5jOgoJICAqIGV4dC9zaG91dDIvZ3N0c2hvdXQyLmM6CgkgICogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6CgkgICogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6CgkgICogZ3N0L2FscGhhL2dzdGFscGhhLmM6CgkgICogZ3N0L2FscGhhL2dzdGFscGhhY29sb3IuYzoKCSAgKiBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLmM6CgkgICogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc2luay5jOgoJICAoZ3N0X2F1dG9fYXVkaW9fc2lua19iYXNlX2luaXQpOgoJICAqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NpbmsuYzoKCSAgKGdzdF9hdXRvX3ZpZGVvX3NpbmtfYmFzZV9pbml0KToKCSAgKiBnc3QvYXZpL2dzdGF2aW11eC5jOiAoZ3N0X2F2aW11eF9iYXNlX2luaXQpOgoJICAqIGdzdC9jdXR0ZXIvZ3N0Y3V0dGVyLmM6CgkgICogZ3N0L2RlYnVnL2JyZWFrbXlkYXRhLmM6CgkgICogZ3N0L2RlYnVnL2VmZW5jZS5jOgoJICAqIGdzdC9kZWJ1Zy9nc3RuYXZpZ2F0aW9udGVzdC5jOgoJICAqIGdzdC9kZWJ1Zy9uZWdvdGlhdGlvbi5jOgoJICAqIGdzdC9kZWJ1Zy9wcm9ncmVzc3JlcG9ydC5jOgoJICAqIGdzdC9kZWJ1Zy90ZXN0cGx1Z2luLmM6CgkgICogZ3N0L2VmZmVjdHYvZ3N0YWdpbmcuYzoKCSAgKiBnc3QvZWZmZWN0di9nc3RkaWNlLmM6CgkgICogZ3N0L2VmZmVjdHYvZ3N0ZWRnZS5jOgoJICAqIGdzdC9lZmZlY3R2L2dzdHF1YXJrLmM6CgkgICogZ3N0L2VmZmVjdHYvZ3N0cmV2LmM6CgkgICogZ3N0L2VmZmVjdHYvZ3N0dmVydGlnby5jOgoJICAqIGdzdC9lZmZlY3R2L2dzdHdhcnAuYzoKCSAgKiBnc3QvZmx4L2dzdGZseGRlYy5jOgoJICAqIGdzdC9nb29tL2dzdGdvb20uYzoKCSAgKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYzoKCSAgKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6CgkgICogZ3N0L2xhdy9hbGF3LWRlY29kZS5jOiAoZ3N0X2FsYXdkZWNfYmFzZV9pbml0KToKCSAgKiBnc3QvbGF3L2FsYXctZW5jb2RlLmM6IChnc3RfYWxhd2VuY19iYXNlX2luaXQpOgoJICAqIGdzdC9sYXcvbXVsYXctZGVjb2RlLmM6IChnc3RfbXVsYXdkZWNfYmFzZV9pbml0KToKCSAgKiBnc3QvbGF3L211bGF3LWVuY29kZS5jOiAoZ3N0X211bGF3ZW5jX2Jhc2VfaW5pdCk6CgkgICogZ3N0L2xldmVsL2dzdGxldmVsLmM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IChnc3RfbWF0cm9za2FfZGVtdXhfYmFzZV9pbml0KToKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6IChnc3RfbWF0cm9za2FfbXV4X2Jhc2VfaW5pdCk6CgkgICogZ3N0L21lZGlhbi9nc3RtZWRpYW4uYzoKCSAgKiBnc3QvbW9ub3Njb3BlL2dzdG1vbm9zY29wZS5jOgoJICAqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzoKCSAgKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydG11eC5jOgoJICAqIGdzdC9vbGRjb3JlL2dzdG1kNXNpbmsuYzoKCSAgKiBnc3Qvb2xkY29yZS9nc3RtdWx0aWZpbGVzcmMuYzoKCSAgKiBnc3Qvb2xkY29yZS9nc3RwaXBlZmlsdGVyLmM6CgkgICogZ3N0L29sZGNvcmUvZ3N0c2hhcGVyLmM6CgkgICogZ3N0L29sZGNvcmUvZ3N0c3RhdGlzdGljcy5jOgoJICAqIGdzdC9ydHAvZ3N0YXN0ZXJpc2toMjYzLmM6CgkgICogZ3N0L3J0cC9nc3RydHBMMTZkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwTDE2cGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwYW1ycGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwZ3NtcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBoMjYzcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBoMjYzcGRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBoMjYzcHBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0Z3BheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0dmRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBtcDR2cGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBtcGFkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXBhcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBwY21hZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cHBjbWFwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cHBjbXVkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwcGNtdXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwc3BlZXhkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwc3BlZXhwYXkuYzoKCSAgKiBnc3QvcnRzcC9nc3RydHBkZWMuYzoKCSAgKiBnc3Qvc21wdGUvZ3N0c21wdGUuYzoKCSAgKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzoKCSAgKiBnc3QvdmlkZW9maWx0ZXIvZ3N0Z2FtbWEuYzogKGdzdF9nYW1tYV9iYXNlX2luaXQpOgoJICAqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2JhbGFuY2UuYzoKCSAgKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9mbGlwLmM6CgkgICogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvdGVtcGxhdGUuYzoKCSAgKGdzdF92aWRlb3RlbXBsYXRlX2Jhc2VfaW5pdCk6CgkgICogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJICAqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmM6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IChnc3Rfd2F2cGFyc2VfYmFzZV9pbml0KToKCSAgYmV0dGVyL3VuaWZpZWQgbG9uZyBkZXNjcmlwdGlvbnMKCSAgRml4ZWQgIzMzNjYwMgoJICBTb21lIGNsZWFudXBzIHRvIGF1cGFyc2UsIGRvbid0IHNlbmQgbXVsdGlwbGUgbmV3c2VnbWVudHMuCgoyMDA2LTAzLTI5IDE2OjA2OjUwICswMDAwICBNaWNoYWVsIERvbWluaWMgSyA8bWRrQG1kay5vcmcucGw+CgoJICBleHQvZHYvZ3N0ZHZkZW11eC4qOiBTZWVrIGluIFJFQURZIHBhdGNoLiBPbmx5IHdvcmtzIGZvciBwdWxsIGJhc2VkIG1vZGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBGcm9tIGEgcGF0Y2ggYnk6IE1pY2hhZWwgRG9taW5pYyBLLiA8bWRrIGF0IG1kayBkb3Qgb3JnIGRvdCBwbD4KCSAgKiBleHQvZHYvZ3N0ZHZkZW11eC5jOiAoZ3N0X2R2ZGVtdXhfY2xhc3NfaW5pdCksCgkgIChnc3RfZHZkZW11eF9yZXNldCksIChnc3RfZHZkZW11eF9zcmNfY29udmVydCksCgkgIChnc3RfZHZkZW11eF9zZW5kX2V2ZW50KSwgKGdzdF9kdmRlbXV4X2ZsdXNoKSwgKGdzdF9kdmRlbXV4X2xvb3ApLAoJICAoZ3N0X2R2ZGVtdXhfc2lua19hY3RpdmF0ZV9wdWxsKSwgKGdzdF9kdmRlbXV4X2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L2R2L2dzdGR2ZGVtdXguaDoKCSAgU2VlayBpbiBSRUFEWSBwYXRjaC4gT25seSB3b3JrcyBmb3IgcHVsbCBiYXNlZCBtb2RlLgoJICBGaXhlcyAjMzIzODgwCgoyMDA2LTAzLTI3IDE3OjA2OjQ1ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkgIFNtYWxsIGZpeCwgbm93IHB3YyBkcml2ZXIgY2FuIHRlbGwgYWJvdXQgaXRzIGJ1ZmZlcnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBTbWFsbCBmaXgsIG5vdyBwd2MgZHJpdmVyIGNhbiB0ZWxsIGFib3V0IGl0cyBidWZmZXJzLgoKMjAwNi0wMy0yNyAxNDowOToxOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zi5jOiBGaXggdHdvIGNyYXNoZXJzOiBkb24ndCB1bnJlZiB0aGUgc2FtZSBjYXBzIHR3aWNlLCBhbmQgc2V0IHBpeGJ1ZiBsb2FkZXIgdG8gTlVMTCBhZnRlci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWYuYzogKGdzdF9nZGtfcGl4YnVmX2ZsdXNoKSwKCSAgKGdzdF9nZGtfcGl4YnVmX2V2ZW50KToKCSAgRml4IHR3byBjcmFzaGVyczogZG9uJ3QgdW5yZWYgdGhlIHNhbWUgY2FwcyB0d2ljZSwgYW5kCgkgIHNldCBwaXhidWYgbG9hZGVyIHRvIE5VTEwgYWZ0ZXIgZnJlZWluZyBpdC4KCjIwMDYtMDMtMjcgMTQ6MDA6MDIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuKjogRG9uJ3QgbGVhayBhZGFwdGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzogKGdzdF9zcGVleGVuY19jbGFzc19pbml0KSwKCSAgKGdzdF9zcGVleGVuY19maW5hbGl6ZSksIChnc3Rfc3BlZXhlbmNfc2lua19zZXRjYXBzKSwKCSAgKGdzdF9zcGVleGVuY19jaGFpbik6CgkgICogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmg6CgkgIERvbid0IGxlYWsgYWRhcHRlci4KCSAgQSBwdXNoICphbHdheXMqIHRha2VzIG93bmVyc2hpcCBvZiB0aGUgYnVmZmVyLCBldmVuIG9uCgkgIGVycm9ycy4KCSAgU21hbGwgY2xlYW51cHMuCgoyMDA2LTAzLTI2IDE5OjU2OjM3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3RhZ2xpYi9nc3R0YWdsaWIuKjogRml4IG5ld3NlZ21lbnQgZXZlbnQgaGFuZGxpbmcgYSBiaXQuIFdlIG5lZWQgdG8gY2FjaGUgdGhlIGZpcnN0IG5ld3NlZ21lbnQgZXZlbnQsIGJlY2F1c2Ugd2UgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC90YWdsaWIvZ3N0dGFnbGliLmNjOgoJICAqIGV4dC90YWdsaWIvZ3N0dGFnbGliLmg6CgkgIEZpeCBuZXdzZWdtZW50IGV2ZW50IGhhbmRsaW5nIGEgYml0LiBXZSBuZWVkIHRvCgkgIGNhY2hlIHRoZSBmaXJzdCBuZXdzZWdtZW50IGV2ZW50LCBiZWNhdXNlIHdlIGNhbid0CgkgIGFkanVzdCBvZmZzZXRzIHlldCB3aGVuIHdlIGdldCBpdCwgYXMgd2UgZG9uJ3QKCSAga25vdyB0aGUgc2l6ZSBvZiB0aGUgdGFnIHlldCBmb3Igc3VyZSBhdCB0aGF0IHBvaW50LgoJICBBbHNvIGRvIHNvbWUgbWlub3IgY2xlYW5pbmcgdXAgaGVyZSBhbmQgdGhlcmUgYW5kIGFkZAoJICBzb21lIGRlYnVnIHN0YXRlbWVudHMuCgoyMDA2LTAzLTI2IDEyOjI0OjU2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2lkM2RlbXV4L2dzdGlkM2RlbXV4LmM6IENyZWF0ZSBzb3VyY2UgcGFkIHdpdGhvdXQgbGVha2luZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2lkM2RlbXV4L2dzdGlkM2RlbXV4LmM6IChnc3RfaWQzZGVtdXhfYWRkX3NyY3BhZCk6CgkgIENyZWF0ZSBzb3VyY2UgcGFkIHdpdGhvdXQgbGVha2luZy4KCjIwMDYtMDMtMjUgMjE6NTc6MjQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvdGFnbGliL2dzdHRhZ2xpYi5jYzogV2UgZG8gbm90IHdhbnQgdG8gcHJveHkgdGhlIGNhcHMgb24gdGhlIHNpbmsgcGFkOyBvdXIgc291cmNlIHBhZCBzaG91bGQgaGF2ZSBhcHBsaWNhdGlvbi94LWkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3RhZ2xpYi9nc3R0YWdsaWIuY2M6CgkgIFdlIGRvIG5vdCB3YW50IHRvIHByb3h5IHRoZSBjYXBzIG9uIHRoZSBzaW5rIHBhZDsgb3VyCgkgIHNvdXJjZSBwYWQgc2hvdWxkIGhhdmUgYXBwbGljYXRpb24veC1pZDMgY2FwczsgYWxzbywKCSAgZG9uJ3QgdXNlIGFscmVhZHktZnJlZWQgc3RyaW5ncyBpbiBkZWJ1ZyBtZXNzYWdlczsKCSAgZmluYWxseSwgYWRqdXN0IGJ1ZmZlciBvZmZzZXRzIG9uIGJ1ZmZlcnMgc2VudCBvdXQuCgoyMDA2LTAzLTI1IDEzOjAyOjU1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOiBPbGRlciBrZXJuZWxzIGRvbid0IHNlZW0gdG8gaGF2ZSB0aGlzIHBhcnRpY3VsYXIgdjRsMiBmb3JtYXQsIHNvIGNvbW1lbnQgb3V0IHVudGlsIHRoaXMgZ2V0cyBmLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgT2xkZXIga2VybmVscyBkb24ndCBzZWVtIHRvIGhhdmUgdGhpcyBwYXJ0aWN1bGFyIHY0bDIgZm9ybWF0LAoJICBzbyBjb21tZW50IG91dCB1bnRpbCB0aGlzIGdldHMgZml4ZWQgcHJvcGVybHkgKGFuZCBtYWtlCgkgIGJ1aWxkYm90cyBoYXBweSkuCgoyMDA2LTAzLTI1IDA1OjMxOjI4ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBjb21tb246CgkqIHN5cy92NGwyL2dzdHY0bDJjb2xvcmJhbGFuY2UuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmNvbG9yYmFsYW5jZS5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyZWxlbWVudC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnR1bmVyLmM6CgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmg6CgkgIEp1c3QgbWFrZSBmZXcgdGhpbmdzIG1vcmUgcm9idXN0IGFuZCBhbHNvIHNvbWUgaWRlbnRhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEp1c3QgbWFrZSBmZXcgdGhpbmdzIG1vcmUgcm9idXN0IGFuZCBhbHNvIHNvbWUgaWRlbnRhdGlvbi4KCjIwMDYtMDMtMjQgMTk6NDE6MDMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvZmxhYy86IFNwaWZpZnkgYSBiaXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzogKGdzdF9mbGFjX2RlY19oYW5kbGVfc2Vla19ldmVudCk6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5oOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNlbmMuaDoKCSAgU3BpZmlmeSBhIGJpdC4KCSAgRml4IGRlYWRseSBsb2NrIG9yZGVyIGVycm9yIGluIHNlZWtpbmcgY29kZSwgU1RSRUFNX0xPQ0sKCSAgY2Fubm90IGJlIHRha2VuIHdpdGhpbiBMT0NLIGFuZCB0aGUgc3RyZWFtaW5nIHZhcmlhYmxlcyBhcmUKCSAgcHJvdGVjdGVkIHdpdGggdGhlIFNUUkVBTV9MT0NLIGFueXdheS4KCjIwMDYtMDMtMjQgMTg6NTY6MTYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IHRoaXMgcGF0Y2ggY29tYmluZXMgdGhlIGdsb2JhbCBpbml0X2ZyYW1lcyB3aXRoIHRoZSBzdHJlYW0gaW5pdF9mcmFtZXMuIFJhdGlvbmFsZSBiZWluZyB0aGF0IHQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9wYXJzZV9pbmRleCksCgkgIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9pbmRleCksIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9zY2FuKSwKCSAgKGdzdF9hdmlfZGVtdXhfbWFzc2FnZV9pbmRleCksIChnc3RfYXZpX2RlbXV4X2hhbmRsZV9zZWVrKToKCSAgdGhpcyBwYXRjaCBjb21iaW5lcyB0aGUgZ2xvYmFsIGluaXRfZnJhbWVzIHdpdGggdGhlIHN0cmVhbQoJICBpbml0X2ZyYW1lcy4gUmF0aW9uYWxlIGJlaW5nIHRoYXQgdGhlIGdsb2JhbCBkZWxheSBzaG91bGQKCSAgYmUgc3VidHJhY3RlZCBmcm9tIGFueSBzdHJlYW0gZGVsYXkuCgkgIEZpeGVzICMzMzU4NTguCgoyMDA2LTAzLTI0IDE3OjExOjU2ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvOiB1c2UgREVCVUdfRlVOQ1BUUiBmb3IgY29sbGVjdHBhZHMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOiAoZ3N0X21hdHJvc2thX211eF9pbml0KToKCSAgKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydG11eC5jOiAoZ3N0X211bHRpcGFydF9tdXhfaW5pdCk6CgkgICogZ3N0L3NtcHRlL2dzdHNtcHRlLmM6IChnc3Rfc21wdGVfaW5pdCk6CgkgICogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOiAoZ3N0X3ZpZGVvbWl4ZXJfaW5pdCk6CgkgIHVzZSBERUJVR19GVU5DUFRSIGZvciBjb2xsZWN0cGFkcwoKMjAwNi0wMy0yNCAwOTo1NDowMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzogRG9uJ3QgY3Jhc2ggd2hlbiBlbmNvZGluZyBpbWFnZXMgd2hlcmUgdGhlIG51bWJlciBvZiByb3dzIGlzbid0IGEgbXVsdGlwbGUgb2YgMipEQ1RTSVpFLiBBZGQgcy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6IChnc3RfanBlZ2VuY19pbml0KSwgKGdzdF9qcGVnZW5jX2NoYWluKToKCSAgRG9uJ3QgY3Jhc2ggd2hlbiBlbmNvZGluZyBpbWFnZXMgd2hlcmUgdGhlIG51bWJlciBvZiByb3dzIGlzbid0CgkgIGEgbXVsdGlwbGUgb2YgMipEQ1RTSVpFLiBBZGQgc29tZSBHU1RfREVCVUdfRlVOQ1BUUi4KCjIwMDYtMDMtMjMgMjE6Mjg6MDYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBNb3JlIHN0YXRlIGNoYW5nZSBmdW5jdGlvbiBmaXhlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6IChzcGVleF9kZWNfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYzogKGRlaW50ZXJsZWF2ZV9jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzogKGludGVybGVhdmVfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5jOiAoZ3N0X3dhdmVuY19jaGFuZ2Vfc3RhdGUpOgoJICBNb3JlIHN0YXRlIGNoYW5nZSBmdW5jdGlvbiBmaXhlcy4KCjIwMDYtMDMtMjMgMjA6MTI6NDcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvZXNkL2VzZHNpbmsuKjogRml4IGVzZCBjaG9wcHkgcGxheWJhY2sgYnkgY29uZmlndXJpbmcgYXVkaW9zaW5rIGNvcnJlY3RseS4gRml4ZXMgIzMyNTE5MQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZXNkL2VzZHNpbmsuYzogKGdzdF9lc2RzaW5rX2NsYXNzX2luaXQpLAoJICAoZ3N0X2VzZHNpbmtfZ2V0Y2FwcyksIChnc3RfZXNkc2lua19vcGVuKSwgKGdzdF9lc2RzaW5rX2Nsb3NlKSwKCSAgKGdzdF9lc2RzaW5rX3ByZXBhcmUpLCAoZ3N0X2VzZHNpbmtfdW5wcmVwYXJlKSwKCSAgKGdzdF9lc2RzaW5rX2RlbGF5KSwgKGdzdF9lc2RzaW5rX3Jlc2V0KToKCSAgKiBleHQvZXNkL2VzZHNpbmsuaDoKCSAgRml4IGVzZCBjaG9wcHkgcGxheWJhY2sgYnkgY29uZmlndXJpbmcgYXVkaW9zaW5rCgkgIGNvcnJlY3RseS4gRml4ZXMgIzMyNTE5MQoKMjAwNi0wMy0yMyAxOTo1NzozNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6IE1ha2Ugc3RhdGUgY2hhbmdlIGZ1bmN0aW9uIHRocmVhZC1zYWZlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOiAoZ3N0X3BuZ2RlY19jaGFuZ2Vfc3RhdGUpOgoJICBNYWtlIHN0YXRlIGNoYW5nZSBmdW5jdGlvbiB0aHJlYWQtc2FmZS4KCjIwMDYtMDMtMjMgMTY6NTA6MzIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogRG9uJ3QgdHJ5IHRvIHJlYWQgYmV5b25kIHRoZSBlbmQgb2YgdGhlIGZpbGUganVzdCBiZWNhdXNlIHRoZSBoZWFkZXIgY2xhaW1zIGEgYmlnZ2VyIHNpemUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IChnc3Rfd2F2cGFyc2VfZ2V0X3Vwc3RyZWFtX3NpemUpLAoJICAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9oZWFkZXJzKSwgKGdzdF93YXZwYXJzZV9zdHJlYW1fZGF0YSk6CgkgIERvbid0IHRyeSB0byByZWFkIGJleW9uZCB0aGUgZW5kIG9mIHRoZSBmaWxlIGp1c3QgYmVjYXVzZQoJICB0aGUgaGVhZGVyIGNsYWltcyBhIGJpZ2dlciBzaXplIChsaWtlIHdpdGggdHJ1bmNhdGVkIGZpbGVzKS4KCjIwMDYtMDMtMjMgMTU6MzY6MjcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuKjogRGVsYXkgc291cmNlIHBhZCBjcmVhdGlvbiB1bnRpbCB3ZSBoYXZlIHRoZSBmaXJzdCBjaHVuayBvZiBtZWRpYSBkYXRhLCBzbyB0aGUgd2UgY2FuIGV4YW0uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IChnc3Rfd2F2cGFyc2VfcGVyZm9ybV9zZWVrKSwKCSAgKGdzdF93YXZwYXJzZV9zdHJlYW1faGVhZGVycyksIChnc3Rfd2F2cGFyc2VfYWRkX3NyY19wYWQpLAoJICAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9kYXRhKSwgKGdzdF93YXZwYXJzZV9sb29wKToKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuaDoKCSAgRGVsYXkgc291cmNlIHBhZCBjcmVhdGlvbiB1bnRpbCB3ZSBoYXZlIHRoZSBmaXJzdCBjaHVuayBvZgoJICBtZWRpYSBkYXRhLCBzbyB0aGUgd2UgY2FuIGV4YW1pbmUgdGhlIGRhdGEgYW5kIGFkanVzdCB0aGUKCSAgY2FwcyBhY2NvcmRpbmdseSBpZiByZXF1aXJlZC4gVGhpcyBtYWtlcyBwbGF5YmFjayBvZiAud2F2CgkgIGZpbGVzIHdpdGggRFRTLWRlY2xhcmVkLWFzLVBDTSBjb250ZW50IHdvcmsgKCMzMTMyNjYpLgoKMjAwNi0wMy0yMiAxOTo1MDo1NiArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZ3N0LXBsdWdpbnMtZ29vZC5zcGVjLmluOgoJICBhZGQgdmlkZW9iYWxhbmNlIHBsdWduCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBhZGQgdmlkZW9iYWxhbmNlIHBsdWduCgoyMDA2LTAzLTIyIDEzOjAyOjExICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkqIENoYW5nZUxvZzoKCSAgbWVudGlvbiBmaXhlZCBidWcgbnVtYmVyIGluIHRoZSBjaGFuZ2Vsb2cKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIG1lbnRpb24gZml4ZWQgYnVnIG51bWJlciBpbiB0aGUgY2hhbmdlbG9nCgoyMDA2LTAzLTIyIDEzOjAwOjM0ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC86IERvbid0IGF0dGVtcHQgdHlwZWZpbmRpbmcgb24gdG9vLXNob3J0IGJ1ZmZlcnMgdGhhdCBoYXZlIGJlZW4gY29tcGxldGVseSB0cmltbWVkIGF3YXkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hcGV0YWcvZ3N0dGFnZGVtdXguYzogKGdzdF90YWdfZGVtdXhfY2hhaW4pOgoJICAqIGdzdC9pZDNkZW11eC9nc3RpZDNkZW11eC5jOiAoZ3N0X2lkM2RlbXV4X2NoYWluKToKCSAgRG9uJ3QgYXR0ZW1wdCB0eXBlZmluZGluZyBvbiB0b28tc2hvcnQgYnVmZmVycyB0aGF0IGhhdmUgYmVlbgoJICBjb21wbGV0ZWx5IHRyaW1tZWQgYXdheS4KCSAgKiBnc3QvaWQzZGVtdXgvaWQzdGFncy5jOiAoaWQzZGVtdXhfcmVhZF9pZDN2Ml90YWcpOgoJICBJbXByb3ZlIHRoZSBkZWJ1ZyBvdXRwdXQKCjIwMDYtMDMtMjEgMTg6MTI6NTkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvZXNkL2VzZHNpbmsuYzogU29tZSBjbGVhbnVwcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2VzZC9lc2RzaW5rLmM6IChnc3RfZXNkc2lua19jbGFzc19pbml0KSwgKGdzdF9lc2RzaW5rX2luaXQpLAoJICAoZ3N0X2VzZHNpbmtfZmluYWxpemUpLCAoZ3N0X2VzZHNpbmtfZ2V0Y2FwcyksIChnc3RfZXNkc2lua19vcGVuKSwKCSAgKGdzdF9lc2RzaW5rX2Nsb3NlKSwgKGdzdF9lc2RzaW5rX3ByZXBhcmUpLCAoZ3N0X2VzZHNpbmtfd3JpdGUpLAoJICAoZ3N0X2VzZHNpbmtfc2V0X3Byb3BlcnR5KSwgKGdzdF9lc2RzaW5rX2dldF9wcm9wZXJ0eSk6CgkgIFNvbWUgY2xlYW51cHMuCgkgIFJlc2V0IGZkIHRvIC0xIHdoZW4gd2UgY2xvc2UgdGhlbS4KCjIwMDYtMDMtMjEgMTY6MTk6MzcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IHRoZSBPUFRJT05TIHJlcXVlc3QgcmVzdWx0IGlzIG9wdGlvbmFsIHNvIGRvbid0IGZhaWwgb24gaXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX29wZW4pOgoJICB0aGUgT1BUSU9OUyByZXF1ZXN0IHJlc3VsdCBpcyBvcHRpb25hbCBzbyBkb24ndAoJICBmYWlsIG9uIGl0LgoKMjAwNi0wMy0yMSAxNDo1MzozNiArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC86IGdjYyA0LjEgdW5yZWZlcmVuY2VkIHBvaW50ZXIgZml4ZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hcGV0YWcvZ3N0dGFnZGVtdXguYzogKGdzdF90YWdfZGVtdXhfcmVzZXQpOgoJICAqIGdzdC9pZDNkZW11eC9nc3RpZDNkZW11eC5jOiAoZ3N0X2lkM2RlbXV4X3Jlc2V0KToKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogKGdzdF93YXZwYXJzZV9jcmVhdGVfc291cmNlcGFkKSwKCSAgKGdzdF93YXZwYXJzZV9zdHJlYW1faGVhZGVycyksIChnc3Rfd2F2cGFyc2Vfc2VuZF9ldmVudCksCgkgIChnc3Rfd2F2cGFyc2VfY2hhbmdlX3N0YXRlKToKCSAgZ2NjIDQuMSB1bnJlZmVyZW5jZWQgcG9pbnRlciBmaXhlcy4KCjIwMDYtMDMtMjEgMTM6MDc6MzEgKzAwMDAgIFRvbW1pIE15w7Zow6RuZW4gPGV4dC10b21taS5teW9oYW5lbkBub2tpYS5jb20+CgoJICBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogRml4IGJsb2NrIGFsaWdubWVudCBjYWxjdWxhdGlvbi4gQWxpZ25tZW50IHNob3VsZCBiZSBkb25lIGJlZm9yZSBhZGRpbmcgdGhlIGJ5dGUgb2Zmc2V0IHcuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBUb21taSBNecO2aMOkbmVuICA8ZXh0LXRvbW1pIGRvdCBteW9oYW5lbiBhdCBub2tpYSBkb3QgY29tPgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiAoZ3N0X3dhdnBhcnNlX3BlcmZvcm1fc2Vlayk6CgkgIEZpeCBibG9jayBhbGlnbm1lbnQgY2FsY3VsYXRpb24uIEFsaWdubWVudCBzaG91bGQgYmUgZG9uZSBiZWZvcmUKCSAgYWRkaW5nIHRoZSBieXRlIG9mZnNldCB3aGVyZSB0aGUgZGF0YSBzdGFydHMgKCMzMzUyMzEpLgoKMjAwNi0wMy0yMCAxODozNDoyMSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS5jOiBFbnN1cmUgdGhhdCB3ZSBzZXQgY29ycmVjdCBjYXBzIG9uIGJ1ZmZlcnMgdGhhdCBhcmUgdHJhbnNmZXJyZWQgZGlyZWN0IGZyb20gdGhlIGlucHV0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS5jOiAoZ3N0X2VibWxfd3JpdGVfZWxlbWVudF9wdXNoKToKCSAgRW5zdXJlIHRoYXQgd2Ugc2V0IGNvcnJlY3QgY2FwcyBvbiBidWZmZXJzIHRoYXQgYXJlIHRyYW5zZmVycmVkCgkgIGRpcmVjdCBmcm9tIHRoZSBpbnB1dC4KCjIwMDYtMDMtMjAgMTc6Mzg6NDggKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0L2dvb20vOiBGcmVlIGZpbHRlciBkYXRhIHdoZW4gY2xlYW5pbmcgdXAuIChGaXhlczogIzMzNDk5NSkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2dvb20vZmlsdGVycy5jOiAoem9vbUZpbHRlckRlc3Ryb3kpOgoJICAqIGdzdC9nb29tL2dvb21fY29yZS5jOiAoZ29vbV9jbG9zZSk6CgkgIEZyZWUgZmlsdGVyIGRhdGEgd2hlbiBjbGVhbmluZyB1cC4gKEZpeGVzOiAjMzM0OTk1KQoKMjAwNi0wMy0yMCAwODo1OToyOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC90YWdsaWIvZ3N0dGFnbGliLmg6IEZpeCBsZWZ0LW92ZXIgZ3N0X215X2ZpbHRlcl9nZXRfdHlwZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3RhZ2xpYi9nc3R0YWdsaWIuaDoKCSAgRml4IGxlZnQtb3ZlciBnc3RfbXlfZmlsdGVyX2dldF90eXBlLgoKMjAwNi0wMy0xNyAxNjozNDozNiArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6CgkgIEhhdmUgYSBzaG93IG1vdXNlIHBvaW50ZXIgcHJvcGVydHkgYW5kIHVzZSBpdCBpZiB3ZSBjYW4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEhhdmUgYSBzaG93IG1vdXNlIHBvaW50ZXIgcHJvcGVydHkgYW5kIHVzZSBpdCBpZiB3ZSBjYW4KCjIwMDYtMDMtMTcgMTU6MzM6MDggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBjb25maWd1cmUuYWM6IERvbid0IGNvbXBpbGUgdWRwIGFuZCBydHNwIHBsdWdpbnMgb24gd2luMzIgKG1pbmd3KSBvciBvdGhlciBzeXN0ZW1zIHRoYXQgZG9uJ3QgaGF2ZSA8c3lzL3NvY2tldC5oPiBmb3IuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBEb24ndCBjb21waWxlIHVkcCBhbmQgcnRzcCBwbHVnaW5zIG9uIHdpbjMyIChtaW5ndykgb3Igb3RoZXIKCSAgc3lzdGVtcyB0aGF0IGRvbid0IGhhdmUgPHN5cy9zb2NrZXQuaD4gZm9yIHNvbWUgcmVhc29uICgjMzE2MjAzKS4KCjIwMDYtMDMtMTYgMTc6Mjg6MDcgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9yYXcxMzk0L2dzdGR2MTM5NHNyYy5jOgoJKiBleHQvcmF3MTM5NC9nc3RkdjEzOTRzcmMuaDoKCSAgQ2hhbmdlIGJ1cyByZXNldCBoYW5kbGVyIHNvIGl0IHJlcG9ydHMgdXNlZnVsIGluZm9ybWF0aW9uIHN1Y2ggYXMgd2hldGhlciB0aGUgZGV2aWNlIGJlaW5nIHVzZWQgY29ubmVjdGVkIG9yIGRpc2Nvbm5lLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBDaGFuZ2UgYnVzIHJlc2V0IGhhbmRsZXIgc28gaXQgcmVwb3J0cyB1c2VmdWwgaW5mb3JtYXRpb24gc3VjaCBhcwoJICB3aGV0aGVyIHRoZSBkZXZpY2UgYmVpbmcgdXNlZCBjb25uZWN0ZWQgb3IgZGlzY29ubmVjdGVkCgoyMDA2LTAzLTE2IDE2OjA2OjIyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2lkM2RlbXV4L2lkM3YyZnJhbWVzLmM6IFdlIG9ubHkgY2FyZSBhYm91dCBnYWluIGFuZCBwZWFrIGRhdGEgZm9yIHRoZSBtYXN0ZXIgdm9sdW1lLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaWQzZGVtdXgvaWQzdjJmcmFtZXMuYzoKCSAgKHBhcnNlX3JlbGF0aXZlX3ZvbHVtZV9hZGp1c3RtZW50X3R3byk6CgkgIFdlIG9ubHkgY2FyZSBhYm91dCBnYWluIGFuZCBwZWFrIGRhdGEgZm9yIHRoZSBtYXN0ZXIgdm9sdW1lLgoKMjAwNi0wMy0xNiAxMzoyMjoyOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9pZDNkZW11eC9pZDN2MmZyYW1lcy5jOiBSZWFkIHJlcGxheSBnYWluIHRhZ3MgKCMzMjM3MjEpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaWQzZGVtdXgvaWQzdjJmcmFtZXMuYzogKGlkM2RlbXV4X2lkM3YyX3BhcnNlX2ZyYW1lKSwKCSAgKHBhcnNlX2lkX3N0cmluZyksIChwYXJzZV91bmlxdWVfZmlsZV9pZGVudGlmaWVyKSwKCSAgKHBhcnNlX3JlbGF0aXZlX3ZvbHVtZV9hZGp1c3RtZW50X3R3byksIChpZDN2Ml90YWdfdG9fdGFnbGlzdCk6CgkgIFJlYWQgcmVwbGF5IGdhaW4gdGFncyAoIzMyMzcyMSkuCgoyMDA2LTAzLTE1IDIzOjE5OjMwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgY29uZmlndXJlLmFjOiBCdW1wIHJlcXVpcmVtZW50cyB0byBnc3QtcGx1Z2lucy1iYXNlIENWUyBiZWNhdXNlIG9mIGJ1Z2d5IGdzdF90YWdfZnJvbV9pZDNfdXNlcl90YWcoKSBpbiAwLjEwLjUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQnVtcCByZXF1aXJlbWVudHMgdG8gZ3N0LXBsdWdpbnMtYmFzZSBDVlMgYmVjYXVzZQoJICBvZiBidWdneSBnc3RfdGFnX2Zyb21faWQzX3VzZXJfdGFnKCkgaW4gMC4xMC41LgoKMjAwNi0wMy0xNSAyMjozMDoyNCArMDAwMCAgUGhpbGlwcGUgS2FsYWYgPHBoaWxpcHBlLmthbGFmQGNvbGxhYm9yYS5jby51az4KCgkqIENoYW5nZUxvZzoKCSogZ3N0L3J0cC9nc3RydHBwY21hZGVwYXkuYzoKCSAgRml4ZWQgb25lIG9mIHRoZSBjYXBzIGluIHRoZSBjb2RlIGZyb20gbXVsYXcgdG8gYWxhdy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEZpeGVkIG9uZSBvZiB0aGUgY2FwcyBpbiB0aGUgY29kZSBmcm9tIG11bGF3IHRvIGFsYXcuCgoyMDA2LTAzLTE1IDE2OjIxOjM4ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC9hcGV0YWcvZ3N0dGFnZGVtdXguYzogRW5zdXJlIHRoYXQgd2Ugc2V0IGNhcHMgb24gdGhlIGJ1ZmZlcnMgd2UgcGFzcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2FwZXRhZy9nc3R0YWdkZW11eC5jOiAoZ3N0X3RhZ19kZW11eF9jaGFpbik6CgkgIEVuc3VyZSB0aGF0IHdlIHNldCBjYXBzIG9uIHRoZSBidWZmZXJzIHdlIHBhc3MuCgkgICogZ3N0L2lkM2RlbXV4L2dzdGlkM2RlbXV4LmM6IChnc3RfaWQzZGVtdXhfY2hhaW4pLAoJICAoZ3N0X2lkM2RlbXV4X3NpbmtfYWN0aXZhdGUpOgoJICBFbnN1cmUgdGhhdCB3ZSBzZXQgY2FwcyBvbiB0aGUgYnVmZmVycyB3ZSBwYXNzLgoJICBVc2UgU1RSRUFNLCBUWVBFX05PVF9GT1VORCBhcyB0aGUgZXJyb3IgY2xhc3Mgd2hlbgoJICB0eXBlZmluZGluZyBmYWlscy4KCjIwMDYtMDMtMTUgMTY6MTc6MTIgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBGaXggbWVtbGVhayB3aXRoIGdzdF9zdGF0aWNfcGFkX3RlbXBsYXRlX2dldCgpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvY2Fpcm8vZ3N0dGV4dG92ZXJsYXkuYzogKGdzdF90ZXh0X292ZXJsYXlfaW5pdCk6CgkgICogZXh0L2R2L2dzdGR2ZGVtdXguYzogKGdzdF9kdmRlbXV4X2luaXQpLCAoZ3N0X2R2ZGVtdXhfYWRkX3BhZHMpOgoJICAqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zi5jOiAoZ3N0X2dka19waXhidWZfaW5pdCk6CgkgICogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOiAoZ3N0X2pwZWdfZGVjX2luaXQpLAoJICAoZ3N0X2pwZWdfZGVjX3NldGNhcHMpOgoJICAqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzogKGdzdF9qcGVnZW5jX2luaXQpOgoJICAqIGV4dC9qcGVnL2dzdHNtb2tlZGVjLmM6IChnc3Rfc21va2VkZWNfaW5pdCk6CgkgICogZXh0L2pwZWcvZ3N0c21va2VlbmMuYzogKGdzdF9zbW9rZWVuY19pbml0KToKCSAgKiBleHQvbGlibW5nL2dzdG1uZ2RlYy5jOiAoZ3N0X21uZ2RlY19pbml0KSwKCSAgKGdzdF9tbmdkZWNfc3JjX2dldGNhcHMpOgoJICAqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6IChnc3RfcG5nZGVjX2luaXQpLAoJICAoZ3N0X3BuZ2RlY19jYXBzX2NyZWF0ZV9hbmRfc2V0KToKCSAgKiBleHQvbGlicG5nL2dzdHBuZ2VuYy5jOiAoZ3N0X3BuZ2VuY19pbml0KToKCSAgKiBleHQvbWlrbW9kL2dzdG1pa21vZC5jOiAoZ3N0X21pa21vZF9pbml0KToKCSAgKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzogKGdzdF9zcGVleF9kZWNfaW5pdCk6CgkgICogZ3N0L2FscGhhL2dzdGFscGhhLmM6IChnc3RfYWxwaGFfaW5pdCk6CgkgICogZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS5jOiAoZ3N0X2F1X3BhcnNlX2luaXQpOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfaW5pdCksCgkgIChnc3RfYXZpX2RlbXV4X2hhbmRsZV9zcmNfZXZlbnQpLCAoZ3N0X2F2aV9kZW11eF9wYXJzZV9zdHJlYW0pOgoJICAqIGdzdC9jdXR0ZXIvZ3N0Y3V0dGVyLmM6IChnc3RfY3V0dGVyX2luaXQpOgoJICAqIGdzdC9kZWJ1Zy9lZmVuY2UuYzogKGdzdF9lZmVuY2VfaW5pdCksIChnc3RfZWZlbmNlX2dldHJhbmdlKSwKCSAgKGdzdF9lZmVuY2VfY2hlY2tnZXRyYW5nZSk6CgkgICogZ3N0L2RlYnVnL25lZ290aWF0aW9uLmM6IChnc3RfbmVnb3RpYXRpb25faW5pdCk6CgkgICogZ3N0L2ZseC9nc3RmbHhkZWMuYzogKGdzdF9mbHhkZWNfaW5pdCk6CgkgICogZ3N0L2dvb20vZ3N0Z29vbS5jOiAoZ3N0X2dvb21faW5pdCk6CgkgICogZ3N0L3J0cC9nc3Rhc3Rlcmlza2gyNjMuYzogKGdzdF9hc3Rlcmlza2gyNjNfaW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBMMTZkZXBheS5jOiAoZ3N0X3J0cF9MMTZkZXBheV9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cEwxNnBheS5jOiAoZ3N0X3J0cEwxNnBheV9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5LmM6IChnc3RfcnRwX2Ftcl9kZXBheV9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cGRlcGF5LmM6IChnc3RfcnRwX2RlcGF5X2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXBhZGVwYXkuYzogKGdzdF9ydHBfbXBhX2RlcGF5X2luaXQpOgoJICAqIGdzdC9ydHNwL2dzdHJ0cGRlYy5jOiAoZ3N0X3J0cGRlY19pbml0KToKCSAgKiBnc3Qvc21wdGUvZ3N0c21wdGUuYzogKGdzdF9zbXB0ZV9pbml0KToKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogKGdzdF93YXZwYXJzZV9pbml0KSwKCSAgKGdzdF93YXZwYXJzZV9jcmVhdGVfc291cmNlcGFkKToKCSAgRml4IG1lbWxlYWsgd2l0aCBnc3Rfc3RhdGljX3BhZF90ZW1wbGF0ZV9nZXQoKS4KCSAgVGhpcyB1c2VzIGdzdF9wYWRfbmV3X2Zyb21fc3RhdGljX3RlbXBsYXRlKCkgaW5zdGVhZC4KCSAgRml4ZXMgIzMzMzUxMgoKMjAwNi0wMy0xNSAxNTowODoyMCArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogTGV0J3Mgbm90IGZvcmdldCB0byBjaGFpbiB1cCB0byB0aGUgcGFyZW50IGRpc3Bvc2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2Rpc3Bvc2UpOgoJICBMZXQncyBub3QgZm9yZ2V0IHRvIGNoYWluIHVwIHRvIHRoZSBwYXJlbnQgZGlzcG9zZS4KCjIwMDYtMDMtMTUgMTQ6Mzk6MjUgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IFNlcmllcyBvZiBtZW1sZWFrIGZpeGVzOgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9jbGFzc19pbml0KSwKCSAgKGdzdF9xdGRlbXV4X2luaXQpLCAoZ3N0X3F0ZGVtdXhfZGlzcG9zZSksCgkgIChnc3RfcXRkZW11eF9hZGRfc3RyZWFtKSwgKHF0ZGVtdXhfcGFyc2VfdHJhayk6CgkgIFNlcmllcyBvZiBtZW1sZWFrIGZpeGVzOgoJICAtIFVucmVmIHRoZSBHc3RBZGFwdGVyIGluIGZpbmFsaXplLgoJICAtIFVzZSBnc3RfcGFkX25ld19mcm9tX3N0YXRpY190ZW1wbGF0ZSgpLCBzaG9ydGVyIGFuZCBzYWZlci4KCSAgLSBGcmVlIHVudXNlZCBRdERlbXV4U3RyZWFtIHdoZW4gbm90IHVzZWQuCgoyMDA2LTAzLTE0IDE3OjU2OjAyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgY29uZmlndXJlLmFjOiBCdW1wIC1iYXNlIHJlcXVpcmVtZW50IHRvIDAuMTAuNSBmb3IgZ3N0X3RhZ19mcm9tX2lkM191c2VyX3RhZygpLCB1c2VkIGJ5IGlkM2RlbXV4LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIEJ1bXAgLWJhc2UgcmVxdWlyZW1lbnQgdG8gMC4xMC41IGZvciBnc3RfdGFnX2Zyb21faWQzX3VzZXJfdGFnKCksCgkgIHVzZWQgYnkgaWQzZGVtdXguCgkgICogZ3N0L2lkM2RlbXV4L2dzdGlkM2RlbXV4LmM6IChwbHVnaW5faW5pdCk6CgkgICogZ3N0L2lkM2RlbXV4L2lkM3YyZnJhbWVzLmM6IChpZDNkZW11eF9pZDN2Ml9wYXJzZV9mcmFtZSksCgkgIChwYXJzZV91c2VyX3RleHRfaWRlbnRpZmljYXRpb25fZnJhbWUpLAoJICAocGFyc2VfdW5pcXVlX2ZpbGVfaWRlbnRpZmllcik6CgkgIEFkZCBzdXBwb3J0IGZvciBVRklEIGFuZCBUWFhYIGZyYW1lcyBhbmQgZXh0cmFjdCBtdXNpY2JyYWlueiB0YWdzLgoKMjAwNi0wMy0xNCAxNzoyNDowMyArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIHN5cy92NGwyL2dzdHY0bDJzcmMuYzogSW5pdGlhbGl6YXRpb24gb2YgdGhlIGRlYnVnZ2luZyBjYXRlZ29yeSBzaG91bGQgYmUgYXMgZWFybHkgYXMgcG9zc2libGUsIG1vdmluZyBpdCBmcm9tIF9jbGFzcy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6IChnc3RfdjRsMnNyY19iYXNlX2luaXQpLAoJICAoZ3N0X3Y0bDJzcmNfY2xhc3NfaW5pdCk6CgkgIEluaXRpYWxpemF0aW9uIG9mIHRoZSBkZWJ1Z2dpbmcgY2F0ZWdvcnkgc2hvdWxkIGJlIGFzIGVhcmx5IGFzIHBvc3NpYmxlLAoJICBtb3ZpbmcgaXQgZnJvbSBfY2xhc3NfaW5pdCgpIHRvIGJlZ2lubmluZyBvZiBfYmFzZV9pbml0KCkuCgoyMDA2LTAzLTE0IDE1OjI4OjAwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiBDYXRjaCBzaG9ydCByZWFkcywgbGlrZSB0aGV5IG1pZ2h0IGhhcHBlbiB3aXRoIHRydW5jYXRlZCBmaWxlcyAoc2VlICMzMDUyNzkpOyByZW1vdmUgdW5uZWNlc3NhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfcHJvY2Vzc19uZXh0X2VudHJ5KToKCSAgQ2F0Y2ggc2hvcnQgcmVhZHMsIGxpa2UgdGhleSBtaWdodCBoYXBwZW4gd2l0aCB0cnVuY2F0ZWQKCSAgZmlsZXMgKHNlZSAjMzA1Mjc5KTsgcmVtb3ZlIHVubmVjZXNzYXJ5IGluZGVudGF0aW9uLgoKMjAwNi0wMy0xNCAxNDoxODoxNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogRml4IERJQiBpbWFnZSBpbnZlcnNpb24gZm9yIHBpY3R1cmVzIHdpdGggYSBkZXB0aCAhPSA4ICgjMzA1Mjc5KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9pbnZlcnQpOgoJICBGaXggRElCIGltYWdlIGludmVyc2lvbiBmb3IgcGljdHVyZXMgd2l0aCBhCgkgIGRlcHRoICE9IDggKCMzMDUyNzkpLgoKMjAwNi0wMy0xNCAwOToyMzowOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9qcGVnL2dzdGpwZWdkZWMuKjogRml4IGR1cmF0aW9ucyBvbiBvdXRnb2luZyBidWZmZXJzIGFmdGVyIHNlZWtpbmcgaW4gTUpQRUcgZmlsZXMgKCMzMzQwODMpOyBzb21lIG1pbm9yIGNsZWFuLXVwcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOiAoZ3N0X2pwZWdfZGVjX2NsYXNzX2luaXQpLAoJICAoZ3N0X2pwZWdfZGVjX2NoYWluKSwgKGdzdF9qcGVnX2RlY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9qcGVnL2dzdGpwZWdkZWMuaDoKCSAgRml4IGR1cmF0aW9ucyBvbiBvdXRnb2luZyBidWZmZXJzIGFmdGVyIHNlZWtpbmcKCSAgaW4gTUpQRUcgZmlsZXMgKCMzMzQwODMpOyBzb21lIG1pbm9yIGNsZWFuLXVwcy4KCjIwMDYtMDMtMTMgMTg6Mjg6MTggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogSW1wbGVtZW50IHNlZWsgaW4gUkVBRFkgKHJlLWZpeGVzICMzMjc2NTgpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiAoZ3N0X3dhdnBhcnNlX3Jlc2V0KSwKCSAgKGdzdF93YXZwYXJzZV9jaGFuZ2Vfc3RhdGUpOgoJICBJbXBsZW1lbnQgc2VlayBpbiBSRUFEWSAocmUtZml4ZXMgIzMyNzY1OCkKCjIwMDYtMDMtMTMgMTc6MjI6MTkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvdGFnbGliL2dzdHRhZ2xpYi5jYzogQWRkIGd0ay1kb2MgYmx1cmIgKHVudXNlZCBmb3IgdGhlIHRpbWUgYmVpbmcpOyBtYXRjaCByZWdpc3RlcmVkIHBsdWdpbiBuYW1lIHRvIHRoZSBmaWxlbmFtZSAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3RhZ2xpYi9nc3R0YWdsaWIuY2M6CgkgIEFkZCBndGstZG9jIGJsdXJiICh1bnVzZWQgZm9yIHRoZSB0aW1lIGJlaW5nKTsgbWF0Y2ggcmVnaXN0ZXJlZAoJICBwbHVnaW4gbmFtZSB0byB0aGUgZmlsZW5hbWUgb2YgdGhlIHBsdWdpbiAodGFnbGlibXV4ID0+IHRhZ2xpYikKCjIwMDYtMDMtMTMgMTU6NDk6MDggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBjbG9zZSAjMzMzNzg0IHVucmVmIHRoZSByZXN1bHQgb2YgZ3N0X3BhZF9nZXRfcGFyZW50KCkgYnk6IENocmlzdG9waGUgRmVyZ2VhdS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2NhaXJvL2dzdHRleHRvdmVybGF5LmM6IChnc3RfdGV4dF9vdmVybGF5X3NldGNhcHMpOgoJICAqIGV4dC9lc2QvZXNkbW9uLmM6IChnc3RfZXNkbW9uX2dldCk6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY3RhZy5jOiAoZ3N0X2ZsYWNfdGFnX2NoYWluKToKCSAgKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWYuYzogKGdzdF9nZGtfcGl4YnVmX3Npbmtfc2V0Y2FwcyksCgkgIChnc3RfZ2RrX3BpeGJ1Zl9zaW5rX2dldGNhcHMpOgoJICAqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzogKGdzdF9qcGVnZW5jX2dldGNhcHMpLAoJICAoZ3N0X2pwZWdlbmNfc2V0Y2Fwcyk6CgkgICogZXh0L2pwZWcvZ3N0c21va2VkZWMuYzogKGdzdF9zbW9rZWRlY19jaGFpbik6CgkgICogZXh0L2pwZWcvZ3N0c21va2VlbmMuYzogKGdzdF9zbW9rZWVuY19nZXRjYXBzKSwKCSAgKGdzdF9zbW9rZWVuY19zZXRjYXBzKToKCSAgKiBleHQvbGlibW5nL2dzdG1uZ2RlYy5jOiAoZ3N0X21uZ2RlY19zaW5rbGluayksCgkgIChnc3RfbW5nZGVjX3NyY19nZXRjYXBzKToKCSAgKiBleHQvbGlibW5nL2dzdG1uZ2VuYy5jOiAoZ3N0X21uZ2VuY19zaW5rbGluayksCgkgIChnc3RfbW5nZW5jX2NoYWluKToKCSAgKiBleHQvbGlicG5nL2dzdHBuZ2VuYy5jOiAoZ3N0X3BuZ2VuY19zZXRjYXBzKToKCSAgKiBleHQvbWlrbW9kL2dzdG1pa21vZC5jOiAoZ3N0X21pa21vZF9zcmNsaW5rKToKCSAgKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzogKHNwZWV4X2RlY19jb252ZXJ0KSwKCSAgKHNwZWV4X2RlY19zcmNfZXZlbnQpLCAoc3BlZXhfZGVjX2NoYWluKToKCSAgKiBnc3QvYXZpL2dzdGF2aW11eC5jOiAoZ3N0X2F2aW11eF92aWRzaW5rY29ubmVjdCksCgkgIChnc3RfYXZpbXV4X2F1ZHNpbmtjb25uZWN0KSwgKGdzdF9hdmltdXhfaGFuZGxlX2V2ZW50KToKCSAgKiBnc3QvZGVidWcvbmVnb3RpYXRpb24uYzogKGdzdF9uZWdvdGlhdGlvbl9nZXRjYXBzKSwKCSAgKGdzdF9uZWdvdGlhdGlvbl9wYWRfbGluayksIChnc3RfbmVnb3RpYXRpb25fY2hhaW4pOgoJICAqIGdzdC9mbHgvZ3N0Zmx4ZGVjLmM6IChnc3RfZmx4ZGVjX3NyY19xdWVyeV9oYW5kbGVyKSwKCSAgKGdzdF9mbHhkZWNfY2hhaW4pOgoJICAqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOiAoZGVpbnRlcmxlYXZlX3NpbmtfbGluayksCgkgIChkZWludGVybGVhdmVfY2hhaW4pOgoJICAqIGdzdC9sYXcvbXVsYXctZW5jb2RlLmM6IChtdWxhd2VuY19zZXRjYXBzKToKCSAgKiBnc3QvbWVkaWFuL2dzdG1lZGlhbi5jOiAoZ3N0X21lZGlhbl9saW5rKToKCSAgKiBnc3QvbW9ub3Njb3BlL2dzdG1vbm9zY29wZS5jOiAoZ3N0X21vbm9zY29wZV9zcmNjb25uZWN0KSwKCSAgKGdzdF9tb25vc2NvcGVfY2hhaW4pOgoJICAqIGdzdC9ydHAvZ3N0cnRwTDE2cGF5LmM6IChnc3RfcnRwTDE2cGF5X3Npbmtjb25uZWN0KToKCSAgKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5jOiAoZ3N0X3dhdmVuY19zaW5rX3NldGNhcHMpOgoJICAqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NpbmsuYzogKGdzdF9vc3hhdWRpb3NpbmtfY2hhaW4pOgoJICAqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NyYy5jOiAoZ3N0X29zeGF1ZGlvc3JjX2dldCk6CgkgIGNsb3NlICMzMzM3ODQgdW5yZWYgdGhlIHJlc3VsdCBvZiBnc3RfcGFkX2dldF9wYXJlbnQoKQoJICBieTogQ2hyaXN0b3BoZSBGZXJnZWF1LgoKMjAwNi0wMy0xMyAxMDowNTowOSArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBGaXggYnVpbGQgb2YgdjRsMiAoc2lnaCkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDMtMTMgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZGVjbC1saXN0LnR4dDoKCSAgKiBzeXMvdjRsMi9NYWtlZmlsZS5hbTogRml4IGJ1aWxkIG9mIHY0bDIgKHNpZ2gpCgoyMDA2LTAzLTEyIDE1OjMzOjAwICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOiBnX2F0b21pY19pbnRfc2V0IGlzIG9ubHkgYXZhaWxhYmxlIGluIGdsaWItMC4xMCwgdXNlIGdzdF9hdG9taWNfaW50X2V0IGluc3RlYWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzogKGdzdF92NGwyc3JjX2NhcHR1cmVfaW5pdCksCgkgIChnc3RfdjRsMnNyY19idWZmZXJfcG9vbF9mcmVlKToKCSAgZ19hdG9taWNfaW50X3NldCBpcyBvbmx5IGF2YWlsYWJsZSBpbiBnbGliLTAuMTAsIHVzZSBnc3RfYXRvbWljX2ludF9ldAoJICBpbnN0ZWFkLgoKMjAwNi0wMy0xMiAxNToyNTo1MSArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIHN5cy92NGwyL2dzdHY0bDJlbGVtZW50Lmg6IFJlbW92ZSB0aW0ncyBhZGRpdGlvbiBvZiAiX3N0ZGludC5oIiBzaW5jZSBpdCBkb2Vzbid0IG1ha2UgdGhlIFBQQyBidWlsZGJvdCBoYXBweS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMmVsZW1lbnQuaDoKCSAgUmVtb3ZlIHRpbSdzIGFkZGl0aW9uIG9mICJfc3RkaW50LmgiIHNpbmNlIGl0IGRvZXNuJ3QgbWFrZSB0aGUgUFBDCgkgIGJ1aWxkYm90IGhhcHB5LgoJICBJIHdpbGwganVzdCB1c2UgdGhlIHNhbWUgY29tbWVudCBSb25hbGQgdXNlZCB3aGVuIGhlIGFkZGVkIHRoZXNlIGxpbmVzOgoJICBZZXQgQW5vdGhlciBIYWNrICh0bSkgZm9yIGtlcm5lbCBoZWFkZXIgYm9ya2VkbmVzcy4KCjIwMDYtMDMtMTIgMTU6MDI6MDIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvdGFnbGliLzogQWRkIHN1cHBvcnQgZm9yIHdyaXRpbmcgTXVzaWNCcmFpbnogSURzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvdGFnbGliL01ha2VmaWxlLmFtOgoJICAqIGV4dC90YWdsaWIvZ3N0dGFnbGliLmNjOgoJICAqIGV4dC90YWdsaWIvZ3N0dGFnbGliLmg6CgkgIEFkZCBzdXBwb3J0IGZvciB3cml0aW5nIE11c2ljQnJhaW56IElEcy4KCjIwMDYtMDMtMTIgMTQ6NDM6NTcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBzeXMvdjRsMi9nc3R2NGwyZWxlbWVudC5oOiBJbmNsdWRlICJfc3RkaW50LmgiIGluIGFuIGF0dGVtcHQgdG8gbWFrZSB0aGUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMmVsZW1lbnQuaDoKCSAgSW5jbHVkZSAiX3N0ZGludC5oIiBpbiBhbiBhdHRlbXB0IHRvIG1ha2UgdGhlCgkgIFBQQy1idWlsZGJvdCBoYXBweS4KCjIwMDYtMDMtMTEgMjI6NTA6MDMgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIHN5cy92NGwyL01ha2VmaWxlLmFtOgoJKiBzeXMvdjRsMi9nc3R2NGwyLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJjb2xvcmJhbGFuY2UuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMmVsZW1lbnQuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmVsZW1lbnQuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJ0dW5lci5jOgoJKiBzeXMvdjRsMi9nc3R2NGwydHVuZXIuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnhvdmVybGF5LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ4b3ZlcmxheS5oOgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuaDoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmg6CgkgIFY0TDIgcG9ydGVkIHRvIDAuMTAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBWNEwyIHBvcnRlZCB0byAwLjEwLgoKMjAwNi0wMy0xMSAxMDo1ODowOCArMDAwMCAgQWxleCBMYW5jYXN0ZXIgPGFsZXhsYW5AZmVkb3JhcHJvamVjdC5vcmc+CgoJICBleHQvdGFnbGliL2dzdHRhZ2xpYi5jYzogYW5kIGFkZCBzdXBwb3J0IGZvciBUQ09QIChjb3B5cmlnaHQpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTAzLTExICBDaHJpc3RvcGhlIEZlcmdlYXUgIDx0ZXVmQGdub21lLm9yZz4KCSAgUGF0Y2ggYnk6IEFsZXggTGFuY2FzdGVyCgkgICogZXh0L3RhZ2xpYi9nc3R0YWdsaWIuY2M6IGZpeCB3cml0aW5nIG9mIFRQT1MgdGFncyAoYWxidW0gbnVtYmVyKSwKCSAgYW5kIGFkZCBzdXBwb3J0IGZvciBUQ09QIChjb3B5cmlnaHQpCgoyMDA2LTAzLTA5IDIwOjAyOjQ0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBGaXggYnVpbGQgd2l0aCBnY2MtNC4xICgjMzI3MzU1KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfc2VuZF9ldmVudCk6CgkgIEZpeCBidWlsZCB3aXRoIGdjYy00LjEgKCMzMjczNTUpLgoKMjAwNi0wMy0wOSAxNzo0NDoxNyArMDAwMCAgQ2hyaXN0b3BoZSBGZXJnZWF1IDx0ZXVmQGdub21lLm9yZz4KCgkgIG5ldyBpZDN2MiBtdXhlciBiYXNlZCBvbiBUYWdMaWIKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDMtMDkgIENocmlzdG9waGUgRmVyZ2VhdSAgPHRldWZAZ25vbWUub3JnPgoJICByZXZpZXdlZCBieTogVGltLVBoaWxpcHAgTcO8bGxlciAgPHRpbSBhdCBjZW50cmljdWxhciBkb3QgbmV0PgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvTWFrZWZpbGUuYW06CgkgICogZXh0L3RhZ2xpYi9NYWtlZmlsZS5hbToKCSAgKiBleHQvdGFnbGliL2dzdHRhZ2xpYi5jYzoKCSAgKiBleHQvdGFnbGliL2dzdHRhZ2xpYi5oOiBuZXcgaWQzdjIgbXV4ZXIgYmFzZWQgb24gVGFnTGliCgoyMDA2LTAzLTA5IDExOjQ3OjMyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L2R2L2dzdGR2ZGVtdXguYzogSGFuZGxlIGV2ZW50cyBpbiBwdXNoIG1vZGUgYmV0dGVyLCBjYW4gbm93IGRvIG5vbi1mbHVzaGluZyBzZWVrcyBpbiBwdXNoIG1vZGUgYXMgd2VsbC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2R2L2dzdGR2ZGVtdXguYzogKGdzdF9kdmRlbXV4X2hhbmRsZV9zaW5rX2V2ZW50KSwKCSAgKGdzdF9kdmRlbXV4X2NvbnZlcnRfc2VnbWVudCksIChnc3RfZHZkZW11eF9kZW11eF9mcmFtZSk6CgkgIEhhbmRsZSBldmVudHMgaW4gcHVzaCBtb2RlIGJldHRlciwgY2FuIG5vdyBkbyBub24tZmx1c2hpbmcKCSAgc2Vla3MgaW4gcHVzaCBtb2RlIGFzIHdlbGwuCgoyMDA2LTAzLTA4IDEyOjE2OjE0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBFeHRyYWN0IGRpc2MgbnVtYmVyIGFuZCBjb3VudCBmcm9tIGZpbGVzIHRoYXQgdXNlICdkaXNrJyBpbnN0ZWFkIG9mICdkaXNjJyBhcyBub2RlIGlkZW50aWZpZXIgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfcGFyc2VfdWR0YSk6CgkgIEV4dHJhY3QgZGlzYyBudW1iZXIgYW5kIGNvdW50IGZyb20gZmlsZXMgdGhhdCB1c2UKCSAgJ2Rpc2snIGluc3RlYWQgb2YgJ2Rpc2MnIGFzIG5vZGUgaWRlbnRpZmllciBmb3IgdGhhdAoJICAoZml4ZXMgIzMzMjA2NikuCgoyMDA2LTAzLTA3IDE3OjMxOjAzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3VkcC9nc3RkeW51ZHBzaW5rLmM6IEFwcGxpZWQgcGF0Y2ggZnJvbSBLYWkgVmVobWFuZW4sIGZpeGVzICMzMzM2MjQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC91ZHAvZ3N0ZHludWRwc2luay5jOiAoZ3N0X2R5bnVkcHNpbmtfY2xhc3NfaW5pdCk6CgkgIEFwcGxpZWQgcGF0Y2ggZnJvbSBLYWkgVmVobWFuZW4sIGZpeGVzICMzMzM2MjQuCgoyMDA2LTAzLTA2IDIyOjIyOjQ1ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6IEltcGxlbWVudCBwYWxldHRlZCBhbmQgZ3JheXNjYWxlIHBuZyBmaWxlcyBoYW5kbGluZy4gKCMxNTAzNjMpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wMy0wNiAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6IChnc3RfcG5nZGVjX2NhcHNfY3JlYXRlX2FuZF9zZXQpOgoJICBJbXBsZW1lbnQgcGFsZXR0ZWQgYW5kIGdyYXlzY2FsZSBwbmcgZmlsZXMgaGFuZGxpbmcuCgkgICgjMTUwMzYzKS4KCjIwMDYtMDMtMDYgMDA6MTA6MjkgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6IGZpeCBhIHRhZyBsaXN0IGFzc2VydCBmb2xsb3cgZ3N0LXBsdWdpbnMtYmFzZS9leHQvb2dnL1JFQURNRTsgc2V0IE9GRlNFVCBhbmQgT0ZGU0VUX0VORC4gIE11Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOiAoZ3N0X3NwZWV4ZW5jX3NldF9oZWFkZXJfb25fY2FwcyksCgkgIChnc3Rfc3BlZXhlbmNfY2hhaW4pOgoJICBmaXggYSB0YWcgbGlzdCBhc3NlcnQKCSAgZm9sbG93IGdzdC1wbHVnaW5zLWJhc2UvZXh0L29nZy9SRUFETUU7IHNldCBPRkZTRVQKCSAgYW5kIE9GRlNFVF9FTkQuICBNdXhlcyBjb3JyZWN0bHkgd2l0aCBnc3QtcGx1Z2lucy1iYXNlCgkgID4gMC45LjMKCjIwMDYtMDMtMDUgMTM6MDM6NDAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEFkZCBzdXBwb3J0IGZvciAnM0lWRCcgZm91cmNjICgjMzMzNDAzKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF92aWRlb19jYXBzKToKCSAgQWRkIHN1cHBvcnQgZm9yICczSVZEJyBmb3VyY2MgKCMzMzM0MDMpLgoKMjAwNi0wMy0wNCAyMDoxMTozNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9pZDNkZW11eC86IFVzZSBuZXcgdHlwZWZpbmQgaGVscGVyIGZ1bmN0aW9ucyBoZXJlIGFzIHdlbGwsIGFuZCBkbyB0eXBlZmluZGluZyBpbiBwdWxsLW1vZGUgaWYgdXBzdHJlYW0gc3VwcG9ydHMgdC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaWQzZGVtdXgvTWFrZWZpbGUuYW06CgkgICogZ3N0L2lkM2RlbXV4L2dzdGlkM2RlbXV4LmM6IChnc3RfaWQzZGVtdXhfYWRkX3NyY3BhZCksCgkgIChnc3RfaWQzZGVtdXhfY2hhaW4pLCAoZ3N0X2lkM2RlbXV4X3NpbmtfYWN0aXZhdGUpOgoJICBVc2UgbmV3IHR5cGVmaW5kIGhlbHBlciBmdW5jdGlvbnMgaGVyZSBhcyB3ZWxsLCBhbmQKCSAgZG8gdHlwZWZpbmRpbmcgaW4gcHVsbC1tb2RlIGlmIHVwc3RyZWFtIHN1cHBvcnRzIHRoYXQuCgoyMDA2LTAzLTA0IDE4OjU3OjM3ICswMDAwICBCZW5qYW1pbiBQaW5lYXUgPGJlbi5waW5lYXVAZ21haWwuY29tPgoKCSAgc3lzL3N1bmF1ZGlvLzogUmVtb3ZlIHVudXNlZCB2YXJpYWJsZXMsIGJyZWFrcyBidWlsZCBmcm9tIENWUwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlcmN0cmwuYzoKCSAgKGdzdF9zdW5hdWRpb21peGVyX2N0cmxfZ2V0X3ZvbHVtZSksCgkgIChnc3Rfc3VuYXVkaW9taXhlcl9jdHJsX3NldF92b2x1bWUpOgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVydHJhY2suYzoKCSAgKGdzdF9zdW5hdWRpb21peGVyX3RyYWNrX25ldyk6CgkgIFJlbW92ZSB1bnVzZWQgdmFyaWFibGVzLCBicmVha3MgYnVpbGQgZnJvbSBDVlMKCSAgd2l0aCAtV2Vycm9yICgjMzMzMzkyLCBwYXRjaCBieTogQmVuamFtaW4gUGluZWF1KQoKMjAwNi0wMy0wMyAyMzo0NToyMyArMDAwMCAgU8OpYmFzdGllbiBNb3V0dGUgPHNlYmFzdGllbkBtb3V0dGUubmV0PgoKCSAgc3lzLzogc2lua3MgYXJlIG5vdyB1c2luZyBHU1RfUkFOS19QUklNQVJZIHRvIGJlIHVzZWQgd2l0aCBhdXRvZGVjdGVjdGlvbgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZGlyZWN0ZHJhdzoKCSAgKiBzeXMvZGlyZWN0c291bmQ6CgkgIHNpbmtzIGFyZSBub3cgdXNpbmcgR1NUX1JBTktfUFJJTUFSWSB0byBiZSB1c2VkIHdpdGggYXV0b2RlY3RlY3Rpb24KCSAgKiB3aW4zMi92czY6CgkgIHByb2plY3QgZmlsZXMgdXBkYXRlZCB0byBmaXggc29tZSBidWdzCgkgICogd2luMzIvdnM3OgoJICAqIHdpbjMyL3ZzODoKCSAgdnM3IGFuZCB2czggcHJvamVjdCBmaWxlcyBhZGRlZAoKMjAwNi0wMy0wMyAxODozNjo1MyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGRvY3MvcGx1Z2lucy86IEFkZGVkIHdhdnBhcnNlIGRvY3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgQWRkZWQgd2F2cGFyc2UgZG9jcy4KCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogKGdzdF93YXZwYXJzZV9jbGFzc19pbml0KSwKCSAgKGdzdF93YXZwYXJzZV9yZXNldCksIChnc3Rfd2F2cGFyc2VfaW5pdCksCgkgIChnc3Rfd2F2cGFyc2VfY3JlYXRlX3NvdXJjZXBhZCksIChnc3Rfd2F2cGFyc2VfcGFyc2VfZmlsZV9oZWFkZXIpLAoJICAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9pbml0KSwgKGdzdF93YXZwYXJzZV9wZXJmb3JtX3NlZWspLAoJICAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9oZWFkZXJzKSwgKGdzdF93YXZwYXJzZV9zZW5kX2V2ZW50KSwKCSAgKGdzdF93YXZwYXJzZV9zdHJlYW1fZGF0YSksIChnc3Rfd2F2cGFyc2VfbG9vcCksCgkgIChnc3Rfd2F2cGFyc2Vfc3JjcGFkX2V2ZW50KSwgKGdzdF93YXZwYXJzZV9zaW5rX2FjdGl2YXRlX3B1bGwpLAoJICAoZ3N0X3dhdnBhcnNlX2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmg6CgkgIEltcGxlbWVudCBzZWVrIGluIFJFQURZIChmaXhlcyAjMzI3NjU4KQoJICBBZGRlZCBkb2NzIGFuZCBkaWQgc29tZSBjbGVhbnVwcy4KCjIwMDYtMDMtMDMgMTc6NTE6MTYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4Lio6IElmIHdlIGhhdmUgYW4gaW5kZXgsIHVzZSBhIGR1cmF0aW9uIGJhc2VkIG9uIHRoZSBpbmRleCBpbnN0ZWFkIG9mIGJsaW5kbHkgdHJ1c3RpbmcgdGhlIGluZm9ybWEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9oYW5kbGVfc3JjX3F1ZXJ5KSwKCSAgKGdzdF9hdmlfZGVtdXhfaGFuZGxlX3NyY19ldmVudCksIChnc3RfYXZpX2RlbXV4X3BhcnNlX3N0cmVhbSksCgkgIChnc3RfYXZpX2RlbXV4X2NhbGN1bGF0ZV9kdXJhdGlvbnNfZnJvbV9pbmRleCksCgkgIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9oZWFkZXIpOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguaDoKCSAgSWYgd2UgaGF2ZSBhbiBpbmRleCwgdXNlIGEgZHVyYXRpb24gYmFzZWQgb24gdGhlIGluZGV4IGluc3RlYWQKCSAgb2YgYmxpbmRseSB0cnVzdGluZyB0aGUgaW5mb3JtYXRpb24gaW4gdGhlIHN0cmVhbSBoZWFkZXJzCgkgIChmaXhlcyAjMzMxODE3KS4KCjIwMDYtMDMtMDMgMTU6NTA6NDAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBkb2NzL3BsdWdpbnMvOiBBZGRlZCBzbW9rZSBhbmQganBlZyB0byB0aGUgZG9jcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJICBBZGRlZCBzbW9rZSBhbmQganBlZyB0byB0aGUgZG9jcy4KCSAgKiBleHQvanBlZy9NYWtlZmlsZS5hbToKCSAgKiBleHQvanBlZy9nc3RqcGVnLmM6IChwbHVnaW5faW5pdCk6CgkgICogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOiAoZ3N0X2pwZWdfZGVjX2NoYWluKToKCSAgKiBleHQvanBlZy9nc3RqcGVnZW5jLmg6CgkgICogZXh0L2pwZWcvZ3N0c21va2VkZWMuYzogKGdzdF9zbW9rZWRlY19pbml0KSwKCSAgKGdzdF9zbW9rZWRlY19jaGFpbik6CgkgICogZXh0L2pwZWcvZ3N0c21va2VkZWMuaDoKCSAgKiBleHQvanBlZy9nc3RzbW9rZWVuYy5jOiAoZ3N0X3Ntb2tlZW5jX2NoYWluKToKCSAgKiBleHQvanBlZy9nc3RzbW9rZWVuYy5oOgoJICAqIGV4dC9qcGVnL3Ntb2tlY29kZWMuaDoKCSAgUG9ydCBzbW9rZWRlYyAoZml4ZXMgIzMzMTkwNSkuCgkgIEFkZGVkIHNvbWUgZG9jcy4KCSAgU29tZSBjbGVhbnVwcy4KCjIwMDYtMDMtMDMgMTQ6Mzk6NTUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBkb2NzL3BsdWdpbnMvOiBBZGRlZCB2aWRlb2JhbGFuY2UgYW5kIHZpZGVvZmxpcCB0byB0aGUgZG9jcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJICBBZGRlZCB2aWRlb2JhbGFuY2UgYW5kIHZpZGVvZmxpcCB0byB0aGUgZG9jcy4KCSAgKiBnc3QvdmlkZW9maWx0ZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvYmFsYW5jZS5jOgoJICAoZ3N0X3ZpZGVvX2JhbGFuY2VfdXBkYXRlX3RhYmxlc19wbGFuYXI0MTEpLAoJICAoZ3N0X3ZpZGVvX2JhbGFuY2VfaXNfcGFzc3Rocm91Z2gpLAoJICAoZ3N0X3ZpZGVvX2JhbGFuY2VfdXBkYXRlX3Byb3BlcnRpZXMpLCAob2lsX3RhYmxlbG9va3VwX3U4KSwKCSAgKGdzdF92aWRlb19iYWxhbmNlX3BsYW5hcjQxMV9pcCksIChnc3RfdmlkZW9fYmFsYW5jZV9zZXRfY2FwcyksCgkgIChnc3RfdmlkZW9fYmFsYW5jZV90cmFuc2Zvcm1faXApLCAoZ3N0X3ZpZGVvX2JhbGFuY2VfYmFzZV9pbml0KSwKCSAgKGdzdF92aWRlb19iYWxhbmNlX2ZpbmFsaXplKSwgKGdzdF92aWRlb19iYWxhbmNlX2NsYXNzX2luaXQpLAoJICAoZ3N0X3ZpZGVvX2JhbGFuY2VfaW5pdCksIChnc3RfdmlkZW9fYmFsYW5jZV9pbnRlcmZhY2Vfc3VwcG9ydGVkKSwKCSAgKGdzdF92aWRlb19iYWxhbmNlX2ludGVyZmFjZV9pbml0KSwKCSAgKGdzdF92aWRlb19iYWxhbmNlX2NvbG9yYmFsYW5jZV9saXN0X2NoYW5uZWxzKSwKCSAgKGdzdF92aWRlb19iYWxhbmNlX2NvbG9yYmFsYW5jZV9zZXRfdmFsdWUpLAoJICAoZ3N0X3ZpZGVvX2JhbGFuY2VfY29sb3JiYWxhbmNlX2dldF92YWx1ZSksCgkgIChnc3RfdmlkZW9fYmFsYW5jZV9jb2xvcmJhbGFuY2VfaW5pdCksCgkgIChnc3RfdmlkZW9fYmFsYW5jZV9zZXRfcHJvcGVydHkpLCAoZ3N0X3ZpZGVvX2JhbGFuY2VfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF92aWRlb19iYWxhbmNlX2dldF90eXBlKSwgKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9iYWxhbmNlLmg6CgkgIFBvcnRlZCB0byAwLjEwLiAoRml4ZXMgIzMyNjE2MCkKCSAgQWRkZWQgZG9jcy4KCSAgKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9mbGlwLmM6CgkgICogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmxpcC5oOgoJICBBZGRlZCBkb2NzLgoKMjAwNi0wMy0wMyAxMTowNzo0MSArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogVXNlIEdTVF9XQVJOSU5HIGluc3RlYWQgb2YgR1NUX0VSUk9SIGZvciBhbGwgdGhlIHRvbyBzaG9ydC9sb25nIGF0b21zIHdoZW4gcGFyc2luZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF9wYXJzZSksIChxdGRlbXV4X3BhcnNlX3RyYWspOgoJICBVc2UgR1NUX1dBUk5JTkcgaW5zdGVhZCBvZiBHU1RfRVJST1IgZm9yIGFsbCB0aGUgdG9vIHNob3J0L2xvbmcgYXRvbXMKCSAgd2hlbiBwYXJzaW5nLgoJICBBbHNvIGxldCdzIGJlIGEgYml0IGxlc3MgdnVsZ2FyIGluIG91ciB3YXJuaW5nIG1lc3NhZ2VzIDopCgoyMDA2LTAzLTAyIDE1OjE0OjIyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgY29uZmlndXJlLmFjOiBCdW1wIHJlcXVpcmVtZW50cyB0byBjdXJyZW50IGNvcmUgYW5kIC1iYXNlIENWUyAoY29yZSBmb3IgbmV3IHR5cGVmaW5kIGhlbHBlciBBUEksIGFuZCAtYmFzZSBmb3IgdGhlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQnVtcCByZXF1aXJlbWVudHMgdG8gY3VycmVudCBjb3JlIGFuZCAtYmFzZSBDVlMKCSAgKGNvcmUgZm9yIG5ldyB0eXBlZmluZCBoZWxwZXIgQVBJLCBhbmQgLWJhc2UgZm9yIHRoZQoJICBXQVZGT1JNQVRFWCBzdXBwb3J0IHRoYXQgd2FzIGFkZGVkIHRvIGxpYmdzdHJpZmYgYW5kCgkgIGlzIG5lZWRlZCBieSB3YXZwYXJzZSkuCgkgICogZ3N0L2FwZXRhZy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYXBldGFnL2dzdHRhZ2RlbXV4LmM6IChnc3RfdGFnX2RlbXV4X2NoYWluKSwKCSAgKGdzdF90YWdfZGVtdXhfc2lua19hY3RpdmF0ZSk6CgkgIFVzZSBuZXcgdHlwZWZpbmQgaGVscGVycyBmb3IgdHlwZWZpbmRpbmcgaW5zdGVhZCBvZiBvdXIKCSAgaG9tZS1ncm93biBzdHVmZjsgYWxzbywgZG8gdHlwZWZpbmRpbmcgaW4gcHVsbC1tb2RlIGlmCgkgIHVwc3RyZWFtIHN1cHBvcnRzIHRoYXQuCgoyMDA2LTAyLTI4IDExOjU5OjQ5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBDYW4ndCBkaXZpZGUgdGhyb3VnaCB6ZXJvIChzdXBwcmVzcyB3YXJuaW5nIGluIGNhc2Ugb2Ygc3RyZWFtIHdpdGggb25lIHNpbmdsZSBzdGlsbCBwaWN0dXJlKSAoLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfcGFyc2VfdHJhayk6CgkgIENhbid0IGRpdmlkZSB0aHJvdWdoIHplcm8gKHN1cHByZXNzIHdhcm5pbmcgaW4gY2FzZSBvZgoJICBzdHJlYW0gd2l0aCBvbmUgc2luZ2xlIHN0aWxsIHBpY3R1cmUpIChzZWUgIzMyNzA4MykKCjIwMDYtMDItMjggMTA6NDA6MDEgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIENoYW5nZUxvZzoKCSAgcmVtb3ZlIGNvbmZsaWN0IGluZGljYXRvcgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmVtb3ZlIGNvbmZsaWN0IGluZGljYXRvcgoKMjAwNi0wMi0yOCAxMDozOTowOCArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogQ2hhbmdlTG9nOgoJICBhZGQgbWlzc2luZyBlbnRyeQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYWRkIG1pc3NpbmcgZW50cnkKCjIwMDYtMDItMjggMTA6Mjk6MTYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogVXNlIERFQlVHX09CSkVDVCBtb3JlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogKGdzdF93YXZwYXJzZV9wZXJmb3JtX3NlZWspLAoJICAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9oZWFkZXJzKSwgKGdzdF93YXZwYXJzZV9zdHJlYW1fZGF0YSksCgkgIChnc3Rfd2F2cGFyc2VfcGFkX2NvbnZlcnQpLCAoZ3N0X3dhdnBhcnNlX3NyY3BhZF9ldmVudCksCgkgIChnc3Rfd2F2cGFyc2Vfc2lua19hY3RpdmF0ZSksIChnc3Rfd2F2cGFyc2Vfc2lua19hY3RpdmF0ZV9wdWxsKToKCSAgVXNlIERFQlVHX09CSkVDVCBtb3JlLgoKMjAwNi0wMi0yOCAxMDoyMjoxMSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGRvY3MvcGx1Z2lucy86IEFkZGVkIGR2ZGVjIGFuZCBkdmRlbXV4IHRvIGRvY3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgQWRkZWQgZHZkZWMgYW5kIGR2ZGVtdXggdG8gZG9jcy4KCSAgKiBleHQvZHYvZ3N0ZHZkZWMuYzogKGdzdF9kdmRlY19iYXNlX2luaXQpLCAoZ3N0X2R2ZGVjX2NoYWluKToKCSAgQWRkZWQgZG9jcy4KCSAgQ2hlY2sgZnJhbWUgc2l6ZXMgc28gd2UgZG9uJ3QgY3Jhc2ggd2hlbiBkb24ndCBoYXZlIGVub3VnaAoJICBkYXRhLgoJICBTZW5kIG5pY2UgZXJyb3IgbWVzc2FnZXMgb24gZXJyb3IuCgkgICogZXh0L2R2L2dzdGR2ZGVtdXguYzogKGdzdF9kdmRlbXV4X2Jhc2VfaW5pdCksCgkgIChnc3RfZHZkZW11eF9jbGFzc19pbml0KSwgKGdzdF9kdmRlbXV4X2luaXQpLAoJICAoZ3N0X2R2ZGVtdXhfZmluYWxpemUpLCAoZ3N0X2R2ZGVtdXhfcmVzZXQpLAoJICAoZ3N0X2R2ZGVtdXhfc3JjX2NvbnZlcnQpLCAoZ3N0X2R2ZGVtdXhfc2lua19jb252ZXJ0KSwKCSAgKGdzdF9kdmRlbXV4X3NyY19xdWVyeSksIChnc3RfZHZkZW11eF9zaW5rX3F1ZXJ5KSwKCSAgKGdzdF9kdmRlbXV4X3B1c2hfZXZlbnQpLCAoZ3N0X2R2ZGVtdXhfaGFuZGxlX3NpbmtfZXZlbnQpLAoJICAoZ3N0X2R2ZGVtdXhfY29udmVydF9zcmNfcGFpciksIChnc3RfZHZkZW11eF9jb252ZXJ0X3NpbmtfcGFpciksCgkgIChnc3RfZHZkZW11eF9jb252ZXJ0X3NyY190b19zaW5rKSwgKGdzdF9kdmRlbXV4X2hhbmRsZV9wdXNoX3NlZWspLAoJICAoZ3N0X2R2ZGVtdXhfZG9fc2VlayksIChnc3RfZHZkZW11eF9oYW5kbGVfcHVsbF9zZWVrKSwKCSAgKGdzdF9kdmRlbXV4X2hhbmRsZV9zcmNfZXZlbnQpLCAoZ3N0X2R2ZGVtdXhfZGVtdXhfYXVkaW8pLAoJICAoZ3N0X2R2ZGVtdXhfZGVtdXhfdmlkZW8pLCAoZ3N0X2R2ZGVtdXhfZGVtdXhfZnJhbWUpLAoJICAoZ3N0X2R2ZGVtdXhfZmx1c2gpLCAoZ3N0X2R2ZGVtdXhfY2hhaW4pLCAoZ3N0X2R2ZGVtdXhfbG9vcCksCgkgIChnc3RfZHZkZW11eF9zaW5rX2FjdGl2YXRlX3B1c2gpLCAoZ3N0X2R2ZGVtdXhfc2lua19hY3RpdmF0ZV9wdWxsKSwKCSAgKGdzdF9kdmRlbXV4X3NpbmtfYWN0aXZhdGUpLCAoZ3N0X2R2ZGVtdXhfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvZHYvZ3N0ZHZkZW11eC5oOgoJICBBZGRlZCBkb2NzLgoJICBJbXBsZW1lbnQgcHVsbCBtb2RlLgoJICBGaXggbWVtbGVha3MuCgkgIFJlZHVjZSBtZW1jcHkgZm9yIHRoZSB2aWRlbyBkZW11eGluZy4KCjIwMDYtMDItMjggMDk6MjE6MjcgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZXh0L2Fubm9kZXgvOiBBZGQgYSBsaXR0bGUgZXh0cmEgZGVidWcuIE1ha2UgdGhlIGRlY29kZXIgbm90IHJldHVybiBOT1RfTElOS0VELCBhcyB3ZSB3YW50IHRvIGNvbnRpbnVlIGRlY29kaW5nIGFsbCBDLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hbm5vZGV4L2dzdGNtbWxkZWMuYzogKGdzdF9jbW1sX2RlY19zaW5rX2V2ZW50KSwKCSAgKGdzdF9jbW1sX2RlY19uZXdfYnVmZmVyKSwgKGdzdF9jbW1sX2RlY19wYXJzZV9wcmVhbWJsZSksCgkgIChnc3RfY21tbF9kZWNfcGFyc2VfaGVhZCksIChnc3RfY21tbF9kZWNfcHVzaF9jbGlwKToKCSAgKiBleHQvYW5ub2RleC9nc3RjbW1scGFyc2VyLmM6IChnc3RfY21tbF9wYXJzZXJfcGFyc2VfY2h1bmspOgoJICBBZGQgYSBsaXR0bGUgZXh0cmEgZGVidWcuIE1ha2UgdGhlIGRlY29kZXIgbm90IHJldHVybiBOT1RfTElOS0VELAoJICBhcyB3ZSB3YW50IHRvIGNvbnRpbnVlIGRlY29kaW5nIGFsbCBDTU1MIGFuZCBlbWl0dGluZyB0YWdzLgoKMjAwNi0wMi0yNyAxNDozNzoyOSArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZ3N0LXBsdWdpbnMtZ29vZC5zcGVjLmluOgoJICBhZGQgYW5ub2RleCBwbHVnaW4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGFkZCBhbm5vZGV4IHBsdWdpbgoKMjAwNi0wMi0yNyAxNDowMDoxOCArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgZXh0L2Fubm9kZXgvZ3N0c2tlbHRhZy4qOiBEZWxldGVkOyB0aGVzZSBmaWxlcyBhcmVuJ3QgdXNlZCBhbnkgbW9yZSBlaXRoZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hbm5vZGV4L2dzdHNrZWx0YWcuYzoKCSAgKiBleHQvYW5ub2RleC9nc3Rza2VsdGFnLmg6CgkgIERlbGV0ZWQ7IHRoZXNlIGZpbGVzIGFyZW4ndCB1c2VkIGFueSBtb3JlIGVpdGhlci4KCjIwMDYtMDItMjUgMjA6Mzc6MjkgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZXh0L01ha2VmaWxlLmFtOiBGaXggZGlzdC1jaGVjay4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDItMjUgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBleHQvTWFrZWZpbGUuYW06IEZpeCBkaXN0LWNoZWNrLgoKMjAwNi0wMi0yNSAxOTozNjoyNCArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBleHQvYW5ub2RleC9nc3RjbW1sZW5jLmM6IEZpeCBhbm90aGVyIG1lbWxlYWsuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTAyLTI1ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZXh0L2Fubm9kZXgvZ3N0Y21tbGVuYy5jOiAoZ3N0X2NtbWxfZW5jX3B1c2hfY2xpcCk6IEZpeCBhbm90aGVyCgkgIG1lbWxlYWsuCgoyMDA2LTAyLTI1IDE5OjA3OjQxICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIEZpeCBhIG1lbWxlYWsgaW4gZ3N0X2NtbWxfdHJhY2tfbGlzdF9hZGRfY2xpcC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDItMjUgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvQG5udmEub3JnPgoJICAqIGV4dC9hbm5vZGV4L01ha2VmaWxlLmFtOgoJICAqIGV4dC9hbm5vZGV4L2dzdGFubm9kZXguYzoKCSAgKiBleHQvYW5ub2RleC9nc3RjbW1sZGVjLmM6CgkgICogZXh0L2Fubm9kZXgvZ3N0Y21tbGVuYy5jOgoJICAqIGV4dC9hbm5vZGV4L2dzdGNtbWxwYXJzZXIuYzoKCSAgKiBleHQvYW5ub2RleC9nc3RjbW1scGFyc2VyLmg6CgkgICogZXh0L2Fubm9kZXgvZ3N0Y21tbHV0aWxzLmM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvY21tbGRlYy5jOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NtbWxlbmMuYzoKCSAgRml4IGEgbWVtbGVhayBpbiBnc3RfY21tbF90cmFja19saXN0X2FkZF9jbGlwLgoJICBIYW5kbGUgb3ZlcmZsb3dzIGluIGNsaXAncyBzdGFydCBhbmQgZW5kIHRpbWVzLgoJICBBZGQgdGhlICJlbmNvZGVkIiBwYXJhbWV0ZXIgdG8gY21tbGRlYyBhbmQgY21tbGVuYyBjYXBzLgoJICBEbyBub3QgcGFyc2UganVuayBhdCB0aGUgZW5kIG9mIGEgQ01NTCBwcmVhbWJsZSBidWZmZXIuCgkgIFJlZ2lzdGVyIGEgbGlieG1sIGVycm9yIGhhbmRsZXIgdG8gbm90IHByaW50IHN0dWZmIG9uIHN0ZGVyci4KCSAgQ2hlY2sgZm9yIGJhZCBjbGlwIHN0YXJ0IGFuZCBlbmQgdGltZXMgaW4gdGhlIHRlc3RzdWl0ZXMuCgoyMDA2LTAyLTI1IDExOjM3OjEwICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGV4dC9hbm5vZGV4LzogRml4IHBvc3NpYmxlIG1lbWxlYWtzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wMi0yNSAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGV4dC9hbm5vZGV4L2dzdGNtbWxkZWMuYzogKGdzdF9jbW1sX2RlY19jbGFzc19pbml0KSwKCSAgKGdzdF9jbW1sX2RlY19maW5hbGl6ZSksIChnc3RfY21tbF9kZWNfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvYW5ub2RleC9nc3RjbW1sZW5jLmM6IChnc3RfY21tbF9lbmNfY2xhc3NfaW5pdCksCgkgIChnc3RfY21tbF9lbmNfZmluYWxpemUpLCAoZ3N0X2NtbWxfZW5jX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L2Fubm9kZXgvZ3N0Y21tbHV0aWxzLmM6IChnc3RfY21tbF90cmFja19saXN0X2Rlc3Ryb3kpOiBGaXgKCSAgcG9zc2libGUgbWVtbGVha3MuCgoyMDA2LTAyLTI0IDIzOjUyOjI4ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIHRlc3RzL2NoZWNrLzogRml4IHRlc3RzIHNvIHRoYXQgdGhleSB1c2UgdGhlIHBsdWdpbnMtYmFzZSB0YWdzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wMi0yNSAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NtbWxkZWMuYzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jbW1sZW5jLmM6IEZpeCB0ZXN0cyBzbyB0aGF0IHRoZXkgdXNlCgkgIHRoZSBwbHVnaW5zLWJhc2UgdGFncy4KCjIwMDYtMDItMjQgMjM6MzY6NTggKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZXh0L01ha2VmaWxlLmFtOiBSZS1lbmFibGUgbW9kdWxlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wMi0yNSAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGV4dC9NYWtlZmlsZS5hbTogUmUtZW5hYmxlIG1vZHVsZS4KCjIwMDYtMDItMjQgMjM6MzI6MTQgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06IEZvcmdvdCB0byByZW1vdmUgdGhhdCB0ZXN0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wMi0yNSAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOiBGb3Jnb3QgdG8gcmVtb3ZlIHRoYXQgdGVzdC4KCjIwMDYtMDItMjQgMjM6MzE6MDggKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgVHJ5IHRvIGZpeCBBbm5vZGV4IHBsdWdpbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDItMjUgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBleHQvYW5ub2RleC9NYWtlZmlsZS5hbToKCSAgKiBleHQvYW5ub2RleC9nc3Rhbm5vZGV4LmM6IChwbHVnaW5faW5pdCk6CgkgICogZXh0L2Fubm9kZXgvZ3N0Y21tbGRlYy5jOgoJICAqIGV4dC9hbm5vZGV4L2dzdHNrZWxkZWMuYzoKCSAgKiBleHQvYW5ub2RleC9nc3Rza2VsZGVjLmg6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvc2tlbGRlYy5jOiBUcnkgdG8gZml4IEFubm9kZXggcGx1Z2luLgoKMjAwNi0wMi0yNCAyMzowNjoyNyArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbTogRGlzYWJsZSB0aG9zZSBjaGVja3MgYXMgd2VsbC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDItMjUgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbTogRGlzYWJsZSB0aG9zZSBjaGVja3MgYXMgd2VsbC4KCjIwMDYtMDItMjQgMjI6NDk6MjkgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZXh0L01ha2VmaWxlLmFtOiBEaXNhYmxlIGFubm9kZXggZm9yIG5vdyB1bnRpbCB3ZSBmaWd1cmUgb3V0IGhvdyB0byBtYWtlIGl0IGJ1aWxkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wMi0yNCAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGV4dC9NYWtlZmlsZS5hbTogRGlzYWJsZSBhbm5vZGV4IGZvciBub3cgdW50aWwgd2UgZmlndXJlIG91dAoJICBob3cgdG8gbWFrZSBpdCBidWlsZC4KCSAgKiBleHQvZ2RrX3BpeGJ1Zi9NYWtlZmlsZS5hbTogTm90ZSBmb3IgVGhvbWFzIDoKCSAgQWRkIGEgcnVsZSB0byB5b3VyIGNoZWNrbGlzdCA6ICJwbGVhc2UgdHJ5IHRvIGF0IGxlYXN0IGJ1aWxkCgkgIHdoYXQgeW91IGFyZSBnb2luZyB0byBjb21taXQgaW50byAtZ29vZCwgb3IgaWYgeW91IGFyZSB0b28gbGF6eQoJICB0byBkbyB0aGF0LCBwbGVhc2UgY2hlY2sgdGhhdCB0aGUgYnVpbGRib3RzIGFyZSBub3QgY3J5aW5nIGJlY2F1c2UKCSAgb2YgeW91ciBjb21taXQuIgoKMjAwNi0wMi0yNCAxOTo1MToyOSArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L2dka19waXhidWYvTWFrZWZpbGUuYW06CgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zi5jOgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWYuaDoKCSogZXh0L2dka19waXhidWYvcGl4YnVmc2NhbGUuYzoKCSogZXh0L2dka19waXhidWYvcGl4YnVmc2NhbGUuaDoKCSAgSSdtIHRvbyBsYXp5IHRvIGNvbW1lbnQgdGhpcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgR2RrcGl4YnVmIHBvcnRlZCBmcm9tIDAuOCB0byAwLjEwIGJ5IFJlbmF0byBGaWxobyA8cmVuYXRvLmZpbGhvQGluZHQub3JnLmJyPi4gZ3N0X2xvYWRlciBhbmQgZ2RrcGl4YnVmYW5pbWF0aW9uIHN0aWxsIG5lZWQgcG9ydC4KCjIwMDYtMDItMjQgMTk6NDk6MzIgKzAwMDAgIEZhYnJpemlvIEdlbm5hcmkgPGZhYnJpemlvLmdlQHRpc2NhbGkuaXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEFkZCBzdXBwb3J0IGZvciBwYWxldHRpc2VkIEFwcGxlIFNNQyB2aWRlb3MgKCMzMjcwNzUsIGJhc2VkIG9uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2FkZF9zdHJlYW0pLAoJICAocXRkZW11eF9wYXJzZV90cmFrKSwgKHF0ZGVtdXhfdmlkZW9fY2Fwcyk6CgkgIEFkZCBzdXBwb3J0IGZvciBwYWxldHRpc2VkIEFwcGxlIFNNQyB2aWRlb3MgKCMzMjcwNzUsIGJhc2VkIG9uCgkgIHBhdGNoIGJ5OiBGYWJyaXppbyBHZW5uYXJpIDxmYWJyaXppbyBkb3QgZ2UgYXQgdGlzY2FsaSBkb3QgaXQ+KS4KCjIwMDYtMDItMjQgMTk6MDc6MTAgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIEFkZCBBbm5vZGV4IGVsZW1lbnRzIGZyb20gQWxlc3NlbmRybyBEZWNpbmE6IHNrZWxldG9uIGFuZCBDTU1MLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZXh0L01ha2VmaWxlLmFtOgoJICAqIGV4dC9hbm5vZGV4L01ha2VmaWxlLmFtOgoJICAqIGV4dC9hbm5vZGV4L2dzdGFubm9kZXguYzoKCSAgKiBleHQvYW5ub2RleC9nc3Rhbm5vZGV4Lmg6CgkgICogZXh0L2Fubm9kZXgvZ3N0Y21tbGRlYy5jOgoJICAqIGV4dC9hbm5vZGV4L2dzdGNtbWxkZWMuaDoKCSAgKiBleHQvYW5ub2RleC9nc3RjbW1sZW5jLmM6CgkgICogZXh0L2Fubm9kZXgvZ3N0Y21tbGVuYy5oOgoJICAqIGV4dC9hbm5vZGV4L2dzdGNtbWxwYXJzZXIuYzoKCSAgKiBleHQvYW5ub2RleC9nc3RjbW1scGFyc2VyLmg6CgkgICogZXh0L2Fubm9kZXgvZ3N0Y21tbHRhZy5jOgoJICAqIGV4dC9hbm5vZGV4L2dzdGNtbWx0YWcuaDoKCSAgKiBleHQvYW5ub2RleC9nc3RjbW1sdXRpbHMuYzoKCSAgKiBleHQvYW5ub2RleC9nc3RjbW1sdXRpbHMuaDoKCSAgKiBleHQvYW5ub2RleC9nc3Rza2VsZGVjLmM6CgkgICogZXh0L2Fubm9kZXgvZ3N0c2tlbGRlYy5oOgoJICAqIGV4dC9hbm5vZGV4L2dzdHNrZWx0YWcuYzoKCSAgKiBleHQvYW5ub2RleC9nc3Rza2VsdGFnLmg6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvY21tbGRlYy5jOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NtbWxlbmMuYzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9za2VsZGVjLmM6CgkgIEFkZCBBbm5vZGV4IGVsZW1lbnRzIGZyb20gQWxlc3NlbmRybyBEZWNpbmE6IHNrZWxldG9uIGFuZCBDTU1MLgoJICBJbmNsdWRlcyB0ZXN0cyAmIGRvY3MsIG9oIG15ISBQYXNzZXMgVGhvbWFzJ3MgLWdvb2QgY2hlY2tsaXN0CgkgIGVudGlyZWx5LiBXb3cuCgoyMDA2LTAyLTI0IDE3OjA5OjU2ICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBhdXRvZ2VuLnNoOiBDaGVjayBmb3IgYXV0b21ha2UgMS45IGFzIHdlbGwuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGF1dG9nZW4uc2g6CgkgIENoZWNrIGZvciBhdXRvbWFrZSAxLjkgYXMgd2VsbC4KCjIwMDYtMDItMjQgMTQ6NDk6NDggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvZmxhYy9nc3RmbGFjZW5jLmM6IENoYW5nZSBtaW4uIHNhbXBsZSByYXRlIHRvIDhrSHogdG8gbWF0Y2ggZmxhY2RlYydzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkgIENoYW5nZSBtaW4uIHNhbXBsZSByYXRlIHRvIDhrSHogdG8gbWF0Y2ggZmxhY2RlYydzLgoKMjAwNi0wMi0yMyAyMDowODo1OCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9jZGlvL01ha2VmaWxlLmFtOiBBZGQgR1NUX0JBU0VfQ0ZMQUdTIGFuZCBHU1RfQkFTRV9MSUJTIChzZWVtcyB0byBiZSByZXF1aXJlZCBmb3IgQ3lnd2luLCBzZWUgIzMxNzA0OCkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2NkaW8vTWFrZWZpbGUuYW06CgkgIEFkZCBHU1RfQkFTRV9DRkxBR1MgYW5kIEdTVF9CQVNFX0xJQlMgKHNlZW1zIHRvIGJlCgkgIHJlcXVpcmVkIGZvciBDeWd3aW4sIHNlZSAjMzE3MDQ4KQoJICAqIGdzdC9ydHAvZ3N0YXN0ZXJpc2toMjYzLmM6CgkgIEN5Z3dpbiBoYXMgaW5jbHVkZXMgZm9yIGJvdGggdGhlIHVuaXggbmV0d29yayBzb2NrZXQgQVBJCgkgIGFuZCB0aGUgd2luZG93cyBBUEksIGJ1dCBvbmx5IG9uZSBjYW4gYmUgaW5jbHVkZWQsIHNvIGZpeAoJICBpbmNsdWRlcyB0byBvbmx5IHVzZSBvbmUgb3IgdGhlIG90aGVyLCBwcmVmZXJpbmcgdGhlIHVueGkKCSAgb25lICgjMzE3MDQ4KS4KCjIwMDYtMDItMjMgMTI6MjE6MjUgKzAwMDAgIFBoaWxpcHBlIEthbGFmIDxwaGlsaXBwZS5rYWxhZkBjb2xsYWJvcmEuY28udWs+CgoJICBydHAvZ3N0LzogU2VwYXJhdGVkIHRoZSBHNzExIHBheWxvYWRlcnMvZGVwYXlsb2FkZXJzIGludG8gc2VwYXJhdGUgZWxlbWVudHMgZm9yIG11bGF3L2FsYXcuIEFsc28gcmVtb3ZlZCB0aGUgb2xkIGc3MTEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDItMjMgIFBoaWxpcHBlIEthbGFmICA8cGhpbGlwcGUua2FsYWYgYXQgY29sbGFib3JhLmNvLnVrPgoJICAqIHJ0cC9nc3QvZ3N0cnRwcGNtYWRlcGF5LmM6CgkgICogcnRwL2dzdC9nc3RydHBwY21hZGVwYXkuaDoKCSAgKiBydHAvZ3N0L2dzdGdzdHJ0cHBjbWFwYXkuYzoKCSAgKiBydHAvZ3N0L2dzdGdzdHJ0cHBjbWFwYXkuaDoKCSAgKiBydHAvZ3N0L2dzdHJ0cHBjbXVkZXBheS5jOgoJICAqIHJ0cC9nc3QvZ3N0cnRwcGNtdWRlcGF5Lmg6CgkgICogcnRwL2dzdC9nc3RydHBwY211cGF5LmM6CgkgICogcnRwL2dzdC9nc3RydHBwY211cGF5Lmg6CgkgICogcnRwL2dzdC9NYWtlZmlsZS5hbToKCSAgKiBydHAvZ3N0L2dzdHJ0cC5jOgoJICAqIHJ0cC9nc3QvUkVBRE1FOgoJICBTZXBhcmF0ZWQgdGhlIEc3MTEgcGF5bG9hZGVycy9kZXBheWxvYWRlcnMgaW50byBzZXBhcmF0ZSBlbGVtZW50cyBmb3IKCSAgbXVsYXcvYWxhdy4gQWxzbyByZW1vdmVkIHRoZSBvbGQgZzcxMSBwYXlsb2FkZXJzL2RlcGF5bG9hZGVycy4KCjIwMDYtMDItMjIgMjA6MjI6MjUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvZHYvOiBVZWJlciBzcGlmZmlmeSBzb21lIG1vcmUsIGFkZGVkIGRlYnVnIGNhdGVnb3J5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZHYvZ3N0ZHZkZWMuYzogKGdzdF9kdmRlY19iYXNlX2luaXQpLCAoZ3N0X2R2ZGVjX2luaXQpLAoJICAoZ3N0X2R2ZGVjX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L2R2L2dzdGR2ZGVjLmg6CgkgICogZXh0L2R2L2dzdGR2ZGVtdXguYzogKGdzdF9kdmRlbXV4X2Jhc2VfaW5pdCksIChnc3RfZHZkZW11eF9pbml0KSwKCSAgKGdzdF9kdmRlbXV4X3NyY19jb252ZXJ0KSwgKGdzdF9kdmRlbXV4X3NpbmtfY29udmVydCksCgkgIChnc3RfZHZkZW11eF9zcmNfcXVlcnkpLCAoZ3N0X2R2ZGVtdXhfc2lua19xdWVyeSksCgkgIChnc3RfZHZkZW11eF9oYW5kbGVfc2lua19ldmVudCksIChnc3RfZHZkZW11eF9kZW11eF9mcmFtZSksCgkgIChnc3RfZHZkZW11eF9mbHVzaCksIChnc3RfZHZkZW11eF9jaGFpbiksCgkgIChnc3RfZHZkZW11eF9jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9kdi9nc3RkdmRlbXV4Lmg6CgkgIFVlYmVyIHNwaWZmaWZ5IHNvbWUgbW9yZSwgYWRkZWQgZGVidWcgY2F0ZWdvcnkuCgkgIFVzZSBfc2NhbGUuCgkgIFVzZSBzZWdtZW50cywgcmVzcGVjdCBwbGF5YmFjayByYXRlIGZyb20gbmV3c2VnbWVudC4KCSAgRml4IHJlZmNvdW50IGlzc3VlLgoKMjAwNi0wMi0yMiAwOTozMzoyNSArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogQWRkICdkdnNkJyBhbmQgJ2R2MjUnIHRvIGxpc3Qgb2YgcG9zc2libGUgZm91cmNjIHZhbHVlcyBmb3IgRFYgVmlkZW8uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBSZXZpZXdlZCBieSA6IEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBmbHVlbmRvLmNvbT4KCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3ZpZGVvX2NhcHMpOgoJICBBZGQgJ2R2c2QnIGFuZCAnZHYyNScgdG8gbGlzdCBvZiBwb3NzaWJsZSBmb3VyY2MgdmFsdWVzIGZvciBEViBWaWRlby4KCSAgQWRkIGltYWdlL3BuZyBmb3IgZm91cmNjICdwbmcgJwoKMjAwNi0wMi0yMCAyMToxOTo1OSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBQb3J0IHhpbWFnZXNyYyB0byAwLjEwIChDbG9zZXMgIzMwNDc5NSkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIHN5cy9NYWtlZmlsZS5hbToKCSAgKiBzeXMveGltYWdlc3JjL01ha2VmaWxlLmFtOgoJICAqIHN5cy94aW1hZ2VzcmMveGltYWdlc3JjLmM6IChnc3RfeGltYWdlc3JjX3JldHVybl9idWYpLAoJICAoZ3N0X3hpbWFnZXNyY19vcGVuX2Rpc3BsYXkpLCAoZ3N0X3hpbWFnZXNyY19zdGFydCksCgkgIChnc3RfeGltYWdlc3JjX3N0b3ApLCAoZ3N0X3hpbWFnZXNyY191bmxvY2spLAoJICAoZ3N0X3hpbWFnZXNyY19yZWNhbGMpLCAoY29tcG9zaXRlX3BpeGVsKSwKCSAgKGdzdF94aW1hZ2VzcmNfeGltYWdlX2dldCksIChnc3RfeGltYWdlc3JjX2NyZWF0ZSksCgkgIChnc3RfeGltYWdlc3JjX3NldF9wcm9wZXJ0eSksIChnc3RfeGltYWdlc3JjX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfeGltYWdlc3JjX2NsZWFyX2J1ZnBvb2wpLCAoZ3N0X3hpbWFnZXNyY19iYXNlX2luaXQpLAoJICAoZ3N0X3hpbWFnZXNyY19kaXNwb3NlKSwgKGdzdF94aW1hZ2VzcmNfZmluYWxpemUpLAoJICAoZ3N0X3hpbWFnZXNyY19nZXRfY2FwcyksIChnc3RfeGltYWdlc3JjX3NldF9jYXBzKSwKCSAgKGdzdF94aW1hZ2VzcmNfZml4YXRlKSwgKGdzdF94aW1hZ2VzcmNfY2xhc3NfaW5pdCksCgkgIChnc3RfeGltYWdlc3JjX2luaXQpLCAocGx1Z2luX2luaXQpOgoJICAqIHN5cy94aW1hZ2VzcmMveGltYWdlc3JjLmg6CgkgICogc3lzL3hpbWFnZXNyYy94aW1hZ2V1dGlsLmM6ICh4aW1hZ2V1dGlsX2hhbmRsZV94ZXJyb3IpLAoJICAoeGltYWdldXRpbF9jaGVja194c2htX2NhbGxzKSwgKHhpbWFnZXV0aWxfeGNvbnRleHRfZ2V0KSwKCSAgKHhpbWFnZXV0aWxfeGNvbnRleHRfY2xlYXIpLAoJICAoeGltYWdldXRpbF9jYWxjdWxhdGVfcGl4ZWxfYXNwZWN0X3JhdGlvKSwKCSAgKGdzdF94aW1hZ2VzcmNfYnVmZmVyX2ZpbmFsaXplKSwgKGdzdF94aW1hZ2VfYnVmZmVyX2ZyZWUpLAoJICAoZ3N0X3hpbWFnZXNyY19idWZmZXJfaW5pdCksIChnc3RfeGltYWdlc3JjX2J1ZmZlcl9jbGFzc19pbml0KSwKCSAgKGdzdF94aW1hZ2VzcmNfYnVmZmVyX2dldF90eXBlKSwgKGdzdF94aW1hZ2V1dGlsX3hpbWFnZV9uZXcpLAoJICAoZ3N0X3hpbWFnZXV0aWxfeGltYWdlX2Rlc3Ryb3kpOgoJICAqIHN5cy94aW1hZ2VzcmMveGltYWdldXRpbC5oOgoJICBQb3J0IHhpbWFnZXNyYyB0byAwLjEwIChDbG9zZXMgIzMwNDc5NSkKCj09PSByZWxlYXNlIDAuMTAuMSA9PT0KCjIwMDYtMDItMjAgMTk6MTI6MTAgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgY29uZmlndXJlLmFjOiByZWxlYXNpbmcgMC4xMC4xLCAiU2xpbXkgLSB5ZXQgc2F0aXNmeWluZyIKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDItMjAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgcmVsZWFzaW5nIDAuMTAuMSwgIlNsaW15IC0geWV0IHNhdGlzZnlpbmciCgoyMDA2LTAyLTIwIDEzOjA4OjUwICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmM6IEZpeCBjb21waWxhdGlvbiBvZiBMQURQU0EuIEl0IGRvZXNuJ3Qgc2VlbSB0byB3b3JrLCBhbmQgaXNuJ3QgZW5hYmxlZCBmb3IgdGhlIGJ1aWxkLC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5jOiAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfZXZlbnQpLAoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfcHJvY2Vzcyk6CgkgIEZpeCBjb21waWxhdGlvbiBvZiBMQURQU0EuIEl0IGRvZXNuJ3Qgc2VlbSB0byB3b3JrLCBhbmQgaXNuJ3QKCSAgZW5hYmxlZCBmb3IgdGhlIGJ1aWxkLCBidXQgaXQgaGVscHMgbWUgd2luIHRoZSBmZWF0dXJlLWNvdW50CgkgIGNvbXBldGl0aW9ucyBvb2ggeWVhaC4KCjIwMDYtMDItMTkgMTY6MDI6MjUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IFVzZSBzY2FsaW5nIGNvZGUgZm9yIGFkZGVkIHByZWNpc3Npb24gYW5kIG1vcmUgY29ycmVjdCBzdG9wIHBvc2l0aW9uIGluIGNhc2Ugc2NhbGU9PTAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfc3JjX2NvbnZlcnQpLAoJICAoZ3N0X2F2aV9kZW11eF9oYW5kbGVfc3JjX3F1ZXJ5KSwgKGdzdF9hdmlfZGVtdXhfaGFuZGxlX3NyY19ldmVudCksCgkgIChnc3RfYXZpX2RlbXV4X3BhcnNlX2ZpbGVfaGVhZGVyKSwgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2luaXQpLAoJICAoZ3N0X2F2aV9kZW11eF9wYXJzZV9hdmloKSwgKGdzdF9hdmlfZGVtdXhfcGFyc2Vfc3VwZXJpbmRleCksCgkgIChnc3RfYXZpX2RlbXV4X3BhcnNlX3N1YmluZGV4KSwgKGdzdF9hdmlfZGVtdXhfcGFyc2Vfc3RyZWFtKSwKCSAgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2hlYWRlciksIChnc3RfYXZpX2RlbXV4X2NoYW5nZV9zdGF0ZSk6CgkgIFVzZSBzY2FsaW5nIGNvZGUgZm9yIGFkZGVkIHByZWNpc3Npb24gYW5kIG1vcmUgY29ycmVjdCBzdG9wCgkgIHBvc2l0aW9uIGluIGNhc2Ugc2NhbGU9PTAuCgoyMDA2LTAyLTE5IDEyOjA5OjE5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L2ZseC9nc3RmbHhkZWMuKjogSW1wbGVtZW50IERVUkFUSU9OIHF1ZXJ5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx4L2dzdGZseGRlYy5jOiAoZ3N0X2ZseGRlY19zcmNfcXVlcnlfaGFuZGxlciksCgkgIChnc3RfZmx4ZGVjX2NoYWluKToKCSAgKiBnc3QvZmx4L2dzdGZseGRlYy5oOgoJICBJbXBsZW1lbnQgRFVSQVRJT04gcXVlcnkuCgoyMDA2LTAyLTE5IDExOjU3OjU4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L2ZseC86IFNldCBNQUxMT0NEQVRBIGZvciB0aGUgdGVtcCBidWZmZXJzIHNvIHdlIGRvbid0IGxlYWsuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHgvZmx4X2NvbG9yLmg6CgkgICogZ3N0L2ZseC9mbHhfZm10Lmg6CgkgICogZ3N0L2ZseC9nc3RmbHhkZWMuYzogKGdzdF9mbHhkZWNfaW5pdCksCgkgIChnc3RfZmx4ZGVjX3NyY19xdWVyeV9oYW5kbGVyKSwgKGZseF9kZWNvZGVfY29sb3IpLAoJICAoZ3N0X2ZseGRlY19jaGFpbik6CgkgICogZ3N0L2ZseC9nc3RmbHhkZWMuaDoKCSAgU2V0IE1BTExPQ0RBVEEgZm9yIHRoZSB0ZW1wIGJ1ZmZlcnMgc28gd2UgZG9uJ3QgbGVhay4KCSAgU29tZSBkZWJ1ZyBjbGVhbnVwcy4KCSAgQ29uc3VtZSBhbGwgZGF0YSBpbiB0aGUgYWRhcHRlciBiZWZvcmUgbGVhdmluZyB0aGUgY2hhaW4KCSAgZnVuY3Rpb24uIEZpeGVzICMzMzA2NzguCgoyMDA2LTAyLTE4IDIwOjQ4OjA5ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC9pZDNkZW11eC86IEhhbmRsZSAwIGRhdGEgc2l6ZSBpbiBvdGhlcndpc2UgdmFsaWQgZnJhbWVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaWQzZGVtdXgvaWQzdGFncy5jOiAoaWQzZGVtdXhfaWQzdjJfZnJhbWVzX3RvX3RhZ19saXN0KToKCSAgKiBnc3QvaWQzZGVtdXgvaWQzdjJmcmFtZXMuYzogKGlkM3YyX2dlbnJlX2ZpZWxkc190b190YWdsaXN0KToKCSAgSGFuZGxlIDAgZGF0YSBzaXplIGluIG90aGVyd2lzZSB2YWxpZCBmcmFtZXMuCgkgIEhhbmRsZSBudW1lcmljIHN0cmluZ3MgaW4gMi40LjAgZXZlbiB3aGVuIG5vdCBpbiBwYXJlbnRoZXNlcwoKMjAwNi0wMi0xOCAxNzoyMDo0OCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9tYXRyb3NrYS86IFJlY29nbmlzZSBTU0EvQVNTIGFuZCBVU0Ygc3VidGl0bGUgZm9ybWF0cyBhbmQgc2V0IHByb3BlciBjYXBzIHdoZW4gdGhleSBhcmUgZm91bmQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3N1YnRpdGxlX2NhcHMpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BsdWdpbl9pbml0KToKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmg6CgkgIFJlY29nbmlzZSBTU0EvQVNTIGFuZCBVU0Ygc3VidGl0bGUgZm9ybWF0cyBhbmQKCSAgc2V0IHByb3BlciBjYXBzIHdoZW4gdGhleSBhcmUgZm91bmQuCgoyMDA2LTAyLTE3IDE4OjI1OjQyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBEb24ndCBHU1RfTE9HIHRpbWVzdGFtcHMgZnJvbSBub25leGlzdGVudCBpbmRleCBlbnRyaWVzICgjMzMxNTgyKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfbG9vcF9zdGF0ZV9tb3ZpZSk6CgkgIERvbid0IEdTVF9MT0cgdGltZXN0YW1wcyBmcm9tIG5vbmV4aXN0ZW50IGluZGV4CgkgIGVudHJpZXMgKCMzMzE1ODIpLgoKMjAwNi0wMi0xNyAxNzo1NDowNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzogRml4IGludmFsaWQgbWVtb3J5IGFjY2VzcyBmb3Igc29tZSBvZGQtc2l6ZWQgaW1hZ2VzIChzZWUgaW1hZ2UgY29udGFpbmVkIGluIHF1aWNrdGltZSBzdHJlYW0gaS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6IChnc3RfanBlZ19kZWNfZGVjb2RlX2RpcmVjdCksCgkgIChnc3RfanBlZ19kZWNfY2hhaW4pOgoJICBGaXggaW52YWxpZCBtZW1vcnkgYWNjZXNzIGZvciBzb21lIG9kZC1zaXplZCBpbWFnZXMKCSAgKHNlZSBpbWFnZSBjb250YWluZWQgaW4gcXVpY2t0aW1lIHN0cmVhbSBpbiAjMzI3MDgzKTsKCSAgdXNlIGdfbWFsbG9jKCkgaW5zdGVhZCBvZiBnX2FsbG9jYSgpLgoKMjAwNi0wMi0xNyAxNjoyODoyOSArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogQ2hlY2sgdGhhdCB0aGUgc2l6ZSBvZiB0aGUgcmV0dXJuZWQgYnVmZmVyIGlzIG9mIHRoZSBjb3JyZWN0IHNpemUgYmVjYXVzZSB0aGUgcGFyc2VyIGFzc3VtZXMgdC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9sb29wX3N0YXRlX2hlYWRlcik6CgkgIENoZWNrIHRoYXQgdGhlIHNpemUgb2YgdGhlIHJldHVybmVkIGJ1ZmZlciBpcyBvZiB0aGUgY29ycmVjdCBzaXplCgkgIGJlY2F1c2UgdGhlIHBhcnNlciBhc3N1bWVzIHRoYXQuCgkgIEZpeGVzICMzMzE1NDMuCgoyMDA2LTAyLTE3IDE1OjM3OjM4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5jOiBQYXRjaCBmcm9tIFNlYmFzdGllbiBDb3RlLCBmaXhlcyAjMzE5ODg0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuYzogKGdzdF9ydHBfYW1yX2RlcGF5X2NoYWluKToKCSAgUGF0Y2ggZnJvbSBTZWJhc3RpZW4gQ290ZSwgZml4ZXMgIzMxOTg4NAoKMjAwNi0wMi0xNyAxMToxOTozNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9jZGlvL2dzdGNkaW8uYzogSW5pdCBkZWJ1ZyBjYXRlZ29yeSAoIzMzMTI1MykuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9jZGlvL2dzdGNkaW8uYzogKHBsdWdpbl9pbml0KToKCSAgSW5pdCBkZWJ1ZyBjYXRlZ29yeSAoIzMzMTI1MykuCgoyMDA2LTAyLTE3IDEwOjUzOjM4ICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBleHQvZ2NvbmYvZ2NvbmYuYzoKCSogZXh0L2djb25mL2djb25mLmg6CgkqIGV4dC9nY29uZi9nc3RnY29uZmF1ZGlvc2luay5jOgoJKiBleHQvZ2NvbmYvZ3N0Z2NvbmZhdWRpb3NpbmsuaDoKCSogZ2NvbmYvZ3N0cmVhbWVyLnNjaGVtYXMuaW46CgkqIGdzdC1wbHVnaW5zLWdvb2Quc3BlYy5pbjoKCSAgYWRkIEp1cmcncyBwYXRjaCBmb3IgbXVsdGlkZXZpY2Ugc3VwcG9ydAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYWRkIEp1cmcncyBwYXRjaCBmb3IgbXVsdGlkZXZpY2Ugc3VwcG9ydAoKMjAwNi0wMi0xNiAyMDozMDoxMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiBQYXNzIGV4dHJhX2RhdGEgdG8gZ3N0X3JpZmZfY3JlYXRlX2F1ZGlvX2NhcHMoKSwgc28gdGhhdAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogKGdzdF93YXZwYXJzZV9zdHJlYW1faGVhZGVycyk6CgkgIFBhc3MgZXh0cmFfZGF0YSB0byBnc3RfcmlmZl9jcmVhdGVfYXVkaW9fY2FwcygpLCBzbyB0aGF0CgkgIFdBVkVGT1JNQVRFWCBzdHVmZiB3b3Jrcy4gUG9zdCBhdWRpbyBjb2RlYyBuYW1lIGFuZCBwb3N0CgkgIGl0IGFzIHRhZ2xpc3Qgb24gdGhlIGJ1cy4gQWxsb3cgdXAgdG8gOCBjaGFubmVzbCBmb3IgcmF3CgkgIFBDTSBpbiB0aGUgc291cmNlIHBhZCB0ZW1wbGF0ZSBjYXBzLgoKMjAwNi0wMi0xNiAxNjo1Mzo1MiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzogQXBwbGllZCAjMzE4NjYzLiBHaXZlcyBxdWl0ZSBhIGZldyBmYWxzZSBwb3NpdGl2ZXMgaW4gYXV0b3NjYW4gbW9kZSwgYnV0IGl0J3MgYmV0dGVyIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4LmM6IChnc3RfbXVsdGlwYXJ0X2RlbXV4X2Jhc2VfaW5pdCksCgkgIChnc3RfbXVsdGlwYXJ0X2RlbXV4X2NsYXNzX2luaXQpLCAoZ3N0X211bHRpcGFydF9kZW11eF9pbml0KSwKCSAgKGdzdF9tdWx0aXBhcnRfZGVtdXhfZmluYWxpemUpLCAoZ3N0X211bHRpcGFydF9maW5kX3BhZF9ieV9taW1lKSwKCSAgKGdzdF9tdWx0aXBhcnRfZGVtdXhfY2hhaW4pLCAoZ3N0X211bHRpcGFydF9kZW11eF9jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X211bHRpcGFydF9zZXRfcHJvcGVydHkpLCAoZ3N0X211bHRpcGFydF9nZXRfcHJvcGVydHkpOgoJICBBcHBsaWVkICMzMTg2NjMuIEdpdmVzIHF1aXRlIGEgZmV3IGZhbHNlIHBvc2l0aXZlcyBpbgoJICBhdXRvc2NhbiBtb2RlLCBidXQgaXQncyBiZXR0ZXIgdGhhbiBub3RoaW5nLiBOb3QgY2xvc2luZyB5ZXQuCgoyMDA2LTAyLTE2IDE0OjEzOjQ4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgVXBkYXRlIGRvY3VtZW50YXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkgICogZ3N0L3VkcC9nc3R1ZHBzcmMuYzogKGdzdF91ZHBzcmNfY2xhc3NfaW5pdCksIChnc3RfdWRwc3JjX2luaXQpLAoJICAoZ3N0X3VkcHNyY19zdGFydCk6CgkgIFVwZGF0ZSBkb2N1bWVudGF0aW9uLgoJICBGaXggYXJncy4KCjIwMDYtMDItMTYgMTQ6MDI6NTcgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IERvbid0IHN0b3AgdGhlIHRhc2sgaWYgdGhlIHBhZCBpc24ndCBsaW5rZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2hhbmRsZV9zcmNfZXZlbnQpLAoJICAoZ3N0X3F0ZGVtdXhfbG9vcCksIChxdGRlbXV4X3NpbmtfYWN0aXZhdGVfcHVsbCk6CgkgIERvbid0IHN0b3AgdGhlIHRhc2sgaWYgdGhlIHBhZCBpc24ndCBsaW5rZWQuCgoyMDA2LTAyLTE2IDEwOjU4OjE4ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC9pZDNkZW11eC9pZDN0YWdzLmM6IElEMyAyLjMuMCB1c2VkIHN5bmNoLXNhZmUgaW50ZWdlcnMgZm9yIHRoZSB0YWcgc2l6ZSwgYnV0IG5vdCBmb3IgdGhlIGZyYW1lIHNpemUuIChGaXhlcyAjMzMxMzY4KQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaWQzZGVtdXgvaWQzdGFncy5jOiAoaWQzZGVtdXhfaWQzdjJfZnJhbWVzX3RvX3RhZ19saXN0KToKCSAgSUQzIDIuMy4wIHVzZWQgc3luY2gtc2FmZSBpbnRlZ2VycyBmb3IgdGhlIHRhZyBzaXplLCBidXQgbm90IGZvciB0aGUKCSAgZnJhbWUgc2l6ZS4gKEZpeGVzICMzMzEzNjgpCgoyMDA2LTAyLTE2IDEwOjQyOjI1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvUkVBRE1FOiBVcGRhdGVkIFJFQURNRS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvUkVBRE1FOgoJICBVcGRhdGVkIFJFQURNRS4KCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19nZXRfdHlwZSksCgkgIChnc3RfcnRzcHNyY19jbGFzc19pbml0KSwgKGdzdF9ydHNwc3JjX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfcnRzcHNyY19nZXRfcHJvcGVydHkpLCAoZ3N0X3J0c3BzcmNfc3RyZWFtX3NldHVwX3J0cCk6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBNYWtlIHN1cmUgdGhlIFJUUCBwb3J0IGlzIGFuIGV2ZW4gcG9ydCBhbiB0cnkgdG8gYWxsb2NhdGUKCSAgYW5vdGhlciBpZiBub3QuCgkgIEFkZGVkIHJldHJ5IHByb3BlcnR5IHRvIGNvbnRyb2wgbWF4IHJldHJpZXMgZm9yIHBvcnQgYWxsb2NhdGlvbi4KCSAgTWFrZSBzdXJlIFJUQ1AgcG9ydCBpcyBSVFAgcG9ydCsxLgoJICBDbGVhbnVwIHdoZW4gcG9ydCBhbGxvY2F0aW9uIGZhaWxzLgoJICBGaXhlcyAjMzE5MTgzLgoKMjAwNi0wMi0xNiAwOToxNzo1OCArMDAwMCAgV291dGVyIFBhZXNlbiA8d291dGVyQGthbmdhcm9vdC5uZXQ+CgoJICBnc3QvYWxwaGEvZ3N0YWxwaGEuYzogRG9uJ3QgaWdub3JlIHJldHVybiB2YWx1ZSBvZiB0aGUgcGFyZW50IGNsYXNzJ3Mgc3RhdGUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2FscGhhL2dzdGFscGhhLmM6IChnc3RfYWxwaGFfY2hhbmdlX3N0YXRlKToKCSAgRG9uJ3QgaWdub3JlIHJldHVybiB2YWx1ZSBvZiB0aGUgcGFyZW50IGNsYXNzJ3Mgc3RhdGUKCSAgY2hhbmdlIGZ1bmN0aW9uICgjMzMxMzg1LCBwYXRjaCBieTogV291dGVyIFBhZXNlbikuCgoyMDA2LTAyLTE1IDEyOjE3OjI4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgQWRkIEhBTCBzb3VuZCBkZXZpY2Ugd3JhcHBlciBwbHVnaW5zLiBDbG9zZXMgIzMyOTEwNgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGV4dC9NYWtlZmlsZS5hbToKCSAgKiBleHQvaGFsL01ha2VmaWxlLmFtOgoJICAqIGV4dC9oYWwvZ3N0aGFsYXVkaW9zaW5rLmM6IChnc3RfaGFsX2F1ZGlvX3NpbmtfYmFzZV9pbml0KSwKCSAgKGdzdF9oYWxfYXVkaW9fc2lua19jbGFzc19pbml0KSwgKGdzdF9oYWxfYXVkaW9fc2lua19yZXNldCksCgkgIChnc3RfaGFsX2F1ZGlvX3NpbmtfaW5pdCksIChnc3RfaGFsX2F1ZGlvX3NpbmtfZGlzcG9zZSksCgkgIChkb190b2dnbGVfZWxlbWVudCksIChnc3RfaGFsX2F1ZGlvX3Npbmtfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9oYWxfYXVkaW9fc2lua19nZXRfcHJvcGVydHkpLAoJICAoZ3N0X2hhbF9hdWRpb19zaW5rX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L2hhbC9nc3RoYWxhdWRpb3NpbmsuaDoKCSAgKiBleHQvaGFsL2dzdGhhbGF1ZGlvc3JjLmM6IChnc3RfaGFsX2F1ZGlvX3NyY19iYXNlX2luaXQpLAoJICAoZ3N0X2hhbF9hdWRpb19zcmNfY2xhc3NfaW5pdCksIChnc3RfaGFsX2F1ZGlvX3NyY19yZXNldCksCgkgIChnc3RfaGFsX2F1ZGlvX3NyY19pbml0KSwgKGdzdF9oYWxfYXVkaW9fc3JjX2Rpc3Bvc2UpLAoJICAoZG9fdG9nZ2xlX2VsZW1lbnQpLCAoZ3N0X2hhbF9hdWRpb19zcmNfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9oYWxfYXVkaW9fc3JjX2dldF9wcm9wZXJ0eSksIChnc3RfaGFsX2F1ZGlvX3NyY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9oYWwvZ3N0aGFsYXVkaW9zcmMuaDoKCSAgKiBleHQvaGFsL2dzdGhhbGVsZW1lbnRzLmM6IChwbHVnaW5faW5pdCk6CgkgICogZXh0L2hhbC9nc3RoYWxlbGVtZW50cy5oOgoJICAqIGV4dC9oYWwvaGFsLmM6IChnc3RfaGFsX2dldF9zdHJpbmcpLAoJICAoZ3N0X2hhbF9yZW5kZXJfYmluX2Zyb21fdWRpKSwgKGdzdF9oYWxfZ2V0X2F1ZGlvX3NpbmspLAoJICAoZ3N0X2hhbF9nZXRfYXVkaW9fc3JjKToKCSAgKiBleHQvaGFsL2hhbC5oOgoJICBBZGQgSEFMIHNvdW5kIGRldmljZSB3cmFwcGVyIHBsdWdpbnMuIENsb3NlcyAjMzI5MTA2CgoyMDA2LTAyLTE1IDEyOjEzOjQ3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBJdCBhcHBlYXJzIDEwMCUgZXF1YWxzIDEvMSBhbmQgbm90IDEwMC8xIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9jaGFpbik6CgkgIEl0IGFwcGVhcnMgMTAwJSBlcXVhbHMgMS8xIGFuZCBub3QgMTAwLzEgLi4uCgoyMDA2LTAyLTE1IDEwOjE1OjQ3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiBBZGQgY29tbWVudCBpbiBhIGZ1bHRpbGUgYXR0ZW1wdCB0byBzdG9wIHRoZSBjb3B5LWFuZC1wYXN0ZSBwYXJhZGlnbSBsZWFkaW5nIHRvIGR1cGxpY2F0aW9uIG9mLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfaGFuZGxlX3NyY19ldmVudCk6CgkgIEFkZCBjb21tZW50IGluIGEgZnVsdGlsZSBhdHRlbXB0IHRvIHN0b3AgdGhlIGNvcHktYW5kLXBhc3RlCgkgIHBhcmFkaWdtIGxlYWRpbmcgdG8gZHVwbGljYXRpb24gb2YgYmFkIGNvZGUuCgkgICogZ3N0L3J0c3AvcnRzcHRyYW5zcG9ydC5jOiAocnRzcF90cmFuc3BvcnRfcGFyc2UpOgoJICBNaW1lIHBhcmFtZXRlcnMgaGF2ZSB0byBiZSBjaGVja2VkIGNhc2UgaW5zZW5zaXRpdmUKCjIwMDYtMDItMTUgMDk6NDU6MjcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IFdoZW4gYnVmZmVyaW5nIE1EQVQgZGF0YSwgc2hvdyB0aGUgdXNlciBzb21ldGhpbmcgaXMgaGFwcGVuaW5nIGJ5IHBvc3RpbmcgJ2J1ZmZlcmluZycgbWVzc2FnZXMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfcG9zdF9idWZmZXJpbmcpLAoJICAoZ3N0X3F0ZGVtdXhfY2hhaW4pOgoJICBXaGVuIGJ1ZmZlcmluZyBNREFUIGRhdGEsIHNob3cgdGhlIHVzZXIgc29tZXRoaW5nIGlzCgkgIGhhcHBlbmluZyBieSBwb3N0aW5nICdidWZmZXJpbmcnIG1lc3NhZ2VzIG9uIHRoZSBidXMuCgoyMDA2LTAyLTE0IDIzOjIzOjA4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IEFkdmFuY2Ugc3RyZWFtIHRpbWUgZm9yIGxhZ2dpbmcgc3VidGl0bGUgc3RyZWFtcyBieSBzZW5kaW5nIG5ld3NlZ21lbnQgZXZlbnRzIHdpdGggdGhlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiAoZ3N0X21hdHJvc2thX2RlbXV4X3N5bmNfc3RyZWFtcyk6CgkgIEFkdmFuY2Ugc3RyZWFtIHRpbWUgZm9yIGxhZ2dpbmcgc3VidGl0bGUgc3RyZWFtcyBieSBzZW5kaW5nCgkgIG5ld3NlZ21lbnQgZXZlbnRzIHdpdGggdGhlIHVwZGF0ZSBmbGFnIHNldC4KCjIwMDYtMDItMTQgMTg6NTA6MTMgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4Lio6IE1ha2UgcHVzaC1iYXNlZCB3b3JrIGlmIG1kYXQgYXRvbSBpcyBiZWZvcmUgbW9vdiBhdG9tLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9pbml0KSwKCSAgKGdzdF9xdGRlbXV4X2hhbmRsZV9zcmNfcXVlcnkpLCAoZ3N0X3F0ZGVtdXhfY2hhbmdlX3N0YXRlKSwKCSAgKG5leHRfZW50cnlfc2l6ZSksIChnc3RfcXRkZW11eF9jaGFpbik6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5oOgoJICBNYWtlIHB1c2gtYmFzZWQgd29yayBpZiBtZGF0IGF0b20gaXMgYmVmb3JlIG1vb3YgYXRvbS4KCSAgRG9uJ3QgYW5zd2VyIGR1cmF0aW9uIHF1ZXJ5LiBUaGlzIHNob3VsZCBiZSB0cmFuc2Zvcm1lZCBpbnRvIHJlcGx5aW5nCgkgIEZBTFNFIHRvIHNlZWsgZXZlbnRzLgoKMjAwNi0wMi0xNCAxNjo1ODozMCArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogVGhlcmUgY2FuIGJlIGJvZ3VzIGRhdGEgYmVmb3JlIHRoZSBoZHJsIExJU1QgdGFnIGluIHRoZSBSSUZGIGhlYWRlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9zdHJlYW1faGVhZGVyKToKCSAgVGhlcmUgY2FuIGJlIGJvZ3VzIGRhdGEgYmVmb3JlIHRoZSBoZHJsIExJU1QgdGFnIGluIHRoZSBSSUZGIGhlYWRlci4KCSAgSXQncyBoYXJkIHRvIHNheSBpZiBpdCdzIG5vdCByZXNwZWN0aW5nIHRoZSBBVkkgc3BlY2lmaWNhdGlvbnMgb3Igbm90LAoJICBidXQgc2luY2UgR29vZ2xlIFZpZGVvIGlzIHByb2R1Y2luZyBBVklzIGxpa2UgdGhhdCBhbmQgdGhlIG90aGVyIHBsYXllcgoJICBkb24ndCBzZWVtIHRvIGNvbXBsYWluLCBJIGd1ZXNzIHdlIHNob3VsZCBkbyB0aGUgc2FtZS4KCjIwMDYtMDItMTQgMTE6MjQ6NTMgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEhhbmRsZSB0aGUgY2FzZSB3aGVyZSBkYXRhIGF0b21zIGFyZSBiZWZvcmUgbW9vdiBhdG9tcyBpbiBwdXNoLWJhc2VkIG1vZGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKG5leHRfZW50cnlfc2l6ZSksIChnc3RfcXRkZW11eF9jaGFpbik6CgkgIEhhbmRsZSB0aGUgY2FzZSB3aGVyZSBkYXRhIGF0b21zIGFyZSBiZWZvcmUgbW9vdiBhdG9tcyBpbiBwdXNoLWJhc2VkIG1vZGUuCgkgIEVycm9ycyBvdXQgZ3JhY2VmdWxseS4KCjIwMDYtMDItMTMgMjI6MDQ6NDIgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvcXRkZW11eC86IFF0RGVtdXggY2FuIG5vdyB3b3JrIHB1c2gtYmFzZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2luaXQpLAoJICAoZ3N0X3F0ZGVtdXhfaGFuZGxlX3NpbmtfZXZlbnQpLCAoZ3N0X3F0ZGVtdXhfY2hhbmdlX3N0YXRlKSwKCSAgKGV4dHJhY3RfaW5pdGlhbF9sZW5ndGhfYW5kX2ZvdXJjYyksCgkgIChnc3RfcXRkZW11eF9sb29wX3N0YXRlX2hlYWRlciksIChnc3RfcXRkZW11eF9sb29wX3N0YXRlX21vdmllKSwKCSAgKGdzdF9xdGRlbXV4X2xvb3BfaGVhZGVyKSwgKG5leHRfZW50cnlfc2l6ZSksIChnc3RfcXRkZW11eF9jaGFpbiksCgkgIChxdGRlbXV4X3NpbmtfYWN0aXZhdGUpLCAocXRkZW11eF9zaW5rX2FjdGl2YXRlX3B1bGwpLAoJICAocXRkZW11eF9zaW5rX2FjdGl2YXRlX3B1c2gpLCAocXRkZW11eF9wYXJzZV90cmFrKToKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4Lmg6CgkgIFF0RGVtdXggY2FuIG5vdyB3b3JrIHB1c2gtYmFzZWQuCgkgIEl0IHN0aWxsIG5lZWRzIHNvbWUgbG92ZSBmb3Igc2Vla2luZy4KCjIwMDYtMDItMTMgMTI6MDA6NTEgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0L2lkM2RlbXV4L2lkM3YyZnJhbWVzLmM6IEFkZCBtb3JlIHZhbGlkYXRpb24gdG8gZW5zdXJlIHRoYXQgYSBjaGFyIGVuY29kaW5nIGNvbnZlcnNpb24gcHJvZHVjZWQgYSB2YWxpZCBVVEYtOCBzdHJpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pZDNkZW11eC9pZDN2MmZyYW1lcy5jOiAocGFyc2VfaW5zZXJ0X3N0cmluZ19maWVsZCksCgkgIChwYXJzZV9zcGxpdF9zdHJpbmdzKToKCSAgQWRkIG1vcmUgdmFsaWRhdGlvbiB0byBlbnN1cmUgdGhhdCBhIGNoYXIgZW5jb2RpbmcgY29udmVyc2lvbgoJICBwcm9kdWNlZCBhIHZhbGlkIFVURi04IHN0cmluZy4KCjIwMDYtMDItMTMgMTA6NDM6MTUgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IFByb3Blcmx5IGhhbmRsZSBlbmQgb2Ygc2VnbWVudC4gQ2xvc2VzICMzMzA4ODUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBSZXZpZXdlZCBieTogRWR3YXJkIEhlcnZleSAgPGVkd2FyZEBmbHVlbmRvLmNvbT4KCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X3Byb2Nlc3NfbmV4dF9lbnRyeSk6CgkgIFByb3Blcmx5IGhhbmRsZSBlbmQgb2Ygc2VnbWVudC4gQ2xvc2VzICMzMzA4ODUuCgoyMDA2LTAyLTEzIDEwOjM2OjIzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC9nc3RydHBtcDRncGF5Lmg6IEZvciBnb3QgdG8gY29tbWl0IHRoaXMgb25lLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGdwYXkuaDoKCSAgRm9yIGdvdCB0byBjb21taXQgdGhpcyBvbmUuCgoyMDA2LTAyLTEyIDE4OjU5OjM2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC9nc3RydHBtcDRncGF5Lio6IE1ha2UgbW9yZSB0aGluZ3Mgd29yay4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBtcDRncGF5LmM6IChnc3RfcnRwX21wNGdfcGF5X2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cF9tcDRnX3BheV9pbml0KSwgKGdzdF9ydHBfbXA0Z19wYXlfcGFyc2VfYXVkaW9fY29uZmlnKSwKCSAgKGdzdF9ydHBfbXA0Z19wYXlfcGFyc2VfdmlkZW9fY29uZmlnKSwgKGdzdF9ydHBfbXA0Z19wYXlfbmV3X2NhcHMpLAoJICAoZ3N0X3J0cF9tcDRnX3BheV9zZXRjYXBzKSwgKGdzdF9ydHBfbXA0Z19wYXlfZmx1c2gpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0Z3BheS5oOgoJICBNYWtlIG1vcmUgdGhpbmdzIHdvcmsuCgkgIEhhbmRsZSBBQ0MgY29uZmlnIHN0cmluZ3MuCgoyMDA2LTAyLTEyIDEzOjEwOjIwICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGdzdC9ydHAvZ3N0cnRwYW1ycGF5LmM6IHNldCB0aW1lc3RhbXBzIGlmIG5vIGluY29taW5nIHRpbWVzdGFtcHMgc2V0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwYW1ycGF5LmM6IChnc3RfcnRwX2Ftcl9wYXlfaGFuZGxlX2J1ZmZlcik6CgkgIHNldCB0aW1lc3RhbXBzIGlmIG5vIGluY29taW5nIHRpbWVzdGFtcHMgc2V0CgoyMDA2LTAyLTExIDEzOjU0OjI2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2FwZXRhZy9nc3R0YWdkZW11eC5jOiAuLi4gYW5kIGZpeCB0aGUgdmVyeSBzYW1lIGxlYWtzIGluIEdzdFRhZ0RlbXV4LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXBldGFnL2dzdHRhZ2RlbXV4LmM6IChnc3RfdGFnX2RlbXV4X2dldF91cHN0cmVhbV9zaXplKSwKCSAgKGdzdF90YWdfZGVtdXhfZG9fdHlwZWZpbmQpOgoJICAuLi4gYW5kIGZpeCB0aGUgdmVyeSBzYW1lIGxlYWtzIGluIEdzdFRhZ0RlbXV4LgoKMjAwNi0wMi0xMSAxMzozNToxMyArMDAwMCAgSm9uIFRyb3dicmlkZ2UgPHRyb3dAeGltaWFuLmNvbT4KCgkgIGdzdC9pZDNkZW11eC9nc3RpZDNkZW11eC5jOgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaWQzZGVtdXgvZ3N0aWQzZGVtdXguYzogKGlkM2RlbXV4X2dldF91cHN0cmVhbV9zaXplKSwKCSAgKGdzdF9pZDNkZW11eF9kb190eXBlZmluZCk6CgkgIEZpeCBhIGNvdXBsZSBvZiBtZW0gbGVha3MuIChQYXRjaCBieSBKb25hdGhhbiBNYXR0aGV3CgkgIDxqb25hdGhhbiBhdCBrYW9saW4gZG90IHdoOSBkb3QgbmV0PikKCjIwMDYtMDItMTAgMTc6Mzc6MzkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuYzogRmlyc3Qgc2V0IG9wdGlvbnMsIHRoZW4gc2V0IGNhcHMgb3IgZWxzZSB0aGUgYmFzZWNsYXNzIHdpbGwgbm90IGtub3cgYWJvdXQgdGhlIG9wdGlvbnMsIGR1aC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBtcDR2cGF5LmM6IChnc3RfcnRwX21wNHZfcGF5X3NldGNhcHMpOgoJICBGaXJzdCBzZXQgb3B0aW9ucywgdGhlbiBzZXQgY2FwcyBvciBlbHNlIHRoZSBiYXNlY2xhc3MKCSAgd2lsbCBub3Qga25vdyBhYm91dCB0aGUgb3B0aW9ucywgZHVoLgoKMjAwNi0wMi0xMCAxNzoxNjo1NSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5jOiBEb24ndCB3YXN0ZSB0aW1lIGxvb2tpbmcgZm9yIGEgY29uZmlnIHN0cmluZyBpZiB3ZSBoYXZlIGNvZGVjX2luZm8gb24gdGhlIGluY29tbWluZyBjYXBzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuYzogKGdzdF9ydHBfbXA0dl9wYXlfY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwX21wNHZfcGF5X3NldGNhcHMpOgoJICBEb24ndCB3YXN0ZSB0aW1lIGxvb2tpbmcgZm9yIGEgY29uZmlnIHN0cmluZyBpZiB3ZSBoYXZlIGNvZGVjX2luZm8KCSAgb24gdGhlIGluY29tbWluZyBjYXBzLgoKMjAwNi0wMi0xMCAxNjo0MDo1OCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvUkVBRE1FOiBTYXkgc29tZXRoaW5nIGFib3V0IGNhc2Utc2Vuc2l0aXZpdHkgb2YgY2FwcyB2cyBtaW1lLWF0dHJpYnV0ZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvUkVBRE1FOgoJICBTYXkgc29tZXRoaW5nIGFib3V0IGNhc2Utc2Vuc2l0aXZpdHkgb2YgY2FwcyB2cyBtaW1lLWF0dHJpYnV0ZXMuCgkgICogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcnRwL2dzdHJ0cC5jOiAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwYW1ycGF5LmM6IChnc3RfcnRwX2Ftcl9wYXlfY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwX2Ftcl9wYXlfaGFuZGxlX2J1ZmZlcik6CgkgICogZ3N0L3J0cC9nc3RydHBtcDRncGF5LmM6IChnc3RfcnRwX21wNGdfcGF5X2dldF90eXBlKSwKCSAgKGdzdF9ydHBfbXA0Z19wYXlfYmFzZV9pbml0KSwgKGdzdF9ydHBfbXA0Z19wYXlfY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwX21wNGdfcGF5X2luaXQpLCAoZ3N0X3J0cF9tcDRnX3BheV9maW5hbGl6ZSksCgkgIChnc3RfcnRwX21wNGdfcGF5X25ld19jYXBzKSwgKGdzdF9ydHBfbXA0Z19wYXlfc2V0Y2FwcyksCgkgIChnc3RfcnRwX21wNGdfcGF5X2ZsdXNoKSwgKGdzdF9ydHBfbXA0Z19wYXlfaGFuZGxlX2J1ZmZlciksCgkgIChnc3RfcnRwX21wNGdfcGF5X3NldF9wcm9wZXJ0eSksIChnc3RfcnRwX21wNGdfcGF5X2dldF9wcm9wZXJ0eSksCgkgIChnc3RfcnRwX21wNGdfcGF5X3BsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGdwYXkuaDoKCSAgQWRkZWQgYmVnaW5uaW5ncyBvZiBtcGVnNC1nZW5lcmljIHBheWxvYWRlciAoUkZDIDM2NDApCgoyMDA2LTAyLTA5IDE0OjIwOjE0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvOiBSZXN1cmVjdGVkIHJ0cGRlYyB0byBtYWtlIHJ0c3BzcmMgaGFwcHkgYWdhaW4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9ydHNwL2dzdHJ0cGRlYy5jOiAoZ3N0X3J0cGRlY19nZXRfdHlwZSksCgkgIChnc3RfcnRwZGVjX2NsYXNzX2luaXQpLCAoZ3N0X3J0cGRlY19pbml0KSwgKGdzdF9ydHBkZWNfZ2V0Y2FwcyksCgkgIChnc3RfcnRwZGVjX2NoYWluX3J0cCksIChnc3RfcnRwZGVjX2NoYWluX3J0Y3ApLAoJICAoZ3N0X3J0cGRlY19zZXRfcHJvcGVydHkpLCAoZ3N0X3J0cGRlY19nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3J0cGRlY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9ydHNwL2dzdHJ0cGRlYy5oOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3AuYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19zdHJlYW1fY29uZmlndXJlX3RyYW5zcG9ydCk6CgkgICogZ3N0L3J0c3AvcnRzcGNvbm5lY3Rpb24uYzogKHJlYWRfYm9keSksCgkgIChydHNwX2Nvbm5lY3Rpb25fcmVjZWl2ZSk6CgkgICogZ3N0L3J0c3AvcnRzcG1lc3NhZ2UuYzogKHJ0c3BfbWVzc2FnZV9kdW1wKToKCSAgUmVzdXJlY3RlZCBydHBkZWMgdG8gbWFrZSBydHNwc3JjIGhhcHB5IGFnYWluLgoJICBTa2lwIGF0dHJpYnV0ZXMgZnJvbSB0aGUgc2Vzc2lvbiBpZC4KCSAgRG9uJ3QgY3Jhc2ggd2hlbiBkdW1waW5nIGEgbWVzc2FnZSB3aXRoIGFuIGVtcHR5IGJvZHkuCgoyMDA2LTAyLTA5IDE0OjE0OjA3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5jOiBBZGRlZCBtb3JlIG1lYW5pbmdmdWxsIHdhcm5pbmdzIHdoZW4gc29tZXRoaW5nIGdvZXMgd3JvbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuYzogKGdzdF9ydHBfYW1yX2RlcGF5X2NoYWluKToKCSAgQWRkZWQgbW9yZSBtZWFuaW5nZnVsbCB3YXJuaW5ncyB3aGVuIHNvbWV0aGluZyBnb2VzIHdyb25nLgoJICBDbGVhciBGIGJpdCBvbiBvdXRnb2luZyBBTVIgcGFja2V0cy4KCSAgKiBnc3QvcnRwL2dzdHJ0cGFtcnBheS5jOiAoZ3N0X3J0cF9hbXJfcGF5X2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cF9hbXJfcGF5X2hhbmRsZV9idWZmZXIpOgoJICBBZGRlZCBkZWJ1Z2dpbmcgY2F0ZWdvcnkKCSAgU3VwcG9ydCBwYXlsb2FkaW5nIG9mIG11bHRpcGxlIEFNUiBmcmFtZXMuCgkgICogZ3N0L3J0cC9nc3RydHBtcDR2cGF5LmM6IChnc3RfcnRwX21wNHZfcGF5X2RlcGF5X2RhdGEpOgoJICBBZGRlZCBzb21lIGRlYnVnZ2luZy4KCjIwMDYtMDItMDkgMTE6MjU6NDIgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgY29uZmlndXJlLmFjOiBCYWNrIHRvIENWUwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIEJhY2sgdG8gQ1ZTCgo9PT0gcmVsZWFzZSAwLjEwLjIgPT09CgoyMDA2LTAyLTA5IDExOjIyOjM4ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Rpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmxpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkgIFJlbGVhc2luZyAwLjEwLjIKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFJlbGVhc2luZyAwLjEwLjIKCjIwMDYtMDItMDggMTc6MzU6MDUgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDA2LTAyLTA4IDE3OjE4OjIwICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkqIENoYW5nZUxvZzoKCSAgT29wcywganVtcGluZyB0aGUgZ3VuIHdpdGggdGhlIENoYW5nZUxvZyBlbnRyeQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgT29wcywganVtcGluZyB0aGUgZ3VuIHdpdGggdGhlIENoYW5nZUxvZyBlbnRyeQoKMjAwNi0wMi0wOCAxNzoxNjo0NiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBjb25maWd1cmUuYWM6IEJ1bXAgY29yZSBhbmQgcGx1Z2lucy1iYXNlIHJlcXVpcmVtZW50IHRvIDAuMTAuMi4yIGZvciBBUEkgYWRkaXRpb25zIChhbmQgMSBtaWdyYXRpb24gb2YgZ3N0X2Jpbl9maW5kX3UuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBCdW1wIGNvcmUgYW5kIHBsdWdpbnMtYmFzZSByZXF1aXJlbWVudCB0byAwLjEwLjIuMgoJICBmb3IgQVBJIGFkZGl0aW9ucyAoYW5kIDEgbWlncmF0aW9uIG9mIGdzdF9iaW5fZmluZF91bmNvbm5lY3RlZF9wYWQpCgoyMDA2LTAyLTA4IDE3OjEyOjQwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0LzogUmVnaXN0ZXIgbXVzaWNicmFpbnogdGFncy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhYy5jOiAocGx1Z2luX2luaXQpOgoJICAqIGV4dC9zcGVleC9nc3RzcGVleC5jOiAocGx1Z2luX2luaXQpOgoJICBSZWdpc3RlciBtdXNpY2JyYWlueiB0YWdzLgoKMjAwNi0wMi0wNyAxODozMTozMSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHJlbW92ZSB1bnVzZWQgdmFyCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZW1vdmUgdW51c2VkIHZhcgoKMjAwNi0wMi0wNyAxODowMToxNyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IHVzZSB0aGUgY29ycmVjdCB2YXJpYWJsZSB0byBjaGVjayBpZiB3ZSBjYW4gY2FsY3VsYXRlIHRoZSBsYXN0IGNodW5rLiAgTG9va3MgbGlrZSBhbiBvYnZpb3VzIGIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfbG9vcF9oZWFkZXIpLAoJICAocXRkZW11eF9wYXJzZV90cmFrKToKCSAgdXNlIHRoZSBjb3JyZWN0IHZhcmlhYmxlIHRvIGNoZWNrIGlmIHdlIGNhbiBjYWxjdWxhdGUKCSAgdGhlIGxhc3QgY2h1bmsuICBMb29rcyBsaWtlIGFuIG9idmlvdXMgYnVnLCBhbmQgbWFrZXMKCSAgdGhlIGR1bXAgb2Ygb2Zmc2V0cyBjb21wYXJhYmxlIHRvIG90aGVyIHRvb2xzCgoyMDA2LTAyLTA3IDE3OjU0OjQyICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogY2xlYW4gdXAgc29tZSBkZWJ1Z2dpbmcsIHVzaW5nIF9PQkpFQ1QsIG1vdmluZyByZWN1cnJpbmcgbWVzc2FnZXMgdG8gTE9HIGxldmVsCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2xvb3BfaGVhZGVyKSwKCSAgKHF0ZGVtdXhfcGFyc2VfdHJhayk6CgkgIGNsZWFuIHVwIHNvbWUgZGVidWdnaW5nLCB1c2luZyBfT0JKRUNULCBtb3ZpbmcgcmVjdXJyaW5nCgkgIG1lc3NhZ2VzIHRvIExPRyBsZXZlbAoKMjAwNi0wMi0wNyAxNjoyMzozMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9nY29uZi9nY29uZi5oOiBSZW1vdmUgZGVjbGFyYXRpb24gb2YgZnVuY3Rpb24gdGhhdCBubyBsb25nZXIgZXhpc3RzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZ2NvbmYvZ2NvbmYuaDoKCSAgUmVtb3ZlIGRlY2xhcmF0aW9uIG9mIGZ1bmN0aW9uIHRoYXQgbm8gbG9uZ2VyIGV4aXN0cy4KCjIwMDYtMDItMDcgMTM6Mzk6MDggKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBleHQvc2hvdXQyL2dzdHNob3V0Mi5jOiBNYWtlIHNob3V0MiB3b3JrIGZvciBub24gb2dnIHN0cmVhbXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDItMDcgIFphaGVlciBBYmJhcyBNZXJhbGkgIDx6YWhlZXJhYmJhcyBhdCBtZXJhbGkgZG90IG9yZz4KCSAgKiBleHQvc2hvdXQyL2dzdHNob3V0Mi5jOiAoZ3N0X3Nob3V0MnNlbmRfcmVuZGVyKSwKCSAgKGdzdF9zaG91dDJzZW5kX3NldGNhcHMpLCAoZ3N0X3Nob3V0MnNlbmRfY2hhbmdlX3N0YXRlKToKCSAgTWFrZSBzaG91dDIgd29yayBmb3Igbm9uIG9nZyBzdHJlYW1zCgoyMDA2LTAyLTA2IDE3OjI2OjQzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuKjogVXBkYXRlZCBkb2NzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOiAoZ3N0X211bHRpdWRwc2lua19jbGFzc19pbml0KSwKCSAgKGdzdF9tdWx0aXVkcHNpbmtfcmVuZGVyKSwgKGdzdF9tdWx0aXVkcHNpbmtfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9tdWx0aXVkcHNpbmtfaW5pdF9zZW5kKSwgKGdzdF9tdWx0aXVkcHNpbmtfYWRkKSwKCSAgKGdzdF9tdWx0aXVkcHNpbmtfcmVtb3ZlKSwgKGdzdF9tdWx0aXVkcHNpbmtfY2xlYXIpLAoJICAoZ3N0X211bHRpdWRwc2lua19nZXRfc3RhdHMpLCAoZ3N0X211bHRpdWRwc2lua19jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmg6CgkgIFVwZGF0ZWQgZG9jcy4KCSAgQWRkZWQgcHJvcGVydGllcyBieXRlcy1zZXJ2ZWQsIGJ5dGVzX3RvX3NlcnZlLgoJICBQb3N0IHByb3BlciBlcnJvciBtZXNzYWdlcywKCSAgRW1pdCBjbGllbnQgYWRkZWQgc2lnbmFsIHRvby4KCjIwMDYtMDItMDYgMTU6NDE6MjUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4Lio6IFNvbWUgUVQgZGVtdXggbG92aW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9oYW5kbGVfc3JjX3F1ZXJ5KSwKCSAgKGdzdF9xdGRlbXV4X2hhbmRsZV9zcmNfZXZlbnQpLCAoZ3N0X3F0ZGVtdXhfbG9vcF9oZWFkZXIpLAoJICAocXRkZW11eF9pbmZsYXRlKSwgKHF0ZGVtdXhfcGFyc2UpLCAocXRkZW11eF9wYXJzZV90cmFrKSwKCSAgKHF0ZGVtdXhfcGFyc2VfdWR0YSksIChxdGRlbXV4X3RhZ19hZGRfc3RyKSwgKHF0ZGVtdXhfdGFnX2FkZF9udW0pLAoJICAocXRkZW11eF90YWdfYWRkX2ducmUpLCAoZ3N0X3F0ZGVtdXhfaGFuZGxlX2VzZHMpLAoJICAocXRkZW11eF92aWRlb19jYXBzKSwgKHF0ZGVtdXhfYXVkaW9fY2Fwcyk6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5oOgoJICBTb21lIFFUIGRlbXV4IGxvdmluZy4KCSAgSGFuZGxlIHNlZWtpbmcgaW4gYSBsZXNzIGJyb2tlbiB3YXkuCgkgIEZpeCBBTVIgY2FwcyB0byBtYXRjaCB0aGUgQU1SIGRlY29kZXIuCgkgIFNldCBmaXJzdCB0aW1lc3RhbXAgb24gQU1SIHNhbXBsZXMgdG8gMCBmb3Igbm93LgoJICBSZW1vdmUgc29tZSBcbiBpbiBERUJVRyBzdHJpbmdzLgoJICBVc2UgX3NjYWxlX2ludCBmb3IgbWF4aW11bSBwcmVjaXNpb24uCgoyMDA2LTAyLTA2IDE1OjMxOjE2ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIENoYW5nZUxvZzoKCSogY29tbW9uOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSAgYWRkaW5nIGRvY3MgZm9yIG11bHRpdWRwc2luawoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYWRkaW5nIGRvY3MgZm9yIG11bHRpdWRwc2luawoKMjAwNi0wMi0wNiAxNToyODo1NiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzogcGVhayBiZWxvdyBkZWNheSBpcyBub3QgbmVjZXNzYXJpbHkgYW4gZXJyb3IsIHNvIGRvbid0IEVSUk9SIGxvZwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzogKGdzdF9sZXZlbF90cmFuc2Zvcm1faXApOgoJICBwZWFrIGJlbG93IGRlY2F5IGlzIG5vdCBuZWNlc3NhcmlseSBhbiBlcnJvciwgc28gZG9uJ3QgRVJST1IgbG9nCgoyMDA2LTAyLTA2IDE1OjI3OjA2ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJICBjdnMgdmVyc2lvbnMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGN2cyB2ZXJzaW9ucwoKMjAwNi0wMi0wNiAxNDoyNTozNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9tYXRyb3NrYS9lYm1sLXdyaXRlLio6IE1ha2Ugc3VyZSB3ZSBzZW5kIGEgbmV3c2VnbWVudCBldmVudCBpbiBCWVRFUyBmb3JtYXQgYmVmb3JlIHNlbmRpbmcgYnVmZmVycyAoIzMyODUzMSkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9lYm1sLXdyaXRlLmM6IChnc3RfZWJtbF93cml0ZV9yZXNldCksCgkgIChnc3RfZWJtbF93cml0ZV9mbHVzaF9jYWNoZSksIChnc3RfZWJtbF93cml0ZV9lbGVtZW50X3B1c2gpLAoJICAoZ3N0X2VibWxfd3JpdGVfc2Vlayk6CgkgICogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuaDoKCSAgTWFrZSBzdXJlIHdlIHNlbmQgYSBuZXdzZWdtZW50IGV2ZW50IGluIEJZVEVTIGZvcm1hdAoJICBiZWZvcmUgc2VuZGluZyBidWZmZXJzICgjMzI4NTMxKS4KCjIwMDYtMDItMDYgMTI6MTg6NDUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBQYXNzIHVuaGFuZGxlZCBxdWVyaWVzIHVwc3RyZWFtIGluc3RlYWQgb2YganVzdCBkcm9wcGluZyB0aGVtICgjMzI2NDQ2KS4gVXBkYXRlIHF1ZXJ5IHR5cGUgYXJyYXlzIGhlcmUgYW5kIHRoZXJlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZHYvZ3N0ZHZkZW11eC5jOiAoZ3N0X2R2ZGVtdXhfc3JjX3F1ZXJ5KSwKCSAgKGdzdF9kdmRlbXV4X3NpbmtfcXVlcnkpOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzogKGdzdF9mbGFjX2RlY19zcmNfcXVlcnkpOgoJICAqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOiAoc3BlZXhfZ2V0X3F1ZXJ5X3R5cGVzKSwKCSAgKHNwZWV4X2RlY19zcmNfcXVlcnkpOgoJICAqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOiAoZ3N0X3NwZWV4ZW5jX3NyY19xdWVyeSksCgkgIChnc3Rfc3BlZXhlbmNfc2lua19xdWVyeSk6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9oYW5kbGVfc3JjX3F1ZXJ5KToKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9nZXRfc3JjX3F1ZXJ5X3R5cGVzKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9oYW5kbGVfc3JjX3F1ZXJ5KToKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogKGdzdF93YXZwYXJzZV9nZXRfcXVlcnlfdHlwZXMpLAoJICAoZ3N0X3dhdnBhcnNlX3BhZF9xdWVyeSk6CgkgIFBhc3MgdW5oYW5kbGVkIHF1ZXJpZXMgdXBzdHJlYW0gaW5zdGVhZCBvZiBqdXN0IGRyb3BwaW5nCgkgIHRoZW0gKCMzMjY0NDYpLiBVcGRhdGUgcXVlcnkgdHlwZSBhcnJheXMgaGVyZSBhbmQgdGhlcmUuCgoyMDA2LTAyLTA2IDExOjU3OjUyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvbWF0cm9za2FtdXguYzogQ29sbGVjdHBhZHMgaW4gY29yZSBnb3QgY2hhbmdlZCBhbmQgbm93IGFsc28gaG9sZHMgYSByZWZlcmVuY2UgdG8gYW55IHBhZCB0aGF0IGlzLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21hdHJvc2thbXV4LmM6IChzZXR1cF9zcmNfcGFkKToKCSAgQ29sbGVjdHBhZHMgaW4gY29yZSBnb3QgY2hhbmdlZCBhbmQgbm93IGFsc28gaG9sZHMgYQoJICByZWZlcmVuY2UgdG8gYW55IHBhZCB0aGF0IGlzIHBhcnQgb2YgaXQuIEZpeCByZWZjb3VudAoJICBjaGVja3MgaW4gdGVzdCBjYXNlIGFjY29yZGluZ2x5LgoKMjAwNi0wMi0wNiAxMTo0MTo0MyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9hcGV0YWcvZ3N0YXBlZGVtdXguaDogRml4IGluY2x1ZGUsIGZvciBub3cgR3N0VGFnRGVtdXggaXMgaW4gdGhlIGFwZXRhZyBkaXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hcGV0YWcvZ3N0YXBlZGVtdXguaDoKCSAgRml4IGluY2x1ZGUsIGZvciBub3cgR3N0VGFnRGVtdXggaXMgaW4gdGhlIGFwZXRhZyBkaXIuCgoyMDA2LTAyLTA2IDExOjM0OjIzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZG9jcy9wbHVnaW5zLzogQWRkIGNkaW8gcGx1Z2luIHRvIGRvY3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Rpby54bWw6CgkgIEFkZCBjZGlvIHBsdWdpbiB0byBkb2NzLgoJICAqIGV4dC9jZGlvL2dzdGNkaW9jZGRhc3JjLmM6CgkgIEFkZCBndGstZG9jIGJsdXJiLgoJICAqIGV4dC9jZGlvL2dzdGNkaW8uYzoKCSAgVGhlIHBsdWdpbiBpcyBjYWxsZWQgJ2NkaW8nIG5vdCAnY2RkaW8nLgoKMjAwNi0wMi0wNiAxMDo1NjowNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIEFkZCBBUEUgdGFnIGRlbXV4ZXIgKCMzMjU2NDkpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJICAqIGdzdC9hcGV0YWcvTWFrZWZpbGUuYW06CgkgICogZ3N0L2FwZXRhZy9nc3RhcGVkZW11eC5jOgoJICAqIGdzdC9hcGV0YWcvZ3N0YXBlZGVtdXguaDoKCSAgKiBnc3QvYXBldGFnL2dzdHRhZ2RlbXV4LmM6CgkgICogZ3N0L2FwZXRhZy9nc3R0YWdkZW11eC5oOgoJICBBZGQgQVBFIHRhZyBkZW11eGVyICgjMzI1NjQ5KS4KCjIwMDYtMDItMDUgMjI6MjI6NTYgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZXh0L2djb25mLzogSWdub3JlIGNoYW5naW5nIHRoZSBHQ29uZiBrZXkgdG8gIiIuIElnbm9yZSBHQ29uZiBrZXkgdXBkYXRlcyB0aGF0IGRvbid0IGFjdHVhbGx5IGNoYW5nZSB0aGUgc3RyaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZ2NvbmYvZ2NvbmYuYzogKGdzdF9nY29uZl9nZXRfZGVmYXVsdF9hdWRpb19zaW5rKSwKCSAgKGdzdF9nY29uZl9nZXRfZGVmYXVsdF92aWRlb19zaW5rKSwKCSAgKGdzdF9nY29uZl9nZXRfZGVmYXVsdF9hdWRpb19zcmMpLAoJICAoZ3N0X2djb25mX2dldF9kZWZhdWx0X3ZpZGVvX3NyYyk6CgkgICogZXh0L2djb25mL2djb25mLmg6CgkgICogZXh0L2djb25mL2dzdGdjb25mYXVkaW9zaW5rLmM6IChnc3RfZ2NvbmZfYXVkaW9fc2lua19yZXNldCksCgkgIChnc3RfZ2NvbmZfYXVkaW9fc2lua19pbml0KSwgKGdzdF9nY29uZl9hdWRpb19zaW5rX2Rpc3Bvc2UpLAoJICAoZG9fdG9nZ2xlX2VsZW1lbnQpOgoJICAqIGV4dC9nY29uZi9nc3RnY29uZmF1ZGlvc2luay5oOgoJICAqIGV4dC9nY29uZi9nc3RnY29uZmF1ZGlvc3JjLmM6IChnc3RfZ2NvbmZfYXVkaW9fc3JjX3Jlc2V0KSwKCSAgKGdzdF9nY29uZl9hdWRpb19zcmNfaW5pdCksIChnc3RfZ2NvbmZfYXVkaW9fc3JjX2Rpc3Bvc2UpLAoJICAoZG9fdG9nZ2xlX2VsZW1lbnQpOgoJICAqIGV4dC9nY29uZi9nc3RnY29uZmF1ZGlvc3JjLmg6CgkgICogZXh0L2djb25mL2dzdGdjb25mdmlkZW9zaW5rLmM6IChnc3RfZ2NvbmZfdmlkZW9fc2lua19yZXNldCksCgkgIChnc3RfZ2NvbmZfdmlkZW9fc2lua19pbml0KSwgKGdzdF9nY29uZl92aWRlb19zaW5rX2Rpc3Bvc2UpLAoJICAoZG9fdG9nZ2xlX2VsZW1lbnQpOgoJICAqIGV4dC9nY29uZi9nc3RnY29uZnZpZGVvc2luay5oOgoJICAqIGV4dC9nY29uZi9nc3RnY29uZnZpZGVvc3JjLmM6IChnc3RfZ2NvbmZfdmlkZW9fc3JjX3Jlc2V0KSwKCSAgKGdzdF9nY29uZl92aWRlb19zcmNfaW5pdCksIChnc3RfZ2NvbmZfdmlkZW9fc3JjX2Rpc3Bvc2UpLAoJICAoZG9fdG9nZ2xlX2VsZW1lbnQpOgoJICAqIGV4dC9nY29uZi9nc3RnY29uZnZpZGVvc3JjLmg6CgkgIElnbm9yZSBjaGFuZ2luZyB0aGUgR0NvbmYga2V5IHRvICIiLiBJZ25vcmUgR0NvbmYga2V5IHVwZGF0ZXMKCSAgdGhhdCBkb24ndCBhY3R1YWxseSBjaGFuZ2UgdGhlIHN0cmluZy4KCSAgRm9yIG5vdywgaWdub3JlIHRoZSBHQ29uZiBrZXkgd2hlbiB0aGUgc3RhdGUgaXMgPiBSRUFEWSwgYXMKCSAgaXQgYnJlYWtzIHN0cmVhbWluZy4gU29tZXRpbWUgaXQgd2lsbCBiZSBuaWNlIHRvIGJyaW5nIHRoZQoJICBuZXcgc2luayBvbmxpbmUgZXZlbiBtaWQtc3RyZWFtLCBieSBzZW5kaW5nIE5FV1NFR01FTlQgaW5mbwoJICBhbmQgcG9zc2libHkgcHJlcm9sbGluZy4KCSAgKEZpeGVzICMzMjY3MzYpCgoyMDA2LTAyLTA1IDIwOjQzOjQ5ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC9nb29tLzogTWFrZSBnb29tIHJlZW50cmFudCBieSBtb3ZpbmcgYWxsIGltcG9ydGFudCBzdGF0aWMgdmFyaWFibGVzIGludG8gaW5zdGFuY2Ugc3RydWN0dXJlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2dvb20vZmlsdGVycy5jOiAoem9vbUZpbHRlck5ldyksIChjYWxjdWxhdGVQWGFuZFBZKSwKCSAgKHNldFBpeGVsUkdCKSwgKHNldFBpeGVsUkdCXyksIChnZXRQaXhlbFJHQiksIChnZXRQaXhlbFJHQl8pLAoJICAoem9vbUZpbHRlclNldFJlc29sdXRpb24pLCAoem9vbUZpbHRlckRlc3Ryb3kpLAoJICAoem9vbUZpbHRlckZhc3RSR0IpLCAocG9pbnRGaWx0ZXIpOgoJICAqIGdzdC9nb29tL2ZpbHRlcnMuaDoKCSAgKiBnc3QvZ29vbS9nb29tX2NvcmUuYzogKGdvb21faW5pdCksIChnb29tX3NldF9yZXNvbHV0aW9uKSwKCSAgKGdvb21fdXBkYXRlKSwgKGdvb21fY2xvc2UpOgoJICAqIGdzdC9nb29tL2dvb21fY29yZS5oOgoJICAqIGdzdC9nb29tL2dvb21fdG9vbHMuaDoKCSAgKiBnc3QvZ29vbS9ncmFwaGljLmM6CgkgICogZ3N0L2dvb20vZ3N0Z29vbS5jOiAoZ3N0X2dvb21fY2xhc3NfaW5pdCksIChnc3RfZ29vbV9pbml0KSwKCSAgKGdzdF9nb29tX2Rpc3Bvc2UpLCAoZ3N0X2dvb21fc3JjX3NldGNhcHMpLCAoZ3N0X2dvb21fY2hhaW4pOgoJICAqIGdzdC9nb29tL2dzdGdvb20uaDoKCSAgKiBnc3QvZ29vbS9saW5lcy5jOiAoZ29vbV9saW5lcyk6CgkgICogZ3N0L2dvb20vbGluZXMuaDoKCSAgTWFrZSBnb29tIHJlZW50cmFudCBieSBtb3ZpbmcgYWxsIGltcG9ydGFudCBzdGF0aWMgdmFyaWFibGVzCgkgIGludG8gaW5zdGFuY2Ugc3RydWN0dXJlcy4KCSAgKEZpeGVzICMzMjkxODEpCgoyMDA2LTAyLTA0IDE1OjQxOjQzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC4qOiBUaGlyZCBhdHRlbXB0LCB1c2UgZ3N0X3BhZF9pc19saW5rZWQoKSB0aGlzIHRpbWUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfcGFyc2Vfc3RyZWFtKSwKCSAgKGdzdF9hdmlfZGVtdXhfYWxsX3NvdXJjZV9wYWRzX3VubGlua2VkKSwKCSAgKGdzdF9hdmlfZGVtdXhfcHJvY2Vzc19uZXh0X2VudHJ5KToKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4Lmg6CgkgIFRoaXJkIGF0dGVtcHQsIHVzZSBnc3RfcGFkX2lzX2xpbmtlZCgpIHRoaXMgdGltZS4KCjIwMDYtMDItMDQgMTM6MzA6MTIgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0L2lkM2RlbXV4L2lkM3YyZnJhbWVzLmM6IEFkanVzdCBmb3IgZGF0YSBsZW5ndGggaW5kaWNhdG9ycyB3aGVuIHBhcnNpbmcgKEZpeGVzICMzMjk4MTApCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pZDNkZW11eC9pZDN2MmZyYW1lcy5jOiAoaWQzZGVtdXhfaWQzdjJfcGFyc2VfZnJhbWUpLAoJICAocGFyc2Vfc3BsaXRfc3RyaW5ncyk6CgkgIEFkanVzdCBmb3IgZGF0YSBsZW5ndGggaW5kaWNhdG9ycyB3aGVuIHBhcnNpbmcgKEZpeGVzICMzMjk4MTApCgkgIEZpeCBzdHVwaWQgYnVnIHBhcnNpbmcgVVRGLTggdGFnIHRleHQuCgkgIE91dHB1dCB0YWcgc3RyaW5ncyB3aXRoIG11bHRpcGxlIGZpZWxkcyBhcyBtdWx0aXBsZSB0YWdzLCBzbyB0aGUKCSAgYXBwIGdldHMgYWxsIHRoZSBkYXRhLgoKMjAwNi0wMi0wMyAyMDowNToyMCArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkgIEZpeGVkIGEgYnVnIGFkZCBpbiBsYXN0IGNvbW1pdCwgd2hlcmUgbm8gZXZlbnQgaXMgc2VuZC4gVGhhbmtzIFRpbSB0byBzaG93IG1lLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgRml4ZWQgYSBidWcgYWRkIGluIGxhc3QgY29tbWl0LCB3aGVyZSBubyBldmVudCBpcyBzZW5kLiBUaGFua3MgVGltIHRvIHNob3cgbWUuCgoyMDA2LTAyLTAzIDE4OjA3OjM1ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSogZ3N0L21hdHJvc2thL2VibWwtcmVhZC5jOgoJICBKdXN0IG1ha2UgaXQgY29tcGlsZSB3aXRoIC0tZGlzYWJsZS1nc3QtZGVidWcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBKdXN0IG1ha2UgaXQgY29tcGlsZSB3aXRoIC0tZGlzYWJsZS1nc3QtZGVidWcuCgoyMDA2LTAyLTAzIDE2OjU1OjQyICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBnc3QtcGx1Z2lucy1nb29kLnNwZWMuaW46CgkgIHVwZGF0ZSBzcGVjIGZpbGUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHVwZGF0ZSBzcGVjIGZpbGUKCjIwMDYtMDItMDMgMTM6MDY6MjQgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0L2lkM2RlbXV4L2lkM3YyZnJhbWVzLmM6IE5ldmVyIG91dHB1dCBhIHRhZyB3aXRoIGEgbnVsbCBjb250ZW50cyBzdHJpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pZDNkZW11eC9pZDN2MmZyYW1lcy5jOiAocGFyc2VfdGV4dF9pZGVudGlmaWNhdGlvbl9mcmFtZSksCgkgIChpZDN2Ml90YWdfdG9fdGFnbGlzdCksIChpZDN2Ml9nZW5yZV9zdHJpbmdfdG9fdGFnbGlzdCksCgkgIChpZDN2Ml9nZW5yZV9maWVsZHNfdG9fdGFnbGlzdCk6CgkgIE5ldmVyIG91dHB1dCBhIHRhZyB3aXRoIGEgbnVsbCBjb250ZW50cyBzdHJpbmcuCgoyMDA2LTAyLTAyIDIxOjAwOjE2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiBPbmx5IHBhdXNlIGlmIGFsbCBwYWRzIGFyZSB1bmxpbmtlZCBBTkQgd2UndmUgdHJpZWQgdG8gc2VuZCBkYXRhIG9uIGFsbCBvZiB0aGVtIGF0IGxlYXN0IG9uY2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfYWxsX3NvdXJjZV9wYWRzX3VubGlua2VkKToKCSAgT25seSBwYXVzZSBpZiBhbGwgcGFkcyBhcmUgdW5saW5rZWQgQU5EIHdlJ3ZlIHRyaWVkIHRvIHNlbmQgZGF0YQoJICBvbiBhbGwgb2YgdGhlbSBhdCBsZWFzdCBvbmNlLgoKMjAwNi0wMi0wMiAxMjoyOToyNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogTWFrZSBsb29wIGZ1bmN0aW9uL3Rhc2sgcGF1c2UgaXRzZWxmIHdoZW4gYWxsIHNvdXJjZSBwYWRzIGFyZSB1bmxpbmtlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9hbGxfc291cmNlX3BhZHNfdW5saW5rZWQpLAoJICAoZ3N0X2F2aV9kZW11eF9wcm9jZXNzX25leHRfZW50cnkpLCAoZ3N0X2F2aV9kZW11eF9sb29wKToKCSAgTWFrZSBsb29wIGZ1bmN0aW9uL3Rhc2sgcGF1c2UgaXRzZWxmIHdoZW4gYWxsIHNvdXJjZSBwYWRzIGFyZQoJICB1bmxpbmtlZC4KCjIwMDYtMDItMDIgMTA6NDc6MTUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBVc2UgbmV3IGZ1bmN0aW9ucyBmcm9tIGNvcmUgdG8gcmVuZGVyIGEgYmluIGZyb20gYSBzdHJpbmcuIEZpeGVzIGJ1aWxkLiBVcCByZXF1aXJlbWVudHMgdG8gY29yZSBDVlMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvZ2NvbmYvZ2NvbmYuYzogKGdzdF9nY29uZl9yZW5kZXJfYmluX2Zyb21fa2V5KToKCSAgVXNlIG5ldyBmdW5jdGlvbnMgZnJvbSBjb3JlIHRvIHJlbmRlciBhIGJpbiBmcm9tIGEKCSAgc3RyaW5nLiBGaXhlcyBidWlsZC4gVXAgcmVxdWlyZW1lbnRzIHRvIGNvcmUgQ1ZTLgoKMjAwNi0wMi0wMSAxMTowMTowNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9hdXBhcnNlL2dzdGF1cGFyc2UuYzogRG9uJ3QgcHVzaCBidWZmZXJzIGludG8gdGhlIGFkYXB0ZXIgdGhhdCB3ZSBhcmUgZ29pbmcgdG8gcHVzaCBkb3duc3RyZWFtIGFnYWluIHdpdGhvdXQgZnJhbS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLmM6IChnc3RfYXVfcGFyc2VfY2hhaW4pOgoJICBEb24ndCBwdXNoIGJ1ZmZlcnMgaW50byB0aGUgYWRhcHRlciB0aGF0IHdlIGFyZSBnb2luZyB0bwoJICBwdXNoIGRvd25zdHJlYW0gYWdhaW4gd2l0aG91dCBmcmFtaW5nIGFueXdheS4gQWxzbywgdGhlCgkgIGFkYXB0b3IgdGFrZXMgb3duZXJzaGlwIG9mIGJ1ZmZlcnMgcHV0IGludG8gaXQgKGZpeGVzCgkgIGF1cGFyc2UgcHVzaGluZyBpbnZhbGlkIGJ1ZmZlcnMgZm9yIC5hdSBmaWxlcyB3aXRoCgkgIEFEUENNIGNvbnRlbnRzKS4gRmluYWxseSwgc2V0IGNhcHMgb24gYWxsIG91dGdvaW5nIGJ1ZmZlcnMuCgoyMDA2LTAxLTMwIDIzOjEzOjA1ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC9pZDNkZW11eC86IFNvbWVvbmUgc2hvdWxkIGtpY2sgbXkgYnV0dC4gUmVtb3ZlIElEM3YxIHRhZ3MgZnJvbSB0aGUgZW5kIG9mIHRoZSBmaWxlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaWQzZGVtdXgvZ3N0aWQzZGVtdXguYzogKGdzdF9pZDNkZW11eF9jaGFpbiksCgkgIChnc3RfaWQzZGVtdXhfcmVhZF9pZDN2MSksIChnc3RfaWQzZGVtdXhfc2lua19hY3RpdmF0ZSksCgkgIChnc3RfaWQzZGVtdXhfc2VuZF90YWdfZXZlbnQpOgoJICAqIGdzdC9pZDNkZW11eC9pZDN0YWdzLmM6IChpZDNkZW11eF9yZWFkX2lkM3YxX3RhZyk6CgkgIFNvbWVvbmUgc2hvdWxkIGtpY2sgbXkgYnV0dC4gUmVtb3ZlIElEM3YxIHRhZ3MgZnJvbSB0aGUgZW5kIG9mIHRoZQoJICBmaWxlLgoJICBJbXByb3ZlIGVycm9yIG1lc3NhZ2VzLiBTZW5kIHRoZSBUQUcgbWVzc2FnZSBhcyBzb29uIGFzIHdlIGNvbXBsZXRlCgkgIHR5cGVmaW5kaW5nLCBpbnN0ZWFkIG9mIHdhaXRpbmcgdW50aWwgd2Ugc2VuZCB0aGUgZmlyc3QgYnVmZmVyLgoJICBEb3duc3RyZWFtIHRhZyBldmVudCBpcyBzdGlsbCBzZW50IGJlZm9yZSB0aGUgZmlyc3QgYnVmZmVyLgoKMjAwNi0wMS0yOSAyMDowNzo0OSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzogQWRkIGRlYnVnIGNhdGVnb3J5LCB1c2UgYm9pbGVycGxhdGUgbWFjcm9zLCBmaXggaGFuZGxpbmcgb2Ygd2lkdGhzIG9mIDMyIGJpdHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzogKGdzdF93YXZwYWNrX2RlY19zZXRjYXBzKSwKCSAgKGdzdF93YXZwYWNrX2RlY19iYXNlX2luaXQpLCAoZ3N0X3dhdnBhY2tfZGVjX2Rpc3Bvc2UpLAoJICAoZ3N0X3dhdnBhY2tfZGVjX2NsYXNzX2luaXQpLCAoZ3N0X3dhdnBhY2tfZGVjX3NpbmtfZXZlbnQpLAoJICAoZ3N0X3dhdnBhY2tfZGVjX2luaXQpLCAoZ3N0X3dhdnBhY2tfZGVjX2Zvcm1hdF9zYW1wbGVzKSwKCSAgKGdzdF93YXZwYWNrX2RlY19jaGFpbiksIChnc3Rfd2F2cGFja19kZWNfcGx1Z2luX2luaXQpOgoJICBBZGQgZGVidWcgY2F0ZWdvcnksIHVzZSBib2lsZXJwbGF0ZSBtYWNyb3MsIGZpeCBoYW5kbGluZwoJICBvZiB3aWR0aHMgb2YgMzIgYml0cy4KCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogKGdzdF93YXZwYWNrX3BhcnNlX2Jhc2VfaW5pdCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9kaXNwb3NlKSwgKGdzdF93YXZwYWNrX3BhcnNlX2NsYXNzX2luaXQpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfaW5kZXhfZ2V0X2xhc3RfZW50cnkpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfaW5kZXhfZ2V0X2VudHJ5X2Zyb21fc2FtcGxlKSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2luZGV4X2FwcGVuZF9lbnRyeSksIChnc3Rfd2F2cGFja19wYXJzZV9yZXNldCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9zcmNfcXVlcnkpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2Vfc2Nhbl90b19maW5kX3NhbXBsZSksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9zZW5kX25ld3NlZ21lbnQpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfaGFuZGxlX3NlZWtfZXZlbnQpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2Vfc3JjX2V2ZW50KSwgKGdzdF93YXZwYWNrX3BhcnNlX2luaXQpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfZ2V0X3Vwc3RyZWFtX2xlbmd0aCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9wdWxsX2J1ZmZlciksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9jcmVhdGVfc3JjX3BhZCksIChnc3Rfd2F2cGFja19wYXJzZV9sb29wKSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2NoYW5nZV9zdGF0ZSksCgkgIChnc3Rfd2F2ZXBhY2tfcGFyc2Vfc2lua19hY3RpdmF0ZSksCgkgIChnc3Rfd2F2ZXBhY2tfcGFyc2Vfc2lua19hY3RpdmF0ZV9wdWxsKSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX3BsdWdpbl9pbml0KToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuaDoKCSAgUmV3cml0ZSBhIGJpdCwgbW9zdGx5IHRvIGZpeCBmbG93IGxvZ2ljIGFuZCB0byBtYWtlIHNlZWtpbmcgd29yay4KCSAgRml4IGJ1ZmZlci9ldmVudCByZWZjb3VudGluZy4gQWRkIHNvbWUgZGVidWcgc3RhdGVtZW50cy4gQWRkCgkgIHdpZHRoIG9mIDMyIHRvIHNvdXJjZSBwYWQgdGVtcGxhdGUgY2Fwcy4gVXNlIGJvaWxlcnBsYXRlIG1hY3Jvcy4KCjIwMDYtMDEtMjcgMTI6MTc6NTYgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkgIGV4dC9kdi86IENhbGwgZHZfc2V0X2Vycm9yX2xvZyAoZHZfZGVjb2Rlcl90ICosIE5VTEwpOyBhZnRlciBkdl9kZWNvZGVyX25ldyB0byBub3QgaGF2ZSB3YXJpbmdzIGZsb29kaW5nIHN0ZGVyci4gdGhpcy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wMS0yNyAgSmFuIEdlcmJlciAgPGpAYm9vdGxhYi5vcmc+CgkgIFJldmlld2VkIGJ5OiBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgkgICogZXh0L2R2L2dzdGR2ZGVjLmMgKGdzdF9kdmRlY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9kdi9nc3RkdmRlbXV4LmMgKGdzdF9kdmRlbXV4X2NoYW5nZV9zdGF0ZSk6CgkgIENhbGwgZHZfc2V0X2Vycm9yX2xvZyAoZHZfZGVjb2Rlcl90ICosIE5VTEwpOyBhZnRlciBkdl9kZWNvZGVyX25ldwoJICB0byBub3QgaGF2ZSB3YXJpbmdzIGZsb29kaW5nIHN0ZGVyci4gdGhpcyBpcyB0aGUgc3VnZ2VzdGVkIHdheQoJICBhbHNvIHVzZWQgaW4gZHZncmFiIGFuZCBraW5vLiAoIzMyODMzNikKCjIwMDYtMDEtMjcgMDE6NDM6MDcgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgc3lzL29zcy9nc3Rvc3NzaW5rLmM6IEZyZWUgdGhlIGRldmljZSBuYW1lIHN0cmluZyB3aGVuIGZpbmFsaXNlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL29zcy9nc3Rvc3NzaW5rLmM6IChnc3Rfb3NzX3NpbmtfY2xhc3NfaW5pdCksCgkgIChnc3Rfb3NzX3NpbmtfaW5pdCksIChnc3Rfb3NzX3NpbmtfZmluYWxpc2UpOgoJICBGcmVlIHRoZSBkZXZpY2UgbmFtZSBzdHJpbmcgd2hlbiBmaW5hbGlzZWQuCgoyMDA2LTAxLTI2IDE2OjIzOjQyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBGaXggd3JvbmcgbWVtY3B5IHNvdXJjZSBwb2ludGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3BhcnNlX3RyYWspOgoJICBGaXggd3JvbmcgbWVtY3B5IHNvdXJjZSBwb2ludGVyLgoKMjAwNi0wMS0yNSAyMjowNToyOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9pZDNkZW11eC9nc3RpZDNkZW11eC5jOiBEb24ndCBwdXQgZnVuY3Rpb24gY2FsbHMgaW4gZ19yZXR1cm5faWZfZmFpbCgpIHN0YXRlbWVudHMsIG9yIHRoZXknbGwgYmUgcmVwbGFjZWQgd2l0aCBOTy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaWQzZGVtdXgvZ3N0aWQzZGVtdXguYzogKGdzdF9pZDNkZW11eF9yZW1vdmVfc3JjcGFkKToKCSAgRG9uJ3QgcHV0IGZ1bmN0aW9uIGNhbGxzIGluIGdfcmV0dXJuX2lmX2ZhaWwoKSBzdGF0ZW1lbnRzLAoJICBvciB0aGV5J2xsIGJlIHJlcGxhY2VkIHdpdGggTk9PUHMgaWYgc29tZW9uZSBjb21waWxlcyB3aXRoCgkgIEdfRElTQUJMRV9DSEVDS1MgZGVmaW5lZC4KCjIwMDYtMDEtMjUgMjA6MzM6MDUgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSogQ2hhbmdlTG9nOgoJICBjaGFuZ2Vsb2cgc3VyZ2VyeQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgY2hhbmdlbG9nIHN1cmdlcnkKCjIwMDYtMDEtMjUgMTg6MjM6MDUgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0L2lkM2RlbXV4L2lkM3YyZnJhbWVzLmM6IE5ldmVyIHRydXN0IEFOWSBpbmZvcm1hdGlvbiBlbmNvZGVkIGluIGEgbWVkaWEgZmlsZSwgZXNwZWNpYWxseSB3aGVuIGl0J3MgZ2l2aW5nIHlvdSBzaXplLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pZDNkZW11eC9pZDN2MmZyYW1lcy5jOiAoaWQzZGVtdXhfaWQzdjJfcGFyc2VfZnJhbWUpOgoJICBOZXZlciB0cnVzdCBBTlkgaW5mb3JtYXRpb24gZW5jb2RlZCBpbiBhIG1lZGlhIGZpbGUsIGVzcGVjaWFsbHkKCSAgd2hlbiBpdCdzIGdpdmluZyB5b3Ugc2l6ZXMuIChGaXhlcyAjMzI4NDUyKQoKMjAwNi0wMS0yNCAxODowMzo0NiArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MTFwYXkuYzoKCSAgSSdtIHRvbyBsYXp5IHRvIGNvbW1lbnQgdGhpcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggd3JpdHRlbiBieSBLYWkgVmVobWFuZW4gPGthaS52ZWhtYW5lbkBub2tpYS5jb20+IGFwcGxpZWQuIFNlZSBidWcgIzMyNTE0OC4KCjIwMDYtMDEtMjQgMTE6NTg6NTMgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IE1vcmUgY29oZXJlbnQgZnJhbWVyYXRlIHNldHRpbmcgb24gY2Fwcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfbG9vcF9oZWFkZXIpLAoJICAoZ3N0X3F0ZGVtdXhfYWRkX3N0cmVhbSksIChxdGRlbXV4X3BhcnNlX3RyYWspOgoJICBNb3JlIGNvaGVyZW50IGZyYW1lcmF0ZSBzZXR0aW5nIG9uIGNhcHMuCgkgIElmIHNhbXBsZV9zaXplIGlzIGF2YWlsYWJsZSwgdXNlIHRoYXQgZm9yIHRoZSBzYW1wbGVzJyBkdXJhdGlvbiBpbgoJICB0aGUgaW5kZXguIFRoaXMgZW5hYmxlcyBzaW5nbGUgZnJhbWUgc3RyZWFtcyB0byB3b3JrIChhbmQgSSBpbWFnaW5lCgkgIGZpeGVzIHNvbWUgb3RoZXIgY2FzZXMpLgoJICBUZXN0ZWQgb24gdGVzdHN1aXRlLCBubyByZWdyZXNzaW9uLgoKMjAwNi0wMS0yMyAxODozOTozMSArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9tYXRyb3NrYS86IEFkZGVkIHJlY29nbml0aW9uIG9mIFJlYWwgQXVkaW8gYW5kIFZpZGVvIHN0cmVhbXMgaW4gbWF0cm9za2EgZGVtdXhlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IChnc3RfbWF0cm9za2FfZGVtdXhfdmlkZW9fY2FwcyksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfYXVkaW9fY2FwcyksIChnc3RfbWF0cm9za2FfZGVtdXhfcGx1Z2luX2luaXQpOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuaDoKCSAgQWRkZWQgcmVjb2duaXRpb24gb2YgUmVhbCBBdWRpbyBhbmQgVmlkZW8gc3RyZWFtcyBpbiBtYXRyb3NrYSBkZW11eGVyLgoKMjAwNi0wMS0yMyAxNToxMDo1NSArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogQWRkZWQgY29kZWMgcmVjb2duaXRpb24gZm9yOiBfIFZQMzEgOiB2aWRlby94LXZwMyBfIEFWREogOiBpbWFnZS9qcGVnIF8gZHZjcCwgZHZjICA6IHZpZGVvL3gtZC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3BhcnNlX3RyYWspLAoJICAocXRkZW11eF92aWRlb19jYXBzKSwgKHF0ZGVtdXhfYXVkaW9fY2Fwcyk6CgkgIEFkZGVkIGNvZGVjIHJlY29nbml0aW9uIGZvcjoKCSAgXyBWUDMxIDogdmlkZW8veC12cDMKCSAgXyBBVkRKIDogaW1hZ2UvanBlZwoJICBfIGR2Y3AsIGR2YyAgOiB2aWRlby94LWR2LCBzeXN0ZW1zdHJlYW09KGJvb2xlYW4pZmFsc2UKCSAgXyAweDZkNzMwMDE3IDogYXVkaW8veC1hZHBjbSwgbGF5b3V0PShzdHJpbmcpcXVpY2t0aW1lCgoyMDA2LTAxLTIzIDE0OjMyOjQ3ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC9pZDNkZW11eC9pZDN2MmZyYW1lcy5jOiBSZW1vdmUgZXJyYW50IGJyZWFrIHN0YXRlbWVudCwgYW5kIGZpeCBjb21waWxhdGlvbiB3aXRoIG9sZGVyIEdDQy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2lkM2RlbXV4L2lkM3YyZnJhbWVzLmM6IChpZDN2Ml90YWdfdG9fdGFnbGlzdCk6CgkgIFJlbW92ZSBlcnJhbnQgYnJlYWsgc3RhdGVtZW50LCBhbmQgZml4IGNvbXBpbGF0aW9uIHdpdGgKCSAgb2xkZXIgR0NDLgoKMjAwNi0wMS0yMyAxMjowNDoxMiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkgIE1lbnRpb24gdGhhdCBteSBsYXN0IGNvbW1pdCBmaXhlcyAjMzI4MjQxCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBNZW50aW9uIHRoYXQgbXkgbGFzdCBjb21taXQgZml4ZXMgIzMyODI0MQoKMjAwNi0wMS0yMyAxMTowNjozNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHN5cy9zdW5hdWRpby86IEV4cG9ydCBmdW5jdGlvbnMgdGhhdCBhcmUgbmVlZGVkIGluIG90aGVyIHBhcnRzIG9mIHRoZSBjb2RlLCBtYWtlcyB0aGUgbWl4ZXIgYWN0dWFsbHkgd29yazsgYWRqdXN0IG1hZy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUmV2aWV3ZWQgYnk6IFRpbS1QaGlsaXBwIE3DvGxsZXIgIDx0aW0gYXQgY2VudHJpY3VsYXIgZG90IG5ldD4KCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlcmN0cmwuYzoKCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zaW5rLmM6IChnc3Rfc3VuYXVkaW9zaW5rX2luaXQpOgoJICBFeHBvcnQgZnVuY3Rpb25zIHRoYXQgYXJlIG5lZWRlZCBpbiBvdGhlciBwYXJ0cyBvZiB0aGUgY29kZSwKCSAgbWFrZXMgdGhlIG1peGVyIGFjdHVhbGx5IHdvcms7IGFkanVzdCBtYWdpYyBtaW5pbXVtIGJ1ZmZlci10aW1lCgkgIHZhbHVlIGZyb20gM21zIHRvIDVtcyB0byB3b3JrIGFyb3VuZCBzdHV0dGVyaW5nIGR1cmluZyBtcDMKCSAgcGxheWJhY2sgKCMzMjc3NjUpLgoKMjAwNi0wMS0yMyAxMDo0NDowMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzogRml4IHBvc3NpYmxlIGRlYWRsb2NrIGluIG1hdHJvc2thIG11eGVyICgjMzI3ODI1KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFJldmlld2VkIGJ5OiBUaW0tUGhpbGlwcCBNw7xsbGVyICA8dGltIGF0IGNlbnRyaWN1bGFyIGRvdCBuZXQ+CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOiAoZ3N0X21hdHJvc2thX211eF9iZXN0X3BhZCksCgkgIChnc3RfbWF0cm9za2FfbXV4X3dyaXRlX2RhdGEpLCAoZ3N0X21hdHJvc2thX211eF9jb2xsZWN0ZWQpOgoJICBGaXggcG9zc2libGUgZGVhZGxvY2sgaW4gbWF0cm9za2EgbXV4ZXIgKCMzMjc4MjUpLgoKMjAwNi0wMS0yMyAwOTo1OTowMyArMDAwMCAgSmVucyBHcmFuc2V1ZXIgPGplbnNnckBnbXgubmV0PgoKCSAgQzg5IGZpeGVzOiBkZWNsYXJlIHZhcmlhYmxlcyBhdCB0aGUgYmVnaW5uaW5nIG9mIGEgYmxvY2sgYW5kCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9saWJwbmcvZ3N0cG5nZW5jLmM6IChnc3RfcG5nZW5jX2NoYWluKToKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X2ludmVydCk6CgkgICogZ3N0L3J0cC9nc3RydHBtcDR2ZGVwYXkuYzogKGdzdF9ydHBfbXA0dl9kZXBheV9zZXRjYXBzKToKCSAgKiBnc3QvcnRzcC9zZHBtZXNzYWdlLmg6CgkgICogZ3N0L3VkcC9nc3RkeW51ZHBzaW5rLmM6IChnc3RfZHludWRwc2lua19yZW5kZXIpOgoJICAqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6IChnc3RfbXVsdGl1ZHBzaW5rX2dldF9zdGF0cyk6CgkgIEM4OSBmaXhlczogZGVjbGFyZSB2YXJpYWJsZXMgYXQgdGhlIGJlZ2lubmluZyBvZiBhIGJsb2NrIGFuZAoJICBtYWtlIGdjYy0yLjl4IGhhcHB5ICgjMzI4MjY0OyBwYXRjaCBieTogSmVucyBHcmFuc2V1ZXIKCSAgPGplbnNnciBhdCBnbXggZG90IG5ldD4pLgoKMjAwNi0wMS0yMyAwOToyMjoxNyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvaWQzZGVtdXgvOiBSZXdyaXRlIHBhcnNpbmcgb2YgdGV4dCB0YWdzIHRvIGhhbmRsZSBtdWx0aXBsZSBOVUxMIHRlcm1pbmF0ZWQgc3RyaW5ncy4gUGFyc2UgbnVtZXJpYyBnZW5yZSBzdHJpbmdzIGEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2lkM2RlbXV4L2lkM3RhZ3MuYzogKGlkM2RlbXV4X3JlYWRfaWQzdjJfdGFnKToKCSAgKiBnc3QvaWQzZGVtdXgvaWQzdGFncy5oOgoJICAqIGdzdC9pZDNkZW11eC9pZDN2MmZyYW1lcy5jOiAoaWQzZGVtdXhfaWQzdjJfcGFyc2VfZnJhbWUpLAoJICAocGFyc2VfY29tbWVudF9mcmFtZSksIChwYXJzZV90ZXh0X2lkZW50aWZpY2F0aW9uX2ZyYW1lKSwKCSAgKGlkM3YyX3RhZ190b190YWdsaXN0KSwgKGlkM3YyX2FyZV9kaWdpdHMpLAoJICAoaWQzdjJfZ2VucmVfc3RyaW5nX3RvX3RhZ2xpc3QpLCAoaWQzdjJfZ2VucmVfZmllbGRzX3RvX3RhZ2xpc3QpLAoJICAocGFyc2Vfc3BsaXRfc3RyaW5ncyksIChmcmVlX3RhZ19zdHJpbmdzKToKCSAgUmV3cml0ZSBwYXJzaW5nIG9mIHRleHQgdGFncyB0byBoYW5kbGUgbXVsdGlwbGUgTlVMTCB0ZXJtaW5hdGVkCgkgIHN0cmluZ3MuIFBhcnNlIG51bWVyaWMgZ2VucmUgc3RyaW5ncyBhbmQgSUQzdjIgdHlwZQoJICAiKDMpKDYpQWx0ZXJuYXRpdmUiIHN0eWxlIGdlbnJlIHN0cmluZ3MuCgkgIFBhcnNlIGRhdGVzIHRoYXQgYXJlIG9ubHkgWVlZWSBvciBZWVlZLW1tIGZvcm1hdC4KCjIwMDYtMDEtMjEgMTE6NDM6NTMgKzAwMDAgIEZhYnJpemlvIDxmYWJyaXppby5nZUB0aXNjYWxpLml0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAndHdvcycgYW5kICdzb3d0JyBmb3VyY2MgY2FuIGJlIDE2Yml0IG9yIDhiaXQgYXVkaW8uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfcGFyc2VfdHJhayksCgkgIChxdGRlbXV4X2F1ZGlvX2NhcHMpOgoJICAndHdvcycgYW5kICdzb3d0JyBmb3VyY2MgY2FuIGJlIDE2Yml0IG9yIDhiaXQgYXVkaW8uCgkgIEZpeCA4Yml0IGNhc2UgKCMzMjcxMzMsIGJhc2VkIG9uIHBhdGNoIGJ5OiBGYWJyaXppbwoJICBHZW5uYXJpIDxmYWJyaXppbyBkb3QgZ2UgYXQgdGlzY2FsaSBkb3QgaXQ+KS4KCSAgQWxzbywgIkdfTElUVExFX0VORElBTiIgYW5kICJHX0JJR19FTkRJQU4iIGFyZSBub3QKCSAgdmFsaWQgbGl0ZXJhbHMgZm9yIGVuZGlhbm5lc3MgaW4gY2FwcyBzdHJpbmdzLAoJICBvbmx5ICJMSVRUTEVfRU5ESUFOIiBhbmQgIkJJR19FTkRJQU4iIGFyZSB2YWxpZC4KCjIwMDYtMDEtMjAgMTU6MDY6MjggKzAwMDAgIENocmlzdG9waCBCdXJnaGFyZHQgPGhhd2tlc0B3ZWIuZGU+CgoJICBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzogRG9uJ3QgZm9yZ2V0IHRvIGluaXRpYWxpemUgbGlib2lsLCBvdGhlcndpc2Ugb3VyIG9pbCBmdW5jdGlvbnMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6IChnc3RfdmlkZW9fYm94X2NsYXNzX2luaXQpOgoJICBEb24ndCBmb3JnZXQgdG8gaW5pdGlhbGl6ZSBsaWJvaWwsIG90aGVyd2lzZSBvdXIgb2lsIGZ1bmN0aW9ucwoJICB3aWxsIGNyYXNoIChmaXhlcyAjMzI3ODcxOyBwYXRjaCBieTogQ2hyaXN0b3BoIEJ1cmdoYXJkdAoJICA8aGF3a2VzIGF0IHdlYiBkb3QgZGU+KS4KCjIwMDYtMDEtMTkgMjE6NDY6MzIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBDaGFuZ2VMb2c6CgkgIENoYW5nZUxvZyBzdXJnZXJ5IChsYXN0IGVudHJ5IG1heSBoYXZlIGJlZW4gc2xpZ2h0bHkgbWlzbGVhZGluZykKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIENoYW5nZUxvZyBzdXJnZXJ5IChsYXN0IGVudHJ5IG1heSBoYXZlIGJlZW4gc2xpZ2h0bHkgbWlzbGVhZGluZykKCjIwMDYtMDEtMTkgMjE6MDA6NTAgKzAwMDAgIEJyaWFuIENhbWVyb24gPGJyaWFuLmNhbWVyb25Ac3VuLmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzoganVzdCBsaWtlIGluIHRoZSBjb3JlIGFuZCBnc3QtcGx1Z2lucy1iYXNlLiBGaXhlcyBidWlsZCBvbiBTb2xhcmlzIChmaXhlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIFVzZSBwbGFpbiBBU19MSUJUT09MX1RBR1MgaW5zdGVhZCBvZiBBU19MSUJUT09MX1RBR1MoW0NYWF0pLCBqdXN0CgkgIGxpa2UgaW4gdGhlIGNvcmUgYW5kIGdzdC1wbHVnaW5zLWJhc2UuIEZpeGVzIGJ1aWxkIG9uIFNvbGFyaXMgKGZpeGVzCgkgICMzMjY2ODM7IHBhdGNoIGJ5OiBCcmlhbiBDYW1lcm9uIDxicmlhbiBkb3QgY2FtZXJvbiBhdCBzdW4gZG90IGNvbT4pCgoyMDA2LTAxLTE5IDAwOjEwOjUxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2NkaW8vOiBGaXggYnVpbGQgZm9yIGxpYmNkaW8gdmVyc2lvbnMgPj0gNzY7IGdpdmUgc2xpZ2h0bHkgbG93ZXIgcmFuayB0aGFuIGNkcGFyYW5vaWEuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9jZGlvL2dzdGNkaW8uYzogKGdzdF9jZGlvX2FkZF9jZHRleHRfZmllbGQpLCAocGx1Z2luX2luaXQpOgoJICAqIGV4dC9jZGlvL2dzdGNkaW8uaDoKCSAgKiBleHQvY2Rpby9nc3RjZGlvY2RkYXNyYy5jOiAoZ3N0X2NkaW9fY2RkYV9zcmNfZ2V0X2NkdGV4dCk6CgkgIEZpeCBidWlsZCBmb3IgbGliY2RpbyB2ZXJzaW9ucyA+PSA3NjsgZ2l2ZSBzbGlnaHRseSBsb3dlciByYW5rCgkgIHRoYW4gY2RwYXJhbm9pYS4KCjIwMDYtMDEtMTggMTk6MzA6MzYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBQb3J0IGxpYmNkaW8gY2RkYSBzb3VyY2UsIGZvcm1lcmx5IGtub3duIGFzIGNkZGFzcmMsIG5vdyBrbm93biBhcyBjZGlvY2RkYXNyYyAoZml4ZXMgIzMyMzMyNykuIFNob3VsZCBhbHNvIHJlYWQgQ0QtVEUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9NYWtlZmlsZS5hbToKCSAgKiBleHQvY2Rpby9NYWtlZmlsZS5hbToKCSAgKiBleHQvY2Rpby9nc3RjZGlvLmM6CgkgICogZXh0L2NkaW8vZ3N0Y2Rpby5oOgoJICAqIGV4dC9jZGlvL2dzdGNkaW9jZGRhc3JjLmM6CgkgICogZXh0L2NkaW8vZ3N0Y2Rpb2NkZGFzcmMuaDoKCSAgUG9ydCBsaWJjZGlvIGNkZGEgc291cmNlLCBmb3JtZXJseSBrbm93biBhcyBjZGRhc3JjLCBub3cga25vd24gYXMKCSAgY2Rpb2NkZGFzcmMgKGZpeGVzICMzMjMzMjcpLiBTaG91bGQgYWxzbyByZWFkIENELVRFWFQgaWYgYXZhaWxhYmxlLAoJICBidXQgdGhhdCdzIG5vdCB0ZXN0ZWQgKGZpeGVzICMzMTc2NTgpLgoKMjAwNi0wMS0xOCAxOTowODowOCArMDAwMCAgVG9tbWkgTXnDtmjDpG5lbiA8ZXh0LXRvbW1pLm15b2hhbmVuQG5va2lhLmNvbT4KCgkgIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiBGaXggY29udmVyc2lvbiBmcm9tIFRJTUUgdG8gQllURVMgZm9ybWF0IChmaXhlcyAjMzI2ODY0OwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogKGdzdF93YXZwYXJzZV9wYWRfY29udmVydCk6CgkgIEZpeCBjb252ZXJzaW9uIGZyb20gVElNRSB0byBCWVRFUyBmb3JtYXQgKGZpeGVzICMzMjY4NjQ7CgkgIHBhdGNoIGJ5OiBUb21taSBNecO2aMOkbmVuIDxleHQtdG9tbWkgZG90IG15b2hhbmVuIGF0IG5va2lhIGRvdCBjb20+KQoKMjAwNi0wMS0xOCAxODo1NDowMiArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBSb25hbGQncyBwYXRjaCBhcHBsaWVkLiBzZWUgYnVnICMzMjYzMTguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBSb25hbGQncyBwYXRjaCBhcHBsaWVkLiBzZWUgYnVnICMzMjYzMTguCgoyMDA2LTAxLTE3IDE2OjQ1OjQzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC4qOiBGaXggc2Vla2luZyBmb3IgcXVpY2t0aW1lIGZpbGVzLiBDb3VsZCBzdGlsbCB1c2Ugc29tZSBtb3JlIGxvdmUgYW5kIHNvcGhpc3RpY2F0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9pbml0KSwKCSAgKGdzdF9xdGRlbXV4X3NlbmRfZXZlbnQpLCAoZ3N0X3F0ZGVtdXhfaGFuZGxlX3NyY19ldmVudCksCgkgIChnc3RfcXRkZW11eF9jaGFuZ2Vfc3RhdGUpLCAoZ3N0X3F0ZGVtdXhfbG9vcF9oZWFkZXIpOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguaDoKCSAgRml4IHNlZWtpbmcgZm9yIHF1aWNrdGltZSBmaWxlcy4gQ291bGQgc3RpbGwgdXNlIHNvbWUgbW9yZQoJICBsb3ZlIGFuZCBzb3BoaXN0aWNhdGlvbi4KCjIwMDYtMDEtMTYgMTA6MjM6NDcgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWdvb2Quc3BlYy5pbjoKCSAgdXBkYXRlIHdpdGggbG92ZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgdXBkYXRlIHdpdGggbG92ZQoKMjAwNi0wMS0xNSAyMDoyMTo0OCArMDAwMCAgU2VyZ2V5IFNjb2JpY2ggPHNlcmdleS5zY29iaWNoQGdtYWlsLmNvbT4KCgkgIGdzdC9pZDNkZW11eC9pZDN2MmZyYW1lcy5jOiBGaXggY29tcGlsYXRpb24gb2YgaWQzZGVtdXggd2hlbiB6bGliIGlzIG5vdCBwcmVzZW50LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaWQzZGVtdXgvaWQzdjJmcmFtZXMuYzogKGlkM2RlbXV4X2lkM3YyX3BhcnNlX2ZyYW1lKToKCSAgRml4IGNvbXBpbGF0aW9uIG9mIGlkM2RlbXV4IHdoZW4gemxpYiBpcyBub3QgcHJlc2VudC4KCSAgKEZpeGVzICMzMjY2MDI7IHBhdGNoIGJ5OiBTZXJnZXkgU2NvYmljaCkKCjIwMDYtMDEtMTUgMTQ6MTI6MTIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvZXNkL01ha2VmaWxlLmFtOiBvdGhlcndpc2UgYnVpbGQgd2lsbCBmYWlsIGZvciBmb2xrcyB3aXRoIGxpYmVzZCBpbiBhIG5vbi1zdGFuZGFyZCBwcmVmaXggKCMzMjcwMDkpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZXNkL01ha2VmaWxlLmFtOgoJICBBZGQgJChFU0RfQ0ZMQUdTKSwgb3RoZXJ3aXNlIGJ1aWxkIHdpbGwgZmFpbCBmb3IgZm9sa3MKCSAgd2l0aCBsaWJlc2QgaW4gYSBub24tc3RhbmRhcmQgcHJlZml4ICgjMzI3MDA5KS4KCjIwMDYtMDEtMTMgMTk6Mjk6MjcgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBjb25maWd1cmUuYWM6CgkgIGJhY2sgdG8gaGVhZAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYmFjayB0byBoZWFkCgoyMDA2LTAxLTEzIDE5OjI1OjQwICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmxpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvdXBsb2FkLm1hazoKCSAgcmVsZWFzaW5nIDAuMTAuMQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmVsZWFzaW5nIDAuMTAuMQoKMjAwNi0wMS0xMyAxODozNzoxMyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9qcGVnL2dzdHNtb2tlZW5jLmM6IGZpeCBtZW1sZWFrLiAgRml4ZXMgIzMyNjYxOAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcGF0Y2ggYnk6IFdpbSBUYXltYW5zCgkgICogZXh0L2pwZWcvZ3N0c21va2VlbmMuYzogKGdzdF9zbW9rZWVuY19jaGFpbik6CgkgIGZpeCBtZW1sZWFrLiAgRml4ZXMgIzMyNjYxOAoKMjAwNi0wMS0xMyAxODozNTowMCArMDAwMCAgTWlrZSBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgZ3N0L2xldmVsL2dzdGxldmVsLmM6IEZpeCBtZW1sZWFrLiAgRml4ZXMgIzMyNjYxMgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wMS0xMyAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSAgPHRob21hcyBhdCBhcGVzdGFhcnQgZG90IG9yZz4KCSAgcGF0Y2ggYnk6IE1pa2UgU21pdGgKCSAgKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzogKGdzdF9sZXZlbF9tZXNzYWdlX25ldyksCgkgIChnc3RfbGV2ZWxfbWVzc2FnZV9hcHBlbmRfY2hhbm5lbCk6CgkgIEZpeCBtZW1sZWFrLiAgRml4ZXMgIzMyNjYxMgoKMjAwNi0wMS0xMSAxMTozOToxMCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBjb25maWd1cmUuYWM6IHByZXJlbGVhc2luZwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIHByZXJlbGVhc2luZwoJICAqIHBvL2FmLnBvOgoJICAqIHBvL2F6LnBvOgoJICAqIHBvL2NzLnBvOgoJICAqIHBvL2VuX0dCLnBvOgoJICAqIHBvL2h1LnBvOgoJICAqIHBvL2l0LnBvOgoJICAqIHBvL25iLnBvOgoJICAqIHBvL25sLnBvOgoJICAqIHBvL29yLnBvOgoJICAqIHBvL3NxLnBvOgoJICAqIHBvL3NyLnBvOgoJICAqIHBvL3N2LnBvOgoJICAqIHBvL3VrLnBvOgoJICAqIHBvL3ZpLnBvOgoJICB1cGRhdGUgdHJhbnNsYXRpb25zCgoyMDA2LTAxLTExIDExOjA0OjAzICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBBZGQgc3VwcG9ydCBmb3IgSW5kZW8zIHZpZGVvIGluIFF1aWNrdGltZSBmaWxlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHJldmlld2VkIGJ5OiBFZHdhcmQgSGVydmV5ICA8ZWR3YXJkQGZsdWVuZG8uY29tPgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfdmlkZW9fY2Fwcyk6CgkgIEFkZCBzdXBwb3J0IGZvciBJbmRlbzMgdmlkZW8gaW4gUXVpY2t0aW1lIGZpbGVzLgoJICBDbG9zZXMgIzMyNjUyNAoKMjAwNi0wMS0xMCAxMjozODo1OSArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgZ3N0L2xldmVsL2dzdGxldmVsLmM6IERvbid0IGxlYWsgZmlsdGVyIGFycmF5cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2xldmVsL2dzdGxldmVsLmM6IChnc3RfbGV2ZWxfY2xhc3NfaW5pdCksCgkgIChnc3RfbGV2ZWxfZGlzcG9zZSk6CgkgIERvbid0IGxlYWsgZmlsdGVyIGFycmF5cy4KCjIwMDYtMDEtMDkgMTc6MDQ6NTIgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIENoYW5nZUxvZzoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy91cGxvYWQubWFrOgoJKiBnc3QtcGx1Z2lucy1nb29kLnNwZWMuaW46CgkqIHN5cy9NYWtlZmlsZS5hbToKCSogc3lzL3N1bmF1ZGlvL01ha2VmaWxlLmFtOgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW8uYzoKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXIuYzoKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXIuaDoKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXJjdHJsLmM6CgkqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVyY3RybC5oOgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlcnRyYWNrLmM6CgkqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVydHJhY2suaDoKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvc2luay5jOgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zaW5rLmg6CgkgIGFkZCBTdW4gQXVkaW8gcGx1Z2luLiBWZXJpZmllZCB0aGF0IG5vdGhpbmcgYnJlYWtzIGFuZCB0aGF0IG1ha2UgY2hlY2sgd29ya3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBhZGQgU3VuIEF1ZGlvIHBsdWdpbi4gVmVyaWZpZWQgdGhhdCBub3RoaW5nIGJyZWFrcyBhbmQgdGhhdCBtYWtlIGNoZWNrIHdvcmtzLgoJICBEb24ndCB0aGluayB0aGUgZG9jcyBnZXRzIHByb3Blcmx5IGJ1aWx0IHlldCwgYnV0IEkgZG9uJ3QgdW5kZXJzdGFuZCBleGFjdGx5IGhvdyB0byBlbmFibGUgdGhhdC4KCjIwMDYtMDEtMDcgMjA6MDE6MDkgKzAwMDAgIFBoaWxpcHBlIEthbGFmIDxwaGlsaXBwZS5rYWxhZkBjb2xsYWJvcmEuY28udWs+CgoJICBnc3QtcGx1Z2lucy1nb29kL2dzdC91ZHAvOiBBbGxvdyB1ZHBzcmMgYW5kIGR5bnVkcHNpbmsgdG8gdGFrZSBhIHNvY2tmZCBhcyBhIHBhcmFtZXRlci4gRm9yIHVkcHNyYywgb3ZlcnJpZGVzIHRoZSBwb3IuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMDEtMDcgIFBoaWxpcHBlIEtoYWxhZiAgPHBoaWxpcHBlLmthbGFmQGNvbGxhYm9yYS5jby51az4KCSAgKiBnc3QtcGx1Z2lucy1nb29kL2dzdC91ZHAvZ3N0ZHludWRwc2luay5jOgoJICAqIGdzdC1wbHVnaW5zLWdvb2QvZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgQWxsb3cgdWRwc3JjIGFuZCBkeW51ZHBzaW5rIHRvIHRha2UgYSBzb2NrZmQgYXMgYSBwYXJhbWV0ZXIuIEZvciB1ZHBzcmMsCgkgIG92ZXJyaWRlcyB0aGUgcG9ydCBvciBtdWx0aWNhc3QgcGFyYW1ldGVycy4gRml4ZXMgYnVncyAjMzIzMDIxLgoKMjAwNi0wMS0wNiAxNjoyODozMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9nY29uZi86IEFkZCBuZXcgZ2NvbmZhdWRpb3NyYyBhbmQgZ2NvbmZ2aWRlb3NyYyBlbGVtZW50cyAobmVlZGVkIGZvciBnbm9tZS1zb3VuZC1yZWNvcmRlcikuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9nY29uZi9NYWtlZmlsZS5hbToKCSAgKiBleHQvZ2NvbmYvZ3N0Z2NvbmZhdWRpb3NyYy5jOiAoZ3N0X2djb25mX2F1ZGlvX3NyY19iYXNlX2luaXQpLAoJICAoZ3N0X2djb25mX2F1ZGlvX3NyY19jbGFzc19pbml0KSwgKGdzdF9nY29uZl9hdWRpb19zcmNfcmVzZXQpLAoJICAoZ3N0X2djb25mX2F1ZGlvX3NyY19pbml0KSwgKGdzdF9nY29uZl9hdWRpb19zcmNfZGlzcG9zZSksCgkgIChkb190b2dnbGVfZWxlbWVudCksIChjYl90b2dnbGVfZWxlbWVudCksCgkgIChnc3RfZ2NvbmZfYXVkaW9fc3JjX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L2djb25mL2dzdGdjb25mYXVkaW9zcmMuaDoKCSAgKiBleHQvZ2NvbmYvZ3N0Z2NvbmZlbGVtZW50cy5jOiAocGx1Z2luX2luaXQpOgoJICAqIGV4dC9nY29uZi9nc3RnY29uZnZpZGVvc3JjLmM6IChnc3RfZ2NvbmZfdmlkZW9fc3JjX2Jhc2VfaW5pdCksCgkgIChnc3RfZ2NvbmZfdmlkZW9fc3JjX2NsYXNzX2luaXQpLCAoZ3N0X2djb25mX3ZpZGVvX3NyY19yZXNldCksCgkgIChnc3RfZ2NvbmZfdmlkZW9fc3JjX2luaXQpLCAoZ3N0X2djb25mX3ZpZGVvX3NyY19kaXNwb3NlKSwKCSAgKGRvX3RvZ2dsZV9lbGVtZW50KSwgKGNiX3RvZ2dsZV9lbGVtZW50KSwKCSAgKGdzdF9nY29uZl92aWRlb19zcmNfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvZ2NvbmYvZ3N0Z2NvbmZ2aWRlb3NyYy5oOgoJICBBZGQgbmV3IGdjb25mYXVkaW9zcmMgYW5kIGdjb25mdmlkZW9zcmMgZWxlbWVudHMKCSAgKG5lZWRlZCBmb3IgZ25vbWUtc291bmQtcmVjb3JkZXIpLgoKMjAwNi0wMS0wNiAxMTo0Njo1MyArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9pZDNkZW11eC9nc3RpZDNkZW11eC5jOiBBZGQgZ3N0X2VsZW1lbnRfbm9fbW9yZV9wYWRzKCkgZm9yIHByb3BlciBkZWNvZGViaW4gYmVoYXZpb3VyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaWQzZGVtdXgvZ3N0aWQzZGVtdXguYzogKGdzdF9pZDNkZW11eF9hZGRfc3JjcGFkKToKCSAgQWRkIGdzdF9lbGVtZW50X25vX21vcmVfcGFkcygpIGZvciBwcm9wZXIgZGVjb2RlYmluIGJlaGF2aW91ci4KCSAgKiBnc3QvaWQzZGVtdXgvaWQzdjJmcmFtZXMuYzogKHBhcnNlX2NvbW1lbnRfZnJhbWUpLAoJICAocGFyc2VfdGV4dF9pZGVudGlmaWNhdGlvbl9mcmFtZSksIChwYXJzZV9zcGxpdF9zdHJpbmdzKToKCSAgRmFpbHVyZSB0byBkZWNvZGUgc29tZSB0YWdzIGlzIG5vdCBhIEdTVF9FUlJPUigpIGJ1dCBhCgkgIEdTVF9XQVJOSU5HKCkKCSAgV2hlbiBpdGVyYXRpbmcgb3ZlciBhIGNodW5rIG9mIHRleHQsIGNoZWNrIHRoYXQgd2UgaGF2ZW4ndCBnb25lIHRvbwoJICBmYXIuCgoyMDA2LTAxLTA1IDIzOjE3OjQ0ICswMDAwICBTw6liYXN0aWVuIE1vdXR0ZSA8c2ViYXN0aWVuQG1vdXR0ZS5uZXQ+CgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3cGx1Z2luLmM6CgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmg6CgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHBsdWdpbi5jOgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuaDoKCSogd2luMzIvdnM2L2xpYmdzdGRpcmVjdGRyYXcuZHNwOgoJKiB3aW4zMi92czYvbGliZ3N0ZGlyZWN0c291bmQuZHNwOgoJICBhZGRlZCBzeXMvZGlyZWN0ZHJhdyBhZGRlZCBzeXMvZGlyZWN0c291bmQgYWRkZWQgd2luMzIvdnM2L2dzdF9wbHVnaW5zX2JhZC5kc3cgYWRkZWQgd2luMzIvdnM2L2xpYmdzdGRpcmVjdHNvdW5kLmRzcCAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDEtMDUgIFNlYmFzdGllbiBNb3V0dGUgIDxzZWJhc3RpZW5AbW91dHRlLm5ldD4KCSAgKiBhZGRlZCBzeXMvZGlyZWN0ZHJhdwoJICAqIGFkZGVkIHN5cy9kaXJlY3Rzb3VuZAoJICAqIGFkZGVkIHdpbjMyL3ZzNi9nc3RfcGx1Z2luc19iYWQuZHN3CgkgICogYWRkZWQgd2luMzIvdnM2L2xpYmdzdGRpcmVjdHNvdW5kLmRzcAoJICAqIGFkZGVkIHdpbjMyL3ZzNi9saWJnc3RkaXJlY3RkcmF3LmRzcAoJICAqIGFkZGVkIHdpbjMyL2NvbW1vbi9jb25maWcuaAoKMjAwNi0wMS0wNSAxNzowMzo0NSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6IGNhbGwgb2lsX2luaXQoKSB3aGVuIHVzaW5nIGxpYm9pbAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzogKGdzdF92aWRlb19ib3hfY2xhc3NfaW5pdCksCgkgIChwbHVnaW5faW5pdCk6CgkgIGNhbGwgb2lsX2luaXQoKSB3aGVuIHVzaW5nIGxpYm9pbAoKMjAwNi0wMS0wNCAxNzoyODo0OSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9qcGVnLzogRml4IGxlYWtzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvanBlZy9nc3RzbW9rZWRlYy5jOiAoZ3N0X3Ntb2tlZGVjX2NoYWluKToKCSAgKiBleHQvanBlZy9nc3RzbW9rZWVuYy5jOiAoZ3N0X3Ntb2tlZW5jX2NoYWluKToKCSAgRml4IGxlYWtzLgoKMjAwNi0wMS0wMiAxOTozODozMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzogRG9uJ3QgZ19hc3NlcnQoKSB3aGVyZSB3ZSBzaG91bGQganVzdCByZXR1cm4gRkFMU0U7IHJlbW92ZSB1bm5lY2Vzc2FyeSBnX2Fzc2VydCgpOyBpbml0aWFsaXplIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUmV2aWV3ZWQgYnk6IFRpbS1QaGlsaXBwIE3DvGxsZXIgIDx0aW0gYXQgY2VudHJpY3VsYXIgZG90IG5ldD4KCSAgKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6IChnc3RfZmxhY19kZWNfd3JpdGUpLAoJICAoZ3N0X2ZsYWNfZGVjX2NvbnZlcnRfc3JjKSwgKGdzdF9mbGFjX2RlY19zcmNfcXVlcnkpLAoJICAoZ3N0X2ZsYWNfZGVjX2NoYW5nZV9zdGF0ZSk6CgkgIERvbid0IGdfYXNzZXJ0KCkgd2hlcmUgd2Ugc2hvdWxkIGp1c3QgcmV0dXJuIEZBTFNFOyByZW1vdmUKCSAgdW5uZWNlc3NhcnkgZ19hc3NlcnQoKTsgaW5pdGlhbGl6ZSBzb21lIGZpZWxkcyBwcm9wZXJseSBpbgoJICBzdGF0ZSBjaGFuZ2UgZnVuY3Rpb24gKGZpeGVzICMzMjU1MDQpLiBBbHNvLCB1c2UKCSAgR1NUX0RFQlVHX09CSkVDVCBpbiB0d28gbW9yZSBwbGFjZXMuCgoyMDA1LTEyLTMwIDE1OjUxOjA1ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBjb25maWd1cmUuYWM6IGFsc28gcmVtb3ZlIHNtb290aHdhdmUncyBNYWtlZmlsZS5hbQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIGFsc28gcmVtb3ZlIHNtb290aHdhdmUncyBNYWtlZmlsZS5hbQoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgZml4IHBsdWdpbiBkb2NzCgoyMDA1LTEyLTMwIDE1OjM5OjE3ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGdzdC9zbW9vdGh3YXZlLy5naXRpZ25vcmU6CgkqIGdzdC9zbW9vdGh3YXZlL01ha2VmaWxlLmFtOgoJKiBnc3Qvc21vb3Rod2F2ZS9SRUFETUU6CgkqIGdzdC9zbW9vdGh3YXZlL2RlbW8tb3Nzc3JjLmM6CgkqIGdzdC9zbW9vdGh3YXZlL2dzdHNtb290aHdhdmUuYzoKCSogZ3N0L3Ntb290aHdhdmUvZ3N0c21vb3Rod2F2ZS5oOgoJICByZW1vdmUgb2xkIHBsdWdpbiB0aGF0IHdlbnQgYmFkCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZW1vdmUgb2xkIHBsdWdpbiB0aGF0IHdlbnQgYmFkCgoyMDA1LTEyLTMwIDE1OjM0OjE4ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICB0ZXN0cy9leGFtcGxlcy9NYWtlZmlsZS5hbTogYWRkZWQgbWlzc2luZyBNYWtlZmlsZS5hbQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9leGFtcGxlcy9NYWtlZmlsZS5hbToKCSAgYWRkZWQgbWlzc2luZyBNYWtlZmlsZS5hbQoKMjAwNS0xMi0zMCAxNToyODo0NCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgbW92ZWQgbGV2ZWwtZXhhbXBsZSB0byB0ZXN0cy9leGFtcGxlcy9sZXZlbC1leGFtcGxlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvbGV2ZWwvTWFrZWZpbGUuYW06CgkgICogZ3N0L2xldmVsL2xldmVsLWV4YW1wbGUuYzoKCSAgKiB0ZXN0cy9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9leGFtcGxlcy9sZXZlbC9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9leGFtcGxlcy9sZXZlbC9sZXZlbC1leGFtcGxlLmM6IChtZXNzYWdlX2hhbmRsZXIpLCAobWFpbik6CgkgIG1vdmVkIGxldmVsLWV4YW1wbGUgdG8gdGVzdHMvZXhhbXBsZXMvbGV2ZWwtZXhhbXBsZQoJICAqIHRlc3RzL29sZC9leGFtcGxlcy9sZXZlbC9kZW1vLmM6IChtYWluKToKCSAgKiB0ZXN0cy9vbGQvZXhhbXBsZXMvbGV2ZWwvcGxvdC5jOiAobWFpbik6CgkgIHNvbWUgaW5pdGlhbCBmaXhlcwoKMjAwNS0xMi0yOSAxNjozNjoxOSArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuKjogVHJhY2sgcGFja2V0cyBzZW50IHBlciBjbGllbnQgaW4gYWRkaXRpb24gdG8gYnl0ZXMgc2VudDsgcHJvdmlkZSB0aGlzIGluZm8gdGhyb3VnaCBnZXQtc3RhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6IChnc3RfbXVsdGl1ZHBzaW5rX3JlbmRlciksCgkgIChnc3RfbXVsdGl1ZHBzaW5rX3JlbW92ZSksIChnc3RfbXVsdGl1ZHBzaW5rX2dldF9zdGF0cyk6CgkgICogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuaDoKCSAgVHJhY2sgcGFja2V0cyBzZW50IHBlciBjbGllbnQgaW4gYWRkaXRpb24gdG8gYnl0ZXMgc2VudDsgcHJvdmlkZQoJICB0aGlzIGluZm8gdGhyb3VnaCBnZXQtc3RhdHMgc2lnbmFsCgoyMDA1LTEyLTI5IDExOjI2OjEyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS5jOiBDYW4ndCB1c2UgZ3N0X29iamVjdF91bnJlZigpIG9uIGEgR3N0QWRhcHRlciAoIzMyNTE5MSkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdXBhcnNlL2dzdGF1cGFyc2UuYzogKGdzdF9hdV9wYXJzZV9kaXNwb3NlKToKCSAgQ2FuJ3QgdXNlIGdzdF9vYmplY3RfdW5yZWYoKSBvbiBhIEdzdEFkYXB0ZXIgKCMzMjUxOTEpLgoKMjAwNS0xMi0yOCAxODo1NTozMiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvaWQzZGVtdXgvaWQzdGFncy5jOiBJZiBhIGJyb2tlbiB0YWcgaGFzIDAgYnl0ZXMgcGF5bG9hZCwgYXQgbGVhc3Qgc3RpbGwgc2tpcCB0aGUgMTAgYnl0ZSBoZWFkZXIKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2lkM2RlbXV4L2lkM3RhZ3MuYzogKGlkM2RlbXV4X3JlYWRfaWQzdjJfdGFnKToKCSAgSWYgYSBicm9rZW4gdGFnIGhhcyAwIGJ5dGVzIHBheWxvYWQsIGF0IGxlYXN0IHN0aWxsIHNraXAKCSAgdGhlIDEwIGJ5dGUgaGVhZGVyCgoyMDA1LTEyLTIyIDE1OjAwOjQxICswMDAwICBQaGlsaXBwZSBLYWxhZiA8cGhpbGlwcGUua2FsYWZAY29sbGFib3JhLmNvLnVrPgoKCSAgZ3N0LXBsdWdpbnMtZ29vZC9nc3QvcnRwLzogTWFraW5nIHRoZXNlIGRlcGF5bG9hZGVycyAoSDI2MysgYW5kIG1wZWc0IHZpZGVvKSBpbmhlcml0IGZyb20KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTItMjIgIFBoaWxpcHBlIEtoYWxhZiAgPGJ1cmdlckBzcGVlZHkub3JnPgoJICAqIGdzdC1wbHVnaW5zLWdvb2QvZ3N0L3J0cC9nc3RydHBoMjYzcGRlcGF5Lmg6CgkgICogZ3N0LXBsdWdpbnMtZ29vZC9nc3QvcnRwL2dzdHJ0cGgyNjNwZGVwYXkuYzoKCSAgKiBnc3QtcGx1Z2lucy1nb29kL2dzdC9ydHAvZ3N0cnRwbXA0dmRlcGF5Lmg6CgkgICogZ3N0LXBsdWdpbnMtZ29vZC9nc3QvcnRwL2dzdHJ0cG1wNHZkZXBheS5jOgoJICBNYWtpbmcgdGhlc2UgZGVwYXlsb2FkZXJzIChIMjYzKyBhbmQgbXBlZzQgdmlkZW8pIGluaGVyaXQgZnJvbQoJICBSdHBCYXNlRGVwYXlsb2FkZXJDbGFzcy4gRml4ZXMgYnVncyAjMzIzOTIyIGFuZCAjMzIzOTA4LgoKMjAwNS0xMi0yMSAxNzoxNTowOSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLio6IFJlZ2VuZXJhdGUgdGhlIHBsdWdpbiBoaWVhcmNoeS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJICBSZWdlbmVyYXRlIHRoZSBwbHVnaW4gaGllYXJjaHkuCgoyMDA1LTEyLTIxIDE1OjI0OjU5ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIEFkZCBkb2N1bWVudGF0aW9uIGZvciBpZDNkZW11eC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTItMjEgIEphbiBTY2htaWR0ICA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJICAqIGdzdC9pZDNkZW11eC9nc3RpZDNkZW11eC5jOiAoZ3N0X2lkM2RlbXV4X2dldF90eXBlKSwKCSAgKGdzdF9pZDNkZW11eF9iYXNlX2luaXQpLCAoZ3N0X2lkM2RlbXV4X2NsYXNzX2luaXQpLAoJICAoZ3N0X2lkM2RlbXV4X2NoYWluKToKCSAgKiBnc3QvaWQzZGVtdXgvZ3N0aWQzZGVtdXguaDoKCSAgQWRkIGRvY3VtZW50YXRpb24gZm9yIGlkM2RlbXV4LgoJICBEb24ndCBmYWlsIGlmIHRoZSBmaXJzdCBidWZmZXIgaXMgbm90IGF0IG9mZnNldCAwLCBqdXN0CgkgIGF0dGVtcHQgdG8gdHlwZWZpbmQgYW5kIGRvIHBhc3MgdGhyb3VnaAoJICBSZW5hbWUgdGhlIGdzdF90eXBlIGZ1bmN0aW9uIGZyb20gZ3N0X2dzdF9pZDNkZW11eC4uCgoyMDA1LTEyLTIwIDEyOjQ0OjI1ICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBnc3QvdWRwL2dzdG11bHRpdWRwc2luay4qOiBDb2xsZWN0IHN0YXRpc3RpY3M7IHJldHVybiB0aGVtIGZyb20gZ2V0X3N0YXRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOiAoZ3N0X211bHRpdWRwc2lua19yZW5kZXIpLAoJICAoZ3N0X211bHRpdWRwc2lua19hZGQpLCAoZ3N0X211bHRpdWRwc2lua19yZW1vdmUpLAoJICAoZ3N0X211bHRpdWRwc2lua19nZXRfc3RhdHMpOgoJICAqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmg6CgkgIENvbGxlY3Qgc3RhdGlzdGljczsgcmV0dXJuIHRoZW0gZnJvbSBnZXRfc3RhdHMuCgoyMDA1LTEyLTE5IDE1OjQzOjMwICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiBTdHVwaWQgc2lnbmVkbmVzcyBpc3N1ZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X3N0cmVhbV9zY2FuKToKCSAgU3R1cGlkIHNpZ25lZG5lc3MgaXNzdWUuLi4KCjIwMDUtMTItMTkgMTU6MTk6NDQgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBleHQvc3dmZGVjL2dzdHN3ZmRlYy5jOiBBZGQgZGVidWdnaW5nIGNhdGVnb3J5IGFuZCByZXR1cm4gR3N0Rmxvd1JldHVybiBpbiB0aGUgcmlnaHQgcGxhY2VzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9zd2ZkZWMvZ3N0c3dmZGVjLmM6IChnc3Rfc3dmZGVjX2NsYXNzX2luaXQpLAoJICAoZ3N0X3N3ZmRlY19jaGFpbiksIChnc3Rfc3dmZGVjX3JlbmRlcik6CgkgIEFkZCBkZWJ1Z2dpbmcgY2F0ZWdvcnkgYW5kIHJldHVybiBHc3RGbG93UmV0dXJuIGluIHRoZSByaWdodCBwbGFjZXMKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IChnc3Rfd2F2cGFja19kZWNfbGluayk6CgkgIEdldCBzb21ldGhpbmcgZnJvbSB0aGUgcGVlciBwYWQgb25jZSB3ZSd2ZSBjaGVja2VkIGlmIHRoZXJlIGlzIGEgcGVlciBwYWQuCgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfY2hhbmdlX3N0YXRlKSwKCSAgKHF0ZGVtdXhfdHJlZV9nZXRfY2hpbGRfYnlfdHlwZSksIChxdGRlbXV4X3BhcnNlX3RyYWspLAoJICAocXRkZW11eF92aWRlb19jYXBzKToKCSAgQ291cGxlIG9mIGZpeGVzCgoyMDA1LTEyLTE5IDE1OjA2OjI3ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiBDb25zdHJ1Y3QgaW5kZXggZm9yIGluZGV4bGVzcyBmaWxlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9yZXNldCksCgkgIChnc3RfYXZpX2RlbXV4X2hhbmRsZV9zcmNfZXZlbnQpLCAoZ3N0X2F2aV9kZW11eF9wYXJzZV9zdHJlYW0pLAoJICAoZ3N0X2F2aV9kZW11eF9wYXJzZV9vZG1sKSwgKGdzdF9hdmlfZGVtdXhfcGVla190YWcpLAoJICAoZ3N0X2F2aV9kZW11eF9uZXh0X2RhdGFfYnVmZmVyKSwgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX3NjYW4pLAoJICAoZ3N0X2F2aV9kZW11eF9zdHJlYW1faGVhZGVyKSwgKGdzdF9hdmlfZGVtdXhfbG9vcCk6CgkgIENvbnN0cnVjdCBpbmRleCBmb3IgaW5kZXhsZXNzIGZpbGVzLgoJICBNYWtlIHN1cmUgcGFkL2J1ZmZlcnMgYXJlIGNvcnJlY3RseSByZXNldCB0byBOVUxMIG9uY2Ugd2UgZG9uJ3QgbmVlZAoJICB0aGVtIGFueW1vcmUsIGVsc2Ugd2UgZ2V0IGxvdmVseSBzZWdmYXVsdHMvYXNzZXJ0aW9ucy4KCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgWWVzLCB5b3UgY2FuIGhhdmUgOTZLSHogYXVkaW8gYW5kIHdtYSBpbiB3YXYgOigKCjIwMDUtMTItMTggMTU6MTQ6NDQgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgY29uZmlndXJlLmFjOiBDaGVjayBmb3Igb3B0aW9uYWwgZGVwZW5kZW5jeSBvbiB6bGliIGZvciBpZDNkZW11eAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIENoZWNrIGZvciBvcHRpb25hbCBkZXBlbmRlbmN5IG9uIHpsaWIgZm9yIGlkM2RlbXV4CgkgICogZ3N0L2lkM2RlbXV4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9pZDNkZW11eC9nc3RpZDNkZW11eC5jOiAoZ3N0X2dzdF9pZDNkZW11eF9nZXRfdHlwZSksCgkgIChnc3RfaWQzZGVtdXhfYmFzZV9pbml0KSwgKGdzdF9pZDNkZW11eF9jbGFzc19pbml0KSwKCSAgKGdzdF9pZDNkZW11eF9yZXNldCksIChnc3RfaWQzZGVtdXhfaW5pdCksIChnc3RfaWQzZGVtdXhfZGlzcG9zZSksCgkgIChnc3RfaWQzZGVtdXhfYWRkX3NyY3BhZCksIChnc3RfaWQzZGVtdXhfcmVtb3ZlX3NyY3BhZCksCgkgIChnc3RfaWQzZGVtdXhfdHJpbV9idWZmZXIpLCAoZ3N0X2lkM2RlbXV4X2NoYWluKSwKCSAgKGdzdF9pZDNkZW11eF9zZXRfcHJvcGVydHkpLCAoZ3N0X2lkM2RlbXV4X2dldF9wcm9wZXJ0eSksCgkgIChpZDNkZW11eF9nZXRfdXBzdHJlYW1fc2l6ZSksIChnc3RfaWQzZGVtdXhfc3JjcGFkX2V2ZW50KSwKCSAgKGdzdF9pZDNkZW11eF9yZWFkX2lkM3YxKSwgKGdzdF9pZDNkZW11eF9yZWFkX2lkM3YyKSwKCSAgKGdzdF9pZDNkZW11eF9zaW5rX2FjdGl2YXRlKSwgKGdzdF9pZDNkZW11eF9zcmNfYWN0aXZhdGVfcHVsbCksCgkgIChnc3RfaWQzZGVtdXhfc3JjX2NoZWNrZ2V0cmFuZ2UpLCAoZ3N0X2lkM2RlbXV4X3JlYWRfcmFuZ2UpLAoJICAoZ3N0X2lkM2RlbXV4X3NyY19nZXRyYW5nZSksIChnc3RfaWQzZGVtdXhfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9pZDNkZW11eF9wYWRfcXVlcnkpLCAoZ3N0X2lkM2RlbXV4X2dldF9xdWVyeV90eXBlcyksCgkgIChzaW1wbGVfZmluZF9wZWVrKSwgKHNpbXBsZV9maW5kX3N1Z2dlc3QpLAoJICAoZ3N0X2lkM2RlbXV4X2RvX3R5cGVmaW5kKSwgKGdzdF9pZDNkZW11eF9zZW5kX3RhZ19ldmVudCksCgkgIChwbHVnaW5faW5pdCk6CgkgICogZ3N0L2lkM2RlbXV4L2dzdGlkM2RlbXV4Lmg6CgkgICogZ3N0L2lkM2RlbXV4L2lkM3RhZ3MuYzogKHJlYWRfc3luY2hfdWludCksCgkgIChpZDNkZW11eF9yZWFkX2lkM3YxX3RhZyksIChpZDNkZW11eF9yZWFkX2lkM3YyX3RhZyksCgkgIChpZDNkZW11eF9pZDN2Ml9mcmFtZV9oZHJfc2l6ZSksIChjb252ZXJ0X2ZpZF90b192MjQwKSwKCSAgKGlkM2RlbXV4X2lkM3YyX2ZyYW1lc190b190YWdfbGlzdCk6CgkgICogZ3N0L2lkM2RlbXV4L2lkM3RhZ3MuaDoKCSAgKiBnc3QvaWQzZGVtdXgvaWQzdjIuNC4wLWZyYW1lcy50eHQ6CgkgICogZ3N0L2lkM2RlbXV4L2lkM3YyLjQuMC1zdHJ1Y3R1cmUudHh0OgoJICAqIGdzdC9pZDNkZW11eC9pZDN2MmZyYW1lcy5jOiAoaWQzZGVtdXhfaWQzdjJfcGFyc2VfZnJhbWUpLAoJICAocGFyc2VfY29tbWVudF9mcmFtZSksIChwYXJzZV90ZXh0X2lkZW50aWZpY2F0aW9uX2ZyYW1lKSwKCSAgKGlkM3YyX3RhZ190b190YWdsaXN0KSwgKHBhcnNlX3NwbGl0X3N0cmluZ3MpOgoJICBBbGwgbmV3IExHUEwgaWQzIGRlbXV4ZXIuIENhbiB1c2UgemxpYiBmb3IgY29tcHJlc3NlZCBmcmFtZXMsCgkgIG90aGVyd2lzZSBpdCBkaXNjYXJkcyB0aGVtLiBXb3JrcyBvbiBteSB0ZXN0IGZpbGVzLgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiAoZ3N0X3dhdnBhcnNlX2xvb3ApOgoJICBEb24ndCBzZW5kIEVPUyB0byBhIG5vbi1leGlzdGluZyBzcmNwYWQKCSAgVGhlIGRlYnVnIGNhdGVnb3J5IGNhbiBiZSBzdGF0aWMKCjIwMDUtMTItMTcgMTc6NDg6MzggKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZG9jcy9wbHVnaW5zLzogVXBkYXRlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTItMTcgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZGVjbC50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtdW5kb2N1bWVudGVkLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuc2lnbmFsczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGZidmlkZW9zaW5rLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXRkZW11eC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbHZpZGVvc2luay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRhLnhtbDogVXBkYXRlcy4KCSAgKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6CgkgIChnc3RfZGZidmlkZW9zaW5rX3N1cmZhY2VfY3JlYXRlKSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfZXZlbnRfdGhyZWFkKSwgKGdzdF9kZmJ2aWRlb3NpbmtfZW51bV92bW9kZXMpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19lbnVtX2RldmljZXMpLCAoZ3N0X2RmYnZpZGVvc2lua19zZXR1cCksCgkgIChnc3RfZGZidmlkZW9zaW5rX2NsZWFudXApLAoJICAoZ3N0X2RmYnZpZGVvc2lua19jYW5fYmxpdF9mcm9tX2Zvcm1hdCksCgkgIChnc3RfZGZidmlkZW9zaW5rX2dldF9iZXN0X3Ztb2RlKSwgKGdzdF9kZmJ2aWRlb3NpbmtfZ2V0Y2FwcyksCgkgIChnc3RfZGZidmlkZW9zaW5rX3NldGNhcHMpLCAoZ3N0X2RmYnZpZGVvc2lua19zaG93X2ZyYW1lKSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfYnVmZmVyX2FsbG9jKSwgKGdzdF9kZmJzdXJmYWNlX2ZpbmFsaXplKSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfaW50ZXJmYWNlX3N1cHBvcnRlZCksCgkgIChnc3RfZGZidmlkZW9zaW5rX25hdmlnYXRpb25fc2VuZF9ldmVudCksCgkgIChnc3RfZGZidmlkZW9zaW5rX3VwZGF0ZV9jb2xvcmJhbGFuY2UpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19jb2xvcmJhbGFuY2VfbGlzdF9jaGFubmVscyksCgkgIChnc3RfZGZidmlkZW9zaW5rX2NvbG9yYmFsYW5jZV9zZXRfdmFsdWUpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19jb2xvcmJhbGFuY2VfZ2V0X3ZhbHVlKSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfY29sb3JiYWxhbmNlX2luaXQpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19nZXRfcHJvcGVydHkpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19pbml0KSwgKGdzdF9kZmJ2aWRlb3NpbmtfY2xhc3NfaW5pdCk6CgkgICogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5oOiBJbXBsZW1lbnQgdmVydGljYWwgc3luYyBhbmQKCSAgY29sb3IgYmFsYW5jZSBpbnRlcmZhY2UuCgoyMDA1LTEyLTE2IDIxOjU3OjUxICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBjaGFuZ2Ugc29tZSBjaGFyKiBpbnRvIGNoYXJbXQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZXNkL2VzZG1vbi5jOiAoZ3N0X2VzZG1vbl9vcGVuX2F1ZGlvKToKCSAgKiBleHQvZXNkL2VzZHNpbmsuYzogKGdzdF9lc2RzaW5rX3ByZXBhcmUpOgoJICAqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzoKCSAgY2hhbmdlIHNvbWUgY2hhciogaW50byBjaGFyW10KCjIwMDUtMTItMTYgMTk6MzI6NTMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuKjogVXNlIEdzdFNlZ21lbnQgdG8gaW1wbGVtZW50IG1vcmUgc2Vla2luZyBmZWF0dXJlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IChnc3Rfd2F2cGFyc2VfcmVzZXQpLAoJICAoZ3N0X3dhdnBhcnNlX290aGVyKSwgKGdzdF93YXZwYXJzZV9wZXJmb3JtX3NlZWspLAoJICAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9oZWFkZXJzKSwgKGdzdF93YXZwYXJzZV9zdHJlYW1fZGF0YSksCgkgIChnc3Rfd2F2cGFyc2VfbG9vcCksIChnc3Rfd2F2cGFyc2VfcGFkX2NvbnZlcnQpLAoJICAoZ3N0X3dhdnBhcnNlX3NyY3BhZF9ldmVudCksIChnc3Rfd2F2cGFyc2Vfc2lua19hY3RpdmF0ZV9wdWxsKToKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuaDoKCSAgVXNlIEdzdFNlZ21lbnQgdG8gaW1wbGVtZW50IG1vcmUgc2Vla2luZyBmZWF0dXJlcy4KCjIwMDUtMTItMTYgMTI6MjU6MzggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IE9vcHMsIHJlbW92ZSB0cmFpbGluZyBjb21tYSBmcm9tIGNhcHMgc3RyaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6CgkgIE9vcHMsIHJlbW92ZSB0cmFpbGluZyBjb21tYSBmcm9tIGNhcHMgc3RyaW5nLgoKMjAwNS0xMi0xNiAxMDoxMjo0OSArMDAwMCAgQmVuamFtaW4gUGluZWF1IDxiZW4ucGluZWF1QGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL3J0c3Bjb25uZWN0aW9uLmM6IEFkZCA8bmV0aW5ldC9pbi5oPiBpbmNsdWRlIGFuZCBtb3ZlIDxhcnBhL2luZXQuaD4gaW5jbHVkZSB0byBtYWtlIHRoaW5ncyB3b3JrIG9uIE9wZW5CU0QgYS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9ydHNwY29ubmVjdGlvbi5jOgoJICBBZGQgPG5ldGluZXQvaW4uaD4gaW5jbHVkZSBhbmQgbW92ZSA8YXJwYS9pbmV0Lmg+IGluY2x1ZGUKCSAgdG8gbWFrZSB0aGluZ3Mgd29yayBvbiBPcGVuQlNEIGFzIHdlbGwgKGZpeGVzICMzMjM3MTc7CgkgIHBhdGNoIGJ5OiBCZW5qYW1pbiBQaW5lYXUpCgoyMDA1LTEyLTE2IDA5OjU5OjIxICswMDAwICBnY29jYXRyZUBnbWFpbC5jb20gPGdjb2NhdHJlQGdtYWlsLmNvbT4KCgkgIGV4dC93YXZwYWNrLzogV2F2cGFjayBzdXBwb3J0cyBzYW1wbGVyYXRlcyBmcm9tIDYtMTkya0h6LCBmaXggcGFkIHRlbXBsYXRlIHJlbW92ZSBidWZmZXItZnJhbWVzIGZyb20gY2FwcywgdGhleSBhcmUgZy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IChnc3Rfd2F2cGFja19kZWNfbGluayk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6CgkgIFdhdnBhY2sgc3VwcG9ydHMgc2FtcGxlcmF0ZXMgZnJvbSA2LTE5MmtIeiwgZml4IHBhZCB0ZW1wbGF0ZQoJICBjYXBzIChmaXhlcyAjMzIyOTczOyBwYXRjaCBieTogZ2NvY2F0cmVAZ21haWwuY29tKS4gQWxzbwoJICByZW1vdmUgYnVmZmVyLWZyYW1lcyBmcm9tIGNhcHMsIHRoZXkgYXJlIGdvbmUgaW4gMC4xMC4KCjIwMDUtMTItMTQgMjA6MDU6NDUgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZ3N0L3J0cC9nc3RydHBzcGVleGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhwYXkuYzoKCSAgU2V0IGNsb2NrIHJhdGUgdG8gYmUgZml4ZWQgaW4gODAwMC4gSXQgZml4ZXMgYnVnICMzMjQwMTIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBTZXQgY2xvY2sgcmF0ZSB0byBiZSBmaXhlZCBpbiA4MDAwLiBJdCBmaXhlcyBidWcgIzMyNDAxMi4KCjIwMDUtMTItMTQgMTg6MDc6MTYgKzAwMDAgIFBoaWxpcHBlIEthbGFmIDxwaGlsaXBwZS5rYWxhZkBjb2xsYWJvcmEuY28udWs+CgoJICBnc3QtcGx1Z2lucy1nb29kL2dzdC9ydHAvOiBGaXhlZCBwYXlsb2FkIHJhbmdlIGluIHBheWxvZGVyIGNhcHMuIFJlbW92ZWQgcGF5bG9hZCByYW5nZSBjb21wbGV0bHkgZnJvbSBkZXBheWxvYWRlcnMgYXMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTItMTQgIFBoaWxpcHBlIEtoYWxhZiAgPGJ1cmdlckBzcGVlZHkub3JnPgoJICAqIGdzdC1wbHVnaW5zLWdvb2QvZ3N0L3J0cC9nc3Rhc3Rlcmlza2gyNjMuYzoKCSAgKiBnc3QtcGx1Z2lucy1nb29kL2dzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuYzoKCSAgKiBnc3QtcGx1Z2lucy1nb29kL2dzdC9ydHAvZ3N0cnRwYW1ycGF5LmM6CgkgICogZ3N0LXBsdWdpbnMtZ29vZC9nc3QvcnRwL2dzdHJ0cGc3MTFkZXBheS5jOgoJICAqIGdzdC1wbHVnaW5zLWdvb2QvZ3N0L3J0cC9nc3RydHBnNzExZGVwYXkuYzoKCSAgKiBnc3QtcGx1Z2lucy1nb29kL2dzdC9ydHAvZ3N0cnRwZ3NtZGVwYXkuYzoKCSAgKiBnc3QtcGx1Z2lucy1nb29kL2dzdC9ydHAvZ3N0cnRwaDI2M3BheS5jOgoJICAqIGdzdC1wbHVnaW5zLWdvb2QvZ3N0L3J0cC9nc3RydHBoMjYzcGRlcGF5LmM6CgkgICogZ3N0LXBsdWdpbnMtZ29vZC9nc3QvcnRwL2dzdHJ0cGgyNjNwcGF5LmM6CgkgICogZ3N0LXBsdWdpbnMtZ29vZC9nc3QvcnRwL2dzdHJ0cG1wNHZkZXBheS5jOgoJICAqIGdzdC1wbHVnaW5zLWdvb2QvZ3N0L3J0cC9nc3RydHBtcDR2cGF5LmM6CgkgICogZ3N0LXBsdWdpbnMtZ29vZC9nc3QvcnRwL2dzdHJ0cG1wYWRlcGF5LmM6CgkgICogZ3N0LXBsdWdpbnMtZ29vZC9nc3QvcnRwL2dzdHJ0cG1wYXBheS5jOgoJICAqIGdzdC1wbHVnaW5zLWdvb2QvZ3N0L3J0cC9SRUFETUU6CgkgIEZpeGVkIHBheWxvYWQgcmFuZ2UgaW4gcGF5bG9kZXIgY2Fwcy4gUmVtb3ZlZCBwYXlsb2FkIHJhbmdlIGNvbXBsZXRseSBmcm9tCgkgIGRlcGF5bG9hZGVycyBhcyB0aGV5IGRvbid0IHJlcXVpcmUgcGF5bG9hZCB0eXBlIGluIHRoZWlyIGNhcHMuIEluIGVmZmVjdCwKCSAgdGhlcmUgaXNuJ3QgYW55IHNwZWNpZmljIHBheWxvYWQgdHlwZSBmb3IgYW55IGdpdmVuIGNvZGVjLCBvbmx5IHN1Z2dlc3Rpb25zLgoJICBGaXhlcyBidWcgIzMyNDAxMS4KCjIwMDUtMTItMTMgMjE6NTg6NDIgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOiBDb2RlIGNsZWFudXAgYW5kIHJlLWVuYWJsaW5nIHF1ZXVlZCB0aW1lIHZhbGlkaXR5IGNoZWNrIGZvciBjb3JyZWN0IEVPUyBoYW5kbGluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTItMTMgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6IChnc3RfdmlkZW9taXhlcl9pbml0KSwKCSAgKGdzdF92aWRlb21peGVyX2ZpbGxfcXVldWVzKSwgKGdzdF92aWRlb21peGVyX2JsZW5kX2J1ZmZlcnMpLAoJICAoZ3N0X3ZpZGVvbWl4ZXJfY29sbGVjdGVkKTogQ29kZSBjbGVhbnVwIGFuZCByZS1lbmFibGluZwoJICBxdWV1ZWQgdGltZSB2YWxpZGl0eSBjaGVjayBmb3IgY29ycmVjdCBFT1MgaGFuZGxpbmcuCgoyMDA1LTEyLTEzIDE3OjE4OjMyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgc3lzL29zcy9nc3Rvc3NtaXhlcmVsZW1lbnQuYzogQWRkICdkZXZpY2UtbmFtZScgcHJvcGVydHkgYW5kIGZpeCBzdGF0ZSBjaGFuZ2UgZnVuY3Rpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9vc3MvZ3N0b3NzbWl4ZXJlbGVtZW50LmM6IChnc3Rfb3NzX21peGVyX2VsZW1lbnRfY2xhc3NfaW5pdCksCgkgIChnc3Rfb3NzX21peGVyX2VsZW1lbnRfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9vc3NfbWl4ZXJfZWxlbWVudF9jaGFuZ2Vfc3RhdGUpOgoJICBBZGQgJ2RldmljZS1uYW1lJyBwcm9wZXJ0eSBhbmQgZml4IHN0YXRlIGNoYW5nZSBmdW5jdGlvbi4KCjIwMDUtMTItMTMgMTA6NDU6MDQgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvZmx4L2dzdGZseGRlYy5jOiBJZiB0aGUgc3BlZWQgb2YgdGhlIGZpbGUgaXMgbnVsbCBpbiB0aGUgaGVhZGVyLCBzZXQgdGhlIGZyYW1lX3RpbWUgdG8gdGhlIGRlZmF1bHQgc2V0dGluZyBvZiBHU1QuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ZseC9nc3RmbHhkZWMuYzogKGdzdF9mbHhkZWNfY2hhaW4pOgoJICBJZiB0aGUgc3BlZWQgb2YgdGhlIGZpbGUgaXMgbnVsbCBpbiB0aGUgaGVhZGVyLCBzZXQgdGhlIGZyYW1lX3RpbWUgdG8gdGhlIGRlZmF1bHQKCSAgc2V0dGluZyBvZiBHU1RfU0VDT05EIC8gNzAuIFdoaWNoIGlzIHRoZSBkZWZhdWx0IGZyYW1lX2RlbGF5IGZvciAuZmxpIGZpbGVzIGFzCgkgIHN0YXRlZCBpbiB0aGlzIGRvY3VtZW50IDogaHR0cDovL3d3dy5jb21wdXBoYXNlLmNvbS9mbGljLmh0bQoJICBXb3VsZCBiZSBuaWNlIHRvIGhhdmUgdGhlIHRpbWUgY29udmVyc2lvbiBkb25lIHByb3Blcmx5IHRvbwoJICAoZHVyYXRpb24gPSBmbHhoLT5mcmFtZXMgKiBmbHhkZWMtPmZyYW1lX3RpbWUpCgoyMDA1LTEyLTEyIDIyOjI5OjM0ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIEFkZGluZyBkb2N1bWVudGF0aW9uIGZvciB2aWRlb21peGVyIG9uIG15IHdheSB3aXRoIGEgZnVubnkgc2FtcGxlIHBpcGVsaW5lLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMi0xMiAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkgIChnc3RfdmlkZW9taXhlcl9wYWRfc2lua19zZXRjYXBzKSwKCSAgKGdzdF92aWRlb21peGVyX2dldGNhcHMpLCAoZ3N0X3ZpZGVvbWl4ZXJfZmlsbF9xdWV1ZXMpLAoJICAoZ3N0X3ZpZGVvbWl4ZXJfdXBkYXRlX3F1ZXVlcyksIChnc3RfdmlkZW9taXhlcl9jb2xsZWN0ZWQpOgoJICBBZGRpbmcKCSAgZG9jdW1lbnRhdGlvbiBmb3IgdmlkZW9taXhlciBvbiBteSB3YXkgd2l0aCBhIGZ1bm55IHNhbXBsZQoJICBwaXBlbGluZS4KCjIwMDUtMTItMTIgMjE6NDM6MDAgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOiBGaXggY2FwcyBuZWdvdGlhdGlvbi4gKCMzMjM4OTYpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTEyLTEyICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJICAoZ3N0X3ZpZGVvbWl4ZXJfcGFkX3Npbmtfc2V0Y2FwcyksCgkgIChnc3RfdmlkZW9taXhlcl9nZXRjYXBzKSwgKGdzdF92aWRlb21peGVyX2ZpbGxfcXVldWVzKSwKCSAgKGdzdF92aWRlb21peGVyX3VwZGF0ZV9xdWV1ZXMpLCAoZ3N0X3ZpZGVvbWl4ZXJfY29sbGVjdGVkKToKCSAgRml4IGNhcHMgbmVnb3RpYXRpb24uICgjMzIzODk2KQoKMjAwNS0xMi0xMiAxODoxNDo1OCArMDAwMCAgQXJ3ZWQgdi4gTWVya2F0eiA8di5tZXJrYXR6QGdteC5uZXQ+CgoJKiBDaGFuZ2VMb2c6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBTZXQgY29ycmVjdCB0aW1lc3RhbXBzIG9uIGF1ZGlvIGxhY2VzLCBmaXhlcyBwbGF5YmFjayBvZiBtcDMgZnJvbSBtYXRyb3NrYS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFNldCBjb3JyZWN0IHRpbWVzdGFtcHMgb24gYXVkaW8gbGFjZXMsIGZpeGVzIHBsYXliYWNrIG9mIG1wMyBmcm9tIG1hdHJvc2thLgoKMjAwNS0xMi0xMiAxMDo0MDo0MiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC86IEdzdE9iamVjdHMgbXVzdCBiZSB1bnJlZidlZCB3aXRoIGdzdF9vYmplY3RfdW5yZWYoKSBpbnN0ZWFkIG9mIGdfb2JqZWN0X3VucmVmKCksIG90aGVyd2lzZSB0aGluZ3MgYnJlYWsgZm9yIEdMaS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvaXZvcmJpcy92b3JiaXNmaWxlLmM6IChnc3RfaXZvcmJpc2ZpbGVfbG9vcCk6CgkgICogZXh0L2xpYm1tcy9nc3RtbXMuYzogKGdzdF9tbXNfc3JjX3F1ZXJ5KSwgKGdzdF9tbXNfY3JlYXRlKToKCSAgKiBleHQvbXVzZXBhY2svZ3N0bXVzZXBhY2tkZWMuYzogKGdzdF9tdXNlcGFja2RlY19zcmNfcXVlcnkpLAoJICAoZ3N0X211c2VwYWNrZGVjX2xvb3ApOgoJICAqIGV4dC9zd2ZkZWMvZ3N0c3dmZGVjLmM6IChnc3Rfc3dmZGVjX3ZpZGVvX2xpbmspLAoJICAoZ3N0X3N3ZmRlY19zcmNfcXVlcnkpOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOiAoZ3N0X3dhdnBhY2tfcGFyc2Vfc3JjX3F1ZXJ5KToKCSAgR3N0T2JqZWN0cyBtdXN0IGJlIHVucmVmJ2VkIHdpdGggZ3N0X29iamVjdF91bnJlZigpIGluc3RlYWQgb2YKCSAgZ19vYmplY3RfdW5yZWYoKSwgb3RoZXJ3aXNlIHRoaW5ncyBicmVhayBmb3IgR0xpYi0yLjYgdXNlcnMuCgoyMDA1LTEyLTEyIDEwOjMwOjIwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS4qOiBVc2UgZ3N0X29iamVjdF91bnJlZigpIGZvciBHc3RPYmplY3RzIGluc3RlYWQgb2YgZ19vYmplY3RfdW5yZWYoKSBhbmQgZml4IGEgbWVtIGxlYWsgaW4gYSBkLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdXBhcnNlL2dzdGF1cGFyc2UuYzogKGdzdF9hdV9wYXJzZV9iYXNlX2luaXQpLAoJICAoZ3N0X2F1X3BhcnNlX2NsYXNzX2luaXQpLCAoZ3N0X2F1X3BhcnNlX2luaXQpLAoJICAoZ3N0X2F1X3BhcnNlX2Rpc3Bvc2UpLCAoZ3N0X2F1X3BhcnNlX2NoYWluKSwKCSAgKGdzdF9hdV9wYXJzZV9jaGFuZ2Vfc3RhdGUpLCAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9hdXBhcnNlL2dzdGF1cGFyc2UuaDoKCSAgVXNlIGdzdF9vYmplY3RfdW5yZWYoKSBmb3IgR3N0T2JqZWN0cyBpbnN0ZWFkIG9mCgkgIGdfb2JqZWN0X3VucmVmKCkgYW5kIGZpeCBhIG1lbSBsZWFrIGluIGEgZGVidWcKCSAgc3RhdGVtZW50OyB3aGlsZSB3ZSdyZSBhdCBpdCwgYWxzbyBib3JnaWZ5LCB1c2UKCSAgYm9pbGVycGxhdGUgbWFjcm9zIGFuZCBjbGVhbiB1cCBhIGxpdHRsZSBiaXQuCgoyMDA1LTEyLTExIDIwOjI3OjA2ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L2RlYnVnL2VmZW5jZS5jOiBBZGRlZCBwdWxsIG1vZGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWJ1Zy9lZmVuY2UuYzogKGdzdF9lZmVuY2VfaW5pdCksIChnc3RfZWZlbmNlX2dldHJhbmdlKSwKCSAgKGdzdF9lZmVuY2VfY2hlY2tnZXRyYW5nZSksIChnc3RfZWZlbmNlX2FjdGl2YXRlX3NyY19wdWxsKToKCSAgQWRkZWQgcHVsbCBtb2RlLgoKMjAwNS0xMi0xMSAxOToyNTo0MSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC86IFVzZSBhdWRpb3Rlc3RzcmMgaW5zdGVhZCBvZiBzaW5lc3JjICgjMzIzNzk4KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2dvb20vZ3N0Z29vbS5jOgoJICAqIGdzdC9sZXZlbC9sZXZlbC1leGFtcGxlLmM6IChtYWluKToKCSAgKiBnc3Qvc21vb3Rod2F2ZS9kZW1vLW9zc3NyYy5jOiAobWFpbik6CgkgIFVzZSBhdWRpb3Rlc3RzcmMgaW5zdGVhZCBvZiBzaW5lc3JjICgjMzIzNzk4KS4KCjIwMDUtMTItMTEgMTc6NTA6NTAgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIHN5cy9vc3MvZ3N0b3Nzc2luay5jOiBtb3JlIGRlYnVnLWZ1bmMtcHRyIHVzYWdlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9vc3MvZ3N0b3Nzc2luay5jOiAoZ3N0X29zc19zaW5rX2NsYXNzX2luaXQpOgoJICBtb3JlIGRlYnVnLWZ1bmMtcHRyIHVzYWdlCgoyMDA1LTEyLTExIDE2OjQzOjQyICswMDAwICBaZWVzaGFuIEFsaSA8emVlbml4QGdtYWlsLmNvbT4KCgkqIENoYW5nZUxvZzoKCSogZ3N0L2ZseC9mbHhfY29sb3IuYzoKCSogZ3N0L2ZseC9mbHhfY29sb3IuaDoKCSogZ3N0L2ZseC9mbHhfZm10Lmg6CgkqIGdzdC9mbHgvZ3N0Zmx4ZGVjLmM6CgkqIGdzdC9mbHgvZ3N0Zmx4ZGVjLmg6CgkgIE5vdyBmbHhkZWMgd29ya3Mgb24gYmlnLWVuZGlhbiBtYWNoaW5lcyBhcyB3ZWxsLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgTm93IGZseGRlYyB3b3JrcyBvbiBiaWctZW5kaWFuIG1hY2hpbmVzIGFzIHdlbGwuCgoyMDA1LTEyLTExIDE2OjE0OjIyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2RlYnVnL2VmZW5jZS5jOiBNYWtlIHN1cmUgR1NUX0JVRkZFUl9EQVRBIGlzIHNldCBvbiBmZW5jZWQgY29waWVkIGJ1ZmZlcnM7IGZpeAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVidWcvZWZlbmNlLmM6IChnc3RfZWZlbmNlX2luaXQpLCAoZ3N0X2VmZW5jZV9jaGFpbiksCgkgIChnc3RfZmVuY2VkX2J1ZmZlcl9jb3B5KToKCSAgTWFrZSBzdXJlIEdTVF9CVUZGRVJfREFUQSBpcyBzZXQgb24gZmVuY2VkIGNvcGllZCBidWZmZXJzOyBmaXgKCSAgR1NUX0RFQlVHIGNyYXNoZXIgd2hlcmUgR1NUX1RJTUVfRk9STUFUIHdhcyBub3QgdXNlZCBpbgoJICBjb25qdW5jdGlvbiB3aXRoIEdTVF9USU1FX0FSR1MuIEFsc28sIGRvbid0IGxlYWsgcGFkIHRlbXBsYXRlcwoJICBhbmQgdXNlIEdTVF9ERUJVR19GVU5DUFRSIGZvciBwYWQgZnVuY3Rpb25zLgoKMjAwNS0xMi0xMCAyMDoyNjozMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9mbGFjL2dzdGZsYWNkZWMuKjogUmV3cml0ZSBmbGFjZGVjIGEgYml0LCBzbyB0aGF0IGV2ZW4gc2Vla2luZyBtaWdodCB3b3JrIG5vdy4gTW9zdCBpbXBvcnRhbnRseSwgZG9uJ3QgYWN0IHVwb24gYS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6IChnc3RfZmxhY19kZWNfYmFzZV9pbml0KSwKCSAgKGdzdF9mbGFjX2RlY19jbGFzc19pbml0KSwgKGdzdF9mbGFjX2RlY19pbml0KSwKCSAgKGdzdF9mbGFjX2RlY19tZXRhZGF0YV9jYWxsYmFjayksIChnc3RfZmxhY19kZWNfZXJyb3JfY2FsbGJhY2spLAoJICAoZ3N0X2ZsYWNfZGVjX2VvZiksIChnc3RfZmxhY19kZWNfd3JpdGUpLCAoZ3N0X2ZsYWNfZGVjX2xvb3ApLAoJICAoZ3N0X2ZsYWNfZGVjX2NvbnZlcnRfc3JjKSwgKGdzdF9mbGFjX2RlY19nZXRfc3JjX3F1ZXJ5X3R5cGVzKSwKCSAgKGdzdF9mbGFjX2RlY19zcmNfcXVlcnkpLCAoZ3N0X2ZsYWNfZGVjX3NlbmRfbmV3c2VnbWVudCksCgkgIChnc3RfZmxhY19kZWNfaGFuZGxlX3NlZWtfZXZlbnQpLCAoZ3N0X2ZsYWNfZGVjX3NyY19ldmVudCksCgkgIChnc3RfZmxhY19kZWNfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvZmxhYy9nc3RmbGFjZGVjLmg6CgkgIFJld3JpdGUgZmxhY2RlYyBhIGJpdCwgc28gdGhhdCBldmVuIHNlZWtpbmcgbWlnaHQgd29yayBub3cuIE1vc3QKCSAgaW1wb3J0YW50bHksIGRvbid0IGFjdCB1cG9uIGFueSBmbG93IHJldHVybiB2YWx1ZXMgd2UgZ2V0LCBqdXN0IHRlbGwKCSAgdGhlIGRlY29kZXIgZXZlcnl0aGluZydzIGRhbmR5IGFuZCBhY3Qgb24gdGhlIGZsb3cgcmV0dXJuIHZhbHVlcwoJICBsYXRlciBvbiBpbiB0aGUgbG9vcCBmdW5jdGlvbi4gV2UgZG9uJ3Qgd2FudCB0byBtZXNzIHVwIHRoZSBpbnRlcm5hbAoJICBkZWNvZGVyIHN0YXRlIGZvciBub24tZmF0YWwgdGhpbmdzIGxpa2UgZmx1c2hpbmcgcGFkcyBldGMuIE90aGVyCgkgIHRoYW4gdGhhdCwgdXNlIEdzdFNlZ21lbnQgKHNlZ21lbnQgc2Vla3MgZG9uJ3Qgd29yayB5ZXQgdGhvdWdoLCBidXQKCSAgc2hvdWxkIGJlIGVhc3kgdG8gYWRkKSwgdXNlIGJvaWxlcnBsYXRlIG1hY3JvcywgZHJvcCB0aGUgc3VwZXJmbHVvdXMKCSAgJ2ZsYWNkZWM6JyBmcm9tIGRlYnVnIG1lc3NhZ2VzLCB1c2UgZ3N0X3V0aWxfdWludDY0X3NjYWxlX2ludCwgYW5kCgkgIGxvdHMgb2Ygb3RoZXIgdGhpbmdzLgoKMjAwNS0xMi0xMCAxNDo1Nzo0OCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogVXBkYXRlIGNvbW1lbnQgaW4gT1NTIGluY2x1ZGVzIGNoZWNrLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIFVwZGF0ZSBjb21tZW50IGluIE9TUyBpbmNsdWRlcyBjaGVjay4KCSAgKiBzeXMvb3NzL2dzdG9zc2RtYWJ1ZmZlci5jOgoJICAqIHN5cy9vc3MvZ3N0b3NzaGVscGVyLmM6CgkgICogc3lzL29zcy9nc3Rvc3NtaXhlci5jOgoJICAqIHN5cy9vc3MvZ3N0b3NzbWl4ZXJ0cmFjay5jOgoJICAqIHN5cy9vc3MvZ3N0b3Nzc2luay5jOgoJICAqIHN5cy9vc3MvZ3N0b3Nzc3JjLmM6CgkgICogc3lzL29zcy9vc3NfcHJvYmUuYzoKCSAgRG9uJ3QgYXNzdW1lIHRoZSBPU1Mgc291bmRjYXJkLmggaW5jbHVkZSBpcyBhbHdheXMgaW4KCSAgdGhlIHN5cy8gZGlyZWN0b3J5LiBJbnN0ZWFkLCB1c2UgdGhlIGV4aXN0aW5nIGRlZmluZXMKCSAgZnJvbSBjb25maWcuaCB0byBpbmNsdWRlIHRoZSByaWdodCBmaWxlLiBGaXhlcwoJICBjb21waWxhdGlvbiBvbiBPcGVuQlNEIDMuOCAoIzMyMzcxOCkuCgoyMDA1LTEyLTA5IDE5OjUxOjAzICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIENoYW5nZUxvZzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBleHQvZmxhYy9nc3RmbGFjLmM6CgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5oOgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuaDoKCSAgYm9yZ2lmeSBhbmQgZml4IHVwIGRvY3VtZW50YXRpb24KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGJvcmdpZnkgYW5kIGZpeCB1cCBkb2N1bWVudGF0aW9uCgoyMDA1LTEyLTA5IDE1OjMwOjIxICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGV4dC9mYWFkL2dzdGZhYWQuYzogQXNzdW1lIHRoYXQgYW4gdW5rbm93biBjaGFubmVsIG1hcHBpbmcgd2l0aCAyIGNoYW5uZWxzIGlzIHN0ZXJlbyBhbmQgcGxheSBpdCB0aGF0IHdheSBpbnN0ZWFkIG9mIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmFhZC9nc3RmYWFkLmM6IChnc3RfZmFhZF9jaGFucG9zX3RvX2dzdCksCgkgIChnc3RfZmFhZF91cGRhdGVfY2Fwcyk6CgkgIEFzc3VtZSB0aGF0IGFuIHVua25vd24gY2hhbm5lbCBtYXBwaW5nIHdpdGggMiBjaGFubmVscwoJICBpcyBzdGVyZW8gYW5kIHBsYXkgaXQgdGhhdCB3YXkgaW5zdGVhZCBvZiBlcnJvcmluZy4KCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9sb29wX2hlYWRlciksCgkgIChnc3RfcXRkZW11eF9hZGRfc3RyZWFtKSwgKHF0ZGVtdXhfcGFyc2VfdHJhayk6CgkgIEhhbmRsZSBlLmcuIGpwZWcgc3RyZWFtcyB3aXRoIDAgZHVyYXRpb24gZnJhbWVzIGFzIGhhdmluZyAwIGZyYW1lcmF0ZS4KCSAgRGVidWcgZml4ZXMuIFNvbWUgNjQgYml0IHZhcmlhYmxlIGZpeGVzCgoyMDA1LTEyLTA5IDExOjEyOjQ4ICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBleHQvZmxhYy9nc3RmbGFjZGVjLmM6IEFjY2VwdCBhIHdpZGVyIHJhbmdlIG9mIGZsYWMgZmlsZXMsIG1vcmUgY2xvc2VseSBtYXRjaGluZyBmbGFjIHNwCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzogKHJhd19jYXBzX2ZhY3RvcnkpLCAoZ3N0X2ZsYWNkZWNfd3JpdGUpOgoJICBBY2NlcHQgYSB3aWRlciByYW5nZSBvZiBmbGFjIGZpbGVzLCBtb3JlIGNsb3NlbHkgbWF0Y2hpbmcgZmxhYyBzcAoKMjAwNS0xMi0wOCAxNjoyNzoxMiArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06IEFkZCBtdWx0aXBhcnQgZWxlbWVudHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTEyLTA4ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOiBBZGQgbXVsdGlwYXJ0IGVsZW1lbnRzLgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OiBGaXggZmxhYy4KCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4LmM6CgkgICogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRtdXguYzogQWRkIGRvY3MuCgoyMDA1LTEyLTA3IDExOjQ2OjE1ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBNZW1sZWFrIGZpeGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9sb29wX2hlYWRlciksCgkgIChnc3RfcXRkZW11eF9hZGRfc3RyZWFtKToKCSAgTWVtbGVhayBmaXhlcy4KCSAgU2VuZCBvdXQgRU9TIGZvciB2YWxpZCByZWFzb25zIChjb3VsZG4ndCBwdWxsX3JhbmdlKCkgZnJvbSB1cHN0cmVhbQoJICBmb3IgZXhhbXBsZSkuCgoyMDA1LTEyLTA3IDExOjQwOjQ2ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiBNZW1sZWFrIGFuZCBjcmFzaGVyIGZpeGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X2hhbmRsZV9zcmNfZXZlbnQpLAoJICAoZ3N0X2F2aV9kZW11eF9wYXJzZV9zdHJlYW0pLCAoZ3N0X2F2aV9kZW11eF9zdHJlYW1faGVhZGVyKSwKCSAgKGdzdF9hdmlfZGVtdXhfaW52ZXJ0KToKCSAgTWVtbGVhayBhbmQgY3Jhc2hlciBmaXhlcy4KCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogKGdzdF93YXZwYXJzZV9iYXNlX2luaXQpLAoJICAoZ3N0X3dhdnBhcnNlX2NyZWF0ZV9zb3VyY2VwYWQpLCAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9oZWFkZXJzKToKCSAgTWVtbGVhayBmaXhlcwoKMjAwNS0xMi0wNiAxOTo1NTo1OCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguaDoKCSogc3lzL3Y0bDIvZ3N0djRsMmNvbG9yYmFsYW5jZS5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyZWxlbWVudC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJ0dW5lci5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyeG92ZXJsYXkuaDoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmg6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5oOgoJICBleHBhbmQgdGFicwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZXhwYW5kIHRhYnMKCjIwMDUtMTItMDYgMTk6NDQ6NTggKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvYWFsaWIvZ3N0YWFzaW5rLmg6CgkqIGV4dC9jYWlyby9nc3R0ZXh0b3ZlcmxheS5oOgoJKiBleHQvZHYvZ3N0ZHZkZWMuaDoKCSogZXh0L2R2L2dzdGR2ZGVtdXguYzoKCSogZXh0L2R2L2dzdGR2ZGVtdXguaDoKCSogZXh0L2VzZC9lc2RzaW5rLmg6CgkqIGV4dC9mbGFjL2ZsYWNfY29tcGF0Lmg6CgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuaDoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5oOgoJKiBleHQvZ2NvbmYvZ2NvbmYuaDoKCSogZXh0L2djb25mL2dzdGdjb25mYXVkaW9zaW5rLmg6CgkqIGV4dC9nY29uZi9nc3RnY29uZnZpZGVvc2luay5oOgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGthbmltYXRpb24uaDoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5oOgoJKiBleHQvanBlZy9zbW9rZWNvZGVjLmg6CgkqIGV4dC9qcGVnL3Ntb2tlZm9ybWF0Lmg6CgkqIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmg6CgkqIGV4dC9sYWRzcGEvc2VhcmNoLmM6CgkqIGV4dC9sYWRzcGEvdXRpbHMuaDoKCSogZXh0L2xpYm1uZy9nc3RtbmdkZWMuaDoKCSogZXh0L2xpYm1uZy9nc3RtbmdlbmMuYzoKCSogZXh0L2xpYm1uZy9nc3RtbmdlbmMuaDoKCSogZXh0L2xpYnBuZy9nc3RwbmdlbmMuYzoKCSogZXh0L2xpYnBuZy9nc3RwbmdlbmMuaDoKCSogZXh0L3Nob3V0Mi9nc3RzaG91dDIuaDoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmg6CgkqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuaDoKCSogZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zaW5rLmg6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NpbmsuaDoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5oOgoJKiBnc3QvY3V0dGVyL2dzdGN1dHRlci5oOgoJKiBnc3QvZGVidWcvdGVzdHMuYzoKCSogZ3N0L2RlYnVnL3Rlc3RzLmg6CgkqIGdzdC9lZmZlY3R2L2dzdHdhcnAuYzoKCSogZ3N0L2ZseC9mbHhfZm10Lmg6CgkqIGdzdC9mbHgvZ3N0Zmx4ZGVjLmg6CgkqIGdzdC9nb29tL2ZpbHRlcnMuYzoKCSogZ3N0L2dvb20vZmlsdGVycy5oOgoJKiBnc3QvZ29vbS9nb29tX3Rvb2xzLmg6CgkqIGdzdC9sYXcvYWxhdy1lbmNvZGUuYzoKCSogZ3N0L2xldmVsL2dzdGxldmVsLmM6CgkqIGdzdC9sZXZlbC9nc3RsZXZlbC5oOgoJKiBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS5oOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguaDoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5oOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4Lmg6CgkqIGdzdC9tb25vc2NvcGUvY29udm9sdmUuYzoKCSogZ3N0L21vbm9zY29wZS9jb252b2x2ZS5oOgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydG11eC5jOgoJKiBnc3Qvb2xkY29yZS9nc3RhZ2dyZWdhdG9yLmM6CgkqIGdzdC9vbGRjb3JlL2dzdGFnZ3JlZ2F0b3IuaDoKCSogZ3N0L29sZGNvcmUvZ3N0bWQ1c2luay5jOgoJKiBnc3Qvb2xkY29yZS9nc3RtZDVzaW5rLmg6CgkqIGdzdC9vbGRjb3JlL2dzdG11bHRpZmlsZXNyYy5jOgoJKiBnc3Qvb2xkY29yZS9nc3RtdWx0aWZpbGVzcmMuaDoKCSogZ3N0L29sZGNvcmUvZ3N0cGlwZWZpbHRlci5oOgoJKiBnc3Qvb2xkY29yZS9nc3RzaGFwZXIuaDoKCSogZ3N0L3J0cC9nc3RydHBMMTZkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cEwxNnBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuaDoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkqIGdzdC9ydHNwL3J0c3Bjb25uZWN0aW9uLmg6CgkqIGdzdC9ydHNwL3J0c3BkZWZzLmg6CgkqIGdzdC9ydHNwL3J0c3BtZXNzYWdlLmg6CgkqIGdzdC9ydHNwL3J0c3B0cmFuc3BvcnQuaDoKCSogZ3N0L3J0c3AvcnRzcHVybC5jOgoJKiBnc3QvcnRzcC9ydHNwdXJsLmg6CgkqIGdzdC9ydHNwL3NkcG1lc3NhZ2UuYzoKCSogZ3N0L3J0c3Avc2RwbWVzc2FnZS5oOgoJKiBnc3Qvc21wdGUvYmFyYm94d2lwZXMuYzoKCSogZ3N0L3NtcHRlL2dzdG1hc2suaDoKCSogZ3N0L3NtcHRlL2dzdHNtcHRlLmg6CgkqIGdzdC9zbXB0ZS9wYWludC5jOgoJKiBnc3Qvc21wdGUvcGFpbnQuaDoKCSogZ3N0L3VkcC9nc3RkeW51ZHBzaW5rLmg6CgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmg6CgkqIGdzdC91ZHAvZ3N0dWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdHVkcHNpbmsuaDoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJKiBnc3Qvd2F2ZW5jL3JpZmYuaDoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmg6CgkqIHN5cy9vc3MvZ3N0b3NzZG1hYnVmZmVyLmg6CgkqIHN5cy9vc3MvZ3N0b3NzbWl4ZXIuaDoKCSogc3lzL29zcy9nc3Rvc3NtaXhlcmVsZW1lbnQuaDoKCSogc3lzL29zcy9nc3Rvc3NtaXhlcnRyYWNrLmg6CgkqIHN5cy9vc3MvZ3N0b3Nzc2luay5jOgoJKiBzeXMvb3NzL2dzdG9zc3NpbmsuaDoKCSogc3lzL29zcy9nc3Rvc3NzcmMuYzoKCSogc3lzL29zcy9nc3Rvc3NzcmMuaDoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvZWxlbWVudC5oOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zaW5rLmg6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NyYy5oOgoJICBleHBhbmQgdGFicwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZXhwYW5kIHRhYnMKCjIwMDUtMTItMDUgMTg6MTI6MDcgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogY29uZmlndXJlLmFjOgoJICBiYWNrIHRvIEhFQUQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGJhY2sgdG8gSEVBRAoKPT09IHJlbGVhc2UgMC4xMC4wID09PQoKMjAwNS0xMi0wNSAxODowMzoyMyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9mbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSAgcmVsZWFzaW5nIDAuMTAuMAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmVsZWFzaW5nIDAuMTAuMAoKMjAwNS0xMi0wNSAxODowMTo0OCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXRkZW11eC54bWw6CgkgIHJlbGVhc2luZyAwLjEwLjAKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHJlbGVhc2luZyAwLjEwLjAKCjIwMDUtMTItMDUgMTY6MjE6MDggKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDA1LTEyLTA1IDE1OjA4OjQ2ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIE1ha2VmaWxlLmFtOgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2NzLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vaXQucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJICB1cGRhdGUgdHJhbnNsYXRpb25zCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB1cGRhdGUgdHJhbnNsYXRpb25zCgoyMDA1LTEyLTA1IDEzOjA0OjIyICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJICBVcGRhdGUgZm9yIGFsbG9jX2J1ZmZlciBjaGFuZ2VzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMi0wNSAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBleHQvZmFhYy9nc3RmYWFjLmM6IChnc3RfZmFhY19zaW5rX2V2ZW50KSwgKGdzdF9mYWFjX2NoYWluKToKCSAgKiBleHQvZmFhZC9nc3RmYWFkLmM6IChnc3RfZmFhZF9jaGFpbik6CgkgICogZXh0L2hlcm1lcy9nc3RoZXJtZXNjb2xvcnNwYWNlLmM6IChnc3RfaGVybWVzX2NvbG9yc3BhY2VfY2hhaW4pOgoJICAqIGV4dC9sY3MvZ3N0Y29sb3JzcGFjZS5jOiAoZ3N0X2NvbG9yc3BhY2VfY2hhaW4pOgoJICAqIGV4dC94aW5lL3hpbmVpbnB1dC5jOiAoZ3N0X3hpbmVfaW5wdXRfZ2V0KToKCSAgKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlLmM6IChnc3RfY29sb3JzcGFjZV9jaGFpbik6CgkgICogZ3N0L3NwZWVkL2dzdHNwZWVkLmM6IChzcGVlZF9jaGFpbik6CgkgICogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuYzogKGdzdF92aWRlb19jcm9wX2NoYWluKTogVXBkYXRlIGZvcgoJICBhbGxvY19idWZmZXIgY2hhbmdlcy4KCjIwMDUtMTItMDUgMTM6MDM6MDAgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkgIFVwZGF0ZSBmb3IgYWxsb2NfYnVmZmVyIGNoYW5nZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTEyLTA1ICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIGV4dC9kdi9nc3RkdmRlYy5jOiAoZ3N0X2R2ZGVjX2NoYWluKToKCSAgKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6IChnc3RfZmxhY2RlY193cml0ZSk6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOiAoZ3N0X2ZsYWNlbmNfd3JpdGVfY2FsbGJhY2spOgoJICAqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zi5jOiAoZ3N0X2dka19waXhidWZfY2hhaW4pOgoJICAqIGV4dC9nZGtfcGl4YnVmL3BpeGJ1ZnNjYWxlLmM6IChnc3RfcGl4YnVmc2NhbGVfY2hhaW4pOgoJICAqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzogKGdzdF9qcGVnX2RlY19jaGFpbik6CgkgICogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOiAoZ3N0X2pwZWdlbmNfY2hhaW4pOgoJICAqIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmM6IChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9wcm9jZXNzKToKCSAgKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOiAodXNlcl9pbmZvX2NhbGxiYWNrKSwgKGdzdF9wbmdkZWNfdGFzayk6CgkgICogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6IChzcGVleF9kZWNfY2hhaW4pOgoJICAqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOiAoZ3N0X3NwZWV4ZW5jX2NoYWluKToKCSAgKiBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLmM6IChnc3RfYXVwYXJzZV9jaGFpbik6CgkgICogZ3N0L2ZseC9nc3RmbHhkZWMuYzogKGdzdF9mbHhkZWNfY2hhaW4pOgoJICAqIGdzdC9nb29tL2dzdGdvb20uYzogKGdzdF9nb29tX2NoYWluKToKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wdXNoX3ZvcmJpc19jb2RlY19wcml2X2RhdGEpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2FkZF93dnBrX2hlYWRlcik6CgkgICogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOiAoZ3N0X211bHRpcGFydF9kZW11eF9jaGFpbik6CgkgICogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRtdXguYzogKGdzdF9tdWx0aXBhcnRfbXV4X2NvbGxlY3RlZCk6CgkgICogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOiAoZ3N0X3ZpZGVvbWl4ZXJfY29sbGVjdGVkKToKCSAgKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5jOiAoZ3N0X3dhdmVuY19jaGFpbik6IFVwZGF0ZSBmb3IKCSAgYWxsb2NfYnVmZmVyIGNoYW5nZXMuCgoyMDA1LTEyLTA1IDEyOjIzOjIyICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6IFJlbW92ZSBhcmdzIGZvciBwbHVnaW5zIHRoYXQgYXJlbid0IGluIC1nb29kLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkgIFJlbW92ZSBhcmdzIGZvciBwbHVnaW5zIHRoYXQgYXJlbid0IGluIC1nb29kLgoKMjAwNS0xMi0wNCAyMjoyNjowNyArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZ3N0LXBsdWdpbnMtZ29vZC5zcGVjLmluOgoJICByZW1vdmUgcGFuZ28gcGx1Z2luIGFzIGl0cyBnb25lIGludG8gYmFzZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmVtb3ZlIHBhbmdvIHBsdWdpbiBhcyBpdHMgZ29uZSBpbnRvIGJhc2UKCjIwMDUtMTItMDMgMTg6NTE6NDggKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZ3N0L3J0cC9nc3RydHBMMTZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzExcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhwYXkuYzoKCSAgZml4IGVsZW1lbnQgZGVzY3JpcHRpb25zCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBmaXggZWxlbWVudCBkZXNjcmlwdGlvbnMKCjIwMDUtMTItMDMgMTg6NTA6MTIgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZkc3JjLnhtbDoKCSAgcmVtb3ZlIGZkc3JjIGRvY3MKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHJlbW92ZSBmZHNyYyBkb2NzCgoyMDA1LTEyLTAxIDE5OjE4OjA4ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgYmFjayB0byBIRUFECgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBiYWNrIHRvIEhFQUQKCj09PSByZWxlYXNlIDAuOS43ID09PQoKMjAwNS0xMi0wMSAxOToxNDoyNiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJICByZWxlYXNpbmcgMC45LjcKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHJlbGVhc2luZyAwLjkuNwoKMjAwNS0xMi0wMSAxOToxMzoyMCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXRkZW11eC54bWw6CgkgIHJlbGVhc2luZyAwLjkuNwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmVsZWFzaW5nIDAuOS43CgoyMDA1LTEyLTAxIDE3OjUzOjI5ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGNvbW1vbjoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDA1LTEyLTAxIDE1OjM0OjEzICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIENoYW5nZUxvZzoKCSogZG9jcy9wbHVnaW5zLy5naXRpZ25vcmU6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkgIGFkZCBtdWx0aXBhcnQgcGx1Z2luIHRvIGRvY3MKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGFkZCBtdWx0aXBhcnQgcGx1Z2luIHRvIGRvY3MKCjIwMDUtMTItMDEgMTU6MjI6MjUgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L3BhbmdvL01ha2VmaWxlLmFtOgoJKiBleHQvcGFuZ28vZ3N0Y2xvY2tvdmVybGF5LmM6CgkqIGV4dC9wYW5nby9nc3RjbG9ja292ZXJsYXkuaDoKCSogZXh0L3BhbmdvL2dzdHRleHRvdmVybGF5LmM6CgkqIGV4dC9wYW5nby9nc3R0ZXh0b3ZlcmxheS5oOgoJKiBleHQvcGFuZ28vZ3N0dGV4dHJlbmRlci5jOgoJKiBleHQvcGFuZ28vZ3N0dGV4dHJlbmRlci5oOgoJKiBleHQvcGFuZ28vZ3N0dGltZW92ZXJsYXkuYzoKCSogZXh0L3BhbmdvL2dzdHRpbWVvdmVybGF5Lmg6CgkgIG1vdmUgcGFuZ28gdG8gYmFzZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgbW92ZSBwYW5nbyB0byBiYXNlCgoyMDA1LTEyLTAxIDE0OjM5OjMwICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGdzdC9ydHAvOiBwYXJzZXJzIGFyZSBkZXBheWVycwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9ydHAvZ3N0cnRwTDE2ZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cEwxNmRlcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBMMTZwYXJzZS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwTDE2cGFyc2UuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cGdzbWRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBnc21kZXBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwZ3NtcGFyc2UuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGdzbXBhcnNlLmg6CgkgIHBhcnNlcnMgYXJlIGRlcGF5ZXJzCgoyMDA1LTEyLTAxIDE0OjMwOjAxICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIENoYW5nZUxvZzoKCSogY29tbW9uOgoJKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwL2dzdGFzdGVyaXNraDI2My5jOgoJKiBnc3QvcnRwL2dzdHJ0cC5jOgoJKiBnc3QvcnRwL2dzdHJ0cEwxNmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwTDE2ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBMMTZlbmMuYzoKCSogZ3N0L3J0cC9nc3RydHBMMTZlbmMuaDoKCSogZ3N0L3J0cC9nc3RydHBMMTZwYXJzZS5jOgoJKiBnc3QvcnRwL2dzdHJ0cEwxNnBhcnNlLmg6CgkqIGdzdC9ydHAvZ3N0cnRwTDE2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwTDE2cGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwYW1yZGVjLmM6CgkqIGdzdC9ydHAvZ3N0cnRwYW1yZGVjLmg6CgkqIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcmVuYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcmVuYy5oOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcnBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGRlYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cGRlYy5oOgoJKiBnc3QvcnRwL2dzdHJ0cGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBnNzExZGVjLmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcxMWRlYy5oOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MTFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MTFkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MTFlbmMuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzExZW5jLmg6CgkqIGdzdC9ydHAvZ3N0cnRwZzcxMXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MTFwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBnc21kZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbWRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtZW5jLmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtZW5jLmg6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtcGFyc2UuYzoKCSogZ3N0L3J0cC9nc3RydHBnc21wYXJzZS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNlbmMuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzZW5jLmg6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGRlYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwZGVjLmg6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGVuYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwZW5jLmg6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcHBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZkZWMuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDR2ZGVjLmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dmRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dmVuYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZlbmMuaDoKCSogZ3N0L3J0cC9nc3RydHBtcDR2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYWRlYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYWRlYy5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcGFlbmMuYzoKCSogZ3N0L3J0cC9nc3RydHBtcGFlbmMuaDoKCSogZ3N0L3J0cC9nc3RydHBtcGFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcGFwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBzcGVleGRlYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4ZGVjLmg6CgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBzcGVleGVuYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4ZW5jLmg6CgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzcGVleHBheS5oOgoJICBEbyBidXJnZXIncyByZW5hbWUgZm9yIHJ0cCBwYXlsb2FkZXJzIGFuZCBkZXBheWxvYWRlcnMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIERvIGJ1cmdlcidzIHJlbmFtZSBmb3IgcnRwIHBheWxvYWRlcnMgYW5kIGRlcGF5bG9hZGVycwoKMjAwNS0xMS0zMCAxOTowMjozNSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9kdi86IEZpeCBzZWVraW5nIGluIGR2ZGVtdXggYWdhaW4sIGFkZCBzb21lIG1vcmUgZGVidWcgaW5mby4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2R2L2dzdGR2ZGVjLmM6IChnc3RfZHZkZWNfY2hhaW4pOgoJICAqIGV4dC9kdi9nc3RkdmRlbXV4LmM6IChnc3RfZHZkZW11eF9kZW11eF9mcmFtZSk6CgkgICogZXh0L2R2L2dzdGR2ZGVtdXguaDoKCSAgRml4IHNlZWtpbmcgaW4gZHZkZW11eCBhZ2FpbiwgYWRkIHNvbWUgbW9yZSBkZWJ1ZyBpbmZvLgoKMjAwNS0xMS0zMCAxODo0ODo1NiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbmZpZ3VyZS5hYzoKCSAgZml4IHRlc3RzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBmaXggdGVzdHMKCjIwMDUtMTEtMzAgMTg6NDA6MTkgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogTWFrZWZpbGUuYW06CgkgIGFkZCB0ZXN0cyBzdWJkaXIKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGFkZCB0ZXN0cyBzdWJkaXIKCjIwMDUtMTEtMzAgMTg6MzY6MDIgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIGFkZCBNYWtlZmlsZS5hbQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYWRkIE1ha2VmaWxlLmFtCgoyMDA1LTExLTMwIDE4OjI4OjUzICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIG1vdmUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogUE9SVEVEXzA5OgoJICAqIGRvY3MvcmFuZG9tL1BPUlRFRF8wOToKCSAgbW92ZQoJICAqIHRlc3RzL01ha2VmaWxlLmFtOgoJICBhZGQKCSAgKiB3aW4zMi9nc3Quc2xuOgoJICByZW1vdmUKCjIwMDUtMTEtMzAgMTg6MjQ6MDggKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBNYWtlZmlsZS5hbToKCSogY2hlY2svLmdpdGlnbm9yZToKCSogY2hlY2svTWFrZWZpbGUuYW06CgkqIGNoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkqIGNoZWNrL2VsZW1lbnRzL2xldmVsLmM6CgkqIGNoZWNrL2VsZW1lbnRzL21hdHJvc2thbXV4LmM6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZXhhbXBsZXMvTWFrZWZpbGUuYW06CgkqIGV4YW1wbGVzL2NhcHNmaWx0ZXIvTWFrZWZpbGUuYW06CgkqIGV4YW1wbGVzL2NhcHNmaWx0ZXIvY2Fwc2ZpbHRlcjEuYzoKCSogZXhhbXBsZXMvZ29iL01ha2VmaWxlLmFtOgoJKiBleGFtcGxlcy9nb2IvZ3N0LWlkZW50aXR5Mi5nb2I6CgkqIGV4YW1wbGVzL2dzdHBsYXkvLmdpdGlnbm9yZToKCSogZXhhbXBsZXMvZ3N0cGxheS9NYWtlZmlsZS5hbToKCSogZXhhbXBsZXMvZ3N0cGxheS9wbGF5ZXIuYzoKCSogZXhhbXBsZXMvaW5kZXhpbmcvLmdpdGlnbm9yZToKCSogZXhhbXBsZXMvaW5kZXhpbmcvTWFrZWZpbGUuYW06CgkqIGV4YW1wbGVzL2luZGV4aW5nL2luZGV4bXBlZy5jOgoJKiBleGFtcGxlcy9sZXZlbC9NYWtlZmlsZS5hbToKCSogZXhhbXBsZXMvbGV2ZWwvUkVBRE1FOgoJKiBleGFtcGxlcy9sZXZlbC9kZW1vLmM6CgkqIGV4YW1wbGVzL2xldmVsL3Bsb3QuYzoKCSogZXhhbXBsZXMvc3RhdHMvTWFrZWZpbGUuYW06CgkqIGV4YW1wbGVzL3N0YXRzL21wMm9nZy5jOgoJKiBleGFtcGxlcy9zd2l0Y2gvLmdpdGlnbm9yZToKCSogZXhhbXBsZXMvc3dpdGNoL01ha2VmaWxlLmFtOgoJKiBleGFtcGxlcy9zd2l0Y2gvc3dpdGNoZXIuYzoKCSAgbW92ZSB1bmRlciB0ZXN0cwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgbW92ZSB1bmRlciB0ZXN0cwoKMjAwNS0xMS0zMCAxNjo1Nzo1NyArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogY29tbW9uOgoJKiBnc3QtcGx1Z2lucy1nb29kLnNwZWMuaW46CgkgIHVwZGF0ZSBmb3IgbGF0ZXN0IGNoYW5nZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHVwZGF0ZSBmb3IgbGF0ZXN0IGNoYW5nZXMKCjIwMDUtMTEtMzAgMTQ6NTM6MjkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvcGFuZ28vZ3N0dGV4dHJlbmRlci4qOiBBZGQgbWlzc2luZyBmaWxlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3BhbmdvL2dzdHRleHRyZW5kZXIuYzogKGdzdF90ZXh0X3JlbmRlcl9iYXNlX2luaXQpLAoJICAoZ3N0X3RleHRfcmVuZGVyX2NsYXNzX2luaXQpLCAocmVzaXplX2JpdG1hcCksCgkgIChnc3RfdGV4dF9yZW5kZXJfcmVuZGVyX3RleHQpLCAoZ3N0X3RleHRfcmVuZGVyX3NldGNhcHMpLAoJICAoZ3N0X3RleHRfcmVuZGVyX2ZpeGF0ZV9jYXBzKSwgKGdzdF90ZXh0X3JlbmRlcmVyX2JpdG1hcF90b19heXV2KSwKCSAgKGdzdF90ZXh0X3JlbmRlcl9jaGFpbiksIChnc3RfdGV4dF9yZW5kZXJfZmluYWxpemUpLAoJICAoZ3N0X3RleHRfcmVuZGVyX2luaXQpLCAoZ3N0X3RleHRfcmVuZGVyX3NldF9wcm9wZXJ0eSk6CgkgICogZXh0L3BhbmdvL2dzdHRleHRyZW5kZXIuaDoKCSAgQWRkIG1pc3NpbmcgZmlsZXMuCgoyMDA1LTExLTMwIDEzOjIwOjU3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgUG9ydCBwYW5nby1iYXNlZCB0ZXh0b3ZlcmxheSwgdGltZW92ZXJsYXkgYW5kIHRleHRyZW5kZXIgdG8gMC45IGFuZCBhZGQgYmFja2dyb3VuZCBzaGFkaW5nIGFuZCB0ZXh0IHdyYXBwaW5nIG1vZGVzLiBNLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvTWFrZWZpbGUuYW06CgkgICogZXh0L3BhbmdvL01ha2VmaWxlLmFtOgoJICAqIGV4dC9wYW5nby9nc3RjbG9ja292ZXJsYXkuYzogKGdzdF9jbG9ja19vdmVybGF5X2Jhc2VfaW5pdCksCgkgIChnc3RfY2xvY2tfb3ZlcmxheV9yZW5kZXJfdGltZSksIChnc3RfY2xvY2tfb3ZlcmxheV9nZXRfdGV4dCksCgkgIChnc3RfY2xvY2tfb3ZlcmxheV9jbGFzc19pbml0KSwgKGdzdF9jbG9ja19vdmVybGF5X2luaXQpOgoJICAqIGV4dC9wYW5nby9nc3RjbG9ja292ZXJsYXkuaDoKCSAgKiBleHQvcGFuZ28vZ3N0dGV4dG92ZXJsYXkuYzogKGdzdF90ZXh0X292ZXJsYXlfYmFzZV9pbml0KSwKCSAgKGdzdF90ZXh0X292ZXJsYXlfZ2V0X3RleHQpLCAoZ3N0X3RleHRfb3ZlcmxheV9jbGFzc19pbml0KSwKCSAgKGdzdF90ZXh0X292ZXJsYXlfZmluYWxpemUpLCAoZ3N0X3RleHRfb3ZlcmxheV9pbml0KSwKCSAgKGdzdF90ZXh0X292ZXJsYXlfdXBkYXRlX3dyYXBfbW9kZSksIChnc3RfdGV4dF9vdmVybGF5X3NldGNhcHMpLAoJICAoZ3N0X3RleHRfb3ZlcmxheV90ZXh0X3BhZF9saW5rZWQpLAoJICAoZ3N0X3RleHRfb3ZlcmxheV90ZXh0X3BhZF91bmxpbmtlZCksCgkgIChnc3RfdGV4dF9vdmVybGF5X3NldF9wcm9wZXJ0eSksIChnc3RfdGV4dF9vdmVybGF5X2dldGNhcHMpLAoJICAoZ3N0X3RleHRfb3ZlcmxheV9zaGFkZV95KSwgKGdzdF90ZXh0X292ZXJsYXlfYmxpdF95dXY0MjApLAoJICAoZ3N0X3RleHRfb3ZlcmxheV9yZXNpemVfYml0bWFwKSwgKGdzdF90ZXh0X292ZXJsYXlfcmVuZGVyX3RleHQpLAoJICAoZ3N0X3RleHRfb3ZlcmxheV9wdXNoX2ZyYW1lKSwgKGdzdF90ZXh0X292ZXJsYXlfcG9wX3ZpZGVvKSwKCSAgKGdzdF90ZXh0X292ZXJsYXlfcG9wX3RleHQpLCAoZ3N0X3RleHRfb3ZlcmxheV9jb2xsZWN0ZWQpLAoJICAoZ3N0X3RleHRfb3ZlcmxheV9jaGFuZ2Vfc3RhdGUpLCAocGx1Z2luX2luaXQpOgoJICAqIGV4dC9wYW5nby9nc3R0ZXh0b3ZlcmxheS5oOgoJICAqIGV4dC9wYW5nby9nc3R0aW1lb3ZlcmxheS5jOiAoZ3N0X3RpbWVfb3ZlcmxheV9iYXNlX2luaXQpLAoJICAoZ3N0X3RpbWVfb3ZlcmxheV9yZW5kZXJfdGltZSksIChnc3RfdGltZV9vdmVybGF5X2dldF90ZXh0KSwKCSAgKGdzdF90aW1lX292ZXJsYXlfY2xhc3NfaW5pdCksIChnc3RfdGltZV9vdmVybGF5X2luaXQpOgoJICAqIGV4dC9wYW5nby9nc3R0aW1lb3ZlcmxheS5oOgoJICBQb3J0IHBhbmdvLWJhc2VkIHRleHRvdmVybGF5LCB0aW1lb3ZlcmxheSBhbmQgdGV4dHJlbmRlciB0byAwLjkKCSAgYW5kIGFkZCBiYWNrZ3JvdW5kIHNoYWRpbmcgYW5kIHRleHQgd3JhcHBpbmcgbW9kZXMuIE1ha2UKCSAgdGltb3ZlcmxheSBkZXJpdmUgZnJvbSB0ZXh0b3ZlcmxheS4gQWxzbyBhZGQgbmV3IGNsb2Nrb3ZlcmxheQoJICBlbGVtZW50LgoKMjAwNS0xMS0zMCAxMToxMDowMSArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBnc3QvdWRwL01ha2VmaWxlLmFtOiBNb3ZlZCB0byBuZXRidWZmZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTExLTMwICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZ3N0L3VkcC9NYWtlZmlsZS5hbTogTW92ZWQgdG8gbmV0YnVmZmVyLgoKMjAwNS0xMS0zMCAxMDoxODo0MiArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBQb3J0ZWQgbXVsdGlwYXJ0IG11eC9kZW11eCB0byAwLjkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTExLTMwICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogY29uZmlndXJlLmFjOgoJICAqIFBPUlRFRF9POToKCSAgKiBnc3QvbXVsdGlwYXJ0L01ha2VmaWxlLmFtOgoJICAqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzoKCSAgKGdzdF9tdWx0aXBhcnRfZGVtdXhfYmFzZV9pbml0KSwKCSAgKGdzdF9tdWx0aXBhcnRfZGVtdXhfY2xhc3NfaW5pdCksIChnc3RfbXVsdGlwYXJ0X2RlbXV4X2luaXQpLAoJICAoZ3N0X211bHRpcGFydF9maW5kX3BhZF9ieV9taW1lKSwgKGdzdF9tdWx0aXBhcnRfZGVtdXhfY2hhaW4pLAoJICAoZ3N0X211bHRpcGFydF9kZW11eF9jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X211bHRpcGFydF9kZW11eF9wbHVnaW5faW5pdCk6CgkgICogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRtdXguYzogKGdzdF9tdWx0aXBhcnRfbXV4X2NsYXNzX2luaXQpLAoJICAoZ3N0X211bHRpcGFydF9tdXhfaW5pdCksIChnc3RfbXVsdGlwYXJ0X211eF9maW5hbGl6ZSksCgkgIChnc3RfbXVsdGlwYXJ0X211eF9zaW5rY29ubmVjdCksCgkgIChnc3RfbXVsdGlwYXJ0X211eF9yZXF1ZXN0X25ld19wYWQpLAoJICAoZ3N0X211bHRpcGFydF9tdXhfaGFuZGxlX3NyY19ldmVudCksCgkgIChnc3RfbXVsdGlwYXJ0X211eF9xdWV1ZV9wYWRzKSwgKGdzdF9tdWx0aXBhcnRfbXV4X2NvbGxlY3RlZCksCgkgIChnc3RfbXVsdGlwYXJ0X211eF9jaGFuZ2Vfc3RhdGUpOiBQb3J0ZWQgbXVsdGlwYXJ0IG11eC9kZW11eCB0bwoJICAwLjkuCgoyMDA1LTExLTMwIDA4OjI2OjQ3ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGdzdC86IHVwZGF0ZSBmb3Igc3ltYm9scyBjaGFuZ2UKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlYnVnL2dzdG5hdmlnYXRpb250ZXN0LmM6IChnc3RfbmF2aWdhdGlvbnRlc3RfZ2V0X3R5cGUpOgoJICAqIGdzdC9kZWJ1Zy9nc3RuYXZpZ2F0aW9udGVzdC5oOgoJICAqIGdzdC9lZmZlY3R2L2dzdGFnaW5nLmM6IChnc3RfYWdpbmd0dl9nZXRfdHlwZSk6CgkgICogZ3N0L2VmZmVjdHYvZ3N0ZGljZS5jOiAoZ3N0X2RpY2V0dl9nZXRfdHlwZSk6CgkgICogZ3N0L2VmZmVjdHYvZ3N0ZWRnZS5jOiAoZ3N0X2VkZ2V0dl9nZXRfdHlwZSk6CgkgICogZ3N0L2VmZmVjdHYvZ3N0cXVhcmsuYzogKGdzdF9xdWFya3R2X2dldF90eXBlKToKCSAgKiBnc3QvZWZmZWN0di9nc3RyZXYuYzogKGdzdF9yZXZ0dl9nZXRfdHlwZSk6CgkgICogZ3N0L2VmZmVjdHYvZ3N0c2hhZ2FkZWxpYy5jOiAoZ3N0X3NoYWdhZGVsaWN0dl9nZXRfdHlwZSk6CgkgICogZ3N0L2VmZmVjdHYvZ3N0dmVydGlnby5jOiAoZ3N0X3ZlcnRpZ290dl9nZXRfdHlwZSk6CgkgICogZ3N0L2VmZmVjdHYvZ3N0d2FycC5jOiAoZ3N0X3dhcnB0dl9nZXRfdHlwZSk6CgkgICogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmxpcC5jOiAoZ3N0X3ZpZGVvX2ZsaXBfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF92aWRlb19mbGlwX2dldF90eXBlKToKCSAgKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9mbGlwLmg6CgkgIHVwZGF0ZSBmb3Igc3ltYm9scyBjaGFuZ2UKCjIwMDUtMTEtMjkgMTc6NDY6MDQgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgZ3N0L3VkcC86IHRoZSBvbGQgZ3N0bmV0IGxpYiB3YXMgcmVuYW1lZCBnc3RuZXRidWZmZXIgKCMzMjIyNTcpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC91ZHAvZ3N0ZHludWRwc2luay5jOgoJICAqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIHRoZSBvbGQgZ3N0bmV0IGxpYiB3YXMgcmVuYW1lZCBnc3RuZXRidWZmZXIgKCMzMjIyNTcpCgoyMDA1LTExLTI5IDE1OjQyOjAxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2NhaXJvL2dzdHRleHRvdmVybGF5LmM6IEFjdHVhbGx5IHJlbmRlciB0aGUgdGV4dCBmcm9tIHRoZSB0ZXh0IHBhZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2NhaXJvL2dzdHRleHRvdmVybGF5LmM6IChnc3RfdGV4dF9vdmVybGF5X3JlbmRlcl90ZXh0KSwKCSAgKGdzdF90ZXh0X292ZXJsYXlfY29sbGVjdGVkKToKCSAgQWN0dWFsbHkgcmVuZGVyIHRoZSB0ZXh0IGZyb20gdGhlIHRleHQgcGFkLgoKMjAwNS0xMS0yOSAxNDo0OTowMCArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9kZWJ1Zy86IFVwZGF0ZSBmb3IgR3N0QmFzZVRyYW5zZm9ybSBldmVudCB2aXJ0dWFsIG1ldGhvZAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVidWcvZ3N0bmF2c2Vlay5jOiAoZ3N0X25hdnNlZWtfZXZlbnQpOgoJICAqIGdzdC9kZWJ1Zy9wcm9ncmVzc3JlcG9ydC5jOiAoZ3N0X3Byb2dyZXNzX3JlcG9ydF9ldmVudCk6CgkgIFVwZGF0ZSBmb3IgR3N0QmFzZVRyYW5zZm9ybSBldmVudCB2aXJ0dWFsIG1ldGhvZAoKMjAwNS0xMS0yOSAxMDo1NTowOSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBleHQvY2Fpcm8vTWFrZWZpbGUuYW06IG5vIG5lZWQgdG8gbGluayB0byB2aWRlb2ZpbHRlcgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMS0yOSAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSAgPHRob21hcyBhdCBhcGVzdGFhcnQgZG90IG9yZz4KCSAgKiBleHQvY2Fpcm8vTWFrZWZpbGUuYW06CgkgIG5vIG5lZWQgdG8gbGluayB0byB2aWRlb2ZpbHRlcgoKMjAwNS0xMS0yOSAxMDo0NjowMCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIGdzdC9kZWJ1Zy9NYWtlZmlsZS5hbToKCSogZ3N0L2RlYnVnL2dzdG5hdmlnYXRpb250ZXN0Lmg6CgkqIGdzdC9lZmZlY3R2L01ha2VmaWxlLmFtOgoJKiBnc3QvZWZmZWN0di9nc3RhZ2luZy5jOgoJKiBnc3QvZWZmZWN0di9nc3RkaWNlLmM6CgkqIGdzdC9lZmZlY3R2L2dzdGVkZ2UuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0cXVhcmsuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0cmV2LmM6CgkqIGdzdC9lZmZlY3R2L2dzdHNoYWdhZGVsaWMuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0dmVydGlnby5jOgoJKiBnc3QvZWZmZWN0di9nc3R3YXJwLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmlsdGVyLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZpbHRlci5oOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9mbGlwLmg6CgkgIHJlbW92ZSB0aGUgdmlkZW9maWx0ZXIgbGlicmFyeSBhbmQgbGluayB0byB0aGUgb25lIGluIGJhc2UKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHJlbW92ZSB0aGUgdmlkZW9maWx0ZXIgbGlicmFyeSBhbmQgbGluayB0byB0aGUgb25lIGluIGJhc2UKCjIwMDUtMTEtMjkgMDE6MzA6NDAgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogY29tbW9uOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9mbGlwLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZsaXAuaDoKCSAgYm9yZ2lmeQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYm9yZ2lmeQoKMjAwNS0xMS0yOCAxNzozMTo0NCArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogVXNlbGVzcyBjaGVjayBub3cgd2UncmUgc2V0dGluZyB0aGUgY3VycmVudCBlbnRyeSBjb3JyZWN0bHkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfcHJvY2Vzc19uZXh0X2VudHJ5KToKCSAgVXNlbGVzcyBjaGVjayBub3cgd2UncmUgc2V0dGluZyB0aGUgY3VycmVudCBlbnRyeSBjb3JyZWN0bHkuCgoyMDA1LTExLTI4IDE2OjU0OjAzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOiBEb24ndCBsZWFrIGlucHV0IGJ1ZmZlciBpbiBjaGFpbiBmdW5jdGlvbiAoZml4ZXMgIzMyMjY2Nyk7IG1ha2Ugc3RhdGUgY2hhbmdlIGZ1bmN0aW9uIHRocmVhZC1zLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzogKGdzdF9qcGVnZW5jX3Jlc3luYyksIChnc3RfanBlZ2VuY19jaGFpbiksCgkgIChnc3RfanBlZ2VuY19zZXRfcHJvcGVydHkpLCAoZ3N0X2pwZWdlbmNfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9qcGVnZW5jX2NoYW5nZV9zdGF0ZSk6CgkgIERvbid0IGxlYWsgaW5wdXQgYnVmZmVyIGluIGNoYWluIGZ1bmN0aW9uIChmaXhlcyAjMzIyNjY3KTsgbWFrZQoJICBzdGF0ZSBjaGFuZ2UgZnVuY3Rpb24gdGhyZWFkLXNhZmU7IGRvbid0IHJlcGVhdCB0aGUgY3VycmVudCBmdW5jdGlvbgoJICBuYW1lIGluIEdTVF9ERUJVRyBzdGF0ZW1lbnRzOyB1c2UgR1NUX1JPVU5EX1VQXyogbWFjcm9zOyB1c2UKCSAgZ3N0X3BhZF9hbGxvY19idWZmZXIoKTsgbWlzYy4gbWlub3IgY2xlYW51cHMuCgoyMDA1LTExLTI4IDE1OjQzOjI5ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZXh0L2ZhYWQvZ3N0ZmFhZC5jOiBIYW5kbGUgZ3JhY2VmdWxseSB0aGUgY29uc2VxdWVuY2Ugb2YgIk1heGltdW0gbnVtYmVyIG9mIHNjYWxlZmFjdG9yIGJhbmRzIGV4Y2VlZGVkIiwgd2hpY2ggcmVzdWx0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mYWFkL2dzdGZhYWQuYzogKGdzdF9mYWFkX3NyY2dldGNhcHMpOgoJICBIYW5kbGUgZ3JhY2VmdWxseSB0aGUgY29uc2VxdWVuY2Ugb2YgIk1heGltdW0gbnVtYmVyIG9mIHNjYWxlZmFjdG9yCgkgIGJhbmRzIGV4Y2VlZGVkIiwgd2hpY2ggcmVzdWx0cyBpbiAwIGNoYW5uZWxzIHdpdGggc2FtcGxlcmF0ZXMgb2YgMC4KCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9jaGFuZ2Vfc3RhdGUpOgoJICBEbyB1cHdhcmQgdHJhbnNpdGlvbnMsIHRoZW4gY2FsbCBwYXJlbnQgc3RhdGVfY2hhbmdlLCB0aGVuIGRvCgkgIGRvd253YXJkIHRyYW5zaXRpb25zLgoKMjAwNS0xMS0yOCAxNToxMzoyMiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6IExvb2sgZm9yIHBpeGVsLWFzcGVjdC1yYXRpbyBpbiBjYXBzLCBub3QgcGl4ZWxfd2lkdGggYW5kIHBpeGVsX2hlaWdodCAoRml4ZXM6ICMzMjI2NDUpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgKGdzdF9tYXRyb3NrYV9tdXhfdmlkZW9fcGFkX3NldGNhcHMpOgoJICBMb29rIGZvciBwaXhlbC1hc3BlY3QtcmF0aW8gaW4gY2Fwcywgbm90IHBpeGVsX3dpZHRoIGFuZAoJICBwaXhlbF9oZWlnaHQgKEZpeGVzOiAjMzIyNjQ1KQoKMjAwNS0xMS0yOCAxMjo1OTowNSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6IEZyb20gTWljaGFsIEJlbmVzOiBmcmFtZSBkdXJhdGlvbiBzaG91bGQgYmUgR1NUX1NFQ09ORCAvIGZyYW1lcmF0ZSwgbm90CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgKGdzdF9tYXRyb3NrYV9tdXhfdmlkZW9fcGFkX3NldGNhcHMpOgoJICBGcm9tIE1pY2hhbCBCZW5lczoKCSAgZnJhbWUgZHVyYXRpb24gc2hvdWxkIGJlIEdTVF9TRUNPTkQgLyBmcmFtZXJhdGUsIG5vdAoJICBHU1RfU0VDT05EICogZnJhbWVyYXRlLiAoRml4ZXM6ICMzMjI2NDMpCgoyMDA1LTExLTI3IDE3OjAyOjUzICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGNvbmZpZ3VyZS5hYzogZml4IHVwIEdTVF9QTFVHSU5fTERGTEFHUwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIGZpeCB1cCBHU1RfUExVR0lOX0xERkxBR1MKCSAgKiBnc3QvcnRzcC9ydHNwY29ubmVjdGlvbi5jOgoJICBmaXggaW5jbHVkZXMgKHNlZSAjMzE3MDQzKQoJICAqIGdzdC92aWRlb2ZpbHRlci9NYWtlZmlsZS5hbToKCSAgc3RvcCBpbnN0YWxsaW5nIHRoaXMgbGlicmFyeQoKMjAwNS0xMS0yNyAxNTozMDoyNSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkgIG5vIG5lZWQgZm9yIGFuIEFTX0xJQlRPT0wgY2FsbAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgbm8gbmVlZCBmb3IgYW4gQVNfTElCVE9PTCBjYWxsCgoyMDA1LTExLTI3IDE0OjMzOjMxICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIE1ha2VmaWxlLmFtOgoJKiBjb21tb246CgkqIGdzdC1wbHVnaW5zLWdvb2Quc3BlYy5pbjoKCSAgYWRkIEFDTE9DQUxfQU1GTEFHUzsgcmVtb3ZlIG9sZCBzdHVmZiBmcm9tIHNwZWMgY2hhbmdlbG9nCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBhZGQgQUNMT0NBTF9BTUZMQUdTOyByZW1vdmUgb2xkIHN0dWZmIGZyb20gc3BlYyBjaGFuZ2Vsb2cKCjIwMDUtMTEtMjYgMTI6NTQ6NDcgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBleHQvZHYvZ3N0ZHZkZWMuYzogSGFuZGxlIHRoZSBjYXNlIHdoZXJlIHRoZSBpbmNvbWluZyBWaWRlbyBkdiBzdHJlYW0gZG9lc24ndCBoYXZlIGEgcGl4ZWwgYXNwZWN0IHJhdGlvIHNldC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2R2L2dzdGR2ZGVjLmM6IChnc3RfZHZkZWNfc2lua19zZXRjYXBzKToKCSAgSGFuZGxlIHRoZSBjYXNlIHdoZXJlIHRoZSBpbmNvbWluZyBWaWRlbyBkdiBzdHJlYW0gZG9lc24ndCBoYXZlCgkgIGEgcGl4ZWwgYXNwZWN0IHJhdGlvIHNldC4KCjIwMDUtMTEtMjUgMjI6MTQ6NDcgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJICBkb2N1bWVudCBmbGFjZGVjCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBkb2N1bWVudCBmbGFjZGVjCgoyMDA1LTExLTI1IDIxOjM2OjE4ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIENoYW5nZUxvZzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZXh0L2NhaXJvL2dzdGNhaXJvLmM6CgkqIGV4dC9jYWlyby9nc3R0ZXh0b3ZlcmxheS5jOgoJKiBleHQvY2Fpcm8vZ3N0dGV4dG92ZXJsYXkuaDoKCSogZXh0L2NhaXJvL2dzdHRpbWVvdmVybGF5LmM6CgkqIGV4dC9jYWlyby9nc3R0aW1lb3ZlcmxheS5oOgoJICBkbyBzb21lIG5hbWUgYm9yZ2lmeWluZyBkb2N1bWVudAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZG8gc29tZSBuYW1lIGJvcmdpZnlpbmcKCSAgZG9jdW1lbnQKCjIwMDUtMTEtMjUgMjE6MDI6MTYgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgZG9jdW1lbnRpbmcgYXV0bypzaW5rIHVzaW5nIHN0cnN0ciBmb3IgdGhlIHZpZGVvIHNpbmsgbG9va3VwLCBjbGFzcyBmaWVsZCBpcyBub3Qgb3JkZXJlZCB1cGRhdGUgb3RoZXIgcGx1Z2lucwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc2luay5jOgoJICAoZ3N0X2F1dG9fYXVkaW9fc2lua19iYXNlX2luaXQpOgoJICAqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NpbmsuYzoKCSAgKGdzdF9hdXRvX3ZpZGVvX3NpbmtfYmFzZV9pbml0KSwKCSAgKGdzdF9hdXRvX3ZpZGVvX3NpbmtfZmFjdG9yeV9maWx0ZXIpOgoJICBkb2N1bWVudGluZyBhdXRvKnNpbmsKCSAgdXNpbmcgc3Ryc3RyIGZvciB0aGUgdmlkZW8gc2luayBsb29rdXAsIGNsYXNzIGZpZWxkIGlzIG5vdCBvcmRlcmVkCgkgIHVwZGF0ZSBvdGhlciBwbHVnaW5zCgoyMDA1LTExLTI1IDE5OjU4OjE5ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBleHQvd2F2cGFjay9NYWtlZmlsZS5hbToKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmg6CgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuaDoKCSAgV2F2cGFjayBwb3J0ZWQgdG8gMC45LiBObyBzdXBwb3J0IGZvciBjb3JyZWN0aW9uIGZpbGUgeWV0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgV2F2cGFjayBwb3J0ZWQgdG8gMC45LiBObyBzdXBwb3J0IGZvciBjb3JyZWN0aW9uIGZpbGUgeWV0LgoKMjAwNS0xMS0yNSAxODoxNTo1MSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBleHQvd2F2cGFjay86IHB1dCBiYWNrIHdhdnBhY2sgLSBzdGlsbCBuZWVkcyBwb3J0aW5nCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tjb21tb24uaDoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IChnc3Rfd2F2cGFja19kZWNfbGluayksCgkgIChnc3Rfd2F2cGFja19kZWNfd3ZjbGluayksIChnc3Rfd2F2cGFja19kZWNfZ2V0X3R5cGUpLAoJICAoZ3N0X3dhdnBhY2tfZGVjX2Jhc2VfaW5pdCksIChnc3Rfd2F2cGFja19kZWNfZGlzcG9zZSksCgkgIChnc3Rfd2F2cGFja19kZWNfY2xhc3NfaW5pdCksIChnc3Rfd2F2cGFja19kZWNfc3JjX3F1ZXJ5KSwKCSAgKGdzdF93YXZwYWNrX2RlY19pbml0KSwgKGdzdF93YXZwYWNrX2RlY19zZXR1cF9jb250ZXh0KSwKCSAgKGdzdF93YXZwYWNrX2RlY19mb3JtYXRfc2FtcGxlcyksIChnc3Rfd2F2cGFja19kZWNfbG9vcCksCgkgIChnc3Rfd2F2cGFja19kZWNfcGx1Z2luX2luaXQpOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuaDoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogKGdzdF93YXZwYWNrX3BhcnNlX2dldF90eXBlKSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2Jhc2VfaW5pdCksIChnc3Rfd2F2cGFja19wYXJzZV9kaXNwb3NlKSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2NsYXNzX2luaXQpLCAoZ3N0X3dhdnBhY2tfcGFyc2Vfc3JjX3F1ZXJ5KSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX3NyY19ldmVudCksIChmaW5kX2hlYWRlciksIChmaW5kX3NhbXBsZSksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9zZWVrKSwgKGdzdF93YXZwYWNrX3BhcnNlX2luaXQpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfaGFuZGxlX2V2ZW50KSwgKGdzdF93YXZwYWNrX3BhcnNlX2xvb3ApLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfY2hhbmdlX3N0YXRlKSwgKGdzdF93YXZwYWNrX3BhcnNlX3BsdWdpbl9pbml0KToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuaDoKCSAgcHV0IGJhY2sgd2F2cGFjayAtIHN0aWxsIG5lZWRzIHBvcnRpbmcKCjIwMDUtMTEtMjUgMTg6MDM6MjQgKzAwMDAgIFNlYmFzdGllbiBDb3RlIDxzZWJhczY0MkB5YWhvby5jYT4KCgkgIGdzdC91ZHAvZ3N0dWRwc3JjLmM6IFBhdGNoIGZyb20gU2ViYXN0aWVuIENvdGUgdG8gY2xvc2UgY29udHJvbCBzb2NrZXRzIGluIHVkcHNyYy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3VkcC9nc3R1ZHBzcmMuYzogKGdzdF91ZHBzcmNfc3RvcCk6CgkgIFBhdGNoIGZyb20gU2ViYXN0aWVuIENvdGUgdG8gY2xvc2UgY29udHJvbCBzb2NrZXRzIGluIHVkcHNyYy4KCjIwMDUtMTEtMjQgMTU6MDc6MDYgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZ3N0L2VmZmVjdHYvZ3N0cXVhcmsuYzogRmx1c2ggdGhlIHBsYW5lcyBsaXN0IG9uIHJldmVyc2UgY2FwcyBuZWdvdGlhdGlvbi4gVGhpcyB3YXMgY3Jhc2hpbmcgYmVjYXVzZSBvZiBkaWZmZXJlbnRseSBzLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTExLTI0ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZ3N0L2VmZmVjdHYvZ3N0cXVhcmsuYzogKGdzdF9xdWFya3R2X3NldF9jYXBzKSwKCSAgKGdzdF9xdWFya3R2X2dldF91bml0X3NpemUpLCAoZ3N0X3F1YXJrdHZfdHJhbnNmb3JtKSwKCSAgKGdzdF9xdWFya3R2X3BsYW5ldGFibGVfY2xlYXIpLCAoZ3N0X3F1YXJrdHZfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9xdWFya3R2X2Jhc2VfaW5pdCksIChnc3RfcXVhcmt0dl9jbGFzc19pbml0KSwKCSAgKGdzdF9xdWFya3R2X2luaXQpOiBGbHVzaCB0aGUgcGxhbmVzIGxpc3Qgb24gcmV2ZXJzZSBjYXBzCgkgIG5lZ290aWF0aW9uLiBUaGlzIHdhcyBjcmFzaGluZyBiZWNhdXNlIG9mIGRpZmZlcmVudGx5IHNpemVkCgkgIGJ1ZmZlcnMuCgoyMDA1LTExLTI0IDEyOjUwOjI4ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGdzdC86IEhhbmRsZSBzdHJpZGVzIGNvcnJlY3RseSwgZml4IGlkZW50aXR5IGZsaXBwaW5nLCBjb252ZXJ0IG5hdmlnYXRpb24gZXZlbnQgY29ycmVjdGx5IGFnYWluLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMS0yNCAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGdzdC9kZWJ1Zy9nc3RuYXZpZ2F0aW9udGVzdC5jOiAoZHJhd19ib3hfcGxhbmFyNDExKToKCSAgKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9mbGlwLmM6CgkgIChnc3RfdmlkZW9mbGlwX21ldGhvZF9nZXRfdHlwZSksCgkgIChnc3RfdmlkZW9mbGlwX3NldF9jYXBzKSwgKGdzdF92aWRlb2ZsaXBfdHJhbnNmb3JtX2NhcHMpLAoJICAoZ3N0X3ZpZGVvZmxpcF9nZXRfdW5pdF9zaXplKSwgKGdzdF92aWRlb2ZsaXBfZmxpcCksCgkgIChnc3RfdmlkZW9mbGlwX3RyYW5zZm9ybSksIChnc3RfdmlkZW9mbGlwX2hhbmRsZV9zcmNfZXZlbnQpLAoJICAoZ3N0X3ZpZGVvZmxpcF9zZXRfcHJvcGVydHkpLCAoZ3N0X3ZpZGVvZmxpcF9iYXNlX2luaXQpLAoJICAoZ3N0X3ZpZGVvZmxpcF9jbGFzc19pbml0KSwgKGdzdF92aWRlb2ZsaXBfaW5pdCk6IEhhbmRsZSBzdHJpZGVzCgkgIGNvcnJlY3RseSwgZml4IGlkZW50aXR5IGZsaXBwaW5nLCBjb252ZXJ0IG5hdmlnYXRpb24gZXZlbnQKCSAgY29ycmVjdGx5IGFnYWluLgoKMjAwNS0xMS0yNCAxMToxNjo1MyArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSogUkVBRE1FOgoJICBGaXggIzMyMDI4ODogd3JvbmcgcmVhZG1lIGluIHBsdWdpbnMtZ29vZAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgRml4ICMzMjAyODg6IHdyb25nIHJlYWRtZSBpbiBwbHVnaW5zLWdvb2QKCjIwMDUtMTEtMjQgMTE6MDY6MjkgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogTWFrZWZpbGUuYW06CgkgIGZpeCB0b3J0dXJlIHRhcmdldAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZml4IHRvcnR1cmUgdGFyZ2V0CgoyMDA1LTExLTIzIDIxOjI1OjU2ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIE1ha2VmaWxlLmFtOgoJICBhZGQgYSB0b3J0dXJlIHRhcmdldAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYWRkIGEgdG9ydHVyZSB0YXJnZXQKCjIwMDUtMTEtMjMgMjA6MDU6MjYgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBjb25maWd1cmUuYWM6CgkgIGJhY2sgdG8gSEVBRAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYmFjayB0byBIRUFECgo9PT0gcmVsZWFzZSAwLjkuNiA9PT0KCjIwMDUtMTEtMjMgMTk6NTc6NDkgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF0ZGVtdXgueG1sOgoJICByZWxlYXNpbmcgMC45LjYKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHJlbGVhc2luZyAwLjkuNgoKMjAwNS0xMS0yMyAxOTo1NjozMSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9mbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSAgcmVsZWFzaW5nIDAuOS42CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZWxlYXNpbmcgMC45LjYKCjIwMDUtMTEtMjMgMTk6MTQ6MDcgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkgIGFkZGluZyBjdXR0ZXIKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGFkZGluZyBjdXR0ZXIKCjIwMDUtMTEtMjMgMTk6MDU6MjkgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDA1LTExLTIzIDE2OjQ5OjE2ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC9kZWJ1Zy9nc3RuYXZpZ2F0aW9udGVzdC5jOiBPb3BzLCBpbml0aWFsaXNlIHRoZSBmcmFtZXJhdGUgR1ZhbHVlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWJ1Zy9nc3RuYXZpZ2F0aW9udGVzdC5jOiAoZ3N0X25hdmlnYXRpb250ZXN0X2luaXQpOgoJICBPb3BzLCBpbml0aWFsaXNlIHRoZSBmcmFtZXJhdGUgR1ZhbHVlCgoyMDA1LTExLTIzIDE1OjUwOjUxICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIFZpZGVvRmlsdGVyIGluaGVyaXRzIGZyb20KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTEtMjMgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBleHQvY2Fpcm8vZ3N0dGltZW92ZXJsYXkuYzoKCSAgKGdzdF90aW1lb3ZlcmxheV91cGRhdGVfZm9udF9oZWlnaHQpLAoJICAoZ3N0X3RpbWVvdmVybGF5X3NldF9jYXBzKSwgKGdzdF90aW1lb3ZlcmxheV9nZXRfdW5pdF9zaXplKSwKCSAgKGdzdF90aW1lb3ZlcmxheV90cmFuc2Zvcm0pLCAoZ3N0X3RpbWVvdmVybGF5X2Jhc2VfaW5pdCksCgkgIChnc3RfdGltZW92ZXJsYXlfY2xhc3NfaW5pdCksIChnc3RfdGltZW92ZXJsYXlfaW5pdCksCgkgIChnc3RfdGltZW92ZXJsYXlfZ2V0X3R5cGUpOgoJICAqIGV4dC9jYWlyby9nc3R0aW1lb3ZlcmxheS5oOgoJICAqIGdzdC9kZWJ1Zy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZGVidWcvZ3N0bmF2aWdhdGlvbnRlc3QuYzoKCSAgKGdzdF9uYXZpZ2F0aW9udGVzdF9oYW5kbGVfc3JjX2V2ZW50KSwKCSAgKGdzdF9uYXZpZ2F0aW9udGVzdF9nZXRfdW5pdF9zaXplKSwKCSAgKGdzdF9uYXZpZ2F0aW9udGVzdF9zZXRfY2FwcyksCgkgIChnc3RfbmF2aWdhdGlvbnRlc3RfdHJhbnNmb3JtKSwKCSAgKGdzdF9uYXZpZ2F0aW9udGVzdF9jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X25hdmlnYXRpb250ZXN0X2Jhc2VfaW5pdCksIChnc3RfbmF2aWdhdGlvbnRlc3RfY2xhc3NfaW5pdCksCgkgIChnc3RfbmF2aWdhdGlvbnRlc3RfaW5pdCksIChnc3RfbmF2aWdhdGlvbnRlc3RfZ2V0X3R5cGUpLAoJICAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9kZWJ1Zy9nc3RuYXZpZ2F0aW9udGVzdC5oOgoJICAqIGdzdC9lZmZlY3R2L01ha2VmaWxlLmFtOgoJICAqIGdzdC9lZmZlY3R2L2dzdGFnaW5nLmM6IChnc3RfYWdpbmd0dl9zZXRfY2FwcyksCgkgIChnc3RfYWdpbmd0dl9nZXRfdW5pdF9zaXplKSwgKGdzdF9hZ2luZ3R2X3RyYW5zZm9ybSksCgkgIChnc3RfYWdpbmd0dl9iYXNlX2luaXQpLCAoZ3N0X2FnaW5ndHZfY2xhc3NfaW5pdCksCgkgIChnc3RfYWdpbmd0dl9pbml0KSwgKGdzdF9hZ2luZ3R2X2dldF90eXBlKToKCSAgKiBnc3QvZWZmZWN0di9nc3RkaWNlLmM6IChnc3RfZGljZXR2X3NldF9jYXBzKSwKCSAgKGdzdF9kaWNldHZfZ2V0X3VuaXRfc2l6ZSksIChnc3RfZGljZXR2X3RyYW5zZm9ybSksCgkgIChnc3RfZGljZXR2X2Jhc2VfaW5pdCksIChnc3RfZGljZXR2X2NsYXNzX2luaXQpLAoJICAoZ3N0X2RpY2V0dl9pbml0KSwKCSAgKGdzdF9kaWNldHZfZ2V0X3R5cGUpOgoJICAqIGdzdC9lZmZlY3R2L2dzdGVkZ2UuYzogKGdzdF9lZGdldHZfc2V0X2NhcHMpLAoJICAoZ3N0X2VkZ2V0dl9nZXRfdW5pdF9zaXplKSwgKGdzdF9lZGdldHZfdHJhbnNmb3JtKSwKCSAgKGdzdF9lZGdldHZfYmFzZV9pbml0KSwgKGdzdF9lZGdldHZfY2xhc3NfaW5pdCksCgkgIChnc3RfZWRnZXR2X2luaXQpLAoJICAoZ3N0X2VkZ2V0dl9nZXRfdHlwZSk6CgkgICogZ3N0L2VmZmVjdHYvZ3N0ZWZmZWN0di5jOgoJICAqIGdzdC9lZmZlY3R2L2dzdGVmZmVjdHYuaDoKCSAgKiBnc3QvZWZmZWN0di9nc3RxdWFyay5jOiAoZ3N0X3F1YXJrdHZfc2V0X2NhcHMpLAoJICAoZ3N0X3F1YXJrdHZfZ2V0X3VuaXRfc2l6ZSksIChmYXN0cmFuZCksCgkgIChnc3RfcXVhcmt0dl90cmFuc2Zvcm0pLAoJICAoZ3N0X3F1YXJrdHZfY2hhbmdlX3N0YXRlKSwgKGdzdF9xdWFya3R2X2Jhc2VfaW5pdCksCgkgIChnc3RfcXVhcmt0dl9jbGFzc19pbml0KSwgKGdzdF9xdWFya3R2X2luaXQpLAoJICAoZ3N0X3F1YXJrdHZfZ2V0X3R5cGUpOgoJICAqIGdzdC9lZmZlY3R2L2dzdHJldi5jOiAoZ3N0X3JldnR2X3NldF9jYXBzKSwKCSAgKGdzdF9yZXZ0dl9nZXRfdW5pdF9zaXplKSwgKGdzdF9yZXZ0dl90cmFuc2Zvcm0pLAoJICAoZ3N0X3JldnR2X2Jhc2VfaW5pdCksIChnc3RfcmV2dHZfY2xhc3NfaW5pdCksIChnc3RfcmV2dHZfaW5pdCksCgkgIChnc3RfcmV2dHZfZ2V0X3R5cGUpOgoJICAqIGdzdC9lZmZlY3R2L2dzdHNoYWdhZGVsaWMuYzogKGdzdF9zaGFnYWRlbGljdHZfc2V0X2NhcHMpLAoJICAoZ3N0X3NoYWdhZGVsaWN0dl9nZXRfdW5pdF9zaXplKSwgKGdzdF9zaGFnYWRlbGljdHZfdHJhbnNmb3JtKSwKCSAgKGdzdF9zaGFnYWRlbGljdHZfYmFzZV9pbml0KSwgKGdzdF9zaGFnYWRlbGljdHZfY2xhc3NfaW5pdCksCgkgIChnc3Rfc2hhZ2FkZWxpY3R2X2luaXQpLCAoZ3N0X3NoYWdhZGVsaWN0dl9nZXRfdHlwZSk6CgkgICogZ3N0L2VmZmVjdHYvZ3N0dmVydGlnby5jOiAoZ3N0X3ZlcnRpZ290dl9zZXRfY2FwcyksCgkgIChnc3RfdmVydGlnb3R2X2dldF91bml0X3NpemUpLCAoZ3N0X3ZlcnRpZ290dl90cmFuc2Zvcm0pLAoJICAoZ3N0X3ZlcnRpZ290dl9iYXNlX2luaXQpLCAoZ3N0X3ZlcnRpZ290dl9jbGFzc19pbml0KSwKCSAgKGdzdF92ZXJ0aWdvdHZfaW5pdCksIChnc3RfdmVydGlnb3R2X2dldF90eXBlKToKCSAgKiBnc3QvZWZmZWN0di9nc3R3YXJwLmM6IChnc3Rfd2FycHR2X3NldF9jYXBzKSwKCSAgKGdzdF93YXJwdHZfZ2V0X3VuaXRfc2l6ZSksIChnc3Rfd2FycHR2X3RyYW5zZm9ybSksCgkgIChnc3Rfd2FycHR2X2Jhc2VfaW5pdCksIChnc3Rfd2FycHR2X2NsYXNzX2luaXQpLAoJICAoZ3N0X3dhcnB0dl9pbml0KSwKCSAgKGdzdF93YXJwdHZfZ2V0X3R5cGUpOgoJICAqIGdzdC92aWRlb2ZpbHRlci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9iYWxhbmNlLmM6CgkgICogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvYmFsYW5jZS5oOgoJICAqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZpbHRlci5jOiAoZ3N0X3ZpZGVvZmlsdGVyX2dldF90eXBlKSwKCSAgKGdzdF92aWRlb2ZpbHRlcl9jbGFzc19pbml0KSwgKGdzdF92aWRlb2ZpbHRlcl9pbml0KToKCSAgKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9maWx0ZXIuaDoKCSAgKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9mbGlwLmM6IChnc3RfdmlkZW9mbGlwX3NldF9jYXBzKSwKCSAgKGdzdF92aWRlb2ZsaXBfdHJhbnNmb3JtX2NhcHMpLCAoZ3N0X3ZpZGVvZmxpcF9nZXRfdW5pdF9zaXplKSwKCSAgKGdzdF92aWRlb2ZsaXBfZmxpcCksIChnc3RfdmlkZW9mbGlwX3RyYW5zZm9ybSksCgkgIChnc3RfdmlkZW9mbGlwX2hhbmRsZV9zcmNfZXZlbnQpLCAoZ3N0X3ZpZGVvZmxpcF9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3ZpZGVvZmxpcF9iYXNlX2luaXQpLCAoZ3N0X3ZpZGVvZmxpcF9jbGFzc19pbml0KSwKCSAgKGdzdF92aWRlb2ZsaXBfaW5pdCksIChwbHVnaW5faW5pdCksIChnc3RfdmlkZW9mbGlwX2dldF90eXBlKToKCSAgKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9mbGlwLmg6IFZpZGVvRmlsdGVyIGluaGVyaXRzIGZyb20KCSAgQmFzZVRyYW5zZm9ybSwgaXQncyBqdXN0IGEgcGxhY2UgaG9sZGVyIGZvciBub3cgYW5kIGV2ZXJ5IHZpZGVvCgkgIGVmZmVjdCBwbHVnaW4gaGFzIGJlZW4gcG9ydGVkIHRvIHVzZSBCYXNlVHJhbnNmb3JtIGZlYXR1cmVzCgkgIGRpcmVjdGx5LiBRdWFya1RWIHdhcyBmaXhlZCB0b28gKHdhcyBicm9rZW4pLCBuYXZpZ2F0aW9udGVzdAoJICB3b3JrcwoJICBhbmQgYmVzdCBmb3IgdGhlIGVuZCwgdmlkZW9mbGlwIGNvbnZlcnRzIG5hdmlnYXRpb24gZXZlbnRzCgkgIGRlcGVuZGluZwoJICBvbiBmbGlwIG1ldGhvZCAhIEZpeGVzICMzMjA5NTMKCjIwMDUtMTEtMjMgMTQ6MjI6MTggKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgRml4ZXMgZm9yIEFQSSBjaGFuZ2VzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hYWxpYi9nc3RhYXNpbmsuYzogKGdzdF9hYXNpbmtfZml4YXRlKToKCSAgKiBleHQvY2Fpcm8vZ3N0dGV4dG92ZXJsYXkuYzogKGdzdF90ZXh0X292ZXJsYXlfY29sbGVjdGVkKToKCSAgKiBnc3QvZ29vbS9nc3Rnb29tLmM6IChnc3RfZ29vbV9pbml0KSwgKGdzdF9nb29tX3NyY19zZXRjYXBzKSwKCSAgKGdzdF9nb29tX3NyY19uZWdvdGlhdGUpLCAoZ3N0X2dvb21fY2hhaW4pOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgKGdzdF9tYXRyb3NrYV9tdXhfdmlkZW9fcGFkX3NldGNhcHMpOgoJICAqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgRml4ZXMgZm9yIEFQSSBjaGFuZ2VzCgoyMDA1LTExLTIzIDEyOjE5OjA2ICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBnc3QtcGx1Z2lucy1nb29kLnNwZWMuaW46CgkgIGFkZCBjdXR0ZXIgdG8gc3BlYyBpbgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYWRkIGN1dHRlciB0byBzcGVjIGluCgoyMDA1LTExLTIzIDExOjU3OjUxICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogQ29udmVydCB0byBmcmFjdGlvbmFsIGZyYW1lcmF0ZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfbG9vcF9oZWFkZXIpLAoJICAoZ3N0X3F0ZGVtdXhfYWRkX3N0cmVhbSksIChxdGRlbXV4X2R1bXBfbXZoZCksCgkgIChxdGRlbXV4X3BhcnNlX3RyYWspOgoJICBDb252ZXJ0IHRvIGZyYWN0aW9uYWwgZnJhbWVyYXRlcwoKMjAwNS0xMS0yMiAyMzo1ODoxNCArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgZXh0L2pwZWcvOiBKUEVHIGZyYWN0aW9ueSBnb29kbmVzcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOiAoZ3N0X2pwZWdfZGVjX3NldGNhcHMpLAoJICAoZ3N0X2pwZWdfZGVjX2NoYWluKSwgKGdzdF9qcGVnX2RlY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9qcGVnL2dzdGpwZWdkZWMuaDoKCSAgKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6IChnc3RfanBlZ2VuY19zZXRjYXBzKToKCSAgKiBleHQvanBlZy9nc3RqcGVnZW5jLmg6CgkgICogZXh0L2pwZWcvZ3N0c21va2VlbmMuYzogKGdzdF9zbW9rZWVuY19zZXRjYXBzKSwKCSAgKGdzdF9zbW9rZWVuY19yZXN5bmMpOgoJICAqIGV4dC9qcGVnL2dzdHNtb2tlZW5jLmg6CgkgIEpQRUcgZnJhY3Rpb255IGdvb2RuZXNzLgoKMjAwNS0xMS0yMiAyMjozNTo1NyArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBnc3QvZ29vbS9maWx0ZXJzLmM6CgkqIGdzdC9nb29tL2dyYXBoaWMuaDoKCSAgRml4IGZvciAjMzIxNDMwOiB1bnJlc29sdmVkIHN5bWJvbHMgZHVlIHRvIGluY29ycmVjdCBsaW5rYWdlIG9uIGlubGluZSBmdW5jdGlvbnMgaW4gZ29vbS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEZpeCBmb3IgIzMyMTQzMDogdW5yZXNvbHZlZCBzeW1ib2xzIGR1ZSB0byBpbmNvcnJlY3QgbGlua2FnZSBvbiBpbmxpbmUgZnVuY3Rpb25zCgkgIGluIGdvb20uCgkgIERvZXMgbm90LCBob3dldmVyLCBmaXggdGhlIGdlbmVyYWwgY3JhY2toZWFkZWRuZXNzIG9mIGdvb20gKGdsb2JhbCB2YXJpYWJsZXMsCgkgIG9oIG15ISk7IHRoaXMgc2hvdWxkIGJlIG1vdmVkIHRvIC1iYWQuCgoyMDA1LTExLTIyIDIyOjIxOjM3ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIE1vcmUgZnJhY3Rpb25hbCBmcmFtZXJhdGUgY29udmVyc2lvbnMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2NhaXJvL2dzdHRleHRvdmVybGF5LmM6IChnc3RfdGV4dF9vdmVybGF5X2luaXQpLAoJICAoZ3N0X3RleHRfb3ZlcmxheV9zZXRjYXBzKSwgKGdzdF90ZXh0X292ZXJsYXlfY29sbGVjdGVkKToKCSAgKiBleHQvY2Fpcm8vZ3N0dGV4dG92ZXJsYXkuaDoKCSAgKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWYuYzogKGdzdF9nZGtfcGl4YnVmX3NpbmtfbGluayk6CgkgICogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmLmg6CgkgICogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzogKGdzdF9wbmdkZWNfaW5pdCksCgkgIChnc3RfcG5nZGVjX2NhcHNfY3JlYXRlX2FuZF9zZXQpOgoJICAqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmg6CgkgICogZXh0L2xpYnBuZy9nc3RwbmdlbmMuYzogKGdzdF9wbmdlbmNfc2V0Y2Fwcyk6CgkgICogZ3N0L2FscGhhL2dzdGFscGhhY29sb3IuYzogKGdzdF9hbHBoYV9jb2xvcl9zZXRfY2Fwcyk6CgkgICogZ3N0L2F2aS9nc3RhdmltdXguYzogKGdzdF9hdmltdXhfaW5pdCksCgkgIChnc3RfYXZpbXV4X3ZpZHNpbmtjb25uZWN0KToKCSAgKiBnc3QvZmx4L2dzdGZseGRlYy5jOiAoZ3N0X2ZseGRlY19jaGFpbik6CgkgICogZ3N0L2dvb20vZ3N0Z29vbS5jOiAoZ3N0X2dvb21faW5pdCksIChnc3RfZ29vbV9zcmNfc2V0Y2FwcyksCgkgIChnc3RfZ29vbV9zcmNfbmVnb3RpYXRlKSwgKGdzdF9nb29tX2NoYWluKToKCSAgKiBnc3QvZ29vbS9nc3Rnb29tLmg6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IChnc3RfbWF0cm9za2FfZGVtdXhfdmlkZW9fY2Fwcyk6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICAoZ3N0X21hdHJvc2thX211eF92aWRlb19wYWRfc2V0Y2Fwcyk6CgkgICogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5oOgoJICAqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgTW9yZSBmcmFjdGlvbmFsIGZyYW1lcmF0ZSBjb252ZXJzaW9ucwoKMjAwNS0xMS0yMiAyMDowNzo0NyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBDb252ZXJ0IHRvIGZyYWN0aW9uYWwgZnJhbWVyYXRlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2FhbGliL2dzdGFhc2luay5jOiAoZ3N0X2Fhc2lua19maXhhdGUpOgoJICAqIGdzdC9kZWJ1Zy9nc3RuYXZpZ2F0aW9udGVzdC5jOgoJICAoZ3N0X25hdmlnYXRpb250ZXN0X2hhbmRsZV9zcmNfZXZlbnQpOgoJICAqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZpbHRlci5jOgoJICAoZ3N0X3ZpZGVvZmlsdGVyX2Zvcm1hdF9nZXRfc3RydWN0dXJlKSwgKGdzdF92aWRlb2ZpbHRlcl9zZXRjYXBzKSwKCSAgKGdzdF92aWRlb2ZpbHRlcl9pbml0KToKCSAgKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9maWx0ZXIuaDoKCSAgQ29udmVydCB0byBmcmFjdGlvbmFsIGZyYW1lcmF0ZXMuCgoyMDA1LTExLTIyIDE4OjExOjU4ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIENoYW5nZUxvZzoKCSogZXh0L2FhbGliL2dzdGFhc2luay5jOgoJKiBleHQvZHYvZ3N0ZHZkZWMuYzoKCSogZXh0L2VzZC9lc2Rtb24uYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJKiBleHQvZ2RrX3BpeGJ1Zi9waXhidWZzY2FsZS5jOgoJKiBleHQvbGliY2FjYS9nc3RjYWNhc2luay5jOgoJKiBleHQvc2hvdXQyL2dzdHNob3V0Mi5jOgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzoKCSogZ3N0L29sZGNvcmUvZ3N0YWdncmVnYXRvci5jOgoJKiBnc3Qvb2xkY29yZS9nc3RzaGFwZXIuYzoKCSogZ3N0L3NtcHRlL2JhcmJveHdpcGVzLmM6CgkqIGdzdC9zbXB0ZS9nc3RzbXB0ZS5jOgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmxpcC5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkgIGZpeCB1cCBtb3JlIGVudW1zCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBmaXggdXAgbW9yZSBlbnVtcwoKMjAwNS0xMS0yMiAxNzozOToxMSArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOiBGcmFjdGlvbmFsIGZyYW1lcmF0ZXMsIHZpZGVvbWl4ZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzogKGdzdF92aWRlb21peGVyX3BhZF9zaW5rX3NldGNhcHMpLAoJICAoZ3N0X3ZpZGVvbWl4ZXJfZ2V0Y2FwcyksIChnc3RfdmlkZW9taXhlcl9maWxsX3F1ZXVlcyksCgkgIChnc3RfdmlkZW9taXhlcl91cGRhdGVfcXVldWVzKToKCSAgRnJhY3Rpb25hbCBmcmFtZXJhdGVzLCB2aWRlb21peGVyLgoKMjAwNS0xMS0yMiAxNzowOTozNiArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgZXh0L2R2LzogRnJhY3Rpb25hbCBmcmFtZXJhdGVzIGZvciBEVi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2R2L2dzdGR2ZGVjLmM6IChnc3RfZHZkZWNfaW5pdCksIChnc3RfZHZkZWNfc2lua19zZXRjYXBzKToKCSAgKiBleHQvZHYvZ3N0ZHZkZWMuaDoKCSAgKiBleHQvZHYvZ3N0ZHZkZW11eC5jOiAoZ3N0X2R2ZGVtdXhfaW5pdCksCgkgIChnc3RfZHZkZW11eF9zcmNfY29udmVydCksIChnc3RfZHZkZW11eF9zaW5rX2NvbnZlcnQpLAoJICAoZ3N0X2R2ZGVtdXhfZGVtdXhfdmlkZW8pLCAoZ3N0X2R2ZGVtdXhfZGVtdXhfZnJhbWUpLAoJICAoZ3N0X2R2ZGVtdXhfZmx1c2gpOgoJICAqIGV4dC9kdi9nc3RkdmRlbXV4Lmg6CgkgIEZyYWN0aW9uYWwgZnJhbWVyYXRlcyBmb3IgRFYuCgoyMDA1LTExLTIyIDE0OjQ0OjI2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2F1dG9kZXRlY3QvOiBVc2UgZ3N0X3BsdWdpbl9mZWF0dXJlX2xpc3RfZnJlZSgpIHRvIGZyZWUgZmVhdHVyZSBsaXN0IGFuZCBpbiB0aGUgY2FzZSBvZiBhdXRvdmlkZW9zaW5rIGZyZWUgdGhlIGxpLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NpbmsuYzoKCSAgKGdzdF9hdXRvX2F1ZGlvX3NpbmtfZmluZF9iZXN0KSwgKGdzdF9hdXRvX2F1ZGlvX3NpbmtfZGV0ZWN0KToKCSAgKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zaW5rLmM6CgkgIChnc3RfYXV0b192aWRlb19zaW5rX2ZpbmRfYmVzdCksIChnc3RfYXV0b192aWRlb19zaW5rX2RldGVjdCk6CgkgIFVzZSBnc3RfcGx1Z2luX2ZlYXR1cmVfbGlzdF9mcmVlKCkgdG8gZnJlZSBmZWF0dXJlIGxpc3QgYW5kCgkgIGluIHRoZSBjYXNlIG9mIGF1dG92aWRlb3NpbmsgZnJlZSB0aGUgbGlzdCBhdCBhbGwuIEFsc28KCSAgbWlzY2VsbGFuZW91cyBjb3NtZXRpYyBmaXhlcy4KCjIwMDUtMTEtMjIgMTM6MTM6MjEgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgZ3N0L2N1dHRlci9nc3RjdXR0ZXIuYzogY29weSBjYWxjdWxhdGlvbiBjb2RlIGZyb20gbGV2ZWw7IHJlbW92ZSB1c2Ugb2Ygc29tZSBhdWRpbyBmdW5jdGlvbnMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2N1dHRlci9nc3RjdXR0ZXIuYzogKGdzdF9jdXR0ZXJfY2hhaW4pLAoJICAoZ3N0X2N1dHRlcl9zZXRfcHJvcGVydHkpLCAoZ3N0X2N1dHRlcl9nZXRfY2Fwcyk6CgkgIGNvcHkgY2FsY3VsYXRpb24gY29kZSBmcm9tIGxldmVsOyByZW1vdmUgdXNlIG9mIHNvbWUgYXVkaW8KCSAgZnVuY3Rpb25zCgoyMDA1LTExLTIyIDEzOjExOjI1ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOgoJICB2YXJpb3VzIGNvc21ldGljIGZpeGVzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB2YXJpb3VzIGNvc21ldGljIGZpeGVzCgoyMDA1LTExLTIyIDEyOjQ4OjEwICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOgoJICB2YXJpb3VzIGNvc21ldGljIGZpeGVzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB2YXJpb3VzIGNvc21ldGljIGZpeGVzCgoyMDA1LTExLTIyIDEyOjQxOjM1ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOgoJICB2YXJpb3VzIGNvc21ldGljIGZpeGVzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB2YXJpb3VzIGNvc21ldGljIGZpeGVzCgoyMDA1LTExLTIyIDEyOjM4OjMzICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY3RhZy5jOgoJKiBleHQvc2hvdXQyL2dzdHNob3V0Mi5jOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSAgVXBkYXRlIGZvciBnc3RfdGFnX3NldHRlciBBUEkgY2hhbmdlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTEtMjIgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogVXBkYXRlIGZvciBnc3RfdGFnX3NldHRlciBBUEkgY2hhbmdlcy4KCjIwMDUtMTEtMjIgMTE6NTc6NTEgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgZXh0L2ZhYWQvZ3N0ZmFhZC5jIChnc3RfZmFhZF9ldmVudCkgZXh0L2l2b3JiaXMvdm9yYmlzZmlsZS5jIChnc3RfaXZvcmJpc2ZpbGVfbG9vcCkgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jIChnc3RfcXRkZW11Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTExLTIyICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIGV4dC9mYWFkL2dzdGZhYWQuYyAoZ3N0X2ZhYWRfZXZlbnQpCgkgICogZXh0L2l2b3JiaXMvdm9yYmlzZmlsZS5jIChnc3RfaXZvcmJpc2ZpbGVfbG9vcCkKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmMgKGdzdF9xdGRlbXV4X2xvb3BfaGVhZGVyKQoJICAqIGdzdC9zcGVlZC9nc3RzcGVlZC5jIChzcGVlZF9zaW5rX2V2ZW50KQoJICAqIGdzdC90dGEvZ3N0dHRhcGFyc2UuYyAoZ3N0X3R0YV9wYXJzZV9zcmNfZXZlbnQpCgkgIChnc3RfdHRhX3BhcnNlX3BhcnNlX2hlYWRlcik6IFJ1biB1cGRhdGUtZnVuY25hbWVzLgoKMjAwNS0xMS0yMiAxMTo1MzozNCArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvZHYvZ3N0ZHZkZW11eC5jOgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSogZXh0L2djb25mL2dzdGdjb25mYXVkaW9zaW5rLmM6CgkqIGV4dC9nY29uZi9nc3RnY29uZnZpZGVvc2luay5jOgoJKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzoKCSogZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zaW5rLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NpbmsuYzoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvZ29vbS9nc3Rnb29tLmM6CgkqIGdzdC9tYXRyb3NrYS9lYm1sLXdyaXRlLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5jOgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgZXh0L2R2L2dzdGR2ZGVtdXguYyAoZ3N0X2R2ZGVtdXhfaGFuZGxlX3NpbmtfZXZlbnQpIChnc3RfZHZkZW11eF9kZW11eF9mcmFtZSkgZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jIChnc3RfZmxhY2RlY193cml0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTExLTIyICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIGV4dC9kdi9nc3RkdmRlbXV4LmMgKGdzdF9kdmRlbXV4X2hhbmRsZV9zaW5rX2V2ZW50KQoJICAoZ3N0X2R2ZGVtdXhfZGVtdXhfZnJhbWUpCgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jIChnc3RfZmxhY2RlY193cml0ZSkKCSAgKiBleHQvZmxhYy9nc3RmbGFjZW5jLmMgKGdzdF9mbGFjZW5jX3NlZWtfY2FsbGJhY2spCgkgIChnc3RfZmxhY2VuY19zaW5rX2V2ZW50KQoJICAqIGV4dC9nY29uZi9nc3RnY29uZmF1ZGlvc2luay5jIChnc3RfZ2NvbmZfYXVkaW9fc2lua19pbml0KQoJICAqIGV4dC9nY29uZi9nc3RnY29uZnZpZGVvc2luay5jIChnc3RfZ2NvbmZfdmlkZW9fc2lua19pbml0KQoJICAqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmMgKGdzdF9wbmdkZWNfY2Fwc19jcmVhdGVfYW5kX3NldCkKCSAgKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYyAoc3BlZXhfZGVjX2V2ZW50LCBzcGVleF9kZWNfY2hhaW4pCgkgICogZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS5jIChnc3RfYXVwYXJzZV9jaGFpbikKCSAgKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zaW5rLmMgKGdzdF9hdXRvX2F1ZGlvX3NpbmtfaW5pdCkKCSAgKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zaW5rLmMgKGdzdF9hdXRvX3ZpZGVvX3NpbmtfaW5pdCkKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmMgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2hlYWRlcikKCSAgKGdzdF9hdmlfZGVtdXhfaGFuZGxlX3NlZWspCgkgICogZ3N0L2dvb20vZ3N0Z29vbS5jIChnc3RfZ29vbV9ldmVudCkKCSAgKiBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS5jIChnc3RfZWJtbF93cml0ZV9zZWVrKQoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfaGFuZGxlX3NlZWtfZXZlbnQpCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfbG9vcF9zdHJlYW1fcGFyc2VfaWQpCgkgICogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuYyAoZ3N0X3dhdmVuY19zdG9wX2ZpbGUpCgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmMgKGdzdF93YXZwYXJzZV9oYW5kbGVfc2VlaykKCSAgKGdzdF93YXZwYXJzZV9zdHJlYW1faGVhZGVycyk6IFJ1biB1cGRhdGUtZnVuY25hbWVzLgoKMjAwNS0xMS0yMiAxMTo0OTozMCArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIFVSSUhhbmRsZXIgaW50ZXJmYWNlIGFuZCBlbGVtZW50IHByb3BlcnRpZXMgYXJlIG5vdyBwcm9wZXJseSBzeW5jaHJvbml6ZWQgZm9yIERWMTM5NHNyYyBhbmQgVURQU3JjCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9yYXcxMzk0L2dzdGR2MTM5NHNyYy5jOiAoZ3N0X2R2MTM5NHNyY19jbGFzc19pbml0KSwKCSAgKGdzdF9kdjEzOTRzcmNfaW5pdCksIChnc3RfZHYxMzk0c3JjX2Rpc3Bvc2UpLAoJICAoZ3N0X2R2MTM5NHNyY19zZXRfcHJvcGVydHkpLCAoZ3N0X2R2MTM5NHNyY19kaXNjb3Zlcl9hdmNfbm9kZSksCgkgIChnc3RfZHYxMzk0c3JjX3VyaV9zZXRfdXJpKToKCSAgKiBnc3QvdWRwL2dzdHVkcHNyYy5jOiAoZ3N0X3VkcHNyY19jbGFzc19pbml0KSwKCSAgKGdzdF91ZHBzcmNfdXBkYXRlX3VyaSksIChnc3RfdWRwc3JjX3NldF91cmkpLAoJICAoZ3N0X3VkcHNyY19zZXRfcHJvcGVydHkpLCAoZ3N0X3VkcHNyY191cmlfZ2V0X3VyaSk6CgkgIFVSSUhhbmRsZXIgaW50ZXJmYWNlIGFuZCBlbGVtZW50IHByb3BlcnRpZXMgYXJlIG5vdyBwcm9wZXJseQoJICBzeW5jaHJvbml6ZWQgZm9yIERWMTM5NHNyYyBhbmQgVURQU3JjCgoyMDA1LTExLTIyIDExOjM2OjA0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0LzogbGliZ3N0dGFnZWRpdCBoYXMgYmVlbiByZW5hbWVkIHRvIGxpYmdzdHRhZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZsYWMvTWFrZWZpbGUuYW06CgkgICogZXh0L3NwZWV4L01ha2VmaWxlLmFtOgoJICBsaWJnc3R0YWdlZGl0IGhhcyBiZWVuIHJlbmFtZWQgdG8gbGliZ3N0dGFnLgoKMjAwNS0xMS0yMSAyMDoxMTo1OSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL3J0c3Bjb25uZWN0aW9uLmM6IEFwcGx5IHBhdGNoIGZyb20gU2ViYXN0aWVuIENvdGUgdG8gZml4ICMzMTkxODQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL3J0c3Bjb25uZWN0aW9uLmM6IChyZWFkX2JvZHkpOgoJICBBcHBseSBwYXRjaCBmcm9tIFNlYmFzdGllbiBDb3RlIHRvIGZpeCAjMzE5MTg0LgoKMjAwNS0xMS0yMSAxOTo1MDoyNSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBwb3J0IGN1dHRlcgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L2N1dHRlci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvY3V0dGVyL2dzdGN1dHRlci5jOiAoZ3N0X2N1dHRlcl9jbGFzc19pbml0KSwKCSAgKGdzdF9jdXR0ZXJfaW5pdCksIChnc3RfY3V0dGVyX21lc3NhZ2VfbmV3KSwgKGdzdF9jdXR0ZXJfY2hhaW4pLAoJICAoZ3N0X2N1dHRlcl9zZXRfcHJvcGVydHkpLCAoZ3N0X2N1dHRlcl9nZXRfcHJvcGVydHkpLAoJICAocGx1Z2luX2luaXQpLCAoZ3N0X2N1dHRlcl9nZXRfY2Fwcyk6CgkgIHBvcnQgY3V0dGVyCgkgICogZ3N0L2xldmVsL2dzdGxldmVsLmM6CgkgIGZpeCB1cCBwbHVnaW4gZGV0YWlscwoKMjAwNS0xMS0yMSAxODowOTowMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIFVwZGF0ZSBmb3Igc3RyZWFtIGxvY2sgQVBJIGNoYW5nZXM6IGRvbid0IHRha2Ugc3RyZWFtIGxvZyBpbiBzaW5rIGV2ZW50IGhhbmRsZXJzIGFueSBsb25nZXIgYW5kIGNoYW5nZSBHU1RfU1RSRUFNX0xPQy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZHYvZ3N0ZHZkZW11eC5jOiAoZ3N0X2R2ZGVtdXhfaGFuZGxlX3NpbmtfZXZlbnQpOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzogKGdzdF9mbGFjZGVjX2xvb3ApLAoJICAoZ3N0X2ZsYWNkZWNfc3JjX2V2ZW50KToKCSAgKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6IChnc3RfZmxhY2VuY19zaW5rX2V2ZW50KToKCSAgKiBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5jOiAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfZXZlbnQpLAoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfZ2V0cmFuZ2UpLCAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfY2hhaW4pOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfaGFuZGxlX3NlZWspOgoJICAqIGdzdC9mbHgvZ3N0Zmx4ZGVjLmM6IChnc3RfZmx4ZGVjX3NyY19ldmVudF9oYW5kbGVyKSwKCSAgKGdzdF9mbHhkZWNfc2lua19ldmVudF9oYW5kbGVyKToKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9oYW5kbGVfc2Vla19ldmVudCk6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IChnc3Rfd2F2cGFyc2VfaGFuZGxlX3NlZWspOgoJICBVcGRhdGUgZm9yIHN0cmVhbSBsb2NrIEFQSSBjaGFuZ2VzOiBkb24ndCB0YWtlIHN0cmVhbSBsb2cKCSAgaW4gc2luayBldmVudCBoYW5kbGVycyBhbnkgbG9uZ2VyIGFuZCBjaGFuZ2UgR1NUX1NUUkVBTV9MT0NLCgkgIHRvIEdTVF9QQURfU1RSRUFNX0xPQ0suIERvbid0IGxlYWsgcmVmZXJlbmNlcyBpbiBmbHhkZWMgZXZlbnQKCSAgZnVuY3Rpb25zLgoKMjAwNS0xMS0yMSAxNzo1MjoxNSArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSogZ3N0L2F1cGFyc2UvTWFrZWZpbGUuYW06CgkqIGdzdC9hdXBhcnNlL2dzdGF1cGFyc2UuaDoKCSAgRm9yZ290IHRvIGNvbW1pdCBoZWFkZXIgZmlsZSBjaGFuZ2VzLCBNYWtlZmlsZS5hbSBjaGFuZ2VzLiBPb3BzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgRm9yZ290IHRvIGNvbW1pdCBoZWFkZXIgZmlsZSBjaGFuZ2VzLCBNYWtlZmlsZS5hbSBjaGFuZ2VzLiBPb3BzLgoKMjAwNS0xMS0yMSAxNzo0OToyMSArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLmM6CgkgIGdzdF9vYmplY3RfdW5yZWYsIG5vdCBnX29iamVjdF91bnJlZgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZ3N0X29iamVjdF91bnJlZiwgbm90IGdfb2JqZWN0X3VucmVmCgoyMDA1LTExLTIxIDE3OjM3OjQxICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgRml4IGZvciBzdHJlYW0gbG9jayB1cGRhdGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmFhYy9nc3RmYWFjLmM6IChnc3RfZmFhY19zaW5rX2V2ZW50KToKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9oYW5kbGVfc3JjX2V2ZW50KToKCSAgKiBnc3QvdHRhL2dzdHR0YXBhcnNlLmM6IChnc3RfdHRhX3BhcnNlX3NyY19ldmVudCk6CgkgIEZpeCBmb3Igc3RyZWFtIGxvY2sgdXBkYXRlcy4KCjIwMDUtMTEtMjEgMTc6MjM6NDYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogVXNlIEdTVF9ERUJVR19GVU5DUFRSOyBhZGQgZGVidWcgbWVzc2FnZSBpbiBwYWQgYWN0aXZhdGUgZnVuY3Rpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiAoZ3N0X3dhdnBhcnNlX2luaXQpLAoJICAoZ3N0X3dhdnBhcnNlX2NyZWF0ZV9zb3VyY2VwYWQpLCAoZ3N0X3dhdnBhcnNlX3NpbmtfYWN0aXZhdGUpOgoJICBVc2UgR1NUX0RFQlVHX0ZVTkNQVFI7IGFkZCBkZWJ1ZyBtZXNzYWdlIGluIHBhZCBhY3RpdmF0ZSBmdW5jdGlvbi4KCjIwMDUtMTEtMjEgMTc6MTg6MDEgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIGdzdC9hdXBhcnNlLzogUGFydGlhbGx5IGZpeCAjMTYxNzEyLiBwbGF5YmluIHN0aWxsIGRvZXNuJ3Qgd29yayBvbiB0aGVzZSBmaWxlcywgKG9uIHRoZSBidWcgcmVwb3J0LCBBbmR5IHNheXMgd2UgYXJlbi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXVwYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLmM6IChnc3RfYXVwYXJzZV9jbGFzc19pbml0KSwKCSAgKGdzdF9hdXBhcnNlX2luaXQpLCAoZ3N0X2F1cGFyc2VfZGlzcG9zZSksIChnc3RfYXVwYXJzZV9jaGFpbiksCgkgIChnc3RfYXVwYXJzZV9jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9hdXBhcnNlL2dzdGF1cGFyc2UuaDoKCSAgUGFydGlhbGx5IGZpeCAjMTYxNzEyLiBwbGF5YmluIHN0aWxsIGRvZXNuJ3Qgd29yayBvbiB0aGVzZSBmaWxlcywKCSAgKG9uIHRoZSBidWcgcmVwb3J0LCBBbmR5IHNheXMgd2UgYXJlbid0IHR5cGVmaW5kaW5nIGl0IGZvciBzb21lCgkgIHJlYXNvbj8pIGJ1dCBhdCBsZWFzdCBhdXBhcnNlIGlzbid0IHRvdGFsbHkgYnVzdGVkIGxpa2UgaXQgd2FzIGJlZm9yZS4KCjIwMDUtMTEtMjEgMTY6NDU6NDYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IGpAYm9vdGxhYi5vcmcsICMzMjE5MDMpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3ZpZGVvX2NhcHMpOgoJICBBZGQgRFg1MCwgRElWWCBhbmQgRElWMyBmb3VyY2NzIChwYXRjaCBieQoJICBqQGJvb3RsYWIub3JnLCAjMzIxOTAzKS4KCjIwMDUtMTEtMjEgMTY6MzY6MDUgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkgICouKjogUmFuIHNjcmlwdHMvdXBkYXRlLW1hY3Jvcy4gT2ggeWVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMS0yMSAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiAqLmg6CgkgICogKi5jOiBSYW4gc2NyaXB0cy91cGRhdGUtbWFjcm9zLiBPaCB5ZXMuCgoyMDA1LTExLTIxIDE1OjA2OjM1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IEZpbGxlciBldmVudHMgYXJlIGdvbmUgZm9yIG5vdywgY29tbWVudCBvdXQgc2VjdGlvbiBnZW5lcmF0aW5nIHRoZW0uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiAoZ3N0X21hdHJvc2thX2RlbXV4X3N5bmNfc3RyZWFtcyk6CgkgIEZpbGxlciBldmVudHMgYXJlIGdvbmUgZm9yIG5vdywgY29tbWVudCBvdXQgc2VjdGlvbiBnZW5lcmF0aW5nCgkgIHRoZW0uCgoyMDA1LTExLTIxIDE0OjM5OjA0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgVXBkYXRlIGZvciBHU1RfRk9VUkNDX0ZPUk1BVCBBUEkgY2hhbmdlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6CgkgIChnc3RfZGZidmlkZW9zaW5rX2dldF9mb3JtYXRfZnJvbV9jYXBzKToKCSAgKiBleHQvc2RsL3NkbHZpZGVvc2luay5jOiAoZ3N0X3NkbHZpZGVvc2lua19jcmVhdGUpOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2xvb3BfaGVhZGVyKSwKCSAgKHF0ZGVtdXhfcGFyc2UpLCAocXRkZW11eF90eXBlX2dldCksIChxdGRlbXV4X25vZGVfZHVtcF9mb3JlYWNoKSwKCSAgKHF0ZGVtdXhfZHVtcF9oZGxyKSwgKHF0ZGVtdXhfZHVtcF9kcmVmKSwgKHF0ZGVtdXhfZHVtcF9zdHNkKSwKCSAgKHF0ZGVtdXhfZHVtcF9kY29tKSwgKHF0ZGVtdXhfcGFyc2VfdHJhayksIChxdGRlbXV4X3ZpZGVvX2NhcHMpLAoJICAocXRkZW11eF9hdWRpb19jYXBzKToKCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6IChnc3RfdjRsMnNyY192NGwyZm91cmNjX3RvX2NhcHMpOgoJICAqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzogKGdzdF92NGwyc3JjX2ZpbGxfZm9ybWF0X2xpc3QpLAoJICAoZ3N0X3Y0bDJzcmNfY2FwdHVyZV9pbml0KSwgKGdzdF92NGwyc3JjX2dldF9zaXplX2xpbWl0cyk6CgkgIFVwZGF0ZSBmb3IgR1NUX0ZPVVJDQ19GT1JNQVQgQVBJIGNoYW5nZS4KCjIwMDUtMTEtMjEgMTQ6MzM6MTEgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgUmVuYW1lIGdzdF9jYXBzX3N0cnVjdHVyZV9maXhhdGVfKiB0byBnc3Rfc3RydWN0dXJlX2ZpeGF0ZV8qICgjMzIyMDI3KQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6CgkgICogZXh0L3BvbHlwL3BvbHlwc2luay5jOiAoZ3N0X3BvbHlwc2lua19zaW5rX2ZpeGF0ZSk6CgkgICogZ3N0L2xpYnJmYi9nc3RyZmJzcmMuYzogKGdzdF9yZmJzcmNfZml4YXRlKToKCSAgKiBnc3QvbW9kcGx1Zy9nc3Rtb2RwbHVnLmNjOgoJICAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuYzogKGdzdF9nbGltYWdlc2lua19maXhhdGUpOgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzogKGdzdF92NGwyc3JjX2ZpeGF0ZSk6CgkgIFJlbmFtZSBnc3RfY2Fwc19zdHJ1Y3R1cmVfZml4YXRlXyogdG8gZ3N0X3N0cnVjdHVyZV9maXhhdGVfKgoJICAoIzMyMjAyNykKCjIwMDUtMTEtMjEgMTQ6MzE6MDUgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgUmVuYW1lIGdzdF9jYXBzX3N0cnVjdHVyZV9maXhhdGVfKiB0byBnc3Rfc3RydWN0dXJlX2ZpeGF0ZV8qICgjMzIyMDI3KQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYWFsaWIvZ3N0YWFzaW5rLmM6IChnc3RfYWFzaW5rX2ZpeGF0ZSk6CgkgICogZXh0L21pa21vZC9nc3RtaWttb2QuYzogKGdzdF9taWttb2Rfc3JjZml4YXRlKToKCSAgKiBnc3QvZ29vbS9nc3Rnb29tLmM6IChnc3RfZ29vbV9zcmNfbmVnb3RpYXRlKToKCSAgKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIFJlbmFtZSBnc3RfY2Fwc19zdHJ1Y3R1cmVfZml4YXRlXyogdG8gZ3N0X3N0cnVjdHVyZV9maXhhdGVfKgoJICAoIzMyMjAyNykKCjIwMDUtMTEtMjEgMTM6Mzg6MjQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBGaXhlcyBmb3IgR1NUX0ZPVVJDQ19GT1JNQVQgQVBJIGNoYW5nZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2FhbGliL2dzdGFhc2luay5jOiAoZ3N0X2Fhc2lua19zZXRjYXBzKToKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X3BhcnNlX2ZpbGVfaGVhZGVyKSwKCSAgKGdzdF9hdmlfZGVtdXhfcmVhZF9zdWJpbmRleGVzKSwgKGdzdF9hdmlfZGVtdXhfcGFyc2Vfc3RyZWFtKSwKCSAgKGdzdF9hdmlfZGVtdXhfcGFyc2Vfb2RtbCksIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9pbmRleCksCgkgIChnc3RfYXZpX2RlbXV4X3N5bmMpLCAoZ3N0X2F2aV9kZW11eF9zdHJlYW1faGVhZGVyKSwKCSAgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2RhdGEpOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiAoZ3N0X21hdHJvc2thX2RlbXV4X3ZpZGVvX2NhcHMpOgoJICAqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmM6ICh3cml0ZV9tZXRhZGF0YSk6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IChnc3Rfd2F2cGFyc2VfcGFyc2VfYWR0bCksCgkgIChnc3Rfd2F2cGFyc2VfcGFyc2VfZmlsZV9oZWFkZXIpLCAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9oZWFkZXJzKToKCSAgRml4ZXMgZm9yIEdTVF9GT1VSQ0NfRk9STUFUIEFQSSBjaGFuZ2UuCgoyMDA1LTExLTIxIDEyOjEzOjQ4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgRml4IGZvciBjb2xsZWN0IHBhZHMgQVBJIGNoYW5nZS4gQWxzbyBmaXggdGV4dG92ZXJsYXkgc3RhdGUgY2hhbmdlIGZ1bmN0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvY2Fpcm8vZ3N0dGV4dG92ZXJsYXkuYzogKGdzdF90ZXh0X292ZXJsYXlfZmluYWxpemUpLAoJICAoZ3N0X3RleHRfb3ZlcmxheV9pbml0KSwgKGdzdF90ZXh0X292ZXJsYXlfdGV4dF9wYWRfbGlua2VkKSwKCSAgKGdzdF90ZXh0X292ZXJsYXlfdGV4dF9wYWRfdW5saW5rZWQpLCAoZ3N0X3RleHRfb3ZlcmxheV9wb3BfdmlkZW8pLAoJICAoZ3N0X3RleHRfb3ZlcmxheV9wb3BfdGV4dCksIChnc3RfdGV4dF9vdmVybGF5X2NvbGxlY3RlZCksCgkgIChnc3RfdGV4dF9vdmVybGF5X2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOiAoZ3N0X21hdHJvc2thX211eF9pbml0KSwKCSAgKGdzdF9tYXRyb3NrYV9tdXhfcmVzZXQpLCAoZ3N0X21hdHJvc2thX211eF9yZXF1ZXN0X25ld19wYWQpLAoJICAoZ3N0X21hdHJvc2thX211eF9iZXN0X3BhZCksIChnc3RfbWF0cm9za2FfbXV4X2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L3NtcHRlL2dzdHNtcHRlLmM6IChnc3Rfc21wdGVfaW5pdCksIChnc3Rfc21wdGVfY29sbGVjdGVkKToKCSAgKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6IChnc3RfdmlkZW9taXhlcl9pbml0KSwKCSAgKGdzdF92aWRlb21peGVyX3JlcXVlc3RfbmV3X3BhZCksIChnc3RfdmlkZW9taXhlcl9maWxsX3F1ZXVlcyksCgkgIChnc3RfdmlkZW9taXhlcl9jaGFuZ2Vfc3RhdGUpOgoJICBGaXggZm9yIGNvbGxlY3QgcGFkcyBBUEkgY2hhbmdlLiBBbHNvIGZpeCB0ZXh0b3ZlcmxheSBzdGF0ZQoJICBjaGFuZ2UgZnVuY3Rpb24uCgoyMDA1LTExLTIwIDE3OjA0OjU1ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzogUmVwbGFjZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMS0yMCAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzogKGdzdF9tYXRyb3NrYV9tdXhfc3RhcnQpOiBSZXBsYWNlCgkgIEdTVF9QQURfSVNfVVNBQkxFIGJ5IHNvbWV0aGluZyBhcHByb2FjaGluZyBpdC4KCjIwMDUtMTEtMjAgMTY6NDM6MzIgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOiBGaXggZm9yCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTExLTIwICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOiAoZ3N0X21hdHJvc2thX211eF9zdGFydCk6IEZpeCBmb3IKCSAgQVBJIGNoYW5nZXMuCgkgICogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuYzogKGdzdF93YXZlbmNfY2hhaW4pOiBGaXggZm9yIEFQSQoJICBjaGFuZ2VzLAoJICBidXQgYWxzbyBmaXggdGhlIGNvZGUgdGhhdCB3YXMgbm90IGNoZWNraW5nIHJldHVybiB2YWx1ZXMgZnJvbQoJICBwYWRfcHVzaCBuZWl0aGVyIHVzaW5nIHBhZF9hbGxvY19idWZmZXIuCgoyMDA1LTExLTE4IDE4OjE5OjIxICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZXh0L2xpYnBuZy9nc3RwbmdlbmMuYzogQWRkZWQgZGVidWcgY2F0ZWdvcnkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2xpYnBuZy9nc3RwbmdlbmMuYzogKGdzdF9wbmdlbmNfY2xhc3NfaW5pdCksCgkgIChnc3RfcG5nZW5jX2NoYWluKToKCSAgQWRkZWQgZGVidWcgY2F0ZWdvcnkKCSAgUmV0dXJuIEdTVF9GTE9XX1VORVhQRUNURUQgd2hlbiBzZW5kaW5nIGFuIEVPUywgc28gdGhlIHdob2xlIHBpcGVsaW5lCgkgIGdvZXMgdG8gRU9TLgoKMjAwNS0xMS0xNyAxODoyMzoyMyArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwL2dzdHJ0cC5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MTFkZWMuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzExZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzExZW5jLmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcxMWVuYy5oOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MTFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzExcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhkZWMuYzoKCSogZ3N0L3J0cC9nc3RydHBzcGVleGRlYy5oOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzcGVleGRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhlbmMuYzoKCSogZ3N0L3J0cC9nc3RydHBzcGVleGVuYy5oOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhwYXkuaDoKCSAgQ3JlYXRlZCBTcGVleCBwYXlsb2FkZXIgYW5kIGRlcGF5bG9hZGVyOyBPcHRpbWl6ZSBHNzExIHBheWxvYWRlciB0byB1c2UgYWRhcHRlciBhbmQgc2VuZCBwYWNrZXRzIHVudGlsIE1UVSBzaXplLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQ3JlYXRlZCBTcGVleCBwYXlsb2FkZXIgYW5kIGRlcGF5bG9hZGVyOyBPcHRpbWl6ZSBHNzExIHBheWxvYWRlciB0byB1c2UgYWRhcHRlciBhbmQgc2VuZCBwYWNrZXRzIHVudGlsIE1UVSBzaXplLgoKMjAwNS0xMS0xNiAxOTowODo1NCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGNoZWNrL2VsZW1lbnRzL21hdHJvc2thbXV4LmM6IEZpeCBsZWFrIGluIGNoZWNrLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjaGVjay9lbGVtZW50cy9tYXRyb3NrYW11eC5jOiAoc2V0dXBfc3JjX3BhZCksIChzZXR1cF9zaW5rX3BhZCk6CgkgIEZpeCBsZWFrIGluIGNoZWNrLgoKMjAwNS0xMS0xNiAxNzowMDozMiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9mbHgvZ3N0Zmx4ZGVjLmM6IEZpeCBzdGF0ZSBjaGFuZ2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHgvZ3N0Zmx4ZGVjLmM6IChnc3RfZmx4ZGVjX2NoYW5nZV9zdGF0ZSk6CgkgIEZpeCBzdGF0ZSBjaGFuZ2UuCgoyMDA1LTExLTE2IDExOjAyOjI0ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIE1vdmUgY29tbWVudC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIChnc3RfdWRwc3JjX2NyZWF0ZSk6IE1vdmUgY29tbWVudC4KCjIwMDUtMTEtMTYgMTA6NDM6NDQgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkgIGdzdC91ZHAvZ3N0dWRwc3JjLmM6IENsZWFuIHVwIHdpdGggdGhlIGJvaWxlcnBsYXRlIG1hY3JvLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMS0xNiAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBnc3QvdWRwL2dzdHVkcHNyYy5jOiBDbGVhbiB1cCB3aXRoIHRoZSBib2lsZXJwbGF0ZSBtYWNyby4KCjIwMDUtMTEtMTUgMTk6NDE6MjEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogV2hlbiBzZWVraW5nLCBzZWVrIHRvIGNsb3Nlc3QgaW5kZXggZW50cnkgYXQgb3IgYmVmb3JlIHRoZSByZXF1ZXN0ZWQgc2VlayBwb3NpdGlvbiwgbm8uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFJldmlld2VkIGJ5OiBUaW0tUGhpbGlwcCBNw7xsbGVyICA8dGltIGF0IGNlbnRyaWN1bGFyIGRvdCBuZXQ+CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IChnc3RfbWF0cm9za2FkZW11eF9kb19pbmRleF9zZWVrKToKCSAgV2hlbiBzZWVraW5nLCBzZWVrIHRvIGNsb3Nlc3QgaW5kZXggZW50cnkgYXQgb3IgYmVmb3JlIHRoZSByZXF1ZXN0ZWQKCSAgc2VlayBwb3NpdGlvbiwgbm90IGp1c3QgdGhlIGNsb3Nlc3Qgb25lICgjMzIxMDAxKS4KCjIwMDUtMTEtMTUgMTI6MTY6MDAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IEludmVydCBESUIgaW1hZ2VzIGFnYWluIChzZWUgIzEzMjM0MSkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKHN3YXBfbGluZSksIChnc3RfYXZpX2RlbXV4X2ludmVydCksCgkgIChnc3RfYXZpX2RlbXV4X3Byb2Nlc3NfbmV4dF9lbnRyeSksIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9kYXRhKToKCSAgSW52ZXJ0IERJQiBpbWFnZXMgYWdhaW4gKHNlZSAjMTMyMzQxKS4KCjIwMDUtMTEtMTQgMDI6MTM6MzUgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBjb21tb246CgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2FhbGliL2dzdGFhc2luay5jOgoJKiBleHQvY2Fpcm8vZ3N0Y2Fpcm8uYzoKCSogZXh0L2R2L2dzdGR2LmM6CgkqIGV4dC9lc2QvZ3N0ZXNkLmM6CgkqIGV4dC9mbGFjL2dzdGZsYWMuYzoKCSogZXh0L2djb25mL2dzdGdjb25mZWxlbWVudHMuYzoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWcuYzoKCSogZXh0L2xhZHNwYS9nc3RsYWRzcGEuYzoKCSogZXh0L2xpYmNhY2EvZ3N0Y2FjYXNpbmsuYzoKCSogZXh0L2xpYm1uZy9nc3RtbmcuYzoKCSogZXh0L2xpYnBuZy9nc3RwbmcuYzoKCSogZXh0L21pa21vZC9nc3RtaWttb2QuYzoKCSogZXh0L3BhbmdvL2dzdHRleHRvdmVybGF5LmM6CgkqIGV4dC9wYW5nby9nc3R0aW1lb3ZlcmxheS5jOgoJKiBleHQvcmF3MTM5NC9nc3QxMzk0LmM6CgkqIGV4dC9zcGVleC9nc3RzcGVleC5jOgoJKiBnc3QvYWxwaGEvTWFrZWZpbGUuYW06CgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGFjb2xvci5jOgoJKiBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NpbmsuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2RldGVjdC5jOgoJKiBnc3QvYXZpL2dzdGF2aS5jOgoJKiBnc3QvY3V0dGVyL2dzdGN1dHRlci5jOgoJKiBnc3QvZGVidWcvZWZlbmNlLmM6CgkqIGdzdC9kZWJ1Zy9nc3RkZWJ1Zy5jOgoJKiBnc3QvZGVidWcvZ3N0bmF2aWdhdGlvbnRlc3QuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0ZWZmZWN0di5jOgoJKiBnc3QvZmx4L2dzdGZseGRlYy5jOgoJKiBnc3QvZ29vbS9nc3Rnb29tLmM6CgkqIGdzdC9sYXcvYWxhdy5jOgoJKiBnc3QvbGF3L211bGF3LmM6CgkqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EuYzoKCSogZ3N0L21lZGlhbi9nc3RtZWRpYW4uYzoKCSogZ3N0L21vbm9zY29wZS9nc3Rtb25vc2NvcGUuYzoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnQuYzoKCSogZ3N0L29sZGNvcmUvZ3N0ZWxlbWVudHMuYzoKCSogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cC9nc3Rhc3Rlcmlza2gyNjMuYzoKCSogZ3N0L3J0cC9nc3RydHAuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcC5jOgoJKiBnc3Qvc21vb3Rod2F2ZS9nc3RzbW9vdGh3YXZlLmM6CgkqIGdzdC9zbXB0ZS9nc3RzbXB0ZS5jOgoJKiBnc3QvdWRwL2dzdHVkcC5jOgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdGdhbW1hLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2JhbGFuY2UuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmxpcC5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW90ZW1wbGF0ZS5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmM6CgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJKiBzeXMvb3NzL2dzdG9zc2F1ZGlvLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpby5jOgoJICByZXdvcmsgY29uZmlndXJlLmFjOyBtYWtlIGFzdGVyaXNrIHJ0cCBzdHVmZiBjb21waWxlIG9uIG1pbmd3CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZXdvcmsgY29uZmlndXJlLmFjOyBtYWtlIGFzdGVyaXNrIHJ0cCBzdHVmZiBjb21waWxlIG9uIG1pbmd3CgoyMDA1LTExLTEyIDEzOjMxOjU2ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOiBPbmx5IEdTVF9ERUJVRygpIGluZm9ybWF0aW9uIG9uIHRoZSB2YWxpZCBjb21wb25lbnRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6IChnc3RfanBlZ19kZWNfY2hhaW4pOgoJICBPbmx5IEdTVF9ERUJVRygpIGluZm9ybWF0aW9uIG9uIHRoZSB2YWxpZCBjb21wb25lbnRzLgoKMjAwNS0xMS0xMSAxOTozNDo1MCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbmZpZ3VyZS5hYzoKCSAgYmFjayB0byBoZWFkCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBiYWNrIHRvIGhlYWQKCj09PSByZWxlYXNlIDAuOS41ID09PQoKMjAwNS0xMS0xMSAxOTozMzoyMyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9mbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSAgcmVsZWFzaW5nIDAuOS41CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZWxlYXNpbmcgMC45LjUKCjIwMDUtMTEtMTEgMTg6MzM6MjEgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDA1LTExLTExIDE2OjQ4OjU4ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC4qOiBZZWFoLCBpbXBsZW1lbnQgcHJvcGVyIHNlZWtpbmcuIEV4YWN0IHNlZWtpbmcgYW5kIHNlZ21lbnQgc2Vla2luZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9yZXNldCksCgkgIChnc3RfYXZpX2RlbXV4X3NyY19jb252ZXJ0KSwgKGdzdF9hdmlfZGVtdXhfaGFuZGxlX3NyY19ldmVudCksCgkgIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9oZWFkZXIpLCAoZ3N0X2F2aV9kZW11eF9oYW5kbGVfc2VlayksCgkgIChnc3RfYXZpX2RlbXV4X3Byb2Nlc3NfbmV4dF9lbnRyeSksIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9kYXRhKSwKCSAgKGdzdF9hdmlfZGVtdXhfbG9vcCk6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5oOgoJICBZZWFoLCBpbXBsZW1lbnQgcHJvcGVyIHNlZWtpbmcuIEV4YWN0IHNlZWtpbmcgYW5kIHNlZ21lbnQgc2Vla2luZy4KCSAgU3RpbGwgbmVlZCB0byBkbyBzb21lIGNoZWNrcyBmb3Igc2VnbWVudF9zdG9wLgoKMjAwNS0xMS0xMSAxNToxNzo0NCArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZ3N0LXBsdWdpbnMtZ29vZC5zcGVjLmluOgoJICBmaXggQ2Fpcm8gZW50cnkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGZpeCBDYWlybyBlbnRyeQoKMjAwNS0xMS0xMCAxMjozNDoyNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogQWRkIHN1cHBvcnQgZm9yIGN1c3RvbSBnZW5yZSB0YWdzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUmV2aWV3ZWQgYnk6IFRpbS1QaGlsaXBwIE3DvGxsZXIgIDx0aW0gYXQgY2VudHJpY3VsYXIgZG90IG5ldD4KCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3BhcnNlX3VkdGEpOgoJICBBZGQgc3VwcG9ydCBmb3IgY3VzdG9tIGdlbnJlIHRhZ3MuCgoyMDA1LTExLTEwIDEyOjIyOjMwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOiBEb24ndCB0cnkgdG8gcmVhZHkgYnVmZmVyIGR1cmF0aW9uIGZyb20gYnVmZmVyIHRoYXQgd2UgZG9uJ3Qgb3duIGFueSAgbG9uZ2VyIGFuZCB0aGF0IG1pLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBSZXZpZXdlZCBieTogVGltLVBoaWxpcHAgTcO8bGxlciAgPHRpbSBhdCBjZW50cmljdWxhciBkb3QgbmV0PgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzogKGdzdF9tYXRyb3NrYV9tdXhfd3JpdGVfZGF0YSk6CgkgIERvbid0IHRyeSB0byByZWFkeSBidWZmZXIgZHVyYXRpb24gZnJvbSBidWZmZXIgdGhhdCB3ZSBkb24ndAoJICBvd24gYW55ICBsb25nZXIgYW5kIHRoYXQgbWlnaHQgYWxyZWFkeSBoYXZlIGJlZW4gdW5yZWZmZWQuCgkgICgjMzIxMTM2KQoKMjAwNS0xMS0wOSAyMTozNToyOSArMDAwMCAgWmVlc2hhbiBBbGkgPHplZW5peEBnbWFpbC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIGdzdC9mbHgvZ3N0Zmx4ZGVjLmM6CgkgIEF0dGVtcHRpbmcgdG8gb3B0aW1pemUgdGhlIGNvZGUgZm9yIGVtYmVkZGVkIHN5c3RlbXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBBdHRlbXB0aW5nIHRvIG9wdGltaXplIHRoZSBjb2RlIGZvciBlbWJlZGRlZCBzeXN0ZW1zLgoKMjAwNS0xMS0wOCAwODo1NDozMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHN5cy9vc3MvZ3N0b3Nzc2luay5jOiBEb24ndCByZS11c2UgYWxyZWFkeSBjbG9zZWQgZmlsZSBkZXNjcmlwdG9yLiAoIzMyMDkyMCkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFJldmlld2VkIGJ5OiBUaW0tUGhpbGlwcCBNw7xsbGVyICA8dGltIGF0IGNlbnRyaWN1bGFyIGRvdCBuZXQ+CgkgICogc3lzL29zcy9nc3Rvc3NzaW5rLmM6IChnc3Rfb3NzX3NpbmtfY2xvc2UpOgoJICBEb24ndCByZS11c2UgYWxyZWFkeSBjbG9zZWQgZmlsZSBkZXNjcmlwdG9yLiAoIzMyMDkyMCkKCjIwMDUtMTEtMDcgMTc6MzU6MjAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBzeXMvb3NzL2dzdG9zc3NpbmsuKjogQ2FjaGUgcHJvYmVkIGNhcHM7IGZpeCBkZWJ1ZyBvdXRwdXQgZm9yIFNFVF9QQVJBTSBtYWNyb3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9vc3MvZ3N0b3Nzc2luay5jOiAoZ3N0X29zc19zaW5rX2Rpc3Bvc2UpLAoJICAoZ3N0X29zc19zaW5rX3NldF9wcm9wZXJ0eSksIChnc3Rfb3NzX3NpbmtfZ2V0Y2FwcyksCgkgIChnc3Rfb3NzX3NpbmtfcHJlcGFyZSk6CgkgICogc3lzL29zcy9nc3Rvc3NzaW5rLmg6CgkgIENhY2hlIHByb2JlZCBjYXBzOyBmaXggZGVidWcgb3V0cHV0IGZvciBTRVRfUEFSQU0gbWFjcm9zLgoKMjAwNS0xMS0wNyAxNTowOTo1NCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9jYWlyby86IFBvcnQgY2Fpcm8gdGV4dG92ZXJsYXkgcGx1Z2luIHRvIDAuOS4gQWRkICdzaGFkZWQtYmFja2dyb3VuZCcgcHJvcGVydHkgYW5kIHJlZG8gcG9zaXRpb24uIERvZXNuJ3QgaGFuZGxlIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvY2Fpcm8vTWFrZWZpbGUuYW06CgkgICogZXh0L2NhaXJvL2dzdGNhaXJvLmM6IChwbHVnaW5faW5pdCk6CgkgICogZXh0L2NhaXJvL2dzdHRleHRvdmVybGF5LmM6IChnc3RfdGV4dF9vdmVybGF5X2Jhc2VfaW5pdCksCgkgIChnc3RfdGV4dF9vdmVybGF5X2NsYXNzX2luaXQpLCAoZ3N0X3RleHRfb3ZlcmxheV9maW5hbGl6ZSksCgkgIChnc3RfdGV4dF9vdmVybGF5X2luaXQpLCAoZ3N0X3RleHRfb3ZlcmxheV9mb250X2luaXQpLAoJICAoZ3N0X3RleHRfb3ZlcmxheV9zZXRfcHJvcGVydHkpLCAoZ3N0X3RleHRfb3ZlcmxheV9yZW5kZXJfdGV4dCksCgkgIChnc3RfdGV4dF9vdmVybGF5X2dldGNhcHMpLCAoZ3N0X3RleHRfb3ZlcmxheV9zZXRjYXBzKSwKCSAgKGdzdF90ZXh0X292ZXJsYXlfdGV4dF9wYWRfbGlua2VkKSwKCSAgKGdzdF90ZXh0X292ZXJsYXlfdGV4dF9wYWRfdW5saW5rZWQpLCAoZ3N0X3RleHRfb3ZlcmxheV9zaGFkZV95KSwKCSAgKGdzdF90ZXh0X292ZXJsYXlfYmxpdF8xKSwgKGdzdF90ZXh0X292ZXJsYXlfYmxpdF9zdWIyeDIpLAoJICAoZ3N0X3RleHRfb3ZlcmxheV9wdXNoX2ZyYW1lKSwgKGdzdF90ZXh0X292ZXJsYXlfcG9wX3ZpZGVvKSwKCSAgKGdzdF90ZXh0X292ZXJsYXlfcG9wX3RleHQpLCAoZ3N0X3RleHRfb3ZlcmxheV9jb2xsZWN0ZWQpLAoJICAoZ3N0X3RleHRfb3ZlcmxheV9jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9jYWlyby9nc3R0ZXh0b3ZlcmxheS5oOgoJICBQb3J0IGNhaXJvIHRleHRvdmVybGF5IHBsdWdpbiB0byAwLjkuIEFkZCAnc2hhZGVkLWJhY2tncm91bmQnCgkgIHByb3BlcnR5IGFuZCByZWRvIHBvc2l0aW9uLiBEb2Vzbid0IGhhbmRsZSB1cHN0cmVhbSByZW5lZ290aWF0aW9uCgkgIHlldCB0aG91Z2guCgoyMDA1LTExLTA3IDEwOjMxOjMyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiBObyBuZWVkIHRvIHRha2UgdGhlIFNUUkVBTV9MT0NLIGluIHRoZSBsb29wIGZ1bmN0aW9uLiBJbXByb3ZlIHNvbWUgZGVidWcgbWVzc2FnZXMuIERvbid0IGxlYWsgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfcGFyc2Vfc3RyZWFtKSwKCSAgKGdzdF9hdmlfZGVtdXhfcHJvY2Vzc19uZXh0X2VudHJ5KSwgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2RhdGEpLAoJICAoZ3N0X2F2aV9kZW11eF9sb29wKToKCSAgTm8gbmVlZCB0byB0YWtlIHRoZSBTVFJFQU1fTE9DSyBpbiB0aGUgbG9vcCBmdW5jdGlvbi4gSW1wcm92ZQoJICBzb21lIGRlYnVnIG1lc3NhZ2VzLiBEb24ndCBsZWFrIHBhZCBuYW1lcyBpbiBkZWJ1ZyBtZXNzYWdlcy4KCjIwMDUtMTEtMDcgMTA6Mjc6MDAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogRG9uJ3QgZXJyb3Igb3V0IHdoZW4gdGhlIHNvdXJjZSBwYWQgaXNuJ3QgbGlua2VkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wdXNoX3ZvcmJpc19jb2RlY19wcml2X2RhdGEpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2FkZF93dnBrX2hlYWRlcik6CgkgIERvbid0IGVycm9yIG91dCB3aGVuIHRoZSBzb3VyY2UgcGFkIGlzbid0IGxpbmtlZC4KCjIwMDUtMTEtMDIgMTk6NDI6MzggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvZ2NvbmYvOiBGaXggc3RhdGUgY2hhbmdlIGZ1bmN0aW9ucyBoZXJlIGFzIHdlbGwgYW5kIHNldCBraWQgdG8gTlVMTCBzdGF0ZSBiZWZvcmUgcmVtb3ZpbmcgaXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9nY29uZi9nc3RnY29uZmF1ZGlvc2luay5jOiAoZG9fdG9nZ2xlX2VsZW1lbnQpLAoJICAoZ3N0X2djb25mX2F1ZGlvX3NpbmtfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvZ2NvbmYvZ3N0Z2NvbmZ2aWRlb3NpbmsuYzogKGRvX3RvZ2dsZV9lbGVtZW50KSwKCSAgKGdzdF9nY29uZl92aWRlb19zaW5rX2NoYW5nZV9zdGF0ZSk6CgkgIEZpeCBzdGF0ZSBjaGFuZ2UgZnVuY3Rpb25zIGhlcmUgYXMgd2VsbCBhbmQgc2V0IGtpZAoJICB0byBOVUxMIHN0YXRlIGJlZm9yZSByZW1vdmluZyBpdC4KCjIwMDUtMTEtMDIgMTY6NDg6NTUgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogY2hlY2svZWxlbWVudHMvbWF0cm9za2FtdXguYzoKCSogY29tbW9uOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tYXRyb3NrYW11eC5jOgoJICBzaWdoLCBzdGF0aWMgcGFkIHRlbXBsYXRlcyBhcmVuJ3QgcmVmY291bnRlZCBwcm9wZXJseQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgc2lnaCwgc3RhdGljIHBhZCB0ZW1wbGF0ZXMgYXJlbid0IHJlZmNvdW50ZWQgcHJvcGVybHkKCjIwMDUtMTEtMDEgMTY6MTQ6MjUgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogZ3N0L2xldmVsLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkgIGlnbm9yZSBtb3JlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBpZ25vcmUgbW9yZQoKMjAwNS0xMS0wMSAxNToxNTo0NCArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmM6IEFkZGVkIHByb3BlciBldmVudCBoYW5kbGluZCwgbWFkZSBkb3duc3RyZWFtIG5ld3NlZ21lbnQgZXZlbnQgdXNlIEdTVF9GT1JNQVRfQllURVMgKG90aGVyd2lzZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5jOiAoZ3N0X3dhdmVuY19zdG9wX2ZpbGUpLAoJICAoZ3N0X3dhdmVuY19pbml0KSwgKGdzdF93YXZlbmNfZXZlbnQpLCAoZ3N0X3dhdmVuY19jaGFpbik6CgkgIEFkZGVkIHByb3BlciBldmVudCBoYW5kbGluZCwKCSAgbWFkZSBkb3duc3RyZWFtIG5ld3NlZ21lbnQgZXZlbnQgdXNlIEdTVF9GT1JNQVRfQllURVMgKG90aGVyd2lzZSBpdCdzCgkgIGlnbm9yZWQpLAoJICBhbmQgZG9uJ3Qgc2V0IGEgZHVyYXRpb24gb2YgMCBmb3IgYnVmZmVycyBvdGhlcndpc2UgdGhleSBhcmUgZGlzY2FyZGVkCgkgIGJ5IEdzdEJhc2VTaW5rLgoJICBHc3RXYXZFbmMgbmVlZHMgc29tZSBzZXJpb3VzIGxvdmluZywgYWZ0ZXIgZ29pbmcgdGhyb3VnaCB0aGUgY29kZSBJJ20KCSAgcmVhbGx5IHdvbmRlcmluZyBob3cgdGhpcyBjYW4gc3RheSBpbiAtZ29vZCAuLi4KCjIwMDUtMTEtMDEgMTU6MTE6MTYgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgRml4IGxlYWtzIGFuZCBpbnZhbGlkIG1lbW9yeSBhY2Nlc3MgYXMgcmVwb3J0ZWQgYnkgdmFsZ3JpbmQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY2hlY2svZWxlbWVudHMvbWF0cm9za2FtdXguYzogKHNldHVwX3NyY19wYWQpLCAoc2V0dXBfc2lua19wYWQpLAoJICAoc2V0dXBfbWF0cm9za2FtdXgpLCAoY2hlY2tfYnVmZmVyX2RhdGEpLCAoR1NUX1NUQVJUX1RFU1QpOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzogKGdzdF9tYXRyb3NrYV9tdXhfZmluYWxpemUpLAoJICAoZ3N0X21hdHJvc2thX211eF9yZXNldCksIChnc3RfbWF0cm9za2FfbXV4X2F1ZGlvX3BhZF9zZXRjYXBzKSwKCSAgKGdzdF9tYXRyb3NrYV9tdXhfc3RhcnQpLCAoZ3N0X21hdHJvc2thX211eF93cml0ZV9kYXRhKSwKCSAgKGdzdF9tYXRyb3NrYV9tdXhfY29sbGVjdGVkKToKCSAgRml4IGxlYWtzIGFuZCBpbnZhbGlkIG1lbW9yeSBhY2Nlc3MgYXMgcmVwb3J0ZWQgYnkgdmFsZ3JpbmQKCjIwMDUtMTEtMDEgMTQ6NDE6MDEgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogY2hlY2svZWxlbWVudHMvbWF0cm9za2FtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbWF0cm9za2FtdXguYzoKCSAgLi4uIGFuZCBhZGQgdGhlIG1pc3NpbmcgZmlsZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgLi4uIGFuZCBhZGQgdGhlIG1pc3NpbmcgZmlsZQoKMjAwNS0xMS0wMSAxNDozNjowMiArMDAwMCAgTWljaGFsIEJlbmVzIDxtaWNoYWwuYmVuZXNAeGVyaXMuY3o+CgoJICBhZGQgYSB1bml0IHRlc3QgZm9yIG1hdHJvc2thbXV4IGZpeCB0aGUgYnVncyB0aGF0IHRoZSB1bml0IHRlc3QgZXhwb3NlZAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE1pY2hhbCBCZW5lcyA8bWljaGFsLmJlbmVzQHhlcmlzLmN6PgoJICAqIGNoZWNrL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tYXRyb3NrYS9lYm1sLXdyaXRlLmM6IChnc3RfZWJtbF93cml0ZV9zZWVrKToKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6IChnc3RfbWF0cm9za2FfbXV4X2hhbmRsZV9zcmNfZXZlbnQpLAoJICAoZ3N0X21hdHJvc2thX211eF9hdWRpb19wYWRfc2V0Y2FwcyksIChnc3RfbWF0cm9za2FfbXV4X3N0YXJ0KToKCSAgYWRkIGEgdW5pdCB0ZXN0IGZvciBtYXRyb3NrYW11eAoJICBmaXggdGhlIGJ1Z3MgdGhhdCB0aGUgdW5pdCB0ZXN0IGV4cG9zZWQKCjIwMDUtMTEtMDEgMTQ6MzQ6MjIgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSAgZml4IE1ha2VmaWxlLmFtCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBmaXggTWFrZWZpbGUuYW0KCjIwMDUtMTEtMDEgMTI6Mzk6MTYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvYXV0b2RldGVjdC86IEZpeCBzdGF0ZSBjaGFuZ2UgZnVuY3Rpb24gYW5kIHVzZSBHU1RfREVCVUdfRlVOQ1BUUiBpbiBjbGFzc19pbml0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zaW5rLmM6CgkgIChnc3RfYXV0b19hdWRpb19zaW5rX2NsYXNzX2luaXQpLAoJICAoZ3N0X2F1dG9fYXVkaW9fc2lua19jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NpbmsuYzoKCSAgKGdzdF9hdXRvX3ZpZGVvX3NpbmtfY2xhc3NfaW5pdCksCgkgIChnc3RfYXV0b192aWRlb19zaW5rX2NoYW5nZV9zdGF0ZSk6CgkgIEZpeCBzdGF0ZSBjaGFuZ2UgZnVuY3Rpb24gYW5kIHVzZSBHU1RfREVCVUdfRlVOQ1BUUiBpbgoJICBjbGFzc19pbml0LgoKMjAwNS0xMS0wMSAxMjozNTozOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9tYXRyb3NrYS86IFNldCB0aW1lc3RhbXBzIG9uIG91dGdvaW5nIGVibWwgaGVhZGVycyBhcyB3ZWxsLCBzbyB0aGF0IHRoZSBlbGVtZW50IGFmdGVyIG1hdHJvc2thbXV4IGNhbiBnZXQgdGhlIHRpbS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUmV2aWV3ZWQgYnk6IFRpbS1QaGlsaXBwIE3DvGxsZXIgIDx0aW0gYXQgY2VudHJpY3VsYXIgZG90IG5ldD4KCSAgKiBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS5jOiAoZ3N0X2VibWxfd3JpdGVfbmV3KSwKCSAgKGdzdF9lYm1sX3dyaXRlX3Jlc2V0KSwgKGdzdF9lYm1sX3dyaXRlX2VsZW1lbnRfbmV3KToKCSAgKiBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS5oOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzogKGdzdF9tYXRyb3NrYV9tdXhfd3JpdGVfZGF0YSk6CgkgIFNldCB0aW1lc3RhbXBzIG9uIG91dGdvaW5nIGVibWwgaGVhZGVycyBhcyB3ZWxsLCBzbyB0aGF0IHRoZQoJICBlbGVtZW50IGFmdGVyIG1hdHJvc2thbXV4IGNhbiBnZXQgdGhlIHRpbWVzdGFtcCBhbHJlYWR5IHdoZW4KCSAgcmVhZGluZyB0aGUgZmlyc3QgZWJtbCBlbGVtZW50IGFuZCBkb2Vzbid0IGhhdmUgdG8gd2FpdCBmb3IKCSAgdGhlIGFjdHVhbCBkYXRhIGJ1ZmZlciBmb3IgdGhhdCAoIzMyMDMwOCkuCgoyMDA1LTEwLTMxIDIyOjA4OjUyICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSAgZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jIChnc3RfdmlkZW9taXhlcl9wYWRfdW5saW5rKQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMC0zMSAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmMgKGdzdF92aWRlb21peGVyX3BhZF91bmxpbmspCgkgIChnc3RfdmlkZW9taXhlcl9wYWRfbGluayk6IEtpbGwgc29tZSBtZW1sZWFrcy4KCSAgKGdzdF92aWRlb21peGVyX3BhZF9nZXRfcHJvcGVydHkpOiBTdHlsZSBmaXguCgkgIChnc3RfdmlkZW9taXhlcl9wYWRfc2V0X3Byb3BlcnR5KTogU3R5bGUgZml4LgoJICAoZ3N0X3ZpZGVvbWl4ZXJfcGFkX2luaXQpOiBTdHlsZSBmaXguCgkgIChnc3RfdmlkZW9taXhlcl91cGRhdGVfcXVldWVzKTogS2lsbCBtZW1sZWFrLgoJICAoZ3N0X3ZpZGVvbWl4ZXJfbG9vcCk6IEtpbGwgbWVtbGVhay4KCSAgKGdzdF92aWRlb21peGVyX2NvbGxlY3RlZCk6IEtpbGwgbWVtbGVhay4KCjIwMDUtMTAtMzEgMTk6MDg6MjcgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS5jOgoJICBKdXN0IHNvbWUgY2xlYW51cC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEp1c3Qgc29tZSBjbGVhbnVwLgoKMjAwNS0xMC0zMSAxNDo0MTozMSArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzoKCSAgQWRkIGNoZWNrcyB0byBHU1RfRkxPV19OT1RfTElOS0VEIGZvciB2YWx1ZXMgcmV0dXJuZWQgZnJvbSBnc3RfcGFkX3B1c2guCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBBZGQgY2hlY2tzIHRvIEdTVF9GTE9XX05PVF9MSU5LRUQgZm9yIHZhbHVlcyByZXR1cm5lZCBmcm9tIGdzdF9wYWRfcHVzaC4KCjIwMDUtMTAtMzEgMTI6MDA6MTAgKzAwMDAgIFplZXNoYW4gQWxpIDx6ZWVuaXhAZ21haWwuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MTFkZWMuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzExZGVwYXkuYzoKCSAgUGF5bG9hZGVyIG5vdyBzZXRzIHNvbWUgZGVmYXVsdCBjYXBzIG9uIHRoZSBzcmNwYWQgaWYgY2FwcyBvbiB0aGUgc2lua3BhZCBhcmUgbmV2ZXIgc2V0LiBUaGlzIGlzIGltcG9ydGFudCBmb3IgdGhlIGc3Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXlsb2FkZXIgbm93IHNldHMgc29tZSBkZWZhdWx0IGNhcHMgb24gdGhlIHNyY3BhZCBpZiBjYXBzIG9uIHRoZSBzaW5rcGFkIGFyZSBuZXZlciBzZXQuIFRoaXMgaXMgaW1wb3J0YW50IGZvciB0aGUgZzcxMSB0byB3b3JrIHdpdGggYnVyZ2VyJ3MgcnRwYmluIGVsZW1lbnQuCgoyMDA1LTEwLTI4IDE5OjE5OjQwICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbW1vbjoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6CgkgIEFkZCBjaGVja3MgZm9yIHJldHVybiB2YWx1ZXMgZnJvbSBnc3RfcGFkX3B1c2ggYW5kIGdzdF9wYWRfYWxsb2NfYnVmZmVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQWRkIGNoZWNrcyBmb3IgcmV0dXJuIHZhbHVlcyBmcm9tIGdzdF9wYWRfcHVzaCBhbmQgZ3N0X3BhZF9hbGxvY19idWZmZXIuCgoyMDA1LTEwLTI4IDE1OjMyOjQ4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L21hdHJvc2thLzogQWRkIFNpbXBsZUJsb2NrIHN1cHBvcnQgdG8gbWF0cm9za2EgZGVtdXhlciBhbmQgbXV4ZXIgKHBhcnQgb2YKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFJldmlld2VkIGJ5OiBUaW0tUGhpbGlwcCBNw7xsbGVyICA8dGltIGF0IGNlbnRyaWN1bGFyIGRvdCBuZXQ+CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IChnc3RfbWF0cm9za2FfZGVtdXhfaW5pdF9zdHJlYW0pLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2luZm8pLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2Jsb2NrZ3JvdXBfb3Jfc2ltcGxlYmxvY2spLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2NsdXN0ZXIpOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuaDoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6IChnc3RfbWF0cm9za2FfbXV4X2NsYXNzX2luaXQpLAoJICAoZ3N0X21hdHJvc2thX211eF9pbml0KSwgKGdzdF9tYXRyb3NrYV9tdXhfc3RhcnQpLAoJICAoZ3N0X21hdHJvc2thX211eF9jcmVhdGVfYnVmZmVyX2hlYWRlciksCgkgIChnc3RfbWF0cm9za2FfbXV4X3dyaXRlX2RhdGEpLCAoZ3N0X21hdHJvc2thX211eF9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X21hdHJvc2thX211eF9nZXRfcHJvcGVydHkpOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguaDoKCSAgQWRkIFNpbXBsZUJsb2NrIHN1cHBvcnQgdG8gbWF0cm9za2EgZGVtdXhlciBhbmQgbXV4ZXIgKHBhcnQgb2YKCSAgTWF0cm9za2EgdjIpLiAoIzMxOTczMSkKCjIwMDUtMTAtMjggMTM6MjQ6NDAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvanBlZy9nc3RqcGVnZGVjLio6IENsZWFudXBzLiBEb24ndCBjcmVhdGUgY2FwcyBmb3IgZXZlcnkgY2hhaW4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzogKGdzdF9qcGVnX2RlY19pbml0KSwgKGdzdF9qcGVnX2RlY19jaGFpbiksCgkgIChnc3RfanBlZ19kZWNfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvanBlZy9nc3RqcGVnZGVjLmg6CgkgIENsZWFudXBzLiBEb24ndCBjcmVhdGUgY2FwcyBmb3IgZXZlcnkgY2hhaW4uCgoyMDA1LTEwLTI3IDE4OjQ2OjMyICswMDAwICBGbGF2aW8gT2xpdmVpcmEgPGZsYXZpby5vbGl2ZWlyYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZ3N0L2xhdy9hbGF3LWVuY29kZS5jOgoJKiBnc3QvbGF3L2FsYXctZW5jb2RlLmg6CgkqIGdzdC9sYXcvbXVsYXctZW5jb2RlLmM6CgkqIGdzdC9sYXcvbXVsYXctZW5jb2RlLmg6CgkgIEZpeCB0byBzZXQgdGltZXN0YW1wIG9uIGJ1ZmZlciwgaXQgd2FzIHRlc3RlZCB3aXRoIFJUUCBHNzExIGVsZW1lbnRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgRml4IHRvIHNldCB0aW1lc3RhbXAgb24gYnVmZmVyLCBpdCB3YXMgdGVzdGVkIHdpdGggUlRQIEc3MTEgZWxlbWVudHMuCgoyMDA1LTEwLTI3IDExOjI3OjUzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5oOiBSZW1vdmUgZ290X3JlZGlyZWN0IGZyb20gY2xhc3Mgc3RydWN0dXJlIGFzIHdlbGwuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguaDoKCSAgUmVtb3ZlIGdvdF9yZWRpcmVjdCBmcm9tIGNsYXNzIHN0cnVjdHVyZSBhcyB3ZWxsLgoKMjAwNS0xMC0yNyAxMToyNToxOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogUmVtb3ZlICdnb3QtcmVkaXJlY3QnIHNpZ25hbCBhbmQgcG9zdCBlbGVtZW50IG1lc3NhZ2Ugb24gdGhlIGJ1cyBpbnN0ZWFkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9jbGFzc19pbml0KSwKCSAgKHF0ZGVtdXhfcGFyc2VfdHJlZSk6CgkgIFJlbW92ZSAnZ290LXJlZGlyZWN0JyBzaWduYWwgYW5kIHBvc3QgZWxlbWVudCBtZXNzYWdlCgkgIG9uIHRoZSBidXMgaW5zdGVhZC4KCjIwMDUtMTAtMjcgMTE6MDA6NDAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBzeXMvb3NzL2dzdG9zc3NyYy5jOiBTZXQgY29ycmVjdCBmb3JtYXQgb24gb3NzIGluc3RlYWQgb2YgYSBzaWxseSB2YWx1ZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL29zcy9nc3Rvc3NzcmMuYzogKGdzdF9vc3Nfc3JjX3ByZXBhcmUpOgoJICBTZXQgY29ycmVjdCBmb3JtYXQgb24gb3NzIGluc3RlYWQgb2YgYSBzaWxseSB2YWx1ZS4KCjIwMDUtMTAtMjcgMDk6NTI6MDggKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6IFVzZSBsaWJvaWwgZm9yCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTEwLTI3ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6IChnc3RfdmlkZW9fYm94X2NsYXNzX2luaXQpLAoJICAoZ3N0X3ZpZGVvX2JveF90cmFuc2Zvcm1fY2FwcyksIChnc3RfdmlkZW9fYm94X3NldF9jYXBzKSwKCSAgKGdzdF92aWRlb19ib3hfZ2V0X3VuaXRfc2l6ZSksIChnc3RfdmlkZW9fYm94X2NvcHlfcGxhbmVfaTQyMCksCgkgIChnc3RfdmlkZW9fYm94X2k0MjApLCAoZ3N0X3ZpZGVvX2JveF9heXV2KTogVXNlIGxpYm9pbCBmb3IKCSAgSTQyMCByZW5kZXJpbmcgYXMgd2VsbCwgZG9lc24ndCBicmluZyBtdWNoIGZvciBteSBwbGF0Zm9ybS4KCSAgTWlnaHQgaGVscCBvbiBzb21lIG90aGVyIHBsYXRmb3Jtcy4KCjIwMDUtMTAtMjYgMjE6NDc6MzYgKzAwMDAgIFplZXNoYW4gQWxpIDx6ZWVuaXhAZ21haWwuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtZW5jLmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtcGFyc2UuYzoKCSogZ3N0L3J0cC9nc3RydHBnc21wYXkuYzoKCSAgRGVjbGFyaW5nIHRoZSBwYWR0ZW1wbGF0ZSBjb3JyZWN0bHkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBEZWNsYXJpbmcgdGhlIHBhZHRlbXBsYXRlIGNvcnJlY3RseS4KCjIwMDUtMTAtMjYgMjA6Mjg6MzIgKzAwMDAgIFplZXNoYW4gQWxpIDx6ZWVuaXhAZ21haWwuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MTFkZWMuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzExZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzExZW5jLmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcxMXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtZW5jLmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtcGFyc2UuYzoKCSogZ3N0L3J0cC9nc3RydHBnc21wYXkuYzoKCSAgU2V0dGluZyB0aGUgcHJvcGVyIGNvcHlyaWdodCBub3RpY2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBTZXR0aW5nIHRoZSBwcm9wZXIgY29weXJpZ2h0IG5vdGljZS4KCjIwMDUtMTAtMjYgMTc6MjM6MDYgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZ3N0L3ZpZGVvYm94L01ha2VmaWxlLmFtOiBVc2UgbGlib2lsLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMC0yNiAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGdzdC92aWRlb2JveC9NYWtlZmlsZS5hbTogVXNlIGxpYm9pbC4KCSAgKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzogKGdzdF92aWRlb19ib3hfY2xhc3NfaW5pdCksCgkgIChnc3RfdmlkZW9fYm94X3NldF9wcm9wZXJ0eSksIChnc3RfdmlkZW9fYm94X3RyYW5zZm9ybV9jYXBzKSwKCSAgKGdzdF92aWRlb19ib3hfc2V0X2NhcHMpLCAoZ3N0X3ZpZGVvX2JveF9nZXRfdW5pdF9zaXplKSwKCSAgKGdzdF92aWRlb19ib3hfYXl1dik6IExvdCBvZiBvcHRpbWl6YXRpb24gaW4gQVlVViByZW5kZXJpbmcKCSAgdXNpbmcgbGlib2lsLiBXaWxsIGRvdCB0aGUgc2FtZSB0byBJNDIwIGJvcmRlciBnZW5lcmF0aW9uCgkgIHRvbW9ycm93LgoKMjAwNS0xMC0yNiAxNjozNjowMSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJICBmaXggYXV0b21ha2Ugd2FybmluZ3MKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGZpeCBhdXRvbWFrZSB3YXJuaW5ncwoKMjAwNS0xMC0yNiAxNDo1MDo1OSArMDAwMCAgWmVlc2hhbiBBbGkgPHplZW5peEBnbWFpbC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIGdzdC9ydHAvZ3N0cnRwZzcxMWRlYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MTFkZWMuaDoKCSogZ3N0L3J0cC9nc3RydHBnNzExZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzExZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBnNzExZW5jLmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcxMXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBnc21lbmMuYzoKCSogZ3N0L3J0cC9nc3RydHBnc21wYXJzZS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbXBhcnNlLmg6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtcGF5LmM6CgkgIEhhY2tlZCB0aGUgRzcxMSAoZGUpcGF5bG9hZGVyIHRvIHRyeSB0byBtYWtlIHRoaW5ncyByaWdodC4gcnRwZzcxMWRlYyBub3cgaW5oZXJpdHMgZnJvbSB0aGUgYmFzZXJ0cGRlcGF5bG9hZGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgSGFja2VkIHRoZSBHNzExIChkZSlwYXlsb2FkZXIgdG8gdHJ5IHRvIG1ha2UgdGhpbmdzIHJpZ2h0LiBydHBnNzExZGVjIG5vdyBpbmhlcml0cyBmcm9tIHRoZSBiYXNlcnRwZGVwYXlsb2FkZXIuCgoyMDA1LTEwLTI2IDE0OjIzOjQ1ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOiBSZW1vdmluZyB0aGlzIGZvcmdvdHRlbiBkZWJ1Zy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTAtMjYgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzogKGdzdF92aWRlb19ib3hfY2xhc3NfaW5pdCksCgkgIChnc3RfdmlkZW9fYm94X3RyYW5zZm9ybV9jYXBzKSwgKGdzdF92aWRlb19ib3hfZ2V0X3VuaXRfc2l6ZSksCgkgIChnc3RfdmlkZW9fYm94X2F5dXYpOiBSZW1vdmluZyB0aGlzIGZvcmdvdHRlbiBkZWJ1Zy4KCjIwMDUtMTAtMjYgMTQ6MDg6NDkgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6IEZpeCB0aGUgc3RyaWRlIGlzc3VlIHdoZW4gYm94aW5nIHRvIEFZVVYuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTEwLTI2ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6IChnc3RfdmlkZW9fYm94X2NsYXNzX2luaXQpLAoJICAoZ3N0X3ZpZGVvX2JveF90cmFuc2Zvcm1fY2FwcyksIChnc3RfdmlkZW9fYm94X2dldF91bml0X3NpemUpLAoJICAoZ3N0X3ZpZGVvX2JveF9heXV2KTogRml4IHRoZSBzdHJpZGUgaXNzdWUgd2hlbiBib3hpbmcgdG8gQVlVVi4KCjIwMDUtMTAtMjYgMTE6MTI6MzQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBzeXMvb3NzLzogQWN0dWFsbHkgdXNlIHRoZSAnb3NzJyBkZWJ1ZyBjYXRlZ29yeSB3ZSByZWdpc3Rlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL29zcy9nc3Rvc3NhdWRpby5jOgoJICAqIHN5cy9vc3MvZ3N0b3NzZG1hYnVmZmVyLmM6CgkgICogc3lzL29zcy9nc3Rvc3NoZWxwZXIuYzoKCSAgKiBzeXMvb3NzL2dzdG9zc21peGVyLmM6CgkgICogc3lzL29zcy9nc3Rvc3NtaXhlcmVsZW1lbnQuYzoKCSAgKiBzeXMvb3NzL2dzdG9zc21peGVydHJhY2suYzoKCSAgKiBzeXMvb3NzL2dzdG9zc3NpbmsuYzoKCSAgKiBzeXMvb3NzL2dzdG9zc3NyYy5jOgoJICBBY3R1YWxseSB1c2UgdGhlICdvc3MnIGRlYnVnIGNhdGVnb3J5IHdlIHJlZ2lzdGVyLgoKMjAwNS0xMC0yNiAxMDozODoxOCArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6IFVzZSBnc3RfcGFkX2dldF9wYXJlbnQgYW5kIGRyb3AgdGhlIHJlZiB0aGF0IHdhcyBhZGRlZCB0aHJvdWdoIHRoYXQgY2FsbC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTAtMjYgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkgIChnc3RfdmlkZW9taXhlcl9wYWRfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF92aWRlb21peGVyX3BhZF9zaW5rX3NldGNhcHMpLCAoZ3N0X3ZpZGVvbWl4ZXJfZ2V0Y2Fwcyk6CgkgIFVzZSBnc3RfcGFkX2dldF9wYXJlbnQgYW5kIGRyb3AgdGhlIHJlZiB0aGF0IHdhcyBhZGRlZCB0aHJvdWdoCgkgIHRoYXQgY2FsbC4KCjIwMDUtMTAtMjYgMTA6MDM6MDIgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbWVuYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbXBheS5jOgoJICBmaXggY29tcGlsYXRpb24KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGZpeCBjb21waWxhdGlvbgoKMjAwNS0xMC0yNSAyMTowOTozNiArMDAwMCAgRmxhdmlvIE9saXZlaXJhIDxmbGF2aW8ub2xpdmVpcmFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGdzdC9ydHAvZ3N0cnRwZzcxMWRlYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MTFkZXBheS5jOgoJICBKdXN0IHJlbW92ZWQgYSBjb3VwbGUgb2YgbGluZXMgb2Ygd2VpcmQgY29kZSB1c2VkIGR1cmluZyBkZXZlbG9wbWVudC90ZXN0IHRpbWUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBKdXN0IHJlbW92ZWQgYSBjb3VwbGUgb2YgbGluZXMgb2Ygd2VpcmQgY29kZSB1c2VkIGR1cmluZyBkZXZlbG9wbWVudC90ZXN0IHRpbWUuCgoyMDA1LTEwLTI1IDE5OjE5OjM4ICswMDAwICBGbGF2aW8gT2xpdmVpcmEgPGZsYXZpby5vbGl2ZWlyYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cC9nc3RydHAuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzExZGVjLmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcxMWRlYy5oOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MTFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MTFkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MTFlbmMuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzExZW5jLmg6CgkqIGdzdC9ydHAvZ3N0cnRwZzcxMXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MTFwYXkuaDoKCSAgRzcxMSBwYXlsb2FkZXIgYW5kIGRlcGF5bG9hZGVyIGNyZWF0ZWQgYnkgRWRnYXJkIExpbWEgKGl0IHN1cHBvcnRzIG11bGF3IGFuZCBhbGF3IChkZWMpZW5jb2RlcnMpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBHNzExIHBheWxvYWRlciBhbmQgZGVwYXlsb2FkZXIgY3JlYXRlZCBieSBFZGdhcmQgTGltYSAoaXQgc3VwcG9ydHMKCSAgbXVsYXcgYW5kIGFsYXcgKGRlYyllbmNvZGVycykKCjIwMDUtMTAtMjUgMTc6NTU6MTkgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6IERvaCAhIEkgaW50cm9kdWNlZCB3aW5nbydzIGJ1ZyBhZ2FpbiAhIFNvcnJ5Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTEwLTI1ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6IChnc3RfdmlkZW9fYm94X2NsYXNzX2luaXQpLAoJICAoZ3N0X3ZpZGVvX2JveF90cmFuc2Zvcm1fY2FwcyksIChnc3RfdmlkZW9fYm94X2dldF91bml0X3NpemUpOgoJICBEb2ggISBJIGludHJvZHVjZWQgd2luZ28ncyBidWcgYWdhaW4gISBTb3JyeS4uLgoKMjAwNS0xMC0yNSAxNjowMjozOCArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJICBhZGQgbWlzc2luZyBoZWFkZXIgZmlsZXMgZm9yIGRpc3RpbmcKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGFkZCBtaXNzaW5nIGhlYWRlciBmaWxlcyBmb3IgZGlzdGluZwoKMjAwNS0xMC0yNSAxNTowNzowMiArMDAwMCAgWmVlc2hhbiBBbGkgPHplZW5peEBnbWFpbC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc21kZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbWVuYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbWVuYy5oOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbXBhcnNlLmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtcGFyc2UuaDoKCSogZ3N0L3J0cC9nc3RydHBnc21wYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc21wYXkuaDoKCSAgR2V0dGluZyB0aGUgR1NNIChkZSlwYXlsb2FkZXIgd29ya2luZyBhbmQgY29tcGF0aWJsZSB3aXRoIG91ciBwbGFucyBmb3IgUlRQLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgR2V0dGluZyB0aGUgR1NNIChkZSlwYXlsb2FkZXIgd29ya2luZyBhbmQgY29tcGF0aWJsZSB3aXRoIG91ciBwbGFucyBmb3IgUlRQLgoKMjAwNS0xMC0yNSAxMzowMzowNCArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZ3N0L3J0cC9nc3RydHAuYzoKCSAgZml4IG1pc3Rha2VuIGNsYWltIG9uIEdQTCwgaXRzIExHUEwKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGZpeCBtaXN0YWtlbiBjbGFpbSBvbiBHUEwsIGl0cyBMR1BMCgoyMDA1LTEwLTI1IDEwOjQ3OjA5ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6IFB1c2ggYSBuZXdzZWdtZW50IGV2ZW50LCBtb3ZlIHNvbWUgcmVkdW5kYW50IGNvZGUgaW4gYSBzaW5nbGUgcGxhY2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTEwLTI1ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzogKHVzZXJfaW5mb19jYWxsYmFjayksCgkgIChnc3RfcG5nZGVjX2NhcHNfY3JlYXRlX2FuZF9zZXQpLCAoZ3N0X3BuZ2RlY190YXNrKTogUHVzaAoJICBhIG5ld3NlZ21lbnQgZXZlbnQsIG1vdmUgc29tZSByZWR1bmRhbnQgY29kZSBpbiBhIHNpbmdsZSBwbGFjZS4KCjIwMDUtMTAtMjUgMTA6MjM6MjYgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzogVGVtcG9yYXJ5IGhhY2sgdG8gZ2V0IGNvcnJlY3QgY29sb3JzIG9yZGVyIHdoZW4gd2UgaGF2ZSBhIHBuZyBpbWFnZSB3aXRoIGFscGhhIGNoYW5uZWwuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTEwLTI1ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzogKHVzZXJfaW5mb19jYWxsYmFjayksCgkgIChnc3RfcG5nZGVjX2NhcHNfY3JlYXRlX2FuZF9zZXQpLCAoZ3N0X3BuZ2RlY190YXNrKTogVGVtcG9yYXJ5CgkgIGhhY2sgdG8gZ2V0IGNvcnJlY3QgY29sb3JzIG9yZGVyIHdoZW4gd2UgaGF2ZSBhIHBuZyBpbWFnZSB3aXRoCgkgIGFscGhhIGNoYW5uZWwuCgoyMDA1LTEwLTI0IDE3OjI5OjAyICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZXh0L2R2L2dzdGR2ZGVtdXguYzogQ2FsbCBnc3RfZWxlbWVudF9ub19tb3JlX3BhZHMgd2hlbiB0aGVyZSB3aWxsIGJlIG5vIG1vcmUgcGFkcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2R2L2dzdGR2ZGVtdXguYzogKGdzdF9kdmRlbXV4X2FkZF9wYWRzKToKCSAgQ2FsbCBnc3RfZWxlbWVudF9ub19tb3JlX3BhZHMgd2hlbiB0aGVyZSB3aWxsIGJlIG5vIG1vcmUgcGFkcy4KCjIwMDUtMTAtMjQgMTY6Mzk6MzggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwLzogQWRkZWQgdHdvIG5ldyBwYXlsb2FkZXJzLCBhbiBSRkMgMjE5MCBwYXlsb2FkZXIgZm9yIGgyNjMgYW5kIGEgcGF5bG9hZCBjb252ZXJ0b3IgZm9yIGFuIGFzdGVyaXNrIHNlcnZlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcnRwL2dzdGFzdGVyaXNraDI2My5jOiAoZ3N0X2FzdGVyaXNraDI2M19nZXRfdHlwZSksCgkgIChnc3RfYXN0ZXJpc2toMjYzX2Jhc2VfaW5pdCksIChnc3RfYXN0ZXJpc2toMjYzX2NsYXNzX2luaXQpLAoJICAoZ3N0X2FzdGVyaXNraDI2M19pbml0KSwgKGdzdF9hc3Rlcmlza2gyNjNfZmluYWxpemUpLAoJICAoZ3N0X2FzdGVyaXNraDI2M19jaGFpbiksIChnc3RfYXN0ZXJpc2toMjYzX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfYXN0ZXJpc2toMjYzX2dldF9wcm9wZXJ0eSksIChnc3RfYXN0ZXJpc2toMjYzX2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfYXN0ZXJpc2toMjYzX3BsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdGFzdGVyaXNraDI2My5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwLmM6IChwbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBoMjYzZW5jLmM6IChnc3RfcnRwaDI2M2VuY19nZXRfdHlwZSksCgkgIChnc3RfcnRwaDI2M2VuY19iYXNlX2luaXQpLCAoZ3N0X3J0cGgyNjNlbmNfY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwaDI2M2VuY19pbml0KSwgKGdzdF9ydHBoMjYzZW5jX2ZpbmFsaXplKSwKCSAgKGdzdF9ydHBoMjYzZW5jX3NldGNhcHMpLCAoZ3N0X3J0cGgyNjNlbmNfZ29iZmluZXIpLAoJICAoZ3N0X3J0cGgyNjNlbmNfZmx1c2gpLCAoZ3N0X3J0cGgyNjNlbmNfaGFuZGxlX2J1ZmZlciksCgkgIChnc3RfcnRwaDI2M2VuY19wbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBoMjYzZW5jLmg6CgkgIEFkZGVkIHR3byBuZXcgcGF5bG9hZGVycywgYW4gUkZDIDIxOTAgcGF5bG9hZGVyIGZvciBoMjYzIGFuZAoJICBhIHBheWxvYWQgY29udmVydG9yIGZvciBhbiBhc3RlcmlzayBzZXJ2ZXIuCgoyMDA1LTEwLTI0IDE1OjU3OjE3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgc3lzL29zcy9nc3Rvc3NzcmMuYzogU2V0IGJ5dGVzX3Blcl9zYW1wbGUgY29ycmVjdGx5IChpcyBub3QgYWx3YXlzIDQsIGJ1dCBkZXBlbmRzIG9uIHdpZHRoIGFuZCBudW1iZXIgb2YgY2hhbm5lbHMpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvb3NzL2dzdG9zc3NyYy5jOiAoZ3N0X29zc19zcmNfcHJlcGFyZSk6CgkgIFNldCBieXRlc19wZXJfc2FtcGxlIGNvcnJlY3RseSAoaXMgbm90IGFsd2F5cyA0LCBidXQKCSAgZGVwZW5kcyBvbiB3aWR0aCBhbmQgbnVtYmVyIG9mIGNoYW5uZWxzKS4KCjIwMDUtMTAtMjQgMTU6NTA6MDYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvZmxhYy9nc3RmbGFjZW5jLio6IEZpeCBzZWVraW5nLCBzbyB0aGF0IGZsYWNlbmMgY2FuIHJld3JpdGUgdGhlIGhlYWRlciB3aXRoIHRoZSBjb3JyZWN0IGR1cmF0aW9uIGFuZCBhbW91bnQgb2Ygc2EuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOiAoZ3N0X2ZsYWNlbmNfYmFzZV9pbml0KSwKCSAgKGdzdF9mbGFjZW5jX2luaXQpLCAoZ3N0X2ZsYWNlbmNfc2lua19zZXRjYXBzKSwKCSAgKGdzdF9mbGFjZW5jX3NlZWtfY2FsbGJhY2spLCAoZ3N0X2ZsYWNlbmNfd3JpdGVfY2FsbGJhY2spLAoJICAoZ3N0X2ZsYWNlbmNfc2lua19ldmVudCksIChnc3RfZmxhY2VuY19jaGFpbiksCgkgIChnc3RfZmxhY2VuY19zZXRfcHJvcGVydHkpLCAoZ3N0X2ZsYWNlbmNfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9mbGFjZW5jX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5oOgoJICBGaXggc2Vla2luZywgc28gdGhhdCBmbGFjZW5jIGNhbiByZXdyaXRlIHRoZSBoZWFkZXIgd2l0aCB0aGUKCSAgY29ycmVjdCBkdXJhdGlvbiBhbmQgYW1vdW50IG9mIHNhbXBsZXMgYW5kIGFsbCB0aGF0IGF0IEVPUzsKCSAgYWxzbyBzZXQgdGltZXN0YW1wcyBhbmQgZ3JhbnVsZXBvcyBvbiBvdXRnb2luZyBidWZmZXJzOyBhZGQKCSAgZGVidWcgY2F0ZWdvcnk7IGZpeCBzdGF0ZSBjaGFuZ2UgZnVuY3Rpb24uCgoyMDA1LTEwLTI0IDEzOjQ2OjA5ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzogRG9uJ3QgcmVzdHJpY3QgdmlkZW8gZ2VvbWV0cnkgZnJvbSAxNiB0byA0MDk2LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMC0yNCAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzogRG9uJ3QgcmVzdHJpY3QgdmlkZW8gZ2VvbWV0cnkKCSAgZnJvbSAxNiB0byA0MDk2LgoKMjAwNS0xMC0yNCAxMzoyMjoxNCArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzogRml4IGNhcHMgbmVnb3RpYXRpb24gY29ycmVjdGx5LCBhZGQgZGVidWdnaW5nIGNhdGVnb3J5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMC0yNCAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOiAoZ3N0X3ZpZGVvX2JveF9jbGFzc19pbml0KSwKCSAgKGdzdF92aWRlb19ib3hfdHJhbnNmb3JtX2NhcHMpLCAoZ3N0X3ZpZGVvX2JveF9nZXRfdW5pdF9zaXplKToKCSAgRml4IGNhcHMgbmVnb3RpYXRpb24gY29ycmVjdGx5LCBhZGQgZGVidWdnaW5nIGNhdGVnb3J5LgoKMjAwNS0xMC0yNCAxMzowMjo0NyArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBjb25maWd1cmUuYWM6CgkgIHBvcnQgb3ZlciBwbHVnaW4gbGlzdGluZyBmcm9tIGJhc2UKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHBvcnQgb3ZlciBwbHVnaW4gbGlzdGluZyBmcm9tIGJhc2UKCjIwMDUtMTAtMjQgMDg6NTk6MjQgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzogRG9uJ3QgdXNlIGZpeGVkIGNhcHMgb24gYSBzaW5rIHBhZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTAtMjQgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOiAoZ3N0X3BuZ2RlY19pbml0KTogRG9uJ3QgdXNlIGZpeGVkCgkgIGNhcHMgb24KCSAgYSBzaW5rIHBhZC4KCjIwMDUtMTAtMjMgMjM6MDU6NTkgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvdXBsb2FkLm1hazoKCSAgYmFjayB0byBIRUFECgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBiYWNrIHRvIEhFQUQKCj09PSByZWxlYXNlIDAuOS40ID09PQoKMjAwNS0xMC0yMyAyMjo0MzowOCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLnNpZ25hbHM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2NzLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vaHUucG86CgkqIHBvL2l0LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkgIHJlbGVhc2luZyAwLjkuNAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmVsZWFzaW5nIDAuOS40CgoyMDA1LTEwLTIzIDExOjA3OjEwICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6CgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJKiBwby9QT1RGSUxFUy5pbjoKCSAgU1RPUFBFRC0+RkFJTEVECgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBTVE9QUEVELT5GQUlMRUQKCjIwMDUtMTAtMjEgMTc6MDA6NTggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzogQWRkIHBvc2l0aW9uIGFuZCBkdXJhdGlvbiBxdWVyeSwgZml4IHF1ZXJ5IHR5cGUgZnVuY3Rpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOiAoZ3N0X3NwZWV4ZW5jX2dldF9xdWVyeV90eXBlcyksCgkgIChnc3Rfc3BlZXhlbmNfc3JjX3F1ZXJ5KToKCSAgQWRkIHBvc2l0aW9uIGFuZCBkdXJhdGlvbiBxdWVyeSwgZml4IHF1ZXJ5IHR5cGUgZnVuY3Rpb24uCgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IChnc3RfbWF0cm9za2FfZGVtdXhfYWRkX3N0cmVhbSksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfdmlkZW9fY2FwcyksIChnc3RfbWF0cm9za2FfZGVtdXhfYXVkaW9fY2Fwcyk6CgkgIExldCdzIG5vdCBzZXQgbm9uLWZpeGVkIGNhcHMgb24gc291cmNlIHBhZHMuCgoyMDA1LTEwLTIxIDE2OjE1OjU3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgU2V0IGNvcnJlY3Qgc3RyZWFtX3RpbWUgaW4gbmV3c2VnbWVudCBldmVudC4gYXZpIGNhbiBhbHNvIGhhbmRsZSBhIGR1cmF0aW9uIHF1ZXJ5IG5vdy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2R2L2dzdGR2ZGVtdXguYzogKGdzdF9kdmRlbXV4X2RlbXV4X2ZyYW1lKToKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X2dldF9zcmNfcXVlcnlfdHlwZXMpLAoJICAoZ3N0X2F2aV9kZW11eF9oYW5kbGVfc2Vlayk6CgkgIFNldCBjb3JyZWN0IHN0cmVhbV90aW1lIGluIG5ld3NlZ21lbnQgZXZlbnQuCgkgIGF2aSBjYW4gYWxzbyBoYW5kbGUgYSBkdXJhdGlvbiBxdWVyeSBub3cuCgoyMDA1LTEwLTIxIDEwOjA2OjQwICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBnc3QtcGx1Z2lucy1nb29kLnNwZWMuaW46CgkgIHVwZGF0ZSBmb3IgbGF0ZXN0IGFkZGl0aW9ucwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgdXBkYXRlIGZvciBsYXRlc3QgYWRkaXRpb25zCgoyMDA1LTEwLTIwIDE5OjE0OjI3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IEZpeCBkdXJhdGlvbiBxdWVyeTsgZml4IGJhc2V0aW1lIGluIG5ld3NlZ21lbnQgZXZlbnQgYWZ0ZXIgc2VlazsgZml4IGR1cmF0aW9uIGluIGluaXRpLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2hhbmRsZV9zcmNfcXVlcnkpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2hhbmRsZV9zZWVrX2V2ZW50KSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9sb29wX3N0cmVhbV9wYXJzZV9pZCk6CgkgIEZpeCBkdXJhdGlvbiBxdWVyeTsgZml4IGJhc2V0aW1lIGluIG5ld3NlZ21lbnQgZXZlbnQgYWZ0ZXIKCSAgc2VlazsgZml4IGR1cmF0aW9uIGluIGluaXRpYWwgbmV3c2VnbWVudCBldmVudC4KCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIChnc3RfbWF0cm9za2FfbXV4X2F1ZGlvX3BhZF9zZXRjYXBzKSwgKGdzdF9tYXRyb3NrYV9tdXhfc3RhcnQpOgoJICBFeHRyYWN0IG51bWJlciBvZiBjaGFubmVscyBhbmQgc2FtcGxlcmF0ZSBmcm9tIHZvcmJpcyBoZWFkZXJzOwoJICBhZGQgc29tZSBkZWJ1ZyBtZXNzYWdlcyB3aGVuIHF1ZXJ5aW5nIHRoZSBkdXJhdGlvbnMgb2YgdGhlCgkgIGlucHV0IHN0cmVhbXMuCgoyMDA1LTEwLTIwIDExOjUwOjUzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IFNldCBzdHJlYW0gdGltZSBjb3JyZWN0bHkgaW4gbmV3c2VnbWVudC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IChnc3Rfd2F2cGFyc2VfaGFuZGxlX3NlZWspLAoJICAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9oZWFkZXJzKSwgKGdzdF93YXZwYXJzZV9zdHJlYW1fZGF0YSksCgkgIChnc3Rfd2F2cGFyc2VfcGFkX2NvbnZlcnQpLCAoZ3N0X3dhdnBhcnNlX3NyY3BhZF9ldmVudCk6CgkgIFNldCBzdHJlYW0gdGltZSBjb3JyZWN0bHkgaW4gbmV3c2VnbWVudC4KCjIwMDUtMTAtMjAgMTE6Mzk6NDAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IENvcnJlY3RseSBmaWxsIGluIHRoZSBzdHJlYW0gdGltZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9oYW5kbGVfc2Vlayk6CgkgIENvcnJlY3RseSBmaWxsIGluIHRoZSBzdHJlYW0gdGltZS4KCjIwMDUtMTAtMTkgMjA6NDg6MjQgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBjaGVjay9lbGVtZW50cy9sZXZlbC5jOgoJKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzoKCSogZ3N0L2xldmVsL2xldmVsLWV4YW1wbGUuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbGV2ZWwuYzoKCSAgdXNlIEVMRU1FTlQgbWVzc2FnZXMgaW5zdGVhZAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgdXNlIEVMRU1FTlQgbWVzc2FnZXMgaW5zdGVhZAoKMjAwNS0xMC0xOSAxNTo1ODowMCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC86IEFQSSBjaGFuZ2UgZml4LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9nZXRfc3JjX3F1ZXJ5X3R5cGVzKSwKCSAgKGdzdF9xdGRlbXV4X2hhbmRsZV9zcmNfcXVlcnkpOgoJICAqIGdzdC9zcGVlZC9nc3RzcGVlZC5jOiAoc3BlZWRfZ2V0X3F1ZXJ5X3R5cGVzKSwgKHNwZWVkX3NyY19xdWVyeSk6CgkgICogZ3N0L3R0YS9nc3R0dGFwYXJzZS5jOiAoZ3N0X3R0YV9wYXJzZV9zcmNfZXZlbnQpLAoJICAoZ3N0X3R0YV9wYXJzZV9nZXRfcXVlcnlfdHlwZXMpLCAoZ3N0X3R0YV9wYXJzZV9xdWVyeSk6CgkgIEFQSSBjaGFuZ2UgZml4LgoKMjAwNS0xMC0xOSAxNTo1NzowNCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIEFQSSBjaGFuZ2UgZml4LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZHYvZ3N0ZHZkZW11eC5jOiAoZ3N0X2R2ZGVtdXhfZ2V0X3NyY19xdWVyeV90eXBlcyksCgkgIChnc3RfZHZkZW11eF9zcmNfcXVlcnkpOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzogKGdzdF9mbGFjZGVjX2xlbmd0aCksCgkgIChnc3RfZmxhY2RlY19zcmNfcXVlcnkpOgoJICAqIGV4dC9yYXcxMzk0L2dzdGR2MTM5NHNyYy5jOiAoZ3N0X2R2MTM5NHNyY19xdWVyeSk6CgkgICogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6IChzcGVleF9kZWNfc3JjX3F1ZXJ5KToKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X2hhbmRsZV9zcmNfcXVlcnkpOgoJICAqIGdzdC9kZWJ1Zy9nc3RuYXZzZWVrLmM6IChnc3RfbmF2c2Vla19zZWVrKToKCSAgKiBnc3QvZGVidWcvcHJvZ3Jlc3NyZXBvcnQuYzogKGdzdF9wcm9ncmVzc19yZXBvcnRfcmVwb3J0KToKCSAgKiBnc3QvbWF0cm9za2EvZWJtbC1yZWFkLmM6IChnc3RfZWJtbF9yZWFkX2dldF9sZW5ndGgpOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2hhbmRsZV9zcmNfcXVlcnkpOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzogKGdzdF9tYXRyb3NrYV9tdXhfc3RhcnQpOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiAoZ3N0X3dhdnBhcnNlX2hhbmRsZV9zZWVrKSwKCSAgKGdzdF93YXZwYXJzZV9zdHJlYW1faGVhZGVycyksIChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2RhdGEpLAoJICAoZ3N0X3dhdnBhcnNlX3BhZF9jb252ZXJ0KSwgKGdzdF93YXZwYXJzZV9wYWRfcXVlcnkpLAoJICAoZ3N0X3dhdnBhcnNlX3NyY3BhZF9ldmVudCk6CgkgIEFQSSBjaGFuZ2UgZml4LgoKMjAwNS0xMC0xOSAxMDo1Nzo0NiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9nb29tLzogTWFrZSBpbmxpbmUgZnVuY3Rpb25zIGVpdGhlciAnc3RhdGljIGlubGluZScgb3IgJ2V4dGVybiBpbmxpbmUnLCBvdGhlcndpc2UgdGhlIEZvcnRlIGNvbXBpbGVyIGFwcGFyZW50bHkgdy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZ29vbS9maWx0ZXJzLmM6CgkgICogZ3N0L2dvb20vZ3JhcGhpYy5oOgoJICAqIGdzdC9nb29tL2xpbmVzLmM6CgkgIE1ha2UgaW5saW5lIGZ1bmN0aW9ucyBlaXRoZXIgJ3N0YXRpYyBpbmxpbmUnIG9yICdleHRlcm4gaW5saW5lJywKCSAgb3RoZXJ3aXNlIHRoZSBGb3J0ZSBjb21waWxlciBhcHBhcmVudGx5IHdvbid0IGlubGluZSB0aGVtICgjMzE3MzAwKS4KCjIwMDUtMTAtMTggMjI6NTA6MTEgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzogZm9yZ290IHRoZSBidWZmZXIgdW5yZWYgaW4gcHVsbC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTAtMTkgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOiBmb3Jnb3QgdGhlIGJ1ZmZlciB1bnJlZiBpbiBwdWxsLgoKMjAwNS0xMC0xOCAyMjo0NDoxMSArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBleHQvbGlicG5nL2dzdHBuZ2RlYy4qOiBDb21wbGV0ZSByZXdyaXRlIG9mIHBuZ2RlYy4gSXQncyBub3cgdmVyeSBuaWNlIGFuZCBoYW5kbGUgcHVzaC9wdWxsIGJhc2VkIG1vZGVsLiBpZiB5b3UgaGF2ZSAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTAtMTkgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOiAoZ3N0X3BuZ2RlY19jbGFzc19pbml0KSwKCSAgKGdzdF9wbmdkZWNfaW5pdCksICh1c2VyX2Vycm9yX2ZuKSwgKHVzZXJfd2FybmluZ19mbiksCgkgICh1c2VyX2luZm9fY2FsbGJhY2spLCAodXNlcl9lbmRyb3dfY2FsbGJhY2spLAoJICAodXNlcl9lbmRfY2FsbGJhY2spLAoJICAodXNlcl9yZWFkX2RhdGEpLCAoZ3N0X3BuZ2RlY19jYXBzX2NyZWF0ZV9hbmRfc2V0KSwKCSAgKGdzdF9wbmdkZWNfdGFzayksIChnc3RfcG5nZGVjX2NoYWluKSwgKGdzdF9wbmdkZWNfc2lua19ldmVudCksCgkgIChnc3RfcG5nZGVjX2xpYnBuZ19jbGVhciksIChnc3RfcG5nZGVjX2xpYnBuZ19pbml0KSwKCSAgKGdzdF9wbmdkZWNfY2hhbmdlX3N0YXRlKSwgKGdzdF9wbmdkZWNfc2lua19hY3RpdmF0ZV9wdXNoKSwKCSAgKGdzdF9wbmdkZWNfc2lua19hY3RpdmF0ZV9wdWxsKSwgKGdzdF9wbmdkZWNfc2lua19hY3RpdmF0ZSk6CgkgICogZXh0L2xpYnBuZy9nc3RwbmdkZWMuaDogQ29tcGxldGUgcmV3cml0ZSBvZiBwbmdkZWMuIEl0J3Mgbm93CgkgIHZlcnkgbmljZSBhbmQgaGFuZGxlIHB1c2gvcHVsbCBiYXNlZCBtb2RlbC4gaWYgeW91IGhhdmUgZmlsZXNyYwoJICBjb25uZWN0ZWQgdG8gaXQsIGl0IHdpbGwgZG8gcmFuZG9tIGFjY2VzcyB0byBsb2FkIHRoZSBwbmcgZmlsZS4KCSAgSWYgeW91IGhhdmUgYSBuZXR3b3JrIHNvdXJjZSB0aGF0IGNhbid0IGRvIF9nZXRyYW5nZSwgaXQgZG9lcwoJICBwcm9ncmVzc2l2ZSBsb2FkaW5nIHRocm91Z2ggdGhlIGNoYWluIGZ1bmN0aW9uLgoJICAqIGdzdC9hbHBoYS9nc3RhbHBoYWNvbG9yLmM6IChnc3RfYWxwaGFfY29sb3JfdHJhbnNmb3JtX2NhcHMpLAoJICAodHJhbnNmb3JtX3JnYiksICh0cmFuc2Zvcm1fYmdyKTogRml4IGNhcHMgbmVnb3RpYXRpb24gY29ycmVjdGx5CgkgIHRoYW5rcyB0byBNYXN0ZXIgV2ltIFRheW1hbnMgOy0pCgoyMDA1LTEwLTE4IDE4OjEyOjMxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L21hdHJvc2thLzogUG9ydGVkIG1hdHJvc2thIGRlbXV4ZXIgdG8gMC45LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvTWFrZWZpbGUuYW06CgkgICogZ3N0L21hdHJvc2thL2VibWwtcmVhZC5jOgoJICAqIGdzdC9tYXRyb3NrYS9lYm1sLXJlYWQuaDoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguaDoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EuYzogKHBsdWdpbl9pbml0KToKCSAgUG9ydGVkIG1hdHJvc2thIGRlbXV4ZXIgdG8gMC45LgoKMjAwNS0xMC0xOCAxODowNjoxNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzogRml4IG1wZWc0IGlucHV0IGhhbmRsaW5nICgjMzE4ODQ3KTsgYWxzbywgd2hpbGUgd2UncmUgYXQgaXQsIGZpeCBtZWRpYSB0eXBlIGZvciBNb3Rpb24tSi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUmV2aWV3ZWQgYnk6IFRpbS1QaGlsaXBwIE3DvGxsZXIgIDx0aW0gYXQgY2VudHJpY3VsYXIgZG90IG5ldD4KCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIChnc3RfbWF0cm9za2FfbXV4X3ZpZGVvX3BhZF9zZXRjYXBzKSwKCSAgKGdzdF9tYXRyb3NrYV9tdXhfYXVkaW9fcGFkX3NldGNhcHMpOgoJICBGaXggbXBlZzQgaW5wdXQgaGFuZGxpbmcgKCMzMTg4NDcpOyBhbHNvLCB3aGlsZSB3ZSdyZSBhdCBpdCwKCSAgZml4IG1lZGlhIHR5cGUgZm9yIE1vdGlvbi1KUEVHOiBzaG91bGQgYmUgaW1hZ2UvanBlZy4KCjIwMDUtMTAtMTggMTM6MjE6MTggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogRml4IGZvciBzZWdtZW50LXN0YXJ0L3N0b3AgQVBJIGNoYW5nZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IChnc3Rfd2F2cGFyc2VfaGFuZGxlX3NlZWspLAoJICAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9oZWFkZXJzKSwgKGdzdF93YXZwYXJzZV9zdHJlYW1fZGF0YSksCgkgIChnc3Rfd2F2cGFyc2VfcGFkX2NvbnZlcnQpLCAoZ3N0X3dhdnBhcnNlX3NyY3BhZF9ldmVudCk6CgkgIEZpeCBmb3Igc2VnbWVudC1zdGFydC9zdG9wIEFQSSBjaGFuZ2UuCgoyMDA1LTEwLTE3IDE3OjE4OjU2ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGdzdC9hbHBoYS9nc3RhbHBoYWNvbG9yLmM6IEhhbmRsZSBjYXBzIG5lZ290aWF0aW9uIGluIGEgYmV0dGVyIHdheS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTAtMTcgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBnc3QvYWxwaGEvZ3N0YWxwaGFjb2xvci5jOiAoZ3N0X2FscGhhX2NvbG9yX3RyYW5zZm9ybV9jYXBzKSwKCSAgKHRyYW5zZm9ybV9yZ2IpLCAodHJhbnNmb3JtX2Jncik6IEhhbmRsZSBjYXBzIG5lZ290aWF0aW9uIGluIGEKCSAgYmV0dGVyCgkgIHdheS4KCjIwMDUtMTAtMTcgMTY6NTk6MjAgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6IEZpeCBjYXBzIG5lZ28gc29tZSBtb3JlIHRvIGdldAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMC0xNyAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOiAoZ3N0X3ZpZGVvX2JveF90cmFuc2Zvcm1fY2FwcyksCgkgIChnc3RfdmlkZW9fYm94X2dldF91bml0X3NpemUpOiBGaXggY2FwcyBuZWdvIHNvbWUgbW9yZSB0byBnZXQKCSAgQVlVVgoJICBvdXRwdXQgZGVjbGFyZWQgaW4gdHJhbnNmb3JtX2NhcHMuCgoyMDA1LTEwLTE3IDE1OjIzOjI0ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6IFdlIHVzZSBmaXhlZCBjYXBzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMC0xNyAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6IChnc3RfcG5nZGVjX2luaXQpOiBXZSB1c2UgZml4ZWQgY2Fwcy4KCjIwMDUtMTAtMTcgMTU6MTQ6MjkgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6IEZpeCB3cm9uZyBzaXplIGNhbGN1bGF0aW9ucyBhbmQgaW1wbGVtZW50IGdldF91bml0X3NpemUgY29ycmVjdGx5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMC0xNyAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOiAoZ3N0X3ZpZGVvX2JveF90cmFuc2Zvcm1fY2FwcyksCgkgIChnc3RfdmlkZW9fYm94X2dldF91bml0X3NpemUpOiBGaXggd3Jvbmcgc2l6ZSBjYWxjdWxhdGlvbnMgYW5kCgkgIGltcGxlbWVudCBnZXRfdW5pdF9zaXplIGNvcnJlY3RseS4KCjIwMDUtMTAtMTcgMTQ6NTY6MTIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBjb25maWd1cmUuYWM6IEVuYWJsZSBmbHggcGx1Z2luLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIEVuYWJsZSBmbHggcGx1Z2luLgoJICAqIGdzdC9mbHgvZ3N0Zmx4ZGVjLmM6IChmbHhfZGVjb2RlX2NodW5rcyk6CgkgIEZpeCBnY2M0IHNpZ25lZG5lc3MgaXNzdWUuCgoyMDA1LTEwLTE3IDA4OjQ2OjMwICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogQWRkaW5nIHZpZGVvbWl4ZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTEwLTE3ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogY29uZmlndXJlLmFjOiBBZGRpbmcgdmlkZW9taXhlci4KCSAgKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOiAoZ3N0X3BuZ2RlY19jbGFzc19pbml0KSwKCSAgKHVzZXJfcmVhZF9kYXRhKSwgKGdzdF9wbmdkZWNfY2hhaW4pOiBNb3JlIGRlYnVnZ2luZy4KCSAgKiBnc3QvYWxwaGEvTWFrZWZpbGUuYW06IEFkZGluZyBhbHBoYWNvbG9yCgkgICogZ3N0L2FscGhhL2dzdGFscGhhY29sb3IuYzogKGdzdF9hbHBoYV9jb2xvcl9iYXNlX2luaXQpLAoJICAoZ3N0X2FscGhhX2NvbG9yX2NsYXNzX2luaXQpLCAoZ3N0X2FscGhhX2NvbG9yX2luaXQpLAoJICAoZ3N0X2FscGhhX2NvbG9yX3RyYW5zZm9ybV9jYXBzKSwgKGdzdF9hbHBoYV9jb2xvcl9zZXRfY2FwcyksCgkgICh0cmFuc2Zvcm1fcmdiKSwgKHRyYW5zZm9ybV9iZ3IpLAoJICAoZ3N0X2FscGhhX2NvbG9yX3RyYW5zZm9ybV9pcCksCgkgIChwbHVnaW5faW5pdCk6IFBvcnRlZCB0byAwLjkgdXNpbmcgaW4gcGxhY2UgYmFzZSB0cmFuZm9ybS4KCSAgKiBnc3QvdmlkZW9taXhlci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6IChnc3RfdmlkZW9taXhlcl9wYWRfZ2V0X3R5cGUpLAoJICAoZ3N0X3ZpZGVvbWl4ZXJfcGFkX2NsYXNzX2luaXQpLAoJICAoZ3N0X3ZpZGVvbWl4ZXJfcGFkX3Npbmtfc2V0Y2FwcyksCgkgIChnc3RfdmlkZW9taXhlcl9wYWRfbGluayksIChnc3RfdmlkZW9taXhlcl9wYWRfdW5saW5rKSwKCSAgKGdzdF92aWRlb21peGVyX3BhZF9pbml0KSwgKGdzdF92aWRlb21peGVyX2NsYXNzX2luaXQpLAoJICAoZ3N0X3ZpZGVvbWl4ZXJfaW5pdCksIChnc3RfdmlkZW9taXhlcl9nZXRjYXBzKSwKCSAgKGdzdF92aWRlb21peGVyX3JlcXVlc3RfbmV3X3BhZCksIChnc3RfdmlkZW9taXhlcl9maWxsX3F1ZXVlcyksCgkgIChnc3RfdmlkZW9taXhlcl9ibGVuZF9idWZmZXJzKSwgKGdzdF92aWRlb21peGVyX3VwZGF0ZV9xdWV1ZXMpLAoJICAoZ3N0X3ZpZGVvbWl4ZXJfY29sbGVjdGVkKSwgKGdzdF92aWRlb21peGVyX2NoYW5nZV9zdGF0ZSk6CgkgIFBvcnRlZAoJICB0byAwLjkgdXNpbmcgY29sbGVjdHBhZHMuCgoyMDA1LTEwLTE2IDIxOjE5OjQ0ICswMDAwICBaZWVzaGFuIEFsaSA8emVlbml4QGdtYWlsLmNvbT4KCgkqIENoYW5nZUxvZzoKCSogY29tbW9uOgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9mbHgvTWFrZWZpbGUuYW06CgkqIGdzdC9mbHgvZ3N0Zmx4ZGVjLmM6CgkqIGdzdC9mbHgvZ3N0Zmx4ZGVjLmg6CgkgIGZseCBwbHVnaW4gcG9ydGVkIHRvIDAuOQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZmx4IHBsdWdpbiBwb3J0ZWQgdG8gMC45CgoyMDA1LTEwLTE2IDE0OjMzOjA1ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIENoYW5nZUxvZzoKCSogZXh0L3Nob3V0Mi9nc3RzaG91dDIuYzoKCSAgdXNlIGdzdF92ZXJzaW9uX3N0cmluZwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgdXNlIGdzdF92ZXJzaW9uX3N0cmluZwoKMjAwNS0xMC0xNiAxMzoxNzoxMSArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSAgY29uZmlndXJlLmFjOiBHTElCX0NIRUNLLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMC0xNiAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBjb25maWd1cmUuYWM6IEdMSUJfQ0hFQ0suCgoyMDA1LTEwLTE1IDE2OjQ4OjU1ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGV4dC9saWJwbmcvOiBQb3J0ZWQgcG5nZGVjIHRvIDAuOQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMC0xNSAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGV4dC9saWJwbmcvTWFrZWZpbGUuYW06CgkgICogZXh0L2xpYnBuZy9nc3RwbmcuYzogKHBsdWdpbl9pbml0KToKCSAgKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOiAoZ3N0X3BuZ2RlY19jbGFzc19pbml0KSwKCSAgKGdzdF9wbmdkZWNfaW5pdCksICh1c2VyX3JlYWRfZGF0YSksIChnc3RfcG5nZGVjX2NoYWluKToKCSAgKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5oOiBQb3J0ZWQgcG5nZGVjIHRvIDAuOQoKMjAwNS0xMC0xNCAxMjo0MzozMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIFBvcnQgbWF0cm9za2EgbXV4ZXIgdG8gMC45ICgjMzE4ODQ3KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFJldmlld2VkIGJ5OiBUaW0tUGhpbGlwcCBNw7xsbGVyICA8dGltIGF0IGNlbnRyaWN1bGFyIGRvdCBuZXQ+CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9tYXRyb3NrYS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbWF0cm9za2EvZWJtbC1pZHMuaDoKCSAgKiBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS5jOgoJICAqIGdzdC9tYXRyb3NrYS9lYm1sLXdyaXRlLmg6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5oOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4Lmg6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLmM6IChwbHVnaW5faW5pdCk6CgkgIFBvcnQgbWF0cm9za2EgbXV4ZXIgdG8gMC45ICgjMzE4ODQ3KS4KCjIwMDUtMTAtMTMgMTg6NTk6MzUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzogRml4IGhhbmRsaW5nIG9mIEdTVF9UQUdfREFURSwgd2hpY2ggaXMgbm93IG9mIEdTVF9UWVBFX0RBVEU7IHVzZSBHU1RfUkVBRF9VSU5UMzJfTEUoKSBhbmQgZnIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6IChnc3Rfc3BlZXhlbmNfZ2V0X3RhZ192YWx1ZSksCgkgIChjb21tZW50X2luaXQpLCAoY29tbWVudF9hZGQpOgoJICBGaXggaGFuZGxpbmcgb2YgR1NUX1RBR19EQVRFLCB3aGljaCBpcyBub3cgb2YgR1NUX1RZUEVfREFURTsKCSAgdXNlIEdTVF9SRUFEX1VJTlQzMl9MRSgpIGFuZCBmcmllbmRzIHJhdGhlciB0aGFuIHRoZSBwcml2YXRlCgkgIGltcGxlbWVudGF0aW9uIG9mIHRob3NlIHNhbWUgbWFjcm9zLgoKMjAwNS0xMC0xMyAxNjowMTozNSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBleHQvY2Fpcm8vTWFrZWZpbGUuYW06CgkgIGZpeCBkaXN0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBmaXggZGlzdAoKMjAwNS0xMC0xMyAxNToyODowMSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZXhhbXBsZXMvc3RhdHMvbXAyb2dnLmM6IG1vcmUgdHlwbyBmaXhlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleGFtcGxlcy9zdGF0cy9tcDJvZ2cuYzoKCSAgbW9yZSB0eXBvIGZpeGVzCgoyMDA1LTEwLTEyIDE0OjI5OjU1ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICByZW5hbWVkIEdTVF9GTEFHUyBtYWNyb3MgdG8gR1NUX09CSkVDVF9GTEFHUyBtb3ZlZCBiaXRzaGlmdCBmcm9tIG1hY3JvIHRvIGVudW0gZGVmaW5pdGlvbgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleGFtcGxlcy9pbmRleGluZy9pbmRleG1wZWcuYzogKG1haW4pOgoJICAqIGV4dC9hcnRzZC9nc3RhcnRzZHNpbmsuYzogKGdzdF9hcnRzZHNpbmtfb3Blbl9hdWRpbyksCgkgIChnc3RfYXJ0c2RzaW5rX2Nsb3NlX2F1ZGlvKSwgKGdzdF9hcnRzZHNpbmtfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvYXJ0c2QvZ3N0YXJ0c2RzaW5rLmg6CgkgICogZXh0L2F1ZGlvZmlsZS9nc3RhZnBhcnNlLmM6IChnc3RfYWZwYXJzZV9vcGVuX2ZpbGUpLAoJICAoZ3N0X2FmcGFyc2VfY2xvc2VfZmlsZSk6CgkgICogZXh0L2F1ZGlvZmlsZS9nc3RhZnBhcnNlLmg6CgkgICogZXh0L2F1ZGlvZmlsZS9nc3RhZnNpbmsuYzogKGdzdF9hZnNpbmtfb3Blbl9maWxlKSwKCSAgKGdzdF9hZnNpbmtfY2xvc2VfZmlsZSksIChnc3RfYWZzaW5rX2NoYWluKSwKCSAgKGdzdF9hZnNpbmtfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvYXVkaW9maWxlL2dzdGFmc2luay5oOgoJICAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzcmMuYzogKGdzdF9hZnNyY19vcGVuX2ZpbGUpLAoJICAoZ3N0X2Fmc3JjX2Nsb3NlX2ZpbGUpLCAoZ3N0X2Fmc3JjX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L2F1ZGlvZmlsZS9nc3RhZnNyYy5oOgoJICAqIGV4dC9jZGF1ZGlvL2dzdGNkYXVkaW8uYzogKGdzdF9jZGF1ZGlvX2luaXQpOgoJICAqIGV4dC9kaXJlY3RmYi9kaXJlY3RmYnZpZGVvc2luay5jOiAoZ3N0X2RpcmVjdGZidmlkZW9zaW5rX2luaXQpOgoJICAqIGV4dC9kdHMvZ3N0ZHRzZGVjLmM6IChnc3RfZHRzZGVjX2luaXQpOgoJICAqIGV4dC9qYWNrL2dzdGphY2suaDoKCSAgKiBleHQvamFjay9nc3RqYWNrYmluLmM6IChnc3RfamFja19iaW5faW5pdCksCgkgIChnc3RfamFja19iaW5fY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvbXVzZXBhY2svZ3N0bXVzZXBhY2tkZWMuYzogKGdzdF9tdXNlcGFja2RlY19pbml0KToKCSAgKiBleHQvbXVzaWNicmFpbnovZ3N0dHJtLmM6IChnc3RfbXVzaWNicmFpbnpfaW5pdCk6CgkgICogZXh0L25hcy9uYXNzaW5rLmM6IChnc3RfbmFzc2lua19vcGVuX2F1ZGlvKSwKCSAgKGdzdF9uYXNzaW5rX2Nsb3NlX2F1ZGlvKSwgKGdzdF9uYXNzaW5rX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L25hcy9uYXNzaW5rLmg6CgkgICogZXh0L3BvbHlwL3BvbHlwc2luay5jOiAoZ3N0X3BvbHlwc2lua19pbml0KToKCSAgKiBleHQvc2RsL3NkbHZpZGVvc2luay5jOiAoZ3N0X3NkbHZpZGVvc2lua19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9zZGwvc2RsdmlkZW9zaW5rLmg6CgkgICogZXh0L3Ntb290aHdhdmUvZ3N0c21vb3Rod2F2ZS5jOiAoZ3N0X3Ntb290aHdhdmVfaW5pdCk6CgkgICogZXh0L3NuZGZpbGUvZ3N0c2YuYzogKGdzdF9zZl9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3NmX2NoYW5nZV9zdGF0ZSksIChnc3Rfc2ZfcmVsZWFzZV9yZXF1ZXN0X3BhZCksCgkgIChnc3Rfc2Zfb3Blbl9maWxlKSwgKGdzdF9zZl9jbG9zZV9maWxlKSwgKGdzdF9zZl9sb29wKToKCSAgKiBleHQvc25kZmlsZS9nc3RzZi5oOgoJICAqIGV4dC9zd2ZkZWMvZ3N0c3dmZGVjLmM6IChnc3Rfc3dmZGVjX2luaXQpOgoJICAqIGV4dC90YXJraW4vZ3N0dGFya2luZGVjLmM6IChnc3RfdGFya2luZGVjX2luaXQpOgoJICAqIGdzdC9hcGV0YWcvYXBlZGVtdXguYzogKGdzdF9hcGVfZGVtdXhfaW5pdCk6CgkgICogZ3N0L2NkeGFwYXJzZS9nc3RjZHhhcGFyc2UuYzogKGdzdF9jZHhhcGFyc2VfaW5pdCk6CgkgICogZ3N0L2NkeGFwYXJzZS9nc3RjZHhhc3RyaXAuYzogKGdzdF9jZHhhc3RyaXBfaW5pdCk6CgkgICogZ3N0L2Zlc3RpdmFsL2dzdGZlc3RpdmFsLmM6IChnc3RfZmVzdGl2YWxfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvZmVzdGl2YWwvZ3N0ZmVzdGl2YWwuaDoKCSAgKiBnc3QvbXBlZzJzdWIvZ3N0bXBlZzJzdWJ0LmM6IChnc3RfbXBlZzJzdWJ0X2luaXQpOgoJICAqIGdzdC9tdWx0aWZpbGVzaW5rL2dzdG11bHRpZmlsZXNpbmsuYzogKGdzdF9tdWx0aWZpbGVzaW5rX2luaXQpLAoJICAoZ3N0X211bHRpZmlsZXNpbmtfc2V0X2xvY2F0aW9uKSwgKGdzdF9tdWx0aWZpbGVzaW5rX29wZW5fZmlsZSksCgkgIChnc3RfbXVsdGlmaWxlc2lua19jbG9zZV9maWxlKSwgKGdzdF9tdWx0aWZpbGVzaW5rX25leHRfZmlsZSksCgkgIChnc3RfbXVsdGlmaWxlc2lua19wYWRfcXVlcnkpLCAoZ3N0X211bHRpZmlsZXNpbmtfaGFuZGxlX2V2ZW50KSwKCSAgKGdzdF9tdWx0aWZpbGVzaW5rX2NoYWluKSwgKGdzdF9tdWx0aWZpbGVzaW5rX2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L211bHRpZmlsZXNpbmsvZ3N0bXVsdGlmaWxlc2luay5oOgoJICAqIGdzdC92aWRlb2Ryb3AvZ3N0dmlkZW9kcm9wLmM6IChnc3RfdmlkZW9kcm9wX2luaXQpOgoJICAqIHN5cy9jZHJvbS9nc3RjZHBsYXllci5jOiAoY2RwbGF5ZXJfaW5pdCk6CgkgICogc3lzL2R4cjMvZHhyM2F1ZGlvc2luay5jOiAoZHhyM2F1ZGlvc2lua19pbml0KSwKCSAgKGR4cjNhdWRpb3Npbmtfb3BlbiksIChkeHIzYXVkaW9zaW5rX2Nsb3NlKSwKCSAgKGR4cjNhdWRpb3NpbmtfY2hhaW5fcGNtKSwgKGR4cjNhdWRpb3NpbmtfY2hhaW5fYWMzKSwKCSAgKGR4cjNhdWRpb3NpbmtfY2hhbmdlX3N0YXRlKToKCSAgKiBzeXMvZHhyMy9keHIzYXVkaW9zaW5rLmg6CgkgICogc3lzL2R4cjMvZHhyM3NwdXNpbmsuYzogKGR4cjNzcHVzaW5rX2luaXQpLCAoZHhyM3NwdXNpbmtfb3BlbiksCgkgIChkeHIzc3B1c2lua19jbG9zZSksIChkeHIzc3B1c2lua19jaGFpbiksCgkgIChkeHIzc3B1c2lua19jaGFuZ2Vfc3RhdGUpOgoJICAqIHN5cy9keHIzL2R4cjNzcHVzaW5rLmg6CgkgICogc3lzL2R4cjMvZHhyM3ZpZGVvc2luay5jOiAoZHhyM3ZpZGVvc2lua19pbml0KSwKCSAgKGR4cjN2aWRlb3Npbmtfb3BlbiksIChkeHIzdmlkZW9zaW5rX2Nsb3NlKSwKCSAgKGR4cjN2aWRlb3Npbmtfd3JpdGVfZGF0YSksIChkeHIzdmlkZW9zaW5rX2NoYW5nZV9zdGF0ZSk6CgkgICogc3lzL2R4cjMvZHhyM3ZpZGVvc2luay5oOgoJICAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuYzogKGdzdF9nbGltYWdlc2lua19pbml0KToKCSAgKiBzeXMvcWNhbS9nc3RxY2Ftc3JjLmM6IChnc3RfcWNhbXNyY19jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X3FjYW1zcmNfb3BlbiksIChnc3RfcWNhbXNyY19jbG9zZSk6CgkgICogc3lzL3FjYW0vZ3N0cWNhbXNyYy5oOgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzogKGdzdF92NGwyc3JjX2luaXQpOgoJICAqIHN5cy92Y2QvdmNkc3JjLmM6IChnc3RfdmNkc3JjX3NldF9wcm9wZXJ0eSksIChnc3RfdmNkc3JjX2dldCksCgkgIChnc3RfdmNkc3JjX29wZW5fZmlsZSksIChnc3RfdmNkc3JjX2Nsb3NlX2ZpbGUpLAoJICAoZ3N0X3ZjZHNyY19jaGFuZ2Vfc3RhdGUpLCAoZ3N0X3ZjZHNyY19yZWNhbGN1bGF0ZSk6CgkgICogc3lzL3ZjZC92Y2RzcmMuaDoKCSAgcmVuYW1lZCBHU1RfRkxBR1MgbWFjcm9zIHRvIEdTVF9PQkpFQ1RfRkxBR1MKCSAgbW92ZWQgYml0c2hpZnQgZnJvbSBtYWNybyB0byBlbnVtIGRlZmluaXRpb24KCjIwMDUtMTAtMTIgMTQ6Mjk6NDMgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIHJlbmFtZWQgR1NUX0ZMQUdTIG1hY3JvcyB0byBHU1RfT0JKRUNUX0ZMQUdTIG1vdmVkIGJpdHNoaWZ0IGZyb20gbWFjcm8gdG8gZW51bSBkZWZpbml0aW9uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4YW1wbGVzL2luZGV4aW5nL2luZGV4bXBlZy5jOiAobWFpbik6CgkgICogZXh0L2VzZC9lc2Rtb24uYzogKGdzdF9lc2Rtb25fb3Blbl9hdWRpbyksCgkgIChnc3RfZXNkbW9uX2Nsb3NlX2F1ZGlvKSwgKGdzdF9lc2Rtb25fY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvZXNkL2VzZG1vbi5oOgoJICAqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zi5jOiAoZ3N0X2dka19waXhidWZfaW5pdCk6CgkgICogZXh0L3BhbmdvL2dzdHRleHRvdmVybGF5LmM6IChnc3RfdGV4dG92ZXJsYXlfaW5pdCk6CgkgICogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc2luay5jOiAoZ3N0X2F1dG9fYXVkaW9fc2lua19pbml0KToKCSAgKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zaW5rLmM6IChnc3RfYXV0b192aWRlb19zaW5rX2luaXQpOgoJICAqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6IChnc3RfYXZpbXV4X2luaXQpOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiAoZ3N0X21hdHJvc2thX2RlbXV4X2luaXQpOgoJICAqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzogKGdzdF9tdWx0aXBhcnRfZGVtdXhfaW5pdCk6CgkgICogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRtdXguYzogKGdzdF9tdWx0aXBhcnRfbXV4X2luaXQpOgoJICAqIGdzdC9vbGRjb3JlL2dzdG11bHRpZmlsZXNyYy5jOiAoZ3N0X211bHRpZmlsZXNyY19pbml0KSwKCSAgKGdzdF9tdWx0aWZpbGVzcmNfZ2V0KSwgKGdzdF9tdWx0aWZpbGVzcmNfb3Blbl9maWxlKSwKCSAgKGdzdF9tdWx0aWZpbGVzcmNfY2xvc2VfZmlsZSksIChnc3RfbXVsdGlmaWxlc3JjX2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L29sZGNvcmUvZ3N0bXVsdGlmaWxlc3JjLmg6CgkgICogZ3N0L29sZGNvcmUvZ3N0cGlwZWZpbHRlci5jOiAoZ3N0X3BpcGVmaWx0ZXJfaW5pdCksCgkgIChnc3RfcGlwZWZpbHRlcl9vcGVuX2ZpbGUpLCAoZ3N0X3BpcGVmaWx0ZXJfY2xvc2VfZmlsZSksCgkgIChnc3RfcGlwZWZpbHRlcl9jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9vbGRjb3JlL2dzdHBpcGVmaWx0ZXIuaDoKCSAgKiBnc3Qvc21vb3Rod2F2ZS9nc3RzbW9vdGh3YXZlLmM6IChnc3Rfc21vb3Rod2F2ZV9pbml0KToKCSAgKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6IChnc3RfdmlkZW9taXhlcl9pbml0KToKCSAgKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zaW5rLmM6IChnc3Rfb3N4YXVkaW9zaW5rX2luaXQpOgoJICAqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NpbmsuaDoKCSAgKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zcmMuaDoKCSAgcmVuYW1lZCBHU1RfRkxBR1MgbWFjcm9zIHRvIEdTVF9PQkpFQ1RfRkxBR1MKCSAgbW92ZWQgYml0c2hpZnQgZnJvbSBtYWNybyB0byBlbnVtIGRlZmluaXRpb24KCjIwMDUtMTAtMTIgMDM6MTQ6NTcgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZXh0L01ha2VmaWxlLmFtOgoJICBkaXN0IGNhaXJvCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBkaXN0IGNhaXJvCgoyMDA1LTEwLTEyIDAzOjEyOjU3ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGV4dC86IHVwZGF0ZSBvZiBjYWlyby1iYXNlZCB0aW1lb3ZlcmxheSB0byAxLjAgQ2Fpcm8gQVBJIGRvZXNuJ3Qgd29yayB5ZXQgZm9yIHJlc2l6aW5nIG9mIG91dHB1dCBzaW5rCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9NYWtlZmlsZS5hbToKCSAgKiBleHQvY2Fpcm8vTWFrZWZpbGUuYW06CgkgICogZXh0L2NhaXJvL2dzdGNhaXJvLmM6IChwbHVnaW5faW5pdCk6CgkgICogZXh0L2NhaXJvL2dzdHRleHRvdmVybGF5LmM6IChnc3RfdGV4dG92ZXJsYXlfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvY2Fpcm8vZ3N0dGltZW92ZXJsYXkuYzogKGdzdF90aW1lb3ZlcmxheV91cGRhdGVfZm9udF9oZWlnaHQpLAoJICAoZ3N0X3RpbWVvdmVybGF5X3NldHVwKSwgKGdzdF90aW1lb3ZlcmxheV9wbGFuYXI0MTEpOgoJICAqIGV4dC9jYWlyby9nc3R0aW1lb3ZlcmxheS5oOgoJICB1cGRhdGUgb2YgY2Fpcm8tYmFzZWQgdGltZW92ZXJsYXkgdG8gMS4wIENhaXJvIEFQSQoJICBkb2Vzbid0IHdvcmsgeWV0IGZvciByZXNpemluZyBvZiBvdXRwdXQgc2luawoKMjAwNS0xMC0xMiAwMzowNzoyNiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkgIGRvbid0IGJ1aWxkIGNoZWNrcyBpZiB3ZSBkb24ndCBoYXZlIGNoZWNrCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBkb24ndCBidWlsZCBjaGVja3MgaWYgd2UgZG9uJ3QgaGF2ZSBjaGVjawoKMjAwNS0xMC0xMiAwMzowMzoyNyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBNYWtlZmlsZS5hbToKCSogY29tbW9uOgoJICBkb24ndCBidWlsZCBjaGVja3MgaWYgd2UgZG9uJ3QgaGF2ZSBnc3RjaGVjawoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZG9uJ3QgYnVpbGQgY2hlY2tzIGlmIHdlIGRvbid0IGhhdmUgZ3N0Y2hlY2sKCjIwMDUtMTAtMTEgMTc6Mzg6MjkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzogbmV3c2VnbWVudCBBUEkgZml4LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzogKHNwZWV4X2RlY19ldmVudCksIChzcGVleF9kZWNfY2hhaW4pOgoJICBuZXdzZWdtZW50IEFQSSBmaXguCgoyMDA1LTEwLTExIDE2OjM0OjM2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0LzogbmV3c2VnbWVudCBBUEkgdXBkYXRlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9sb29wX2hlYWRlcik6CgkgICogZ3N0L3R0YS9nc3R0dGFwYXJzZS5jOiAoZ3N0X3R0YV9wYXJzZV9zcmNfZXZlbnQpLAoJICAoZ3N0X3R0YV9wYXJzZV9wYXJzZV9oZWFkZXIpOgoJICBuZXdzZWdtZW50IEFQSSB1cGRhdGUuCgoyMDA1LTEwLTExIDE2OjMzOjA4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgbmV3c2VnbWVudCBBUEkgdXBkYXRlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZHYvZ3N0ZHZkZW11eC5jOiAoZ3N0X2R2ZGVtdXhfaGFuZGxlX3NpbmtfZXZlbnQpLAoJICAoZ3N0X2R2ZGVtdXhfZGVtdXhfZnJhbWUpOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzogKGdzdF9mbGFjZGVjX3dyaXRlKToKCSAgKiBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLmM6IChnc3RfYXVwYXJzZV9jaGFpbik6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9zdHJlYW1faGVhZGVyKSwKCSAgKGdzdF9hdmlfZGVtdXhfaGFuZGxlX3NlZWspOgoJICAqIGdzdC9nb29tL2dzdGdvb20uYzogKGdzdF9nb29tX2V2ZW50KToKCSAgKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5jOiAoZ3N0X3dhdmVuY19zdG9wX2ZpbGUpOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiAoZ3N0X3dhdnBhcnNlX2hhbmRsZV9zZWVrKSwKCSAgKGdzdF93YXZwYXJzZV9zdHJlYW1faGVhZGVycyksIChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2RhdGEpLAoJICAoZ3N0X3dhdnBhcnNlX2xvb3ApLCAoZ3N0X3dhdnBhcnNlX3BhZF9jb252ZXJ0KSwKCSAgKGdzdF93YXZwYXJzZV9zcmNwYWRfZXZlbnQpOgoJICBuZXdzZWdtZW50IEFQSSB1cGRhdGUuCgoyMDA1LTEwLTExIDEwOjA3OjM1ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJICBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzogU2lnbmVkbmVzcyBjbGVhbnVwcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTAtMTEgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6IFNpZ25lZG5lc3MgY2xlYW51cHMuCgoyMDA1LTEwLTEwIDE5OjU3OjQwICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIFBPUlRFRF8wOToKCSogZXh0L3NwZWV4L01ha2VmaWxlLmFtOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXguYzoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6CgkgIFNwZWV4ZW5jIHBvcnRlZCB0byAwLjkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBTcGVleGVuYyBwb3J0ZWQgdG8gMC45LgoKMjAwNS0xMC0xMCAxNDoxNjoyMSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIHN5cy9vc3MvOiBDbGVhbnVwcywgbWFrZSBkZXZpY2UgY29uZmlndXJhYmxlIGluIHRoZSBzaW5rLCBoYW5kbGUgYW5kIHJlcG9ydCBlcnJvcnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9vc3MvZ3N0b3Nzc2luay5jOiAoZ3N0X29zc19zaW5rX2NsYXNzX2luaXQpLAoJICAoZ3N0X29zc19zaW5rX2luaXQpLCAoZ3N0X29zc19zaW5rX3NldF9wcm9wZXJ0eSksCgkgIChnc3Rfb3NzX3NpbmtfZ2V0X3Byb3BlcnR5KSwgKGdzdF9vc3Nfc2lua19vcGVuKSwKCSAgKGdzdF9vc3Nfc2lua19wcmVwYXJlKSwgKGdzdF9vc3Nfc2lua19yZXNldCk6CgkgICogc3lzL29zcy9nc3Rvc3NzaW5rLmg6CgkgICogc3lzL29zcy9nc3Rvc3NzcmMuYzogKGdzdF9vc3Nfc3JjX2NsYXNzX2luaXQpLAoJICAoZ3N0X29zc19zcmNfc2V0X3Byb3BlcnR5KSwgKGdzdF9vc3Nfc3JjX2luaXQpLCAoZ3N0X29zc19zcmNfb3BlbiksCgkgIChnc3Rfb3NzX3NyY19wcmVwYXJlKToKCSAgQ2xlYW51cHMsIG1ha2UgZGV2aWNlIGNvbmZpZ3VyYWJsZSBpbiB0aGUgc2luaywgaGFuZGxlIGFuZCByZXBvcnQKCSAgZXJyb3JzLgoKMjAwNS0xMC0xMCAxMjozMTowNyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9nY29uZi86IE1ha2Ugc3VyZSBlbGVtZW50IGlzIE5VTEwgYmVmb3JlIHJlbW92aW5nIGZyb20gdGhlIGJpbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2djb25mL2dzdGdjb25mYXVkaW9zaW5rLmM6IChnc3RfZ2NvbmZfYXVkaW9fc2lua19yZXNldCk6CgkgICogZXh0L2djb25mL2dzdGdjb25mdmlkZW9zaW5rLmM6IChnc3RfZ2NvbmZfdmlkZW9fc2lua19yZXNldCk6CgkgIE1ha2Ugc3VyZSBlbGVtZW50IGlzIE5VTEwgYmVmb3JlIHJlbW92aW5nIGZyb20gdGhlIGJpbi4KCjIwMDUtMTAtMDcgMTY6Mjg6MjQgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkqIENoYW5nZUxvZzoKCSogZXh0L3JhdzEzOTQvZ3N0ZHYxMzk0c3JjLmM6CgkgIERvbid0IHVucmVmIHRoZSBtZXNzYWdlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKGdzdF9kdjEzOTRzcmNfYnVzX3Jlc2V0KTogRG9uJ3QgdW5yZWYgdGhlIG1lc3NhZ2UuCgoyMDA1LTEwLTA3IDE2OjIyOjU5ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9yYXcxMzk0L2dzdGR2MTM5NHNyYy5jOgoJICBQb3N0IGEgbWVzc2FnZSB3aGVuIHRoZSBjYWJsZSBpcyB1bnBsdWdnZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAoZ3N0X2R2MTM5NHNyY19idXNfcmVzZXQpOiBQb3N0IGEgbWVzc2FnZSB3aGVuIHRoZSBjYWJsZSBpcwoJICB1bnBsdWdnZWQuCgkgIChnc3RfZHYxMzk0c3JjX2NyZWF0ZSwgZ3N0X2R2MTM5NHNyY191bmxvY2spOiBSZW1vdmUgc29tZSBwcmludHMuCgoyMDA1LTEwLTA3IDE1OjI0OjI0ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJICBleHQvcmF3MTM5NC9nc3RkdjEzOTRzcmMuYzogTWFrZSBpbnRlcnJ1cHRpYmxlLCBzbyBpdCB3b24ndCBibG9jayBmb3JldmVyIGluIGEgcmVhZCgpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMC0wNyAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBleHQvcmF3MTM5NC9nc3RkdjEzOTRzcmMuYzogTWFrZSBpbnRlcnJ1cHRpYmxlLCBzbyBpdCB3b24ndAoJICBibG9jayBmb3JldmVyIGluIGEgcmVhZCgpLgoKMjAwNS0xMC0wNyAxMzoxNzo1MyArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSAgZXh0L3JhdzEzOTQvZ3N0ZHYxMzk0c3JjLmM6IENsZWFuIHVwIGZvciBzdHlsZSBiZWZvcmUgZG9pbmcgc29tZSBoYWNraW5nLiBUaGUgb25seSBjaGFuZ2Ugc2hvdWxkIGJlIHRoYXQgdGhlIHN0YXRlIGNoLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTEwLTA3ICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIGV4dC9yYXcxMzk0L2dzdGR2MTM5NHNyYy5jOiBDbGVhbiB1cCBmb3Igc3R5bGUgYmVmb3JlIGRvaW5nIHNvbWUKCSAgaGFja2luZy4gVGhlIG9ubHkgY2hhbmdlIHNob3VsZCBiZSB0aGF0IHRoZSBzdGF0ZSBjaGFuZ2Ugc3R1ZmYgd2FzCgkgIHB1dCBpbnRvIGJhc2VzcmMncyBzdGFydCgpIGFuZCBzdG9wKCkgcm91dGluZXMsIHdoaWNoIGNvYWxlc2NlcwoJICBzb21lIHN0ZXBzLgoKMjAwNS0xMC0wNyAxMTozMDo0MSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogQWRkIGNoZWNrIGZvciBtbWFwCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQWRkIGNoZWNrIGZvciBtbWFwCgkgICogZ3N0L2RlYnVnL01ha2VmaWxlLmFtOgoJICBPbmx5IGNvbXBpbGUgZWZlbmNlIHBsdWdpbiBvbiBzeXN0ZW1zIHRoYXQgaGF2ZSBtbWFwLgoKMjAwNS0xMC0wNSAxNjozNjo1NyArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZ3N0LXBsdWdpbnMtZ29vZC5zcGVjLmluOgoJICBhZGQgbGF0ZXN0IGZpbGVzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBhZGQgbGF0ZXN0IGZpbGVzCgoyMDA1LTEwLTA1IDExOjM4OjI5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2RlYnVnLzogUG9ydCBwcm9ncmVzc3JlcG9ydCwgbmF2c2VlaywgbmF2aWdhdGlvbnRlc3QsIHRlc3RzaW5rIGFuZCBicmVha215ZGF0YS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlYnVnL01ha2VmaWxlLmFtOgoJICAqIGdzdC9kZWJ1Zy9icmVha215ZGF0YS5jOgoJICAqIGdzdC9kZWJ1Zy9nc3RkZWJ1Zy5jOgoJICAqIGdzdC9kZWJ1Zy9nc3RuYXZpZ2F0aW9udGVzdC5jOgoJICAqIGdzdC9kZWJ1Zy9nc3RuYXZzZWVrLmM6CgkgICogZ3N0L2RlYnVnL2dzdG5hdnNlZWsuaDoKCSAgKiBnc3QvZGVidWcvcHJvZ3Jlc3NyZXBvcnQuYzoKCSAgKiBnc3QvZGVidWcvdGVzdHBsdWdpbi5jOgoJICBQb3J0IHByb2dyZXNzcmVwb3J0LCBuYXZzZWVrLCBuYXZpZ2F0aW9udGVzdCwgdGVzdHNpbmsgYW5kCgkgIGJyZWFrbXlkYXRhLgoKMjAwNS0xMC0wNSAxMToxNToyMyArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGV4dC9kdi9nc3RkdmRlbXV4LmM6IEZpeGVzIGZvciBiZXR0ZXIgY29udmVyc2lvbgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZHYvZ3N0ZHZkZW11eC5jOiAoZ3N0X2R2ZGVtdXhfc3JjX2NvbnZlcnQpLAoJICAoZ3N0X2R2ZGVtdXhfc3JjX3F1ZXJ5KToKCSAgRml4ZXMgZm9yIGJldHRlciBjb252ZXJzaW9uCgoyMDA1LTEwLTA0IDE3OjU4OjQwICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBnc3QvYXV0b2RldGVjdC86IFNldCBzdGF0ZSBvZiBlbGVtZW50cyB0byBOVUxMIGJlZm9yZSByZW1vdmluZyBmcm9tIGJpbnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NpbmsuYzogKGdzdF9hdXRvX2F1ZGlvX3NpbmtfcmVzZXQpLAoJICAoZ3N0X2F1dG9fYXVkaW9fc2lua19maW5kX2Jlc3QpLCAoZ3N0X2F1dG9fYXVkaW9fc2lua19kZXRlY3QpOgoJICAqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NpbmsuYzogKGdzdF9hdXRvX3ZpZGVvX3NpbmtfcmVzZXQpLAoJICAoZ3N0X2F1dG9fdmlkZW9fc2lua19maW5kX2Jlc3QpLCAoZ3N0X2F1dG9fdmlkZW9fc2lua19kZXRlY3QpOgoJICBTZXQgc3RhdGUgb2YgZWxlbWVudHMgdG8gTlVMTCBiZWZvcmUgcmVtb3ZpbmcgZnJvbSBiaW5zLgoJICBTZXQgc3RhdGUgb2YgdGVzdCBlbGVtZW50IHRvIE5VTEwgaWYgd2UgZmFpbGVkIHRvIG1vdmUgaXQgdG8gUkVBRFkKCjIwMDUtMTAtMDQgMTc6NDQ6NDMgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBleHQvZHYvOiBBZGRlZCBERUZBVUxUIDw9PT4gQllURVMsIFRJTUUgY29udmVyc2lvbnMgb24gc3JjcGFkLAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZHYvTWFrZWZpbGUuYW06CgkgICogZXh0L2R2L2dzdGR2ZGVtdXguYzogKGdzdF9kdmRlbXV4X3NyY19xdWVyeSksIChnc3RfZHZkZW11eF9zcmNfY29udmVyKToKCSAgQWRkZWQgREVGQVVMVCA8PT0+IEJZVEVTLCBUSU1FIGNvbnZlcnNpb25zIG9uIHNyY3BhZCwKCSAgQ29ycmVjdGVkIHRoZSBxdWVyeSBmdW5jdGlvbiBmb3IgcG9zaXRpb24gc28gaXQgZG9lc24ndCBmb3JnZXQgd2hhdAoJICBmb3JtYXQgd2FzIGFza2VkLCBhbmQgY2FsbHMgdGhlIGNvbnZlcnNpb24gZnVuY3Rpb25zIG9uIHRoZSBjb3JyZWN0IHBhZC4KCjIwMDUtMTAtMDMgMTc6NTk6MTggKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBjb25maWd1cmUuYWM6CgkgIGJhY2sgdG8gaGVhZAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYmFjayB0byBoZWFkCgo9PT0gcmVsZWFzZSAwLjkuMyA9PT0KCjIwMDUtMTAtMDMgMTc6NDg6NTcgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUFETUU6CgkqIGNvbmZpZ3VyZS5hYzoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJICByZWxlYXNlIHRpbWUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHJlbGVhc2UgdGltZQoKMjAwNS0xMC0wMiAyMzowODozNSArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSAgZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jIChnc3RfZmxhY2RlY193cml0ZSk6IERlYWwgd2l0aCBwYWRfYWxsb2MgZXJyb3IgcmV0dXJucy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTAtMDMgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jIChnc3RfZmxhY2RlY193cml0ZSk6IERlYWwgd2l0aCBwYWRfYWxsb2MKCSAgZXJyb3IgcmV0dXJucy4KCjIwMDUtMTAtMDIgMTU6MzM6MTQgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkgIGNvbmZpZ3VyZS5hYyAoR1NUX1BMVUdJTl9MREZMQUdTKTogQ2hhbmdlIHRvIGJlIGxpa2UgLWJhc2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTEwLTAyICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIGNvbmZpZ3VyZS5hYyAoR1NUX1BMVUdJTl9MREZMQUdTKTogQ2hhbmdlIHRvIGJlIGxpa2UgLWJhc2UuCgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOiBQb3J0ZWQgdG8gMC45LgoJICAqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYyAoZ3N0X2ZsYWNkZWNfbG9vcCk6IEhhbmRsZSBlcnJvcnMgYmV0dGVyLgoJICAqIGV4dC9mbGFjL01ha2VmaWxlLmFtOiBBZGQgdGhlIEdTVF9QTFVHSU5TX0JBU0UgY2ZsYWdzIGFuZCBsaWJzLAoJICBhbmQgbGluayB0byBnc3R0YWdlZGl0LiBFbmFibGUgZmxhY2VuYy4KCSAgKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6IFJlLWVuYWJsZSB0YWcgcmVhZGluZy4KCjIwMDUtMDktMzAgMTY6MzY6NDkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwLzogVmFyaW91cyBjbGFzcyBhbmQgY2FwcyBmaXhlcyBmcm9tIEFuZHJlIE1hZ2FsaGFlcyAoYW5kcnVua28pCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwYW1yZW5jLmM6IChnc3RfcnRwYW1yZW5jX3NldGNhcHMpOgoJICAqIGdzdC9ydHAvZ3N0cnRwZ3NtcGFyc2UuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjNwZW5jLmM6CgkgICogZ3N0L3J0cC9nc3RydHBtcDR2ZW5jLmM6IChnc3RfcnRwbXA0dmVuY19jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBtcDR2ZW5jX3BhcnNlX2RhdGEpLCAoZ3N0X3J0cG1wNHZlbmNfaGFuZGxlX2J1ZmZlciksCgkgIChnc3RfcnRwbXA0dmVuY19zZXRfcHJvcGVydHkpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXBhZW5jLmM6IChnc3RfcnRwbXBhZW5jX2hhbmRsZV9idWZmZXIpOgoJICBWYXJpb3VzIGNsYXNzIGFuZCBjYXBzIGZpeGVzIGZyb20gQW5kcmUgTWFnYWxoYWVzIChhbmRydW5rbykKCjIwMDUtMDktMjkgMTM6MDg6NDEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvbGV2ZWwvbGV2ZWwtZXhhbXBsZS5jOiBVcGRhdGUgZm9yIG5ldyBidXMgQVBJLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbGV2ZWwvbGV2ZWwtZXhhbXBsZS5jOiAobWFpbik6CgkgIFVwZGF0ZSBmb3IgbmV3IGJ1cyBBUEkuCgoyMDA1LTA5LTI4IDEzOjM4OjAyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBObyBuZWVkIHRvIHRha2Ugc3RyZWFtIGxvY2sgaGVyZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfbG9vcF9oZWFkZXIpOgoJICBObyBuZWVkIHRvIHRha2Ugc3RyZWFtIGxvY2sgaGVyZS4KCjIwMDUtMDktMjggMDk6NDU6MDAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBjb25maWd1cmUuYWM6IEZpeCB1bmV4cGFuZGVkIGF1dG9jb25mIG1hY3JvIEdTVF9ET0MsIHdoaWNoIGhhcyBiZWVuIHJlbmFtZWQgdG8gR1NUX0RPQ0JPT0tfQ0hFQ0sgKHNlZSBjb21tb24vbTQvZ3N0LWQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBGaXggdW5leHBhbmRlZCBhdXRvY29uZiBtYWNybyBHU1RfRE9DLCB3aGljaCBoYXMgYmVlbiByZW5hbWVkCgkgIHRvIEdTVF9ET0NCT09LX0NIRUNLIChzZWUgY29tbW9uL200L2dzdC1kb2MubTQpICgjMzE2MjAyKS4KCjIwMDUtMDktMjcgMTU6MTI6NDUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBzeXMvb3NzL2dzdG9zc3NpbmsuYzogRml4IHBsYXliYWNrIG9mIG1vbm8gc3RyZWFtcyAoYnl0ZXNfcGVyX3NhbXBsZSBzaG91bGQgYmUgc2V0IGZyb20gdGhlIHNhbXBsZSB3aWR0aCBhbmQgdGhlIG51bWIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL29zcy9nc3Rvc3NzaW5rLmM6IChnc3Rfb3NzX3NpbmtfcHJlcGFyZSk6CgkgIEZpeCBwbGF5YmFjayBvZiBtb25vIHN0cmVhbXMgKGJ5dGVzX3Blcl9zYW1wbGUgc2hvdWxkIGJlIHNldAoJICBmcm9tIHRoZSBzYW1wbGUgd2lkdGggYW5kIHRoZSBudW1iZXIgb2YgY2hhbm5lbHMgbmVnb3RpYXRlZCwKCSAgYW5kIG5vdCBqdXN0IGJlIHNldCB0byA0KSAoIzMxNzMzOCkKCjIwMDUtMDktMjYgMTQ6NTk6MTAgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWdvb2Quc3BlYy5pbjoKCSAgYWRkIGF1cGFyc2UgdG8gcGx1Z2lucyBsaXN0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBhZGQgYXVwYXJzZSB0byBwbHVnaW5zIGxpc3QKCjIwMDUtMDktMjYgMTQ6NDI6MDkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwL2dzdHJ0cG1wYWVuYy5jOiBTZXQgYnVmZmVyIGR1cmF0aW9uIGNvcnJlY3RseS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBtcGFlbmMuYzogKGdzdF9ydHBtcGFlbmNfZmx1c2gpLAoJICAoZ3N0X3J0cG1wYWVuY19oYW5kbGVfYnVmZmVyKToKCSAgU2V0IGJ1ZmZlciBkdXJhdGlvbiBjb3JyZWN0bHkuCgoyMDA1LTA5LTI2IDEzOjA2OjI3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiBEb24ndCBjcmFzaCB3aGVuIGVuY291bnRlcmluZyBhIHN0cmVhbSB3aXRoIGFuIHVua25vd24gZm91cmNjIG9yIGNvZGVjIGlkLiBJbnN0ZWFkLCBjcmVhdGUgYSBwLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfYmFzZV9pbml0KSwKCSAgKGdzdF9hdmlfZGVtdXhfY2xhc3NfaW5pdCksIChnc3RfYXZpX2RlbXV4X3BhcnNlX3N0cmVhbSksCgkgIChnc3RfYXZpX2RlbXV4X2NoYW5nZV9zdGF0ZSk6CgkgIERvbid0IGNyYXNoIHdoZW4gZW5jb3VudGVyaW5nIGEgc3RyZWFtIHdpdGggYW4gdW5rbm93biBmb3VyY2Mgb3IKCSAgY29kZWMgaWQuIEluc3RlYWQsIGNyZWF0ZSBhIHBhZCBvZiB0eXBlIHZpZGVvL3gtYXZpLXVua25vd24gb3IKCSAgYXVkaW8veC1hdmktdW5rbm93biwgd2hpY2ggYXMgYSBzaWRlLWVmZmVjdCBhbHNvIHJlc3VsdHMgaW4gbGVzcwoJICBjb25mdXNpbmcgZXJyb3IgbWVzc2FnZXMgaW4gcGxheWVycyAoJ25vIGRlY29kZXInIHZzLiAnbm8gc3RyZWFtcycpOwoJICBtaW5vciBmaXhlcyB0byBzdGF0ZSBjaGFuZ2UgZnVuY3Rpb24gYW5kIGNsYXNzX2luaXQgZnVuY3Rpb24uCgoyMDA1LTA5LTI0IDEzOjM0OjQ2ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGNoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgc2V0IHVwIHBsdWdpbiBwYXRocyBwcm9wZXJseQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgc2V0IHVwIHBsdWdpbiBwYXRocyBwcm9wZXJseQoKMjAwNS0wOS0yNCAxMzoxMDo1MiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9hdXRvZGV0ZWN0LzogVGhlc2UgYXJlIHNpbmtzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zaW5rLmM6IChnc3RfYXV0b19hdWRpb19zaW5rX2luaXQpOgoJICAqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NpbmsuYzogKGdzdF9hdXRvX3ZpZGVvX3NpbmtfaW5pdCk6CgkgIFRoZXNlIGFyZSBzaW5rcy4KCjIwMDUtMDktMjQgMTI6MTA6MDIgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgY2hlY2svZWxlbWVudHMvbGV2ZWwuYzogZml4IHRlc3QgZm9yIG5ldyBHc3RDbG9ja1RpbWUgdXNlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNoZWNrL2VsZW1lbnRzL2xldmVsLmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgIGZpeCB0ZXN0IGZvciBuZXcgR3N0Q2xvY2tUaW1lIHVzZQoJICAqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOiAoZ3N0X2xldmVsX2luaXQpLCAoZ3N0X2xldmVsX3NldF9jYXBzKSwKCSAgKGdzdF9sZXZlbF90cmFuc2Zvcm1faXApOgoJICAqIGdzdC9sZXZlbC9nc3RsZXZlbC5oOgoJICBmaXggdXAgdGhlIGRlY2F5IHBlYWssIGVuc3VyaW5nIHRoZSBkZWNheSBwZWFrIGlzIG5ldmVyIGxvd2VyCgkgIHRoYW4gdGhlIHBlYWsgZm9yIHRoYXQgaW50ZXJ2YWwKCjIwMDUtMDktMjMgMTg6MjM6MDQgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzoKCSAgdXBkYXRpbmcgZG9jcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgdXBkYXRpbmcgZG9jcwoKMjAwNS0wOS0yMyAxODoxNTo1MSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIE1ha2VmaWxlLmFtOgoJKiBjaGVjay9lbGVtZW50cy9sZXZlbC5jOgoJKiBjb21tb246CgkqIGdzdC9sZXZlbC9NYWtlZmlsZS5hbToKCSogZ3N0L2xldmVsL2dzdGxldmVsLmM6CgkqIGdzdC9sZXZlbC9nc3RsZXZlbC5oOgoJKiBnc3QvbGV2ZWwvbGV2ZWwtZXhhbXBsZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9sZXZlbC5jOgoJICBjb252ZXJ0IHRvIHVzaW5nIEdzdENsb2NrVGltZSBmb3IgYWxsIHRpbWUgdmFsdWVzLCBmaW5hbGx5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgY29udmVydCB0byB1c2luZyBHc3RDbG9ja1RpbWUgZm9yIGFsbCB0aW1lIHZhbHVlcywgZmluYWxseS4KCjIwMDUtMDktMjMgMTU6MDE6MDAgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZ3N0L2dvb20vTWFrZWZpbGUuYW06CgkgIGZpeCBidWlsZCBvZiBnb29tCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBmaXggYnVpbGQgb2YgZ29vbQoKMjAwNS0wOS0yMyAxNDoyMDowMSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBjb21tb246CgkqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOgoJICB3ZSBoYW5kbGUgbW9yZSB0aGFuIHR3byBjaGFubmVscwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgd2UgaGFuZGxlIG1vcmUgdGhhbiB0d28gY2hhbm5lbHMKCjIwMDUtMDktMjMgMDQ6MjM6MDAgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9jYWlyby9NYWtlZmlsZS5hbToKCSogZXh0L2R2L01ha2VmaWxlLmFtOgoJKiBleHQvZXNkL01ha2VmaWxlLmFtOgoJKiBleHQvZmxhYy9NYWtlZmlsZS5hbToKCSogZXh0L2djb25mL01ha2VmaWxlLmFtOgoJKiBleHQvZ2RrX3BpeGJ1Zi9NYWtlZmlsZS5hbToKCSogZXh0L2pwZWcvTWFrZWZpbGUuYW06CgkqIGV4dC9sYWRzcGEvTWFrZWZpbGUuYW06CgkqIGV4dC9saWJjYWNhL01ha2VmaWxlLmFtOgoJKiBleHQvbGlibW5nL01ha2VmaWxlLmFtOgoJKiBleHQvbGlicG5nL01ha2VmaWxlLmFtOgoJKiBleHQvbWlrbW9kL01ha2VmaWxlLmFtOgoJKiBleHQvcGFuZ28vTWFrZWZpbGUuYW06CgkqIGV4dC9yYXcxMzk0L01ha2VmaWxlLmFtOgoJKiBleHQvc2hvdXQyL01ha2VmaWxlLmFtOgoJKiBleHQvc3BlZXgvTWFrZWZpbGUuYW06CgkqIGdzdC9hbHBoYS9NYWtlZmlsZS5hbToKCSogZ3N0L2F1cGFyc2UvTWFrZWZpbGUuYW06CgkqIGdzdC9hdXBhcnNlL2dzdGF1cGFyc2UuYzoKCSogZ3N0L2F1dG9kZXRlY3QvTWFrZWZpbGUuYW06CgkqIGdzdC9hdmkvTWFrZWZpbGUuYW06CgkqIGdzdC9jdXR0ZXIvTWFrZWZpbGUuYW06CgkqIGdzdC9kZWJ1Zy9NYWtlZmlsZS5hbToKCSogZ3N0L2VmZmVjdHYvTWFrZWZpbGUuYW06CgkqIGdzdC9mbHgvTWFrZWZpbGUuYW06CgkqIGdzdC9nb29tL01ha2VmaWxlLmFtOgoJKiBnc3QvbGF3L01ha2VmaWxlLmFtOgoJKiBnc3QvbWF0cm9za2EvTWFrZWZpbGUuYW06CgkqIGdzdC9tZWRpYW4vTWFrZWZpbGUuYW06CgkqIGdzdC9tb25vc2NvcGUvTWFrZWZpbGUuYW06CgkqIGdzdC9tdWx0aXBhcnQvTWFrZWZpbGUuYW06CgkqIGdzdC9vbGRjb3JlL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRzcC9NYWtlZmlsZS5hbToKCSogZ3N0L3Ntb290aHdhdmUvTWFrZWZpbGUuYW06CgkqIGdzdC9zbXB0ZS9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvYm94L01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9maWx0ZXIvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb21peGVyL01ha2VmaWxlLmFtOgoJKiBnc3Qvd2F2ZW5jL01ha2VmaWxlLmFtOgoJKiBnc3Qvd2F2cGFyc2UvTWFrZWZpbGUuYW06CgkqIHN5cy9vc3MvTWFrZWZpbGUuYW06CgkqIHN5cy9vc3hhdWRpby9NYWtlZmlsZS5hbToKCSAgZml4IGJ1aWxkIGFuZCB1c2Ugb2YgR1NUX0xJQlMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGZpeCBidWlsZCBhbmQgdXNlIG9mIEdTVF9MSUJTCgoyMDA1LTA5LTIyIDIyOjM4OjQ4ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIFBPUlRFRF8wOToKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLmM6CgkqIGdzdC9hdXBhcnNlL2dzdGF1cGFyc2UuaDoKCSAgQXVwYXJzZSBwb3J0ZWQgdG8gMC45LiBUZXN0ZWQgd2l0aCBmaWxlc3JjICEgYXVwYXJzZSAhIG9zc3NpbmsgYW5kIGFsc2FzaW5rCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBBdXBhcnNlIHBvcnRlZCB0byAwLjkuIFRlc3RlZCB3aXRoIGZpbGVzcmMgISBhdXBhcnNlICEgb3Nzc2luayBhbmQgYWxzYXNpbmsKCjIwMDUtMDktMjIgMTQ6MTM6MzYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwLzogVXNlIGlzX2ZpbGxlZCB0byBib3RoIGNoZWNrIE1UVSBhbmQgbWF4LXB0aW1lIG9mIGJhc2UgY2xhc3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvVE9ETzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGRlYy5jOiAoZ3N0X3J0cGRlY19nZXRjYXBzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNHZlbmMuYzogKGdzdF9ydHBtcDR2ZW5jX2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cG1wNHZlbmNfcGFyc2VfZGF0YSksIChnc3RfcnRwbXA0dmVuY19oYW5kbGVfYnVmZmVyKSwKCSAgKGdzdF9ydHBtcDR2ZW5jX3NldF9wcm9wZXJ0eSk6CgkgICogZ3N0L3J0cC9nc3RydHBtcDR2ZW5jLmg6CgkgICogZ3N0L3J0cC9nc3RydHBtcGFlbmMuYzogKGdzdF9ydHBtcGFlbmNfaGFuZGxlX2J1ZmZlcik6CgkgICogZ3N0L3J0cC9nc3RydHBtcGFlbmMuaDoKCSAgVXNlIGlzX2ZpbGxlZCB0byBib3RoIGNoZWNrIE1UVSBhbmQgbWF4LXB0aW1lIG9mIGJhc2UgY2xhc3MuCgoyMDA1LTA5LTIyIDExOjI4OjIzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC9nc3RydHBtcDR2ZW5jLmM6IERvbid0IGZyYWdtZW50IHBhY2tldHMgd2l0aCBtdWx0aXBsZSBmcmFtZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0dmVuYy5jOiAoZ3N0X3J0cG1wNHZlbmNfY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwbXA0dmVuY19wYXJzZV9kYXRhKSwgKGdzdF9ydHBtcDR2ZW5jX2hhbmRsZV9idWZmZXIpLAoJICAoZ3N0X3J0cG1wNHZlbmNfc2V0X3Byb3BlcnR5KToKCSAgRG9uJ3QgZnJhZ21lbnQgcGFja2V0cyB3aXRoIG11bHRpcGxlIGZyYW1lcy4KCjIwMDUtMDktMjIgMTA6Mzk6MTEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwLzogUmVtb3ZlIGdfcHJpbnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvVE9ETzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNHZkZWMuYzogKGdzdF9ydHBtcDR2ZGVjX3NldGNhcHMpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0dmVuYy5jOiAoZ3N0X3J0cG1wNHZlbmNfY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwbXA0dmVuY19pbml0KSwgKGdzdF9ydHBtcDR2ZW5jX3BhcnNlX2RhdGEpLAoJICAoZ3N0X3J0cG1wNHZlbmNfaGFuZGxlX2J1ZmZlciksIChnc3RfcnRwbXA0dmVuY19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3J0cG1wNHZlbmNfZ2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNHZlbmMuaDoKCSAgUmVtb3ZlIGdfcHJpbnQuCgkgIFVwZGF0ZSBUT0RPCgkgIE1ha2UgcGF5bG9hZCBlbmNvZGVyIGEgYml0IHNtYXJ0ZXIgYW5kIG1vcmUgY29ycmVjdCB3aXRoCgkgIHRpbWVzdGFtcHMuCgkgIEFkZGVkIG9wdGlvbiBpbiBwYXlsb2FkZXIgdG8gaW5jbHVkZSBjb25maWcgc3RyaW5nIGluLWJhbmQuCgoyMDA1LTA5LTIxIDE5OjQxOjQ1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiBTdHJpcCBzcGFjZXMgZm9yIGtleS92YWx1ZSBwYWlycy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfcGFyc2VfcnRwbWFwKSwKCSAgKGdzdF9ydHNwc3JjX21lZGlhX3RvX2NhcHMpLCAoZ3N0X3J0c3BzcmNfc3RyZWFtX3NldHVwX3J0cCksCgkgIChnc3RfcnRzcHNyY19zZW5kKToKCSAgU3RyaXAgc3BhY2VzIGZvciBrZXkvdmFsdWUgcGFpcnMuCgoyMDA1LTA5LTIxIDE3OjUzOjI2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiBNb3JlIFNEUCBwYXJzaW5nIGFuZCBjYXBzIHNldHRpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX3BhcnNlX3J0cG1hcCksCgkgIChnc3RfcnRzcHNyY19tZWRpYV90b19jYXBzKSwgKGdzdF9ydHNwc3JjX3N0cmVhbV9zZXR1cF9ydHApLAoJICAoZ3N0X3J0c3BzcmNfc3RyZWFtX2NvbmZpZ3VyZV90cmFuc3BvcnQpLCAoZ3N0X3J0c3BzcmNfc2VuZCksCgkgIChnc3RfcnRzcHNyY19jaGFuZ2Vfc3RhdGUpOgoJICBNb3JlIFNEUCBwYXJzaW5nIGFuZCBjYXBzIHNldHRpbmcuCgkgIERvIE5PX1BSRVJPTEwgZGlmZmVyZW50bHkuCgkgIGFkZCBwYWRzIG9ubHkgYWZ0ZXIgbmVnb3RpYXRlZC4KCSAgKiBnc3QvdWRwL2dzdHVkcHNyYy5jOiAoZ3N0X3VkcHNyY19jbGFzc19pbml0KSwKCSAgKGdzdF91ZHBzcmNfZ2V0Y2Fwcyk6CgkgIEltcGxlbWVudCB0aGUgZ2V0Y2FwcyBmdW5jdGlvbi4KCjIwMDUtMDktMjEgMTc6NTA6MjkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwL2dzdHJ0cGFtcmRlYy5jOiBIYW5kbGUgbXVsdGlwbGUgQU1yIHBhY2tldHMgcGVyIHBheWxvYWQuIEhhbmRsZSBDUkMgYW5kIHBhcnNlIElMTC9JTFAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwYW1yZGVjLmM6IChnc3RfcnRwYW1yZGVjX3Npbmtfc2V0Y2FwcyksCgkgIChnc3RfcnRwYW1yZGVjX2NoYWluKToKCSAgSGFuZGxlIG11bHRpcGxlIEFNciBwYWNrZXRzIHBlciBwYXlsb2FkLiBIYW5kbGUgQ1JDIGFuZAoJICBwYXJzZSBJTEwvSUxQLgoJICAqIGdzdC9ydHAvZ3N0cnRwYW1yZW5jLmM6IChnc3RfcnRwYW1yZW5jX3NldGNhcHMpOgoJICBNYWtlIGNhcHMgcGFyYW1zIHN0cmluZ3MgZm9yIGVhc3kgU0RQIG1hcHBpbmcuCgkgICogZ3N0L3J0cC9nc3RydHBkZWMuYzogKGdzdF9ydHBkZWNfaW5pdCksIChnc3RfcnRwZGVjX2dldGNhcHMpOgoJICBIYW5kbGUgY2Fwc25lZ28gYmV0dGVyLgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0dmRlYy5jOiAoZ3N0X3J0cG1wNHZkZWNfc2V0Y2Fwcyk6CgkgICogZ3N0L3J0cC9nc3RydHBtcDR2ZW5jLmM6IChnc3RfcnRwbXA0dmVuY19uZXdfY2Fwcyk6CgkgIEdlbmVyYXRlIGFuZCBwYXJzZSBjb25maWcgc3RyaW5nIGluIHRoZSBjYXBzLgoKMjAwNS0wOS0yMSAxMjoxOToyNCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvUkVBRE1FOiBVcGRhdGUgUkVBRE1FCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvUkVBRE1FOgoJICBVcGRhdGUgUkVBRE1FCgkgICogZ3N0L3J0cC9nc3RydHBhbXJkZWMuYzogKGdzdF9ydHBhbXJkZWNfc2lua19zZXRjYXBzKToKCSAgTWFrZSBleHRyYSBwYXJhbXMgYXMgc3RyaW5ncy4KCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19zZXRfc3RhdGUpLAoJICAoZ3N0X3J0c3BzcmNfcGFyc2VfcnRwbWFwKSwgKGdzdF9ydHNwc3JjX21lZGlhX3RvX2NhcHMpLAoJICAoZ3N0X3J0c3BzcmNfc3RyZWFtX3NldHVwX3J0cCksIChnc3RfcnRzcHNyY19zZW5kKToKCSAgTWFrZSBzdGF0ZSBjaGFuZ2UgcmV0dXJuIE5PX1BSRVJPTEwgYXMgdGhpcyBpcyBhIGxpdmUKCSAgc291cmNlLgoJICAqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6IChnc3RfdWRwc3JjX3NldF9wcm9wZXJ0eSk6CgkgIERvbid0IHVucmVmIG9sZCBjYXBzIHdoZW4gTlVMTC4KCjIwMDUtMDktMjAgMTc6MzU6MTEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC86IEFkZCBVUkkgaGFuZGxlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfZ2V0X3R5cGUpLAoJICAoZ3N0X3J0c3BzcmNfcGFyc2VfcnRwbWFwKSwgKGdzdF9ydHNwc3JjX21lZGlhX3RvX2NhcHMpLAoJICAoZ3N0X3J0c3BzcmNfc3RyZWFtX3NldHVwX3J0cCksIChnc3RfcnRzcHNyY19zZW5kKSwKCSAgKGdzdF9ydHNwc3JjX29wZW4pLCAoZ3N0X3J0c3BzcmNfdXJpX2dldF90eXBlKSwKCSAgKGdzdF9ydHNwc3JjX3VyaV9nZXRfcHJvdG9jb2xzKSwgKGdzdF9ydHNwc3JjX3VyaV9nZXRfdXJpKSwKCSAgKGdzdF9ydHNwc3JjX3VyaV9zZXRfdXJpKSwgKGdzdF9ydHNwc3JjX3VyaV9oYW5kbGVyX2luaXQpOgoJICAqIGdzdC9ydHNwL3NkcG1lc3NhZ2UuYzogKHNkcF9tZWRpYV9nZXRfZm9ybWF0KToKCSAgKiBnc3QvcnRzcC9zZHBtZXNzYWdlLmg6CgkgIEFkZCBVUkkgaGFuZGxlci4KCSAgUGFyc2UgU0RQIGFuZCBjcmVhdGUgY2Fwcy4KCjIwMDUtMDktMjAgMTc6MTk6NDMgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWdvb2Quc3BlYy5pbjoKCSAgbW9yZSBzcGVjIGZpbGUgZml4b3JpbmcKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIG1vcmUgc3BlYyBmaWxlIGZpeG9yaW5nCgoyMDA1LTA5LTIwIDE3OjA0OjMzICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBnc3QtcGx1Z2lucy1nb29kLnNwZWMuaW46CgkqIGdzdC1wbHVnaW5zLnNwZWMuaW46CgkgIGZpeCBzcGVjIGZpbGVzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBmaXggc3BlYyBmaWxlcwoKMjAwNS0wOS0yMCAxMDo1MTo1MSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBnc3QvcnRwL1JFQURNRToKCSogZ3N0L3J0cC9nc3RydHBhbXJkZWMuYzoKCSogZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcmVuYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbWVuYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwZGVjLmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwZW5jLmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDR2ZGVjLmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dmVuYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcGFkZWMuYzoKCSogZ3N0L3J0cC9nc3RydHBtcGFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYWVuYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYXBheS5jOgoJICBkb24ndCB1c2UgdW5kZXJzY29yZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGRvbid0IHVzZSB1bmRlcnNjb3JlcwoKMjAwNS0wOS0yMCAwNzozMDozMSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2FscGhhL2dzdGFscGhhLmM6IGZpeCBlbGVtZW50IGRlc2NyaXB0aW9uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOgoJICBmaXggZWxlbWVudCBkZXNjcmlwdGlvbgoKMjAwNS0wOS0xOSAxNzo1NzowNiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkgIHByZXJlcXMgYXMgd2VsbAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcHJlcmVxcyBhcyB3ZWxsCgoyMDA1LTA5LTE5IDE3OjUzOjQyICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGRvY3MvcGx1Z2lucy8uZ2l0aWdub3JlOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuc2lnbmFsczoKCSAgY29tbWl0IHJlc3VsdCBvZiBzY2Fub2JqIHN0ZXAKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGNvbW1pdCByZXN1bHQgb2Ygc2Nhbm9iaiBzdGVwCgoyMDA1LTA5LTE5IDE3OjAzOjU1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC9nc3RydHBoMjYzcGRlYy5jOiBEb24ndCBjaGVjayBwYXlsb2FkIGZvciBub3cuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2M3BkZWMuYzogKGdzdF9ydHBoMjYzcGRlY19jaGFpbik6CgkgIERvbid0IGNoZWNrIHBheWxvYWQgZm9yIG5vdy4KCjIwMDUtMDktMTkgMTY6NDM6NTYgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogTWFrZWZpbGUuYW06CgkgIGFkZCBjaGVjay12YWxncmluZCB0YXJnZXQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGFkZCBjaGVjay12YWxncmluZCB0YXJnZXQKCjIwMDUtMDktMTkgMTY6MjY6MzAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuKjogRml4IHdhdnBhcnNlIHNvbWUgbW9yZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IChnc3Rfd2F2cGFyc2VfcmVzZXQpLAoJICAoZ3N0X3dhdnBhcnNlX2luaXQpLCAoZ3N0X3dhdnBhcnNlX3BhcnNlX2ZpbGVfaGVhZGVyKSwKCSAgKGdzdF93YXZwYXJzZV9zdHJlYW1faW5pdCksIChnc3Rfd2F2cGFyc2VfaGFuZGxlX3NlZWspLAoJICAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9oZWFkZXJzKSwgKGdzdF93YXZwYXJzZV9zdHJlYW1fZGF0YSksCgkgIChnc3Rfd2F2cGFyc2VfbG9vcCksIChnc3Rfd2F2cGFyc2VfcGFkX2NvbnZlcnQpLAoJICAoZ3N0X3dhdnBhcnNlX3BhZF9xdWVyeSksIChnc3Rfd2F2cGFyc2Vfc3JjcGFkX2V2ZW50KSwKCSAgKGdzdF93YXZwYXJzZV9jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5oOgoJICBGaXggd2F2cGFyc2Ugc29tZSBtb3JlLgoKMjAwNS0wOS0xOSAxMTo0ODoxMyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGNoZWNrL2VsZW1lbnRzL2xldmVsLmM6IEZpeCBmb3IgYnVzIEFQSSBjaGFuZ2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNoZWNrL2VsZW1lbnRzL2xldmVsLmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgIEZpeCBmb3IgYnVzIEFQSSBjaGFuZ2UuCgoyMDA1LTA5LTE5IDExOjM4OjEwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L2xldmVsL2xldmVsLWV4YW1wbGUuYzogRml4IGZvciBuZXcgYnVzIEFQSS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2xldmVsL2xldmVsLWV4YW1wbGUuYzogKG1haW4pOgoJICBGaXggZm9yIG5ldyBidXMgQVBJLgoJICAqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6IChnc3RfdWRwc3JjX3NldF9wcm9wZXJ0eSk6CgkgIFNldCBjYXBzIG9uIHBhZHMuCgoyMDA1LTA5LTE5IDExOjA2OjA1ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGdzdC9kZWJ1Zy9NYWtlZmlsZS5hbToKCSAgZGlzYWJsZSBmbGFncyBmb3IgdW5idWlsdCBwbHVnaW5zCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBkaXNhYmxlIGZsYWdzIGZvciB1bmJ1aWx0IHBsdWdpbnMKCjIwMDUtMDktMTkgMDg6MjE6MjkgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogY29tbW9uOgoJKiBkb2NzL3BsdWdpbnMvc2Nhbm9iai1idWlsZC5zdGFtcDoKCSAgbm9ybWFsIGJ1aWxkcyBzaG91bGRuJ3Qgc2NhbiBnb2JqZWN0cwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgbm9ybWFsIGJ1aWxkcyBzaG91bGRuJ3Qgc2NhbiBnb2JqZWN0cwoKMjAwNS0wOS0xNiAwMDozODo1MCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBjaGVjay9NYWtlZmlsZS5hbToKCSogY29tbW9uOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgcmVtb3ZlIGdzdC1yZWdpc3RlcgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmVtb3ZlIGdzdC1yZWdpc3RlcgoKMjAwNS0wOS0xNSAxMzo1Nzo1NiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkqIENoYW5nZUxvZzoKCSogY29tbW9uOgoJKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwL1JFQURNRToKCSogZ3N0L3J0cC9nc3RydHAuYzoKCSogZ3N0L3J0cC9nc3RydHBhbXJkZWMuYzoKCSogZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcmVuYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcmVuYy5oOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcnBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBnc21lbmMuYzoKCSogZ3N0L3J0cC9nc3RydHBnc21lbmMuaDoKCSogZ3N0L3J0cC9nc3RydHBnc21wYXJzZS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbXBhcnNlLmg6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BkZWMuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BlbmMuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGVuYy5oOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcDR2ZGVjLmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dmVuYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZlbmMuaDoKCSogZ3N0L3J0cC9nc3RydHBtcDR2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYWRlYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhZW5jLmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhZW5jLmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhcGF5Lmg6CgkgIFVwZGF0ZXMgdG8gcGF5bG9hZGVyL2RlcGF5bG9hZGVycywgbWFrZSBwYXlsb2FkZXJzIHVzZSB0aGUgYmFzZSBjbGFzc2VzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgVXBkYXRlcyB0byBwYXlsb2FkZXIvZGVwYXlsb2FkZXJzLCBtYWtlIHBheWxvYWRlcnMgdXNlCgkgIHRoZSBiYXNlIGNsYXNzZXMuCgkgIFVwZGF0ZWQgUkVBRE1FIHdpdGggc3VnZ2VzdGVkIFJUUCBjYXBzIGFuZCBob3cgdG8gY29udmVydAoJICB0by9mcm9tIFNEUC4KCSAgQWRkZWQgY29uZmlnIGRlc2NyaXB0b3IgaW4gbXA0diBwYXlsb2FkZXIuCgoyMDA1LTA5LTE1IDEwOjQ3OjU4ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJICBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zaW5rLmMgKGdzdF9hdXRvX2F1ZGlvX3NpbmtfZmluZF9iZXN0KTogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc2luay5jCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTA5LTE1ICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NpbmsuYyAoZ3N0X2F1dG9fYXVkaW9fc2lua19maW5kX2Jlc3QpOgoJICAqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NpbmsuYwoJICAoZ3N0X2F1dG9fdmlkZW9fc2lua19maW5kX2Jlc3QpOiBVcGRhdGUgZm9yIG5ldyByZWdpc3RyeSBBUEkuCgoyMDA1LTA5LTE0IDIwOjUxOjQ3ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGNvbW1vbi86IGEgc2ltcGxlIHB5IHNjcmlwdCB0byBnZW5lcmF0ZSB2YWxpZCB4bWwgZnJvbSBhIEMgZXhhbXBsZSBwcm9iYWJseSBhbHNvIG5lZWQgdG8gc3RyaXAgYW4gTUlUIGxpY2Vuc2Ugd2hlbiB3ZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb21tb24vYy10by14bWwucHk6CgkgICogY29tbW9uL2d0ay1kb2MtcGx1Z2lucy5tYWs6CgkgIGEgc2ltcGxlIHB5IHNjcmlwdCB0byBnZW5lcmF0ZSB2YWxpZCB4bWwgZnJvbSBhIEMgZXhhbXBsZQoJICBwcm9iYWJseSBhbHNvIG5lZWQgdG8gc3RyaXAgYW4gTUlUIGxpY2Vuc2Ugd2hlbiB3ZSBkZWNpZGUKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZ3N0L2xldmVsL01ha2VmaWxlLmFtOgoJICAqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOiAoZ3N0X2xldmVsX2luaXQpOgoJICAqIGdzdC9sZXZlbC9sZXZlbC1leGFtcGxlLmM6IChtZXNzYWdlX2hhbmRsZXIpLCAobWFpbik6CgkgIGFkZCBhbiBleGFtcGxlIHRvIGxldmVsIHRoYXQgd2lsbCBzaG93IHVwIGluIHRoZSBkb2NzCgkgICogZ3N0L3J0cC9UT0RPOgoJICBhZGQgYSBub3RlIGZvciB0aGUgZnV0dXJlCgoyMDA1LTA5LTE0IDExOjQ0OjExICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5jOiBBY3R1YWxseSBkZWZpbmUgdGhlIGRlYnVnIG9iamVjdCBiZWluZyB1c2VkIGluIHdhdmVuYy4gRml4ZXMgIzMxNjIwNQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5jOiAoZ3N0X3dhdmVuY19jbGFzc19pbml0KToKCSAgQWN0dWFsbHkgZGVmaW5lIHRoZSBkZWJ1ZyBvYmplY3QgYmVpbmcgdXNlZCBpbiB3YXZlbmMuIEZpeGVzICMzMTYyMDUKCjIwMDUtMDktMTQgMTE6MjM6NDQgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkqIENoYW5nZUxvZzoKCSogZ3N0L3NtcHRlL01ha2VmaWxlLmFtOgoJICBMaW5rIHNtcHRlIHBsdWdpbiBhZ2FpbnN0IEdTVF9CQVNFX0xJQlMsIHRvIGdldCBsaWJnc3RiYXNlOyBuZWVkZWQgdG8gYnVpbGQgb24gd2luMzIgYXMgdGhpcyBwbHVnaW4gdXNlcyBjb2xsZWN0cGFkcyAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIExpbmsgc21wdGUgcGx1Z2luIGFnYWluc3QgR1NUX0JBU0VfTElCUywgdG8gZ2V0IGxpYmdzdGJhc2U7IG5lZWRlZCB0bwoJICBidWlsZCBvbiB3aW4zMiBhcyB0aGlzIHBsdWdpbiB1c2VzIGNvbGxlY3RwYWRzIChidWcgMzE2MjA0KQoKMjAwNS0wOS0xMiAxNjozNzowNSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkgIEZpeCB1cCBib2d1cyBDaGFuZ2VMb2cgZW50cnkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEZpeCB1cCBib2d1cyBDaGFuZ2VMb2cgZW50cnkKCjIwMDUtMDktMTIgMTY6MTQ6NDggKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkgIGF1dG9nZW4uc2ggKHBhY2thZ2UpOiBOb3cgdHlwZSAnbWFrZScgdG8gYnVpbGQgZ3N0LXBsdWdpbnMtZ29vZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMDktMTIgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogYXV0b2dlbi5zaCAocGFja2FnZSk6IE5vdyB0eXBlICdtYWtlJyB0byBidWlsZCBnc3QtcGx1Z2lucy1nb29kLgoKMjAwNS0wOS0xMSAxNzo1MjowOSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBjb21tb246CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZHNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJICBhZGQgc291cmNlIG1vZHVsZSB0byBkb2NzOyByZWluc3BlY3QKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGFkZCBzb3VyY2UgbW9kdWxlIHRvIGRvY3M7IHJlaW5zcGVjdAoKMjAwNS0wOS0wOSAxNzo1Njo0MyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBNb3ZlIGZkc3JjIGJhY2sgaW50byBnc3RyZWFtZXIgY29yZSBlbGVtZW50cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9mZHNyYy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZmRzcmMvZ3N0ZmRzcmMuYzoKCSAgKiBnc3QvZmRzcmMvZ3N0ZmRzcmMuaDoKCSAgTW92ZSBmZHNyYyBiYWNrIGludG8gZ3N0cmVhbWVyIGNvcmUgZWxlbWVudHMuCgkgICogZ3N0L2xldmVsL2dzdGxldmVsLmM6IChnc3RfbGV2ZWxfY2xhc3NfaW5pdCksCgkgIChnc3RfbGV2ZWxfdHJhbnNmb3JtX2lwKToKCSAgKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzogKGdzdF92aWRlb19ib3hfc2V0X3Byb3BlcnR5KToKCSAgQmFzZXRyYW5zZm9ybSBjaGFuZ2VzLgoKMjAwNS0wOS0wOSAxNjoxMTo0OCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9qcGVnL2dzdHNtb2tlZW5jLmM6CgkqIGV4dC9qcGVnL3Ntb2tlY29kZWMuYzoKCSAgZml4IGNvbXBpbGVyIHdhcm5pbmdzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBmaXggY29tcGlsZXIgd2FybmluZ3MKCjIwMDUtMDktMDkgMTE6MDk6NDkgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgZ3N0LXBsdWdpbnMtZ29vZC5zcGVjLmluOiBzcGVjIGZpbGUgZml4ZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0LXBsdWdpbnMtZ29vZC5zcGVjLmluOgoJICBzcGVjIGZpbGUgZml4ZXMKCSAgKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOiAoZ3N0X211bHRpdWRwc2lua19jbGFzc19pbml0KSwKCSAgKGdzdF9tdWx0aXVkcHNpbmtfcmVuZGVyKSwgKGdzdF9tdWx0aXVkcHNpbmtfYWRkKSwKCSAgKGdzdF9tdWx0aXVkcHNpbmtfY2xlYXIpOgoJICBpdCBhY3R1YWxseSBoZWxwcyB0byBhY3R1YWxseSBzdHJlYW0gaWYgd2UgaG9vayB1cCB0aGUKCSAgYWRkIHNpZ25hbCB0byBhbiBhY3R1YWwgaW1wbGVtZW50YXRpb24KCSAgKiBnc3QvdWRwL2dzdHVkcHNyYy5jOiAoZ3N0X3VkcHNyY19zdGFydCk6CgkgIHNvbWUgZGVidWdnaW5nCgoyMDA1LTA5LTA4IDE2OjU4OjQwICswMDAwICBGbGF2aW8gT2xpdmVpcmEgPGZsYXZpby5vbGl2ZWlyYUBpbmR0Lm9yZy5icj4KCgkqIGV4dC9qcGVnL01ha2VmaWxlLmFtOgoJKiBleHQvanBlZy9nc3RqcGVnLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSogZXh0L2pwZWcvZ3N0c21va2VlbmMuYzoKCSAganBnZW5jIHBvcnRlZCB0byBHU1RyZWFtZXIgMC45CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBqcGdlbmMgcG9ydGVkIHRvIEdTVHJlYW1lciAwLjkKCjIwMDUtMDktMDggMTY6MjY6MTcgKzAwMDAgIEZsYXZpbyBPbGl2ZWlyYSA8ZmxhdmlvLm9saXZlaXJhQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJICBqcGVnZW5jIHBvcnRlZCB0byBHU3RyZWFtZXIgMC45CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBqcGVnZW5jIHBvcnRlZCB0byBHU3RyZWFtZXIgMC45CgoyMDA1LTA5LTA3IDEzOjQ5OjM3ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBleHQvOiBnc3R0YWdpbnRlcmZhY2UuaCAtPiBnc3R0YWdzZXR0ZXIuaAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJICAqIGV4dC9mbGFjL2dzdGZsYWN0YWcuYzoKCSAgKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzoKCSAgZ3N0dGFnaW50ZXJmYWNlLmggLT4gZ3N0dGFnc2V0dGVyLmgKCjIwMDUtMDktMDYgMjM6MzA6MDMgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgUG9ydCB0byAwLjkgYW5kIHJlLWVuYWJsZSBlZmVuY2UgcGx1Z2luLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L2RlYnVnL01ha2VmaWxlLmFtOgoJICAqIGdzdC9kZWJ1Zy9lZmVuY2UuYzogKGdzdF9lZmVuY2VfY2xhc3NfaW5pdCksIChnc3RfZWZlbmNlX2luaXQpLAoJICAoZ3N0X2VmZW5jZV9jaGFpbiksIChnc3RfZWZlbmNlX2J1ZmZlcl9hbGxvYyksIChwbHVnaW5faW5pdCksCgkgIChnc3RfZmVuY2VkX2J1ZmZlcl9maW5hbGl6ZSksIChnc3RfZmVuY2VkX2J1ZmZlcl9jb3B5KSwKCSAgKGdzdF9mZW5jZWRfYnVmZmVyX2FsbG9jKSwgKGdzdF9mZW5jZWRfYnVmZmVyX2NsYXNzX2luaXQpLAoJICAoZ3N0X2ZlbmNlZF9idWZmZXJfaW5pdCksIChnc3RfZmVuY2VkX2J1ZmZlcl9nZXRfdHlwZSk6CgkgIFBvcnQgdG8gMC45IGFuZCByZS1lbmFibGUgZWZlbmNlIHBsdWdpbi4KCjIwMDUtMDktMDYgMjE6MzE6MjUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvZmxhYy9nc3RmbGFjZGVjLio6IEFkZCBzdXBwb3J0IGZvciBmbGFjIGZpbGVzIHdpdGggMjQvMzIgYml0cyBwZXIgc2FtcGxlOyBhbmQgbWlzYy4gbWlub3IgY2xlYW4tdXBzLiBTZWVraW5nIGlzIHMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOiAoZmxhY19jYXBzX2ZhY3RvcnkpLCAocmF3X2NhcHNfZmFjdG9yeSksCgkgIChnc3RfZmxhY2RlY193cml0ZSksIChnc3RfZmxhY2RlY19jb252ZXJ0X3NyYyk6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5oOgoJICBBZGQgc3VwcG9ydCBmb3IgZmxhYyBmaWxlcyB3aXRoIDI0LzMyIGJpdHMgcGVyIHNhbXBsZTsgYW5kIG1pc2MuCgkgIG1pbm9yIGNsZWFuLXVwcy4gU2Vla2luZyBpcyBzdGlsbCBwYXJ0bHkgYnJva2VuIChmb3IgbWUgYXQgbGVhc3QpLgoKMjAwNS0wOS0wNiAxNTo1MDo1OCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvOiBBZGRlZCBtcGVnNCB2aWRlbyBwYXlsb2FkIGVuY29kZXIvZGVjb2Rlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcnRwL2dzdHJ0cC5jOiAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0dmRlYy5jOiAoZ3N0X3J0cG1wNHZkZWNfZ2V0X3R5cGUpLAoJICAoZ3N0X3J0cG1wNHZkZWNfYmFzZV9pbml0KSwgKGdzdF9ydHBtcDR2ZGVjX2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cG1wNHZkZWNfaW5pdCksIChnc3RfcnRwbXA0dmRlY19zZXRjYXBzKSwKCSAgKGdzdF9ydHBtcDR2ZGVjX2NoYWluKSwgKGdzdF9ydHBtcDR2ZGVjX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfcnRwbXA0dmRlY19nZXRfcHJvcGVydHkpLCAoZ3N0X3J0cG1wNHZkZWNfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9ydHBtcDR2ZGVjX3BsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNHZkZWMuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNHZlbmMuYzogKGdzdF9ydHBtcDR2ZW5jX2dldF90eXBlKSwKCSAgKGdzdF9ydHBtcDR2ZW5jX2Jhc2VfaW5pdCksIChnc3RfcnRwbXA0dmVuY19jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBtcDR2ZW5jX2luaXQpLCAoZ3N0X3J0cG1wNHZlbmNfc2V0Y2FwcyksCgkgIChnc3RfcnRwbXA0dmVuY19mbHVzaCksIChnc3RfcnRwbXA0dmVuY19jaGFpbiksCgkgIChnc3RfcnRwbXA0dmVuY19zZXRfcHJvcGVydHkpLCAoZ3N0X3J0cG1wNHZlbmNfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9ydHBtcDR2ZW5jX2NoYW5nZV9zdGF0ZSksIChnc3RfcnRwbXA0dmVuY19wbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBtcDR2ZW5jLmg6CgkgICogZ3N0L3J0cC9nc3RydHBtcGFkZWMuYzogKGdzdF9ydHBtcGFkZWNfY2hhaW4pOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXBhZW5jLmM6IChnc3RfcnRwbXBhZW5jX2ZsdXNoKToKCSAgQWRkZWQgbXBlZzQgdmlkZW8gcGF5bG9hZCBlbmNvZGVyL2RlY29kZXIuCgkgIEFkZGVkIHNvbWUgZG9jcyBpbiBtcGEgcGF5bG9hZGVyLgoKMjAwNS0wOS0wNiAxNDowNjo0NyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkgIGJhY2sgdG8gSEVBRAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYmFjayB0byBIRUFECgo9PT0gcmVsZWFzZSAwLjkuMSA9PT0KCjIwMDUtMDktMDYgMTQ6MDU6MzMgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUFETUU6CgkqIFJFTEVBU0U6CgkqIGF1dG9nZW4uc2g6CgkqIGNvbW1vbjoKCSogY29uZmlndXJlLmFjOgoJICByZWxlYXNpbmcgMC45LjIKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHJlbGVhc2luZyAwLjkuMgoKMjAwNS0wOS0wNSAxNzoyMDoyOCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyZWxlbWVudC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIEZpeCB1cCBhbGwgdGhlIHN0YXRlIGNoYW5nZSBmdW5jdGlvbnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBGaXggdXAgYWxsIHRoZSBzdGF0ZSBjaGFuZ2UgZnVuY3Rpb25zLgoKMjAwNS0wOS0wNSAxNjoyODoxNiArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSAgZXh0L2R2L2dzdGR2ZGVtdXguYyAoZ3N0X2R2ZGVtdXhfY2hhaW4pOiBNb3ZlIHRoZSBwYWQgYWRkaW5nIGhlcmUgZnJvbSB0aGUgc3RhdGUgY2hhbmdlIGhhbmRsZXIsIHNvIHdlIGZpcmUgc2lnbmFscyB3Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTA5LTA1ICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIGV4dC9kdi9nc3RkdmRlbXV4LmMgKGdzdF9kdmRlbXV4X2NoYWluKTogTW92ZSB0aGUgcGFkIGFkZGluZwoJICBoZXJlIGZyb20gdGhlIHN0YXRlIGNoYW5nZSBoYW5kbGVyLCBzbyB3ZSBmaXJlIHNpZ25hbHMgd2l0aG91dAoJICBob2xkaW5nIHRoZSBzdGF0ZSBsb2NrLgoKMjAwNS0wOS0wNSAxNToxMDoxOCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIGNsZWFuaW5nIHVwIGJhZAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgY2xlYW5pbmcgdXAgYmFkCgoyMDA1LTA5LTA1IDEzOjE4OjQyICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGRvY3MvLmdpdGlnbm9yZToKCSogZG9jcy9wbHVnaW5zLy5naXRpZ25vcmU6CgkgIG1haW50ZW5hbmNlIGNvbW1pdHMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIG1haW50ZW5hbmNlIGNvbW1pdHMKCjIwMDUtMDktMDQgMTU6MDk6MzMgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QtYnVpbGQuc3RhbXA6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0LnN0YW1wOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmRzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9mbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSAgZGlzdGNoZWNrIGZpeGVzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBkaXN0Y2hlY2sgZml4ZXMKCjIwMDUtMDktMDQgMTE6NTA6NDcgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogTWFrZWZpbGUuYW06CgkqIGF1dG9nZW4uc2g6CgkqIGNvbW1vbjoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2NzLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vaHUucG86CgkqIHBvL2l0LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkgIGZpeCBkaXN0Y2hlY2sKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGZpeCBkaXN0Y2hlY2sKCjIwMDUtMDktMDIgMTU6NTY6NTIgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZ3N0LXBsdWdpbnMtZ29vZC5zcGVjLmluOgoJICB2YXJpb3VzIHNwZWMgZml4ZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHZhcmlvdXMgc3BlYyBmaXhlcwoKMjAwNS0wOS0wMiAxNTo0NDo1MCArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSogY2hlY2svZWxlbWVudHMvbGV2ZWwuYzoKCSogZXhhbXBsZXMvZ3N0cGxheS9wbGF5ZXIuYzoKCSogZXhhbXBsZXMvc3RhdHMvbXAyb2dnLmM6CgkqIGV4dC9hYWxpYi9nc3RhYXNpbmsuYzoKCSogZXh0L2NhaXJvL2dzdHRleHRvdmVybGF5LmM6CgkqIGV4dC9kdi9nc3RkdmRlYy5jOgoJKiBleHQvZHYvZ3N0ZHZkZW11eC5jOgoJKiBleHQvZXNkL2VzZG1vbi5jOgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY3RhZy5jOgoJKiBleHQvZ2NvbmYvZ3N0Z2NvbmZhdWRpb3NpbmsuYzoKCSogZXh0L2djb25mL2dzdGdjb25mdmlkZW9zaW5rLmM6CgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka2FuaW1hdGlvbi5jOgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSogZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuYzoKCSogZXh0L2xpYmNhY2EvZ3N0Y2FjYXNpbmsuYzoKCSogZXh0L2xpYm1uZy9nc3RtbmdkZWMuYzoKCSogZXh0L21pa21vZC9nc3RtaWttb2QuYzoKCSogZXh0L3BhbmdvL2dzdHRleHRvdmVybGF5LmM6CgkqIGV4dC9yYXcxMzk0L2dzdGR2MTM5NHNyYy5jOgoJKiBleHQvc2hvdXQyL2dzdHNob3V0Mi5jOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6CgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOgoJKiBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NpbmsuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc2luay5jOgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkqIGdzdC9kZWJ1Zy9icmVha215ZGF0YS5jOgoJKiBnc3QvZGVidWcvZ3N0bmF2aWdhdGlvbnRlc3QuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0cXVhcmsuYzoKCSogZ3N0L2Zkc3JjL2dzdGZkc3JjLmM6CgkqIGdzdC9mbHgvZ3N0Zmx4ZGVjLmM6CgkqIGdzdC9nb29tL2dzdGdvb20uYzoKCSogZ3N0L21hdHJvc2thL2VibWwtcmVhZC5jOgoJKiBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4LmM6CgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0bXV4LmM6CgkqIGdzdC9vbGRjb3JlL2dzdG1kNXNpbmsuYzoKCSogZ3N0L29sZGNvcmUvZ3N0bXVsdGlmaWxlc3JjLmM6CgkqIGdzdC9vbGRjb3JlL2dzdHBpcGVmaWx0ZXIuYzoKCSogZ3N0L3J0cC9nc3RydHBMMTZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cEwxNmVuYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cEwxNnBhcnNlLmM6CgkqIGdzdC9ydHAvZ3N0cnRwTDE2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYW1yZGVjLmM6CgkqIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhbXJlbmMuYzoKCSogZ3N0L3J0cC9nc3RydHBhbXJwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBkZWMuYzoKCSogZ3N0L3J0cC9nc3RydHBkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtZW5jLmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtcGFyc2UuYzoKCSogZ3N0L3J0cC9nc3RydHBnc21wYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGRlYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGVuYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhZGVjLmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcGFlbmMuYzoKCSogZ3N0L3J0cC9nc3RydHBtcGFwYXkuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3Qvc21vb3Rod2F2ZS9nc3RzbW9vdGh3YXZlLmM6CgkqIGdzdC91ZHAvZ3N0ZHludWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmM6CgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2NzLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vaHUucG86CgkqIHBvL2l0LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHN5cy9vc3MvZ3N0b3NzbWl4ZXJlbGVtZW50LmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb2VsZW1lbnQuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zcmMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbGV2ZWwuYzoKCSAgQWxsIHBsdWdpbnMgdXBkYXRlZCBmb3IgZWxlbWVudCBzdGF0ZSBjaGFuZ2VzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0wOS0wMiAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBBbGwgcGx1Z2lucyB1cGRhdGVkIGZvciBlbGVtZW50IHN0YXRlIGNoYW5nZXMuCgoyMDA1LTA5LTAxIDIxOjI0OjU3ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGV4dC9hYWxpYi9NYWtlZmlsZS5hbToKCSAgZml4IGJ1aWxkIGFmdGVyIGNsZWFuaW5nIHVwIG15IHZvbWl0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBmaXggYnVpbGQgYWZ0ZXIgY2xlYW5pbmcgdXAgbXkgdm9taXQKCjIwMDUtMDktMDEgMjE6MjM6MDkgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZXh0L2FhbGliL01ha2VmaWxlLmFtOgoJICBmaXggYnVpbGQgYWZ0ZXIgY2xlYW5pbmcgdXAgbXkgdm9taXQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGZpeCBidWlsZCBhZnRlciBjbGVhbmluZyB1cCBteSB2b21pdAoKMjAwNS0wOS0wMSAyMToyMDo0NSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBnc3Qvc21wdGUvTWFrZWZpbGUuYW06CgkgIGZpeCBidWlsZCBhZnRlciBjbGVhbmluZyB1cCBteSB2b21pdAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZml4IGJ1aWxkIGFmdGVyIGNsZWFuaW5nIHVwIG15IHZvbWl0CgoyMDA1LTA5LTAxIDIxOjE1OjMwICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGdzdC9zbXB0ZS9NYWtlZmlsZS5hbToKCSAgZml4IGJ1aWxkIGFmdGVyIGNsZWFuaW5nIHVwIG15IHZvbWl0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBmaXggYnVpbGQgYWZ0ZXIgY2xlYW5pbmcgdXAgbXkgdm9taXQKCjIwMDUtMDktMDEgMjA6MjM6MjIgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBNYWtlZmlsZS5hbToKCSogY2hlY2svLmdpdGlnbm9yZToKCSogY2hlY2svTWFrZWZpbGUuYW06CgkqIGNoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkqIGNoZWNrL2VsZW1lbnRzL2xldmVsLmM6CgkqIGNvbW1vbjoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzoKCSogZ3N0L2xldmVsL2dzdGxldmVsLmg6CgkqIHRlc3RzL2NoZWNrLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9sZXZlbC5jOgoJICBBbmRyZXdpbyBQYXRyaWNrb2ZvcnVzIFdpbmdvbnltdXMgLSA1IGFkZGl0aW9uYWwgdGVzdHMgZm9yIHlvdXIgc2lucwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQW5kcmV3aW8gUGF0cmlja29mb3J1cyBXaW5nb255bXVzIC0gNSBhZGRpdGlvbmFsIHRlc3RzIGZvciB5b3VyIHNpbnMKCSAgQWRkIGEgcmVncmVzc2lvbiB0ZXN0IGZvciBsZXZlbCBhbmQgZml4IGEgY2FzdGluZyBidWcgdGhhdCBtYWRlIHRoZSBhZGRpdGlvbmFsCgkgIGNoYW5uZWxzIHR1cm4gb3V0IHdyb25nCgoyMDA1LTA5LTAxIDE3OjU1OjE0ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGFkZCBkb2NzIHRvIGJ1aWxkCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIE1ha2VmaWxlLmFtOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgYWRkIGRvY3MgdG8gYnVpbGQKCSAgKiBjb21tb24vcGx1Z2lucy54c2w6CgkgIHdyYXAgRGVzY3JpcHRpb24gaW50byBhIHJlZnNlY3QyCgkgICogZG9jcy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZ3N0L2dvb20vTWFrZWZpbGUuYW06CgkgICogZ3N0L2dvb20vZ3N0Z29vbS5jOiAoZ3N0X2dvb21fZ2V0X3R5cGUpLCAoZ3N0X2dvb21fYmFzZV9pbml0KSwKCSAgKGdzdF9nb29tX2NsYXNzX2luaXQpLCAoZ3N0X2dvb21faW5pdCksIChnc3RfZ29vbV9kaXNwb3NlKSwKCSAgKGdzdF9nb29tX3Npbmtfc2V0Y2FwcyksIChnc3RfZ29vbV9zcmNfc2V0Y2FwcyksCgkgIChnc3RfZ29vbV9zcmNfbmVnb3RpYXRlKSwgKGdzdF9nb29tX2V2ZW50KSwgKGdzdF9nb29tX2NoYWluKSwKCSAgKGdzdF9nb29tX2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L2dvb20vZ3N0Z29vbS5oOgoJICBHc3RHT09NIC0+IEdzdEdvb20KCSAgYWRkIGFuIGV4YW1wbGUgbGF1bmNoIGxpbmUKCSAgKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuaDoKCSAgKiBnc3QvbW9ub3Njb3BlL2dzdG1vbm9zY29wZS5jOgoJICBjbGVhbnVwcwoKMjAwNS0wOC0zMSAxNjoyODowNSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBnc3QvZHZkbHBjbWRlYy8uZ2l0aWdub3JlOgoJKiBnc3QvZHZkbHBjbWRlYy9NYWtlZmlsZS5hbToKCSogZ3N0L2R2ZGxwY21kZWMvZ3N0ZHZkbHBjbWRlYy5jOgoJKiBnc3QvZHZkbHBjbWRlYy9nc3RkdmRscGNtZGVjLmg6CgkgIHJlbW92ZSBkdmRscGNtZGVjLCBpdCdzIGR2ZCBzdHVmZgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmVtb3ZlIGR2ZGxwY21kZWMsIGl0J3MgZHZkIHN0dWZmCgoyMDA1LTA4LTMwIDE5OjQxOjEyICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIE1ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2V0dGV4dC5oOgoJKiBnc3QtbGlicy9nc3QvZ3N0LWkxOG4tcGx1Z2luLmg6CgkgIGFkZCBzb21lIGkxOG4gaGVhZGVycwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYWRkIHNvbWUgaTE4biBoZWFkZXJzCgoyMDA1LTA4LTMwIDE5OjI0OjM3ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGRvY3MvcGx1Z2lucy8uZ2l0aWdub3JlOgoJICBpZ25vcmUgbW9yZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgaWdub3JlIG1vcmUKCjIwMDUtMDgtMzAgMTk6MjQ6MDMgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZG9jcy9NYWtlZmlsZS5hbToKCSAgTWFrZWZpbGUuYW0KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIE1ha2VmaWxlLmFtCgoyMDA1LTA4LTMwIDE5OjIwOjAyICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGRvY3MvdXBsb2FkLm1hazoKCSogZG9jcy92ZXJzaW9uLmVudGl0aWVzLmluOgoJICBjb21taXQgbmV3IHN0dWZmCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBjb21taXQgbmV3IHN0dWZmCgoyMDA1LTA4LTMwIDE5OjAxOjE4ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIENoYW5nZUxvZzoKCSogY29tbW9uOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLnR5cGVzOgoJICBkb2N1bWVudCBlbGVtZW50cyBhbmQgcGx1Z2lucy4gIFNoYXphbSAhCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBkb2N1bWVudCBlbGVtZW50cyBhbmQgcGx1Z2lucy4gIFNoYXphbSAhCgoyMDA1LTA4LTMwIDE3OjM3OjAwICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIC5naXRpZ25vcmU6CgkqIENPUFlJTkc6CgkqIFJFTEVBU0U6CgkqIGdzdC1wbHVnaW5zLWdvb2Quc3BlYy5pbjoKCSAgYWRkIHNvbWUgZmlsZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGFkZCBzb21lIGZpbGVzCgoyMDAxLTEyLTE3IDE4OjM3OjAxICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGJ1aWxkaW5nIHVwIHNwZWVkCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBidWlsZGluZyB1cCBzcGVlZAoK